stm32

Crates.iostm32
lib.rsstm32
version0.0.1
sourcesrc
created_at2018-03-02 08:40:49.096409
updated_at2018-03-16 07:56:25.109767
descriptionUnified device support crate for all STM32 microcontrollers (WIP)
homepage
repositoryhttps://github.com/rqou/stm32-unified-crate
max_upload_size
id53416
size3,354,062
R (ArcaneNibble)

documentation

https://docs.rs/stm32

README

Unified STM32 device support crate

The goal of this project is to unify support for all STM32 parts into one crate rather than a huge number of separate crates. In order to try to achieve this, the original ST SVD files have been split up so that each peripheral is in its own independent fragment file. These can then be mixed-and-matched and reused across all product families. Unfortunately, it isn't possible for svd2rust to actually generate a single crate supporting all devices, nor is it possible to create a mega-crate that combines multiple svd2rust crates together. Issues arise with things such as the global vector table. Therefore, currently this crate is effectively a "meta-crate" that produces a tool that outputs a new crate when it is run.

For example, to generate a crate for the STM32F405 device, use

./target/debug/stm32 stm32f405 >lib.rs

Note that "the point" of this repository is the maintenance of the files under svd/ and not the actual tool itself (which is just a thin wrapper around svd2rust).

Currently supported devices

  • STM32F405/415/407/417
  • STM32F427/437
  • STM32F429/439

Big thanks to

  • svd2rust
  • libopencm3 for giving hints as to how peripherals are shared across product lines
Commit count: 50

cargo fmt