Compare the capture types
RTT and ITM sessions contain decoded events. ETM sessions contain instructions. Event queries do not interpret an ETM session as an event log.
Record RTT events
Select a J-Link target in the serial view before you start. Without an explicit transport, Embedder chooses a discovered RTT up channel markedctf or binary, a discovered RTT down channel for control, and otherwise data channel 2 with control channel 1.
Record ITM events
ITM event recording uses one stimulus port as a binary packet stream:ITM_SendChar text, on the selected port.
Use the ITM serial monitor when you want human-readable stimulus output. Use trace recording only when the firmware implements the packet format and descriptor expected by the decoder.
Capture an ETM instruction window
Bounded ETM capture requires:- A SEGGER J-Trace, not a plain J-Link
- SEGGER J-Link host software
- A fine-pitch CoreSight-20 trace cable
- A target that exposes and drives its ETM trace pins
- The matching ELF and SEGGER device name
The window is usually the tail of a longer run. ETM gives instruction order,
not elapsed time. A CPU frequency can produce an estimate, but it does not add
real timestamps to the trace.
Stream ETM from a known start
Use streamed ETM when the capture must begin at a known point and continue until you stop it. Pass the ELF path at start; addresses are symbolized as they arrive and cannot be resolved from an ELF attached later.Run source coverage
Coverage uses J-Trace instruction statistics for the whole bounded run:- Covered and total functions
- Covered and total source lines
- Covered and total instructions
- Function entry run counts
- Per-line rows when you request functions and lines
Inspect and export sessions
Trace sessions persist under.embedder/traces/<session-id>/.
Ask Embedder to find the active or latest session, compare RTT, ITM, and ETM sessions, summarize RTT or ITM events, or copy a complete session. Open the Trace tab for ETM instructions.
NDJSON export contains event data and applies only to RTT and ITM sessions. ETM instructions live in instructions.json; export the raw session directory so you do not drop them.
Interpret capture quality
Every trace result reports provenance:- Firmware match state and ELF hash when available
- Resolved and unresolved symbols
- Dropped records, resynchronizations, and transport errors
- Trace format and confidence
Fix trace problems
RTT trace receives no descriptor
RTT trace receives no descriptor
Confirm the data and control channel indexes and the firmware’s compact trace integration. Plain RTT logging does not answer the trace-start control request.
ITM trace is empty
ITM trace is empty
Verify OpenOCD, SWO clocks, the stimulus port, and firmware packet output. Test human-readable ITM separately in the serial view.
ETM trace is empty
ETM trace is empty
Confirm that the probe is J-Trace, the target drives TRACECLK, and the fine-pitch CoreSight-20 cable carries the trace signals.
Coverage cannot take the probe
Coverage cannot take the probe
Stop active hardware scripts and trace sessions. Coverage already stops managed GDB and RTT connections during its handoff.
ETM analysis shows impossible calls
ETM analysis shows impossible calls
Check continuity, window truncation, and the matching ELF. Do not reconstruct across reported gaps.
J-Trace setup
Check the probe, cable, target, and scripted SDK path.
Serial transports
Configure RTT and ITM before recording events.

