sct:分散加载文件
分散加载文件主要由一个加载时域加多个运行时域组成;同一个文件中可以有多个载时域;
加载时域格式如下所示:
1 2 3 4
| load_region_name base_address max_size { execution_region_description }
|
运行时域格式如下:
1 2 3 4
| exec_region_name base_address max_size { input_section_description }
|
- load_region_name:为加载时域的名字,长度不超过31个字节
- base_address:为加载时域的起始地址,即从该地址开始加载相关代码
- max_size:为加载时域的最大范围,若实际大小超过该大小,链接器将会报错
- execution_region_description:是对执行时域的描述
- input_section_description:是对执行时域的描述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| LR_IROM1 0x08000000 0x00100000 { ; 定义一个加载时域,域基址:0x08000000,域大小:0x00100000 ,对应实际 Flash 的大小
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address ;定义一个运行时域,第一个运行时域必须和加载时域起始地址相同,否则库不能加载到该时域的 ;错误,其域大小一般也和加载时域大小相同 *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) } RW_IRAM1 0x20000000 0x00020000 { ; RW data .ANY (+RW +ZI) } }
|