第四章DSP程序的调试与_第1页
第四章DSP程序的调试与_第2页
第四章DSP程序的调试与_第3页
第四章DSP程序的调试与_第4页
第四章DSP程序的调试与_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章DSP程序的调试与分析(3学时)主要内容DSP程序基本调试方法DSP程序输入输出分析RTDX技术MATLABLinkforCodeComposerStudio应用代码执行时间分析GEL的应用DSP程序基本调试方法诊断信息形式编译警告和错误及其解决方法链接警告和错误及其解决方法CCS的常用调试工具CCS的常用调试命令诊断信息形式示例:"dft.c",linen:diagnosticseverity:diagnosticmessage"file.c"是涉及的源文件名,linen指出诊断信息出自源文件中的第几行。diagnosticseverity:诊断信息严重程度描述AfatalerrorAnerrorAwarningAremarkdiagnosticmessage:诊断消息,即问题的描述。编译警告和错误及其解决方法链接警告和错误及其解决方法

CCS的常用调试工具Breakpoints:断点当DSP程序执行到断点时,将暂停运行ProbePoints:探测点当程序运行到探测点时暂停,可以将主机文件的数据输入到目标DSP的存储器,或将目标DSP的数据读取到主机上的文件中,然后自动继续向下运行DSP程序。常用调试命令RuntoCursor菜单项或按钮StepInto菜单项或按钮StepOver菜单项或按钮SeptOut菜单项或按钮Run命令或按钮Halt命令或按钮Animate命令或按钮DSP程序输入输出分析C语言的输入输出语句Watch窗口的应用图形分析窗口FileI/O应用数据的下载与保存(DataLoad/Save)C语言的输入输出语句puts函数printf函数scanf函数getchar函数Watch窗口的应用菜单View→WatchWindow命令在Watch窗口中,可以察看并修改全局变量的值图形分析窗口CCS提供一个信号图形分析工具,可以对输入输出信号进行直观的图形显示,是开发通信、信号处理、图像处理等DSP程序时常用的分析工具。菜单View→graph命令时频图形分析工具(Time/Frequency)星座图分析工具(Constellation)眼图(EyeDiagram)图像分析(Image)FileI/O应用CCS允许读取数据文件信息输入到开发平台的指定存储空间。反之,也可以读取开发平台中的内容写入到计算机的一个文件中,调用菜单File→FileI/O命令可以实现这些操作FileI/O命令需要有探测点配合,当程序运行到探测点时会暂停,执行和探测点绑定在一起的FileI/O命令,然后程序将自动向下运行非实时性FileI/O应用步骤准备用于测试的输入数据,存储为CCS的FileI/O支持的格式支持两种文件格式:COFF二进制文件格式和CCS文本数据文件格式。CCS文本数据文件的文件头,该文件头采用语法为“MagicNumber、Format、StartingAddress、PageNum、Length”编译、链接工程,将生成的out文件下载进入开发平台加入探测点,用于运行程序时在该探测点处进行FileI/O工作调用菜单File→FileI/O命令,文件输入(FileInput)文件输出(FileOutput)设置断点运行程序观看运行结果Run命令Animate命令数据的下载与保存(DataLoad/Save)调用菜单File→Data→Load命令,下载CCS支持的数据文件进入开发平台的存储空间数据的下载与保存(DataLoad/Save)调用菜单File→Data→Save命令,准备把开发平台存储空间中的数据存储进入到CCS的数据文件中RTDX技术RTDX,RealTimeDataExchange在不打断DSP程序执行的前提下,实现计算机和开发平台之间的实时数据交换RTDX技术数据流DSP程序RTDX目标库DSP开发平台CCSRTDX主机库主机客户应用程序可选的Log文件主机RTDX应用程序接口JTAG接口COM接口CCS中的RTDX插件

RTDX配置工具CCS中的RTDX插件RTDX诊断工具CCS中的RTDX插件输入输出通道观察工具MATLABLinkforCodeComposerStudio应用

提供MATLAB函数,可用于自动完成DSP目标程序的调试、数据通信和验证。在不打断DSP程序执行的情况下,支持MATLAB和目标DSP之间进行实时交换数据。支持XDS510、XDS560仿真器,可以高速调试DSP程序。提供嵌入式对象操作函数,用于访问C/C++变量或数据。扩展CCS集成开发环境的调试功能。CCSLink提供的函数

