欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

程序處理裝置的制作方法

文檔序號:6412810閱讀:150來源:國知局
專利名稱:程序處理裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及程序處理裝置,更詳細(xì)地說涉及進行內(nèi)部軟件(firmware固件)等的動作驗證時適于使用的控制LSI。
背景技術(shù)
近年來,將內(nèi)置了CPU的微型計算機等LSI作為內(nèi)部用途使用,在軟件的開發(fā)中一般采用計算芯片(evaluation chip)(以下稱計算芯片)。在計算芯片中,除了搭載于目標(biāo)系統(tǒng)的CPU以外,還搭載有支持軟件調(diào)試的接口電路。而且,在搭載于用戶板上的計算芯片上連接內(nèi)電路仿真器(ICE(R)),通過從該ICE向CPU提供調(diào)試用命令,從而進行軟件調(diào)試。另外,作為與使用計算芯片的調(diào)試系統(tǒng)相關(guān)的先行技術(shù),例如公知專利文獻1。
(專利文獻1)特開平11-282712號公報但是,在將包含CPU的外圍電路搭載在1個芯片上、而實現(xiàn)系統(tǒng)級的功能的SOC(System On a Chip)等中,由于CPU的總線或控制信號匯集到芯片內(nèi)部,因此產(chǎn)生調(diào)試效率降低的問題。即,在這種SOC的軟件開發(fā)中,由于必須將CPU分別搭載在評價用板上進行調(diào)試,故存在將其做成1個芯片的開發(fā)費用成為必要,并且使設(shè)計期間延長,使TAT(TurnAround Time)降低的問題。
進而,實情為極力要求降低這種軟件調(diào)試等的試驗成本,可使用于調(diào)試的端子被限制為少數(shù)。因此,存在無法有效地進行調(diào)試的問題。
另外,在現(xiàn)狀中,在軟件的開發(fā)階段中,通過預(yù)先在程序的源代碼中設(shè)定斷點(break point),在經(jīng)過此處時使程序停止執(zhí)行,從而進行調(diào)試。但是,在該方法中,由于要在斷點使CPU的動作停止,既降低了調(diào)試效率,為了設(shè)定斷點而又必須改寫程序存儲器,因此存在調(diào)試作業(yè)繁雜的問題。

發(fā)明內(nèi)容
本發(fā)明鑒于這些實際情況,其目的在于,提供一種可以實現(xiàn)軟件調(diào)試效率提高的程序處理裝置。
為了達到所述目的,根據(jù)方案1所述的發(fā)明,程序處理裝置包括執(zhí)行程序的CPU;與所述CPU集成在同一半導(dǎo)體芯片上的、所述CPU訪問存儲器空間時使用的內(nèi)部總線;和監(jiān)視所述內(nèi)部總線,監(jiān)控1個以上所述程序內(nèi)預(yù)先指定的變量狀態(tài)的監(jiān)控電路。根據(jù)該構(gòu)成,在程序內(nèi)用戶可以任意設(shè)定想要檢查的變量并進行調(diào)試。而且,由于不必停止CPU的動作,即可實時地監(jiān)控程序的動作狀態(tài),因此可以有效地進行調(diào)試作業(yè)。
根據(jù)方案2的發(fā)明,程序處理裝置具備執(zhí)行程序的CPU;與所述CPU集成在同一半導(dǎo)體芯片上的、所述CPU在訪問存儲器空間時使用的內(nèi)部總線;和監(jiān)視所述內(nèi)部總線,監(jiān)控1個以上所述程序內(nèi)預(yù)先指定的變量的狀態(tài),在由所述CPU改寫該監(jiān)控的變量的值時,存儲其更新數(shù)據(jù)的監(jiān)控電路。根據(jù)該構(gòu)成,不必停止CPU的動作,即可一邊隨時確認(rèn)變量的狀態(tài)一邊展開調(diào)試作業(yè)。
根據(jù)方案3的發(fā)明,監(jiān)控電路備有保存1個以上監(jiān)控的變量的地址值的地址寄存器;和根據(jù)所述地址值,將監(jiān)控的變量值保存到該每個地址中的數(shù)據(jù)寄存器。根據(jù)該構(gòu)成,可以設(shè)定多個監(jiān)控的變量的地址值,并檢查多個變量的狀態(tài)。
根據(jù)方案4的發(fā)明,監(jiān)控電路,經(jīng)接口裝置與調(diào)試裝置連接,將所述地址值和基于該地址值進行監(jiān)控的變量值作為后續(xù)于所定發(fā)送用命令的變量信息發(fā)送到調(diào)試裝置中。由此,調(diào)試裝置可以接收由監(jiān)控電路監(jiān)控的多個變量信息。
根據(jù)方案5的發(fā)明,監(jiān)控電路以所定的發(fā)送周期定期地或當(dāng)每次所述變量信息被更新時將所述變量信息發(fā)送到調(diào)試裝置中。由此,即使zai變量值被變更的情況下,用戶也能隨時確認(rèn)其狀態(tài),也可以更準(zhǔn)確地把握程序的動作狀態(tài)。
根據(jù)方案6的發(fā)明,監(jiān)控電路將所述變量信息作為串行數(shù)據(jù)進行發(fā)送。由此,只要少數(shù)調(diào)試用端子即可,并可以抑制芯片尺寸的增加。
根據(jù)本發(fā)明,可以提供一種實現(xiàn)軟件調(diào)試效率提高的程序處理裝置。


