欢迎来到天天文库
浏览记录
ID:41115231
大小:570.85 KB
页数:22页
时间:2019-08-16
《ARM JTAG调试原理》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、OPEN-JTAGARMJTAG调试原理OPEN-JTAG开发小组1前言这篇文章主要介绍ARMJTAG调试的基本原理。基本的内容包括了TAP(TESTACCESSPORT)和BOUNDARY-SCANARCHITECTURE的介绍,在此基础上,结合ARM7TDMI详细介绍了的JTAG调试原理。这篇文章主要是总结了前段时间的一些心得体会,希望对想了解ARMJTAG调试的网友们有所帮助。我个人对ARMJTAG的理解还不是很透彻,在文章中,难免会有偏失和不准确的地方,希望精通JTAG调试原理的大侠们不要拍砖,有什么问题提出来,我一定尽力纠正。同时也欢迎对ARMJTAG调试感兴趣的朋友们一起交
2、流学习。2IEEEStandard1149.1-TestAccessPortandBoundary-ScanArchitecture既然是介绍JTAG调试,还是让我们从IEEE的JTAG调试标准开始吧。JTAG是JOINTTESTACTIONGROUP的简称。IEEE1149.1标准就是由JTAG这个组织最初提出的,最终由IEEE批准并且标准化的。所以,这个IEEE1149.1这个标准一般也俗称JTAG调试标准。接下来的这一部分,主要简单的介绍了TAP(TESTACCESSPORT)和BOUNDARY-SCANARCHITECTURE的基本构架。虽然不是很全面,但对了解JTAG的基本原
3、理来说,应该是差不离了。如果希望更全面深入的了解JTAG的工作原理,可以参考IEEE1149.1标准。2-1边界扫描在JTAG调试当中,边界扫描(Boundary-Scan)是一个很重要的概念。边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-ScanRegisterCell)。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。对于芯片的输入管脚,可以通过与之相连的边界扫
4、描寄存器单元把信号(数据)加载倒该管脚中去;对于芯片的输出管脚,也可以通过与之相连的边界扫描寄存器“捕获”(CAPTURE)该管脚上的输出信号。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一个便捷的方式用以观测和控制所需要调试的芯片。另外,芯片输入输出管脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-ScanChain)。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和
5、控制处在调试状态下的芯片。利用边界扫描链可以实现对芯片的输入输出进行观察和控制。下一个问题是:如何来管理和使用这些边界扫描链?对边界扫描链的控制主要是通过TAP(TestAccessPort)Controller来完成的。在下一个小节,我们一起来看看TAP是如何工作的。2-2TAP(TESTACCESSPORT)在上一节,我们已经简单介绍了边界扫描链,而且也了解了一般的芯片都会提供几条边界扫描链,用来实现完整的测试功能。下面,我将逐步介绍如何实现扫描链的控制和访问。1TWENTYONEXUZHOUHE@HOTMAIL.COM&DUYUNHAIDUYUNHAI@HOTMAIL.COMOP
6、EN-JTAG在IEEE1149.1标准里面,寄存器被分为两大类:数据寄存器(DR-DataRegister)和指令寄存器(IR-InstructionRegister)。边界扫描链属于数据寄存器中很重要的一种。边界扫描链用来实现对芯片的输入输出的观察和控制。而指令寄存器用来实现对数据寄存器的控制,例如:在芯片提供的所有边界扫描链中,选择一条指定的边界扫描链作为当前的目标扫描链,并作为访问对象。下面,让我们从TAP(TestAccessPort)开始。TAP是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器(DR)和指令寄存器(IR)。对整个TAP的控制是通过TAPContr
7、oller来完成的。TAP总共包括5个信号接口TCK、TMS、TDI、TDO和TRST:其中4个是输入信号接口和另外1个是输出信号接口。一般,我们见到的开发板上都有一个JTAG接口,该JTAG接口的主要信号接口就是这5个。下面,我先分别介绍这个5个接口信号及其作用。TestClockInput(TCK)TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。TCK在IEEE1149.1标准里是强制要求
此文档下载收益归作者所有