Yoshinori Sato
qzb04****@nifty*****
2002年 10月 16日 (水) 22:21:19 JST
RedBootに入っているgdb stubを使って、カーネルをgdbでリモートデバッグ出来る ようになりました。 これでデバッグが楽になるはず…。 簡単な使い方 1. Kernel hackingの"use gdb stub"を選択してください。 2. arch/h8300/platform/h8300h/aki3068net/ram.ldを修正して、 redbootのワークエリアを使わないようにしてください。 変更していなければ、0x5f4000以降がredbootのワークになります。 3. 普通にmakeしてください。 4. gdbの使い方はinfoを読んでください。 注意事項 ・ホストとの通信に使うハードウエアをlinuxのドライバで初期化しないように してください。よくわからない場合は、NE2000ドライバの組み込みを禁止して、 ターゲットとの通信にネットワークを使ってください。 ・start_kernelまで一気に実行してください。理由はcrt0_ram.Sにあります。 ・stubの制限で、trapaはトレース出来ません。戻ってきたところで止まるはず ですが、テストしていないので保証出来ません。 ・ステップ実行できない命令があるかもしれません。一通りのパターンは試して いますが、本格的に使うのは初めてなので、何が起きるかわかりません。 ・ホスト側から止められません。怪しい所には前もってブレイクポイントを仕掛 けてください。 ハードウエアの競合問題は対策を考えます。 # あまり期待しないでください。名案が無いのでこんな状態で公開しています。 一時期公開していたredboot.motはリモートデバッグがうまく動かない可能性が あります。 間違いなく動くバイナリをeCosの所にあげてあるので、うまくいかない場合は 入れ直してください。 -- Yoshinori Sato <qzb04****@nifty*****>