环境:工具
目标CPU:STM32F429debug
链接工具:JLink V9调试
链接方式:SWOorm
调试工具:Keil MDK 5.20接口
使用场景:图片
目标板正在运行,可是出BUG了,须要调试,而当前又没有在线debug,源码
因而就须要用调试器在不复位CPU的前提下附着到正在运行的板子上.it
使用步骤:io
1.首先确认你有与当前CPU运行的程序同样的源码,编译时生成了调试信息(Debug Information).编译
2.修改debug设置,去掉"Load Appcalition at Startup"的勾选.
3.检查JLink的设置,"Connect:Normal"表示正常链接,不复位,"Reset:Normal" 表示链接后不复位,不勾选"Reset after Conn",不勾选"Download to Flash"
4.将JLink链接至目标板的调试接口.
5.点击Keil中的调试按钮,启动调试.前面的设置正确的话CPU会中止运行,但不会复位,此时只能看汇编指令,没有C源码.
6.在Command窗口输入命令:LOAD %L INCREMENTAL(这条命令是加载当前项目的输出文件,读取调试信息,这样就能够看到C源码了).
7.如今就和正常调试同样了.
备注:
第6步还有另外一种方式自动加载,在"Debug"设置对话框里填入一个"Initialization File:",
在该文件里面写上"LOAD %L INCREMENTAL",就能够了,点击"开始调试"后,Keil会自动执行该命令.
参考图片: