jtag和swd区别,该用哪个?

Posted 无际单片机编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jtag和swd区别,该用哪个?相关的知识,希望对你有一定的参考价值。

我刚开始学习单片机是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+说明文档,让你迅速进阶成高手!

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

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

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

以上是关于jtag和swd区别,该用哪个?的主要内容,如果未能解决你的问题,请参考以下文章

jtag和swd区别,该用哪个?

servlet中的response和request怎么区别,两啥时候用,这俩我总是不知道该用哪个,哪位大神给俺讲讲!

nginx和apache有啥区别,我该用哪种?

stm32c8t6 swd调试时选择芯片选哪个(mdk5)

急求!!!属性为NFS的文件该用啥程序打开啊?/?//?

oracle 11g驱动包该用哪个