一、实验仪器:PC 机一台,TMS320VC5416 DSK 一套(附CCS)
二、实验目的
1. 初步了解TMS320VC5416DSK硬件的基本结构及工作原理; 2. 学习和熟悉 Code Composer Studio 开发环境; 3. 学习BSL(Board Support Library)。 三、实验原理 1.硬件原理图
E M I F CPLD CTRL 5416 ADDR DATA 指示灯一 指示灯二 指示灯三 指示灯四 2.软件流程图
开始
DSP初始化 NO While(1) YES 第一个灯亮 调子函数延时 第二个灯亮 结束 第n个灯亮 调子函数延时 3.使用的软件函数、宏,叙述调用形式、参数、返回值和包括该函数的库文件、头文件
1)DSK5416_init()
功能:这段程序是初始化DSP环境。 调用形式:void DSK5416_init(); 2)Blink0()
功能:这段程序是用户自己编写的,用来控制LED的闪烁的。 调用形式:void Blink0(); 3) TSK_sleep()
功能:程序中完成延时的功能
调用形式:void TSK_sleep(nticks);(nticks为要延时的系统时钟周
期数)
4)DSK5416_LED_on()
功能:使DSK上的LED发光
调用形式:void DSK5416_LED_on(num);(num为LED的编号(0-3)) 5)DSK5416_LED_off ()
功能:使DSK上的LED熄灭
调用形式:void DSK5416_LED_off(num);(num为LED的编号(0-
3))
三、实验步骤
发光灯闪烁程序可以使人了解使用CCS 来开发TMS320VC5416 DSK 的一
些特点。发光灯闪烁演示如何使用DSK上的四个信号灯。这个例子将使信号灯按照一定的规律连续闪烁。
1.如果你的软件安装在C 盘的C \\ ti 目录下,就请在c:\i\\ myprojects 目录下创建LED子目录;如果安装目录在其他位置,则在相应位置的myprojects目录下创建LED子目录。
2.从dir\\实验一\\LED\\LED目录里拷贝所有的文件到新建的文件夹。 3.单击“开始”菜单,选择“程序”,在Texas Instruments\\Code Composer Studio 'C5416 DSK Tools 2 ('C5416)\\组中选择Code Composer图标,启动Code Composer Studio,或者单击桌面上C5416 DSK CCS图标。
4. 在Code Composer Studio主界面中打开Project 菜单,选择New 选项。 5. 在“Save New Project”对话框中选择刚刚建立的工作目录,在文件名编辑框中输入LED为项目名称,建立工程项目文件LED.prj ,打开“Project”菜单选择“Add file to project”,在随后打开的窗口中选择led.c 并按“打开”按钮。
6.打开“Project”菜单,选择“Add file to project”,在随后打开的窗口中改变文件类型为Configuration file(*.cdb),选择led.cdb,并按“打开”按钮。
7.打开“Project”菜单,选择“Add file to project”,在随后打开的窗口中改变文件类型为Select Linker Command File(*.cmd),选择led.cmd,并按“打开”按钮。
在项目视图中将所有“+”项展开(如上图所示),可以看到此工程包括以下文件:
◎ led.c C主程序,定义如何对DSK进行检测。 ◎ ledcfg.cmd 命令文件,将段映射到存储器中。
8.在项目浏览器中双击led.c,激活led.c文件浏览该文件的内容。 9. 在项目浏览器中双击led.cdb,激活led.cdb文件进行编辑。
10.在scheduling下的TSK一栏中,单击右键,选择“Insert TSK”,新建一个任务,随后在TSK Manager下出现一个名为TSK0的图标。
11.选择该图标,单击右键,选择“Properties”,弹出属性对话框,在Functions标签下的Task function输入:_blink0,然后单击确定,退出对话框。
12.打开“Project”菜单,选择“Build Options”,弹出对话框,在“Compiler”一栏中选择“Advanced”,勾上选项“ use far calls”。在“Linker”一栏中选择“Basic”,在“Include Libraries”一栏中填入“dsk5416f.lib”。
12.打开“Project”菜单,选择“Rebuild all”选项,Code Composer Studio重新编译和链接这个工程项目,整个的处理过程在屏幕下方的Message窗口中返回信息,当改变了设置后必须从新编译所有的文件。当整个项目通过编译,汇编,
连接后就会在产生一个输出文件(*.out)。
13.打开“File”菜单,选择“Load Program”选项,在“Load Program”对话框中选中新建目录下的debug,在debug目录下选中led.out 文件,此时Code Composer Studio将把这个目标文件装载到5416DSK上,同时Code Composer Studio 打开反汇编窗口,显示被加载程序的汇编指令码。
14.打开“Debug”菜单,选择“Run”选项或按F5运行程序,观察5416 DSK 上的信号灯可以按一定规律的间隔连续闪烁。
15.打开“Debug”菜单,选择“Halt”选项或按Shift-F5终止实验结果。 四、实验结果
实验的最后现象看到5416DSK上的四个信号灯按一定规律连续闪烁。 五、可能会遇到的问题
1.先用USB电缆将5416DSK 与PC 机相连而后再将电源接上 2.防止静电容易烧坏电路板 3.要在断电的情况下插拔器件 六、练习
1.在实验中,只有一盏LED发光,请考虑,如何修改源文件,来改变LED闪烁的时间间隔?如何让多盏LED按照一定的规律同时闪烁?
2.请考虑:在源文件中,定义的函数名称是blink0(),为何在TSK function 一栏中输入的却是_blink0?
3.认真阅读BSL概述.doc和TSK.doc,为下次实验做准备。
附源文件
#include \"ledcfg.h\" #include \"dsk5416.h\" #include \"dsk5416_led.h\"
void Blink0() {
int delay,i,j;
// Set delay between LED transitions delay = 500;
// Blink LED #0 while(1) {
for(i=1;i<=4;i++)
{
for(j=0;j{ }
TSK_sleep(delay); { }
TSK_sleep(delay);
// Turn the LED off DSK5416_LED_off(j); // Turn the LED on DSK5416_LED_on(j);
} }
void main() {
}
for(j=0;j// Initialize the board support library DSK5416_init(); }
因篇幅问题不能全部显示,请点此查看更多更全内容