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.

The Chip Support Library is Incomplete in CCS5.0.3

Hi,

I installed the CCS5.0.3.00028 package, and built the CSL Library and Low Levels Drivers without errors reported.  I am trying to use the CSL GPIO routines. The include files and the library are being located where specified in the BIOS MCSDK UG ( at  ti/csl/csl_gpio.h  and  ti/cs/lib/ti.csl.ae66).    However,  in the code below, while the linker locates CSL_GPIO_open (), it reports all other GPIO functions to be 'undefined symbols'

Void main()   { 

CSL_GpioHandle   hGpio;

Uint8 pinNum = 1;

 

    hGpio = CSL_GPIO_open (0);

    CSL_GPIO_setPinDirOutput (hGpio, pinNum);

    CSL_GPIO_setOutputData (hGpio, pinNum);

}

I don't understand how your build processes work yet, but I watched the output as XDC built the CSL library, and it only accessed directories  ti/csl/src/soc, ti/csl/src/ip, and ti/csl/src/intc.  The source for CSL_GPIO_open() is located in soc/common, so that explains why it appeared in the library, but the sources for the other GPIO functions (and other functions) are not located here, which may be why they are not in the library.

What do I do?

Regards,  Bernard

 

 

 

  • Bernard,

    CCS does not ship with the Chip Support Libraries, therefore the issue may be with the project included in the MCSDK. I will forward this thread to the C66x Multicore device forum since they have better knowledge about this SDK.

    Apart from this, the fact that your build cannot find CSL_GPIO function calls is either due to a misconfigured library include directory or a missing source file that defines these functions. Can you copy the console output error message to a text file and the example project that is failing? This will help in further investigating this issue.

    Regards,

    Rafael

     

  • Hi Bernard,

    What version of the MCSDK you have?

     

    Thanks,

    Arun.

  • Rafael,

    My mistake. I installed the CSL with the bios_mcsdk_02_00_00_beta2_setup.exe package.  The code and console report is:

     

     

    **** Build of configuration Debug for project test_csl_api ****

    D:\Program Files\Texas Instruments\ccsv5\utils\gmake\gmake -k all 

    'Building file: ../hello.cfg'

    'Invoking: XDCtools'

    "D:/Program Files/Texas Instruments/xdctools_3_20_08_88/xs" --xdcpath="D:/Program Files/Texas Instruments/bios_6_31_04_27/packages;D:/Program Files/Texas Instruments/pdk_C6678_1_0_0_9_beta2/packages;D:/Program Files/Texas Instruments/mcsdk_2_00_00_beta2/demos;D:/Program Files/Texas Instruments/ipc_1_22_05_27/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.sdo.ipc.examples.platforms.evm6678.core0 -r whole_program -c "D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000" "../hello.cfg"

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

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

    configuring hello.pe66 from package/cfg/hello_pe66.cfg ...

    cle66 package/cfg/hello_pe66.c ...

    lnke66 hello.pe66 ...

    'Finished building: ../hello.cfg'

    ' '

    'Building file: ../hello.c'

    'Invoking: C6000 Compiler'

    "D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --include_path="D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" --diag_warning=225 --abi=eabi --preproc_with_compile --preproc_dependency="hello.pp" --cmd_file="./configPkg/compiler.opt"  "../hello.c"

    "../hello.c", line 29: warning: function declared implicitly

    "../hello.c", line 30: warning: function declared implicitly

    "../hello.c", line 31: warning: function declared implicitly

    "../hello.c", line 33: warning: function declared implicitly

    'Finished building: ../hello.c'

    ' '

    'Building target: test_csl_api.out'

    'Invoking: C6000 Linker'

    "D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --diag_warning=225 --abi=eabi -z -m"test_csl_api.map" --warn_sections -i"D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib" -i"D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" -i"D:\Program Files\Texas Instruments\pdk_C6678_1_0_0_9_beta2\packages\ti\csl\lib" --reread_libs --rom_model -o "test_csl_api.out" -l"./configPkg/linker.cmd"  "./hello.obj" -l"libc.a" -lti.csl.intc.ae66 -lti.csl.ae66 

    <Linking>

     

     undefined                first referenced

      symbol                      in file     

     ---------                ----------------

     CSL_GPIO_clearOutputData ./hello.obj     

     CSL_GPIO_setOutputData   ./hello.obj     

     CSL_GPIO_setPinDirInput  ./hello.obj     

     CSL_GPIO_setPinDirOutput ./hello.obj     

     

    error: unresolved symbols remain

    error: errors encountered during linking; "test_csl_api.out" not built

     

    >> Compilation failure

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

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

     

     

    Regards, Bernard

     

     

  • Bernard,

    Can you please try the GA version of the MCSDK and let me know if you were able to get it working.

     

    Thanks,

    Arun.

  • Arun,

    I installed package: bios_mcsdk_02_00_00_11_setup.exe OK. I now have, for example, PDK-C6678 version 1.0.0.11 as per the Release Notes.  After a project 'clean' I get the same result, see below.    I cannot see the GPIO function sources (except for CSL_GPIO_open ()) in the PDK directory. 

     

    **** Build of configuration Debug for project test_csl_api ****

     

    D:\Program Files\Texas Instruments\ccsv5\utils\gmake\gmake -k all 

    'Building file: ../hello.cfg'

    'Invoking: XDCtools'

    "D:/Program Files/Texas Instruments/xdctools_3_20_08_88/xs" --xdcpath="D:/Program Files/Texas Instruments/bios_6_31_04_27/packages;D:/Program Files/Texas Instruments/pdk_C6678_1_0_0_11/packages;/demos;D:/Program Files/Texas Instruments/ipc_1_22_05_27/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.sdo.ipc.examples.platforms.evm6678.core0 -r whole_program -c "D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000" "../hello.cfg"

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

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

    configuring hello.pe66 from package/cfg/hello_pe66.cfg ...

    cle66 package/cfg/hello_pe66.c ...

    lnke66 hello.pe66 ...

    'Finished building: ../hello.cfg'

    ' '

    'Building file: ../hello.c'

    'Invoking: C6000 Compiler'

    "D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --include_path="D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" --diag_warning=225 --abi=eabi --preproc_with_compile --preproc_dependency="hello.pp" --cmd_file="./configPkg/compiler.opt"  "../hello.c"

    "../hello.c", line 29: warning: function declared implicitly

    "../hello.c", line 30: warning: function declared implicitly

    "../hello.c", line 31: warning: function declared implicitly

    "../hello.c", line 33: warning: function declared implicitly

    'Finished building: ../hello.c'

    ' '

    'Building target: test_csl_api.out'

    'Invoking: C6000 Linker'

    "D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --diag_warning=225 --abi=eabi -z -m"test_csl_api.map" --warn_sections -i"D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib" -i"D:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" -i"D:\Program Files\Texas Instruments\pdk_C6678_1_0_0_11\packages\ti\csl\lib" --reread_libs --rom_model -o "test_csl_api.out" -l"./configPkg/linker.cmd"  "./hello.obj" -l"libc.a" -lti.csl.intc.ae66 -lti.csl.ae66 

    <Linking>

     undefined                first referenced

      symbol                      in file     

     ---------                ----------------

     CSL_GPIO_clearOutputData ./hello.obj     

     CSL_GPIO_setOutputData   ./hello.obj     

     CSL_GPIO_setPinDirInput  ./hello.obj     

     CSL_GPIO_setPinDirOutput ./hello.obj     

    error: unresolved symbols remain

    error: errors encountered during linking; "test_csl_api.out" not built

     

    Regards,
    Bernard