代码跑到HardFault 中断里了,是怎么引起的,怎么解决?

nuvoton2022 |浏览163次
检举|收藏|2022/09/07 21:40
全部回答(1)
  • 代码若跳转到不存在的物理空间去取指令或数据,就会产生HardFalut。比如数据指针或函数指针未赋值就使用。新的BSPHardFault里会打印出栈区的数据,可查到是从哪个地址跳转到HardFault 的。如果BSP 中未打印栈区数据,可查看栈指针,SP+6地址,是产生HardFaultPC地址,也就是出错地址, 在.map文件中查找这个地址是哪个函数,就去排查这个函数,特别是函数中用的指针。

    回答于 2022/09/07 21:41
0人关注该问题
 加载中...