This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280049: Unresolved symbols when choosing EABI format output

Part Number: TMS320F280049
Other Parts Discussed in Thread: C2000WARE

Hi expert,

I am building below project and meet some error when I choose EABI as output format. I am not sure which compile document should I refer to to solve this issue.

I am use CCS 10.0 for below project and just change the output format before a build.

C:\ti\c2000\C2000Ware_3_01_00_00\device_support\f28004x\examples\launchxl

Error message shows:

warning #10440-D: creating output section ".bss" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
warning #10440-D: creating output section ".const" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
warning #10440-D: creating output section ".sysmem" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
warning #10440-D: creating output section ".init_array" without a SECTIONS specification. For additional information on this section, please see the 'C28x EABI Migration' guide at processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration
warning #10247-D: creating output section ".data" without a SECTIONS specification
"../28004x_launchpad_demo_flash_lnk.cmd", line 78: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment/blocking fails for section ".cinit" size 0xd4page 0. Available memory ranges:
FLASH_BANK0_SEC1 size: 0x1000 unused: 0x0 max hole: 0x0

undefined first referenced
symbol in file
--------- ----------------
F28x_usDelay ./f28004x_sysctrl.obj
RamfuncsLoadSize ./f28004x_sysctrl.obj
RamfuncsLoadStart ./f28004x_sysctrl.obj
RamfuncsRunStart ./f28004x_sysctrl.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "launchxl_ex1_f280049c_demo.out" not built

>> Compilation failure
makefile:152: recipe for target 'launchxl_ex1_f280049c_demo.out' failed
gmake[1]: *** [launchxl_ex1_f280049c_demo.out] Error 1
makefile:148: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

Thanks

Sheldon

  • Sheldon,

    I tried myself on CC9.3, and I encountered similar issue.

    I was able to resolve the issue by changing cmd file:

    SECTIONS
    {
       codestart        : > BEGIN,     PAGE = 0
       .TI.ramfunc      : > RAMM0      PAGE = 0
       .text            : >>RAMM0 | RAMLS0_LS3 | RAMLS4,   PAGE = 0
       .cinit           : > RAMLS5_LS7,   PAGE = 1
    
       .switch          : > RAMM0,     PAGE = 0
       .reset           : > RESET,     PAGE = 0, TYPE = DSECT /* not used, */
       .stack           : > RAMM1,     PAGE = 1
    
    
    #if defined(__TI_EABI__)
       .bss             : > RAMLS0_LS3,     PAGE = 0
       .bss:output      : > RAMLS5_LS7,     PAGE = 1
       .init_array      : > RAMM0,      PAGE = 0
       .const           : > RAMLS5_LS7,     PAGE = 1
       .data            : > RAMLS5_LS7,     PAGE = 1
       .sysmem          : > RAMLS5_LS7,     PAGE = 1
       .bss:cio         : > RAMLS0_LS3,     PAGE = 0
    #else
       .pinit           : > RAMM0,      PAGE = 0
       .ebss            : > RAMLS5,     PAGE = 1
       .econst          : > RAMLS5,     PAGE = 1
       .esysmem         : > RAMLS5,     PAGE = 1
       .cio             : > RAMLS0_LS3,     PAGE = 0
    #endif

    You will also need two more changes in  f28004x_sysctrl.c and f28004x_examples.h

    change F28x_usDelay  to _F28x_usDelay

    I will create a bug to track the fix in C2000ware.