FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

MIPSのブートプロセスについての勉強(YAMONについて勉強)

いろいろ調べたが、以下をしっかり読み直すと参考になる。

  • 殆どの組み込みMIPSボードでは、ROMモニタを使ってイメージのロードを行っている。
  • MIPS TechnologiesのROMモニタとしてはYAMONがある。本書ではYAMONの解説も扱っている。
  • まずはリセットが入ると、リセット割り込みにより0xbfc0_0000にジャンプするが、そこにYAMONのリセットハンドラが入っており、そこからROMモニタを起動、そしてブートローダへと入っていく。

ので、移植方針としては、

  • x86のメモリマップから大幅に書き換える。x86ではセクタ1番のデータをイメージからロードしていたが、このBIOSの機能はいらない。
  • まずはROMモニタを動作させ、そこからOSを起動させる。そのためには、まずはROMモニタとブートローダを別イメージとして用意しbfc0_0000以下に配置する。
  • メモリ内にOSをロードし、そこへジャンプするルーチンを追加する。

といったあたりか。まずは、YAMONのブートプロセスをしっかり勉強するところからだな。