Size 是指大小 LMA 加载地址,指程序存放的地址 VMA 运行地址,指程序运行的地址 Sections: Idx Name Size VMA LMA File off Algn0.isr_vector000001880800000008000000000100002**0CONTENTS, ALLOC, LOAD, READONLY, DATA1.text 000497d8 080001c0 080001c0 000101c02**6CONTENTS, ALLOC, LOAD, READONLY, CODE2.ro...
VMA: virtual memory address. This is the address the section will have when the output file is run LMA: load memory address. This is the address at which the section will be loaded 1. 2. 大部分时候LMA(加载地址)与VMA(运行地址)都是相同的,程序都是先加载,后运行,但有些嵌入式系统中先都将...
分为可执行文件中的空间和装载后的虚拟空间,参照之前elf的装载程序,对.bss段来说仅在虚拟空间中才会有空间分配,事实上在目标文件中的情况并不重要。 在链接之前地址尚未分配,VMA,LMA均为0(objdump -h xx.o查看段信息) 链接后部分段被合并,顺序有所调整,VMA和LMA已被分配。那么所有符号的地址已经确定。 符号解...
这是当输出文件运行时段所拥有的地址。第二个地址是LMA,或者叫加载内存地址。这是段将会被加载的地址。一个它们会产生区别的例子是,当一个数据段加载到ROM,此后在程序启动时被复制到RAM中(这个技术通常被用来初始化全局变量)。此种情况下,ROM使用LMA地址,RAM使用VMA地址。 如果想查看目标文件中的段,可以用objdump...
就是说,lma 是装载地址,vma 是运行地址,想搞清楚这两个问题,可以阅读一下 《ARM学习报告(杜云海)》作者写的很好,将这个问题分析的很透澈。lma 和vma 只是GCC的叫法而已,其实原理是一样的。 3,两个基本架构 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", ...
LMA = load memory address VMA = vitual memory address LMA就是程序放置的地址,VMA就是运行时的地址。 如果程序是在ram里运行,但程序是存储在flash里,则运行地址指向ram,而加载地址指向flash。 上述例子中VMA为RAM0,LMA为FLASH; [>region] 指定输出段分布在内存上的地址。
3输出段 .init输出段,提供了两个符号_sinit和_einit,_sinit为FLASH起始地址,紧接着4字节对齐之后放的是输入段.init,这个输入段可以在start_CH573.S中看到,是起始跳转。 这两个段是将本来默认放在FLASH 中的代码放到RAM中去运行,.highcodelalign段起始地址4字节对齐,符号_highcode_lma是FLASH 中已经排布到的地...
data */_sidata = LOADADDR(.data);/* Initialized data sections goes into RAM, load LMA copy ...
avrledtest.out: file format elf32-avrSections:Idx Name Size VMA LMA File off Algn 0 .text 0000008c 00000000 00000000 00000094 2**0 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .data 00000000 00800060 0000008c 00000120 2**0 CONTENTS, ALLOC, LOAD, DATA 2 .bss 00000000 00800060 0000008c 000...
o: file format elf32-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 000000b1 00000000 00000000 00000034 2**2 CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE 1 .data 00000000 00000000 00000000 000000e8 2**2 CONTENTS, ALLOC, LOAD, DATA 2 .bss 00000014 00000000 00000000 000000...