[STM32F4] TM32 在进入 HAL_Init () 之前就直接进入 HardFault_Handler 硬件错误

[复制链接]
22|1
小库里 发表于 2026-6-13 21:39 | 显示全部楼层 |阅读模式
我的 STM32 Black Pill F411CE 运行过程中突然进入硬件错误中断,单片机会彻底卡死,无法重新烧录程序。更换新的 Black Pill 主控、烧入完全相同的固件,设备恢复正常,连续稳定运行数小时。
这套硬件经过完整测试,已经投入使用多年。其中一块受损的芯片可以正常烧录、校验固件,但调试模式下上电还没执行 HAL_Init 就直接跳入硬件错误中断。
我的固件没有搭载 RTOS,仅使用 STM32 HAL 库;固件经过长期验证,按理不存在内存越界访问问题,实在无法解释五片单片机的 Flash 为何会同步突然损坏。工程用到了 DMA 与外部中断。有没有同行遇到过同类问题?
我接入调试器查看,程序没有进入 main 函数,开机直接卡在硬件错误中断内,寄存器信息如下:
sp -> 0x2001ffd4
pc -> 0x8005408 <HardFault_Handler + 4>
调试控制台打印信息:
Program received signal SIGTRAP, Trace/breakpoint trap.
HardFault_Handler () at ../Core/Src/stm32f4xx_it.c:95
95 {
warning: Could not fetch required XPSR content. Further unwinding is impossible.
Program received signal SIGINT, Interrupt.
HardFault_Handler () at ../Core/Src/stm32f4xx_it.c:99
99 while (1)
warning: Could not fetch required XPSR content. Further unwinding is impossible.

MessageRing 发表于 2026-6-14 11:22 | 显示全部楼层
检查DMA和外部中断的配置,确认中断优先级和组设置正确,以及DMA的内存地址范围不要越界。之前遇到过类似问题,调整后解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

219

主题

220

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0