有时候某些设备会在特定的情况卡死,而我们又不容易复现,这时候就需要使用JLink查看卡死设备PC寄存器的值,来定位程序卡死位置
1、第一步
连接好卡死设备,千万不要断电
2、打开JLink Commander
根据芯片型号和连接方式输入连接命令
使用CMD进入JLinke安装目录
输入连接命令
JLink.exe -device STM32H743VI -Speed 10 -if SWD -autoconnect 1
提示连接成功,按h停止运行,查看PC寄存器值,在按s运行一步,在按h查看PC寄存器值,产看程序运行位置
通过反复调试得知程序卡到
PC = 08017FB4, CycleCnt = 1C541E3D这个位置,通过调试找到BUG位置