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

article/2025/9/13 4:07:51

关于JTAG协议

JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。

现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。

标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:
TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。

TCK:测试时钟输入;TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。

TDI:测试数据输入接口,数据通过TDI引脚输入JTAG接口;所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。

TDO:测试数据输出接口,数据通过TDO引 脚从JTAG接口输出;所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。

stm32的两种程序烧录方法:

1.JTAG模式

一般有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的。值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。

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

在这里插入图片描述
在这里插入图片描述
JTAG模式需要连接的接口如下:

Test Clock Input (TCK) -----强制要求1
Test Mode Selection Input (TMS) -----强制要求2
Test Data Input (TDI) -----强制要求3
Test Data Output (TDO) -----强制要求4

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

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

Return Test Clock ( RTCK) ----可选项2:可选项,由目标端反馈给仿真器的时钟信号,用来同步TCK信号的产生,不使用时直接接地。

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

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

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

在这里插入图片描述
上述Jtag头的管脚名称是对IC而言的。实际上10针的只需要接4根线。4号是自连回路,不需要接。1和2号接的都是1管脚 ;而8和10接的是GND,也可以不接

结论JTAG接线方式:1(电源)、3(复位TRST)、4(接地)、5(TDI)、7(TMS)、9(TCK)、13(TDO)、15(nSRST/Reset)
在这里插入图片描述

2.SWD模式

采用SWD模式Jlink(一种基于JTAG的仿真器),只需要三根线即可与目标板实现通讯,可实现程序下载,单步调试等功能,除了不能检测目标板电压、不能给目标板供电、速度有所降低之外,与完整版JLink的功能是一样的。

在这里插入图片描述
结论:20脚JTAG底座, 只需要 SWDIO(TMS)、SWCLK(TCK)、GND三根线,即 7号、9号及GND 中的任意一根针。SWD模式接线:1(电源)、4(接地)、7(SWDIO)和9(SWCLK)。

关于jlink:

J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。

对于全功能JLink,1号针脚(电源)的功能有两个:检测目标板电压;为内部的电平转换芯片提供输出端参考电压。

也就是说,如果目标板电压为3.3V,那么这里也必须给1号针脚提供3.3V电压,才能保证正常输出。由上图可知,20针JTAG的2号针可以提供VCC供电。打开J-Link Commander输入power on时,发现2号针脚输出的是5V电压,无法通过直接短路1、2号针来解决问题。所以必须给目标板上Jlink连接器的1号管脚提供3.3V的电压,可以在Jlink中获取,也可以在待烧写的板子中获得,这与三线SWD下载模式无关。

JTAG模式与SWD模式对比:

在这里插入图片描述
SWD接线与JTAG接线:
在这里插入图片描述

烧写程序接线顺序:插杜邦排针,原始JLink上电,待编程、烧写器上电(USB)。断开时步骤相反,切不可颠倒!尤其不能在上电时断开上图中的连接,否则会烧坏器件!

各类调试接口科普:

1.JTAG 接口

2.SWD接口

串行调试(Serial Wire Debug),与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。

SWD模式比JTAG在高速模式下面更加可靠。只要你的仿真器支持,所以推荐使用这个模式。

在大家GPIO刚好缺一个的时候,可以使用SWD仿真,这种模式支持更少的引脚。

在大家板子的体积有限的时候推荐使用SWD模式,它需要的引脚少,当然需要的PCB空间就小啦!比如你可以选择一个很小的2.54间距的5芯端子做仿真接口。

3.RDI接口

远程调试接口(Remote Debug Interface),ARM公司提出的标准调试接口,主要用于ARM芯片的仿真,由于各个IDE厂商使用的调试接口各自独立,硬件无法进行跨平台的调试。

现在众多的IDE厂家都逐步采用标准RDI作为ARM仿真器的调试接口,因此使跨平台的硬件调试成为可能。

EasyJTAG由于使用标准RDI调试接口,因此在任何使用标准RDI接口的IDE调试环境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。

4.JLINK仿真器

JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的。

5.ULINK仿真器

ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。

开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。

但是要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。

6.ST-LINK仿真器

ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:

编程功能:可烧写FLASH ROM、EEPROM、AFR等;
仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;
仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;
编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;


http://chatgpt.dhexx.cn/article/KmeMYxRa.shtml

相关文章

自制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)是分析各类别变量(如区位)对数值变量(如销售额)的影响的一种统计方法。 二、方差分析的原理是什么? 方差分…

SPSS(二)SPSS实现多因素方差分析模型(图文教程+数据集)

SPSS(二)SPSS实现多因素方差分析模型 单因素方差分析上一篇博客https://blog.csdn.net/LuYi_WeiLin/article/details/89917656已经介绍完毕 这篇博客我们主要来学习多因素方差分析 多因素方差分析,就是同时考虑若干个控制因素的情况下&…

如何进行SPSS的重复测量方差分析

IBM SPSS Statistics的重复测量方差分析,为重复测量的数据提供了单变量与多变量的方差分析,其分析的是多次测量数据之间存在的相关关系,与单因素或多元素方差分析不同的是,其不同测量数据之间不是独立的,存在一定相关性…