JP3120841B2 - インサーキットエミュレータ - Google Patents

インサーキットエミュレータ

Info

Publication number
JP3120841B2
JP3120841B2 JP10152228A JP15222898A JP3120841B2 JP 3120841 B2 JP3120841 B2 JP 3120841B2 JP 10152228 A JP10152228 A JP 10152228A JP 15222898 A JP15222898 A JP 15222898A JP 3120841 B2 JP3120841 B2 JP 3120841B2
Authority
JP
Japan
Prior art keywords
processing
indivisible
program
input
executed
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP10152228A
Other languages
English (en)
Other versions
JPH11327954A (ja
Inventor
保 岩▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP10152228A priority Critical patent/JP3120841B2/ja
Publication of JPH11327954A publication Critical patent/JPH11327954A/ja
Application granted granted Critical
Publication of JP3120841B2 publication Critical patent/JP3120841B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムのデバ
ッグ機能を備えたインサーキットエミュレータに関す
る。
【0002】
【従来の技術】ソフトウェアの開発効率を上げるための
方法の一つとして、汎用のライブラリを導入することが
考えられる。汎用のライブラリとしては、リアルタイム
OSやネットワークドライバ、ミドルウェア等多岐にわ
たっている。これら汎用のライブラリはバイナリのみで
提供されることが多く、プログラマは内部の処理を推し
量ることが出来ない。従って、プログラムをデバッグす
る際、これら汎用のライブラリを実行中にブレークを行
い、一連のデバッグ操作を行うことは、汎用ライブラリ
の動作を損なうことになるため禁止されている。
【0003】このようなソフトウェアのデバッグツール
として、インサーキットエミュレータが広く利用されて
いる。インサーキットエミュレータは、プログラムの実
行開始、実行中断などデバッグ機能を備えており、デバ
ッグツールとして使用されている。
【0004】このインサーキットエミュレータでは、次
のような問題がある。ソフトウェアのデバッグを行なっ
ている際、任意の位置でプログラムの実行を停止する状
況が生じる。この場合、インサーキットエミュレータで
は、ユーザが作成したプログラム、リアルタイムOS、
ミドルウェア等の区別なくプログラムの実行を停止して
しまう。しかし、本来ブラックボックスであるリアルタ
イムOSやミドルウェアの処理中に停止した場合、中断
中のデバッグ操作(メモリ内容の変更、レジスタ操作な
ど)により、中断後の実行再開時の動作が保証できない
ことになる。
【0005】この問題を解決するために、従来では特開
平1−260561号公報に開示された技術がある。以
下、本従来技術について説明する。図8は、インサーキ
ットエミュレータを構成するデバッグ用マイクロプロセ
ッサ内に設けられた割込み制御回路およびその周辺回路
の構成を示す回路ブロック図である。この割込み制御回
路およびその周辺回路は、プログラムカウンタ701、
メモリ管理回路702、バス制御回路703、割り込み
制御回路704、ANDゲート708、NANDゲート
709、アドレスバス710などから構成されている。
符号705はINT入力、符号706はNMI入力、符
号707はSVI入力(最高の優先順位を持つスーパバ
イザ割込み入力)、符号711は命令フェッチアドレス
である。
【0006】図9は、従来技術において任意の時点でプ
ログラムの実行を停止する際の、インサーキットエミュ
レータのモニタプログラムのうち、SVI処理を示すフ
ローチャートである。このSVI処理は、デバッグ用マ
イクロプロセッサにSVI入力があったときの割込み処
理として実現されている。
【0007】図10は、インサーキットエミュレータを
使用したデバッグ環境のシステム構成を示すブロック図
である。このシステム構成は、インサーキットエミュレ
ータ901、インサーキットエミュレータ901を制御
するホストマシン902、ホストマシン902とインサ
ーキットエミュレータ901を接続するためのチャネル
903、デバッグ対象となるソフトウェアが動作するタ
ーゲットシステム904、ターゲットシステム904と
インサーキットエミュレータ901を接続するプローブ
905、デバッグ用マイクロプロセッサ906、I/O
ポート907、ホストマシン902との通信用のデュア
ルポートメモリ908、エミュレーションメモリ90
9、バッファ910などから構成されている。なお、符
号911はSVI入力であり、ホストマシン902がI
/Oポート907を操作することにより発生する。
【0008】次に動作について説明する。プログラムに
ついては、リアルタイムOSがF000番地からFFF
F番地に、ユーザーアプリケーションは前記F000番
地からFFFF番地以外のアドレスに配置されているも
のとする。今、ターゲットシステム904でインサーキ
ットエミュレータ901によりプログラムが動作してい
る。ここで、ホストマシン902が強制ブレークを行う
ために、接続チャネル903を通してインサーキットエ
ミュレータ901内のI/Oポート907を操作しSV
Iを発生させたとする。この信号は、SVI入力911
としてデバッグ用マイクロプロセッサ906に入力され
る。入力された前記信号は、デバッグ用マイクロプロセ
ッサ906内の図8に示す割込制御回路704にSVI
入力707として入力される。デバッグ用マイクロプロ
セッサ906では、図8に示すプログラムカウンタ70
1が次に実行する命令の格納アドレスを保持している。
メモリ管理回路702は、命令フェッチするアドレスを
バス制御回路703を通してアドレスバス710へ出力
している。また、メモリ管理回路702は、命令フェッ
チアドレス711へアドレスビットA12〜A15の範
囲の命令フェッチアドレスを出力し、NANDゲート7
09へ供給する。
【0009】この結果、0番地からEFFF番地までの
アドレス範囲のプログラムを実行していた場合、NAN
Dゲート709の出力は‘High’レベルになる。N
ANDゲート709の出力が‘High’レベルであれ
ば、ANDゲート708はSVI入力707をマスクせ
ず、SVI入力707は割込み制御回路704へ入力さ
れる。そして、デバッグ用マイクロプロセッサ906は
前記SVI入力707によりユーザプログラムの実行を
中断し、図9のフローチャートで示すSVI処理を開始
する。このSVI処理では、先ず、レジスタ等のコンテ
キストを待避した後(ステップS1)、ブレークが発生
したときの処理(ステップS2)を行い、ホストマシン
902からのコマンド待ち状態になる。
【0010】一方、F000番地からFFFF番地まで
のアドレス範囲のプログラムを実行していた場合、すな
わちリアルタイムOS処理が行われていた場合、NAN
Dゲート709の出力は‘Low’レベルになる。NA
NDゲート709の出力が‘Low’レベルであれば、
ANDゲート708はSVI入力707をマスクし、S
VI入力707は割込制御回路704へ入力されない。
リアルタイムOS処理が終了し、プログラムが0番地か
らEFFF番地を実行している状態、すなわちユーザプ
ログラムを実行している状態では、NANDゲート70
9の出力が再度‘High’レベルになり、ANDゲー
ト708によりSVI入力707は割込制御回路704
へ入力可能な状態になる。この結果、SVI入力が発生
すると、デバッグ用マイクロプロセッサ906は、ユー
ザプログラムの実行を中断し、図9に示すフローチャー
トに従った処理を行う。
【0011】以上のように従来の技術では、フェッチア
ドレスを利用して、特定のメモリ空間にあるプログラム
を実行している場合には、SVI入力707をマスクし
てプログラムの実行中断を防いでいる。この領域に、実
行を中断された場合に実行再開時の動作が保証できない
リアルタイムOS等のプログラムを配置することによ
り、不可分な処理の中断を防いでいる。
【0012】
【発明が解決しようとする課題】従来のインサーキット
エミュレータは以上のように構成されている。一方、マ
イクロプロセッサの高性能化に伴い、プログラム開発効
率の向上を図るため、リアルタイムOS等の汎用ライブ
ラリの導入が積極的に行われているが、これらライブラ
リのメモリ上の配置は一意的に決めることは出来ない。
また、使用する汎用ライブラリは1つではなく複数使用
され、これらのサイズ、配置アドレスはまちまちであ
り、従来のようにプログラムの実行を中断すべきでない
領域をハードウェアにより決定してしまうことは、プロ
グラムの構成に柔軟に対応できないばかりでなく、デバ
ッグ環境として意味を成さないものとなってしまい、こ
のようなプログラム構成に柔軟に対応できない課題があ
った。
【0013】また、組込み制御プログラムは割込みに対
して高速な応答が要求され、リアルタイムOSにおいて
も高速な割込み応答を阻害しないように割込みを受け付
ける処理を行なっており、このため、SVI入力707
も含め全て割込みがマスクされてしまう構成では、割込
みの応答速度の劣化を招く課題があった。
【0014】本発明の目的は、不可分処理領域に対する
自由度を向上させ、またデバッグ環境の多様性に柔軟に
対応でき、さらにデバッグ操作を行うに際しての信頼性
を向上できるインサーキットエミュレータを提供するこ
とにある。
【0015】
【0016】本発明に係るインサーキットエミュレータ
は、プログラム処理が不可分である不可分処理プログラ
ムを格納した不可分処理領域の最終アドレスをブレーク
ポイントとして設定するブレークポイント設定手段と、
前記不可分処理領域へ格納されている不可分処理プログ
ラムを割込み入力があったとき実行中であるか否かを判
定する不可分処理プログラム実行判定手段と、該不可分
処理プログラム実行判定手段が前記不可分処理プログラ
ムの処理を実行中であると判定すると、前記割込み入力
があったときに実行中の前記不可分処理プログラムを、
前記ブレークポイント設定手段により設定した前記最終
アドレスの処理終了まで実行し、前記最終アドレスの処
理が終了するとターゲットシステム上で動作するプログ
ラムに対し前記割込み入力による強制中断を行う割込み
処理手段とを備えたことを特徴とする。
【0017】
【0018】本発明のインサーキットエミュレータは、
プログラム処理が不可分である不可分処理プログラムを
格納した不可分処理領域の最終アドレスをブレークポイ
ントとして設定し、前記不可分処理領域へ格納されてい
る不可分処理プログラムを割込み入力があったとき実行
中であるか否かを判定し、前記不可分処理プログラムの
処理を実行中であると判定すると、前記割込み入力があ
ったときに実行中の前記不可分処理プログラムを、前記
設定した前記最終アドレスの処理終了まで実行し、前記
最終アドレスの処理が終了するとターゲットシステム上
で動作するプログラムに対し前記割込み入力による強制
中断を行い、前記割込み入力があったとき実行中である
不可分処理領域の特定を、当該不可分処理領域のプログ
ラム処理を実行中であるか否かを示すフラグなどをもと
に判定することで不可分処理領域に対する自由度を向上
させ、また前記最終アドレスと前記判定とをもとに前記
割込み入力があったときの前記不可分処理プログラムの
処理を前記前記最終アドレスまで継続することでデバッ
グ環境の多様性に柔軟に対応し、前記不可分処理領域の
プログラム処理が前記割込み入力により途中で中断され
るのを回避し、デバッグ操作を行うに際しての信頼性を
向上させる。
【0019】
【発明の実施の形態】以下、本発明の実施の一形態を説
明する。図1は、本実施の形態のインサーキットエミュ
レータにおけるSVI(最高の優先順位を持つスーパバ
イザ割込み入力)発生時のデバッグ用マイクロプロセッ
サの処理動作を示すフローチャートであり、インサーキ
ットエミュレータのモニタプログラムのうちのSVI処
理動作を示す。図2は、OS実行中であるか、またはア
プリケーションプログラムの実行中であるかを示すフラ
グを格納するフラグ格納領域を示す説明図である。図3
はリアルタイムOSの処理動作を示すフローチャートで
ある。
【0020】図4は、本実施の形態におけるインサーキ
ットエミュレータを使用したデバッグ環境を示すブロッ
ク図である。このデバッグ環境の構成は、インサーキッ
トエミュレータ(デバッグシステム)901a、インサ
ーキットエミュレータ901aを制御するホストマシン
902、ホストマシン902とインサーキットエミュレ
ータ901aを接続するための接続チャネル903、デ
バッグ対象となるソフトウェアが動作するターゲットシ
ステム904、ターゲットシステム904とインサーキ
ットエミュレータ901aを接続するプローブ905、
デバッグ用マイクロプロセッサ(ブレークポイント設定
手段,不可分処理プログラム実行判定手段,割込み処理
手段)906a、I/Oポート907、ホストマシン9
02との通信用のデュアルポートメモリ908、エミュ
レーションメモリ909、バッファ910などを備えて
いる。なお、符号911はSVI入力である。SVI
は、ホストマシン902がI/Oポート907を操作す
ることにより発生する。
【0021】次に、動作について説明する。インサーキ
ットエミュレータ901によりユーザプログラムがター
ゲットシステム904で動作している。このとき前記ユ
ーザプログラムがリアルタイムOSの処理を呼び出した
とする。前記リアルタイムOSは、図3のフローチャー
トに従い処理を行う。
【0022】先ず、図2に示すフラグ格納領域に、リア
ルタイムOSの実行中であることを示すフラグ「1」を
セットする。(ステップS11)。次に、リアルタイム
OSによる所定の処理を行い(ステップS12)、この
所定の処理が終了すると前記フラグ格納領域にセットさ
れていたフラグ「1」を「0」にクリアし(ステップS
13)、ユーザプログラムに戻る。
【0023】今、ホストマシン902が強制ブレークを
行うために、接続チャネル903を介してインサーキッ
トエミュレータ901a内のI/Oポート907を操作
しSVIを発生させ、このSVIが図3に示すOS処理
のステップS11とステップS12の間でSVI入力9
11としてデバッグ用マイクロプロセッサ906aに入
力された場合、すなわち、OS処理の不可分の部分でS
VIが入力された場合を考える。
【0024】このときのデバッグ用マイクロプロセッサ
906aの処理動作は図1に示すフローチャートに従
う。先ず、ユーザプログラムの実行を中断し、所定のS
VI処理を開始する。このSVI処理では、コンテキス
トを待避させ(ステップS21)、次に、図2に示した
フラグ格納領域にセットされているフラグの確認を行う
(ステップS22)。この場合、SVIが図3に示すO
S処理のステップS11とステップS12の間で発生し
たため、前記フラグ格納領域には「1」がセットされて
いる。このため図3のラベルCにブレークポイントを設
定し(ステップS23)、前記退避させたコンテキスト
を復帰させ(ステップS24)、前記ブレークポイント
まで実行する(ステップS25)。
【0025】前記ラベルCの場所は、図2のフラグ格納
領域を「0」にクリアした場所、すなわちリアルタイム
OSなどの不可分の領域を抜けた場所である。
【0026】ここで初めて、本来のSVI入力による強
制ブレーク処理が行われ(ステップS27)、SVI入
力によりユーザプログラムが停止する。
【0027】次に、図3に示したOS処理のステップS
11の処理実行前、またはステップS13の処理実行後
に、SVIがデバッグ用マイクロプロセッサ906aに
入力された場合、すなわちOS処理の不可分ではない部
分でSVIが入力された場合を考える。この場合には、
デバッグ用マイクロプロセッサ906aは、ユーザプロ
グラムの実行を中断して図1に示す所定のSVI処理を
開始する。先ず、コンテキストを待避させ(ステップS
21)。次に、図2に示したフラグ格納領域にセットさ
れているフラグを確認する(ステップS22)。SVI
がOS処理の前記不可分ではない部分で発生したため、
前記フラグ格納領域にセットされているフラグは「0」
にクリアされている。従って、ステップS22からステ
ップS27へ進んで、直ちに強制ブレーク処理が行わ
れ、ユーザープログラムが停止する。
【0028】以上のように、本実施の形態によれば、リ
アルタイムOSなどの不可分処理領域を実行中である
か、またはアプリケーションプログラムの実行中である
かを示すフラグと、ブレークポイントとなる前記不可分
処理領域を抜けたときのアドレスを示すラベルにより、
不可分処理領域の実行中に発生したSVIに対するブレ
ーク処理を当該不可分処理領域の処理終了後に伸ばし、
前記不可分処理領域の実行が途中で停止しないように構
成したので、リアルタイムOSなどの不可分処理領域を
持つ汎用ライブラリを使用したプログラムのデバッグの
際、その配置アドレスを自由に設定することが出来、さ
らに従来技術のように数Kバイト単位などと最小値が制
限されることもなく、如何なる不可分処理領域のサイズ
に対しても対応できる。
【0029】また、従来技術では汎用ライブラリとイン
サーキットエミュレータの組み合わせが限られてしまう
のに対し、本実施の形態では、実現に必要な手段、構成
を、全て汎用ライブラリとインサーキットエミュレータ
のモニタプログラムで実現しているため、従来のハード
ウェア環境において容易に実現できるとともに、対象と
なるデバイスに依存しないため、種々のインサーキット
エミュレータを使用したデバッグ環境に対応でき、デバ
ッグ環境の多様性に柔軟に対応できる。
【0030】また、SVI処理のみに対応することによ
り、他の割込み(例えば、INTやNMI)を妨げるこ
とがなく、デバッグ時でも通常と同等のプログラム処理
を行うことが出来、デバッグの信頼性を向上できる。
【0031】次に、本発明の他の実施の形態について説
明する。図5は、本実施の形態のインサーキットエミュ
レータにおけるSVI発生時のデバッグ用マイクロプロ
セッサの処理動作を示すフローチャートであり、インサ
ーキットエミュレータのモニタプログラムのうちのSV
I処理動作を示す。
【0032】図6は、本実施の形態におけるOS実行中
(フラグ「1」)であるか、またはアプリケーションプ
ログラムの実行中(フラグ「0」)であるかを示すフラ
グのフラグ格納領域と、ブレークポイントとなるブレー
クアドレス情報が格納される領域を示すアドレスが記憶
されるアドレス格納領域を示す説明図である。
【0033】本実施の形態では、不可分処理領域が複数
存在する場合、最初の不可分処理領域に対する実行中を
示すフラグ「1」がセットされるビット位置がビット
0、次の不可分処理領域に対する実行中を示すフラグ
「1」がセットされるビット位置がビット1、さらに次
の不可分処理領域に対する実行中を示すフラグ「1」が
セットされるビット位置がビット2・・・というよう
に、ビット位置と各不可分処理領域とを1対1に対応さ
せる。さらに前記各不可分処理領域実行中のSVIに対
しブレークポイントとなるブレークアドレス情報が格納
される領域を示すアドレスを、前記各不可分処理領域実
行中を示す前記各ビット位置に予め対応させておく。
【0034】このため、前記複数の各不可分処理領域が
アクセスされると、ビット0から順番にリアルタイムO
Sなどの不可分処理領域の処理実行中であることを示す
フラグ「1」、またはアプリケーションプログラム実行
中であることを示すフラグ「0」がセットされ、また、
前記ブレークアドレス情報が格納される各領域には前記
各不可分処理領域のブレークポイントとなるブレークア
ドレス情報が格納される。このブレークアドレス情報の
格納は、予め設定する方法、またはラベルをもとに自動
的に設定する方法いずれであってもよい。
【0035】このように、前記フラグ格納領域はリアル
タイムOSなどを格納した各不可分処理領域毎に対応し
て設定されており、また、前記アドレス格納領域は、前
記各フラグがセットされるビット位置に対応している。
【0036】図7は、本実施の形態におけるリアルタイ
ムOSの処理動作を示すフローチャートである。本実施
の形態のインサーキットエミュレータを使用したデバッ
グ環境の構成はは、前記実施の形態と同様に図4により
示される。
【0037】次に、動作について説明する。本実施の形
態でも、インサーキットエミュレータ901aによりタ
ーゲットシステム904に対しユーザプログラムが動作
している。この状態で、ユーザプログラムがリアルタイ
ムOSなどの不可分処理領域をアクセスしたとする。こ
の結果、前記リアルタイムOSは図7のフローチャート
に従い処理を行う。
【0038】先ず、図6に示すフラグ格納領域のビット
0に、リアルタイムOSが動作中であることを示すフラ
グ「1」をセットする(ステップS31)。次に、所定
のリアルタイムOS処理を行い(ステップS32)、こ
のリアルタイムOS処理が終了すると、前記フラグ格納
領域のビット0のフラグを「0」にクリアして(ステッ
プS33)、ユーザプログラムに戻る。
【0039】今、ホストマシン902が強制ブレークを
行うために、接続チャネル903を介してインサーキッ
トエミュレータ901a内のI/Oポート907を操作
して発生させたSVIが、図7に示すOS処理のステッ
プS31とステップS32の間で、SVI入力911と
してデバッグ用マイクロプロセッサ906aに入力され
た場合、すなわち、OS処理の不可分の部分でSVIが
入力された場合を考える。
【0040】この場合、デバッグ用マイクロプロセッサ
906aはユーザプログラムの実行を中断し、図5に示
す所定のSVI処理を開始する。先ず、コンテキストを
待避させ(ステップS41)、次に、図6に示したフラ
グ格納領域のビット0にセットされているフラグを確認
する(ステップS42)。この場合、SVIが図7に示
すOS処理のステップS31とステップS32の間で発
生したため、フラグ格納領域のビット0にはフラグ
「1」がセットされている。
【0041】従って、図6の前記ビット0に対応する前
記アドレス格納領域から、前記OS処理についてのブレ
ークアドレス情報を獲得する(ステップS43)。前述
したようにビット0にセットされたフラグ「1」はリア
ルタイムOS実行中に対応しており、さらに前記アドレ
ス格納領域には、ブレークポイントとなるラベルCのア
ドレスが格納されている。このためラベルCのアドレス
にブレークポイントを設定し(ステップS44)、コン
テキストを復帰させ(ステップS45)、前記ブレーク
ポイントまで前記OS処理を実行する(ステップS4
6)。ラベルCのアドレスは、図7に示す前記フラグ格
納領域のビット0のフラグを「0」にクリアした場所、
すなわちOS処理を完了し不可分の領域を抜けた場所
(ステップS33の処理後)である。ここで初めて、本
来のSVI入力による強制ブレーク処理が行われ(ステ
ップS48)、ユーザプログラムが停止する。
【0042】以上の処理は、前記OS処理などの不可分
処理領域が複数存在している場合、フラグ「1」がセッ
トされているビットに対し行われ、当該ビットに対応す
るアドレス格納領域のブレークアドレス情報をもとにス
テップS48のブレーク処理が行なわれる。
【0043】次に、図7に示すOS処理のステップS3
1の処理前、またはステップS33の処理後にSVIが
デバッグ用マイクロプロセッサ906aへ入力された場
合、すなわちOS処理の不可分ではない部分でSVIが
入力された場合を考える。デバッグ用マイクロプロセッ
サ906aは、ユーザプログラムの実行を中断し、所定
のSVI処理を開始する。先ず、コンテキストを待避さ
せ(ステップS41)。次に、図6に示した前記フラグ
格納領域にセットされたフラグを確認する(ステップS
42)。SVIはOS処理の不可分ではない部分で発生
したため、フラグ格納領域のビット0のフラグは「0」
にクリアされている。従って、直ちに強制ブレーク処理
が行われ(ステップS48)、ユーザプログラムが停止
する。
【0044】以上のように、本実施の形態によれば、一
つの汎用ライブラリ内に不可分処理領域が複数存在する
場合、または不可分処理領域を持つライブラリを複数使
用する場合でも、その構成に合わせて自由に不可分処理
領域を設定することができ、複数の不可分処理領域を持
つライブラリを複数使用する場合のSVIに対し、前記
実施の形態と同様な効果を奏する。
【0045】
【発明の効果】以上のように、本発明によれば、不可分
処理領域の最終アドレスをブレークポイントとして設定
し、前記不可分処理領域へ格納されている不可分処理プ
ログラムを割込み入力があったとき実行中であるか否か
の判定をフラグなどをもとに行い、前記不可分処理プロ
グラムの処理を実行中であると、当該不可分処理プログ
ラムを前記最終アドレスの処理終了まで実行し、前記最
終アドレスの処理が終了すると前記ターゲットシステム
上で動作するプログラムに対し前記割込み入力による強
制中断を行う構成を備えたので、記憶領域、数、サイズ
が一意的に決まらない前記不可分処理領域に対応する際
の自由度が向上する効果がある。また前記最終アドレス
と、前記フラグなどをもとに行う判定とをもとに前記割
込み入力があったときの前記不可分処理プログラムの処
理を前記前記最終アドレスまで継続する構成を備えたの
でデバッグ環境の多様性に柔軟に対応でき、前記不可分
処理領域のプログラム処理が前記割込み入力により途中
で中断されるのを回避でき、デバッグ操作を行うに際し
ての信頼性を向上できる効果がある。また、実現に必要
な仕組みをプログラム処理で実現しているため、従来の
ハードウェア環境に容易に対応できるとともに、対象と
なるデバイスに依存しないため、種々のデバッグ環境に
対応できる効果がある。また、SVI処理に対応してい
ることにより、INTやNMIなどの他の割込みに障害
とならず、デバッグ時でも通常と同等の処理を行うこと
ができ、デバッグ時の信頼性を向上できる効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の一形態のインサーキットエミ
ュレータにおけるSVI発生時のデバッグ用マイクロプ
ロセッサの処理動作を示すフローチャートである。
【図2】 本発明の実施の一形態のインサーキットエミ
ュレータにおける、OS実行中またはアプリケーション
プログラムの実行中であるかを示すフラグを格納するフ
ラグ格納領域を示す説明図である。
【図3】 本発明の実施の一形態のインサーキットエミ
ュレータにおけるリアルタイムOSの処理動作を示すフ
ローチャートである。
【図4】 本発明の実施の一形態におけるインサーキッ
トエミュレータを使用したデバッグ環境を示すブロック
図である。
【図5】 本発明の他の実施の形態のインサーキットエ
ミュレータにおけるSVI発生時のデバッグ用マイクロ
プロセッサの処理動作を示すフローチャートである。
【図6】 本発明の他の実施の形態におけるOS実行中
またはアプリケーションプログラムの実行中であるかを
示すフラグのフラグ格納領域と、ブレークポイントとな
るブレークアドレス情報が格納される領域を示すアドレ
スが記憶されるアドレス格納領域を示す説明図である。
【図7】 本発明の他の実施の形態のインサーキットエ
ミュレータにおけるリアルタイムOSの処理動作を示す
フローチャートである。
【図8】 従来のインサーキットエミュレータを構成す
るデバッグ用マイクロプロセッサ内に設けられた割込み
制御回路およびその周辺回路の構成を示すブロック図で
ある。
【図9】 従来のインサーキットエミュレータのモニタ
プログラムのSVI発生時の処理動作を示すフローチャ
ートである。
【図10】 従来のインサーキットエミュレータを使用
したデバッグ環境を示すブロック図である。
フロントページの続き (56)参考文献 特開 平5−61693(JP,A) 特開 平4−219828(JP,A) 特開 平5−40660(JP,A) 特開 平1−260561(JP,A) 特開 昭61−194531(JP,A) 特開 平6−110727(JP,A) 特開 昭60−225257(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 315 G06F 9/46 311

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 強制中断用の割込み入力を持つマイクロ
    プロセッサを用いたデバッグシステムと、該デバッグシ
    ステムがデバッグ対象としているターゲットシステム上
    で動作するプログラムを備えたインサーキットエミュレ
    ータにおいて、 プログラム処理が不可分である不可分処理プログラムを
    格納した不可分処理領域の最終アドレスをブレークポイ
    ントとして設定するブレークポイント設定手段と、 前記割込み入力があったとき、前記不可分処理領域へ格
    納されている不可分処理プログラムを実行中であるか否
    かを判定する不可分処理プログラム実行判定手段と、 該不可分処理プログラム実行判定手段が前記不可分処理
    プログラムの処理を実行中であると判定すると、前記割
    込み入力があったときに実行中の前記不可分処理プログ
    ラムを、前記ブレークポイント設定手段が設定した前記
    最終アドレスの処理終了まで実行し、前記最終アドレス
    の処理が終了すると前記ターゲットシステム上で動作す
    るプログラムに対し前記割込み入力による強制中断を行
    う割込み処理手段とを備えたインサーキットエミュレー
    タ。
  2. 【請求項2】 前記不可分処理プログラム実行判定手段
    は、 不可分処理プログラムを実行中であるか否かを示す当該
    不可分処理プログラムにより設定されたフラグと割込み
    入力とをもとに、前記不可分処理プログラムが前記割込
    み入力のあったとき実行中であるか否かを判定し、 前記ブレークポイント設定手段は、 前記不可分処理プログラムが格納されている前記不可分
    処理領域の最終アドレスのラベルをもとにブレークポイ
    ントを設定することを特徴とする請求項1記載のインサ
    ーキットエミュレータ。
  3. 【請求項3】 前記不可分処理プログラム実行判定手段
    は、 各不可分処理プログラムにより所定のビット位置に設定
    された自不可分処理プログラムが実行中であるか否かを
    示すフラグをもとに、当該各不可分処理プログラムが前
    記割込み入力のあったとき実行中であるか否かを判定
    し、 前記ブレークポイント設定手段は、 前記フラグが設定される各ビット位置に対応して保持さ
    れている各不可分処理領域の最終アドレスをもとに、ブ
    レークポイントを設定することを特徴とする請求項1記
    載のインサーキットエミュレータ。
  4. 【請求項4】 前記割込み入力は、最高の優先順位を持
    つスーパバイザ割込み入力であることを特徴とする請求
    項1から請求項3のうちのいずれか1項記載のインサー
    キットエミュレータ。
JP10152228A 1998-05-14 1998-05-14 インサーキットエミュレータ Expired - Fee Related JP3120841B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10152228A JP3120841B2 (ja) 1998-05-14 1998-05-14 インサーキットエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10152228A JP3120841B2 (ja) 1998-05-14 1998-05-14 インサーキットエミュレータ

Publications (2)

Publication Number Publication Date
JPH11327954A JPH11327954A (ja) 1999-11-30
JP3120841B2 true JP3120841B2 (ja) 2000-12-25

Family

ID=15535898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10152228A Expired - Fee Related JP3120841B2 (ja) 1998-05-14 1998-05-14 インサーキットエミュレータ

Country Status (1)

Country Link
JP (1) JP3120841B2 (ja)

Also Published As

Publication number Publication date
JPH11327954A (ja) 1999-11-30

Similar Documents

Publication Publication Date Title
US6708326B1 (en) Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence
US5621886A (en) Method and apparatus for providing efficient software debugging
US5745770A (en) Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor
US5740413A (en) Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US7712084B2 (en) Method for monitoring a program execution using a debug logic
JPH06314213A (ja) デバッグ装置
JP5270330B2 (ja) マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置
US20040098639A1 (en) Debugging kernel-loadable modules and suspending and replacing functions in non-microkernel operating systems
US20010027387A1 (en) Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon
EP0638864B1 (en) Development support system for microcomputer with internal cache
US7043717B2 (en) Debugging apparatus and method
JP3260083B2 (ja) デバッグシステム及びデバッグ方法
JP3120841B2 (ja) インサーキットエミュレータ
US20080133838A1 (en) Data processing device
JP3503504B2 (ja) デバッグ処理システムと計算機およびデバッグ処理方法
US5813039A (en) Guest execution control system, method and computer process for a virtual machine system
JPH1011315A (ja) インサーキットエミュレータ装置およびインサーキットエミュレーション方法
US6185700B1 (en) Method and device for evaluating a program
JP2677249B2 (ja) マルチプロセッサシステムのプログラムデバッグ方法およびデバッガ
JP2870405B2 (ja) 情報処理装置
JP2000029508A (ja) プログラマブルコントローラ
JP2697230B2 (ja) デバッグ支援装置
JPH087706B2 (ja) 評価用シングルチツプマイクロコンピュータ
JP3159155B2 (ja) プログラムのデバッグ方法および装置
JP2701799B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees