06.02.2013 Views

ARM Compiler toolchain Using the Linker - ARM Information Center

ARM Compiler toolchain Using the Linker - ARM Information Center

ARM Compiler toolchain Using the Linker - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8.22 Manual placement of __at sections<br />

8.22.1 See also<br />

<strong>Using</strong> scatter files<br />

You can use <strong>the</strong> standard section placement rules to place __at sections when using <strong>the</strong><br />

--no_autoat command-line option.<br />

Note<br />

You cannot use __at section placement with position independent execution regions.<br />

The following example shows <strong>the</strong> placement of read-only sections .<strong>ARM</strong>.__at_0x2000 and <strong>the</strong><br />

read-write section .<strong>ARM</strong>.__at_0x4000. Load and execution regions are not created automatically<br />

in manual mode. An error is produced if an __at section cannot be placed in an execution region.<br />

Example 8-12 Manual placement of __at sections<br />

LR1 0x0<br />

{<br />

ER_RO 0x0 0x2000<br />

{<br />

*(+RO) ; .<strong>ARM</strong>.__at_0x0 is selected by +RO<br />

}<br />

ER_RO2 0x2000<br />

{<br />

*(.<strong>ARM</strong>.__at_0x2000) ; .<strong>ARM</strong>.__at_0x2000 is selected by .<strong>ARM</strong>.__at_0x2000<br />

}<br />

ER2 0x4000<br />

{<br />

*(+RW +ZI) ; .<strong>ARM</strong>.__at_0x4000 is selected by +RW<br />

}<br />

}<br />

Concepts<br />

• <strong>Using</strong> __attribute__((section("name"))) on page 8-35<br />

• <strong>Using</strong> __at sections to place sections at a specific address on page 8-37<br />

• Restrictions on placing __at sections on page 8-38<br />

• Automatic placement of __at sections on page 8-39<br />

• Placing a key in flash memory using __at on page 8-42<br />

• Placing a structure over a peripheral register using __at on page 8-43.<br />

<strong>Linker</strong> Reference:<br />

• About execution region descriptions on page 4-8.<br />

Reference<br />

<strong>Linker</strong> Reference:<br />

• --autoat, --no_autoat on page 2-17<br />

• Execution region attributes on page 4-11.<br />

<strong>ARM</strong> DUI 0474C Copyright © 2010-2011 <strong>ARM</strong>. All rights reserved. 8-41<br />

ID080411 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!