Embedded Application Binary Interface

Embedded Application Binary Interface

An embedded-application binary interface (EABI) specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program.

Compilers that support the EABI create object code that is compatible thus allowing developers to link libraries generated with one compiler with object code generated with a different compiler. Developers writing their own assembly language code may also use the EABI to interface with assembly generated by a compliant compiler.

The main differences of an EABI with respect an ABI for general purpose operating systems are that privileged instructions are allowed in application code, dynamic linking is not required (sometimes it is completely disallowed), and a more compact stack frame organization to save memory. [cite book
title = PowerPC Embedded Application Binary Interface — 32-Bit Implementation
date = 1995-10-01
edition = Version 1.0
chapter = EABI Summary
pages = 28–30
publisher = Motorola
url = http://ftp.twaren.net/Unix/Sourceware/binutils/ppc-docs/ppc-eabi-1995-01.pdf

Widely used EABIs include PowerPC [ [http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF77852569970071B0D6/$file/eabi_app.pdf "PowerPC Embedded Processors Application Node"] ] and ARM. [cite web
title = Debian ARM accelerates via EABI port
date = 2007-01-19
publisher = Linuxdevices.com
url = http://linuxdevices.com/news/NS9048137234.html
accessdate = 2007-10-11
] [cite web
author = Andrés Calderón and Nelson Castillo
title = Why ARM's EABI matters
date = 2007-03-14
publisher = Linuxdevices.com
url = http://linuxdevices.com/articles/AT5920399313.html
accessdate = 2007-10-11

ee also

* Application Binary Interface


External links

* [http://wiki.debian.org/ArmEabiPort Debian ARM EABI port]
* [http://www.uclibc.org/cgi-bin/viewcvs.cgi/trunk/docs/psABI-m8-16.pdf?rev=10808 Motorola 8 and 16 bit Embedded ABI]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Application binary interface — In computer software, an application binary interface (ABI) describes the low level interface between an application program and the operating system, or the interface between an application and its libraries, or that between component parts of… …   Wikipedia

  • Application programming interface — API redirects here. For other uses, see API (disambiguation). An application programming interface (API) is a source code based specification intended to be used as an interface by software components to communicate with each other. An API may… …   Wikipedia

  • Netscape Plugin Application Programming Interface — (NPAPI) is a cross platform plugin architecture used by many web browsers.It was first developed for the Netscape family of browsers starting with Netscape Navigator 2.0 but has subsequently been implemented in other browsers including Mozilla… …   Wikipedia

  • Comparison of application virtual machines — This article lists some software virtual machines that are typically used for allowing application bytecode to be portably run on many different computer architectures and operating systems. The application is usually run on the computer using an …   Wikipedia

  • User interface markup language — A user interface markup language is a markup language that renders and describes graphical user interfaces. Many of these markup languages are dialects of XML.User interface markup languagesUIMLUIML is the earliest pioneer in user interface… …   Wikipedia

  • Extensible Firmware Interface — The Extensible Firmware Interface (EFI) is a specification that defines a software interface between an operating system and platform firmware. EFI is intended as a significantly improved replacement of the old legacy BIOS firmware interface… …   Wikipedia

  • Mobile application development — is the process by which application software is developed for small low power handheld devices such as personal digital assistants, enterprise digital assistants or mobile phones. These applications are either pre installed on phones during… …   Wikipedia

  • Brain–computer interface — Neuropsychology Topics Brain computer interface …   Wikipedia

  • Unified Extensible Firmware Interface — UEFI Logo Extensible Firmware Interface s position in the software stack …   Wikipedia

  • Executable and Linkable Format — Infobox file format name = ELF extension = none, .o, .so, .elf mime = owner = Unix System Laboratories genre = Binary, executable, object, shared libraries, core dump container for = contained by = extended from = extended to = In computing, the… …   Wikipedia