RTT related funcionality from JLink SDK

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • RTT related funcionality from JLink SDK

      Hello,

      I'd like to use RTT functionality to send/receive a large amounts of data(in order of megabytes). Currently I'm using custom made TCP client that connects to localhost:19021. This seems to work, and can be quie easily embedded into a host application. I do wonder if there are some extra things in SDK that justifies buying it taking this specific case into account, like:
      - does SDK provide direct access to RTT reading/writing without socket proxy? If yes, does it provide better performance?
      - is it possible to have a temporary access to the SDK API so I'd check if there are any other interesting things there that I might use in a future?
      - Is SDK provided as C library? Are there, for instance, Python bindings?

      Apart from that, do you have any extra tips to fine-tune RTT when sending lots of data? So far I've been tinkering with:
      - BUFFER_SIZE_UP / BUFFER_SIZE_DOWN, 8-16kB seems enough.
      - SEGGER_RTT_MODE_DEFAULT set to SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL from default SEGGER_RTT_MODE_NO_BLOCK_SKIP as from time to time RTT was dropping data.
      - How JLink's speed affects the RTT performance? I haven't seen any difference when using 4-16MHz range.
      - SEGGER_RTT_Read API does not play well with RTOS task-based system as it must be polled constantly to check if there is a new data. Is it possible to use it in a more efficient way? Maybe some kind of signalling can be implemented to let know the application about new data available?

      Thank you in advance
      Mateusz Piesta