Discovery

Rustでマイクロコントローラの世界を楽しもう!

この本はC/C++ではなく、Rustを使ったマイクロコントローラの組込みシステム入門コースです。

スコープ

以下のトピックを取り上げます(ゆくゆくは、そうしたいです)

  • 「組込み」(Rust)の書き方、ビルド方法、フラッシュへの書き込み方法、デバッグ方法。
  • マイクロコントローラで一般的な機能(「ペリフェラル」)。デジタル入出力、パルス幅変調(PWM)、アナログデジタル変換(ADC)、シリアル、I2C、SPIのような一般的な通信プロトコル、など。
  • マルチタスクの考え方。協調的マルチタスク vs プリエンプティブマルチタスク、割り込み、スケジューラなど。
  • 制御システムの概念。センサ、キャリブレーション、デジタルフィルタ、アクチュエータ、開ループ制御、閉ループ制御、など。

進め方

  • 初心者に優しく。マイクロコントローラや組込みシステムの開発経験は必要ありません。
  • ハンズオン形式で。理論を実践するためにたくさんの演習をします。あなたは多くの演習に取り組むでしょう。
  • ツール中心に。開発を容易にするツールをたくさん使用します。GDBを使った「実際の」デバッグとログ出力を早い段階で導入します。デバッグ機能としてLEDを使用するようなことは、ここではやりません。

目標としないこと

この本でスコープ外とすることは、以下の通りです。

  • Rustを教えること。このトピックについては、既に多くの教材があります。マイクロコントローラと組込みシステムに集中します。
  • 電気回路または電子機器の理論についての包括的なテキストであること。いくつかのデバイスがどのように動くか、を理解するための最低限の情報を提供します。
  • リンカスクリプトやブートプロセスといったRustの低レベルな詳細を説明すること。例えば、ボードにプログラムを書き込むために既存のツールを使いますが、それらのツールがどのように動くか、の詳細には踏み込みません。

また、この教材を他の開発ボードに移植するつもりもありません。この本は、micro:bit開発ボード専用のものです。

問題の報告

この本のソースコードはこのレポジトリにあります。誤植やコードに問題を発見した場合は、issueトラッカーに報告して下さい。

訳注:和訳への問題報告は、下記にお願いいたします。

和訳のソースは和訳レポジトリにあります。問題を発見した場合は、和訳issueに報告して下さい。

他の組込みRustの資料

このDiscovery本は、組込みワーキンググループが提供する組込みRust資料の1つに過ぎません。 組込みRustの本棚に、数多くの資料があります。そこには、よくある質問と回答のリストも有ります。