From 49d7ee6dbe839ae6fbcfd9cc69323c9e976d0faa Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 24 Jul 2026 15:42:46 +0700 Subject: [PATCH] etm-trace: post-rename references, per-board hardware-consent gate target-debug replaced usb-target-debug in the debug-skill overhaul; update the cross-skill table and PC-sampling pointer. Add the consent gate: the J-Trace is a single probe moved between boards, so captures on a board the user did not just ask about need explicit confirmation that it is wired. --- .claude/skills/etm-trace/SKILL.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.claude/skills/etm-trace/SKILL.md b/.claude/skills/etm-trace/SKILL.md index 8affe13ec..a200b14f3 100644 --- a/.claude/skills/etm-trace/SKILL.md +++ b/.claude/skills/etm-trace/SKILL.md @@ -9,14 +9,14 @@ Streams full instruction (ETM) trace from a board wired to a SEGGER J-Trace, headlessly: no GUI, scripted end to end. Produces hot-function profile, code coverage, and optionally the raw instruction history. -| Skill | Answers | -|--------------------|----------------------------------------------------------------------------| -| `usbmon` | what the host actually exchanged (URBs) | -| `usb-target-debug` | what the device did (logs, driver state, sampled PCs) | -| `usb-sniffer` | what crossed the wire | -| **`etm-trace`** | **exactly which instructions executed, when** (profile, coverage, history) | +| Skill | Answers | +|-----------------|----------------------------------------------------------------------------| +| `usbmon` | what the host actually exchanged (URBs) | +| `target-debug` | what the target did (logs, driver state, sampled PCs) | +| `usb-sniffer` | what crossed the wire | +| **`etm-trace`** | **exactly which instructions executed, when** (profile, coverage, history) | -Use `usb-target-debug`'s DWT PC-sampling for a quick statistical profile; use +Use `target-debug`'s DWT PC-sampling for a quick statistical profile; use this skill for exact counts, coverage, or instruction-by-instruction history. ## Requirements @@ -24,6 +24,10 @@ this skill for exact counts, coverage, or instruction-by-instruction history. - J-Trace on USB (`lsusb -d 1366:1020`) wired to the board's trace header; select it by J-Link USB **nickname** (this rig: `jtrace`) — never commit serials. +- **Physical setup is per-board and exclusive** (one J-Trace, moved between + boards; some rigs are fly-wired): unless the user just asked for trace on + this board or your task states it is wired, **confirm with the user** that + the J-Trace is connected to the target before flashing or capturing. - `ozone` on PATH (≥ V3.38 for the automation socket) and `xvfb-run`. - Firmware built with **`-DTRACE_ETM=1`** (BSP trace-pin + trace-clock init). - Boards with a reference `hw/bsp/*/boards//ozone/*.jdebug` work out of