SPRACR4A May   2020  – February 2021 66AK2E05 , 66AK2G12 , 66AK2H06 , 66AK2H12 , 66AK2H14 , TMS320C54CST , TMS320C54V90 , TMS320C5504 , TMS320C5505 , TMS320C5514 , TMS320C5515 , TMS320C5517 , TMS320C5532 , TMS320C5533 , TMS320C5534 , TMS320C5535 , TMS320C6201 , TMS320C6202 , TMS320C6202B , TMS320C6203B , TMS320C6204 , TMS320C6205 , TMS320C6211B , TMS320C6410 , TMS320C6411 , TMS320C6412 , TMS320C6413 , TMS320C6414 , TMS320C6414T , TMS320C6415 , TMS320C6415T , TMS320C6416 , TMS320C6416T , TMS320C6418 , TMS320C6421 , TMS320C6421Q , TMS320C6424 , TMS320C6424Q , TMS320C6452 , TMS320C6454 , TMS320C6455 , TMS320C6457 , TMS320C6472 , TMS320C6474 , TMS320C6652 , TMS320C6654 , TMS320C6655 , TMS320C6657 , TMS320C6670 , TMS320C6671 , TMS320C6672 , TMS320C6674 , TMS320C6678 , TMS320C6701 , TMS320C6711D , TMS320C6712D , TMS320C6713B , TMS320C6720 , TMS320C6722B , TMS320C6726B , TMS320C6727 , TMS320C6727B , TMS320C6742 , TMS320C6743 , TMS320C6745 , TMS320C6746 , TMS320C6747 , TMS320C6748

 

  1.   Trademarks
  2. Introduction
  3. CCS Migration
    1. 2.1 Deprecation Notices
    2. 2.2 CCS Training Within CCS
    3. 2.3 CCS Legacy Project Import Wizard
  4. DSP/BIOS vs SYS/BIOS
    1. 3.1 Migrating Old Projects to the Latest Tools
  5. Toolchain: CGT, Compiler, Linker
  6. RTSC and XDC
  7. COFF vs ELF
  8. Processor SDK
  9. NDK Migration
  10. References
  11. 10Revision History

COFF vs ELF

The term ABI stands for Application Binary Interface. The ABI specifies how a compiler and linker should handle various things like register assignment, calling convention, type sizes, and object file format. The conventions specified by an ABI make it possible for separately compiled object files and libraries to be linked together into a cohesive executable. An ABI named EABI, Embedded Application Binary Interface was introduced in 2010.

The main (but not only) difference between COFF ABI and EABI is the object file format. COFF ABI uses COFF, Common Object File Format, and EABI uses ELF, Executable and Linking Format.

The first version of the C6000 compiler to support EABI is version 7.2.0. The last version to support COFF ABI is version 7.4.24.

Executable and Linkable Format (ELF) has more debugging capabilities than Common Object File Format (COFF).

Regarding how to change from COFF ABI to EABI:

  • First make sure all of your libraries, and any other software your project depends on, have EABI variants available. If not, you have to either not use those libraries, or stay on COFF ABI.

TI compiler switch: --abi=eabi or –abi=coffabi.

Linking COFF and ELF object files together is not possible.

With regard to migrating your own code from COFF ABI to EABI, see the C6000 EABI Migration wiki.