GDBを使用して、組み込みデバイスで実行可能ファイルをロードしています。実行可能ファイルをロードする場合、GDBは言う:"プログラムカウンタ"と "開始アドレス"の差
xPSR: 0x01000000 pc: 0xf0094902 msp: 0x2001b508
Loading section .text, size 0x16240 lma 0x8000000
Loading section .data, size 0x8f0 lma 0x8016240
Start address 0x8000000, load size 92976
私が理解したよう
、pc
は、命令ポインタです。私は、 "開始アドレス"がpc
の開始アドレスであると仮定しています。しかし、GDBが私に与えている情報では、開始アドレス(0x8000000、それに付随して.text
と同じです)は、pc
(0xf0094902)と同じではなく、ではありません。
pc
と開始アドレスの違いは何ですか?開始アドレスを.text
と同じにすることは理にかなっていますか?
ロード後、 'info registers'を試して* pc *の値を確認してください。私は@dwelchが正しいと思う。これらのレジスタは、GDBで 'run'を実行した後、アプリケーションにとって意味のあるものだけを持っています。 – karlphillip