ARM体系结构与编程(第2版)第14章分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM体系结构与编程(第2版)第14章分析

随着应用系统复杂性的提高,调试阶段在整个系统开发的过程中所占的比重越来越大。因此拥有高效、强大的调试系统可以大大减少整个系统开发的时间,加快产品面市时间,减轻系统开发的工作量。ARM体系结构包含了完善的调试手段,本章介绍ARM体系中调试系统的原理以及一些常用的调试工具。 * 14.1 ARM体系中的调试系统概述 图14.1中给出了ARM体系中调试系统的原理。 在主机上运行的调试程序用于接收用户的命令,把用户命令通过主机和目标机之间的通信信道发送到目标机,接收从目标机返回的数据并按照用户指定的格式进行显示。 * 14.1 ARM体系中的调试系统概述 调试代理(Debug Agent)通常运行在目标机上(ARMulator除外,它运行于主机上),它接收主机上调试器发来的命令,可以在目标程序中设置断点,单步执行目标程序,显示程序断点处的运行状态(寄存器和内存值)。在ARM体系中,调试代理可以有下面4种方式: ARMulator是一种比较特殊的调试代理。 基于JTAG的ICE类型的调试代理。 Angel调试监控程序。 调试网关。 * 14.2 基于Angel的调试系统 基于Angel的调试系统由下面两部分组成,这两部分之间通过一定的通信信道连接起来,通常使用的信道是串行口。 位于主机上的调试器(Debugger) 位于目标机上的Angel调试监控程序 本节对Angel的原理、功能以及移植方法做了比较详细的介绍。一方面是因为Angel是一个很有用的调试工具;另一方面是因为通过对Angel的分析,对于设计目标系统的启动代码是非常有帮助的。在本节中,比较详细地介绍了基于LinkUp公司的L7205sdb评价板的Angel,也正是出于这一目的。 * 14.2.1 基于Angel的调试系统的概述 1.??Angel的组成 (1) 主机上的调试器 (2) 目标系统 2. Angel的功能 (1) 基本的调试功能 (2) C语言库的支持 (3) 通信支持 (4) 任务管理功能 (5) 异常中断处理 3. 使用Angel所需要的资源 系统资源 ROM和RAM资源 异常中断向量 FIQ及IRQ异常中断 数据栈 * 14.2.2 使用Angel开发应用程序 1. 两个版本的Angel 2. 使用Angel开发应用程序的一般过程 3. 使用完整版本的Angel开发应用程序 (1) 开发应用程序时需要规划的内容 (2) 编程限制 (3) Angel和RTOS一起使用 (4) 用户应用程序在处理器特权模式下执行 (5) 异常中断处理程序链接 (6) C语言运行时库的使用方式 (7) 在调试时使用断言(Assertions) (8) 关于断点的设置 4. 使用最小版本的Angel开发应用程序 5. 下载应用程序 * 14.2.3 Angel执行的操作 Angel主要执行下面的操作,理解这些操作对于移植Angel是非常有好处的: 初始化。 等待与主机上的调试机进行通信。 实现调试器请求的功能。 任务管理。所有的Angel操作都是由任务管理器控制的。任务管理器管理所有任务的优先级和调度规则。关于任务管理的详细介绍,可以参考ARM的相关文档。 上下文切换。Angel维护着所有任务的运行上下文,可以实现任务切换。 * 14.2.3 Angel执行的操作 1. 初始化 2. 等待与主机上的调试机进行通信 3. 实现调试器请求的功能 (1) 报告存储器和处理器状态 (2) 下载应用程序映像文件 (3) 设置断点 * 14.2.4 将Angel移植到特定的目标系统 1.??Angel源代码的目录结构 2.??Angel移植的一般步骤 3. 修改Angel中与目标系统相关的源文件 * 14.3 基于JTAG的调试系统 本节以ARM7TDMI为例,介绍ARM体系中基于JTAG接口的调试系统。 * * 14.3.1 基于JTAG的调试系统的特点 与基于Angel的调试系统相比,基于JTAG的调试系统具有以下的特点: 可以重复利用JTAG硬件测试接口。 可以提供JTAG接口访问系统状态和内核状态。 在进行调试时不需要在目标系统上运行程序。这样,对于一个“裸的”目标系统也可以进行调试。而基于Angel的调试系统则需要在目标系统上运行监控程序,这就需要一个可以工作的最小系统。 除了可以在RAM中设置断点外,还可以在ROM中设置断点。 可以通过在目标处理器中添加一些硬件,扩展调试功能。 不像基于Angel的调试系统那样,需要通过一个UART进行通信。 * 14.3.2 基于JTAG的调试系统结构 基于JTAG的调试系统结构如图14.5所示,它包括3部分:位于主机上的调试器,例如ARM公司的ADW等;包括硬件嵌入式调试部件的目标系统;在主机和目标系统

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档