SPRACK2A September 2019 – March 2020 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1
In the past, F28004x 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 and F28002x 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 |
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 |