Skip to main content
Use RTT when your firmware includes SEGGER RTT buffers. RTT carries text over the debug connection, so you don’t need a separate UART wire. The Monitor reads RTT through a J-Link connected to your computer. Through a remote bridge, Embedder takes a time-limited RTT capture with probe-rs after it flashes the firmware.
  1. Install the SEGGER J-Link Software and Documentation Pack on the computer running Embedder, for its operating system and architecture.
  2. Connect the J-Link to that computer, power the target, and wire the probe for SWD or JTAG as the board requires.
  3. Use a firmware build that initializes RTT and writes to the up channel you plan to read.
RTT ports appear in the Monitor only when the J-Link software is installed and a J-Link probe is connected.

Connect in the Monitor

  1. Open a Serial Monitor tab. See Open a Serial Monitor tab.
  2. Select an RTT entry in Port. The RTT settings appear.
  3. Select Device and choose the exact J-Link device name, such as nRF52840_xxAA. A star marks devices suggested for your project.
  4. Set Debug interface to SWD or JTAG, and set Frequency MHz to the probe speed. The default is 4 MHz.
  5. Leave RTT block set to Auto-detect. If channels aren’t found, choose the current build’s .map file there, or enter the control block’s Address in hex.
  6. Select Connect.
The Port list groups RTT entries under RTT ↑ Up (read) and RTT ↓ Down (write): Until Embedder finds the firmware’s RTT channels, the list shows J-Link RTT ↑ Ch.0 and J-Link RTT ↓ Ch.0. Switching between RTT channels while connected reconnects the tab automatically. The bar shows how many J-Link probes are detected. Use the same device and interface as any J-Link debugger session that’s already running. If Embedder needs a different device, interface, or speed, it restarts the J-Link GDB server, which disconnects active GDB sessions. Its approval prompt warns you when a device or interface change will do this. Starting the probe can affect target state, so review the attachment precautions before you investigate a live fault.

Read an up channel

Up channels carry output from the target. Name the channel your firmware uses:
Replace the device and channel with yours, and check that the expected firmware text appears. A listed channel with no output can mean the firmware hasn’t written to it yet. To capture boot output, ask Embedder to reset the target through the J-Link. It resets and runs the target, then reattaches RTT. DTR and RTS resets don’t apply to RTT. If channel discovery fails, give Embedder the current build’s map file that contains _SEGGER_RTT, or the control block address. Another firmware revision can place the buffers elsewhere. If the selected map file lacks the symbol, the bar shows _SEGGER_RTT not found in followed by the file name.

Send through a down channel

Down channels carry input to firmware that reads them. Up and down channel numbers refer to separate directions, so a logging up channel doesn’t mean an input channel exists. To send from the Monitor, use either approach:
  • Select an RTT ↓ Ch.N port, connect, and type in the send box.
  • On an up-channel tab, select ↓ Open down channel. In the ↓ Down channel send panel, choose the channel and type the command.
Commands sent through a connected RTT tab end with a line feed, whether you type them or Embedder sends them. If Embedder sends with no RTT tab connected, it ends the command with CR LF. Check the firmware’s response on the up channel. A successful send means the input was delivered, not that the firmware accepted the command.

Use RTT through a bridge

The Monitor’s RTT ports use a J-Link connected to your own computer. For a board on a remote bridge, ask Embedder for an RTT capture instead:
  1. Ask Embedder to flash the firmware through that bridge in the current session. Bridge RTT reads from the firmware Embedder flashed, so it isn’t available until then.
  2. Ask for a capture with a duration or a stop string, such as READY. The capture ends at the time limit or when the stop string appears.
The board on the bridge needs a known MCU, the chip name Embedder passes to probe-rs. See probe-rs for how Embedder picks the chip. The bridge manages probe speed, so a probe frequency you give is ignored. A bridge RTT capture doesn’t reset the target. If the target’s current state is evidence, don’t flash it just to enable monitoring. Keep the captured output and use an observation path that’s already available until a new firmware run is appropriate.

Reuse captured output

Ask Embedder to read the history of the active RTT tab when the event has already happened. Keep the current connection and target settings when you preserve a fault. Structured event recordings need compatible trace instrumentation in the firmware. Ordinary RTT text isn’t a trace format; see Coverage and trace.

Troubleshoot

  • J-Link software missing: Embedder reports that the probe is detected but the J-Link software isn’t installed. Install it on the computer running Embedder, then reconnect.
  • Flash before monitoring RTT: nothing was flashed to that bridge in the current session. Preserve any fault evidence before you decide to program.
  • Select a target device to use RTT: choose a Device before you connect.
  • J-Link failed to start: the selected device may not match the connected hardware. Check Device, power, SWD/JTAG wiring, and Frequency MHz.
  • No channels: confirm the firmware initializes RTT, then select the current .map file or enter the control block address.
  • Channel is silent: check the selected up channel and whether the firmware reaches its logging code.
  • Send fails: the tab shows [Send failed: RTT ...] when the connection is lost. Reconnect, and confirm the firmware reads that down channel.
  • Probe is busy: close other probe programs, or finish the active debugger or trace task before you reconnect.
See Serial transports for other logging paths and shared history.
Last modified on October 13, 2026