TWI299468B - Debug system for debugging multi-task system and a circuit device connected with a host computer - Google Patents

Debug system for debugging multi-task system and a circuit device connected with a host computer Download PDF

Info

Publication number
TWI299468B
TWI299468B TW094129664A TW94129664A TWI299468B TW I299468 B TWI299468 B TW I299468B TW 094129664 A TW094129664 A TW 094129664A TW 94129664 A TW94129664 A TW 94129664A TW I299468 B TWI299468 B TW I299468B
Authority
TW
Taiwan
Prior art keywords
task
processing
interrupt
debug
multitasking
Prior art date
Application number
TW094129664A
Other languages
English (en)
Other versions
TW200622906A (en
Inventor
Shinichi Kimura
Yoshikazu Yamamoto
Motoshi Ito
Original Assignee
Matsushita Electric Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Ind Co Ltd filed Critical Matsushita Electric Ind Co Ltd
Publication of TW200622906A publication Critical patent/TW200622906A/zh
Application granted granted Critical
Publication of TWI299468B publication Critical patent/TWI299468B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Description

1299468 九、發明說明: 【發明所屬之技術領域】 技術領域 本發明係有關於-種除錯系統及其方法,係用 任務系統除錯者。更具體言之,本發明係勒對由複數^ 務處理與中斷處理所構成之多任務系統的程式除錯之除錯 方法及可使用該除錯方法進行除錯之系統。 曰 ϋ先前^^标】 背景技術 習知電H㈣、叫目處理H來處理糾目工作管 1個任務之單任務程式。唯,近年來已開發出許多可於】個 處理器處理由-連串獨立之複數任務所構成之多任務程式 的多任務系統。藉多任務系統,可於電腦上同時(並列地) 執行複數任務,而可提高作業效率。 15 電腦系統之例子有利用光碟進行資訊記錄及/或再生 之光碟系統。第20圖顯示習知光碟系統之概略構成。光碟 系、、先由可裝填光碟8之驅動裝置91及主機電腦%構成,並透 過主機介面匯流排93連接。 該光碟系統包含系統控制器9 4及光碟控制器9 5。系統 2〇控制器94及光碟控制器95係安裝為獨立之LSI,且分別作為 個別之多任務系統產生功能。 ' 系統控制裔94根據内藏之主機控制任務1711與驅動哭 控制任務1712控制驅動裝置91之全體動作。舉例言之,系 統控制器94之咖96處理了第10S所管理之主機控制任務 ⑧ 5 I2"468 l7ll與驅動器控制任務1712。 、另一方面,光碟控制器95依各任務控制了用以對光碟8 進行記錄與再生之存取。舉例言之,光碟控制器95之哪97 控制了第20S所管理之伺服器、控制任務1721與光碟控制任 務 1722。 系統控制器94及光碟控制器95之各任務一面連動一面 使驅動裝置91動作。 舉例言之,系統控制器94之驅動器控制任務im對光 10 15 20 碟控制器95之光碟控制任務1722提出資料讀取要求或寫入 要求。接著’光碟控制任務1722執行資料讀取入。祥 取到之資料或寫人結束/失敗之通知會返回驅動器控制二 務1712〇 隨著多任務程式之開發,也開發出各種對多任務程式 除錯之技術。例如’專利文獻1所揭示之任務除錯方法,係 由欠在操作純Ux下稱「os」)上動作之任務中衫複數任 矛力’並於停止執行幾個經指定之任務,或因暫停點而遭停 止時,同時也使作為除錯對象之其它經指定的任務停止。 任又作制咖所揭w任務控制方法,係於構成多 外===達到預先設定之暫停點,或於發生例 =時間f —止執行與該任務為同—多任務工作群内的 有任務,以進仃除錯。藉該多任務控制方法,可於任音 之時間點再度開始執行該多《工作群内之所有任務/ 【專利文獻1]日本專利公報第特開平2〜300942號 【專利文獻2】日本專利公報第特開平Μ⑷傾 6 1299468 發明欲解決之課題 第2 0圖所示之包含有複數個獨立多任務系統之電腦系 統,當以習知除錯方法對特定之多任務线除錯時,會產 生以下2個問題。 d
5 即’第1個問題為’必須針對系統控繼94及光碟控制 器95分別開發依附於各硬體之第及第2〇s,並製作於各 0S上執行之任務程式。這不僅會使各控制器之lsi的元件成 本大幅增加,也使⑽絲務則膽成本大幅增加。 10 15 弟個問題為’習知多任務系統用除錯方法無法進 行中斷處理%式等的除錯。這是目為習知除錯方法是以任 務等級實現除錯功能。換言之,進行中斷處理之程式不會 作為任務管理,而是以獨立之程式存在。故,益法將中斷 處理程式之除錯與任務之除錯同樣地進行,因此無法進行 匕3中斷處理之多任務系統全體之除錯。為了接受來自其 Γ制器之中斷要求’也必須整合中斷處理程式之除錯環 境0
於進行多任務系統之除錯的 该除錯方法之電路等。 本發明之目的在於提供易 除錯系統、除錯方法及可採用 【韻^明内容】 2〇 用以解決課題之手段 …具有主機電腦及電路,主機電腦係 執仃除錯器程式者,而% ^ ㈣…扭 電路則係由構築有-具有以前述除 錯為耘式除錯之第丨多任 系統的複合季咣者、, 非除錯對象之第2多任務 4者。料電路具有儲存有程式之記憶體及 1299468 可執行前述記憶體上 可儲存H摔作^ /處理部。而,前述記憶體則 以上的任務及何管理前述第1多任務系統之1個 作系統管理為第u t糾呆作糸統’係可將前述第1操 5異之^—管理與前述幻任務程式相 ..統==Γ儲存-_制前述㈣任務 述除伊W 述處理部可回應來自已執行前 1、二式之前述主機電腦的指令來執行前述監控程 …:執•應前述指令之處理後,對前述主機電腦回覆 的第=!^:述第2操作—上 八储存為别述第2多任務系統。 亦可使别述5己憶體館存第3操作系統及該摔 所管理之第3任務程式作為前述⑽以 二乍系统 15且’將前述第3操作系統及前述第 々:4式’ 多任務系統。 4式儲存為前述第2 多任矛ϋΓΓ具有堆豐’且,前述處理部係將前述第1 控程式停止執行前述扪多 纟者根據則述監 2〇務程式。 列壬矛力系統所包含之!個以上的你 勺八亦可《述處理部於停止執行前述第丨多任務 W之任編切,使前她操作系統遷移至 所 亦可使前述處理部於處理到 6 4。 使前述第1操作系統遷移至停止狀能、4之暫停點時, 4,並停止執行前述第工 1299468 多任務系統所包含之任務程式。 可使前述處理部於處理發生例外時,使前述第ι操作 Γ遷移至停止狀態’並停止執行前述第1多任務祕所包 含之任務程式。 5⑴亦可使前述處理部於前述第1操作系統上,執行前述第 一夕麵純之中斷處理,射較前述第μ任務系統的任 任務程式優先執行前述中斷處理。 亦可使前錢理部於前述第,執行前述第 夕任各系統之中斷處理,並可較 0程式優純行料情纽合祕的任一任務 中斷理部所執行之前述第1操作系統將前述 多“的任先部可較前述第1 ㈣仕任務私式優先執行前述中斷處理。 15 中斷2料述處理部所執行之前述第1操作㈣將前述 =:理為中斷任務程式,且前述處理部可較前述複 °糸統的任—任務程式優先執行前述中斷處理。 接,而本構料,絲執㈣㈣料之_電®連 構采有-具有以前述除錯器程式除錯之第备 、錢非除錯對象之第2多任❹統之複 々系 有儲存有程式之_及可執行前述記:體且= 可管前述記憶體亦可儲存:第1操作系統,係 第2摔作多刪統之1個以上的任務程式者,·及, 式,且2二=將前述第1操作系統管理為第】任務程 。可述弟i任務程式相異之_以上的第2任務程 20 1299468 式者。 本ι明之電路,係與執行除錯器程式之主機電腦連 ^可構築_具有以前述除錯器程式除錯之第〗多任務系 除錯對象之第2多任務L複合祕者。且,前述 ★ 有儲存有程式之記㈣及可執行前―體上之程 理部。而,前述記憶體係可儲存:幻操作系統;及, :,呆:系統,係可將前述第!操作系統管理為第i任務程 :s叫則述第1任務程式相異之“固以上的第2任務程 10 前述第罐作系統可於前述記憶體讀取則個以上的 任務程式時,將前述確以上的任務程式管理為前述第】多 任務系統之任務程式。 發明之效果 夕糟本發明之除錯系統,可以第1〇s管理除錯對象之第^ 4矛力系、4 ’並將该第⑽作為任務以第⑽加以管理,進 而以第20S官理第2多任務系統。由於第2〇s作為i個任務管 • 理第⑽’因此可不受第1多任務系統之任務影響,決定任 務之優先度。 舉例言之’即使第1多任務系統之任務中有缺陷等,也 -不會因該缺陷而變更第2QS之各任務的優先度。這是因為, 2〇優先度變更之影響只及於第10S所管理之其它任務,而不、會 使第20S之各任務變更。 曰 再者,第20S不需管理第i多任務系統之任務,因此可 降低執行第20S所需之處理負擔。 圖式簡單說明 1299468 第1圖係顯示以第1實施形態之除錯功能開發之第1光 碟系統的構成圖。 第2圖係顯示以第1實施形態之除錯功能開發之第2光 碟系統的構成圖。 5 第3圖係顯示構築有複合型多任務系統之大規模半導 體積體電路(LSI) 109的構成圖。 第4圖係顯示第1實施形態中,除錯系統之全體構成的 概略圖。 第5圖係CPU111與中斷控制裝置112之詳細構成圖。 10 第6圖係顯示停止除錯對象多任務系統之處理例的流 程圖。 第7圖係顯示再度開始除錯對象多任務系統之處理例 的流程圖。 第8圖係顯示第2實施形態中,除錯系統之全體構成的 15 概略圖。 第9圖係顯示判定中斷之處理例的流程圖。 第10圖係顯示第2實施形態中,啟動中斷處理任務之處 理例的流程圖。 第11圖係顯示第2實施形態中,中斷處理任務結束時之 20 處理例的流程圖。 第12 (a)、(b)圖係第2實施形態中,發生中斷時之任 務變遷的時序圖。 第13 (a)〜(e)圖係顯示第2實施形態中,第10S任務 及第20S之就緒佇列狀態的圖。 1299468 第14圖係以〇s任務管理非除錯對象之多任務系統 之任務構成圖。 、 第15圖係顯示第3實施形態中,啟動中斷處理任務之声 理例之流程圖。 ~ 5 第16圖係第3實施形態中,第20S之任務調度處理的處 理例之流程圖。^ 第17圖係顯示第3實施形態中,中斷處理任務結束時之 處理例的流程圖。 第18圖係第3實施形態中,發生中斷時之任務變遷的時 1〇 序圖。 第19 (a)〜(e)圖係顯示第3實施形態中,第]l〇s任務 及第20S之就緒佇列狀態的圖。 第20圖係顯示習知光碟系統之概略構成圖。 【方包方式】 15用以實施發明之最佳形態 以下’ 一面參考附加圖式一面說明本發明之實施形態。 (第1貫施形態) 以下之說明中,首先說明以本實施形態之除錯方法除 錯程式後的積體電路(例如LSI或VLSI)之構成及其特徵。 20接著,說明用以實現程式除錯之構成及除錯方法。
第1圖顯示以本實施形態之除錯功能開發之第丨光碟系 統構成。光碟系統由可裝填光碟8之驅動裝置1及主機電腦2 構成,並透過主機介面匯流排3連接。驅動裝置1使用DVD 一 ROM驅動器等電腦週邊裝置時,驅動裝置1係透過SCSI 1299468 (Small computer system interface)等主機介面匯流排 3於 主機電腦2間收受資料。 驅動裝置1具有光碟馬達5、光拾取器6、伺服器電路7 • 與光碟控制器107。而,第1圖雖也記載有光碟8,但這只是 " 5為了方便說明。由於光碟8可由驅動裝置1拆裝,因此並非 驅動裝置1之構成要件。 • 光碟控制器107為控制驅動裝置1之動作的LSI。光碟控 φ 制器107至少包含CPU9及實體記憶體1〇。光碟控制器1〇7之 控制,主要是藉由CPU9執行讀取至實體記憶體1〇之程式 10後,使作為該執行結果之命令輸出至驅動裝置丨之各構成要 件來實現。 光碟馬達5以預定之旋轉速度使光碟8旋轉。光拾取器6 放射雷射光後檢測其反射光,並輸出對應反射光光量之光 量訊號。飼服器電路7根據來自光拾取器6之光量訊號執行 15聚焦控制或循跡控制。 • 纟示已採用本實施形態之除錯功能的主要特徵為,驅 動裝置1内只安裝1個叫光碟控制器107),並以同一 cpu 執行系統控制器之功能與光碟控制器之功能。這表示,習 20 置94 (第20圖)之系統控制器之功能已設置於光 〜h。使⑸糾目’藉此可較安裝複數LSI時降低元件 尤碟控制器107之CPU9透過構築於實 ==^^複_ 務) 4、t制任務1711、驅動器控制任務1712、 13 1299468 服杰控制任務1721與光碟控制任務1722等。 各任務之具體處理如下。主機控制任務1711控制與主 機電腦2之介面以及與開關(未圖示)之壓下等相關之使用 者的介面之動作。驅動器控制任務1712控制驅動裝置1之啟 動與停止處理及資料之緩衝處理等。伺服器控制任務1721 控制伺服器電路7之動作。光碟控制任務1722控制資料之再 生等。 為灵現第1圖所示之光碟系統,必須開發可於㈣⑶仍 執仃之0S,並以該0S管理所有任務。lSI販賣者在預先設 ίο置有正常動作之os伺服器控制任務1721及光碟控制任務 1722之狀恶下’將LSI販賣給驅動器製造商。該驅動器製造 商/、要衣作可於已设置之〇s上執行之主機控制任務17]^及 驅動器控制任務1712等並加崎錯來完成光碟控制器1〇7 即可由於不*重新開發OS’因此至少可降低開發〇s之成 15 本0 唯,為開發前述光碟控制㈣7,必須將至今可於其它 OS上動作之任務修正為適合1個〇3。 又,針對某-多任務系統之任務以另一多任務系統 之任務等發行系統呼叫時,客^ 夕任務系統之任務狀態會改 2〇變,產生多任務系統之動作不正確的問題。該系統呼叫為 諸如有關任務排程之系統呼叫r▲ 7 1 (就緒佇列之旋轉與任務之 優先度變更)。 之 舉例言之,假設第1圖之驅動裝置 開發中驅動器控制任務1712含有_ ^ ,光碟控制器107 當因驅動器控制 14 1299468 任矛々1712之錯誤處理結果而使光碟控制任務1722之優先度 低於伺服器控制任務1721之優先度時,有時會產生資料無 法再生等問題。 故,以下說明中,將詳細說明已進一步改良第1圖構成 5之構成、用以實現該構成之除錯功能及除錯方法。 第2圖顯示以本實施形態之除錯功能開發之第2光碟系 統構成。對與第1圖相同構成之部分標以相同標號,並省略 其說明。 第2光碟系統之驅動裝置11也與第1光碟系統之驅動裝 1〇置1相同,只安裝有1個LSI (光碟控制器107)。系統控制器 之功能已設置於光碟控制器。 第2圖所示之光碟系統與第丨圖所示之光碟系統的差異 在於,構築於光碟控制器之實體記憶體113的程式管理構 造。 15 具體而言,如第2圖之光碟控制器108所示,主機控制 任務1711及驅動器控制任務1712以第1〇s管理。這些全體構 成1個多任務系統。又,伺服器控制任務1721、光碟控制任 務1722及第1OS則以第20S管理。這些也構成另一多任務系 統。而’第10S係作為1個任務而由第20S管理。為使該音 20義明確,以下將第10S稱為「第10S任務」。 光碟控制器108之CPU111可將所有任務直接或間接於 第20S上管理。將如此構築有複數多任務系統之包括性系統 稱為複合型多任務系統。 接著,說明本實施形態之複合型多任務系統之構成及 15 1299468 複合型多任務系統之除錯方法。 第3圖顯示構築有複合型多任務系統之大規模半導體 積體電路(LSI) 109的構成。LSI109之一例為第2圖所示之 光碟控制器108。 5 LSI109具有CPU111、中斷控制裝置112與實體記憶體 U3。實體記憶體113内讀取並配置有第2OS130、多任務系 統140、150及第10S任務160。這些是CPU111所執行之軟體 (電腦程式)。該系統包含獨立之複數多任務系統140及 150 ’而這些係於1個cpuill上處理。 10 多任務系統140由任務141及任務142構成,並由第 2OS130管理。除錯對象多任務系統15〇由任務151及任務152 構成,並由第10S任務160管理。 若構築第3圖所示之複合型多任務系統,優點為可使 LSI109之開發變得容易。具體而言如下所述。 15 首先,第1,以第2OS130管理第10S任務160,藉此以 不同OS管理獨立的2個多任務系統140及150。故,不需設計 使所有任務在1個〇S上動作。在習知〇5動作之任務也可照 常利用。此時,只要僅使第l〇S任務16〇適合第2〇S13〇,且 重新開發為可安裝習知OS之規格便足矣。故,可降低開發 2〇 所需之成本。 第2,以第2OS130管理之任務為任務141、任務142及 第10S任務160這3個。相較於以第2OS130管理圖示之任務 、142、151及152之情形,第2OS130需管理之任務數量 較少。故,決定任務間之優先度時,需考慮之任務會減少, 16 1299468 而使開發變得容易。這個優點在第10S任務160所管理之任 務數量越多時會越顯著。 再者’第3,複合型多任務系統中,可阻斷其中_多任 務系統之任務對另一多任務系統之任務的影響。舉例言 5 之,假設多任務系統150之任務151發行了就緒佇列旋轉之 系統呼叫。唯,此時之影響只會及於第l〇S任務16〇所管理 之其它任務152,而不會及於其它多任務系統14〇之任務 141、142及第 l〇s任務 160。 以下,說明本實施形態之除錯系統構成及除錯方法。 10藉利用以下之除錯系統對程式除錯,可獲得第3圖所示之 LSI109。例如,對光碟用途之LSI之程式除錯後,可獲得第 2圖所示之光碟控制器108。 第4圖概略顯示本實施形態中,除錯系統之全體構成。 該除錯系統具有透過介面匯流排19〇連接之目標系統i 1〇與 15 主機電腦170。 目標系統110由中央處理單元(CPU) lu、中斷控制 裝置112與實體記憶體113構成。 實體記憶體113讀取並配置有監控程式12〇、第 2〇S130、多任務系統14〇、除錯對象多任務系統15〇及第i〇s 2〇任務160。足些是CPU1U執行之軟體(電腦程式)。該系統 c έ獨立之複數多任務系統14〇及15〇,而這些係於1個 CPU111上處理。故,該系統可說是複合型多任務系統。 多任務系統140由任務141及任務142構成,並由第 2OS130管理。除錯對象多任務系統⑽由任務ΐ5ΐ及任務152 17 ⑧ 1299468 構成,並由第10S任務160管理。第10S任務16〇為第2〇si3〇 所管理之任務的其中之一。稍後將參考第5圖說明cpuin 及中斷控制裝置112之構成及動作。 5 10 15 20 又,主機電腦170配置有除錯器18〇。除錯器18〇為發現 程式之錯誤(缺陷)並支援該修正之軟體,讀取至主機電 細170之未圖示實體記憶體後,以其CPU執行。 目標系統110透過介面匯流排刚與主機電腦獨連接。 _監控程式·藉來自除錯器180之通訊的中斷而啟動。 經啟動之間控程式12G接收來自除錯器⑽之除錯指令後, 執行對應㈣之指令的處理,並將回答送回除錯㈣〇。拜 之以寻,亚控制除錯對象多任務系統⑽之執行。舉例 言之’監控程式竭除錯器接收—要求對 纖之資料的位址。接著,由指定之位址取得資料:並 將取付之貧料送回除錯器18〇。藉 ” 停點」表 兴T _衩制裝置112之蛘鈿嫵士、 一 5圖所示之構成中,對與第4圖所示 七嗜成。弟 相同標號。第5圖為可接受η個中斷群目同之部分標以 自與cpum連接之週較置的鸿 斷的系統例。來 之鍵盤(未圖示)的中斷)會透過中斷^自收到鍵輸入 cpum。受理中斷之CPUln中斷現工制裝置112送出至 始執行中斷處理程式。巾斷控制裝仃巾之程式後’開 具有中斷群控制部 18 1299468 200 ( 1)〜(n),並控制了送出至cpmu之中斷。又,各 中斷群控制部(200⑴〜(n))具有中斷控制暫存器(未 圖示),而可依各中斷群設定中斷優先等級及中斷之許可或 禁止。
接著,一面參考第6圖,一面說明到達預先設定之暫停 ”、、占或赉生例外之時間點時,停止除錯對象多任務系統15〇之 任務151的處理。第6圖為顯示停止除錯對象多任務系統 之監控程式120的處理步驟例之流程圖。如前所述,監控程 式120於CPU1U執行。除錯對象多任務系統150之任務⑸ 0的程式在到達暫停點或發生例外時,使控制切換至監控程 式120之多任務系統停止處理。 又’於步驟S301進行前置處理。前置處理係指將現在 執行中之任務151的暫存器群、程式計數器或狀態暫存器等 ▲之值保存至構築於記《113之堆疊(未圖示)的處理。藉 处里保持除錯對象多任務系統15〇之任務的執行環境。 保存對象不限於堆疊,亦可為堆疊以外之記憶體⑴或 其它記憶體(未圖示)。 20 ;y!^S302 ’ CPU111 對第 2〇si3〇發行一使第 10S任務 U夕強制等待(懸置)之系統呼叫。結果,使第10S任務 刷之執行停止。此時,第20S職受系統呼叫而執行一使 任務_至強制等待狀態之處理。 在下一步驟S303中,Cp削禁止除錯對象多任務系統 /有中斷°舉例言之’中斷之禁止係藉在中斷控制裝 置之中斷控制暫存器中,將控制除錯對象多任務系統 ⑧ !299468 150之中斷的暫存器奴為中斷禁止來實現。
接著’於步驟S304中,CPUm執行第·歡任務調 度纽。任務調度(以T_「調度」)處理係她⑽30 乂任矛力之k先度為基準對任務之執行順序進行排程後,將 最高優先度之任務域為cpum執行之對象的處理。在 此,藉調度處理,進行由第⑽任務刚切換至其它最優先
20 任務(任務141或142)之切換。藉此,控制除錯對象多任 務系統150之複數任務(任務⑸及叫的執行。 之後’於步驟S305中,進行切換後之最優先任務(任 務141或142)的暫存器回復等後續處理,並結束監控程式 接著’一面參考第,,—面說明已停止之除錯對象多 任務系統15〇的再度開始處理。該處理係於除錯對象多任於 系統150之除錯結束後進行。 力 第7圖係顯示再度開始除錯對象多任務系統⑽之處理 的&控程式12G之處理例的流程圖。首先,於任意之時間 點’使用者經由除錯議指示除錯對象多任務 處理再度開始。如此-來,控制會切換至監控程式之多任 務糸統再度開始處理。 於步驟識中,CPU111進行現在執行中之任務的暫存 器保存等前置處理。這與步驟㈣為相同之處理。步驟遍 中,cpum^2〇sl3G發行—用以使第⑽任務⑽之執 行再度開始之系統呼叫。回應系統呼叫,第2〇s丨%使第【⑽ 任務160由強制等待狀態變為可執行狀態。 20 1299468 之中=止TS:3,CPUU1解除除錯對象㈣ ^斷-止。接下來,於前述步驟請3許可曾遭禁止之中 5 10 ㈣S辦’咖⑴執行㈣咖之調度處理。之 ^ ‘許可再度開始執行第任務⑽時,進行 存益回復等處理,復原執行環境。 暫 以上之處理結果,可再度開始執行除錯對象多任務 統150之複數任務(任務151及152)。 ’、 藉本貝崎悲’以第1〇s任務16〇管理除錯對象多任務 系統15〇 ’並於除錯對象多任㈣統15G之任意任務(任務 151或152)到達暫停點之時間點或發生例外之時間點,停 止執行第10S任務16〇。藉此,對於構成除錯對象多任務系 統150之所有任務(151及152),可在保持其執行環境的狀 態下控制執行。 又,在除錯對象多任務系統15〇之停止時即使對第 • 2/OS130發行因其它執行中之任務等產生的改變任務狀態之 系統呼叫,也不會影響第10s任務160所管理之除錯對象多 鶴系統150的任務151及152,可使多任務純之除錯變得 容易。 另一方面,即使由除錯對象多任務系統15〇之任務i5i 及152發行改變任務狀態之純呼叫,此時的影響只會及於 第10S任務丨_管理之任務,而不會及於其它多任務系統 140之任務141、142及第10S任務160。 設置有OS或基本任務之LSI購買者可開發諸如驅動器 21 1299468 控制任務及主機控制任務作為任務151及152並設置為除 錯,藉此獲得驅動裝置11 (第2圖)之光碟控制器1〇8。 而,本實施形態中,係以到達暫停點之時間點或發生 例外之時間點而使第l〇S任務160遷移至強制等待狀態之系 5 統呼叫停止第10S任務160之執行。唯,只要可控制第i〇s 任務160之執行,亦可以遷移至等待(待機)狀態之系統呼 叫來停止執行第10S任務160。 本實施形態中,係以目標系統110由2個多任務系統14〇 與150構成之例進行說明,但前述處理亦可適用於由3個以 1〇上多任務系統構成。又,雖以多任務系統140與150由2個任 務構成為例進行說明,但亦可適用於多任務系統14〇及15〇 的其中一者,或雙方為3個以上任務構成之情形。 本實施形態中,說明第2OS130將第10S任務160及非除 錯對象之多任務系統14〇管理為任務,並以第1〇s任務16〇 15官理除錯對象之多任務系統150。唯,設置分別管理除錯對 象及非除錯對象之各多任務系統的〇s,並設置具有該等〇s 之任務的包括性OS來進行管理。舉例言之,第14圖顯示本 貫施形態之變形例的系統管理構造。該系統中,以第1〇s 任務160官理除錯對象之多任務系統15Q,並以 第 3OS1110 20宫理除錯對象之多任務系統140。且,第2〇S13〇具有第⑽ 任矛力160及第3OS1110作為任務,並管理其處理。若採取前 述管理構造,即使非除錯對象之多任㈣統有2個以上,亦 :以OS任務官理非除錯對象之多任務系統,並以第 官理各OS任務,因此可進行統—之處理,構築萬用性高之 22 1299468 系統。又,第2OS130只要設定成僅管理各〇S任務即可,因 此可降低開發所需之成本。 而,本實施形態中,並未說明用以獲得第1圖所示之光 碟控制器107的多任務系統之除錯系統。唯,該除錯系統可 5 藉由例如第4圖所示之目標系統11〇之構成中省略任務160 而獲得。而,如前所述’需留意可能必須開發各任務而使 其適合1個OS。 (弟2實施形態) 第8圖概略顯示本實施形態之除錯系統的全體構成。第 10 8圖之構成中,與第4圖所示之構成相同之部分乃標以相同 標號。第8圖之構成要件中,已於第1實施形態說明之要件 則省略說明。 本實施形態之除錯系統除了第1實施形態所說明之除 錯系統(第4圖)的構成外,實體記憶體113中配置有假想 15中斷控制程式510。又,除錯對象多任務系統150由任務 151、任務152及中斷處理500構成。 以下,說明假想中斷處理。本實施形態之假想中斷處 理係將除錯對象多任務系統之中斷處理500作為任務並以 第10S任務160加以管理。且,藉假想中斷控制程式51〇,優 20先於其它任務(任務141、142、151及152)來使中斷處理 任務執行。以下,將前述中斷處理任務稱為「中斷處理任 務」0 首先,第8圖之各任務的優先度如下。換言之,將第10S 任務160所管理之各任務的優先度設為: 23 1299468 中斷處理任務500>中斷處理任務以外的任務(任務 151及152) 又,中斷處理任務500啟動時,將第2OS130管理之各 任務的優先度設為: 第10S任務160>第1〇3任務160以外的任務(任務141 及 142) 又,除錯對象多任務系統150中,當中斷處理為複數 時,使中斷處理任務之優先度不同,並以假想中斷處理執 行等級中斷功能。舉例言之,有除錯對象多任務系統15〇之 1〇中斷1及中斷2 (唯,將中斷等級之優先度設定為中斷1;>中 斷2),將對應各中斷之中斷處理任務分別作為中斷處理任 務1及中斷處理任務2。將此時之任務優先度設為: 中斷處理任務1>中斷處理任務2 藉此,可實現對應等級中斷之假想中斷處理。 15 接著,說明假想中斷控制程式510之中斷處理任務500 的啟動及結束處理。 20 第9圖為顯示判定中斷之處理例的流程圖。步驟細 首先,當發生中斷時,控制會切換至假想中斷控制程 之中斷判线理。CPU1U進行暫存器保存、堆疊之 ^二前置處理。接著,於步獅2中,狀該中斷是否 對象多任務系統150之中斷。當符合時,處理前進 4S6〇5’不符合時,則前進至步驟s祕。 步驟S㈣,⑽職_般中斷細目同地執行中斷 工亚於步獅04中,執彳玲存㈣復、調度處理等後 ⑧ 1299468 續處理後,由中斷回復。 另一方面,步驟S605中,CPU111進行中斷處理任務5〇〇 之啟動處理。以下,一面參考第1〇圖一面說明該處理之細 /γ/Γ 即0 5 第10圖為顯示啟動中斷處理任務500之處理例的流程 圖。首先,步驟S7〇l中,CPU111對第2OS130發行第10S任 • 務160之優先度變更的系統呼叫,並將第l〇S任務160之優先 鲁 度變更為最高(最優先)。接著,於步驟S7〇2中,CPU111 執行第2OS130之調度處理。結果,執行之對象會切換為最 10高優先度之第10S任務160。 於下一步驟S703中,CPU111對第i〇s任務16〇發行中斷 處理任務500之任務啟動的系統呼叫,以啟動中斷處理任務 500。接著,於步驟S704中,CPUln執行第1〇s任務16〇之 凋度處理。藉此,調度最高優先度之中斷處理任務5〇〇。 15 再者,CPU111於步驟幻〇5中,禁止除錯對象多任務系 鲁統15〇之所有中斷。且,由中斷回復,並執行中斷處理任務 500 〇 接著,-面參考第_,一面說明中斷處理任務結束 時之處理。第11圖為顯示中斷處理任務5〇〇結束時之處理例 如的流程圖。步驟s謝中,CP麵將中斷處理任務由第 10S任務160之就緒糾中移除,並遷移至中止狀態。而,「就 緒符列」(Ready Queue)係指管理可執行狀態之任務所用 之行列。任務在就緒狀態時,會依各優先度配置於等待行 列。該等待行列即稱為就緒佇列。 25 1299468 下一步驟S802中,CPU111檢查其它中斷處理任務是否 已啟動。未啟動時前進至步驟S803,而啟動時則前進至步 驟S804。 步驟S803中,CPU111對第2OS130發行第10S任務160 5之彳艾先度受更,以使弟10S任務160之優先度恢復。 步驟S804中,CPU111執行第i〇S任務160之調度處理。 藉此,切換為執行對象具有最高優先度之任務。 步驟S805中,CPU111執行除錯對象多任務系統之中斷 卉可及禁止设定處理,以設定對應因調度處理而呈執行狀 ίο悲之任務的中斷峰可及禁止狀態。舉例言之,步驟S804之 對第10S任務160的調度處理後,當呈執行狀態之任務為中 斷禁止狀態之中斷處理任務等時,將除錯對象多任務系統 150之中斷設定為中斷禁止。又,當為中斷許可狀態之任務 4 4,將k禁止之除錯對象多任務系統的中斷設定為中 15 斷許可。 中斷許可或禁止設定處理係由以下處理實現。即,第 10S任務160保持-管理各任務(任務151、任務152及中斷 處理任務5GG)之中斷許可及禁止狀態的資訊(以 斷管理資訊」)。舉例言之,第1〇s任務於任務控制器區 20塊(TCB)保持是否為任務之中斷許可狀態的中斷許可旗 才示及用以设疋可接收之中斷等級的中斷遮罩等級。接著, 只要參考因10S任務160之調度處理而呈執行狀態之任務的 中斷管理資訊,並設定除錯對象多任務系統15()之中斷的中 斷許可及禁止即可。舉例言之,由中斷控制裝置ιΐ2之中斷 26 1299468 控制暫存器中,將控制除錯對象多任務系統15〇之中斷的中 斷控制暫存器之設定設定為中斷許可及禁止。 • 下步驟s806中,CPUUl執行第2〇S13〇之調度處理。 ' 藉此,執行該時間點之最優先任務。 如上所述,將中斷處理作為1個任務而以第10S任務 160加以官理’亚藉假想巾斷控制程式5珊先於其它任務 ^任矛力14卜142、151及152)執行中斷處理任務5〇〇。由於 # 卩錢優先度’因此可與通常中斷處理同樣地優先執行中 斷處理任務150。 1〇 接著,說明除錯對象多任務系統15〇之任務(任務151 及152)及中斷處理任務5〇〇之停止處理。 ▲除錯對象多任務系統⑽之任務(任務151或任務152) 之—止處理與第!實施形態相同,係於構成多任務系統之任 務任務到達暫停點的時間點,或發生例外之時間點進行。 15於該時間點,CPU111停止執行第1〇s任務副。即使在除錯 • 對象多任務系統150之中斷處理,中斷處理任務500也是以 帛i〇s任務16〇管理為任務,因此一般任務(任務151或任務 152)同樣在到達暫停點之時間點或發生例外之時間點,停 止執行第10S任務160,藉此使除錯對象多任務系統15〇停 2〇 2。停止之除錯對象多任務系統150的再度開始處理輿第i 實施形態所說明之再度開始處理相同。 接著,說明假想中斷處理之動作例。該例係任務141 為執行中,而中斷處理任務為未啟動時之假想中斷處理的 動作例X ’將第2〇S13〇所管理之任務優先度設定為: 27 1299468 任務141 (優先度2) >任務142 (優先度3) >第l〇S 任務160 (優先度4) 為進行中斷處理任務之啟動處理,將第1〇s任務16〇之 優先度設定為最優先時,各任務之優先度為: 5 第10S任務160 (優先度1 ) >任務141 (優先度2) > 任務142 (優先度3) 又’第10S任務160所管理之任務優先度為: 中斷處理任務500 (優先度1) >任務151 (優先度2) >任務152 (優先度3) 1〇 苐12 ( a)圖顯示除錯對象多任務系統發生中斷時之任 務遷移時序,而第12(b)圖則顯示非除錯對象之除錯對象 多任務系統發生中斷時之任務遷移時序。第13圖顯示中斷 處理任務之啟動處理及結束處理中,第1〇s任務16〇及第 2OS130之就緒佇列狀態。 15 首先,說明除錯對象多任務系統15〇發生中斷時之動 作。 如第12 (a)圖之901及第13 (a)圖所示,除錯對象多 任務系統150發生中斷時,CPmil將控制切換至假想中斷 控制程式51〇之中斷判定處理。進行暫存器保存、堆疊切換 等前置處理(步驟應)。接著,判斷是否為除錯對象多任 務系統150之中斷(步驟S602)。在此為除錯對象多任務系 '先150之中斷,因此執行中斷處理任務之啟動處理(步驟 S605)〇 接著,如第13 (b)圖所示,對第2〇S13〇發行一將第 28 1299468 10S任務160之優先度設為最高優先度之系統呼叫(步驟 S701),並執行第2〇si30之調度處理(步驟S7〇2)。藉此, 由任務141切換至最高優先任務之第10S任務160。接著,如 第13 (c)圖所示,對第10S任務16〇發行一與中斷處理任務 5 之啟動有關的系統呼叫(步驟S703)後,執行第10S任務 160之調度處理(步驟S704)。藉此,將最高優先度之中斷 處理任務500分配為執行對象。接著,禁止除錯對象多任務 系統150之所有中斷(步驟S705)後,由中斷回復,並開始 執行中斷處理任務500 (第12 (a)圖之902)。 10 中斷處理任務500結束後(第12 (a)圖之903),由第 13 (d)圖可知,將中斷處理任務5〇〇由第1〇s任務16〇之就 緒佇列移除並遷移至中止狀態(步驟S801)。接著,檢查其 它中斷處理任務是否未啟動(步驟S8〇2)。 由於未啟動,因此如第13 (e)圖所示對第2〇s 130發行 15 一第108任務160之優先度變更的系統呼叫(步驟S803 ), 以恢復第10S任務160之優先度。接著,進行第1〇s任務16〇 之調度處理(步驟S804),藉此使任務151呈執行狀態,並 對應任務151之中斷狀態進行除錯對象多任務系統之中斷 設定(第11圖之步驟S805)。再者,執行第2〇si3〇之調度 2〇處理(步驟S806)。藉此,執行該時間點之最優先任務141 (第 12 (a)圖之904)。 接著,說明非除錯對象之多任務系統發生中斷時之動 作。 舍生中斷日守(第12(b)圖之905 ),CPU111將控制切 29 1299468 換至假想中斷控制程式510之中斷判定處理。接著,進行暫 存器之保存或堆疊之切換等前置處理(步驟S601)。之後, 判斷"亥中斷是否為除錯對象多任務系統150之中斷(步驟 S602)。在此’由於不是除錯對象多任務系統之中斷, 5因此會分歧至中斷處理程式(第9圖之步驟S603,第12 (b) 圖之906)。執行中斷處理程式後,回到假想中斷處理(第 12(b)圖之9〇7)。執行暫存器之回復或調度處理等後續處 •籲理(步驟S604)後,由中斷回復(第12 (b)圖之9〇8)。 卜藉本貫施形態,除第1實施形態所說明之效果外,更可 10獲仔以下效果。換言之,使其進行與中斷處理同等之動作 的假想中斷處理,藉此以第10S任務16G管理除錯對象多任 矛力=統之中斷處理,並於到達暫停點之時間點或發生例外 之時間點,停止執行第⑽任務⑽。藉此,使構成除錯對 I多任務系統150之所有任務(任務151及任務152)及中斷 I5處理· ’可在保持其執行環境之狀態下控制執行。藉此, • ^仃包含中斷處理之多任務系統全體的除錯,使除錯變 20 肩,本貫施形態雖以目標系統110由2個多任務系統14〇 =晴成之例進行說明,但由3個以上之多任務系統構成 可相本發明。又,各多任務純⑽肋峰以任矛欠 個構成之例進行說明,但由2個以上之中斷處_ 成時亦可適用本發明。 傅 —而,本實施形態中,非除錯對象之多任務系統⑽係由 弟咖3〇管理’但亦可以娜崎理之〇s任務來加以管 30 1299468 理。又’即使非除錯對象之多任務系統有2個以上時,亦可 、任a g理各非除錯對象之多任㈣、統,並以第2〇si3〇 管理各OS任務。 枯而’本貫施形態中,中斷處理任務之啟動處理的中斷 不止處理(第!圖之步驟⑽5),Μ及中斷處理任務結束處 理之中斷井可或禁止處理(第U圖之步驟S805)中,雖以 。午可及示止除錯對象多任務系統15〇之所有中斷的例子進 行。兒月但亦可許可及禁止多任務系統140之所有中斷。 (弟3實施形態) ° 本貝施形恶之除錯系統的全體構成與參考第8圖所說 明之除錯系統構成相同。故,沒有特別說明之構成要件及 動作係如與先前的實施形態所說明者。 以下,說明本實施形態之假想中斷處理。本實施形態 之饭想中斷處理,係將除錯對象多任務系統之中斷處理5〇〇 15作為任務(中斷處理任務)而以第l〇S任務160加以管理, 並藉假想中斷控制程式510使中斷處理任務優先於除錯對 象多任務系統之任務(任務151、152)執行來實現。以下, 說明該處理。 首先,將第8圖所示之各任務優先度設定如下所示。 20即,將第10S任務160所管理之各任務的優先度設為: 中斷處理任務500>中斷處理任務以外之任務(任務 151及152) 又,第2OS130所官理之各任務的優先度則沒有優先度 之限制。 31 1299468 又,除錯對象多任務系統150中有複數中斷處理時,與 第2實施形態相同’可使中斷處理任務之優先度不同,藉此 以假想中斷處理執行等級中斷之功能。 接著,說明本實施形態之假想中斷控制程式51〇之中斷 5 處理任務500的啟動及結束處理。而,判定中斷之處理係以 第9圖所示之步驟進行。 首先,發生中斷時,CPU111將控制切換至假想中斷控 制程式510之中斷判定處理。接著,進行暫存器保存、堆疊 切換等前置處理(第9圖之步驟S601 )。接著,判斷是否為 10除錯對象多任務系統150之中斷(第9圖之步驟S602)。 非除錯對象多任務系統150之中斷時,與一般中斷處理 相同,執行中斷處理程式(第9圖之步驟S6〇3),並執行暫 存器回復及調度處理等後續處理後(第9圖之步驟S6〇4), 由中斷回復。 15 為除錯對象多任務系統之中斷時,執行中斷處理任務 之啟動處理(第9圖之步驟S605)。該處理顯示於第15圖。 第15圖為顯示啟動本實施形態之中斷處理任務5〇〇的 處理例之流程圖。 首先,步驟S1201中,CPU111對第l〇s任務160發行一 2〇任務啟動之系統呼叫,以啟動中斷處理任務500,並於步驟 S1202中,確認第1〇s任務16〇是否在執行中。執行中時前 進至步驟S1203,非執行中時則前進至步驟sl2〇5。 步驟S1203中,CPU111執行第10S任務160之調度處 理。藉此’調度最高優先度之中斷處理任務5〇〇。再者,步 ⑧ 1299468 驟S1204中,禁止除錯對象多任務系統15〇之所有中斷,接 著’由中斷回復,並執行中斷處理任務500。 另一方面,步驟S12〇5中,CPU111調度第10S任務160 後’設定中斷處理任務之啟動要求,以調度中斷處理任務 5 500 °舉例言之,該啟動要求之設定係藉設定中斷處理任務 之啟動要求旗標來進行。接著,步驟S1206中,執行暫存器 之回復等後續處理,並由中斷回復。 接著’說明在第20S調度第10S任務160後,第10S任 務160調度中斷處理任務500之處理。第16圖係顯示第20S 10之調度處理例的流程圖。 首先,步驟S1301中,CPU111執行第2OS130之任務排 程,判斷執行狀態之任務是否為第10S任務160,且是否有 中斷處理任務之啟動要求。滿足條件時前進至步驟S1303, 而未滿足條件時則回到程式,並以第2〇s之任務排程執行呈 15 執行狀態之任務。 步驟S1303中,CPU111執行第10S任務之調度處理。藉 此,調度中斷處理任務5〇〇。接著,於步驟513〇4中,cpum 禁止除錯對象多任務系統15〇之所有中斷,並執行中斷處理 任務500。 20 接著,說明中斷處理任務結束時之處理。第17圖係顯 示本實施形態之中斷處理任務5〇〇結束時之處理例的流程 圖。 首先,步驟S1401中,CPU111將中斷處理任務5〇〇由第 10S任務160之就緒佇列移除,並遷移至休止狀態。接著, 33 1299468 於步驟S1402中,CPU111執行第10S任務16〇之調度處理。 為了使其成為對應因調度處理而呈執行狀態之任務的中斷 • 許可及禁止狀態,於步驟S1403中,CPU111執行除錯對象 二 夕任務系統之中断s午可或禁止設定處理,並執行呈執行狀 5 態之任務。 如上所述,將中斷處理作為丨個任務,以第1〇s任務⑽ -管理,並藉假想中斷控制程式510,較除錯對象多任務系統 '鲁 之任務(任務151及152)優先處理中斷處理任務5〇〇。由於 可設定優先度,因此可優先執行中斷處理任務5〇〇。 1〇 接著,說明停止本實施形態之除錯對象多任務系統15〇 之任務(任務151及152)與中斷處理任務5〇〇之處理。 停止除錯對象多任務系統150 (任務151及任務152)之 處理與第1實施形態相同,在構成多任務系統之任意任務到 達暫停點之時間點或發生例外之時間點,停止執行第i〇s 15 任務160。 • 除錯對象多任務系統150之中斷處理中,中斷處理任務 5〇〇也是作為任務而以第10S任務160管理,因此一般任務 (任務151或任務152)同樣在到達暫停點或之時間點或發 生例外之時間點,停止執行第10S任務160,藉此停止除錯 20對象多任務系統150。 曰 接著10兒明本貫施形態之假想中斷處理的動作例。該 例係任務141為執行中,中斷處理任務未啟動時之假想中斷 處理的動作例。又,將第2OS130所管理之任務的優先度設 為: 又〇 34 1299468 任務141 (優先度2) >任務142 (優先度3)〉第i〇s 任務160 (優先度4) 又,將第10S任務160所管理之任務的優先度設定為: 中斷處理任務500 (優先度1) >任務151 (優先度2) 5 >任務152 (優先度3) 第18圖顯示發生除錯對象多任務系統15〇之中斷時,任 務變遷之時序。又,第19圖顯示中斷處理任務之啟動處理 及結束處理中,第10S任務160及第2〇S13〇之就緒佇列狀 態。 1〇 6兒明發生除錯對象多任務系統150之中斷時的動作。 發生除錯對象多任務系統之中斷時(第18圖之15〇1與 第19(a)圖),CPU111將控制切換至假想中斷控制程式51〇 之中斷處理判定處理。接著,進行暫存器保存、堆疊切換 等前置處理(步驟S601)。接著,判斷是否為中斷處理任務 15之啟動對象的中斷(步驟S602)。該例之中斷為中斷處理任 務之啟動對象的中斷。故,CPU111a行中斷處理任務之啟 動處理(步驟S605)。 首先,對第10S任務160發行一中斷處理任務5〇〇之任 務啟動的系統呼叫,以啟動中斷處理任務500(步驟S1201, 20第19 (b)圖)。接著,確認第10S任務160是否為執行中(步 驟S1202)。由於第i〇s任務160並非執行中,因此乃設定中 斷處理任務之啟動要求,以在調度第1〇3任務16〇後調度中 斷處理任務5〇〇。接著,執行暫存器回復等後續處理(步驟 S1206) ’並由中斷回復,執行任務141 (第18圖之15〇2)。 1299468 任務141結束後(第18圖之1503),執行第2OS130之調度處 理。 首先,執行第2OS130之任務排程(步驟si3〇l ),使任 務142呈執行狀態(第19 ( c)圖)。判斷執行狀態之任務是 5否為第10S任務160,且,是否有中斷處理任務之啟動要求 (步驟S1302)。由於並非第10S任務160,因此會執行已呈 執行狀態之任務142 (第18圖之1504)。任務142結束後(第 18圖之1505),執行第20S之調度處理。執行第2〇s之任務 排程(步驟S1301),使第10S任務160呈執行狀態(第19(d) 10圖)。判定執行狀態之任務是否為第10S任務160,且是否有 中斷處理任務之啟動要求(步驟S1302)。由於執行狀態之 任務為第lOS任務160,且有中斷處理任務之啟動要求,因 此執行第10S任務160之調度處理(步驟S1303)。再者禁 止除錯對象多任務系統150之所有中斷(步驟sl3〇4),並執 15 行中斷處理任務500 (第18圖之1506)。 中斷處理任務500結束後(第18圖之15〇7),首先,將 中斷處理任務500由第10S任務之就緒仔列移除並遷移 至休止狀態(步驟S14〇1,第19 (e)圖)。接著,執行第i〇s 任務160之調度處理(步驟S1402)’使任務15ι呈執行狀態。 2〇對應任務151之中斷狀態,進行除錯對象多任務系統⑼之 中岐定(步驟襲3)後,執行已呈執行狀態之任務i5i (第18圖之测)。藉此’可獲得與第2實施形態之除錯系 統相同之效果。 曰 如前述所及’將除錯對象多任務系統15〇以第i〇s任務 36 1299468 160加以官理,並在構成除錯對象多任務系統之任意任務 (任務151或任務152)到達暫停點之時間點或發生例外之 守門”:占停止執行第10S任務160,藉此使構成除錯對象多 任矛力系統150之所有任務(任務151及任務152),可在保持 5 ’、執仃%境之狀態下控制執行。又,在除錯對象多任務系 之停止令,即使對第20S13O發行一因其它執行中^任 矛力等而使任務狀態改變之系統呼叫,也不會影響第⑽任務 160所官理之除錯對象多任務㈣⑽之任務⑸及i52,可 使除錯變得容易。 灯百,猎進行等同 除夢料*夕一』1凹丨处往I動作假想中斷處理,將 理曰、,夕任務系統之中斷處理以第10S任務刚加以管 執行達暫停點之時間點或發生例外之時間點,停止 之所=矛= 務1Γ藉此使構成除錯對象多任務系統⑼ 15 20 在佯持4技151及任務152)及中斷處理任務500,可 環境之狀態下控制 H里之多任務系統全體的除 本只施形態中,說明目庐备 與15〇構成之例而太又"…10由2個多任務系統140 構成之可適用 成任務數之例任務f統14{)與15G分別以2個構 之其:2兩=發明亦可適用於多任務系統⑽與150 除錯對象=Γ_上任務構成之情形。又· ^ τ / 0之中斷處理數由1 _成,~本發 月亦可適用於2個以上中斷處理構成之情开《 本 本實施形態中,非除錯對象之^務系統14〇係以第 37 1299468 2〇S130管理,但亦可以第2OS130管理之〇s任務管理。又, 非除錯對象之多任務系統有2個以上時,可將各非除錯對象 之夕任矛力系統以qs任務管理,並將各〇3任務以第2〇$^〇 管理。 而本μ施形恶中,中斷處理任務之啟動處理内的中 止處理(第15圖之步驟S1204)、第20S調度處理之中 斷禁止處理(第16圖之步驟S1304)及中斷處理任務結束處 理之中斷許可或禁止處理(第17圖之步驟S1403)係以禁止 及許可除錯對象多任務系統150之所有中斷為例進行說 1〇明。唯,亦可許可及禁止除錯對象多任務系統150及多任務 系統140之所有中斷。 產業上之利用可能性 妓藉本I明,可獲得一對複數並行執行由複數任務與中 15 20 置構成之多任務系統的程式除錯十分有用的方法及裝 卷月之夕任務系統的程式除錯方法與其裝置在構成 士…子象夕任務系統之任務任務及中斷處理到達暫停點之 =間點或發生例外之時間點,可使構成除錯對好任務系 制^所有任務及中斷處理,在保持其執行環境之狀態下控 ^节又,在除錯對象多任務系統15〇停止中,即使由其 董中之任務發行一使任務狀態改變之系統呼叫,除錯 备夕任矛力系統之任務也不會受影響。藉此,可使多任務 糸統之除錯容易。 【圖式簡單說^明】 第1圖係顯示以第❻施形態之除錯功能開發之第冼 38 1299468 碟系統的構成。 第2圖係顯示以第1實施形態之除錯功能開發之第2光 碟系統的構成圖。 第3圖係顯示構築有複合型多任務系統之大規模半導 5 體積體電路(LSI) 109的構成圖。 第4圖係顯示第1實施形態中,除錯系統之全體構成的 概略圖。 第5圖係CPU111與中斷控制裝置112之詳細構成圖。 第6圖係顯示停止除錯對象多任務系統之處理例的流 10 程圖。 第7圖係顯示再度開始除錯對象多任務系統之處理例 的流程圖。 第8圖係顯示第2實施形態中,除錯系統之全體構成的 概略圖。 15 第9圖係顯示判定中斷之處理例的流程圖。 第10圖係顯示第2實施形態中,啟動中斷處理任務之處 理例的流程圖。 第11圖係顯示第2實施形態中,中斷處理任務結束時之 處理例的流程圖。 20 第12 (a)、(b)圖係第2實施形態中,發生中斷時之任 務變遷的時序圖。 第13 (a)〜(e)圖係顯示第2實施形態中,第10S任務 及第20S之就緒佇列狀態的圖。 第14圖係以OS任務管理非除錯對象之多任務系統時 39 1299468 之任務構成圖。 第15圖係顯示第3實施形態中,啟動中斷處理任務之處 理例之流程圖。 第16圖係第3實施形態中’第20S之任務調度處理的處 理例之流程圖。 第17圖係顯示第3實施形態中,中斷處理任務結束時之 處理例的流程圖。 第18圖係第3實施形態中,發生中斷時之任務變遷的時 序圖。 、 第19 (a)〜(e)圖係顯示第3實施形態中,第任務 及第20S之就緒佇列狀態的圖。 (S) 第20圖係顯示習知光碟系統之概略構成圖。 【主要元件符號說明】 1···驅動裝置 111 …CPU 2···主機電腦 112···中斷處理裝置 3···主機介面匯流排 113…實體記憶體 5…光碟馬達 120···監控程式 6···光拾取器 130···第 20S 7···伺服器電路 140···多任務系統 8...光碟 141,142…任務 9...CPU 150···除錯對象多任務系么先 10.··實體記憶體 151,152···任務 107,108···光碟控制器 160···第 10S (任務) 110…目標系統 170…主機電腦 40 1299468
180.. .除錯器 1110···第 30S 190.. .介面匯流排 1711...主機控制任務 200 (1)〜200 (η)…中斷群控 1712···驅動器控制任務 制部 17 21 ···伺服器控制任務 500. ··中斷處理 1722. ··光碟控制任務 510…假想中斷控制程式
41

Claims (1)

  1. ^^9468 十、申請專利範圍·· L種除錯系統,包含有: 5
    10 ^機電腦,係用以執行除錯器程式者;及 思路,係構築有一呈有1 、 體上之程式的處=存有私式之記憶體及可執行前述記憶 而,前述記憶體則可儲存·· 的任ΙΓ作系統’係可管理前述第…壬務系統之1個以上 勺任務&式者;及 第罐作系統,係可將前述第i操作系統管理為第i任務 式且S理與前述第1任務程式相異之1個以上的第2任務 程式者。 2·如申請專利範圍第1項之除錯純,其中前述記憶體更儲 子有用以控制前述第1多任務系統之執行的監控程式; γ述处理^可回應來自已執行前述除錯器程式之前述 ^機電腦的指令來執行前述監控程式,並執行對應前述指 々之處理後’對前述主機電腦回覆一回應。 i如申請專利範圍第1項之除錯系、統,其中前述記憶體係將 前述第2操作系統及前述1個以上的第2任務程式儲存為前 述第2多任務系統。 4·如申請專利範圍第1項之除錯系統,其中前述記憶體係儲 存第3操作系統及該第3操作系統所管理之第3任務程式作 為前述1個以上的第2任務程式; ⑧ 42 1299468 3任務程式儲存為前 且,將前述第3操作系統及前述第 述第2多任務系統。 5.如申請專利範圍第2項之除錯系統,其中前述電 堆疊; 〃有 且,前述處理部係將前述第i多任務系統之執行環境保 存至前述堆4 ’歸根㈣《控H停錢㈣述 任務系統所包含之1個以上的任務程式。 夕 6·如申請專圍第5項之除錯純,其巾前 10 15
    20 停止執行前述幻多任務祕所包含之任務 = 第1操作系統遷移至停止狀態。 、了便别述 7.如申請專利範圍第6項之除錯系統, 處理到達預先設定之暫停點時,使「心處理部係於 停止狀態,並停止執行前述第 %作純遷移至 式。 務糸統所包含之任務程 8·如申請專利範圍第6項之除錯系統, 處理發生例外時,使前述第丨护^ /、中w述處理部係於 停止執行前述第1多任務系統=勺1、’先遷移至停止狀態,並 9 ·如申請專利範圍第丨項之除錯=:之住務裎式。 前述第1操作系統上,執行4 =、、中前述處理部可於 理,並可較前述第丨多任務2昂1多住務系統之中斷處 糸统的任一体i 述中斷處理。 壮務程式優先執行前 U).如申請專利範圍第#之除錯 於前述第1操作系统上,拙一’、 其中前述處理部可 ' 轨仃前述第1炙/ 理,並可較前述複合系 夕住務系統之中斷4 ’ 優先執行 月1j迷中 43
