objdump如何計算elf段的物理地址(LMA)?據我所知,精靈節頭只包含節[1]的虛擬地址(VMA)。elf文件中段的虛擬地址和物理地址
通常,VMA和LMA是相同的。但對於初始化數據段(.data),VMA是變量的RAM位置,LMA是初始值所在的ROM位置。在main()被調用之前,Crt0負責將初始值複製到RAM中。例如:
$ objdump -h my.elf
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0003c3d0 00080000 00080000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
5 .data 000008d0 40000000 000d08d4 00060000 2**3
CONTENTS, ALLOC, LOAD, DATA
- 湯姆
[1] http://www.ouah.org/RevEng/x430.htm
我不知道關於這個主題的anython,但它似乎LMA是由[鏈接器腳本](https://sourceware.org/binutils/docs-2.18/ld/Output-Section-LMA.html)給出的(使用'AT')。 – ysdx 2015-08-20 21:27:51