[技术手册] 在 Keil 中使用 J-Link attach 到正在运行的代码

[复制链接]
611|13
 楼主| robertesth 发表于 2025-6-21 08:19 | 显示全部楼层 |阅读模式
一、设置验证变量
使用 SDK 例程 igpio_led_output,为了便于验证,定义全局变量 count,在 while(1) 中累加。

图 1
二、设置 Keil 选项
① 取消勾选 Load Application at Startup,新建一个 .ini 文件,文件内容如下

LOAD %L INCREMENTAL

图 2

② 不勾选 Updata Target before Debugging

图 3

③ 不勾选 Reset after Connect 和 Download to Flash


图 4


下载代码,使其开始运行,可以看到 PRINTF 输出的 count 变量在累加。
三、进入 debug
设置好 Keil 上述选项后,点击进入 debug。

图 5





xiaoqizi 发表于 2025-7-3 17:58 | 显示全部楼层
确保 J-Link 调试器正确连接到目标板
木木guainv 发表于 2025-7-3 20:17 | 显示全部楼层
选择 "J-Link / J-Trace Cortex" 作为调试器
Jiangxiaopi 发表于 2025-7-3 22:35 | 显示全部楼层
在 "Debug" 选项卡中勾选 "Attach to running target" 选项
荣陶陶 发表于 2025-7-4 08:45 | 显示全部楼层
程序暂停后无法继续,可以检查是否有中断被禁用

Zhiniaocun 发表于 2025-7-4 11:05 | 显示全部楼层
对于Flash中的代码,确保启用了Flash断点支持
Zuocidian 发表于 2025-7-4 13:22 | 显示全部楼层
变量显示不正确的话确保调试信息是最新的,同时
可能需要手动指定 ELF 文件位置
Puchou 发表于 2025-7-4 15:41 | 显示全部楼层
对于 RTOS 系统,可以使用 System Viewer 插件查看任务状态
Xiashiqi 发表于 2025-7-4 17:59 | 显示全部楼层
附加到运行目标之后可以查看当前寄存器状态,暂停程序执行,查看变量和内存内容,设置断点等
小海师 发表于 2025-7-4 20:19 | 显示全部楼层
如果变量显示不正确,那么需要确保调试信息是最新的,同时可能需要手动指定 ELF 文件位置
脑洞星球居民 发表于 2025-7-4 21:01 | 显示全部楼层
看起来你已经成功设置了 Keil 以便能够 attach 到正在运行的代码,这是一个非常有用的技巧,尤其是在调试嵌入式系统时。你的方法很详细,对于新手来说是个很好的参考。
Haizangwang 发表于 2025-7-4 22:29 | 显示全部楼层
Attach 功能在某些特殊情况下可能受限,比如:芯片处于低功耗模式,调试接口被禁用,安全模式已启用

gouguoccc 发表于 2025-7-7 07:58 来自手机 | 显示全部楼层
调试过程发现经常容易中断连接,不知道是不是jlink的问题。
梦境摆渡人 发表于 2025-7-7 15:01 | 显示全部楼层
这个帖子很实用,我正需要学习如何在 Keil中使用J-Link进行调试。楼主能分享一下如何设置J-Link吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

1416

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部