我正在編寫一個Sparc V8的C++模擬模型。內存被簡單地建模爲一個數組。 我需要讀取由交叉編譯器生成的elf-executable,並使用它來初始化內存。我打算如下做。精靈模擬內存圖像
sparc-elf-readelf --hex-dump=.text --hex-dump=.rodata --hex-dump=.data <elf-file> > dump.txt
grep "0x" dump.txt >dump2.txt
這產生(地址,字,詞詞)格式的文本文件看起來像這樣:
0x00000000 88100000 09000000 81c120b0 01000000 .......... .....
0x00000010 91d02000 01000000 01000000 01000000 .. .............
0x00000020 91d02000 01000000 01000000 01000000 .. .............
0x00000030 91d02000 01000000 01000000 01000000 .. .............
0x00000040 91d02000 01000000 01000000 01000000 .. .............
0x00000050 a1480000 29000000 81c521a8 01000000 .H..).....!.....
0x00000060 a1480000 29000000 81c52220 01000000 .H..)....." ....
0x00000070 91d02000 01000000 01000000 01000000 .. .............
...
問:什麼是最後一列的所有的點?
問:有沒有更好的方法從elf可執行文件生成內存映像?我想我只需要爲.text,.RODATA和。數據部分
感謝複製的任何建議
elf文件很容易閱讀,不需要庫,只是得到它具有文件使用的結構的規格。我有幾個用於不同處理器的精靈解析器http://github.com/dwelch67我認爲msp430sim和amber_samples可能使用精靈解析器。小精靈適用於您的處理器,比較反彙編和您提取的內容。 –
這些點只是用來表示不可打印的字符;只有可打印的ASCII字符在最後一列顯示爲自己。 –