本文目录

  • 1. J-Link

  • 2. ST-Link

  • 3. ULink

  • 4. JTAG

  • 5. SWD

  • 6. SWIM

  • 7. 小结一下

1. J-Link

J-Link是德国SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器,很多ARM芯片的接口协议是JTAGJLink一端接电脑USB接口,一端接CPUJTAG接口,JLink充当的作用就是USBJTAG,支持JTAGSWD两种模式。

  • 可配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境;

  • 支持ARM7/ARM9/ARM11Cortex M0/M1/M3/M4Cortex A5/A8/A9等内核芯片的仿真;

13ad9a9236530740cf37aedc5f135fcb.png
JLINK仿真器

2. ST-Link

ST-LinkST意法半导体为评估、开发STM8/STM32系列MCU而设计的集在线仿真与下载为一体的开发工具,支持JTAG/SWD/SWIM三种模式。

  • 支持所有带SWIM接口的STM8系列单片机

  • 支持所有带JTAG/SWD接口的STM32系列单片机

27584f55454ea850e527001b8207e3c7.png
ST-Link仿真器

3. ULink

ULINK已经停产,在售的是ULINK2ULINKpro版本,ULINK2ARM/KEIL公司(2005年ARM收购了KEIL)最新推出的配套RealView MDK使用的仿真器,ULINK2仿真器也被称为Keil ULINK2ARM ULINK2仿真器。

763bc33b2ee6c9e702b803d98f3f51ff.png
ULink2仿真器

ULINK2仿真器支持:

  • 片上调试(使用片上JTAG/SWD/SWV)

  • FLASH存储器编程(用户可配置FLASH编程算法)

以下是各版本ULINK仿真器的区别,可见支持的芯片内核,软件开发工具等内容;

9f576f4615242dabc0336c59d3d6f240.png
ULink各版本之间区别

4. JTAG

JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试,现在多数的器件都支持JTAG协议,ARMDSPFPGA等,JTAG接口的单片机用电脑USB下载调试程序,需要用到J-Link(USB转JTAG)。

标准的JTAG是四线:TDI,TMS,TCK,TDO,分别对应数据输入,模式选择,时钟,数据输出,复位管脚可不接。

8c45e47afb39133a638fc4f7806b8d7c.png

dd349209205f1cb952386daa27d8e6d9.png
JTAG模式Jlink与CPU的连接图

5. SWD

SWD全称是Serial Wire Debug(串行调试),SWD模式下用JLink给我们的板子debug时,是用标准的二线DIOCLKRESET管脚可不接,当你频繁下载失败时,可接上RESET管脚再试。

在高速模式下,SWDJTAG更可靠一些,常见的接线信号如下所示,根据具体情况自主选择。

a0ee5d9a66297fc63cc271b94fae455d.png

注意: SWD模式下,SWDIO的上拉电阻可预留不贴,在ST的一些MCU参考设计中,有提到建议添加,实际测试不加不影响下载。

1ecdf880acd07e97ff95ff95f2c206b1.png
SWD模式JLink与CPU的连接图

6. SWIM

SWIM接口常见于STSTM8系列单片机,ST-Link2STM8连接只需要4根线,见表格。

01c43863d1a7e5b33fad8c33d99a3f54.png

7279082cc4582af4ae0ebab63a3c0190.png
ST-Link上SWIM的管脚排列

7. 小结一下

附上JTAG/SWD模式管脚对照表:

6325d9d775be9a3498c68c4bfe044d05.png
JTAG/SWD模式管脚对照表

总结一下J-Link、ST-Link、ULink三种仿真器之间的区别:

  • JLink是通用型的ARM内核芯片仿真器,支持的芯片和软件开发环境多,优选

  • ST-Link是针对STM8/STM32,如果你使用STM8/STM32单片机,首选ST-Link,当然用JLink下载ST系列单片机也可以;

  • ULink专注于Keil平台,支持ARM7/9Cortex-M0~M4ULink2还支持8051系列芯片,综合性能(支持芯片种类、软件开发环境及及调试速度)均不如JLink

  • 三者都支持JTAGSWD模式;

再总结一下JTAG、SWD、SWIM三种下载模式的区别:

  • JTAG接线比较多,高速模式下稳定性不如SWD

  • SWD接线少,可空出多余的GPIO,所需要的接线信号不同仿真器会有所差别(主要在VCCRESET),DIOCLK必接;

  • SWIM常见于STM8单片机,需用4根线;

1f3b38c57f63ca40b1d66e145a361c0b.gif
原创不易,小伙伴们点一下「在看」,和记得诚一起成长吧!
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