5DSP调试开发环境.ppt

上传人:本田雅阁 文档编号:2919440 上传时间:2019-06-06 格式:PPT 页数:92 大小:1.53MB
返回 下载 相关 举报
5DSP调试开发环境.ppt_第1页
第1页 / 共92页
5DSP调试开发环境.ppt_第2页
第2页 / 共92页
5DSP调试开发环境.ppt_第3页
第3页 / 共92页
5DSP调试开发环境.ppt_第4页
第4页 / 共92页
5DSP调试开发环境.ppt_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《5DSP调试开发环境.ppt》由会员分享,可在线阅读,更多相关《5DSP调试开发环境.ppt(92页珍藏版)》请在三一文库上搜索。

1、1,第五章 集成开发环境,补充材料硬件开发环境 5.1 CCS基本操作 5.2 CCS使用实例,2,DES(DSP EXPEREMENT SYSTEM) ICETEK-VC5509-A,3,第5章 dsp开发环境,4,第5章 dsp开发环境,5,TMS320VC5509评 估板存储器映射图,6,硬件仿真,7,开发环境建立:开发TMS320C55xx应用系统一般需要以下设备 和软件调试工具: 1)通用 PC一台,安装 Windows2000 或 WindowsXP操作系统及常用工具软件。 2)TMS320C55xx 评估板及相关电源。如:ICETEKVC5509-A评估板。 3)通用DSP仿真器

2、一台及相关连线,如ICETEK-5100USB仿真器。 4)控制对象(选用)。如:ICETEK-CTR控制板。 5)TI的 DSP 开发集成环境 Code Composer Studio。如CCS3.3。 6)仿真器驱动程序。 7)实验程序及文档。,第5章 dsp开发环境,8,第5章 dsp开发环境,构造DSP开发软件环境,(1)安装CCS软件。将CCS安装在默认目录 C:CCStudio_v3.3 中,同时也建议用户按照默认安装目录安装;,9,第5章 dsp开发环境,安装完毕,桌面上出现两个新的图标,如下图。,10,第5章 dsp开发环境,安装 DSP 通用仿真器驱动,需要安装三部分: 1、

3、仿真器的 Windows 驱动程序(usb 口要安装); 2、安装初始化仿真器程序; 3、根据仿真的 DSP 芯片不同,设置仿真器在CCS环境中的对应驱动程序。,11,第5章 dsp开发环境,设置 CCS工作在软件仿真环境 CCS可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。但一般软件无法构造 DSP 中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。 在使用软件模拟方式工作时,无需连接板卡和仿真器等硬件。,12,1、设置 CCS软件模拟环境 设置步骤: 双击桌面上图标: 进入 CCS设置窗口;,第5章 dsp开发环境,13,在

4、出现的窗口中按标号顺序进行如下设置:,第5章 dsp开发环境,14,(3)在出现的窗口中按标号顺序进行如下设置:,第5章 dsp开发环境,15,第5章 dsp开发环境,(4)在下面出现的窗口中选择“否(N)”。,此时 CCS已经被设置成 Simulator 方式。,16,第5章 dsp开发环境,2. 设置 CCS 通过 ICETEK-5100USB 仿真器连接 ICETEKVC5509-A硬件环境进行软件调试和开发,具体实现步骤:, 双击桌面上图标: 进入 CCS设置窗口。,在出现的窗口中按标号顺序进行如下设置:,17,第5章 dsp开发环境,18,第5章 dsp开发环境,接着在下面的窗口中按

5、标号顺序进行如下选择:,19,第5章 dsp开发环境,在出现的窗口中按标号顺序进行如下设置:,20,第5章 dsp开发环境,(5)接着在下面的窗口中按标号顺序进行如下选择:,21,(6)在出现的窗口中按标号顺序进行如下设置:,第5章 dsp开发环境,22,(7)在出现的窗口中按标号顺序进行如下设置:,第5章 dsp开发环境,23,以上设置完成后,CCS已经被设置成 Emulator的方式(用仿真器连接硬件板卡的方式),并且指定通过 ICETEK-5100USB 仿真器连接 ICETEKVC5509-A评估板。,第5章 dsp开发环境,24,集成开发环境(CCS),CCS的功能: (1)集成可视

