Embedded Application Binary Interface

From Wikipedia, the free encyclopedia

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.[1]

Widely used EABIs include PowerPC[2] and ARM.[3][4]

[edit] See also

[edit] References

  1. ^ (1995-10-01) "EABI Summary", PowerPC Embedded Application Binary Interface — 32-Bit Implementation, Version 1.0, Motorola, 28–30. 
  2. ^ "PowerPC Embedded Processors Application Node"
  3. ^ Debian ARM accelerates via EABI port. Linuxdevices.com (2007-01-19). Retrieved on 2007-10-11.
  4. ^ Andrés Calderón and Nelson Castillo (2007-03-14). Why ARM's EABI matters. Linuxdevices.com. Retrieved on 2007-10-11.

[edit] External links