You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在STM32F415RGT6上运行Rust的Blinky示例?

问题:STM32F415RGT6上Blinky代码编译烧录正常但无法运行LED无反应

我尝试将STM32F4xx HAL crate中的Blinky示例运行在STM32F415RGT6目标板上,已修改代码让连接到PC13引脚的LED闪烁(默认引脚在我的板卡上不存在)。代码可正常编译,hex文件也能烧录到板卡,但代码似乎未运行,LED无反应。

Cargo.toml 配置

[package]
name = "hello"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
embedded-hal = "0.2"
nb = "1"
cortex-m = "0.7"
cortex-m-rt = "0.7"
# Panic behaviour, see https://crates.io/keywords/panic-impl for alternatives
panic-halt = "0.2"

[dependencies.stm32f4xx-hal]
version = "0.15.0"
features = ["stm32f415"] # replace the model of your microcontroller here
# and add other required features

.cargo/config 说明

我的.cargo/config与示例中的配置一致。

memory.x 文件配置

MEMORY
{
  /* NOTE K = KiBi = 1024 bytes */
  FLASH : ORIGIN = 0x08000000, LENGTH = 1024K
  RAM : ORIGIN = 0x20000000, LENGTH = 192K
}

/* This is where the call stack will be allocated. */
/* The stack is of the full descending type. */
/* NOTE Do NOT modify `_stack_start` unless you know what you are doing */
_stack_start = ORIGIN(RAM) + LENGTH(RAM);

烧录步骤

先用cargo编译,再执行命令:

arm-none-eabi-objcopy -O ihex -R .eeprom target/thumbv7em-none-eabihf/debug/hello hello.hex

将输出转换为hex文件后烧录到芯片。

如上所述,我无法让代码正常运行,请问我遗漏或误解了什么?


排查建议
  • 检查时钟配置:STM32F4系列需要正确配置系统时钟才能正常运行。默认示例可能依赖外部晶振,若你的板卡无外部晶振或参数不匹配,会导致代码无法执行。确认代码中是否初始化了正确的时钟源(如内部HSI或外部HSE),并配置了正确的分频系数。
  • 确认引脚配置:检查PC13引脚是否被正确设为推挽输出模式(如gpio::PinMode::OutputPushPull),同时确认该引脚未被其他外设占用。
  • 验证烧录完整性:用arm-none-eabi-objdump检查生成的elf文件,执行arm-none-eabi-objdump -d target/thumbv7em-none-eabihf/debug/hello,确认复位向量表指向正确入口点,主函数逻辑正常。
  • 检查烧录环节:确认烧录工具正确识别STM32F415RGT6,烧录过程无报错。部分工具需手动指定芯片型号,或先解锁芯片读写保护。尝试直接烧录elf文件而非hex文件,看是否能正常运行。
  • 确认启动模式与复位:板卡启动模式需设为从主FLASH启动(BOOT0、BOOT1均接GND),烧录完成后执行硬件复位,确保代码开始执行。
  • 排查panic情况:若代码在初始化阶段panic会导致系统挂起,可在main最开头添加简单的LED闪烁逻辑,排除初始化问题;或改用panic-semihosting配合调试工具查看panic信息。
  • 验证硬件连接:确认PC13引脚确实连接到LED,且LED极性正确(另一端接VCC或GND)。可用万用表测试引脚电平变化,或直接输出高低电平验证硬件是否正常。

内容的提问来源于stack exchange,提问作者MaltDew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:53:39