我的 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.
|
|