You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- README: honest tagline; Phase A wording; mark core items as shipped
- lib.rs + Cargo.toml: match actual capabilities
- Strip 'Made with Bob' from Rust sources and CI workflow
Made-with: Cursor
A modern, feature-rich GDB server/proxy written in Rust, designed to enhance embedded debugging workflows with advanced logging, state inspection, and breakpoint management capabilities.
8
+
A Rust GDB **RSP proxy** with structured logging, optional CMSIS-SVD memory labels, JSONL session recording/replay, RTOS packet decode logs, and external flash orchestration — with room to grow into richer breakpoints and UIs.
9
9
10
10
## 🎯 Project Goals
11
11
@@ -21,17 +21,17 @@ A modern, feature-rich GDB server/proxy written in Rust, designed to enhance emb
21
21
## ✨ Key Features
22
22
23
23
### Current (v0.1.0 - In Development)
24
-
-🚧 GDB Remote Serial Protocol (RSP) parser
25
-
-🚧 Basic proxy/pass-through mode
26
-
-🚧 Structured logging infrastructure
27
-
-🚧 Configuration system
24
+
-✅ GDB Remote Serial Protocol (RSP) codec + command parse (see `tests/rsp_codec_matrix.rs`)
- ▶️ **`rsgdb replay`** — load a recording and serve a **mock TCP backend** for one client (order-preserving playback / tests)
30
30
- 📝 **SVD annotation (read-only)** — CMSIS-SVD → log labels for memory RSP (`m` / `M`): `Peripheral.REGISTER`, overlapping **fields**, and enumerated **variant names** where present (`target: rsgdb::svd`, debug)
31
31
- ⚡ **`rsgdb flash`** — run a configured external flash tool (`[flash].program` with `{image}` substitution; OpenOCD/probe-rs/etc.)
32
32
- 🧵 **RTOS RSP decode / log (Zephyr-first)** — thread-extension packets are decoded and logged at `target: rsgdb::rtos` (debug). Thread *data* comes from your stub (e.g. OpenOCD **Zephyr** RTOS awareness); other RTOSes use the same GDB RSP when the stub implements them (see below).
33
33
- 🧪 **CI + local E2E smoke** — `gdbserver` → `rsgdb` → `gdb` (batch), `scripts/e2e_gdb_smoke.sh` (Ubuntu job in **CI** workflow). **Zephyr `native_sim`** E2E (`scripts/e2e_zephyr_native_sim.sh`) runs in the **Zephyr E2E** workflow when those scripts/app change, on `main`/`develop`, weekly, or manually. See [CONTRIBUTING.md](CONTRIBUTING.md).
0 commit comments