JP2754899B2 - デバック装置のリターンアドレス監視回路 - Google Patents
デバック装置のリターンアドレス監視回路Info
- Publication number
- JP2754899B2 JP2754899B2 JP28361489A JP28361489A JP2754899B2 JP 2754899 B2 JP2754899 B2 JP 2754899B2 JP 28361489 A JP28361489 A JP 28361489A JP 28361489 A JP28361489 A JP 28361489A JP 2754899 B2 JP2754899 B2 JP 2754899B2
- Authority
- JP
- Japan
- Prior art keywords
- return
- microcomputer
- address
- return address
- time
- 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 - Lifetime
Links
Landscapes
- Manufacturing Optical Record Carriers (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラムを実行してプログラムの誤りを
訂正するデバッグ装置のプログラムミス検出手段に関す
るものである。
訂正するデバッグ装置のプログラムミス検出手段に関す
るものである。
〔従来の技術〕 第2図は従来のデバッグ装置を示す構成図であり、ア
ドレスバス、データバスの値をリアルタイムに検出する
部分の構成例を示す。
ドレスバス、データバスの値をリアルタイムに検出する
部分の構成例を示す。
第2図において、1はデバッグの対象となるマイクロ
コンピュータ、2はマイクロコンピュータのリード・ラ
イトサイクルに応答するデバイス(ROM,RAM,周辺IC
等)、3はデバッグ装置を操作するユーザが指定する検
出したいアドレスバス5、データバス6の値をラッチす
る比較データラッチ、4は比較データラッチ3の値とマ
イクロコンピュータ1出力のアドレスバス5,データバス
6の値との一致を検出する比較器、7は制御バスであ
る。
コンピュータ、2はマイクロコンピュータのリード・ラ
イトサイクルに応答するデバイス(ROM,RAM,周辺IC
等)、3はデバッグ装置を操作するユーザが指定する検
出したいアドレスバス5、データバス6の値をラッチす
る比較データラッチ、4は比較データラッチ3の値とマ
イクロコンピュータ1出力のアドレスバス5,データバス
6の値との一致を検出する比較器、7は制御バスであ
る。
次に動作について説明する。
マイクロコンピュータ1がデバイス2をアクセスする
ために出力したアドレスバス5の値と比較データラッチ
3に設定した値とを比較器4で比較する。比較する際、
マイクロコンピュータ1から出力される制御バス7の信
号も併せて比較すれば、マイクロコンピュータ1の特定
アドレスへの特定アクセスの検出が可能となる。次い
で、一致検出信号を使用してプログラム実行の中止、リ
アルタイムトレースの開始等の動作を行なう。
ために出力したアドレスバス5の値と比較データラッチ
3に設定した値とを比較器4で比較する。比較する際、
マイクロコンピュータ1から出力される制御バス7の信
号も併せて比較すれば、マイクロコンピュータ1の特定
アドレスへの特定アクセスの検出が可能となる。次い
で、一致検出信号を使用してプログラム実行の中止、リ
アルタイムトレースの開始等の動作を行なう。
マイクロコンピュータ1がデバイス2に対してリード
・ライトする時のデータバス6の値と比較データラッチ
3に設定した値とを比較器4で比較する。比較する際、
マイクロコンピュータ1から出力される制御バス7の信
号も併せて比較すれば、マイクロコンピュータ1の特定
データへの特定アクセスの検出が可能となる。次いで、
一致検出信号を使用してプログラム実行の中止、リアル
タイムトレースの開始等の動作を行なう。
・ライトする時のデータバス6の値と比較データラッチ
3に設定した値とを比較器4で比較する。比較する際、
マイクロコンピュータ1から出力される制御バス7の信
号も併せて比較すれば、マイクロコンピュータ1の特定
データへの特定アクセスの検出が可能となる。次いで、
一致検出信号を使用してプログラム実行の中止、リアル
タイムトレースの開始等の動作を行なう。
上記とを組み合わせることにより、特定アドレス
への特定データのリード・ライト等の動作を検出するこ
とが可能となる。
への特定データのリード・ライト等の動作を検出するこ
とが可能となる。
従来のデバッグ装置では、特定アドレスへの特定デー
タの書込みの検出、特定アドレスへの特定アクセスの検
出は可能であったが、サブルーチンコール時に退避され
るリターンアドレスとリターン時に取り出されるリター
ンアドレスの一致を検出することは不可能であった。
タの書込みの検出、特定アドレスへの特定アクセスの検
出は可能であったが、サブルーチンコール時に退避され
るリターンアドレスとリターン時に取り出されるリター
ンアドレスの一致を検出することは不可能であった。
本発明はこのような点に鑑みてなされたものであり、
その目的とするところは、サブルーチンコール時にマイ
クロコンピュータによって退避したリターンアドレスと
リターン時にマイクロコンピュータが取り出すリターン
アドレスの一致をリアルタイムに監視できるデバッグ装
置を実現することにある。
その目的とするところは、サブルーチンコール時にマイ
クロコンピュータによって退避したリターンアドレスと
リターン時にマイクロコンピュータが取り出すリターン
アドレスの一致をリアルタイムに監視できるデバッグ装
置を実現することにある。
このような目的を達成するために本発明は、デバッグ
対象となるマイクロコンピュータのサブルーチンコール
時にスタック領域に退避したリターンアドレスとサブル
ーチンコール時に記憶回路に書き込まれたリターンアド
レスとをリターン時にリアルタイムに比較する比較回路
を設けるようにしたものである。
対象となるマイクロコンピュータのサブルーチンコール
時にスタック領域に退避したリターンアドレスとサブル
ーチンコール時に記憶回路に書き込まれたリターンアド
レスとをリターン時にリアルタイムに比較する比較回路
を設けるようにしたものである。
本発明によるデバッグ装置のリターンアドレス監視回
路においては、サブルーチンコール時にマイクロコンピ
ュータによって退避したリターンアドレスとリターン時
にマイクロコンピュータが取り出すリターンアドレスの
比較は、サブルーチンコール命令によりスタック領域に
退避されるデータの値とその値がライトされるアドレス
の値とを順次記憶し、リターン命令により取り出される
データの値およびその値がリードされるアドレスの値と
上記記憶した値とを比較することにより行なわれる。
路においては、サブルーチンコール時にマイクロコンピ
ュータによって退避したリターンアドレスとリターン時
にマイクロコンピュータが取り出すリターンアドレスの
比較は、サブルーチンコール命令によりスタック領域に
退避されるデータの値とその値がライトされるアドレス
の値とを順次記憶し、リターン命令により取り出される
データの値およびその値がリードされるアドレスの値と
上記記憶した値とを比較することにより行なわれる。
第1図は、本発明によるリターンアドレス監視回路の
一実施例が適用されるデバッグ装置を示す構成図であ
る。第1図においては、リターンアドレスの一致検出に
直接関係した部分だけを図示した。
一実施例が適用されるデバッグ装置を示す構成図であ
る。第1図においては、リターンアドレスの一致検出に
直接関係した部分だけを図示した。
第1図において、1はデバッグの対象となるマイクロ
コンピュータ、2はスタック領域となるメモリ、4は比
較回路、5はアドレスバス、6はデータバス、7は制御
バス、8はデータバス6、制御バス7を監視し、サブル
ーチンコール命令、リターン命令を検出する命令デコー
ダ、9はサブルーチンコール命令により退避されるデー
タとアドレスの値を記憶する記憶回路、10はデバッグ装
置全体を制御するデバッグ装置制御部である。比較回路
4は、リターン命令によりメモリ2より取り出したデー
タおよびそのアドレスの値と記憶回路9中の対応する値
とを比較する。
コンピュータ、2はスタック領域となるメモリ、4は比
較回路、5はアドレスバス、6はデータバス、7は制御
バス、8はデータバス6、制御バス7を監視し、サブル
ーチンコール命令、リターン命令を検出する命令デコー
ダ、9はサブルーチンコール命令により退避されるデー
タとアドレスの値を記憶する記憶回路、10はデバッグ装
置全体を制御するデバッグ装置制御部である。比較回路
4は、リターン命令によりメモリ2より取り出したデー
タおよびそのアドレスの値と記憶回路9中の対応する値
とを比較する。
次に、本実施例の動作を第1図を参照しながら説明す
る。マイクロコンピュータ1は、サブルーチンコール命
令を実行すると、リターンアドレスをメモリ2に退避す
る。同時に命令デコーダ8はサブルーチンコール命令の
実行を検出し、マイクロコンピュータ1が退避したリタ
ーンアドレス値および退避に使用したメモリのアドレス
を記憶回路9に書き込む。記憶回路9は、先に書き込ん
だ値が後に読み出されるFILO(ファーストインラストア
ウト)の回路構成とする。記憶回路9からの読出しはリ
ターン命令の実行により行なう。
る。マイクロコンピュータ1は、サブルーチンコール命
令を実行すると、リターンアドレスをメモリ2に退避す
る。同時に命令デコーダ8はサブルーチンコール命令の
実行を検出し、マイクロコンピュータ1が退避したリタ
ーンアドレス値および退避に使用したメモリのアドレス
を記憶回路9に書き込む。記憶回路9は、先に書き込ん
だ値が後に読み出されるFILO(ファーストインラストア
ウト)の回路構成とする。記憶回路9からの読出しはリ
ターン命令の実行により行なう。
次に、マイクロコンピュータ1は、リターン命令を実
行すると、リターンアドレスをメモリ2から取り出す。
同時に命令デコーダ8はリターン命令の実行を検出し、
マイクロコンピュータ1がリターンアドレスを取り出す
ために出力したアドレスの値およびメモリ2が出力した
データと記憶回路9の対応した値とを比較回路4により
比較する。比較回路4は、値が不一致であった場合、デ
バッグ装置制御部10は不一致検出信号aを送る。デバッ
グ装置制御部10はマイクロコンピュータ1の実行を停止
させるなどの動作を行ない、デバッグ装置はプログラマ
にリターンアドレスの不一致を通知する。
行すると、リターンアドレスをメモリ2から取り出す。
同時に命令デコーダ8はリターン命令の実行を検出し、
マイクロコンピュータ1がリターンアドレスを取り出す
ために出力したアドレスの値およびメモリ2が出力した
データと記憶回路9の対応した値とを比較回路4により
比較する。比較回路4は、値が不一致であった場合、デ
バッグ装置制御部10は不一致検出信号aを送る。デバッ
グ装置制御部10はマイクロコンピュータ1の実行を停止
させるなどの動作を行ない、デバッグ装置はプログラマ
にリターンアドレスの不一致を通知する。
なお、上記実施例では、サブルーチンコール命令とリ
ターン命令の組合せだけを示したが、これ以外に、ソフ
トウェア割込み命令と割込みからのリターン命令の組合
せ、および内部・外部の要因によるハードウェア割込み
と割込みからのリターン命令の組合せを使用してもよ
い。
ターン命令の組合せだけを示したが、これ以外に、ソフ
トウェア割込み命令と割込みからのリターン命令の組合
せ、および内部・外部の要因によるハードウェア割込み
と割込みからのリターン命令の組合せを使用してもよ
い。
さらに、上記3つの組合せは単独で使用しても、複数
同時に使用してもよいことはいうまでもない。
同時に使用してもよいことはいうまでもない。
以上説明したように本発明は、サブルーチンコール時
にスタック領域に退避したリターンアドレスとサブルー
チンコール時に記憶回路に書き込まれたリターンアドレ
スとをリターン時にリアルタイムに比較することによ
り、プログラムミスによってスタックポインタが変化し
てリターン命令の実行後にマイクロコンピュータが異常
動作することをリアルタイム動作中に検出することがで
き、プログラムミスを発見することによってデバッグ時
間を短縮できる効果がある。
にスタック領域に退避したリターンアドレスとサブルー
チンコール時に記憶回路に書き込まれたリターンアドレ
スとをリターン時にリアルタイムに比較することによ
り、プログラムミスによってスタックポインタが変化し
てリターン命令の実行後にマイクロコンピュータが異常
動作することをリアルタイム動作中に検出することがで
き、プログラムミスを発見することによってデバッグ時
間を短縮できる効果がある。
第1図は本発明によるリターンアドレス監視回路の一実
施例が適用されるデバッグ装置を示す構成図、第2図は
従来のデバッグ装置を示す構成図である。 1……マイクロコンピュータ、2……メモリ、4……比
較回路、5……アドレスバス、6……データバス、7…
…制御バス、8……命令デコーダ、9……記憶回路、10
……デバッグ装置制御部。
施例が適用されるデバッグ装置を示す構成図、第2図は
従来のデバッグ装置を示す構成図である。 1……マイクロコンピュータ、2……メモリ、4……比
較回路、5……アドレスバス、6……データバス、7…
…制御バス、8……命令デコーダ、9……記憶回路、10
……デバッグ装置制御部。
Claims (1)
- 【請求項1】プログラムを実行してプログラムの誤りを
訂正するデバッグ装置において、デバッグ対象となるマ
イクロコンピュータのサブルーチンコール時にスタック
領域に退避したリターンアドレスと前記サブルーチンコ
ール時に記憶回路に書き込まれたリターンアドレスとを
リターン時にリアルタイムに比較する比較回路を備えた
ことを特徴とするデバッグ装置のリターンアドレス監視
回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28361489A JP2754899B2 (ja) | 1989-04-24 | 1989-04-24 | デバック装置のリターンアドレス監視回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28361489A JP2754899B2 (ja) | 1989-04-24 | 1989-04-24 | デバック装置のリターンアドレス監視回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03223938A JPH03223938A (ja) | 1991-10-02 |
JP2754899B2 true JP2754899B2 (ja) | 1998-05-20 |
Family
ID=17667787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28361489A Expired - Lifetime JP2754899B2 (ja) | 1989-04-24 | 1989-04-24 | デバック装置のリターンアドレス監視回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2754899B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179753A (ja) * | 1995-12-26 | 1997-07-11 | Nec Software Ltd | リターン処理を契機とするスタック情報収集方式 |
-
1989
- 1989-04-24 JP JP28361489A patent/JP2754899B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH03223938A (ja) | 1991-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0638864B1 (en) | Development support system for microcomputer with internal cache | |
JP2754899B2 (ja) | デバック装置のリターンアドレス監視回路 | |
JPH0581087A (ja) | プロセサのモニタ方式 | |
JPS59112494A (ja) | メモリテスト方式 | |
JP2684966B2 (ja) | 入出力処理装置のデバッグ装置 | |
JPH05224985A (ja) | マイクロプログラム制御装置 | |
JP2978658B2 (ja) | プログラム開発支援装置 | |
JPH04284544A (ja) | マイクロコントローラ | |
JP3013517B2 (ja) | ライトバッファエラーアドレス検出回路 | |
JPS63196952A (ja) | 情報処理装置 | |
JPS6270947A (ja) | デバグ割込み制御方式 | |
KR20000045665A (ko) | 인터럽트 발생 회로 | |
JPH01114945A (ja) | データ処理装置のトレース方式 | |
JP2000353109A (ja) | エミュレータ及びエミュレーションシステム | |
JPH04338842A (ja) | エラー検出機能付き情報処理装置 | |
JPH04310138A (ja) | データ伝送装置のデバッグ方法 | |
JPH0573347A (ja) | エミユレーシヨン装置 | |
JPS60225948A (ja) | デバツグ装置 | |
JPS6286441A (ja) | デ−タトレ−ス方式 | |
JP2001265619A (ja) | データトレース方式 | |
JPH02297225A (ja) | マイクロプロセッサ | |
JPS61292756A (ja) | プログラムデバツク補助回路 | |
JPH0793180A (ja) | マイクロプロセッサ | |
JPH01114947A (ja) | データ処理装置のトレース方式 | |
JPH08328900A (ja) | エミュレータ |