#svd2rust #arm #cortex-m

app stm32

统一所有STM32微控制器的设备支持crate(WIP)

2个版本

使用旧Rust 2015

0.0.1 2018年3月16日
0.0.0 2018年3月2日

#svd2rust中排名第199

自定义许可

1.5MB
50K SLoC

GLSL 50K SLoC Rust 117 SLoC // 0.0% comments

统一STM32设备支持crate

本项目的目标是统一支持所有STM32组件到一个crate中,而不是到大量 单独 crate中。为了实现这一点,原始ST SVD文件已经被分割,使得每个外设都在其独立的片段文件中。这些文件可以混合匹配并在所有产品系列中重用。不幸的是,svd2rust实际上无法生成一个支持所有设备的单个crate,也无法创建一个结合多个svd2rust crate的超级crate。全局向量表等问题会导致问题。因此,目前这个crate实际上是一个“元crate”,它在运行时会产生一个输出新crate的工具。

例如,要为STM32F405设备生成crate,使用

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

请注意,这个存储库的“目的”是维护svd/下的文件,而不是实际的工具本身(这个工具只是svd2rust的一个薄包装)。

目前支持的设备

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

特别感谢

依赖

~365–550KB