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.

Connected Audio Framework Compilation Problem

Hi

I am trying to compile the Connected Audio Framework (current version v02.00.02.04) following instructions provided by the download. However, the project has a lot of source file naming/include errors (capitalized vs lower case filenames). After correcting those errors, the project complains about unresolved symbols (PAL_osCheckTimeOut, PAL_osProtectEntry, PAL_osSemCreate, etc) in i2c_bios_drv_lib.lib. What could be wrong? I am using CCSv5, compiler version 4.4.1, DSP/BIOS version 5.42.1.09.

Thanks.

  • Hi,

    without any further detail, I can only suggest that an "unresolved symbol" error is typically when the include paths/variables need addition/correction.  Specifically the library includes in the linkers file search path.

    Please see this wiki and keep us informed.

    Best Regards,
    Lisa 

  • Hi Lisa,

    Thanks for your response. What other details would be needed? Does CAF compile fine out of the box for you?

    Thanks.

  • Hi,

    it is always a good idea to post specifics and steps taken.  Ie ccs version, compiler version, how did you try to import/use/build the examples ... steps taken.

    Please be aware that this software package does not come from the ccs team so you may also, if  what I am about to write does not help, want to post to the device forum.  We are actually not familiar with this package.

    Having said this I downloaded a version of that package.  I found it built fine if I imported all projects from the top level directory into the workspace.  To import I used project->import existing ccs/eclipse project.

    Hope this helps.

    Best Regards,
    Lisa 

  • Hi Lisa,

    Thanks again for your quick response. As stated in the original post, I am using CCSv5 (5.4.0.00091 to be specific), compiler version 4.4.1, DSP/BIOS version 5.42.1.09, and followed the instructions provided in the package: delete .metadata/, switch workspace location to install directory, import all projects in the package, and build all. The original topic was posted in the C5000 forum, but it seems to be moved to the CCS forum earlier today (could the moderator please move it back?).

    From the first compilation there were 3 errors:

    • could not open source file "pal_osSem.h"
    • File connections\SDDSKUSB_Connection.xml does not exist.
    • File connections\TIXDS100v2_Connection.xml

    The .xml files are included by .ccxml files for target configurations. I deleted the two target configurations (since compilation does not depend on target conf). In regards to the source file, I did a search under the install directory for that filename. Nothing was found. The only result was <install dir>/c55x5_drivers/pal_os/inc/pal_ossem.h. So I changed that filename to pal_osSem.h and recompiled.

    It then complained: could not open source file "pal_osProtect.h". Turns out, there are source files that included both "pal_osProtect.h" and "pal_osprotect.h". So, I duplicated the file (ln -s does not work as it results in another error later...). After recompilation, it erred:

    • unresolved symbol _PAL_osWaitMsecs, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<dda_i2c.obj>
    • unresolved symbol _PAL_osSemTake, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osSemGive, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osSemDelete, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osSemCreate, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osProtectExit, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osProtectEntry, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osGetCurrentTick, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • unresolved symbol _PAL_osCheckTimeOut, first referenced in <install dir>/c55x5_drivers/i2c/build/ccsv5/Release/i2c_bios_drv_lib.lib<ddc_i2c.obj>  
    • cannot find file "palos_bios_lib.lib"    CSL_USB_IsoFullSpeedExample_Out             C/C++ Problem

    Indeed, project palos_bios_lib has errors:

    • could not open source file "pal_osWait.h"    pal_osWait.c    /palos_bios_lib    line 27    C/C++ Problem
    • could not open source file "pal_osList.h"    pal_osList.c    /palos_bios_lib    line 38    C/C++ Problem
    • gmake: *** No rule to make target `<install dir>/c55x5_drivers/pal_os/src/bios/src/pal_osProtect.c', needed by `pal_osProtect.obj'.  

    Yet again I corrected the filename errors, and additional filename errors. After three re-tries of importing/compiling the project, I am stuck at the same place with unresolved symbols, unfound file "palos_bios_lib.lib", and the gmake error, etc. I am really lost.. What steps did you take to compile the project? What versions of tools did you use? (sometimes CCS would report no errors in the "Problems" view, but actually have compile errors in the "Console" view)

    Thanks.

  • Hi,

    all I did was

    - downloaded the latest version of the audio package you referenced (this does not come from us)

    - opened ccsv5.4

    - project->import existing ccs/eclipse project  ... i browsed to the top level of the audio package.  

    - I imported all projects

    I got a couple warnings (fine) but no errors

    Best Regards,
    Lisa 

  • Hi Lisa,

    I tried the same steps under Windows and the package compiled without errors. However this is not the case in Linux, where we do all the development. Would you please confirm?

  • Hi,

    I can see what I can do but don't have the easiest  access to a Linux installation.  How did you install the package in Linux?   I can only find a windows exe online.  If you copied the files, did you make them Linux compatible?  Did you check permissions?

    Best Regards,

    Lisa

  • Hi Lisa,

    I resolved the problem by editing all the #includes in the source files to make sure they have the same filenames as the pal_os* header files. This resolved all compilation errors as Windows does not differentiate between upper case and lower case in filenames, unlike linux.

    Thanks.

  • Hi,

    very happy to hear you got to the root of the issue in Linux.  My appologies for the initial OS assumtion(s).   

    Thanks for the update and feedback.

    All the best with development.

    Best Regards,

    Lisa