DSP技术Word格式文档下载.docx
《DSP技术Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《DSP技术Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
讲师
2013年11月21日
实验工程列表
序号
实验工程名称
成绩
指导教师
1
实验1汇编语言、体系结构和CCS
2
实验2C6000流水线和C运行时环境
3
实验3C6000代码优化
4
实验4利用BIOS创建工程及性能分析
5
实验5利用BIOS调试程序
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
福建农林大学计算机与信息学院信息工程类实验报告
电子信息工程专业:
电子信息工程年级:
10
姓名:
学号:
实验课程:
DSP
实验室号:
田C513实验设备号:
17实验时间:
2013-10-18
指导教师签字:
成绩:
C6000实验一汇编语言、体系结构和CCS
1.实验目的和要求
1.熟悉DSP软件开发环境CCS的使用。
2.熟悉CCS中的C语言编程。
3.了解C6000DSP的汇编语言。
2.主要仪器设备(实验用的软硬件环境)
安装了CCS2.0的计算机,采用simulator配置文件sim6201_simulator.cfg。
3.操作方法与实验步骤
1、配置CCS
打开桌面程序“SetupCCS2('
C6000)”,采用simulator配置文件sim6201_simulator.cfg,配置完成后保存。
2、实验内容1操作步骤:
(2)打开CCS:
①打双击桌面程序:
SetupCCS2('
C6000),配置CCS,选C6xxx;
②配置好后,打开桌面程序:
CCS2('
C6000);
(3)打开工程文件:
①把文件夹tutorial\sim62xx\hello1拷贝到myproject下;
②单击菜单Project->
Open,打开hello.pjt,选择支持库rts6200.lib
(4)编译程序:
菜单Project->
build或rebuild
(5)加载程序:
菜单File->
LoadProgram,选择Debug下的.out文件装入目标板
(6)gomain:
菜单Debug->
gomain,执行到main()处暂停
(7)执行程序:
Debug->
Run
4.实验内容及实验数据记录
1.新建一个project,把tutorial\sim62xx\hello1的文件添加进去,完成其功能。
练习CCS的基本操作:
加载程序、gomain、执行程序、设置断点、单步执行、观察变量、观察存储器、测试函数执行的CLK、混合代码显示。
2.打开tutorial\sim62xx\volume1的工程文件,完成图形方式观察变量、设置探点、GEL控制变量、FILEIO、动画显示输入输出的功能。
然后单步执行load.asm,观察C代码调用、寄存器的变化、测试函数执行时间、如何循环和返回C代码。
3.解释如何在C6201上实现32bitint乘32bitint,结果是32bitint的过程:
在刚才的hello1中设置3个全局变量inta=0x10008。
intb=56。
intc。
在main函数中执行语句c=a*b。
build后加载执行程序,混合代码显示c=a*b对应的汇编代码,解释之。
5.实验程序或实验数据处理与分析
2、练习CCS的基本操作
1)打开工程
2)编译工程,加载程序
2)编译工程,编译通过后加载.out文件
3)单步运行,调试程序
4)设置断点
5)观察变量
6)观察存储器
7)测试函数clk的执行
2、volume1实验结果
3、编写乘法函数及其结果
6.质疑、建议、问题讨论
1)打开工程时若程序没有自动的加载需要的库文件,则就要手动查找到需要的库文件,并添加至工程中。
否则,后面的实验就会报错。
2)每次运行完程序后需要重新加载程序,否则报错。
2013-10-25
C6000实验二C6000流水线和C运行时环境
1.熟悉DSP软件开发环境CCS的使用。
2.熟悉C6000中的C运行时环境。
1)打开ccs6000的C运行时的环境;
2)双击桌面程序SetupCCS2(6000),配置CCS,选择C6xxx;
3)配置好后,打开桌面程序CCS2(6000);
4)把文件夹tutorial\sim62xx\hello1拷贝到myproject下;
5)单击菜单project->
open,打开open.pjt,选择文件库rts6200.lib;
6)将汇编代码段加到hello.asm,再在hello.c中加入汇编子函数的C语言程序,进行编译、加载生成.out文件,执行产生结果。
采用simulator配置文件sim6201_simulator.cfg
1.Hello1中添加1个C文件sop_c.c,该文件是一个乘法累加的子函数sop_c(short*a,short*x,int*y,intn),然后在main函数中调用。
不选择任何优化选项。
用混合代码显示,在汇编层次执行sop_c子函数,观察调用、执行和返回的过程。
2.用汇编语言实现两个数组a(n)和x(n)的乘法累加功能。
汇编文件名为:
sop_asm.asm,主函数C中调用格式:
intsop_asm(short*a,short*x,intn)。
1)往hell1中添加sop_c的c文件
2)在主函数中进行添加的部分如下
3)运行结果如下
4)往hell1中添加sop_asm的汇编文件
5)主函数中添加的部分如下
6)运行结果如下
7)调试过程
本次通过实验,学会了如何在CCS软件中使用C语言以及汇编语言进行简单的函数编写以及调试运行,同时也注意到了在CCS软件中,使用汇编和平常所使用的变化还是有些许细微的变化的,我们要密切注意这些变化减少,以尽量的减少不必要的错误。
2013-11-01
C6000实验三C6000代码优化
2.掌握CCS中的C语言编程。
3.熟悉C6000DSP的代码优化过程。
1.采用simulator配置文件sim6201_simulator.cfg,写手工优化的sop_asm.asm程序:
在实验二的基础上实现16bit数组的乘法累加的函数,并手工优化和采用软件流水优化。
要求:
(1)使用LDW和MPY,MPYH指令;
对于C64可以使用扩展乘法指令。
(2)画出相关图和模迭代间隔表。
2.(选做)写一个汇编语言子函数Mul32to64(unsignedinta,unsignedintb,void*p_64int),实现32bit*32bit64bit的无符号整型数据的乘法;
3.(选做)采用simulator配置文件sim6701_simulator.cfg,写一个线形汇编实现的子函数,做复数数组求模,并找出模的最大值的位置和值。
复数的实部和虚部为short,求模的结果为unsignedint。
1)两种C语言实验及其结果
2)线性汇编实验
3)汇编实验
4)主函数中的调用
5)调用结果
1)汇编函数以及线性汇编函数的编写同C语言的调用一样需要对变量进行初始化,否则得到的是未定义的值。
2)使用global函数进行对全局变量的定义,全局变量的定义中即定义标号,同时还必须位于标号之前,而标号的定义位置应在cproc前。
3)注意不要进行重定义,要清楚知道哪些变量是函数传递的参数,哪些变量是在函数中进行定义使用的。
4)cproc和endproc是成对使用的。
5)所新建的c或sa或asm文件都必须添加到工程中。
6)要注意所编写的是汇编还是反汇编,同时要注意他们保存文件名的区别,否则编译报错。
2013-11-08
实验四利用BIOS创建工程及性能分析
1)通过创建基于DSP/BIOS的HelloWorld工程实例,熟悉CCS环境下DSP/BIOS软件的创建和使用方法。
2)熟悉在CCS环境下对代码的运行效率和性能作出评估的工具和方法。
CCS2.2环境,C64XXDeviceSimulator
第一步:
打开已有工程并运行
在C:
\ti\myprojects目录里面创建hellobios目录。
把C:
\ti\tutorial\sim64xx\hello1里的全部文件拷贝到这个新的目录下面。
如果CCS还没有启动,启动CCS环境,Setup里面设置为C64xxDeviceSimulator。
选择Project->
Open,打开这个工程,工程的工程文件目录为:
C:
\ti\myprojects\hellobios,工程名称是hello.pjt。
若提示以下错误,选择Browse,选择目录:
\ti\C6000\cgtools\lib\rts6400.l