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

Discovery

Rust を通じてマイクロコントローラーの世界を発見しましょう!

本書は、通常の C/C++ ではなく Rust を学習言語として使用する、マイクロコントローラーベースの 組み込みシステムに関する入門コースです。

対象範囲

以下のトピックを扱う予定です(いずれ、そうなればと思っています):

  • 「組み込み」(Rust) プログラムの書き方、ビルド方法、フラッシュ方法、デバッグ方法。

  • マイクロコントローラーで一般的に見られる機能(「ペリフェラル」): デジタル入力/出力、パルス幅変調 (PWM)、アナログ-デジタル変換器 (ADC)、Serial、I2C、SPI などの一般的な通信プロトコル、 など。

  • マルチタスクの概念: 協調型 vs プリエンプティブ型マルチタスク、割り込み、スケジューラー、など。

  • 制御システムの概念: センサー、キャリブレーション、デジタルフィルター、アクチュエータ、 開ループ制御、閉ループ制御、など。

アプローチ

  • 初心者向けです。マイクロコントローラーや組み込みシステムの事前経験は必要ありません。

  • 実践重視です。理論を実践に移すための演習を豊富に用意しています。ここで作業の大半を行うのは あなた です。

  • ツール中心です。開発を容易にするために、さまざまなツールを積極的に活用します。GDB を使った 「本物の」デバッグやロギングも早い段階で導入します。デバッグ手段として LED を使うやり方に 出番はありません。

対象外

本書の対象外となるもの:

  • Rust を教えること。そのテーマに関する資料はすでに豊富にあります。ここではマイクロコントローラー と組み込みシステムに焦点を当てます。

  • 電気回路理論や電子工学についての包括的な教科書であること。ここでは、一部のデバイスがどのように 動作するかを理解するために必要な最低限だけを扱います。

  • リンカスクリプトやブートプロセスのような詳細を扱うこと。たとえば、コードをボードに書き込むために 既存のツールを利用しますが、それらのツールがどのように動作するかについて詳しくは立ち入りません。

また、この教材を他の開発ボード向けに移植するつもりもありません。本書では STM32F3DISCOVERY 開発ボード のみを使用します。

問題の報告

本書のソースは this repository にあります。誤字やコードの問題を見つけた場合は、 issue tracker で報告してください。

その他の組み込み Rust リソース

この Discovery ブックは、Embedded Working Group が提供する複数の組み込み Rust リソースの うちの 1 つにすぎません。全体の一覧は The Embedded Rust Bookshelf にあります。ここには Frequently Asked Questions の一覧も含まれています。

スポンサー

この本に取り組むためのスポンサーになってくれた integer 32 に心から感謝します! ぜひたくさん 仕事を依頼してください(Rust コンサルティングをしています!)。そうすれば、より多くの Rustaceans を雇う以外に選択肢がなくなるはずです <3。