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.
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?
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.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
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).