32位ARM嵌入式处理器的调试技术

发布者:脑洞狂想最新更新时间:2006-11-16 来源: 互联网关键字:内核  系统  调试 手机看文章 扫描二维码
随时随地手机看文章

随着对高处理能力、实时多任务、网络通信、超低功耗需求的增长,传统8位机已远远满足不了新产品的要求,高端嵌入式处理器已经进入了国内开发人员的视野,并在国内得到了普遍的重视和应用。ARM内核系列处理器是由英国ARM公司开发授权给其他芯片生产商进行生产的系统级芯片。目前在嵌入式32位处理器市场中已经达到70%的份额。笔者在对三星公司的ARM7芯片技术调试的过程中,对这些高端嵌入式系统的调试技术进行了总结。

传统的调试工具及方法存在过分依赖芯片引脚、不能在处理器高速运行下正常工作、占用系统资源且不能实时跟踪和硬件断点、价格过于昂贵等弊端。目前嵌入式高端处理器的使用渐趋普及。这些处理器常常运行在100MHz,并且一些内部控制以及内部存储器的总线信号并不体现在外部引脚上。这种片上系统(System on Chip)、深度嵌入、软件复杂的发展趋势给传统的调试工具带来了极大的挑战,也给嵌入式处理器开发工程师的工作带来了不便,这就需要更先进的调试技术和工具进行配套。本文将详细介绍在ARM处理器中采用的几种片上调试技术(on-chip debugger)。这些片上调试技术通过在芯片的硬件逻辑中加入调试模块,从而能够降低成本,实现传统的在线仿真器和逻辑分析仪器的功能,并在一定的条件下实现实时跟踪和分析,进行软件代码的优化。

1 边界扫描技术(JTAG)

边界扫描技术是为了满足当今深度嵌入式系统调试的需要而被IEEE1149.1标准所采纳,全称是标准测试访问接口与边界扫描结构(Standard Test Access Portand Boundary Scan Architecture)。JTAG遵循1149.1标准,是面向用户的测试接口,是ARM处理器调试的基础。本文提到的ARM的E-TRACE调试模式实际上是JTAG的增强版本,其它一些32位嵌入式处理器的调试方式也基本上遵循这个标准。这个用户接口一般由4个引脚组成:测试数据输入(TDI)、测试数据输出(TDO)、测试时钟(TCK)、测试模式选择引脚(TMS),有的还加了一个异步测试复位引脚(TRST)。其体系结构如图1。

所谓边界扫描就是将芯片内部内科所有的引脚通过边界扫描单元(BSC)串接起来,从JTAG的TDI引入,TDO引出。芯片内的边界扫描链由许多的BSC组成,通过这些扫描单元,可以实现许多在线仿真器的功能。根据1149.1的规定,芯片内的片上调试逻辑通常包括一个测试访问接口控制器(TAP)。它是一个16状态的有限状态机以及测试指令寄存器、数据寄存器、旁路寄存器和芯片标识寄存器等。在正常模式下,这些测试单元(BSC)是不可见的。一旦进入调试状态,调试指令和数据从TDI进入,沿着测试链通过测试单元送到芯片的各个引脚和测试寄存器中,通过不同的测试指令来完成不同的测试功能。包括用于测试外部电气连接和外围芯片功能的外部模式以及用于芯片内部功能测试(对芯片生产商)的内部模式,还可以访问和修改CPU寄存器和存储器,设置软件断点,单步执行,下载程序等。其优点如下:

·可以通过边界扫描操作测试整个板的电气连接,特点为表面贴元件提供方便;

·各个引脚信号的采样,并可强制引脚输出用以测试外围芯片;

·可以软件下载、执行、调试和控制,为复杂的实时跟踪调试提供路径;

·可以进行多内核和多处理器的板级和芯片级的调试,通过串接(如图2),为芯片制造商提供芯片生产、测试的途径。

虽然JTAG调试不占用系统资源,能够调试没有外部总线的芯片,代价也非常小;但是由于JTAG是通过串口依次传递数据,速度比较慢,只能进行软件断点级别的调试,自身还不能完成实时跟踪和多种事件触发等复杂调试功能。因此便有了几种功能更为完善的增强版本。

2 ARM芯片的实时调试方案(E-TRACE)

