Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

開発環境のセットアップ

マイクロコントローラーを扱うにはいくつかのツールが必要になります。というのも、扱うのは お使いのコンピューターとは異なるアーキテクチャであり、さらに「リモート」デバイス上で プログラムを実行し、デバッグしなければならないからです。

ドキュメント

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

本書では、以下の文書を通して参照していきます:

注意 これらのリンクはすべて 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 マネージャーアプリケーションがないときにのみ必要です。
    • 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

バージョンが >=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 に対応する手順に従ってください: