在嵌入式系统中,通常将运行目标程序的计算机系统称为目标机。由于目标系统中常常没有进行输入/输出处理的必要的人机接口,因此就需要在另一台计算机上运行调试程序,这个运行调试程序的计算机通常是一台PC,称为宿主机(或调试机、主机)。在主机和目标机之间需要一定的信道迸行通信。这样一个调试系统应该包括3部分,即主机、目标机、目标机和主机之间的通信信道。
如图所示为ARM体系中调试系统的结构。图中各部分的含义将在下面介绍。
图 ARM体系中调试系统的结构
在主机上运行的调试程序用于接收用户的命令,把用户命令通过主机和目标机之间的通信信道发送到目标机,接收从目标机返回的数据并按照用户制定的格式进行显示。调试代理(debugagent)通常运行在目标机(ARMulator除外,它运行于主机上)上,它接收主机上调试器发来的命令,可以在目标程序中设置断点,单步执行目标程序,显示程序断点处的运行状态(寄存器和内存值)。在ARM体系中,调试代理可以有下面4种方式。
(1)ARMulator是一种比较特殊的调试代理。它与其他的调试代理运行在目标机上有所不同,它是一个指令级的仿真程序,运行在主机上。使用ARMulator,不需要硬件目标系统,就可以运行于特定ARM处理器上的应用程序。由于ARMulator可以报告各指令执行时的周期,它还可以用来进行应用程序的性能分析。
(2)基于JTAG的ICE类型的调试代理。ARM公司的Multi-ICE及EmbeddedICE属于这种类型的调试代理。这类调试代理利用ARM处理器中的JTAG接口及一个嵌入的调试单元可以和主机上的调试器进行通信,完成下面的工作。
·实时地设置基于指令地址值或基于数据值的断点。
·控制程序单步执行。
·访问并且可以控制ARM处理器内核。
·访问ASIC系统。
·访问系统中存储器。
·访问I/O系统。
(3)Angel调试监控程序。它是一组运行在目标机上的程序,可以接收主机上调试器发送的命令,执行诸如设置断点、单步执行目标程序、观察或修改寄存器`存储器内容之类的操作。与基于JTAG的调试代理不同,Angel调试监控程序需要占用一定的系统资源,如内存、串行端口等。使用Angel调试监控程序可以调试在目标系统运行的ARM程序或Thumb程序。
(4)调试网关。通过调试网关,主机上的调试器可以使用Agilent公司的仿真模块开发基于ARM的应用系统。在主机和目标机之间需要一定的通信信道,通常使用的是串行端口、并行端口或以太网卡。在主机和目标机之间进行数据通信时使用了一定的协议,这样主机上的调试器就可以使用一个统一的接口与不同的调试代理进行通信。在早期使用的是一个称为RDP(Remote Debug Protocol)的协议,它是一个基于字节流的简单协议,没有纠错功能。后来广泛使用的是称为ADP(Angel Debug Protocol)的协议,它是一个基于数据包的通信协议,具有纠错功能。
关键字:ARM体系 调试系统 目标机
引用地址:
ARM体系中调试系统概述
推荐阅读最新更新时间:2024-03-16 13:13
基于AT91RM9200系统电源的设计与调试
随着计算机技术、半导体技术以及电子技术的发展,嵌入式系统以其体积小、可靠性高、功耗低、软硬件集成度高等特点广泛应用于工业制造、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。嵌入式系统硬件设计与调试是嵌入式系统设计成功的基础,而硬件电路中电源电路的设计与调试则是系统硬件调试成功的关键。本文从实际应用出发,结合在焊接机控制系统中嵌入式系统电源的设计与调试过程中碰到的一些问题,分析讨论嵌入式系统电源的设计与调试方法。 1 系统硬件结构 在基于嵌入式系统的焊接机控制系统设计中,以AT91RM9200作为系统核心微处理器,依据控制系统要求外扩了SDRAM、SRAM、 Flash,键盘、液晶显示电路可
[电源管理]
基于ADSP21062的雷达信号处理系统的调试
ADSP2106x SHARC是一个适用于语音、通信和图像处理的高速32位数字信号处理器。该芯片是基于ADSP21000系列DSP芯片发展起来的一个完整的单片系统,增加了一个双口片内SRAM,并集成了I/O设备。借助它的片内指令缓存,处理器可以在一个时钟周期内执行每一个指令。ADSP2106x SHARC体现了数字信号处理器的一个新的集成标准,它把一个高速运行的浮点DSP主处理器与集成的片内部件结合在一起,包括一个主机接口、DMA控制器、串口和连接口。由于它处理速度快、便于DSP多处理系统的连接和通信,目前已在更多的领域获得了开发和应用 1 。但如何对基于ADSP2106x的处理系统进行调试是人们在应用该芯片时必须解决的关键问题
[嵌入式]
ARM体系的7种工作模式
一、ARM体系的CPU有以下7种工作模式: 用户模式(usr) 大多数程序运行于用户模式 特权模式 系统模式(sys) 运行具有特权的操作系统任务 异常模式 中断模式(irq) 快速中断模式(fiq) 必须进快处理中断请求,并离开这个模式 管理模式(svc) 操作系统使用的保护模式 数据访问终止模式(abt) 数据或指令预取终止时进入该模式 未定义指令终止模式(und) 未定义的指令执行时进入该模式 注解: 可以通过软件来进行模式切换,或者发生各类中断、
[单片机]
基于ARM体系的嵌入式系统BSP的程序设计
摘要:在介绍基于ARM体系的嵌入式系统启动流程的基础上,结合编程实例,详细、系统地叙述了BSP(板级支持包)程序的各个组成部分及其具体设计方案,并就实际程序设计中的几个难点问题做了说明。
关键词:ARM BSP 嵌入式系统 微处理器
ARM公司在32位RISC的CPU开发领域不断取得突破,其结构已经从V3发展到V6。
BSP(Board Support Package)板级支持包介于主板硬件和操作系统之间,其功能与PC机上的BIOS相类似,主要完成硬件初始化并切换到相应的操作系统。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说,尽管
[嵌入式]
打通EDA的数据壁垒 国产数字验证调试系统惊艳亮相
验证已经成为了SoC设计中的重点,逻辑调试则是验证中的重点。“在整个设计验证流程中,验证占了70%的工作量,调试debug就占了其中的40%,其重要性可想而知。”芯华章科技研发副总裁林扬淳认为在整个设计验证流程中debug是不可欠缺,无法替代的。 遗憾的是,市场上已有产品却不能满足行业的需求,缺乏创新、数据的碎片化、性能相对落后是这类产品最为突出的三大缺陷。 为了应对这些挑战,芯华章公司日前正式发布基于创新架构的数字验证调试系统——昭晓Fusion Debug,旨在帮助工程师简化困难的调试任务,有效解决难度不断上升的设计和验证挑战。在产品发布会上,国内EDA行业专家也就EDA发展趋势和验证领域的技术热点进行了热烈的讨论。 ED
[手机便携]
ARM体系结构_DAY2
程序状态寄存器(CPSR) Mode位 :处理器模式为 USER模式不能直接切换到特权模式,在特权模式下可以直接修改mode位 为10000,切换到USER模式。 T bit位 :处理器状态位 T = 0,J= 0处于ARM指令集状态 T = 1,J= 0处于Thumb指令集状态 T = 1,J = 1处于ThumbEE指令集状态 中断禁止位 I = 1 进制IRQ F = 1 进制FIQ 条件位 N位 Negative result from ALU ALU运算结果为一个负数时, 此为自动置 1 否则为 0 Z位 Zero result from ALU ALU运算结果为 0 时,
[单片机]
PLC控制系统调试过程中的几个解决方案
在实际调试过程中,有时出现这样的情况,一个软件系统从理论上推敲能完全符合机械设备的工艺要求,而在运行过程中无论如何也不能投入正常运转,在系统调试过程中,除考虑软件设计的方法外,还可以从以下几个方面寻求解决的途径。 1、扫描击期和响应时间 用PC设计一个控制系统时,一个最重要的参数就是时间,PC执行程序中的所有指令要用多少时间,(扫描时间)有一个输入信号经过PC多长时间后才能有一个输出信号(响应时间)掌握这些参数,对设计和调试控制系统无疑非常重要。 当PC开始运行之后,它串行地执行存储器中的程序。我们可以把扫描时间分为4个部分:共同部分,例如清除时间监视器和检查程序存储器;数据输入,输出;执行指令;执行外围设备指令。 时
[嵌入式]
ARM体系的嵌入式系统BSP的程序设计
arm公司在32位RISC的CPU开发领域不断取得突破,其结构已经从V3发展到V6。 BSP(Board Support Package)板级支持包介于主板硬件和操作系统之间,其功能与PC机上的BIOS相类似,主要完成硬件初始化并切换到相应的操作系统。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说,尽管实现的功能一样,可是写法和接口定义是完全不同的。另外,仔细研究所用的芯片资料也十分重要,例如尽管arm在内核上兼容,但每家芯片都有自己的特色。所以这就要求BSP程序员对硬件、软件和操作系统都要有一定的了解。 本文介绍基于a
[单片机]