axd调试工具的使用-详解.ppt_第1页
axd调试工具的使用-详解.ppt_第2页
axd调试工具的使用-详解.ppt_第3页
axd调试工具的使用-详解.ppt_第4页
axd调试工具的使用-详解.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第七章AXD调试工具的使用 一 AXD调试工具介绍二 AXD调试方法 一 AXD调试工具介绍 1 1AXD调试介绍 AXD支持多种调试方法 JTAG Angel ARMulator等等 AXD调试工具具有如下一些特点 提供合适的调试方法 比如中断功能 断点设置 连续运行或非连续运行等 能够执行所设计的计算机指令 检查软件程序设计是否存在缺陷 能够方便地监测调试对象的运行和程序的运行 能够根据调试命令实时控制硬件动作 检测硬件电路设计是否合理 1 使用JTAG的调试方法 调试系统一般包括三个部分 调试主机 协议转换器和调试目标 通过JTAG接口直接和ARM内核对话 实现了如下功能 1 程序下载 2 停止或启动程序运行 3 观察和修改内存 4 观察和修改ARM的内核运行状态 2 使用Angel的调试方法 3 使用ARMulator的调试方法AXD提供的一种软件仿真的调试方法 ARMulator调试方法 ARMulator调试方法是一种脱离硬件调试软件的方法 这种方法所使用的工具软件是armulate dll Angel是AXD中的另一种调试方法或工具 这种方法的软件支持工具 调试环境 称为ADP AngelDebugProtocol 其文件名是remote a dll Angel调试方法的结构包括计算机和目标板两部分 这种调试方法在目标板上必须含有调试监控程序 计算机和目标板的通信实际上是计算机与调试监控程序之间的通信 AXD调试结构 1 2AXD调试步骤 AXD调试界面 各菜单的含义如下 File用于文件管理 ProcessorViews用于处理器选项管理 可以选择在调试时观察处理器的某些选项 如寄存器 变量和存储器等 SystemViews用于对调试目标管理 这是处理器以外的内容 比如其他寄存器和断点等 Options用于对AXD进行配置 如进行目标配置 Excute控制程序运行 如单步 执行到断点等 进行程序调试前的两个基本步骤 1目标配置单击菜单 Options ConfigureTarget 弹出一个TargetEnvironments选项窗口 这个窗口中有几个系统加载的选项 如图所示 使用ARMulate作为调试工具 点击 Configure 则出现如图所示的配置对话框 2加载映像文件 加载已经编译和链接过的映像文件 进入菜单File后 选择上面第1项LoadImage加载映像文件 弹出一个文件搜索对话窗口 加载的映像文件在工程项目文件夹中 扩展名是AXF 文件名称和工程项目名称相同 打开映像文件之后 大部分选项被激活 可以进行其他选项设置 也可以开始调试 注意 AXD没有复位功能 调试过程中如果想重新运行程序 需要重新加载程序 1 3View菜单介绍 ProcessorViews菜单 SystemViews菜单 1 ControlMonitor菜单介绍 选择 SystemViews ControlMonitor 就会打开如图所示的显示窗口 这个 ControlMonitor 窗口共有四个标签页 Target Image Files Class 在 ControlMonitor 窗口的任一标签页中点击右键 选择右键菜单 Hide 命令可以隐藏本窗口 Target标签页在Target标签页中 显示了当前的目标硬件 如图所示 图中显示当前的目标硬件是ARM7TDMI内核 Image标签页 显示了当前装载的映像文件路径和名称 Files标签页 显示这个映像文件所涉及到的一些源文件 Class标签页 显示这个映像文件所涉及的类 全局变量和全局函数 2 Output Console菜单介绍 Console窗口是一个控制台窗口 不但可以接收用户的按键信息 而且可以显示程序的输出信息 这个输出窗口共有RDILog和DebugLog两个标签页 分别显示RDI日志信息和调试过程中产生的日志信息 3 Disassembly Source 菜单介绍 在 ProcessorViews 菜单下 Source 菜单用来打开源程序 Disassembly 菜单用来打开反汇编代码文件 4 Registers菜单介绍 调试中有两部分寄存器 一部分是ARM内部的寄存器 一部分是ARM外部其他模块的寄存器 单击 ProcessorViews Registers 打开一个ARM寄存器选项窗口 ARM寄存器窗口 ARM寄存器选项窗口共有8个选项 每个选项可以打开一组寄存器 1 Current当前工作寄存器 包括RO R14 PC CPSR和SPSR 2 User System用户模式 系统模式寄存器组 包括RO R14 PC CPSR 3 FIQ快速中断模式寄存器组 包括FIQ模式中的R8 R14 SPSR 4 IRQ通用中断模式寄存器组 包括IRQ模式中的R13 R14和SPSR 5 SVC 管理模式寄存器组 包括管理模式中的R13 R14和SPSR 6 Abort中止模式寄存器组 包括abt模式中的R13 R14和SPSR 7 Undef未定义模式寄存器组 包括und模式中的R13 R14和SPSR 8 DebugComms调试信息 包括控制信息寄存器 读状态寄存器和写状态寄存器 5 Memory菜单介绍单击菜单栏 ProcessorViews Memory 打开存储器显示窗口 在Startaddresser处可以输入要显示内存的起始地址 图中输入0 x8000 所以内存单元内容从0 x8000处开始显示 6 LowLevelSymbols菜单介绍 左侧的窗口是符号表管理窗口 每个符号都对应一个地址 7 Watch菜单介绍 使用观测项 Watch 可以在调试程序时动态地了解某些信息 这些信息取决于所设置的观测项的表达式 在观测项窗口所得到的是一个表达式的值 表达式可以由程序调试者输入 R0 R5 R6 使用寄存器和算术运算符R0 R7 0 x20 使用寄存器和算术运算符 b 求变量b的地址b value 两个变量相加 AddWatch 添加观察项 LocateUsingValue搜寻观察项的值 LocateUsingAddress搜寻观察项的地址 Format设置数据显示格式 AddWatch窗口 在Watch窗口的右键菜单中选择 AddWatch 然后单击Evaluate按钮 这个表达式和这个表达式的值就会出现在下面的窗口中 8 Watchpoint菜单介绍 AXD中还有一种辅助调试手段 叫做观测点 Watchpoint 观测点与观测项的主要区别 1 观测项是检查一个表达式的值 要对表达式进行计算 而观测点不对表达式进行计算 2 观测项不会使正在执行的程序停止 而观测点与断点一样可以使程序停止 3 观测点和断点一样 可以设置实现条件 观测项没有条件 通过菜单选项 SystermViews Watchpoint 打开系统观测点管理窗口 State 表明当前观测点的状态 当图标为圆形时 该观测点处于打开状态 Processor 目标处理器的名称 Item 观测点的地址或名称 可能是变量名 寄存器名或者是地址 Watching 注释项 Count 计数器 分母是一个设定的循环次数 Condition 观测点条件 Action 程序执行到观测点时有两种可能的结果 一种是停止运行 Break 另一种是注释字符串到指定日志文件中 右键菜单中选择 Add 系统弹出一个观测点设置对话框 如图所示 二 AXD调试方法 1 1常用的调试方法 控制程序运行的方法分为两种 单步运行单步运行就是让程序一条语句接一条语句执行 可以通过查看寄存器 内存表 变量以及表达式的值来判断程序的运行结果 设置断点运行 设置断点的方法能够用来调试大段的程序 程序中并不重要部分直接让它运行 在程序中的关键点处设置断点 当程序运行到断点处时会自动停止 然后观察运行的结果或决定程序是否继续运行 1 2单步调试 工具栏中的 单步 运行按钮 这个单步运行操作使程序执行到下一条指令 如果指令是一条函数调用指令 则这项功能不进入函数体内 工具栏中的 进入单步 运行按钮 这个单步运行操作使程序运行到下一条指令 如果指令是一条函数调用指令 则这项功能将进入函数体内 工具栏中的 跳出单步 运行按钮 这个单步运行操作使程序执行到下一条指令 如果指令是在函数体内 则这项功能使程序跳出函数体 工具栏中的 执行到光标处 运行按钮 这项功能可以使程序运行到事先选定的指令行 字符串拷贝程序清单 AREABufData DATA READWRITE 声明数据段BufDataMesDCB HELLO TheWorld BufSPACE100 分配100字节空间AREAExample1 CODE READONLY 声明代码段Example1ENTRY 标识程序入口CODE32 声明32位ARM指令STARTLDRR1 MesLDRR2 BufLDRBR3 R1 16 装载Mes数组的最后一个字符 NLDRBR0 R1 1 读源地址的字符 R1自动加1STRBR0 R2 1 保存字符到目的地址 R2自动加1CMPR0 R3 比较 判断字符是否为 BNEN 没有碰到 继续传送字符BSTARTEND 源程序窗口和反汇编窗口 存储器显示窗口 1 3使用断点进行调试 1 断点的简单应用在调试程序的过程中 使用断点是经常要使用的方法 设置断点在源程序或反汇编程序的窗口中 把光标指向要设置断点的指令行 双击即把这个选中的指令行标注为断点位置 或者单击要设置为断点的指令行设置断点 执行到断点按F9键使程序开始运行 直到最近一个断点 删除断点删除断点跟设置断点一样 最简单的方法是 在源文件或反汇编文件的断点位置双击这个指令行 就可以删除这个断点 2 断点管理窗口 State断点状态 Processor处理器型号 Position断点位置 Count断点计数器 Condition断点计数器计数条件 Size代码类型 Action断点执行动作 Add增加一个断点 Disable关闭选中的断点 Delete删除选中断点 DeleteAll删除断点管理窗口中所有的断点 LocateUsingAddress搜索断点所在指令行的地址 Refresh断点管理窗口中的内容刷新一次 Properties设置断点的属性 Floatwithinmainwindow使断点管理窗口浮置 浮置的窗口可以悬挂在屏幕的任意位置 Allowd

温馨提示

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

评论

0/150

提交评论