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 嵌入式开发

Download history 3754/week @ 2024-04-23 4197/week @ 2024-04-30 3047/week @ 2024-05-07 2335/week @ 2024-05-14 2566/week @ 2024-05-21 3407/week @ 2024-05-28 2780/week @ 2024-06-04 3646/week @ 2024-06-11 4050/week @ 2024-06-18 6023/week @ 2024-06-25 4438/week @ 2024-07-02 4959/week @ 2024-07-09 4657/week @ 2024-07-16 5082/week @ 2024-07-23 3445/week @ 2024-07-30 4025/week @ 2024-08-06

17,868 每月下载量
用于 14 crates

0BSD 许可证

1MB
23K SLoC

文档

stm32h7xx-hal

docs.rs CI Crates.io Minimum rustc version

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' 后缀。(stm32h743stm32h753

双核零件(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