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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 8<br />

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

The following topics describe how you use scatter files with armlink to create complex images:<br />

Tasks<br />

• Specifying stack and heap using <strong>the</strong> scatter file on page 8-12<br />

• Creating root execution regions on page 8-14<br />

• <strong>Using</strong> <strong>the</strong> FIXED attribute to create root regions on page 8-17<br />

• Placing functions and data at specific addresses on page 8-18<br />

• Placing a named section explicitly using scatter-loading on page 8-23<br />

• Placing unassigned sections with <strong>the</strong> .ANY module selector on page 8-25<br />

• Selecting veneer input sections in scatter-loading descriptions on page 8-34<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 />

• 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 />

• Reserving an empty region on page 8-52<br />

• <strong>Using</strong> preprocessing commands in a scatter file on page 8-57<br />

• <strong>Using</strong> expression evaluation in a scatter file to avoid padding on page 8-59.<br />

Concepts<br />

• About scatter-loading on page 8-3<br />

• When to use scatter-loading on page 8-4<br />

• Scatter-loading command-line option on page 8-5<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!