JPH0619736A - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JPH0619736A
JPH0619736A JP4177131A JP17713192A JPH0619736A JP H0619736 A JPH0619736 A JP H0619736A JP 4177131 A JP4177131 A JP 4177131A JP 17713192 A JP17713192 A JP 17713192A JP H0619736 A JPH0619736 A JP H0619736A
Authority
JP
Japan
Prior art keywords
microprocessor
program
trace
instruction
debugged
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.)
Withdrawn
Application number
JP4177131A
Other languages
English (en)
Inventor
Atsushi Furuido
敦 古井戸
Hiroyuki Murata
浩之 村田
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
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP4177131A priority Critical patent/JPH0619736A/ja
Publication of JPH0619736A publication Critical patent/JPH0619736A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【構成】 デバッグ対象とされる機器のマイクロプロセ
ッサの機能を代行もしくはデバッグ対象となるプログラ
ムを実行するターゲット・マイクロプロセッサ及びデバ
ッグのための制御を司るマイクロプロセッサを有するエ
ミュレータにおいて、デバッグ対象のプログラムの任意
の領域を予め指定しておき、プログラム実行中、指定さ
れた領域に入ったことを検出したときに上記ターゲット
・マイクロプロセッサに対してプログラムを1命令単位
で実行させて、ターゲット・マイクロプロセッサ内のレ
ジスタ等の内容を読み出すようにした。 【効果】 予め指定したデバッグ対象のプログラムの所
定領域についてはレジスタ値等の詳細な内部情報を得る
ことができ、その他の領域についてはトレース情報を少
なくすることでトレースメモリの容量が節約できかつ解
析が容易になるため、トレースメモリの容量を増加させ
たり回路規模を増大させることなく、システムのデバッ
グ効率を向上させることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、開発されたプログラム
もしくはマイクロコンピュータ応用システムの評価技術
に関し、例えばインサーキット・エミュレータに適用し
て有効な技術に関するものである。
【0002】
【従来の技術】マイクロコンピュータ応用機器の開発に
おいて、その応用システムのデバッグやそのシステムの
詳細な評価を行なうため、インサーキット・エミュレー
タが使用されている。斯るインサーキット・エミュレー
タは、ソフトウェア開発用の親計算機(ホストコンピュ
ータ)などのシステム開発装置と、開発中の応用機器と
の間に接続され、その応用機器に含まれるマイクロプロ
セッサ(ターゲット・マイクロプロセッサ)の機能を代
行する一方でデバッガーとしての機能を持ち、詳細なシ
ステムデバッグを支援する。
【0003】このようなインサーキット・エミュレータ
は、応用機器側のハードウェアおよびソフトウェアの評
価を可能にするため、上記ターゲットマイクロプロセッ
サの機能を代行するようなエミュレーション機能や、エ
ミュレーション実行中に各種データやステータス信号な
どを実時間でサンプリングし、それをトレースメモリな
どに格納するトレース機能や、エミュレーション用マイ
クロプロセッサ11による応用機器の制御動作を実質的
に停止させるブレーク機能などの機能を備えている。な
お、インサーキット・エミュレータについては、日立マ
イクロコンピュータエンジニアリング株式会社、昭和6
3年10月1日発行、「日立マイコン技報」第2巻、第
2号、第21頁〜第27頁に記載されている。
【0004】
【発明が解決しようとする課題】しかしながら、上記イ
ンサーキット・エミュレータの備える機能のうちトレー
ス機能で取得できる一般的な情報としては、ターゲット
マイクロプロセッサから出力されるアドレス信号、デー
タ信号およびコントロール信号の他、プローブによって
応用機器から抽出される信号等ターゲットマイクロプロ
セッサの外部でハード的に取得できるものに限られてい
た。しかるに、本発明者等が検討したところによれば、
実際にソフトウェアのデバッグを行なう際に重要な情報
は、ターゲットマイクロプロセッサ内の各種レジスタ値
等の内部情報であり、これらの値は外部に出力されてい
ないため、プログラム中のデバック目的となる個所の手
前に予めブレークポイントを設定しておいて、ブレーク
成立後にレジスタ情報の取得を行なっている。この方法
は、プログラム命令の実行とブレークを繰り返すためデ
バッグ効率が非常に悪いという欠点がある。
【0005】また、トレース情報のすべてにマイクロプ
ロセッサの内部情報を含ませると情報量が多くなりすぎ
てプログラムの流れが掴みにくくなるとともに、マイク
ロコンピュータの高機能化に伴い大容量のトレースメモ
リが必要になったり、信号線の増加により回路規模が増
大し、コストも高くなるという欠点があることが分かっ
た。本発明の目的は、トレースメモリの容量を増加させ
たり回路規模を増大させることなく、システムのデバッ
グ効率を向上させることができるようなエミュレーショ
ン技術を提供することにある。この発明の前記ならびに
そのほかの目的と新規な特徴については、本明細書の記
述および添附図面から明らかになるであろう。
【0006】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。すなわち、デバッグ対象とされる機器のマ
イクロプロセッサの機能を代行もしくはデバッグ対象と
なるプログラムを実行するターゲット・マイクロプロセ
ッサ及びデバッグのための制御を司るマイクロプロセッ
サを有するエミュレータにおいて、デバッグ対象のプロ
グラムの任意の領域を予め指定しておき、プログラム実
行中、指定された領域に入ったことを検出したときに上
記ターゲット・マイクロプロセッサに対してプログラム
を1命令単位で実行させるようにしたものである。
【0007】
【作用】上記した手段によれば、デバッグ対象のプログ
ラムを1命令単位で実行させる際に、ターゲット・マイ
クロプロセッサ内のレジスタ等の内容を読み出すことに
より、予め指定したプログラムの所定領域のみ詳細な情
報を得ることができ、これによってトレースメモリの容
量を増加させたり回路規模を増大させることなく、シス
テムのデバッグ効率を向上させることができるようにす
るという上記目的が達成される。
【0008】
【実施例】図1には本発明に係るインサーキット・エミ
ュレータを適用したマイクロコンピュータ開発システム
の概略構成が示されている。同図に示すごとく、インサ
ーキット・エミュレータ2は、ソフトウェア開発用の親
計算機(ホストコンピュータ)などのシステム開発装置
1と、開発中の応用機器3との間に接続され、その応用
機器に含まれるマイクロプロセッサ(ターゲット・マイ
クロプロセッサ)の機能を代行する一方でデバッガーと
しての機能を持ち、詳細なシステムデバッグを支援す
る。システム開発装置1とインサーキット・エミュレー
タ2とは、シリアル回線バスライン6によって結合さ
れ、両者間のデータのやり取りが可能とされている。イ
ンサーキット・エミュレータ2は、その本体から延長さ
れたケーブル4の先端のプラグが、応用機器に設けられ
たターゲットマイクロプロセッサ用ソケット5に結合さ
れることにより、上記スレーブマイクロプロセッサ11
がターゲットマイクロプロセッサの機能を代行するよう
なエミュレーション動作が可能とされる。
【0009】図2には上記インサーキット・エミュレー
タ2の詳細な構成例が示されている。同図に示されるよ
うに、インサーキット・エミュレータ2には、マイクロ
プロセッサ応用機器に含まれるターゲットマイクロプロ
セッサの機能を代行してその応用機器の動作制御すなわ
ちエミュレーションを行なうためのスレーブマイクロプ
ロセッサ(以下、SMCUと記す)11と、各種デバッ
グ機能を達成するための制御を司るマスタマイクロプロ
セッサ(以下、MMCUと記す)16とが設けられる。
SMCU11が応用機器3上のターゲットマイクロプロ
セッサの機能を代行制御(エミュレーション)すると
き、SMCU11はMMCU16の制御から切り離さ
れ、またSMCU11の制御動作状態が予め定められて
いる状態に到達してブレークされる時、MMCU16の
制御を受けることになる。このような制御状態の切換え
がエミュレーション制御部12によって行なわれる。
【0010】インサーキット・エミュレータ2には、上
記エミュレーション制御部12の他に、SMCU11の
制御状態やスレーブバス21の状態を監視して、その状
態が予め設定された状態に達したときにエミュレーショ
ン動作を停止するためのブレーク制御部13、スレーブ
バス21上に出力されるアドレス信号、データ信号およ
びコントロール信号をリアルタイムでトレースして蓄え
るトレース部14、応用機器3に含まれるべきデータメ
モリやプログラムを格納するためのメモリとして貸し出
される代行メモリ部15などが設けられ、これらの各回
路ブロックは、スレーブバス21を介してSMCU11
に、またマスタバス22を介してMMCU16に接続さ
れている。そして上記各回路ブロックの機能実行は、イ
ンサーキットエミュレータ本体2に接続された親計算機
側のコンソール10によってコントロールされる。
【0011】さらに、インサーキット・エミュレータ2
内には、トラップ領域に入ったり、電源の遮断があった
ような場合にこれを検出してSMCU11にブレークを
かける異常処理制御部20と、MMCU16がコンソー
ル10との間でデータ通信を行なうためのシリアルイン
タフェース回路17が設けられている。また、SMCU
11からはインタフェース回路18を介してケーブル4
が延長され、このケーブルの先端に設けられているプラ
グ4aを応用機器3上のMCUソケットに接続させるこ
とによって、SMCU11が応用機器3を代行制御する
ことができるようになる。
【0012】図3には、上記トレース部14の具体的な
構成例が示されている。スレーブバス21を構成するデ
ータバス30,コントールバス31,アドレスバス32
は、マルチプレクサ42,43,44を介してそれぞれ
トレースメモリ47,48,49に接続されている。ま
た、応用機器3上の信号線に接続された外部プローブ3
5はマルチプレクサ45を介してトレースメモリ50に
接続されている。そして、上記マルチプレクサ42,4
3,44および45にはマスタデータバス33が接続さ
れており、MMCU16がトレースメモリ47,48,
49および50に蓄えられたデータを読み出せるように
なっている。
【0013】また、上記トレースメモリ47,48,4
9および50には、マルチプレクサ46を介してマスタ
アドレスバス34またはトレースカウンタ52が接続可
能にされており、エミュレーション中はトレースカウン
タ52の値を供給してスレーブバス21およびプローブ
35の信号を順次トレースメモリ47,48および50
に蓄積させ、ブレーク後はMMCU16からのアドレス
信号をトレースメモリ47,48,49および50に供
給して蓄えられたデータを読み出せるようになってい
る。
【0014】上記マルチプレクサ42,43,44,4
5およびトレースメモリ47,48,49,50の入力
の切換えは、トレース制御回路41がブレーク制御部1
3内の検出回路54からのブレークトリガ信号TRGお
よびブレーク信号BRKに基づいて行なう。すなわち、
トレース開始の際には、トレース制御回路41から出力
される選択信号S1,S2によってマルチプレクサ4
2,43,44,45,46が、スレーブバス21およ
び外部プローブ35の信号をトレースメモリ47,4
8,49,50のデータ入力端子に、またトレースカウ
ンタ52の値をトレースメモリ47,48,49,50
のアドレス入力端子に供給させるように切換えが行なわ
れる。そして、ブレーク成立後はマスタデータバス33
およびマスタアドレスバス34がトレースメモリ47,
48,49,50に接続されるようにマルチプレクサ4
2,43,44,45,46の切換えが行なわれ、トレ
ースされた情報の読出しおよびMMCU16による追加
書込みが可能にされる。
【0015】この実施例のインサーキット・エミュレー
タ2では、ブレーク制御部13内にブレーク検出回路と
は別に、例えばブレークトリガポイントの設定レジスタ
と比較器とからなる検出回路54を設け、そこに予めス
レーブマイクロプロセッサ11内のレジスタの内容等よ
り多くの情報を得たいプログラムの領域もしくは命令を
設定したときに、ブレーク制御部13から発生したブレ
ークトリガ信号TRG(ブレーク信号とトリガ信号とか
らなる)に基づいてシングルステップトレースモードに
移行するように構成されている。
【0016】図4には、マスタマイクロプロセッサ16
におけるシングルステップトレースモード制御のフロー
チャートが示されている。以下、図4を用いてシングル
ステップトレースモードの動作について説明する。 ブ
レーク制御部13においてブレークトリガ条件が成立す
ると、ブレーク信号とトリガ信号が出力される。する
と、スレーブプロセッサ11は実行中のユーザプログラ
ムを停止する。一方、マスタマイクロプロセッサ16
は、ブレークが成立したと判定すると、トリガ信号が入
ったときにセットされるフラグを見てトリガ信号を検出
したか否か判定する(ステップS1,S2)。そして、
ブレークが成立してもトリガ信号の検出フラグが立って
いないときには通常のブレーク処理10へ移行する。
【0017】トリガ信号の検出フラグが立っていると判
定したときは、マスタマイクロプロセッサ16はスレー
ブプロセッサ11内のレジスタの値等プロセッサ内部情
報を読み込み、一命令分をコンソール10の画面上に表
示させてから、トレースメモリ内に書き込む(ステップ
S3〜S5)。また、シングルステップを繰り返し、指
定領域を出るとそれから、マスタマイクロプロセッサ1
6はプログラムを再実行させる信号をエミュレーション
制御部12へ送る。これによって、ユーザプログラムの
次の命令が実行される(ステップS6)。この実行命令
がまだ指定領域に入っていれば再度ブレークがかかり、
上記ステップS1〜S6が実行されてシングルステップ
動作を繰り返す。そして、ユーザプロセッサが指定領域
を出ると通常のエミレーション動作に戻る。
【0018】なお、スレーブプロセッサ11内のレジス
タ等からを読み込んだ情報をトレースメモリ内に書き込
む際に、シングルステップ動作による情報か否か区別で
きる情報も併せてトレースメモリ内に書き込むようにし
ても良い。また、上記実施例ではシングルステップとし
たい領域の検出回路をレジスタと比較器とにより構成し
たが、レジスタと比較器の代わりにRAMを使用し、ス
レーブバスの信号をRAMのアドレス信号として供給
し、所定の条件になったときにRAMの出力が変化する
ように予めRAMの所定アドレスにデータを書き込んで
おくようにしても良い。さらに、上記実施例では、ブレ
ークトリガポイントの検出後にマスタマイクロプロセッ
サのソフトウェアによりシングルステップ動作の開始お
よび終了の切換え制御を行なっているが、そのような専
用の回路を設けてハードウェアにより動作の切換えを行
なわせるようにしても良い。また、プログラムの任意の
領域を検出する回路を複数個設けて指定領域選択の自由
度を強化するようにしても良い。
【0019】以上説明したように上記実施例は、デバッ
グ対象とされる機器のマイクロプロセッサの機能を代行
もしくはデバッグ対象となるプログラムを実行するター
ゲット・マイクロプロセッサ及びデバッグのための制御
を司るマイクロプロセッサを有するエミュレータにおい
て、デバッグ対象のプログラムの任意の領域を予め指定
しておき、プログラム実行中、指定された領域に入った
ことを検出したときに上記ターゲット・マイクロプロセ
ッサに対してプログラムを1命令単位で実行させて、タ
ーゲット・マイクロプロセッサ内のレジスタ等の内容を
読み出すようにしたので、予め指定したデバッグ対象の
プログラムの所定領域についてはレジスタ値等の詳細な
内部情報を得ることができ、その他の領域についてはト
レース情報を少なくすることでトレースメモリの容量が
節約できかつ解析が容易になるため、トレースメモリの
容量を増加させたり回路規模を増大させることなく、シ
ステムのデバッグ効率を向上させることができるという
効果がある。
【0020】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば、エ
ミュレーション中のトレースをすべて本発明方式のシン
グルステップ動作で行ない、表示の際に不要な情報を廃
棄して必要な情報のみ表示させるようにしても良い。
【0021】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるインサ
ーキット・エミュレータに適用した場合について説明し
たが、本発明はそれに限定されるものでなく、デバッ
ガ、テスター、シミュレータ等、エミュレーションもし
くはシミュレーション機能を有するデータ処理システム
に適用することができる。
【0022】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、トレースメモリの容量を増
加させたり回路規模を増大させることなく、システムの
デバッグ効率を向上させるようなインサーキット・エミ
ュレータを実現することができる。
【図面の簡単な説明】
【図1】本発明に係るインサーキット・エミュレータが
適用されるシステム開発装置の全体の構成を示すブロッ
ク図、
【図2】インサーキット・エミュレータの一実施例を示
すブロック図、
【図3】リアルタイムトレース部の構成例を示すブロッ
ク図、
【図4】マスタマイクロプロセッサ16におけるシング
ルステップトレースモード制御の手順の一例を示すフロ
ーチャートである。
【符号の説明】
10 コンソール 11 スレーブマイクロプロセッサ 12 エミュレーション制御部 13 ブレーク制御部 14 リアルタイムトレース部 15 代行メモリ 16 マスタマイクロプロセッサ 21 スレーブバス 22 マスタバス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 評価対象とされる機器のマイクロプロセ
    ッサの機能を代行もしくは評価対象となるプログラムを
    実行する第1のマイクロプロセッサ及び評価のための制
    御を司る第2のマイクロプロセッサを有し、評価対象の
    プログラムの任意の領域を予め設定する手段と、プロセ
    ッサ実行中、指定された領域に入ったことを検出する手
    段と、この領域が検出されたときに上記第1のマイクロ
    プロセッサに対してプログラムを1命令単位で実行させ
    るようにする動作切換え手段とを備えてなることを特徴
    とするエミュレータ。
  2. 【請求項2】 上記評価対象のプログラムを1命令単位
    で実行させる際に、上記第2のマイクロプロセッサによ
    り、上記第1のマイクロプロセッサのレジスタの内部状
    態を読み出すように構成されていることを特徴とする請
    求項1記載のエミュレータ。
  3. 【請求項3】 上記手段により読み出した情報をトレー
    スメモリの続きに追加書き込み可能な請求項2記載のエ
    ミュレータ。
  4. 【請求項4】 1命令単位でプロセッサ実行中、指定さ
    れた領域外に出たことを検出する手段と、この領域が検
    出されたときに上記第1のマイクロプロセッサに対して
    プログラムを、1命令単位の実行から連続実行へもどす
    動作切換え手段とを備えていることを特徴とする請求項
    1又は請求項2記載のエミュレータ。
JP4177131A 1992-07-03 1992-07-03 エミュレータ Withdrawn JPH0619736A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4177131A JPH0619736A (ja) 1992-07-03 1992-07-03 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4177131A JPH0619736A (ja) 1992-07-03 1992-07-03 エミュレータ

Publications (1)

Publication Number Publication Date
JPH0619736A true JPH0619736A (ja) 1994-01-28

Family

ID=16025722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4177131A Withdrawn JPH0619736A (ja) 1992-07-03 1992-07-03 エミュレータ

Country Status (1)

Country Link
JP (1) JPH0619736A (ja)

Similar Documents

Publication Publication Date Title
US4782461A (en) Logical grouping of facilities within a computer development system
US20040064757A1 (en) Embedded symmetric multiprocessor system debug
JPH02235149A (ja) 試験システムおよび命令実行シーケンス判定方法
JPS6310456B2 (ja)
JPH1083318A (ja) 電子回路解析装置
JPH0573348A (ja) エミユレータ、及びシステム開発装置
JPS59202546A (ja) デバツグ装置
JPS61112250A (ja) デ−タ処理システム
JPH11102306A (ja) エミュレータ
JP4084912B2 (ja) マイクロプロセッサシステム
JPH023836A (ja) エミュレータ
JPH0836504A (ja) エミュレータ
JPH03141437A (ja) デバッグ装置
JPH07160526A (ja) エミュレータ
CN117408197A (zh) 芯片的调试方法、装置、电子设备和存储介质
JPH0233178B2 (ja)
JPH05173830A (ja) 異常動作検出方法、及びエミュレータ
JP2003280940A (ja) デバッグシステム
JPH0573358A (ja) カバレジ方式、及びエミユレータ
JPH06266575A (ja) エミュレータ
JPH01306933A (ja) デバッグ装置
JPH01217526A (ja) マイクロコンピュータシステム
JPS584458A (ja) システム試験方式
JPH07219808A (ja) エミュレータのトレース方法およびエミュレータ
JPH04284543A (ja) マイクロコンピュータプログラムトレース装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991005