Interface編集部
連載 組み込みRustのライブラリ 便利クレート探偵団<第2回>
本文中のURL,コマンドライン
・probe-rsの入手先
https://github.com/probe-rs/probe-rs
・サンプル・コードの入手先
https://github.com/tomoyuki-nakabayashi/interface-embedded-rust-crates/tree/main/202404/probe-rs
使い方①…コマンドライン・ツール
・probe-rs,cargo-flash,cargo-embedのインストール
https://probe.rs/docs/getting-started/installation/
・パッケージのインストール
sudo apt install -y pkg-config libusb-1.0-0-dev libftdi1-dev libudev-dev libssl-dev
probe-rs,cargo-flash,cargo-embedのインストール
cargo install probe-rs –features cli,ftdi
・udevのルール・ファイルのダウンロード先
https://probe.rs/files/69-probe-rs.rules
・ルール・ファイルのコピーとリロード
sudo cp 69-probe-rs.rules /etc/udev/rules.d/
sudo udevadm control –reload
・Windowsのセットアップ手順
https://probe.rs/docs/getting-started/probe-setup/
・cargo-flashのビルド
・・リリース・ビルドしたい場合
cargo flash –release –chip <chip_name>
・・exampleをビルドする場合
cargo flash –example hello –chip <chip_name>
・nRF52840のBSP(Board Support Packet)クレートのnrf52840-dkのサンプルをcargo-embedで動かす場合
git clone https://github.com/nrf-rs/nrf52840-dk.git
cd nrf52840-dk
cargo embed –example rtt
・nrf52840-dkクレートの設定ファイル
https://github.com/nrf-rs/nrf52840-dk/blob/master/Embed.toml
使い方②…デバッガ
・VSCodeでprobe-rs拡張を使う場合の.nRF52840向けに使えるサンプル・コード
https://github.com/tomoyuki-nakabayashi/interface-embedded-rust-crates/202404/probe-rs/tools
・リスト1 .vscode/launch.json
・nRF52840のSVDファイル
https://github.com/NordicSemiconductor/nrfx/blob/master/mdk/nrf52840.svd
・probe-rsのデバッガ機能紹介を参照下さい.
https://probe.rs/docs/tools/debugger/
使い方③…ライブラリ
・nrf52840-dkクレートのblinkyサンプルをフラッシュに書き込んで,実行するオリジナル・ツール
・Cargo.tomlにprobe-rsとエラー処理のためにanyhowを追加する
[dependencies]
probe-rs = “0.22.0”
anyhow = “1.0”
・リスト2 src/main.rs
・nrf52840-dkクレートのblinkyサンプルのビルド
cargo build –example blinky
・probe-rsのlibrary guide
https://probe.rs/docs/library/quickstart/