DSP实验报告.docx
《DSP实验报告.docx》由会员分享,可在线阅读,更多相关《DSP实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
![DSP实验报告.docx](https://file1.bdocx.com/fileroot1/2022-12/31/548594e6-d29c-45f9-9d93-a9b4242a901d/548594e6-d29c-45f9-9d93-a9b4242a901d1.gif)
DSP实验报告
实验报告
课程名称DSP原理与应用
实验项目DSP软件开发工具CCS的使用
指导教师沈冰夏王勇潘建军
学院信息与通信工程
专业电子信息工程
班级/学号
学生姓名
实验日期2014.11.19
成绩
一、实验目的
1.掌握CCS的软件仿真和硬件仿真7两种仿真模式。
2.掌握CCS软件开发工具的设置。
3.掌握CCS工程的创建和管理,程序编辑、编译、链接、加载、运行、调试的软件开发步骤。
4.熟悉CCS调试工具和分析工具的使用。
二、实验仪器及工具
PC机、TI的软件开发工具CCStudiov3.3;ICETEK-VC5509教学实验箱。
三、实验内容
1.CCS软件仿真模式下库和可执行程序的开发步骤。
2.CCS软件仿真模式下调试工具和分析工具的使用。
3.CCS硬件仿真模式程序的调试及VC5509A片内外存储器的查看。
四、实验步骤
(一)、CCS软件仿真模式下库和可执行程序的开发步骤
1.点击桌面“SetupCCStudiov3.3”图标,按C:
\VC5509AE\DOCS\ICETEK-VC5509-A指导书3.3-v3.pdf给出的步骤设置CCS为软件仿真模式,例如“C55xxRev3.0CPUFunctionalSimulator”,保存并退出,鼠标点击“CCStudiov3.3”图标打开CCS集成开发环境。
2.找到CCS的安装目录(默认安装在C:
\CCStudio_v3.3\目录下),在C:
\CCStudio_v3.3\MyProjects\目录下新建文件夹,可取名为myapplication。
把C:
\CCStudio_v3.3\tutorial\sim55xx\maxminmath\目录下所有.c和.cmd文件拷贝到这个新建文件夹中。
3.选择菜单Project→New,新建库工程.pjt,可取名为maxminlibrary.pjt,注意新建工程时Project类型选择“Library(.lib)”,添加averagevalue.c、maximumvalue.c和minimumvalue.c三个C源代码文件到工程,阅读三个文件,理解代码的含义。
选择菜单Project→BuildOption,选择“Archiver(归档器)”选项卡,查看归档器选项。
选择菜单Project→Rebuildall,或单击工具栏上的“RebuildAll”按钮,编译生成.lib。
4.再新建一可执行工程.pjt,可取名为mainapplication.pjt,注意Project类型选择Executable(.out),分别添加main函数文件testapp.c、链接器命令文件mainapplication.cmd、运行支持库rts55.lib(位于c:
ti\c5500\cgtools\lib\目录下)、库文件maxminlibrary.lib(..\debug\目录下),理解testapp.c代码的含义。
选择菜单Project→BuildOption,选择编译器(Compile)选项卡,“Category:
”列表下点击Assembly,选中“Keepgenerated.asmFiles(-k)”复选框,观察上面编译选项的变化;选择链接器(Linker)选项卡,查看链接器选项。
选择菜单Project→Rebuildall,或单击“Rebuildall”按钮,编译生成.out可执行文件。
选择菜单File→LoadProgram,选择debug目录加载可执行文件.out,选择菜单Debug→GoMain,按“F5”键运行程序,观察运行结果,可尝试修改应用程序,观察并记录运行结果。
资源管理器下查看debug目录下产生的文件。
(二)、CCS软件仿真模式下调试工具和分析工具的使用
1.把C:
\CCStudio_v3.3\tutorial\sim55xx\volume1目录拷贝到C:
\CCStudio_v3.3\MyProjects\文件夹中。
选择菜单Project→Open,打开C:
\CCStudio_v3.3\MyProjects\volume1目录下的工程文件volume.pjt,出现错误rts55.lib找不到,点击“Browse…”重新指定“rts55.lib”位置即可,或者点击“Remove”键,将其从工程中移出。
展开工程volume.pjt,双击链接器命令文件volume.cmd,打开它,在“MEMORY{”上面添加一行“-lrts55.lib”。
阅读“volume.c”文件,理解代码的含义。
阅读sine.dat文件,理解它是正弦曲线16位有符号整型数据。
选择菜单Project→Rebuildall,编译生成volume.out可执行文件并加载运行。
鼠标单击Debug工具栏上的“Halt”按钮,暂停程序运行。
选择菜单Project→BuildOption,察看编译器选项,选择Preprocessor,定义“Pre-DefineSymbols”栏添加FILEIO,点击确定,选择菜单Project→Build,或单击“Incrementalbuild”,Build窗口显示出现语法错误,修改语法错误。
再次编译得到可执行程序并加载运行,观察程序运行。
鼠标单击Debug工具栏上的“Halt”按钮,暂停程序运行。
2.文件的输入/输出
(1)选择菜单File→LoadProgram,选择可执行文件volume.out,加载它。
(2)选择菜单Debug→GoMain。
或在工程视图中双击volume.c,在右边的编辑窗口中将显示源代码。
(3)将光标移到主函数中的dataIO()那一行上。
(4)单击“ToggleBreakpoint”按钮,该行旁边红色标志表示设置了一个软件断点。
再在同一行上单击鼠标右键,选择“SoftwareBreakpoint”,“Edit”来设置断点。
此时打开了一个新的窗口。
按照下图设置新的窗口。
注意:
下图步骤b.中请输入数据文件路径为c:
\CCStudio_v3.3\MyProjects\volume1\sine.dat。
(5)此时,已经配置好了Probe断点和与之关联的事件。
3.时域图形显示
(1)选择菜单View→Graph→Time/Frequency,弹出GraphPropertyDialog(图形属性对话框)。
(2)在“GraphPropertyDialog”对话框中更改图形的标题、起始地址、缓冲区大小、显示数据大小、DSP数据类型、自动标尺属性及最大Y值,如下图所示。
(3)单击“OK”按钮,将出现Input图形窗口。
图形窗口中鼠标右击,鼠标右击菜单根据需要不勾选“FloatinginMainWindow”和“AllowDocking”调整图形窗口位置。
(4)再次执行菜单命令View→Graph→Time/Frequency。
(5)这次将GraphTitle改为Output,开始地址栏改为out_buffer。
其他设置不变。
GraphTitle:
Output
StartAddress:
out_buffer
(6)单击“OK”按钮,出现一个显示out_buffer波形的“Output”图形窗口。
图形窗口中鼠标右击,鼠标右击菜单根据需要不勾选“FloatinginMainWindow”和“AllowDocking”调整图形窗口位置。
(7)按“F5”键,程序继续运行。
鼠标单击Debug工具栏上的“Halt”按钮,暂停程序运行。
可以从输出图形窗口看到更新的输出波形。
(8),图形窗口中鼠标右击,鼠标右击菜单选择Close,可关闭已显示波形。
4.观测窗调整增益因子
选择菜单View→WatchWindow就可以弹出观测窗界面,将全局变量gain拖入,或在volume.c中右击鼠标,选择“QuickWatch”,CCS将打开QuickWatch窗口,要求输入要添加入观察窗口的变量,此处我们要输入的是gain。
点击“AddToWatch”,gain变量被加入到观察窗口中;也可在volume.c中,选中任意全局变量gain,右击鼠标,选择“AddtoWatchWindow”,CCS将把变量添加到观察窗口并显示选中的变量值。
点击“Radix”栏,可更改显示数据形式。
在观察窗口中双击全局变量gain的“Value”栏。
此时,全局变量gain的值可以被编辑,更改变全局变量gain的值。
按“F5”键,程序继续运行,鼠标单击Debug工具栏上的“Halt”按钮或按“Shift+F5”键停止程序运行。
观察“Output”图形窗口中“out_buffer”振幅的改变情况,正确的结果是波形振幅与全局变量gain的值成正比关系。
5.GEL文件使用
查看菜单Gel,虚字显示“NotLoaded”。
选择菜单File→LoadGEL,在“LoadGEL”对话框中选择volume.gel文件打开。
选择菜单GEL→ApplationControl→Gain选项,此时打开“Gain”控制窗,用于全局变量gain值的修改。
在“Gain”控制窗口中,改变滑块的值,按“F5”键,程序继续运行,鼠标单击Debug工具栏上的“Halt”按钮或按“Shift+F5”键停止程序运行。
观察“Output”图形窗口中“out_buffer”振幅的改变情况。
注意,当“Gain”控制窗口的滑块为0时,程序运行时的gain变量值也与之一致,此时,“Output”图形窗口无输出。
在工程窗口中点击“GELFiles”左边的“+”号,展开GEL列表,在volume.gel文件上双击,打开volume.gel文件,分析GEL文件如何实现上述功能。
浏览Gain函数,Gain函数定义了一个0-10的滑动窗口,其中单步增加、翻页均使滑块加1,当改变滑块值时,gainParm就把相应的改动后的值赋给gain变量,从而使主程序的处理发生变化。
6.CCS软件仿真环境下Profile分析工具使用
CCStudiov3.3设置为“C55xxCycleAccurateSimulator”或“C55xxRev3.0CPUCycleAccurateSimulator”软件仿真模式,打开CCStudiov3.3集成开发环境。
选择菜单Project→RecentProjectFiles或Project→Open,打开步骤
(一)创建的可执行工程.pjt,选择菜单File→LoadProgram,加载程序。
选择菜单命令Profile→Setup,开始新的剖析会话。
剖析会话窗口包含使能/禁止剖析、使能/禁止所有的函数等按钮。
鼠标点击“Enable/DisableProfiling”按钮使能剖析,鼠标点击“Enable/DisableAllFunctions”按钮使能所有函数。
选择菜单Profile→Viewer,按F5运行程序,显示剖析结果。
程序停止后,读取Profile数据。
按“PrtSc”键将Profile结果抓屏,并使用画图图像处理软件(mspaint.exe)剪切,仅留下剖析结果部分,将其压缩为.jpg文件。
(三)、CCS硬件仿真模式程序调试及VC5509A片内外存储器的查看
1.关闭CCS软件,连接实验箱,连接DSP评估板模块电源插座到实验箱底板上+5V电源插座,千万不要连接实验箱底板上的+12V电源。
检查实验箱上220V电源插座(箱体左侧)中保险管是否完好,在连接电源线以后,检查各模块供电连线是否正确连接,打开实验箱上的电源总开关(位于实验箱底板左上角),使开关位于“开”的位置,电源开关右侧的指示灯亮。
2.点击桌面“SetupCCStudiov3.3”按钮,按C:
\VC5509AE\DOCS\ICETEK-VC5509-A指导书3.3-v3.pdf给出的步骤设置仿真器为硬件仿真并保存退出,打开CCS集成开发环境。
在工程窗口中点击“GELFiles”左边显示“+”号,展开GEL列表,双击打开GEL文件。
这个主要包括时钟发生器、EMIF的设置等,不同配置的目标板有专门的.gel文件。
3.选择菜单Project→RecentProjectFiles或Project→Open,打开步骤
(一)创建的可执行工程.pjt,选择菜单File→LoadProgram,加载程序,运行程序。
4.选择菜单View→Memory,显示“MemoryWindows”对话框,在上面“Address”域分别填入片内储存器、SDRAM的地址以及外扩I/O寄存器地址。
在下面“Format”域中下拉选择“16bitHex–CStyle”。
在窗口点击某一数据,编辑其值,观察其状况。
LEDR寄存器:
字地址0x400001,为发光二极管控制寄存器,控制D1-D4。
四位显示数码管。
向某位写“1”,点亮相应的发光管,写“0”,则使数码管熄灭。
SWR寄存器:
字地址是0x40002,为拨档开关寄存器控制。
控制DIPSwitchesU4四位开关。
当开关连通(处于ON一侧)时,寄存器读入“0”,当开关断开(不处于ON一侧)时,寄存器读入“1”。
拨动DIPSwitchesU4后,鼠标右击窗口,选择“Refreshwindow”可刷新窗口,读入DIPSwitchesU4状况到寄存器。
5.关闭CCS,断电,鼠标双击“SetupCCStudiov3.3”图标,删除启动“GELFile”文件。
通电,再次打开CCStudiov3.3集成开发环境,在工程窗口中点击“GELFiles”左边没有的“+”号,再次选择菜单View→Memory,显示“MemoryWindows”对话框,在“Address”域分别填入片内储存器、SDRAM的地址以及外扩I/O寄存器地址,查看ICETEK-VC5509-A评估板的VC5509A片内外存储器。
五、实验要求中的问题:
2.请问在项目maxminlibrary.pjt中,代码产生工具是是如何将averagevalue.c、maximumvalue.c和minimumvalue.c生成maxminlibrary.lib的?
在项目mainapplication.pjt中,代码产生工具是是如何将testapp.c等文件生成可执行文件mainapplication.out的?
并说明CCS对程序的路径和文件名有何特殊要求?
答:
(1)新建项目时Project类型选择Library(.lib),添加averagevalue.c、maximumvalue.c和minimumvalue.c三个C源代码文件到项目,阅读三个文件,理解代码的含义。
选择菜单Project→BuildOption,选择文档管理器(Archiver)选项卡,查看文档管理器选项。
选择菜单Project→Rebuildall,或单击“RebuildAll”图标,编译生成maxminlibrary.lib。
新建项目mainapplication.prj,注意Project类型选择Executable(.out),分别添加main函数文件testapp.c、链接器命令文件mainapplication.cmd、运行支持库rts55.lib(位于c:
ti\c5500\cgtools\lib\目录下)、库文件maxminlibrary.lib(..\debug\目录下),理解testapp.c代码的含义。
选择菜单Project→BuildOption,选择编译器(Compile)选项卡,“Category:
”列表下点击Assembly,选中“Keepgenerated.asmFiles(-k)”复选框,观察上面编译选项的变化;选择链接器(Linker)选项卡,查看链接器选项。
选择菜单Project→Rebuildall,或单击“Rebuildall”图标,编译生成mainapplication.out可执行文件。
CCS工程路径不支持中文。
3.给出volume.cmd中MEMORY和SECTIONS命令的功能。
MEMORY命令功能:
指令可以定义目标系统的各种类型的存储器及容量,用来建立目标存储器的模型,配置目标存储器,描述系统实际的硬件资源。
ECTION命令功能:
用来指定段的存放位置,描述“段”如何定位,依据MEMORY指令来安排各个段的位置。
4.截图给出调整增益因子gain值为2-10后的观测窗及此gain下时域输入信号及放大信号的图形显示。
此时对gain进行调整,将gain调为5,图形如下
5.截图给出步骤
(一)创建的可执行工程.pjt的Profile结果。
理解Profile数据的cycle.CPU:
Incl.Total和cycle.CPU:
Excl.Total的中文含义。
6.请说明在CCS硬件仿真模式下,加载和不加载ICETEK-VC5509-A.GEL,ICETEK-VC5509-A评估板的VC5509A片内外存储器不同状况。
如果不加载则出现Dataverificationfailedataddress0x8XXXXXXX错误,出错的地址出现在外部存储器空间。
此时程序没有运行,CPU的寄存器都还没有配置,外部存储寄存器EMI也没有配置编译器找不到此地址。
GEL的加载完成了此功能。
6.总结实验体会及实验中存在的问题
这次和陈雯一组第一次做DSP的实验,有用到了一个新的软件。
对新软件的很多功能都不了解,老师给的指导书很详细但在操作的过程中还是遇到了很多的困难,在老师和同学的帮助下一点一点的把遇到的问解决。
通过这次实验收获很多,学会了一个新的软件操作,虽然只学会了一些最简单的操作但对我今后的学习有很大的帮助。
这次实验后我对DSP这门课程有了更好的认识。