转自:http://bbs.21ic.com/icview-606666-1-1.html
以DM642为例说明:
TI公司为其DSP产品提供了CSL(Chip Support Library,CSL)库函数,DM642对应的CSL库文件的名称为cslDM642.lib(Little Endian模式下使用的CSL库)或cslDM642e.lib(Big Endian模式下使用的CSL库)。这下你就知道为什么在建立一个project的时候,要添加cslDM642.lib或者cslDM642e.lib文件了吧!
在程序设计过程中利用CSL库函数可以方便地访问DSP的寄存器和硬件资源,提高DSP软件的开发效率和速度。现在我们来看一下针对DM642相关的CSL库中的模块函数。
左图为某project中添加了cslDM642.lib,编译成功之后,自动添加的CSL库中的相关的头文件。
右图为在CSL库中,头文件中的变量和函数与DSP硬件资源的对应关系。
1.什么是CSL?
csl:chip support library。
a,用于配置、控制和管理DSP片上外设
b,已为C6000和C5000系列DSP设计了各自的CSL库
c,CSL库函数大多数是用C语言编写的,并已对代码的大小和速度进行了优化
d,CSL库是可裁剪的:即只有被使用的CSL模块才会包含进应用程序中
e,CSL库是可扩展的:每个片上外设的API相互独立,增加新的API,对其他片上外设没有影响
2.为什么要设计CSL?
a,DSP片上外设种类及其应用日趋复杂
b,提供一组标准的方法用于访问和控制片上外设
c,免除用户编写配置和控制片上外设所必需的定义和代码
3.CSL的特点
a.片上外设编程的标准协议:定义一组标准的APIs:函数、数据类型、宏;
b,对硬件进行抽象,提取符号化的片上外设描述:定义一组宏,用于访问和建立寄存器及其域值
c,基本的资源管理:对多资源的片上外设进行管理;
d,已集成到DSP/BIOS中:通过图形用户接口GUI对CSL进行配置;
e,使片上外设容易使用:缩短开发时间,增加可移植.
4.如何使用CSL
使用CSL有两种方法:GUI方法和直接调用法。
你可以先试着用一下GUI,注意你在图形界面里设置好后,CSL会自动为你生成一个C源文件,你看看这个源文件的代码就知道直接调用是怎么回事了,实际上,你把这个源文件的代码放在你的主程序中,就可以把GUI的文件移除了。这时就是直接调用的形式。
5.DSP/BIOS与CSL是什么关系?
基于TI的DSP芯片的应用程序分为两种:一般应用程序,和DSP/BIOS
应用程序。为简化编程,TI提供了一套C的编程接口,它以API和宏的
形式封装了TI的所有硬件模块,这套接口统称DSP/BIOS。
DSP/BIOS包含以下模块:System(包含MEM,SYS对象),
Instrumentation(包含LOG,STS对象),
Scheduling(包含CLK,PRD,HWI,SWI等等对象),
Synchronization(包含SEM,MBX,QUE等等对象),
Input/Output(包含RTDX,HST等等对象),
Chip Support Library(包含DMA,GPIO等等对象)。
CSL(chip support library)中包含了很多的TI封装好了的API和MACRO.
为什么要设计CSL?
1,DSP片上外设种类及其应用日趋复杂
2,提供一组标准的方法用于访问和控制片上外设
3,免除用户编写配置和控制片上外设所必需的定义和代码
什么是CSL?
1,用于配置、控制和管理DSP片上外设
2,已为C6000和C5000系列DSP设计了各自的CSL库
3,CSL库函数大多数是用C语言编写的,并已对代码的大小和速度进行了优化
4,CSL库是可裁剪的:即只有被使用的CSL模块才会包含进应用程序中
5,CSL库是可扩展的:每个片上外设的API相互独立,增加新的API,对其他片上外设没有影响
CSL的特点
1,片上外设编程的标准协议:定义一组标准的APIs:函数、数据类型、宏;
2,对硬件进行抽象,提取符号化的片上外设描述:定义一组宏,用于访问和建立寄存器及其域值
3,基本的资源管理:对多资源的片上外设进行管理;
4,已集成到DSP/BIOS中:通过图形用户接口GUI对CSL进行配置;
5,使片上外设容易使用:缩短开发时间,增加可移植.