jtag和swd区别,该用哪个?

网友投稿 987 2022-05-29

我刚开始学习单片机是STC最经典的STC89C52RC。

导致我后面很多51的产品应用都会选择STC,一方面是因为熟悉,一方面是使用确实很方便。

其中最让我满意的就是烧录,可以直接用串口就可以下载程序,一个USB转串口工具也就10几块。

很多别的国产单片机,都需要用专门的烧录器,一个几百上千的。

不同的单片机厂家各自为营,互不兼容,导致用他们的单片机就必须要买他们的烧录器。

这点其实很不好,把很多新手拒之门外了,不利于自身芯片推广,具体是否有别的苦衷就不知道了。

后面接触到了ARM内核的单片机,开发板很多都是使用类似JTAG烧录。

然后开发板上是一个20个引脚的座子。

后面,接触到STM32单片机,又从老工程师那里接触到SWD烧录。

JTAG和SWD其实都是一种标准的协议。

标准是什么意思?就是符合某种内核的单片机,都可以使用这种协议来下载程序。

比如JTAG和SWD,都支持下载ARM内核单片机的程序。

一、JTAG和SWD还有什么区别?

1.20PIN座子的引脚对比

JTAG:Joint Test Action Group,即联合测试行动小组。

JTAG引脚说明:

TDI(Test Data In):串行输入引脚

TDO(Test Data Out):串行输出引脚

TCK(Test Clock):时钟引脚

TMS(Test Mode Select):模式选择(控制信号)引脚

TRST (Test Reset):复位引脚

SWD:Serial Wire Debug,代表串行线调试

SWD是ARM设计的协议,主要针对他们内核的芯片进行程序调试和下载。

SWD引脚说明:

SWDIO(Serial Wire Data Input Output):串行数据输入输出引脚

SWCLK(Serial Wire Clock):串行线时钟引脚

2.JTAG和SWD协议各自优缺点

JTAG优点:

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

b). 用途更广,用于编程,调试和生产测试.

JTAG缺点:占用引脚数比较多,比较占用板子尺寸。

SWD优点:

a).引脚数更少,有利于节约电路板尺寸。

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

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

SWD缺点:只能用于ARM内核的单片机。

二、总结

一般我们在开发基于STM32的产品时,基本上使用SWD,也就是我们的ST-Link。

因为比较节约引脚,方便控制产品电路板尺寸,调试下载也很稳定。

至于20Pin那种大座子,估计只有在开发板上才会出现,主要是方便调试,不用单独引线之类的。

最后彩蛋时间!!!

最近很多小伙伴找我要一些单片机学习资料,然后我根据自己从业十年经验,熬夜肝了几个通宵,精心整理一份「单片机入门到高级教程+工具包」,全部无偿共享给大家!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手!

jtag和swd区别,该用哪个?

据说有小伙伴靠这份资料顺利进入BAT大厂,所以保存了一定要好好学习。

教程资料包和详细的学习路径可以看我下面这篇文章的开头。

单片机入门到高级开挂学习路径(附教程+工具)https://blog.csdn.net/weixin_43982452/article/details/114134096

ARM 单片机 嵌入式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:前端学习笔记(一):css学习笔记
下一篇:GitLab CI/CD教程(一):为什么要学GitLab CI/CD?
相关文章