Skip to content
cccskills
FreePublished on GitHub

probe-rs

probe-rs 下载与调试工具,用于探针发现、固件烧录、复位、内存读写、GDB Server 调试和 RTT 日志读取。

当用户提到 probe-rs、cargo-embed、DAP、RTT、CMSIS-DAP、ST-Link、J-Link、烧录、芯片信息、 连接 under reset、probe 选择器、probe-rs gdb、probe-rs attach 时自动触发,也兼容 /probe-rs 显式调用。

即使用户只是说"用 probe-rs 烧进去"、"看看 RTT"或"拉个 backtrace",只要上下文明确提到 probe-rs 的功能、CLI 命令或相关术语(如 cargo-embed、RTT、probe-rs flash)时就应触发此 skill。

The English summary is being prepared. Showing the original description.

See how to install

Files included (8)

  • SKILL.md4.3 KB
  • config.example.json201 B
  • README.md1001 B
  • scripts/probe_rs_exec.py20.2 KB
  • scripts/probe_rs_gdb_common.py7.9 KB
  • scripts/probe_rs_gdb.py18.9 KB
  • scripts/probe_rs_rtt.py16.6 KB
  • scripts/probe_rs_runtime.py9.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

probe-rs 下载与调试

本 skill 提供 probe-rs CLI 的结构化包装,覆盖探针发现、目标信息、烧录、复位、内存读写、one-shot GDB 调试和 RTT 日志读取。

Windows 下优先使用 py -3 调用脚本;若 arm-none-eabi-gdb 已在 PATH 中,gdb 子命令可自动发现,不强依赖 skill config.json。

配置

环境级配置(skill/config.json)

首次使用前建议在 skill 目录下创建 config.json:

{
  "exe": "probe-rs",
  "gdb_exe": "C:\\Program Files\\Arm\\GNU Toolchain mingw-w64-x86_64-arm-none-eabi\\bin\\arm-none-eabi-gdb.exe",
  "gdb_port": 3333,
  "dap_port": 50000,
  "operation_mode": 1
}
  • exe:probe-rs 可执行文件路径或命令名
  • gdb_exe:arm-none-eabi-gdb 路径,gdb 子命令需要
  • gdb_port:默认 GDB 端口
  • dap_port:预留给交互式 DAP 会话
  • operation_mode:1 直接执行 / 2 输出风险摘要但不阻塞 / 3 执行前确认

工程级配置(.embeddedskills/config.json)

{
  "probe-rs": {
    "chip": "STM32F407VGTx",
    "protocol": "swd",
    "probe": "",
    "speed": 4000,
    "connect_under_reset": false
  }
}
  • chip:芯片型号,probe-rs 主后端必填
  • protocol:swd 或 jtag
  • probe:探针选择器,格式 VID:PID[:Serial]
  • speed:调试速率 kHz
  • connect_under_reset:连接时是否保持 reset

参数优先级:CLI 参数 > 工程配置(.embeddedskills/config.json)> state.json > skill 配置(config.json)> 默认值

各层职责:skill config.json 提供工具路径与端口等环境级常量;.embeddedskills/config.json 提供芯片、协议等工程级参数;CLI 参数在单次调用中覆盖一切。

子命令

子命令用途风险
list枚举可用探针低
info查看探针与目标信息低
flash烧录固件(elf/hex/bin/uf2)高
erase擦除芯片非易失存储高
reset复位目标芯片高
read-mem读取内存低
write-mem写内存高
attach / run包装 probe-rs attach/run低
gdb启动 GDB Server 并执行 one-shot 调试低
rtt读取 RTT 日志低

典型调用

# 列出探针
py -3 <skill-dir>/scripts/probe_rs_exec.py list --json

# 烧录 ELF
py -3 <skill-dir>/scripts/probe_rs_exec.py flash --chip STM32F407VGTx --file build/app.elf --json

# 烧录 BIN(必须提供地址)
py -3 <skill-dir>/scripts/probe_rs_exec.py flash --chip STM32F407VGTx --file build/app.bin --address 0x08000000 --json

# 读取内存
py -3 <skill-dir>/scripts/probe_rs_exec.py read-mem --chip STM32F407VGTx --address 0x20000000 --length 16 --width b32 --json

# one-shot backtrace
py -3 <skill-dir>/scripts/probe_rs_gdb.py backtrace --chip STM32F407VGTx --elf build/app.elf --json

# RTT
py -3 <skill-dir>/scripts/probe_rs_rtt.py --chip STM32F407VGTx --json

核心规则

  • 不自动猜测 chip,缺失时直接报错
  • 多探针场景建议显式提供 --probe;若未检测到任何探针,应提示用户检查 USB 连接并重试;若探针配置错误(如 VID:PID 不匹配),应报告具体错误信息并建议运行 list 子命令确认可用探针
  • .bin 烧录必须显式提供地址
  • workflow build-debug 只走 one-shot 诊断包装,不启动需要人工接管的长期 DAP 会话
  • Windows 下若要用 probe-rs 驱动 J-Link,通常需要切换到 WinUSB,这会影响 SEGGER 官方工具继续使用;若仍依赖 J-Link 官方工具链,优先继续用现有 jlink skill

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

