引言
隨著軟件開發規模的不斷擴大,調試工具在軟件開發中的作用顯得越來越重要。針對嵌入式處理器的調試環境的搭建有很多的方法,包括在線仿真器、ROM(只讀存儲器)仿真器及類似于調試支持單元(Debug SupportUnit,簡稱DSU)的硬件調試,而GDB(GNU的軟件調試器)完全是通過軟件方式實現調試。
本文針對國產SPARC,v8處理器,設計實現了其基于處理器硬件調試機制的GDB調試環境。
調試環境的硬件基礎
MXT01 06是北京時代民芯公司設計的一款SPARC V8體系結構的嵌入式處理器,具有非常豐富的外設接口,只需加上存儲器和應用相關的外圍電路,就可以構成完整的單板計算機系統。
它具有片內硬件調試功能,可以輔助軟件在目標硬件上進行調試。該部分功能包括兩個模塊:調試支持單元(DSU)和調試通訊連接模塊(如圖1所示)。對這兩個模塊的理解和使用,是開發調試環境的基礎。
調試支持單元
調試支持單元(DSU)可以通過任何在內部總線上的主設備來調試處理器。通過DSU將處理器置于調試模式(進入調試模式時流水線凍結),允許從外部調試處理器。DSU主設備在內部總線上占有一個地址空間,通過這個地址空間,可以訪問處理器的寄存器和跟蹤緩沖區的內容,CPU內部的所有寄存器、cache(緩存)在總線上都有映射的空間,調試時直接由DSU按地址訪問。用戶也可以調試和/或從中斷的位置重新執行。
DSU還有兩個斷點寄存器來匹配任何內部的總線地址或者執行的指令。
DSU通訊連接
DSU通訊連接包含一個串口,該串口在內部總線上作為一個主設備?!?br>