開発環境の構築
開発をするPCとは異なるアーキテクチャを扱うことになるので、マイクロコントローラを扱うには、いくつかのツールが必要です。 私たちは、「リモート」デバイス上でプログラムを実行し、デバッグします。
ドキュメント
ツールだけではありません。ドキュメントがなければ、マイクロコントローラを扱うことはほとんど不可能です。
この本を通して、次のドキュメントを参照します。
注意 これらはPDFファイルへのリンクです。数百ページの長さで数MBもあるファイルもあります。
- STM32F3DISCOVERY User Manual
- STM32F303VC Datasheet
- STM32F303VC Reference Manual
- LSM303DLHC *
- L3GD20 *
ツール
下記リストのツールを利用します。最小バージョンが指定されていない場合、新しいバージョンであれば機能するはずです。 私たちがテストしたバージョンをリストに示しています。
-
Rust 1.31以上のツールチェイン
-
itmdump
>=0.3.1 (cargo install itm
). Tested versions: 0.3.1.
- OpenOCD >=0.8. テストしたバージョン: v0.9.0 and 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。読者の報告ではpiocom
も動作しますが、このテキストではminicom
を使います。
- Windoswでは
PuTTY
(訳注:TeraTermでもおそらく大丈夫です)
あなたのノートPCがBluetooth機能を搭載していて、Bluetoothモジュールを持っている場合、Bluetoothモジュールを使うために、追加で次のツールをインストールして下さい。 これらは、全てオプションです。
- Linux。BluemanのようなBluetooth管理アプリケーションがない場合のみ、次のツールをインストールして下さい。
bluez
hcitool
rfcomm
rfkill
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
Verify the version is >=0.3.1
$ itmdump -V
itmdump 0.3.1
cargo-binutils
Install llvm-tools-preview
rustup component add llvm-tools-preview
Install cargo-binutils
cargo install cargo-binutils
Verify tools are installed
Run the following commands at your terminal
cargo new test-size
cd test-size
cargo run
cargo size -- --version
The results should be something like:
~
$ 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に固有の手順に従って下さい。