繁体中文
高级搜索
 
首页 | 电子技术应用 | 行业最新动态 | 行业最新产品 | 软件资料下载 | 电路图纸欣赏 | 博客文章精选 | 电子精品论坛 | 电子技术贴吧

当前位置:首页 >> 博客文章精选 >> DSP技术----博客 >> 精通C2000DSP编程(原创!连载!)第1部分
精通C2000DSP编程(原创!连载!)第1部分
作者:   来源: 发表时间:2006-12-10  字号:  

精通 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中。

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


!注意:如果您发现此文章出现影响您的阅读的状况,请从浏览器地址栏里复制本文的链接到留言本报告给站长解决!
  • 上一篇: 2812原理图
  • 下一篇: 为arm,51与优盘进行串口通信的东东

  • >> 联系我们请给我们留言·留言本
    本站所有提供的信息软件资料均来自网络,版权及著作权归原作者所有,如果无意中侵犯了您的相关权利或触及法律法规,请给我们留言, 我们将在24小时内删除。
      浙ICP备05071687号  电子技术精品网