5.2.2 分散加载描述文件语法概述
注意事项:本节中的BNF定义,添加的回车和空格只是为了增加可读性,分散加载定义对此并不做要求,并且它们如果出现会被忽略。
一个scatter_description(分散加载描述)表达一个或者多个load_region_description(加载区域描述):Scatter_description ::= load_region_description+
每个load_region_description由以下成员表示,一个加载区域名,属性或者大小声明是可选项,还需要有一个或者多个执行区域描述:
load_region_name (base_address | ("+" offset)) [attributes] [max_size]
"{"
execution_region_description+
"}"
每个execution_region_description由以下成员表示,执行区域名,基地址说明,一个或者多个输入段描述,属性或者大小作为可选项:
execution_region_description ::=
exec_region_name (base_address | "+" offset) [attribute_list] [max_size | "-" length]
"{"
input_section_description*
"}"
每个input_section_description由以下成员组成,一个源模块选择程序模板,后面可能跟随输入段选择程序:
input_section_selector ::=
("+" input_section_attr | input_section_pattern | input_symbol_pattern)
input_section_description ::=
module_select_pattern
["("
("+"input_section_attr | input_section_pattern | input_symbol_pattern)
("," "+" input_section_attr | "," input_section_pattern | "," input_symbol_pattern)*
")"]
|