/drone-stm32-map

STM32 peripheral mappings for Drone, an Embedded Operating System.

Primary LanguageRustApache License 2.0Apache-2.0

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

stm32_mcu 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

stm32_mcu 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.14.0", features = [...] }

Add or extend std feature as follows:

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

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.