在 Keil 中使用 J-Link attach 到正在运行的代码
一、设置验证变量 使用 SDK 例程 igpio_led_output,为了便于验证,定义全局变量 count,在 while(1) 中累加。https://edit.wpgdadawant.com/uploads/news_file/blog/2024/14654/tinymce/1.png图 1 二、设置 Keil 选项① 取消勾选 Load Application at Startup,新建一个 .ini 文件,文件内容如下
LOAD %L INCREMENTALhttps://edit.wpgdadawant.com/uploads/news_file/blog/2024/14654/tinymce/2.jpg
图 2
② 不勾选 Updata Target before Debugginghttps://edit.wpgdadawant.com/uploads/news_file/blog/2024/14654/tinymce/3.png
图 3
③ 不勾选 Reset after Connect 和 Download to Flashhttps://edit.wpgdadawant.com/uploads/news_file/blog/2024/14654/tinymce/4.jpg
图 4
下载代码,使其开始运行,可以看到 PRINTF 输出的 count 变量在累加。 三、进入 debug设置好 Keil 上述选项后,点击进入 debug。https://edit.wpgdadawant.com/uploads/news_file/blog/2024/14654/tinymce/_5.png
图 5
确保 J-Link 调试器正确连接到目标板
选择 "J-Link / J-Trace Cortex" 作为调试器
在 "Debug" 选项卡中勾选 "Attach to running target" 选项
程序暂停后无法继续,可以检查是否有中断被禁用
对于Flash中的代码,确保启用了Flash断点支持
变量显示不正确的话确保调试信息是最新的,同时可能需要手动指定 ELF 文件位置
对于 RTOS 系统,可以使用 System Viewer 插件查看任务状态
附加到运行目标之后可以查看当前寄存器状态,暂停程序执行,查看变量和内存内容,设置断点等
如果变量显示不正确,那么需要确保调试信息是最新的,同时可能需要手动指定 ELF 文件位置
看起来你已经成功设置了 Keil 以便能够 attach 到正在运行的代码,这是一个非常有用的技巧,尤其是在调试嵌入式系统时。你的方法很详细,对于新手来说是个很好的参考。
Attach 功能在某些特殊情况下可能受限,比如:芯片处于低功耗模式,调试接口被禁用,安全模式已启用
页:
[1]