SPRUJ07 august 2023 TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
In the past, F2837x applications have always supported the Common Object File Format (COFF) binary executable output. COFF has several limitations. One of which is that the symbolic debugging information is not capable of supporting C/C++. There is also a limit on the maximum number of sections and length of section names and source files, among other things. COFF is also not an industry standard. For these reasons, C2000 is now migrating to Embedded Application Binary Interface (EABI) format. EABI and COFF are incompatible and conversion between the two formats is not possible. This section provides summary of COFF and EABI differences and useful links that provide more guidelines in migrating applications from COFF to EABI.
Table 5-1 summarizes the section names for COFF and EABI. These are compiler-generated sections.
Description | COFF | EABI |
---|---|---|
Read-Only Sections | ||
Const data | .econst | .const |
Const data above 22-bits | .farconst | .farconst |
Code | .text | .text |
Pre-main constructors | .pinit | .init_array |
Exception handling | N/A | .c28xabi.exidx/.c28xabi.extab |
Read-Write Sections | ||
Uninitialized data | .ebss | .bss |
Initialized data | N/A | .data |
Uninitialized data above 22-bits | .farbss | .farbss |
Initialized data above 22-bits | N/A | .fardata |
Heap | .esysmem | .sysmem |
Stack | .stack | .stack |
CIO Buffer | .cio | .bss:cio |