#drone #stm32 #peripheral #mapping #cmsis-svd #bindings

nightly drone-stm32-map-periph-spi

STM32 peripheral mappings for Drone, an Embedded Operating System

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

#542 in Operating systems

43 downloads per month
Used in drone-stm32-map

MIT/Apache

34KB
1K 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:

Serial Peripheral Interface.

Dependencies

~5–7MB
~133K SLoC