PICCOLO工程建立并点亮发光二极管全过程
软硬件环境
通用PC机:IBM T60
操作系统:Windows XP
Piccolo处理器型号:TMS320F28023PTT
仿真器:SEED-USB-XDS510PLUS
编程环境:Code Composer Studio (Version 3.3.38.2)
准备工作
1 安装Code Composer Studio;
2 安装SEED-USB-XDS510PLUS驱动;
3 下载piccolo系列处理器TI官方头文件及代码示例,并安装。
下载地址:http://focus.ti.com/docs/toolsw/folders/print/sprc832.html
工程建立步骤
1 配置目标板
(1) 打开目标板配置程序
(2) 在窗口中点击Create Board,然后选SEED SEEDXDS510USB Emulator,最后点Add
(3) 在弹出的窗口中首先给目标板配置输入名称,不固定这里写F28023 SEEDXDS510USB Emulator;然后选择仿真器配置文件如下图,最后点Next,再点Finish。
(4) 给配置添加处理器如下图:
(5) 在弹出的窗口中添加GEL文件,由于我用的芯片为tms320f28023,所以在安装的TI官方头文件目录中的DSP2802x_common/gel内找到f28023.gel文件,如下图所示添加到配置中,最后点OK。
(6)到此配置目标板完成,点Save & Quit按钮,打开CCS环境。这时可以测试一下,目标板上电,连接仿真器,点Debug下的connect已经可以和目标板正常连接了。
2 建立工程
-
点Project/new,输入工程路径及工程名
-
给工程添加必要文件,包括头文件(.h)、库文件(.lib)、CMD文件(.cmd)、源文件(.c .asm)。
最好将TI官方头文件安装目录的DSP2802x_common 和DSP2802x_headers 文件夹复制到工程目录中,方便管理。
添加头文件:
右键点击工程名,选择Build Options,在Compiler标签内点Preprocessor,在右侧的Include Search Path内输入头文件路径,官方的头文件在DSP2802x_common 和DSP2802x_headers 文件夹内的include下,多个头文件路径用分号隔开。我的工程在这里输入"D:\User\MyProjects\CCS\common\DSP2802x_headers\include; D:\User\MyProjects\CCS\common\DSP2802x_common\include"不含引号。
添加其他文件的方法:右键点击工程名选择Add Flies to Project,然后在对话框的文件类型中选择需要的类型。
添加库文件:
rts2800_ml.lib;在CCS V3.3的安装目录下的\C2000\cgtools\lib内可以找到。
添加CMD文件:
一般调试,分别添加\DSP2802x_common\cmd下的28023_RAM_lnk.cmd(根据实际芯片型号选择)和\DSP2802x_headers\cmd下的DSP2802x_Headers_nonBIOS.cmd即可。
添加源文件:
安需添加,这里完成点亮LED,只需添加\DSP2802x_headers\source下的DSP2802x_GlobalVariableDefs.c和\DSP2802x_common\source下的DSP2802x_DefaultIsr.c、DSP2802x_PieCtrl.c、DSP2802x_PieVect.c、DSP2802x_SysCtrl.c、DSP2802x_usDelay.asm。
3 配置工程
设置堆栈空间大小,右键点击工程名,选择Build Options,在Linker标签内Basic下的Stack Size一般输入0x200。
4 编写主函数,并添加到工程中
点亮一个LED。LED的阴极K接GPIO12,阳极A接GPIO5。
#include "DSP28x_Project.h"
#define LED_K GpioDataRegs.GPADAT.bit.GPIO12
#define LED_A GpioDataRegs.GPADAT.bit.GPIO5
void main(void)
{
InitSysCtrl();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 0; //设置GPIO12为通用IO口
GpioCtrlRegs.GPADIR.bit.GPIO12 = 1; //设置GPIO12为输出口
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 0; //设置GPIO5为通用IO口
GpioCtrlRegs.GPADIR.bit.GPIO5 = 1; //设置GPIO5为输出口
EDIS;
LED_A = 0;
LED_K = 0;
for(;;)
{
LED_A = 0;
DELAY_US(1000000); //延时1秒
LED_A = 1;
DELAY_US(1000000);
}
}
5 实际效果

浙公网安备 33010602011771号