调试工具的使用详解

上传人:无*** 文档编号:232292178 上传时间:2023-09-16 格式:PPT 页数:33 大小:2.33MB
收藏 版权申诉 举报 下载
调试工具的使用详解_第1页
第1页 / 共33页
调试工具的使用详解_第2页
第2页 / 共33页
调试工具的使用详解_第3页
第3页 / 共33页
资源描述:

《调试工具的使用详解》由会员分享,可在线阅读,更多相关《调试工具的使用详解(33页珍藏版)》请在装配图网上搜索。

1、第七章 AXD调试工具的使用一、AXD调试工具介绍二、AXD调试方法1一、AXD调试工具介绍1.1 AXD调试介绍AXD支持多种调试方法:JTAG、Angel、ARMulator等等。AXD调试工具具有如下一些特点:n 提供合适的调试方法,比如中断功能、断点设置、连续运行或非连续运 行等;n 能够执行所设计的计算机指令,检查软件程序设计是否存在缺陷;n 能够方便地监测调试对象的运行和程序的运行;n 能够根据调试命令实时控制硬件动作,检测硬件电路设计是否合理。21.1.使用使用JTAGJTAG的调试方法的调试方法调试系统一般包括三个部分:调试主机、协议转换器和调试目标。通过JTAG接口直接和AR

2、M内核对话,实现了如下功能:1.程序下载;2.停止或启动程序运行;3.观察和修改内存;4.观察和修改ARM的内核运行状态.32 2使用使用AngelAngel的调试方法的调试方法3 3使用使用ARMulatorARMulator的调试方法的调试方法n AXD提供的一种软件仿真的调试方法,ARMulator调试方法。ARMulator调试方法是一种脱离硬件调试软件的方法。这种方法所使用的工具软件是armulate.dll。n Angel是AXD中的另一种调试方法或工具。这种方法的软件支持工具(调试环境)称为 ADP(Angel Debug Protocol),其文件名是 remote_a.dll

3、。n Angel调试方法的结构包括计算机和目标板两部分。这种调试方法在目标板上必须含有调试监控程序。计算机和目标板的通信实际上是计算机与调试监控程序之间的通信。4AXD调试结构 51.2 AXD调试步骤AXD调试界面 6各菜单的含义如下:nFileFile 用于文件管理;nProcessor ViewsProcessor Views 用于处理器选项管理,可以选择在调试时观察处理器的某些选项:如寄存器、变量和存储器等;nSystem ViewsSystem Views 用于对调试目标管理,这是处理器以外的内容,比如其他寄存器和断点等;nOptionsOptions 用于对AXD进行配置,如进行目

4、标配置;nExcuteExcute 控制程序运行,如单步、执行到断点等。进行程序调试前的两个基本步骤:71 1 目标配置目标配置 单击菜单“Options”“Configure Target”,弹出一个Target Environments选项窗口。这个窗口中有几个系统加载的选项,如图所示。8使用ARMulate作为调试工具,点击“Configure”,则出现如图所示的配置对话框。92 2 加载映像文件加载映像文件加载已经编译和链接过的映像文件:进入菜单File后,选择上面第1项 Load Image加载映像文件,弹出一个文件搜索对话窗口。加载的映像文件在工程项目文件夹中,扩展名是AXF,文件

5、名称和工程项目名称相同。打开映像文件之后,大部分选项被激活。可以进行其他选项设置,也可以开始调试。注意:AXD没有复位功能,调试过程中如果想重新运行程序,需要重新加载程序。101.3 View菜单介绍Processor Views菜单System Views菜单111.Control Monitor1.Control Monitor菜单介绍菜单介绍选择“System Views”“Control Monitor”,就会打开如图所示的显示窗口。这个“Control Monitor”窗口共有四个标签页:Target、Image、Files、Class。在“Control Monitor”窗口的任一

