JPH103407A - プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法 - Google Patents
プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法Info
- Publication number
- JPH103407A JPH103407A JP8174197A JP17419796A JPH103407A JP H103407 A JPH103407 A JP H103407A JP 8174197 A JP8174197 A JP 8174197A JP 17419796 A JP17419796 A JP 17419796A JP H103407 A JPH103407 A JP H103407A
- Authority
- JP
- Japan
- Prior art keywords
- program
- memory
- information
- program memory
- coverage
- 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
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】プログラム開発支援装置における未初期化(未
格納)プログラムメモリの実行による誤動作を検出する
こと。 【解決手段】プログラムメモリの各アドレスに対して初
期化(プログラムが格納されたか否か)の有無を表す1
ビットの初期化情報をカバレッジメモリに設け、プログ
ラムのロードの直前に初期化情報をクリアし、プログラ
ムのロード時に初期化情報をセットし、プログラムの実
行時には、プログラムメモリの指定アドレスの初期化情
報を読み込み、プログラムが格納されているか否かを調
べ、プログラムが格納されていないアドレスのプログラ
ムを実行して誤動作することを未然に検出し、次のロー
ド以前のカバレッジのクリア時にはAND演算により初
期化情報を保持する。
格納)プログラムメモリの実行による誤動作を検出する
こと。 【解決手段】プログラムメモリの各アドレスに対して初
期化(プログラムが格納されたか否か)の有無を表す1
ビットの初期化情報をカバレッジメモリに設け、プログ
ラムのロードの直前に初期化情報をクリアし、プログラ
ムのロード時に初期化情報をセットし、プログラムの実
行時には、プログラムメモリの指定アドレスの初期化情
報を読み込み、プログラムが格納されているか否かを調
べ、プログラムが格納されていないアドレスのプログラ
ムを実行して誤動作することを未然に検出し、次のロー
ド以前のカバレッジのクリア時にはAND演算により初
期化情報を保持する。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータのプログラムの実行において、マイクロコンピュー
タのプログラムの誤動作を検出する方法および装置に関
し、特に、マイクロコンピュータのプログラム開発環境
において、マイクロコンピュータのプログラム誤動作を
検出し、プログラムの開発効率を向上させる方法および
装置に関する。
ータのプログラムの実行において、マイクロコンピュー
タのプログラムの誤動作を検出する方法および装置に関
し、特に、マイクロコンピュータのプログラム開発環境
において、マイクロコンピュータのプログラム誤動作を
検出し、プログラムの開発効率を向上させる方法および
装置に関する。
【0002】
【従来の技術】この種の従来のマイクロコンピュータの
プログラム開発環境システムとして、(1)プログラム
メモリの初期化されていない領域を参照することを検出
する2種類の方法、(2)マイクロコンピュータのプロ
グラム開発支援装置においてマイクロコンピュータがデ
ータメモリのデータが不定な(初期化されていない)ア
ドレスを参照することによって誤動作することを検出す
る方法、(3)マイクロコンピュータのプログラム開発
支援装置においてカバレッジメモリのクリア機能、につ
いて以下に順に説明する。
プログラム開発環境システムとして、(1)プログラム
メモリの初期化されていない領域を参照することを検出
する2種類の方法、(2)マイクロコンピュータのプロ
グラム開発支援装置においてマイクロコンピュータがデ
ータメモリのデータが不定な(初期化されていない)ア
ドレスを参照することによって誤動作することを検出す
る方法、(3)マイクロコンピュータのプログラム開発
支援装置においてカバレッジメモリのクリア機能、につ
いて以下に順に説明する。
【0003】(1)まず、プログラムメモリの初期化さ
れていない領域を参照することを検出する2つの方法、
について説明する。
れていない領域を参照することを検出する2つの方法、
について説明する。
【0004】その第1の方法は、マイクロプロセッサが
プログラムを実行するとき、プログラムメモリの中で参
照してもよいアドレスと、参照してはいけないアドレス
との境界値を比較器により常に監視し、参照不可領域を
侵していれば、プログラムの実行をエラーとするもので
ある。例えば特開平1−251240号公報には、中央
処理装置の暴走や不当なプログラムの実行等による不当
領域上でのプログラム走行等の暴走とみなされる状態
を、記憶装置とは別に設けた半導体記憶装置を用いて検
出する方式が提案されている。
プログラムを実行するとき、プログラムメモリの中で参
照してもよいアドレスと、参照してはいけないアドレス
との境界値を比較器により常に監視し、参照不可領域を
侵していれば、プログラムの実行をエラーとするもので
ある。例えば特開平1−251240号公報には、中央
処理装置の暴走や不当なプログラムの実行等による不当
領域上でのプログラム走行等の暴走とみなされる状態
を、記憶装置とは別に設けた半導体記憶装置を用いて検
出する方式が提案されている。
【0005】この方法により、メモリ管理機能を持つマ
イクロプロセッサは、予め定められたサイズのメモリ領
域にロードされたプログラムの存在を把握することがで
きる。
イクロプロセッサは、予め定められたサイズのメモリ領
域にロードされたプログラムの存在を把握することがで
きる。
【0006】第2の方法は、マイクロプロセッサに、プ
ログラムメモリの各アドレスごとに正規にプログラムが
格納された部分とプログラムが格納されていない部分を
識別できる識別情報を書き込んでおく記憶装置を備え、
マイクロプロセッサがプログラムを実行するとき、正規
にプログラムが格納された部分以外の部分を参照したと
き、プログラムの実行をエラーとする方法である。例え
ば特開平2−141837号公報参照には、主記憶装置
の各番地に対応して冗長な記憶領域を備え、該記憶領域
に、正規にプログラムされた部分とプログラムされてい
ない部分を識別できる識別情報を書き込んでおくと共
に、マイクロプロセッサがアクセスした主記憶装置の番
地に対応する識別情報を参照し、正規のアクセスである
か異常アクセスであるかを識別する識別手段を備え、マ
イクロプロセッサがプログラム実行中、正規にプログラ
ムされた部分以外を参照した時、異常状態と判定する構
成が提案されてる。
ログラムメモリの各アドレスごとに正規にプログラムが
格納された部分とプログラムが格納されていない部分を
識別できる識別情報を書き込んでおく記憶装置を備え、
マイクロプロセッサがプログラムを実行するとき、正規
にプログラムが格納された部分以外の部分を参照したと
き、プログラムの実行をエラーとする方法である。例え
ば特開平2−141837号公報参照には、主記憶装置
の各番地に対応して冗長な記憶領域を備え、該記憶領域
に、正規にプログラムされた部分とプログラムされてい
ない部分を識別できる識別情報を書き込んでおくと共
に、マイクロプロセッサがアクセスした主記憶装置の番
地に対応する識別情報を参照し、正規のアクセスである
か異常アクセスであるかを識別する識別手段を備え、マ
イクロプロセッサがプログラム実行中、正規にプログラ
ムされた部分以外を参照した時、異常状態と判定する構
成が提案されてる。
【0007】(2)次に、マイクロコンピュータのプロ
グラム開発支援装置において、マイクロコンピュータが
データメモリのデータが不定な(初期化されていない)
アドレスを参照することによって誤動作することを検出
する方法について説明する。
グラム開発支援装置において、マイクロコンピュータが
データメモリのデータが不定な(初期化されていない)
アドレスを参照することによって誤動作することを検出
する方法について説明する。
【0008】このプログラム開発支援装置は、データメ
モリの読み出し・書き込みの履歴情報を格納するデータ
メモリ用カバレッジメモリを備え、データメモリの各ア
ドレスに対して、プログラムによってデータメモリに何
らかのデータが書き込まれた(初期化された)ことを示
す初期化情報を備え、プログラムの実行を開始した後、
この初期化情報はセットされる。
モリの読み出し・書き込みの履歴情報を格納するデータ
メモリ用カバレッジメモリを備え、データメモリの各ア
ドレスに対して、プログラムによってデータメモリに何
らかのデータが書き込まれた(初期化された)ことを示
す初期化情報を備え、プログラムの実行を開始した後、
この初期化情報はセットされる。
【0009】そして、プログラムを実行中、初期化され
ていないデータメモリのアドレスの内容を読み込むと
き、該アドレスの初期化情報を調べ、データメモリの該
アドレスが初期化されていないものと判定し、プログラ
ムの実行を中止するなどの異常処理を行う。また、この
プログラム開発支援装置は、プログラムの実行直前に初
期化情報をクリアする機能を具備する。
ていないデータメモリのアドレスの内容を読み込むと
き、該アドレスの初期化情報を調べ、データメモリの該
アドレスが初期化されていないものと判定し、プログラ
ムの実行を中止するなどの異常処理を行う。また、この
プログラム開発支援装置は、プログラムの実行直前に初
期化情報をクリアする機能を具備する。
【0010】(3)次に、マイクロコンピュータのプロ
グラム開発支援装置におけるカバレッジメモリのクリア
機能について説明する。
グラム開発支援装置におけるカバレッジメモリのクリア
機能について説明する。
【0011】マイクロコンピュータのプログラム開発支
援装置は、プログラムの実行履歴情報を格納する読み出
し・書き込み可能なカバレッジメモリを備えている。実
行履歴情報は、プログラムを実行した後に、当該プログ
ラムの実行結果を知るための情報であり、このプログラ
ムの実行履歴情報は、例えばアドレスごとに1回のプロ
グラムの実行中に該アドレスが何回参照されたかを示す
実行回数などを含む。
援装置は、プログラムの実行履歴情報を格納する読み出
し・書き込み可能なカバレッジメモリを備えている。実
行履歴情報は、プログラムを実行した後に、当該プログ
ラムの実行結果を知るための情報であり、このプログラ
ムの実行履歴情報は、例えばアドレスごとに1回のプロ
グラムの実行中に該アドレスが何回参照されたかを示す
実行回数などを含む。
【0012】プログラムのカバレッジメモリに格納され
る実行履歴情報は、1回のプログラムの実行に関する情
報であるため、プログラム開発支援装置は、プログラム
の実行を開始するたびに、このカバレッジメモリをクリ
アする機能手段を具備している。
る実行履歴情報は、1回のプログラムの実行に関する情
報であるため、プログラム開発支援装置は、プログラム
の実行を開始するたびに、このカバレッジメモリをクリ
アする機能手段を具備している。
【0013】
【発明が解決しようとする課題】上記した、プログラム
メモリの初期化されていない領域を参照することを検出
する従来の2つの方法については、以下に示すような問
題点がある。
メモリの初期化されていない領域を参照することを検出
する従来の2つの方法については、以下に示すような問
題点がある。
【0014】マイクロプロセッサがプログラムを実行す
るとき、プログラムメモリの中で参照してもよいアドレ
スと、参照してはいけないアドレスの境界値を比較器に
より常に監視し、参照不可領域を侵していればプログラ
ムの実行をエラーとする第1の方法では、分割される領
域が多くなると、比較に用いられる回路規模が増大し、
一方、回路規模を縮減しようとすると、システムの実行
速度に悪影響を与える(システム性能を低下させる)と
いう問題点を有している。
るとき、プログラムメモリの中で参照してもよいアドレ
スと、参照してはいけないアドレスの境界値を比較器に
より常に監視し、参照不可領域を侵していればプログラ
ムの実行をエラーとする第1の方法では、分割される領
域が多くなると、比較に用いられる回路規模が増大し、
一方、回路規模を縮減しようとすると、システムの実行
速度に悪影響を与える(システム性能を低下させる)と
いう問題点を有している。
【0015】一般に、プログラムは、複数の領域に分割
されて、プログラムメモリに割り当てられるが、領域の
比較は複雑となり、領域の分割数が多いほど多数の比較
器が必要とされることになる。ところで、比較器を減ら
すために、分割領域の各上限アドレス、下限アドレスを
マルチプレクサによって逐次切り替えて比較する方法も
あるが、比較時間が増える。
されて、プログラムメモリに割り当てられるが、領域の
比較は複雑となり、領域の分割数が多いほど多数の比較
器が必要とされることになる。ところで、比較器を減ら
すために、分割領域の各上限アドレス、下限アドレスを
マルチプレクサによって逐次切り替えて比較する方法も
あるが、比較時間が増える。
【0016】次に、マイクロプロセッサに、プログラム
メモリの各アドレスごとに正規にプログラムが格納され
た部分とプログラムが格納されていない部分を識別でき
る識別情報を書き込んでおく記憶装置を備え、マイクロ
プロセッサがプログラムを実行するとき、正規にプログ
ラムが格納された部分以外の部分を参照したとき、プロ
グラムの実行をエラーとする第2の方法は、該識別情報
を格納する記憶装置および該識別情報をクリアする装置
を別途用意しなければならない。
メモリの各アドレスごとに正規にプログラムが格納され
た部分とプログラムが格納されていない部分を識別でき
る識別情報を書き込んでおく記憶装置を備え、マイクロ
プロセッサがプログラムを実行するとき、正規にプログ
ラムが格納された部分以外の部分を参照したとき、プロ
グラムの実行をエラーとする第2の方法は、該識別情報
を格納する記憶装置および該識別情報をクリアする装置
を別途用意しなければならない。
【0017】また、プログラムメモリの各アドレス毎
に、正規にプログラムが格納された部分とプログラムが
格納されていない部分が予め決まっている場合には、識
別情報を格納する記憶装置をROM(読み出し専用メモ
リ)とし、決まった識別情報を一度書き込めば済むが、
プログラム開発のデバッグ段階では、プログラムがプロ
グラムメモリに格納される部分が変化し、識別情報も変
化するので、識別情報が変化するたびに、識別情報の記
憶装置であるROMを取り替えて識別情報を書き込まな
ければならないという問題点を有してる。
に、正規にプログラムが格納された部分とプログラムが
格納されていない部分が予め決まっている場合には、識
別情報を格納する記憶装置をROM(読み出し専用メモ
リ)とし、決まった識別情報を一度書き込めば済むが、
プログラム開発のデバッグ段階では、プログラムがプロ
グラムメモリに格納される部分が変化し、識別情報も変
化するので、識別情報が変化するたびに、識別情報の記
憶装置であるROMを取り替えて識別情報を書き込まな
ければならないという問題点を有してる。
【0018】さらに、従来のプログラム開発支援装置に
おいて、メモリの初期化の有無を判定するというデータ
メモリに関する初期化情報の仕組みをプログラムメモリ
に応用すると仮定すると、下記の2つの問題が発生す
る。
おいて、メモリの初期化の有無を判定するというデータ
メモリに関する初期化情報の仕組みをプログラムメモリ
に応用すると仮定すると、下記の2つの問題が発生す
る。
【0019】第1に、データメモリの場合、プログラム
の実行中に初期化情報がセットされるが、プログラムメ
モリの場合には、プログラムを実行する前のプログラム
をロードする時点で初期化情報がセットされ、プログラ
ムの実行中は初期化情報を参照するのみでなければなら
ない。
の実行中に初期化情報がセットされるが、プログラムメ
モリの場合には、プログラムを実行する前のプログラム
をロードする時点で初期化情報がセットされ、プログラ
ムの実行中は初期化情報を参照するのみでなければなら
ない。
【0020】第2に、データメモリの場合、プログラム
の実行を開始するたびに初期化情報はクリアされるが、
プログラムメモリの場合には、初期化情報がセットされ
るのはプログラムをロードするときであり、プログラム
の実行を開始するたびに初期化情報がクリアされるとす
ると、プログラムの実行のたびにプログラムをロードし
なければならなくなる。
の実行を開始するたびに初期化情報はクリアされるが、
プログラムメモリの場合には、初期化情報がセットされ
るのはプログラムをロードするときであり、プログラム
の実行を開始するたびに初期化情報がクリアされるとす
ると、プログラムの実行のたびにプログラムをロードし
なければならなくなる。
【0021】次に、マイクロコンピュータのプログラム
開発支援装置におけるカバレッジメモリのクリア機能に
ついて次のような問題点がある。
開発支援装置におけるカバレッジメモリのクリア機能に
ついて次のような問題点がある。
【0022】従来のプログラム開発支援装置にはプログ
ラムのカバレッジメモリに格納されるカバレッジ情報を
クリアする機能がある。プログラムメモリ初期化情報を
カバレッジメモリに付加すると、プログラムメモリ初期
化情報をクリアする機能をあらためて用意する必要がな
くなる。しかし、プログラムのカバレッジ情報はプログ
ラムの実行のたびにクリアされるということは、プログ
ラムメモリ初期化情報もプログラムの実行のたびにクリ
アされるため、プログラムの実行のたびにプログラムを
ロードしてプログラムメモリ初期化情報をセットしなけ
ればならない。
ラムのカバレッジメモリに格納されるカバレッジ情報を
クリアする機能がある。プログラムメモリ初期化情報を
カバレッジメモリに付加すると、プログラムメモリ初期
化情報をクリアする機能をあらためて用意する必要がな
くなる。しかし、プログラムのカバレッジ情報はプログ
ラムの実行のたびにクリアされるということは、プログ
ラムメモリ初期化情報もプログラムの実行のたびにクリ
アされるため、プログラムの実行のたびにプログラムを
ロードしてプログラムメモリ初期化情報をセットしなけ
ればならない。
【0023】従って、本発明は、上記事情に鑑みてなさ
れたものであって、その目的は、未初期化プログラムメ
モリの実行による誤動作を効率よく検出する装置及び方
法を提供することにある。
れたものであって、その目的は、未初期化プログラムメ
モリの実行による誤動作を効率よく検出する装置及び方
法を提供することにある。
【0024】
【課題を解決するための手段】前記目的を達成するた
め、本発明のプログラム開発支援装置は、CPUにて実
行されるプログラムを格納するプログラムメモリと、前
記プログラムメモリの各アドレスに対して、該プログラ
ムが前記プログラムメモリにロードされたか否かを識別
するためのプログラムメモリ初期化情報をカバレッジ情
報として記憶格納するカバレッジメモリと、前記カバレ
ッジメモリの読み書きを制御し、前記プログラムメモリ
初期化情報が、実行しようとしたプログラムメモリが初
期化されていない旨を示すとき、プログラムの実行を誤
動作と判断し、誤動作検出情報を出力するカバレッジメ
モリ制御回路と、を含むことを特徴とする。
め、本発明のプログラム開発支援装置は、CPUにて実
行されるプログラムを格納するプログラムメモリと、前
記プログラムメモリの各アドレスに対して、該プログラ
ムが前記プログラムメモリにロードされたか否かを識別
するためのプログラムメモリ初期化情報をカバレッジ情
報として記憶格納するカバレッジメモリと、前記カバレ
ッジメモリの読み書きを制御し、前記プログラムメモリ
初期化情報が、実行しようとしたプログラムメモリが初
期化されていない旨を示すとき、プログラムの実行を誤
動作と判断し、誤動作検出情報を出力するカバレッジメ
モリ制御回路と、を含むことを特徴とする。
【0025】また、本発明のプログラム誤動作検出方法
は、プログラムをロードする直前にプログラムメモリ初
期化情報をクリアする手段と、プログラムをロードした
直後にプログラムメモリ初期化情報をセットする手段
と、プログラムの次のロードまでプログラムメモリ初期
化情報を保持する手段と、前記CPUがプログラムを実
行するとき、プログラムメモリ初期化情報の値により、
初期化されているプログラムメモリのアドレスを参照し
たか、初期化されていないプログラムメモリのアドレス
を参照したかを判断する手段と、を備えたことを特徴と
する。
は、プログラムをロードする直前にプログラムメモリ初
期化情報をクリアする手段と、プログラムをロードした
直後にプログラムメモリ初期化情報をセットする手段
と、プログラムの次のロードまでプログラムメモリ初期
化情報を保持する手段と、前記CPUがプログラムを実
行するとき、プログラムメモリ初期化情報の値により、
初期化されているプログラムメモリのアドレスを参照し
たか、初期化されていないプログラムメモリのアドレス
を参照したかを判断する手段と、を備えたことを特徴と
する。
【0026】
【発明の実施の形態】本発明の実施の形態について図面
を参照して以下に説明する。
を参照して以下に説明する。
【0027】図1は、本発明の第1の実施の形態に係る
プログラム誤動作検出方法を実現するプログラム開発支
援装置の構成を示す図である。
プログラム誤動作検出方法を実現するプログラム開発支
援装置の構成を示す図である。
【0028】図1を参照すると、ホストコンピュータ6
と接続されるプログラム開発支援装置5は、CPU1
と、プログラムメモリ2と、カバレッジメモリ3と、カ
バレッジメモリ制御装置4と、を備えて構成され、プロ
グラムメモリ2とカバレッジメモリ3は、CPU1とア
ドレスバス10及びデータバス11を介して接続され、
CPU1からはプログラムメモリ2とカバレッジメモリ
制御回路4にR/W(リード/ライト)信号12が供給
される。また、カバレッジメモリ制御装置4はカバレッ
ジメモリ3に対してカバレッジメモリR/W信号54を
出力し、データの授受をカバレッジデータバス56を介
して行い、カバレッジメモリ制御回路4から誤動作検出
信号55が出力される。
と接続されるプログラム開発支援装置5は、CPU1
と、プログラムメモリ2と、カバレッジメモリ3と、カ
バレッジメモリ制御装置4と、を備えて構成され、プロ
グラムメモリ2とカバレッジメモリ3は、CPU1とア
ドレスバス10及びデータバス11を介して接続され、
CPU1からはプログラムメモリ2とカバレッジメモリ
制御回路4にR/W(リード/ライト)信号12が供給
される。また、カバレッジメモリ制御装置4はカバレッ
ジメモリ3に対してカバレッジメモリR/W信号54を
出力し、データの授受をカバレッジデータバス56を介
して行い、カバレッジメモリ制御回路4から誤動作検出
信号55が出力される。
【0029】図2は、図1のカバレッジメモリ3とカバ
レッジメモリ制御回路4の関係を詳細に示した構成図で
ある。図3は、プログラムメモリ初期化情報のセット方
法である。また、図4は、プログラムメモリ初期化情報
43を用いたプログラム誤動作検出方法のフローチャー
トである。
レッジメモリ制御回路4の関係を詳細に示した構成図で
ある。図3は、プログラムメモリ初期化情報のセット方
法である。また、図4は、プログラムメモリ初期化情報
43を用いたプログラム誤動作検出方法のフローチャー
トである。
【0030】図2において、プログラムメモリ初期化情
報43、プログラムメモリ実行情報42、プログラムメ
モリ読み込み情報41、プログラムメモリ書き込み情報
40は、プログラムメモリ2のひとつのアドレスに対し
てそれぞれ1ビットの情報であり、この値は、カバレッ
ジ情報としてカバレッジメモリ3の中に格納される。
報43、プログラムメモリ実行情報42、プログラムメ
モリ読み込み情報41、プログラムメモリ書き込み情報
40は、プログラムメモリ2のひとつのアドレスに対し
てそれぞれ1ビットの情報であり、この値は、カバレッ
ジ情報としてカバレッジメモリ3の中に格納される。
【0031】まず、図1、図2および図3を参照して、
本発明の実施の形態における、プログラムメモリ2の初
期化情報のセットの方法を説明する。
本発明の実施の形態における、プログラムメモリ2の初
期化情報のセットの方法を説明する。
【0032】ホストコンピュータ6からプログラム開発
支援装置5にプログラムをロードする要求が発せられる
(ステップ20)と、まず、カバレッジメモリ制御回路
4は、カバレッジメモリ3に格納されたすべてのプログ
ラムメモリ初期化情報43をクリアする(ステップ2
1)。
支援装置5にプログラムをロードする要求が発せられる
(ステップ20)と、まず、カバレッジメモリ制御回路
4は、カバレッジメモリ3に格納されたすべてのプログ
ラムメモリ初期化情報43をクリアする(ステップ2
1)。
【0033】次に、ホストコンピュータ6が、プログラ
ムをプログラムメモリ2の指定アドレスにロードする
(ステップ22)と、当該アドレスの値はアドレスバス
10に出力される。
ムをプログラムメモリ2の指定アドレスにロードする
(ステップ22)と、当該アドレスの値はアドレスバス
10に出力される。
【0034】カバレッジメモリ制御回路4は、このウィ
ンドウ(アドレス領域)にプログラムがロードされたこ
とを、該アドレスのプログラムメモリ初期化情報43と
してカバレッジメモリ3にセットする(ステップ2
3)。
ンドウ(アドレス領域)にプログラムがロードされたこ
とを、該アドレスのプログラムメモリ初期化情報43と
してカバレッジメモリ3にセットする(ステップ2
3)。
【0035】最後に、ホストコンピュータ6がプログラ
ムのロードの終了を判断する(ステップ24の判定でY
es)まで、ステップ22のプログラムのロードと、ス
テップ23のプログラムメモリ初期化情報43のセット
を繰り返す。
ムのロードの終了を判断する(ステップ24の判定でY
es)まで、ステップ22のプログラムのロードと、ス
テップ23のプログラムメモリ初期化情報43のセット
を繰り返す。
【0036】これにより、プログラムメモリ2の各アド
レスのうち、プログラムがロードされたアドレスのプロ
グラムメモリ初期化情報43はセットされ、プログラム
がロードされなかったアドレスのプログラムメモリ初期
化情報43はクリアされた状態のままとされる。
レスのうち、プログラムがロードされたアドレスのプロ
グラムメモリ初期化情報43はセットされ、プログラム
がロードされなかったアドレスのプログラムメモリ初期
化情報43はクリアされた状態のままとされる。
【0037】次に、図1、図2および図4を参照して、
本発明の実施の形態における、プログラムメモリ初期化
情報43を用いたプログラム誤動作検出方法を説明す
る。
本発明の実施の形態における、プログラムメモリ初期化
情報43を用いたプログラム誤動作検出方法を説明す
る。
【0038】ホストコンピュータ6からプログラム開発
支援装置5にプログラムを実行する要求が発せられる
(ステップ30)と、まず、カバレッジメモリ制御回路
4は、CPU1がアドレスバス12に出力したプログラ
ムメモリ2のアドレスに対応するプログラムメモリ初期
化情報43をカバレッジメモリ3から読み込む(ステッ
プ31)。
支援装置5にプログラムを実行する要求が発せられる
(ステップ30)と、まず、カバレッジメモリ制御回路
4は、CPU1がアドレスバス12に出力したプログラ
ムメモリ2のアドレスに対応するプログラムメモリ初期
化情報43をカバレッジメモリ3から読み込む(ステッ
プ31)。
【0039】次に、カバレッジメモリ制御回路4は、該
プログラムメモリ初期化情報43がセットされているか
クリアされているかを調べ(ステップ32)、該プログ
ラムメモリ初期化情報43がクリアされている場合に
は、プログラムメモリ2の該アドレスにプログラムがロ
ードされていないものと判断し、誤動作検出情報45を
出力する(ステップ36)。
プログラムメモリ初期化情報43がセットされているか
クリアされているかを調べ(ステップ32)、該プログ
ラムメモリ初期化情報43がクリアされている場合に
は、プログラムメモリ2の該アドレスにプログラムがロ
ードされていないものと判断し、誤動作検出情報45を
出力する(ステップ36)。
【0040】この情報により、ホストコンピュータ6は
CPU1のプログラムの実行を中止するなどの誤動作に
対する処置を行う。
CPU1のプログラムの実行を中止するなどの誤動作に
対する処置を行う。
【0041】一方、ステップ32において、該プログラ
ムメモリ初期化情報43がセットされている場合には、
カバレッジメモリ制御回路4は、プログラムメモリ2の
該アドレスにプログラムがロードされているものと判断
し、誤動作検出情報45を出力せず、CPU1は、デー
タバスに出力されたプログラムメモリ2の該アドレスの
プログラムを読み込み(ステップ33)、該プログラム
を実行する(ステップ34)。
ムメモリ初期化情報43がセットされている場合には、
カバレッジメモリ制御回路4は、プログラムメモリ2の
該アドレスにプログラムがロードされているものと判断
し、誤動作検出情報45を出力せず、CPU1は、デー
タバスに出力されたプログラムメモリ2の該アドレスの
プログラムを読み込み(ステップ33)、該プログラム
を実行する(ステップ34)。
【0042】最後に、ホストコンピュータ6はCPU1
が実行しているプログラムの終了を判断する(ステップ
35)まで、ステップ31のカバレッジメモリ制御回路
4のプログラムメモリ初期化情報43の読み込み処理か
らステップ34のCPU1のプログラムの実行までの処
理を繰り返す。
が実行しているプログラムの終了を判断する(ステップ
35)まで、ステップ31のカバレッジメモリ制御回路
4のプログラムメモリ初期化情報43の読み込み処理か
らステップ34のCPU1のプログラムの実行までの処
理を繰り返す。
【0043】以上により、プログラムがロードされてい
ないアドレスを参照することによって生じるプログラム
の誤動作を検出する。
ないアドレスを参照することによって生じるプログラム
の誤動作を検出する。
【0044】図2を参照して、カバレッジメモリ制御回
路4は、カバレッジ情報をプログラムの実行の直前にク
リアする機能を備えている。
路4は、カバレッジ情報をプログラムの実行の直前にク
リアする機能を備えている。
【0045】ここで、4種類のカバレッジ情報、すなわ
ちプログラムメモリ初期化情報43、プログラムメモリ
実行情報42、プログラムメモリ読み込み情報41、及
びプログラムメモリ書き込み情報40を4ビットのデー
タとして扱い、表1に示すように、プログラムメモリ初
期化情報43をカバレッジ情報の最上位ビット(MS
B)に割り当てるものとする。
ちプログラムメモリ初期化情報43、プログラムメモリ
実行情報42、プログラムメモリ読み込み情報41、及
びプログラムメモリ書き込み情報40を4ビットのデー
タとして扱い、表1に示すように、プログラムメモリ初
期化情報43をカバレッジ情報の最上位ビット(MS
B)に割り当てるものとする。
【0046】
【表1】
【0047】カバレッジメモリ3がクリアされるタイミ
ングは、プログラムのロード直前、プログラムの実行直
前およびランダムなクリア要求時である。一方、プログ
ラムメモリ初期化情報43をクリアするタイミングは、
プログラムのロード直前のみでなければならない。
ングは、プログラムのロード直前、プログラムの実行直
前およびランダムなクリア要求時である。一方、プログ
ラムメモリ初期化情報43をクリアするタイミングは、
プログラムのロード直前のみでなければならない。
【0048】すなわち、カバレッジ情報のクリア機能と
して、プログラムメモリ初期化情報43を保持しつつ、
他の3種類のカバレッジ情報をクリアすることが必要に
なる。
して、プログラムメモリ初期化情報43を保持しつつ、
他の3種類のカバレッジ情報をクリアすることが必要に
なる。
【0049】この新しいカバレッジ情報のクリア方法
は、プログラムメモリ初期化情報43を“X”、他の3
種類のカバレッジ情報を“YYY”とすると、次のよう
な簡単な論理演算により可能となる。
は、プログラムメモリ初期化情報43を“X”、他の3
種類のカバレッジ情報を“YYY”とすると、次のよう
な簡単な論理演算により可能となる。
【0050】プログラムメモリ初期化情報43を保持す
る場合、 XYYYb AND 1000b = X000b、 とされ、一方プログラムメモリ初期化情報43を保持し
ない場合には、 XYYYb AND 0000b = 0000b とされる。
る場合、 XYYYb AND 1000b = X000b、 とされ、一方プログラムメモリ初期化情報43を保持し
ない場合には、 XYYYb AND 0000b = 0000b とされる。
【0051】表2は、カバレッジ情報のクリアを指示す
る要求およびプログラムメモリ初期化情報43を保持す
る要求と、カバレッジ情報の変化の関係の一覧を示した
表である。
る要求およびプログラムメモリ初期化情報43を保持す
る要求と、カバレッジ情報の変化の関係の一覧を示した
表である。
【0052】
【表2】
【0053】図5は、本発明の第2の実施の形態とし
て、カバレッジメモリ3とカバレッジメモリ制御回路4
の関係を詳細に示した図である。また、この実施の形態
における、カバレッジ情報のうちのプログラムメモリ書
き込み情報40を用いたプログラム誤動作検出方法は、
図3及び図4のフローチャートを参照して説明される。
て、カバレッジメモリ3とカバレッジメモリ制御回路4
の関係を詳細に示した図である。また、この実施の形態
における、カバレッジ情報のうちのプログラムメモリ書
き込み情報40を用いたプログラム誤動作検出方法は、
図3及び図4のフローチャートを参照して説明される。
【0054】図5を参照して、プログラムメモリ書き込
み情報40は、プログラムメモリ2が初期化された(プ
ログラムメモリ2にプログラムがロードされた)か初期
化されなかったか(ロードされなかったこと)を示す情
報であり、プログラムメモリ2にプログラムがロードさ
れた場合にセットされる。
み情報40は、プログラムメモリ2が初期化された(プ
ログラムメモリ2にプログラムがロードされた)か初期
化されなかったか(ロードされなかったこと)を示す情
報であり、プログラムメモリ2にプログラムがロードさ
れた場合にセットされる。
【0055】このプログラムメモリ書き込み情報40
は、前記第1の実施の形態におけるプログラムメモリ初
期化情報43と同じ意味を持つことから、以下では、プ
ログラムメモリ初期化情報43をプログラムメモリ書き
込み情報40に置き換えて、説明する。
は、前記第1の実施の形態におけるプログラムメモリ初
期化情報43と同じ意味を持つことから、以下では、プ
ログラムメモリ初期化情報43をプログラムメモリ書き
込み情報40に置き換えて、説明する。
【0056】まず、プログラムメモリ書き込み情報40
のセットの方法は、図3に示したプログラムメモリ初期
化情報43のセット方法において、プログラムメモリ初
期化情報43をプログラムメモリ書き込み情報40に置
き換えた場合と同様とされる。これにより、プログラム
メモリ2の各アドレスのうち、プログラムがロードされ
たアドレスのプログラムメモリ書き込み情報40はセッ
トされ、プログラムがロードされなかったアドレスのプ
ログラムメモリ書き込み情報40はクリアされたままと
なる。
のセットの方法は、図3に示したプログラムメモリ初期
化情報43のセット方法において、プログラムメモリ初
期化情報43をプログラムメモリ書き込み情報40に置
き換えた場合と同様とされる。これにより、プログラム
メモリ2の各アドレスのうち、プログラムがロードされ
たアドレスのプログラムメモリ書き込み情報40はセッ
トされ、プログラムがロードされなかったアドレスのプ
ログラムメモリ書き込み情報40はクリアされたままと
なる。
【0057】次に、プログラムメモリ書き込み情報40
を用いたプログラム誤動作検出方法としては、図4に示
したプログラムメモリ初期化情報43のセット方法にお
いて、プログラムメモリ初期化情報43をプログラムメ
モリ書き込み情報40に置き換えた場合と同様とされ
る。
を用いたプログラム誤動作検出方法としては、図4に示
したプログラムメモリ初期化情報43のセット方法にお
いて、プログラムメモリ初期化情報43をプログラムメ
モリ書き込み情報40に置き換えた場合と同様とされ
る。
【0058】以上により、プログラムがロードされてい
ないアドレスを参照することによって生じるプログラム
の誤動作を検出する。
ないアドレスを参照することによって生じるプログラム
の誤動作を検出する。
【0059】図5を参照して、カバレッジ制御回路4
は、カバレッジ情報をクリアする機能を持つ。3種類の
カバレッジ情報(プログラムメモリ実行情報42、プロ
グラムメモリ読み込み情報41、プログラムメモリ書き
込み情報40)を3ビットのデータとして扱い、表3に
示したように、ビットを割り当てるものとする。
は、カバレッジ情報をクリアする機能を持つ。3種類の
カバレッジ情報(プログラムメモリ実行情報42、プロ
グラムメモリ読み込み情報41、プログラムメモリ書き
込み情報40)を3ビットのデータとして扱い、表3に
示したように、ビットを割り当てるものとする。
【0060】
【表3】
【0061】プログラムメモリ書き込み情報40を保持
しつつ他の2種類のカバレッジ情報をクリアする方法
は、前記第1の実施の形態で説明した論理演算により可
能となる。
しつつ他の2種類のカバレッジ情報をクリアする方法
は、前記第1の実施の形態で説明した論理演算により可
能となる。
【0062】プログラムメモリ書き込み情報40を保持
する場合、 YYXb AND 001b = 00Xb とされ、一方、プログラムメモリ書き込み情報40を保
持しない場合には、 YYXb AND 000b = 000b とされる。
する場合、 YYXb AND 001b = 00Xb とされ、一方、プログラムメモリ書き込み情報40を保
持しない場合には、 YYXb AND 000b = 000b とされる。
【0063】表4は、カバレッジ情報のクリアを指示す
る要求およびプログラムメモリ書き込み情報40を保持
する要求とカバレッジ情報の変化の関係の一覧をまとめ
たものである。
る要求およびプログラムメモリ書き込み情報40を保持
する要求とカバレッジ情報の変化の関係の一覧をまとめ
たものである。
【0064】
【表4】
【0065】プログラム開発支援装置には、プログラム
のカバレッジ情報をカバレッジメモリに格納する場合
(モニタモード)と、プログラムのカバレッジ情報をカ
バレッジメモリに格納しない場合(ユーザモード)があ
る。
のカバレッジ情報をカバレッジメモリに格納する場合
(モニタモード)と、プログラムのカバレッジ情報をカ
バレッジメモリに格納しない場合(ユーザモード)があ
る。
【0066】従来のユーザモードでは、プログラムメモ
リ初期化情報43もプログラムメモリ書き込み情報40
も存在しないため、誤動作検出を行えないが、ユーザモ
ードにおいてもプログラムメモリ書き込み情報40さえ
用意すれば、本発明による誤動作検出方法を利用するこ
とができる。
リ初期化情報43もプログラムメモリ書き込み情報40
も存在しないため、誤動作検出を行えないが、ユーザモ
ードにおいてもプログラムメモリ書き込み情報40さえ
用意すれば、本発明による誤動作検出方法を利用するこ
とができる。
【0067】
【発明の効果】以上説明したように、本発明によれば、
データメモリの初期化判定方法の処理方法の変更してプ
ログラムメモリに応用し、誤動作検出方法をプログラム
開発支援装置まで範囲を広げることができる。
データメモリの初期化判定方法の処理方法の変更してプ
ログラムメモリに応用し、誤動作検出方法をプログラム
開発支援装置まで範囲を広げることができる。
【0068】また、本発明によれば、プログラムメモリ
初期化情報をカバレッジメモリに格納し、簡単な論理演
算を付加することでカバレッジ情報のクリア機能をプロ
グラムメモリ初期化情報のクリア機能と共用することが
できる。
初期化情報をカバレッジメモリに格納し、簡単な論理演
算を付加することでカバレッジ情報のクリア機能をプロ
グラムメモリ初期化情報のクリア機能と共用することが
できる。
【図1】本発明の第1の実施の形態を説明するための図
であり、プログラム誤動作検出方法を実現するプログラ
ム開発支援装置の構成を示す図である。
であり、プログラム誤動作検出方法を実現するプログラ
ム開発支援装置の構成を示す図である。
【図2】本発明の第1の実施の形態におけるカバレッジ
メモリ3とカバレッジメモリ制御回路4の関係を説明す
るための図である。
メモリ3とカバレッジメモリ制御回路4の関係を説明す
るための図である。
【図3】本発明の第1の実施の形態におけるプログラム
メモリ初期化情報のセット方法を説明するためのフロー
チャートである。
メモリ初期化情報のセット方法を説明するためのフロー
チャートである。
【図4】本発明の第1の実施の形態におけるプログラム
メモリ初期化情報43を用いたプログラム誤動作検出方
法を説明するためのフローチャートである。
メモリ初期化情報43を用いたプログラム誤動作検出方
法を説明するためのフローチャートである。
【図5】本発明の第2の実施の形態におけるカバレッジ
メモリ3とカバレッジメモリ制御回路4の関係を説明す
るための図である。
メモリ3とカバレッジメモリ制御回路4の関係を説明す
るための図である。
1 CPU 2 プログラムメモリ 3 カバレッジメモリ 4 カバレッジメモリ制御回路 5 プログラム開発支援装置 6 ホストコンピュータ 10 アドレスバス 11 データバス 12 CPUからのメモリR/W信号 20 プログラムのロード要求 21 プログラムメモリ初期化情報のクリア 22 プログラムのロード 23 プログラムメモリ初期化情報のセット 24 プログラムの終了判断 30 プログラムの実行要求 31 プログラムメモリの初期化情報の読み込み 32 プログラムのロード判断 33 プログラムの読み込み 34 プログラムの実行 35 プログラムの実行の終了判断 36 誤動作検出情報の出力 40 プログラムメモリ書き込み情報 41 プログラムメモリ読み込み情報 42 プログラムメモリ実行情報 43 プログラムメモリ初期化情報 45 誤動作検出情報 50 プログラムメモリ書き込み信号 51 プログラムメモリ読み込み信号 52 プログラムメモリ実行信号 53 プログラムメモリ初期化信号 54 カバレッジメモリR/W信号 55 誤動作検出信号 56 カバレッジデータバス
Claims (2)
- 【請求項1】CPUにて実行されるプログラムを格納す
るプログラムメモリと、 前記プログラムメモリの各アドレスに対して、該プログ
ラムが前記プログラムメモリにロードされたか否かを識
別するためのプログラムメモリ初期化情報をカバレッジ
情報として記憶格納するカバレッジメモリと、 前記カバレッジメモリの読み書きを制御し、前記プログ
ラムメモリ初期化情報が、実行しようとしたプログラム
メモリが初期化されていない旨を示すとき、プログラム
の実行を誤動作と判断し、誤動作検出情報を出力するカ
バレッジメモリ制御回路と、 を含むことを特徴とするマイクロコンピュータのプログ
ラム開発支援装置。 - 【請求項2】プログラムをロードする直前にプログラム
メモリ初期化情報をクリアする手段と、 プログラムをロードした直後にプログラムメモリ初期化
情報をセットする手段と、 プログラムの次のロードまでプログラムメモリ初期化情
報を保持する手段と、 前記CPUがプログラムを実行するとき、プログラムメ
モリ初期化情報の値により、初期化されているプログラ
ムメモリのアドレスを参照したか、初期化されていない
プログラムメモリのアドレスを参照したかを判断する手
段と、 を備えたことを特徴とするプログラム誤動作検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8174197A JP2904130B2 (ja) | 1996-06-13 | 1996-06-13 | プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8174197A JP2904130B2 (ja) | 1996-06-13 | 1996-06-13 | プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH103407A true JPH103407A (ja) | 1998-01-06 |
| JP2904130B2 JP2904130B2 (ja) | 1999-06-14 |
Family
ID=15974429
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8174197A Expired - Lifetime JP2904130B2 (ja) | 1996-06-13 | 1996-06-13 | プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2904130B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5496171A (en) * | 1991-12-24 | 1996-03-05 | Tokyo Gas Co., Ltd. | Surface combustion burner |
| US7664939B2 (en) | 2006-04-28 | 2010-02-16 | Hitachi, Ltd. | Method and apparatus for detecting false operation of computer |
-
1996
- 1996-06-13 JP JP8174197A patent/JP2904130B2/ja not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5496171A (en) * | 1991-12-24 | 1996-03-05 | Tokyo Gas Co., Ltd. | Surface combustion burner |
| US7664939B2 (en) | 2006-04-28 | 2010-02-16 | Hitachi, Ltd. | Method and apparatus for detecting false operation of computer |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2904130B2 (ja) | 1999-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6496945B2 (en) | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory | |
| KR100316981B1 (ko) | 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법 | |
| JP2000181805A (ja) | 記憶装置 | |
| US20050097572A1 (en) | Device driver auto-load | |
| US20080133975A1 (en) | Method for Running a Computer Program on a Computer System | |
| JP2904130B2 (ja) | プログラム誤動作検出開発支援装置およびプログラム誤動作検出方法 | |
| US7036005B2 (en) | Method and apparatus for modifying the contents of revision identification register | |
| JPH0766368B2 (ja) | ブ−トプロセツサ決定方式 | |
| US7895493B2 (en) | Bus failure management method and system | |
| US7607040B2 (en) | Methods and systems for conducting processor health-checks | |
| US20060230308A1 (en) | Methods and systems for conducting processor health-checks | |
| JP2003150458A (ja) | 障害検出装置、障害検出方法、プログラム及びプログラム記録媒体 | |
| US20070179635A1 (en) | Method and article of manufacure to persistently deconfigure connected elements | |
| KR100211951B1 (ko) | Raid 시스템에서 디스크 장착상태 변경 검출장치 및 검출방법 | |
| CN110476153A (zh) | 访问指令sram的方法和电子设备 | |
| JPH0863406A (ja) | メモリアクセス制御装置 | |
| JP2003337758A (ja) | 二重化メモリシステム | |
| JPH06309236A (ja) | メモリの不正書込み検出回路 | |
| JP2026066998A (ja) | 電子制御装置 | |
| JP2817675B2 (ja) | プログラム・デバッグ装置 | |
| JP3173461B2 (ja) | メモリパトロール機能の擬正常試験回路および擬正常試験方法 | |
| JPH0520136A (ja) | ダンプ処理方式 | |
| JPH0778731B2 (ja) | 情報処理装置 | |
| JPH03292540A (ja) | 計算機異常診断装置 | |
| JPS62251860A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990223 |