VMA与LMA

VMA与LMA

Content #

VMA表示Virtual Memory Address,即虚拟地址, LMA表示Load Memory Address,即加载地址,正常情况下这两个值应该是一样的,但是在有些嵌入式系统中,特别是在那些程序放在ROM的系统中时,LMA和VMA是不相同的。

在链接之前,目标文件中的所有段的VMA都是0,因为虚拟空间还没有被分配,所以它们默认都为0。等到链接之后,可执行文件中的各个段都被分配到了相应的虚拟地址。

From #

程序员的自我修养