Rust API for the STM32F0 micro controller
The API is composed of two main crates:
- the stm32f0x2 is the raw API as generated via svd2rust
- the stm32f0_hal is a higher level API with GPIO, LED, UART, etc support
First you need to setup your environment to cross compile it for armv6. You can find good instructions for Win/Mac/Linux here.
Then you can build both workspaces directly from the root using
xargo build --target thumbv6m-none-eabi.
Warning: due to some recent APIs break, you should use the nightly 25-12-2017! We will fix that real soon.
You can find examples in the stm32f0_hal/examples folder. They can be built directly.
For instance, to build the blinky example:
xargo build --target thumbv6m-none-eabi --example blinky.
You can generate the doc via
xargo doc for a complete API.
If you encounter an error such as:
error: no matching version = 0.0.0 found for package compiler_builtins (required by sysroot)
Make sure you downgrade your xargo version to 0.3.8:
cargo install xargo --vers 0.3.8 -f