EJTAG

EJTAG

EJTAG(Enhanced Joint Test Action Group)是MIPS公司根據IEEE 1149.1協定的基本構造和功能擴展而制定的規範,是一個硬體/軟體子系統,在處理器內部實現了一套基於硬體的調試特性,用於支持片上調試。

基本介紹

  • 中文名:Enhanced Joint Test Action Group
  • 簡稱:EJTAG
  • 開發公司:MIPS
  • 類型:硬體/軟體子系統
組成,工作機制,

組成

所有MIPS的微處理器或是包含MIPS核的SoC晶片組件均提供對EJTAG調試的支持。EJTAG接口利用JTAG的TAP(Test Access Port)訪問方式,將測試數據傳入或者傳出處理器核。EJTAG可實現的功能包括:訪問處理器的暫存器、訪問系統記憶體空間、設定軟體/硬體斷點、單步/多步執行等。如圖1所示,EJTAG調試功能模組由4部分組成:CPU核內部的組件擴展,硬體斷點單元,調試控制暫存器(DCR)以及TAP接口。

工作機制

處理器在某個調試例外(debug exception,如單步運行斷點等)產生以後,進入到調試模式(debug mode),直到DERET指令執行以後從調試模式退出來。在這段時間裡,處理器執行調試例外處理過程。在調試例外處理過程中,調試軟體通過對TAP處理器的訪問操作,實現了對普通暫存器的訪問、協處理器的訪問、系統記憶體空間的訪問等功能。系統退出調試模式以後允許應用程式或是系統代碼繼續執行,直到遇到下一個調試例外
體系結構的設計上,EJTAG並不需要與CPU緊密結合,但CPU必須提供調試暫存器、進入調試模式和在調試模式下執行指令的能力,更重要的是調試例外的優先權必須高於其他處理器的例外(exception)。EJTAG調試是通過處理器的調試例外來實現的,調試例外將CPU從非調試模式(non-debug mode)轉到調試模式。在調試模式下也可以再發生調試例外,這種例外就叫做“調試模式例外(debug mode exception)”。
MIPS 4KC處理器提供的調試例外如表1所列。
當CPU執行了軟體斷點指令(SDBBP),或者發生了單步調試,或者在EJTAG迴路中產生了JtagBrk調試事件,或者發生了硬體斷點時,CPU就會產生調試例外。SDBBP是一個標準的MIPS指令集指令,軟體斷點的設定就是調試軟體通過把正常的應用程式代碼替換成軟體斷點指令來實現的。EJTAG支持指令斷點和數據斷點兩種類型的硬體斷點,指令斷點發生在處理器取指過程中,數據斷點發生載入/存儲傳輸過程中,它們可以設定在任何地址空間中,包括不能被改寫的ROM空間。調試例外發生後,CPU首先禁止地址錯誤異常和中斷異常,然後轉向調試例外處理程式的執行。調試例外處理程式是由調試軟體通過與TAP處理器的配合,利用EJTAG接口實現的。在調試模式下,CPU仍能夠正常地訪問協處理器和系統記憶體空間等處理器資源。

相關詞條

熱門詞條

聯絡我們