您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > XXXX---实验2CCS使用和调试实验volume
北京交通大学国家工科电工电子教学基地DSP应用技术1实验2CCS使用和调试实验一、实验目的1.掌握利用CCS建立工程、编译与调试代码的基本过程;2.掌握基本调试技术:如观察窗、图形(断点)、文件I/O(断点)、剖析等。(可直接在simulator下实验)北京交通大学国家工科电工电子教学基地DSP应用技术2二、实验内容1.建立工程test1.pjt,然后分别建立源程序(test1.c或.asm)、头文件(test1.h)和连接命令文件(test1.cmd)。并编译、下载和运行程序。(此处为了方便起见,直接将C:\CCStudio_v3.3\tutorial\sim55xx\volume1下的例程volume.c拷贝到test1.c,将volume.h拷贝到test1.h,将volume.cmd拷贝到test1.cmd。向分别工程中添加源程序、头文件、连接命令文件(.cmd)以及库文件(.lib)。北京交通大学国家工科电工电子教学基地DSP应用技术3二、实验内容同时将C:\CCStudio_v3.3\C5500\cgtools\lib中C55xDSP的C语言运行支持库文件rts55.lib(存储器为SmallMemoryModel,注意不是rts55x.lib。本课程其它工程添加的运行支持库函数均为rts55x.lib,存储器为LargeMemoryModel)添加到工程中。注意:编译选择中,大存储器模式(-ml)对应rts55x.lib,小存储器模式对应rts55.lib北京交通大学国家工科电工电子教学基地DSP应用技术42.利用CCS工具调试程序(1)观察计算结果的数据(2)观察数据的图形(断点)(3)观察存储器中的数据(4)利用断点进行文件I/O,实现外部数据和DSP存储区的交换(5)利用剖析工具分析程序各段执行的时间北京交通大学国家工科电工电子教学基地DSP应用技术5查看源程序代码volume.c简介:主程序打印一个信息,然后进入无限循环。在这个循环中,调用dataIO和进程函数。在输入缓冲区中,处理函数将每个值乘以增益,并将结果放到输出缓冲区。它也调用汇编加载过程,此过程消耗基于将processingLoad值传递到过程的指令周期。例子中的dataIO函数不作任何处理,仅仅返回。除了使用C代码执行I/O,我们将使用CCS中的断点操作,读取主机的文件中数据到inp_buffer区域。北京交通大学国家工科电工电子教学基地DSP应用技术62.1编译与运行程序1.选择Project/RebuildAll或单击(RebuildAll)菜单条按钮,CCS重新进行编辑、汇编、连接工程里的所有文件。这个处理的有关信息在窗口底部一个小框里显示。2.默认时,.out文件编译到位于当前工程文件夹中的调试(debug)目录中;也可以通过CCS工具条选择一个存储目录。3.选择File/LoadProgram.选中volume1.out,并按Open。(C:\CCStudio_v3.3\MyProjects\volume1\Debug文件夹中。)CCS将程序装载到目标DSP上,打开显示程序反汇编指令的Disassembly窗口。北京交通大学国家工科电工电子教学基地DSP应用技术74.选择View/MixedSource/ASM.这样可以同时查看C源程序和产生的汇编代码。5.在混合窗口单击汇编指令(单击有效指令,而不是指令的地址或指令所传递的区域),单击F1,CCS可以寻找此指令的帮助。这是学习指令的很好的方法。6.选择Debug/GoMain。从主程序开始执行。7.选择Debug/Run或单击(Run)按钮。8.选择Debug/Halt,退出程序运行。北京交通大学国家工科电工电子教学基地DSP应用技术89.从View菜单,选择MixedSource/ASM.。允许无须汇编而查看C代码,所以你可以完成下一个任务:更改程序的选择、定位语法错误。北京交通大学国家工科电工电子教学基地DSP应用技术92.2更改程序编译选择,查找语法错误北京交通大学国家工科电工电子教学基地DSP应用技术10编译选项(buildoption)的常用设置要对工程进行正确的编译连接,必须对buildoption进行正确的设置。单击菜单Project下BuildOption选项,出现编译选择对话框。1.Compiler\Preprocessor\IncludeSearchPath用来定义include文件的搜索路径,可以使用绝对路径或相对路径来进行自定义。如C:\CCStudio_v3.3\C5500\cgtools\include2.Compiler\Advanced\MemoryModel大存储器模式(-ml)对应rts55x.lib,小存储器模式对应rts55.lib北京交通大学国家工科电工电子教学基地DSP应用技术11编译选项(buildoption)的常用设置3.Linker\Basic\IncludeLibraries(-l)用来定义链接库文件,如输入rts55x.lib、csl5502x.lib、55xdsp.lib、55ximagex.lib库等。4.Linker\Basic\OutputFilename(-o)用来定义规定可执行文件(.out)的路径和名称5.Linker\Basic\MapFilename(-m)用来定义规定存储器映射文件(.map)的路径和名称北京交通大学国家工科电工电子教学基地DSP应用技术12前面含在预处理器命令中的程序的部分(#ifdef和#endif)没有不执行,因为FILEIO未定义。下面可以使用CCS设置预处理器选择,学会并纠正语法错误。1.选择菜单Project下BuildOptions选项2.在BuildOptions窗口的Compiler上,选择Category列表的Preprocessor,在DefineSymbols区域键入FILEIO,按Tab键。更改程序编译选择,查找语法错误北京交通大学国家工科电工电子教学基地DSP应用技术13BuildOptionsforVolume1.pjt北京交通大学国家工科电工电子教学基地DSP应用技术143.单击OK,保存新的选择设置。4.选择Project菜单下RebuildAll选项,或单击(RebuildAll)按钮。只要工程选择更改,则必须重新编译所有的文件。5.编译信息显示,程序包含编辑错误。单击Build,可以看见语法错误信息。北京交通大学国家工科电工电子教学基地DSP应用技术156.双击描述语法错误位置注意volume.c源程序已打开,且光标位于下面的行上:processing(input,output);7.语法错误位于光标位置的上一行(丢了个分号),如:puts(beginprocessing);8.注意,Edit窗口标题栏中的文件名附近出现星号(*),指示源程序已经被修改,文件保存后,星号消失。北京交通大学国家工科电工电子教学基地DSP应用技术16使用断点(Breakpoints)观察窗口(WatchWindow)为了程序执行时常常需要检查变量的值2.3断点和观察窗北京交通大学国家工科电工电子教学基地DSP应用技术17断点和观察窗1.File/ReloadProgram.2.双击ProjectView窗中的volume.c。可以将窗口变大,看到更多的源代码。3.将光标放在dataIO();4.单击(ToggleBreakpoint)工具条,或按F9。红色图标指示断点已经设置北京交通大学国家工科电工电子教学基地DSP应用技术185.选择View/WatchWindow,在CCS窗口的右下角出现观察窗,显示观察变量的值。缺省时,选中WatchLocals,显示正在执行的函数的本地变量。6.如果不在主程序,选择Debug/GoMain,然后运行程序。7.选择Watch18.单击Name栏中表达式图标,键入要观察的变量名dataIO。北京交通大学国家工科电工电子教学基地DSP应用技术199.单击观察窗口中的白色区域,保存更改。这个值将立即出现在下面的例子中。北京交通大学国家工科电工电子教学基地DSP应用技术2010.单击(StepOver)或按F10,跨过对dataIO()的调用。StepInto(F11)StepOver(F10)StepOut(Shift+F11)RuntoCursor(Ctrl+F10)11.完成后,单击(RemoveAllBreakpoints),再继续下面的学习。北京交通大学国家工科电工电子教学基地DSP应用技术212.4使用带结构的WatchWindow除了观察简单变量的值,也可以观察一个结构的元素的值。北京交通大学国家工科电工电子教学基地DSP应用技术221.选择Watch12.单击Name栏中的表达式图标,键入要观察表达式名称str。3.单击观察窗口中的白色空间,保存更改。数值将立即出现在下面的例子中。观察步骤:北京交通大学国家工科电工电子教学基地DSP应用技术235.单击str上的+号,CCS将结构中所有元素和元素值。双击结构中元素的Value,编辑元素的值。6.在Watchwindow中Value栏,更改变量的值。注意,WatchWindow中数值的更改,数值也变为红色,表示已经手动修改。7.选择WatchWindow中str变量,按Delete键。其他变量同理。8.选择Debug/Breakpoints.在Breakpoints中,单击DeleteAll,然后单击OK.北京交通大学国家工科电工电子教学基地DSP应用技术242.5文件I/O(利用断点)可以利用断点从PC机中的文件向DSP中读数据。北京交通大学国家工科电工电子教学基地DSP应用技术25断点作用断点可以中断程序执行,更新所有窗口。断点可以从DSP的存储器中将数据传递输到PC文件中;断点可以将PC文件数据读到DSP的存储器中。北京交通大学国家工科电工电子教学基地DSP应用技术261.选择File/LoadProgram,选中volume1.out,单击Open。2.双击ProjectView中的volume.c。3.将光标放到主程序中:dataIO();4.单击(ToggleBreakpoint)。出现红点图标表示断点已经设置。5.从Debug菜单,选择Breakpoints…。利用断点将外部文件输入到DSP存储器中北京交通大学国家工科电工电子教学基地DSP应用技术276.在Breakpoints对话框中,点击“Action”下的内容HaltTarget,在出现的下拉菜单中选中“ReadDatafromFile”。7.在出现的Parameter对话框,选中File栏空白处,浏览volume1工程文件夹,选中sine.dat,单击Open。sine.dat文件是正弦波的十六进制数值北京交通大学国家工科电工电子教学基地DSP应用技术28出现sine.dat文件的控制窗口。再后,当运行程序时,可以在数据文件中使用此窗口启动、停止、返回、或快进。8.在WrapAround中选中,即True;更改StartAddress为inp_buffer,PAGE为DATA,Length为100。北京交通大学国家工科电工电子教学基地DSP应用技术29Address指定从文件中读取的数据将放在什么地方。volume.c申明inp_buffer为整数矩阵BUFSIZE(volume.h中定义)Length指定每次从数据文件中读多少样本。这里取100,因为volume.h设置常量为BUFSIZE(0x64)。WrapAround选择引起当其到达文件末尾时,CCS开始从文件开始读。这样允许数据文件被看作为连续的数据流。北京交通大学国家工科电工电子教学基地DSP应用技术30CCS数据文件格式:头信息+数据头信息:MagicNumberFormatStartingAddressPageNumLength其中:MagicNumber:固定为1651Format:1~4,数据存储格式,分
本文标题:XXXX---实验2CCS使用和调试实验volume
链接地址:https://www.777doc.com/doc-315162 .html