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.

BPABI and SysV shared libraries and executables<br />

10.1 About <strong>the</strong> Base Platform Application Binary Interface (BPABI)<br />

10.1.1 See also<br />

Many embedded systems use an operating system to manage <strong>the</strong> resources on a device. In many<br />

cases this is a large, single executable with a Real-Time Operating System (RTOS) that tightly<br />

integrates with <strong>the</strong> applications. O<strong>the</strong>r more complex Operating Systems (OS) are referred to as<br />

a platform OS, for example, <strong>ARM</strong> Linux. These have <strong>the</strong> ability to load applications and shared<br />

libraries on demand.<br />

To run an application or use a shared library on a platform OS, you must conform to <strong>the</strong><br />

Application Binary Interface (ABI) for <strong>the</strong> platform and also <strong>the</strong> ABI for <strong>the</strong> <strong>ARM</strong> architecture.<br />

This can involve substantial changes to <strong>the</strong> linker output, for example, a custom file format. To<br />

support such a wide variety of platforms, <strong>the</strong> ABI for <strong>the</strong> <strong>ARM</strong> architecture provides <strong>the</strong> Base<br />

Platform Application Binary Interface (BPABI).<br />

The BPABI provides a base standard from which a platform ABI can be derived. The linker<br />

produces a BPABI conforming ELF image or shared library. A platform specific tool called a<br />

post-linker translates this ELF output file into a platform-specific file format. Post linker tools<br />

are provided by <strong>the</strong> platform OS vendor. The following figure shows <strong>the</strong> BPABI tool flow.<br />

Tool: compiler linker postlinker<br />

Format:<br />

.c .o<br />

.axf<br />

bin/exe<br />

Language ABI BPABI<br />

Concepts<br />

• Platforms supported by <strong>the</strong> BPABI on page 10-4<br />

• Concepts common to all BPABI models on page 10-5.<br />

Figure 10-1 BPABI tool flow<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 />

Platform<br />

binary<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!