1、Trace32下载
1)、方式1,官网下载(需要注册才能下载,注册时需要提供调试器电缆上边的SN号)
https://www.lauterbach.com/frames.html?prolist.html
2)、方式2,下载链接
TRACE32_R_2021_02_000136263.7z_Trace32-OS文档类资源-CSDN下载
2、Trace32软件安装
参考百度经验(dump分析的时候只需要安装模拟器软件即可)
https://jingyan.baidu.com/article/5bbb5a1bf0d95913eba1799a.html
3、获取dump&lst&elf&bin文件
1)、获取dump文件
A、使用Jlink Commander连接设备
B、暂停MCU,获取dump文件
C、其余获取dump文件方式(分析设备死机、异常场景特别有效)
可在设备异常时通过uart等输出ram内容保存为二进制文件;可在设备异常时保存ram内容到flash后,后期从flash导出。
2)、获取lst&elf&bin文件(Keil软件下,gcc自行百度)
A、修改输出文件名称
B、使用fromelf工具获取elf、lst、bin文件
fromelf工具使用:
fromelf --bin --output=..\my.bin ..\obj\my-first-prj.axf
fromelf --elf --output ..\bf0_ap.elf ..\obj\my-first-prj.axf
fromelf --text -c --output ..\app.lst ..\obj\bf0_ap.axf
C、获取结果展示
4、分析dump文件
1)、将上边准备好的各种文件统一放置到自己新建立的文件夹
2)、修改脚本
A、进入Trace32安装目录,找一个型号类似、相同芯片的cmm脚本修改(本人使用STM32L475VET6)。
B、修改脚本(必须添加noclear选项否则elf里面的变量等无法加载ram的实时结果)
3)、启动Trace32软件,新建模拟工程
4)、载入自己修改好的脚本,然后进入调试界面
5)、常用功能
A、MCU寄存器
B、变量查看
C、。。。(自己去研究)
5)、LiteOS相关(任务、队列、软timer等,可参考Trace32官方文件《rtos_liteos》)
A、任务
B、软timer
C、队列
D、其余功能(任务栈内容解析、堆栈使用情况等自行研究哈,需要写复杂点的cmm脚本)