遇到 HardFault 问题你还在死磕代码吗
嵌入式开发遇到 HardFault 硬件故障异常,工程师第一反应大多聚焦软件:查找指针越界、堆栈溢出、内存访问错误,反复 Review 业务代码、分析 CFSR 故障寄存器、回溯调用栈。但并非所有 HardFault 根源都来自软件。这份 ST 本地实战笔记给出典型案例:STM32F207 运行 CAN 通信业务随机触发 HardFault,调试看到总线访问报错,但调用栈信息错乱,无法定位到具体软件代码;最小化裸机 Demo 在官方评估板运行正常,客户自制硬件依旧复现崩溃。最终根因定位为VCAP 内核稳压引脚外围电容设计错误,内核供电纹波过大。本文还原完整排障流程、现象特征、硬件原理、排查方法论,帮助工程师跳出只看软件的思维定式。