開発環境のセットアップ
マイクロコントローラーを扱うにはいくつかのツールが必要です。というのも、コンピューターとは異なるアーキテクチャを扱うことになり、さらに「リモート」デバイス上でプログラムを実行してデバッグする必要があるからです。
ドキュメント
とはいえ、ツールだけですべてが済むわけではありません。ドキュメントがなければ、マイクロコントローラーを扱うことはほとんど不可能です。
この本を通して、以下のドキュメントを参照していきます。
ツール
以下に挙げるすべてのツールを使用します。最小バージョンが明記されていないものについては、最近のバージョンであればどれでも動作するはずですが、ここでは私たちがテストしたバージョンを記載しています。
-
Rust 1.57.0 以降のツールチェーン。
-
gdb-multiarch。テストしたバージョン: 10.2。ほかのバージョンでもおそらく動作するはずです。 お使いのディストリビューション/プラットフォームでgdb-multiarchが利用できない場合は、arm-none-eabi-gdbでも問題ありません。さらに、通常のgdbバイナリの中にもマルチアーキテクチャ機能付きでビルドされているものがあり、 これについての詳しい情報は以降の節で確認できます。 -
cargo-binutils。バージョン 0.3.3 以降。
cargo-embed。バージョン 0.24.0 以降。
-
Linux および macOS では
minicom。テストしたバージョン: 2.7.1。ほかのバージョンでもおそらく動作するはずです -
Windows では
PuTTY。
次に、いくつかのツールについて、OS に依存しないインストール手順に従ってください。
rustc & Cargo
https://rustup.rs の手順に従って rustup をインストールしてください。
すでに rustup をインストールしている場合は、stable
チャネルを使用していること、および stable ツールチェーンが最新であることを再確認してください。rustc -V は、以下に示す日付より新しい日付を返すはずです。
$ rustc -V
rustc 1.53.0 (53cb7b09b 2021-06-17)
cargo-binutils
$ rustup component add llvm-tools
$ cargo install cargo-binutils --vers 0.3.3
$ cargo size --version
cargo-size 0.3.3
cargo-embed
cargo-embed をインストールするには、まずその前提条件をインストールしてください(注: これらの手順は、より汎用的な組み込みデバッグツールキット probe-rs の一部です)。その後、cargo を使ってインストールします。
$ cargo install --locked probe-rs-tools --vers '^0.24'
注記 probe-rs は頻繁に変更されるため、これは失敗することがあります。その場合は、https://probe.rs にアクセスし、現在のインストール手順に従ってください。
最後に、以下を実行して cargo-embed が正しくインストールされていることを確認してください。
$ cargo embed --version
cargo-embed 0.24.0 (git commit: crates.io)
このリポジトリ
この本には各章で使用する小さな Rust コードベースもいくつか含まれているため、そのソースコードもダウンロードする必要があります。これは次のいずれかの方法で行えます。
- リポジトリ にアクセスし、緑色の “Code” ボタンをクリックしてから “Download Zip” をクリックする
- git を使ってクローンする(git を知っているなら、おそらくすでにインストール済みでしょう)。リポジトリは zip を使う方法でリンクされているものと同じです
OS ごとの手順
次に、お使いの OS に対応する手順に従ってください。