keil遇到hardfault时原因的查找
【keil遇到hardfault时原因的查找】当硬件仿真遇到hardfault会进入响应的中断软件陷阱中void HardFault_Handler(void),此时通过view-registers中的
1 如果STACK=MSP,则查看SP的堆栈值,在memrory窗口输入sp的值回车,在地址内容之后的第21字节开始的4个字节为LR的值,在堆栈调用窗口右击选择show callee code,在反汇编窗口右击选择show code at address,输入LR的值然后回车,就是发生hardfault前的调用大致位置,仔细查找即可,
一般都是因为数组越界,访问了超过范围或者未定义的地址,或者利用字符串库函数或者内存操作库函数时出现的情况。
转载于:https://www.cnblogs.com/jieruishu/p/11126348.html
推荐阅读
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 遇到不正当请求怎么办
- python-安装sublime遇到异常
- Spring|Spring Boot部署到Resin遇到的问题
- 塔罗占卜(近期是否会遇到避不开的劫数(准爆了))
- 大年初三遇到情人节
- 面对困难
- 界面展示bug随笔
- ScrollView使用遇到的问题
- 渐行