[程序源码] 分享HardFault分析软件,,

[复制链接]
3239|20
 楼主| XIVN1987 发表于 2019-2-21 19:37 | 显示全部楼层 |阅读模式


软件执行效果:




源代码:https://github.com/XIVN1987/JHFView

打包生成的exe免安装文件:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

有了这个查错就很方便了  发表于 2019-3-2 16:44
终于有人写了....我也想写来着...仅仅是想  发表于 2019-2-23 22:32
学习了 厉害~  发表于 2019-2-21 20:36

评分

参与人数 1威望 +3 收起 理由
kj101129 + 3 很给力!

查看全部评分

linqing171 发表于 2019-2-21 21:40 | 显示全部楼层
堆栈分析是嵌入式调试必备的工具。
我也有做过类似的东西,除了jlink直接读的,也有正是产品里通过hardfault里面用汇编修改CPSR备份堆栈寄存器和堆栈的。

但是看了一下楼主的正则表达式的代码,一下子晕了。看起来非常简洁,比我写的代码少了非常多。
好东西必须支持一下。

评论

感谢支持  发表于 2019-2-21 21:53
airwill 发表于 2019-2-21 22:46 | 显示全部楼层
好象感觉挺不错的,  HardFault 分析, 总是要去堆栈翻出数据看老半天. 别扭和效率很低.

只是没有看明白怎么用,  是发生异常后再执行这个软件吗
linqing171 发表于 2019-2-21 23:39 | 显示全部楼层
airwill 发表于 2019-2-21 22:46
好象感觉挺不错的,  HardFault 分析, 总是要去堆栈翻出数据看老半天. 别扭和效率很低.

只是没有看明白怎么 ...

keil生成hex的同时生成asm。
进入hardfault后,死循环等待。此时不要keil附加调试,直接连接jlink,开启这个软件运行一遍就可以了。
软件先导出寄存器,进一步跟进寄存器的sp导出调用函数。

很久以前通过jlink里面直接修改pc到hardfault的死循环下一句汇编,也就是那个返回指令,然后单步运行一句汇编,就返回到了出错的地址。
 楼主| XIVN1987 发表于 2019-2-21 23:42 | 显示全部楼层
airwill 发表于 2019-2-21 22:46
好象感觉挺不错的,  HardFault 分析, 总是要去堆栈翻出数据看老半天. 别扭和效率很低.

只是没有看明白怎么 ...

对,发生HardFault时,,执行此软件(指定JLinkARM.dll路径和单片机正在运行的程序的反汇编文件),此软件通过JLink读取单片机的内核寄存器、故障原因寄存器和内存中的栈内容,,自动分析HardFault原因、以及发生HardFault的函数调用堆栈

其实原理和步骤与人工分析完全一样,,只不过这个软件把分析步骤用软件代码实现了,,如果对具体怎么分析的干兴趣的话,,可以去下载代码看下,,Python代码很类似伪代码,,就算不懂Python,程序的大致流程也还是能看懂的
whtwhtw 发表于 2019-2-22 09:36 | 显示全部楼层
这2个工具会用的出个简单的教程就更好了,不错啊
ILike123123 发表于 2019-2-22 14:17 | 显示全部楼层
顶顶顶
icecut 发表于 2019-2-23 22:34 | 显示全部楼层
lz可以考虑 弄个daplink版本.未来可玩的事情很多
 楼主| XIVN1987 发表于 2019-2-23 22:40 | 显示全部楼层
icecut 发表于 2019-2-23 22:34
lz可以考虑 弄个daplink版本.未来可玩的事情很多

好建议,,等有空弄一个
holle 发表于 2019-2-24 10:05 | 显示全部楼层
这个好,支持ST-LINK吗?
 楼主| XIVN1987 发表于 2019-2-24 10:54 | 显示全部楼层
holle 发表于 2019-2-24 10:05
这个好,支持ST-LINK吗?


github上有通过python控制ST-Link的代码,,https://github.com/pavelrevak/pystlink

把软件里j-link相关的代码替换成pystlink就行了,,修改不多、难度不大
一路向北lm 发表于 2019-2-24 18:13 | 显示全部楼层
很厉害,收下了,谢谢
一路向北lm 发表于 2019-2-24 18:13 | 显示全部楼层
不知道该怎么用
触觉的爱 发表于 2019-2-25 16:34 | 显示全部楼层
这软件好像有点意思顶起
JLennon 发表于 2019-3-4 10:44 | 显示全部楼层
厉害了。
yunbei 发表于 2019-3-7 16:23 | 显示全部楼层
厉害喽,有空下载来试试看
tianqi911 发表于 2019-3-8 10:07 | 显示全部楼层
膝盖一软,就跪了下来。基本不知道说的是啥,不过不服高人有罪。顶一个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

354

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部