Real time terminal with Segger J-Link speeds host/target links

July 31, 2014 // By Graham Prophet
Segger's J-Link Real Time Terminal (RTT) speeds up bidirectional communication between the target system and the development computer by at least an order of magnitude. This new technology brings printf-style debugging and system verification functionality to any application.

The only thing needed to use J-Link RTT is a CPU with a debug interface that allows background memory access; no extra pins are required. J-LinkRTT outputs messages to a host terminal without halting the target system. It takes less than a microsecond to output a typical one line text message on a Cortex-M or Renesas RX system.

As this communication is bidirectional, values may also be passed in from the development computer to update the running target application. J-Link RTT allows accurate multichannel communication in real time, using existing debug signals. The target implementation is written in ANSI C, and can be used alongside any IDE/Debugger using a simple Telnet application.

It is also possible to override the standard printf() functions to take advantage of J-Link RTT. This reduces the time taken for a printf() via SWO by a factor of at least 100, and traditional break point/semihosting type systems by a factor of 10,000 or more.

Debug information may now be gathered while the application is performing time-critical, real time tasks. Gathering debug information no longer has to affect the behaviour of the target system which compounds or even masks bugs. “Until now, verbose communication needed an additional hardware interface which was significantly slower. J-Link RTT makes this task a lot easier and, in some cases, possible for the first time,” says Alexander Gruener, Segger J-Link Product Manager.

J-Link RTT will work with any current J-Link probe.