JPH01142948A - マイクロコンピュータのシンボリックデバッガ - Google Patents

マイクロコンピュータのシンボリックデバッガ

Info

Publication number
JPH01142948A
JPH01142948A JP62302190A JP30219087A JPH01142948A JP H01142948 A JPH01142948 A JP H01142948A JP 62302190 A JP62302190 A JP 62302190A JP 30219087 A JP30219087 A JP 30219087A JP H01142948 A JPH01142948 A JP H01142948A
Authority
JP
Japan
Prior art keywords
module number
address
module
processor
real
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.)
Pending
Application number
JP62302190A
Other languages
English (en)
Inventor
Yasunori Ishii
石井 安則
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP62302190A priority Critical patent/JPH01142948A/ja
Publication of JPH01142948A publication Critical patent/JPH01142948A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロコンピュータのシンボリックデバッ
ガに関し、特にモジュールに分割されたプログラムのシ
ンボリックデバッガに関する。
従来の技術 一般にプログラム規模が増大すると、プログラムの開発
効率、保守信頼性などの面から、プログラムをいくつか
の論理的ブロックあるいはモジュールに分割したモジュ
ラプログラミングが必要となる。ここで、各モジュール
は、特有の機能を有し、独立したブロックとして使用で
きる。機能を変更する場合は、該当するモジュールを変
更するか、あるいは単に新しいモジュールを追加するの
みでよい。
モジニーラブログラムのシンボリックデバッガにおいて
、特定のモジュールで定義され他のモジュールからは参
照できないローカルシンボルを参照する場合には、予め
モジュール名と、該モジュール名に対応する実アドレス
により構成されたモジュール名テーブルと、エミュレー
ションプロセッサのプログラムカウンタ値とによりモジ
ュール名を計算し、そのモジュール名が指定されなけれ
ば、シンボリックデバッガは該当シンボル値を参照でき
ない。
従来、この種のシンボリックデバッガは、第3図のブロ
ック図に示すようにハードウェアの方法によってはモジ
ュール名は記憶できなかった。ここで、スーパーバイザ
プロセッサlは、エミュレータプロセッサ2とエミュレ
ーションメモリ3とリアルタイムトレースメモリ5とブ
レーク制御回路17とに、アドレスバス7を介して接続
されている。一方、エミュレータプロセッサ2は、スー
パーバイザプロセッサ1とエミュレーションメモリ3と
リアルタイムトレースメモリ5とブレーク制御回路17
とに、データバス8を介して接続されている。
使用時、スーパーバイザプロセッサ1により予めリアル
タイムトレースメモリ5にトレース条件を、ブレーク制
御回路17にブレーク条件を設定する。エミュレータプ
ロセッサ2は、エミュレーションメモリ3から命令コー
ドを読み出して実行する。この時、ブレーク条件が満足
されると、エミュレータプロセッサ2は実行を中止し、
該エミュレータプロセッサ2が停止するまでの実行履歴
は、リアルタイムトレースメモリ5に記憶される。また
、リアルタイムトレースメモリ5の内容は、スーパーバ
イザプロセッサ1により読み出すことができる。
発明が解決しようとする問題点 上述した従来のシンボリックデバッガは、モジュール名
に対してハードウェア的に考慮されていないため、スー
パーバイザプロセッサがブレーク時に、あらかじめ設定
したモジュール名テーブルをもとにし゛てエミュレーシ
ョンプロセッサのプログラムカウンタ値より、デバッガ
の対象となっているモジュール名をソフトウェア的に判
断しなければ、ローカルシンボルを使用したシンボリッ
クデバッグが行えない。更に、多重に他のモジュールを
コールしている場合には、モジュール名の遷移状態がた
だちには分からず、そのため、モジュールの多重遷移に
よるプログラムの動作が大局的に捉えられないためデバ
ッグ効率が悪くなる。またシンボリックデバッガ開発時
にモジュール判断ソフトウェアを予め作成しなければな
らないという問題がある。
上述した従来のシンボリックデバッガに対し、本発明は
、エミュレーション中において、モジュールの変化をハ
ードウェアにより記憶させることによって、ソフトウェ
アによるモジュール遷移計算の必要性を無くし、デイバ
グ効率を向上させることをその目的とする。
問題点を解決するための手段 本発明によれば、エミュレーションを行うマイクロコン
ピュータと、該マイクロコンピュータのアドレスバスに
接続され、リンク時のモジュールの配置順序に従って登
録したモジュール番号により前記マイクロコンピュータ
が実行したアドレスのモジュール番号を出力する、出力
すべきモジュール番号が書き換え可能なモジュール番号
選択回路と、該モジュール番号選択回路より出力された
モジュール番号を記憶するリアルタイムトレースメモリ
とを具備することを特徴とするマイクロコンピュータの
シンボリックデバッガが提供される。
作用 マス、スーパーバイザモードの場合、モジ5−ル番号選
択回路には、スーパーバイザプロセッサからアドレスバ
スを介してアドレスデータが人力されると、該モジュー
ル番号選択回路内部の該アドレスデータが指し示す番地
に、データバスより入力された該アドレスデータが属す
るモジュール番号が書き込まれる。また、エミュレーシ
ョンモードの場合、上記のようにモジュール番号が書き
込まれたモジュール番号選択回路は、エミュレータプロ
セッサからアドレスバスを介して入力されたアドレスデ
ータに対応するモジュール番号を読み出し、リアルタイ
ムトレースメモリに対して出力する。
実施例 次に本発明について図面を参照して説明する。
第1図は本発明の実施例1のブロック図である。
図示の装置は、エミュレータプロセッサの実行停止、エ
ミュレーションメモリへの書き込み・読み出しの制御を
行う1Mバイトのメモリ空間を有するスーパーバイザプ
ロセッサ1と、64にバイトのメモリ空間を有するエミ
ュレータプロセッサ2と、エミュレーションメモリ3と
、64にバイトの7ドレス空間に対してモジュール番号
1−nを出力するモジュール番号選択回路4とを具備し
ている。
そのモジュール番号選択回路4は、ランダムアクセスメ
モリ (RAM)9、アドレスデコーダ10、NAND
回路11およびスリーステートバッファ回路14および
15を具備している。図示の装置は更に、モジュール番
号選択回路4が出力したモジュール番号を記憶するリア
ルタイムトレースメモリ5を具備している。
スーパーバイザプロセッサ1は、20ビツトのアドレス
バスに結合されて詣り、そのスーパーバイザプロセッサ
1の20ビツトのアドレスバスのうち上位4ビツトのア
ドレスバス6は、モジュール番号選択回路4のアドレス
デコーダ10に人力され、下位16ビツトのアドレスバ
ス7は、エミュレータプロセッサ2と、エミュレーショ
ンメモリ3と、モジュール番号選択回路4のRAM9に
結合されている。更に、データバス8は、スーパーバイ
ザプロセッサ1と、エミュレータプロセッサ2と、エミ
ュレーションメモリ3と、モジュール番号選択回路4の
バッファ回路15とに結合されている。
モジュール番号選択回路4のRAM9は、スーパーバイ
ザプロセッサlの20ビツトのアドレスバスのうちの下
位16ビツトのアドレスAO〜A15をアドレス入力に
受け、データ入出力ピンDからデータを受けまたデータ
を出力する。そのデータ入出力ピンDは、°バッファ1
4の入力に結合され、且つバッファ15の出力に結合さ
れている。WE端子はNANDゲート11の出力に接続
され、C8端子はGNDに接続され常にアクティブとな
っている。
アドレスデコーダ10は、アドレスバス6が入力に結合
され、スーパーバイザプロセッサ1のアクセスアクティ
ブ信号13を、エネイブル端子に受ける。そして、アク
セスアクティブ信号13がアクティブで、且つスーパー
バイザプロセッサより0番地からFFFF番地(16進
法、以下同じ)のアドレス値が出力された場合、つまり
アドレスバス上位4ビツト6の全ビットが0の場合には
、アドレスデコーダ10は、その出力信号を“1”とす
る。
それ以外の場合、すなわちアクセスアクティブ信号がア
クティブでもスーパーバイザプロセッサより10000
番地からFFFFF番地のアドレス値が出力された場合
、つまりアドレスバス上位4ビツト6が0以外の場合や
、アクセスアクティブ信号がノンアクティブの場合には
、アドレスデコーダは、その出力信号を“0”とする。
アドレスデコーダlOの出力を一方の入力に受けるNA
ND回路11は、その他方の入力に、スーパーバイザプ
ロセッサ10よりライト信号12を受ける。
そのNAND回路11の出力は、スリーステートバッフ
ァ回路14の非反転制御端子と、スリーステートバッフ
ァ回路150反転制御端子と、RAM9のWE端子に人
力されている。
そのバッファ回路14は、スーパーバイザプロセッサ1
のアドレスバス下位16ビツト7を受ケ、バッファ回路
15の出力は、リアルタイムトレースメモリ5に接続さ
れている。上記において、RAM9とアドレスデコーダ
10とNANDゲート11とスリーステートバッファ1
4.15が、モジュール番号選択回路4を構成する。
以下、上記した装置の動作を具体的に述べる。
まずモジュールのリンクが終了し、各モジュールの絶対
アドレスが決まっていると仮定して、予めRAM9の0
番地からFFFF番地に“1″から“n”という選択す
べきモジュール番号を書き込む動作を説明する。
例えば、アドレス6132F”番地が“08”というモ
ジュール番号である場合には、スーパーバイザプロセッ
サ1は、アドレスバス6.7とデータバス8とにそれぞ
れ”132Fと“08″というデータを出力し、且つラ
イト信号12を“0”から“1″にし、且つアクセスア
クティブ信号13をアクティブとする。アドレスデコー
ダ10は、アドレスバス6の全ビットが“0′″となり
、エネイブル端子がアクティブとなるため、出力信号と
して“1″を出力する。これによりNAND回路11の
人力はともに′1″となりその出力は“0”となる。こ
のためバッファ回路14はディスエイプルとなり、バッ
ファ回路15はエネイブルとなり、RAM9のWE端子
はアクティブとなり、AO〜A15端子には“132F
”というアドレス値が入力され、バッファ15を介して
データ入出力ビンDより“08”というデータが入力さ
れる。
以上の方法により、RAM9の0番地からFFFF番地
に選択すべきモジュール番号を順次書き込む。
次に、通常のエミュレーションプログラム実行時のモジ
ュール番号選択回路4の動作を説明する。
この場合には、スーパーバイザプロセッサ1のアクセス
アクティブ信号13はノンアクティブとなっているため
、常にアドレスデコーダ10の出力は、“0′となる。
このため、バッファ回路14とエネイブルとなり、バッ
ファ回路15はディスエイプルとなり、RAM9のWE
端子はノンアクティブとなる。この状態でエミュレータ
プロセッサ2がエミュレーションメモリ3に対してアド
レスを出力するとRAM9にも同時にAO〜A15より
アドレス値が取り込まれ、このアドレスに書き込まれた
モジュール番号がデータ入出力ビンDよりバッファ14
を介してリアルタイムトレースメモリ5に取り込まれる
また第2図を参照して第2の実施例について述べる。第
2図は本発明の実施例2のブロック図である。スーパー
バイザプロセッサ1と、エミュレータプロセッサ2と、
エミュレーショメモリ3と、モジュール番号選択回路4
と、リアルタイムトレースメモリ5と、アドレスバス6
および7と、データバスとは、実施例1と同様であり、
同様な動作方法で動作する。
この実施例2では、モジ、−ル番号選択回路4は、リア
ルタイムトレースメモリ5だけでなく、モジュール番号
監視回路16にも接続され、そのモジュール番号監視回
路16はブレーク制御回路17に接続されている。
モジュール番号監視回路16は、通常プログラム実行時
にモジュール番号選択回路4より出力されるモジュール
番号が変化すれば、ブレーク制御回路へアクティブな信
号を出力する。ブレーク制御回路17は、モジュール番
号監視回路16よりアクティブな信号を受けると割り込
みを発生し、エミュレータプロセッサ2の実行を中止さ
せる。この実施例ではエミュレーション中にモジュール
番号が変わったタイミングをただちに知ることができる
という利点がある。
発明の詳細 な説明したように、本発明は、エミュレータプロセッサ
が実行したアドレスのモジュール番号をただちに出力で
きるモジュール番号選択回路とリアルタイムトレースメ
モリを有することにより、ブレーク時にプログラムカウ
ンタの値から計算することなく、モジュールの遷移を直
接確認できる。
またCALL文によるモジュールの多重遷移もただちに
確認できるため、プログラムの動作を大局的につかめる
という効果がある。
【図面の簡単な説明】
第1図は、本発明によるマイクロコンピュータのシンボ
リックデバッガの実施例1のブロック図、第2図は、本
発明によるマイクロコンピュータのシンボリックデバッ
ガの実施例2のブロック図、第3図は、従来のシンボリ
ックデバッガにおけるブロック図である。 (主な参照番号) 1・・スーパーバイザプロセッサ 2・・エミュレータプロセッサ 3・・エミュレーションメモリ 4・・モジュール番号選択回路 5・・リアルタイムトレースメモリ 6.7・・アドレスパス 8・・データバス  9・・RAM。 10・・アドレスデコーダ 11・・NANDゲート  12・・ライト信号13・
・アクセスアクティブ信号 14.15・・バッファ回路 16・・モジュール番号監視回路 17・・ブレーク制御回路

