之前用的都是最小STM32F103RBt6的芯片,支持JTAG-5。一直用这种调试方式。然后在MDK中选择SWD,这么去用。
但是最近要节约成本,开始考虑管脚更少的,32pin、48pin的。这些就不支持JTAG-5了,只支持Serial wire的方式,也就是两根线:SWDIO、SWCLK。
他跟JTAG-4、JTAG-5的区别在哪?
从管脚上看,少了Rvef、GND、RESET管脚。JTAG-4、JTAG-5就是JTAG方式,是20根管脚的。所以设置时应设置为JTAG。
这个时候J-LINK用的是JTAG的协议与模式控制MCU。
那用JTAG-4、JTAG-5时,为什么可以设置为SWD?
其实JTAG-4、JTAG-5就是JTAG方式,是20根管脚的,这样太占用MCU的管脚了。J-LINK也支持SWD的协议和模式,在J-LINK的管脚上也通用。所以设置为SWD后,实际只用了MCU的两根管脚,VTref和GND接在电源上即可(必须接)。这样能节约很多管脚。下图很明了。
所以我之前都设置错了其实,我的板子上不用JTAG 20pin的接口,而是SWD,但我cubemx若选用JTAG-5时&#x