開発環境
ここでは、あなたのマシンにすでに Rust がインストールされていて、基本も理解していることを前提にします。そうでない場合は、少しついていくのが難しいかもしれません。まず Rust の基本を学んでから、これに戻ってくることを強くおすすめします。
probe-rs
probe-rs は、組み込み ARM および RISC-V デバイスを扱うためのツールキットです。ファームウェアのフラッシュ、プログラムのデバッグ、各種デバッグプローブ経由でのログ出力をサポートしています。
このプロジェクトには、次のようなツールが含まれています。
- cargo-flash - ターゲットにファームウェアをすばやくフラッシュする
- cargo-embed - 複数チャネルとコマンド入力をサポートするフル機能の RTT ターミナルを開く
これを使って、私たちのプログラムを micro:bit にフラッシュし(つまり、コードをデバイスに書き込んで実行し)、動かします。また、デバッグ目的にも使用します。
詳細はこちらをご覧ください。セットアップ手順については、インストールガイドを参照してください。
次のコマンドを実行すると、インストールが正常に完了したことを確認できます。
cargo embed --version
クロスコンパイルターゲット
micro:bit は ARM Cortex-M プロセッサ上で動作するため、そのアーキテクチャ向けに Rust コードをコンパイルする必要があります。そのため、クロスコンパイル用の特定のコンパイルターゲットを設定する必要があります。
micro:bit v2 の正しいターゲットは次のとおりです。
thumbv7em-none-eabihf
このターゲットは、Rust に組み込まれているツールチェーンマネージャーを使って追加できます。
rustup target add thumbv7em-none-eabihf
追加したら、プロジェクトのビルドやフラッシュ時にこのターゲットを指定できます。たとえば、次のようにします。
cargo build --release --target thumbv7em-none-eabihf
また、cargo embed のようなツールを実行するときにも、プロジェクトが正しく設定されていれば自動的に使用されます(この部分については後の章で扱います)。