這幾種調(diào)試接口區(qū)別(JTAG、SWD、RDI、Jlink、Ulink、STlink)
01 JTAG協(xié)議
本文引用地址:http://cafeforensic.com/article/202408/462471.htmJTAG(Joint Test Action Group,聯(lián)合測(cè)試行動(dòng)小組)是一種國際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試?,F(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。相關(guān)JTAG引腳的定義為:
· TMS:測(cè)試模式選擇,TMS用來設(shè)置JTAG接口處于某種特定的測(cè)試模式;
· TCK:測(cè)試時(shí)鐘輸入;
· TDI:測(cè)試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI引腳輸入JTAG接口;
· TDO:測(cè)試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO引腳從JTAG接口輸出;
JTAG協(xié)議在定義時(shí),由于當(dāng)時(shí)的計(jì)算機(jī)(PC機(jī))普遍帶有并口,因而在連接計(jì)算機(jī)端是定義使用的并口。而計(jì)算機(jī)到了今天,不要說筆記本電腦,現(xiàn)在臺(tái)式計(jì)算機(jī)上面有并口的都很少了,取而代之的是越來越多的USB接口。所以,目前市場(chǎng)上已經(jīng)很少看到它的身影了。
02 SWD接口
串行調(diào)試(Serial Wire Debug),應(yīng)該可以算是一種和JTAG不同的調(diào)試模式,使用的調(diào)試協(xié)議也應(yīng)該不一樣,所以最直接的體現(xiàn)在調(diào)試接口上,與JTAG的20個(gè)引腳相比,SWD只需要4個(gè)(或者5個(gè))引腳,結(jié)構(gòu)簡(jiǎn)單,但是使用范圍沒有JTAG廣泛,主流調(diào)試器上也是后來才加的SWD調(diào)試模式。
SWD和傳統(tǒng)的調(diào)試方式區(qū)別:
· SWD模式比JTAG在高速模式下面更加可靠。在大數(shù)據(jù)量的情況下面JTAG下載程序會(huì)失敗,但是SWD發(fā)生的幾率會(huì)小很多。基本使用JTAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個(gè)模式。
· 在大家GPIO剛好缺一個(gè)的時(shí)候,可以使用SWD仿真,這種模式支持更少的引腳。
· 在大家板子的體積有限的時(shí)候推薦使用SWD模式,它需要的引腳少,當(dāng)然需要的PCB空間就小啦!比如你可以選擇一個(gè)很小的2.54間距的5芯端子做仿真接口。
03 RDI接口
遠(yuǎn)程調(diào)試接口(Remote Debug Interface),是ARM公司提出的標(biāo)準(zhǔn)調(diào)試接口,主要用于ARM芯片的仿真,由于各個(gè)IDE廠商使用的調(diào)試接口各自獨(dú)立,硬件無法進(jìn)行跨平臺(tái)的調(diào)試。
現(xiàn)在眾多的IDE廠家都逐步采用標(biāo)準(zhǔn)RDI作為ARM仿真器的調(diào)試接口,因此使跨平臺(tái)的硬件調(diào)試成為可能。EasyJTAG由于使用標(biāo)準(zhǔn)RDI調(diào)試接口,因此在任何使用標(biāo)準(zhǔn)RDI接口的IDE調(diào)試環(huán)境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。
04 JLink仿真器
J-Link是德國SEGGER公司推出基于JTAG的仿真器。簡(jiǎn)單地說,是給一個(gè)JTAG協(xié)議轉(zhuǎn)換盒,即一個(gè)小型USB到JTAG的轉(zhuǎn)換盒,其連接到計(jì)算機(jī)用的是USB接口,而到目標(biāo)板內(nèi)部用的還是jtag協(xié)議。它完成了一個(gè)從軟件到硬件轉(zhuǎn)換的工作。
JLINK是一個(gè)通用的開發(fā)工具,可以用于KEIL、IAR、ADS 等平臺(tái)。速度,效率,功能都很好,據(jù)說是眾多仿真器里最強(qiáng)悍的。
05 ULink仿真器
ULINK是ARM/KEIL公司推出的仿真器,目前網(wǎng)上可找到的是其升級(jí)版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil軟件實(shí)現(xiàn)仿真功能,并且僅可以在Keil軟件上使用,增加了串行調(diào)試(SWD)支持,返回時(shí)鐘支持和實(shí)時(shí)代理等功能。
開發(fā)工程師通過結(jié)合使用RealView MDK的調(diào)試器和ULINK2,可以方便的在目標(biāo)硬件上進(jìn)行片上調(diào)試(使用on-chip JTAG,SWD和OCDS)、Flash編程。但是要注意的是,ULINK是KEIL公司開發(fā)的仿真器,專用于KEIL平臺(tái)下使用,ADS、IAR下不能使用。
06 ST-Link仿真器
ST-LINK是專門針對(duì)意法半導(dǎo)體STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM標(biāo)準(zhǔn)接口和JTAG / SWD標(biāo)準(zhǔn)接口,其主要功能有:
· 編程功能:可燒寫FLASH ROM、EEPROM、AFR等;
· 仿真功能:支持全速運(yùn)行、單步調(diào)試、斷點(diǎn)調(diào)試等各種調(diào)試方法,可查看IO狀態(tài),變量數(shù)據(jù)等;
· 仿真性能:采用USB2.0接口進(jìn)行仿真調(diào)試,單步調(diào)試,斷點(diǎn)調(diào)試,反應(yīng)速度快;
· 編程性能:采用USB2.0接口,進(jìn)行SWIM / JTAG / SWD下載,下載速度快;
評(píng)論