4 releases (2 breaking)
0.3.0 | Dec 15, 2020 |
---|---|
0.2.1 | Jun 8, 2020 |
0.2.0 | Jun 8, 2020 |
0.1.0 | Jun 5, 2020 |
#2125 in Embedded development
21KB
314 lines
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
This project provides futures-rs
-based abstractions for asynchronous programming with peripherals from stm32f1xx-hal
.
It started as an effort to port the examples from async-on-embedded
to the Blue Pill (STM32F103C8T6
) as part of a bachelor's thesis.
The library is independent of any particular executor, but the examples use the async-embedded
runtime.
Requirements
Your rustc
needs to include rust-lang/rust#69033, so you need at least Rust nightly-2020-03-22
or Rust 1.44.
Your Rust toolchain needs to support the thumbv7m-none-eabi
target:
$ rustup target add thumbv7m-none-eabi
Examples
Most of async-on-embedded
's examples have been successfully ported to this project.
Requirements
Adjusting to your hardware
The memory region information included in this repository matches the Blue Pill (STM32F103C8T6
).
You may need to adjust it according to your hardware.
For more information see cortex-m-quickstart
.
Running
You can run the example via cargo:
$ cargo run --example <NAME> [--release]
License
This project is licensed under either of
at your option.
Contributing
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in async-stm32f1xx
by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~19MB
~534K SLoC