JTAG模式與SWD模式連接圖

SWD 仿真模式概念簡述
一、SWD 和傳統的調試方式區別
1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大數據量的情況下面 JTAG 下載程序會失敗, 但是 SWD 發生的幾率會小很多。基本使用 JTAG 仿真模式的情況下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推薦大家使用這個模式。
2. 在大家 GPIO 剛好缺一個的時候, 可以使用 SWD 仿真, 這種模式支持更少的引腳。
3. 在大家板子的體積有限的時候推薦使用 SWD 模式, 它需要的引腳少, 當然需要的 PCB 空間就小啦! 比如你可以選擇一個很小的 2.54 間距的 5 芯端子做仿真接口。
二、仿真器對 SWD 模式支持情況
1. 市面上的常用仿真器對 SWD 模式支持情況
(1) JLINKV6 支持 SWD 仿真模式, 速度較慢。
(2) JLINKV7 比較好的支持 SWD 仿真模式, 速度有了明顯的提高,速度是 JLINKV6 的 6 倍。
(3) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M。
(4) ULINK1 不支持 SWD 模式。
(5) 盜版 ULINK2 非常好的支持 SWD 模式, 速度可以達到 10M。
(6) 正版 ULINK2 非常好的支持 SWD 模式, 速度可以達到 10M。
2. SWD 硬件接口上的不同
(1) JLINKV6 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(3) JLINKV8 需要的硬件接口為: VCC, GND, RST, SWDIO, SWDCLK (注:下面有我自己用JLINKV8的實際連線及相應實驗結果)
(4) ULINK1 不支持 SWD 模式
(5) 盜版 ULINK2 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(6) 正版 ULINK2 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
由此可以看到只有 JLINKV8 需要 5 個引腳, 即多了一個VCC引腳,其好處是: 仿真器對目標板子的仿真需要用到 RST 引腳, 使用仿真器內部的 VCC 作這個功能其實並不是非常美妙。 因此,JLINKV8 選擇了只和目標板共 GND, 但不共 VCC。 因此我覺得這種模式最合理, 當然通常情況下仿真器和目標板共 GND 和 VCC 是沒有錯的。
==========================================分割線==================================================
在我自己的板子上試驗,因為JTAG版本是V8的,所以這里接了5根線,VCC,SWDIO,SWCLK,RST,GND。發現只接SWDIO,SWCLK,GND這三根的話下載不了,RST線在檢測的時候需要拔掉,在下載程序的時候插上。
另外,據說不接REST,設置時Reset位選擇:AutoDetect,可以正常下載,仿真。如果Reset位選選擇:HW Reset ,則不能正常下載。


