【2018-08-18】浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别

发布时间:2026/7/21 23:32:09
【2018-08-18】浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2018-08-18 标题浅论各种调试接口SWD、JTAG、Jlink、Ulink、STlink的区别分类编程SWD/JTAG/JLink/ULink/STLink简单笔记JTAG协议SWD接口RDI接口JLink仿真器ULink仿真器ST-Link仿真器转自《 https://blog.csdn.net/LEON1741/article/details/72846434 》JTAG协议JTAGJoint Test Action Group联合测试行动小组是一种国际标准测试协议IEEE 1149.1兼容主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议如ARM、DSP、FPGA器件等。标准的JTAG接口是4线TMS、 TCK、TDI、TDO分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为TMS测试模式选择TMS用来设置JTAG接口处于某种特定的测试模式TCK测试时钟输入TDI测试数据输入数据通过TDI引脚输入JTAG接口TDO测试数据输出数据通过TDO引 脚从JTAG接口输出JTAG协议在定义时由于当时的计算机PC机普遍带有并口因而在连接计算机端是定义使用的并口。而计算机到了今天不要说笔记本电脑现在台式计算机上面有并口的都很少了取而代之的是越来越多的USB接口。所以目前市场上已经很少看到它的身影了。SWD接口串行调试Serial Wire Debug应该可以算是一种和JTAG不同的调试模式使用的调试协议也应该不一样所以最直接的体现在调试接口上与JTAG的20个引脚相比SWD只需要4个或者5个引脚结构简单但是使用范围没有JTAG广泛主流调试器上也是后来才加的SWD调试模式。SWD和传统的调试方式区别SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用SWD模式的只要你的仿真器支持所以推荐大家使用这个模式。在大家GPIO刚好缺一个的时候可以使用SWD仿真这种模式支持更少的引脚。在大家板子的体积有限的时候推荐使用SWD模式它需要的引脚少当然需要的PCB空间就小啦比如你可以选择一个很小的2.54间距的5芯端子做仿真接口。RDI接口远程调试接口Remote Debug Interface是ARM公司提出的标准调试接口主要用于ARM芯片的仿真由于各个IDE厂商使用的调试接口各自独立硬件无法进行跨平台的调试。现在众多的IDE厂家都逐步采用标准RDI作为ARM仿真器的调试接口因此使跨平台的硬件调试成为可能。EasyJTAG由于使用标准RDI调试接口因此在任何使用标准RDI接口的IDE调试环境中都可以使用例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。JLink仿真器J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说是给一个JTAG协议转换盒即一个小型USB到JTAG的转换盒其连接到计算机用的是USB接口而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。JLINK是一个通用的开发工具可以用于KEIL、IAR、ADS 等平台。速度效率功能都很好据说是众多仿真器里最强悍的。ULink仿真器ULINK是ARM/KEIL公司推出的仿真器目前网上可找到的是其升级版本ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能并且仅可以在Keil软件上使用增加了串行调试SWD支持返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2可以方便的在目标硬件上进行片上调试使用on-chip JTAGSWD和OCDS、Flash编程。但是要注意的是ULINK是KEIL公司开发的仿真器专用于KEIL平台下使用ADS、IAR下不能使用。ST-Link仿真器ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口其主要功能有编程功能可烧写FLASH ROM、EEPROM、AFR等仿真功能支持全速运行、单步调试、断点调试等各种调试方法可查看IO状态变量数据等仿真性能采用USB2.0接口进行仿真调试单步调试断点调试反应速度快编程性能采用USB2.0接口进行SWIM / JTAG / SWD下载下载速度快