SPRUI03E June 2015 – January 2023
An Application Binary Interface (ABI) defines the low level interface between object files, and between an executable and its execution environment. The ABI exists to allow ABI-compliant object code to link together, regardless of its source, and allows the resulting executable to run on any system that supports that ABI.
The C6000 compiler supports only the C6000 EABI ABI. For details, see The C6000 Embedded Application Binary Interface Application Report (SPRAB89).
COFF object files are no longer supported in v8.0 and later versions of the TI Code Generation Tools. If you would like to produce COFF output files, please use v7.4 of the Code Generation Tools and refer to SPRU186 for documentation.
Object modules conforming to different ABIs cannot be linked together. The linker detects this situation and generates an error; you will need to recompile C code or reassemble assembly code in order to move from COFF to ELF. Note that converting an assembly file from the COFF API to EABI requires some changes to the assembly code. See Chapter 14 of The C6000 Embedded Application Binary Interface Application Report (SPRAB89 for details.