硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1106|回复: 3
收起左侧

[有问必答] Faults报错如何找到异常位置分析原因

[复制链接]

33

主题

188

回帖

287

积分

高级会员

积分
287
发表于 2024-9-4 10:22:00 | 显示全部楼层 |阅读模式
本帖最后由 LinY 于 2024-9-4 10:33 编辑

进入了Hard Faults
看寄存器 实际是Bus Faults出现PRECISERR和BFARVALID
如何找到具体在哪里报错了?


QQ截图20240904101445.png
QQ截图20240904101534.png

回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-9-4 19:47:06 | 显示全部楼层
打开Memory窗口,地址填SP的值,显示方式unsigned int,从前往后数,依次是堆栈中R0,R1,R2,R3,R12? xPSR,LR,PC,PC就是出错的下一句指令,LR就是调用出错函数的上级函数位置。打开汇编窗口,goto address,把数值加0x前缀填进去回车,就到位了。凭记忆写的不一定正确,反正挨着的两个0x08xxxxxx数值就是出错时中断压栈的LR,PC
回复

使用道具 举报

33

主题

188

回帖

287

积分

高级会员

积分
287
 楼主| 发表于 2024-9-5 08:40:09 | 显示全部楼层
人生之际 发表于 2024-9-4 19:47
打开Memory窗口,地址填SP的值,显示方式unsigned int,从前往后数,依次是堆栈中R0,R1,R2,R3,R12? xPSR,LR ...

谢谢 我试下
刚刚也找了些资料看了下
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-9-5 08:45:46 | 显示全部楼层
这个是精确的异常错误,提示你访问这个地方的时候出错了

234.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 07:13 , Processed in 0.366030 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表