專利名稱:調(diào)試功能內(nèi)置型微型計(jì)算機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),特別是具有改善了的追蹤方法的調(diào)試功能內(nèi)置型微型計(jì)算機(jī)。
具有這樣調(diào)試功能的調(diào)試裝置(調(diào)試工具),以往被稱為通路仿真器。圖6示出了使用這樣的通路仿真器的調(diào)試系統(tǒng)。圖6的調(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)試工具的探針連結(jié)到這部分上代替用戶目標(biāo)系統(tǒng)50上的微型計(jì)算機(jī)51,使調(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ī)51的全部引線連結(jié)到調(diào)試工具55上,信號(hào)線數(shù)量的增加使探針變的昂貴,存在造成探測(cè)動(dòng)作不穩(wěn)定等問(wèn)題,尤其在頻率高的微型計(jì)算機(jī)中問(wèn)題更多。
圖7示出了使用其它調(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上存取,使用總線控制器66在存儲(chǔ)器62或輸入/輸出控制電路63上存取,進(jìn)行用戶程序的控制。從串行接口64來(lái)的信號(hào)多不能直接連結(jié)到主計(jì)算機(jī)69。所以調(diào)試工具68一面把主計(jì)算機(jī)69來(lái)的指令變換成微型計(jì)算機(jī)61能夠理解的信號(hào),一面把從微型計(jì)算機(jī)61來(lái)的信號(hào)變換到主計(jì)算機(jī)69能夠理解的數(shù)據(jù)形式。
這種情況,用戶目標(biāo)系統(tǒng)60上的微型計(jì)算機(jī)61內(nèi)置序列發(fā)生器65。序列發(fā)生器65在微型計(jì)算機(jī)61或串行接口64上存取,所以與調(diào)試工具68連接的邏輯電路變得復(fù)雜,存在芯片面積變大的問(wèn)題。另外,在發(fā)生追加寄存器等的時(shí)候,存在只要不變更序列發(fā)生器65就不能處理的問(wèn)題。
圖8示出了適用本發(fā)明的調(diào)試系統(tǒng)結(jié)構(gòu)框圖。
該調(diào)試系統(tǒng)由用戶目標(biāo)系統(tǒng)70和調(diào)試工具80構(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通過(guò)處理器總線76、78訪問(wèn)存儲(chǔ)器72或輸入/輸出控制電路73并執(zhí)行程序。處理器內(nèi)核74通過(guò)內(nèi)部調(diào)試接口77和內(nèi)部處理總線78與調(diào)試單元75連結(jié),調(diào)試單元75依靠外部調(diào)試接口79與調(diào)試工具80連結(jié)。調(diào)試單元75在處理器內(nèi)核74與調(diào)試工具80之間一面變換信號(hào)的輸出形式,一面進(jìn)行采用輸出同步工作。
在此,調(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)試異常。發(fā)生調(diào)試異常時(shí)的保存地址是BRK指令的下一個(gè)地址。
轉(zhuǎn)到調(diào)試模式后,處理器內(nèi)核通過(guò)調(diào)試單元執(zhí)行調(diào)試處理子程序。應(yīng)用調(diào)試處理子程序,能夠?qū)崿F(xiàn)讓用戶目標(biāo)系統(tǒng)在任意地址中斷,用單步執(zhí)行,更能實(shí)現(xiàn)存儲(chǔ)器或寄存器的讀或?qū)憽⒂脩舫绦虻慕K了地址的指定,指定用戶程序開始執(zhí)行地址的指定等執(zhí)行控制功能。另外,當(dāng)處理器內(nèi)核在調(diào)試處理子程序上執(zhí)行返回指令以返回標(biāo)準(zhǔn)模式時(shí),該處理返回標(biāo)準(zhǔn)模式,跳過(guò)返回指令執(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動(dòng)作的同時(shí),追蹤信號(hào)使其能夠進(jìn)行調(diào)試。因此即便高頻也能響應(yīng),容易訪問(wèn)存儲(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)容,不得不把總線信息分割為幾個(gè)周期輸出,需要4倍時(shí)間或4倍的傳送速度,這是不現(xiàn)實(shí)的。這樣,假設(shè)需要4倍時(shí)間,處理器內(nèi)核74轉(zhuǎn)向下一個(gè)動(dòng)作后,即使當(dāng)正在輸出的全部總線信息還沒被全部輸出時(shí),正在輸出的總線信息在那里被切斷,追蹤也轉(zhuǎn)移到下一步,所以產(chǎn)生追蹤結(jié)果不能被讀取的問(wèn)題,這就變成與希望減少用戶目標(biāo)系統(tǒng)70和調(diào)試工具80相連接的信號(hào)線數(shù)量(位寬)的要求相矛盾,并導(dǎo)致重要信息的輸出被限制的問(wèn)題。解決這些問(wèn)題的一個(gè)方法是將全部總線信息臨時(shí)存儲(chǔ)到內(nèi)部存儲(chǔ)器,隨后在所定時(shí)間內(nèi)將其讀出。但是,其導(dǎo)致的問(wèn)題在于內(nèi)部存儲(chǔ)器需要有大的容量,元件的價(jià)格變得昂貴,芯片面積變得更大。
另外,在微型計(jì)算機(jī)芯片內(nèi)部,在通用電路之外增加用戶電路時(shí),按照慣例,需要分配專用信號(hào)引線,通常從用戶電路直接輸出信號(hào)至芯片外部的單元,通過(guò)使用專用工具或邏輯分析器來(lái)進(jìn)行調(diào)試。但是,存在下列問(wèn)題專用工具的制造耗時(shí)較長(zhǎng)并增加了成本,邏輯分析器的使用也耗時(shí)較長(zhǎng)且很難容納微型計(jì)算機(jī)中正在被執(zhí)行的程序。進(jìn)而,由于需要專用于調(diào)試用戶電路的信號(hào)引線的事實(shí),成本增加,且由于對(duì)引線數(shù)量的限制,產(chǎn)生了其它信號(hào)不能被輸出給芯片外部的問(wèn)題。
本發(fā)明使用比較簡(jiǎn)單的方法解決了上述問(wèn)題。采用比內(nèi)部總線位寬更少的位寬的輸出信號(hào),追蹤內(nèi)部總線內(nèi)容,此時(shí),只限制必要的信息,使其輸出能夠防止必要的信息在途中被終止,在能夠更準(zhǔn)確地實(shí)時(shí)追蹤的同時(shí),用戶電路調(diào)試使用的工具和用于調(diào)試通用電路時(shí)的工具相同,在相同的環(huán)境用相同的軟件能夠執(zhí)行,把實(shí)現(xiàn)這樣的調(diào)試功能內(nèi)置型的微型計(jì)算機(jī)作為本發(fā)明的課題。
為解決上述問(wèn)題,本發(fā)明的目的是提供一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī)。該微型計(jì)算機(jī)內(nèi)部具有總線追蹤功能和總線中斷功能的調(diào)試單元,該調(diào)試單元用比位寬更少的輸出位寬追蹤該總線上的信息。調(diào)試功能內(nèi)置型計(jì)算機(jī)的特征在于包括總線信息存儲(chǔ)裝置,其通過(guò)調(diào)試單元為要被追蹤的每一目標(biāo)總線而設(shè)置,并臨時(shí)儲(chǔ)存總線信息;總線信息存儲(chǔ)控制裝置,其根據(jù)追蹤條件控制在所述總線信息存儲(chǔ)裝置中臨時(shí)存儲(chǔ)的所述總線信息;追蹤條件指示裝置,其通過(guò)外部設(shè)定將追蹤條件指示給所述總線信息存儲(chǔ)控制裝置;以及存儲(chǔ)信息選擇裝置,其選擇作為所述調(diào)試單元的輸出的被臨時(shí)存儲(chǔ)在所述總線信息存儲(chǔ)裝置中的總線信息。
據(jù)此,該調(diào)試功能內(nèi)置型微型計(jì)算機(jī)使用比內(nèi)部總線的位寬少的位寬輸出信號(hào)線追蹤內(nèi)部總線內(nèi)容時(shí),做到只限制必要的信息,實(shí)現(xiàn)能夠防止必要的信息在中途終止,能更準(zhǔn)確地實(shí)時(shí)追蹤。
調(diào)試功能內(nèi)置型微型計(jì)算機(jī)包括具有總線追蹤功能和總線中斷功能的調(diào)試單元;以及根據(jù)用戶目的由用戶設(shè)置的通用電路之外的用戶電路。調(diào)試功能內(nèi)置型微型計(jì)算機(jī)的特征在于包括總線信息選擇裝置,其選擇將被調(diào)試單元追蹤的作為調(diào)試單元的輸出的在目標(biāo)總線上的總線信息;其中總線信息選擇裝置也選擇并輸出從用戶電路總線輸入裝置輸入的作為調(diào)試單元的輸出的用戶電路的總線信息。
這樣,調(diào)試功能內(nèi)置型微型計(jì)算機(jī)能夠?qū)崿F(xiàn)用戶電路的調(diào)試使用的工具與用于調(diào)試通用電路的工具相同,在相同的環(huán)境用相同的軟件執(zhí)行。
圖1示出了使用本發(fā)明的調(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)24表示高速緩沖存儲(chǔ)器、符號(hào)25表示DMA存儲(chǔ)器。CPU1,BCU2,DBG3,高速緩沖存儲(chǔ)器24,及DMA存儲(chǔ)器25被設(shè)置在微型計(jì)算機(jī)芯片10的內(nèi)部。圖1的CPU1和BCU2相當(dāng)圖8的處理器內(nèi)核24,DBG3相當(dāng)圖8的調(diào)試單元75,存儲(chǔ)器4相當(dāng)圖8的存儲(chǔ)器72,外部調(diào)試工具5和調(diào)試用個(gè)人計(jì)算機(jī)6相當(dāng)圖8的調(diào)試工具80。盡管圖8的輸入/輸出控制電路73在此省略了,但位于與存儲(chǔ)器4并列的位置上。
指令地址總線11,指令總線12,數(shù)據(jù)地址總線13,數(shù)據(jù)總線14和讀/寫信號(hào)15在CPU1和BCU2之間傳送。各總線11~14用32位的位寬傳送。BCU2和存儲(chǔ)器4之間用32位寬的地址總線16、8~32位寬的數(shù)據(jù)總線17、以及讀/寫信號(hào)18連接。在此圖中,用存儲(chǔ)器4代表BCU2的連結(jié)目的地,但是,除存儲(chǔ)器4以外,數(shù)據(jù)地址總線16、數(shù)據(jù)總線17通過(guò)圖中未示出的輸入/輸出接口連接到周邊單元和外部存儲(chǔ)器,能夠?qū)⒌刂泛蛿?shù)據(jù)傳送給它們,并從它們接收數(shù)據(jù)。另外,可以在高速緩沖存儲(chǔ)器24和DMA存儲(chǔ)器25之間交換數(shù)據(jù)。地址和數(shù)據(jù)被BCU2中的信號(hào)選擇電路22轉(zhuǎn)換,并被在CPU1和存儲(chǔ)器4之間交換。
另外,指令地址總線11、指令總線12、數(shù)據(jù)地址總線13、數(shù)據(jù)總線14、地址總線16及數(shù)據(jù)總線17上的信號(hào)通過(guò)BCU2內(nèi)的寄存器23-1~23-6進(jìn)入DBG3,根據(jù)輸出選擇電路32的指定,由DBG3內(nèi)的多路轉(zhuǎn)換器(MUX)31選擇,作為8位寬的追蹤數(shù)據(jù)外部輸出(相當(dāng)于圖8的外部調(diào)試接口79)傳送到外部調(diào)試工具5中。
此時(shí),該輸出選擇電路32接收ACK(ACKnowledge)信號(hào)的輸入,當(dāng)CPU1接受請(qǐng)求地址和指示返回?cái)?shù)據(jù)的時(shí)限的有效信號(hào),且根據(jù)這些信號(hào)控制多路轉(zhuǎn)換器31時(shí),CPU1將ACK信號(hào)發(fā)送給調(diào)用源以指示操作的完成。
為了輸出,寄存器寫入條件判定電路21允許僅將必要的信號(hào)寫入寄存器23-1~23-6,不包括不需要的信息,這樣就防止了寄存器23-1~23-6內(nèi)存儲(chǔ)的必要信息被不需要的信息重寫。
通過(guò)設(shè)定通過(guò)外部調(diào)試工具5從調(diào)試用個(gè)人計(jì)算機(jī)6輸入的寄存器設(shè)定信號(hào)36,用于將被追蹤的信號(hào)的追蹤條件等被送入設(shè)定寄存器34。例如,如果有剩余的信號(hào)引線,可以使用開關(guān)在設(shè)定寄存器34中手動(dòng)設(shè)定追蹤條件。設(shè)定在設(shè)定寄存器34中的追蹤條件被發(fā)送給輸出選擇電路32和BCU2內(nèi)的寄存器寫入條件判定電路21。
例如,將能夠在設(shè)定寄存器34中設(shè)定的追蹤條件如下列出,通過(guò)指定寄存器34中指定的1位或2位的ON或OFF來(lái)設(shè)定追蹤條件。
1)讀(讀出)輸出使能(enable)(指定1位)設(shè)定是否輸出來(lái)自存儲(chǔ)器4的讀訪問(wèn)信號(hào)(讀出時(shí)的地址或數(shù)據(jù))。
2)寫(寫入)輸出使能(指定1位)設(shè)定是否輸出至存儲(chǔ)器4的寫訪問(wèn)信號(hào)(寫入時(shí)的地址或數(shù)據(jù))。
3)設(shè)定地址輸出字節(jié)數(shù)(指定2位)設(shè)定輸出多少個(gè)地址數(shù)據(jù)低位。選擇8位、16位、24位、32位中的任一種。
4)數(shù)據(jù)輸出使能(指定1位)設(shè)定是否輸出數(shù)據(jù)。
5)地址輸出使能(指定1位)設(shè)定是否輸出地址。
6)通過(guò)DMA存儲(chǔ)器25的存儲(chǔ)器存取輸出使能(指定1位)設(shè)定當(dāng)DMA存儲(chǔ)器25存取存儲(chǔ)器4時(shí),是否輸出地址或數(shù)據(jù)。
7)在高速緩沖存儲(chǔ)器24中進(jìn)行再填充/寫回時(shí),存儲(chǔ)器存取輸出使能(指定1位)在高速緩沖存儲(chǔ)器24中再填充/寫回時(shí),訪問(wèn)存儲(chǔ)器4時(shí),設(shè)定是否輸出地址或數(shù)據(jù)。
8)通過(guò)CPU1進(jìn)行的存儲(chǔ)器存取輸出使能(指定1位)當(dāng)CPU1訪問(wèn)存儲(chǔ)器4時(shí)設(shè)定是否輸出地址或數(shù)據(jù)。
這些追蹤條件被一次設(shè)定在設(shè)定寄存器34上,然后發(fā)送給寄存器寫入條件判定電路21和輸出選擇電路32。
圖2~圖4示出根據(jù)本實(shí)施例的信號(hào)的時(shí)序圖,每一示出用于比較的現(xiàn)有技術(shù)與現(xiàn)有的情況相比較的本實(shí)施例的各信號(hào)的時(shí)序圖。
圖2示出當(dāng)僅進(jìn)行寫存取時(shí)的例子。圖2示出的信號(hào)如下(a)表示總線時(shí)鐘脈沖,(b)表示地址總線16上的地址,(c)表示數(shù)據(jù)總線17上的32位數(shù)據(jù),(d)表示讀/寫信號(hào)18,(e)表示沒有設(shè)定寄存器34時(shí)的常規(guī)的追蹤數(shù)據(jù)外部輸出,(f)表示在本實(shí)施例中的追蹤數(shù)據(jù)外部輸出(DTD)35的信號(hào)。
以往,在寫存取后,由于在地址②開始的讀信息在地址③開始被輸出,所以相應(yīng)于寄存器23內(nèi)的①的寫存取信息被讀信息重寫,以致于輸出選擇電路32開始輸出作為追蹤數(shù)據(jù)外部輸出的讀地址。
在本實(shí)施例中,從地址②開始的讀信息不包含在寄存器23中,因此在寄存器23內(nèi)的①的寫存取信息未被重寫(overwrite)。輸出選擇電路32繼續(xù)輸出來(lái)自追蹤數(shù)據(jù)外部輸出(DTD)35的①的寫存取信息,如(f)所示。
通過(guò)上述方法,將被寫入寄存器23的信息被限制寫入被觀測(cè)的存取,此舉將更多的必要信息通過(guò)信號(hào)引線向外部輸出。
圖3示出只有被CPU1訪問(wèn)的存儲(chǔ)器將被觀測(cè)的例子。圖3示出如下信號(hào)(a)表示總線時(shí)鐘脈沖,(b)表示地址總線16上的地址,(c)表示數(shù)據(jù)總線17上的32位數(shù)據(jù),(d)表示讀/寫信號(hào)18,(e)表示沒有設(shè)定寄存器34時(shí)的常規(guī)的追蹤數(shù)據(jù)外部輸出,(f)表示本實(shí)施例的追蹤數(shù)據(jù)的外部輸出(DTD)35輸出的信號(hào)。
當(dāng)DMA存儲(chǔ)器25在CPU1訪問(wèn)存儲(chǔ)器后進(jìn)行存儲(chǔ)器存取時(shí),常規(guī)地,由于在地址②開始的利用DMA存儲(chǔ)器25的存取信息在地址③開始被輸出,所以,相應(yīng)于寄存器23內(nèi)的①的讀存取信息被DMA存儲(chǔ)器25的存取信息重寫,以致于通過(guò)DMA存儲(chǔ)器25,輸出選擇電路32開始輸出作為追蹤數(shù)據(jù)外部輸出的存取信息,如(e)所示。
在本實(shí)施例中,由于在地址②開始的利用DMA存儲(chǔ)器25的存取信息不被放到寄存器23中,在寄存器23內(nèi)的①的寫存取信息不被重寫。因此,輸出選擇電路32如(f)所示,從追蹤數(shù)據(jù)外部輸出(DTD)35,繼續(xù)輸出①的寫存取信息。
這種場(chǎng)合,通過(guò)利用CPU1將要觀測(cè)的信息限制到存儲(chǔ)器存取中,能通過(guò)信號(hào)引線向外輸出更多的必要信息。
圖4示出當(dāng)只有數(shù)據(jù)將被觀測(cè)的例子。圖4示出如下信號(hào)(a)表示總線時(shí)鐘脈沖,(b)表示地址總線16上的地址,(c)表示數(shù)據(jù)總線17上的32位數(shù)據(jù),(d)表示讀/寫信號(hào)18,(e)表示沒有設(shè)定寄存器34的現(xiàn)有的追蹤數(shù)據(jù)外部輸出,(f)表示從本實(shí)施例中的追蹤數(shù)據(jù)外部輸出(DTD)35輸出的信號(hào)。
當(dāng)寫存取被觀測(cè)時(shí),常規(guī)地,盡管數(shù)據(jù)被期望在地址后向外輸出,地址②轉(zhuǎn)移到下一寫存取,新的存取信息地址在③開始被輸出,以使相應(yīng)于寄存器23中的①被新的寫訪問(wèn)地址信息重寫,以使輸出選擇電路32繼續(xù)輸出作為追蹤數(shù)據(jù)外部輸出的寫地址。
在本實(shí)施例中,由于地址信息不被放入寄存器23中,而只將數(shù)據(jù)信息放入寄存器中,所以寄存器23內(nèi)所存①的寫存取數(shù)據(jù)信息不被地址信息重寫。因此,輸出電路32繼續(xù)更新并輸出來(lái)自追蹤電路數(shù)據(jù)外部輸出(DTD)35的①中的寫訪問(wèn)數(shù)據(jù)信息,如(f)所示。
根據(jù)上述方法,通過(guò)將要觀測(cè)的信息限制到數(shù)據(jù)中,能將更多的必要信息通過(guò)信號(hào)引線向外部輸出。
通過(guò)以上述方式設(shè)定追蹤條件,當(dāng)使用寄存器寫入條件判定電路21和輸出選擇電路32的操作進(jìn)行調(diào)試時(shí),可以不輸出不必要的信息,由于重新在總線上循環(huán)不必要信息的輸出,所以,減小了必要信息被中途終止的概率。
圖5示出了根據(jù)本發(fā)明的其它實(shí)施例的使用調(diào)試功能內(nèi)置型微型計(jì)算機(jī)的主要部分的結(jié)構(gòu)圖。在圖5中,CPU1、BCU2、存儲(chǔ)器4、外部調(diào)試工具5、調(diào)試用個(gè)人計(jì)算機(jī)6與圖1所示的大致相同。高速緩沖存儲(chǔ)器24,DMA存儲(chǔ)器25和指令地址總線11,指令總線12,數(shù)據(jù)地址總線13,數(shù)據(jù)總線14,讀/寫信號(hào)15等信號(hào)也與圖1所示的大致相同。
在本實(shí)施例中,在DBG3中設(shè)置有狀態(tài)生成電路33,表示下述信息的判定信號(hào)26被發(fā)送給狀態(tài)生成電路33從BCU2追蹤的總線信息是指令、地址或是數(shù)據(jù),數(shù)據(jù)存取是由CPU1、由高速緩沖存儲(chǔ)器24或是由DMA存儲(chǔ)器25完成的,存取的數(shù)據(jù)的容量多大,是讀取還是寫入等。狀態(tài)生成電路33解釋這些信號(hào)并生成狀態(tài)信號(hào)40。
另外,根據(jù)客戶的使用目的,用戶電路7被設(shè)置在微型計(jì)算機(jī)芯片10中。該用戶電路7將用戶電路追蹤數(shù)據(jù)41和用戶電路狀態(tài)42輸入到DBG3。在DBG3中設(shè)置相當(dāng)于圖1的多路轉(zhuǎn)換器(MUX)31的多路轉(zhuǎn)換器(MUXa)31,以及多路轉(zhuǎn)換器(MUXb)38和多路轉(zhuǎn)換器(MUXc)39。多路轉(zhuǎn)換器(MUXb)38選擇從多路轉(zhuǎn)換器(MUXa)31輸出的內(nèi)部總線追蹤數(shù)據(jù)和用戶電路追蹤數(shù)據(jù)41的任一個(gè),并將其輸出到外部調(diào)試工具5。多路轉(zhuǎn)換器(MUXc)39選擇從狀態(tài)生成電路33來(lái)的狀態(tài)信號(hào)40和用戶電路狀態(tài)42的任一個(gè),并將其輸出到外部調(diào)試工具5。
這樣,DBG3設(shè)置有多路轉(zhuǎn)換器(MUXb)38和多路轉(zhuǎn)換器(MUXc)39,其根據(jù)設(shè)定選擇用戶電路追蹤數(shù)據(jù)41和從用戶電路7輸出的用戶電路狀態(tài)。結(jié)果,不需要準(zhǔn)備用于向外輸出并確認(rèn)的來(lái)自用戶電路7的追蹤數(shù)據(jù)41和狀態(tài)42,從而能夠避免由于引腳數(shù)量增加而增加成本。另外,由于來(lái)自用戶電路7的輸出信息可被通用調(diào)試工具5接收,不需要制作或準(zhǔn)備專用程序或?qū)S霉ぞ?,從而可以消除制造專用工具的時(shí)間和成本,并且提高了調(diào)試效率。
另外,由于調(diào)試工具5能從用戶電路7和其它調(diào)試輸出信號(hào)同時(shí)接收輸出信息,所以在同步方面,易于容納正在微型計(jì)算機(jī)10上執(zhí)行的程序或微型計(jì)算機(jī)10內(nèi)的信號(hào),提高了調(diào)試的效率。
如上所述,根據(jù)本發(fā)明,調(diào)試功能內(nèi)置型微型計(jì)算機(jī)設(shè)置有總線信息存儲(chǔ)裝置,為每一將被追蹤的目標(biāo)總線而設(shè)置,臨時(shí)儲(chǔ)存總線信息;總線信息控制裝置,根據(jù)追蹤條件控制在總線信息存儲(chǔ)裝置中臨時(shí)存儲(chǔ)的總線信息;追蹤條件指示裝置,根據(jù)外部設(shè)定將追蹤條件指定給該總線信息存儲(chǔ)控制裝置;以及存儲(chǔ)信息選擇裝置,選擇在總線信息存儲(chǔ)裝置中臨時(shí)存儲(chǔ)的作為調(diào)試單元輸出的總線信息。
據(jù)此,通過(guò)對(duì)必要信息的限制,臨時(shí)儲(chǔ)存相同的信息并且輸出存儲(chǔ)的內(nèi)容,減少了追蹤時(shí)必要信息在中途終止地可能性,從而可以實(shí)時(shí)執(zhí)行更準(zhǔn)確的追蹤。
本發(fā)明決定了追蹤條件,該追蹤條件指示總線信息是讀出存取還是寫入存取,總線信息是數(shù)據(jù)還是地址,總線信息的連接目的,被追蹤的地址從低位輸出到幾位。據(jù)此,根據(jù)追蹤條件,在總線信息存儲(chǔ)裝置中指定將被存儲(chǔ)的內(nèi)容。
據(jù)此,可以只選擇必要信息,由于可以阻止不必要信息的循環(huán),所以可以防止妨礙重要必要信息的追蹤。
本發(fā)明的特征在于,根據(jù)追蹤條件,在追蹤中禁止在總線信息存儲(chǔ)裝置中臨時(shí)存儲(chǔ)不必要的信息。
據(jù)此,能夠防止重要的必要信息被不必要的信息重寫并防止必要信息的追蹤。
本發(fā)明的特征在于,調(diào)試功能內(nèi)置型微型計(jì)算機(jī)包括總線信息選擇裝置,通過(guò)調(diào)試單元選擇并輸出要追蹤的目標(biāo)總線上的總線信息,該總線信息選擇裝置也選擇并輸出用戶電路的總線信息。
據(jù)此,用戶電路的總線信息與通用電路的總線信息能夠使用相同的工具、相同的環(huán)境、相同的軟件進(jìn)行追蹤。
本發(fā)明的特征在于包括輸出狀態(tài)信息的狀態(tài)信息輸出裝置,該狀態(tài)信息輸出裝置也選擇并輸出用戶電路的狀態(tài)信息。
據(jù)此,用戶電路的狀態(tài)信息與通用電路的狀態(tài)信息能夠用使用相同的工具,相同的環(huán)境,相同的軟件進(jìn)行調(diào)試。
本發(fā)明的特征在于,狀態(tài)信息包括信號(hào)類別、輸出狀態(tài)、容量、讀出/寫入的信息。
據(jù)此在調(diào)試時(shí)用戶不需判斷總線信息內(nèi)容,可用調(diào)試工具進(jìn)行判斷,因而更容易分析并提高了調(diào)試效率。
符號(hào)說(shuō)明1 CPU2 BCU(總線控制單元)3 DBG(調(diào)試單元)4 存儲(chǔ)器5 外部調(diào)試工具6 調(diào)試用個(gè)人計(jì)算機(jī)
7 用戶電路10 微型計(jì)算機(jī)11 指令地址總線12 指令總線13 數(shù)據(jù)地址總線14、17 數(shù)據(jù)總線15 讀/寫信號(hào)16 地址總線21 寄存器寫入條件判定電路22 信號(hào)選擇電路23 -1~23-6 寄存器24 高速緩沖存儲(chǔ)器25 DMA存儲(chǔ)器26 判定信號(hào)31、38、39多路轉(zhuǎn)換器32 輸出選擇電路33 狀態(tài)生成電路
34 設(shè)定寄存器35 追蹤數(shù)據(jù)外部輸出36 設(shè)定寄存器設(shè)定信號(hào)37 狀態(tài)輸出40 狀態(tài)信號(hào)41 用戶電路追蹤數(shù)據(jù)42 用戶電路狀態(tài)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)試接口
權(quán)利要求
1.一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),所述微型計(jì)算機(jī)內(nèi)部置有具有總線追蹤功能和總線中斷功能的調(diào)試單元,所述調(diào)試單元使用比總線位寬更小的輸出位寬追蹤所述總線上的信息,其特征在于包括總線信息存儲(chǔ)裝置,設(shè)置在所述調(diào)試單元所追蹤的每一目標(biāo)總線上并臨時(shí)儲(chǔ)存所述總線信息;總線信息存儲(chǔ)控制裝置,其根據(jù)追蹤條件控制在所述總線信息存儲(chǔ)裝置中臨時(shí)存儲(chǔ)的所述總線信息;追蹤條件指定裝置,其通過(guò)外部設(shè)定將追蹤條件指定給所述總線信息存儲(chǔ)控制裝置;以及存儲(chǔ)信息選擇裝置,其選擇作為所述調(diào)試單元的輸出而被臨時(shí)存儲(chǔ)在所述總線信息存儲(chǔ)裝置中的總線信息。
2.根據(jù)權(quán)利要求1所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于作為所述總線信息存儲(chǔ)控制裝置的控制標(biāo)準(zhǔn)的所述追蹤條件包括所述總線信息是讀出存取還是寫入存取的信息。
3.根據(jù)權(quán)利要求1所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于作為所述總線信息存儲(chǔ)控制裝置的控制標(biāo)準(zhǔn)的所述追蹤條件包括所述總線信息是數(shù)據(jù)還是地址的信息。
4.根據(jù)權(quán)利要求1所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于作為所述總線信息存儲(chǔ)控制裝置的控制標(biāo)準(zhǔn)的所述追蹤條件包括所述總線信息的連接目的地。
5.根據(jù)權(quán)利要求1所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于作為所述總線信息存儲(chǔ)控制裝置的控制標(biāo)準(zhǔn)的所述追蹤條件包括表示追蹤地址從低位到某一位被輸出的位數(shù)信息。
6.根據(jù)權(quán)利要求1所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于根據(jù)所述追蹤條件,所述總線信息存儲(chǔ)控制裝置禁止在所述總線信息存儲(chǔ)裝置中臨時(shí)存儲(chǔ)用于追蹤的不必要信息。
7.一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),所述微型計(jì)算機(jī)內(nèi)部置有具有總線追蹤功能和總線中斷功能的調(diào)試單元,和根據(jù)用戶的使用目的,設(shè)置了通用電路以外的用戶電路,其特征在于包括總線信息選擇裝置,其選擇將被所述調(diào)試單元追蹤的作為所述調(diào)試單元的輸出的目標(biāo)總線上的總線信息;以及用戶電路總線信息輸入裝置,其將所述用戶電路的總線信息輸入所述總線信息選擇裝置,其中,所述總線信息選擇裝置還選擇并輸出從所述用戶電路總線信息輸入裝置輸入的作為所述調(diào)試單元的輸出的所述用戶電路的總線信息。
8.根據(jù)權(quán)利要求7所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于還包括狀態(tài)信息輸出裝置,其輸出要追蹤的總線信息以及指示被追蹤的總線信息內(nèi)容的作為所述調(diào)試單元的輸出的狀態(tài)信息;以及用戶電路狀態(tài)輸入裝置,其將所述用戶電路的狀態(tài)信息輸入所述狀態(tài)信息輸出裝置,其中,所述狀態(tài)信息輸出裝置還選擇并輸出從所述用戶電路狀態(tài)信息輸入裝置輸入的、作為所述調(diào)試單元的輸出的所述用戶電路的狀態(tài)信息。
9.根據(jù)權(quán)利要求8所述的調(diào)試功能內(nèi)置型微型計(jì)算機(jī),其特征在于所述狀態(tài)信息包括信號(hào)分類、輸出狀態(tài)、容量和讀/寫的信息。
全文摘要
本發(fā)明提供了一種調(diào)試功能內(nèi)置型微型計(jì)算機(jī),該計(jì)算機(jī)采用比內(nèi)部總線位寬更少位寬的輸出信號(hào)線,追蹤內(nèi)部總線信息時(shí)把輸出只限制在需要的信息,防止需要的信息在中途終止,實(shí)現(xiàn)能更準(zhǔn)確地追蹤實(shí)時(shí)調(diào)試的。在調(diào)試功能內(nèi)置型微型計(jì)算機(jī)中設(shè)置臨時(shí)存儲(chǔ)成為追蹤對(duì)象的每條總線上所準(zhǔn)備總線信息的寄存器23-1~23-6;根據(jù)存儲(chǔ)在設(shè)定寄存器34存儲(chǔ)的追蹤條件,控制臨時(shí)存儲(chǔ)在寄存器23-1~23-6的總線信息,向寄存器寫入判定電路21;以及選擇輸出臨時(shí)存在寄存器23-1~23-6的總線信息的多路轉(zhuǎn)換器31。
文檔編號(hào)G06F11/28GK1444144SQ0310713
公開日2003年9月24日 申請(qǐng)日期2003年3月7日 優(yōu)先權(quán)日2002年3月8日
發(fā)明者森垣利彥, 工藤真 申請(qǐng)人:精工愛普生株式會(huì)社