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: TI C/C++ Compiler
Hello there,
I have an issue when using the following tools
CCS V5.3.0.00090 with C/C++ compiler 4.4.1 and DSP/BIOS 5.42.0.07.
I have recently needed to modify a project undertaken under CCS V1.0 and DSP/BIOS 4.90.???
After manually creating the .tcf file using the original .cdb file, i.e. not using a conversion utility, I am now able to compile the source files. Unfortunately, the linking stage fails with the following error –
------------------------------------------------
Building target: lme.out'
'Invoking: C5500 Linker'
"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/bin/cl55" -v5510A
--memory_model=large -g
--define=vc5510a --display_error_number --diag_warning=225
--ptrdiff_size=32 -z -m"lme.map" --stack_size=0x200
--heap_size=0x400 -i"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/lib"
-i"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/include"
-i"C:/ti/bios_5_42_00_07/packages/ti/rtdx/lib/c5500"
-i"C:/ti/bios_5_42_00_07/packages/ti/bios/lib" -i"C:/ti/C55xxCSL/lib"
-i"C:/Users/dpowell/workspace_v5_3/lme/Debug"
-i"C:/Users/dpowell/workspace_v5_3/lme/Debug/source/application"
-i"C:/Users/dpowell/workspace_v5_3/lme/Debug/source/drivers"
--diag_suppress=10190 --warn_sections --ram_model
--sys_stacksize=0x200
--fill_value=0xFFFF -o "lme.out" -l"./lme-supy-dsp-bioscfg.cmd" "./source/application/thrSupyProc.obj" "./source/application/thrRxLEDControl.obj" "./source/application/thrPassiveSupyProc.obj" "./source/application/thrControl.obj" "./source/application/nco.obj" "./source/application/appXteraSupy.obj" "./source/application/appThreads.obj" "./source/application/appSupyRxFilters.obj" "./source/application/appStcSupy.obj" "./source/application/appResources.obj" "./source/application/appPassiveSupy.obj" "./source/application/appMain.obj" "./source/application/appIO.obj" "./source/application/appAlcatelSupy.obj" "./source/drivers/tlv5630.obj" "./source/drivers/pio.obj" "./source/drivers/dma_tlv5630.obj" "./source/drivers/dma_ad7663.obj" "./source/drivers/devParams.obj" "./source/drivers/csl_config.obj" "./source/drivers/c55xx_dma_mcbsp.obj" "./source/drivers/ad7663.obj" "./lme-supy-dsp-bioscfg_c.obj" "./lme-supy-dsp-bioscfg.obj"
-l"C:\ti\C55xxCSL\lib\csl5510PG2_2x.lib"
-l"C:\ti\dsplib_2.40.00\55xdspx.lib"
-l"C:\ti\ccsv5\tools\compiler\c5500_4.4.1\lib\rts55x.lib"
-l"rts55x.lib"
<Linking>
"C:/Users/dpowell/workspace_v5_3/lme/Debug/./lme-supy-dsp-bioscfg.cmd", line 402: error:
>> Compilation failure
filename or assignment expected instead of "("
"C:/Users/dpowell/workspace_v5_3/lme/Debug/./lme-supy-dsp-bioscfg.cmd", line 402: error: cannot find file ".hwi_vec"
"C:/Users/dpowell/workspace_v5_3/lme/Debug/./lme-supy-dsp-bioscfg.cmd", line 402: warning #10068-D: no matching section
warning #10247-D: creating output section ".csldata" without a SECTIONS specification
warning #10247-D: creating output section "EXTERNAL_SARAM1" without a SECTIONS specification
warning #10247-D: creating output section "SARAM" without a SECTIONS specification
warning #10247-D: creating output section "SUPY_REGISTERS" without a SECTIONS specification
warning #10247-D: creating output section "SUPY_REGISTERS2" without a SECTIONS specification
error #10010: errors encountered during linking; "lme.out" not built
gmake: *** [lme.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
-----------------------------------------------
I have realised that the error is due to a syntax error in the linker command file, i.e. the lines
.hwi_vec: align = 0x100 {
(.hwi_vec)
} RUN_START(HWI_A_VECS), …
Should be
.hwi_vec: align = 0x100 {
*(.hwi_vec)
} RUN_START(HWI_A_VECS), …
My question is – is there any way of controlling/modifying the automatic generation of this linker command file (from the .tcf file) to correct this error rather than me having to modify the command file manually each time a new one is needed to be created? I am also hoping to add the missing SECTIONS lines to deal with the other warnings.
I am aware that CCS V5 is not currently supported but the thought of jumping straight from CCS V1 to CCS V7 was too daunting and I am hoping to at least rebuild the project with CCS V5 before then steeling myself to tackling the jump from CCS V5 to CCS V7.
Any assistance would be appreciated.
Thanks Sasha for the prompt response.
Having set "bios.MEM.USERCOMMANDFILE = true;" and "bios.MEM.ENABLELOADADDR = false;" then the the following is generated automatically and correctly (?)
.hwi_vec: align = 0x100 {
*(.hwi_vec)
} RUN_START(HWI_A_VECS), …
All good so far.
However, I now appear to be unable to #include the auto-generated linker command file. I have unchecked Project-Properties->Build->Builder->Use-default-build-command and entered an alternative build command, i.e.
${CCS_UTILS_DIR}/bin/gmake –l”C:\ti\projects\dsp_xsp\dsk5510\lme-supy-dsp-bioscfg-addendum.cmd –k
This command file then #includes the auto-generated linker command.
This link process now gives the following errors during linking (I still have not dealt with the missing SECTIONS script but I have assumed that this is not relevant to the #include issue) –
---------------------------------------
"C:\\ti\\ccsv5\\utils\\bin\\gmake" "-lC:\\ti\\projects\\dsp_xsp\\dsk5510\\lme-supy-dsp-bioscfg-addendum.cmd" -k all
'Building target: lme.out'
'Invoking: C5500 Linker'
"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/bin/cl55" -v5510A --memory_model=large
-g --define=vc5510a --display_error_number --diag_warning=225 --ptrdiff_size=32 -z -m"lme.map" --stack_size=0x200 --heap_size=0x400 -i"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/lib" -i"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/include" -i"C:/ti/bios_5_42_00_07/packages/ti/rtdx/lib/c5500" -i"C:/ti/bios_5_42_00_07/packages/ti/bios/lib" -i"C:/ti/C55xxCSL/lib" -i"C:/Users/dpowell/workspace_v5_3/lme/Debug" -i"C:/Users/dpowell/workspace_v5_3/lme/Debug/source/application" -i"C:/Users/dpowell/workspace_v5_3/lme/Debug/source/drivers" --diag_suppress=10190
--warn_sections --ram_model --sys_stacksize=0x200 --fill_value=0xFFFF -o "lme.out"
-l"./lme-supy-dsp-bioscfg.cmd" "./source/application/thrSupyProc.obj" "./source/application/thrRxLEDControl.obj" "./source/application/thrPassiveSupyProc.obj" "./source/application/thrControl.obj" "./source/application/nco.obj" "./source/application/appXteraSupy.obj" "./source/application/appThreads.obj" "./source/application/appSupyRxFilters.obj" "./source/application/appStcSupy.obj" "./source/application/appResources.obj" "./source/application/appPassiveSupy.obj" "./source/application/appMain.obj" "./source/application/appIO.obj" "./source/application/appAlcatelSupy.obj" "./source/drivers/tlv5630.obj" "./source/drivers/pio.obj" "./source/drivers/dma_tlv5630.obj" "./source/drivers/dma_ad7663.obj" "./source/drivers/devParams.obj" "./source/drivers/csl_config.obj" "./source/drivers/c55xx_dma_mcbsp.obj" "./source/drivers/ad7663.obj" "./lme-supy-dsp-bioscfg_c.obj" "./lme-supy-dsp-bioscfg.obj" -l"C:\ti\C55xxCSL\lib\csl5510PG2_2x.lib" -l"C:\ti\dsplib_2.40.00\55xdspx.lib" -l"C:\ti\ccsv5\tools\compiler\c5500_4.4.1\lib\rts55x.lib" -l"rts55x.lib" "C:/ti/projects/dsp_xsp/dsk5510/lme-supy-dsp-bioscfg-addendum.cmd"
<Linking>
"C:/ti/projects/dsp_xsp/dsk5510/lme-supy-dsp-bioscfg-addendum.cmd", line 7: error:
>> Compilation failure
can't open file:
"C:\Users\dpowell\workspace_v5_3\lme\Debug/lme-supy-dsp-bioscfg.cmd"
warning #10247-D: creating output section ".csldata" without a SECTIONS specification
warning #10247-D: creating output section "EXTERNAL_SARAM1" without a SECTIONS specification
warning #10247-D: creating output section "SARAM" without a SECTIONS specification
warning #10247-D: creating output section "SUPY_REGISTERS" without a SECTIONS specification
warning #10247-D: creating output section "SUPY_REGISTERS2" without a SECTIONS specification
error #10010: errors encountered during linking; "lme.out" not built
gmake: *** [lme.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
---------------------------------------
Both linker command files, i.e.
C:\Users\dpowell\workspace_v5_3\lme\Debug/lme-supy-dsp-bioscfg.cmd
and
"./lme-supy-dsp-bioscfg.cmd"
are visible in Windows explorer and appear to be accessible.
Again, any assitance would be appreciated.
Thanks,
David.
Hello Sasha,
I have already tried using both forward and back slashes and have the same results.
Hello Sasha,
I'm now using a single linker command file to avoid any #include problems, though I have to modify the permissions to prevent CCS from overwriting this file (even when Generate Make files automatically is unchecked). I'm not sure why I have to do this and it is a little clunky to have to unchange the security permissions each time the linker command file has to change but it seems to work.
Once I have the build working then I will look at moving to CCS V7 but I am not relishing it!
Thanks for your assistance.
Kind regards,
David.