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.

C5500 Chip Set Library (CSL)

Other Parts Discussed in Thread: SPRC133

When I click http://www.ti.com/tool/sprc133 to download the CSL library, I get version 2.31.00.9. The site says the current version should be 3.00.00.01

For CSL 2.31.00.9, which library should be used for the Spectrum Digital 5510 DSK (it has a C5510A chip)? The available libraries are: csl5510PG1_0x.lib, csl5510PG1_2x.lib, csl5510PG2_0x.lib, csl5510PG2_1x.lib, csl5510PG2_2x.lib.

  • That's the correct CSL for C5510. I would recommend using the PG2_2 lib.Regards.
  • When I use "csl5510PG1_0x.lib", my program built OK. After I changed to "csl5510PG2_2x.lib", I got an error (see below). What else I have to change?
    **** Build of configuration Debug for project ecm_dpm_ext ****
    C:\ti\ccsv5\utils\bin\gmake -k all 'Building file: ../main.c'
    'Invoking: C5500 Compiler'
    "C:/ti/ccsv5/tools/compiler/c5500_4.4.1/bin/cl55" -v5510A --memory_model=large -g --include_path="C:/ti/ccsv5/tools/compiler/c5500_4.4.1/include" --include_path="C:/ti/ccsv5/c5500/C55xxCSL/include" --define=vc5510a --define=CHIP_5510 --display_error_number --diag_warning=225 --ptrdiff_size=32 --preproc_with_compile --preproc_dependency="main.pp" "../main.c"
    'Finished building: ../main.c'' ''Building target: ecm_dpm_ext.out'
    'Invoking: C5500 Linker'
    "C:/ti/ccsv5/tools/compiler/c5500_4.4.1/bin/cl55" -v5510A --memory_model=large -g --define=vc5510a --define=CHIP_5510 --display_error_number --diag_warning=225 --ptrdiff_size=32 -z -m"ecm_dpm_ext.map" --stack_size=0x200 --heap_size=0x400 -i"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/lib" -i"C:/ti/ccsv5/c5500/C55xxCSL/lib" -i"C:/ti/ccsv5/tools/compiler/c5500_4.4.1/include" --reread_libs --display_error_number --warn_sections --rom_model --sys_stacksize=0x200 -o "ecm_dpm_ext.out" "./main.obj" -l"libc.a" -lcsl5510PG2_2x.lib
    <Linking>>> Compilation failure undefined first referenced
    symbol in file --------- ----------------
    _CSL5510_LIB_ ./main.obj error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "ecm_dpm_ext.out" not built
    gmake: *** [ecm_dpm_ext.out] Error 1
    gmake: Target `all' not remade because of errors.**** Build Finished ****
  • What is the resson for running CSL on DSK5510? SPRC133 examplea target EVM5510. Spectrum Digital has its examples for DSK5510 on thier support site: c5000.spectrumdigital.com/dsk5510
    Is your DSK5510 brand new purchased from Spectrum Digital?Regards.
  • We purchased a brand new 5510DSK from Spectrun Digital recently.  The only purpose of the board is to tested some external asyncSRAM (32-bit) connected to the EMIF.  I am using CE2 for the memory starting at addr 0x400000. I am able to configured the EMIF using the CSL (I examined the registers inside CCS and verified they have the corect values as programmed). What is way to set up the EMIF beside using the CSL? Where can I find examples on simple write/read to the external async memory? Slow speed is OK.  Just need to write a value location x, read location x and verify the value is the same.

  • Mark,

    Have you installed the BSL from Spectrum Digital? Often, they will have examples that access the external connectors. My assumption is that you are attaching an external async SRAM to an expansion connector and want to communicate with it for testing or validation, so their BSL should be the closest possible path to get you their.

    SD will also provide a GEL file that may have some EMIF initialization code to run automatically when you bring up the board and connect it logically to CCS. You can edit this file to make the EMIF configurations as you need them, hopefully from a starting point in that file.

    After using whatever method you choose to initialize the EMIF (CSL, BSL, GEL), you can open a Memory Browser window in CCS and go to the address of your async SRAM. By double-clicking on a location, it will become editable so you can write to that location. Try writing a different value to a few different locations, then scroll to a higher address and write there. Then scroll back down to the first place and confirm that the memory still has the value you wrote.

    Will this fulfill your requirement to "write a value location x, read location x and verify the value is the same"?

    If not, then you can use CCS to write a simple program to write to memory and read from it. CCS comes with tutorials to tell you how to write a program, how to use the sample programs, and so on.

    int * p = (int *)0x400000; // creates a pointer variable with the address in SRAM

    In C code, you can use the syntax above to create a pointer that will allow you to read and write from the location in SRAM.

    Regards,
    RandyP
  • BSL from Spectrum Digital have no examples that access the external connectors. I tried to call SD before and they said due to liability issues they don't provide software support and I have to get support from TI. I tried many of the cmd file from SD, the program was lost (jumped to a non-code address and ran forever) when a getchar() was executed. Finally a person from the TI forum recommended me to use a cmd file (this is what I am using now) from the CSL and the program worked better - not lost but getchar() statement is skipped.

    As you see, I can't even get the simple "Hello World" (with an getchar statement) worked. Can you address m y questions below:

    1. why simple getchar() not working - known deficiency in CCS?
    2. passing parameters always get 0
    3. In CCS Memory Browser, where is external memory under? (PROGRAM or DATA)?