SWD模式比JTAG在高速模式下面更加可靠
市面上的常用仿真器对SWD模式支持情况
PIN1:GNDPIN2:NRSTPIN3:VCCPIN4:SWDIOPIN5:SWDCLK当然有时候只需三条线就可以,但是对于有些芯片就不稳定:PIN1:GNDPIN2:SWDIOPIN3:SWDCLK所以也可以采用如下方式:1-VCC;2-GND;3-SWDCLK;4-SWDIO;5-NRST.中间三根是必须,NRST可加可不加,有人说VCC要给JLink的输出程序化交易接口 自动打新,接口芯片ALVC164245供电也可以加上。
仿真器对SWD模式支持情况
随着ARM公司对Cortex系列的推出,采样SWD方式调试成了大家的首选。SWD不仅速度可以与JTAG媲美,而且使用的调试线少得多。很多人在采样SWD方式进行调试时,一般都是采用4线:
在板子的体积有限的时候推荐使用SWD模式
第一步:
ST-Link接口是如何定义的?下面为ST-Link接口定义:仿真器端口连接目标板备注TVCCMCU电源VCC连接STM32目标板的电源VCCTVCCMCU电源VCC连接STM8目标板的电源VCCTRSTGNDGNDUART-RXGND或悬空TDITDI连接STM32的JTAGTDIUART-TXGND或悬空TMS,SWIOTMS,SWIO连接STM32的JTAG的TMS,SWD的SWIOBOOT0GND或悬空TCK,SWCLKTMS,SWCLK连接STM32的JTAG的TCK,SWD的SWCLK10.SWIMMCUSWIM连接STM8目标板的SWIM端口1NCNC1GNDGND连接STM8目标板的GND1TDOTDO连接STM32的JTAGTDO1SWIM-RSTMCURESET连接STM8目标板的RESET端口1STM32-RESETRESET连接STM32目标板的RESET端口1KEYNC1NCNC1GNDGND1VDDVCC20.GNDGND下面是标准的接口排列:ST-Link指定的标准接口
J-Link接口是如何定义的?下面为J-Link接口定义:仿真器端口连接目标板备注VCCMCU电源VCCVCCVCCMCU电源VCCVCCTRSTTRSTTestReSeT/pinGNDGND或悬空TDITDITestDataInpinGNDGND或悬空TMS,SWIOTMS,SWIOJTAG:TestModeStatepin;SWD:DataI/OpinGNDGND或悬空TCLK,SWCLKTMS,SWCLKJTAG:TestClockpin;SWD:Clockpin10.GNDGND或悬空1RTCKRTCK1GNDGND或悬空1TDOTDOTestDataOutpin1GNDGND或悬空1RESETRESETRSTINpin1GNDGND或悬空1NCNC1GNDGND或悬空1NCNC20.GNDGND或悬空下面是标准的接口排列:J-Link指定的标准接口
JLINKV8非常好的支持SWD仿真模式,速度可以到10M
另外,JTAG引脚可以被复用为IO口,但是这样一来,JLINK就不能够连上芯片了。解决的方法有两种:另写一段程序,不要将JTAG复用为I/O口,然后将这段程序用串口工具写入芯片中将BOOT0/BOOT1设置成为内部RAM启动,那么上电后就不会执行FLASH中的程序,这样JLINK就能顺利“接管”JTAG引脚
JTAG引脚示意:
第二步:
GPIO刚好缺一个的时候,可以使用SWD仿真,这种模式支持更少的引脚
ULINK2非常好的支持SWD模式,速度可以达到10M
正常的JTAG需要20管脚,而J-Link的SWD只需要2根线就够了,这样就节省了3个I/O口为其它所用,并且可节省一部分板子的空间(只需4个口就可以了)
下面是标准的接口排列:
SWD硬件接口上的不同
JLINKV7需要的硬件接口为:GND,RST,SWDIO,SWDCLKJLINKV8需要的硬件接口为:VCC,GND,RST,SWDIO,SWDCLKULINK1不支持SWD模式ULINK2需要的硬件接口为:GND,RST,SWDIO,SWDCLK在MDK中SWD模式的设置
SWD和传统的调试方式区别
VCC-电源GND-地线SWDIO-数据④SWCLK-时钟
文章为作者独立观点,不代表股票交易接口观点