打印

C2000 DSP 编程入门

[复制链接]
1588|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梅花望青竹|  楼主 | 2012-8-14 19:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、准备工作(一劳永逸,模块化编程!)
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,如下图所示:

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

接下来将对编程时使用较多的文件做一个说明:
1) C:\tidcs\c28\dsp281x\v100\doc中包含一个PDF文档,此文档是有关头文件使用的说明,建议有空多看一下!
2) C:\tidcs\c28\dsp281x\v100\DSP281x_common\cmd中包含4个CMD文件,用来定义片上和片外空间,每个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中包含2个CMD,用来分配外设寄存器空间,其中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\cmd中4个CMD



以及C:\tidcs\c28\dsp281x\v100\DSP281x_headers\cmd中2个CMD



复制到E:\jacky281x\cmd中
2) 将C:\tidcs\c28\dsp281x\v100\DSP281x_common\include中4个头文件



以及C:\tidcs\c28\dsp281x\v100\DSP281x_headers\include中16个头文件



复制到E:\jacky281x\headers中,其中DSP281x_DefaultIsr这个文件在上面的2个文件夹中都存在,复制其中1个就可以了!
3) 将C:\tidcs\c28\dsp281x\v100\DSP281x_common\source中16个文件



以及C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source中1个文件



复制到E:\jacky281x\initia中。
4) 找到CCS安装路径,比如D:\ti2000,然后将D:\ti2000\c2000\cgtools\lib中



复制到E:\jacky281x\lib中。

相关帖子

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

本版积分规则

98

主题

2589

帖子

7

粉丝