EDN首页   博客首页

日志档案

发表于 2006-9-21 17:39:20

23

标签: C2000  DSP  CCS  开发环境  软件设计  编程  

精通C2000 DSP 编程(原创!连载!)第1部分

精通 C2000 DSP 编程

一、准备工作(一劳永逸,模块化编程!

1.     注册为TI 成员

TI公司提供的技术资料都需要会员的身份才可以下载,为了你工作的方便,建议你如果需要TI器件的技术资料,就赶快注册为TI的成员吧!

 

2.     获得TMS320F2812的所有技术资料

为了快速的获得某个器件相关的技术资料,你可以在上图的“Enter Part Number”中输入具体的器件型号,比如我们输入“TMS320F2812,点击“GO”后,就可以获得TMS320F2812的所有技术资料,包括数据手册、产品信息、价格/封装/样片、质量与无铅数据报告、技术文档、用户指南、参考设计、开发工具与软件、相关产品等等。应有尽有,你想得到的TI都有,你没有想到的TI也为你准备好了!

建议将上面能够下载下来的资料统统下载下来!有空的时候拿来研究一下,保证有好处!在“Tools & Software”这一栏里TI给出了与TMS320F2812相关的算法,大部分是免费的!除了电机算法只给出了库函数,其他基本上给出了库函数和底层程序代码,并且TI给出的底层程序大部分是汇编编写的,所以代码运行效率是非常高的!

3.     安装TI的算法

在“Tools & Software”这一栏里将下载到的TI头文件和外设使用例子C281x C/C++ Header Files and Peripheral Examples解压缩并且按照默认路径安装后,我们可以在C:\tidcs\c28\dsp281x\v100找到TMS320F2812头文件。对于TI给出的大部分关于28x的算法,都可以在C:\tidcs找到。在C:\tidcs\c28\dsp281x\v100中包含4个文件夹和一个readme,如下图所示:

    在具体编程前需要了解各个文件夹中的每个文件的具体用途,要知道“什么时候用哪个文件,为什么要用这个文件!”下图是每个文件夹包含的文件:

接下来将对编程时使用较多的文件做一个说明:

1)  C:\tidcs\c28\dsp281x\v100\doc中包含一个PDF文档,此文档是有关头文件使用的说明,建议有空多看一下!

2)  C:\tidcs\c28\dsp281x\v100\DSP281x_common\cmd中包含4CMD文件,用来定义片上和片外空间,每个CMD用途不一样,在后面的编程中具体讨论。

3)  C:\tidcs\c28\dsp281x\v100\DSP281x_common\include中包含4个头文件,其中

DSP281x_DefaultIsr声明了所有281x的中断服务函数,比如声明定时器0中断函数:interrupt void  TINT0_ISR(void)DSP281x_Examples.h调用了一个软件延时函数,一般用得较少;DSP281x_GlobalPrototypes.h为全局函数原型,例如:extern void InitAdc(void)为初始化ADC函数原型;DSP281x_SWPrioritizedIsrLevels.h给出了一个中断优先级定义的示范。

4)  C:\tidcs\c28\dsp281x\v100\DSP281x_common\source中包含了系统和片上外设的初始化代码,这个在我们编程的时候使用较多的文件。

5)  C:\tidcs\c28\dsp281x\v100\DSP281x_headers\cmd中包含2CMD,用来分配外设寄存器空间,其中DSP281x_Headers_nonBIOS在不使用 DSP/BIOS情况下使用,DSP281x_Headers_nonBIOS在使用DSP/BIOS情况下使用。

6)  C:\tidcs\c28\dsp281x\v100\DSP281x_headers\include用结构体和共用体定义了所有的281x的寄存器,只要使用281x就需要这些文件。

7)  C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source#pragma DATA_SECTION定义数据段,例如用#pragma DATA_SECTION(AdcRegs,"AdcRegsFile")ADC寄存器分配空间。

4.     建立几个专用的文件夹

为了更好的使用TI提供的算法,真正做到模块化编程,提高我们的工作效率,我们需要在PC机上建立一个专用的工作文件夹,如E:\jacky281x,然后在jacky281x文件夹下建立几个专用的文件夹,如下图所示:

1)  cmd中存放各种链接命令文件

2)  data中存放各种数据文件

3)  gel中存放各种通用扩展语言(gel)

4)  headers存放各种头文件

5)  initia存放各种初始化程序

6)  lib存放各种库文件,比如C语言运行支持库rts2800.lib

7)  main用来存放用户应用程序

5.     进行文件的转移

按照下述进行文件转移:

1)  C:\tidcs\c28\dsp281x\v100\DSP281x_common\cmd4CMD

以及C:\tidcs\c28\dsp281x\v100\DSP281x_headers\cmd2CMD

复制到E:\jacky281x\cmd

2)  C:\tidcs\c28\dsp281x\v100\DSP281x_common\include4个头文件

以及C:\tidcs\c28\dsp281x\v100\DSP281x_headers\include16个头文件

复制到E:\jacky281x\headers中,其中DSP281x_DefaultIsr这个文件在上面的2个文件夹中都存在,复制其中1个就可以了!

3)  C:\tidcs\c28\dsp281x\v100\DSP281x_common\source16个文件

以及C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source1个文件

复制到E:\jacky281x\initia中。

4)  找到CCS安装路径,比如D:\ti2000,然后将D:\ti2000\c2000\cgtools\lib

复制到E:\jacky281x\lib中。

以上转移文件的做法,只是本人总结的一种行之有效的方法,它的方便性和好处在后面的编程中大家可以体验出来。

系统分类: DSP   |   用户分类: C2000 DSP 软件设计   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(1893)    回复(4)  

投一票您将和博主都有获奖机会!

最新评论

  • cocappjj

    2006-9-26 14:13:59

    谅解谅解,感谢还来不及呢

  • 阿甘

    2006-9-21 18:00:21

    这部分没有上传好,少了图片,重新上传了一下,敬请大家谅解!

  • 老罗

    2006-9-28 21:06:33

    好东西,可要好好学学

  • rangw

    2006-9-28 16:46:48

    很不错啊,真是令人大开眼界啊,还有这么好的东西,内容丰富讲解透彻,让初学者获益非浅啊!