最近のNetBSD

 待望のホンチャンCPUカードが完成。と言っても必要な部品がまだ全部そろっていない暫定版。でもまぁNetBSDを動かす分には問題無いところまでは出来上がっているので早速ポーティングを開始する。カーネルの設定変更は前回書いた確認作業のおかげでサクサクッと終了、<font size=+2>のはずだったのだが</font>バスコントローラの設定がうまくいっていない様子。PCはちゃんとカーネルの先頭を差しているのだが、1段ステップしたところでいきなり暴走<b>(T_T)</b> 前回同様SDRAM上に展開しているのだが、そこからちゃんと読み出せていない感じ。デバッガでは一応ちゃんと見えてはいる。

 <font color=FireBrick size=+1>ハード的にはそんなに変わらないんだけどなぁ・・・</font>と思いつつも、仕方がないので<font color=Gainsboro>っていうかちゃんとやれよ最初に</font>SDRAMとSH4のドキュメントを眺めながら、レジスタの設定を1つずつチェック。デバッガの設定ファイルを修正して、無事ステップ実行出来るようになる。<font color=Gainsboro>簡単なようだが実はこの作業に1日かかっているのだ</font> 安心して一気にRun! と思ったら<font color=FireBrick size=+1>ハングアップしました</font>のアラート。調べてみるとどうもスタックを壊しててジャンプした先から正常に戻ってこられないのが原因。やっぱりちゃんとメモリが読めてない。今の構成だとデバッガ起動時とNetBSD起動時の2回、バスコントローラの初期化がかかるのだが、この2回目の初期化が怪しいとにらんでここのソースを確認。すると本来の手順と全然違ってる。<font color=FireBrick size=+1>前はこれで動いたんだけどなぁ・・・</font>と思いつつ<font color=Gainsboro>まぁハードが絡むところなので簡単にはいかないもんです</font>ソースを修正。今度はちゃんとうまくいったようで、ハングアップはとりあえず無し。

 まだいろいろと気になっているところはあるからちゃんと動いている気はしないのだけど、とりあえず今日の作業はここまで。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です