広告

2016年8月11日木曜日

【12ステップで作る組込みOS自作入門】Win10&Cygwin実践記(6) 実行形式ファイルの解析を実装

書籍「12ステップで作る組込みOS自作入門」をWindows 10&Cygwin環境で実践中です。

今回は5thステップになります。

5thの概要は以下の通り。
  • 実行形式ファイルのフォーマット解析
  • 論理回路の説明

■実行形式ファイルの解析


前回の4thステップでファイル受信を実装しましたが、いよいよ受信したファイルをRAMに展開し、実行できる仕組みを作っていくことになります。

5thステップでは受信した実行形式(ELF)ファイルを解析するところまで行います。
解析といってもバイナリのフォーマットに従って構造体を定義し、その内容を構造体経由で読みだすだけですので、内容的には全然難しくないです。

こんな感じであっさりできました。
実行ファイルをRAMに展開する際にはプログラムヘッダの内容を使うので、その情報のみを表示してます。


上がマイコンでの実行結果です。改行コードを入れ忘れたのでみにくくなってますが、下のreadelfコマンドでのプログラムヘッダの内容と一致しているので、問題なく動作しているようです。



■論理回路

 本書では、5thステップでおまけ?で論理回路の説明が入ってました。

論理回路とCPUやメモリとの関係は本ブログで何度も紹介してますが「CPUの創りかた」を読むのをお勧めしておきます。



 次の6thステップでいよいよブートローダーが出来上がるようです。ソースコードの修正ごとにディップスイッチの変更、マイコンのシャットダウンは面倒なので、気兼ねなくソースコード修正ができるようになるのはありがたいですね。

Ads by 忍者AdMax