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.

3.1 Overview of linking models<br />

3.1.1 See also<br />

Linking models supported by armlink<br />

A linking model is a group of command-line options and memory maps that control <strong>the</strong> behavior<br />

of <strong>the</strong> linker.<br />

Bare-metal This model does not target any specific platform. It enables you to create an image<br />

with your own custom operating system, memory map, and, application code if<br />

required. Some limited dynamic linking support is available. You can specify<br />

additional options depending on whe<strong>the</strong>r or not a scatter file is in use.<br />

Partial linking<br />

This model produces a platform-independent object suitable for input to <strong>the</strong> linker<br />

in a subsequent link step. It can be used as an intermediate step in <strong>the</strong><br />

development process and performs limited processing of input objects to produce<br />

a single output object.<br />

BPABI This model supports <strong>the</strong> DLL-like Base Platform Application Binary Interface<br />

(BPABI). It is intended to produce applications and DLLs that can run on a<br />

platform OS that varies in complexity. The memory model is restricted according<br />

to <strong>the</strong> BPABI specification.<br />

Base Platform<br />

This is an extension to <strong>the</strong> BPABI model to support scatter-loading.<br />

SysV This model supports System V (SysV) models specified in <strong>the</strong> ELF used by <strong>ARM</strong><br />

Linux. The memory model is restricted according to <strong>the</strong> ELF specification.<br />

Related options in each model can be combined to tighten control over <strong>the</strong> output.<br />

Concepts<br />

• Bare-metal linking model on page 3-3<br />

• Partial linking model on page 3-4<br />

• Base Platform Application Binary Interface (BPABI) linking model on page 3-5<br />

• Base Platform linking model on page 3-6<br />

• SysV linking model on page 3-8<br />

• Concepts common to both BPABI and SysV linking models on page 3-9.<br />

Reference<br />

• Chapter 10 BPABI and SysV shared libraries and executables.<br />

O<strong>the</strong>r information<br />

• Base Platform ABI for <strong>the</strong> <strong>ARM</strong> Architecture,<br />

http://infocenter.arm.com/help/topic/com.arm.doc.ihi0037-/index.html<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!