This example firmware demonstrates SEGGER RTT bidirectional communication with an STM32 target and embedded-debugger-mcp.
- STM32G431CBTx or a similar STM32 board.
- Debug probe: ST-Link V2/V3, SEGGER J-Link, or CMSIS-DAPLink compatible probe.
- SWD wiring: SWDIO, SWCLK, GND, and target voltage reference.
- USB power or external target power.
This firmware uses build-std, so run it with nightly Rust and rust-src.
rustup component add rust-src --toolchain nightly
cd examples/STM32_demo
CARGO_TARGET_DIR=/tmp/embedded-debugger-mcp-stm32-target cargo +nightly check --locked| Channel | Direction | Name | Purpose |
|---|---|---|---|
| Up 0 | Target to host | Terminal | System messages and command responses |
| Up 1 | Target to host | Data | Fibonacci calculation stream |
| Up 2 | Target to host | Debug | Status information |
| Down 0 | Host to target | Commands | Single-character commands |
| Down 1 | Host to target | Config | Multi-byte configuration commands |
Channel 0 commands:
L: toggle LEDR: reset Fibonacci counterF: get current Fibonacci valueI: print system information0to9: set calculation speed
Channel 1 examples:
SPEED:3: set speed multiplierLED:ON: request LED onMODE:AUTO: request automatic mode
Typical MCP flow:
list_probesconnectflash_programorrun_firmwarertt_attachrtt_channelsrtt_readandrtt_writedisconnect
The demo is useful for hardware validation, RTT channel discovery, and command round-trip checks. Results depend on the target board, probe, wiring, firmware build, and local probe-rs support.
The docs/ directory contains historical design and test notes from development.
Treat those files as development evidence, not as current release guarantees.