6、化的代码编辑界面,可直接编写C、汇编、.H,.cmd文件 (2)集成代码生成工具,包括汇编器、优化C编译器,链接器等 (3)基本调试工具,如装入执行代码,查看寄存器,存储器,fan汇编,变量窗口等,支持C源代码级调试。 (4)支持多DSP调试 (5)可设置硬件断点、数据空间读/写断点、条件断点(使用GEL编写表达式)。,25,5.2 CCS的基本操作,进入CCS主界面 源文件的建立、打开、关闭与编辑 工程项目的创建、关闭和打开 工程中文件的添加或删除 工程的构建(编译、链接),26,5.2.1 进入CCS主界面,27,1. 窗口,工程窗口 编辑窗口 反汇编窗口 内存显示窗口 寄存器显示窗口 图

7、形显示窗口, CCS的所有窗口都含有一个关联菜单,28,2. 主菜单,3. 常用工具条,(1)标准工具条,29,(3)工程项目工具条,编译当前的源文件,生成目标(.obj)文件,对上次 操作以后改变了的文件进行编译,并链接生成输出(.out)文件,重新编译并链接当前工程项目中的所有文件,生成输出(.out)文件,在编辑窗口中的源文件或反汇编指令中设置断点,删除全部断点,设置探测点,删除全部探测点,30,(4)调试工具条,单步运行,遇到函数或子程序,则进入函数内部或子程序。汇编语言调试 。,单步运行,遇到函数或子程序时全速完成,不进入函数内部或子程序。汇编语言调试 。,单步跳出,从当前子程序的位

8、置全速执行后续子程序,返回到调用该子程序的指令。,单步运行,遇到函数或子程序,则进入函数内部或子程序。C语言调试 。,单步运行,遇到函数或子程序时全速完成,不进入函数内部或子程序。C语言调试 。,程序从上次运行停止处,全速运行到当前光标处。,从当前PC位置开始执行程序,直到遇到断点后停止。,暂停正在执行的程序。,在执行前先设置好各断点,每按一次该按钮,就会从当前程序位置执行到下一个断点处。连续按该按钮可以实现动画运行。,用来显示寄存器观察窗口,观察和修改寄存器。,用来打开存储器窗口选项,显示存储器观察窗口。,用来打开调用堆栈观察窗口。,用来打开反汇编窗口。,用来打开快速观察窗口,查看和修改变量

9、。,用来打开观察窗口,监视局部变量和全局变量的值。,31,5.2.2 源文件的建立、打开、关闭与编辑,32,5.2.3 工程项目的创建、关闭和打开,选择菜单“Project - New”,打开“Project Creation”对话框 在“Project”填入工程名,在“Location”中会自动补全存储路径,也可以自由选择存储路径 在“Project Type”中选择“Executable(.out)”,这表示生成一个.out类型的可执行的文件 在“Target”中填入平台名称,1.创建一个新的工程项目,33,例5-2,创建一个名为“volume.pjt”的工程文件。,34,2.工程项目的关

10、闭 选择菜单“Project - Close”即可关闭当前工程项目。 3.工程项目的打开 选择项目菜单“Project”中的“Open”命令,弹出“Project Open”对话框 在对话框中,选择要打开的工程项目文件,单击“打开”按钮。,35,5.2.4工程中文件的添加或删除,1.向工程中添加文件 单击“Project -Add File to Projects”,选择添加的文件 或在项目管理器(Project View)中单击右键或将文件拖进项目管理器的窗口中来完成添加文件任务,2.从工程中删除文件 在工程项目清单中,用右键单击所要删除的文件,弹出关联菜单,选择“Remove from P

11、roject”选项即可删除该文件,36,5.2.5 工程的构建(编译、链接),工程项目的构建 对工程有关文件进行编译链接,生成可执行文件 CCS的构建工程项目提供了4种操作,即 编译文件 增加性构建 全部重新构建 停止构建。,37,1.编译文件,编译文件仅完成对当前源文件的编译,不进行链接。具体操作如下: 在工程项目清单中,右击要编译的源文件名,选择关联菜单中的“Open”选项,打开要编译的源文件。也可双击文件名,打开源文件 在菜单“Project”中选择“Compile File”,或单击项目工具条中的编译文件按钮,对打开的文件进行编译 在对当前文件进行编译的过程中,工作界面的底部出现“Ou

