打印

hardfault错误定位的方法?

[复制链接]
895|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
victor3l|  楼主 | 2015-4-28 10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序运行一段时间后,会复位,现在怀疑是程序跑到hardfault。
在debug模式下,可以通过仿真器来查看,是从什么地方掉到hardfault了。我debug的板子只有2,3个,放几天也不复位,所以使用debug来找原因,太耗时了。所以只能把程序发行了,烧一批设备。
如何根据链接寄存器中的值(这个值在系统复位前我已经保存了)来定位到程序出错的大致位置?
怎么利用MAP文件?
谢谢

相关帖子

沙发
lxyppc| | 2015-4-28 10:37 | 只看该作者
最好是把所有寄存器的值,以及栈顶部分值都保存下来
map文件一般会告诉你哪个函数占用了哪段空间
根据lr的值可以定位到上一次调用的位置
有的cpu会有寄存器纪录复位原因,最好这些都记录下来

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

308

帖子

5

粉丝