SWD和JTAG

1、调试接口概念

1)SWD:Serial Wire Debug,代表串行线调试,是ARM设计的协议,用于对其微控制器进行编程和调试。

SWD 引脚:

  • SWDIO–串行数据线,用于数据的读出和写入
  • SWDCLK–串行时钟线,提供所需要的时钟信号
  • SWD和JTAG_第1张图片

2) JTAG(JointTest ActionGroup)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年。在1990年IEEE觉得一切妥当,于是发布了IEEE Standard 1149.1-1990,并命名为Standard Test Access Port and Boundary-ScanArchitecture,这就是大名鼎鼎的JTAG了。

JTAG 基本上带有 5 个引脚:

  • TDI:Test Data In。串行输入引脚
  • TDO:Test Data Out,串行输出引脚
  • TCK:Test Clock,时钟引脚
  • TMS:Test Mode Select,模式选择(控制信号)引脚 TR
  • T:Test Reset,复位引脚
  • SWD和JTAG_第2张图片

JTAG的三大功能:

  • 下载器,即下载软件到FLASH里。
  • DEBUG,跟医生的听诊器似的,可探听芯片内部小心思。
  • 边界扫描,可以访问芯片内部的信号逻辑状态,还有芯片引脚的状态等等。

2、SWD / JTAG 的各种区别

(1)共享引脚

        SWD 的引脚在一定条件下可以和 JTAG 引脚复用

(2) SWD 协议的特点:

        使用引脚更少,只需 SWDIO 和 SWCLK 两个引脚

        SWD 具有特殊功能,例如通过其 I / O 线打印调试信息

        在高速大数据情况下,SWD整体性能比JTAG更好。

        只能用于ARM内核的单片机。

(3)JTAG 协议的优势:

        不限于ARM内核单片机,能支持更多单片机程序调试和下载

        占用引脚数比较多,比较占用板子尺寸。

3、常见仿真器

(1)J-Link仿真器

        J-Link是德国SEGGER公司推出基于JTAG的仿真器。
        J-LINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。

(2)ULink仿真器

        ULINK是ARM/KEIL公司推出的仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。

(3)ST-LINK仿真器

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

你可能感兴趣的:(单片机,嵌入式硬件)