Keil™, An ARM® Company

RealView Linker and Utilities Guide

Overview of the syntax of scatter-loading description files

5.2.2. Overview of the syntax of scatter-loading description files

Note

In the BNF definitions in this section, line returns and spaces have been added to improve readability. They are not required in the scatter-loading definition and are ignored if present in the file.

A scatter_description is defined as one or more load_region_description patterns:

Scatter_description ::=

  load_region_description+

A load_region_description is defined as a load region name, optionally followed by attributes or size specifiers, and one or more execution region descriptions:

load_region_description ::=
    load_region_name (base_address | ("+" offset)) [attributes] [max_size]
    "{"
        execution_region_description+
    "}"

An execution_region_description is defined as an execution region name, a base address specification, optionally followed by attributes or size specifiers, and one or more input section descriptions:

execution_region_description ::=
    exec_region_name (base_address | "+" offset) [attribute_list][max_size | "–" length]
    "{"
        input_section_description*
    "}"

An input_section_description is defined as a source module selector pattern optionally followed by input section selectors:

input_section_description ::=
    module_select_pattern
        [ "(" input_section_selector ( "," input_section_selector )* ")" ]

input_section_selector ::=
    ("+" input_section_attr | input_section_pattern | input_symbol_pattern)

Figure 5.5 shows the contents and organization of a typical scatter-loading description file.

Figure 5.5. Components of a scatter-loading file definition

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0377A