專利名稱:調(diào)試功能內(nèi)置型微型計(jì)算機(jī)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),特別是具有改善了的總線追蹤方法的調(diào)試功能內(nèi)置型微型計(jì)算機(jī)。
背景技術(shù):
從發(fā)現(xiàn)程序錯(cuò)誤、支持校正作業(yè)的目的角度看,調(diào)試功能是指在追蹤程序、到達(dá)指定行時(shí)或存取預(yù)先設(shè)定的地址、數(shù)據(jù)時(shí),停止執(zhí)行程序,一邊將其通知外部,一邊參照并改變當(dāng)時(shí)的存儲(chǔ)器的狀態(tài)或變量的內(nèi)容。
具有這樣調(diào)試功能的調(diào)試裝置(調(diào)試工具)以往被稱為通路仿真器。圖7示出了使用這樣的通路仿真器的調(diào)試系統(tǒng)方塊圖。圖7的調(diào)試系統(tǒng)由用戶目標(biāo)系統(tǒng)50和調(diào)試用戶目標(biāo)系統(tǒng)50的調(diào)試工具55構(gòu)成。進(jìn)一步,用戶目標(biāo)系統(tǒng)50由微型計(jì)算機(jī)51、存儲(chǔ)器52和輸入輸出控制電路53構(gòu)成。調(diào)試工具55由調(diào)試用微型計(jì)算機(jī)56和監(jiān)控程序存儲(chǔ)器57構(gòu)成。
在本系統(tǒng)中,當(dāng)調(diào)試時(shí),從用戶目標(biāo)系統(tǒng)50中移去微型計(jì)算機(jī)51或使其動(dòng)作變?yōu)闊o(wú)效。把調(diào)試工具55的探針連接到該部分上代替用戶目標(biāo)系統(tǒng)50上的微型計(jì)算機(jī)51,使存儲(chǔ)在調(diào)試工具55上的調(diào)試用微型計(jì)算機(jī)56工作,執(zhí)行存儲(chǔ)在調(diào)試工具55上的監(jiān)控程序存儲(chǔ)器57中的監(jiān)控程序以控制用戶程序的執(zhí)行。
據(jù)此,調(diào)試用微型計(jì)算機(jī)56能夠執(zhí)行存儲(chǔ)在用戶目標(biāo)系統(tǒng)50上的存儲(chǔ)器52中的調(diào)試對(duì)象程序,調(diào)試用微型計(jì)算機(jī)56能夠輸出從用戶目標(biāo)系統(tǒng)50上的微型計(jì)算機(jī)51中不能得到的追蹤信息。另外也能追蹤處理器總線54信息之外的微型計(jì)算機(jī)51內(nèi)部的信息等。
但是,在這種方法中,需要把用戶目標(biāo)系統(tǒng)50上的微型計(jì)算機(jī)的全部引線連接到調(diào)試工具55上,信號(hào)線數(shù)量的增加使探針變的昂貴,并存在探測(cè)動(dòng)作不穩(wěn)定等問題,尤其在頻率高的微型計(jì)算機(jī)中問題更多。
圖8示出了使用其它調(diào)試工具現(xiàn)有例的調(diào)試系統(tǒng)。
在此例中,在用戶目標(biāo)系統(tǒng)60上的微型計(jì)算機(jī)61中,內(nèi)置有同調(diào)試工具68的通信中所必需的串行接口64和譯碼、執(zhí)行調(diào)試工具68送出的信號(hào)的序列發(fā)生器65。序列發(fā)生器65根據(jù)從調(diào)試工具68送出的信號(hào),暫時(shí)停止執(zhí)行用戶程序,在寄存器67上進(jìn)行存取,使用總線控制器66訪問存儲(chǔ)器62或輸入/輸出控制電路63,進(jìn)行用戶程序的控制。從串行接口64來(lái)的信號(hào)大多不能直接連接至主計(jì)算機(jī)69,所以,調(diào)試工具68一邊把主計(jì)算機(jī)69的命令變換成微型計(jì)算機(jī)61能夠理解的信號(hào),一邊把從微型計(jì)算機(jī)61來(lái)的信號(hào)變換到主計(jì)算機(jī)能夠理解的數(shù)據(jù)形式。
在這種情況下,用戶目標(biāo)系統(tǒng)60上的微型計(jì)算機(jī)61內(nèi)置有序列發(fā)生器65,序列發(fā)生器65在微型計(jì)算機(jī)61或串行接口64上存取,所以與調(diào)試工具68連接的邏輯電路變得復(fù)雜,存在芯片面積變大的問題。另外,在發(fā)生追加寄存器等的時(shí)候,存在只要不變更序列發(fā)生器65就不能處理的問題。
圖9示出了適用本實(shí)用新型的調(diào)試系統(tǒng)結(jié)構(gòu)框圖。
該調(diào)試系統(tǒng)由用戶目標(biāo)系統(tǒng)70、調(diào)試系統(tǒng)80和PC主計(jì)算機(jī)81構(gòu)成。用戶目標(biāo)系統(tǒng)70由微型計(jì)算機(jī)71、存儲(chǔ)器72和輸入/輸出控制電路73構(gòu)成。微型計(jì)算機(jī)71由處理器內(nèi)核74和調(diào)試單元75構(gòu)成。處理器內(nèi)核74通過處理器總線76、78訪問存儲(chǔ)器72或輸入輸出控制電路73并執(zhí)行程序。處理器內(nèi)核74通過內(nèi)部調(diào)試接口77及內(nèi)部處理器總線78與調(diào)試單元75連接,調(diào)試單元75依靠外部調(diào)試接口79與調(diào)試工具80連接。調(diào)試單元75在處理器內(nèi)核74和調(diào)試工具80之間一邊變換信號(hào)的輸出形式一邊獲得輸出時(shí)序。
在此,調(diào)試系統(tǒng)中包含執(zhí)行用戶程序的正常模式和執(zhí)行監(jiān)控程序的調(diào)試模式。
在處理器內(nèi)核發(fā)生調(diào)試異常時(shí),設(shè)置調(diào)試模式。在以下條件下發(fā)生調(diào)試異常單步在用戶程序各指令的每一執(zhí)行中發(fā)生調(diào)試異常。
指令中斷在即將執(zhí)行設(shè)定地址之前發(fā)生調(diào)試異常。能夠在3個(gè)位置之間設(shè)定地址。
數(shù)據(jù)中斷對(duì)設(shè)定的地址進(jìn)行讀出/寫入時(shí),執(zhí)行讀出/寫入1~數(shù)個(gè)指令后,發(fā)生調(diào)試異常。地址只能在1個(gè)位置設(shè)定。
軟件中斷由于執(zhí)行BRK指令發(fā)生調(diào)試異常。調(diào)試異常發(fā)生時(shí)的保存地址為BRK指令的下一個(gè)地址。
設(shè)置調(diào)試模式后,處理器內(nèi)核通過調(diào)試單元執(zhí)行調(diào)試處理子程序。應(yīng)用調(diào)試處理子程序,能夠讓用戶目標(biāo)程序在任意的地址中斷,用單步執(zhí)行,更能實(shí)現(xiàn)存儲(chǔ)器或寄存器的讀或?qū)?、用戶程序的終了地址的指定,用戶程序開始執(zhí)行地址的指定等執(zhí)行控制功能。另外,當(dāng)處理器內(nèi)核在調(diào)試處理子程序上執(zhí)行返回指令以返回標(biāo)準(zhǔn)模式時(shí),該處理返回標(biāo)準(zhǔn)模式,跳過返回指令執(zhí)行的地址,重新開始執(zhí)行用戶程序。
另一方面,在標(biāo)準(zhǔn)模式中,調(diào)試系統(tǒng)執(zhí)行用戶程序。此時(shí),能夠同時(shí)有選擇地追蹤指令信息、指令地址信息、數(shù)據(jù)信息、數(shù)據(jù)地址信息。
采用這種方式,其優(yōu)點(diǎn)在于因?yàn)橛脩裟繕?biāo)系統(tǒng)70上的微型計(jì)算機(jī)71上包含了具有調(diào)試功能的調(diào)試單元75,所以在實(shí)現(xiàn)調(diào)試功能時(shí),使用戶目標(biāo)系統(tǒng)70和調(diào)試工具80相連接的輸出信號(hào)線的數(shù)量(位寬)能夠減少。另外,在正常模式,在用戶目標(biāo)系統(tǒng)70上,使微型計(jì)算機(jī)71工作的同時(shí),追蹤信號(hào)使其能夠進(jìn)行調(diào)試,所以,即使高頻也能響應(yīng),容易訪問存儲(chǔ)器72或輸入輸出裝置,能夠正確檢查工作中的指令或數(shù)據(jù)。另外,由于有調(diào)試單元75,調(diào)試工具80的存儲(chǔ)器或寄存器的內(nèi)容沒有被用戶程序非法破壞,用戶所使用的寄存器的內(nèi)容也沒有被調(diào)試工具80非法破壞。
但是,由于處理器內(nèi)核74的CPU的內(nèi)部處理全部用32位進(jìn)行,所以用戶目標(biāo)系統(tǒng)70和調(diào)試工具80相連接的外部調(diào)試接口79輸出信號(hào)線的數(shù)量(位寬)變少后,進(jìn)行總線追蹤時(shí),不易取得充分的實(shí)時(shí)響應(yīng)。例如,當(dāng)外部調(diào)試接口79的輸出信號(hào)線為8位并行時(shí),追蹤32位內(nèi)部總線的內(nèi)容需要4倍的時(shí)間或4倍的傳送速度,這是不現(xiàn)實(shí)的。
用32位進(jìn)行CPU的內(nèi)部處理時(shí),處理器內(nèi)核74轉(zhuǎn)移到下一動(dòng)作后,追蹤也轉(zhuǎn)移到下一內(nèi)容,所以產(chǎn)生跟蹤結(jié)果不能被讀取的問題。另外,考慮到它們的傳輸速度,很難實(shí)現(xiàn)輸出信號(hào)線數(shù)量(位寬)的減少。這就變成與希望減少用戶目標(biāo)系統(tǒng)70和調(diào)試工具80相連接的輸出信號(hào)線數(shù)量(位寬)的要求相矛盾。
另外,在用CPU進(jìn)行存儲(chǔ)器存取期間,用DMA進(jìn)行存儲(chǔ)器存取有中斷時(shí),存在用調(diào)試工具80或PC主計(jì)算機(jī)81不能判定哪個(gè)存取是用CPU存取的問題。另外,也不能用調(diào)試工具80或PC主計(jì)算機(jī)81判定被追蹤的信息是指令還是數(shù)據(jù),這些判定只有依靠用戶做出。
實(shí)用新型內(nèi)容如上所述,在現(xiàn)有的調(diào)試功能內(nèi)置微型計(jì)算機(jī)中,在用戶目標(biāo)系統(tǒng)上,當(dāng)既使微型計(jì)算機(jī)運(yùn)行又同時(shí)追蹤信號(hào)時(shí),由于對(duì)用戶目標(biāo)系統(tǒng)和調(diào)試工具相連接的輸出信號(hào)線數(shù)量(位寬)的限制,所以造成不能完全追蹤32位命令總線的內(nèi)容的問題。另外,不可能判定被追蹤的信息是指令還是數(shù)據(jù),是由DMA進(jìn)行的還是由CPU進(jìn)行的,這種判定只有依靠用戶作出。
本實(shí)用新型使用比較簡(jiǎn)單的方法解決了這個(gè)問題,能夠在追蹤信息的同時(shí)輸出可判定追蹤信息內(nèi)容的附加信息,使用該附加信息,產(chǎn)生出更容易分析的調(diào)試環(huán)境,把實(shí)現(xiàn)能夠壓縮輸出信息的調(diào)試功能內(nèi)置型微型機(jī)作為本實(shí)用新型的課題。
為了解決上述問題,本實(shí)用新型提供了一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),包括CPU;總線;總線控制單元,該總線控制單元包括信號(hào)判定選擇電路,該CPU通過該總線連接至該信號(hào)判定選擇電路;高速緩存裝置,該高速緩存裝置通過該總線連接至該信號(hào)判定選擇電路;DMA,該DMA通過該總線連接至該信號(hào)判定選擇電路;存儲(chǔ)器裝置,該存儲(chǔ)器裝置連接至該信號(hào)判定選擇電路;外部調(diào)試工具;其特征在于還包括一個(gè)調(diào)試單元,該調(diào)試單元包括設(shè)定寄存器,該設(shè)定寄存器連接至該信號(hào)判定選擇電路;狀態(tài)生成電路,該狀態(tài)生成電路與該信號(hào)判定選擇電路連接并將其輸出端連接至該外部調(diào)試工具;輸出選擇電路,該輸出選擇電路連接至該設(shè)定寄存器;以及MUX,該MUX的輸入端連接至該輸出選擇電路的輸出端。
為了解決上述問題,本實(shí)用新型提供了一種在微型計(jì)算機(jī)內(nèi)部?jī)?nèi)置具有總線追蹤功能和總線中斷功能的調(diào)試單元的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征是調(diào)試單元在追蹤總線時(shí),在追蹤總線信息的同時(shí)追蹤表示信息內(nèi)容的狀態(tài)信息。
依此,本實(shí)用新型實(shí)現(xiàn)了使用狀態(tài)信息通過調(diào)試工具能夠容易判斷總線信息的內(nèi)容,實(shí)現(xiàn)更易分析的調(diào)試環(huán)境,使用狀態(tài)信息壓縮數(shù)據(jù)或地址信息,且當(dāng)輸出信號(hào)線具有比指令總線的位寬更少的位寬時(shí),能夠?qū)崿F(xiàn)能有效地讀出信息的調(diào)試功能內(nèi)置型微型計(jì)算機(jī)。
圖1示出了使用本實(shí)用新型的調(diào)試功能內(nèi)置型微型計(jì)算機(jī)的調(diào)試系統(tǒng)結(jié)構(gòu)圖;圖2示出了現(xiàn)有的追蹤時(shí)總線信息的輸出方法說(shuō)明圖;圖3示出了本實(shí)用新型中壓縮正數(shù)據(jù)時(shí)的輸出方法說(shuō)明圖;圖4示出了執(zhí)行圖3所示輸出方法的輸出正數(shù)據(jù)壓縮時(shí)的時(shí)序圖;圖5示出了本實(shí)用新型的壓縮地址時(shí)的輸出方法說(shuō)明圖;
圖6示了執(zhí)行圖5所示方法的壓縮地址并將其輸出時(shí)的時(shí)序圖;圖7示出了現(xiàn)有的調(diào)試系統(tǒng)的框圖;圖8示出了現(xiàn)有的調(diào)試系統(tǒng)的框圖;以及圖9示出了使用本實(shí)用新型的調(diào)試系統(tǒng)的框圖。
具體實(shí)施方式
以下結(jié)合附圖詳細(xì)說(shuō)明有關(guān)本實(shí)用新型調(diào)試功能內(nèi)置型微型計(jì)算機(jī)。
圖1示出了使用本實(shí)用新型的調(diào)試功能內(nèi)置型微型計(jì)算機(jī)的一個(gè)實(shí)施例的調(diào)試系統(tǒng)主要部分結(jié)構(gòu)圖。在圖1中,符號(hào)1表示CPU,符號(hào)2表示BCU(總線控制單元)、符號(hào)3表示DBG(調(diào)試單元)、符號(hào)4表示存儲(chǔ)器、符號(hào)5表示外部調(diào)試工具、符號(hào)6表示調(diào)試用個(gè)人計(jì)算機(jī)。另外,符號(hào)22表示高速緩沖存儲(chǔ)器、符號(hào)23表示DMA。CPU1、BCU2、DBG3、高速緩沖存儲(chǔ)22、DMA23裝在微型計(jì)算機(jī)10芯片的內(nèi)部。圖1的微型計(jì)算機(jī)10相當(dāng)于圖9的微型計(jì)算機(jī)71,在CPU1和BCU2中相當(dāng)于圖9的處理器內(nèi)核74,DBG3相當(dāng)于圖9的調(diào)試單元75,存儲(chǔ)器4相當(dāng)于圖9的存儲(chǔ)器72,外部調(diào)試工具5和調(diào)試用個(gè)人計(jì)算機(jī)6分別相當(dāng)于圖9的調(diào)試工具80和PC主計(jì)算機(jī)81。盡管圖9的輸入/輸出控制電路73在此省略了,但位于和存儲(chǔ)器4并列的位置上。
圖1中的調(diào)試功能內(nèi)置型微型計(jì)算機(jī)包括CPU;總線;總線控制單元,該總線控制單元包括信號(hào)判定選擇電路,該CPU通過該總線連接至該信號(hào)判定選擇電路;高速緩存裝置,該高速緩存裝置通過該總線連接至該信號(hào)判定選擇電路;DMA,該DMA通過該總線連接至該信號(hào)判定選擇電路;存儲(chǔ)器裝置,該存儲(chǔ)器裝置連接至該信號(hào)判定選擇電路;外部調(diào)試工具;其特征在于還包括一個(gè)調(diào)試單元,該調(diào)試單元包括設(shè)定寄存器,該設(shè)定寄存器連接至該信號(hào)判定選擇電路;狀態(tài)生成電路,該狀態(tài)生成電路與該信號(hào)判定選擇電路連接并將其輸出端連接至該外部調(diào)試工具;輸出選擇電路,該輸出選擇電路連接至該設(shè)定寄存器;以及MUX,該MUX的輸入端連接至該輸出選擇電路的輸出端。
CPU1和BCU2通過指令地址總線11、指令總線12、數(shù)據(jù)地址總線13、數(shù)據(jù)總線14和讀/寫信號(hào)15、存取量信號(hào)16相連接。各總線11~14使用32位位寬傳送。BCU2和存儲(chǔ)器4之間,通過32位并行數(shù)據(jù)地址總線17、數(shù)據(jù)總線18和讀/寫信號(hào)19連接。在此圖中用存儲(chǔ)器4代表BCU2的連接目的地,但是,除存儲(chǔ)器4以外,數(shù)據(jù)地址總線17、數(shù)據(jù)總線18通過圖中未示出的輸入/輸出接口連接到周邊單元或用戶目標(biāo)系統(tǒng)外的外部存儲(chǔ)器上,在將地址和數(shù)據(jù)傳送給它們,并從它們接受數(shù)據(jù)。另外,BCU2也同高速緩沖22及DMA23交換數(shù)據(jù)。這些地址或數(shù)據(jù)由BCU2中的信號(hào)判定選擇電路21轉(zhuǎn)換并交換。
另外,指令地址總線11、指令總線12、數(shù)據(jù)地址總線13、數(shù)據(jù)總線14、數(shù)據(jù)地址總線16及數(shù)據(jù)總線17上的信號(hào)通過BCU2中的信號(hào)判定選擇電路21進(jìn)入BDG3,根據(jù)輸出選擇電路32的指定,使用DBG3內(nèi)的多路轉(zhuǎn)換器31進(jìn)行選擇,作為8位寬的追蹤數(shù)據(jù)外部輸出(DTD;相當(dāng)于圖9的外部調(diào)試接口79)36,被傳送到外部調(diào)試工具5上。輸出選擇電路32的指定依靠存儲(chǔ)在設(shè)定寄存器34中的應(yīng)追蹤信號(hào)的信息進(jìn)行。儲(chǔ)存在設(shè)定寄存器34中的信息,也被送往信號(hào)判定選擇電路21上。
另外,從BCU2中的信號(hào)判定選擇電路21來(lái)的總線上的信息是指令或是數(shù)據(jù)、是否是用DMA存取,存取量的大小,是讀或是寫等判定信號(hào)24被送往DBG3內(nèi)的狀態(tài)生成電路33。狀態(tài)生成電路33生成這些信號(hào)的狀態(tài),并在用追蹤數(shù)據(jù)外部輸出36把總線信息向外部輸出的同時(shí),將其作為狀態(tài)35輸出到調(diào)試工具5上。
由于在總線中傳送的信息不包含能夠判別是指令或是數(shù)據(jù)的信息,所以由BCU2內(nèi)的信號(hào)判定選擇電路21來(lái)判定這種情況。當(dāng)在再填充/寫回高速緩沖存儲(chǔ)器22時(shí)發(fā)生存儲(chǔ)器存取時(shí),高速緩沖存儲(chǔ)器22把表示命令或數(shù)據(jù)的信號(hào)輸入到BCU2內(nèi)的信號(hào)判定選擇電路21,使信號(hào)判定選擇電路21作出判定,把此信息送至狀態(tài)生成電路33。另外,當(dāng)來(lái)自DMA23的存儲(chǔ)器存取發(fā)生時(shí),信號(hào)判定選擇電路21也把其信息送到狀態(tài)生成電路33。狀態(tài)生成電路33匯總這些信息并將其作為5位寬狀態(tài)輸出(DST)35輸出。
通過該狀態(tài)輸出(DST)35,在調(diào)試工具5或調(diào)試用個(gè)人計(jì)算機(jī)6側(cè)易于判定追蹤數(shù)據(jù)外部輸出36的總線信息的內(nèi)容,在生成更易分析的調(diào)試環(huán)境的同時(shí),由于用戶不需判定總線信息內(nèi)容,所以提高了調(diào)試的效率。
以往,把總線信息輸出到芯片外部的時(shí)候,如果輸出位數(shù)小于總線的位寬,單純地把總線上的信息分成可被輸出的位數(shù)組并以其地位輸出。換言之,把32位的信息用8位寬輸出時(shí),如圖2所示,以低位8位[7:0],其次8位[15:8]、再次8位[23:16],高位8位[31:24]的順序輸出。
但總線追蹤時(shí),在總線上,當(dāng)下一個(gè)信息在總線中流動(dòng)時(shí),老的信息向外部的輸出在此被終止,進(jìn)行新的信息輸出。關(guān)于數(shù)據(jù)信息,當(dāng)只有數(shù)據(jù)的低位被輸出且輸出的數(shù)據(jù)被終止時(shí),因?yàn)椴荒芡茰y(cè)高位的位,所以數(shù)據(jù)變的不可理解。另外,如果把全數(shù)據(jù)輸出外部后,因?yàn)樾枰嗟难h(huán),妨礙其它信息輸出,所以產(chǎn)生了必要信息被終止的問題。
可以注意到的是,在多數(shù)情況下,在用戶程序中通常只用數(shù)據(jù)的低位作為數(shù)據(jù)值。數(shù)值為正時(shí),高位大都由“0”填充。為了最好地利用該特征,在數(shù)據(jù)高位用“0”填充的時(shí)候,如圖3所示,只有低位位向外部輸出,同時(shí)并且示出在狀態(tài)輸出35中,高位位用“0”填充。據(jù)此,外部調(diào)試工具5或在調(diào)試用個(gè)人用計(jì)算機(jī)6側(cè)高位位填“0”,能夠復(fù)原原來(lái)的數(shù)據(jù)。
圖4示出了“沒有壓縮”和“有壓縮”情況的時(shí)序圖。在“沒有壓縮”的情況下采用圖2所示的輸出方法,其中,狀態(tài)輸出包括由“開始”和“繼續(xù)”構(gòu)成的4個(gè)輸出時(shí)鐘脈沖,在“有壓縮”的情況下,采用圖3所示的輸出方法,其中,狀態(tài)輸出包括由“開始”和“壓縮0”組成的約2個(gè)時(shí)鐘脈沖輸出。
在數(shù)據(jù)值為負(fù)的情況下,用2的余數(shù)表示它們,因此數(shù)據(jù)的高位位大都用“1”填充。為了更好地利用這種特征,在高位位用“1”填充的情況下,只有低位位輸出到外部,同時(shí),在狀態(tài)輸出35指示用“1”填充高位位。由此,在外部調(diào)試工具5或調(diào)試用個(gè)人計(jì)算機(jī)6側(cè),高位位用“1”填充,以便復(fù)原原始數(shù)據(jù)。
當(dāng)追蹤指令總線時(shí),不進(jìn)行全“0”或全“1”的壓縮工作。
以上敘述了數(shù)據(jù)值的情況。但是在進(jìn)行地址追蹤時(shí),當(dāng)下一信息在總線上流動(dòng)時(shí),老的信息的向外部輸出同樣在此時(shí)終止,且進(jìn)行新的總線信息輸出。關(guān)于地址,地址輸出在只是低位位已被輸出時(shí)終止的情況下,接受側(cè)可推測(cè)其高位地址等于即將輸出的值或是確定為該地址不明。如果高位地址被推測(cè)為等于即將輸出的值,那么存在著判斷錯(cuò)誤的情況。如果全部數(shù)據(jù)將要向外部輸出,就需要多個(gè)周期,其防礙了其它信息輸出,而且產(chǎn)生了必要信息被終止的問題。
在這種場(chǎng)合下,不在諸如外部調(diào)試工具5或用于調(diào)試的個(gè)人計(jì)算機(jī)6的接收側(cè)推測(cè)高位地址,而是在輸出信號(hào)的DBG3側(cè)只輸出其低位地址,而且在狀態(tài)35指示其高位地址等同于將要送出的地址。據(jù)此,在外部調(diào)試工具5或用于調(diào)試的個(gè)人計(jì)算機(jī)6側(cè),使用剛剛收到的地址的高位地址,既可恢復(fù)正確地址。
在圖6示出了“無(wú)壓縮”情況和“有壓縮”情況的時(shí)序圖。在“無(wú)壓縮”的情況下,狀態(tài)輸出包括“開始”和“繼續(xù)”構(gòu)成的4個(gè)時(shí)鐘脈沖輸出,但在“有壓縮”的情況下,采用圖5所示的輸出方法,其中,狀態(tài)輸出包括“開始”和“一致壓縮”構(gòu)成的2個(gè)時(shí)鐘脈沖輸出。
采用以上所述各方法后,由于從微型計(jì)算機(jī)10向外部調(diào)試工具5輸出信息量減少及輸出全數(shù)據(jù)信息所需的時(shí)鐘脈沖數(shù)減少,所以,減少了半途終止輸出的麻煩。另外,其結(jié)果是使用相同的輸出終端能夠把其它信息大量地向外輸出。
在此整理示出的狀態(tài)輸出(DSD)35中所含的信息。在狀態(tài)信息中,包含類別、輸出狀態(tài)、信息量,讀/寫等信息1)類別的說(shuō)明指令示出指令的地址信息或數(shù)據(jù)信息被輸出。
數(shù)據(jù)示出數(shù)據(jù)的地址信息或數(shù)據(jù)信息被輸出。
讀數(shù)據(jù)示出讀出的數(shù)據(jù)信息被輸出。
DMA示出利用DMA的存儲(chǔ)器存取的地址信息及數(shù)據(jù)信息被輸出。
2)輸出狀態(tài)的說(shuō)明開始示出開始地址信息或數(shù)據(jù)信息的輸出。
繼續(xù)示出繼續(xù)以開始狀態(tài)開始的信息輸出。
壓縮0示出繼續(xù)以開始狀態(tài)開始的信息輸出,連續(xù)16位的數(shù)據(jù)的所有位全是“0”壓縮1示出繼續(xù)以開始狀態(tài)開始的信息輸出,連續(xù)16位的數(shù)據(jù)的所有位全是“1”壓縮一致示出繼續(xù)以開始狀態(tài)開始的信息輸出,連續(xù)16位的數(shù)據(jù)等于即將輸出的地址的高16位。
3)信息量的說(shuō)明B
示出是字節(jié)存取,輸出數(shù)據(jù)信息為字節(jié)大小(8位)H示出是半字存取,輸出的數(shù)據(jù)信息是半字大小(16位)W示出是字存取,輸出的數(shù)據(jù)信息是字大小(32位)4)讀/寫的說(shuō)明rd示出是讀出存取wr示出是寫入存取下面是從狀態(tài)生成電路33輸出的狀態(tài)輸出(DST)35的映射圖表。應(yīng)當(dāng)理解,上述說(shuō)明被全部包括在在DST[4:0]的32種輸出中。
映射表如上所述,根據(jù)本實(shí)用新型的具有內(nèi)置調(diào)試功能的計(jì)算機(jī)的特征在于,當(dāng)調(diào)試單元在追蹤總線時(shí),輸出被追蹤的總線信息和顯示被追蹤的信息內(nèi)容的狀態(tài)信息。
由此,本實(shí)用新型實(shí)現(xiàn)了一種調(diào)試功能內(nèi)置型計(jì)算機(jī),它能利用狀態(tài)信息通過調(diào)試工具容易地判定總線信息的內(nèi)容,實(shí)現(xiàn)容易分析的調(diào)試環(huán)境,使用狀態(tài)信息壓縮數(shù)據(jù)或地址信息,并有效地讀出信息。
根據(jù)本實(shí)用新型的調(diào)試裝置的特征在于調(diào)試單元使用比總線位寬少的輸出位寬追蹤該總線。
結(jié)果,所提供的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),即使當(dāng)使用比總線位寬更少的位寬輸出信號(hào)線追蹤的時(shí)候,也能有效讀出信息。
本實(shí)用新型的特征在于狀態(tài)信息包括用于信號(hào)分類、輸出狀態(tài)、容量、和讀/寫的信息。
這樣,調(diào)試功能內(nèi)置型微型計(jì)算機(jī)可以通過狀態(tài)信息將總線信息的內(nèi)容正確地傳到調(diào)試工具和調(diào)試功能內(nèi)置型計(jì)算機(jī),從而實(shí)現(xiàn)了更易分析的調(diào)試環(huán)境。
根據(jù)本實(shí)用新型,當(dāng)狀態(tài)總線信息為正的數(shù)據(jù)且高位位全為“0”時(shí),只有數(shù)據(jù)的低位位和表示此狀態(tài)的狀態(tài)信息一起被輸出。
這樣,使用狀態(tài)信息能夠壓縮數(shù)據(jù)信息,而且即使當(dāng)使用具有比指令總線位寬更少的位寬的輸出信號(hào)線追蹤的時(shí)候,也能有效地讀出信息。
根據(jù)本實(shí)用新型,當(dāng)被追蹤的總線信息為負(fù)的數(shù)據(jù)且高位位全為“1”時(shí),只有數(shù)據(jù)的低位位和表示此狀態(tài)的狀態(tài)信息一起被輸出。
這樣,使用狀態(tài)信息可以壓縮數(shù)據(jù)信息,即使當(dāng)使用其位寬比指令總線更少的輸出信號(hào)線追蹤的時(shí)候。也能有效地讀出信息。
根據(jù)本實(shí)用新型,當(dāng)被追蹤的總線信息為地址且高位位全部等于當(dāng)前地址時(shí),只有低位位和顯示此狀態(tài)的狀態(tài)信息一起被輸出。
據(jù)此,可以使用狀態(tài)信息壓縮地址信息,而且即使當(dāng)使用其位寬比指令總線更少的輸出信號(hào)線追蹤的時(shí)候,也能有效地讀出信息。
符號(hào)說(shuō)明1 CPU2 BCU(總線控制單元)3 DBG(調(diào)試單元)4 外部存儲(chǔ)器5 外部調(diào)試工具6 調(diào)試用個(gè)人計(jì)算機(jī)11 指令地址總線12 指令總線13 數(shù)據(jù)地址總線14,18 數(shù)據(jù)總線15,19 讀/寫信號(hào)
16 存取量信號(hào)17 地址總線21 信號(hào)判定選擇電路22 高速緩沖存儲(chǔ)器23 DMA24 判定信號(hào)31 多路轉(zhuǎn)換器32 輸出選擇電路33 狀態(tài)生成電路34 設(shè)定寄存器50,60,70 用戶目標(biāo)系統(tǒng)51,61,71 微型計(jì)算機(jī)52,62,72 存儲(chǔ)器53,63,73 輸入/輸出控制電路54,76 處理器總線55,68,80 調(diào)試工具56 調(diào)試用微型計(jì)算機(jī)
57 監(jiān)控程序存儲(chǔ)器64 串行接口65 序列發(fā)生器66 總線控制器67 寄存器69 主計(jì)算機(jī)74 處理器內(nèi)核75 調(diào)試單元77 內(nèi)部調(diào)試接口78 內(nèi)部處理器總線79 外部調(diào)試接口81 PC主計(jì)算機(jī)
權(quán)利要求1.一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),包括CPU;總線;總線控制單元,所述總線控制單元包括信號(hào)判定選擇電路,所述CPU通過所述總線連接至所述信號(hào)判定選擇電路;高速緩存裝置,所述高速緩存裝置通過所述總線連接至所述信號(hào)判定選擇電路;DMA,所述DMA通過所述總線連接至所述信號(hào)判定選擇電路;存儲(chǔ)器裝置,所述存儲(chǔ)器裝置連接至所述信號(hào)判定選擇電路;外部調(diào)試工具;其特征在于還包括一個(gè)調(diào)試單元,所述調(diào)試單元包括設(shè)定寄存器,所述設(shè)定寄存器連接至所述信號(hào)判定選擇電路;狀態(tài)生成電路,所述狀態(tài)生成電路與所述信號(hào)判定選擇電路連接并將其輸出端連接至所述外部調(diào)試工具;輸出選擇電路,所述輸出選擇電路連接至所述設(shè)定寄存器;以及MUX,所述MUX的輸入端連接至所述輸出選擇電路的輸出端。
2.根據(jù)權(quán)利要求1所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于所述調(diào)試單元使用比總線位寬更少的輸出位寬追蹤總線。
專利摘要本實(shí)用新型提供了一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),包括CPU;總線;總線控制單元,包括信號(hào)判定選擇電路,CPU通過總線連接至信號(hào)判定選擇電路;高速緩存裝置,通過總線連接至信號(hào)判定選擇電路;DMA,通過總線連接至信號(hào)判定選擇電路;存儲(chǔ)器裝置,連接至信號(hào)判定選擇電路;外部調(diào)試工具;調(diào)試單元,其包括設(shè)定寄存器,連接至信號(hào)判定選擇電路;狀態(tài)生成電路,與信號(hào)判定選擇電路連接并將其輸出端連接至外部調(diào)試工具;輸出選擇電路,連接至設(shè)定寄存器;以及MUX,其輸入端連接至輸出選擇電路的輸出端。能夠在追蹤信息的同時(shí)輸出可判定追蹤信息內(nèi)容的附加信息,使用該附加信息,產(chǎn)生出更容易分析的調(diào)試環(huán)境。
文檔編號(hào)G06F11/28GK2681233SQ0323944
公開日2005年2月23日 申請(qǐng)日期2003年3月7日 優(yōu)先權(quán)日2002年3月8日
發(fā)明者森垣利彥, 工藤真 申請(qǐng)人:精工愛普生株式會(huì)社