STM32跳至硬件错误中断(HardFault_Handle)

1、遇到错误问题是数据类型不对,导致该步骤永远不能执行到,跳至硬件错误中断;所以硬件中断可尝试查找数据类型错误。

2、堆栈设置错误也会跳至hardwarefault;

3、如果上电后, 在调试时, 执行单步, 会在不确定位置的地方产生HardFault_Handle, 检查一下你的时钟配置(外部晶振频率, SysTemInit/PLLConfig相关函数以及晶振频率宏定义), 可能是超频了...导致了STM32不稳定。

4、如果在使用某些参数时,使用的类型与其定义的类型不同,也可能导致出现跳转hardfault,这种情况下, 一般是不固定的跳转hardfalt,排查问题较麻烦;

5、如果你使用片上flash做参数存储,那么你需要注意了,参数存储区最好从flash的后部往前存,避免参数区与代码区的互相覆盖。如果参数被覆盖了,或者代码被覆盖了,查找Bug就蛋蛋的忧桑了。。。这也会导致跳转hardfault。

永不止步步 发表于03-31 10:25 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:345377个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号