OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3001|回复: 1

简单的hardfault追踪以及cm_backtrace错误追踪

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-12
在线时间
4 小时
发表于 2022-3-18 10:54:51 | 显示全部楼层 |阅读模式
  最近和朋友聊关于错误追踪的一些问题,有不少人知道使用,但是原理却不是很理解,正好最近没事我打算简单写一下,写的不好或者有错误的地方多多理解啊。

首先是我们以前使用一种简单的错误追踪hardfault

这个原理比较简单,大概说一下,就是在进hardfault的时候首先判断LR寄存器的bit2位,查看当前是使用msp还是psp,然后把使用到的sp数据读到R0里面。
平时LR是保存返回的值,进入中断后就会变化,确定哪个SP后就可以在对应的SP里面取出被压的栈的数据,按照顺序即可

取出来的数据特别是LR在程序里搜索地址大概率可以找到hardfault错误位置。

写了半个小时结果字数被限制了,只好发到csdn
(9条消息) 简单的hardfault追踪以及cm_backtrace错误追踪_weixin_46724495的博客-CSDN博客



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2022-3-18 14:35:56 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 20:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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