12、tput”窗口,显示编译信息,38,2.增加性构建,仅对修改过的源文件进行编译,先前编译过、没有修改的文件不再进行编译 以下方法都可以完成工程项目的增加性构建 选择项目菜单“Project”中的“Build”命令 单击项目工具条中的增加性构建按钮 在工程项目窗口中,右击工程项目文件,选择关联菜单中的“Build”选项,39,3.全部重新构建,对当前工程项目中的所有文件进行重新编译、重新链接,形成输出文件 以下方法都可以完成工程项目的增加性构建 选择“Project”菜单中的“Rebuild All” 单击项目工具条中的全部重新构建按钮,40,4.停止构建,停止当前的构建进程 选择“Projec

13、t”菜单中的“Stop Build” 或单击项目工具条中的停止构建按钮,41,5.工程项目选项,工程项目选项的类型: C编译器选项 汇编器选项 链接器选项 工程项目选项类型的设定 可通过工程项目选项对话框来设定 也可以在工程项目命令文件中设定,参考第4章有关内容,42,例5-4,构建“volume.pjt”工程,打开“volume.pjt”,点击项目工具条中的按钮,即可完成该工程的全部重新构建 生成的可执行代码文件为“volume.out”,放在目录 volumedebug下,43,5.3 工程项目的调试,当完成工程项目构建,生成目标文件后,就可以进行程序的调试 一般的调试步骤为: 装入构建好

14、的目标文件 设置程序断点、探测点和评价点 执行程序 程序停留在断点处,查看寄存器和内存单元的数据,并对中间数据进行在线(或输出)分析,44,5.3.1 程序的运行控制,程序运行控制 在调试程序过程中的复位、执行、单步执行等操作 CCS开发环境提供了多种调试程序的运行操作。 使用调试工具条 或使用调试菜单“Debug”中的相应命令,45,1.加载程序,装载程序 在进行程序运行之前,需将.out目标文件装入目标系统 选择菜单“File-Load Program”,弹出“Load Program”对话框中,选择所要装载的.out文件,即可将程序加载到目标系统 重新装载程序 在调试程序的过程中,经常会

15、出现程序被破坏的情况。可选择“File”菜单中的“Reload Program”命令,向目标系统重新装载文件,46,2.复位目标处理器,CPU复位命令 在“Debug”调试菜单中,选择“Reset CPU” 该命令是将目标处理器CPU恢复到上电初始状态,初始化所有寄存器的内容,并停止当前所执行的用户程序 重新开始命令 在“Debug”调试菜单中,选择“Restart” 该命令是将CCS的程序指针PC恢复到用户程序的入口地址,但不能开始执行程序,47,进入主程序命令 在“Debug”调试菜单中,选择“Go Main” 该命令用于调试C语言用户程序 其功能是将一个临时断点设置在用户程序关键字“ma

16、in”处,并从此处开始执行用户程序,直到遇到用户设置的断点或执行“Halt”命令时,停止执行程序,撤销临时断点 当执行的用户程序停止在“main()”处时,相关的一些源文件被自动装载,48,3.单步运行,(1)单步进入(快捷键F8) 若源程序采用汇编指令,则该命令完成一条汇编指令的执行 若采用的是C程序,则这一命令将执行一条C指令,可进入语句内部(如子程序或软件中断等)调试,49,(2)单步执行(快捷键F10) 在菜单“Debug”中,选择“Step Over”命令或单击调试工具条上的按钮单步执行操作 该操作是每发出一条操作命令,执行一条或一段程序 对于一般程序,该命令仅执行一条程序指令(一条

17、汇编指令或C语句) 若所执行的是一条程序调用语句,则该命令是将所调用的程序作为一条指令来完成,即把调用指令和调用程序作为一条指令来执行,50,(3)单步跳出(快捷键Shift+F7) 执行菜单“Debug”中的“Step Out”命令或单击调试工具条上的按钮,即可完成单步跳出操作 此命令可完成从子程序中跳出,即从当前子程序的位置开始,自动执行后续的程序,直到返回到调用该子程序的指令为止,51,(4)执行到当前光标处(快捷键Ctrl+F10) 可以通过选择菜单“Debug”中的“Run to Cursor”命令或单击调试工具条中的按钮来完成操作 在程序的调试过程中,此项操作可以提供方便的调试方法

