8.3.4 Inheritance rules for load region address attributes

A load region can inherit the attributes of a previous load region.

For a load region to inherit the attributes of a previous load region, specify a +offset base address for that region. A load region cannot inherit attributes if:
  • You explicitly set the attribute of that load region.
  • The load region immediately before has the OVERLAY attribute.
You can explicitly set a load region with the ABSOLUTE, PI, RELOC, or OVERLAY address attributes.
The following inheritance rules apply when no address attribute is specified:
  • The OVERLAY attribute cannot be inherited. A region with the OVERLAY attribute cannot inherit.
  • A base address load or execution region always defaults to ABSOLUTE.
  • A +offset load region inherits the address attribute from the previous load region or ABSOLUTE if no previous load region exists.

Example

This example shows the inheritance rules for setting the address attributes of load regions:
LR1 0x8000 PI
{
    …
}
LR2 +0             ; LR2 inherits PI from LR1
{
    …
}
LR3 0x1000         ; LR3 does not inherit because it has no relative base
                     address, gets default of ABSOLUTE
{
    …
}
LR4 +0             ; LR4 inherits ABSOLUTE from LR3
{
    …
}
LR5 +0 RELOC       ; LR5 does not inherit because it explicitly sets RELOC
{
    …
}
LR6 +0 OVERLAY     ; LR6 does not inherit, an OVERLAY cannot inherit
{
    …
}
LR7 +0             ; LR7 cannot inherit OVERLAY, gets default of ABSOLUTE
{
    …
}
Related concepts
8.3.6 Considerations when using a relative address +offset for a load region
8.3.5 Inheritance rules for the RELOC address attribute
8.4.4 Inheritance rules for execution region address attributes
Related reference
8.3.1 Components of a load region description
8.4.1 Components of an execution region description
8.3.2 Syntax of a load region description
Non-ConfidentialPDF file icon PDF versionARM DUI0377G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.