調(diào)試系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本實用新型涉及嵌入式系統(tǒng)調(diào)試技術(shù)領(lǐng)域,更具體地說,涉及一種調(diào)試系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,嵌入式程序的編輯、編譯、鏈接過程都是在計算機(或工作站)上完成的,我們通常稱之為宿主機(Host),而程序的最終運行卻是在和宿主機有很大區(qū)別的嵌入式設(shè)備上進行的,我們通常稱之為目標(biāo)機(Target)。其中,目標(biāo)機和宿主機的主要差別為:一、硬件環(huán)境不同,即CF1IKCentral Processing Unit,處理器)類型不同;二、軟件環(huán)境不同,宿主機上有成熟的操作系統(tǒng)的應(yīng)用軟件支持,而目標(biāo)機一般是裸機或者需要調(diào)試的嵌入式系統(tǒng)?;诖耍{(diào)試是嵌入式系統(tǒng)軟件開發(fā)過程中必不可少的環(huán)節(jié)。
[0003]現(xiàn)有的嵌入式系統(tǒng)的調(diào)試系統(tǒng)通常是通過仿真器和特定調(diào)試總線進行的,例如ARM系列處理器通過JTAG/SWD總線和連接計算機的ARM仿真器進行調(diào)試,MIPS系列處理器通過EJTAG總線和連接計算機的MIPS仿真器進行調(diào)試。但是,由于每個處理器架構(gòu)都需要配置專門的調(diào)試總線和仿真器,因此,會帶來使用不便的問題。并且,其不能實現(xiàn)遠程調(diào)試。
【實用新型內(nèi)容】
[0004]有鑒于此,本實用新型提供了一種調(diào)試系統(tǒng),以解決現(xiàn)有技術(shù)中每個處理器架構(gòu)都需要配置專門的調(diào)試總線和仿真器而導(dǎo)致使用上的不便以及不能實現(xiàn)遠程調(diào)試的問題。
[0005]為實現(xiàn)上述目的,本實用新型提供如下技術(shù)方案:
[0006]—種調(diào)試系統(tǒng),包括內(nèi)嵌有調(diào)試模塊的片上總線控制器和與所述片上總線控制器連接的至少一個外部總線控制器;
[0007]每一所述外部總線控制器與一調(diào)試設(shè)備連接,不同的所述外部總線控制器通過不同的通訊方式與所述調(diào)試設(shè)備通訊,所述外部總線控制器用于將所述調(diào)試設(shè)備輸入的調(diào)試命令傳輸至所述片上總線控制器,將所述片上總線控制器輸出的調(diào)試結(jié)果傳輸至所述調(diào)試設(shè)備;
[0008]所述片上總線控制器與嵌入式系統(tǒng)的處理器單元連接,所述片上總線控制器內(nèi)嵌的調(diào)試模塊用于在接收到任一所述外部總線控制器輸入的調(diào)試命令后對所述調(diào)試命令進行解析,并根據(jù)所述解析后的調(diào)試命令執(zhí)行相應(yīng)調(diào)試動作。
[0009]優(yōu)選的,所述調(diào)試模塊包括通訊控制單元、調(diào)試命令解析單元和調(diào)試執(zhí)行單元;
[0010]所述通訊控制單元用于接收所述外部總線控制器輸入的調(diào)試命令,并將所述調(diào)試命令傳輸至所述調(diào)試命令解析單元,將調(diào)試結(jié)果傳輸至所述外部總線控制器;
[0011]所述調(diào)試命令解析單元用于按照預(yù)設(shè)格式對所述調(diào)試命令進行解析,并將解析后的調(diào)試命令傳輸至所述調(diào)試執(zhí)行單元;
[0012]所述調(diào)試執(zhí)行單元根據(jù)所述解析后的調(diào)試命令觸發(fā)相應(yīng)的調(diào)試功能模塊執(zhí)行相應(yīng)調(diào)試操作。
[0013]優(yōu)選的,所述調(diào)試執(zhí)行單元中的調(diào)試功能模塊包括物理地址空間讀寫模塊、硬件程序斷點處理模塊、硬件數(shù)據(jù)斷點處理模塊、程序暫停處理模塊和程序流程追蹤模塊;
[0014]所述物理地址空間讀寫模塊用于根據(jù)解析后的物理地址空間讀寫命令觸發(fā)片上總線控制器的讀寫動作,并通過所述通訊控制單元將片上總線控制器的讀寫結(jié)果傳輸至所述外部總線控制器;
[0015]所述硬件程序斷點處理模塊用于根據(jù)解析后的硬件程序斷點設(shè)置命令保存程序斷點地址,并在所述處理器單元讀取所述斷點地址的指令時,以特殊指令替換所述斷點地址處的原始指令,以將所述處理器單元引導(dǎo)到特定的調(diào)試程序,即刻停止正常運行并等待其它調(diào)試命令;
[0016]所述硬件程序斷點處理模塊還用于根據(jù)解析后的硬件程序斷點清除命令刪除相應(yīng)的程序斷點地址;
[0017]所述硬件數(shù)據(jù)斷點處理模塊用于根據(jù)解析后的硬件數(shù)據(jù)斷點設(shè)置命令保存數(shù)據(jù)斷點地址,并在所述處理器單元讀或?qū)懰鰯帱c地址時向所述處理器單元發(fā)出特定中斷,以將所述處理器單元引導(dǎo)到特定的調(diào)試程序,即刻停止正常運行并等待其它調(diào)試命令;
[0018]所述硬件數(shù)據(jù)斷點處理模塊還用于根據(jù)解析后的硬件數(shù)據(jù)斷點清除命令刪除相應(yīng)的數(shù)據(jù)斷點地址;
[0019]所述程序暫停處理模塊用于根據(jù)解析后的程序暫停命令向所述處理器單元發(fā)出特定中斷,以將所述處理器單元引導(dǎo)到特定的調(diào)試程序,即刻停止運行等待其它調(diào)試命令;
[0020]所述程序流程追蹤模塊用于根據(jù)解析后的程序流程追蹤命令監(jiān)測和保存所述處理器單元讀取的指令流的地址,并在壓縮之后傳輸至所述外部總線控制器,以便所述調(diào)試設(shè)備獲得被追蹤程序的指令流。
[0021]優(yōu)選的,所述片上總線控制器與所述外部總線控制器通過片上輸入輸出總線連接,所述片上總線控制器與所述外部總線控制器之間以雙向字節(jié)流的方式進行數(shù)據(jù)的傳輸。
[0022]優(yōu)選的,所述片上總線控制器通過所述處理器單元的專有調(diào)試接口與所述處理器單元連接。
[0023]優(yōu)選的,所述外部總線控制器通過UART串口、SPI串口、USB接口或以太網(wǎng)口與所述調(diào)試設(shè)備連接。
[0024]與現(xiàn)有技術(shù)相比,本實用新型所提供的技術(shù)方案具有以下優(yōu)點:
[0025]本實用新型所提供的調(diào)試系統(tǒng),在與嵌入式系統(tǒng)的處理器單元連接的片上總線控制器上內(nèi)嵌了調(diào)試模塊,從而可以通過片上總線控制器內(nèi)嵌的調(diào)試模塊對所述嵌入式系統(tǒng)中的軟件進行調(diào)試,進而不再需要配置專門的仿真器,并且,還可以通用外部總線控制器連接互聯(lián)網(wǎng)實現(xiàn)遠程調(diào)試,使嵌入式系統(tǒng)調(diào)試更加方便。
【附圖說明】
[0026]為了更清楚地說明本實用新型實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本實用新型的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0027]圖1為本實用新型實施例提供的一種調(diào)試系統(tǒng)的結(jié)構(gòu)示意圖;
[0028]圖2為本實用新型實施例提供的一種調(diào)試模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0029]下面將結(jié)合本實用新型實施例中的附圖,對本實用新型實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本實用新型一部分實施例,而不是全部的實施例?;诒緦嵱眯滦椭械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本實用新型保護的范圍。
[0030]本實用新型的實施例提供了一種調(diào)試系統(tǒng),應(yīng)用于系統(tǒng)級芯片上的嵌入式軟件的調(diào)試,其中嵌入式軟件是固化在系統(tǒng)級芯片里的固化程序,例如空調(diào)主控微控制器的控制程序等,如圖1所示,本實施例中的調(diào)試系統(tǒng)包括內(nèi)嵌有調(diào)試模塊的片上總線控制器I和與片上總線控制器I連接的至少一個外部總線控制器2。
[0031]其中,片上總線控制器I與嵌入式系統(tǒng)的處理器單元即處理器3連接。具體地,片上總線控制器I通過片上系統(tǒng)總線5與芯片上的處理器、RAM/R0M如易失性存儲器和非易失性存儲器以及其它功能模塊連接,通過輸入輸出總線和輸入輸出總線橋接器6與至少一個外部總線控制器2連接,也就是說,片上總線控制器I是內(nèi)部片