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.

How do I install the Chip Support Library so it shows up with other peripherals in the DSP/BIOS config file?

I want to configure my McBSPs in the GUI, but I can't figure out how to install the CSL so that they show up when I open the DSP/BIOS configuration file (gconf).  Does anybody have any suggestions?

  •  CSL GUI configuration was a feature of DSP/BIOS.  However, that feature was dropped from DSP/BIOS after 4.90.

  • Ouch!  That's one of the main reasons chose a TI DSP for my latest project.  I didn't technically need a DSP, but on past projects the GUI CSL made it really easy to get started and try various what-ifs.  Is TI losing their edge, or their will to compete, or anything like that?



     

  • JohnAtANS said:

    Ouch!  That's one of the main reasons chose a TI DSP for my latest project. 

    Sorry about that. Depending on what device you're using, you might still be able to use DSP/BIOS 4.90 for graphical config.  However, the recommended method is to use the register macros:

    snippet of main_mcbsp1.c from CSL said:

    MCBSP_SPCR1_RMK(
        MCBSP_SPCR1_DLB_ON,                    /* DLB    = 1 */
        MCBSP_SPCR1_RJUST_RZF,                 /* RJUST  = 0 */
        MCBSP_SPCR1_CLKSTP_DISABLE,            /* CLKSTP = 0 */
        MCBSP_SPCR1_DXENA_NA,                  /* DXENA  = 0 */
        MCBSP_SPCR1_ABIS_DISABLE,              /* ABIS   = 0 */
        MCBSP_SPCR1_RINTM_RRDY,                /* RINTM  = 0 */
        0,                                     /* RSYNCER = 0 */
        MCBSP_SPCR1_RRST_DISABLE               /* RRST   = 0 */
       )

    You can download the 55x CSL here:

    http://focus.ti.com/docs/toolsw/folders/print/sprc133.html

  • JohnAtANS said:

    Ouch!  That's one of the main reasons chose a TI DSP for my latest project.  I didn't technically need a DSP, but on past projects the GUI CSL made it really easy to get started and try various what-ifs.  Is TI losing their edge, or their will to compete, or anything like that?



    I sincerely hope that TI doesn't appear to be losing either of those things (or anything else for that matter!) :-)

    Although I am not on the BIOS or CSL teams from what I have heard there were two major reasons for dropping CSL from the BIOS GUI:

    - It was very buggy and difficult to fix
    - The sheer number of devices and rework required made this approach not feasible 

    The "older" devices should still have CSL support in DSP/BIOS 4.90 as Brad has mentioned, but newer devices which require newer versions of DSP/BIOS will not have this support.

  • Brad Griffis said:

    Ouch!  That's one of the main reasons chose a TI DSP for my latest project. 

    Sorry about that. Depending on what device you're using, you might still be able to use DSP/BIOS 4.90 for graphical config.  However, the recommended method is to use the register macros:

    snippet of main_mcbsp1.c from CSL said:

    MCBSP_SPCR1_RMK(
        MCBSP_SPCR1_DLB_ON,                    /* DLB    = 1 */
        MCBSP_SPCR1_RJUST_RZF,                 /* RJUST  = 0 */
        MCBSP_SPCR1_CLKSTP_DISABLE,            /* CLKSTP = 0 */
        MCBSP_SPCR1_DXENA_NA,                  /* DXENA  = 0 */
        MCBSP_SPCR1_ABIS_DISABLE,              /* ABIS   = 0 */
        MCBSP_SPCR1_RINTM_RRDY,                /* RINTM  = 0 */
        0,                                     /* RSYNCER = 0 */
        MCBSP_SPCR1_RRST_DISABLE               /* RRST   = 0 */
       )

    You can download the 55x CSL here:

    http://focus.ti.com/docs/toolsw/folders/print/sprc133.html

    [/quote] 

     

    Related: Why does TI use register macros instead of C bitfields? Bit fields were designed into C specifically to support this kind of thing.

    Inquiring minds want to know. 

  • DSP said:

    Related: Why does TI use register macros instead of C bitfields? Bit fields were designed into C specifically to support this kind of thing.

     

    It varies by processor.  The TI F28x line of processors utilizes bitfields.  It is of this format:


    <Peripheral>.regs.<register>.bits.<field> = <value>;


    The downside to this format is that people tend to write a statement like the one above for every single bitfield.  This in turn produces a read-modify-write operation for every single access.  This bloats the code and causes additional cycle overhead.  That same F28x code also offers a method like this:


    <Peripheral>.regs.<register>.all = <value>;


    With the above code you can so a single write to the register to set all the fields at once.  This is much more compact.

    If you look at our CSL 2.x code for c5000/c6000 it is entirely based on macros.  If you look at some of the CSL 3.x code the registers themselves are available as a C structure though the bitfields are accessible through macros.

    So depending on the processor the code will look a little different.

    Brad