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引脚示意图:

arm仿真器接口定义_第1张图片


一、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个口就可以了)

第一步:

arm仿真器接口定义_第2张图片


第二步:

arm仿真器接口定义_第3张图片


另外, 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供电也可以加上。






  



你可能感兴趣的:(嵌入式常用工具)