SLAU132Y September 2004 – June 2021
An Application Binary Interface (ABI) defines how functions that are compiled or assembled separately (possibly by compilers from different vendors) can work together. This involves standardizing the data type representation, register conventions, and function structure and calling conventions. An ABI defines linkname generation from C symbol names. It defines the object file format and the debug format. It defines how the system is initialized. In the case of C++, it defines C++ name mangling and exception handling support.
The COFF ABI is not supported in v15.6.0.STS and later versions of the TI Code Generation Tools. If you would like to produce COFF output files, please use v4.4 of the MSP430 Code Generation Tools and refer to SPRU132J for documentation.
MSP430 uses the EABI ABI, which requires the ELF object file format. This format supports modern language features like early template instantiation and exporting inline functions.
TI-specific information on EABI mode is described in Section 7.10.3.
To generate object files compatible with EABI, you must use MSP430 compiler version 4.0 or greater; see Section 3.14.
The __TI_EABI__ predefined symbol is defined and set to 1 if compiling for EABI.
For low-level details about the MSP430 EABI, see The MSP430 Embedded Application Binary Interface (SLAA534).