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.

C6678 EDMA3 example callback issues

Other Parts Discussed in Thread: SYSBIOS, BIOSLINUXMCSDK

I'm trying a new post, because my last one has not generated any replies (http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/208189/739753.aspx).  Maybe a new post will catch someone's eye?

I'm using the C6678 EVM, installing the development software and libraries directly off of the TMDSEVM6678 disk (onto a Windows 7 laptop).  This leaves me with:

- CCS 5.1.0.09000.

- MCSDK version 2.0.6.18

- EDMA3 LLD version 2.11.3.3

- BIOS version 6.33.2.31

I'm trying to run the EDMA3 LLD example (edma3_drv_bios6_c6678_st_sample) that uses a callback function in the EDMA3_DRV_requestChannel call.  I can get the project to build (though not without having to tweak include paths in the project properties) and it loads and starts to run under the debugger.  The callback function never gets called, and I'm stuck in the "waiting for interrupt" loop.

I found a post (http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/126327/461644.aspx#461644) describing my exact problem, and TI employee Dan Rinkes replied, indicating he had a working solution.  He posted the .out debug file, which I download that and ran successfully.  Dan also mentions an FTP upload of his folder, but I can't locate it.

I'm assuming that I have something wrong with my CCS / library setup, but I don't know where to look for a solution.  

I've spent the better part of a week hitting my head against the wall on this one, and I'm desperate for some help.

  • Andrew,

    You should be able to build this example without having to change any of the properties.  There are two applications that you actually need, one in the <edma3_lld_dir>\examples\edma3_driver\evm6678\sample_app directory and the other in the <edma3_lld_dir>\examples\edma3_driver\evm6678\rtsc_config directory.  build the one in the rtsc_config directory first, and it will generate the configuration file that will then let you build the other application without having to fool with the directories.  I just rebuild this with the same version of tools that you are using and was able to execute the application successfully.

    Also, just to be sure, I'll remind you that you also should be using the 6678 GEL file to do the board initialization.  You may already be doing this, so ignore this suggestion if you are.

    Regards,

    Dan

  • Dan,

    Thank you for your reply.

    I assumed that I wouldn't have to make any changes, but I did.  To start with, I didn't understand that I needed to build the rtsc_config project first, and I forced a clean build by adding paths for includes and libraries.  I was able to finally get a clean build, but the projects wouldn't run.  That's why I mentioned in my original post that I believe I've managed to screw up my setup.

    What is the preferred method of undoing what I've done (without doing a complete re-install), to try and re-build these two projects?

  • Dan,

    I had things so screwed up that I couldn't build the project at all anymore.  I have both edma3_lld_02_11_03_03 and edma3_lld_02_11_06_01 on my system.  I was using the project in the 2.11.6.1 folder. 

    I removed the projects from CCS Project Explorer, and renamed the folders (-save).  I then copied the same project out of the 2.11.3.3 folders (both the examples\src folder and the examples\evm6678 folder).  I re-imported them both into CCS.

    I first built the configuration project and saw this:

    **** Clean-only build of configuration Release for project edma3_drv_bios6_c6678_st_sample_configuration ****

    C:\ti\ccsv5\utils\bin\gmake -k clean DEL /F  "configPkg\linker.cmd" RMDIR /S/Q  "configPkg\" 'Finished clean' ' '

    **** Build Finished ****

    **** Build of configuration Release for project edma3_drv_bios6_c6678_st_sample_configuration ****

    C:\ti\ccsv5\utils\bin\gmake -k all 'Building target: configPkg/linker.cmd' 'Invoking: XDCtools' "C:/ti/xdctools_3_23_01_43/xs" --xdcpath="C:/ti/edma3_lld_02_11_03_03/packages;C:/ti/bios_6_33_02_31/packages;" xdc.tools.configuro -o "configPkg" -t ti.targets.elf.C66 -p ti.platforms.evm6678 -r whole_program -c "C:/ti/ccsv5/tools/compiler/c6000"  ../edma3_drv_bios6_c6678_st_sample.cfg making package.mak (because of package.bld) ... generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ... configuring edma3_drv_bios6_c6678_st_sample.pe66 from package/cfg/edma3_drv_bios6_c6678_st_sample_pe66.cfg ... warning: ti.sysbios.BIOS: "C:/ti/bios_6_33_02_31/packages/ti/sysbios/BIOS.xs", line 446: Profile Deprecation Warning ti.sysbios.BIOS: The 'whole_program' build profile will not be supported in future releases of SYS/BIOS.  Use 'release' or 'debug' profiles together with the 'BIOS.libType' configuration parameter to specify your preferred library.  See the compatibility section of your SYS/BIOS release notes for more information. cle66 package/cfg/edma3_drv_bios6_c6678_st_sample_pe66.c ... lnke66 edma3_drv_bios6_c6678_st_sample.pe66 ... 'Finished building target: configPkg/linker.cmd' ' '

    **** Build Finished ****

    I then tried to build the sample project, and got this:

    **** Clean-only build of configuration Debug for project edma3_drv_bios6_c6678_st_sample ****

    C:\ti\ccsv5\utils\bin\gmake -k clean DEL /F  "configPkg\compiler.opt" "configPkg\linker.cmd"  "edma3_drv_bios6_c6678_st_sample.out" The system cannot find the file specified. gmake: [clean] Error 1 (ignored) RMDIR /S/Q  "configPkg\" The system cannot find the file specified. gmake: [clean] Error 2 (ignored) DEL /F "common.pp" "dma_chain_test.pp" "dma_link_test.pp" "dma_misc_test.pp" "dma_ping_pong_test.pp" "dma_poll_test.pp" "dma_test.pp" "main.pp" "qdma_link_test.pp" "qdma_test.pp" DEL /F "common.obj" "dma_chain_test.obj" "dma_link_test.obj" "dma_misc_test.obj" "dma_ping_pong_test.obj" "dma_poll_test.obj" "dma_test.obj" "main.obj" "qdma_link_test.obj" "qdma_test.obj" 'Finished clean' ' '

    **** Build Finished **** Buildfile generation error occurred.. This project does not contain a buildable RTSC Configuration (.cfg) file. In order for it to build, this project must contain one RTSC Configuration file that is not excluded from build. Build stopped..

     

    So, copying the project from the older version of edma3_lld didn't work.  Do I have to re-install everything?, or is there a way to re-import the raw projects and start over?

    Thanks again for your help.

  • In an attempt to do a really clean install, I brought the EVM DVD home with me and installed it on my home PC (Windows 7 Home Premium).

    I did a fresh install of all software from the EVM DVD, following the steps defined in the readme files (1st CCS, then the EMU packs, then the MCSDK).

    I imported the sample and config projects (edma3_drv_bios6_c6678_st_sample) and the ti.sdo.edma3.drv and .rm projects.

    I tried to build the _config project and got this:

    **** Build of configuration Release for project edma3_drv_bios6_c6678_st_sample_configuration ****

    make all

    Cannot run program "make": Launching failed
    Error: Program "make" is not found in PATH

    PATH=[C:\ti\ccsv5\ccs_base\common\bin;C:\ti\ccsv5\ccs_base\common\uscif;C:\ti\ccsv5\ccs_base\DebugServer\license;C:/ti/ccsv5/eclipse/jre/bin/client;C:/ti/ccsv5/eclipse/jre/bin;C:/ti/ccsv5/eclipse/jre/lib/i386;C:/ti/xdctools_3_23_01_43;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\DMIX;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Intel\DMIX;C:\Program Files (x86)\Common Files\Ulead Systems\MPEG;C:\Program Files (x86)\Common Files\Adobe\AGL;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;C:/ti/xdctools_3_23_01_43;C:\ti\ccsv5\eclipse;]

    **** Build Finished ****


    Why would the install assume I had a make utility in my path?  So I changed the properties\C/C++Build\Build command to ${CCS_UTILS_DIR}/bin/gmake -k.

    I then got a successful build.

    So, I moved on to the sample project and tried to build that.  It also couldn't find make.  I changed the same properties field and got this:


    **** Clean-only build of configuration Debug for project edma3_drv_bios6_c6678_st_sample ****

    C:\TI\CCSV5\UTILS\BIN\gmake -k clean
    gmake: *** No rule to make target `clean'.

    **** Build Finished ****

    **** Build of configuration Debug for project edma3_drv_bios6_c6678_st_sample ****

    Nothing to build for project edma3_drv_bios6_c6678_st_sample


    When I try to open one of the source files, I get this:

    Could not open the editor: Must specify a URI scheme:EDMA3LLD_BIOS6_INSTALLDIR/examples/edma3_driver/src/common.c

    Apparently the EDMA3LLD_BIOS6_INSTALLDIR path variable isn't defined automatically for me?  So I defined it in the Path Variables section of the project's properties (to C:\TI\EDMA3_LLD_02_11_03_03).  I could now open the source files.

    I attempted to re-build, but still get the "no rule to make target 'clean' error message.  

    So I shut down CCS and re-started.  My next attempt at building this project gave me the same error.


    What am I doing wrong?

  • Andrew,

    I'd suggest getting the latest version of the MCSDK at the following location and then trying again.  I don't recommend installing anything on the DVD, as that content gets out of date much more quickly than we can update the releases.  

    http://www.ti.com/tool/bioslinuxmcsdk

    Regards,

    Dan