This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryUpdates Notes / limitations, Validated on real hardware, and default across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds dual debug backend selection via DebugBackend trait at connect. Adds dual debug backend selection via DebugBackend trait at connect. Source: llm_adapter@2026-07-17 Confidence: high |
— |
| Feature | Medium |
Adds `diagnose_fault` to read Cortex-M fault registers and return structured evidence. Adds `diagnose_fault` to read Cortex-M fault registers and return structured evidence. Source: llm_adapter@2026-07-17 Confidence: high |
— |
| Feature | Medium |
Adds `unwind_exception` to map crashes to source lines using DWARF backtrace. Adds `unwind_exception` to map crashes to source lines using DWARF backtrace. Source: llm_adapter@2026-07-17 Confidence: high |
— |
| Feature | Medium |
Adds OpenOCD debug backend (experimental) selectable via `openocd_address`. Adds OpenOCD debug backend (experimental) selectable via `openocd_address`. Source: llm_adapter@2026-07-17 Confidence: low |
— |
| Feature | Low |
Introduces experimental OpenOCD backend configurable with `openocd_address` (default 127.0.0.1:3333). Introduces experimental OpenOCD backend configurable with `openocd_address` (default 127.0.0.1:3333). Source: granite4.1:30b@2026-07-17-audit Confidence: low |
— |
| Bugfix | Low |
Validates OpenOCD backend end‑to‑end on ESP32‑S3 hardware. Validates OpenOCD backend end‑to‑end on ESP32‑S3 hardware. Source: llm_adapter@2026-07-17 Confidence: high |
— |
Full changelog
Dual debug backend and AI-facing crash diagnosis.
Added
- Dual backend behind a single
DebugBackendtrait, selected atconnect:probe-rs(default) — native probe-rs; full flash and RTT support.openocd(experimental) — talks to an already-runningopenocdover the
GDB Remote Serial Protocol (openocd_address, default127.0.0.1:3333).
The AI uses the same tool set for both; onlyconnectdiffers.
diagnose_fault— reads the Cortex-M SCB fault registers
(CFSR/HFSR/MMFAR/BFAR/SHCSR/CPUID) plus PC/SP/LR in one call and returns a
compact structured evidence bundle with the set fault bits. Reports raw
evidence; it does not assert a root cause.unwind_exception— maps a crash to source lines. On the probe-rs backend it
returns a full DWARF backtrace via probe-rs's own unwinder; on the OpenOCD
backend it reads the Cortex-M exception stack frame and maps the faulting
PC/caller LR. Requires anelf_pathbuilt with debug info.- 24 MCP tools total (added
diagnose_fault,unwind_exception).
Validated on real hardware
- OpenOCD backend verified end-to-end on a real ESP32-S3 (openocd-esp32):
connect, memory read/write, halt/run/step/reset, and register reads
(PC/SP/LR) are correct.
Notes / limitations
- OpenOCD register reads use
monitor reg <name>(openocd resolves names per
architecture), so PC/SP/LR work across ARM/Xtensa/RISC-V. Start openocd with
gdb_memory_map disableor it may reject the GDB connection. diagnose_faultandunwind_exceptionare Cortex-M specific and do not apply
to Xtensa (ESP32) targets. Their probe-rs paths delegate to probe-rs's tested
DWARF/register code; they are unit-tested but not yet exercised on a physical
Cortex-M crash.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About adancurusul/embedded-debugger-mcp
A Model Context Protocol server for embedded debugging with probe-rs - supports ARM Cortex-M, RISC-V debugging via J-Link, ST-Link, and more
Beta — feedback welcome: [email protected]