気になることから読む#
本書は第1章から順に積み上げる構成ですが、最初から順に読まなくてもかまいません。 下から、気になっているものを選んでください。 読んでいて分からない言葉が出てきたら、そのときに前の章へ戻れば十分です。
まず動くところを見たい#
自作 OS をブラウザで動かす
実機と同じファームウェアをブラウザの中の QEMU で動かします。 インストールは要りません。
四脚ロボットをブラウザで歩かせる
学習済みの歩行方策を物理シミュレーションで動かします。 前進・旋回はスライダーで変えられます。
普段使っているコンピュータの「なぜ?」#
重い処理があっても、ほかのアプリが止まらないのはなぜ?
第4章: タイマ割り込みで、走っているタスクを強制的に切り替えます。
アプリが落ちても、OS が落ちないのはなぜ?
第6章: ゼロ除算や不正なアドレスへの書き込みを受け止め、 起こしたタスクだけを止めます。
top やタスクマネージャの CPU % はどう数えている?第7章: OS が数えている CPU 使用率を LED マトリクスに出します。
電源を入れた瞬間、CPU は何をしている?
第1章: リセット直後から main() にたどり着くまでを追いかけます。
malloc の中では何が起きている?応用編 第3章: malloc / free を自分で書きます。
「ファイル」はどうやってできている?
応用編 第4章: Flash の上にファイルシステムを載せます。
好きなものから#
ロボットを歩かせたい
第13章: 自作 OS でサーボを 8 個動かして四脚を歩かせます。 部品と組み立ては 四脚ロボットの組み立て にあります。
Python が好き
第11章: マイコンの上で動く小さな Python を作ります。 その手前の第8章では、もっと小さな言語を作ります。
仕事で FreeRTOS を使っている
第10章: 自作 OS と同じ課題を FreeRTOS で書いて、設計を比べます。
電子工作が好き
第12章: PWM の生成と A/D 変換を、レジスタのレベルから理解します。
動いているものを壊してみたい#
第4章・第6章・第7章の終わりに「壊してみる」を置きました。コードを 1 か所だけ 変えて、何が起きるかを予想してから動かします。ブラウザ版でも試せます。