基于Angel的调试系统概述.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 Angel 的调试系统概述 基于 Angel 的调试系统概述 类别:嵌入式系统 1.Angel 组成 Angel 的组成如图 1 所示。主机上的调试器向目标机上的 Angel 发送请求;目标机上的 Angel 截取这些请求,根据请求的类 型执行相应的操作。例如,当主机上的调试器请求设置断点时, Angel 在目标 程序的相应位置插入一条未定义的指令,当程序运行到这个位置时,产生未定 义指令异常中断,在未定义指令异常中断程序中完成所需要的功能。 Angel 通过调试协议 ADP与主机上的调试器进行通信。 下面简单介绍各个 部分的功能。 ( 1)主机上的调试器 主机上的调试器包括下面一些部 分。 ·调试器:可以是 ARM公司的调试器,如 ADW和 ADU等,也可以是第 三方的调试器。 ·调试器工具盒:是调试器 RDP(远程调试接口)之间的 界面。 ·ADP支持部件:提供 RDI 和 ADP消息之间的协议转 换。 ·BOOT支持部件:用于建立主机和目标机之间的通信连接。比如, 对于使用串行口进行通信的系统,可以设置波特率。 ·C语言支持部件: 用于处理 C 语言库的 semihosting 请求。 ·主机通道管理:管理主机上的 通信通道,可以提供高层次的通信功能。 ·主机设备驱动程序:实现主机 上的通信设备功能,可以为主机通道管理提供需要的服务。 (2)目标系 统 目标系统包括下面的一些部分。 ·目标机设各驱动程序:实现目 标机上的通信设各功能,可以为目标机通道管理提供需要的服务。 ·目标 机通道管理:管理目标机上的通信通道,可以提供高层次的通信功 能。 ·通用调试部件:使用,目标机通道与主机通信处理 ADP消息,接收 主机发送的请求。 ·与目标系统相关的调试部件:提供与具体目标系统相 关的调试功能,例如,设置断点、读写存储器等。 ·异常中断支持部件: 处理所有的 ARM异常中断。 ·C语言库支持部件:提供对目标 C语言库及 semihosting 请求的支持。 ·引导及初始化部件,完成下面的操作。 ◆进行启动检查。 ◆设置存储系统、数据栈等,设置设备驱动程序。 ◆将引导信息发送到主机上的调试器。 ·用户应用程序。 2. Angel 的功能 目标机上的 Angel 实现下列功能。 ( 1)基本的调试功 能 ·报告存储器和处理器状态。 ·将应用程序下载到目标系统 中。 ·设置断点。 ( 2) C语言库的支持 在目标系统上运行的 应用程序可以与 C 语言库连接。其中有些 C 语言库需要 semihosting 支持,即 需要使用主机上的资源完成输入/输出请求。 Angel 使用 swI 机制完成这些 semihosting 请求。 在 ARM程序中, Angel 使用的 SWI号为 0x123456;在 Thumb程序中, Angel 使用的 SWI号为 0cab。 ( 3)通信支持 Angel 使用 ADP通信协议。 ADP通信协议通过使用通信通道,可以使多个独立的消息 包共享一个通信信道。 Angel 支持下列通信信道: ·串行端 口; ·并行端口; ·以太网接口。 主机和目标机上的通道管理 部件保证逻辑通道可以可靠地复用,并监视通道的使用情况,处理宽带溢出情 况。主机和目标机上的设备驱动程序处理数据包的发送和接收,它可以检测并 丢掉有错误的数据包。 (4)任务管理功能 包括通信操作和调试操作 在内的所有 Angel 操作都是在任务管理操作部件管理下进行工作的。任务管理 部件实现下面的功能。 ·保证任何时候只有一个操作在执行; ·为 各个任务分配优先级丿并根据优先级调度各个任务; ·控制 Angel 运行环 境的处理器模式。 (5)异常中断处理 Angel 使用除复位异常中断以 外的其他 ARM异常中断,具体的使用方式如下所示。 ·SWI异常中断。 Angel 使用 SWI异常中断实现目标系统上 c 语言库的 semihosting 请求,并可 以完成进入和退出处理器的特权模式。 ·未定义指令异常中断。 Angel 使 用 3 条未定义的指令来实现在目标程序中设置断点。 ·数据终止和指令预 取终止异常中断。 Angel 设置了基本的数据终止和指令预取终止异常中断处理 程序。通过这些程序实现挂起程序的运行,将控制权交回到调试 器。 ·FIQ 及 IRQ 异常中断。 Angel 使用 FIQ 或 IRQ 异常中断完成中断处 理操作。如果可能,推荐使用 IRQ 异常中断。 3.使用 Angel 所需要的资 源 使用 Angel 所需要的资源包括: ·系统资源。 Angel 使用的系统 资源包括可配置的系统资源和不可配置的系统资源。 可配置的系统资源包 括一个 ARM程序的 SWI号和一个 Thumb程序的

文档评论(0)

zsmfjh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档