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
Application number
JP10149752A
Other languages
English (en)
Other versions
JP3410023B2 (ja
Inventor
Kazuaki Takahashi
一哲 高橋
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP14975298A priority Critical patent/JP3410023B2/ja
Publication of JPH11345143A publication Critical patent/JPH11345143A/ja
Application granted granted Critical
Publication of JP3410023B2 publication Critical patent/JP3410023B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 ストップモード状態のユーザプログラムへの
割込み処理後のユーザプログラム再実行の際、ユーザプ
ログラム停止前の状態に戻す。 【解決手段】 ユーザプログラムの実行中の割込み処理
の確認を行う(S1)。割込み処理によりユーザプログ
ラム停止を確認、停止前の動作モード(ノーマルモー
ド,ストップモード等)の読み取る(S2)。さらに、
割込みの発生でスタック領域に待避の状態情報を読み込
む(S3)。割込み処理実行し、ユーザプログラムの再
実行を確認し(S4)、停止前の状態のストップモード
確認(S5)により、スタック領域の戻り番地をダミー
の戻り番地に変更(S7)、ダミーの戻り番地にストッ
プモードに入れる命令の書き込み(S8)、ユーザプロ
グラムの戻り番地へ無条件分岐する命令を書き込む(S
9)。その後にリターン命令を実行しユーザプログラム
の再実行の処理を開始する(S6)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータの応用ソフトウェアの開発ツールにおいてデバッグ
の効率を図るインサーキットエミュレータに関するもの
である。
【0002】
【従来の技術】近年、電気製品の待機中の電力をいかに
抑えるかが重要視されている。そのために、電気製品の
低消費電力を実現する上で、多くの電気製品に用いられ
ているマイクロコンピュータの必要な処理以外には、マ
イクロコンピュータの原発振を停止させるとその効果が
大きいことから、低消費電力を実現するためにマイクロ
コンピュータの動作モードの一つに原発振を停止させる
機能(以下、ストップモードと呼ぶ)がある。そのスト
ップモードを用いた応用ソフトウェアを従来のインサー
キットエミュレータ(以下、ICEと呼ぶ)でデバッグ
を行う動作の流れを図5に示す。この図5はユーザプロ
グラムのストップモード中にICE割込処理による動作
を実行したときの状態を示すものである。また、図6
(a)はデバッグを行うストップモードを有するユーザ
プログラムのメインルーチン、図6(b)はユーザプロ
グラムの割込処理、図6(c)はICE割込処理を示す
フローチャートである。
【0003】図6(a),(b),(c)において、1
はマイクロコンピュータのユーザプログラムのメインル
ーチン、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の制御
ソフトウェアで制御されデバッグ等を行う通常割込処理
である。
【0004】図7は図6(a)のメインルーチンと図6
(c)のICE割込処理のフローチャートにおける状態
遷移図で、図8は割込み処理の発生により状態情報を待
避するスタック領域を示す図である。図8において、1
2はフラグステータスの待避領域、13はプログラムの
戻り番地の待避領域、14は各種ステータスの待避領域
であり、これらの待避領域には割込み発生時に自動的に
待避格納される。
【0005】前記従来例の具体的な動作の例を図7,図
8を用いながら説明する。まず、ユーザプログラムにお
けるメインルーチン1の通常処理4中に、ユーザプログ
ラムを停止させる第1の強制ブレーク7の外部割込みを
発生させる。この第1の強制ブレーク7のICE割込処
理3によってICEの割込み処理に遷移する。このIC
E割込処理3もユーザプログラムの割込処理2と同様
に、ユーザプログラムの状態は図8に示すスタック領域
にそれぞれ待避格納される。また、ICEの制御ソフト
ウェアでは、待避格納されたスタック領域の内容を読み
出し、ユーザプログラムの停止したときの状態をモニタ
にて表示することができる。そして、ユーザにはユーザ
プログラム以外のICE割込処理3を実行しているた
め、ユーザプログラムが停止した状態に見える。さら
に、ユーザプログラムの再実行は、ICE割込処理3の
ICEリターン命令10を実行することで、第1の強制
ブレーク7の発生時にスタック領域に待避格納された資
源が元に戻される。
【0006】次に、メインルーチン1のストップモード
に入れる命令5によるストップモード中において、第2
の強制ブレーク8のICE割込処理3が発生し、ICE
の割込み処理へ遷移するが、ここでユーザプログラムの
停止までの動作の流れは前記説明と同様であるため省略
し、その異なる部分について説明する。
【0007】ユーザプログラムはストップモードである
ことから、その発振は停止しているため、ICE割込処
理3の発生によりストップモードが解除されて発振が開
始される。以下、発振している状態をノーマルモードと
いう。つまりICE割込処理3はノーマルモードで実行
されことになる。そして、この動作の場合には、ユーザ
プログラムの再実行はストップモードの状態で停止され
たので、元のストップモードにする必要がある。
【0008】しかしながら、ICE割込処理3において
ICEリターン命令10の前でストップモードに入れる
処理を行うと、ICE割込処理3中にストップモードに
入ってしまい、正しくユーザプログラムの前の動作モー
ドに戻ることができない。このために、従来のこのよう
な場合において再実行させるときに、ICEの制御ソフ
トウェアは「ストップモード中であるためノーマルモー
ドにして下さい。」などの警告を出していた。したがっ
て、ユーザは動作モードを制御するレジスタをICEに
より変更するか、再実行するスタートアドレスを指定す
るか、リセットして再実行することが行われていた。
【0009】
【発明が解決しようとする課題】このような構成のイン
サーキットエミュレータでは、ユーザプログラムにマイ
クロコンピュータの原発振を停止させるストップモード
を有する応用ソフトウェアを開発するデバッグの際に、
ユーザプログラムのストップモード中にICEの割込み
処理を行い、その後ユーザプログラムの再実行を行なえ
るように元のストップモードとするため、ICE割込処
理のICEリターン命令の前にストップモードに入れる
命令を実行させても、ユーザプログラムの実行モードへ
戻る前にICEの割込み処理中にストップモードに入っ
てしまい、元の状態に戻すことができないという問題が
ある。
【0010】また、ICEの制御ソフトウェアの処理後
に自動的にストップモードに入れ直すためには、ユーザ
プログラム中でストップモードに入れたアドレスへリタ
ーンすればよい訳であるが、ストップモードに入れる命
令を実行しても直後の命令も実行される可能性があり、
もしその命令が分岐命令であればどこへ戻せば良いかは
判断ができないという問題があった。
【0011】本発明は、前記従来技術の問題を解決する
ことに指向するものであり、ストップモードの状態で停
止されているユーザプログラムにICE割込処理を行な
った後のユーザプログラムの再実行の際、ユーザに何の
制約もなくユーザプログラムを停止した前の状態に戻す
ことができる操作性の優れたICE(インサーキットエ
ミュレータ)を提供することを目的とする。
【0012】
【課題を解決するための手段】この目的を達成するため
に、本発明に係るインサーキットエミュレータは、マイ
クロコンピュータの動作モードにおける原発振を停止さ
せる機能と、デバッグするためのインサーキットエミュ
レータの制御ソフトウェアと、制御ソフトウェアの制御
によりリードライト可能なメモリとを有するように構成
したものである。
【0013】前記構成によれば、ユーザプログラムのス
トップモードの状態で発生した割込み処理の終了後に、
ユーザに何の制約もなくユーザプログラムを停止した前
のストップモードの状態に戻すことができる。
【0014】
【発明の実施の形態】以下、図面を参照して本発明にお
ける実施の形態を詳細に説明する。図1は、本実施の形
態におけるユーザプログラムのストップモード中にIC
E割込処理を行ない、その後ユーザプログラムを再実行
したとき元のストップモードに入ることを示す図であ
る。また、図2は本発明の実施の形態におけるICEの
制御ソフトウェアの処理動作を示すフローチャートであ
る。図3はICE割込処理後からユーザプログラムの再
実行でストップモードに入れるためのスタックの使い方
を示す図、図4はユーザプログラムにおいてストップモ
ードへ移行し待機状態となった各アドレスの命令を示す
図である。
【0015】図3において、12のフラグステータスの
待避領域と14の各種ステータスは、図8に示したのと
同様に割込み発生時に自動的にフラグステータスを待避
する領域と各種ステータスを待避する領域であり、15
は、図8のプログラムの戻り番地13を、ICEの制御
ソフトウェアにより書き換えて変更したダミーの戻り番
地、また、16はICEの制御ソフトウェアにより書き
換えられたストップモードに入れる命令、17はメイン
ルーチンの戻り番地へ無条件分岐する命令である。ま
た、図4において、19はユーザプログラム中にあるス
トップモードに入れる命令、20はストップモードに入
れる命令19の直後の第1の命令、21は、ストップモ
ードがユーザの割込みにより解除された時に、一番始め
に実行される第2の命令、22は割込み復帰待ちであ
る。
【0016】まず、ユーザプログラムのストップモード
中に発生させたICE割込処理で、ユーザプログラムを
実行停止した状態の動作説明を図3、図4を用いて行な
う。図4に示すユーザプログラムのメインルーチンの中
でA番地のストップモードに入れる命令19が実行され
ると、次の命令もプリフェッチ(先取り)しているため
にB番地の第1の命令20が続いて実行される。この時
点まではノーマルモードでありB番地の第1の命令20
を実行した直後で発振は停止してストップモードとな
る。このストップモード中では割込み復帰待ち22の入
力を待機し、ユーザからの割込み復帰によるメインルー
チンへの復帰はアドレスC番地の第2の命令21から実
行されノーマルモードとなる。
【0017】ここで、ストップモード中の割込み復帰待
ち22の待機状態において、ユーザプログラムの停止操
作を行いデバッグするためICEの制御ソフトウェアの
ICE割込処理が発生すると、ストップモードは、ユー
ザプログラムの割込処理と同様に解除されてノーマルモ
ードとなる。このときのスタック領域の状態は図8に示
すように待避され、図8の戻り番地13には図4に示す
第2の命令21のアドレスC番地が待避される。
【0018】さらに、ICEの制御ソフトウェアの動作
については図2のフローチャートを使って説明する。ユ
ーザプログラムの実行中に実行停止処理(強制ブレーク
などによる割込みの処理等)の発生によりユーザプログ
ラムが停止したか否かの確認を行う(S1)。処理S1
において、実行停止処理の発生によりユーザプログラム
が停止したことを確認すると、ユーザプログラムの実行
停止処理に入る前のマイクロコンピュータの動作モード
(ノーマルモード,ストップモード等)の読み取りを行
う(S2)。さらに、ICE等による割込みの発生によ
り汎用レジスタから読み込まれ、スタック領域に待避さ
れた状態情報の読み込み処理を行い(S3)、発生した
割込みの処理を実行する。その後、前記割込みの処理の
リターン命令やユーザの操作によるユーザプログラムの
再実行の命令が出されたか否かの確認を行う(S4)。
【0019】前記の処理S4において、再実行の命令が
確認されたとき、前記処理S2で読み込んだ情報からユ
ーザプログラムの停止前の状態がストップモードである
か否かを確認する(S5)。この処理S5においてスト
ップモードでないとき、スタック領域に待避されたアド
レスやステータスの状態情報を汎用レジスタへ書き込み
を行うリターン命令を実行することによりユーザプログ
ラムの再実行の処理を開始する(S6)。
【0020】また、処理S5においてストップモードの
とき、スタック領域に退避されている戻り番地をダミー
の戻り番地に変更する処理を行い(S7)、ダミーの戻
り番地として指定された領域にストップモードに入れる
命令の書き込みを行い(S8))、さらにユーザプログ
ラムの正規の戻り番地に無条件分岐する命令を書き込む
処理を行う(S9)。以上のような処理後にリターン命
令を実行しユーザプログラムの再実行の処理を開始する
(S6)。
【0021】具体的には、ストップモードの状態に発生
したICE割込処理後の操作でユーザプログラムを再実
行させ、割込み前と同じストップモードとするとき、図
2に示す処理S4の再実行命令の確認により、ICEの
制御ソフトウェアによって以下の変更を行う。まず、処
理S5でユーザプログラムの停止前の動作モードがスト
ップモードであるか確認する。ストップモードであれば
処理S7において、スタック領域のY番地に待避してい
る戻り番地13(図8参照)には図4に示すメインルー
チンへの戻り番地であるC番地が格納されているが、ダ
ミーの戻り番地15としてV番地に変更する。次に処理
S8でスタック領域のV番地にはストップモードに入れ
る命令16を書き込み、処理S9により次のW番地には
メインルーチンの戻り番地へ無条件分岐する命令17と
して図4に示すC番地へ分岐する命令を書き込む。
【0022】このような前処理を行った状態で、ICE
割込処理のICEリターン命令を実行すると、図3にお
けるスタック領域のX番地,Y番地,Z番地のフラグス
テータス12、ダミーの戻り番地15、各種ステータス
14をマイクロコンピュータが自動的に汎用レジスタに
戻し、ユーザプログラムの再実行が行われる。そして、
ダミーの戻り番地15であるV番地からユーザプログラ
ムは実行されることになり、ストップモードに入れる命
令16が実行されてストップモードに入る。次の命令で
あるW番地の実行後に発振は停止するため、ユーザは何
も注意を払うことなくユーザプログラムがストップモー
ドにおけるICEの操作をすることができる。
【0023】なお、スタック領域のV番地,W番地の命
令はフラグステータス12、各種ステータス14が変化
しない命令を使わなければならない。また、以上の説明
では、スタック領域を使って説明しているが、未使用領
域のリードライト可能なメモリを用いても同様に実施可
能である。
【0024】
【発明の効果】以上説明したように、本発明によれば、
ユーザに操作上の負担をかけることなくユーザプログラ
ムのストップモードにおけるICEの実行,停止の操作
が可能となり、デバッグを効率よく行うことができると
いう効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるユーザプログラム
のストップモード中にICE割込処理を行なった後ユー
ザプログラム再実行に元のストップモードに入ることを
示す図
【図2】本発明の実施の形態におけるICEの制御ソフ
トウェアの処理動作を示すフローチャート
【図3】本発明の実施の形態におけるICE割込処理後
からユーザプログラムの再実行でストップモードに入れ
るためのスタックの使い方を示す図
【図4】本発明の実施の形態におけるユーザプログラム
においてストップモードへ移行し待機状態となった各ア
ドレスの命令を示す図
【図5】従来のユーザプログラムのストップモード中の
ICE割込処理による動作を実行したときの状態を示す
【図6】(a)はデバッグを行うストップモードを有す
るユーザプログラムのメインルーチン、(b)はユーザ
プログラムの割込処理、(c)はICE割込処理を示す
フローチャート
【図7】図6(a)のメインルーチンと図6(c)のI
CE割込処理のフローチャートにおける状態遷移図
【図8】割込み処理の発生により状態情報を待避するス
タック領域を示す図
【符号の説明】
1 メインルーチン 2 割込処理 3 ICE割込処理 4,6 通常処理 5,16,19 ストップモードに入れる命令 7,8 強制ブレーク 9 リターン命令 10 ICEリターン命令 11 通常割込処理 12 フラグステータス 13 戻り番地 14 各種ステータス 15 ダミーの戻り番地 17 メインルーチンの戻り番地へ無条件分岐する命令 20 第1の命令 21 第2の命令 22 割込み復帰待ち

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 マイクロコンピュータの動作モードにお
    ける原発振を停止させる機能と、デバッグするためのイ
    ンサーキットエミュレータの制御ソフトウェアと、該制
    御ソフトウェアの制御によりリードライト可能なメモリ
    とを有し、前記原発振を停止した動作モードの状態にお
    いて発生した割込み処理の終了後に、前記動作モードの
    状態とすることを特徴とするインサーキットエミュレー
    タ。
JP14975298A 1998-05-29 1998-05-29 インサーキットエミュレータ Expired - Lifetime JP3410023B2 (ja)

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)

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