ccsdsp创建一个CCS集成开发环境对象,简称CCS对象add向CCS中当前工程加入指定文件activate激活CCS中指定文件成为当前文件address返回指定目标符号的地址animate动画运行当前目标程序build对CCS中当前活动工程进行编译链接cd改变当前工作路径createobj为操作的目标芯片中的变量或数据创建一个对象delete删除CCS中的一个断点dir显示CCS当前的工作路径disp显示CCS对象属性display显示一个CCS对象goto执行目标程序到一个函数的入口halt立刻暂停DSP芯片运行的目标程序info返回目标DSP芯片信息insert在CCS中插入一个断点isreadable检测指定的目标存储块是否可读isrtdxcapable检测目标DSP芯片是否支持RTDXisrunning检测目标DSP是否正在运行isvisible检测CCS集成开发环境是否打开iswritable检测指定存储块是否可写list返回变量、函数、数据类型或工程的信息load下载指定可执行文件到目标DSPnew在CCS创建一个新文件open在CCS中打开指定文件profile在当前目标程序执行中获取DSP/BIOS统计信息read从DSP的存储空间获取一组连续数据regread返回指定DSP寄存器值regwrite向DSP寄存器写入指定的值reload重新下载DSP中最近下载的可执行文件爱你remove从CCS当前活动工程中移除指定文件reset对DSP目标板进行软件复位restart从DSP中下载的可执行文件的入口点重新运行目标程序.run运行DSP中下载的可执行文件save保存CCS中指定文件symbol读取目标DSP的整个符号表.visible设置CCS窗口可见write向目标DSP的指定存储空间写入数据rtdx用于创建一个RTDX对象close用于关闭目标DSP的指定RTDX通道configure用于配置RTDX通道缓冲区的数量和大小disable禁用RTDX接口或指定的RTDX通道disp显示RTDX对象通道属性display显示RTDX对象enable使能RTDX接口或指定的RTDX通道flush清空指定RTDX通道缓冲区数据info返回RTDX通道的字符串名称isenabled检查RTDX或RTDX通道是否使能isreadable检查指定RTDX通道是否可读iswritable检查指定RTDX通道是否可写msgcount获取指定的用于matlab读取数据的RTDX通道消息数量open打开目标DSP的RTDX通道readmat从指定RTDX通道读取数据存入一个矩阵readmsg从指定RTDX通道读取数据refresh重新打开所有定义的RTDX通道writemsg向指定的RTDX通道写入数据利用CCSLink嵌入式对象实现数据的输入输出

参照4.2.4FileI/O应用实例中的第2、3步,对dft2.pjt进行编译链接,然后下载可执行的out文件进入开发平台中,运行程序。设置图形分析工具,采用时频分析类型分析输入信号in数组、输出信号out数组编写Matlab的m文件,内容如图4.16所示,并运行该m文件,刷新图形显示窗口,显示效果剖析方法时钟剖析剖析会话时钟剖析时钟设置选择菜单Profiler→ClockSetup菜单项使能时钟选择菜单Profiler→EnableClock菜单项,将在该菜单项前标记“√”,表示剖析时钟使能,再次选择该项命令可以清除标记“√”,禁止剖析时钟,默认情况下禁止使用剖析时钟观察时钟选择菜单Profiler→ViewClock菜单项,将弹出时钟观察窗口,显示数字为当前时钟计数值利用Watch窗口观察CLK变量值剖析时钟的精确方法剖析误差的引入如流水线清空引入的误差、丢失流水线冲突等。在剖析时钟设置中设置PipelineAdjustment项参数不能完全补偿上述测量误差利用剖析时钟计数如何比较精确的剖析A点到B点的指令周期?在程序中B点后至少4个指令周期处选一点C,在C处设置一个断点在A点处设置一个断点,运行程序到该断点处复位剖析时钟计数,同时移除A点处断点运行程序,程序在C点处暂停,记录此时的剖析时钟计数(CLK变量值),该值代表从A点到C点的指令周期,记作CLK1在B点设置一个断点,以B点代替A点重复执行第(2)~(4)步,得到从A点到C点的剖析时钟计数CLK2,要求剖析时程序运行状态和剖析A点到C点时完全一样A点到B点的指令周期数则为,这样将消除C点处程序暂停时引入的剖析误差剖析会话

选择菜单Profiler→StartingNewSession菜单项,弹出对话框中输入会话的名称按OK键统计信息列表剖析工具栏剖析函数方法剖析连续程序代码区域剖析不连续的代码区域通用扩展语言(GEL)