6、标签页中点击右键,选择右键菜单“Hide”命令可以隐藏本窗口。Target标签页标签页 在Target标签页中,显示了当前的目标硬件,如图所示,图中显示当前的目标硬件是ARM7TDMI内核。12 Image Image标签页标签页:显示了当前装载的映像文件路径和名称 Files Files标签页标签页:显示这个映像文件所涉及到的一些源文件13 Class标签页:标签页:显示这个映像文件所涉及的类、全局变量和全局函数。142 2OutputOutput、ConsoleConsole菜单介绍菜单介绍Console窗口是一个控制台窗口,不但可以接收用户的按键信息,而且可以显示程序的输出信息。这个输出

7、窗口共有RDI Log和Debug Log两个标签页,分别显示RDI日志信息和调试过程中产生的日志信息。153 3DisassemblyDisassembly、SourceSource菜单介绍菜单介绍在“Processor Views”菜单下“Source”菜单用来打开源程序;“Disassembly”菜单用来打开反汇编代码文件。164 4RegistersRegisters菜单介绍菜单介绍调试中有两部分寄存器:一部分是ARM内部的寄存器;一部分是ARM外部其他模块的寄存器。单击“Processor Views”“Registers”打开一个ARM寄存器选项窗口。ARM寄存器窗口 17ARM寄

8、存器选项窗口共有8个选项,每个选项可以打开一组寄存器。n1.Current当前工作寄存器,包括ROR14、PC、CPSR和SPSR;n2.User/System用户模式/系统模式寄存器组,包括ROR14、PC、CPSR;n3.FIQ快速中断模式寄存器组,包括FIQ模式中的R8R14、SPSR;n4.IRQ通用中断模式寄存器组,包括IRQ模式中的R13、R14和SPSR;n5.SVC 管理模式寄存器组,包括管理模式中的R13、R14和SPSR;n6.Abort中止模式寄存器组,包括abt模式中的R13、R14和SPSR;n7.Undef未定义模式寄存器组,包括und模式中的R13、R14和SPS

9、R;n8.Debug Comms调试信息,包括控制信息寄存器,读状态寄存器和写 状态寄存器。185 5MemoryMemory菜单介绍菜单介绍单击菜单栏“Processor Views”“Memory”打开存储器显示窗口。在Start addresser处可以输入要显示内存的起始地址,图中输入0 x8000,所以内存单元内容从0 x8000处开始显示。196 6Low Level SymbolsLow Level Symbols菜单介绍菜单介绍左侧的窗口是符号表管理窗口,每个符号都对应一个地址。207 7WatchWatch菜单介绍菜单介绍使用观测项(Watch)可以在调试程序时动态地了解某些

10、信息,这些信息取决于所设置的观测项的表达式。在观测项窗口所得到的是一个表达式的值,表达式可以由程序调试者输入。R0+R5-R6;使用寄存器和算术运算符 R0+R7*0 x20;使用寄存器和算术运算符&b;求变量b的地址 b+value;两个变量相加 Add Watch添加观察项;Locate Using Value搜寻观察项的值;Locate Using Address搜寻观察项的地址;Format设置数据显示格式。21Add Watch窗口 在Watch窗口的右键菜单中选择“Add Watch”。然后单击Evaluate按钮,这个表达式和这个表达式的值就会出现在下面的窗口中。228 8Wat

11、chpointWatchpoint菜单介绍菜单介绍AXD中还有一种辅助调试手段,叫做观测点(Watchpoint)。观测点与观测项的主要区别:1.观测项是检查一个表达式的值,要对表达式进行计算,而观测点不对表达式进行计算;2.观测项不会使正在执行的程序停止;而观测点与断点一样可以使程序停止;3.观测点和断点一样,可以设置实现条件;观测项没有条件通过菜单选项“Systerm Views”“Watchpoint”打开系统观测点管理窗口:23State:表明当前观测点的状态,当图标为圆形时,该观测点处于打开状态;Processor:目标处理器的名称;Item:观测点的地址或名称,可能是变量名、寄存器

