搞嵌入式开发和ARM开发搞了半辈子了,调试程序是不可避免的。接触了那么多的调试规范、调试工具、调试手段,彼此之间的关系却也不是特别清楚,今天就来捋一捋:

JTAG协议

JTAG(Joint 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 JTAG,SWD和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下载,下载速度快;

浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别相关推荐

  1. 浅论各种调试接口(JTAG、SWD、RDI、Jlink、Ulink、STlink)的区别

    关注.星标公众号,直达精彩内容 来源:技术让梦想更伟大 整理:李肖遥 一.JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1 ...

  2. 下载调试接口 SWD 和 JTAG的区别

    关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 作为嵌入式工程师,下载调试器都应该知道,但你真正了解其SWD 和 JTAG接口的含义 ...

  3. JTAG、SWD、JLINK、ST-LINK、ULINK的区别

    JTAG.SWG.JLINK.ST-LINK.ULINK的区别 什么是下载调试器? 简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为 MCU(负责MCU内部外围设备)理解的语言(例如 ...

  4. JTAG、JLink、ULINK、ST-LINK仿真器区别

    首先要了解一下JTAG. JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数 ...

  5. 关于调试/仿真器的JTAG和SWD的使用==总结

    嵌入式行业,涉及到系统设计,难免要考虑这些接口的设计, 当前手上的一个项目,为了减小体积.节省资源,使用了stm32 swd接口,下面及此简要说明下常用的一些调试接口,,, 常用调试器包括UNLINK ...

  6. JTAG和ULINK、JLINK、ST-LINK

    1. 什么是JTAG JTAG(Joint Test Action Group;联合测试工作组)      是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试. 现在多数的高级 ...

  7. STM32JTAG调试接口PB3、PB4复用问题

    JTAG与SWD调试接口介绍 JTAG 接口:主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,标准接线是4根线 TMS:JTAG接口模式选择 TCK:JTAG接口时钟 TDI:JTAG接口 ...

  8. CMSIS-DAP和J-Link、ST-Link是什么关系?

    作者:strongerHuang 公众号:strongerHuang 学习过STM32或Cortex-M处理器的读者对J-Link.ST-Link应该不陌生,都知道它们是下载调试器. 除了J-Link ...

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

    参考文章 什么是下载调试器? 简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备))理解的语言(例如SWD或JTAG协议)的设备,加载代码并精确控制执行. ...

最新文章

  1. 本人使用Intelij idea问题及解决汇总
  2. Android Sensors (2) 传感器API的使用
  3. 三 s5p4418对mcp2515 can总线的支持
  4. Disassembly3:variable
  5. 2017年第八届蓝桥杯国赛B组试题A-36进制-进制转换
  6. [渝粤教育] 天津城建大学 混凝土结构设计原理A 参考 资料
  7. PHP、C#、通用的DES加密
  8. vi通过Vundle安装和删除插件
  9. Linux下增加swap分区
  10. 软件测试理论、方法及流程
  11. mac 建 android 签名,mac android app 签名工具
  12. 用友服务器换了ip地址怎么修改,用友服务器ip地址更换
  13. 【华人学者风采】童欣 微软亚洲研究院
  14. IT的道德和伦理-个人隐私
  15. LC-3简易四子棋(深大计系1实验4) 思路+代码+详细注释
  16. 阿基米德螺旋线lisp_CAD画阿基米德螺旋线程序
  17. Oracle 语句大全,确实不错,赶紧转走!
  18. 西门子冗余服务器 系统拷贝,西门子(SIEMENS)冗余系统指南.pdf
  19. Ecshop实现注册页面手机号唯一的验证
  20. 12. SSL和TLS有关知识

热门文章

  1. 这样写的邮件,客户回复率几乎高达100%
  2. GPU编程自学2 —— CUDA环境配置
  3. 生产制造业ERP管理系统对于制造企业的好处有哪些?
  4. 百度AI——人脸识别的简单应用
  5. jQuery的属性,位置,元素操作
  6. 【Python 实战基础】如何实现一个英汉翻译小字典
  7. s4 android4.4.2,三星Galaxy S4(GT-I9500)开始Android 4.4.2升级
  8. 中职学生计算机学情分析报告,中职学生学情分析及对策
  9. ai不同形状的拼版插件_Illustrator(AI)自动拼版脚本 V1.5下载(编组对象的复制位移)...
  10. vs用Python爬数据?(一)网页抓取