GEL通用扩展语言是一种与C语言相似的解释性语言,其编写的GEL文件(扩展名为gel)以GEL函数为基本单元,主要用于自动测试、客户化工作区等应用用户可以自定义GEL文件来扩展CCS集成开发环境的功能可以利用GEL文件访问开发平台的存储空间可以向CCS的GEL菜单添加菜单项,方便程序调试。#defineNum_init32menuitem"DFTControl"dialogdata_input(parm1"0方波非0锯齿波",parm2"Num"){if(parm1==0)call_data_rect(parm2);elsecall_data_delta(parm2);}sliderGain(0,10,1,1,gainParm){gain=gainParm; }hotmenugain_reset(){gain=1;}call_data_delta(Num){ inti,k=0; for(i=0;i<Num;i++){ if(i%4==0)k=!k; in[i]=k*5;k++; }}call_data_rect(Num){ inti,k=0;for(i=0;i<Num;i++) { if(i%4==0) k=!k; in[i]=k*5; }}StartUp()//装载该gel文件后,自动调用StartUp函数{call_data_rect(Num_init);GEL_TextOut("自动执行\n");}在GEL菜单中添加GEL函数

首先要用menuitem关键字定义一个GEL菜单的下垃菜单项然后编写GEL文件,利用hotmenu、dialog或slide关键字声明的函数作为该下拉菜单项的子菜单项装载该GEL文件装载一个GEL文件后,GEL函数的调用方法

把GEL函数加入到GEL菜单中,选择GEL菜单中菜单项,可以调用该菜单项对应的GEL函数。利用GEL工具栏,在GEL工具栏中输入函数调用语句,按执行按钮后调用输入的函数在Watch窗口中输入GEL函数调用语句,当程序运行遇到断点暂停刷新Watch窗口时将调用在该窗口中输入的GEL函数。当装载一个GEL文件时,首先检查该GEL文件中是否定义了StartUp函数。如果发现该GEL文件中定义了StartUp函数,将自动调用执行StartUp函数。GEL内建函数GEL_Animate() GEL_Go(address) GEL_Halt() GEL_Load("fileName.out") GEL_LoadGel("fileName.gel") GEL_MemoryLoad() GEL_MemorySave() GEL_ProjectBuild() GEL_ProjectClose("fileName") GEL_ProjectLoad("fileName") GEL_ProjectRebuildAll() GEL_ProjectSetActive("fileName")GEL_Reset() GEL_Restart()GEL_Run(["Condition"]) GEL_TextOut(“string”) GEL_RunF() GEL_UnloadGel("fileName")GEL_WatchAdd("expression") GEL_WatchReset() 装载一个GEL文件的方法:在CCSSetup中为CCS启动配置一个GEL文件,当CCS启动时将自动装载该GEL文件。选择CCS的菜单File→LoadGEL菜单命令,可以装载GEL文件到CCS。在工程窗口中,选中GELfiles项调用右健快捷菜单选择“LoadGEL……”菜单项,可以装载选择的GEL文件到CCS。修改一个已经装载的GEL文件后,可以在工程窗口GELfiles项列表中选择该GEL,调用右健快捷菜单选择Reload菜单项,可以重新装载当前选中的GEL文件。卸载一个GEL文件的方法卸载一个GEL文件时,首先在工程窗口GELfiles项列表中选择该GEL,然后调用右健快捷菜单,选择Remove菜单项,可以卸载当前选中的GEL文件。实验DSP程序调试-DFT频谱分析DSP实现

一、实验目的熟悉CCS集成开发环境,掌握工程的建立、编译、链接等方法;掌握DSP程序调试基本方法;利用DSP实现DFT算法对离散信号进行频谱分析二、实验内容1.输入信号模拟2.输出信号的图形显示和分析3.对DSP程序进行剖析三、实验设备PC机一台,TMS320C5416DSK一套。实验DSP程序调试-DFT频谱分析DSP实现

DSP程序调试—实验步骤

选择菜单Project→New命令,设置保存路径、工程名(如DFT),建立一个工程。选择菜单File→New→SourceFile命令,建立源代码文件,编写DFT函数源代码。保存源文件到当前工程所在文件夹,然后在工程窗口选择当前工程调用右键菜单,调用AddfilestoProject命令打开一个文件选择对话框,选择刚保存的源文件加入到工程中。把CCS安装目录下C5400\cgtools\lib\rts_ext.lib文件加入到工程,选择菜单Project→BuildOptions命令,打开BuildOptions对话框在Compile页的Advance页选择使用远调用,即设置编译选项使用远调用(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论