01 JTAG簡介JTAG(JointTest操作組)是一個接口。
為此接口建立了一個名為JTAG組的組。
它成立于1985年。
1990年,IEEE認為一切都井井有條,因此它發布了IEEE標準1149.1-1990,并將其命名為“標準測試訪問端口和邊界掃描體系結構”。
這就是著名的JTAG。
您知道JTAG的三大功能嗎? 1.下載器,即將軟件下載到FLASH。
2.調試就像醫生的聽診器一樣,可以仔細聆聽芯片內部。
3.邊界掃描,您可以訪問芯片內部的信號邏輯狀態以及芯片引腳的狀態,等等。
JTAG根本沒有標準接口定義,甚至定義因公司而異。
可以在ARM的“系統和接口設計參考”中找到文檔下載地址。
文檔:鏈接:https://pan.baidu.com/s/13aQXOXR73_wiERz2kwN15w提取代碼:xaaf該文檔列出了不同的JTAG接口,我們經常在Internet上閱讀以下圖片是SEGGER的Jlink的JTAG接口。
J-Link是由德國SEGGER公司推出的基于JTAG的仿真器。
簡而言之,它是一個JTAG協議轉換盒,即一個小型USB到JTAG轉換盒,它通過USB接口連接到計算機,并且在目標板上使用了jtag協議。
它已經完成了從軟件到硬件的轉換。
同時,在我看來,Jlink還是最受歡迎的調試器。
根據“系統和接口設計參考”,該ARM官方的JTAG20pin是不同的。
在這里,我希望每個人都了解ARM,Jlink和JTAG之間的關系。
從上面可以看到使用頻率很高的ST-linkV2接口。
這也是ST本身定義的接口,如下所示:Ulink,CMSIS_DAP和其他STM32仿真器是相同的。
02JTAG引入邊界測試:例如,如果您有兩個芯片,則兩個芯片之間連接了許多導線。
如何確保這些電線之間的連接正常?借助JTAG,它可以控制所有IC的引腳。
腳。
這稱為芯片邊界測試。
在JTAG接口中,有四個最常用的信號,即TCK / TMS / TDO / TDI。
JTAG接口可以一對一使用,也可以形成菊花鏈的一對多拓撲結構。
下圖顯示了這兩種拓撲結構。
多核芯片已經以菊花鏈的形式連接在芯片內部。
有很多方法可以使用JTAG菊花鏈。
CPU和FPGA制造商允許將JTAG用于端口調試。
FPGA制造商允許通過JTAG配置FPGA,并使用JTAG信號訪問FPGA內核。
03JTAG和SWD SWD接口:串行調試(SerialWireDebug),應被視為與JTAG不同的調試模式,最直接的體現是在調試接口中,與JTAG的20個引腳相比,SWD僅需4個(或5個)別針。
VCC,SWDIO,SWCLK,GND(在某些情況下,還添加了RESET引腳)。
SWD與傳統調試方法之間的區別:在高速模式下,SWD模式比JTAG更可靠。
在大量數據的情況下,JTAG下載程序將失敗,但是發生SWD的可能性會小得多。
只要您的仿真器支持,在基本使用JTAG仿真模式時就可以直接使用SWD模式,因此建議您使用此模式。
當CPU GPIO不足時,可以使用SWD仿真,此模式支持更少的引腳。
當硬件PCB的尺寸受到限制時,建議使用SWD模式。
它需要更少的引腳,當然,所需的PCB空間也很小。
您可以選擇一個2.54節距的5針小型端子作為仿真接口。
Keil環境中Jlink調試器的JTAG模式和SWD模式IAR環境中Jlink調試器的JTAG模式和SWD模式Jlink JTAG模式和SWD模式的比較圖JTAG引腳描述SWD引腳描述04關于我們上面提到的Vref引腳Vref引腳屬于IO接口的電源域。
目的是使芯片的邏輯電平與調試器的邏輯電平一致,以避免邏輯錯誤,甚至損壞設備。
Jlink上有一個Vref的跳線帽。
三個接頭連接器:①是NC,②是Vref,連接到輸出引腳1,③是3.3V如果您希望Jlink的1引腳Vref輸出3.3V,則可以直接將②和③短路。
05關于TRST引腳JTAG定義中的TRST引腳用于重置TAP控制器。
在STM32系列微控制器中,沒有TRST引腳,名稱為NJTRST。
以STM32F207為例,對JTAG和SWD模式下的NJTRST引腳進行說明。
STM32F207 SWJI / O引腳的可用性06RESET引腳用于一些使用4線SWD模式的STM32產品仿真。
發行版本通常將JTAG端口設置為普通IO,或者因為引腳不夠而將其設置為普通IO。