【开发工具】【JTAG】JTAG基础【一】

article/2025/9/13 3:50:49

JTAG基础

什么是JTAG?

JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。 JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。

如今大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。标准的 JTAG 接口是 4 线: TMS 、 TCK 、 TDI 、 TDO ,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。

JTAG的作用是什么?

主要用途:芯片内部测试,调试。

JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。

TAG编程方式是在线编程,传统生产流程中先对芯片进行预编程然后再装到板上,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对DSP芯片内部的所有部件进行编程。

一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,像UART,Timers,GPIO等等的寄存器。

上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。


JTAG的硬件基础知识

JTAG是硬件实现的。

在cpu(注意:这里的cpu是指运算处理单元,只包含了内部寄存器以及运算单元等基本部件)外围,处理器(即cpu扩展芯片,不是soc)内部包含了JTAG的硬件实现,并且向外界提供接口。


JTAG接口

JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入。

标准的JTAG接口是四线(还有可选):

TMS(强制要求)——模式选择,TMS用来设置JTAG口处于某种特定的测试模式,TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。

TCK(强制要求)——时钟,TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。

TDI(强制要求)——数据输入,数据通过TDI输入JTAG口,TDI在IEEE1149.1标准里是强制要求的。TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。

TDO(强制要求)——数据输出,数据通过TDO从JTAG口输出,TDO在IEEE1149.1标准里是强制要求的。TDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。

TRST(可选引脚)——测试复位,输入引脚,低电平有效。

这个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。TRST可以用来对TAPController进行复位(初始化)。因为通过TMS也可以对TAP Controll进行复位(初始化)。所以有四线JTAG与五线JTAG之分。

除了上述的标准JTAG线之外,硬件JTAG接口上还有其他引脚,一起介绍下:

VTREF(强制要求)——接口信号电平参考电压一般直接连接Vsupply。这个可以用来确定ARM的JTAG接口使用的逻辑电平(比如3.3V还是5.0V?)

RTCK(可选引脚)——返回测试时钟(Return Test Clock,用来同步TCK信号。由目标端反馈给仿真器的时钟信号,用来同步TCK信号的产生,不使用时直接接地。

nSRST(可选引脚)——系统复位(System Reset,复位目标系统。与目标板上的系统复位信号相连,可以直接对目标系统复位。同时可以检测目标系统的复位情况,为了防止误触发应在目标端加上适当的上拉电阻。

USER IN——用户自定义输入。可以接到一个IO上,用来接受上位机的控制。

USER OUT——用户自定义输出。可以接到一个IO上,用来向上位机的反馈一个状态。


JTAG接口连接标准

如今 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口,其定义分别如下所示。

为什么会有多种接口标准?还有原本只需要标准4/5根线就能实现JTAG调试,为什么实际接口有20针/14针呢?

由于JTAG经常使用排线连接,为了增强抗干扰能力,在每条信号线间加上地线就出现了这种20针的接口。但事实上,RTCK、USER IN、USER OUT一般都不使用,于是还有一种14针的接口。对于实际开发应用来说,由于实验室电源稳定,电磁环境较好,干扰不大。

注:图为各式JTAG的接口电路。

对应14针的JTAG硬件引脚说明如下:

对应20针的JTAG硬件引脚说明如下:


参考:

JTAG基本原理与调试

https://www.cnblogs.com/TaigaCon/archive/2012/12/20/2826941.html


本篇只讲了下JTAG基础,可以继续点击下面的链接看JTAG原理,JTAG调试实例等:

JTAG基础

JTAG调试原理

JTAG调试实例

模拟系统崩溃,使用JTAG调试找到崩溃点


http://chatgpt.dhexx.cn/article/5k03aKWo.shtml

相关文章

J-Link、ST-Link、DAPLink、ULink仿真器区别?以及支持的JTAG、SWD、SWIM下载模式、SWV、串口Printf调试差异?

四种仿真器和五种下载模式调试差异? 一、J-LINK、ST-Link、升级版DAPLink(旧版CMSIS-DAP)、ULink 仿真器区别?几种JTAG、SWD、SWIM、SWV下载模式或者调试方式差异(细看)? 总结:J-Link、ST-Lin…

基于仿真器的两种程序烧录模式:JTAG和SWD

关于JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。 现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等…

自制Xilinx JTAG仿真器

目录 工具原理图PCB烧录 eeprom工程地址注 本草稿最后日期为 2021-01-23,本次趁闲暇时间完善,本文主要说明的是自制Xilinx Jtag 仿真器。 也是巧合,在 GitHub 上无意中发现了有人发布了Jtag 的做法,于是根据上面提供的原理图试着做…

J-Link仿真器与JTAG和SWD下载与接线

目录 1.JTAG 1.1JTAG今天被用来主要的三大功能: 1.2JTAG引脚: 1.3可选引脚: 2.SWD 2.1 SWD引脚: 2.2 可选择引脚: 2.3 JTag和SWD模式引脚定义 3. J-Link仿真器 4 IAR与MDK配置两种下载方式 1.JTAG JTAG诞…

简述调试/仿真器协议(JTAG、SWD)及各类调试器(Jlink、Ulink、STlink)

入门嵌入式编程,总会对市面上种类繁多的调试器感到困惑。本文简单介绍一下现在主流的仿真器协议(JTAG、SWD)及各类调试器(Jlink、Ulink、STlink)。 一. 协议 1.JTAG协议 JTAG(Joint Test Action Group,联…

JTAG基本原理及仿真器性能比较和JTAG接口解读

JTAG(Joint Test Action Group,联合测试行动组)是一种国际标准测试协议(IEEE 1149.1兼容)。标准的JTAG接口是4线——TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 JTAG的主要功能有两种,或者说JTAG主要有两大…

什么是JTAG和SWD接口协议,和各类仿真器

一、俩个协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。…

SPSS实现多元方差分析

总目录:SPSS学习整理 SPSS实现多元方差分析 目的适用情景数据处理SPSS操作SPSS输出结果分析知识点 目的 观察影响因素如何影响一组因变量 适用情景 方差分析前提: 各个总体服从正态分布 各个总体方差相等 观测值独立 数据处理 SPSS操作 分析——一般…

SPSS实现多因素方差分析

总目录:SPSS学习整理 SPSS实现多因素方差分析 目的适用情景数据处理SPSS操作SPSS输出结果分析知识点 目的 检验多个因素对因变量的作用和影响,以及因素共同作用的影响。(因素之间独立影响变量,因素之间交互作用影响变量&#xff…

方差分析的SPSS实现

单因素方差分析 1、首先打开我们的SPSS软件,将数据导入进去 我们看到因子是group,我们研究的是不同的组别之间的均值是否有显著性差异,换句话说,假设我们的组别是不同的职业,1,2,3代表不同的职…

R语言数据分析笔记——方差分析(单因素方差分析、双因素方差分析)在Excel、SPSS、R语言中的操作)

前言:本文为个人学习笔记,为各大网站上的教学内容之综合整理,综合整理了①方差分析的基础知识、②方差分析(单因素方差分析、双因素方差分析)在Excel、SPSS、R语言中的操作),尽量标明出处。另因…

SPSS中方差分析(F检验)的作用以及使用前提

SPSS中方差分析(F检验)的作用以及使用前提 一、方差分析 方差分析用来检验两组以上的数据,假如有三组数据为什么不能用T检验做三次两两之间检验是否能达到目的,结果是不能的,三次T检验每一次都会犯I类错误&#xff0…

【SPSS】多因素方差分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】

🚀【MOOC数学建模与实验---学习笔记---整理汇总表】🚀 🌈【学习网址:MOOC---郑州轻工业大学---数学建模与实验】🌈 【第1、2章】【概述、软件介绍】【第3章】【数据处理方法】【第4章】【规划模型】【第5章】【图与网络…

SPSS作业-方差分析-双因素分析

作业要求:高低不同的汽油对汽车油耗作二因素方差分析作业数据:三种品牌的汽车X、Y、Z;四种标号(A、B、C、D) A B C D X 21.8 22.4 20.6 23.1 Y 31.3 34.2 30.6 33.7 Z 23.1 27.3 26.1 28.6 解&…

SPSS结果解读【单因素方差分析】

方差分析(Analysis of Variance,简称ANOVA)主要用于验证两组样本,或者两组以上的样本均值是否有显著性差异(是否一致) 单因素方差分析 是指试验中只有一个因素变化,若有两个因素改变则称为双因…

spss多因素方差分析

多因素方差分析 多因素方差分析是对一个独立变量是否受一个或多个因素或变量影响而进行的方差分析。SPSS调用“Univariate”过程,检验不同水平组合之间因变量均数,由于受不同因素影响是否有差异的问题。在这个过程中可以分析每一个因素的作用&#xff0c…

记录SPSS多因素方差分析的学习过程

首先,进行方差分析之前应对数据进行正态性、方差齐性检验 若不满足以上两点则应对其进行非参数检验 现通过讲解例子来帮助新手更好的理解多因素方差分析 提问1:不同学生的性别、学习能力、试题难度水平是否影响学生的学习成绩? 提问2&…

【SPSS】单因素方差分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

方差分析以及如何用SPSS实现单因素、双因素方差分析

一、方差分析是什么? 方差分析(analysis of variance,ANOVA)是分析各类别变量(如区位)对数值变量(如销售额)的影响的一种统计方法。 二、方差分析的原理是什么? 方差分…