SPNU151W January 1998 – March 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
An Application Binary Interface (ABI) defines how functions that are written separately and compiled or assembled separately can work together. This involves standardizing data type storage, register conventions, and function structure and calling conventions. It should define linkname generation from C symbols. It defines the object file format and the debug format. It should document 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 want to produce COFF output files, please use v5.2 of the ARM tools and see SPRU151J.
The ARM ABIv2 has become an industry standard for the ARM architecture. It has these advantages:
ARM ABIv2 allows a vendor to define the system initialization in the bare-metal mode. TI-specific information on EABI mode is described in Section 6.10.3. The __TI_EABI_ASSEMBLER predefined symbol is set to 1 if compiling for EABI.