【正文】
入到 ShiftIR狀態(tài)。 3)由 TCK驅(qū)動,通過 TDI,把需要的數(shù)據(jù)輸入到選定的數(shù)據(jù)寄 存器中,同時把選定的數(shù)據(jù)寄存器中的數(shù)據(jù)通過 TDO讀出來。 通過 TAP接口,對數(shù)據(jù)寄存器進(jìn)行訪問的一般過程是: 1)通過指令寄存器,選定一個需要訪問的數(shù)據(jù)寄存器。 ? 邊界掃描鏈屬于數(shù)據(jù)寄存器的一種,用來實(shí)現(xiàn)對芯片的輸入 /輸出的觀察和控制,而指令寄存器用來實(shí)現(xiàn)對數(shù)據(jù)寄存器的控制。 ? 如果要在芯片的某個管腳上加載一個特定的信號,則首先通過 TDI把期望的信號移位到與相應(yīng)管腳相連的邊界掃描鏈的寄存器單元里,然后把該寄存器單元的值加載到相應(yīng)的芯片管腳。即在芯片 /內(nèi)部邏輯的周圍形成一個邊界掃描鏈( boundaryscan chain)。 ? TAP有 5個接口信號: TCK、 TMS、 TDI、 TDO和 TRST,提供給 JTAG接口。 ? 通過 TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器( DR, data register)和指令寄存器( IR, instruction register)。該信號接口在 IEEE ,并 不是強(qiáng)制要求的。與目標(biāo)板上的系統(tǒng)復(fù)位 信號相連。為了防止誤觸發(fā),應(yīng)在該端加適 當(dāng)上拉電阻。 TRST可以用來對 TAP Controller進(jìn)行復(fù)位(初始化)即 JTAG復(fù)位。 TDO在 IEEE 是強(qiáng)制要求的。 TDO是數(shù)據(jù)輸出的接口。 TDI在 IEEE 。 TDI是數(shù)據(jù)輸入接口。 TMS在 IEEE 。 TMS信號用來控制 TAP狀態(tài)機(jī)的轉(zhuǎn)換,通過 TMS信號,可以控制 TAP在不同的狀 態(tài)間相互轉(zhuǎn)換。 TCK在 IEEE 。 JTAG接口 的 6個主要信號 : 1) Test Clock Input( TCK)。 v 測試單個單元的功能。 邊界掃描機(jī)制主要的思想是:通過在內(nèi)部邏輯之間,即在 內(nèi)部邏輯的邊界上增加串行的可讀寫的邊界掃描單元,從而提 供芯片級、板級、系統(tǒng)級的標(biāo)準(zhǔn)測試框架。 1990年 IEEE組織將這些草案標(biāo)準(zhǔn)化,并命名為 IEEE ,俗稱 JTAG調(diào)試標(biāo)準(zhǔn)。 ? 因此,可以把 ARM嵌入式開發(fā)工具分為上層裝在計(jì)算機(jī)中的開發(fā)工具、中間的連接裝置和下層的 ARM芯片本身具有的支持嵌入式開發(fā)的工具。嵌入式系統(tǒng)設(shè)計(jì)與開發(fā) 第 9章 ARM嵌入式開發(fā)工具 本章提要 ARM下層開發(fā)工具 ARM開發(fā)工具概述 ARM的 ADS Embest IDE的介紹 ARM下層開發(fā)工具 ? 由于程序的編譯環(huán)境和運(yùn)行環(huán)境不同,所以 ARM嵌入式開發(fā)采用交叉編譯方法進(jìn)行。 ? 首先,在通用計(jì)算機(jī)上對源程序進(jìn)行編寫、編譯、匯編、連接形成可以在目標(biāo)系統(tǒng)上運(yùn)行的目標(biāo)文件;接著,通過連接 /調(diào)試裝置將目標(biāo)文件下載到目標(biāo)系統(tǒng)上運(yùn)行;源程序在目標(biāo)系統(tǒng)上運(yùn)行的情況連接裝置在計(jì)算機(jī)中反映出來,開發(fā)人員通過反映出的情況根據(jù)開發(fā)項(xiàng)目的需要進(jìn)行相應(yīng)的修改并重復(fù)上述操作直至達(dá)到項(xiàng)目開發(fā)預(yù)期結(jié)果。 ARM 嵌入式系統(tǒng)實(shí)時開發(fā)組織結(jié)構(gòu)圖 JTAG TAP 控制器Em be dde d IC EETMAR M 核JTAG端口跟蹤端口Em be dde dICE控制器跟蹤端口分析器計(jì)算機(jī)Addre ss B usC o n t r o l B u s掃描鏈掃描鏈掃描鏈Da ta B us JTAG接口 JTAG接口標(biāo)準(zhǔn)是由測試聯(lián)合行動組( joint test action group)于 1986~1988年推出的基于邊界掃描機(jī)制的標(biāo)準(zhǔn)化草 案。 JTAG除了實(shí)現(xiàn)通常意義上 的調(diào)試功能外,還可實(shí)現(xiàn)代碼下載或單步執(zhí)行程序等功能。邊界掃描機(jī)制可以 實(shí)現(xiàn)下列目標(biāo): v 測試不同單元之間的連接。 v 應(yīng)用邊界掃描寄存器完成其他測 試功能,如偽隨機(jī)測試、特征分 析和靜態(tài)測試等。 TCK為 TAP的操作提供了一個 獨(dú)立的、基本的時鐘信號, TAP的所有操作都是通過這個時鐘 信號來驅(qū)動的。 2) Test Mode Selection Input( TMS)。 TMS信號在 TCK的上升沿有效。 3) Test Data Input( TDI)。所有要輸 入到特定寄存器的數(shù)據(jù)都是通過 TDI接口一位一位串行輸入的 (由 TCK驅(qū)動)。 4) Test Data Output( TDO)。所有 要從特定邊界掃描鏈采樣的保存在寄存器中的數(shù)據(jù)都是通過 TDO接口一位一位串行輸出的(由 TCK驅(qū)動);在芯片串行測 試時,將數(shù)據(jù)傳送給下一個芯片。 5) Test Reset Input( TRST/nTRST)。該信號接口 在 IEEE ,因?yàn)橥ㄟ^ TMS也可以對 TAP Controller進(jìn)行復(fù)位 /初始化。 6) System Reset( nSRST/SRST)??梢灾苯訉δ繕?biāo)系統(tǒng)復(fù)位,同時可以檢測目標(biāo)系統(tǒng) 的復(fù)位情況。 20針 JTAG接口信號 V CC GND GND GND GND GND GND GND GND GND V CC nTR ST TD I TMS TC K R TC K TD O nSRS T NC NC 1 3 5 7 9 11 13 15 17 19 2 4 6 8 10 12 14 16 18 20 20針 JTAG接口連接 G N D G N D VDD J T A G 2 0 R R R R R R R R R T D O T CK T MS T D I n T RS T n RE SE T 1 3 5 7 9 11 13 15 17 19 2 4 6 8 10 12 14 16 18 20 JTAG TAP ? JTAG測試訪問端口 JTAG TAP是一個通用端口,是外部JTAG接口連接芯片的通道,由 JTAG TAP控制器和掃描鏈構(gòu)成。 ? 對整個 TAP的控制是通過 TAP Controller完成的。 ? 掃描鏈?zhǔn)怯煽拷酒妮斎?/輸出管腳上各增加一個用于實(shí)現(xiàn)對芯片輸入 /輸出信號進(jìn)行觀察和控制的移位寄存器單元,相互連接構(gòu)成。 ? 如果需要捕獲芯片某個管腳上的輸出,首先需要把該管腳上的輸出裝載到邊界掃描鏈的寄存器單元里,然后通過 TDO輸出,得到相應(yīng)管腳的輸出信號。 ? 在 IEEE ,寄存器分為兩大類:數(shù)據(jù)寄存器DR和指令寄存器 IR。 ? 如在芯片提供的所有邊界掃描鏈中選擇一條指定的邊界掃描鏈作為當(dāng)前的目標(biāo)掃描鏈,并作為訪問對象就是由相應(yīng)指令寄存器完成的。 2)把選定的數(shù)據(jù)寄存器連接到 TDI和 TDO之間。 JTAG TAP 控制器狀態(tài)轉(zhuǎn)換圖 T es t L o g i c Res et O x F t ms = 1 t ms = 0 t ms = 0 t ms = 1 t ms = 1 t ms = 0 t ms = 1 t ms = 0 t ms = 1 t ms = 1 t ms = 0 t ms = 0 t ms = 0 t ms = 1 t ms = 0 t ms = 1 t ms = 1 t ms = 0 t ms = 0 t ms = 1 t ms = 1 t ms = 1