18、,只要在反汇编窗口中设置一个光标(单击设定指令的所在行),就可以使程序从当前位置开始,一直执行到光标所在处为止,52,4. 多步执行操作,选择调试菜单“Debug”中的“Multiple Operations”命令,弹出“Multiple Operation”对话框 在对话框的下拉菜单中选择相应的单步操作类型,在对话框的“Count”选项中设定相应的操作次数,单击“OK”按钮即可完成多步操作,53,5.实时运行,执行程序 选择调试菜单“Debug”中的“Run”命令,或单击调试工具条上的运行程序按钮,程序运行直到遇见断点为止 暂停执行 在调试菜单“Debug”中,选择“Halt”命令,或单击调

19、试工具条上的暂停程序按钮,暂停程序的运行,54,动画执行 使用调试菜单“Debug”中的 “Animate”命令,或单击调试工具条上的动画执行按钮,可以实现动画操作 在执行前先设置好各断点,然后,每执行一次操作命令,就会从当前程序位置执行到下一个断点处 动画执行速度可通过设置选项设定,55,自由运行 在调试菜单“Debug”中的“Run Free”命令,实现用户程序的自由运行 这是一种全速执行用户程序的操作。从当前的PC位置开始,忽略所有的断点、探测点和评价点,全速执行用户程序 若要停止自由运行,可使用“Halt(暂停)”命令或对目标处理器进行硬件复位,56,5.3.2 断点,断点的作用 暂停

20、程序的运行,以便观察程序的状态,检查或修正变量,查看调用的堆栈、存储器和寄存器的内容等 断点可以设置在编辑窗口中源代码行上,也可以设置在反汇编窗口中的反汇编指令上 设置断点时应当避免以下两种情形: 将断点设置在属于分支或调用的语句上 将断点设置在块重复操作的倒数第一或第二条语句上,57,1.断点的设置方法,在反汇编窗口或含有C源代码的编辑窗口中,将光标移到需要设置断点的语句行上,单击项目工具条上的设置断点按钮,则在该行语句设置一个断点 或:通过菜单“Debug”中“Breakpoints”命令,弹出“Breakpoints /Probe Points”对话框。然后在对话框中选择断点类型、位置,

21、58,2.断点的删除,单击项目工具条上的删除断点按钮,可以删除全部断点 如果只想删除部分断点,可以打开“Breakpoints /Probe Points”对话框,在断点窗口的清单中,选择要删除的断点,单击“delete”按钮,可以删除该断点,59,3. 断点的允许和禁止,禁止断点 打开“Breakpoints /Probe Points”对话框。在断点窗口的清单中,选择要删除的断点,单击该断点的标记框,清除“”号标记,使该断点处于禁止状态。可以删除部分断点 允许断点 打开“Breakpoints /Probe Points”对话框,在断点窗口的清单中,选择要允许的断点,单击该断点的标记框,设

22、置“”号标记,使该断点处于允许状态,60,5.3.3 反汇编窗口的使用,反汇编窗口主要用来显示反汇编后的指令和调试所需的符号信息,包括反汇编指令、指令所存放的地址和相应的操作码(机器码),61,1. 打开反汇编窗口,当程序装入目标处理器或仿真器后,CCS会自动打开反汇编窗口 用户可以使用“View”菜单中的“Dis-Assembly”选项,或调试工具条中的观察反汇编按钮,打开多个反汇编窗口,62,图5-14 反汇编窗口,63,2.修改程序当前地址,在调试程序时,经常需要修改执行程序的当前地址,可在反汇编窗口中完成 在反汇编窗口中,把光标移至某程序行,选择菜单“Debug”的“Set PC to

23、 Cursor”选项,即可把执行程序的当前地址设置在光标处,64,3.观看C源程序与汇编程序的混合代码,利用反汇编窗口可以观看C源程序和汇编程序的混合代码。 选择“View-Mixed Source/ASM”,则会同时显示汇编语言语句和C语言语句,如图5-15所示。,65,图5-15 “Mixed Source/ASM”窗口,单击某个指令或寄存器,再按“F1”键,将出现关于这个指令和寄存器的详细解释。这是一个学习汇编语言的好方法。,66,5.3.4 存储器窗口的使用,存储器窗口可以直接显示存储器的内容。 在调试程序的过程中,可直接观察存储器的内容来判断程序的正确性。,67,1.观察存储器的内容

24、,(1)点击调试工具条中的观察存储器按钮,或选择“View”菜单中的“Memory”选项,可以打开“Memory Window Options”对话框。,图5-16 存储器选项窗口,68,(2)输入各选项参量,确定窗口的特征。,Address:地址。 Q-Value:Q值表示所观察数据的小数点位置,其值可选择031之间的整数。 Format:数据格式,从下拉菜单中选择。 Use IEEE Float:数据以IEEE浮点格式显示。,69,Page:页面选择显示的存储器空间类型。可选择的类型有Program(程序)、Data(数据)和I/O。 Enable Reference Buffer:使能参

25、考缓冲器 Start Address:表示所要观察的存储器起始地址,注意必须以0x开头。 End Address:存储器结束地址。 Update Refrence Buffer Automat:自动更新参考缓冲器。,70,(3)单击“OK”按钮,出现存储器窗口。,图5-17 存储器窗口,71,2.编辑存储器,(1)快速编辑 打开存储器窗口,找到要编辑的存储器位置。 左键双击要编辑的存储器所在行,弹出“Edit Memory”对话框。 在编辑对话框的“Data”栏中,输入要编辑的数据。 点击“Done”按钮,完成存储器的编辑。 (2)采用命令菜单编辑 打开“Edit”菜单,选择“Memory”中

26、的“Edit”命令,弹出“Edit Memory”对话框。 在“Address”和“Data”栏中,输入地址和数。 点击“Done”按钮,完成存储器的编辑。,72,3.存储器块操作,拷贝数据块,用来将存储器中某一区域的数据块复制到另一个区域。 在主菜单“Edit”中,选择“Memory”中的“Copy”命令,打开“Setup for Copying”对话框。输入源数据块的首地址、数据长度和存储空间类型,输入目标数据块首地址和存储空间类型,点击“OK”按钮,即完成数据块拷贝。 填充数据块,用特定的数据填充存储器某一段区域。 在主菜单“Edit”中,选择“Memory”中的“Fill”命令。 打开

27、“Setup Fill Memory”对话框,输入数据块首地址、数据长度、填充数据内容和存储空间类。 点击“OK”按钮,完成数据块填充。,73,5.3.5 寄存器窗口的使用,寄存器窗口的作用 用来观察目标处理器的CPU寄存器和外设寄存器。 CPU寄存器的内容还可以通过寄存器编辑对话框进行编辑修改。,74,1.启动寄存器窗口,点击调试工具条中的观察寄存器按钮,或选择菜单“View”中的“Registers - CPU Registers”选项,可以打开寄存器窗口。,75,2.编辑寄存器,有三种方法可以打开编辑寄存器对话框 在打开的寄存器窗口中,双击某寄存器名即可打开编辑对话框。 选择“Edit”

28、菜单中的“Edit Register”命令,可打开编辑对话框。 从寄存器窗口中,右击窗口打开关联菜单,选择“Edit Register”命令,可打开编辑对话框。,76,5.3.6 观察窗口的使用,观察窗口(Watch Window)用于实时地观察和修改局部变量和全局变量的值。,77,1.打开观察窗口,使用调试工具条中的打开观察窗口按钮,或采用“View”菜单中的“Watch Window”命令都可以打开观察窗口。 在“Watch Locals”标签中,调试器自动显示局部变量的名字、大小、类型。局部变量的值可以被改变,但是名字不能改变。 在“Watch”标签中,调试器显示局部和全局变量以及指定表

