1 EJTAG工作機制及實現
1.1 EJTAG組成
所有MIPS的微處理器或是包含MIPS核的SoC晶片組件均提供對EJTAG調試的支持。EJTAG接口利用JTAG的TAP(Test Access Port)訪問方式,將測試數據傳入或者傳出處理器核。EJTAG可實現的功能包括:訪問處理器的暫存器、訪問系統記憶體空間、設定軟體/硬體斷點、單步/多步執行等。如圖1所示,EJTAG調試功能模組由4部分組成:CPU核內部的組件擴展,硬體斷點單
元,調試控制暫存器(DCR)以及TAP接口。
1.2 EJTAG工作機制
處理器在某個調試例外(debug exception,如單步運行、斷點等)產生以後,進入到調試模式(debug mode),直到DERET指令執行以後從調試模式退出來。在這段時間裡,處理器執行調試例外處理過程。在調試例外處理過程中,調試軟體通過對TAP處理器的訪問操作,實現了對普通暫存器的訪問、協處理器的訪問、系統記憶體空間的訪問等功能。系統退出調試模式以後允許應用程式或是系統代碼繼續執行,直到遇到下一個調試例外。重複以上過程,EJTAG實現了單步運行或者多步運行等調試功能。
1.2.1 調試例外
在體系結構的設計上,EJTAG並不需要與CPU緊密結合,但CPU必須提供調試暫存器、進入調試模式和在調試模式下執行指令的能力,更重要的是調試例外的優先權必須高於其他處理器的例外(exception)。EJTAG調試是通過處理器的調試例外來實現的,調試例外將CPU從非調試模式(non-debug mode)轉到調試模式。在調試模式下也可以再發生調試例外,這種例外就叫做“調試模式例外(debuIg mode exception)”。
MIPS 4KC處理器提供的調試例外如表1所列。
當CPU執行了軟體斷點指令(SDBBP),或者發生了單步調試,或者在EJTAG迴路中產生了JtagBrk調試事件,或者發生了硬體斷點時,CPU就會產生調試例外。SDBBP是一個標準的MIPS指令集指令,軟體斷點的設定就是調試軟體通過把正常的應用程式代碼替換成軟體斷點指令來實現的。EJTAG支持指令斷點和數據斷點兩種類型的硬體斷點,指令斷點發生在處理器取指過程中,數據斷點發生載入/存儲傳輸過程中,它們可以設定在任何地址空間中,包括不能被改寫的ROM空間。調試例外發生後,CPU首先禁止地址錯誤異常和中斷異常,然後轉向調試例外處理程式的執行。調試例外處理程式是由調試軟體通過與TAP處理器的配合,利用EJTAG接口實現的。在調試模式下,CPU仍能夠正常地訪問協處理器和系統記憶體空間等處理器資源。
相關詞條
-
龍芯
簡介龍芯2001年5月,在中科院計算所知識創新工程的支持下,龍芯課題組正式成立。2002年8月10日,首片龍芯1號晶片X1A50...
簡介 自主性 研製年譜 三個系列 產品架構 -
龍芯CPU
關係可配置IEEE754兼容FPU可配置MMX部件可配置EJTAG接口...,JAVA)增加對多核的支持SOC開發平台提供基於EJTAG的IDE提供ISS...
-
中國龍芯
簡介 目前中科院有研發以龍芯為處理器的超級計算機計畫。國產CPU,2002年8月10日,首片龍芯1號晶片X1A50流片成功....
簡介 龍芯架構 研製年譜 龍芯三代簡介 龍芯的產品 -
龍芯CPUIP
▲ 線上調試、跟蹤 ◆ EJTAG仿真器: ▲ USB1.1下載...
-
嵌入式微控制器與處理器設計
6.6.1soc軟體調試 6.6.2核心調試 6.6.3jtag/EJTAG...
基本信息 內容簡介 目錄 -
MIPS體系結構與編程
EJTAG與調試 11.2 調試模式 11.3 調試異常 第...
圖書信息 內容簡介 目錄 -
MIPS架構
系統集成任務,MIPS32標準定義EJTAG(增強型JTAG)選項功能...
基本特點 體系分類 發展歷史