Collection of tiny programs for STM32 boards written in Rust.
- Install rustup
- Use nightly toolchain:
rustup default nightly
- Install appropriate target:
rustup target add thumbv7em-none-eabihf
- Install toolchain:
sudo apt-get install gcc-arm-none-eabi
on Ubuntu or via brew on MacOS - Install
bobbin-cli
to speed up development:cargo install bobbin-cli
- run
cargo -v build --bin <EXAMPLENAME>
to build, orbobbin -v load --bin <example name>
to flash device.
Most of the examples depend on some features so command may fail,
but error message will contain name of the feature you need to enable: cargo -v build --bin pwm features==with_device
.
- Use
thumbv6m-none-eabi
for ARM Cortex-M0 and Cortex-M0+ - Use
thumbv7m-none-eabi
for ARM Cortex-M3 - Use
thumbv7em-none-eabi
for ARM Cortex-M4 and Cortex-M7 (no FPU support) - Use
thumbv7em-none-eabihf
for ARM Cortex-M4F and Cortex-M7F (with FPU support)
You will have to change default target in .cargo/config
...