Przejdź do treści
Biblioteka skilli
Programowanie · Integracja z narzędziem

probe-rs

/probe-rs

Obsługuje probe-rs: wykrywa sondy, wgrywa firmware, resetuje układ, czyta pamięć, prowadzi GDB Server i odczytuje logi RTT.

Repozytorium
embeddedskills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
20.10.2026

Ocena i bezpieczeństwo

98/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena13 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
9
Skrypty
6
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 20.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • 6 skryptów w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: scripts/probe_rs_exec.py, scripts/probe_rs_gdb.py, scripts/probe_rs_gdb_common.py, scripts/probe_rs_rtt.py, scripts/probe_rs_runtime.py, tests/test_probe_list.py

Co robi i kiedy

Obsługuje probe-rs: wykrywa sondy, wgrywa firmware, resetuje układ, czyta pamięć, prowadzi GDB Server i odczytuje logi RTT.

Wyzwalacze z opisu

用 probe-rs 烧进去看看 RTT拉个 backtrace

Argumenty

/probe-rs [list|info|flash|erase|reset|read-mem|write-mem|attach|run|gdb|rtt] ...
Oryginalny opis (EN)

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。

Jak działa

  1. 配置
  2. 子命令
  3. 典型调用
  4. 核心规则
Sekcje z nagłówków SKILL.md, w oryginale · 98 linii, 324 słów
Podgląd SKILL.md
---
name: probe-rs
description: >-
  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。
argument-hint: "[list|info|flash|erase|reset|read-mem|write-mem|attach|run|gdb|rtt] ..."
---

# 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`:

```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)

```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 日志 | 低 |

## 典型调用

```bash
# 列出探针
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
Pliki w paczce (9)
  • README.md 1 KB
  • SKILL.md 4 KB
  • config.example.json 1 KB
  • scripts/probe_rs_exec.py 20 KB
  • scripts/probe_rs_gdb.py 19 KB
  • scripts/probe_rs_gdb_common.py 8 KB
  • scripts/probe_rs_rtt.py 17 KB
  • scripts/probe_rs_runtime.py 10 KB
  • tests/test_probe_list.py 2 KB

Wersje

W bazie nie ma innych skilli o nazwie probe-rs.

Migawka bazy z 28.10.2026 · wersja paczki 86eccef2a2c0 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100openocd-jlink-stlink-debug
    Diagnozuje problemy z OpenOCD, J-Link, ST-Link i CMSIS-DAP: połączenie sondy, skrypty resetu, algorytmy flash, podłączenie GDB, semihosting, RTT oraz awarie SWD i JTAG.
  • 100openocd
    Obsługuje OpenOCD: wykrywanie sond, flashowanie firmware, kasowanie Flash, uruchamianie GDB Server, reset i debugowanie z poziomu konsoli.
  • 98jlink
    Obsługuje sondę J-Link: wykrywa urządzenie, wgrywa firmware, czyta pamięć i rejestry, odczytuje logi RTT oraz prowadzi debugowanie.
  • 100segger-rtt-integration
    Pomaga integrować, konfigurować i debugować logi SEGGER RTT i terminal J-Link: bloki kontrolne RTT, bufory, tryby blokowania i wyjście debugowania w systemach wbudowanych.
  • 81probe-debugging
    Planuje i prowadzi debugowanie GDB, SWD/JTAG i OpenOCD na konkretnym układzie, z punktami przerwania i odczytem rejestrów.
  • 90take-probe
    Uruchamia w sesji gotową sondę z repozytorium, gdy wiadomość prosi o jej użycie albo przekazuje katalog ze sondą.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.