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.

CCS4 and CSL - can't link

Hey

I read that I should import and compile the examples of the CSL librarys. I tried this, but unfortunatly CCSL can't find any projects. So is there anoter chance to link?

 

Cheers

Edit: I found the right folder now - so I can import the examples. Compiling ended up with an error, I startet to reinstall CCS4 and see what's happening then. Unfortunatly, I was unable to uninstall CCS4 - this ended up with an error too.

 

Okay I got it

  • Hi Marc,

    Were you able to run the CSL examples eventually?

    You must set your CCS4 workspace to the c55xx_csl directory where you have installed the CSL files.

    Details are described in the C55XCSL-LOWPOWER-2.10.00.00_Release_Notes_20100813.pdf document that is installed in the directory where you have installed the CSL files.

    Make sure to read the Installation Guide (Page 8 of 30) and Building and Running the CCS v4 Projects (Page 12 of 30).

    Hope this helps,
    Mark

  • I got it to work finally. I installed the CSL in the same directory (D:\Texas Instruments) as the CCSL and copied the files into my workspace. The only thing I had to do for my own project is to tell the compiler where the include files are. Voilá.

     

    Thank you :)

  • Great news, Marc.

    Let us know if we can help further.

    Best Regards,
    Mark

  • Sure. As I said at another place: This forum is a great help. I think I will ask something when I got to the SPI point. We'll see.

  • Okay it's me again. I think I have still some error inside the setup for the linker.

    Here's a screenshot of the settings

    http://www.imagebanana.com/view/2ptk9421/Unbenannt.png

    I am prett sure that there's something missing.

    The error I get is

    warning: creating output section ".cio" without a SECTIONS specification
    warning: creating output section ".const" without a SECTIONS specification
    warning: creating ".sysmem" section with default size of 0x7d0; use the -heap
       option to change the default size

     undefined       first referenced
      symbol             in file    
     ---------       ----------------
     _GPIO_configBit ./main.obj     
     _GPIO_open      ./main.obj     
     _GPIO_reset     ./main.obj     
     _GPIO_write     ./main.obj     

    error: unresolved symbols remain
    error: errors encountered during linking; "hello_world.out" not built

     

    I'm a bit confused 'cause when I write like config. and press strg+space he knows what's inside the object. So he included the .h correct. I hope someone can help me with that again. I guess it's all about setup right now.

     

    I installed CCS and CSL in the same directory (D:\Texas Instruments\).

     

    Cheers

    Edit:I now added every setting which is made in the GPIO_IN example given by the CSL library. Doesn't work...

    Edit: I now set this page

    http://www.imagebanana.com/view/4b2n6ncf/Unbenannt.png

    I read those informations somewhere in this forum. Result is that the warnings disapeared, but I still got the unresolved symbols. (I hope it is easyer then to implement the eZdsp lib :D )

     

    Cheers

  • Hi Marc,

    If you are still receiving the below warning, then you are not properly including the CSL library in your linker settings.

    Marc said:
    undefined       first referenced
      symbol             in file    
     ---------       ----------------
     _GPIO_configBit ./main.obj     
     _GPIO_open      ./main.obj     
     _GPIO_reset     ./main.obj     
     _GPIO_write     ./main.obj     

    In your C5500 Linker File Search Path window, make sure you are including the CSL library: cslVC5505.lib.

    It is located under <INSTALL PATH>\c55xx_csl\ccs_v4.0_examples\cslVC5505\Debug.

    You can either add this path to library search path, or copy the library file into your project path.

    It looks like you have properly included "csl_gpio.h" or else you would be getting "error: identifier "CSL_GpioObj" is undefined" messages

    Don't forget to read the Installation Guide (Page 8 of 30) and Building and Running the CCS v4 Projects (Page 12 of 30) of the C55XCSL-LOWPOWER-2.10.00.00_Release_Notes_20100813.pdf document.

    It shows you how to setup your CCS workspace so that after importing the CSL examples, the library includes and linking paths build without issues. It also tells you how how to modify csl_general.h to support your platform (VC5505 or C5515).

    Hope this helps,
    Mark

     

  • Hey

    Thank you. Well, I found the file before I got your answer. I had a look on it. The result is still the same


    **** Build of configuration Debug for project hello_world ****

    D:\Texas Instruments\ccsv4\utils\gmake\gmake -k all
    'Building target: hello_world.out'
    'Invoking: Linker'
    "D:/Texas Instruments/ccsv4/tools/compiler/c5500/bin/cl55" -v5515 -g --diag_warning=225 --ptrdiff_size=32 --memory_model=huge -z -m"hello_world.map" --stack_size=0x1000 --warn_sections -i"D:/Texas Instruments/ccsv4/tools/compiler/c5500/lib" -i"D:/Texas Instruments/CSL/c55xx_csl/src" -i"D:/Texas Instruments/ccsv4/tools/compiler/c5500/include" -i"" -i"" -i"D:/CC_Workspace/cslVC5505" -i"D:/CC_Workspace/hello_world" -i"/lib" --reread_libs --rom_model --sys_stacksize=0x1000 -o "hello_world.out"  "./main.obj" -l"rts55h.lib" -l"D:\Texas Instruments\dsplib_2.40.00\55xdsp.lib" -l"rts55x.lib" "../lnk.cmd"
    <Linking>

     undefined       first referenced
      symbol             in file    
     ---------       ----------------
     _GPIO_configBit ./main.obj     
     _GPIO_open      ./main.obj     
     _GPIO_reset     ./main.obj     
     _GPIO_write     ./main.obj     

    error: unresolved symbols remain
    error: errors encountered during linking; "hello_world.out" not built

    >> Compilation failure
    gmake: *** [hello_world.out] Error 1
    gmake: Target `all' not remade because of errors.
    Build complete for project hello_world

     

    Some Screenshots:

    http://www.imagebanana.com/view/22472t8z/Unbenannt.png

    http://www.imagebanana.com/view/bp26eg2d/Unbenannt.png

    http://www.imagebanana.com/view/hvch17xk/Unbenannt.png

    For me it looks like everythings just right. I also changed the values inside the general.h

    I know that I look like a noob but I just didn't had such problems with a IDE ...

     

    Edit: Okay I now deleted the whole workspace. I then imported every CSL example project into my workspace without copying it. Then I build every project. Result: CSL_USB_MSC_fullSpeedExample_Out has also unresolved symbols and some projects have warnings concerning the code.

    So I think there's something totaly wrong. But could it be that the symbols for the CSL_USB_MSC_fullSpeedExample_Out are not resolved because I changed the csl_general.h into the c5515 device?

     

    Oh man, I don't know. I look like a noob and time is running out :/

  • Marc, 

    When you see -i"" in the console, it means that the linker was not able to parse your provided library search path. It looks like your RTDX_LIB_DIR and BIOS_LIB_DIR macros are not configured - they will be configured if you select which version of BIOS to use during the new project wizard.

    Check out the Macros tab in the Project Configuration window to see the definitions of these macros. Macros are basically like environment variables. 

    The linker is also probably not happy with the " + $[{C5500_CSL_CG_ROOT}\lib" that comes after RTDX_LIB_DIR macro. 

    See the problem in this excerpt of your console output: -i"D:/Texas Instruments/ccsv4/tools/compiler/c5500/include" -i"" -i"" -i"D:/CC_Workspace/cslVC5505" -i"D:/CC_Workspace/hello_world" 

    Fortunately, your project probably does not need anything from these search paths, but the point is that there is valuable information in the console output. 

    --- 

    The quick fix to get you up and running is to place these two attached library files into your ${PROJECT_ROOT} directory (D:/CC_Workspace/hello_world in your case) 

    DSPLIB compiled for the Huge Memory Model: 4214.55hdsp.lib
    (Rename to "55hdsp.lib") 

    CSL compiled for the Huge Memory Model: 3683.cslVC5505h.lib
    (Rename to "cslVC5505h.lib") 

    Then make your C5500 Linker File Search Path look like mine with the file names ("cslVC5505h.lib", "55hdsp.lib", & "rts55h.lib") in the top field and the search paths in the bottom field (${PROJECT_ROOT} is already in your project settings).


    Let me know how it works.

    Regards,
    Mark

  • Hey

     

    Thank you. This is how I think that a compiler/linker has to be setup: Straightforward. Thank you. That helped so far.

    But I still got three warnings:


    **** Build of configuration Debug for project Hello_World ****

    D:\Texas Instruments\ccsv4\utils\gmake\gmake -k all
    'Building file: ../main.c'
    'Invoking: Compiler'
    "D:/Texas Instruments/ccsv4/tools/compiler/c5500/bin/cl55" -v5515 -g --include_path="D:/Texas Instruments/ccsv4/tools/compiler/c5500/include" --include_path="D:/Texas Instruments/CSL/c55xx_csl/inc" --include_path="D:/Texas Instruments/CSL/c55xx_csl/src" --diag_warning=225 --ptrdiff_size=32 --memory_model=huge --preproc_with_compile --preproc_dependency="main.pp"  "../main.c"
    'Finished building: ../main.c'
    ' '
    'Building target: Hello_World.out'
    'Invoking: Linker'
    "D:/Texas Instruments/ccsv4/tools/compiler/c5500/bin/cl55" -v5515 -g --diag_warning=225 --ptrdiff_size=32 --memory_model=huge -z -m"Hello_World.map" --stack_size=0x1000 --warn_sections -i"D:/Texas Instruments/ccsv4/tools/compiler/c5500/lib" -i"/lib" -i"" -i"" -i"" -i"" -i"5500_CSL_CG_ROOT}/lib" -i"D:/Texas Instruments/ccsv4/tools/compiler/c5500/include" --reread_libs --rom_model --sys_stacksize=0x1000 -o "Hello_World.out"  "./main.obj" -l"D:\Texas Instruments\ccsv4\tools\compiler\c5500\lib\rts55h.lib" -l"D:\CC_Workspace\Hello_World\55hdsp.lib" -l"D:\CC_Workspace\Hello_World\cslVC5505h.lib" "../55hdsp.lib" "../cslVC5505h.lib"
    <Linking>
    warning: creating output section ".cio" without a SECTIONS specification
    warning: creating output section ".const" without a SECTIONS specification
    warning: creating ".sysmem" section with default size of 0x7d0; use the -heap
       option to change the default size
    'Finished building target: Hello_World.out'
    ' '
    Build complete for project Hello_World

     

    I have the same code but I put a new project around it.

     

    cheers

  • Hey

    I have to push it sorry

     

    I still got the warning

    <Linking>
    warning: creating output section ".cio" without a SECTIONS specification
    warning: creating output section ".const" without a SECTIONS specification
    warning: creating ".sysmem" section with default size of 0x7d0; use the -heap
       option to change the default size

    I looked in the datasheets but there is nothing about the heap size.  Also I dunno what the two others are meaning. I hope someone can help me to configure my project, if CSL is running then I shouldn't have any other problems :)

     

    Cheers

     

    Edit: Found the file VC5505.cmd, included the file and everything is all set now. Gonna start :) I hope the heap size -heap       0x3F80 isn't too small