1、 文檔目標(biāo)
對(duì) JTAG 接口有更多的認(rèn)識(shí),在遇到關(guān)于 JTAG 接口問題時(shí)有一些排查的思路。
2、 問題場(chǎng)景
在使用調(diào)試器過程時(shí),免不了要接觸到 JTAG 接口,當(dāng)出現(xiàn)連接不上時(shí),就不知道從哪來進(jìn)行排查。
3、軟硬件環(huán)境
1 )、軟件版本:不涉及
2 )、電腦環(huán)境:不涉及
4、JTAG 接口介紹
1. JTAG 接口定義
JTAG(Joint Test Action Group,聯(lián)合測(cè)試工作組),是一種國際標(biāo)準(zhǔn)測(cè)試協(xié)議,用于芯片內(nèi)部測(cè)試。
標(biāo)準(zhǔn)的JTAG接口是4線:TMS模式選擇、TCK時(shí)鐘、TDI數(shù)據(jù)輸入、TDO數(shù)據(jù)輸出。
也包括一些測(cè)試復(fù)位,電源,地等。
2. JTAG 接口的 10PIN 20PIN 14PIN

3. JTAG 接口作用
JTAG 接口的主要作用有三個(gè),
a. 下載,即把程序下載到芯片的 flash 里或者外部存儲(chǔ)器里。
b. 調(diào)試,實(shí)時(shí)調(diào)試程序的運(yùn)行,控制程序全速執(zhí)行,單步,斷點(diǎn)等。
c. 邊界掃描,獲取芯片內(nèi)部的信號(hào)邏輯狀態(tài)及芯片引腳的狀態(tài)。
4. JTAG 接口復(fù)用
在某些芯片上 JTAG 口和其他 GPIO 是復(fù)用的,就是在最開始燒寫程序,之后就可以在程序運(yùn)行的時(shí)候占用這個(gè)管腳,通常不會(huì)這么做,只有考慮成本用更少的芯片引腳時(shí)才這樣做。
需要在燒寫程序的時(shí)候保證芯片在復(fù)位狀態(tài)下,然后才能正確識(shí)別 JTAG。
5. JTAG 接口問題與排查
1)、在使用 JTAG 調(diào)試時(shí),首先要排查的是硬件的連接和供電問題。
例如找不到目標(biāo)板:
https://alidocs.dingtalk.com/i/nodes/ZgpG2NdyVXrKBv1YTRqRwqp48MwvDqPk?doc_type=wiki_doc#
2)、另外還有一種是對(duì)于實(shí)物接口的線序不清楚,如圖 1 ,通常這種排線,紅線為 1 腳,同時(shí)在座上可以看到一個(gè)倒三角標(biāo)記,也表示是 1 腳。

圖 1
如圖 1 ,通常這種排線,紅線為 1 腳,同時(shí)在座上可以看到一個(gè)倒三角標(biāo)記,也表示是 1 腳。

圖 2
如圖 2 ,通常這種排座,也可以看到一個(gè)倒三角標(biāo)記,表示是 1 腳。確定了 1 腳位置之后,再排查接口的線序是不是正確。
3)、再有就是關(guān)于接口的上下拉問題。

圖 3
通常是不需要對(duì) JTAG 口進(jìn)行上拉或下拉的,某些仿真器為了保證初始狀態(tài)的確定性會(huì)有一些要求,一般參考圖 3。
6. 其他調(diào)試接口
a. SWD
串行調(diào)試(Serial Wire Debug),需要4個(gè)SWDIO和SWCLK 及電源和地(或者5個(gè),增加 SWO)引腳。
SWDIO(Serial Wire Debug Input/Output)是SWD接口中最重要的線之一。它既是數(shù)據(jù)線,也是控制線。在調(diào)試過程中,SWDIO用于傳輸調(diào)試信息和數(shù)據(jù),同時(shí)還負(fù)責(zé)傳輸控制信號(hào)。
SWCLK(Serial Wire Debug Clock)是SWD接口中的時(shí)鐘線,用于同步SWDIO線上的數(shù)據(jù)傳輸。
SWO(Serial Wire Output)是SWD接口中的輸出線,用于將處理器內(nèi)部的跟蹤信息輸出到外部調(diào)試器。
b. Cortex Debug+ETM

ETM指令跟蹤。(TRACEDATA[0..3])上輸出數(shù)據(jù),(TRACECLK)用于跟蹤時(shí)鐘。

首頁 > 資源中心 > FAQ
