(57)【要約】【課題】ＭＣＵで実行される処理ループの状況を詳細に調査することができるプログラムモジュールを提供する。【解決手段】コンピュータのモニタ情報をモニタ装置に供給するための割り込みプログラムモジュール。このモジュールは、所望の処理の開始前および終了後の時点で、その後の処理の実行を中断させる中断ステップと、モニタ機能を割り込ませるか否かを判定する判定ステップと、モニタ機能を割り込ませると判定されたとき判定ステップの直前における処理についてのモニタ情報をモニタ装置へ供給する情報提供ステップと、モニタ装置へのモニタ情報の供給後、処理の中断を解除する解除ステップとを前記コンピュータに実行させる。【選択図】　　　　図１
2004102324.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された複数の処理を順次行うコンピュータの処理状況を表すモニタ情報を前記コンピュータと通信可能に接続されたモニタ装置に供給すべく割り込み命令を受けたとき前記コンピュータが実行可能の割り込みプログラムモジュールであって、
前記複数の処理を実行中の予め設定された所望の時点で前記コンピュータが割り込み命令を受けたとき、前記モニタ情報を供給する機能の割り込みを実行するか否かを所定の情報に基づいて判定する判定ステップと、
前記判定ステップにより前記モニタ機能の割り込みを実行すると判定されたとき、前記判定ステップの直前における前記処理についての前記モニタ情報を前記モニタ装置へ供給する情報提供ステップと、
前記モニタ装置への前記モニタ情報の供給後、割り込みを解除する解除ステップとを前記コンピュータに実行させることを特徴とする割り込みプログラムモジュール。
【請求項２】
前記判定ステップにおける前記判定により、前記モニタ機能の割り込みを実行しないと判定されたとき、前記コンピュータに前記解除ステップを実行させる請求項１記載のプログラムモジュール。
【請求項３】
さらに、前記割り込み命令が発せられる前記所望の時点を設定するための設定ステップを前記コンピュータに実行させる請求項１記載のプログラムモジュール。
【請求項４】
さらに、前記コンピュータに前記割り込み命令が発せられる前に異常の発生により当該命令が発せられないとき、強制的に前記判定ステップを行わせる判定補助ステップと、該判定補助ステップにより前記モニタ機能の割り込みを実行しないと判定されたとき、前記コンピュータにリセット処理を行わせるリセットステップとを当該コンピュータに実行させる請求項３記載のプログラムモジュール。
【請求項５】
前記判定ステップで用いられる前記所定の情報は、前記モニタ機能の割り込みを実行するか否かを示す情報である請求項１記載のプログラムモジュール。
【請求項６】
予め設定された複数の処理を順次行うコンピュータの処理状況を表すモニタ情報を前記コンピュータと通信可能に接続されたモニタ装置に供給すべく前記コンピュータが実行可能の割り込みプログラムモジュールが記録された記録媒体であって、
前記複数の処理を実行中の予め設定された所望の時点で前記コンピュータが割り込み命令を受けたとき、前記モニタ情報を供給する機能の割り込みを実行するか否かを所定の情報に基づいて判定する判定ステップと、
前記判定ステップにより前記モニタ機能の割り込みを実行すると判定されたとき、前記モニタ装置へ前記判定ステップの直前における前記処理についての前記モニタ情報を供給する情報提供ステップと、
前記モニタ装置への前記モニタ情報の供給後、割り込みを解除する解除ステップとを前記コンピュータに実行させるための割り込みプログラムモジュールが記録されていることを特徴とする記録媒体。
【請求項７】
前記判定ステップにおける前記判定により前記モニタ機能の割り込みを実行しないと判定されたとき、前記コンピュータに前記解除ステップを実行させる割り込みプログラムモジュールが記録されている請求項６記載の記録媒体。
【請求項８】
予め設定された複数の処理を順次行うコンピュータであって、自己の処理状況を表すモニタ情報を自己と通信可能に接続されたモニタ装置に供給可能なコンピュータであって、
前記複数の処理を実行中の予め設定された所望の時点で割り込み命令を受けたとき、前記モニタ情報を供給する機能の割り込みを実行するか否かを所定の情報に基づいて判定する判定部と、
前記判定部によりモニタ機能の割り込みを実行すると判定されたとき、前記モニタ装置へ前記判定時の直前における前記処理についての前記モニタ情報を供給する情報提供部と、
前記モニタ装置への前記モニタ情報の供給後、割り込みを解除する解除処理部とを備えることを特徴とするコンピュータ。
【請求項９】
前記解除処理部は、また、前記判定部における前記判定により前記モニタ機能の割り込みを実行しないと判定されたとき、前記中断を解除する請求項８記載のコンピュータ。
【請求項１０】
さらに、前記割り込み命令が発せられる前記所望の時点を設定するためのタイマ設定部を備える請求項８記載のコンピュータ。
【請求項１１】
さらに、前記割り込み命令が発せられる前に異常の発生により当該命令が発せられないとき、強制的に前記した判定を行うための判定補助部と、該判定補助部により前記モニタ機能の割り込みを実行しないと判定されたとき自己のリセット処理を行うためのリセット処理部とを備える請求項１０記載のコンピュータ。
【請求項１２】
モニタ装置と接続され、予め設定された複数のプログラムを実行するコンピュータの割り込み方法であって、
前記複数のプログラムの実行中における所定の時点で割り込み命令を受けたとき、実行中のプログラムの処理状況をモニタするか否かを判断し、モニタすると判断したとき、前記モニタ装置に当該処理状況を表示させることを特徴とする割り込み方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、種々の電子機器への組込みが可能なＭＣＵ（Ｍｉｃｒｏ　Ｃｏｎｔｒｏｌｌｅｒ　Ｕｎｉｔ）のようなコンピュータに関し、特に、該コンピュータのためのモニタ機能を実行するための割り込みプログラムモジュールに関する。
【０００２】
【従来の技術】
いわゆるワンチップマイコンとして広く一般的に用いられているＭＣＵには、そのチップ内にプログラムのデバッグ処理を行うためのオンチップデバッグ機能が設けられている機種がある。オンチップデバッグ機能によれば、高価なエミュレータを用いることなく、ＭＣＵの内部状況を外部装置からモニタすることができ、これにより、プログラムの不具合を解析することができる。
【０００３】
このようなモニタ機能を利用するにあたって、ＭＣＵは、従来よく知られたＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ　Ａｓｙｎｃｈｒｏｎｏｕｓ　Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）のような通信機構を介して、外部のモニタ装置と通信可能に接続される。モニタ機能の作動時には、ＭＣＵ内のＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）およびＳＦＲ（Ｓｐｅｃｉａｌ　Ｆｕｎｃｔｉｏｎ　Ｒｅｇｉｓｔｅｒ）のような記憶装置から読み出された情報が、適宜モニタ装置に供給され解析される。
【０００４】
ところで、前記したようなＭＣＵのプログラムには、一般的に、それぞれがループを構成する複数の処理ループが設けられており、各処理ループは、分岐判断ステップを経て選択的に実行される。前記各処理ループには、一連の処理を実行するための１または複数の処理ステップのそれぞれを実行する１または複数のプログラムモジュールが設けられており、その処理ステップが終了すると、ループ命令により前記分岐判断ステップに帰還する。前記したモニタ機能のためのプログラムモジュールを、これらの処理ループと並列的に挿入する、すなわち分岐判断ステップでの選択肢として挿入することにより、実行される所望の各処理ループについて、分岐ステップへの帰還直前の状況をモニタすることができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、前記した従来のプログラムでは、モニタ機能のための処理ループまたは他の処理ループが、分岐を経て選択的に実行されることから、例えば、複数の処理ステップからなる処理ループについて、その各ステップが実行される前後の状況を調査しようとしても、当該処理ループの実行中にはモニタ機能に移行することができない。
【０００６】
また、ある処理ループの実行中に、そのプログラムモジュールが暴走状態に陥り、ループの進行が停止した場合、前記した分岐ステップへの帰還が妨げられることから、モニタ機能の実行に移行させることができない。
【０００７】
従って、本発明の目的は、ＭＣＵで実行される処理ループを構成する複数の処理ステップのうちの所望の処理ステップの前後で、処理状況を調査することができるプログラムモジュールを提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、前記したモニタ機能を、予め設定された所望の時点で実行可能な割り込み処理として各処理ループ中に挿入するという基本構想に立脚する。
【０００９】
〈構成１〉
本発明に係る割り込みプログラムモジュールは、予め設定された複数の処理を順次行うコンピュータの処理状況を表すモニタ情報を前記コンピュータと通信可能に接続されたモニタ装置に供給すべく割り込み命令を受けたとき前記コンピュータが実行可能の割り込みプログラムモジュールであって、前記複数の処理を実行中の予め設定された所望の時点で前記コンピュータが割り込み命令を受けたとき、前記モニタ情報を供給する機能の割り込みを実行するか否かを所定の情報に基づいて判定する判定ステップと、前記判定ステップにより前記モニタ機能の割り込みを実行すると判定されたとき、前記判定ステップの直前における前記処理についての前記モニタ情報を前記モニタ装置へ供給する情報提供ステップと、前記モニタ装置への前記モニタ情報の供給後、割り込みを解除する解除ステップとを前記コンピュータに実行させる。
【００１０】
本発明に係る割り込みプログラムモジュールによれば、コンピュータのプログラムに組み込まれている処理ループの実行中に、分岐判断ステップへ帰還することなく、前記モニタ機能の割り込みを前記コンピュータに実行させることができる。これにより、前記ループの中の所望の処理ステップについて、その前後の状況をモニタすることができる。
【００１１】
前記プログラムモジュールは、前記判定ステップにおける前記判定により、前記モニタ機能の割り込みを実行しないと判定されたとき、前記コンピュータに前記解除ステップを実行させることができる。
【００１２】
また、前記割り込み命令が発せられる前記所望の時点を設定するための設定ステップを前記コンピュータに実行させることができる。
【００１３】
さらに、前記コンピュータに前記割り込み命令が発せられる前に異常の発生により当該命令が発せられないとき、強制的に前記判定ステップを行わせる判定補助ステップと、該判定補助ステップにより前記モニタ機能の割り込みを実行しないと判定されたとき、前記コンピュータにリセット処理を行わせるリセットステップとを当該コンピュータに実行させることができる。
【００１４】
前記判定ステップで用いられる前記所定の情報は、前記モニタ機能の割り込みを実行するか否かを示す情報とすることができる。
【００１５】
〈構成２〉
本発明に係る記録媒体は、予め設定された複数の処理を順次行うコンピュータの処理状況を表すモニタ情報を前記コンピュータと通信可能に接続されたモニタ装置に供給すべく前記コンピュータが実行可能の割り込みプログラムモジュールが記録された記録媒体であって、前記複数の処理を実行中の予め設定された所望の時点で前記コンピュータが割り込み命令を受けたとき、前記モニタ情報を供給する機能の割り込みを実行するか否かを所定の情報に基づいて判定する判定ステップと、前記判定ステップにより前記モニタ機能の割り込みを実行すると判定されたとき、前記モニタ装置へ前記判定ステップの直前における前記処理についての前記モニタ情報を供給する情報提供ステップと、前記モニタ装置への前記モニタ情報の供給後、割り込みを解除する解除ステップとを前記コンピュータに実行させるための割り込みプログラムモジュールが記録されている。
【００１６】
本発明に係る記録媒体によれば、コンピュータのプログラムに組み込まれている処理ループの実行中に、分岐判断ステップへ帰還することなく、前記モニタ機能の割り込みを前記コンピュータに実行させることができるプログラムモジュールを記憶することができる。これにより、前記ループの中の所望の処理ステップについて、その前後の状況をモニタすることができる。
【００１７】
また、前記記録媒体は、前記判定ステップにおける前記判定により前記モニタ機能の割り込みを実行しないと判定されたとき、前記コンピュータに前記解除ステップを実行させる割り込みプログラムモジュールを記録することができる。
【００１８】
〈構成３〉
本発明に係るコンピュータは、予め設定された複数の処理を順次行うコンピュータであって、自己の処理状況を表すモニタ情報を自己と通信可能に接続されたモニタ装置に供給可能なコンピュータであって、前記複数の処理を実行中の予め設定された所望の時点で割り込み命令を受けたとき、前記モニタ情報を供給する機能の割り込みを実行するか否かを所定の情報に基づいて判定する判定部と、前記判定部によりモニタ機能の割り込みを実行すると判定されたとき、前記モニタ装置へ前記判定時の直前における前記処理についての前記モニタ情報を供給する情報提供部と、前記モニタ装置への前記モニタ情報の供給後、割り込みを解除する解除処理部とを備える。
【００１９】
本発明に係るコンピュータによれば、該コンピュータのプログラムに組み込まれている処理ループの実行中に、分岐判断ステップへ帰還することなく、前記モニタ機能の割り込みを実行することができる。これにより、前記ループの中の所望の処理ステップについて、その前後の状況をモニタすることができる。
【００２０】
前記解除処理部は、また、前記判定部における前記判定により前記モニタ機能の割り込みを実行しないと判定されたとき、前記中断を解除することができる。
【００２１】
前記コンピュータは、前記割り込み命令が発せられる前記所望の時点を設定するためのタイマ設定部を備えることができる。
【００２２】
さらに、前記割り込み命令が発せられる前に異常の発生により当該命令が発せられないとき、強制的に前記した判定を行うための判定補助部と、該判定補助部により前記モニタ機能の割り込みを実行しないと判定されたとき自己のリセット処理を行うためのリセット処理部とを備えることができる。
【００２３】
〈構成４〉
本発明に係る割り込み方法は、モニタ装置と接続され予め設定された複数のプログラムを実行するコンピュータの割り込み方法であって、前記複数のプログラムの実行中における所定の時点で割り込み命令を受けたとき、実行中のプログラムの処理状況をモニタするか否かを判断し、モニタすると判断したとき、前記モニタ装置に当該処理状況を表示させる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例１〉
図１は、本発明に係る割込みプログラムモジュール１０が組み込まれたプログラム１０１を説明するためのフローチャートである。
前記プログラム１０１は、図２に示されるような配線ボード１に搭載されたＭＣＵ（Ｍｉｃｒｏ　Ｃｏｎｔｒｏｌｌｅｒ　Ｕｎｉｔ）２に組み込まれ、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）を有しない環境下で使用される。ＭＣＵ２が搭載された配線ボード１は、例えば当該ＭＣＵの評価試験を行うための、いわゆるターゲットボードとなる。ＭＣＵ２には、プログラム１０１を格納するための記憶部２ａと、当該プログラムを実行するための制御部２ｂと、後述するタイマ部２ｃおよび補助タイマ部２ｄとが設けられている。
【００２５】
ＭＣＵ２は、自己に組み込まれているプログラムが正常に動作するか否かの判定のために、図示されないＵＡＲＴのような通信機構を介して、当該プログラムの処理状況をモニタする外部解析装置３と相互に通信可能に接続されている。
また、ＭＣＵ２の所定の入力ポートには、前記したモニタを行うか否かを示す「ＯＮ」または「ＯＦＦ」を表す信号が外部解析装置３から与えられる。前記所定の入力ポートとして、ＭＣＵ２の汎用ポートを用いることができ、本発明の具体例では、このポートをスイッチとして取り扱う。
【００２６】
ＭＣＵ２のプログラム１０１には、図１に示されているように、分岐判断ステップＳ１を経て処理ループ１１ａまたは１１ｂが選択的に実行されるメインループプログラム１１と、該メインループの実行中に必要に応じて実行される割込み処理のためのプログラム１２とが組み込まれている。これらの両プログラム１１および１２は、ＭＣＵ２の前記した記憶部２ａにおける所定の領域に格納される。
【００２７】
メインループプログラム１１では、一方の処理ループ１１ａが選択されたとき処理ステップＳ２が実行され、他方の処理ループ１１ｂが選択されたとき、順次、処理ステップＳ３およびＳ４が実行される。これらの各処理ループ１１ａおよび１１ｂでは、各自の全ての処理ステップが終了すると、所定のループ命令により、前記した分岐判断ステップＳ１へ帰還する。このメインループ１１により、ＭＣＵ２は、自己が行うべき主要な作業を実行する。
【００２８】
割込み処理プログラム１２には、前記メインループ１１に対する割込み処理を実行するための少なくとも１つのプログラムモジュールが組み込まれている。割り込み処理のためのプログラムモジュールは、従来よく知られているように、メインループ１１で実行中の処理よりも高い優先度で実行される。
【００２９】
図１に示す例では、前記した割り込み処理モジュールとして、本発明に係るモニタ機能を有する割込みプログラムモジュール１０が示されているが、これに加えて、図示しないが、従来の割り込み処理におけると同様な、例えばＭＣＵ２内で所定の作業を実行するための割り込みプログラムモジュールを適宜付加することができる。モニタ機能の割込みプログラムモジュール１０を除く他のモジュールは、例えばＭＣＵ２の前記した制御部２ｂからの指示により、メインループ１１の実行中に必要に応じて実行される。
【００３０】
本発明に係る割込みプログラムモジュール１０は、ＭＣＵ２が外部解析装置３から割込発行命令１０ａを受ける毎に、メインループ１１中に割り込まれる。割込発行命令１０ａは、その発令時点が例えば外部解析装置３により予め設定されており、本具体例では、処理ループ１１ａおよび１１ｂにおける全ての処理ステップの前後で発令される。
【００３１】
前記割込みプログラムモジュール１０は、該モジュールが割り込まれたとき、ＭＣＵ２の前記したスイッチの状態を判定する判定ステップＳ１１と、このスイッチが「ＯＮ」状態であると判定されたとき、ＭＣＵ２のメインループ１１の処理状況を、外部解析装置３にモニタさせるモニタ機能を実行するためのモニタ処理ステップＳ１２と、前記判定ステップＳ１１で「ＯＦＦ」であると判定されたとき、または、前記モニタ処理ステップＳ１２でのモニタが終了したとき、当該割込みプログラムモジュール１０の割り込みを解除し、メインループ１１へリターンするステップＳ１３とを備える。
【００３２】
割込みプログラムモジュール１０で前記したモニタ処理が実行されると、割込発行命令１０ａを受ける直前におけるＭＣＵ２の処理状況を示すモニタ情報が、ＭＣＵ２から外部解析装置３に供給される。
【００３３】
具体例１では、図１に示されるように、メインループ１１の分岐判断ステップＳ１により、例えば一方の処理ループ１１ａが選択された場合、処理ステップＳ２の実行前に、割込発行命令１０ａが発令される。この割込発行命令１０ａが発令されると、ＭＣＵ２では、割込みプログラムモジュール１０に基づいて、前記スイッチの状態を判定させる（ステップＳ１１）。
【００３４】
この判定により、スイッチの状態が「ＯＦＦ」であるとされたときは、制御部２ｂに前記したモニタ処理を実行させることなく、メインループ１１の処理ステップＳ２を開始させるべく、リターン、すなわち割り込みを解除する（ステップＳ１３）。
【００３５】
また、前記したステップＳ１１でスイッチの状態が「ＯＮ」であると判定されたときは、制御部２ｂに前記モニタ処理を実行させる（ステップＳ１２）。このステップＳ１２で、ＭＣＵ２から外部解析装置３へのモニタ情報の供給が終了したとき、ステップＳ１３に移行し、メインループ１１へリターンさせる。
【００３６】
前記割込みプログラムモジュール１０からメインループ１１へリターンされると、処理ステップＳ２が実行される。この処理ステップＳ２の終了後、分岐判断ステップＳ１への帰還前に、再び割込発行命令１０ａが発令される。この発令により、前記したと同様に、割込みプログラムモジュール１０が割り込まれ、該モジュールのステップＳ１０〜Ｓ１３が適宜実行された後、前記分岐判断ステップＳ１へ帰還する。
【００３７】
また、ステップＳ１での分岐判断により、他方の処理ループ１１ｂが選択された場合、各処理ステップＳ３およびＳ４の前後で、前記した一方の処理ループ１１ａにおけると同様に、割込みプログラムモジュール１０が割り込まれた後、分岐判断ステップＳ１へ帰還する。
【００３８】
本発明に係る具体例１の割込みプログラムモジュール１０によれば、モニタ処理が、メインループ１１に対する割り込み処理として実行されることから、当該メインループの各処理ループ１１ａおよび１１ｂにおいて、分岐判断ステップへ帰還することなく、モニタ処理を実行させることができる。これにより、前記各処理ループの各処理ステップ間の状態をモニタすることができる。
【００３９】
前記した具体例１では、割込発行命令１０ａが、メインループ１１内のすべての処理ステップＳ２〜Ｓ４の前後で発令される例を説明したが、これに代えて、所望の処理ステップの実行前または実行後に、前記割込発行命令１０ａが発令されるように設定することができる。
【００４０】
また、前記割込み処理プログラム１２には、前記したように、モニタ機能の割り込みプログラムモジュールに加えて、他の割り込みモジュールを付加することができる。このとき、実行結果をモニタすべき所望の処理ステップが実行される間は、前記した他のモジュールの割り込みを禁止することにより、その処理結果についての正確なモニタ情報を得ることができる。このような割り込みの禁止は、例えば、所望の処理ステップの直前に割込発行命令１０ａを発令し、これにより割り込まれる割込みプログラムモジュール１０のモニタ機能を用いて、外部解析装置３から制御して実行させることができる。
【００４１】
〈具体例２〉
図３は、本発明に係る具体例２の割込みプログラムモジュール２０が組み込まれたプログラム１０２を説明するためのフローチャートである。
前記プログラム１０２の割込み処理プログラム１２には、図３に示されるように、具体例１で説明した割込みプログラムモジュール１０に加えて、後述するタイマ設定により、自動的にモニタ処理を実行することができる割込みプログラムモジュール２０が組み込まれている。
【００４２】
ＭＣＵ２には、前記したように図２に示すようなタイマ部２ｃが設けられており、例えば外部解析装置３により、このタイマ部２ｃに所望の時間を設定することができる。タイマ部２ｃでは、設定された前記所望時間がカウントされ、このカウントが終了、すなわちタイムアップすると、その旨が後述する割込発行命令２０ｂとして制御部２ｂへ通知される。
【００４３】
本発明に係るタイマ割込みプログラムモジュール２０には、モニタ処理を実行させるべき所望の時間を、外部解析装置３からＭＣＵ２の前記したタイマ部２ｃに設定させるための割り込み処理２０Ａと、具体例１で説明したと同様なモニタ機能を有し、設定されたタイマ時刻に割り込まれる割り込み処理２０Ｂとが組み込まれている。タイマ割り込み処理２０Ａは、メインループ１１の実行中、外部解析装置３からＭＣＵ２に割込発行命令２０ａが発せられたとき割り込まれ、タイマ割り込み処理２０Ｂは、その後のタイムアウト時にＭＣＵ２のタイマ部２ｃから発令される割込発行命令２０ｂを契機に割り込まれる。
【００４４】
タイマ割込みプログラムモジュール２０に関連するＭＣＵ２の動作を、図３に沿って説明する。ここでは、メインループ１１の処理ループ１１ｂにおける処理ステップＳ３が、作業ステップＳ３ａ、Ｓ３ｂおよびＳ３ｃから構成されている。
【００４５】
メインループ１１の分岐判断ステップＳ１で、例えば処理ループ１１ｂが選択された場合、処理ステップＳ３が実行される前に、外部解析装置３から割込発行命令２０ａが発令される。この割込発行命令２０ａが発令されると、前記したように、タイマ割込みプログラムモジュール２０が割り込まれ、そのタイマ割り込み処理２０Ａが実行される。
【００４６】
このタイマ割り込み処理２０Ａでは、モニタ処理を行うべき所望の時点を外部解析装置３に設定させる（ステップＳ２１）。ここでは、処理ステップＳ３における作業ステップＳ３ｂおよびＳ３ｃ間で、モニタ処理が行われるような所定の時間がタイマ部２ｃに設定される。このタイマ設定が終了すると、処理ループ１１ｂの処理ステップＳ３を開始させるべく、割り込みを解除する（ステップＳ２２）。
【００４７】
前記した解除後、メインループ１１で処理ステップＳ３の作業ステップＳ３ａが実行される。このステップＳ３ａに引き続く作業ステップＳ３ｂが終了したとき、前記ステップＳ２１でタイマ部２ｃに設定された前記所定時間がタイムアップし、当該タイマ部から制御部２ｂへ割込発行命令２０ｂが発せられる。
【００４８】
前記割込発行命令２０ｂの発令により、前記したように、タイマ割込みプログラムモジュール２０のタイマ割り込み処理２０Ｂが実行される。このタイマ割り込み処理２０Ｂでは、モニタ機能についての前記した外部解析装置３のスイッチ状態を判定させる（ステップＳ２３）。以降、前記した具体例１で説明した割込みプログラムモジュール１０におけるステップＳ１１〜１３と同様に、前記スイッチの状態に応じて適宜モニタ処理を実行させ、メインループ１１へリターンする。
【００４９】
前記タイマ割り込み処理２０Ｂからのリターン後、メインループ１１では、処理ステップＳ３の作業ステップＳ３ｃが実行される。この作業ステップＳ３ｃの終了後、引き続く処理ステップＳ４が実行される前に、外部解析装置３から割込発行命令１０ａが発令され、これにより、具体例１におけると同様に、割込みプログラムモジュール１０が実行される。その後、この割込みプログラムモジュール１０による割り込みが解除されると、処理ステップＳ４が実行され、このステップＳ４の終了後、分岐判断ステップＳ１への帰還前に、再び割込発行命令１０ａにより割込みプログラムモジュール１０が実行される。
【００５０】
本発明に係る具体例２の割込みプログラムモジュール２０によれば、前記した具体例１におけると同様な効果に加え、モニタ機能のためのプログラムモジュール（２０Ｂ）を割り込ませるべき所望の時点を、予めＭＣＵ２内のタイマ部２ｃに設定することができる。これにより、メインループ１１の実行中に、前記割り込みモジュール（２０Ｂ）を、前記所望の時点に対して正確な時点で割り込ませることができる。また、タイマ部２ｃを適宜制御することにより、モニタすべき時点を比較的容易に変更することができる。
【００５１】
〈具体例３〉
図４は、本発明に係る割込みプログラムモジュール３０が組み込まれたプログラム１０３を説明するためのフローチャートである。図４では、図面の簡素化のため、プログラム１０３のうち、具体例１および２で説明したメインループ１１のフローチャートは省略され、割込み処理プログラム１２が示されている。
【００５２】
図４に示される割込み処理プログラム１２には、具体例１および２で説明した割込みプログラムモジュール１０および２０と、後述するウォッチドッグタイマ機能を利用した割込みプログラムモジュール３０とが組み込まれている。
【００５３】
ＭＣＵ２には、前記したように図２に示すような補助タイマ部２ｄが設けられている。補助タイマ部２ｄには、プログラム１０３が正常に動作しているか否かを監視するための従来よく知られたウォッチドッグタイマ機能が与えられている。このウォッチドッグタイマ機能を有する補助タイマ部２ｄは、その基本動作として、予め当該補助タイマ部に設定された所定の時間をカウントし、このカウントが終了すると、制御部２ｂにプログラム１０３の実行をリセットさせるための指示を与える。
【００５４】
このような基本動作に対して、前記所定時間に達する前、すなわち補助タイマ部２ｄがタイムアップする前の時点で、前記カウント値をクリアさせるための信号が制御部２ｂから補助タイマ部２ｄに供給される。補助タイマ部２ｄは、前記クリア信号を受けると、カウント値が初期値に戻され、タイムアップによる前記したリセット指示を行うことなく、新たなカウント作業を開始する。
【００５５】
また、例えば無限ループの発生のように、プログラム１０３の実行に何らかの異常が発生した場合は、所定時間内に、制御部２ｂから補助タイマ部２ｄへ前記クリア信号が与えられないことがある。補助タイマ部２ｄでは、このクリア信号が与えられない限り、カウント値が初期値に戻されないことから、クリア信号が与えられることなく所定時間に達すると、この補助タイマ部２ｄから制御部２ｂへプログラム１０３の実行をリセットさせる指示が出される。
【００５６】
このことから、補助タイマ部２ｄのカウント値が定期的にクリアされる間は、前記クリア信号が制御部２ｂから適正に送出されていると考えられる。従って、前記カウント値がクリアしたか否かを判定することにより、制御部２ｂを動作させるプログラム１０３が正常か否かを監視することができる。
【００５７】
具体例３の割込みプログラムモジュール３０は、補助タイマ部２ｄの前記したようなウォッチドッグタイマ機能が利用されており、メインループ１１の実行中に異常が発生しても、必要に応じて、強制的にモニタ処理を実行させる。
【００５８】
割込みプログラムモジュール３０は、前記した補助タイマ部２ｄのカウント値がクリアされないとき、モニタ機能に関する前記スイッチの状態を判定するステップＳ３１と、このスイッチが「ＯＦＦ」のときプログラム１０３の実行をリセットさせるステップＳ３２と、スイッチが「ＯＮ」のとき前記したモニタ処理を実行させるステップＳ３３と、このモニタ処理が終了したとき割り込みを解除するステップＳ３４とからなる。
【００５９】
具体例３では、メインループ１１の実行中、例えば、具体例２で説明したタイマ割込みプログラムモジュール２０の割り込み処理２０Ｂが実行される前に、プログラム１０３の進行に異常が発生し、補助タイマ部２ｄのカウント値がクリアされないとき、前記割込みプログラムモジュール３０が割り込まれる。ＭＣＵ２では、このモジュール３０に基づいて、前記したステップＳ３１〜Ｓ３４が適宜実行される。
【００６０】
具体例３の前記割込みプログラムモジュール３０によれば、前記した具体例１および２における効果に加え、たとえプログラム１０３の異常により、モニタ機能のための割り込み命令の発令が妨げられても、補助タイマ部２ｄのウォッチドッグタイマの監視機能を用いて、強制的にモニタ処理に移行させることができる。これにより、外部解析装置３にモニタ情報が供給されることから、前記したプログラム１０３の異常を解析することができる。
【００６１】
前記した具体例１〜３では、モニタ機能を有する割り込みプログラムモジュールについて説明したが、本発明によれば、モニタのための前記割り込みプログラムモジュールが記録された記録媒体、および、モニタのための前記割り込みプログラムモジュールに基づく割り込み処理が可能なコンピュータを提供することができる。
【００６２】
【発明の効果】
本発明によれば、コンピュータのプログラムに組み込まれている処理ループの実行中に、分岐判断ステップへ帰還することなく、前記モニタ機能の割り込みをコンピュータに実行させることができる割り込みプログラムモジュールを提供することができる。これにより、前記処理ループの中の所望の処理ステップについて、その前後の状況をモニタすることができ、プログラムを詳細に調査することが可能となる。
【００６３】
また、本発明によれば、前記した割り込みプログラムモジュールが記憶された記憶媒体、および、当該プログラムモジュールによりモニタ機能のための割り込み処理が実行可能のコンピュータを提供することができる。
【図面の簡単な説明】
【図１】具体例１を説明するためのフローチャートである。
【図２】具体例１を説明するためのブロック図である。
【図３】具体例２を説明するためのフローチャートである。
【図４】具体例３を説明するためのフローチャートである。
【符号の説明】
１０、２０、３０　割込みプログラムモジュール
１０ａ、２０ａ、２０ｂ　割込発行命令
１１　メインループプログラム
１１ａ、１１ｂ　処理ループ
１２　割込み処理プログラム
１０１、１０２、１０３　プログラム
【図１】
2004102324.tif 000003
【図２】
2004102324.tif 000004
【図３】
2004102324.tif 000005
【図４】
2004102324.tif 000006