12、名或者是地址;Watching:注释项;Count:计数器,分母是一个设定的循环次数。Condition:观测点条件;Action:程序执行到观测点时有两种可能的结果:一种是停止运行(Break);另一种是注释字符串到指定日志文件中。24右键菜单中选择“Add”,系统弹出一个观测点设置对话框,如图所示 25二、AXD调试方法1.1 常用的调试方法控制程序运行的方法分为两种:n 单步运行 单步运行就是让程序一条语句接一条语句执行,可以通过查看寄存器、内存表、变量以及表达式的值来判断程序的运行结果。n 设置断点运行。设置断点的方法能够用来调试大段的程序。程序中并不重要部分直接让它运行,在程序中的关

13、键点处设置断点,当程序运行到断点处时会自动停止,然后观察运行的结果或决定程序是否继续运行。261.2 单步调试n工具栏中的“单步单步”运行按钮。这个单步运行操作使程序执行到下一条指令。如果指令是一条函数调用指令,则这项功能不进入函数体内。n工具栏中的“进入单步进入单步”运行按钮。这个单步运行操作使程序运行到下一条指令。如果指令是一条函数调用指令,则这项功能将进入函数体内。n工具栏中的“跳出单步跳出单步”运行按钮。这个单步运行操作使程序执行到下一条指令。如果指令是在函数体内,则这项功能使程序跳出函数体。n工具栏中的“执行到光标处执行到光标处”运行按钮。这项功能可以使程序运行到事先选定的指令行。2

14、7字符串拷贝程序清单 AREABufData,DATA,READWRITE;声明数据段BufDataMesDCB“HELLO,The World!”BufSPACE 100;分配100字节空间AREAExample1,CODE,READONLY;声明代码段Example1 ENTRY ;标识程序入口CODE32;声明32位ARM指令STARTLDRR1,=Mes LDR R2,=BufLDRB R3,R1,#16 ;装载Mes数组的最后一个字符$NLDRBR0,R1,#1 ;读源地址的字符,R1自动加1 STRBR0,R2,#1 ;保存字符到目的地址,R2自动加1CMPR0,R3 ;比较,判断

15、字符是否为$BNEN ;没有碰到$,继续传送字符BSTARTEND28 源程序窗口和反汇编窗口 存储器显示窗口 291.3 使用断点进行调试1 1断点的简单应用断点的简单应用在调试程序的过程中,使用断点是经常要使用的方法。设置断点设置断点在源程序或反汇编程序的窗口中,把光标指向要设置断点的指令行,双击即把这个选中的指令行标注为断点位置。或者单击要设置为断点的指令行设置断点。执行到断点执行到断点 按F9键使程序开始运行,直到最近一个断点。删除断点删除断点 删除断点跟设置断点一样,最简单的方法是:在源文件或反汇编文件的断点位置双击这个指令行,就可以删除这个断点。302.2.断点管理窗口断点管理窗口

16、State 断点状态;Processor处理器型号;Position断点位置;Count断点计数器;Condition断点计数器计数条件。Size代码类型。Action断点执行动作。31Add增加一个断点;Disable关闭选中的断点;Delete删除选中断点;Delete All删除断点管理窗口中所有的断点;Locate Using Address搜索断点所在指令行的地址;Refresh 断点管理窗口中的内容刷新一次;Properties设置断点的属性。Float within main window使断点管理窗口浮置,浮置的窗口可以悬挂在屏幕的任意位置;Allow docking吨使断点管理窗口锁定在屏幕边缘位置。Hide隐藏断点管理窗口;Close关闭断点管理窗口。断点管理窗口中的右键下拉菜单 32思考题思考题1、为什么要进行程序调试,即程序调试的作用是什么?2、AXD调试工具支持哪些调试方法,这些调试方法分别需要配套什么样的实验环境。3、AXD调试的大致步骤是什么?4、在程序运行过程中,请问如何观察某个寄存器的值,如何观察某段内存的内容,如何观察某个变量的变化?5、在使用AXD工具进行程序调试时,有哪些常用的调试方法?33

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!