用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

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

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:57:40
式综合了JTAG和远程调试的优点,它可以增加以下两个好处:

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

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

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

·嵌入跟踪微核;

·跟踪分析仪;

·跟踪调试软件。
javascript:window.open(this.src);" style="cursor:pointer;"/>  
    通过这三种工具可实现完全的实时跟踪。跟踪微核存在于芯片,它可以不停止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之上的嵌入式处理器调度的统一标准。javascript:window.open(this.src);" style="cursor:pointer;"/>

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的态度也是旁观等待。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:16,203.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号