can

Free

嵌入式 CAN / CAN-FD 调试工具,用于扫描接口、监控报文、发送测试帧、记录日志、数据库文件解码和总线统计。 当用户提到 CAN、CAN-FD、DBC 解码、总线抓包、USB-CAN 联调、报文发送、总线统计、 PCAN、Vector、slcan、CAN 接口扫描、CAN ID 过滤、ASC 日志、BLF 文件时自动触发, 也兼容 /can 显式调用。即使用户只是说"看看 CAN 报文"、"发一帧试试"或"解码一下 DBC", 只要上下文明确提到 CAN 总线通信的操作或问题就应触发此 skill。

The English summary is being prepared. Showing the original description.

zhinkgit/embeddedskills756Updated Sep 3, 2026

eide

Free

EIDE (Embedded IDE) 工程构建工具,用于扫描 .eide/eide.yml 工程、枚举构建 配置 (ConfigName)、执行 build/rebuild/clean 并解析构建日志,返回可供 jlink/openocd 复用的产物路径。当用户提到 EIDE、Embedded IDE、eide.yml、 unify_builder、VS Code EIDE 扩展、Cl.eide 时自动触发,也兼容 /eide 显式调用。 即使用户只是说"用 EIDE 编译一下"或"EIDE 烧录到板子上",只要上下文涉及 EIDE 嵌入式工程就应触发此 skill。

The English summary is being prepared. Showing the original description.

zhinkgit/embeddedskills756Updated Sep 3, 2026

gcc

Free

GCC 嵌入式工程构建工具(CMake + arm-none-eabi-gcc),用于扫描 CMake 型嵌入式工程、 列出预设、配置、编译、重建、清理和分析 ELF 大小。当用户提到 GCC、arm-none-eabi、 CMake 嵌入式编译、Ninja 构建、ELF 大小分析、arm-gcc、交叉编译、cmake --build、 cmake --preset 时自动触发,也兼容 /gcc 显式调用。即使用户只是说"编译一下"或 "看看固件多大",只要上下文涉及 CMake 嵌入式 GCC 工程就应触发此 skill。

The English summary is being prepared. Showing the original description.

zhinkgit/embeddedskills756Updated Sep 3, 2026

jlink

Free

J-Link 下载与在线调试工具,用于探测设备、烧录固件、读写内存、查看寄存器、复位目标、读取 RTT/SWO 日志, 以及在线调试(暂停/恢复/单步/断点运行/调用栈/变量查看)。 当用户提到 J-Link、JLink、RTT、烧录固件、写内存、读内存、寄存器查看、目标复位、探针连通性检查、 在线调试、单步、断点、调用栈时自动触发,也兼容 /jlink 显式调用。 即使用户只是说"烧录一下"、"看看 RTT 输出"或"调试一下",只要上下文涉及 J-Link 探针就应触发此 skill。

The English summary is being prepared. Showing the original description.

zhinkgit/embeddedskills756Updated Sep 3, 2026

keil

Free

Keil MDK 工程构建工具,用于扫描 .uvprojx/.uvproj/.uvmpw 工程、枚举 Target、执行 build/rebuild/clean 并解析构建日志,返回可供 jlink/openocd 复用的产物路径。 flash 子命令仅作为兼容入口保留。当用户提到 Keil、MDK、uVision、UV4、 Target 枚举、编译、重建、清理、烧录、下载固件、flash 时自动触发,也兼容 /keil 显式调用。 即使用户只是说"编译一下"或"烧录到板子上",只要上下文涉及嵌入式 Keil 工程就应触发此 skill。

The English summary is being prepared. Showing the original description.

zhinkgit/embeddedskills756Updated Sep 3, 2026

net

Free

嵌入式网络调试工具,用于发现接口、抓包、分析 pcap/pcapng、做连通性测试、端口扫描和流量统计。 当用户提到 Wireshark、tshark、Npcap、抓包、网络联调、端口扫描、连通性排查、pcap 分析、 网络接口、ping 测试、traceroute、流量统计、Modbus TCP、EtherNet/IP 等网络协议调试时自动触发, 也兼容 /net 显式调用。即使用户只是说"抓个包看看"、"扫一下端口"、"网络通不通"或"分析一下这个 pcap", 只要上下文中出现具体工具名(tshark、Wireshark、Npcap)、协议名(Modbus TCP、EtherNet/IP、ICMP 等)、 调试动作(抓包、端口扫描、连通性测试、ping、traceroute、流量统计、pcap 分析)或网络接口操作,就应触发此 skill。

The English summary is being prepared. Showing the original description.

zhinkgit/embeddedskills756Updated Sep 3, 2026

See all skills by zhinkgit

Report a problem with this skill