Improved J-Link trace streaming

Oct 27, 2015 |

Our latest version of Tracealyzer supports continuous streaming trace via SEGGER J-Link / J-Trace debuggers, leveraging the Real-Time Transfer feature (RTT) that allows for transferring data between host and target at high speeds in a non-intrusive manner. Our RTOS monitoring just needs to write the data into a specific RAM buffer, and the J-Link debugger then reads it in the background.

When we first started using SEGGER RTT with Tracealyzer, in late 2014, a fairly large RAM buffer was needed for good performance. However, SEGGER has improved the RTT performance significantly. The buffer now only needs to be 1 KB for speeds up to 700 KByte/s, and this on a standard (stand-alone) J-Link. Check the below chart, from the SEGGER website.

SEGGER RTT performance

And you don’t even need a 1 KB buffer, 512 byte (or less) is often sufficient since typical Tracealyzer data rates is around 20-200 KByte/s. So now you can trace your RTOS-based system for unlimited durations with very low RAM footprint, which makes it applicable even on the smallest ARM Cortex-M0 MCUs. RTT also works on the integrated J-Link interfaces found on many development boards, but the speed is limited to about 140 KB/s and this requires a larger RAM buffer (perhaps 5 KB).