結線して RasPI 電源投入して openocd 起動。結線はここ見つつで。切り欠きがあるナニを上にして左上が 1 番 (備忘)。
で、localhost:4444 に telnet 接続します。Debugging Raspberry Pi Linux kernel with JTAG and GDB によれば
- halt
- step 0x8190
で kernel の最初の命令に、とのこと。次に gdb 起動か。
tmux な仮想端末確認してみたら sid な chroot 起動しっぱなしでした。netstat 確認してみるに openocd がアレしてるのは
- 3333
- 4444
- 6666
なんですがどれを使うのか。とりあえず gdb を起動して試してみた結果 3333 がアタリっぽい模様。0x8194 で停止しているように見えます。
(gdb) target remote :3333
Remote debugging using :3333
0x00008194 in ?? ()
(gdb)
あ、file コマンドが微妙なのか。ええと
not in executable format: File format not recognized
と言われます。今動いてるソレを取得した方が良いのかどうか。確認してみたところ以下なんですが
-rw-r--r-- 1 rms rms 404 Nov 22 22:16 kernel.img
-rw-r--r-- 1 rms rms 3115216 Jan 7 2014 kernel.img.ORG
これ、どこから持ってきたのだったかな。[ここ](http://yamanetoshi.github.io/blog/2014/11/25/building-raspi-kernel-and-debugging]でどこから取得したかな記述があるのですが、ここに出てる方法を試してみます。
リトライ
halt
して load_image
してみます。確かに今デバイスで動いているのは Linux な kernel ではないですね。load_image
した後に step 0x8190
なのかな。
とは言え、このあたりって kernel.img が 読みこめないのとは違う問題だな。
結局
前回と同じあたりでハマッているのか。困ったな。とりあえず自分で作ってみた kernel なプログラムで云々などを試してみようと思います。