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

您所在的位置:网站首页 arm仿真器固件升级 基于仿真器的两种程序烧录模式:JTAG和SWD

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

2023-07-15 23:33| 来源: 网络整理| 查看: 265

关于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下载,下载速度快;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3