Hi,
I have a few questions about creating an IP recorder / UART recorder for SystemView. I already studied the example ( Use SystemView UART Recorder - SEGGER Wiki ), but it is still not entirely clear for me.
The API defines 4 functions which can be used to send RTT data via other channels like: UART or TCP/IP: SEGGER_RTT_ReadUpBuffer, SEGGER_RTT_ReadUpBufferNoLock (for reading RTT data from the target to SystemView application) and SEGGER_RTT_WriteDownBuffer, SEGGER_RTT_WriteDownBufferNoLock (for sending RTT data from SystemView application to target). Prefered is to used SEGGER_RTT_ReadUpBufferNoLock and SEGGER_RTT_WriteDownBufferNoLock if there is one consumer. So far so good.
1. Is it necessary to poll continously (with a certain interval) the SEGGER_RTT_ReadUpBufferNoLock function? Because I don't see a callback mechanism or something similar. So when should I read this data? Is it possible to wait until I receive something (via SEGGER_RTT_WriteDownBufferNoLock) and then read the data? Or is that not the way to go?
I hope you can help me with my questions.
Best regards,
Boris
I have a few questions about creating an IP recorder / UART recorder for SystemView. I already studied the example ( Use SystemView UART Recorder - SEGGER Wiki ), but it is still not entirely clear for me.
The API defines 4 functions which can be used to send RTT data via other channels like: UART or TCP/IP: SEGGER_RTT_ReadUpBuffer, SEGGER_RTT_ReadUpBufferNoLock (for reading RTT data from the target to SystemView application) and SEGGER_RTT_WriteDownBuffer, SEGGER_RTT_WriteDownBufferNoLock (for sending RTT data from SystemView application to target). Prefered is to used SEGGER_RTT_ReadUpBufferNoLock and SEGGER_RTT_WriteDownBufferNoLock if there is one consumer. So far so good.
1. Is it necessary to poll continously (with a certain interval) the SEGGER_RTT_ReadUpBufferNoLock function? Because I don't see a callback mechanism or something similar. So when should I read this data? Is it possible to wait until I receive something (via SEGGER_RTT_WriteDownBufferNoLock) and then read the data? Or is that not the way to go?
I hope you can help me with my questions.
Best regards,
Boris