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.

XDC issue?

I am using new CCS 5.1 for my C6424 project with CGT 7.3.1 for C6000, BIOS5 5.41.11.38 and EDMA Driver 1.11.02.05.

If I use old XDC 3.20.08.88, all works fine. If I use newer XDC Tools versions 3.22.xx.xx or 3.23.xx.xx, I can't compile my project.

I have these two outputs:

With XDC 3.22.04.46:

'Building file: ../my_pjt.cfg'

'Invoking: XDCtools'

"C:/ti/xdctools_3_22_04_46/xs" --xdcpath="C:/ti/bios_5_41_11_38/packages;D:/Texas Instruments/Packages/edma3_lld_01_11_02_05/packages;C:/Users/my/Desktop/my_pjt/packages;" xdc.tools.configuro -o configPkg -t ti.targets.C64P -p ti.platforms.evm6424 -r debug -c "C:/ti/ccsv5/tools/compiler/c6000" --tcf -w "../my_pjt.cfg"

making package.mak (because of package.bld) ...

generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

gmake.exe: *** No rule to make target `package/cfg/my_pjt_p64P.xdl', needed by `linker.cmd'.  Stop.

js: "C:/ti/xdctools_3_22_04_46/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.

gmake: *** [configPkg/compiler.opt] Error 1

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

**** Build Finished ****

With  XDC 3.20.08.88:

'Building file: ../my_pjt.cfg'

'Invoking: XDCtools'

"C:/ti/xdctools_3_20_08_88/xs" --xdcpath="C:/ti/bios_5_41_11_38/packages;D:/Texas Instruments/Packages/edma3_lld_01_11_02_05/packages;C:/Users/my/Desktop/my_pjt/packages;" xdc.tools.configuro -o configPkg -t ti.targets.C64P -p ti.platforms.evm6424 -r debug -c "C:/ti/ccsv5/tools/compiler/c6000" --tcf -w "../my_pjt.cfg"

making package.mak (because of package.bld) ...

generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

configuring my_pjt.x64P from package/cfg/my_pjt_x64P.cfg ...

Inside UART getLibs

    will link with ti.sdo.pspdrivers.drivers.uart:lib/c6424/Debug/uart_bios_drv.lib

Inside pal_os getLibs

    will link with ti.sdo.pspdrivers.pal_os.bios:lib/c6424/Debug/palos_bios.lib

Inside Pal_sys C6424 getLibs

    will link with ti.sdo.pspdrivers.pal_sys.c6424:lib/Debug/pal_sys_bios.lib

Inside EDMA3 Drv Sample getLibs

    will link with ti.sdo.edma3.drv.sample:lib/c6424/Debug/edma3_drv_bios_sample.lib

Inside EDMA3 Drv getLibs

Target Name: C64P

    will link with ti.sdo.edma3.drv:lib/Debug/edma3_drv_bios.lib

Inside EDMA3 RM getLibs

    will link with ti.sdo.edma3.rm:lib/c6424/Debug/edma3_rm_bios.lib

cl64P package/cfg/my_pjt_x64P.c ...

asm64P package/cfg/my_pjt_x64Pcfg.s62 ...

cl64P package/cfg/my_pjt_x64Pcfg_c.c ...

'Finished building: ../my_pjt.cfg'

 

What is the problem? Why doesn't XDC 3.22.04.46 work? Is there an incompatibility between XDC 3.22.04.46 and DSP/BIOS 5.41.11.38?

Thanks!

