DSP实验指导书前三个实验.docx

上传人:b****2 文档编号:548050 上传时间:2023-04-29 格式:DOCX 页数:28 大小:1.31MB
下载 相关 举报
DSP实验指导书前三个实验.docx_第1页
第1页 / 共28页
DSP实验指导书前三个实验.docx_第2页
第2页 / 共28页
DSP实验指导书前三个实验.docx_第3页
第3页 / 共28页
DSP实验指导书前三个实验.docx_第4页
第4页 / 共28页
DSP实验指导书前三个实验.docx_第5页
第5页 / 共28页
DSP实验指导书前三个实验.docx_第6页
第6页 / 共28页
DSP实验指导书前三个实验.docx_第7页
第7页 / 共28页
DSP实验指导书前三个实验.docx_第8页
第8页 / 共28页
DSP实验指导书前三个实验.docx_第9页
第9页 / 共28页
DSP实验指导书前三个实验.docx_第10页
第10页 / 共28页
DSP实验指导书前三个实验.docx_第11页
第11页 / 共28页
DSP实验指导书前三个实验.docx_第12页
第12页 / 共28页
DSP实验指导书前三个实验.docx_第13页
第13页 / 共28页
DSP实验指导书前三个实验.docx_第14页
第14页 / 共28页
DSP实验指导书前三个实验.docx_第15页
第15页 / 共28页
DSP实验指导书前三个实验.docx_第16页
第16页 / 共28页
DSP实验指导书前三个实验.docx_第17页
第17页 / 共28页
DSP实验指导书前三个实验.docx_第18页
第18页 / 共28页
DSP实验指导书前三个实验.docx_第19页
第19页 / 共28页
DSP实验指导书前三个实验.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DSP实验指导书前三个实验.docx

《DSP实验指导书前三个实验.docx》由会员分享,可在线阅读,更多相关《DSP实验指导书前三个实验.docx(28页珍藏版)》请在冰点文库上搜索。

DSP实验指导书前三个实验.docx

DSP实验指导书前三个实验

 

DSP原理及应用

实验指导

哈力旦编

 

新疆大学电气工程学院

2014.10

 

实验一:

CCS开发环境的使用……………………………………2

实验二:

编写算术运算程序……………………………………8

实验三:

编写程序实现长字运算…………………………………13

附录 程序开发平台CCS………………………………………16

实验一CCS开发环境的使用

一.实验目的

1.熟悉CodeComposerStudio开发环境,了解相关的开发工具。

2.掌握DSP软件开发流程。

通过使用CCS软件,学会创建工程、编译、连接工程

3.掌握CCS软件的调试方法。

学习使用CCS的探针和断点调试工程,能够用图形窗口观察数据。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio2.0软件。

三.实验原理

CCS(CodeComposerStudio)是TI公司为其TMS320系列DSP提供的一个高度集成的软件开发和调试环境,它将DSP工程项目管理、源代码的编辑、目标代码的生成、调试和分析都打包在一个环境中,使其可以基本涵盖软件开发的每一个环节。

CCS主要包括以下工具:

1.C编译器、汇编优化器和连接器(代码生成工具)

2.指令集仿真器(Simulator)

3.实时的基础软件(DSP/BIOS)

4.主机和目标机之间的实时数据交换(RTDX)

5.实时分析和数据可视化

利用CCS,用户可以方便地建立一个DSP的工程项目,并对相应的源文件进行管理或编辑修改。

所有源文件的编译、汇编和连接只需要一个按钮就可以一次完成,用户不必再通过输入冗长的命令行来完成这些操作。

经过上面的过程产生的目标代码可以在CCS的环境下通过硬件仿真工具,如XDS510等,下载到用户目标系统中进行调试和运行。

如果没有用户目标系统,还可以将目标代码装载到Simulator中运行。

Simulator利用计算机的资源模拟DSP的运行情况,可以帮助用户熟悉DSP的内部结构和指令,在有的情况下还可以对部分的程序功能进行非实时的验证。

在CCS中,用户可以利用其提供的数据可视化工具按照数据的格式来观察数据,如眼图、星座图、FFT瀑布图等,较好的分析数据。

四.实验内容与步骤