ARM公司的内核芯片采用E-TRACE片上调试模式。它实际上是JTAG的升级版本,通过增强的辅助片上调试硬件来完成实时调试,解决了许多传统调试器难以解决的问题。

图2 对多内核和多处理器的调试

它的实时调试方案通过三种途径解决:

·EmbeddedICE硬逻辑;

·实时监控;

·实时跟踪。

EmbeddedICE逻辑单元存在于ARM7TDMI、ARM9TDMI、ARM9E和ARM10内核中。它枯JTAG口的基础上,增加了硬件断点寄存器、比较器,通过断点寄存器的值可以进行硬件断点的设置,不仅对地址还可以对数据、控制总线的信号进行复杂的触发控制设定,而不是单单在指令级别进行中断(如软中断),从而满足对特定事件的中断响应,极大的增加了灵活性,同时可以在ROM中设置断点和观察点,极大地方便调试。其示意如图3。

实时监控则是进一步在ARM9E和ARM10中的改进。它改变EmbeddedICE在触发中断后时入调试模式状态而停止内核运行的弊端,进入一段非常小的中断监控程序中,得到所需要的信息后迅速把控制权转让给先前的任务(这是与远程监控器最大的区别)。在监控程序内处理器完全可以再接收外界的中断和其他触事件,而不是停止运行。这种方式综合了JTAG和远程调试的优点,它可以增加以下两个好处:

·在不禁止中断的前提下调试前景任务(即中断时正在运行的任务);

·不用停止处理器的运行就可以读写和修改存储器(对于机电设备非常重要)。

更为强大的是ARM的实时跟踪解决方案,它由三部分组成:

·嵌入跟踪微核;

·跟踪分析仪;

·跟踪调试软件。

??? 通过这三种工具可实现完全的实时跟踪。跟踪微核存在于芯片,它可以不停止CPU的运行而实时监视芯片总线的信息,并把设定触发范围内的所有信息在CPU运行的同时通过压缩的方式送到外部的跟踪分析仪器里。分析跟踪仪器从芯片外部通过跟踪口(另外一个不同于JTAG的接口)收取信息。因为是压缩的数据,所以分析仪不需要采用与跟踪微核实时跟踪相同的速度。这大大降低了分析的成本,并增加了存储的容量。而PC端的跟踪软件则来自分析仪的数据重新组织起来,从而重现处理器的历史状态和数据、程序流程。同时还可以把执行代码与源代码链接起来,使调试者快速理解跟踪数据。ARM的这种方式通过芯片内部的实时跟踪硬件加上低成本的分析仪器,解决了传统在线仿真器(ICE)和逻辑分析仪的诸多弊端。其示意如图4。

3 Nexus标准

自从JTAG IEEE1149.1标准出来后,越来越多的高端嵌入芯片生产商开始采用这个标准。但是1149.1标准只能提供一种静态的调试方法,如处理器的启动和停止、软件断点、单步执行、修改寄存器,而不能提供处理器实时运行时的信息。于是各个厂家在自己的芯片上,把原有的JTAG的基本功能进行了加强和扩展,如前面提到的E-TRACE、背景调试模式BDM(Background Debugging Mode)和片上仿真OnCE(On-Chip Emulation)等,在处理器不停止运行的前提下,进行实时的调试。

由于这些增强的JTAG版本之间各有差异,而且即使同一厂家的不同产品之间也在存着不同。所以一些芯片厂商和调试工具开发公司于1998年成立了Nexus 5001论坛,以期提出一个在JTAG之上的嵌入式处理器调度的统一标准。

Nexus将调试开发分成四级,从第一级开始,每级的复杂度都在增加,并且上级功能覆盖下一级。第一级使用JTAG的简单静态调试;第二级支持编程跟踪和实时多任务的跟踪,并欢用户用I/O引脚作为多路复用辅助调试口;第三级包括处理器运行时的数据写入跟踪和存储器的读写跟踪;第四级增加了存储替换并触发复杂的硬件断点。从第二级开始,Nexus规定了可变的辅助口。辅助口使用3~16个数据引脚,用来帮助其他仿真器和分析仪之类的辅助调试工具。其示意如图5。

通过Nexus标准可以解以下问题:

·调试内部总线没有引出的处理器,如含有片内内存器的芯片;

·传统在线仿真器无法实现的高速调试;

