Keil Logo Arm Logo

Technical Support

On-Line Manuals

Linker Reference Guide

Conventions and feedback Linker command-line options Linker steering file command reference Formal syntax of the scatter file BNF notation used in scatter-loading description s Syntax of a scatter file About load region descriptions Syntax of a load region description Load region attributes About execution region descriptions Syntax of an execution region description Execution region attributes Address attributes for load and execution regions Considerations when using a relative address +offs Considerations when using a relative address +offs Inheritance rules for load region address attribut Inheritance rules for execution region address att Inheritance rules for the RELOC address attribute About input section descriptions Syntax of an input section description How the linker resolves multiple matches when proc Behavior when .ANY sections overflow because of li How the linker resolves path names when processing About Expression evaluation in scatter files Expression usage in scatter files Expression rules in scatter files Execution address built-in functions for use in sc Scatter files containing relative base address loa ScatterAssert function and load address related fu Symbol related function in a scatter file Example of aligning a base address in execution sp AlignExpr(expr, align) function GetPageSize() function SizeOfHeaders() function

Linker Reference Guide

Syntax of an execution region description

Syntax of an execution region description

The syntax of an execution region description, in Backus-Naur Form (BNF), is:

execution_region_description ::= 

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

where:

exec_region_name

Names the execution region. You can use a quoted name. The name is case-sensitive only if you use any region-related linker-defined symbols.

base_address

Specifies the address where objects in the region are to be linked. base_address must be word-aligned.

Note

Using ALIGN on an execution region causes both the load address and execution address to be aligned.

+offset

Describes a base address that is offset bytes beyond the end of the preceding execution region. The value of offset must be zero modulo four.

If this is the first execution region in the load region then +offset means that the base address begins offset bytes after the base of the containing load region.

If you use +offset, then the execution region might inherit certain attributes from the parent load region, or from a previous execution region within the same load region.

attribute_list

The attributes that specify the properties of the execution region contents.

max_size

For an execution region marked EMPTY or FILL the max_size value is interpreted as the length of the region. Otherwise the max_size value is interpreted as the maximum size of the execution region.

[-]length

Can only be used with EMPTY to represent a stack that grows down in memory. If the length is given as a negative value, the base_address is taken to be the end address of the region.

input_section_description

Specifies the content of the input sections.

Note

The Backus-Naur Form (BNF) definitions contain additional line returns and spaces to improve readability. They are not required in the scatter-loading definition and are ignored if present in the file.

Copyright © 2008, 2011-2012 ARM. All rights reserved.ARM DUI 0458C
Non-ConfidentialID062912

arm-logo-small

Keil logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.