MDK KEIL sct文件

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
}
  1. load_region_name:为加载时域的名字,长度不超过31个字节
  2. base_address:为加载时域的起始地址,即从该地址开始加载相关代码
  3. max_size:为加载时域的最大范围,若实际大小超过该大小,链接器将会报错
  4. execution_region_description:是对执行时域的描述
  5. 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)
}
}