22个版本 (破坏性更新)
0.16.0 | 2024年3月12日 |
---|---|
0.15.1 | 2023年11月3日 |
0.15.0 | 2023年10月9日 |
0.14.0 | 2023年3月22日 |
0.1.0 | 2019年5月26日 |
#18 in 嵌入式开发
17,868 每月下载量
用于 14 crates
1MB
23K SLoC
文档
stm32h7xx-hal
stm32h7xx-hal 包含了STMicro STM32H7xx系列微控制器外围访问API之上的硬件抽象层。这个crate背后的想法是掩盖这些MCU上各种外围设备之间的细微差异,以便可以编写适用于同一系列中所有芯片的HAL,而无需为每个型号粘贴crate。
这个crate依赖于Adam Greig的出色的stm32h7 crate来提供适当的寄存器定义,并实现embedded-hal trait的一部分。大部分实现都是从stm32-rs组织中的其他HAL crate改编的。
欢迎对这个crate进行合作,也欢迎pull requests!
支持的配置
- stm32h743v (版本 V: stm32h743, stm32h742, stm32h750)
- stm32h753v
- stm32h747cm7 (stm32h747, stm32h757)
- stm32h7b3
- stm32h7b0
- stm32h7a3
- stm32h735 (stm32h723, stm32h725, stm32h730, stm32h733, stm32h735)
旧版本 STM32H742/743/750/753 零件
2019年,ST发布了stm32h742、stm32h743、stm32h750和stm32h753的硬件版本 V (eevblog)。此硬件版本进行了破坏性硬件更改,详见AN5312。如果您在2019年中期之前购买的设备,请检查您设备的版本代码。旧版本(版本 Y)的零件通过功能门支持,不带 'v' 后缀。(stm32h743,stm32h753)
双核零件(Cortex M7 + Cortex M4)
在双核零件中,目前仅支持Cortex M7核心。
闪存内存大小
默认情况下,此crate假定2M字节的闪存大小。为了设置较小的限制以避免链接器错误,取消注释内存.x文件中的正确的FLASH
部分定义。
入门指南
示例文件夹包含几个示例程序。要编译它们,请在cargo功能中指定目标设备。
$ cargo build --features=stm32h743v,rt
有关更多详细信息,请参阅示例README。
要将stm32h7xx-hal用作独立项目的依赖项,必须在Cargo.toml
文件中指定目标设备功能。
[dependencies]
cortex-m = "0.7.4"
cortex-m-rt = "0.7.1"
stm32h7xx-hal = {version = "0.16.0", features = ["stm32h743v","rt"]}
如果您不熟悉使用Rust进行嵌入式开发,有许多资源可以帮助您。
硬件
以下是一个公开可用和记录的STM32H7开发板简短列表。请注意,将它们列入此列表并不意味着它们已成功与此crate进行测试。一些板子提供板级支持crate (BSP),提供引脚映射和附加功能。
板子 | 制造商 | BSP / 示例? |
---|---|---|
NUCLEO-H743ZI | ST | 示例 |
NUCLEO-H745ZI-Q | ST | BSP |
STM32H743I-EVAL | ST | |
STM32H747I-EVAL | ST | |
STM32H747I-DISCO | ST | |
Daisy Seed | Electrosmith | BSP |
Portenta H7 ⚠️ | Arduino | |
OpenH743I-C | Waveshare | |
Toasty | Webtronics |
⚠️:通过其USB连接器编程此板需要与一个未知的专有(?)引导加载程序交互。此引导加载程序可能使您难以加载或无法加载未经Arduino批准的二进制文件。其他编程接口仅在高速连接器上可用。
最低支持的Rust版本
目前最低支持的Rust版本(MSRV)为1.66.1。较旧版本可能可以编译,尤其是在您的应用程序未使用某些功能时。
变更日志
请参阅CHANGELOG.md。
许可
0-Clause BSD许可,有关更多详细信息,请参阅LICENSE-0BSD.txt。
依赖项
~91MB
~2.5M SLoC