開発環境の構築

開発をするPCとは異なるアーキテクチャを扱うことになるので、マイクロコントローラを扱うには、いくつかのツールが必要です。 私たちは、「リモート」デバイス上でプログラムを実行し、デバッグします。

ドキュメント

ツールだけではありません。ドキュメントがなければ、マイクロコントローラを扱うことはほとんど不可能です。

この本を通して、次のドキュメントを参照します。

注意 これらはPDFファイルへのリンクです。数百ページの長さで数MBもあるファイルもあります。

ツール

下記リストのツールを利用します。最小バージョンが指定されていない場合、新しいバージョンであれば機能するはずです。 私たちがテストしたバージョンをリストに示しています。

  • 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
  • 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に固有の手順に従って下さい。