ARM菜鳥(niǎo):JLINK與JTAG的區別

發(fā)布時(shí)間:2013-3-29 00:21    發(fā)布者:1770309616
關(guān)鍵詞: ARM , JLINK , JTAG

  調試ARM,要遵循ARM的調試接口協(xié)議,JTAG就是其中的一種。當仿真時(shí),IAR、KEIL、ADS等都有一個(gè)公共的調試接口,RDI就是其中的一種,那么我們如何完成RDI-->ARM調試協(xié)議(JTAG)的轉換呢?有以下兩種做法:

  1.在電腦上寫(xiě)一個(gè)服務(wù)程序,把IAR、KEIL和ADS中的RDI命令解析成相關(guān)的JTAG協(xié)議,然后通后一個(gè)物理轉換接口(注意,這個(gè)轉換只是電氣物理層上的轉換,就像RS232那樣的作用)發(fā)送你的的目標板。H-JTAG就是這樣的。H-JTAG的硬件就僅是一個(gè)物理電平的轉換接口,所以很簡(jiǎn)單。而電腦中裝的h-JTAG軟件就是前面說(shuō)到的服務(wù)程序,負責協(xié)議轉換的。

  2.做一個(gè)板,用此板直接接收來(lái)自IAR、KEIL和ADS等軟件的調試命令,由此板做RDI->JTAG協(xié)議的轉換。然后與目標板通信,這就是JLINK的工作原理。

  由上可以看出H-JTAG由于是軟件作協(xié)議轉換的,所以速度較慢,但是硬件簡(jiǎn)單。而第二種方法的JLINK一般帶一個(gè)強勁的CPU,作硬件協(xié)議轉換,把以硬件復雜,但速度快。

  JTAG的基本原理

  JTAG(JointTestActionGroup,聯(lián)合測試行動(dòng)組)是一種國際標準測試協(xié)議(IEEE1149.1兼容)。標準的JTAG接口是4線(xiàn)——TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數據輸入和數據輸出線(xiàn)。

  JTAG的主要功能有兩種,或者說(shuō)JTAG主要有兩大類(lèi):

  1)一類(lèi)用于測試芯片的電氣特性,檢測芯片是否有問(wèn)題;

  2)另一類(lèi)用于Debug,對各類(lèi)芯片以及其外圍設備進(jìn)行調試;一個(gè)含有JTAGDebug接口模塊的CPU,只要時(shí)鐘正常,就可以通過(guò)JTAG接口訪(fǎng)問(wèn)CPU的內部寄存器、掛在CPU總線(xiàn)上的設備以及內置模塊的寄存器。本文主要介紹的是Debug功能。

   JTAG原理分析

  簡(jiǎn)單地說(shuō),JTAG的工作原理可以歸結為:在器件內部定義一個(gè)TAP(TestAccessPort,測試訪(fǎng)問(wèn)口),通過(guò)專(zhuān)用的JTAG測試工具對內部節點(diǎn)進(jìn)行測試和調試。首先介紹一下邊界掃描和TAP的基本概念和內容。

  邊界掃描

  邊界掃描(Boundary-Scan)技術(shù)的基本思想是在靠近芯片的輸入/輸出引腳上增加一個(gè)移位寄存器單元,也就是邊界掃描寄存器(Boundary-ScanRegister)。

  當芯片處于調試狀態(tài)時(shí),邊界掃描寄存器可以將芯片和外圍的輸入/輸出隔離開(kāi)來(lái)。通過(guò)邊界掃描寄存器單元,可以實(shí)現對芯片輸入/輸出信號的觀(guān)察和控制。對于芯片的輸入引腳,可以通過(guò)與之相連的邊界掃描寄存器單元把信號(數據)加載到該引腳中去;對于芯片的輸出引腳,也可以通過(guò)與之相連的邊界掃描寄存器“捕獲”該引腳上的輸出信號。在正常的運行狀態(tài)下,邊界掃描寄存器對芯片來(lái)說(shuō)是透明的,所以正常的運行不會(huì )受到任何影響。這樣,邊界掃描寄存器提供了一種便捷的方式用于觀(guān)測和控制所需調試的芯片。另外,芯片輸入/輸出引腳上的邊界掃描(移位)寄存器單元可以相互連接起來(lái),在芯片的周?chē)纬梢粋(gè)邊界掃描鏈(Boundary-ScanChain)。邊界掃描鏈可以串行地輸入和輸出,通過(guò)相應的時(shí)鐘信號和控制信號,就可以方便地觀(guān)察和控制處在調試狀態(tài)下的芯片。

  測試訪(fǎng)問(wèn)口TAP 

   TAP(TestAccessPort)是一個(gè)通用的端口,通過(guò)TAP可以訪(fǎng)問(wèn)芯片提供的所有數據寄存器(DR)和指令寄存器(IR)。對整個(gè)TAP的控制是通過(guò)TAP控制器(TAPController)來(lái)完成的。下面先分別介紹一下TAP的幾個(gè)接口信號及其作用。其中,前4個(gè)信號在IEEE1149.1標準里是強制要求的。

  TCK:時(shí)鐘信號,為T(mén)AP的操作提供了一個(gè)獨立的、基本的時(shí)鐘信號。

  TMS:模式選擇信號,用于控制TAP狀態(tài)機的轉換。

  TDI:數據輸入信號。

  TDO:數據輸出信號。

  TRST:復位信號,可以用來(lái)對TAPController進(jìn)行復位(初始化)。這個(gè)信號接口在IEEE1149.1標準里并不是強制要求的,因為通過(guò)TMS也可以對TAPController進(jìn)行復位。

  STCK:時(shí)鐘返回信號,在IEEE1149.1標準里非強制要求。

  簡(jiǎn)單地說(shuō),PC機對目標板的調試就是通過(guò)TAP接口完成對相關(guān)數據寄存器(DR)和指令寄存器(IR)的訪(fǎng)問(wèn)。

  系統上電后,TAPController首先進(jìn)入Test-LogicReset狀態(tài),然后依次進(jìn)入Run-Test/Idle、Selcct-DR-Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR狀態(tài),最后回到Run-Tcst/Idle狀態(tài)。在此過(guò)程中,狀態(tài)的轉移都是通過(guò)TCK信號進(jìn)行驅動(dòng)(上升沿),通過(guò)TMS信號對TAP的狀態(tài)進(jìn)行選擇轉換的。其中,在Capture-IR狀態(tài)下,一個(gè)特定的邏輯序列被加載到指令寄存器中;在Shift-IR狀態(tài)下,可以將一條特定的指令送到指令寄存器中;在Update—IR狀態(tài)下,剛才輸入到指令寄存器中的指令將用來(lái)更新指令寄存器。最后,系統又回到Run—Test/Idle狀態(tài),指令生效,完成對指令寄存器的訪(fǎng)問(wèn)。當系統又返回到Run—Test/Idle狀態(tài)后,根據前面指令寄存器的內容選定所需要的數據寄存器,開(kāi)始執行對數據寄存器的工作。其基本原理與指令寄存器的訪(fǎng)問(wèn)完全相同,依次為seIect—DR—Scan、Capture—DR、Shift—D、Exitl一DR、Update—DR,最后回到Run-Tcst/Idle狀態(tài)。通過(guò)TDl和TDO,就可以將新的數據加載到數據寄存器中。經(jīng)過(guò)一個(gè)周期后,就可以捕獲數據寄存器中的數據,完成對與數據寄存器的每個(gè)寄存器單元相連的芯片引腳的數據更新,也完成了對數據寄存器的訪(fǎng)問(wèn)。

  目前,市場(chǎng)上的JTAG接口有14引腳和20引腳兩種。其中,以20引腳為主流標準,但也有少數的目標板采用14引腳。經(jīng)過(guò)簡(jiǎn)單的信號轉換后,可以將它們通用。(CSDN)

本文地址:http://selenalain.com/thread-112770-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页