Claims (1)

    【特許請求の範囲】
  1. エミュレーションを行うマイクロコンピュータと、該マ
    イクロコンピュータのアドレスバスに接続され、リンク
    時のモジュールの配置順序に従って登録したモジュール
    番号により前記マイクロコンピュータが実行したアドレ
    スのモジュール番号を出力する、出力すべきモジュール
    番号が書き換え可能なモジュール番号選択回路と、該モ
    ジュール番号選択回路より出力されたモジュール番号を
    記憶するリアルタイムトレースメモリとを具備すること
    を特徴とするマイクロコンピュータのシンボリックデバ
    ッガ。
JP62302190A 1987-11-30 1987-11-30 マイクロコンピュータのシンボリックデバッガ Pending JPH01142948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62302190A JPH01142948A (ja) 1987-11-30 1987-11-30 マイクロコンピュータのシンボリックデバッガ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62302190A JPH01142948A (ja) 1987-11-30 1987-11-30 マイクロコンピュータのシンボリックデバッガ

Publications (1)

Publication Number Publication Date
JPH01142948A true JPH01142948A (ja) 1989-06-05

Family

ID=17906017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62302190A Pending JPH01142948A (ja) 1987-11-30 1987-11-30 マイクロコンピュータのシンボリックデバッガ

