Discovery
Rust を通じてマイクロコントローラーの世界を発見しましょう!
この本は、通常の C/C++ ではなく Rust を学習言語として使用する、マイクロコントローラーベースの組み込みシステムに関する入門コースです。
範囲
次のトピックを扱う予定です(いずれは、という希望ですが):
-
「組み込み」(Rust) プログラムの書き方、ビルド、書き込み、デバッグの方法。
-
マイクロコントローラーで一般的に見られる機能(「ペリフェラル」): デジタル入出力、パルス幅変調 (PWM)、アナログ-デジタルコンバーター (ADC)、Serial、I2C、SPI などの一般的な通信プロトコル、など。
-
マルチタスクの概念: 協調型とプリエンプティブ型のマルチタスク、割り込み、スケジューラー、など。
-
制御システムの概念: センサー、キャリブレーション、デジタルフィルター、アクチュエーター、開ループ制御、閉ループ制御、など。
アプローチ
-
初心者向けです。マイクロコントローラーや組み込みシステムの事前経験は必要ありません。
-
実践重視です。理論を実践に移すための演習を豊富に用意しています。ここでは あなた が作業の大半を行います。
-
ツール中心です。開発を容易にするために、さまざまなツールを積極的に活用します。GDB を使った「本物の」デバッグやロギングを早い段階で導入します。デバッグ手段として LED を使うようなやり方は、ここでは出番がありません。
非目標
この本で扱わないものは次のとおりです:
-
Rust を教えること。この話題については、すでに豊富な教材があります。ここではマイクロコントローラーと組み込みシステムに焦点を当てます。
-
電気回路理論や電子工学についての包括的なテキストであること。いくつかのデバイスがどのように動作するかを理解するために必要な最小限だけを扱います。
-
リンカスクリプトやブートプロセスのような詳細を扱うこと。たとえば、コードをボードに書き込むのを助ける既存のツールは使用しますが、それらのツールがどのように動作するかの詳細には立ち入りません。
また、この教材を他の開発ボード向けに移植するつもりもありません。この本では micro:bit 開発ボードのみを使用します。
問題の報告
この本のソースは this repository にあります。誤字やコードの問題を見つけた場合は、issue tracker で報告してください。
その他の組み込み Rust リソース
この Discovery 本は、Embedded Working Group が提供する複数の組み込み Rust リソースの 1 つにすぎません。全体の一覧は The Embedded Rust Bookshelf で確認できます。これには Frequently Asked Questions の一覧も含まれます。