.xe application on hardware or in the simulator. Add a Serial tab to the Monitor and select the XMOS target and artifact.
Prepare the target
Install XMOS XTC Tools for the hardware host and build the.xe with xSCOPE support. For hardware, connect and power the board and its xTAG. For a simulated run, choose the simulator explicitly.
Set the artifact and target in .embedder/xmos.json. Merge these fields into the file if it already exists:
.embedder/xmos.json
build/my_app.xe with the artifact’s path relative to the project root. If several xTAGs are attached, select the intended adapter or add its ID as "adapterId" in the same file. Use "target": "simulator" only for a simulated run. XMOS settings such as xmos_xe in EMBEDDER.md are no longer used.
Start a monitored run
Reconnect after agent commands
Embedder disconnects the Monitor’s xSCOPE connections before it runs any agent shell command. It does the same before flash, debugger server, and hardware script tools. The Monitor tab showsxSCOPE monitoring stopped. Reconnect explicitly after the command finishes.
Output already captured stays in the Monitor history. On hardware, the program keeps running without being observed. A simulated run stops. The Monitor can’t reconnect until the command finishes and its cleanup completes. This includes background shell commands and any processes they leave running. Embedder doesn’t reconnect the Monitor automatically, so reconnect it yourself when the command is done. The one exception is a flash that captures boot output. In that case, the Monitor joins the capture session once the hardware commands finish.
Reconnecting starts a new session that loads the last image Embedder ran on that target again. If you rebuild the .xe at the same path, the new session runs the new build. If you changed xe in .embedder/xmos.json since that load, the new session runs the configured .xe instead.
.xe execution controls.
Record probes and prints in Trace
An xSCOPE event recording captures values from the firmware’s registered probes and its xSCOPE prints. Use the matching.xe, select hardware or simulator explicitly, and enable realtime xSCOPE with "xscope": true before preparing a shared Monitor connection.
Send supported input
Add"xscope": true to .embedder/xmos.json and connect the Monitor in realtime xSCOPE mode. The firmware must be built with xSCOPE enabled and receive input through xscope_data_from_host.
Enter a command the firmware recognizes in the Monitor’s send control, using the newline convention it expects. Check the firmware response afterward. Stdout-only monitoring cannot send input.
Changing from an existing stdout-only session may require disconnecting and starting a new connection, which can launch the selected application again. Baud rate, DTR, and RTS settings do not apply to xSCOPE. When Embedder monitors an xscope:// port, it also ignores UART, RTT, and ITM settings such as baud rate, frequency, CPU frequency, device, and interface.
Read an existing run
Troubleshoot
- xrun missing: install XTC Tools, launch Embedder from its tools environment, or set
EMBEDDER_XTC_PATHto the XTC installation. - Artifact missing or wrong: rebuild, check
xein.embedder/xmos.json, and confirm the Monitor’s selected application. - Several xTAGs found: select the intended adapter ID explicitly.
- Probe busy: finish the competing hardware task, or use the matching existing debugger console where available.
- Monitor shows xSCOPE monitoring stopped: an agent command suspended the connection. Wait for the command and its cleanup to finish, then reconnect the Monitor.
- Input unavailable: check
"xscope": true, the active realtime connection, and the firmware’sxscope_data_from_hostreceiver. - No output: confirm the selected build enables xSCOPE and reaches its logging code.

