#bsp #nucleo #stm32 #arm #cortex-m

无std nucleo-f446re

Nucleo-F446RE开发板的板级支持包(crate)

1个不稳定版本

0.1.0 2022年7月17日

#9 in #nucleo

MIT/Apache

16KB
169

Nucleo-F446RE

Nucleo F446RE开发板的板级支持包(BSP)。该板具有一些基本功能以及用于Arduino保护罩等子板的引脚。它是评估或开发STM32F446产品线基本应用的起点。

此crate旨在提供一个面向初学者的使用Nucleo板的方法。它处理链接器配置、板初始化,并提供访问板功能实现,而不需要直接使用HAL。它也可以作为学习使用STM32F446进行嵌入式Rust的示例。对于高级应用,您可能希望直接使用stm32f4xx-hal crate。

注意:此crate不会为您的应用程序选择构建目标。您可以通过复制此库中的.cargo/config.toml,或通过在每个构建中设置目标来完成此操作,例如cargo run --target thumbv7em-none-eabi

板级功能

  • 用户LED
  • 用户按钮
  • 串行端口(通过板载ST-Link)
  • 用于延迟的阻塞定时器

示例

使用此BSP主要有两种方式

  • 让BSP执行所有板初始化,并提供对板级功能的访问。如果没有其他硬件连接到您的板,这是最简单的选项,因为未使用的PAC外设将被丢弃。
  • 您执行板初始化,然后直接实例化您想要使用的BSP功能。这允许您控制其他PAC外设的其余部分。

提供了许多示例来说明两种使用BSP的方式,这些示例可以在examples目录中找到。使用USB线将Nucleo板的调试器连接到主机计算机,然后使用cargo运行示例

cargorun --exampleblinky

在此,cargo run 隐式使用 probe-run 来进行闪存、执行以及处理panic和backtrace信息。您只需使用 cargo install probe-run 安装 probe-run 即可使用。如果您更喜欢 GDB 和 OpenOCD,您可以通过编辑 .cargo/config.toml 来更改 cargo run 的行为(提供了 GDB 和 OpenOCD 的基本脚本)。

参考材料

许可证

根据您的选择,许可协议为以下之一

贡献

除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交的任何贡献,都应如上所述双重许可,无需附加条款或条件。

依赖项

~53MB
~1.5M SLoC