JTAG協議
JTAG(Joint Test Action Group,聯合測試行動小組)是一種國際標准測試協議(IEEE 1149.1兼容),主要用於芯片內部測試。現在多數的高級器件都支持JTAG協議,如ARM、DSP、FPGA器件等。標准的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鍾、數據輸入和數據輸出線。 相關JTAG引腳的定義為:
TMS:測試模式選擇,TMS用來設置JTAG接口處於某種特定的測試模式;
TCK:測試時鍾輸入;
TDI:測試數據輸入,數據通過TDI引腳輸入JTAG接口;
TDO:測試數據輸出,數據通過TDO引 腳從JTAG接口輸出;
JTAG協議在定義時,由於當時的計算機(PC機)普遍帶有並口,因而在連接計算機端是定義使用的並口。而計算機到了今天,不要說筆記本電腦,現在台式計算機上面有並口的都很少了,取而代之的是越來越多的USB接口。所以,目前市場上已經很少看到它的身影了。
SWD接口
串行調試(Serial Wire Debug),應該可以算是一種和JTAG不同的調試模式,使用的調試協議也應該不一樣,所以最直接的體現在調試接口上,與JTAG的20個引腳相比,SWD只需要4個(或者5個)引腳,結構簡單,但是使用范圍沒有JTAG廣泛,主流調試器上也是后來才加的SWD調試模式。
SWD和傳統的調試方式區別:
SWD模式比JTAG在高速模式下面更加可靠。在大數據量的情況下面JTAG下載程序會失敗,但是SWD發生的幾率會小很多。基本使用JTAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個模式。
在大家GPIO剛好缺一個的時候,可以使用SWD仿真,這種模式支持更少的引腳。
在大家板子的體積有限的時候推薦使用SWD模式,它需要的引腳少,當然需要的PCB空間就小啦!比如你可以選擇一個很小的2.54間距的5芯端子做仿真接口。
JLink仿真器
J-Link是德國SEGGER公司推出基於JTAG的仿真器。簡單地說,是給一個JTAG協議轉換盒,即一個小型USB到JTAG的轉換盒,其連接到計算機用的是USB接口,而到目標板內部用的還是jtag協議。它完成了一個從軟件到硬件轉換的工作。
JLINK是一個通用的開發工具,可以用於KEIL、IAR、ADS 等平台。速度,效率,功能都很好,據說是眾多仿真器里最強悍的。
ULink仿真器
ULINK是ARM/KEIL公司推出的仿真器,目前網上可找到的是其升級版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil軟件實現仿真功能,並且僅可以在Keil軟件上使用,增加了串行調試(SWD)支持,返回時鍾支持和實時代理等功能。開發工程師通過結合使用RealView MDK的調試器和ULINK2,可以方便的在目標硬件上進行片上調試(使用on-chip JTAG,SWD和OCDS)、Flash編程。
但是要注意的是,ULINK是KEIL公司開發的仿真器,專用於KEIL平台下使用,ADS、IAR下不能使用。
ST-Link仿真器
ST-LINK是專門針對意法半導體STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM標准接口和JTAG / SWD標准接口,其主要功能有:
編程功能:可燒寫FLASH ROM、EEPROM、AFR等;
仿真功能:支持全速運行、單步調試、斷點調試等各種調試方法,可查看IO狀態,變量數據等;
仿真性能:采用USB2.0接口進行仿真調試,單步調試,斷點調試,反應速度快;
編程性能:采用USB2.0接口,進行SWIM / JTAG / SWD下載,下載速度快;
轉自:https://blog.csdn.net/LEON1741/article/details/72846434