jtag和swd的区别
本文為大家介紹jtag和swd的區(qū)別。
jtag和swd有什么不同----引腳對(duì)比
對(duì)于仿真ARM,TKScope仿真器家庭的AK100/AK100Pro、K8/K9等仿真器提供標(biāo)準(zhǔn)的20PIN調(diào)試接口。接口管腳定義如下。其中ARM芯片有兩種調(diào)試模式,一種是JTAG,一種是SWD,二者在管腳上有復(fù)用。
標(biāo)準(zhǔn)20PIN調(diào)試接口
JTAG調(diào)試接口引腳
JTAG調(diào)試接口必須使用VCC、GND電源信號(hào),以及TMS、TCK、TDI、TDO四根調(diào)試信號(hào),可選TRST、RESET復(fù)位信號(hào)和RTCK(同步時(shí)鐘)信號(hào)。
VRef:目標(biāo)板參考電壓信號(hào)。用于檢查目標(biāo)板是否供電,直接與目標(biāo)板VDD聯(lián),并不向外輸出電壓;
GND:公共地信號(hào);
TRST:JTAG復(fù)位,連接到目標(biāo)CPU的nTRST引腳,用于復(fù)位CPU調(diào)試接口的JTAP控制器;目標(biāo)板上應(yīng)將此腳上拉到高電位,避免意外復(fù)位;
TDI:仿真器連接至目標(biāo)CPU的數(shù)據(jù)輸入信號(hào),建議在目標(biāo)板上將此腳上拉到Vdd;TMS:仿真器輸出給目標(biāo)CPU的JTAG模式設(shè)置信號(hào)。必須在目標(biāo)板上將此腳上拉;TCK:仿真器輸出給目標(biāo)CPU的JTAG時(shí)鐘信號(hào),建議在目標(biāo)板上將此腳上拉;TDO:目標(biāo)CPU返回給仿真器的數(shù)據(jù)信號(hào);
RTCK:目標(biāo)CPU提供給仿真器的時(shí)鐘信號(hào)。有些目標(biāo)要求JTAG的輸入與其內(nèi)部時(shí)鐘同步。仿真器利用此引腳的輸入可動(dòng)態(tài)地控制自己的TCK速率。若不使z用此功能,在目標(biāo)板上將此腳接地,有些芯片可能要求上拉;
RESET:仿真器輸出至目標(biāo)CPU的系統(tǒng)復(fù)位信號(hào)。’
雖然TRST、RESET是可選的信號(hào);但一般都建議接上,使得仿真器能夠在連接器件前對(duì)器件進(jìn)行復(fù)位,以獲得較理想的初始狀態(tài),便于后續(xù)仿真。
SWD接口引腳
SWD是ARM公司提出的另一種調(diào)試接口,相對(duì)于JTAG接口,使用更少的信號(hào)。四根信號(hào)如下:
VRef:目標(biāo)板參考電壓信號(hào)。用于檢查目標(biāo)板是否供電,直接與目標(biāo)板VDD聯(lián),并不向外輸出電壓;
GND:公共地信號(hào);
SWDIO:串行數(shù)據(jù)輸入輸出,作為仿真信號(hào)的雙向數(shù)據(jù)信號(hào)線,建議上拉;
SWCLK:串行時(shí)鐘輸入,作為仿真信號(hào)的時(shí)鐘信號(hào)線,建議下拉;
SWO:串行數(shù)據(jù)輸出引腳,CPU調(diào)試接口可通過(guò)SWO引腳輸出一些調(diào)試信息。該引腳是可選的;
RESET:仿真器輸出至目標(biāo)CPU的系統(tǒng)復(fù)位信號(hào)。
同樣的,雖然RESET是可選的信號(hào);但一般都建議接上,使得仿真器能夠在連接器件前對(duì)器件進(jìn)行復(fù)位,以獲得較理想的初始狀態(tài),便于后續(xù)連接仿真。
jtag和swd有什么不同----SWD和傳統(tǒng)的調(diào)試方式區(qū)別
1.SWD模式比JTAG在高速模式下面更加可靠。在大數(shù)據(jù)量的情況下面JTAG下載程序會(huì)失敗,但是SWD發(fā)生的幾率會(huì)小很多。基本使用JTAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持。所以推薦大家使用這個(gè)模式。
2.在大家GPIO剛好缺一個(gè)的時(shí)候,可以使用SWD仿真,這種模式支持更少的引腳。
3.在大家板子的體積有限的時(shí)候推薦使用SWD模式,它需要的引腳少,當(dāng)然需要的PCB空間就小啦!比如你可以選擇一個(gè)很小的2.54間距的5芯端子做仿真接口。
jtag和swd有什么不同----仿真器對(duì)SWD模式支持情況
(1)JTAGV6支持SWD仿真模式,速度較慢。
(2)JTAGV7比較好的支持SWD仿真模式,速度有了明顯的提高,速度是JTAGV6的6倍。
(3)JTAGV8非常好的支持SWD仿真模式,速度可以到10M。
(4)ULINK1不支持SWD模式。
(5)盜版ULINK2非常好的支持SWD模式,速度可以達(dá)到10M。
(6)正版ULINK2非常好的支持SWD模式,速度可以達(dá)到10M。
jtag和swd有什么不同----SWD硬件接口上的不同
(1)JTAGV6需要的硬件接口為:GND,RST,SWDIO,SWDCLK
(2)JTAGV7需要的硬件接口為:GND,RST,SWDIO,SWDCLK
(3)JTAGV8需要的硬件接口為:VCC,GND,RST,SWDIO,SWDCLK(注:下面有我自己用JTAGV8的實(shí)際連線及相應(yīng)實(shí)驗(yàn)結(jié)果)
(4)ULINK1不支持SWD模式
(5)盜版ULINK2需要的硬件接口為:GND,RST,SWDIO,SWDCLK
(6)正版ULINK2需要的硬件接口為:GND,RST,SWDIO,SWDCLK
由此可以看到只有JTAGV8需要5個(gè)引腳,即多了一個(gè)VCC引腳,其好處是:仿真器對(duì)目標(biāo)板子的仿真需要用到RST引腳,使用仿真器內(nèi)部的VCC作這個(gè)功能其實(shí)并不是非常美妙。因此,JTAGV8選擇了只和目標(biāo)板共GND,但不共VCC。因此我覺(jué)得這種模式最合理,當(dāng)然通常情況下仿真器和目標(biāo)板共GND和VCC是沒(méi)有錯(cuò)的。
總結(jié)
以上是生活随笔為你收集整理的jtag和swd的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是系统调用?为什么要用系统调用?
- 下一篇: 寄存器映射与直接操作寄存器