コンテンツにスキップ

probe-rs セットアップガイド

probe-rs は、SWD/JTAG 経由でデバッグプローブを操作する統合ツールキットです。フラッシュ書き込み、デバッグ、RTT ログ取得を一つのツールで行えます。


Terminal window
cargo install probe-rs-tools

確認:

Terminal window
probe-rs --version

Terminal window
probe-rs list-probes

プローブが認識されていれば、ベンダー名やシリアル番号が表示されます。

  • USB ケーブルがデータ転送対応か(充電専用ケーブルは不可)
  • ドライバがインストールされているか(Windows の場合は WinUSB 等)
  • Linux の場合、udev ルールが必要なプローブがある

probe-rs は内部のチップデータベースを使ってターゲットを識別します。

Terminal window
probe-rs chip list

出力から自分の MCU に一致するチップ名を探します。例: STM32F407VGTx


Terminal window
probe-rs run --chip STM32F407VGTx target/thumbv7em-none-eabihf/release/blinky

cargo run と連携する場合は .cargo/config.toml に runner を設定します:

[target.thumbv7em-none-eabihf]
runner = "probe-rs run --chip STM32F407VGTx"

これで cargo run --release が書き込み+実行まで行います。


defmt + defmt-rtt を使っている場合、probe-rs の RTT 機能でログを取得できます。

cargo-embed を使うのが簡単です:

Terminal window
cargo install cargo-embed

Embed.toml の例:

[default.general]
chip = "STM32F407VGTx"
[default.rtt]
enabled = true

実行:

Terminal window
cargo embed --release

USB 接続を確認し、別ポートや別ケーブルを試してください。

MCU の型番をデータシートで確認し、probe-rs chip list で部分一致検索してください。

書き込みはできるが実行が不安定

Section titled “書き込みはできるが実行が不安定”
  • クロック設定が正しいか確認
  • memory.x の内容が MCU に合っているか確認