C5000 Chip Support Library
From Texas Instruments Embedded Processors Wiki
Translate this page to
C5000 Chip Support Library
- The C55x Chip Support Libraries (CSL) provide an application programming interface (API) used for configuring and controlling the DSP on-chip peripherals for ease of use, compatibility between various C55x devices and hardware abstraction. CSLs will shorten development time by providing standardization and portability.
- C55x CSL - Low Power: The functions listed in the features section are specifically designed for TMS320C55x Low Power DSPs including C5504, C5505, C5514, and C5515 devices.
- C55x CSL (SPRC133): The functions listed in the features section are specifically designed for TMS320C55x DSPs including C5501, C5502, C5509, C5509A, and C5510, C5510A.
Download
- To download the chip support library for C5000 devices, click here
Documentation
- For details refer to the CSL API Reference guide
Frequently Asked Questions
Q: Is there a CSL GUI?
- A: The SPRU511 "TMS320C55x CSL USB Programmer's Reference Guide" describes the use of the CSL USB GUI. This is no longer supported or available.
Q: Where is the USB audio class example in version 2.50.00?
- A: It was removed and made into a framework. Please see [Software Framework and Application]
Q: Are there any updates to the CSL API reference guide? (SPRU433)
- A: No, as of CSL version 2.50.00 and newer, the documentation is included with the product. This documentation is generated from the code, and will be the most up to date.
Q: How can I change the code on CSL_USB_IntExample to send data via pipe 0x01 instead of 0x02 (internal bootloader uses 0x01) so I can boot from USB?
Q: Trouble with the USB comm port example with the 5515 EZDSP
A: TMDX5515EZDSP, CSL_USB_CdcExample_Out - can't open COM port
Q: Where do I specify to the CSL which chip I have?
- A: Please look in the csl_general.h file and make sure to select the proper device.
Q: Are the drivers WHQL Certified?
- A: No, the drivers are not WHQL certified.
- A: With the exception of CDC where we provide an INF file so that you may customize the VID/PID, we use the standard, built-in operating system drivers for items such as USB mass storage, CDC, etc. End users of the product would need to submit their product and their customized drivers to Microsoft for certification.
Q: Does the CSL include USB Mass Storage Class?
- A: Yes.
Q: Is FAT32 supported?
- A: Yes, as part of the atafs module in CSL 2.50 and newer.
Q: What kind of performance should I expect using the ATAFS?
- A: Performance will vary with the SD card chosen. The performance is more a function of the access time of the SD card and not the throughput. For example, a Class 4 card may have a faster access time than a Class 10 card. This depends heavily on the firmware (and thus brand) of the SD card manufacturer.
- A: For a 100Mhz CPU, with 50mhz SD clock, with class 4 and class 4 cards, we typically see performance in the 3 to 5Mbps range (CSL version 2.50). This compares to raw card read/write performance with the same configuration of 40Mbps.
- A: What is limiting performance is the "safe" writing mode that the ATAFS software (CSL version 2.50). This means that for every cluster written to the SD card, the FAT table is updated. This is why access time is a key determinant of performance.
- A: To improve performance, consider using raw read/write modes. You may also want to look at modifying the FAT updates to cache the writes to improve performance. In doing such changes, it may be possible to achieve 10Mbps.
- A: This is logged as TI internal enhancement request for CSL #839.
Q: Why is ATA Write faster than ATA Read?
- A: The ATA_write() is using 4 512-byte write buffers. It can accumulate up to the 2KB for one write. Since the cluster size for the SD card is 4KB, it only makes ¼ SD write operation. The ATA_read() on the other hand is not doing the read-ahead operation, so each SD read is only read 512 byte. If the read unit is 512-byte, then the write and read is about the same speed.
- Here are several potential improvements that may be considered:
- 1. Increase the write buffer to 8 512-byte, because the minimum FAT cluster size is 4KB. It should increase the write speed by 100% (from 5Mbps to 10Mbps).
- 2. Add the 4-KB read-ahead buffer. We should be able to get the same performance (10Mbps) for reading
- 3. Currently the read and write is both using BYTE as the basic unit. It is very inefficient for write block data. If we know the application can always use block data (multiple of 512 byte) , then we can implement the a ATA_blk_read() and ATA_blk_write(). It is possible to reach higher throughput that way.
- Here are several potential improvements that may be considered:
- A: This is logged as TI internal enhancement request for CSL #839.
Q: Does the CSL include bad block management or load levelling for flash memory?
- A: No, the 55x devices have ECC error detection for MMC/SD and NAND flash. The bad block management or load levelling needs to be done at either NAND flash or MMC/SD card.
Q: Does the CSL support USB HID?
- A: the CSL does not contain HID support, but there is USB HID support included with the C5000 Connected Audio Framework
- A: This is logged as TI internal enhancement request for CSL #1029.
Q: Does the CSL support 5532/3/4/5?
- A: As of version 2.50 the CSL has not been updated to include defined support for the 5532/3/4/5.
- A: CSL version 2.50 can be used with 5532/3/4/5 by using the 5515 CSL without the EMIF support.
Q: The CSL and user guide register names for clock configuration and clock generator registers don't match
- A: CSL 2.50 and SPRUFX5A - System User's Guide use different register names for clock configuration and clock generator regs.
- A: Mapping is:
Register Address CSL Name SPRUFX5A Name ---------------- -------- ------------- 1C1Eh SDRAMCCR CCR1 1C1Fh CCR2 CCR2 1C20h CGCR1 CGCR1 1C21h CGICR CGCR2 1C22h CGCR2 CGCR3 1C23h CGOCR CGCR4
Q: Are Video Class drivers supported?
- A: Not at this time. This is internal enhancement request #1830
Q: Do I need to get my own USB VID and PID?
- A: You need your own VID/PID when you want to get the "USB Certified" trademarked logo on your product or package. Please see http://www.usb.org/developers/logo_license.html and http://www.usb.org/developers/compliance/for details.
Q: Can I use the TI VID and get a unique PID from TI? / Can I get a PID from TI?
- A: Recommendation is to get a unique VID and PID from usb.org. Please see http://www.usb.org/developers/logo_license.html and http://www.usb.org/developers/compliance/for details.
Q: What PID doe you use on the 5505?
- A: The PID we use for C5505 is 0x9010.
Q: How do I change the product display name?
- A: Change the manufacturer and Product Description strings in the INF driver files.
Q: What VID/PID does TI use for the bootloader?
- A: Some 55x bootloaders can support booting from USB. In that case, the VID=0x0451 and PID=0x9010 which is fixed in the bootloader.
Troubleshooting
- Please check if you have the latest version of the CSL. The latest version will be available from the download link on this page.
- Please check whether you have selected the right device from the CSL. Please look in the csl_general.h file and make sure you have selected the proper device.
Related
Leave a Comment
