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/TMS320C6748: Need help to build EDMA3 LLD example code

Part Number: TMS320C6748


Tool/software: Code Composer Studio

I have downloaded edma3_lld_02_12_00_20 and I'm trying to build the edma3_driver example. I'm accustomed to tweaking the include path and linker search path to get examples to build, but this one has me beaten.

When I try to build the configuration sub-project, I get a "can't find library" error. See console output below. It might be due to "Repository resolves to a location that does not exist" message that I see in BuildSettings>General>RTSC>ProductsAndRepositories>OtherRepositories, where there's an entry ../../../../../packages. Can anyone tell me what this ought to be pointing to? Or which folder the relative path is starting from? Or maybe this isn't the problem at all? I assume this is pointing to "C:/ti/edma3_lld_02_12_00_20/packages" which does exist.

But the missing lib is not in C:\ti\edma3_lld_02_12_00_20\packages. The only place I can find it is in C:\ti\xdctools_3_25_03_72\packages\ti\targets\rts6000\lib which is puzzling because I thought we were using XDCtools 3.31.0.24_core, so where should the missing lib be?

In desperation, I added xdctools 3.25.03 under Other Repositories, but that creates greater confusion, so that doesn't seem to be the solution.

Please help!

(Also, as a side issue, why are the examples set up to use COFF? Is there anything to beware of when changing them to ELF, as I will surely need to do when I incorporate them into my program.)

Thanks

Roy

Here's part of the console output:

configuring ccs_edma3_drv_bios6_c6748_st_sample.x674 from package/cfg/ccs_edma3_drv_bios6_c6748_st_sample_p674.cfg ...

js: "C:/ti/xdctools_3_31_00_24_core/packages/xdc/cfg/Main.xs", line 48: XDC runtime error: can't find the library 'lib/ti.targets.rts6000.a674' specified by package ti.targets.rts6000. It wasn't found along the path 'C:/ti/edma3_lld_02_12_00_20/packages;C:/ti/tirtos_c6000_2_00_01_23/packages;C:/ti/tirtos_c6000_2_00_01_23/products/bios_6_40_01_15/packages;C:/ti/tirtos_c6000_2_00_01_23/products/ipc_3_10_01_11/packages;C:/ti/tirtos_c6000_2_00_01_23/products/ndk_2_23_01_01/packages;C:/ti/tirtos_c6000_2_00_01_23/products/uia_2_00_00_28/packages;C:/ti/bios_6_35_04_50/packages;C:/ti/ccsv6/ccs_base;C:/ti/xdctools_3_31_00_24_core/packages;..;'.

gmake.exe: *** [package/cfg/ccs_edma3_drv_bios6_c6748_st_sample_p674.xdl] Error 1

  • Hi,

    me again,

    I now realise the COFF/ELF comment was not a side issue. Changing it to ELF means it looks for 'lib/ti.targets.rts6000.ae674' instead of COFF format 'lib/ti.targets.rts6000.a674'. It turns out that later versions of libraries are distributed only in ELF format, but the demo programs still use COFF. Hence the missing library.

    So we move on to a new problem:

    There's a line in file ccs_edma3_drv_bios6_c6748_st_sample.cfg:   xdc.loadPackage('ti.sdo.edma3.drv.sample');

    which presumably causes this error in the problems window:  xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.sdo.edma3.drv.sample' along the path: '../../../../packages;c:/ti/tirtos_c6000_2_00_01_23/packages;c:/ti/tirtos_c6000_2_00_01_23/products/bios_6_40_01_15/packages;c:/ti/tirtos_c6000_2_00_01_23/products/ipc_3_10_01_11/packages;c:/ti/tirtos_c6000_2_00_01_23/products/ndk_2_23_01_01/packages;c:/ti/tirtos_c6000_2_00_01_23/products/uia_2_00_00_28/packages;C:/ti/ccsv6/ccs_base;C:/ti/edma3_lld_02_12_00_20/examples/edma3_driver/evm6748/rtsc_config/.config/;C:\ti\xdctools_3_31_00_24_core\packages;'. Ensure that the package path is set correctly. 

    According to some help that popped up, PACKAGE NOT FOUND can either be due to the path being wrong, or the package not building properly. I'm pretty sure the path is correct because this comes up in the console window

    "C:/ti/xdctools_3_31_00_24_core/xs" --xdcpath="C:/ti/tirtos_c6000_2_00_01_23/products/bios_6_40_01_15/packages;c:/ti/bios_6_35_04_50/packages;C:/ti/edma3_lld_02_12_00_20/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o "configPkg" -t ti.targets.elf.C674 -p ti.platforms.evm6748 -r debug -c "C:/ti/ccsv6/tools/compiler/c6000_7.4.15" ../ccs_edma3_drv_bios6_c6748_st_sample.cfg

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

    configuring ccs_edma3_drv_bios6_c6748_st_sample.xe674 from package/cfg/ccs_edma3_drv_bios6_c6748_st_sample_pe674.cfg ...

    Inside EDMA3 Drv Sample getLibs

    will link with ti.sdo.edma3.drv.sample:lib/c6748-evm/674/debug/edma3_lld_drv_sample.ae674

    Inside EDMA3 Drv getLibs

    will link with ti.sdo.edma3.drv:lib/674/debug/edma3_lld_drv.ae674

    Inside EDMA3 RM getLibs

    will link with ti.sdo.edma3.rm:lib/c6748-evm/674/debug/edma3_lld_rm.ae674

    cle674 package/cfg/ccs_edma3_drv_bios6_c6748_st_sample_pe674.c ...

    'Finished building target: configPkg/linker.cmd'

    which doesn't look like it has any errors. Yet there is 1 Error in the Problems window. I've done a clean of both projects, but this still happens, and the main project won't build because of the error in the sub-project.

    Any idea what's going wrong?

    Thanks

    Roy

     

  • Hi

    Still me!  (I may be talking to myself here, but let's hope I'm not - anyway, that's no reason to stop)

    So, I figure there's a problem with the xdc package ti.sdo.edma3.drv.sample and I try to import it as a project into CCS so I can hopefully find out what's going on inside it.

    This error comes up

    Project Import Summary

    Error: Import failed for project 'ti.sdo.edma3.drv.sample' because its meta-data cannot be interpreted. Please contact support.

    Meta-data. As this is a meta-only project, that doesn't narrow it down much.

     

    Poking around in the files, I see in .project a mention of CoffErrorParser in a key/value pair. Could that be a problem now I've switched to ELF?

     

    Thoughts anyone, please?


    Roy

  • Well, I must say it's a disappointingly lonely forum. Just me and the tumbleweed. But if anyone has the same problem in the future, here's what worked for me:
    1. No need to change the include path or linker search path.
    2. Change both projects to produce ELF output (in Build Settings > General)
    3. Change the Runtime lib support to rts6740_elf.lib

    And, if you get a linker complaint about insufficient IRAM, if might be because your platform file has L2 cache turned on, so changing platform to reduce cache or turn it off might work. Or , what worked for me, edit the linker.cmd file and change IRAM to DDR because there's plenty of that.

    Ironically, now the program runs, it produces a message saying to contact the BIOS PSP team if you need support. So maybe I'm posting on the wrong bit of the forum. Nice to know. But a bit late.
  • Roy,

    I apologize for us not replying here. Yes it did belong in another forum but we should have moved it for you. Unfortunately we missed it completely. The good news is that we now have some better tools for managing threads. That is how I found this thread, as the tool pointed it out as one that was long overdue for a reply. Hopefully your next forum experience is a better one.

    Regards,
    John