首页>>科技 >>内容

JTAG简介,JTAG和SWD之间的区别

发布时间:2023-10-07 14:38:18编辑:温柔的背包来源:

很多朋友对JTAG简介,JTAG和SWD之间的区别不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

JTAG简介,JTAG和SWD之间的区别

JTAG JTAG(JointTest ActionGroup)简介是一个接口,为了这个接口成立了一个叫JTAG集团的组织,成立于1985年。1990年,IEEE认为万事俱备,于是发布了IEEE标准1149.1-1990,并命名为标准测试接入端口和边界扫描架构,这就是著名的JTAG。你知道JTAG著名的三大功能吗:1 .下载器,也就是把软件下载到FLASH里。2.DEBUG就像医生的听诊器一样,可以窥探芯片内部。

3.边界扫描,可以访问芯片内部的信号逻辑状态,以及芯片管脚的状态等等。JTAG根本没有标准的接口定义,甚至每个公司的定义都不一样。ARM的《系统和接口设计参考》文档中,文档下载地址:链接:https://pan.baidu.com/s/13aQXOXR73_wiERz2kwN15w提取代码:xaaf(提示:微信官方账号不支持外部链接,请复制链接下载到浏览器)。本文档列出了不同的JTAG接口。

而我们在网上经常看到的图片是赛格公司Jlink的JTAG界面。J-Link是德国SEGGER公司推出的一款基于JTAG的模拟器。简单来说就是一个jtag协议转换盒,也就是一个小型的USB转JTAG转换盒,用USB接口连接电脑,用JTAG协议连接目标板内部。它完成了从软件到硬件的转变。同时,Jlink也是最受欢迎的调试器。根据《系统和接口设计参考》,这个ARM的官方JTAG20pin是不一样的。

我希望你能理解ARM、Jlink和JTAG之间的关系。从上面可以看出同样经常使用的ST-linkV2的接口,这也是ST公司定义的接口Ulink和CMSIS_DAP与STM32的其他仿真器相同的原因。02JTAG介绍边界测试:比如你有两个芯片,它们之间有很多连线连接。如何保证这些线之间的连接是OK的?有了JTAG,它可以控制所有的IC引脚。这被称为芯片边界测试。

在JTAG接口中,有四种常用的信号,即TCK/TMS/TDO/TDI。JTAG接口可以一对一使用,也可以形成菊花链一对多拓扑,如下图所示。多核芯片,芯片一直以菊花链的形式连接。有很多方法可以玩JTAG的菊花链。CPU和FPGA厂商允许JTAG用于端口调试;FPGA制造商可以通过JTAG配置FPGA,并使用JTAG信号访问FPGA内核。03JTAG和SWD

SWD接口:串口调试,应该算是一种不同于JTAG的调试方式,直接体现在调试界面上。与JTAG的20个引脚相比,SWD只需要4个(或5个)引脚。VCC、SWDIO、SWCLK、GND(某些情况下,还会添加RESET引脚)。SWD与传统调试方法的区别:

在高速模式下,SWD模式比JTAG模式更可靠。在大数据的情况下,JTAG下载程序会失败,但是SWD的概率会小很多。基本使用JTAG模拟模式时,可以直接使用SWD模式。只要您的模拟器支持,建议您使用这种模式。CPU的GPIO不够用的时候,可以用SWD模拟,支持的管脚更少。

当硬件PCB尺寸有限时,建议使用SWD模式。它需要更少的引脚,当然,它需要更少的PCB空间。可以选择间距为2.54的5芯小端子作为仿真接口。Jlink调试器Keil环境下的JTAG模式和SWD模式Jlink调试器IAR环境下的JTAG模式和SWD模式Jlink JTAG模式和SWD模式对比图04关于Vref引脚。

上面提到的Vref引脚属于IO接口的电源域,其目的是使芯片的逻辑电平与调试器的逻辑电平一致,避免逻辑错误,甚至损坏设备。Jlink上有一个带Vref的跳线帽。三个管脚: NC, Vref,接输出管脚1, 3.3V,如果想让Jlink的管脚Vref输出3.3V,直接短接和就可以了。05关于TRST别针

JTAG定义中的TRST引脚用于复位TAP控制器。STM32系列单片机没有TRST管脚,名字叫NJTRST。以STM32F207为例,JTAG和SWD模式下NJTRST引脚的描述。STM32F207的SWJI/O引脚可用性06RESET引脚用于某些STM32产品的仿真。在发布版本中通常使用4线SWD模式,JTAG端口通常设置为正常IO,或者由于引脚不足而在发布版本中用于其他目的。我们正在调试发布版本,因为JTAG模式是禁止的,没有办法模拟。

这时候最常见的方法就是拉起BOOT0引脚,进入MainFlash存储器模式进行调试仿真。与STM32的官方开发板相比,当我们使用SWD模式时,RST引脚没有引出。当然,还有属于SWD的SWO信号,用于监听,也很有用。两个信号都可以连接到模拟器。

仿真器具有欠复位模式。因此,当仿真器需要仿真时,它会向MCU发送RST信号,使MCU处于RST状态,或者使用复位后仿真。代码没有执行到JTAG状态,所以可以直接模拟。当然,你也可以主动重置电源,或者你可以脱离原来的JTAG禁止状态。也可以将boot0引脚拉高。japan quarterly 日本季刊

以上知识分享希望能够帮助到大家!