刚刚学习这个,有些名词不是很了解 ,希望大家帮帮忙
ADS下的分散加载文件应用实例
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(加载区域名): 用于Linker区别不同的加载区域,最多31个字符;
start_address:起始地址;
+offset:前一个加载区域尾地址+offset,做为当前的起始地址,且offset为0或4的倍数;
attributes: PI 与地址无关
RELOC 重新部署
OVERLAY 覆盖,允许多个可执行区域在同一个地址,ADS不支持
ABSOLUTE 绝对地址(默认)
max_size:该加载区域的大小;
execution_region_name:执行区域名;
start_address:链接是目标存放的地址,必须字对齐;
+offset:同上;
attributes: PI 与地址无关
OVERLAY 覆盖
ABSOLUTE 绝对地址(默认)
FIXED 固定地址
UNINIT 不用初始化该区域的ZI段
module_select_pattern:目标文件滤波器,支持通配符“*”和“?”;*.o匹配所有目标,* (或“.ANY”)匹配所有目标文件和库。
input_section_attr:每个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, that is a section containing an ENTRY point.
FIRST,用于指定存放在一个执行区域的第一个或最后一个区域
LAST,同上
input_section_pattern:段名;