TW094129664A 2004-09-06 2005-08-30 Debug system for debugging multi-task system and a circuit device connected with a host computer TWI299468B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004258675 2004-09-06

Publications (2)

Publication Number Publication Date
TW200622906A TW200622906A (en) 2006-07-01
TWI299468B true TWI299468B (en) 2008-08-01

Family

ID=35997597

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094129664A TWI299468B (en) 2004-09-06 2005-08-30 Debug system for debugging multi-task system and a circuit device connected with a host computer

Country Status (3)

Country Link
US (1) US20060053413A1 (zh)
KR (1) KR100674751B1 (zh)
TW (1) TWI299468B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4676289B2 (ja) * 2005-09-14 2011-04-27 パナソニック株式会社 デバッグシステム及び方法
JP5125659B2 (ja) * 2008-03-24 2013-01-23 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301312A (en) * 1991-08-21 1994-04-05 International Business Machines Corporation Method and system for utilizing benign fault occurrence to measure interrupt-blocking times
US5621912A (en) * 1994-12-29 1997-04-15 International Business Machines Corporation Method and apparatus for enabling monitoring of guests and native operating systems
US5903718A (en) * 1996-09-16 1999-05-11 International Business Machines Corporation Remote program monitor method and system using a system-under-test microcontroller for self-debug
US5978902A (en) * 1997-04-08 1999-11-02 Advanced Micro Devices, Inc. Debug interface including operating system access of a serial/parallel debug port
JP2000250777A (ja) 1999-02-25 2000-09-14 Canon Inc 情報処理装置と情報処理方法、及び記憶媒体
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
US7823131B2 (en) * 2001-06-29 2010-10-26 Mentor Graphics Corporation Debugger for a hardware-implemented operating system

