JPH03125232A - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JPH03125232A
JPH03125232A JP1263699A JP26369989A JPH03125232A JP H03125232 A JPH03125232 A JP H03125232A JP 1263699 A JP1263699 A JP 1263699A JP 26369989 A JP26369989 A JP 26369989A JP H03125232 A JPH03125232 A JP H03125232A
Authority
JP
Japan
Prior art keywords
trace
address
instruction
bus
slave
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
JP1263699A
Other languages
English (en)
Other versions
JP2742306B2 (ja
Inventor
Yutaka Sato
豊 佐藤
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.)
Hitachi Microcomputer System Ltd
Original Assignee
Hitachi Microcomputer Engineering 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 Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Microcomputer Engineering Ltd
Priority to JP1263699A priority Critical patent/JP2742306B2/ja
Publication of JPH03125232A publication Critical patent/JPH03125232A/ja
Application granted granted Critical
Publication of JP2742306B2 publication Critical patent/JP2742306B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はターゲットシステムにおけるソフトウェアの開
発支援を行うためのエミュレータに係り、特にソフトウ
ェアデバッグ効率の向上を図ったエミュレータに関する
〔従来技術〕
マイクロコンピュータ応用機器(以下単にターゲットシ
ステムとも記す)の開発において、そのシステムデバッ
グやシステム評価を行うためのエミュレータは、ターゲ
ットシステムに含まれるマイクロコンピュータ(ターゲ
ットマイクロコンピュータ)の機能を代行しながらソフ
トウェアデバッグを可能とするものである。
エミュレータは、ターゲットマイクロコンピュータと同
等のマイクロプロセッサをターゲットシステムとのイン
タフェース部に備え、このマイクロプロセッサにソフト
ウェアデバッグ対象とされるプログラムを実行させてタ
ーゲットシステムを代行制御する。このとき、デバッグ
対象プログラムの内容を任意に変更したりして、その制
御状態をリアルタイムでトレースし、所定のブレークポ
イントでそのトレース結果を確認可能にしながらターゲ
ットシステムのソフトウェアデバッグを支援する。そし
て、このようなエミュレータのリアルタイムトレース機
能では、トレースするバスサイクルをアドレスバス、デ
ータバス、コントロールバス等の条件指定、例えば10
00 H番地へのライトサイクルのみトレースする等の
指定ができ(サンプリングトレース)、このようなトレ
ースにより例えば100OH番地のメモリ内容が不用意
に書き変わってしまうバグを容易に発見できる。
〔発明が解決しようとする課題〕
上記のように従来のリアルタイムトレース機能では適切
なトレース条件を設定することによりバグを容易に発見
することができる。しかし、ユーザがバグを修正するた
めに、誤った命令をソースプログラム中から発見するこ
とは必ずしも容易ではない。
例えばソースリストでは各命令がアドレスの順に並んで
いるため、誤った命令を修正するためにはその命令のア
ドレスを知ることが必要であるのにもかかわらずライト
サイクルをトレース条件とするような場合にはその命令
アドレスがトレースされないからである。即ち、ライト
サイクルをトレース条件とする場合、リアルタイムトレ
ース結果として。
アドレスバス: 100OH データバス:誤ったデータ コントロールバス:ライトサイクル のような情報が記録されるが、誤ったデータを書込んだ
命令のあるアドレスは記録されない6本発明の目的は、
バグを発生した命令のアドレスをリアルタイムトレース
結果より直ちに認識可能なエミュレータを提供すること
にある。
本発明の前記ならびにそのほかの目的と新規な特徴は1
本明細書の記述及び添付図面から明らかになるであろう
〔課題を解決するための手段〕
本願において開示されている発明のうち代表的なものの
概要を簡単に説明すれば下記の通りである。
すなわち、エミュレーション用マイクロプロセッサの制
御状態をトレースする回路の記憶エリアとして、プログ
ラムカウンタから順次出力される一連の命令アドレスを
その他のトレース情報とは独立させてバスサイクル毎に
保持可能な命令アドレス保持領域を設けてエミュレータ
を構成したものである。
上記命令アドレス保持領域への命令アドレス格納を容易
に実現するには、命令フェッチサイクル毎にアドレスを
書換えて保持するアドレスラッチ手段を設け、その保持
値を上記命令アドレス保持領域に格納させるようにする
とよい。
また、上記トレース回路におけるトレース条件を任意に
変更可能とすることができる。
(作 用〕 上記した手段によれば、プログラムカウンタから順次出
力される一連の命令アドレスが、その他のトレース情報
とは独立してバスサイクル毎に命令アドレス保持領域に
格納され、このことが、バグを発生した命令アドレスを
直ちに認識可能とするように作用する。
〔実 施 例〕
第2図には本発明の一実施例であるエミュレータが示さ
れる。
第2図に示されるエミュレータは、その本体7から延長
されたケーブル4の先端のプラグが、ターゲットシステ
ム3に設けられたターゲットマイクロプロセッサ用ソケ
ット5に結合されることにより、ターゲットマイクロプ
ロセッサの機能を代行するようなエミュレーション機能
を備える。
エミュレータ本体7は、ターゲットシステム3に含まれ
るターゲットマイクロプロセッサの機能を代行するスレ
ーブマイクロプロセッサ(SMCU)18が設けられ、
このスレーブマイクロプロセッサ18がインタフェース
14を介してケーブル4に結合されている。ここでこの
スレーブマイクロプロセッサ18が、本発明におけるエ
ミュレーション用マイクロプロセッサに該当する。また
、ターゲットシステム3とスレーブマイクロプロセッサ
18とがやりとりする情報やスレーブマイクロプロセッ
サ18の内部状態に応する情報がスレーブバス16に与
えられ、またこのスレーブバス16を介してエミュレー
ションのための各種制御信号や情報がスレーブマイクロ
プロセッサ18に与えられるようになっている。
スレーブバス16は、スレーブアドレスバス(SMAD
D)やスレーブデータバス(SMDAT)を含み、この
エミュレーションバス16には、スレーブマイクロプロ
セッサ18がターゲットマイクロプロセッサの機能を代
行する際に該プロセッサ18の所定の状態切換えを行う
エミュレーション制御部8、スレーブマイクロプロセッ
サ18の制御状態やスレーブバス16の状態を監視して
その状態が予め設定された状態に達したときエミュレー
ション動作をブレークするためのブレーク制御部9、ス
レーブバス16に与えられるデータやアドレスさらには
制御情報を逐次トレースして蓄えるトレース回路10、
ターゲットシステムに含まれるべきデータメモリやプロ
グラムメモリを代行するためのエミュレーションメモリ
部11が夫々結合される。上記エミュレーション制御部
8゜ブレーク制御部9、トレース回路10、およびエミ
ュレーションメモリ部11はマスタバス17を通じてマ
スタマイクロプロセッサ(MMCU)12の制御を受け
るようになっている。尚、マスタバス17にはシリアル
インタフェース13が結合され、このシリアルインタフ
ェース13を介して上記マスタマイクロプロセッサ12
とシステム開発装置1との間でデータのやりとりが行わ
れるようになっている。
第1図には上記トレース回路10の詳細な構成が示され
る。このトレース回路10は、トレース条件を任意に変
更可能であり、しかもスレーブマイクロプロセッサ18
(第1図参照)におけるプログラムカウンタから順次出
力される一連の命令アドレスをその他のトレース情報と
は独立させてバスサイクル毎に保持するための命令アド
レス保持領域を有し、特に制限されないが、トレースメ
モリ20.アドレスラッチ回路21及びアドレス制御部
22を含んで形成される。
上記トレースメモリ20には、デバッグ対象プログラム
の実行中宮にトレースするフリーラントレースや予め設
定されたトレース条件項目をトレースするサンプリング
トレースを可能とするため、上記スレーブマイクロプロ
セッサ18の制御状態を格納し得る制御状態格納領域と
、上記の命令アドレス保持領域が形成されている。そし
てこのトレースメモリ20は、スレーブバス16を形成
するスレーブアドレスバス16a、スレーブデータバス
16b、スレーブコントロールバス16c。
及びマスタバス17を形成するマスクアドレスバス17
a、マスタデータバス17b、マスタコントロールバス
17cに結合されている。
トレースメモリ20の書込みアドレス制御は、スレーブ
マイクロプロセッサ18のバスサイクルに同期してアド
レス制御部22によって行われる。
上記制御状態格納領域へ書込まれるデータはスレーブア
ドレスバス16a、スレーブデータバス16b及びスレ
ーブコントロールバス16cより取込まれ、また上記命
令アドレス保持領域へ書込まれるデータは、アドレスラ
ッチ回路21を介してスレーブアドレスバス16aより
取込まれるようになっている。このアドレスラッチ回路
21は。
スレーブアドレスバス16aとトレースメモリ20との
間に介在され、命令フェッチサイクル毎にその保持出力
値すなわちアドレス情報を書換えて保持する機能を有し
、このアドレスラッチ回i#821の保持出力値が上記
トレースメモリ20に伝達され、それが上記命令アドレ
ス保持領域へ書込まれるようになっている。ここでこの
アドレスラッチ回路21が本発明におけるアドレスラッ
チ手段に該当する。そしてアドレスラッチ回路21のア
ドレス情報書換えは、スレーブコントロールバス16c
の1ビット信号ラインに載せられるLIR(Load 
 Ingtraction  Regis t o r
)信号がアサートされる毎に行われる。
このLIR信号は、現在実行中のサイクルがオペコード
フェッチサイクルであることを示し、従ってこのLIR
信号がアサートされる毎に上記アドレスラッチ回路21
の保持出力を書換えることにより、そのときスレーブマ
イクロプロセッサ18によって実行される命令アドレス
すなわちプログラムカウンタの値が上記トレースメモリ
20に伝達される。このトレースメモリ20の内容は、
マスタマイクロプロセッサ12の制御下で読出すことが
でき、必要に応じてシステム開発装置1のCRTデイス
プレィやその他の適宜の表示手段に表示される。
上記実施例によれば以下の作用効果を得ることができる
(1)スレーブマイクロプロセッサ18内のプログラム
カウンタから順次出力される一連の命令アドレスが、他
のトレース情報とは独立してバスサイクル毎にトレース
回路lo内の命令アドレス保持領域に格納されるように
なっているので、このトレース結果よりバグを発見すれ
ば、誤ったデータを書込んだ命令のアドレスを直ちに知
ることができ、これによりプログラム修正を速やかに行
うことができるのでソフトウェアデバッグ効率向上が図
れる。
(2)サンプリングトレース例えばライトサイクルのみ
のトレースの場合、書込み先のアドレスはトレースされ
るが、そのライト命令のアドレスはトレースされないた
め、上記(1)の効果は、ライトサイクルのみのトレー
スを行う場合に特に顕著となる。
(3)また、命令フェッチサイクル毎にアドレスを書換
えて保持するアドレスラッチ回路21を設け、このアド
レスラッチ回路21の保持値をトレースメモリ20に伝
達することにより、上記命令アドレス保持領域への命令
アドレス格納を容易に実現できる。
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが1本発明は上記実施例に限定されず
、その要旨を逸脱しない範囲において種々変更可能であ
る。
例えば上記実施例ではスレーブコントロールバス16c
よりアドレスラッチ回路21に1ビツトのLIR信号を
直接取込むようにしたが、スレーブマイクロプロセッサ
18の種類によってはこのLIR信号が直接出力されな
い場合、例えば命令フェッチサイクルが特定のコードで
示される場合があり、かかる場合には、スレーブコント
ロールバス16cとアドレスラッチ回路21との間に、
当該特定コードをデコードして上記LIR信号若しくは
これと等価な信号を生成するデコーダを介在させるとよ
い。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、スレーブマイクロプロセッサ内のプログラム
カウンタから順次出力される一連の命令アドレスが、他
のトレース情報とは独立してバスサイクル毎にトレース
回路内の命令アドレス保持領域に格納されることにより
、このトレース結果からバグを発見すれば、誤ったデー
タを書込んだ命令のアドレスを直ちに知ることができ、
ソースリスト上の命令と対応させることができるので。
プログラム修正を速やかに行うことができ、ソフトウェ
アデバッグの効率向上を図ることができる。
このような効果は、トレース条件指定によるサンプリン
グトレース例えばライトサイクルのみのトレースの場合
に特に顕著となる。
【図面の簡単な説明】
第1図は本発明の一実施例であるエミュレータの主要部
構成ブロック図、 第2図は本発明の一実施例であるエミュレータのブロッ
ク図である。 10・・・トレース回路、16・・・スレーブバス、1
7・・・マスタバス、18・・・スレーブマイクロプロ
セッサ、2o・・・トレースメモリ、21・・・アドレ
スラッチ回路。

Claims (1)

  1. 【特許請求の範囲】 1、ソフトウェアデバッグ対象とされるプログラムをエ
    ミュレーション用マイクロプロセッサに実行させ、該プ
    ロセッサの制御状態をトレース回路に格納することによ
    ってソフトウェアの開発支援を可能とするエミュレータ
    において、上記トレース回路は、プログラムカウンタか
    ら順次出力される一連の命令アドレスをその他のトレー
    ス情報とは独立させてバスサイクル毎に保持するための
    命令アドレス保持領域を含むことを特徴とするエミュレ
    ータ。 2、上記トレース回路は、命令フェッチサイクル毎にア
    ドレスを書換えて保持するアドレスラッチ手段を備え、
    その保持値を上記命令アドレス保持領域に格納する請求
    項1記載のエミュレータ。 3、上記トレース回路はトレース条件を任意に変更可能
    とする請求項1又は2記載のエミュレータ。
JP1263699A 1989-10-09 1989-10-09 エミュレータ Expired - Lifetime JP2742306B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1263699A JP2742306B2 (ja) 1989-10-09 1989-10-09 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1263699A JP2742306B2 (ja) 1989-10-09 1989-10-09 エミュレータ

Publications (2)

Publication Number Publication Date
JPH03125232A true JPH03125232A (ja) 1991-05-28
JP2742306B2 JP2742306B2 (ja) 1998-04-22

Family

ID=17393109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1263699A Expired - Lifetime JP2742306B2 (ja) 1989-10-09 1989-10-09 エミュレータ

Country Status (1)

Country Link
JP (1) JP2742306B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01102936U (ja) * 1987-12-28 1989-07-12

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01102936U (ja) * 1987-12-28 1989-07-12

Also Published As

Publication number Publication date
JP2742306B2 (ja) 1998-04-22

Similar Documents

Publication Publication Date Title
US5903718A (en) Remote program monitor method and system using a system-under-test microcontroller for self-debug
JP2010507855A (ja) 非対称型マルチプロセッサ装置上の診断動作の実行
JPH03248244A (ja) キャッシュメモリを備えたプロセッサ
JPS58197553A (ja) プログラム監視装置
JPH03125232A (ja) エミュレータ
JPH04190430A (ja) ソフトウェア開発用エミュレータ
JPH02135545A (ja) デバッガの実行制御処理方式
JP2004126658A (ja) プロセッサシステム
JPS61180342A (ja) 高級言語のステツプ実行方式
JPH0465729A (ja) シンボリック・デバッガ
JPH02109146A (ja) プログラムデバツグ装置
JPH07121396A (ja) エミュレータ
JPS59158449A (ja) デバツグ装置
JPS63271542A (ja) Romデバツガ
JPS5844543A (ja) トリガトレ−ス回路
JPH05313937A (ja) ウインドウコントロール方式、及びエミュレータ
JPS63205740A (ja) プログラム実行トレ−ス処理方式
JP2002196950A (ja) デバッグシステム
JPS59202546A (ja) デバツグ装置
JPH01181133A (ja) ブレークポイント設定装置
JPS5829057A (ja) レジスタのトレ−ス装置
JPS59202548A (ja) デバツグ装置
JPH03141436A (ja) デバッグ装置
JPS63223930A (ja) 専用プロセツサのプログラムのシミユレ−シヨン方式
JPH04359325A (ja) 集積回路マイクロプロセッサのレジスタ・トレース機構

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080130

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 12