開発環境のセットアップ
マイクロコントローラーを扱うにはいくつかのツールが必要になります。というのも、扱うのは お使いのコンピューターとは異なるアーキテクチャであり、さらに「リモート」デバイス上で プログラムを実行し、デバッグしなければならないからです。
ドキュメント
とはいえ、ツールがすべてではありません。ドキュメントがなければ、 マイクロコントローラーを扱うことはほぼ不可能です。
本書では、以下の文書を通して参照していきます:
注意 これらのリンクはすべて PDF ファイルを指しており、その一部は数百ページにおよび、 サイズも数 MB あります。
* 注意: 新しい(2020/09 ごろ以降の)Discovery ボードでは、異なる電子コンパスとジャイロスコープが 搭載されている場合があります(ユーザーマニュアルを参照)。 そのため、14〜16 章の内容の多くはそのままでは動作しません。 こちら のような GitHub issue も確認してください。
ツール
以下に挙げるツールをすべて使用します。最小バージョンが明記されていないものは、最近の バージョンであればどれでも動作するはずですが、ここではテストしたバージョンを記載しています。
-
Rust 1.31 またはそれ以降のツールチェーン。第 USART 章では 1.51 以降が必要です。
-
itmdump>=0.3.1 (cargo install itm)。テストしたバージョン: 0.3.1。 -
OpenOCD >=0.8。テストしたバージョン: v0.9.0 と v0.10.0
-
arm-none-eabi-gdb。バージョン 7.12 以降を強く推奨します。テストしたバージョン: 7.10, 7.11, 7.12 および 8.1 -
cargo-binutils。バージョン 0.1.4 以降。
-
Linux および macOS では
minicom。テストしたバージョン: 2.7。読者からはpicocomでも動作すると 報告されていますが、本書ではminicomを使います。 -
Windows では
PuTTY。
お使いのコンピューターに Bluetooth 機能があり、Bluetooth モジュールを持っている場合は、Bluetooth モジュールを試すために追加で 以下のツールをインストールできます。これらはすべて任意です:
- Linux の場合、Blueman のような Bluetooth マネージャーアプリケーションがないときにのみ必要です。
bluezhcitoolrfcommrfkill
macOS / OSX / Windows のユーザーは、OS に標準搭載されているデフォルトの Bluetooth マネージャーだけで十分です。
次に、いくつかのツールについて OS に依存しないインストール手順に従ってください:
rustc & Cargo
https://rustup.rs の手順に従って rustup をインストールしてください。
すでに rustup をインストールしている場合は、stable チャネルを使っていて、
stable ツールチェーンが最新であることを再確認してください。rustc -V は、以下に示す日付
より新しい日付を返すはずです:
$ rustc -V
rustc 1.31.0 (abe02cefd 2018-12-04)
itmdump
cargo install itm
バージョンが >=0.3.1 であることを確認してください
$ itmdump -V
itmdump 0.3.1
cargo-binutils
llvm-tools をインストールしてください
rustup component add llvm-tools
cargo-binutils をインストールしてください
cargo install cargo-binutils
ツールがインストールされていることを確認する
端末で次のコマンドを実行してください
cargo new test-size
cd test-size
cargo run
cargo size -- --version
結果は次のようになります:
~
$ cargo new test-size
Created binary (application) `test-size` package
~
$ cd test-size
~/test-size (main)
$ cargo run
Compiling test-size v0.1.0 (~/test-size)
Finished dev [unoptimized + debuginfo] target(s) in 0.26s
Running `target/debug/test-size`
Hello, world!
~/test-size (main)
$ cargo size -- --version
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
LLVM (http://llvm.org/):
LLVM version 11.0.0-rust-1.50.0-stable
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: znver2
OS 別の手順
次に、使用している OS に対応する手順に従ってください: