JTAG调试原理ppt
第05讲_第3章JTAG技术_65页

tms=1合肥工业大学计算机与信息学院 tms=0 tms=1 tms=0
JTAG信号
TMS:测试模式选择(Test Mode Select) 通过TMS信号控制JTAG状态机的状态。 TCK:JTAG的时钟信号 TDI:数据输入信号 TDO:数据输出信号 nTRST:JTAG复位信号,复位JTAG的状态机和内 部的宏单元(Macrocell)。
2013-8-9
合肥工业大学计算机与信息学院
12
3.4.3 ARM7TDMI扫描链布局
2013-8-9
合肥工业大学计算机与信息学院
13
ARM7TDMI内核扫描链结构
113位 38位
33位
2013-8-9 合肥工业大学计算机与信息学院 14
边界扫描寄存器(扫描单元)
JTAG接口的IC内部结构
芯片引脚
嵌入式系统结构与设计基础
第5讲 合肥工业大学计算机与信息学院 史久根
第3章 嵌入式微处理器技术基础
本章主要介绍以下内容: 嵌入式微处理器典型技术 主流嵌入式微处理器 嵌入式处理器的调试技术 边界扫描测试技术JTAG
2013-8-9
合肥工业大学计算机与信息学院
2
3.4 边界扫描测试接口JTAG
SAMPLE/PREL 0011 OAD RESTART 0100
CLAMP
2013-8-9
0101
BYPASS
1111
21
合肥工业大学计算机与信息学院
JTAG的指令寄存器
在SHIFT-IR态,将指令寄存器选做TDI和TDO之间串行 路径。见(a) 在UPDATE-IR态,指令寄存器的值成为当前指令。见(b) 在CAPTURE-IR态,将b0001加载到该寄存器。该值在 SHIFT-IR态移位输出。见(c) 复位时,IDCODE(b1110)成为当前指令。见(d) 指令寄存器的最低有效位首先被扫描输入和输出。
jtag工作原理详解

jtag工作原理详解JTAG(Joint Test Action Group)是一种用于测试和调试集成电路的标准接口。
它是由IEEE(Institute of Electrical and Electronics Engineers)制定的一组标准,用于简化测试和调试过程,提高芯片设计的可靠性和效率。
JTAG工作原理详解:1. JTAG接口结构:JTAG接口由四个主要部分组成:Test Data In(TDI)、Test Data Out(TDO)、Test Clock(TCK)和 Test Mode Select(TMS)。
其中,TDI用于将测试数据输入到芯片中,TDO用于输出测试结果,TCK是时钟信号,TMS用于控制JTAG状态机。
2. JTAG状态机:JTAG状态机是JTAG接口的核心部分,它定义了一系列状态,用于控制测试和调试操作。
常见的状态包括:Test-Logic-Reset(TLR)、Run-Test/Idle(RTI)、Select-DR-Scan(SDR)、Capture-DR(CDR)、Shift-DR(SDR)、Exit1-DR (EDR1)、Pause-DR(PDR)和 Exit2-DR(EDR2)等。
3. JTAG测试模式:JTAG支持多种测试模式,包括Boundary-Scan(边界扫描)、Memory-Scan(存储器扫描)和Mixed-Scan(混合扫描)等。
其中,Boundary-Scan是最常用的测试模式,它可以通过扫描链(Scan Chain)对芯片的输入输出引脚进行测试。
4. JTAG扫描链:扫描链是JTAG接口中的一个重要概念,它是一条由多个触发器(Flip-Flop)组成的链路,用于在测试模式下将测试数据从一个触发器传递到另一个触发器。
通过扫描链,可以对芯片内部的触发器进行访问和控制,实现对芯片功能的测试和调试。
5. JTAG应用:JTAG广泛应用于集成电路的测试和调试领域。
ARM的JTAG调试构造原理

ARM的JTAG调试构造原理ARM的JTAG调试构造原理一、JTAG的底子常识JTAG是JointTestActionGroup的缩写,是IEEE1149.1规范。
运用JTAG的利益:JTAG的树立使得集成电路固定在PCB上,只经过鸿沟扫描便能够被测验。
在ARM7TDMI处理器中,能够经过JTAG直接操控ARM的内部总线、I/O口等信息,然后抵达调试的意图。
二、ARM的JTAG调试构造(1)Debug主控(Host)通常是作业有ARM公司或许第三方供应的调试软件的PC机,常用的调试软件有ARMSDT中的ARMDebugforWindows(ADW)、Linux下的arm-elf-gdb等。
经过这些调试软件,能够发送高档的ARM调试指令,如设置断点、读写存储器、单步盯梢、全速作业等。
(2)协议改换器(ProtocolConverter)担任改换Debug主控端宣告的高档ARM调试指令为底层的和ARM内核通讯的JTAG指令。
Debug主控端和协议改换器之间的介质能够有许多种,比方以太网、USB、RS-232、并口等。
Debug主控端和协议改换器之间的通讯协议最典型的即是ARM公司供应的Angel规范,也可所以第三方厂家自个界说的规范。
对于Angel的协议,可参看ARMSDT和ADS的有关文档。
典型的协议改换器有:ARM公司的Multi-ICE、Abatron 公司的BDI、aiji公司的OpenlCE32、EPI公司的Jeeni等。
(3)ARM7TDMI的JTAG宏单元(Macrocell)首要包含3条JTAG扫描链(ScanChain)和1个JTAG的操控TAP状况机。
三、ARM7TDMI内核的JTAG扫描链构造ARM7TDMI内核的JTAG扫描链构造首要包含3条JTAG扫描链:ScanChain0、ScanChain1、ScanChain2。
四、ARM7TDMI中经过JTAG对外设的拜访作为ARM典型的调试办法,JTAG除了能够设置ARM的断点以外,还能够对ARM的内核进行操控,然后结束对外围设备的读/写(比方下载程序到RAM或许FLASH空间)。
JTAG电路的工作原理

JTAG电路的工作原理引言概述:JTAG(Joint Test Action Group)是一种常用的芯片测试和调试技术,它通过使用专用的测试引脚和协议,实现了对芯片内部电路的访问和控制。
本文将详细介绍JTAG电路的工作原理,包括信号传输、测试模式和调试功能等方面。
一、信号传输1.1 TCK时钟信号JTAG电路使用TCK时钟信号来同步数据传输。
TCK时钟信号的频率可以根据需要进行调整,典型的频率范围是几十KHz到几百MHz。
1.2 TMS状态信号TMS状态信号用于控制JTAG电路的状态转换。
通过改变TMS信号的状态,可以实现从一个状态到另一个状态的转换,例如从测试模式到用户模式的切换。
1.3 TDI和TDO数据信号TDI(Test Data Input)和TDO(Test Data Output)是JTAG电路中用于数据传输的信号。
TDI信号用于向芯片内部写入测试数据,而TDO信号则用于从芯片内部读取测试结果。
二、测试模式2.1 重置模式在重置模式下,JTAG电路将芯片复位到初始状态。
这个模式通常用于初始化芯片,确保其处于可测试状态。
2.2 识别模式识别模式用于识别芯片的型号和版本信息。
通过读取芯片内部的ID码,可以确定芯片的具体型号和制造商。
2.3 用户模式用户模式是芯片正常工作的模式,JTAG电路在该模式下不进行任何测试或调试操作。
这个模式下,芯片将正常执行用户程序。
三、调试功能3.1 单步调试JTAG电路可以实现对芯片的单步调试功能,即逐条指令地执行程序。
通过控制TCK时钟信号和TMS状态信号,可以实现对芯片的逐条指令调试。
3.2 断点调试断点调试是一种常用的调试技术,它允许程序在指定的位置停止执行,以便进行调试操作。
JTAG电路可以通过在特定的指令位置设置断点,实现对程序的断点调试功能。
3.3 寄存器调试JTAG电路可以读取和写入芯片内部的寄存器,以实现对寄存器的调试。
通过读取和修改寄存器的值,可以观察和调整程序的执行状态。
JTAG基本原理与调试

JTAG基本原理与调试JTAG(Joint Test Action Group)联合测试⾏动⼩组)是⼀种国际标准测试协议(IEEE 1149.1兼容),主要⽤于芯⽚内部测试。
现在多数的⾼级器件都⽀持JTAG协议,如DSP、FPGA器件等。
标准的JTAG接⼝是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输⼊和数据输出线。
JTAG最初是⽤来对芯⽚进⾏测试的,基本原理是在器件内部定义⼀个TAP(Test Access Port?测试访问⼝)通过专⽤的JTAG测试⼯具对进⾏内部节点进⾏测试。
JTAG测试允许多个器件通过JTAG接⼝串联在⼀起,形成⼀个JTAG链,能实现对各个器件分别测试。
现在,JTAG接⼝还常⽤于实现ISP(In-System Programmable?在线编程),对FLASH等器件进⾏编程。
JTAG编程⽅式是在线编程,传统⽣产流程中先对芯⽚进⾏预编程实现再装到板上因此⽽改变,简化的流程为先固定器件到电路板上,再⽤JTAG编程,从⽽⼤⼤加快⼯程进度。
JTAG接⼝可对PSD芯⽚内部的所有部件进⾏编程上⾯的信息是从度娘百科引⽤过来的,对于jtag没有了解过的⼈来说,上⾯的⼤部分内容都不知道说什么,当然,我是⼀开始看的时候也看不懂。
不过从上⾯得出来的信息知道,jtag是⼀个协议,标准有4个引脚,⽤于芯⽚的测试与编程调试。
jtag是有硬件实现的。
在cpu(注意:这⾥的cpu是指运算处理单元,只包含了内部寄存器以及运算单元等基本部件)外围,处理器(即cpu扩展芯⽚,不是soc)内部包含了jtag的硬件实现,并且向外界提供接⼝,也就是上⾯所说的TMS,TCK,TDI,TDO,四个引脚。
如图:边界扫描链jtag如何⽤于芯⽚测试呢? 其中⽤到的最主要部件就是边界扫描链。
命名为边界扫描链,是由于它位置处于处理器的边界上。
我们知道cpu是通过引脚与外围交流的,所有的数据都会通过引脚输⼊或者输出,⽽jtag就是通过监控引脚的信号达到芯⽚测试的⽬的。
jtag工作原理详解

