【发布时间】:2022-01-19 19:23:22
【问题描述】:
我一直在研究一些用于嵌入式 ARM 处理器的链接器脚本。其中一个是这样的(最小的例子):
MEMORY {
REGION : ORIGIN = 0x1000, LENGTH = 0x1000
}
SECTIONS {
.text : {
/* ... */
. = 0x20;
/* ... */
} > MEMORY
}
此链接描述文件指出.text 部分应位于内存区域REGION 中,该区域从0x1000 开始。但是,在部分内容中,位置被明确设置为0x20。
此位置分配是否相对于该部分所在区域的起点?还是绝对的? 一般来说,区域和位置分配如何协同工作?
【问题讨论】:
-
链接器手册中说了什么?
-
我找不到任何关于 SECTIONS 区域与位置分配相关的材料;否则我就不会问了。