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.

Do I need to just start over?

Other Parts Discussed in Thread: MATHLIB, SYSBIOS

I've had nothing but bad luck with my C66x Evaluation board.  I installed everything from the TMDSEVM6678 CD, twice.  I found mention of the importance of installing everything in the correct folders, and ended up with CCS and everything else in C:\TI. 

I struggled to get any of the example projects to build, but was finally successful with the PCIE_exampleProject.  I then started to add in some EMIF-16 stuff, and was able to build and debug my code and actually see R/W waveforms using a scope connected to the eval board.  I was feeling good about myself.

I was transferring data to the EMIF using a basic for loop and wanted to see some speed improvements by using EDMA3.  Here's where everything fell apart.  I tried the edma3_drv_bios6_c6678_st_sample project, but couldn't get it to build.  First, troubles with include paths gave me compile errors.  I figured that out (I thought) and successfully compiled everything, only to have linker errors.  I ran around in circles for most of a day trying different things with no success.

I went back to my PCIe example (that was building and debugging fine) and tried to add in some of the EDMA3 stuff.  I added some of the includes from the edma3 example; added the (supposed) correct include paths, and re-built.  Okay so far.  Then I added a call to edma3init (), which couldn't be found because I hadn't added any libraries yet.  I tried to add in what I thought were the correct libraries, but could never get a clean build.

Finally, I gave up and commented out everything I had added related to EDMA, only to find that I could no longer get a clean build of my PCIe example. 

Obviously, I have something broken.  Either I didn't get things installed properly to begin with, or I missed some required step that sets up the build environment properly.  I don't understand how I broke my PCIe example, but I've succeeded in taking several steps backwards over the course of almost a week.  I would love to just give up, but I'm tasked with figuring this out for a major project.

Do I need to uninstall everything and start over?  Is there somewhere I can go to get step by step setup instructions that would solve my link problems?  It seems I'm missing some documentation that describes which libraries need to be included for which peripherals, and where they are located.

My installation is on 64-bit Windows 7.  All files are installed together in the C:\TI folder.  I didn't understand the install options, so I installed everything on the TMDSEVM6678 CD.  I have installed (in C:\TI) :

\bios_5_41_11_38
\bios_6_32_05_54
\bios_6_33_02_31
\ccsv5
\cg_xml
\dsplib_c66x_3_1_0_0
\edma3_lld_02_11_03_03
\grace_1_10_00_17
\imglib_c66x_3_1_0_1
\ipc_1_23_05_40
\ipc_1_24_02_27
\mathlib_c66x_3_0_1_1
\mcsdk_2_00_06_18
\ndk_2_20_06_35
\pdk_C6670_1_0_0_18
\pdk_C6678_1_0_0_18
\uia_1_00_03_25
\xdais_7_21_01_07
\xdctools_3_22_04_46
\xdctools_3_23_01_43
imglib_c66x_3_1_0_1_Win32.exe
ipc_setupwin32_1_24_02_27.exe
mathlib_c66x_3_0_1_1_Win32.exe
dsplib_c66x_3_1_0_0_Win32.exe
cg_xml-v2_30_00-Setup.exe
xdctools_setupwin32_3_23_01_43.exe
bios_setupwin32_6_33_02_31.exe

Should I start over?  What is the correct installation folder I should use?  Any help would be greatly appreciated.

  • The MCSDK you are using is old. Can you upgrade to the new one. The newer version is available in the link below.

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

    Are you adding the edma3 lld library in your project. The EDMA lld listed in your list has example that can help you implement EDMA using the LLD.

    Also you can install anywhere. You don't need to uninstall the already installed ones. Just create a separate folder for the new version and install all these packages into it. One suggestion though is to install all the package of one version of MCSDK in one folder. For example the current version is MCSDK 2.0.8, so create a folder MCSDK2_08 and install all the packages into it.

    One quick question, where did you get grace? Was it installed from the CD  that you got with C6678?

    Thanks,

    Arun.

  • Arun,

    Thank you for your help.  I will upgrade the MCSDK as you suggested. 

    I was able to get my project to build.  I found another post in the BIOS forums that indicated I was missing the xdc.useModule("ti.sysbios.family.c66.tci66xx.CpIntc"); in my config file.  As a total newbie, I didn't know I had a config file, or what it contained. 

    I'm still struggling, but making a little progress.  I've now added more of the edma3 code and successfully compile, but I'm still getting link errors about undefined symbols.  As I add additional code, it appears that more library routines are being pulled in that reference other libraries that I haven't linked to yet.  It would be helpful if there was some way to easily find which library contains a specific symbol.  For example, my build this morning gave me the following two undefined symbols:

     ti_sysbios_hal_Cache_CacheProxy_inv__E C:\ti\bios_6_33_02_31\packages\ti\sysbios\lib\instrumented_e66\sysbios\sysbios.lib<BIOS.obj>
     ti_sysbios_hal_Cache_CacheProxy_wb__E  C:\ti\bios_6_33_02_31\packages\ti\sysbios\lib\instrumented_e66\sysbios\sysbios.lib<BIOS.obj>

    I'm not sure where those are from.  I was able to find the last batch of undefined symbols simply by trial and error, linking in additional libraries.  I'm guessing there is a better way?

    Yes, everything that I have installed came from the TMDSEVM6678 installation CD, including Grace.  What is it?

    Again, thanks for your help.