組込み開発の勉強におすすめの唯一無二の本
組込みエンジニアとして仕事を始めてから4年が経ちました。
思い返すと、始めたばかりの頃は、わからないころだらけでした。
これからこの領域で働こうと思っている人のために、私が勉強で使った本について書きます。
唯一無二の本で、入門向けでは、これ以上良い本はないと思います。
手がかりになれば嬉しいです。
目次
スポンサーリンク
おすすめの本: 12ステップで作る組込みOS自作入門
12ステップで作る組込みOS自作入門という本です。
もしかしたら、どこかで見かけたことがあるかもしれません。
「12ステップで作る組込みOS自作入門」をオススメする理由
しっかり読めばそこまで難しくはないため
OS自作と聞くとなんだか難しそうに聞こえます。
しかし、解説が丁寧でわかりやすいので、しっかり読めばそこまで難しくはないです。
また、筆者の坂井さんが運用しているサポートサイトもあるので、わからないことがあれば、ここに駆け込んで解決できることも多いです。
理解しやすいH8マイコン対応ため
現在、組込み製品で採用されているマイコンのほとんどがARMベースのものです。
それに対してこの本は、時代に逆行するかの如く、H8というレガシーなマイコン向けのOSを自作しています。
個人的には、これはとても良いことだと思います。
その理由は、H8マイコンならではの良さがあるからです。
- 理解しやすい簡潔なアーキテクチャ
- 豊富な日本語資料
- ホビー用途でも使われるため、開発機材を安く入手可能
今どきのARMマイコンは機能が豊富でアーキテクチャも複雑なので、入門者はとっつきにくいと思います。本書で扱っているH8マイコンは、極めてシンプルなCISCアーキテクチャで理解しやすく入門に最適です。
また、日立(現ルネサスエレクトロニクス)によって開発されたため、日本語の資料が豊富です。H8マイコンの歴史は長いですから、困ったことがあればネットで検索すれば解決できる可能性が高いです。
H8マイコンはホビー用途で愛好している人も多く、勉強用の開発ボードも安く入手できます。本書で扱っている環境は、全て秋月電子(ネット注文可)で購入可能です。
唯一無二の「組込みOS自作」の本であるため
OSの仕組みを解説している本はたくさんありますが、組込み開発のOS自作を謳っているのは、現時点でこの本だけだと思います。
仕組みを解説している本だけの本は、説明が抽象的で全て読み終えても「わかったようでわかっていない」状態になるのが関の山です。
この本で学べば、組込みOS自作を通して具体的な仕組みまで理解できます。
OS自作を通して下回りの動きを理解することができるようになるため
OS周りの動きがわかっていないと、効率の悪いプログラムを書いてしまったり、バグを生み出してしまったりすることが少なからずあります(経験者です\(^o^)/)
にも関わらず、組込み開発に携わっている人の中には、理解できていない人はそこそこいます。
実際に、仕事に従事すればわかると思いますが、組込みOSの上で動く機能(アプリケーション)を作る人は多くいますが、OS自体の開発に関わる人はそう多くはいません。
この本では、割り込みを使ったスレッドやスケジューリングなどの実装なども行いますので、下回りに関して深い理解を得ることができます。
勉強方法
ポイントは2つです。
- 自分で機材と開発環境を整えて、自分でプログラムを書いて、自分でボードに焼いて動かしてみること
- いくつかプログラムを書き換えてみて、動作を変えて遊んでみること(なにか新機能を実装できるとなお良い)
マイコンボードなどの機材は秋月電子で手に入ります。開発用にPCを新たに購入しても良いかもしれません。楽天市場で5,000円くらいで購入できるジャンク品レベルのPCでいいんです。
実際に自分でコードを書いて試行錯誤してみてください。
絶対にやってはいけないのは、決して本を読むだけで終わりにしないことです。
大切なのでもう一度書きます。決して本を読むだけで終わりにしてはいけません!
実際に自分でプログラムを書いて動かしてみると「あれ?これはなんで動くのだろうか?」と思うことがしばしばあります。それを自分で調べて解決して自分の知識にすることが大切です。本を読むだけだとそれが、なんとなく理解しただけで終わってしまいます。
会社の同期に本を読むだけで終わりにした人がいましたが、色々と本の内容を質問してみたらまるで理解していなかった、なんてことがありました。
最後に
私も機材を購入してガッツリとこの本で勉強しました。
私が勉強で使用した12ステップで作る組込みOS自作入門とH8マイコンボードです。
下記はH8マイコンボードの拡大写真です。
下記は、楽天市場で購入した5,000円のジャンク品のノートPCです。Ubuntuを入れて開発用に使いました。
下回りが理解できるようになると、純粋にプログラミングが楽しくなります。
この本で学べば、開発が更に楽しくなること間違いなしです!
スポンサーリンク
関連記事