STM32程序死在HardFault_Handler的分析和解决
最近开发STM32F070F6P6项目,发现程序老是运行不了,仿真发现,程序总是死在HardFault_Handler。程序总是死在第二个初始化函数里面。
上网查询资料发现
STM32出现HardFault_Handler故障的原因主要有两个方面:
1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。
2、堆栈溢出。增加堆栈的大小。
我打开了初始化函数发现初始化引脚造成了程序跑飞。
这个单片机只有PA引脚,我初始化PE引脚,造成了程序跑飞,我把引脚改正之后,程序就正常运行了。