简述调试仿真器协议(JTAG、SWD)及各类调试器(Jlink、Ulink、STlink) 林云 林栖谷隐,不知所云 17 赞同 1 评论 72 收藏
入门嵌入式编程,总会对市面上种类繁多的调试器感到困惑。本文简单介绍一下现在主流的仿真器协议(JTAG、SWD)及各类调试器(Jlink、Ulink、STlink)。
一. 协议
1.JTAG协议
JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口。
JTAG:14 针接口、 20 针接口具有JTAG口的芯片都有如下JTAG引脚定义:
TCK——测试时钟输入;
TDI——测试数据输入,数据通过TDI输入JTAG口;
TDO——测试数据输出,数据通过TDO从JTAG口输出;
TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。
(可选引脚:TRST——测试复位,输入引脚。)
2.SWD协议
串行调试(Serial Wire Debug),是ARM内核调试器的一种通信协议。相比于JTAG协议,占用更少的端口资源。
JTAG、SWD对比二. 调试仿真器
顾名思义,是为了嵌入式程序开发时,连接电脑和单片机,方便于调试、仿真、下载嵌入式程序的设备。
1.ST-Link仿真器
ST(意法半导体)官方出版了3种仿真器:ST-LINK、ST-LINK/V2,STLINK-V3SET。针对于意法半导体STM8和STM32系列芯片。支持SWIM / JTAG / SWD下载。(SWIM协议是一种用于STM8微控制器的调试/编程协议。)
ST-LINK ST-LINK/V2写本文的时候,才发现有新款的:STLINK-V3SET
STLINK-V3SET Hardware Development Tools for STM32 - STMicroelectronics2.ULink仿真器
ULINK 是 ARM/KEIL 公司的仿真器,因此仅可以在Keil软件上使用(其他IDE如ADS、IAR下不能使用)。支持 JTAG / SWD下载。
ULINK Debug Adapters (keil.com)3.JLink仿真器
J-Link是德国 SEGGER 公司的仿真器,得到所有主流的 IDE 的支持。支持SWIM / JTAG / SWD下载。
J-Link Debug Probes by SEGGER
值得一提的是最后面的 J-Link OB(The On-Board Debug Probe),通常被设计到各大公司的评估板上(“on-board”),J-Link- OB的下载调试器具备 USB 通信功能可以与 PC 通信,另一端通过 JTAG 或 SWD 方式与可支持器件通信,完成调试下载任务。
J-Link -OB 大多集成到评估板内部电路,这就有中外极客,把 J-Link -OB 从原来的评估板上分离出来,即为 J-Link- OB改造版本,个人觉得还挺好用的,在此节后边一并写出。
3.1 J-Link- OB 改造版
J-Link-OB改造版与原J-Link-OB版少了JTAG通信方式,只保留SW通信模式。
① VCC - 电源常见的J-Link与J-Link-OB对比 标签:仿真器,SWD,OB,Link,JTAG,调试器 From: https://www.cnblogs.com/zxdplay/p/17770673.html
② GND - 地线
③ SWDIO - 数据
④ SWCLK - 时钟