Skill v1.0.1
currentAutomated scan100/100+7 new
name: mcu-chip-info description: Selectively read attached MCU identity, debug-link, or runtime information through EmberProbe. Use only when the user asks about the connected chip, core, UID, flash size, vendor fingerprint (genuine ST vs compatible clone such as APM32/GD32/AT32), debugger, transport, voltage, target state, or CPU registers. metadata: version: "1.0.1"
MCU Chip Information
Use scripts/read-chip.js from this skill directory. EmberProbe owns the probe and enforces mutual exclusion.
Before you run
- MCP first: if this session provides EmberProbe MCP tools (such as
chip_read), use them; the scripts here are the fallback. The authorization and hardware rules on this page apply to both. - Applies to: reading attached MCU identity, debug-link, or runtime information (core, series, UID, Flash size, vendor fingerprint, debugger, transport, voltage, target state, CPU registers).
- Requires: the EmberProbe Agent Bridge, OpenOCD, a connected probe, and a powered target.
- Preconditions: the probe is free (single owner); request only the fields needed to answer.
- Side effects: read-only; briefly uses the probe with no persistent target change.
- Success evidence: the requested
identity/debug/runtimefields are returned. Do not replace a specific probe/target/configuration diagnosis with a generic “service not running”.
For failure handling, retry limits, cross-skill routing, and result scoping, read ../_emberprobe/agent-workflow.md.
node <skill-dir>/scripts/read-chip.js --workspace <workspace> --section identitynode <skill-dir>/scripts/read-chip.js --workspace <workspace> --fields core,series,deviceId,flashSizenode <skill-dir>/scripts/read-chip.js --workspace <workspace> --fields designer,authenticity,compatVendor,compatBrand
Sections are identity, debug, and runtime. If neither --section nor --fields is supplied, read identity. The identity section also carries the vendor fingerprint decoded from the CoreSight ROM table: designer/designerCode (JEP106 designer), romPart, and for chips claiming an STM32 series an authenticity verdict (genuine = real ST, compatible = clone; compatVendor/compatBrand name the maker, e.g. Geehy APM32, GigaDevice GD32). Request only the fields needed to answer the user. If EmberProbe reports that the probe is busy, do not start another OpenOCD process.
On failure, parse the stderr JSON diagnostic and use its error.code, likelyCause, suggestedActions, and details.openocdTail. Do not replace a specific probe/target/configuration diagnosis with a generic “service not running” explanation.