A template for building applications for STM32 microcontrollers
To build embedded programs using this template you'll need:
- The
cargo generate
subcommand. Installation instructions.
$ cargo install cargo-generate
- Flash and run/debug tools:
$ cargo install probe-rs --features cli
rust-std
components (pre-compiledcore
crate) for the ARM Cortex-M targets. Run:
$ rustup target add thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf
- Run and enter project name
$ cargo generate --git https://github.com/burrbull/stm32-template/
Project Name: app
-
Specify chip product name and answer on several other guide questions.
-
Your program is ready to compile:
$ cargo build --release
You can flash your firmware using one of those tools:
cargo flash --release
— just flashcargo run --release
— flash and run usingprobe-rs run
runner orprobe-run
runner (deprecated) which you can set in.cargo/config.toml
cargo embed --release
— multifunctional tool for flash and debug
You also can debug your firmware on device from VS Code with probe-rs extention or with probe-rs gdb
command.
You will need SVD specification for your chip for this. You can load patched SVD files here.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Contribution to this crate is organized under the terms of the Rust Code of Conduct, the maintainer of this crate, promises to intervene to uphold that code of conduct.