J-Link RTT – Real Time Transfer

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

    • J-Link RTT – Real Time Transfer

      Hello,

      I am trying for the first time RTT_printf() function. It seems to work except one thing.

      In our firmware (device STM32L451), we're going in sleep mode once the tasks (O/S FreeRTOS) are completed. I noticed that I need to wait around ~ one second to make sure all output RTT buffer is completely transferred. It's not real time! I am running with a J-Link at 4 MHz.

      WHat I did is transfered a small string... "XXXXX Task" at each 2 ms during 3 or 4 seconds before going in sleep mode.


      I would like to know if there's a way to make it faster and do not add any delay in my code before to go in sleep?

      Thanks !

      Christian

      The post was edited 1 time, last by spyhabs2021 ().

    • a) Real time means that outputting a string usually does not affect the real time of your application, as it is mainly a memcpy() into a buffer, which is blazing fast.
      It does NOT mean that the data is immediately read out by J-Link.

      b) We strongly suggest to NOT use sleep modes as you can encounter all kinds of weird effects when using them. From double data, over garbage data up to crashes, everything is possible.

      c) 4 MHz is a quite slow TIF speed for RTT. You should be more at 15 MHz - 50 MHz (depending on what your target MCU supports)

      d) Wait 1 second until the buffer is emptied sounds very long. A few [ms] should do it.
      We can offer to have a look at your setup and improve it, if you are willing to provide it.
      It may be subject to NREs though, as this exceeds regular support.
      Is this of interest?