demi 在 提交
STM32程序下载的方式有多种,分为USB、串口、JTAG、SWD几种,其中最主要的方式是
①串口
②JTAG
③SWD
现在系列开发板,都直接提供USB下载串口,标准20口的JTAG(其中集合了JTAG与SWD),但是在真正的项目中并不会提供如此便捷的外接口给我们,而SWD节省接口资源下载调试速度也快,因此用的比较多,所以先对SWD如何下载程序来做个讲解:
1、SWD下载程序:
如下是标准20口的JTAG电路原理图:
JTAG下载程序需要的基本接口线:
JTRST(TRST)(Test Reset Input):测试复位(可选项)
JTDI(TDI)(Test Data Input):测试数据输入(必选项)
JTMS(TMS)(Test Mode Selection Input):测试模式选择(必选项)(用来设置JTAG接口处于某种特定的测试模式)
JTCK(TCK)(Test Clock Input):测试时钟输入(必选项)
JTDO(TDO)(Test Data Out):测试数据输出(必选项)
外加基本的VCC(必选项)以及GED都要接上,才能进行JTAG方式的程序下载以及调试,因此需要占用的IO接口资源5个口,相对来讲,比较占用接口资源。以上加粗的必选项,都是需要接上的,不然无法正常下载以及调试,GED根据硬件不同,可能有所区别,本人的需要接上,不然STLink无法识别。
SWD下载程序需要的基本接口:
SWDIO:测试数据输入输出
SWCLK:测试时钟输入
外加基本的VCC与GED线。
SWD与JTAG比较:
从以上可以看出,SWD共只需要4根线,其中占用2个接口资源;JTAG共需要6根或7根线,其中占4或5个接口资源,因此SWD更节省资源,因此设计时,空间也能做到更小,并且两者的调试效果也是一样的,因此推荐使用SWD方式。
SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败,但是SWD发生的几率会小很多。
那么JTAG为什么还是存在的呢?其一,SWD比JTAG后推出,更新更快,取代有一个过程;其二,有些较早的硬件只支持JTAG。
其余方式欢迎补充
版权声明:本文为CSDN博主「不爱学习的浪子」的原创文章,
遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/f394028400/java/article/details/90770157