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.

Where is the link output format controled?



Hi,

I am working on a small project using DSPLIB for C66xx. Because rts6600 has only ELF format, the option is selected as:

The problem is that the build process generates the following message (below the dot line). I do not know where sets the output to ELF. One post said that there is project property/output format which I cannot find in my project.

support.c is a source file in my project.

My systems is CCS v5.2, Windows 7, 64 bit.

.............................

fatal error #16031: object files have incompatible formats ("C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0B2/lib/rts6600_elf.lib<boot.obj>" = ELF, "./support.obj" = TI-COFF).  Please see the 'C6000 EABI Migration' guide at http://processors.wiki.ti.com/index.php/C6000_EABI_Migration

  • When I set to interface format to eabi,

    The build output message is:

    ...................................

    **** Build of configuration Debug for project dsplib_autocorr_C66 ****

     

    C:\ti\ccsv5\utils\bin\gmake -k all

    'Building target: dsplib_autocorr_C66.out'

    'Invoking: C6000 Linker'

    "C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0B2/bin/cl6x" -mv6600 --abi=eabi -g --display_error_number --diag_warning=225 --diag_wrap=off --mem_model:data=far -z --stack_size=2000 -m"dsplib_autocorr_C66.map" -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0B2/lib" -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0B2/include" --reread_libs --warn_sections --rom_model -o "dsplib_autocorr_C66.out"  "./support.obj" "./dsp_autocor_d.obj" "./dsp_autocor_c.obj" -l"C:\ti\dsplib_c66x_3_1_0_0\lib\dsplib.ae66" -l"rts6600_elf.lib"

    <Linking>

    error #10016-D: --abi=eabi not supported when producing TI-COFF output files

    fatal error #10011: cannot continue with specified options; aborting

    >> Compilation failure

    gmake: *** [dsplib_autocorr_C66.out] Error 1

    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    .............................

    It still does not work. What is wrong in the project setting?

    Thanks.

  • Robert W said:

    <Linking>

    error #10016-D: --abi=eabi not supported when producing TI-COFF output files

    The linker is reporting this error because it is likely seeing at least one of the input object files to be TI-COFF, but you specified --abi=eabi on the command line and that is a conflict. 

    Was this project originally created for COFF and then changed to EABI? Also, I see that the file dsp_autocor_c.c has file specific options. Are those options related to COFF output? If so, that would explain the errors. Make sure that all input files are being built for EABI.

    You could also try creating a new project with the same source files/build options, but make sure to set it for EABI.

  • Hi,

    I recreate a project. With all the lib, include path settings done, it can build.

    I recheck the old project. Even though every setting is the same with the new project, the old project cannot pass building, with clean operation first in that process. Then I want to make sure the intermediat files are gone with explore window. I find that I cannot delete Debug folder's two *.obj files. Even I close CCS v5.2, those two obj files cannot be deteled. It says that CGT is using them. I restate Windows 7, delete two .obj files. Now the rebuilding is a sucess.

    Please verify my observation.

     

    Thanks.

  • I'm not sure why but it sounds like something was "using" those files and preventing them from being over-written, hence the new object files in the EABI format were not being created. Glad to hear the issue is resolved and you now have an error free build.