SEGGER's Real-time terminal (RTT) is a new technology for interactive user I/O in embedded applications. With RTT it is possible to output information from the target microcontroller as well as sending input to the application at a very high speed without affecting the target's real time behavior.
Effectively, SEGGER RTT enables the embedded board to perform printf() output and scanf() keyboard input to and from the PC remotely from the embedded board using the J-Link probe.
To my knowledge, Atollic TrueSTUDIO is the first embedded IDE to have integrated support for Segger RTT remote input/output using a terminal window inside the IDE, providing deep integration and seamless operation during development and debugging.
From the hardware side of things, the main features are:
- Bi-directional communication with the target application.
- Very high transfer speed without affecting real-time behavior.
- No additional hardware or pin on target required.
- Supported by any J-Link model.
- Supported by ARM Cortex-M0/M0+/M1/M3/M4/M7
- Complete implementation code providing functionality and freedom.
In terms of software and tool support, you can use the integrated terminal I/O console that comes standard in Atollic TrueSTUDIO Pro. With the combination of Segger RTT and Atollic TrueSTUDIO, you get a lot more convenient solution compared to hooking up a UART cable, and you also get birectional support, which is not possible with the ITM printf() redirection of SWV/SWO. Give it a try - you may have good use of it!
In case you'd like to catch up on ITM printf() redirection, or in general learn more on the advanced real-time event and data tracing capabilities in Cortex-M devices such as STM32, Kinetis, LPC or EFM32, you may want to read this SWV tracing whitepaper: