【硬件异常黑盒子功能】成功使用LUA小程序实现类似MDK的硬件检测机制,并且更进一步锁异常位置,支持脱机运行
2023-06-13 09:11:14 时间
【应用场景】
上电后一段时间进入硬件异常,或执行某个功能就进入硬件异常,我们可以方便的通过IDE软件或者嵌入的异常分析代码来锁定问题位置。
而运行比较长的时间,比如两周,一个月等,这就不方便挂个电脑分析了。
挂个TOOL就比较方便,可以长时间检测跟踪芯片的运行,出问题的时候可以关键信息导出来。简单的可以TOOL自带显示屏直接分析出结果,复杂的可以电脑端上位机软件分析。
【功能介绍】
1、初版先实现了类似MDK的fault reports功能。
2、支持脱机运行。
3、除了非精确异常错误,大部分都可以锁定异常出错位置。
【Lua小程序】
hardfault.lua (24.7 KB)
【操作说明】
1、操作例子使用本帖参考资料里面配套的一个例子,里面集成了一些经典错误案例,方便我们测试效果
2、将LUA文件内容复制粘贴到如下位置,并将TOOL采用SWD接口模式连接目标板。
(1)非法地址读取锁定的错误效果
TOOL测试:
TOOL锁定的出错位置:
实际MDK查看出错位置没问题:
(2)非对齐访问检测效果
TOOL测试:
TOOL锁定的出错位置:
实际MDK查看出错位置没问题:
(3)非精确的异常,这种的不能锁定异常位置
【脱机运行】
将hardfault.lua文件存到eMMC磁盘如下路径:
TOOL重新上电后,进入如下位置即可运行Lua小程序查看:
【参考资料】
帖子里面有个各种异常展示案例
视频教程第6期:MDK专题进阶,Cortex-M内核芯片Hardfault硬件异常调试分析定位(2022-02-17)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=110982
相关文章
- JAVA异常_什么什么异常
- 在WebFlux中自定义异常响应
- linux查看网卡实时速率命令_怎么判断网卡速率是否异常
- GPG error_gpt异常是什么意思
- 使用PyG进行图神经网络的节点分类、链路预测和异常检测
- Python 异常处理
- python监控网站运行异常并发送邮件详解编程语言
- Java 常见异常种类详解编程语言
- PHP自定义错误和异常详解编程语言
- Python自定义异常类及用法
- MySQL异常:Incorrect key file for table ‘/tmp/#sql_37b_1.MYI’; try to repair it
- 排查Oracle数据库异常信息方法(oracle输出异常信息)
- 性传输Oracle的异常传输异常的灵活运用(oracle 写异常)
- 的处理解决Oracle数据库预定义异常的方法(oracle中预定义异常)
- 处理Oracle中管理异常的实例分析(oracle中的异常)
- C#异常处理的一些经验和技巧