probe-rs セットアップガイド
probe-rs は、SWD/JTAG 経由でデバッグプローブを操作する統合ツールキットです。フラッシュ書き込み、デバッグ、RTT ログ取得を一つのツールで行えます。
1. インストール
Section titled “1. インストール”cargo install probe-rs-tools確認:
probe-rs --version2. プローブの接続確認
Section titled “2. プローブの接続確認”probe-rs list-probesプローブが認識されていれば、ベンダー名やシリアル番号が表示されます。
認識されない場合の確認事項
Section titled “認識されない場合の確認事項”- USB ケーブルがデータ転送対応か(充電専用ケーブルは不可)
- ドライバがインストールされているか(Windows の場合は WinUSB 等)
- Linux の場合、udev ルールが必要なプローブがある
3. チップ名の確認
Section titled “3. チップ名の確認”probe-rs は内部のチップデータベースを使ってターゲットを識別します。
probe-rs chip list出力から自分の MCU に一致するチップ名を探します。例: STM32F407VGTx
4. フラッシュ書き込み
Section titled “4. フラッシュ書き込み”probe-rs run --chip STM32F407VGTx target/thumbv7em-none-eabihf/release/blinkycargo run と連携する場合は .cargo/config.toml に runner を設定します:
[target.thumbv7em-none-eabihf]runner = "probe-rs run --chip STM32F407VGTx"これで cargo run --release が書き込み+実行まで行います。
5. RTT ログの取得
Section titled “5. RTT ログの取得”defmt + defmt-rtt を使っている場合、probe-rs の RTT 機能でログを取得できます。
cargo-embed を使うのが簡単です:
cargo install cargo-embedEmbed.toml の例:
[default.general]chip = "STM32F407VGTx"
[default.rtt]enabled = true実行:
cargo embed --release6. よくある問題
Section titled “6. よくある問題”プローブが見つからない
Section titled “プローブが見つからない”USB 接続を確認し、別ポートや別ケーブルを試してください。
チップ名が分からない
Section titled “チップ名が分からない”MCU の型番をデータシートで確認し、probe-rs chip list で部分一致検索してください。
書き込みはできるが実行が不安定
Section titled “書き込みはできるが実行が不安定”- クロック設定が正しいか確認
memory.xの内容が MCU に合っているか確認