どうも、たくチャレ(@takuchalle)です。
組み込みで Rust をやっていく。 pic.twitter.com/Z06a6D4MiV
— たくチャレ (@takuchalle) August 17, 2021
基礎から学ぶ 組み込みRustを読みました。
本書はWio Terminal
というマイコンボードを対象に組み込みRustを学べるという、日本でも稀有な本になっています。Rust
で組み込みをやってみたい人は一度読んでみることをオススメします。
現在絶賛0歳児の子育て中で「がっつりマイコンボードを触って試す」ということが難しいので、一通り読んだ段階での感想となります。ご了承ください。
まずとても良かった点は、embeded-halクレートをベースとしたアーキテクチャ
を分かりやすく解説してくれている点です。
この俯瞰図があれば他のマイコンボードのcrate
を見ていくのに道標になりそうです。
組み込みソフトウェアで一番シンドいのは、回路図やデータシートを読み解いていく部分だと思うので、そこをお膳立てしてくれてるのはありがたいです。
一方で本書を読んで他のマイコンボードを触ってみようと思った時に回路図やデータシートを見て絶望するのではないか。回路図やデータシートが間違えてることもありますし…1
ハードウェアってソフトウェアと違って設定が間違えててもエラー出力されずにただただ何も起きない
もしくは壊れる
のでデバッグが難しい…ひたすら回路図とレジスタ設定をにらめっこするのは本当につらい。
Rust
の文法に関しては最初に解説してくれるので、Rust
初心者でも問題ないです。基本的な文法・所有権・ライフタイム・パッケージなど一通り学べます。
組み込みソフトウェアの経験がなくても、Wio Terminal
のペリフェラルについてそれぞれ最低限の部分は解説をしてくれるので安心です。
個人的には型状態プログラミング2みたいな組み込み向け特化したRust
テクニックみたいなのがもしあれば知りたかったですね。
The Embedded Rust Bookに書いてあるのかもしれませんが、あまり読めてません…
あと、ハードウェアはほぼembedded-hal
が隠蔽されているので、ゴリゴリベアメタルを触りたいって人は物足りないかと思います。
そんな人はatsamd-hal
みたいなembedded-hal
トレイトの実装側をやっていくといいんじゃないでしょうか。3
最後に正誤表のリンクを貼っておきます。
余談ですが、本書の表紙の質感を娘が気に入ったのか、ずっと触ってるのでシワシワになってしまいました。