IO Stream RTT


IO Stream RTT.


Real Time Transfer (RTT) is a bi-directional communication interface developed by Segger and used with J-Link module. You need to have the Segger RTT library in your project to use this stream. It is offered as a third-party module in the Silicon Labs SDK.

RTT module uses a control block structure located in RAM memory with a specific ID so that it can be discovered when a connection is established via J-Link. The control block references a ring buffer for each configured channel. You can configure the number and size of the ring buffers at compile-time in SEGGER_RTT_Conf.h configuration file. Please refer to Segger's documentation for further information on RTT.

Note that you should only use this stream in a development environment. You should avoid using it in production.


The stream sets itself as the default stream at the end of the initialization function.You must reconfigure the default interface if you have multiple streams in your project else the last stream initialized will be set as the system default stream.

Power manager integration

Because RTT communication uses the J-link debug interface when going into EM2 or EM3, the system will actually go into a special Energy Mode to maintain the debug capabilities and the power consumption will still remain high. Therefore it is unwise to keep a debug interface with RTT channel open if you want to test your power consumption.

Communication channel connection

For connecting to the RTT channel you can use the tools provided by Segger or you can open a telnet session and connect to the port 19021 using your host IP address when the debugger is connected using USB and using J-Link debugger IP address when your debugger is connected over ethernet.


sl_status_t sl_iostream_rtt_init (void)
 RTT Stream init.


sl_iostream_instance_info_t sl_iostream_instance_rtt_info

Function Documentation

◆ sl_iostream_rtt_init()

sl_status_t sl_iostream_rtt_init ( void  )

RTT Stream init.

Status result

Variable Documentation

◆ sl_iostream_rtt_handle

sl_iostream_t* sl_iostream_rtt_handle


◆ sl_iostream_instance_rtt_info

sl_iostream_instance_info_t sl_iostream_instance_rtt_info