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.

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!