Umberto

 

  • Umberto,

    I haven't been able to reproduce your results locally.

    I was able to successfully build the BIOS 5.41.11.38 evm6424 stairstep example using the 3.22.04.46 and xdc 3.23.00.32 tools.

    Can you post a trimmed down version of your project that demonstrates the problem?

    Alan

  • Alan,

    thank you for your reply.

    In attachment a project with UART example extracted from PSP 1.10.03 for C6424 provided by TI.

    I am able to compile it with XDC 3.20.08.88, but not with XDC 3.22.04.46.

    Could you help me to understand my problem?

    Thank you very much!

    Umberto

     

    C6424_PSP_UART.zip
  • Umberto,

    I was able to import and reproduce your results.

    I've asked a local expert on this topic to have a look.

    Alan

  • Umberto,
    I think I found a bug in XDCtools 3.22.04.46 that is causing the problem you have. The only workaround I can think of right now requires you to edit a file in your XDCtools installation. You can try to do this until we find something better:
    - go to xdctools_3_22_04_46\packages\xdc\tools\configuro\template
    - save a copy of package.bld.xdt so you can go back to its original content if needed
    - open package.bld.xdt
    - look for the line 124, which should contain:
     
    var suffix = '.p' + targ.suffix;
    - replace '.p' with '.x'
    - rebuild

    Let me know if this works for you.

  •  

    Alan and Sasha,

    thank you for your help.

    I followed Sasha's workaround: now I am able to build .cfg file, but the project doesn't link.

    Here CCSv5 console output:

     

    **** Build of configuration Debug for project uart ****

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

    'Building file: ../uart.cfg'

    'Invoking: XDCtools'

    "C:/ti/xdctools_3_22_04_46/xs" --xdcpath="C:/ti/bios_5_41_11_38/packages;D:/Texas Instruments/Packages/edma3_lld_01_11_02_05/packages;C:/Users/my/Desktop/C6424_PSP_UART/packages;" xdc.tools.configuro -o configPkg -t ti.targets.C64P -p ti.platforms.evm6424 -r debug -c "C:/ti/ccsv5/tools/compiler/c6000" --tcf -w "../uart.cfg"

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring uart.x64P from package/cfg/uart_x64P.cfg ...

    Inside EDMA3 Drv Sample getLibs

        will link with ti.sdo.edma3.drv.sample:lib/c6424/Debug/edma3_drv_bios_sample.lib

    Inside EDMA3 Drv getLibs

    Target Name: C64P

        will link with ti.sdo.edma3.drv:lib/Debug/edma3_drv_bios.lib

    Inside EDMA3 RM getLibs

        will link with ti.sdo.edma3.rm:lib/c6424/Debug/edma3_rm_bios.lib

    Inside Pal_sys C6424 getLibs

        will link with ti.sdo.pspdrivers.pal_sys.c6424:lib/Debug/pal_sys_bios.lib

    Inside UART getLibs

        will link with ti.sdo.pspdrivers.drivers.uart:lib/c6424/Debug/uart_bios_drv.lib

    Inside pal_os getLibs

        will link with ti.sdo.pspdrivers.pal_os.bios:lib/c6424/Debug/palos_bios.lib

    cl64P package/cfg/uart_x64P.c ...

    asm64P package/cfg/uart_x64Pcfg.s62 ...

    cl64P package/cfg/uart_x64Pcfg_c.c ...

    'Finished building: ../uart.cfg'

    ' '

    'Building file: ../psp_bios_uart_sample_read_write.c'

    'Invoking: C6000 Compiler'

    "C:/ti/ccsv5/tools/compiler/c6000/bin/cl6x" --cmd_file="..\Debug\configPkg\compiler.opt"  -mv64+ -g --define=_DEBUG --define=CHIP_C6424 --define=BIOS_BUILD --define=PSP_UART_EDMA_SUPPORT --include_path="C:/ti/ccsv5/tools/compiler/c6000/include" --display_error_number --diag_suppress=238 --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="psp_bios_uart_sample_read_write.pp" --cmd_file="./configPkg/compiler.opt"  "../psp_bios_uart_sample_read_write.c"

    'Finished building: ../psp_bios_uart_sample_read_write.c'

    ' '

    'Building file: ../psp_bios_uart_st_sample_main.c'

    'Invoking: C6000 Compiler'

    "C:/ti/ccsv5/tools/compiler/c6000/bin/cl6x" --cmd_file="..\Debug\configPkg\compiler.opt"  -mv64+ -g --define=_DEBUG --define=CHIP_C6424 --define=BIOS_BUILD --define=PSP_UART_EDMA_SUPPORT --include_path="C:/ti/ccsv5/tools/compiler/c6000/include" --display_error_number --diag_suppress=238 --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="psp_bios_uart_st_sample_main.pp" --cmd_file="./configPkg/compiler.opt"  "../psp_bios_uart_st_sample_main.c"

    'Finished building: ../psp_bios_uart_st_sample_main.c'

    ' '

    'Building file: ../uart_kprintf.c'

    'Invoking: C6000 Compiler'

    "C:/ti/ccsv5/tools/compiler/c6000/bin/cl6x" --cmd_file="..\Debug\configPkg\compiler.opt"  -mv64+ -g --define=_DEBUG --define=CHIP_C6424 --define=BIOS_BUILD --define=PSP_UART_EDMA_SUPPORT --include_path="C:/ti/ccsv5/tools/compiler/c6000/include" --display_error_number --diag_suppress=238 --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="uart_kprintf.pp" --cmd_file="./configPkg/compiler.opt"  "../uart_kprintf.c"

    'Finished building: ../uart_kprintf.c'

    ' '

    'Building target: uart.out'

    'Invoking: C6000 Linker'

    "C:/ti/ccsv5/tools/compiler/c6000/bin/cl6x" --cmd_file="..\Debug\configPkg\compiler.opt"  -mv64+ -g --define=_DEBUG --define=CHIP_C6424 --define=BIOS_BUILD --define=PSP_UART_EDMA_SUPPORT --display_error_number --diag_suppress=238 --diag_warning=225 --abi=coffabi -z -m"uart.map" --warn_sections -i"C:/ti/ccsv5/tools/compiler/c6000/lib" -i"C:/ti/ccsv5/tools/compiler/c6000/include" --reread_libs --rom_model -o "uart.out" -l"./configPkg/linker.cmd"  "./uart_kprintf.obj" "./psp_bios_uart_st_sample_main.obj" "./psp_bios_uart_sample_read_write.obj" -l"libc.a" 

    <Linking>

    error: cannot find file

       "C:\Users\my\Desktop\C6424_PSP_UART\Debug\configPkg\package\cfg\uart_p6

       4P.o64P"

    error #10010: errors encountered during linking; "uart.out" not built

    >> Compilation failure

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

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

    **** Build Finished ****

    Could you help me again? Do you think this problem will be resolved in the next XDC release? When is new release scheduled?
    Thanks!
    Umberto

  • That's the similar problem, but in a different file. In the same directory where you made a previous change, there is a file package.xs.xdt. Find the line 31:
    base + '_p' + suffix + '.o' + suffix,

    and make the same change again, where 'p' is replaced by 'x', so the line becomes:
    base + '_x' + suffix + '.o' + suffix,

    I have filed a bug about this, but I can't tell yet if it will be fixed for the next 3.23.01 release, which should happen in a month or so. Can you tell me have you had a specific reason for upgrading from 3.20 to 3.22? We generally recommend upgrading to a newest release wherever possible, but the functionality you are using when passing the option --tcf is there only to support users while they are moving to SYS/BIOS 6, and eventually we will remove that support.

  •  

    Sasha,

    with your suggestions I am able to compile my project.

    I haven't a specific reason to use 3.22, I'd like to use 3.22 because it is the newer release provided by default with CCSv5.

    Are you sure your suggestions solve completely my problem or could I have other unpredictable problems in my .out file?

    In your opinion, is better for me to use 3.20 or 3.22 with your "patch"?

    Do you think it is too hard for me moving from DSP/BIOS 5 to SYS/BIOS 6? I think it isn't easy...

    Thanks for your help!

    Umberto

     

  • Umberto,
    if you built your project successfully, you shouldn't have any problems at runtime. You can keep using the patched 3.22 for that project and probably for others, but what could happen is that if you build another project with different settings, you may get an error about a file that can't be found. I haven't tested my patch except on your project.

    How hard it is to upgrade from DSP/BIOS 5 to SYS/BIOS 6 really depend on how large is your code base that calls into DSP/BIOS 5 APIs. There is a BIOS conversion guide (SPRAAS7), where you can find how to convert your existing code, or even use some DSP/BIOS 5 code in the SYS/BIOS 6 context.

  •  

    Sasha,

    I'll try to move to SYS/BIOS 6.

    Thanks for your support!

     

  • I'm seeing the same error as noted above:

    "C:/TI/xdctools_3_23_02_47/packages/xdc/cfg/global.h", line 39: fatal error #5: could not open source file "C:/Users/mask01/Documents/CCSWorkspace1/VibrationMonitorRTSC2/Debug/configPkg/package/cfg/VibrationMonitor_p674.h"
    1 fatal error detected in the compilation of "../BoardSpecific/SpiConfig.cpp".
    Compilation terminated.

    I tried changing both of the files mentioned above: package.bld.xdt and package.xs.xdt but no luck. Do you have any other suggestions?

  • Your error is different and probably not related to the bug that caused the other errors from this thread. Please open a new thread, and check if the file C:/Users/mask01/Documents/CCSWorkspace1/VibrationMonitorRTSC2/Debug/configPkg/package/cfg/VibrationMonitor_p674.h exists.

  • I've already posted this problem here:

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/190696.aspx

    No, VIbrationMonitor_p674.h does not exist. That's the whole problem.