1. 程式人生 > >各種ARM模擬器介面圖

各種ARM模擬器介面圖

ULINK2 JTAG/SWD介面

ULINK2介面是如何定義的?下面為ULINK2介面定義:

模擬器埠

連線目標板

備註

  1. VCC

  MCU電源VCC

VCC

  2. VCC

  MCU電源VCC

VCC

  3. TRST

  TRST

Test ReSeT/ pin

  4. GND

  GND或懸空

  5. TDI

  TDI

Test Data In pin

  6. GND

  GND或懸空

  7. TMS, SWIO

  TMS, SWIO

JTAG:Test Mode State pin ; SWD: Data I/O pin

  8. GND

  GND或懸空

  9. TCLK, SWCLK

  TMS, SWCLK

JTAG: Test Clock pin ; SWD: Clock pin

  10. GND

  GND或懸空

  11. RTCK

   RTCK

  12. GND

  GND或懸空

  13. TDO

  TDO

Test Data Out pin

  14. GND

  GND或懸空

  15. RESET

  RESET

RSTIN pin

  16. GND

  GND或懸空

  17. NC

  NC

  18. GND

  GND或懸空

  19. NC

  NC

  20. GND

  GND或懸空


下面是標準的介面排列:

ST-Link SWIM & JTAG/SWD介面

ST-Link介面是如何定義的?下面為ST-Link

介面定義(紅色字為STM32的連線埠):

模擬器埠

連線目標板

備註

  1. TVCC

  MCU電源VCC

連線STM32目標板的電源VCC

  2. TVCC

  MCU電源VCC

連線STM8目標板的電源VCC

  3. TRST

  GND

GND

  4. UART-RX

  GND或懸空

  5. TDI

  TDI

連線STM32的JTAG TDI

  6. UART-TX

  GND或懸空

  7. TMS, SWIO

  TMS, SWIO

連線STM32的JTAG的TMS, SWD的SW IO

  8. BOOT0

  GND或懸空

  9. TCK, SWCLK

  TMS, SWCLK

連線STM32的JTAG的TCK, SWD的SW CLK

  10. SWIM

  MCU SWIM

連線STM8目標板的SWIM埠

  11. NC

  NC

  12. GND

  GND

連線STM8目標板的GND

  13. TDO

  TDO

連線STM32的JTAG TDO

  14. SWIM-RST

  MCU RESET

連線STM8目標板的RESET埠

  15. STM32-RESET

  RESET

連線STM32目標板的RESET埠

  16. KEY

  NC

  17. NC

  NC

  18. GND

  GND

  19. VDD

  VCC

  20. GND

  GND

下面是標準的介面排列:


ST-Link
指定的標準介面

J-Link JTAG/SWD介面

J-Link介面是如何定義的?下面為J-Link介面定義:

模擬器埠

連線目標板

備註

  1. VCC

  MCU電源VCC

VCC

  2. VCC

  MCU電源VCC

VCC

  3. TRST

  TRST

Test ReSeT/ pin

  4. GND

  GND或懸空

  5. TDI

  TDI

Test Data In pin

  6. GND

  GND或懸空

  7. TMS, SWIO

  TMS, SWIO

JTAG:Test Mode State pin ; SWD: Data I/O pin

  8. GND

  GND或懸空

  9. TCLK, SWCLK

  TMS, SWCLK

JTAG: Test Clock pin ; SWD: Clock pin

  10. GND

  GND或懸空

  11. RTCK

   RTCK

  12. GND

  GND或懸空

  13. TDO

  TDO

Test Data Out pin

  14. GND

  GND或懸空

  15. RESET

  RESET

RSTIN pin

  16. GND

  GND或懸空

  17. NC

  NC

  18. GND

  GND或懸空

  19. NC

  NC

  20. GND

  GND或懸空

下面是標準的介面排列:


J-Link
指定的標準介面


JTAG引腳示意圖:

一、SWD 和傳統的除錯方式區別

1. SWD 模式比 JTAG 在高速模式下面更加可靠

2. GPIO 剛好缺一個的時候, 可以使用 SWD 模擬, 這種模式支援更少的引腳

3. 在板子的體積有限的時候推薦使用 SWD 模式

二、模擬器對 SWD 模式支援情況

1. 市面上的常用模擬器對 SWD 模式支援情況

JLINKV8 非常好的支援 SWD 模擬模式, 速度可以到 10M

ULINK2 非常好的支援 SWD 模式, 速度可以達到 10M

2. SWD 硬體介面上的不同

(1) JLINKV7 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
(2) JLINKV8 需要的硬體介面為: VCC, GND, RST, SWDIO, SWDCLK (注:下面有我自己用JLINKV8的實際連線及相應實驗結果)
(3) ULINK1 不支援 SWD 模式
(4) ULINK2 需要的硬體介面為: GND, RST, SWDIO, SWDCLK
三、在 MDK 中SWD 模式的設定

正常的JTAG需要20管腳,而J-Link 的SWD只需要2根線(PA13/JTMS/SWDIOPA14/JTCK/SWCLK)就夠了(加上電源線也就4根),這樣就節省了3個I/O口(PA15/JTDI、PB3/JTDO、PB4/JNTRST)為其它所用,並且可節省一部分板子的空間(只需4個口就可以了)

第一步:



第二步:


另外, JTAG引腳可以被複用為IO口,但是這樣一來,JLINK就不能夠連上晶片了。解決的方法有兩種:
    (1)另寫一段程式,不要將JTAG複用為I/O口,然後將這段程式用串列埠工具寫入晶片中
    (2)將BOOT0/BOOT1設定成為內部RAM啟動,那麼上電後就不會執行FLASH中的程式,這樣JLINK就能順利“接管”JTAG引腳

 隨著ARM公司對Cortex系列的推出,取樣SWD方式除錯成了大家的首選。SWD不僅速度可以與JTAG媲美,而且使用的除錯線少得多。很多人在取樣SWD方式進行除錯時,一般都是採用4線:

① VCC     -     電源

② GND     -    地線

③ SWDIO -    資料

④ SWCLK -   時鐘

        在對NXP的LPC1114下載模擬時,用ULINK2和JLINK V8都是可以的,但是對於STM32,如果用JLINK V8可以下載,而用ULINK2下載時總是超時,而加上NRESET復位線則可以正常下載。所以為了相容所有晶片和除錯工具,最好按照一下方式進行預留介面:

PIN 1:  GND  
PIN 2:  NRST  
PIN 3:  VCC 
PIN 4:  SWDIO  
PIN 5:  SWDCLK

當然有時候只需三條線就可以,但是對於有些晶片就不穩定:

PIN 1:  GND  
PIN 2:  SWDIO  
PIN 3:  SWDCLK

所以也可以採用如下方式:

1 - VCC;  
2 - GND;  
3 - SWDCLK;  
4 - SWDIO;  
5 - NRST.  
中間三根是必須,NRST可加可不加,有人說VCC要給JLink的輸出介面晶片ALVC164245供電也可以加上。