ゼロから作るOS

Interface誌の特集がRaspberry Pi Picoで動くOSを作るとのことで、買ってみた。Picoについてはこれまでに公式のSDKのexamplesなどをいじってみたものの、C言語に抵抗がありわかった感じがしなかったので、もう少し詳しくなりたいと思っていたところだ。そこに渡りに舟の特集だったのだが、御多分に漏れず環境構築から手こずった。


プログラム対象のPicoともう一台別のPicoを用意してOpenOCDでのデバッグが可能なのだけど、このOpenOCDをどうやってインストールするかという所からして、大いにてこずった。Picoの公式ドキュメントにはGitHubからダウンロードしてmakeせよと書いてあったがなぜか動かず、結局brew installした。またEclipse IDEを使用せよという話だけど、組み込みシステム用のアドオンをインストールできておらず設定画面で困ったり。IDEに頼らずまずコマンドラインからコンパイラを叩いてみたのは、どういうオプションが必要かとか、Makefileのご利益とか、ちょっと勉強になった。
なんとか環境構築が完了したのだけど当然ここからも難儀している。著者の書いたコードは動くのだけど、中身がかなーりわからない。C言語にも不慣れだし、リンカスクリプトに至っては何を読んだら理解できるのかすらわからない。というわけでバシバシChatGPTに聞きながらコードを解読している。ChatGPTというのはコード読みに関しては本当に頼りになる存在で、かなり心強い。下は関数ポインタの配列宣言について細かく説明をお願いしてみたところ。

無尽蔵の忍耐力を持った知識豊富な先生が専属でついてくれているようなもので、非常に助かる。(もちろん100 %信用できないところはあるが。)

実力不足を感じながらやっているが、なかなか面白くやっております。