Chip support library

From Texas Instruments Wiki
Jump to: navigation, search

Important Note:

This wiki is in maintenance mode and the device architecture are supported on E2E forum and latest CSL can be found on TI.com Website


Texas Instruments Chip Support Libraries (CSL) provide an application programming interface (API) used for configuring and controlling the DSP on-chip peripherals. Use of the CSL does not need DSP/BIOS (or SYS/BIOS as it is later called)

There are two types of CSL:

  • Register CSL (rCSL or RCSL). These are C macro based.
  • Functional CSL (FCSL). These are supplied as a library of C functions.



Chip Support Library for C6000

C62x, C671x, C641x, DM64x Devices

The Chip Support Library (CSL) provides an application programming interface (API) used for configuring and controlling the DSP on-chip peripherals for ease of use, compatibility between various C6000 devices and hardware abstraction. The functions listed in the features section are specifically designed for the following devices: C6201, C6202, C6203, C6204, C6205, C6211, C6410, C6412, C6413, C6414, C6415, C6416, C6418, C6701, C6711, C6712, C6713, DA610, DM640, DM641, and DM642. To download the CSL for C6000, please click here

C64x+ Devices

Chip Support Library for C6455

This release of CSL for TMS320C6455 contains peripheral programming (functional and register level) APIs for C6455 modules. This set of APIs provides peripheral abstraction that can be used by higher layers of software.To download, please click here.

Chip Support Library for C6457

This release of CSL for TMS320C6457 contains peripheral programming (functional and register level) APIs for C6457 modules. This set of APIs provides peripheral abstraction that can be used by higher layers of software.To download, please click here.

Chip Support Library for C6472

This release of CSL for TMS320C6472 contains peripheral programming (functional and register level) APIs for C6472 modules. This set of APIs provides peripheral abstraction that can be used by higher layers of software.To download, please click here.

Chip Support Library for C6474

This release of CSL for TMS320C6474 contains peripheral programming (functional and register level) APIs for C6474 modules. This set of APIs provides peripheral abstraction that can be used by higher layers of software.To download, please click here.

Chip Support Library for C6424

The C6424 EVM does not have a specific CSL (Chip Support Library); instead it has a PSP (Platform Support Package) that provides drivers for the peripherals in addition to a register layer CSL. You can find the software in the CD accompanying the evaluation board. In addition, the release of PSP for C6424 CSL is available.To download, please click here.

This PSP package contains DSP/BIOS drivers and CSL (register layer) for DM648, C6452, DM6437 and C6424 SoCs.

C672x Devices

Chip Support Library for C6722, C6726 and C6727

The CSL library for the C6722, C6726 and C6727 can be gotten here.

C674x Devices

Chip Support Library for C6747 and C6748

The CSL library for the C6747 and C6748 is part of the BIOSPSP which can be gotten here. Also see here for example code.

C66x Devices

Chip Support Library for C6670

The Chip Support Library for the C6670 device is delivered with the SYS/BIOS MultiCore SDK 2.0. Details about the SYS/BIOS MultiCore SDK and a download link can be found here

Chip Support Library for C6678

The Chip Support Library for the 6678 device is delivered with the SYS/BIOS MultiCore SDK 2.0. Details about the SYS/BIOS MultiCore SDK and a download link can be found here

Chip Support Library for C5000

C5000 Chip Support Library

Chip Support Library for C2000

C2000 does not have a CSL but the C28x family is supported by a set of C/C++ Header Files and Peripheral Examples for the C28x family.

The DSP28xx C/C++ peripheral header files and example projects files facilitate writing C/C++ Code for the TI’s 28xx DSCs. The code can be used as a learning tool or as the basis for a development platform depending on the current needs of the user.

To download the peripheral header files and example projects files, please click here.


FAQ's

Q: where is the C6457 CSL API documentation?

the API reference guide is not included as it can be dynamically generated via doxygen

  • download and install the utility
  • (optional) install graphwiz if you want to have visual call tree documentation included
  • run doxygen and open the file (file > open) 'doxyfile', it will pre-load the settings for you
  • check / modify the directory installation for the source and the destination folder as they need to be changed for your machine (in the 'project' topic of the wizard panel)
  • (optional) select "use dot tool from the GraphWiz package" within the diagrams tab of the doxygen wizard to enable the graphs
  • then go to the run tab and hit 'run doxygen' button

It will create within the output directory you specified an html folder, and within this, the index.html file which you would open within your browser to access the documentation


Q: Can CSL be used without DSP/BIOS?

Yes. The Chip Support Library(CSL) is a library with a set of API calls which can be used independant of DSP/BIOS. The document titled Chip Support Library API Reference Guide (SPRU420 for C54x, SPRU433 for C55x, SPRU401 for C6x) contains a section describing the method of including the CSL libraries without using the DSP/BIOS interface.

Q: Is it possible to modify CSL source and header files?

The CCS installation includes a CSL component that can be located in the /.../bios/lib and /.../bios/include.

The CSL component consists of:


  1. A set of CSL libraries in the bios/lib folder
  2. The archived CSL sources and headers in the bios/lib folder
  3. A set of CSL header files in the bios/include folder

The archived sources (csl54xx.src, csl55xx.src or csl6000.src) are created with the archiver found in the /.../cgtools directory. These can be unarchived using the same utility and the sources and headers can be modified. These modified sources and headers can then be built to create a custom library. Be sure to use the modified headers with the new library, as the changes will not be reflected in the originally installed CSL headers.

Q: CSL with older DSP BIOS with older CCS versions

under construction

Using CSL and DSP/BIOS

In earlier releases of Code Composer Studio (3.1 or earlier) and DSP/BIOS (4.90 or earlier), developers have often used CSL (the Chip Support Library) for cache, timer, and interrupt configuration in DSP/BIOS applications. Following changes to CSL and to DSP/BIOS, it is recommended that developers discontinue this approach in many cases for the following reasons:

The latest CSL interrupt configuration module (INTC) is not compatible with DSP/BIOS, unlike the original CSL interrupt configuration module (IRQ). Full details on this issue are shown in this FAQ.

This wiki topic shows how to convert from INTC to BIOS HWI. It walks you through the step by step process - Converting_from_INTC_to_BIOS