打印

CSL(Chip Support Library,CSL)库函数简介

[复制链接]
3871|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zhangmangui 于 2014-4-30 23:01 编辑

以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等等对象)。




来自网易博客    仅供大家学习使用

相关帖子

沙发
zhangmangui|  楼主 | 2013-9-3 17:31 | 只看该作者
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,使片上外设容易使用:缩短开发时间,增加可移植.  

使用特权

评论回复
板凳
zhangmangui|  楼主 | 2014-4-30 23:01 | 只看该作者
兄弟们  顶顶    20分啊   没人要啊

使用特权

评论回复
地板
msblast| | 2014-5-2 10:48 | 只看该作者
顶,分数拿来:lol

使用特权

评论回复
5
zhangmangui|  楼主 | 2014-5-2 16:11 | 只看该作者
20分   需要的快来跟帖

使用特权

评论回复
6
mrjoey| | 2014-5-5 13:54 | 只看该作者
紧跟大神脚步学习

使用特权

评论回复
7
lichenprivate| | 2014-5-21 21:29 | 只看该作者
求教:为何高版本的ccs不带csl库啊 比如ccsv5

使用特权

评论回复
8
zhangmangui|  楼主 | 2014-5-21 21:57 | 只看该作者
lichenprivate 发表于 2014-5-21 21:29
求教:为何高版本的ccs不带csl库啊 比如ccsv5

这个具体没试过啊    应该是可以的  
都是静态库 啊   
你有没有添加合理

使用特权

评论回复
9
lichenprivate| | 2014-5-22 09:48 | 只看该作者
zhangmangui 发表于 2014-5-21 21:57
这个具体没试过啊    应该是可以的  
都是静态库 啊   
你有没有添加合理

为啥还要添加啊 用ccs3.3版本时候就可以直接用csl库 高版本为何就这么麻烦呢 TI不支持么

使用特权

评论回复
10
zhangmangui|  楼主 | 2014-5-22 21:48 | 只看该作者
lichenprivate 发表于 2014-5-22 09:48
为啥还要添加啊 用ccs3.3版本时候就可以直接用csl库 高版本为何就这么麻烦呢 TI不支持么 ...

比如是dsp55x吧   你肯定要添加csl5509x.lib和rts55x.lib

使用特权

评论回复
11
beskcom| | 2014-5-27 09:19 | 只看该作者
本帖最后由 beskcom 于 2014-5-27 09:21 编辑
lichenprivate 发表于 2014-5-21 21:29
求教:为何高版本的ccs不带csl库啊 比如ccsv5

CSL库在PDK里面。我想TI是为了让CCS精简吧,在对应的平台的PDK里面CSL各自在的。比如我的C6678的CSL库就在:
C:\ti\pdk_C6678_1_1_2_6\packages\ti\csl

因为我的C6678的PDK安装在 c:\Ti\下面的。

使用特权

评论回复
12
beskcom| | 2014-5-27 09:23 | 只看该作者
另外个人觉得要想掌握CSL的使用,还是拜TI为师,在WIKI里面,讲得非常好。以下是老师的地方:
http://processors.wiki.ti.com/index.php/Chip_support_library

使用特权

评论回复
13
lichenprivate| | 2014-5-27 10:38 | 只看该作者
beskcom 发表于 2014-5-27 09:23
另外个人觉得要想掌握CSL的使用,还是拜TI为师,在WIKI里面,讲得非常好。以下是老师的地方:
http://proce ...

想问一下您,这个pdk是什么 我csl是自己从百度上下载的

使用特权

评论回复
14
beskcom| | 2014-5-27 11:31 | 只看该作者
PDK是TI官网下的,我的C6678就是MC BIOS/SYS包里面的。

使用特权

评论回复
15
beskcom| | 2014-5-27 11:32 | 只看该作者
16
zhangmangui|  楼主 | 2014-5-27 23:32 | 只看该作者
beskcom 发表于 2014-5-27 11:32
http://www.ti.com/tool/BIOSLINUXMCSDK

你的分享很好  谢谢你的分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

935

主题

26376

帖子

589

粉丝