1.创建一个新项目工程

1)从菜单或者快捷方式中打开CCS,如图1.1所示。

图1.1CCS界面

2)选择Project→New。

在myprojects文件夹中建立一个以自己姓名拼音命名的新的工程文件,如“jiafa”,如下图1.2所示:

图1.2项目创建对话框

3)在Target中选择器件类型"TMS320C54x"。

4)点击“完成”。

这样CCS就新建了一个名为“jiafa.pjt”的工程文件。

2.向工程中添加文件

1)选择Project→AddFilestoProject,选择汇编源文件(*.asm)或(*.*)类型的文件。

2)选择Project→AddFilestoProject,添加链接文件(*.cmd)文件。

3)在ProjectView中展开文件夹,如下图1.3所示。

图1.3项目文件查看窗口

此时,工程中文件有:

·jiafa.asm这是主程序的源代码。

·jiafa.cmd这个CMD文件。

如果你要从你的工程中删除一个文件,在ProjectView中右击文件,在弹出的菜单中选择“RemovefromProject"。

3.查看源代码

双击jiafa.asm,源代码会出现在CCS窗口的右半窗口,如图1.4所示。

图1.4源程序jiafa.asm

4.编译和运行程序

按以下步骤编译运行程序:

1)选择Project→RebuildAll或者单击窗口菜单

,CCS将编译、连接工程中的所有文件,这个工程的编译连接消息将在底部的一个窗口显示。

显示:

Buildcomplete

0Error,0Warning,0Remarks

(注:

调试程序至显示无错误为止。

默认方式编译过程中,在当前项目文件存在目录下将生成一个Debug子目录,生成可执行jiafa.out文件放在该目录下。

2)选择File→LoadProgram,选择在\jiafa\debug(ti——myProject——工程名——debug)目录刚刚生成的jiafa.out文件。

CCS将把程序载入到DSP内,并且打开一个反汇编(Disassembly)窗口,如图1.5所示。

在反汇编窗口你可以看到一个绿色或黄色的箭头,它表示当前DSP的程序指针地址(PC值),注意此时PC指针将指向c_int00的位置。

3)在反汇编窗口中点击一条汇编指令,按下F1,CCS寻找该条指令的帮助文件。

这是一个熟悉的汇编指令的帮助信息的好办法。

4)选择Debug→Run或单击工具条中的

5)选择Debug→Halt或单击工具条中的,使程序退出运行状态。

图1.5加载过后的初始图

5.使用断点和观察窗

当你开发并测试一个程序的时候,你经常需要查看在程序执行过程中一个变量的值的变化。

本节中,你将使用断点

和观察窗口

来查看这些值,你也可以在到达断点以后使用单步调试命令

1)选择File→loadProgram,装载jiafa.out。

2)双击打开jiafa.asm程序,把你的光标移到(ADDy1,A)这一行:

3)单击

ToggleBreakpoint工具栏按钮,或者按下F9,此时将在这一行设置一个断点,用红色的小点表示。

4)选择View→WatchWindow或者

,一个单独的窗口将出现在CCS窗口的右下方。

在程序运行中,该区域将显示被观察的变量的值。

在默认方式下,首先选中的是WatchLocals选项,在函数执行时,局部变量被显示出来,如图1.6所示。

图1.6变量观察窗口

5)选择Debug→Run或者按下F5或者

6)选择Watch1选项,在Name栏单击表达式按钮,并将z1作为变量名输入。

单击观察窗口的空白处保存设置,变量值会立即显示出来,如图1.7所示。

图1.7变量观察窗口

9)单出

(StepOver)或按F10键单步调用执行指令。

10)结束本练习,使用

,清除所有断点。

五.实验思考题

1.建立一项工程文件,一般包括哪些文件,每个文件的作用是什么?

2.编写汇编程序实现;x-y=z

实验二编写算术运算程序

一.实验目的

1.学习用汇编语言编制程序。

2.了解TMS320C54x汇编语言程序结果和一些简单的汇编语句用法。

3.学习在CCS环境中调试汇编代码。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio2.0软件。

三.实验原理

1.汇编语言程序:

利用所学过的汇编语言编写一段程序实现算数运算

2.程序设计要求:

