📄 12 arm调试工具axd介绍.txt
字号:
第12章 ARM调试工具AXD介绍
12.1 ARM调试工具AXD介绍
12.1.1 几个基本概念
1. AXD是图形方式下的,armsd是命令行下的.
2. 调试代理:是调试器和调试目标之间的桥梁,把调试器发出的指令解释给目标,又把目标执行的结果反馈给调试器.ARMulator,Angel.
3. 断点(breakpoint),AXD支持条件断点.
4. 观测项(watch): 定义一个和程序执行相关的表达式,运行中观察.
5. 观测点(watchpoint): 类似断点,执行遇到观测点,程序会中止.比断点更灵活.可以设置一个寄存器为观测点.
12.1.2 ARM调试工具AXD介绍 ARM eXtened Debugger
1. 使用JTAG 完全信赖ARM内部资源
2. 使用Angel 目标板上必须包含调试监控程序
3. ARMulator 无需目标板,纯软件仿真.
12.2 调试器的使用方法
12.2.1 armsd使用方法 (略过)
12.2.2 AXD使用方法
先设置调试目标,option,configure target.
再加载后缀为 .axf 的文件
12.3 使用AXD调试用户程序
12.3.1 基本知识
1. 找开文件
加载源程序,又需要打开反汇编程序,则使用 "Processor Views, Disassembly".
如果加载的反汇编程序,又希望打开源程序,则使用 "Processor Views, Source".
2. 程序执行前面的标志
蓝色箭头 程序当前执行位置
红色圆点 断点
红色圆环 关闭的断点
绿色圆点 观测点
绿色圆环 关闭的观测点
选中标志 选中栽一对象时,该对象高亮显示
3. 在调试中可以使用的视窗 (System View 下设置)
1. 用户在调试过程中设置的视窗
1. 断点
2. 观测点 设置的是程序中的一个元素,如寄存器,变量,或一个表达式.可以使程序中止
3. 观测项 与观测点不同的是,不能使程序中止运行.
2. 其他视窗
1. 寄存器 register
2. 存储器 memory
3. 变量 variable
4. 代码级符号表 low level symbol
5. 控制台 console
4. 控制程序运行
1. 运行目标 加载后,单步,或连续运行.
2. 程序重复运行 File,Reload Current Image
3. 程序向后返回 如果想重新运行一段程序,希望指令执行的位置向后移动,而不希望重新加载程序,可以打开源文件视窗或反汇编文件视窗中的级联菜单,使用 Execute, Set Next Statement操作命令.
注意,要先选择要返回的程序行,然后使用该命令.
12.3.2 控制程序运行的工具图标
连续运行
停止运行
单步进入
单步运行
单步跳出
执行到光标处
用来捕获程序执行的位置.光标跳到原文件或反汇编文件中当前执行的指令上. (左边蓝箭头)
断点操作图标 (左边红圆点) 增加,删除断点
定时刷新图标 (漏斗图标) 打开或关闭定时刷新功能
12.3.3 控制程序运行的操作命令 (Execute 菜单下)
12.3.4 在程序窗口中的级联菜单 (程序窗口中点右键)
Execute (子项同Execute 菜单)
Stepping Mode 步进模式
Disassembly 按反汇编格式单步执行.
Strong Source 近照高级代码的源程序格式单步执行,单步执行不会进入程序调用的程序段.
Weak Source 近照高级代码的源程序格式单步执行,单步执行会进入程序调用的函数体内.
Toggle Breakpoint 断点操作,同上.
Set Watchpoint 设置观察点
Interleave Disassembly 在源程序行中执行反汇编格式的代码行,同时显示反汇编代码
Show Execution Content 光标定位到当前行的位置
Goto 光标跳转到指定位置,而不是程序执行到指定位置
Watch 添加条件观察项
Add to watch 添加简单观察项
Copy 复制
Properties 外部属性.可输入以下:
Interleave source with disassembly 可以在源程序行中插入反汇编程序行
Show margin 很重要的选项,选择该项,在源程序行中显示行号和有关标志(断点,观测点).在反汇编行中将显示程序地址.
show line number/memory addresses 在源程序中显示行号,在反汇编程序中显示地址.
****** 只在反汇编窗口中出现的 ******
Disassembly Mode 选择反汇编的模式
Toggle Watchpoint 增删观测点
Set PC 设置PC
Source 打开与反汇编程序对应的源程序窗口.
Refresh 刷新窗口数据
12.4 关于调试器设置
比编译器和链接器的设置都要简单
Disassembly Mode 反汇编的模式,可选择四种 ARM, Thumb, ARM/Thumb, ByteCode.如果代码不是来自链接器,如ROM,不包含调试信息,则需要指定反汇编模式.
Configure Interface 调试目标的界面配置
Configure Target 设置调试目标
Configure Processor 配置处理器
Source Path 列举调试输入的源程序路径
Status Bar display control 状态条显示控制
Profiling 用于按照指定的时间间隔采样PC值.生成一个百分比图,描述每段程序所花的时间.
12.4.1 调试目标的界面配置 Configure Interface
1. Genenal 通用配置
1.Target connection : 目标链接方式选项
当把调试器链接到新目标时,正在运行的目标是停止运行,还是继续运行.
Halt: 终止当前目标上运行的程序
NoHalt: 不终止.
Attach: ADS1.2配套的AXD暂不支持.如果目标支持实时监控而调试器没有其他链接,那么不用中止目标运行而直接实现链接.如果目标不支持实时监控,仍可以实现链接,但可能会中止在当前目标上运行的程序.
2. Save and load default session file
中途退出时,保存调试状态以便下次使用.
3. Export Exceptions 报告异常.异常信息在 System,Output RDI Log中显示.
4. Export all warnings 报告所有警告
5. Recent File list size 指定 Recent File 文件列表数.
Recent Image 指定 Recent Image 文件列表数.
Recent Symbols 指定 Recent Symbols 文件列表数.
Recent Session 指定 Recent Session 文件列表数.
2. Views 视图配置
General Font 通用字体设置
Fixed Font 固定字体设置
Tab size Tab所占的空格数
Interleave 在源程序中插入汇编代码显示
Show Line / Address 在源程序中显示行号,在反汇编窗口中显示地址
Evaluation Tooltips 在反汇编和源程序窗口中,在鼠标指针处显示变量,寄存器的当前值
Default Initial View State 默认的视窗初始状态,
Docked 锁定,在主窗口边缘
Undocked 不锁
Floating 浮动
3. Formatting 格式设置
配置 printf类型数据格式
4. Session Fils 过程文件
Reselect target 重复选定文件 在调试过程结束时,过程文件会把调试目标的详细信息保存起来,重新开始调试时,调试器默认调试目标和前一次相同.不选择该项.新的调试过程在相同的设置中运行.只是没有选择高度目标.
Reload images 重新加载映像文件
Run configuration script 调试器在加载文件后,先运行预设的script 文件设置目标,之后再加载映像文件.
5. Toolbars 工具栏设置.工具栏上是否显示以下图标.
File 有关文件加载和存储
Search
Processor views
System views
Execute
Help
6. Refresh 定时刷新
Enable Timed Refresh 和 Windows,Timed Refresh 一起使用.
Disable Timer if user prompted by error dialog 调试器提交错误时,则定时器关闭
Refresh Interval 定时刷新时间间隔 1-600 个 (1/10 秒) (0.1秒到60秒)
12.4.2 设置调试目标 Configure Target
1. 设置 ARMulate
Processor 处理器类型
Clock Emulated 指定模拟一个以一定速度运行的处理器时钟
Speed 指定实时执行指令
Floating Point Emulation 调试器可以用模拟浮点加速协处理器
Debug Endian 字节顺序,大端,小端
Start target Endian 选ARMulate 包括 CP15时有意义a
No Map File 没有或不使用存储器映射文件
Floating Point Coprocessor 浮点协处理器选项
MMU/PU Initialization 有,则 Default; 无,则NO.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -