JPH11345143A - インサーキットエミュレータ - Google Patents
インサーキットエミュレータInfo
- Publication number
- JPH11345143A JPH11345143A JP10149752A JP14975298A JPH11345143A JP H11345143 A JPH11345143 A JP H11345143A JP 10149752 A JP10149752 A JP 10149752A JP 14975298 A JP14975298 A JP 14975298A JP H11345143 A JPH11345143 A JP H11345143A
- Authority
- JP
- Japan
- Prior art keywords
- user program
- stop mode
- instruction
- ice
- stop
- 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.)
- Granted
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
割込み処理後のユーザプログラム再実行の際、ユーザプ
ログラム停止前の状態に戻す。 【解決手段】 ユーザプログラムの実行中の割込み処理
の確認を行う(S1)。割込み処理によりユーザプログ
ラム停止を確認、停止前の動作モード(ノーマルモー
ド,ストップモード等)の読み取る(S2)。さらに、
割込みの発生でスタック領域に待避の状態情報を読み込
む(S3)。割込み処理実行し、ユーザプログラムの再
実行を確認し(S4)、停止前の状態のストップモード
確認(S5)により、スタック領域の戻り番地をダミー
の戻り番地に変更(S7)、ダミーの戻り番地にストッ
プモードに入れる命令の書き込み(S8)、ユーザプロ
グラムの戻り番地へ無条件分岐する命令を書き込む(S
9)。その後にリターン命令を実行しユーザプログラム
の再実行の処理を開始する(S6)。
Description
ータの応用ソフトウェアの開発ツールにおいてデバッグ
の効率を図るインサーキットエミュレータに関するもの
である。
抑えるかが重要視されている。そのために、電気製品の
低消費電力を実現する上で、多くの電気製品に用いられ
ているマイクロコンピュータの必要な処理以外には、マ
イクロコンピュータの原発振を停止させるとその効果が
大きいことから、低消費電力を実現するためにマイクロ
コンピュータの動作モードの一つに原発振を停止させる
機能(以下、ストップモードと呼ぶ)がある。そのスト
ップモードを用いた応用ソフトウェアを従来のインサー
キットエミュレータ(以下、ICEと呼ぶ)でデバッグ
を行う動作の流れを図5に示す。この図5はユーザプロ
グラムのストップモード中にICE割込処理による動作
を実行したときの状態を示すものである。また、図6
(a)はデバッグを行うストップモードを有するユーザ
プログラムのメインルーチン、図6(b)はユーザプロ
グラムの割込処理、図6(c)はICE割込処理を示す
フローチャートである。
はマイクロコンピュータのユーザプログラムのメインル
ーチン、2はユーザプログラムの割込処理、3は、メイ
ンルーチン1を停止させる操作を行うと、ICEの割り
込みが発生して実行されるICE割込処理、4はユーザ
プログラムの初期設定ルーチンを含む通常処理、5はス
トップモードに入れる命令、6はストップモード中にユ
ーザプログラムの割込処理2が発生してから行われる通
常処理、7は通常処理4の途中にユーザプログラムを停
止させるICE割込処理3の発生による第1の強制ブレ
ーク、8はストップモードに入れる命令5によるストッ
プモード中で割込処理2の発生を待機中にICE割込処
理3の発生による第2の強制ブレーク、9はユーザプロ
グラムの割込処理2からメインルーチン1へ戻すための
リターン命令、10はユーザプログラムの実行停止状態
から再実行させるためのICE割込処理3のICEリタ
ーン命令、11は、ユーザプログラムの実行を停止させ
て、実行されるICE割込処理3によってICEの制御
ソフトウェアで制御されデバッグ等を行う通常割込処理
である。
(c)のICE割込処理のフローチャートにおける状態
遷移図で、図8は割込み処理の発生により状態情報を待
避するスタック領域を示す図である。図8において、1
2はフラグステータスの待避領域、13はプログラムの
戻り番地の待避領域、14は各種ステータスの待避領域
であり、これらの待避領域には割込み発生時に自動的に
待避格納される。
8を用いながら説明する。まず、ユーザプログラムにお
けるメインルーチン1の通常処理4中に、ユーザプログ
ラムを停止させる第1の強制ブレーク7の外部割込みを
発生させる。この第1の強制ブレーク7のICE割込処
理3によってICEの割込み処理に遷移する。このIC
E割込処理3もユーザプログラムの割込処理2と同様
に、ユーザプログラムの状態は図8に示すスタック領域
にそれぞれ待避格納される。また、ICEの制御ソフト
ウェアでは、待避格納されたスタック領域の内容を読み
出し、ユーザプログラムの停止したときの状態をモニタ
にて表示することができる。そして、ユーザにはユーザ
プログラム以外のICE割込処理3を実行しているた
め、ユーザプログラムが停止した状態に見える。さら
に、ユーザプログラムの再実行は、ICE割込処理3の
ICEリターン命令10を実行することで、第1の強制
ブレーク7の発生時にスタック領域に待避格納された資
源が元に戻される。
に入れる命令5によるストップモード中において、第2
の強制ブレーク8のICE割込処理3が発生し、ICE
の割込み処理へ遷移するが、ここでユーザプログラムの
停止までの動作の流れは前記説明と同様であるため省略
し、その異なる部分について説明する。
ことから、その発振は停止しているため、ICE割込処
理3の発生によりストップモードが解除されて発振が開
始される。以下、発振している状態をノーマルモードと
いう。つまりICE割込処理3はノーマルモードで実行
されことになる。そして、この動作の場合には、ユーザ
プログラムの再実行はストップモードの状態で停止され
たので、元のストップモードにする必要がある。
ICEリターン命令10の前でストップモードに入れる
処理を行うと、ICE割込処理3中にストップモードに
入ってしまい、正しくユーザプログラムの前の動作モー
ドに戻ることができない。このために、従来のこのよう
な場合において再実行させるときに、ICEの制御ソフ
トウェアは「ストップモード中であるためノーマルモー
ドにして下さい。」などの警告を出していた。したがっ
て、ユーザは動作モードを制御するレジスタをICEに
より変更するか、再実行するスタートアドレスを指定す
るか、リセットして再実行することが行われていた。
サーキットエミュレータでは、ユーザプログラムにマイ
クロコンピュータの原発振を停止させるストップモード
を有する応用ソフトウェアを開発するデバッグの際に、
ユーザプログラムのストップモード中にICEの割込み
処理を行い、その後ユーザプログラムの再実行を行なえ
るように元のストップモードとするため、ICE割込処
理のICEリターン命令の前にストップモードに入れる
命令を実行させても、ユーザプログラムの実行モードへ
戻る前にICEの割込み処理中にストップモードに入っ
てしまい、元の状態に戻すことができないという問題が
ある。
に自動的にストップモードに入れ直すためには、ユーザ
プログラム中でストップモードに入れたアドレスへリタ
ーンすればよい訳であるが、ストップモードに入れる命
令を実行しても直後の命令も実行される可能性があり、
もしその命令が分岐命令であればどこへ戻せば良いかは
判断ができないという問題があった。
ことに指向するものであり、ストップモードの状態で停
止されているユーザプログラムにICE割込処理を行な
った後のユーザプログラムの再実行の際、ユーザに何の
制約もなくユーザプログラムを停止した前の状態に戻す
ことができる操作性の優れたICE(インサーキットエ
ミュレータ)を提供することを目的とする。
に、本発明に係るインサーキットエミュレータは、マイ
クロコンピュータの動作モードにおける原発振を停止さ
せる機能と、デバッグするためのインサーキットエミュ
レータの制御ソフトウェアと、制御ソフトウェアの制御
によりリードライト可能なメモリとを有するように構成
したものである。
トップモードの状態で発生した割込み処理の終了後に、
ユーザに何の制約もなくユーザプログラムを停止した前
のストップモードの状態に戻すことができる。
ける実施の形態を詳細に説明する。図1は、本実施の形
態におけるユーザプログラムのストップモード中にIC
E割込処理を行ない、その後ユーザプログラムを再実行
したとき元のストップモードに入ることを示す図であ
る。また、図2は本発明の実施の形態におけるICEの
制御ソフトウェアの処理動作を示すフローチャートであ
る。図3はICE割込処理後からユーザプログラムの再
実行でストップモードに入れるためのスタックの使い方
を示す図、図4はユーザプログラムにおいてストップモ
ードへ移行し待機状態となった各アドレスの命令を示す
図である。
待避領域と14の各種ステータスは、図8に示したのと
同様に割込み発生時に自動的にフラグステータスを待避
する領域と各種ステータスを待避する領域であり、15
は、図8のプログラムの戻り番地13を、ICEの制御
ソフトウェアにより書き換えて変更したダミーの戻り番
地、また、16はICEの制御ソフトウェアにより書き
換えられたストップモードに入れる命令、17はメイン
ルーチンの戻り番地へ無条件分岐する命令である。ま
た、図4において、19はユーザプログラム中にあるス
トップモードに入れる命令、20はストップモードに入
れる命令19の直後の第1の命令、21は、ストップモ
ードがユーザの割込みにより解除された時に、一番始め
に実行される第2の命令、22は割込み復帰待ちであ
る。
中に発生させたICE割込処理で、ユーザプログラムを
実行停止した状態の動作説明を図3、図4を用いて行な
う。図4に示すユーザプログラムのメインルーチンの中
でA番地のストップモードに入れる命令19が実行され
ると、次の命令もプリフェッチ(先取り)しているため
にB番地の第1の命令20が続いて実行される。この時
点まではノーマルモードでありB番地の第1の命令20
を実行した直後で発振は停止してストップモードとな
る。このストップモード中では割込み復帰待ち22の入
力を待機し、ユーザからの割込み復帰によるメインルー
チンへの復帰はアドレスC番地の第2の命令21から実
行されノーマルモードとなる。
ち22の待機状態において、ユーザプログラムの停止操
作を行いデバッグするためICEの制御ソフトウェアの
ICE割込処理が発生すると、ストップモードは、ユー
ザプログラムの割込処理と同様に解除されてノーマルモ
ードとなる。このときのスタック領域の状態は図8に示
すように待避され、図8の戻り番地13には図4に示す
第2の命令21のアドレスC番地が待避される。
については図2のフローチャートを使って説明する。ユ
ーザプログラムの実行中に実行停止処理(強制ブレーク
などによる割込みの処理等)の発生によりユーザプログ
ラムが停止したか否かの確認を行う(S1)。処理S1
において、実行停止処理の発生によりユーザプログラム
が停止したことを確認すると、ユーザプログラムの実行
停止処理に入る前のマイクロコンピュータの動作モード
(ノーマルモード,ストップモード等)の読み取りを行
う(S2)。さらに、ICE等による割込みの発生によ
り汎用レジスタから読み込まれ、スタック領域に待避さ
れた状態情報の読み込み処理を行い(S3)、発生した
割込みの処理を実行する。その後、前記割込みの処理の
リターン命令やユーザの操作によるユーザプログラムの
再実行の命令が出されたか否かの確認を行う(S4)。
確認されたとき、前記処理S2で読み込んだ情報からユ
ーザプログラムの停止前の状態がストップモードである
か否かを確認する(S5)。この処理S5においてスト
ップモードでないとき、スタック領域に待避されたアド
レスやステータスの状態情報を汎用レジスタへ書き込み
を行うリターン命令を実行することによりユーザプログ
ラムの再実行の処理を開始する(S6)。
とき、スタック領域に退避されている戻り番地をダミー
の戻り番地に変更する処理を行い(S7)、ダミーの戻
り番地として指定された領域にストップモードに入れる
命令の書き込みを行い(S8))、さらにユーザプログ
ラムの正規の戻り番地に無条件分岐する命令を書き込む
処理を行う(S9)。以上のような処理後にリターン命
令を実行しユーザプログラムの再実行の処理を開始する
(S6)。
したICE割込処理後の操作でユーザプログラムを再実
行させ、割込み前と同じストップモードとするとき、図
2に示す処理S4の再実行命令の確認により、ICEの
制御ソフトウェアによって以下の変更を行う。まず、処
理S5でユーザプログラムの停止前の動作モードがスト
ップモードであるか確認する。ストップモードであれば
処理S7において、スタック領域のY番地に待避してい
る戻り番地13(図8参照)には図4に示すメインルー
チンへの戻り番地であるC番地が格納されているが、ダ
ミーの戻り番地15としてV番地に変更する。次に処理
S8でスタック領域のV番地にはストップモードに入れ
る命令16を書き込み、処理S9により次のW番地には
メインルーチンの戻り番地へ無条件分岐する命令17と
して図4に示すC番地へ分岐する命令を書き込む。
割込処理のICEリターン命令を実行すると、図3にお
けるスタック領域のX番地,Y番地,Z番地のフラグス
テータス12、ダミーの戻り番地15、各種ステータス
14をマイクロコンピュータが自動的に汎用レジスタに
戻し、ユーザプログラムの再実行が行われる。そして、
ダミーの戻り番地15であるV番地からユーザプログラ
ムは実行されることになり、ストップモードに入れる命
令16が実行されてストップモードに入る。次の命令で
あるW番地の実行後に発振は停止するため、ユーザは何
も注意を払うことなくユーザプログラムがストップモー
ドにおけるICEの操作をすることができる。
令はフラグステータス12、各種ステータス14が変化
しない命令を使わなければならない。また、以上の説明
では、スタック領域を使って説明しているが、未使用領
域のリードライト可能なメモリを用いても同様に実施可
能である。
ユーザに操作上の負担をかけることなくユーザプログラ
ムのストップモードにおけるICEの実行,停止の操作
が可能となり、デバッグを効率よく行うことができると
いう効果を奏する。
のストップモード中にICE割込処理を行なった後ユー
ザプログラム再実行に元のストップモードに入ることを
示す図
トウェアの処理動作を示すフローチャート
からユーザプログラムの再実行でストップモードに入れ
るためのスタックの使い方を示す図
においてストップモードへ移行し待機状態となった各ア
ドレスの命令を示す図
ICE割込処理による動作を実行したときの状態を示す
図
るユーザプログラムのメインルーチン、(b)はユーザ
プログラムの割込処理、(c)はICE割込処理を示す
フローチャート
CE割込処理のフローチャートにおける状態遷移図
タック領域を示す図
Claims (1)
- 【請求項1】 マイクロコンピュータの動作モードにお
ける原発振を停止させる機能と、デバッグするためのイ
ンサーキットエミュレータの制御ソフトウェアと、該制
御ソフトウェアの制御によりリードライト可能なメモリ
とを有し、前記原発振を停止した動作モードの状態にお
いて発生した割込み処理の終了後に、前記動作モードの
状態とすることを特徴とするインサーキットエミュレー
タ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14975298A JP3410023B2 (ja) | 1998-05-29 | 1998-05-29 | インサーキットエミュレータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14975298A JP3410023B2 (ja) | 1998-05-29 | 1998-05-29 | インサーキットエミュレータ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11345143A true JPH11345143A (ja) | 1999-12-14 |
| JP3410023B2 JP3410023B2 (ja) | 2003-05-26 |
Family
ID=15481987
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14975298A Expired - Lifetime JP3410023B2 (ja) | 1998-05-29 | 1998-05-29 | インサーキットエミュレータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3410023B2 (ja) |
-
1998
- 1998-05-29 JP JP14975298A patent/JP3410023B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP3410023B2 (ja) | 2003-05-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI478052B (zh) | 處置例外事件之裝置及方法 | |
| JPS63245529A (ja) | レジスタ退避復元装置 | |
| US6438708B1 (en) | Information processing apparatus that can hold internal information | |
| JP2005528664A (ja) | Cpuのパワーダウン方法及びそのための装置 | |
| US20100153786A1 (en) | Processor, multiprocessor, and debugging method | |
| JP2004348707A (ja) | 集積回路節電方法 | |
| JP2522158B2 (ja) | マルチプロセッサシステムのプログラムデバッグ方法 | |
| JP3410023B2 (ja) | インサーキットエミュレータ | |
| JP2677458B2 (ja) | システムコール実行装置 | |
| JP2003216449A (ja) | パッチ処理システム | |
| JP2663895B2 (ja) | Cpuシミュレータ | |
| KR101236393B1 (ko) | 전자장치 및 그 제어방법 | |
| JP3991999B2 (ja) | 中央処理ユニット及びプロセッサ制御方法 | |
| JP3206394B2 (ja) | 5段パイプライン構造のプログラマブルコントローラ | |
| JPH03163617A (ja) | コンピュータシステムにおけるプログラムのウオーム・ブート方法 | |
| JPS6048770B2 (ja) | 情報処理方式 | |
| JPH086616A (ja) | プログラマブルコントローラ | |
| JP3449812B2 (ja) | 制御用電子装置 | |
| KR20080030319A (ko) | 컴퓨터시스템 및 그 제어방법 | |
| JP2008015725A (ja) | 情報処理装置およびプログラム起動方法 | |
| JPH08272653A (ja) | フリーズ処理システム | |
| JPH0454548A (ja) | 計算機システムのメモリチエック方式 | |
| JPH0981275A (ja) | 演算処理装置 | |
| JP5194360B2 (ja) | 情報処理装置およびその制御方法 | |
| JPH11110250A (ja) | ソフトウェア実行モード切替方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080320 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100320 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130320 Year of fee payment: 10 |