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.

CCS/TMS320F28335: issue of generate ELF file for 28335

Part Number: TMS320F28335
Other Parts Discussed in Thread: TMS320F28379D

Tool/software: Code Composer Studio

when configure the properties of 28335 project, choose the output format "eabi(ELF)" with the lastest compiler TI v17.6.0. STS and CCS 7.4.0, it show the error “ELF output-format is not supported by compiler version TI v17.6.0. STS” as below showed. so which compiler could support generating ELF file for C2000?

  • Strong ZHANG said:
    when configure the properties of 28335 project, choose the output format "eabi(ELF)" with the lastest compiler TI v17.6.0. STS and CCS 7.4.0, it show the error “ELF output-format is not supported by compiler version TI v17.6.0. STS” as below showed

    The TI v17.9.0.STS c2000cl help output is not showing the --abi option, which I think leads CCS 7.4.0 to say the ELF output-format is not supported.

    However, in CCS 7.4.0 with a project for a TMS320F28379D using TI v17.9.0.STS if selected "Edit flags..." under Build -> C2000 Compiler and manually add the --abi=eabi option then the compiler and linker accept the option:

    **** Build of configuration Debug for project TMS320F28379D_vla ****
    
    /home/mr_halfword/ti/ccs710/ccsv7/utils/bin/gmake -k -j 4 all -O 
    Building file: ../TMS320F28379D_vla.c
    Invoking: C2000 Compiler
    "/home/mr_halfword/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.9.0.STS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="/home/mr_halfword/E2E_example_projects_CCS7/TMS320F28379D_vla" --include_path="/home/mr_halfword/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.9.0.STS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="TMS320F28379D_vla.d"  "../TMS320F28379D_vla.c"
    Finished building: ../TMS320F28379D_vla.c
     
    Building target: TMS320F28379D_vla.out
    Invoking: C2000 Linker
    "/home/mr_halfword/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.9.0.STS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"TMS320F28379D_vla.map" --heap_size=0x9dc --stack_size=0x200 --warn_sections -i"/home/mr_halfword/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.9.0.STS/lib" -i"/home/mr_halfword/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.9.0.STS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="TMS320F28379D_vla_linkInfo.xml" --rom_model -o "TMS320F28379D_vla.out" "./TMS320F28379D_vla.obj" "../2837x_FLASH_lnk_cpu1.cmd"  -llibc.a 
    <Linking>
    warning #10366-D: automatic library build: using library "/home/mr_halfword/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.9.0.STS/lib/rts2800_fpu32_eabi.lib" for the first time, so it must be built.  This may take a few minutes.
    Creating library /tmp/TI_MKLIBLK3lEr/rts2800_fpu32_eabi.lib
    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
    Finished building target: TMS320F28379D_vla.out
     
    
    **** Build Finished ****

    The linker says the rts2800_fpu32_eabi.lib library is being built, and produces warnings since the linker command file used hasn't been updated for the EABI section names.

    The TI v16.9.1.LTS compiler and linker also accept the --abi=eabi option if it is manually added to the flags.

    Not sure if it is a bug, or by design, that CCS 7.4.0 says EABI is not supported by TI v16.9.1.LTS or v17.9.0.STS (these were the compiler versions installed, haven't tried other versions).

  • Which version of CCS and compiler can support 28335?
  • Strong,

    EABI support for C2000 continues to be on our roadmap, however we have no firm plans to announce at this time. CCS should not be showing the ELF Output Format option for C2000. The fact that it is showing it is a bug. I will file a bug report to have that addressed so there is no confusion for the user.