·深度流水线和有片上Cache的芯片,能够探测具体哪条指令被取和最终执行;

·可以稳定地进行多内核处理器的调试。

4 调试技术的展望

通过上面的分析可以看出,目前的调试技术可以在频率100MHz、内部总线外部不可见、需要进行实时跟踪的情况下分发挥优势,弥补传统的远程调试器和在线仿真器的不足,并且成本非常低廉。

同时,调试技术还在不停地发展,目前IEEE1149.4标准也已经产生。它主要是将边界扫描结构用于处理模数混合芯片的调试。Nexus也已经完成了标准的制定并有厂商开始在芯片上提供Nexus的调试硬件模块。但是这些标准到底会不会被各个芯片厂商所采用,还有等时机的成熟。特别是两大主流内核公司ARM和MIPS分别采用自已独特内核调试技术。ARM采用基于JTAG版本的E-Trace,而MIPS则是用EJTAG——加强的JTAG技术。它们对Nexus的态度也是旁观等待。

关键字:内核  系统  调试 引用地址:32位ARM嵌入式处理器的调试技术

上一篇:32位ARM嵌入式处理器的调试技术
下一篇:飞思卡尔向OEM厂商开放ColdFire内核许可

推荐阅读最新更新时间:2024-05-02 20:26

智能交通系统提前告诉你
        随着共享单车的火热兴起,如今自行车又成为大家短距离出行的首选交通工具。虽然自行车比较灵活机动,但如果正好赶上一连串的红灯,也只能“望灯兴叹”。不过现在来自荷兰乌特勒支省的 Springlab 公司似乎想改变这种情况,在当地试运行了一个名为“Flo”的自行车智能交通系统,可以预先提醒你下一个路口的红绿灯情况。   据了解,Flo自行车智能交通系统主要的作用就是提醒骑行者在这个路段是加速还是减速,以便能赶上下个路口的绿灯。在外形上,Flo是个高大的蓝色信息亭,安装在自行车道旁,利用传感器对前方120米外的骑行者速度进行监测,并用集中可爱的动物形象来提醒骑行者的骑车速度。   比如当Flo自行车智能交通系统的屏幕上显