使用C54x汇编语言编程计算z1=x1+y1、z2=x1-y1、z3=x1*y1、z4=x2*y2,并在simulator上调试运行,观察计算结果。

其中x1=20,y1=54,x2=0.5,y2=0.5837。

四.实验步骤

1.实验准备:

设置软件仿真模式。

2.建立新的工程文件:

⑴双击桌面上图标,启动CodeComposerStudio2.0。

图2.1项目创建对话框

⑵进行以下设置:

建立suanshu.pjt。

4.编辑输入源程序:

⑴汇编语言程序:

-先新建源程序窗口:

(建立过程参考实验二)

-输入源程序:

.title"suanshu.asm"

.mmregs

.defstart,_c_int00

.bssx1,1

.bssx2,1

.bssy1,1

.bssy2,1

.bssz1,1

.bssz2,1

.bssz3_h,1

.bssz3_l,1

.bssz4,1

v1.set014H;20-----x1

v2.set036H;54-----y1

v3.set04000H;0.5(fraction)----x2

v4.set00b548H;-0.5837(fraction)-----y2

_c_int00

bstart

nop

nop

start:

LD#x1,DP

ST#v1,x1

ST#v2,y1

;**********testADD************

LDx1,A;loadx1->A

ADDy1,A;A+y1->A

STLA,z1;saveA(low16bits)->z1

NOP

;**********testSUB************

LDx1,A

SUBy1,A

STLA,z2

NOP

;**********testMPY(integer)********

RSBXFRCT;准备整数乘法

LDx1,T;x1->T

MPYy1,A;x1*y1->A(resultis32bit)

STHA,z3_h;乘法结果高16位在z3_h单元中

STLA,z3_l;乘法结果低16位在z3_l单元中

NOP

ST#v3,x2

ST#v4,y2

