位置:51电子网 » 技术资料 » 嵌入式系统

基于Angel的调试系统概述

发布时间:2008/12/23 0:00:00 访问次数:589

  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程序的swi号;不可配置的系统资源包括两条未定义的arm指令和一条未定义的thumb指令。

  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程序的swi号;不可配置的系统资源包括两条未定义的arm指令和一条未定义的thumb指令。

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!