1、DSP实验报告实 验 报 告课程名称 DSP原理与应用 实验项目 DSP软件开发工具CCS的使用指导教师 沈冰夏 王勇 潘建军 学 院 信息与通信工程 专 业 电子信息工程 班级/学号 学生姓名 实验日期 2014.11.19 成 绩 一、实验目的1. 掌握CCS的软件仿真和硬件仿真7两种仿真模式。2. 掌握CCS软件开发工具的设置。3. 掌握CCS工程的创建和管理,程序编辑、编译、链接、加载、运行、调试的软件开发步骤。4. 熟悉CCS调试工具和分析工具的使用。二、实验仪器及工具PC机、TI 的软件开发工具 CCStudio v3.3;ICETEK-VC5509教学实验箱。三、实验内容1. C
2、CS软件仿真模式下库和可执行程序的开发步骤。2. CCS软件仿真模式下调试工具和分析工具的使用。3. CCS硬件仿真模式程序的调试及VC5509A片内外存储器的查看。四、实验步骤(一)、CCS软件仿真模式下库和可执行程序的开发步骤1. 点击桌面“Setup CCStudio v3.3”图标,按C:VC5509AEDOCSICETEK-VC5509-A指导书3.3-v3.pdf 给出的步骤设置CCS为软件仿真模式,例如“C55xx Rev3.0 CPU Functional Simulator”,保存并退出, 鼠标点击“CCStudio v3.3”图标打开CCS集成开发环境。2. 找到CCS的安
3、装目录(默认安装在C:CCStudio_v3.3目录下),在C:CCStudio_v3.3MyProjects目录下新建文件夹,可取名为myapplication。把C:CCStudio_v3.3tutorialsim55xxmaxminmath目录下所有.c和.cmd文件拷贝到这个新建文件夹中。3. 选择菜单 ProjectNew,新建库工程.pjt,可取名为maxminlibrary.pjt,注意新建工程时Project类型选择“Library(.lib)”,添加averagevalue.c、maximumvalue.c和minimumvalue.c三个C源代码文件到工程,阅读三个文件,理
4、解代码的含义。选择菜单ProjectBuild Option,选择“Archiver(归档器)”选项卡,查看归档器选项。选择菜单ProjectRebuild all,或单击工具栏上的“Rebuild All”按钮,编译生成.lib。4. 再新建一可执行工程.pjt,可取名为mainapplication.pjt,注意Project类型选择Executable(.out),分别添加main 函数文件testapp. c、链接器命令文件mainapplication.cmd、运行支持库rts55.lib(位于c:tic5500cgtoolslib目录下)、库文件maxminlibrary.lib(
5、.debug目录下),理解testapp.c代码的含义。选择菜单ProjectBuild Option,选择编译器(Compile)选项卡,“Category:”列表下点击Assembly, 选中“Keep generated .asm Files(-k)”复选框,观察上面编译选项的变化;选择链接器(Linker)选项卡,查看链接器选项。选择菜单ProjectRebuild all,或单击“Rebuild all”按钮,编译生成.out可执行文件。选择菜单FileLoad Program,选择debug目录加载可执行文件.out,选择菜单DebugGo Main,按“F5”键运行程序,观察运行
6、结果,可尝试修改应用程序,观察并记录运行结果。资源管理器下查看debug 目录下产生的文件。(二)、CCS软件仿真模式下调试工具和分析工具的使用1. 把C:CCStudio_v3.3tutorialsim55xxvolume1目录拷贝到C:CCStudio_v3.3MyProjects文件夹中。选择菜单ProjectOpen,打开C:CCStudio_v3.3MyProjectsvolume1目录下的工程文件volume.pjt,出现错误rts55.lib找不到,点击“Browse”重新指定“rts55.lib”位置即可,或者点击“Remove” 键,将其从工程中移出。展开工程volume.p
7、jt,双击链接器命令文件volume.cmd ,打开它,在“MEMORY ”上面添加一行“-l rts55.lib”。阅读“volume.c”文件,理解代码的含义。阅读sine.dat文件,理解它是正弦曲线16位有符号整型数据。选择菜单ProjectRebuild all,编译生成volume.out可执行文件并加载运行。鼠标单击Debug工具栏上的“Halt”按钮,暂停程序运行。选择菜单ProjectBuild Option,察看编译器选项,选择Preprocessor,定义“Pre-Define Symbols”栏添加FILEIO, 点击确定,选择菜单ProjectBuild,或单击“In
8、cremental build”,Build 窗口显示出现语法错误,修改语法错误。再次编译得到可执行程序并加载运行,观察程序运行。鼠标单击Debug工具栏上的“Halt”按钮,暂停程序运行。2. 文件的输入/输出(1) 选择菜单FileLoad Program,选择可执行文件volume.out ,加载它。(2) 选择菜单DebugGo Main。或在工程视图中双击volume.c,在右边的编辑窗口中将显示源代码。(3) 将光标移到主函数中的dataIO()那一行上。(4) 单击“Toggle Breakpoint”按钮,该行旁边红色标志表示设置了一个软件断点。再在同一行上单击鼠标右键,选择“
9、Software Breakpoint”,“Edit”来设置断点。此时打开了一个新的窗口。按照下图设置新的窗口。注意:下图步骤b.中请输入数据文件路径为c:CCStudio_v3.3MyProjectsvolume1sine.dat。(5) 此时, 已经配置好了Probe 断点和与之关联的事件。3时域图形显示(1) 选择菜单ViewGraphTime/Frequency,弹出Graph Property Dialog(图形属性对话框)。(2) 在“Graph Property Dialog”对话框中更改图形的标题、起始地址、缓冲区大小、显示数据大小、DSP数据类型、自动标尺属性及最大Y值,如下
10、图所示。(3) 单击“OK”按钮,将出现Input图形窗口。图形窗口中鼠标右击,鼠标右击菜单根据需要不勾选“Floating in Main Window”和“Allow Docking”调整图形窗口位置。(4) 再次执行菜单命令ViewGraphTime /Frequency。(5) 这次将Graph Title改为Output,开始地址栏改为out_buffer。其他设置不变。Graph Title :Output Start Address :out_buffer(6) 单击“OK”按钮,出现一个显示out_buffer波形的“Output ”图形窗口。图形窗口中鼠标右击,鼠标右击菜单根
11、据需要不勾选“Floating in Main Window”和“Allow Docking”调整图形窗口位置。(7) 按“F5”键,程序继续运行。鼠标单击Debug工具栏上的“Halt”按钮,暂停程序运行。可以从输出图形窗口看到更新的输出波形。(8),图形窗口中鼠标右击,鼠标右击菜单选择Close,可关闭已显示波形。4观测窗调整增益因子选择菜单ViewWatch Window就可以弹出观测窗界面,将全局变量gain 拖入,或在volume.c 中右击鼠标,选择“Quick Watch”,CCS 将打开Quick Watch 窗口,要求输入要添加入观察窗口的变量,此处我们要输入的是gain。点
12、击“Add To Watch”,gain变量被加入到观察窗口中;也可在volume.c 中,选中任意全局变量gain,右击鼠标,选择“Add to Watch Window”,CCS 将把变量添加到观察窗口并显示选中的变量值。点击“Radix”栏,可更改显示数据形式。在观察窗口中双击全局变量gain的“Value”栏。此时,全局变量gain的值可以被编辑,更改变全局变量gain的值。按“F5”键,程序继续运行,鼠标单击Debug工具栏上的“Halt”按钮或按“Shift+F5”键停止程序运行。观察“Output” 图形窗口中“out_buffer” 振幅的改变情况,正确的结果是波形振幅与全局变
13、量gain的值成正比关系。5 GEL文件使用查看菜单Gel,虚字显示“Not Loaded”。选择菜单FileLoad GEL,在“Load GEL”对话框中选择volume.gel文件打开。选择菜单GELApplation ControlGain选项,此时打开“Gain”控制窗,用于全局变量gain值的修改。在“Gain”控制窗口中,改变滑块的值,按“F5”键,程序继续运行,鼠标单击Debug工具栏上的“Halt”按钮或按“Shift+F5”键停止程序运行。观察“Output” 图形窗口中“out_buffer” 振幅的改变情况。注意,当“Gain”控制窗口的滑块为0时,程序运行时的gain
14、变量值也与之一致,此时,“Output” 图形窗口无输出。在工程窗口中点击“GEL Files”左边的“+”号,展开GEL列表,在volume.gel 文件上双击,打开volume.gel文件,分析GEL文件如何实现上述功能。浏览Gain函数,Gain函数定义了一个0-10的滑动窗口,其中单步增加、翻页均使滑块加1,当改变滑块值时,gainParm就把相应的改动后的值赋给gain变量,从而使主程序的处理发生变化。6CCS软件仿真环境下Profile分析工具使用CCStudio v3.3设置为“C55xx Cycle Accurate Simulator”或“C55xx Rev3.0 CPU C
15、ycle Accurate Simulator”软件仿真模式,打开CCStudio v3.3集成开发环境。选择菜单ProjectRecent Project Files或ProjectOpen,打开步骤(一)创建的可执行工程.pjt,选择菜单FileLoad Program,加载程序。选择菜单命令ProfileSetup,开始新的剖析会话。剖析会话窗口包含使能/禁止剖析、使能/禁止所有的函数等按钮。鼠标点击“Enable/Disable Profiling” 按钮使能剖析,鼠标点击“Enable/Disable All Functions” 按钮使能所有函数。选择菜单ProfileViewer
16、,按F5 运行程序,显示剖析结果。程序停止后,读取Profile 数据。按“PrtSc”键将Profile 结果抓屏,并使用画图图像处理软件(mspaint.exe)剪切,仅留下剖析结果部分,将其压缩为.jpg文件。(三)、CCS硬件仿真模式程序调试及VC5509A片内外存储器的查看1关闭CCS 软件,连接实验箱,连接DSP评估板模块电源插座到实验箱底板上+5V电源插座,千万不要连接实验箱底板上的12V电源。检查实验箱上220V电源插座(箱体左侧)中保险管是否完好,在连接电源线以后,检查各模块供电连线是否正确连接,打开实验箱上的电源总开关(位于实验箱底板左上角),使开关位于“开”的位置,电源开
17、关右侧的指示灯亮。2点击桌面“Setup CCStudio v3.3”按钮,按C:VC5509AEDOCSICETEK-VC5509-A指导书3.3-v3.pdf给出的步骤设置仿真器为硬件仿真并保存退出,打开CCS集成开发环境。在工程窗口中点击“GEL Files”左边显示“+”号,展开GEL列表,双击打开GEL文件。这个主要包括时钟发生器、EMIF的设置等,不同配置的目标板有专门的.gel 文件。3选择菜单ProjectRecent Project Files或ProjectOpen,打开步骤(一)创建的可执行工程.pjt,选择菜单FileLoad Program,加载程序,运行程序。4选择
18、菜单ViewMemory,显示“Memory Windows ”对话框,在上面“Address”域分别填入片内储存器、SDRAM 的地址以及外扩I/O寄存器地址。在下面“Format” 域中下拉选择“16 bit Hex C Style”。在窗口点击某一数据,编辑其值,观察其状况。LEDR寄存器:字地址 0x400001,为发光二极管控制寄存器,控制D1-D4 。 四位显示数码管。向某位写“1”,点亮相应的发光管,写“0”,则使数码管熄灭。SWR寄存器: 字地址是0x40002,为拨档开关寄存器控制。控制 DIP Switches U4 四位开关。当开关连通(处于ON一侧)时,寄存器读入“0”
19、,当开关断开(不处于ON一侧)时,寄存器读入“1”。 拨动DIP Switches U4后,鼠标右击窗口,选择“Refresh window”可刷新窗口,读入DIP Switches U4 状况到寄存器。5关闭CCS,断电,鼠标双击“Setup CCStudio v3.3”图标,删除启动“GEL File”文件。通电,再次打开CCStudio v3.3集成开发环境,在工程窗口中点击“GEL Files”左边没有的“+”号,再次选择菜单ViewMemory,显示“Memory Windows”对话框,在“Address”域分别填入片内储存器、SDRAM 的地址以及外扩I/O寄存器地址,查看ICE
20、TEK-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、maxim
21、umvalue.c和minimumvalue.c三个C源代码文件到项目,阅读三个文件,理解代码的含义。选择菜单ProjectBuild Option,选择文档管理器(Archiver)选项卡,查看文档管理器选项。选择菜单ProjectRebuild all,或单击“Rebuild All”图标,编译生成maxminlibrary.lib。新建项目mainapplication.prj,注意Project类型选择Executable(.out),分别添加main 函数文件testapp. c、链接器命令文件mainapplication.cmd、运行支持库rts55.lib(位于c:tic550
22、0cgtoolslib目录下)、库文件maxminlibrary.lib(.debug目录下),理解testapp.c代码的含义。选择菜单ProjectBuild Option,选择编译器(Compile)选项卡,“Category:”列表下点击Assembly, 选中“Keep generated .asm Files(-k)”复选框,观察上面编译选项的变化;选择链接器(Linker)选项卡,查看链接器选项。选择菜单ProjectRebuild all,或单击“Rebuild all”图标,编译生成mainapplication.out可执行文件。CCS工程路径不支持中文。3给出volume
23、.cmd 中MEMORY和SECTIONS命令的功能。MEMORY命令功能:指令可以定义目标系统的各种类型的存储器及容量,用来建立目标存储器的模型,配置目标存储器,描述系统实际的硬件资源。ECTION命令功能:用来指定段的存放位置,描述“段”如何定位,依据MEMORY指令来安排各个段的位置。4截图给出调整增益因子gain值为2-10后的观测窗及此gain下时域输入信号及放大信号的图形显示。此时对gain进行调整,将gain调为5,图形如下5.截图给出步骤(一)创建的可执行工程.pjt 的Profile结果。理解Profile数据的cycle.CPU: Incl. Total和cycle.CPU
24、: Excl. Total的中文含义。6请说明在CCS硬件仿真模式下,加载和不加载ICETEK-VC5509-A.GEL, ICETEK-VC5509-A 评估板的VC5509A片内外存储器不同状况。如果不加载则出现Data verification failed at address 0x8XXXXXXX错误,出错的地址出现在外部存储器空间。此时程序没有运行,CPU的寄存器都还没有配置,外部存储寄存器EMI也没有配置编译器找不到此地址。GEL的加载完成了此功能。6总结实验体会及实验中存在的问题这次和陈雯一组第一次做DSP的实验,有用到了一个新的软件。对新软件的很多功能都不了解,老师给的指导书很详细但在操作的过程中还是遇到了很多的困难,在老师和同学的帮助下一点一点的把遇到的问解决。通过这次实验收获很多,学会了一个新的软件操作,虽然只学会了一些最简单的操作但对我今后的学习有很大的帮助。这次实验后我对DSP这门课程有了更好的认识。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1