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

#655 in Operating systems

Download history 20/week @ 2024-07-20 52/week @ 2024-07-27 27/week @ 2024-08-03 19/week @ 2024-08-10 12/week @ 2024-08-17 17/week @ 2024-08-24 22/week @ 2024-08-31 16/week @ 2024-09-07 19/week @ 2024-09-14 82/week @ 2024-09-21 22/week @ 2024-09-28 1/week @ 2024-10-05 18/week @ 2024-10-12 11/week @ 2024-10-19 11/week @ 2024-10-26 32/week @ 2024-11-02

72 downloads per month
Used in 12 crates (via drone-stm32-map-pieces)

MIT/Apache

215KB
167 lines

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.

Dependencies

~5–7MB
~137K SLoC