What problem does it solve?
Embedded Rust development involves many low-level steps—cross-compiling for specific MCU targets, configuring runtime and linker settings, selecting panic handlers, flashing and debugging over hardware probes, and getting efficient logging—this Skill consolidates guidance and best practices so engineers can bring bare-metal Rust firmware from source to running device reliably.
Core Features & Use Cases
- Flashing and debugging: Step-through guidance for using probe-rs and cargo-embed to program and debug microcontrollers and stream logs.
- Efficient logging with defmt: Configure defmt transports and derive serialization for low-bandwidth log decoding on host tools.
- Concurrency and startup: Example patterns for RTIC-based interrupt-driven tasks and cortex-m-rt startup with no_std and no_main firmware.
- Panic and runtime choices: Recommendations for choosing panic-halt, panic-probe, panic-semihosting, or reset strategies and when each is appropriate.
- Use case: Flash an STM32F4 release build, stream defmt logs over RTT, and iterate on RTIC tasks while tuning panic behavior for production.
Quick Start
Help me flash and debug my thumbv7em-none-eabihf no_std firmware using probe-rs and stream defmt logs to the host.