文章目录
一、链接地址和执行地址
链接地址和执行地址是嵌入式系统和操作系统中的两个重要概念,它们定义了程序代码和数据在内存中的布局与使用方式。理解它们有助于配置嵌入式应用,尤其是在资源受限的设备上更为关键。
1. 链接地址(Load Address)
链接地址(有时称为加载地址或加载时地址)是编译器在链接阶段确定的内存地址,用来告诉程序和硬件在加载时将各个程序段放置到哪里。在嵌入式系统中,链接地址通常指定在 Flash 存储区,因为代码通常被存储在 Flash 中,以便设备启动后能直接从该地址读取。
- 功能:链接地址决定程序的加载位置,即代码和数据存储的位置。
- 使用场景:大部分情况下,链接地址指向非易失性存储(如 Flash),这样代码在设备掉电或重启后不会丢失。
- 例子:在 Cortex-M 微控制器上,Flash 地址一般从
0x08000000
开始,常作为链接地址。这意味着.text
段(代码段)