1、 文檔目標
對 JTAG 接口有更多的認識,在遇到關于 JTAG 接口問題時有一些排查的思路。
2、 問題場景
在使用調試器過程時,免不了要接觸到 JTAG 接口,當出現連接不上時,就不知道從哪來進行排查。
3、軟硬件環境
1 軟件版本:不涉及
2 電腦環境:不涉及
4、JTAG 接口介紹
1.JTAG 接口定義
JTAG(Joint Test Action Group,聯合測試工作組),是一種國際標準測試協議,用于芯片內部測試。
標準的JTAG接口是4線:TMS模式選擇、TCK時鐘、TDI數據輸入、TDO數據輸出。
也包括一些測試復位,電源,地等
2.JTAG 接口的 10PIN 20PIN 14PIN
3.JTAG 接口作用
JTAG 接口的主要作用有三個,
-
下載,即把程序下載到芯片的 flash 里或者外部存儲器里。
-
調試,實時調試程序的運行,控制程序全速執行,單步,斷點等
-
邊界掃描,獲取芯片內部的信號邏輯狀態及芯片引腳的狀態
4.JTAG 接口復用
在某些芯片上 JTAG 口和其他 GPIO 是復用的,就是在最開始燒寫程序,之后就可以在程序運行的時候占用這個管腳,通常不會這么做,只有考慮成本用更少的芯片引腳時才這樣做。
需要在燒寫程序的時候保證芯片在復位狀態下,然后才能正確識別 JTAG。
5.JTAG 接口問題與排查
1) 在使用 JTAG 調試時,首先要排查的是硬件的連接和供電問題。
例如找不到目標板:
0101FAQ20230816-MDK-J-LINK找不到目標板
2) 另外還有一種是對于實物接口的線序不清楚,
圖 1
如圖 1 ,通常這種排線,紅線為 1 腳,同時在座上可以看到一個倒三角標記,也表示是 1 腳。
圖 2
如圖 2 ,通常這種 排座,也可以看到一個倒三角標記,表示是 1 腳。
確定了 1 腳位置之后,再排查接口的線序是不是正確。
3)再有就是關于接口的上下拉問題。
圖 3
通常是不需要對 JTAG 口進行上拉或下拉的,某些仿真器為了保證初始狀態的確定性會有一些要求,一般參考圖 3
-
其他調試接口
-
SWD
-
串行調試(Serial Wire Debug),需要4個SWDIO和SWCLK 及電源和地(或者5個,增加 SWO)引腳。
SWDIO(Serial Wire Debug Input/Output)是SWD接口中最重要的線之一。它既是數據線,也是控制線。在調試過程中,SWDIO用于傳輸調試信息和數據,同時還負責傳輸控制信號。
SWCLK(Serial Wire Debug Clock)是SWD接口中的時鐘線,用于同步SWDIO線上的數據傳輸。
SWO(Serial Wire Output)是SWD接口中的輸出線,用于將處理器內部的跟蹤信息輸出到外部調試器。
-
Cortex Debug+ETM
ETM指令跟蹤。(TRACEDATA[0..3])上輸出數據,(TRACECLK)用于跟蹤時鐘。
————————————————————————
? 版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。