11 unstable releases (5 breaking)

0.14.0 Apr 9, 2021
0.13.0 Nov 28, 2020
0.12.3 Sep 7, 2020
0.12.1 May 3, 2020
0.9.0 Sep 3, 2019

#1754 in Embedded development


Used in 2 crates (via drone-stm32-map)

MIT/Apache

225KB
8K SLoC

crates.io maintenance

Drone STM32 Map

STM32 peripheral mappings for Drone, an Embedded Operating System.

This crate uses CMSIS-SVD files provided by STMicroelectronics to automatically generate Drone register and interrupt bindings. However only the corresponding Reference Manual is the single source of truth. A difference between this crate bindings and the Reference Manual is considered a bug. Fixing such a bug is not a breaking change.

This crate re-exports the contents of drone_cortexm::map module and is a drop-in replacement for it.

Supported Devices

drone_stm32_map Core name Reference manual Available features
stm32f100 ARM® Cortex®-M3 r1p1 RM0041 dma gpio spi tim
stm32f101 ARM® Cortex®-M3 r1p1 RM0008 dma gpio spi tim
stm32f102 ARM® Cortex®-M3 r1p1 RM0008 dma gpio spi tim
stm32f103 ARM® Cortex®-M3 r1p1 RM0008 dma gpio spi tim
stm32f107 ARM® Cortex®-M3 r1p1 RM0008 dma gpio spi tim
stm32f303 ARM® Cortex®-M4F r0p1 RM0316 adc dma exti gpio i2c tim
stm32f401 ARM® Cortex®-M4F r0p1 RM0368 adc dma exti gpio i2c spi tim uart
stm32f405 ARM® Cortex®-M4F r0p1 RM0090 adc dma exti gpio i2c spi tim uart
stm32f407 ARM® Cortex®-M4F r0p1 RM0090 adc dma exti gpio i2c spi tim uart
stm32f410 ARM® Cortex®-M4F r0p1 RM0401 adc dma exti gpio i2c spi tim uart
stm32f411 ARM® Cortex®-M4F r0p1 RM0383 adc dma exti gpio i2c spi tim uart
stm32f412 ARM® Cortex®-M4F r0p1 RM0402 adc dma exti gpio i2c spi tim uart
stm32f413 ARM® Cortex®-M4F r0p1 RM0430 adc dma exti gpio i2c spi tim uart
stm32f427 ARM® Cortex®-M4F r0p1 RM0090 adc dma exti gpio i2c spi tim uart
stm32f429 ARM® Cortex®-M4F r0p1 RM0090 adc dma exti gpio i2c spi tim uart
stm32f446 ARM® Cortex®-M4F r0p1 RM0390 adc dma exti gpio i2c spi tim uart
stm32f469 ARM® Cortex®-M4F r0p1 RM0386 adc dma exti gpio i2c spi tim uart
stm32l4x1 ARM® Cortex®-M4F r0p1 RM0394 dma exti gpio i2c rtc spi tim uart
stm32l4x2 ARM® Cortex®-M4F r0p1 RM0394 dma exti gpio i2c rtc spi tim uart
stm32l4x3 ARM® Cortex®-M4F r0p1 RM0394 dma exti gpio i2c rtc spi tim uart
stm32l4x5 ARM® Cortex®-M4F r0p1 RM0351 dma exti gpio i2c rtc spi tim uart
stm32l4x6 ARM® Cortex®-M4F r0p1 RM0351 dma exti gpio i2c rtc spi tim uart
stm32l4r5 ARM® Cortex®-M4F r0p1 RM0432 adc dma exti gpio i2c rtc spi tim uart
stm32l4s5 ARM® Cortex®-M4F r0p1 RM0432 adc dma exti gpio i2c rtc spi tim uart
stm32l4r7 ARM® Cortex®-M4F r0p1 RM0432 adc dma exti gpio i2c rtc spi tim uart
stm32l4s7 ARM® Cortex®-M4F r0p1 RM0432 adc dma exti gpio i2c rtc spi tim uart
stm32l4r9 ARM® Cortex®-M4F r0p1 RM0432 adc dma exti gpio i2c rtc spi tim uart
stm32l4s9 ARM® Cortex®-M4F r0p1 RM0432 adc dma exti gpio i2c rtc spi tim uart

drone_stm32_map config flag should be set at the application level according to this table.

Documentation

The API documentation intentionally skips auto-generated [reg] and [thr] bindings. Otherwise it would use several gigabytes of space and would be very slow to render in a browser. One should refer to the Reference Manual instead. And to get an idea of what the API looks like on the Drone side, look at the drone_cortexm::map module documentation.

Usage

Add the crate to your Cargo.toml dependencies:

[dependencies]
drone-stm32-map = { version = "0.15.0", features = [...] }

Add or extend host feature as follows:

[features]
host = ["drone-stm32-map/host"]

License

Licensed under either of

at your option.

Contribution

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.


lib.rs:

General Purpose I/Os.

Dependencies

~4–6.5MB
~117K SLoC