jtag工作原理详解JTAG(Joint Test Action Group)是一种用于测试和调试集成电路的标准接口。
它提供了一种简单而有效的方法,用于访问和控制芯片内部的测试和调试功能。
本文将详细介绍JTAG的工作原理,包括其基本原理、信号传输方式、操作流程以及应用领域等方面的内容。
1. 基本原理:JTAG是一种串行接口,通过在芯片上添加特殊的测试逻辑电路,实现对芯片内部功能的访问和控制。
它使用了四个主要的信号线:TCK(Test Clock)、TMS (Test Mode Select)、TDI(Test Data Input)和TDO(Test Data Output)。
通过控制TMS信号的状态转换,可以实现进入和退出测试模式、选择不同的测试操作等。
2. 信号传输方式:JTAG使用的是一种称为“链式扫描”的技术,通过将多个芯片连接在一个链上,实现对链中任意一个芯片的测试和调试。
在链式扫描中,每个芯片都有一个称为“Boundary Scan Cell”的逻辑电路,用于在芯片内部和链外部之间传输数据。
3. 操作流程:JTAG的工作流程可以分为以下几个步骤:a. 进入测试模式:通过控制TMS信号的状态转换,将芯片进入测试模式,准备进行测试和调试操作。
b. 选择测试操作:根据需要选择相应的测试操作,如扫描链测试、故障诊断、存储器测试等。
c. 数据传输:通过TCK、TDI和TDO信号进行数据的输入和输出。
测试数据可以通过TDO信号返回,以便进行结果判断和分析。
d. 退出测试模式:测试结束后,通过控制TMS信号的状态转换,将芯片退出测试模式,恢复正常工作状态。
4. 应用领域:JTAG广泛应用于集成电路的测试和调试领域,特别适用于大规模集成电路和复杂系统的测试。
它可以帮助工程师快速定位和解决芯片中的故障,提高产品的可靠性和稳定性。
同时,JTAG还可以用于芯片的编程和配置,实现芯片的在线更新和升级。
总结:本文详细介绍了JTAG的工作原理,包括基本原理、信号传输方式、操作流程和应用领域等方面的内容。
JTAG调试
JTAG调试JTAG仿真器原理调试的基础是检测,⽽检测有“⽆损(non-intrusive)”和“⽆损(intrusive)”之分。
理想的检测⼿段应该是不使被测对象的状态(包括时序)因此⽽造成任何改变,否则测到的数据就不准确了。
可是,严格意义上的⽆损检测不可能实现,因此实际上是“测不准”的。
⼈们所能做到的只是尽量减少对被测对象的状态改变,将误差减少到可以接受的程度。
这还是⽐较容易理解的。
不过原来看ARM资料的时候,调试⼿段⼀⼤堆,但是都没有深刻的印象,以致于以前还⼀直在怀疑,为什么下载的jflash-s3c2410,不能通过仿真器下载呢?现在想想,其实对于什么是调试器,什么是仿真器,调试的模型是什么都是⾮常模糊的,所以下决⼼⾸先从概念上理解调试模型。
之后随着技术深⼊,可以逐步深⼊理解调试技术。
现代调试技术⼤致可以归为指令级仿真调试和硬件仿真调试两种。
1 指令级仿真调试我想这个⽐较容易理解。
指令集仿真调试属于纯软件仿真,⽐如ARM公司的ARMulator。
因为有的时候嵌⼊式软件的开发需要在⽬标系统(硬件)并不存在的条件下进⾏,所以需要这种通过软件来模拟⽬标系统的CPU。
现在有个开源项⽬skyeye,也是这样⼀个指令级仿真调试⼯具。
这⼀系列的软件以数据结构来模拟⽬标机CPU中各个寄存器和其他资源,以及⽬标系统的有关资源(⽐如内存等),并且通过软件模拟,即逐条指令地解释执⾏⽬标机可执⾏映象中的程序。
例如,“mov r1, #0”,就代表往寄存器r1的数据结构中写0,如此。
模拟执⾏的速度当然慢⼀些,但是可以验证逻辑,在某些条件下是⼀种重要的⼿段。
2 硬件仿真调试现在⽐较成熟的技术有如下四种:·Ad-hoc test·Scan-based test·Build-in-self test·Boundary-scan test因为不是专业研究这个⽅向,对这四个测试技术的区别也没⼤有必要深究。
JTAG电路的工作原理
JTAG电路的工作原理引言概述:JTAG(Joint Test Action Group)是一种用于测试和调试电子设备的接口标准。
它通过一系列的信号线连接到目标设备,并提供了一种非侵入式的方法来检测和控制设备的内部状态。
本文将详细介绍JTAG电路的工作原理。
一、JTAG电路的基本原理1.1 信号线连接JTAG接口通常由四根信号线组成,包括TCK(时钟线)、TMS(状态线)、TDI(数据输入线)和TDO(数据输出线)。
这些信号线通过连接到目标设备的JTAG接口引脚,实现了与目标设备的通信。
1.2 状态机JTAG电路内部包含一个状态机,用于控制和管理测试和调试操作。
状态机根据TMS信号的状态转换来确定当前的操作状态,包括测试模式和用户模式等。
1.3 串行数据传输JTAG通过串行方式传输数据。
在测试模式下,数据可以从TDI输入到目标设备,经过内部逻辑电路处理后,从TDO输出到JTAG接口。
这种方式使得JTAG 可以在不影响设备正常运行的情况下进行测试和调试。
二、JTAG电路的工作流程2.1 进入测试模式在开始测试和调试之前,需要将JTAG接口切换到测试模式。
通过在TMS上发送一系列的状态转换序列,可以将JTAG状态机从用户模式切换到测试模式。
2.2 扫描链测试扫描链测试是JTAG的一项重要功能。
它通过扫描链(Scan Chain)将测试数据输入到目标设备的内部逻辑电路中,以检测和验证电路的功能和性能。
扫描链是由多个触发器(Flip-Flop)组成的链式结构。
2.3 调试功能JTAG还提供了丰富的调试功能,包括读取和写入设备内部寄存器的值、设置断点和单步执行等。
这些功能可以帮助开发人员快速定位和解决问题,提高开发效率。
三、JTAG电路的应用领域3.1 芯片测试在芯片制造过程中,JTAG被广泛用于测试芯片的功能和性能。
通过JTAG接口,可以对芯片进行自动化测试,提高测试效率和可靠性。
3.2 调试和故障排除JTAG在调试和故障排除中发挥着重要作用。
JTAG电路的工作原理
JTAG电路的工作原理引言概述:JTAG(Joint Test Action Group)是一种用于测试和调试电子设备的标准接口。
它可以通过一个简单的接口来访问和控制芯片内部的逻辑电路,从而实现对芯片的测试、调试和编程等功能。
本文将详细介绍JTAG电路的工作原理。
一、JTAG电路的基本原理1.1 串行通信JTAG电路采用的是串行通信方式,通过少量的引脚实现与被测试设备的通信。
这种通信方式可以减少引脚数量,提高测试效率,并且使得测试和调试过程更加灵便。
1.2 TAP控制器JTAG电路中的TAP(Test Access Port)控制器是整个JTAG接口的核心。
它负责控制数据的输入和输出,以及控制被测试设备内部逻辑电路的访问。
TAP控制器通过JTAG引脚与被测试设备连接,通过控制引脚的电平变化来实现数据的输入和输出。
1.3 JTAG指令和数据传输JTAG电路通过在TAP控制器中加载不同的指令,来控制被测试设备的不同功能。
指令可以用于测试、调试和编程等操作。
同时,JTAG电路还可以通过TAP控制器进行数据传输,以实现对被测试设备内部寄存器的读写操作。
二、JTAG电路的工作流程2.1 进入测试模式JTAG电路工作的第一步是将被测试设备切换到测试模式。
通过TAP控制器发送相应的指令,被测试设备会进入测试模式,从而允许JTAG电路对其进行测试和调试。
2.2 执行测试和调试操作一旦被测试设备进入测试模式,JTAG电路就可以执行各种测试和调试操作。
例如,可以通过TAP控制器向被测试设备发送测试向量,然后检查输出结果是否符合预期,以验证被测试设备的正确性。
2.3 访问内部寄存器JTAG电路还可以通过TAP控制器访问被测试设备内部的寄存器。
通过加载相应的指令,JTAG电路可以读取和写入被测试设备内部的寄存器,从而实现对设备状态和配置的监测和修改。
三、JTAG电路的应用领域3.1 芯片测试和调试JTAG电路广泛应用于芯片的测试和调试领域。
JTAG调试原理
ARM7TDMI还提供了3个附加的信号: DBGRQ : 调试请求,通过把DBGREQ置 “1”,可以迫使ARM7TDMI进入调试状态
DBGACK :调试确认,通过DBGACK,可 以判断当前ARM7TDMI是否在调试状态
BREAKPT :断点信号,这个信号是输入到 ARM7TDMI处理器内核的
这里的断点用来标识某个地址上的一条指 令,而观察点用来观察某个地址上的数据变化, 所以这二者是有区别的。DCC用来完成主调试 器和目标机间的信息发送。
第30页,共55页。
EmbeddedICE的结构如下:
第31页,共55页。
EmbeddedICE的长度是38位,包括: ◆ 32位数据 ◆ 5位地址,访问EmbeddedICE中的寄存器 ◆ 1个读写控制位
当上述表达式值为真时,断点/观察点信 号有效,ARM内核进入Debug模式。
置“1”,可以强制ARM7TDMI暂停当前的 指令,进入调试状态 INTDIS:用来控制中断 SBZ/RAZ:任何时候都必须被置“0”
第34页,共55页。
Monitor Mode Enable:用来控制是否进入 Monitor模式
EmbeddedICE-RT Disable:用来控制整个 EmbeddedICE-RT,是启用还是禁用
2.6、 EmbeddedICE的断点/观察点设置
三、 JTAG常用指令
第3页,共55页。
一、JTAG基本知识
1.1、 什么是JTAG JTAG是Joint Test Action Group(联合
测试行动组)的缩写,是IEEE1149.1标准。
1.2 、 JTAG的作用 使得IC芯片固定在PCB版上,只通过边
对内存的访问是否完成 TBIT:该位用来判断ARM7TDMI是从ARM
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TAP包括5个信号接口:
◆TCK(Test Clock Input)
JTAG时钟信号位。标准强制要求
◆TMS(Test Mode Select)
测试模式选择,通过该信号控制 JTAG状态机的状态。TMS在TCK的上升沿 有效。标准强制要求 -
三、 JTAG常用指令
-
一、JTAG基本知识
1.1、 什么是JTAG JTAG是Joint Test Action Group(联合测
试行动组)的缩写,是IEEE1149.1标准。
1.2 、 JTAG的作用 使得IC芯片固定在PCB版上,只通过边
界扫描便可以被测试。
1.3、 JTAG调试结构
-
-
JTAG调试原理
-
-
目录
一、JTAG基本知识 1.1、什么是JTAG 1.2 、 JTAG的作用 1.3、 JTAG调试结构
二、 JTAG的工作原理 2.1、两个重要概念:边界扫描和TAP 2.2、JTAG的状态机 2.3、 ARM7TDMI内核结构 2.4、 JTAG扫描链结构及工作过程 2.5、 EmbeddedICE-RT Logic的结构 2.6、 EmbeddedICE的断点/观察点设置
-
H-JTAG运行界面
-
J-Link的运行界面
-
(3)、调试目标机 系统的调试对象。典型的ARM7TDMI
内核的调试结构:
-
二、JTAG的工作原理
2.1、两个重要概念:边界扫描和TAP (1)边界扫描(Boundary-Scan):
基本思想:在靠近芯片输入/输出管脚上 增加一个移位寄存器单元(边界扫描寄存 器)。
◆TDI(Test Data Input) 数据输入口。所有要输入到特定寄存器
的数据都是通过TDI口一位一位串行输入的 (TCK驱动)。标准里强制要求 ◆TDO(Test Data Output)
数据输出口。所有要从特定的寄存器中 输出的数据都是通过TDO口串行的一位一 位输出的(TCK驱动)。标准里强制要求 ◆TRST(Test Reset Input)
(1)、DEBUG主控制器: 运行有ARM公司或是第三方提供的
调试软件的PC机。如:ARM公司提供的 ADS、LINUX下的arm-elf-gdb等。通过这 些调试软件,可以发送高级调试命令,如: 设置/取消断点,读写MEMORY,单步跟 踪,全速运行等。
-
(2)、协议转换器(Protocol converter) 负责将Debug主控端发出的高级ARM
包括了对调试的硬件支持 ◆Embedded ICE-RT Logic
包括一组寄存器和比较器,用来产生调试 异常,设置断点和观察点。 ◆TAP Controller 通过JTAG接口来控制和操作扫描链
-
ARM7TDMI还提供了3个附加的信号: DBGRQ : 调试请求,通过把DBGREQ置 “1”,可以迫使ARM7TDMI进入调试状态
-
◆Scan Chain 2 38个扫描单元,通过控制EmbeddedICE宏 单元,实现对ARM进行指令的断点、观察 点的控制。
其实还有个Scan Chain 3,ARM7TDMI可 以访问外部的边界扫描链。只不过很少用, 在此不做介绍。想了解可以看ARM7TDMI 手册。
-
一个典型的JTAG链:
-
JTAG扫描链的工作过程
-
-
-
-
-
-
2.5、EmbeddedICE-RT Logic的结构
通过对EmbeddedICE控制,以及通过对 EmbeddedICE中寄存器的读取,可以获得ARM 内核的状态,为程序设置断点观察点以及读取 Debug通信通道(DCC)。
这里的断点用来标识某个地址上的一条指令, 而观察点用来观察某个地址上的数据变化,所以 这二者是有区别的。DCC用来完成主调试器和目 标机间的信息发送。
调试命令转换为底层的ARM JTAG调试命 令。 Debug主控端和协议转换器间的介质 可以有很多种,如:Earthnet、USB,串口, 并口等。 Debug主控端和协议转换器间的 通信协议可以是ARM公司的ANGEL标准, 也可以是第三方自定义的标准。典型的协 议转换器有:ARM公司Байду номын сангаасMulti-ICE,HJTAG,JLink等。
DBGACK :调试确认,通过DBGACK,可 以判断当前ARM7TDMI是否在调试状态
BREAKPT :断点信号,这个信号是输入到 ARM7TDMI处理器内核的
-
2.4、JTAG扫描链结构及工作过程
ARM7TDMI的框图提供了3条扫描链: ◆Scan Chain 0
113个扫描单元,包括ARM所有的I/O,地 址/数据总线和输入/输出控制信号。此链很 复杂,不易控制,但包含信息丰富,可通 过它得到ARM7TDMI内核的所有信息。 ◆Scan Chain 1 33个扫描单元,包括数据总线和一个断点 控制信号。
JTAG复位信号。标准里是可选的
-
2.2、JTAG的状态机
TAP共有16个状态机,如下图所示: 每一个状态都有其相应的功能。箭头表示了 所有可能的状态转换流程。状态的转换是 由TMS控制的。
-
-
2.3、ARM7TDMI内核结构
ARM7TDMI处理器结构框图:
-
ARM7TDMI处理器包括三大部分: ◆ARM CPU Main Processor Logic
②、输出管脚:通过与之相连的边界扫 描 寄存器“捕获”该管脚上的输出信号。
-
注意: 芯片输入输出管脚上的边界扫描寄存器
单元可以相互连接起来,在芯片周围形成 一个边界扫描链。该链可以实现串行的输 入输出,通过相应的时钟信号和控制信号, 可方便的观察和控制在调试状态下的芯片。
-
(2)、TAP(Test Access Port)
正常状态下,边界扫描寄存器对芯片来 说是透明的,所以正常的运行不会受到任 何的影响。
-
调试状态下,边界扫描寄存器将芯片 和外的输入输出隔离开,通过这些边界扫 描寄存器可以实现对芯片输入输出信号的 控制。具体控制过程如下:
① 、输入管脚:通过与之相连的边界 扫描寄存器把信号(数据)加载到该管脚 中去。