MXT0106處理器調試環(huán)境的設計與實現
引言
隨著軟件開發(fā)規(guī)模的不斷擴大,調試工具在軟件開發(fā)中的作用顯得越來越重要。針對嵌入式處理器的調試環(huán)境的搭建有很多的方法,包括在線仿真器、ROM(只讀存儲器)仿真器及類似于調試支持單元(Debug Support Unit,簡稱DSU)的硬件調試,而GDB(GNU的軟件調試器)完全是通過軟件方式實現調試。
本文針對國產SPARC v8處理器,設計實現了其基于處理器硬件調試機制的GDB調試環(huán)境。
調試環(huán)境的硬件基礎
MXT0106是北京時代民芯公司設計的一款SPARC V8體系結構的嵌入式處理器,具有非常豐富的外設接口,只需加上存儲器和應用相關的外圍電路,就可以構成完整的單板計算機系統(tǒng)。
它具有片內硬件調試功能,可以輔助軟件在目標硬件上進行調試。該部分功能包括兩個模塊:調試支持單元(DSU)和調試通訊連接模塊(如圖1所示)。對這兩個模塊的理解和使用,是開發(fā)調試環(huán)境的基礎。
調試支持單元
調試支持單元(DSU)可以通過任何在內部總線上的主設備來調試處理器。通過DSU將處理器置于調試模式(進入調試模式時流水線凍結),允許從外部調試處理器。DSU主設備在內部總線上占有一個地址空間,通過這個地址空間,可以訪問處理器的寄存器和跟蹤緩沖區(qū)的內容,CPU內部的所有寄存器、cache(緩存)在總線上都有映射的空間,調試時直接由DSU按地址訪問。用戶也可以調試和/或從中斷的位置重新執(zhí)行。
DSU還有兩個斷點寄存器來匹配任何內部的總線地址或者執(zhí)行的指令。
DSU通訊連接
DSU通訊連接包含一個串口,該串口在內部總線上作為一個主設備。該串口支持簡單的通信協(xié)議傳輸訪問參數和數據。連接命令由一個控制字節(jié)、32位地址和可選的寫入數據組成。數據以8位為基礎進行發(fā)送:包括一個起始位、8位數據位和一個停止位。
通過通訊鏈路,可以對內部總線上任何地址進行讀/寫操作。通過設置長度字段為n-1(其中n標明傳輸字的長度),可以進行塊傳輸。其協(xié)議格式如圖2。
評論