Country Status (1)

Country Link
JP (1) JPH01142948A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022372A (ja) * 2009-07-16 2011-02-03 Brother Industries Ltd カートリッジの梱包構造およびカバー部材

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60235250A (ja) * 1984-05-07 1985-11-21 Omron Tateisi Electronics Co プログラムカウンタトレ−ス装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60235250A (ja) * 1984-05-07 1985-11-21 Omron Tateisi Electronics Co プログラムカウンタトレ−ス装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022372A (ja) * 2009-07-16 2011-02-03 Brother Industries Ltd カートリッジの梱包構造およびカバー部材

Similar Documents

Publication Publication Date Title
KR100350568B1 (ko) 디버그기능을수행하기위한데이타처리시스템및방법
US4780819A (en) Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory
JPH1078889A (ja) マイクロコンピュータ
KR20010085997A (ko) 프로그램 스레드 디버깅 방법
JPH01142948A (ja) マイクロコンピュータのシンボリックデバッガ
US6721937B2 (en) Method and system for automated processor register instantiation
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JPH0581087A (ja) プロセサのモニタ方式
JP2729126B2 (ja) デバッグ・システムのアドレス・トレース回路
JPH0716189Y2 (ja) ブレーク回路
JP2000029508A (ja) プログラマブルコントローラ
JPS61123942A (ja) マイクロプロセツサ用デバツク装置
JPH0315948A (ja) アドレスバス試験方式
JPS59163653A (ja) デバツグ装置
JPS60193046A (ja) 命令例外検出方式
JPS59103158A (ja) デイジタル信号処理プログラムデバツグ方式
JPS63291135A (ja) マイクロコンピュ−タ開発装置
JPS6248865B2 (ja)
JPS59202546A (ja) デバツグ装置
JPS6222153A (ja) マイクロプロセツサの動作解析方法と装置
JPS59161750A (ja) デバツグ装置におけるブレ−ク制御方式
JPH05204710A (ja) イベントトレース装置
JPH07253908A (ja) メモリアクセス装置
JPH0412855B2 (ja)
JPS61110245A (ja) 動作履歴装置