SPRACQ1 May 2020 TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377S , TMS320F28379D , TMS320F28379S , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
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 the Embedded Application Binary Interface (EABI) format and F2838x is one of the first devices to support it. 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 19 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 |
Red-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 |