zhinkgit/embeddedskills/jlink
- community
Checking that the SKILL.md file is still in the repository.
J-Link 下载与在线调试工具,用于探测设备、烧录固件、读写内存、查看寄存器、复位目标、读取 RTT/SWO 日志, 以及在线调试(暂停/恢复/单步/断点运行/调用栈/变量查看)。 当用户提到 J-Link、JLink、RTT、烧录固件、写内存、读内存、寄存器查看、目标复位、探针连通性检查、 在线调试、单步、断点、调用栈时自动触发,也兼容 /jlink 显式调用。 即使用户只是说"烧录一下"、"看看 RTT 输出"或"调试一下",只要上下文涉及 J-Link 探针就应触发此 skill。
Install
npx vskill@latest install zhinkgit/embeddedskills/jlinkSKILL.md
J-Link 下载与在线调试
本 skill 提供 J-Link 探针的设备探测、固件烧录、内存读写、寄存器查看、目标复位、RTT 日志读取,以及轻量在线调试和 GDB 源码级调试能力。
配置
环境级配置(skill/config.json)
skill 目录下的 config.json 包含环境级配置(工具路径、端口号等),首次使用前确认 exe 路径正确:
exe:JLink.exe 完整路径(必填)gdbserver_exe:JLinkGDBServerCL.exe 路径,RTT 和 GDB 调试需要rtt_exe:JLinkRTTClient.exe 路径gdb_exe:arm-none-eabi-gdb 路径,GDB 源码级调试需要serial_no:默认探针序列号,多探针场景下使用rtt_telnet_port:RTT 端口,0 表示使用工具默认值swo_command:可选,完整 SWO viewer 命令数组,供jlink_swo.py包装operation_mode:1直接执行 /2输出风险摘要但不阻塞 /3执行前确认
工程级配置(.embeddedskills/config.json)
设备参数(device/interface/speed)统一在工作区的 .embeddedskills/config.json 中管理:
device:芯片型号(如 STM32F407VG、GD32F470ZG)interface:调试接口,SWD 或 JTAG,默认 SWDspeed:调试速率 kHz,默认 4000
参数解析优先级:CLI 显式参数 > `.embeddedskills/config.json`(工程级)> `skill/config.json`(环境级)> `.embeddedskills/state.json` > 默认值/报错
成功执行后,确认过的 device/interface/speed 会自动写回工程配置。
子命令
基础操作
| 子命令 | 用途 | 风险 | |
|---|---|---|---|
info | 探测探针与目标连通性 | 低 | |
flash | 烧录固件(.hex / .bin / .elf) | 高 | |
read-mem | 读取内存区域 | 低 | |
write-mem | 写入内存 | 高 | |
regs | 查看 CPU 寄存器 | 低 | |
reset | 复位目标芯片 | 高 | |
rtt | 读取 RTT 日志输出 | 低 | |
swo | 包装外部 SWO viewer 为统一事件流 | 低 |
在线调试(JLink Commander)
| 子命令 | 用途 | 风险 | |
|---|---|---|---|
halt | 暂停 CPU,返回寄存器状态 | 低 | |
go | 恢复 CPU 运行 | 低 | |
step | 单步执行(支持指定步数),返回执行的指令和寄存器 | 低 | |
run-to | 设置断点并运行,等待命中后返回状态 | 低 |
GDB 源码级调试
| 子命令 | 用途 | 依赖 | |
|---|---|---|---|
gdb backtrace/locals | 查看调用栈和局部变量 | arm-none-eabi-gdb | |
gdb break/continue/next/step/finish/until | one-shot 控制执行流 | arm-none-eabi-gdb | |
gdb frame/print/watch/disassemble/threads/crash-report | one-shot 源码级诊断 | arm-none-eabi-gdb |
执行流程
- 读取
skill/config.json,确认exe路径有效 - 读取
.embeddedskills/config.json获取工程级配置(device/interface/speed) - 读取
.embeddedskills/state.json获取历史状态 - 参数解析优先级:CLI 显式参数 > `.embeddedskills/config.json`(工程级)> `skill/config.json`(环境级)> `.embeddedskills/state.json` > 默认值/报错
- 若当前动作需要
device且仍为空,直接要求用户补充,绝不猜测 - 多探针场景未指定
serial_no时,列出探针让用户选择,不自动选择 - 按
operation_mode决定是否需要确认后执行 - 使用模板生成临时
.jlink命令文件,调用 JLink.exe 时带-NoGui 1 -ExitOnError 1 -AutoConnect 1 - 解析输出和返回码,返回结构化结果
- 成功执行后,将确认过的 device/interface/speed 写回
.embeddedskills/config.json
脚本调用
skill 目录下有四个 Python 脚本,使用标准库实现,无额外依赖。
jlink_exec.py — 基础操作 + 轻量调试
通用可选参数:--interface SWD|JTAG、--speed 4000、--serial-no <序列号>、--exe <JLink.exe路径>
jlink_rtt.py — RTT 日志读取
可选参数:--serial-no、--channel、--encoding、--rtt-port、--gdbserver-exe <路径>、--rtt-exe <路径>
RTT 工作原理:脚本先通过 JLinkGDBServerCL.exe 建立调试连接,再启动 JLinkRTTClient.exe 读取 RTT 数据。--json 模式输出 JSON Lines。
jlink_swo.py — SWO 事件流包装
jlink_swo.py 不直接实现 SWO 协议,而是把外部 viewer 的 stdout/stderr 统一包装成 JSON Lines,便于上层 workflow 或 AI 继续消费。
jlink_gdb.py — GDB 源码级调试(需要 arm-none-eabi-gdb)
GDB 调试需要 ELF 文件才能进行源码级调试(断点到函数名、查看变量)。没有 ELF 时仍可使用地址级调试。
输出格式
所有脚本以 JSON 格式返回,基础字段为 status(ok/error)、action、summary、details,并可能附带 context、artifacts、metrics、state、next_actions、timing。流式观测命令使用 JSON Lines,并统一输出 source、channel_type、stream_type。
成功示例:
step 示例(包含执行的指令):
run-to 示例(断点命中):
核心规则
- 不自动猜测
device芯片型号,缺失时必须询问用户 - 多探针场景不自动选择探针,必须让用户指定序列号
- 参数解析优先级为:CLI 显式参数 > `.embeddedskills/config.json`(工程级)> `skill/config.json`(环境级)> `.embeddedskills/state.json` > 默认值/报错
.bin文件必须显式提供烧录地址,缺失时报错- 连接失败时给出排查建议(检查连线、供电、接口类型、速度),不自动尝试更激进参数
- 烧录、写内存、复位在参数完整且用户意图明确时直接执行
run-to的断点在单次 JLink 会话内完成设置和清除,不存在跨会话 handle 问题- 结果回显中始终包含目标芯片、接口类型和执行动作
- 产物路径(elf/file)不进入工程配置,仍只依赖
state.json last_flash/last_debug等运行状态继续写入state.json
调试典型工作流
快速排查(JLink Commander)
适合查看当前执行位置、寄存器状态、内存值,无需 ELF 和 GDB。
断点调试(JLink Commander)
在指定地址设置断点并等待命中,查看此时的状态。
源码级调试(GDB)
需要 ELF 文件和 arm-none-eabi-gdb,支持函数名断点和变量查看。
参考
遇到芯片型号问题时可查阅 references/common_devices.md。
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingjlink/SKILL.md
Popularity
- Repository stars
- 248
- Repository forks
- 31
- 7-day trend score
- 28
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zhinkgit/embeddedskills/jlink)