1) SWD 模擬模式概念簡述
先所說 SWD 和傳統的除錯方式有什麼不一樣:
首先給大家介紹下經驗之談:
(一): SWD 模式比 JTAG 在高速模式下面更加可靠. 在大資料量的情況下面 JTAG 下載 程式會失敗, 但是 SWD 發生的機率會小很多. 基本使用 JTAG 模擬模式的情況下是可以直接使用 SWD 模式的, 只要你的模擬器 支援. 所以推薦大家使用這個模式.
(二): 在大家 GPIO 剛好缺一個的時候, 可以使用 SWD 模擬, 這種模式支援更少的引腳.
(三): 在大家板子的體積有限的時候推薦使用 SWD 模式, 他需要的引腳少, 當然需要的 PCB 空間就小啦. 比如: 你可以選擇一個很小的 2.54 間距的 5 芯端子做模擬介面.
(2) 模擬器對 SWD 模式支援情況
再說說市面上的常用模擬器對 SWD 模擬的支援情況.
(1) JLINKV6 支援 SWD 模擬模式. 速度較慢.
(2) JLINKV7 比較好的支援 SWD 模擬模式, 速度有了明顯的提高. 速度是 JLINKV6 的 6 倍.
(3) JLINKV8 非常好的支援 SWD 模擬模式, 速度可以到 10M.
(4) ULINK1 不支援 SWD 模式
(5) 盜版 ULINK2 非常好的支援 SWD 模式. 速度可以達到 10M.
(6) 正版 ULINK2 非常好的支援 SWD 模式. 速度可以達到 10M.
再所說硬體上的不同:
(1) JLINKV6 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
(3) JLINKV8 需要的硬體介面為: VCC, GND, RST, SWDIO, SWDCLK
(5) 盜版 ULINK2 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
(6) 正版 ULINK2 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
由此可以看到只有 JLINKV8 需要 5 個引腳. 那麼給大家介紹下為什麼有了 VCC 這個引腳時候有好處, 我的個人理解: 我認為有這個引腳是最合適的, 模擬器對目標板子的模擬需要用到 RST 引腳, 其實使用模擬器內部的 VCC 做這個功能其實並不是非常美妙. 因此 JLINKV8 選擇了只和目標板共 GND, 但是不共 VCC. 因此我覺得這種模式最合理, 當然通常情況下模擬器和目標板共 GND 和 VCC 是沒有錯的.
1) SWD 模擬模式概念簡述
先所說 SWD 和傳統的除錯方式有什麼不一樣:
首先給大家介紹下經驗之談:
(一): SWD 模式比 JTAG 在高速模式下面更加可靠. 在大資料量的情況下面 JTAG 下載 程式會失敗, 但是 SWD 發生的機率會小很多. 基本使用 JTAG 模擬模式的情況下是可以直接使用 SWD 模式的, 只要你的模擬器 支援. 所以推薦大家使用這個模式.
(二): 在大家 GPIO 剛好缺一個的時候, 可以使用 SWD 模擬, 這種模式支援更少的引腳.
(三): 在大家板子的體積有限的時候推薦使用 SWD 模式, 他需要的引腳少, 當然需要的 PCB 空間就小啦. 比如: 你可以選擇一個很小的 2.54 間距的 5 芯端子做模擬介面.
(2) 模擬器對 SWD 模式支援情況
再說說市面上的常用模擬器對 SWD 模擬的支援情況.
(1) JLINKV6 支援 SWD 模擬模式. 速度較慢.
(2) JLINKV7 比較好的支援 SWD 模擬模式, 速度有了明顯的提高. 速度是 JLINKV6 的 6 倍.
(3) JLINKV8 非常好的支援 SWD 模擬模式, 速度可以到 10M.
(4) ULINK1 不支援 SWD 模式
(5) 盜版 ULINK2 非常好的支援 SWD 模式. 速度可以達到 10M.
(6) 正版 ULINK2 非常好的支援 SWD 模式. 速度可以達到 10M.
再所說硬體上的不同:
(1) JLINKV6 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
(3) JLINKV8 需要的硬體介面為: VCC, GND, RST, SWDIO, SWDCLK
(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 是沒有錯的.