Keil Logo

Technical Support

On-Line Manuals

Linker User Guide

Preface Overview of the Linker Linking Models Supported by armlink Image Structure and Generation Linker Optimization Features Getting Image Details Accessing and Managing Symbols with armlink Scatter-loading Features Scatter File Syntax BNF notation used in scatter-loading description s Syntax of a scatter file Load region descriptions Components of a load region description Syntax of a load region description Load region attributes Inheritance rules for load region address attribut Inheritance rules for the RELOC address attribute Considerations when using a relative address +offs Execution region descriptions Components of an execution region description Syntax of an execution region description Execution region attributes Inheritance rules for execution region address att Considerations when using a relative address +offs Input section descriptions Components of an input section description Syntax of an input section description Examples of module and input section specification Expression evaluation in scatter files Expression usage in scatter files Expression rules in scatter files Execution address built-in functions for use in sc ScatterAssert function and load address related fu Symbol related function in a scatter file AlignExpr(expr, align) function GetPageSize() function SizeOfHeaders() function Example of aligning a base address in execution sp Scatter files containing relative base address loa Linker Command-line Options Linker Steering File Command Reference Via File Syntax

Load region attributes

8.3.3 Load region attributes

A load region has attributes that allow you to control where parts of your image are loaded in the target memory.

The load region attributes are:
ABSOLUTE
The content is placed at a fixed address that does not change after linking. The load address of the region is specified by the base designator. This is the default, unless you use PI or RELOC.
ALIGN alignment
Increase the alignment constraint for the load region from 4 to alignment. alignment must be a positive power of 2. If the load region has a base_address then this must be alignment aligned. If the load region has a +offset then the linker aligns the calculated base address of the region to an alignment boundary.
This can also affect the offset in the ELF file. For example, the following causes the data for FOO to be written out at 4k offset into the ELF file:
FOO +4 ALIGN 4096
NOCOMPRESS
RW data compression is enabled by default. The NOCOMPRESS keyword enables you to specify that the contents of a load region must not be compressed in the final image.
OVERLAY
The OVERLAY keyword enables you to have multiple load regions at the same address. ARM tools do not provide an overlay mechanism. To use multiple load regions at the same address, you must provide your own overlay manager.
The content is placed at a fixed address that does not change after linking. The content might overlap with other regions designated as OVERLAY regions.
PI
This region is position independent. The content does not depend on any fixed address and might be moved after linking without any extra processing.

Note

This attribute is not supported if an image contains execute-only sections.
PROTECTED
The PROTECTED keyword prevents:
  • Overlapping of load regions.
  • Veneer sharing.
  • String sharing with the --merge option.
RELOC
This region is relocatable. The content depends on fixed addresses. Relocation information is output to enable the content to be moved to another location by another tool.
Non-ConfidentialPDF file icon PDF versionARM DUI0377H
Copyright © 2007, 2008, 2011, 2012, 2014-2016 ARM. All rights reserved. 
  Arm logo
Important information

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

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.