加载地址、链接地址和运行地址

理解加载地址、链接地址和运行地址是掌握嵌入式系统启动和重定位的关键。这三个概念分别对应程序生命周期的不同阶段。

下面我们结合IMX6ULL的U-Boot场景,对每一个概念进行详细解读。

核心概念

1. 链接地址

又称虚拟内存地址。这是由链接器根据链接脚本u-boot.lds)和配置(如CONFIG_SYS_TEXT_BASE = 0x87800000)为每段代码和数据分配的假定运行地址。

  • 作用:编译器在生成指令时,所有函数调用、变量访问的绝对地址都是基于这个假定的地址空间计算的。例如,在链接地址为0x87800000的系统中,一个位于偏移0x100处的函数,其链接地址就是0x87800100

此文章需要验证后才能阅读全文

请作者喝杯茶吧~
微信打赏
微信
支付宝打赏
支付宝