关于JTAG——韦东山嵌入式Linux视频学习笔记02
1. JTAG的字面意思
JTAG ——Joint Test Action Group,聯合測試行動組。
2. JTAG標準
隨著技術的發展,芯片的結構和功能越來越復雜,傳統的使用萬用表、示波器測試芯片
的“探針”方法已不能滿足要求。在這種背景下 ,早在20世紀80年代 ,聯合測試行動組(簡稱JTAG)起草了邊界掃描測試規范 , 后來在1990年被批準為IEEE標準1149. 121990規定,簡稱JTAG標準。
3. JTAG引腳定義
具有JTAG接口的芯片都有如下JTAG引腳定義:
- TDI(測試數據輸入)
- TDO(測試數據輸出)
- TCK(測試時鐘)
- TMS(測試模式選擇)
- TRST(測試復位),可選
4. JTAG的用途
JTAG最初是用來對芯片進行測試的;如今,JTAG接口還用于實現ISP(In-System Programmer,在系統編程),對FLASH等器件進行編程。
5. JTAG測試芯片的原理——邊界掃描
邊界掃描技術的基本思想是在靠近芯片的輸入輸出管腳上增加一個移位寄存器單元。因為這些移位寄存器單元都分布在芯片的邊界上,所以被稱為邊界掃描寄存器(Boundary-Scan Register Cell)。當芯片處于調試狀態的時候,這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來。通過這些邊界掃描寄存器單元,就可以實現對芯片輸入輸出信號的觀察和控制。
對于芯片的輸入管腳,可以通過與之相連的邊界掃描寄存器單元把信號(數據)加載到該管腳中去;對于芯片的輸出管腳,也可以通過與之相連的邊界掃描寄存器“捕獲”該管腳上的輸出信號。
在正常的運行狀態下,這些邊界掃描寄存器對芯片來說是透明的,所以芯片的正常運行不會受到任何影響。
另外,芯片輸入輸出管腳上的邊界掃描寄存器單元可以相互連接起來,在芯片的周圍形成一個邊界掃描鏈(Boundary-Scan Chain)。一般的芯片都會提供幾條獨立的邊界掃描鏈,用來實現完整的測試功能。
一句話概括,JTAG測試芯片的原理是:利用邊界掃描鏈對芯片的輸入輸出進行觀察和控制。
6. 為什么JTAG可以燒寫Flash
一般來說,CPU通過地址總線、數據總線、片選、讀寫控制與外部Flash物理相連。當CPU對外部Flash進行操作時,將程序員給出的地址和數據通過系統總線送出,同時使對應的控制信號有效,由此完成操作。利用JTAG的特殊結構,只要把對Flash操作所需要的地址、數據、控制信號,從TDI串行輸入,鎖存到對應引腳的邊界掃描單元,更新引腳狀態,最后輸出即可。同樣,引腳也可以把從Flash接收到的數據或信號鎖存到內部掃描單元,然后從TDO串行輸出到系統以外的測試設備。
以前是通過CPU的內部邏輯控制控制Flash,而現在是由外部測試設備通過JTAG直接對CPU的引腳進行控制(設置電平的高低),進而控制Flash. 可以說,JTAG是通過在CPU相關引腳上模擬出讀寫時序,以往Flash里面寫數據。
7. JTAG接口與PC的連接
ARM芯片上有若干根引腳可擴展成標準JTAG接口,如S3C2440的五根引腳:nTRST、TMS、TCK、TDI、TDO,可以擴展成20針(也有14針、10針、8針等)的JTAG接口。韋東山的JZ2440開發板,上面就有一個20針JTAG接口。
要調試板子,PC端肯定要有一個調試軟件;另外板子的JTAG口要和PC連起來。韋東山的視頻介紹了兩種方法:
(1)JTAG口通過一個轉接板(主要用于JTAG信號線的電平轉換)和PC的并口連接。
(2)JTAG口通過一個比轉接板復雜的裝置(比如Open JTAG,或者J-link等)和PC的USB口連接。
對于現在的筆記本電腦,沒有并口。所以,最常規的方法就是(2)。可以說,Open JTAG或者J-link,它們都實現了USB轉JTAG協議的功能。
8. JTAG調試器算不算ARM仿真器?
我認為,仿真器是可以仿真目標CPU的一臺設備,可以完全取代目標板上的CPU,且可以提供更加深入的調試功能。比如說程序員可以通過仿真器設置斷點、設置條件斷點、監視內存內容等。
而JTAG則是一個通用的調試接口?,F在有些廠商的廣告,將JTAG調試器也叫做ARM仿真器,這有誤導之嫌。其實Open JTAG、J-link等東西的本質是在PC和板子上的JTAG接口之間建立一個數據通路,它并不能仿真什么。
參考資料
【1】百度百科
【2】維基百科
【3】http://nancy.spaces.eepw.com.cn/articles/trackback/item/16322
【4】http://www.360doc.com/content/17/0422/20/42222087_647701392.shtml
總結
以上是生活随笔為你收集整理的关于JTAG——韦东山嵌入式Linux视频学习笔记02的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求矩阵中各列数字的和
- 下一篇: yii2通过url访问类中的方法_行为型