;**********testMPY((fraction)*******

;**0.5*(-0.58374)=-0.29187(0x0daa4)**

SSBXFRCT;准备小数乘法

LDx2,16,A;loadx2intoA(high16bits)

MPYAy2;x2*y2->B,andy2->T

;LDB,1,A;计算1.125*1.5用Q14表示乘积,18.4*36.8用Q5,同时下一条中A改为B

STHB,z4;结果在z4单元中

nop

end:

Bend

注意:

在输入汇编语言源程序时,除了标号以外的程序行必须以一个空格或退格字符开始。

-保存源程序为suanshu.asm。

(2)连接命令文件:

建立空的源程序窗口。

-输入连接命令文件内容:

/*suanshu.cmd*/

suanshu.obj

-msuanshu.map

-osuanshu.out

MEMORY

{

PAGE0:

ROM:

origin=0080h,length=1000h

ROM:

origin=0060h,length=10h

PAGE1:

OTHER:

origin=0400h,length=40h

}

SECTIONS

{

.text:

{}>ROMPAGE0

.data:

{}>ROMPAGE0

.bss:

{}>OTHERPAGE1

.stack:

{}>OTHERPAGE1

}

将文件存为suanshu.cmd

(3)将上述编译的源程序加入工程suanshu.pjt。

4.编译源文件、下载可执行程序:

⑴选择菜单ProjectRebuildAll。

⑵执行FileLoadProgram,在随后打开的对话框中选择刚刚建立的D:

\ti\myprojects\suanshu\debug\suanshu.out文件。

5.打开观察窗口观察程序运行结果:

开启内存观察窗口:

选择“View”菜单中“Memory…”项,在“MemoryWindowOptions”窗口中的“Address”项中输入0x0400,单击“OK”完成设置;“Memory”窗口显示选定的数据空间的内容(z1=0x004A,z2=0xFFDE,z3_l=0x0438,z4=0xDAA4)

在Memory选项窗口将Q-Value值设置为15,则可察看运行结果的小数形式(z4=-0.29187)。

当结果数据错误时可检查源程序进行修改,修改完毕,可重新汇编,链接,再加载运行.out文件,直到结果正确。

6.退出CCS:

五.实验结果

汇编语言程序可以从指定位置开始运行,但汇编程序需要完成对运行环境的初始化工作。

实验中的程序因为没有堆栈操作,所以没有初始化堆栈指针,这在编制大型应用程序中是必须要增加的功能。

在“MemoryWindowOptions”窗口中的“Address”项中输入0x0400,单击“OK”完成设置;“Memory”窗口显示选定的数据空间的内容(z1=0x004A,z2=0xFFDE,z3_l=0x0438,z4=0xDAA4)

六.问题与思考

1.阅读实验汇编源程序,并在每条语句后写出注释;

2.简述本程序中代码指令的运行过程并写出实验报告。

 

实验三编写程序实现长字运算

一.实验目的

1.学习用汇编语言编制程序。

2.了解TMS320C54x汇编语言程序结果和一些简单的汇编语句用法。

3.学习在CCS环境中调试汇编代码。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio2.0软件。

三.实验原理

1.汇编语言程序:

利用所学过的汇编语言编写一段程序实现32位整数加法运算。

2.程序设计要求:

使用C54x汇编语言编程计算Z32=X32+Y32的程序。

并在simulator上调试运行,观察计算结果。

四.实验步骤

1.实验准备:

设置软件仿真模式。

2.建立新的工程文件,建立ADD32.pjt。

3.编辑输入源程序:

⑴汇编语言程序:

-先新建源程序窗口:

(建立过程参考实验二)

-输入源程序:

.title"ADD32"

.mmregs

.defstart,_c_int00

.bssxhi,2,1,1

.bssyhi,2,1,1

.bsszhi,2,1,1

table.long13578468H

.long1020B30AH

.text

_c_int00

bstart

nop

nop

start:

LD#xhi,DP

STM#xhi,AR1

RPT#3

MVPDtable,*AR1+

DLDxhi,A

DADDyhi,A

DSTA,zhi

END:

BEND

.end

-保存源程序为ADD32.asm。

⑵连接命令文件:

建立空的源程序窗口。

-输入连接命令文件内容:

/*ADD32.cmd*/

ADD32.obj

-mADD32.map

-oADD32.out

MEMORY

{

PAGE0:

ROM:

origin=0080h,length=1000h

ROM:

origin=0060h,length=10h

PAGE1:

OTHER:

origin=0400h,length=40h

}

SECTIONS

{

.text:

{}>ROMPAGE0

.data:

{}>ROMPAGE0

.bss:

{}>OTHERPAGE1

.stack:

{}>OTHERPAGE1

}

4.编译源文件、下载可执行程序:

⑴选择菜单ProjectRebuildAll。

⑵执行FileLoadProgram,在随后打开的对话框中选择刚刚建立的D:

\ti\myprojects\suanshu\debug\ADD32.out文件。

5.打开观察窗口观察程序运行结果:

(开启内存观察窗口:

选择“View”菜单中“Memory…”项,在“MemoryWindowOptions”窗口中的“Address”项中输入0x0400,单击“OK”完成设置;“Memory”窗口显示选定的数据空间的内容(zhi=0x23780x3772)

当结果数据错误时可检查源程序进行修改,修改完毕,可重新汇编,链接,再加载运行.out文件,直到结果正确。

6.退出CCS:

五.实验结果

汇编语言程序可以从指定位置开始运行,但汇编程序需要完成对运行环境的初始化工作。

实验中的程序因为没有堆栈操作,所以没有初始化堆栈指针,这在编制大型应用程序中是必须要增加的功能。

在“MemoryWindowOptions”窗口中的“Address”项中输入0x0400,单击“OK”完成设置;“Memory”窗口显示选定的数据空间的内容(zhi=0x23780x3772).

六.问题与思考

1.请编写程序完成Z64=X64+Y64的计算。

2.对本次实验做出小结

 

附录 程序开发平台CCS

由于DSP器件越来越复杂,DSP系统的开发技术也变得越来越接近大型的微处理器系统开发技术。

为了提高开发工作效率、缩短应用系统开发周期,TI公司开发研制出了针对TMS320C2000/5000/6000器件的开发平台――CodeComposerStudio即CCS。

CCS是基于PC机的DSP应用系统开发平台,它提供方便且功能丰富的窗口界面,使开发和调试的效率大大提高,并能与TI公司生产的目标系统实用工具链接使用,直接实现用户目标系统的开发。

CCS软件可以集成在Windows9x/2K/NT4.0环境中运行。

针对用户特定的目标系统,用创建项目(Projects)的方法来进行开发和管理,它的基本特性如下:

•可以在Windows9x/2K/NT4.0环境下运行

•分层次的项目管理

••Windows风格的可视化用户界面

•必要时可用Make重新编译、汇编和链接文件

•CCS的所有工具都完全集成在一起,以方便使用

•支持直观的拖放功能

•有超文本风格的操作帮助

下面对程序开发平台环境的使用作简略介绍

一.CCS系统安装与设置

1、CCS系统安装

CCS对PC机的最低要求为Windows95、32MRAM、100M剩余硬盘空间、奔腾90以上处理器、SVGA显示器(分辨率800×600以上)。

进行CCS系统安装时,先将CCS安装盘插入CD-ROM驱动器中,运行光盘根目录下的setup.exe,按照安装向导的提示将CCS安装到硬盘中。

安装完成后,安装程序将自动在计算机桌面上创建如图6-1所示的“CCS2(’C5000)”,“SetupCCS2(‘C5000)”等快捷图标。

图6-1

2、为CCS安装设备驱动程序

在安装CCS之后、运行CCS软件之前,首先需要运行CCS设置程序,根据用户所拥有的软、硬件资源对CCS进行适当的配置。

启动SetupCCS2(’C5000)应用程序,单击Close按钮关闭ImportConfiguration对话框,将显示CodeComposerStudioSetup窗口,如图6-2所示。

 

 

图6-2CodeComposerstudioSetup窗口

二.CCS菜单和工具栏

打开CSS后出现图6-3对话框,在Open菜单中选择C54xSimulator,弹出CCS主窗口图6-4。

图6-4CCS运行主窗口

CCS菜单

1.File菜单

2.Edit菜单

3.View菜单

4.Project菜单

 

5.Debug菜单

 

6.Profiler菜单

 

7.Option菜单

 

8.Tools菜单

 

CCS工具栏

1.StandardToolbar

Standard工具栏包括以下常用工具如图6-7所示

图6-7Standard工具栏

2.GELToolbar

GEL工具栏提供了执行GEL函数的一种快捷方法,如图6-8所示。

在工具栏的左侧文本输入框中键入GEL函数名,再单击右侧的执行按钮即可执行相应的函数。

如果不使用GEL工具栏,也可以使用Edit菜单下的EditCommandLine命令执行GEL函数。

图6-8GEL工具栏

3.ProjectToolbar

Project工具栏提供了与工程和断点设置有关的命令,Project工具栏提供了以下命令如图6-9所示

图6-9Project工具栏

4.DebugToolbar

Debug工具栏提供以下常用的调试命令如图6-10所示

 

图6-10Debug工具栏

5.EditToolbar

Edit工具栏提供了一些常用的编辑命令及书签命令如图6-11所示。

图6-11Edit工具栏

6.Plug-inToolbars

Plug-inToolbars包括WatchWindow和DSP/BIOS两个窗口,其中WatchWindow如图6-12所示。

 

图6-12WatchWindow工具栏

三.CCS中的编译器、汇编器和链接器选项设置

1编译器、汇编器选项

编译器(Compiler)包括分析器、优化器和代码产生器,它接收C/C++源代码并产生TMS320C54x汇编语言源代码。

汇编器(Assembler)的作用就是将汇编语言源程序转换成机器语言目标文件,这些目标文件都是公共目标文件格式(COFF)。

如图6-13、表6-1所示。

 

图6-13生成选项窗口——编译器标签

 

 

表6-1编译器、汇编器常用选项(在Compiler中)

2链接器选项

在汇编程序生成代码中,链接器的作用如下:

(1)根据链接命令文件(.cmd文件)将一个或多个COFF目文件链接起来,生成存储器映象文件(.map)和可执行的输出文件(.out文件)。

(2)将段定位于实际系统的存储器中,给段、符号指定实际地址。

(3)解决输入文件之间未定义的外部符号引用(如图6-14、表6-2所示)。

 

图6-14生成选项窗口——链接器标签

 

 

表6-2链接器常用选项(在Linker中)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2