Skip to main content
Use J-Trace to inspect executed instruction order or measure source coverage on a target with ETM support. A plain J-Link supports debugging and RTT but cannot provide this ETM capture path.

Prepare the connection

Check all of the following:
  • A supported SEGGER J-Trace and installed SEGGER host software.
  • The fine-pitch CoreSight-20 trace cable.
  • A target with its ETM pins routed to that connector.
  • The exact SEGGER device name.
  • An ELF matching the firmware under investigation.
The wide 0.1-inch debug ribbon does not carry the required trace signals. If a capture is empty, verify the cable and target TRACECLK before changing software.

Capture instructions

Run /debug, then ask:
A bounded capture preserves the most recent instruction window. Longer runs can execute more instructions than that window retains.

Measure coverage

These captures reset and run the target and interrupt existing GDB or RTT sessions. Save paused-state evidence before starting them.

Choose a longer stream carefully

Streamed ETM starts from a known point and can retain a longer instruction history, but it repeatedly halts the target. This can change interrupts, timeouts, and handshakes. Use a logic analyzer, oscilloscope, or target timer for timing measurements. Instruction order and estimated time axes do not establish elapsed time.

Reuse a custom capture

Ask Embedder to create a hardware script if the built-in capture does not cover your test. The jtrace Python SDK is available for specialized scripts, including combined target control and trace inspection. Run through Embedder and close the probe when the script finishes. Avoid competing probe sessions while capturing.

Troubleshoot

  • Only J-Link is detected: use GDB or RTT, or connect J-Trace for ETM.
  • No instructions: check trace wiring, target power, device name, and TRACECLK.
  • Incorrect symbols: use the exact firmware ELF.
  • Different runtime behavior: a streamed capture may be disturbing timing.
  • Probe remains busy: stop active captures or scripts and disconnect unused debugger sessions.
See Coverage and trace for choosing and interpreting a recording.
Last modified on September 24, 2026