設定記憶體的位址,長度,和屬性
命令: MEMORY
屬性:
r : read only
w : r/w
a : allocable section
i, l : 初始化的區塊
! : 反向
例子:定義RAM和ROM記憶體
MEMORY
{
RAM (awx) : ORIGIN = 0x10000000, LENGTH = 16K
ROM (arx) : ORIGIN = 0x00000000, LENGTH = 16K
}
設定程式的區段
命令: SECTIONS
例子:定義text section
SECTIONS
{
.text:{ *(.text) }
.rodata:{ *(.rodata)}
}
指定記憶體給區段
指定記憶體給區段可直接使用MEMORY定義的記憶體去指定, 或是用ALIAS去指定
ALIAS的好處是, 可以配合不同的系統提供不同的記憶體配置
直接指定
SECTIONS
{
.text:{ *(.text) > ROM }
}
ALIAS的方式
SECTIONS
{
}
---------------------------------
若是系統配置RAM
-----------------------------------------
SECTIONS
{
.text:{ *(.text) > REGION_TEXT }
}
-----------------------------------
區段的配置可以不用更動, 只要變更REGION_ALIAS的設定即可
全站熱搜