简述调试/仿真器协议(JTAG、SWD)及各类调试器(Jlink、Ulink、STlink)

入门嵌入式编程,总会对市面上种类繁多的调试器感到困惑。本文简单介绍一下现在主流的仿真器协议(JTAG、SWD)及各类调试器(Jlink、Ulink、STlink)。

一. 协议

1.JTAG协议

JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。多数的高级器件都支持JTAG协议,如DSPFPGA器件等。

具有JTAG口的芯片都有如下JTAG引脚定义:

TCK——测试时钟输入;

TDI——测试数据输入,数据通过TDI输入JTAG口;

TDO——测试数据输出,数据通过TDO从JTAG口输出;

TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

可选引脚TRST——测试复位,输入引脚,低电平有效

2.SWD协议

串行调试(Serial Wire Debug),也是ARM内核调试器的一种通信协议。相比于JTAG协议,占用更少的端口资源。

二. 调试仿真器

顾名思义,是为了嵌入式程序开发时,连接电脑和单片机,方便于调试、仿真、下载程序的设备。

1.ST-Link仿真器

ST(意法半导体)官方出版了3种仿真器:ST-LINK、ST-LINK/V2,STLINK-V3SET。针对于意法半导体STM8和STM32系列芯片。支持SWIM / JTAG / SWD下载。(SWIM协议是一种用于STM8微控制器的调试/编程协议。)

写本文的时候,才发现有新款的:STLINK-V3SET

2.ULink仿真器

ULINK 是 ARM/KEIL 公司的仿真器,因此仅可以在Keil软件上使用(其他IDE如ADS、IAR下不能使用)。支持 JTAG / SWD下载。

3.JLink仿真器

J-Link是德国 SEGGER 公司的仿真器,得到所有主流的 IDE 的支持。支持SWIM / JTAG / SWD下载。

图标

值得一提的是最后面的 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 - 电源

② GND - 地线

③ SWDIO - 数据

④ SWCLK - 时钟

常见的J-Link与J-Link-OB对比

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在考察当前市面上现有的仿真器之后,我们推出一款硬件软件均开源的仿真器,相比目前流行的jlinkstlink,具有以下优势: 1. 硬件原理图PCB完全开源,软件开源,无版权风险。当前市面上的jlink/stlink均为盗版,使用上存在一些法律问题,部分jlink和IDE如MDK配合使用时,会提示盗版而无法正常使用,且部分jlink版本存在使用一段时间后丢固件的问题,一旦固件丢失,需要手动操作软件恢复固件,操作极其繁琐。同时 jlink售价亦较为昂贵。 2.引出SWD接口,支持主流上位机调试软件,包括keil、IAR、openocd,均支持使用SWD进行下载、单步调试。 3. 引出JTAG接口,配合openocd可支持全球范围内几乎所有SoC芯片的调试,如ARM Cortex-A系列、DSP、FPGA、MIPS等,因为SWD协议只是ARM自己定义的私有协议,而JTAG则是国际IEEE 1149标准。通常的仿真器目标芯片一般为ARM Cortex-M系列,均未引出JTAG接口,而本产品引出JTAG接口,适合您在其他平台下进行开发调试工作。 4.支持虚拟串口(也就是既可以用来当仿真器,又可以作为串口工具使用,替代ch340、cp2102,pl2303)。 5. DAPLink是CMSIS-DAP仿真器的升级版,也是ARM官方在开源社区力推的仿真器,最大的特点是支持U盘拖拽烧录。插入DAPLink之后,PC上会出来一个U盘,只需将hex或者bin文件拖入到U盘中,即可完成烧录。 6. DAPLink支持U盘固件升级,只需将nRST接地,插入DAPLink,PC上即会出来一个U盘,只需将新的固件(hex或者bin文件)拖入到U盘中,即可完成固件升级。因为DAPLink实现了一个带U盘功能的bootloader,可以方便的完成固件升级。若您有基于STM32的产品正在量产,而且产品后续可能需要升级,则DAPLink中的bootloader代码非常值得您参考,客户端不需要安装复杂的IDE或者烧写工具才能完成升级,只需拖动到U盘即可方便的完成您的产品升级。 7. 具有一定深度的原理性的教程讲解视频,包括从硬件到软件,适合对嵌入式开发感兴趣的朋友观看学习。 更多信息,请点击https://github.com/wuxx/nanoDAP。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值