史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

2022-08-10 11:03:40 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、前言

作为一名嵌入式工程师,相信大家都十分清楚MCU开发或者ARM开发都避免不了关键的研发过程,产品研发过程中的程序调试更是举足轻重般的存在。

从8051内核到ARM内核,自己也接触了很多的调试工具和调试手段;今天在此给大家分享一下使用ST-LINK仿真调试器的一些基础知识和好物推荐。

二、ST-LINK仿真器说明

ST-Link是用于STM8和STM32微控制器在线调试器和编程器,ST-Link本身具有SWIM、JTAG / SWD通信接口,适用于STM8和STM32微控制器的软件调试仿真。

SWIM:Single Wire Interface Module,可以简单翻译为:单线接口模块。 JTAG:Joint Test Action Group,联合测试工作组规定的一种仿真协议,它是一种国际标准测试协议。 SWD:Serial Wire Debugging,翻译为:串行调试接口。

其中STM8使用的调试仿真接口是SWIM;STM32使用的调试仿真接口为JTAG或者SWD;因为SWD占用的MCU引脚数相比JTAG较少,所以一般情况下项目中大部分工程师都是采用SWD作为仿真调试接口。 三种接口如下图所示:

三、标准的JTAG和SWD接口定义如下:

ST-LINK仿真上JTAG/SWD接口定义如下图所示,如果使用SWD进行STM32的仿真时,需要接下面红色框框中的4根线到MCU端;并且MCU需要单独供电,ST-LINK不提供电源给MCU。

四、按照上述的连接方法连接仿真器和STM32目标板,用到SWD引脚分别为:TVCC、GND、TMS(SWDIO)、TCK(SWCLK);在ST官方资料的调试仿真章节也有说明,截图如下:

STM32F101XX102xx103xx中文参考手册

连接后大概是下图的情况,显的稍微有些凌乱哈;ST-LINK上并没有丝印说明这20个引脚种各个引脚功能,这就造成了很大的困扰,需要上网查引脚定义,关键有时候网上资料讲的模棱两可。如果杜邦线从ST-LINK不小心掉下来,就需要再次查找引脚定义,简单来讲就是各种的不方便。

像我这种小白来讲,真的痛苦不已;终于有一天在网上找到了一个解决方案(如下图所示)一个JTAG转SWD转接板,虽然不算最理想的解决方案,但对于我来讲,这样的上手体验更加快捷;

再也不用担心因为杜邦线掉下来后,需要再次查找JTAG/SWD的接口定义而浪费时间;JTAG转SWD转接板上的JTAG引脚和SWD引脚都已经通过排针引出来,并且旁边有丝印进行注明(正反面都有哟),更加方便大家对各个引脚的识别;如果项目中用到的是JTAG接口,也可以方便的进行连接。

在JTAG转SWD转接板的背面,还增加了励志语句的丝印,希望各位大师都能享受项目的研发,希望JTAG转SWD转接板能够带给你各种便利。

备注:背面的励志语句如下所示(根据批次的不同,语句可能不一样)

因为小编自己能力水平有限,文中难免有错误或表达不到的信息,还望广大阅读者留言批评指正,谢谢。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129925.html原文链接:https://javaforall.cn

0 人点赞