[安防电子]
电池管理系统在奥运电动大巴中的设计应用
目前,能源紧张已经成为推动世界电动车产业化进程的源动力,随着电动车行业的蓬勃发展,,对作为电动汽车的关键零部件之一的蓄电池管理系统也提出了更高的要求。在北京2008奥运电动公交专线的运营服务中,北京交通大学研制的应用于奥运纯电动大巴上的电池管理系统(BatteryManagementSystem,BMS),成功实现了对车载动力蓄电池状况的实时监测,圆满保证了电动大巴的安全运行。该电池管理系统具备单体电压测量、温度控故障、在线分析、故障定位、电池荷电状态估测、显示、故障输出、数据转储、远程监控等功能。它还可应用在采用蓄电池作为动力源或者后备电源的场合,如混合动力汽车、纯电动汽车、机车、公用电话网等。    电池管理系统的工作过程及特
[嵌入式]
浅析LED电子显示屏系统的基本结构
LED显示屏作为一项高科技产品引起了人们的高度重视,采用计算机控制,将光、电融为一体的智能全彩显示屏已经在广泛领域得到应用。其像素点采用led发光二极管,将许多发光二极管以点阵方式排列起来,构成LED阵列,进而构成LED屏幕。通过不同的LED驱动方式,可得到不同效果的图像。因此LED驱动芯片的优劣,对LED显示屏的显示质量起着重要的作用。LED驱动芯片可分为通用芯片和专用芯片。通用芯片一般用于LED显示屏的低端产品,如户内的单、双色屏等。 图4 LED显示屏系统的基本结构 目前,LED显示屏专用驱动芯片生产厂家主要有TOSHIBA(东芝)、TI(美国德州仪器公司)、SONY(索尼)、MBI(聚积科技)、SITI(点
[电源管理]
浅析LED电子显示屏<font color='red'>系统</font>的基本结构
Vishay 新款厚膜片式电阻可在减少系统元件数量的同时,提高测量精度并节省空间
日前,Vishay Intertechnology, Inc.(NYSE 股市代号:VSH)宣布,推出采用4端子 Kelvin连接,功率等级达0.33W,采用0306小外形尺寸的新系列厚膜表面贴装片式电阻---RCWK0306。下面就随测试测量小编一起来了解一下相关内容吧。 Vishay 新款厚膜片式电阻可在减少系统元件数量的同时,提高测量精度并节省空间 日前,Vishay Intertechnology, Inc.(NYSE 股市代号:VSH)宣布,推出采用4端子 Kelvin连接,功率等级达0.33W,采用0306小外形尺寸的新系列厚膜表面贴装片式电阻---RCWK0306。Vishay Dale RCWK0306
[测试测量]
基于北斗卫星的海洋调查测量监控系统的设计与实现
0 引言 目前执行海洋调查测量任务的各调查测量船都是单独作业的单点模式,各调查测量船的基本功能是调查采样、数据采集、以及样品和数据的初加工与存储,待舰船返航到岸站处理中心后再将数据加工成信息产品并发布,不能实时与岸站、其他船只或海洋观测手段等进行实时数据传输,存在产品发布周期长、数据更新慢等不足。本系统根据调查测量船测量设备现状和作业模式,分别在监控中心和测量终端搭建硬件平台,研制专用测控软件,并利用北斗系统数据通信功能在监控中心和测量终端之间进行数据传输和指令交互,即将各测量终端采集的测量状态数据按要求实时传送至监控中心,监控中心对接收到的数据进行实时处理和分析,并可根据任务需求向各测量终端下达控制指令,以指导和监控各测量终
[测试测量]
基于北斗卫星的海洋调查测量监控<font color='red'>系统</font>的设计与实现
LAVO 澳大利亚首个家用氢储能系统
  专业服务公司GHD与其客户Providence Asset Group签署了一份合同,利用屋顶太阳能电池板生产和储存无二氧化碳的氢,来为家庭供电。   GHD正在为其首个家用氢能存储系统“LAVO TM ”提供产品开发支持,该系统由投资公司Providence Asset Group和新南威尔士大学氢能研究中心共同开发。   LAVO系统使用创新的专利金属氢化物技术来储存相当于60kWh电力的氢气,这足够一个普通家庭使用大约三天。LAVO品牌是为了纪念的现代化学之父Antoine Lavoisier(安托万·洛朗·拉瓦锡),他鉴别并命名了氢。   GHD的全球未来能源业务负责人Tej Gid
[新能源]
Teledyne e2v和英飞凌联合推出用于高可靠性边缘计算太空系统的处理器启动优化方案
【2023年8月4日, 德国慕尼黑和法国格勒诺布尔讯】英飞凌科技股份公司和Teledyne e2v联合开发了一款计算密集型航天系统的参考设计 。该设计以采用英飞凌抗辐射加固64 MB SONOS NOR Flash存储器的Teledyne e2v QLS1046-Space边缘计算模块为核心,可用于高性能太空处理应用。该参考设计解决了太空工作中一直存在的两个挑战——重量和通信限制。通过减少计算系统中的元件数量并实现边缘AI计算,这一设计有助于减少延迟和突破通信限制。 QLS1046-Space属于Teledyne e2v Qormino®产品系列,集成了4GB DDR4内存和64位Quad Arm® Cortex® A
[嵌入式]
Teledyne e2v和英飞凌联合推出用于高可靠性边缘计算太空<font color='red'>系统</font>的处理器启动优化方案
Sondrel 专为下一代多通道汽车片上系统部署 Arteris IP
面向ADAS 应用的高性能计算 IP 平台设计的关键动力,即是 FlexNoC 的超强可配性与优越表现 Sondrel 与 Arteris IP(纳斯达克:AIP),是一家领先的系统 IP 供应商,其主要业务由片上网络 (NoC) 互联与 IP 部署软件组成,可实现片上系统 (SoC) 加速创建。今日,Sondrel 宣布将在下一代高级驾驶辅助系统 (ADAS) 架构中采用 FlexNoC 互联 IP。这一选定与片上互联的超强可配性与优越表现脱不开关系。该产品可完全满足 SFA 350A 多通道汽车 IP 平台的要求。FlexNoC 支持匹配 IP 块性能的片上网络设计,可确保流入、流出及流经片上系统的数据速度始终无误。纵使客
[汽车电子]
Sondrel 专为下一代多通道汽车片上<font color='red'>系统</font>部署 Arteris IP
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved