【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 出现错误HardFaultHandler的stm32调试心得及经验

共5条 1/1 1 跳转至

出现错误HardFaultHandler的stm32调试心得及经验

助工
2020-03-03 23:27:09    评分

在用keil调试时,发现开着代码优化时,就会死机,调到HardFault_Handler,不开优化时,没问题。开始还觉得keil很奇怪,为何优化就死掉了。查找可能是数组越界了,检查发现数组越界,为了可靠省心,用到10个字节的数组,就要定义多定义几个字节。

开优化和不开的差异猜测是:不开时,定义的数组不紧凑,越界没破坏到其他的寄存器;开了优化后,越界正好破坏了其他的寄存器。


摸索着学习,请大家多多指导。




关键词: HardFault_Handler     stm32         

专家
2020-03-04 09:01:05    评分
2楼

C语言的魅力与魅惑


助工
2020-03-04 21:43:02    评分
3楼

定义的数组不紧凑,越界没破坏到其他的寄存器。
越界的原因是什么?内存没有分配好吗?


助工
2020-03-04 21:49:38    评分
4楼

指针越界了吧? 用到8字节,有时候指针指到8字节外了。


助工
2020-03-08 21:35:36    评分
5楼

C语言的博大精深


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]