圖1是表示一實施方式的調(diào)試系統(tǒng)的概略構(gòu)成的框圖。
圖2是表示監(jiān)控電路的內(nèi)部寄存器的說明圖。
圖中12-作為程序處理裝置的控制LSI,13-作為調(diào)試裝置的個人計算機(PC),21-作為CPU的CPU核心,22-監(jiān)控電路,23-作為接口裝置的調(diào)試I/F,25-作為外圍電路的內(nèi)部RAM,26-作為外圍電路的內(nèi)部寄存器,27-內(nèi)部總線,42-地址寄存器,43-數(shù)據(jù)寄存器。
具體實施例方式
以下,參照附圖,對本發(fā)明的程序處理裝置,例如適用于對固件進行調(diào)試的控制LSI的一實施方式進行說明。
圖1是表示本實施方式的調(diào)試系統(tǒng)11的概略的框圖。調(diào)試系統(tǒng)11包括作為程序處理裝置的控制LSll2及經(jīng)由工具總線和該控制LSI12連接的作為調(diào)試裝置的個人計算機(以下稱PC)13。如后所述,控制LSI12是將包含CPU的外圍電路搭載在一個芯片上、來實現(xiàn)系統(tǒng)級的功能的系統(tǒng)LSI。PC13例如具有由內(nèi)電路仿真器ICE(R)等構(gòu)成的調(diào)試工具14。
具體地說,在控制LSI12中備有調(diào)試用端子(圖示省略),在其調(diào)試用端子上連接有工具總線的總線電纜15。為了減小對控制LSI12的芯片尺寸的影響而只設(shè)計了少量(在本實施方式中例如為2管腳)的調(diào)試端子,該控制LSI12經(jīng)總線電纜15與調(diào)試工具14串行通信。另外,在本實施方式中,2個調(diào)試用端子分別連接時鐘總線和數(shù)據(jù)總線,控制LSI12和調(diào)試工具14間的數(shù)據(jù)發(fā)送(雙向)與時鐘脈沖同步進行。
控制LSI12在相同半導(dǎo)體基板上具有CPU核心21、監(jiān)控電路22、調(diào)試接口(以下稱調(diào)試I/F)23、外部總線接口(以下稱外部總線I/F)24、作為外圍電路的內(nèi)部RAM25及內(nèi)部寄存器26。另外,在圖1中雖然沒有示出,控制LSI12還包括由CPU核心21進行動作控制的信號處理電路。
CPU核心21、監(jiān)控電路22、外部總線接口24、內(nèi)部RAM25及內(nèi)部寄存器26經(jīng)內(nèi)部總線27相互連接。CPU核心21和監(jiān)控電路22經(jīng)內(nèi)部總線28連接。CPU核心21和調(diào)試I/F23經(jīng)內(nèi)部總線29連接。監(jiān)控電路22和調(diào)試I/F23經(jīng)內(nèi)部總線30連接。
在外部總線I/F24上,經(jīng)外部總線31連接有程序存儲器32。程序存儲器32在本實施方式中例如由閃存構(gòu)成,在該存儲器32中成為調(diào)試對象的固件以能在CPU核心21中執(zhí)行的形態(tài)存儲著。具體的講,對用C語言等高級語言記述的固件(程序)執(zhí)行編譯及鏈接處理,變換為可以由CPU核心21執(zhí)行的機械語言的指令序列并存儲起來。
CPU核心21讀取程序存儲器32所存儲的程序并進行命令譯碼,通過訪問由映射到該CPU核心21的存儲器映像的地址所指定的區(qū)域(存儲器空間)來執(zhí)行對應(yīng)于該譯碼結(jié)果的各種處理。另外,在本實施方式中,作為CPU核心21訪問的存儲器空間,除了包括經(jīng)內(nèi)部總線27連接的內(nèi)部RAM25或內(nèi)部寄存器26之外,還包括經(jīng)外部總線31連接的圖上沒有顯示的外圍電路等的存儲器空間。
監(jiān)控電路22在由CPU核心21執(zhí)行程序時,監(jiān)控該CPU核心21訪問存儲器空間時使用的內(nèi)部總線27,監(jiān)控一個或多個在程序的源代碼內(nèi)設(shè)定的變量的狀態(tài)。
詳細(xì)敘述如下。監(jiān)控電路22中備有內(nèi)部寄存器41(圖2)。在該內(nèi)部寄存器41中,設(shè)定有監(jiān)控電路22監(jiān)控的變量的地址值。監(jiān)控電路22在由CPU核心21實行程序時監(jiān)視內(nèi)部總線27(具體為地址總線),檢查在所述內(nèi)部寄存器41設(shè)定的地址是否向內(nèi)部總線27(即,變量是否由CPU核心21訪問)送出。那么,當(dāng)CPU核心21對該變量進行了改寫動作時,由內(nèi)部總線27(具體為數(shù)據(jù)總線)取得其更新數(shù)據(jù),并存儲在內(nèi)部寄存器41中。因此,在程序執(zhí)行時,監(jiān)控電路22監(jiān)控程序內(nèi)預(yù)先指定的變量。
對所述內(nèi)部寄存器41的具體構(gòu)成說明如下,如圖2所示,內(nèi)部寄存器41例如由保存12種變量信息的地址寄存器42和數(shù)據(jù)寄存器43構(gòu)成。另外,在本實施方式中,所謂變量信息,是指監(jiān)控的變量地址值及基于該地址值進行了監(jiān)控的變量的值。
即,監(jiān)控電路22能監(jiān)控12種變量的狀態(tài),各變量信息作為各自的監(jiān)控數(shù)據(jù)「MON0」~「MON11」被保存在地址寄存器42和數(shù)據(jù)寄存器43中。
在地址寄存器42中,將分別以8位存儲于第1、第2、第3寄存器「ADRH」、「ADRM」、「ADRL」內(nèi)的數(shù)據(jù)(共計24位)設(shè)定為在程序內(nèi)監(jiān)控的變量的地址值。
在數(shù)據(jù)寄存器43(「DATA」)中,根據(jù)在其地址寄存器42設(shè)定的地址值(各24位),存儲監(jiān)控的8位變量值。
監(jiān)控電路22在這些監(jiān)控數(shù)據(jù)「MON0」~「MON11」中,監(jiān)控由地址寄存器42指定的變量,當(dāng)產(chǎn)生由CPU核心21對其變量進行的改寫動作時,在數(shù)據(jù)寄存器43保存被更新的數(shù)據(jù)。
例如,監(jiān)控電路22,監(jiān)控由圖2所示第1、第2、第3寄存器「ADRH」、「ADRM」、「ADRL」的「03:0000h」、「03:0001h」、「03:0002h」指定的監(jiān)控數(shù)據(jù)「MON0」的變量。因此,監(jiān)控電路22,在其變量被改寫時,將該更新的變量值保存到數(shù)據(jù)寄存器43的「03:0003h」中。
如上所述構(gòu)成的監(jiān)控電路22,利用所定的發(fā)送用命令,通過調(diào)試I/F定期地保存在內(nèi)部寄存器41(地址寄存器42及數(shù)據(jù)寄存器43)中的變量信息,發(fā)送到調(diào)試工具14(PCI3)。這時,在本實施方式中,由于總線電纜15為2根,故發(fā)送串行數(shù)據(jù)。
例如,監(jiān)控電路22,作為后續(xù)于發(fā)送用指令「00h」、「04h」(圖示省略)的變量信息,將存儲在作為監(jiān)控數(shù)據(jù)「MON0」的第1、第2、第3寄存器「ADRH」、「ADRM」、「ADRL」的「03:0000h」、「03:0001h」、「03:0002h」中的變量的地址值發(fā)送之后,根據(jù)該地址值,作為監(jiān)控的變量值發(fā)送保存在「03:0003h」內(nèi)的數(shù)據(jù)。
于是,監(jiān)控電路22,根據(jù)基于CPU核心21的時鐘頻率預(yù)先設(shè)定的所定發(fā)送周期,按監(jiān)控數(shù)據(jù)「MON0」、「MON1」、…「MON11」、「MON0」的順序?qū)⒆兞啃畔l(fā)送到調(diào)試工具14。
送到所述監(jiān)控電路22(內(nèi)部寄存器41)的地址值的設(shè)定由調(diào)試工具14來進行。調(diào)試工具14根據(jù)由PC13的輸入裝置(圖示省略)輸入的開發(fā)者(用戶)的指示,將由監(jiān)控電路22監(jiān)控的變量地址發(fā)送到控制LSI12中。具體地講,調(diào)試工具14根據(jù)CPU核心21的存儲映像,算出程序內(nèi)的變量被映射的地址值,將該地址經(jīng)總線電纜15從PC13發(fā)送到控制LSI12。
CPU核心21從調(diào)試I/F23經(jīng)內(nèi)部總線29獲取發(fā)送的地址(變量的地址值),并將該獲得的地址通過內(nèi)部總線28設(shè)定到監(jiān)控電路22(內(nèi)部寄存器41)中。
之后,調(diào)試工具14在CPU核心21中執(zhí)行程序(固件)。在其執(zhí)行過程中,監(jiān)控電路22隨時監(jiān)視是否對預(yù)先設(shè)定的變量的地址值進行數(shù)據(jù)(變量值)的改寫動作,在發(fā)生了改寫時,將該更新過的變量值存儲到內(nèi)部寄存器41中。然后,監(jiān)控電路22將該內(nèi)部寄存器41所保存的變量信息以所定的發(fā)送用指令經(jīng)內(nèi)部總線30從調(diào)試接口23向調(diào)試工具14(PC13)發(fā)送。
調(diào)試工具14順次讀取從控制LSI12定期發(fā)送的變量信息,并將其內(nèi)容輸出到PC13的顯示裝置(圖示省略)。由此,用戶可以確認(rèn)程序的動作狀態(tài),進行固件的調(diào)試。
根據(jù)以上記述的本實施方式,可達到以下的效果。
(1)在控制LSI12中備有監(jiān)視CPU核心21在利用存儲器空間時使用的內(nèi)部總線27,并監(jiān)控預(yù)先指定的變量狀態(tài)的監(jiān)控電路22。該監(jiān)控電路22在產(chǎn)生由CPU核心21對程序內(nèi)預(yù)先設(shè)定的變量進行的改寫動作時,保存該更新的數(shù)據(jù)(變量值),并將保存于內(nèi)部寄存器41的多個變量信息以所定的發(fā)送周期定期地向調(diào)試工具14發(fā)送。根據(jù)該構(gòu)成,用戶可在程序內(nèi)對想檢查的變量(如產(chǎn)生分支的部位的變量等)進行任意設(shè)定和調(diào)試。另外,在這種構(gòu)成中,不必停止CPU核心21的動作,即可實時地監(jiān)視程序的動作狀態(tài)。因此,可以有效地進行調(diào)試作業(yè)。
(2)在本實施方式中,對于預(yù)先指定的多個變量,以從監(jiān)控電路22順次串行地發(fā)送的變量信息為基礎(chǔ)進行調(diào)試。因此,由時鐘總線和數(shù)據(jù)總線2根總線電纜15即可實現(xiàn)調(diào)試。這樣,通過減少調(diào)試用端子數(shù),從而抑制可以控制LSI12芯片尺寸的增加,有效進行調(diào)試作業(yè)。
(3)在本實施方式中,不一定如以往那樣為了取得變量信息,而非要在程序源代碼中設(shè)定斷點。因此,可以不需要用來設(shè)定程序斷點的程序存儲器的改寫操作等。當(dāng)然,也可以在程序的源代碼中設(shè)定斷點,來取得變量信息。
(4)在本實施方式中,在微型計算機等的軟件開發(fā)中,可以在搭載了CPU(CPU核心21)之后直接進行軟件的調(diào)試。為此,可以提高軟件開發(fā)效率,降低開發(fā)成本。甚至也可縮短設(shè)計時間,加快TAT。
另外,所述實施方式也可以作如下變更來實施。
在本實施方式中,控制LSI12(系統(tǒng)LSI)備有內(nèi)部RAM25及內(nèi)部寄存器26(圖1),但是,作為在芯片內(nèi)與CPU核心21一起搭載的外圍電路并不限于本實施方式所述的內(nèi)容。
監(jiān)控電路22的內(nèi)部寄存器41的構(gòu)成,并未限定于圖2所示的形態(tài)。還有,作為監(jiān)控數(shù)據(jù)保存的多個變量信息不限定于在本實施方式中例述的12種,只要至少保存1個變量信息即可。
在本實施方式中,雖然示出了定期發(fā)送保存在內(nèi)部寄存器41中的變量信息時的適用例,但并不限定于此。例如,在每次變量信息被更新時發(fā)送等,只要以預(yù)先決定的方法發(fā)送即可。
在本實施方式中,適用于對固件進行調(diào)試的情況,但是并不限定于該適用例。
由所述實施方式可把握的技術(shù)思想記述如下。
①一種調(diào)試系統(tǒng),其特征在于,具備程序處理裝置,其在同一芯片上具有執(zhí)行程序的CPU;和監(jiān)視該CPU在訪問存儲器空間時使用的內(nèi)部總線,并監(jiān)控1個以上所述程序內(nèi)預(yù)先指定的變量狀態(tài)的監(jiān)控電路;以及調(diào)試裝置,其與所述程序處理裝置連接,接收從所述監(jiān)控電路發(fā)送的變量信息并輸出。
②根據(jù)①所述的調(diào)試系統(tǒng),其特征在于,能從所述調(diào)試裝置設(shè)定應(yīng)該由所述監(jiān)控電路監(jiān)控的變量信息。
權(quán)利要求
1.一種程序處理裝置,其特征在于,具備執(zhí)行程序的CPU;與所述CPU集成在同一半導(dǎo)體芯片上的、所述CPU訪問存儲器空間時使用的內(nèi)部總線;和監(jiān)視所述內(nèi)部總線,監(jiān)控1個以上由所述程序內(nèi)預(yù)先指定的變量狀態(tài)的監(jiān)控電路。
2.一種程序處理裝置,其特征在于,具備執(zhí)行程序的CPU;與所述CPU集成在同一半導(dǎo)體芯片上的、所述CPU在訪問存儲器空間時使用的內(nèi)部總線;和監(jiān)視所述內(nèi)部總線,監(jiān)控1個以上所述程序內(nèi)預(yù)先指定的變量的狀態(tài),在由所述CPU改寫該監(jiān)控的變量值時,存儲其更新數(shù)據(jù)的監(jiān)控電路。
3.根據(jù)權(quán)利要求1或2所述的程序處理裝置,其特征在于,所述監(jiān)控電路具備保存1個以上監(jiān)控的變量的地址值的地址寄存器;和基于所述地址值,將監(jiān)控的變量值保存到該每個地址中的數(shù)據(jù)寄存器。
4.根據(jù)權(quán)利要求3所述的程序處理裝置,其特征在于,所述監(jiān)控電路經(jīng)接口裝置與調(diào)試裝置連接,將所述地址值和基于該地址值而進行了監(jiān)控的變量值作為后續(xù)于所定發(fā)送用命令的變量信息發(fā)送到所述調(diào)試裝置中。
5.根據(jù)權(quán)利要求4所述的程序處理裝置,其特征在于,所述監(jiān)控電路以所定的發(fā)送周期定期地或當(dāng)每次所述變量信息被更新時將所述變量信息發(fā)送到所述調(diào)試裝置中。
6.根據(jù)權(quán)利要求4所述的程序處理裝置,其特征在于,所述監(jiān)控電路將所述變量信息作為串行數(shù)據(jù)進行發(fā)送。
全文摘要
本發(fā)明提供一種謀求提高軟件調(diào)試效率的程序處理裝置。在控制LSI(12)中具備監(jiān)視CPU核心(21)訪問存儲器空間時使用的內(nèi)部總線(27),并監(jiān)視預(yù)先指定的變量的狀態(tài)的監(jiān)控電路(22)。該監(jiān)控電路(22),在產(chǎn)生由CPU核心(21)對程序內(nèi)預(yù)先設(shè)定的變量進行的改寫動作時,存儲其更新的數(shù)據(jù)(變量值),將保存在自身內(nèi)部寄存器的變量信息以所定的發(fā)送周期經(jīng)調(diào)試I/F(23)發(fā)送至調(diào)試工具(14)。
文檔編號G06F11/00GK1584852SQ200410056050
公開日2005年2月23日 申請日期2004年8月10日 優(yōu)先權(quán)日2003年8月21日
發(fā)明者鈴木貴之, 山川尚哉 申請人:三洋電機株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蓝山县| 巴东县| 剑川县| 泌阳县| 和林格尔县| 封开县| 合江县| 班戈县| 平罗县| 随州市| 康平县| 肥城市| 丰顺县| 昌平区| 游戏| 乐清市| 扎鲁特旗| 沙洋县| 双江| 天镇县| 赫章县| 鄯善县| 龙陵县| 盈江县| 湘西| 永丰县| 普安县| 灵璧县| 常山县| 区。| 岚皋县| 晋城| 太湖县| 舞钢市| 永善县| 合川市| 六盘水市| 堆龙德庆县| 疏附县| 郸城县| 鲜城|