29、达式的名字、大小、类型。在“Watch Locals”窗口中不能添加或删除变量,而添加变量或表达式需要在“Watch”窗口中进行。,78,将光标移到所选定的观察窗口中,单击图标,或按键盘上的“Insert”键,在出现的框内输入变量符号,即把该变量加入到观察窗口中。,2.在观察窗口中加入观察变量,79,3.删除观察变量,有两种方法可以从观察窗口中删去某变量: 在当前观察窗口中,双击某变量。按键盘中的“Delete”键,从窗口列表中删除此变量。 选中某变量后,右键单击该变量,打开关联菜单,选择“Delete Selected Items”选项,即可删除该变量。,80,4.编辑变量,有两种方法可以完

30、成变量的编辑: 在观察窗口中找到所要编辑的变量;左键双击要编辑的变量,在“Value”栏中,输入要编辑的数据。 选择菜单“Edit”中的编辑变量命令“Edit Variable”,弹出编辑变量对话框。在对话框中输入信息:要编辑的变量名和新的变量值。点击“OK”按钮完成编辑。,81,5.3.7 图形显示工具,CCS开发环境提供了多种强大功能的图形显示工具,可以将内存中的数据以各种图形的方式显示给用户,帮助用户直观了解数据的意义。 图形工具在数字信号处理中非常有用,可以从总体上分析处理前和处理后的数据,以观察程序运行的效果。 在菜单“View”中选择“Graph”选项,即可进入图形显示功能子菜单。

31、,82,表5-1 图形显示功能,83,5.3.8 探测点,探测点是一种设置在源文件某条语句上的特殊断点,主要用来与一个外部文件的读/写相关联。 当用户程序运行到探测点时,自动地从与该探测点连接的外部文件中读入数据或将存储器内容输出给外部文件。完成数据的传输后,自动恢复程序的运行。 探测点在算法开发过程中是一个有用的工具,可用来与PC主机进行数据通信。,84,1.探测点的设置,探测点可以在编辑窗口的源文件中设置,也可以在反汇编窗口的反汇编指令中设置。 在编辑窗口或反汇编窗口中,将光标移到主函数要加入探测点的行上,单击项目工具条上的设置探测点按钮 ,即可完成探测点的设置。 也可以使用设置探测点对话

32、框完成探测点的设置。,85,2.探测点的删除,单击项目工具条上的按钮,可删除所有探测点。 打开设置探测点对话框从“Probe Point”窗口列表中选择要删除的探测点,单击“Delete”按钮,即可删除此探测点。若单击“Delete All”按钮,可删除所有探测点。,86,3.探测点的允许和禁止,禁止探测点 允许探测点 禁止所有探测点 允许所有探测点,打开设置探测点对话框。在探测点窗口的清单中,选择要禁止的探测点,单击标记框,清除“”号标记,使该探测点处于禁止状态。,打开设置探测点对话框,在探测点窗口的清单中,选择要允许的探测点,单击标记框,设置“”号标记,使该探测点处于允许状态。,打开设置探

33、测点对话框,单击“Disable All”按钮,使探测点清单中的所有探测点处于禁止状态。,打开设置探测点对话框,单击“Enable All”按钮,使清单中的所有探测点处于允许状态。,87,例5-5,探测点的使用。,(1)选择“File - Load Program”,选择路径e:DSP_C55examvolumedebug,双击“volume.out”,加载程序。 (2)在项目管理器中双击“volume.c”,打开源程序文件。 (3)将光标置于语句“read_signals(inp_buffer);”上。 read_signals(inp_buffer)是一个负责从主机文件中读取数据的重要函数

34、,也是方便加入探针点的位置。,88,(4)单击工具栏上的“Taggle Probe Point”图标,探针点被插入到该语句前(一个蓝色的标记。,图5-21 设置探针点,89,(5)在菜单“File”中选择“data load”,弹出“data load”对话框。,90,(6)点击“Add Probe Point”,出现“Break/Probe Points”对话框。 在“connect to”中选择“sine2.dat”,单击“Replace” 。 点击“OK”,使探针点连到了sine2.dat文件。此时同时会出现sine2.dat的控制窗口。,91,(9)数据的图形化显示。,图5-25 “Graph Property Dialog”对话框,92,图5-26 Input/Output图线,(10)如果把探测点设置为断点,点击“Animate”图标,则图线会不断地更新。 和“Run”命令不同,“Animate”使得程序运行得到断点后会继续执行,直到手动停止。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1