- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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程序的
您可能关注的文档
最近下载
- 2025秋国开《形势与政策》形考大作业答案:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.doc VIP
- 机电工程备品备件方案(3篇).docx VIP
- 集装箱多式联运复习试题含答案.doc
- 3.5.2医院感染相关监测(达C档).doc VIP
- 初中英语2024届中考词法复习名词专项练习(真题版)(附参考答案) .pdf VIP
- 大作业:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.docx VIP
- 【7A版】超能分期“商户贷”操作指引.docx VIP
- 数智时代国际中文教育学科的内核与边界.docx VIP
- 2025年北京市西城区高三一模政治试卷及答案.pdf
- 理解性默写 统编版高中语文选择性必修下册.docx VIP
文档评论(0)