load_region_name start_address | "+"offset [attributes] [max_size]{ execution_region_name start_address | "+"offset [attributes][max_size] { module_select_pattern ["(" ("+" input_section_attr | input_section_pattern) ([","] "+" input_section_attr | "," input_section_pattern)) * ")"] }}
其中:
load_region: 加载区,程序执行前和永久性数据的存放区域;
execution_region: 执行区,程序执行时,从加载区域将数据复制到相应执行区后才能被正确执行;
load_region_name: 加载区域名,便于连接器区别不同的加载区域,最多31个字符;
start_address: 起始地址,指示区域的首地址;
+offset: 前一个区域尾地址+offset 做为当前的起始地址,且“offset”应为“0”或“4”的倍数;
attributes: 加载区域属性,可设置如下属性:
PI 与地址无关方式存放;
RELOC 重新部署,保留定位信息,以便重新定位该段到新的执行区;
OVERLAY 覆盖,允许多个可执行区域在同一个地址,ADS不支持;
ABSOLUTE 绝对地址(默认);
max_size: 该区域的大小;
execution_region_name: 执行区域名;
PI 与地址无关,该区域的代码可任意移动后执行;
OVERLAY 覆盖;
FIXED 固定地址;
UNINIT 不用初始化该区域的ZI段;
module_select_pattern: 目标文件滤波器,支持通配符“*”和“?”;*.o匹配所有目标,* (或“.ANY”)匹配所有目标文件和库。 input_section_attr: 输入段属性。表示符合本输入段属性滤波的所有输入段都包含在本运行域中。每个输入段属性必须跟随在“+”后;且大小写不敏感;支持的输入段属性列表如下:
RO-CODE 或 CODE
RO-DATA 或 CONST
RO或TEXT, selects both RO-CODE and RO-DATA
RW-DATA
RW-CODE
RW 或 DATA, selects both RW-CODE and RW-DATA
ZI 或 BSS
ENTRY 表明本输入段包含一个入口点
FIRST,用于指定存放在一个执行区域的第一个或最后一个区域; LAST,同上;input_section_pattern: 输入段名;
发表于 @ 2007年09月10日 14:06:00|评论(loading...)|编辑