硬汉嵌入式论坛

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

[创意点子] 不错的组件,可以考虑用到H7-TOOL以后开发的黑盒子功能中

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2022-4-25 17:46:57 | 显示全部楼层 |阅读模式


之前就有这个想法,一直没有好的思路:

【应用场景】
上电后一段时间进入硬件异常,或执行某个功能就进入硬件异常,我们可以方便的通过IDE软件或者嵌入的异常分析代码来锁定问题位置。

而运行比较长的时间,比如两周,一个月等,这就不方便挂个电脑分析了。

挂个TOOL就比较方便,可以长时间检测跟踪芯片的运行,出问题的时候可以关键信息导出来。简单的可以TOOL自带显示屏直接分析出结果,复杂的可以电脑端上位机软件分析。


【组件】
adamgreen/CrashCatcher: Catch Hard Faults on Cortex-M devices and save out a crash dump to be used by CrashDebug. (github.com)

image.png
回复

使用道具 举报

3

主题

13

回帖

22

积分

新手上路

积分
22
发表于 2022-4-25 19:00:36 | 显示全部楼层
沙发,
回复

使用道具 举报

23

主题

1403

回帖

1472

积分

至尊会员

积分
1472
发表于 2022-4-26 09:21:48 | 显示全部楼层
有点意思,不过这个是目标端的,TOOL端还是要更好点的思路。
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-26 09:24:54 | 显示全部楼层
missfox 发表于 2022-4-26 09:21
有点意思,不过这个是目标端的,TOOL端还是要更好点的思路。

是有这个问题,得进一步研究下。
回复

使用道具 举报

5

主题

30

回帖

45

积分

新手上路

积分
45
发表于 2022-4-28 16:06:06 | 显示全部楼层
硬汉哥,我之前是这么做的,在代码里面移植一个 CmBackTrace 然后的话,在进入hardfault 之前,将异常的寄存器全部存入到内部flash中,然后置位一个标志,下次开机读取这个标志,如果异常就从flash中读取异常寄存器的值,在通过 addr2line 工具查看具体的出现异常的代码行号:
https://blog.csdn.net/qq_3355999 ... 1001.2014.3001.5501
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-28 17:52:52 | 显示全部楼层
xdh873939316 发表于 2022-4-28 16:06
硬汉哥,我之前是这么做的,在代码里面移植一个 CmBackTrace 然后的话,在进入hardfault 之前,将异常的寄 ...

谢谢分享。
回复

使用道具 举报

4

主题

139

回帖

151

积分

初级会员

积分
151
发表于 2022-4-29 09:39:32 | 显示全部楼层
xdh873939316 发表于 2022-4-28 16:06
硬汉哥,我之前是这么做的,在代码里面移植一个 CmBackTrace 然后的话,在进入hardfault 之前,将异常的寄 ...

感谢分享挺实用的,通过st-link读出来的是bin文件,具体怎么查看错误类型和行号呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 06:06 , Processed in 0.178771 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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