Also Published As

Publication number Publication date
KR20060051011A (ko) 2006-05-19
US20060053413A1 (en) 2006-03-09
KR100674751B1 (ko) 2007-01-25
TW200622906A (en) 2006-07-01

Similar Documents

Publication Publication Date Title
KR101702700B1 (ko) 고속 컴퓨터 시동
US10067835B2 (en) System reset
US8464257B2 (en) Method and system for reducing power loss to backup IO start time of a storage device in a storage virtualization environment
EP2682873B1 (en) Efficient recording and replaying of non-deterministic instructions in a virtual machine and cpu therefore
KR101454146B1 (ko) 스토리지 장치, 제어 장치 및 기록 매체
JP4678396B2 (ja) 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム
JP2003345612A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム
JP2008527506A (ja) Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構
JP2000029737A (ja) デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ
JP2018511104A (ja) 改善されたハイブリッドスリープ電力管理のための技術
KR101901587B1 (ko) 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치
CN104850435A (zh) 电源管理控制器与方法
TW200825923A (en) Task processing device
TW201017538A (en) System for switching BIOS and method thereof
JP2008073259A (ja) ゲーム装置
US20070214347A1 (en) Method and apparatus for performing staged memory initialization
TWI299468B (en) Debug system for debugging multi-task system and a circuit device connected with a host computer
US6968410B2 (en) Multi-threaded processing of system management interrupts
TW200937294A (en) Task processor
JP5864529B2 (ja) 仮想計算機システム、仮想計算機システム制御方法、及び仮想計算機システム制御プログラム
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
US20150149144A1 (en) Simulating non-volatile memory
JP5187944B2 (ja) コンピュータ使用可能コードを実行する装置及び方法
TWI490692B (zh) 電腦狀態快速切換方法及系統
TWI274996B (en) Method for protecting data stored in a hard disk

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees