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.

4.5 Types of simple image<br />

4.5.1 See also<br />

Image structure and generation<br />

A simple image consists of a number of input sections of type RO, RW, and ZI. These input<br />

sections are collated to form <strong>the</strong> RO, RW, and ZI output sections. Depending on how <strong>the</strong> output<br />

sections are arranged within load and execution regions, <strong>the</strong>re are three basic types of simple<br />

image:<br />

Type 1 One region in load view, three contiguous regions in execution view. Use <strong>the</strong><br />

--ro_base option to create this type of image.<br />

Type 2 One region in load view, three non-contiguous regions in execution view. Use <strong>the</strong><br />

--ro_base and --rw_base options to create this type of image.<br />

Type 3 Two regions in load view, three non-contiguous regions in execution view. Use<br />

<strong>the</strong> --ro_base, --rw_base, and --split options to create this type of image.<br />

In all <strong>the</strong> simple image types:<br />

• <strong>the</strong> first execution region contains <strong>the</strong> RO output section<br />

• <strong>the</strong> second execution region contains <strong>the</strong> RW output section (if present)<br />

• <strong>the</strong> third execution region contains <strong>the</strong> ZI output section (if present).<br />

These execution regions are referred to as <strong>the</strong> RO, <strong>the</strong> RW, and <strong>the</strong> ZI execution region.<br />

However, you can also use <strong>the</strong> --rosplit option for a Type 3 image. This option splits <strong>the</strong> default<br />

load region into two RO output sections, one for code and one for data.<br />

You can also use <strong>the</strong> --zi_base command-line option to specify <strong>the</strong> base address of a ZI<br />

execution region for Type 1 and Type 2 images. This option is ignored if you also use <strong>the</strong> --split<br />

command-line option that is required for Type 3 images.<br />

You can also create simple images with scatter files.<br />

Concepts<br />

• Type 1 image, one load region and contiguous execution regions on page 4-11<br />

• Type 2 image, one load region and non-contiguous execution regions on page 4-13<br />

• Type 3 image, two load regions and non-contiguous execution regions on page 4-15<br />

• Equivalent scatter-loading descriptions for simple images on page 8-60.<br />

Reference<br />

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

• --ro_base=address on page 2-135<br />

• --rosplit on page 2-137<br />

• --rw_base=address on page 2-139<br />

• --scatter=file on page 2-142<br />

• --split on page 2-154<br />

• --zi_base=address on page 2-193.<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!