[仕事]ブートローダー移植

OS、Networkスタック、アプリケーションが一通りWindows上のシミュレータで動作したので、今日からはアプリケーションのブートローダーの移植作業に取りかかることにする。ブートローダーというのは、アプリケーションを外部記憶装置からメインメモリに持ってきて起動させるための仕掛けである。当然、ハードウェアに思い切り依存しているので、Windowsのへっぽこシミュレータではデバッグできない。こればかりは実機が必要である。しかしコーディングぐらいまではできるので、まずはコンパイルが通るかどうか試してみることにした。
すると、思わぬトラブルが発生した。ブートローダーのコンパイル結果が大きくなりすぎて、ROMの指定領域からあふれてしまうのだ。しかたがないので、コンパイラのオプションをいじってみたり、ソースコードのあっちを削りこっちを移動させて、など小細工を行なってようやく詰め込むことに成功する。
ついでに、最新のコードで旧ハードウェア用のブートローダーが作成できなくなっている、という不具合まで見つけてしまう。ほっとくわけにもいかないので、原因を追究して修正。
結局、今日は移植の前段階だけで一日終わってしまった。新しいCPU用のコードの追加は明日以降にする。
17:30頃に撤収。