加载地址、链接地址和运行地址
理解加载地址、链接地址和运行地址是掌握嵌入式系统启动和重定位的关键。这三个概念分别对应程序生命周期的不同阶段。
下面我们结合IMX6ULL的U-Boot场景,对每一个概念进行详细解读。
核心概念
1. 链接地址
又称虚拟内存地址。这是由链接器根据链接脚本(u-boot.lds)和配置(如CONFIG_SYS_TEXT_BASE = 0x87800000)为每段代码和数据分配的假定运行地址。
- 作用:编译器在生成指令时,所有函数调用、变量访问的绝对地址都是基于这个假定的地址空间计算的。例如,在链接地址为
0x87800000的系统中,一个位于偏移0x100处的函数,其链接地址就是0x87800100。
此文章需要验证后才能阅读全文
文章作者
STUDYWITHIOT
版权声明
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自:
STUDYWITHIOT !
请作者喝杯茶吧~