JPH04314140A - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JPH04314140A
JPH04314140A JP3106758A JP10675891A JPH04314140A JP H04314140 A JPH04314140 A JP H04314140A JP 3106758 A JP3106758 A JP 3106758A JP 10675891 A JP10675891 A JP 10675891A JP H04314140 A JPH04314140 A JP H04314140A
Authority
JP
Japan
Prior art keywords
routine
signal
main routine
detection
emulator
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
JP3106758A
Other languages
English (en)
Inventor
Osamu Murai
修 村井
Atsushi Furuido
古井戸 敦
Tetsuro Nishimura
西村 哲朗
Kazuhiko Kaniwa
一彦 蟹和
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 JP3106758A priority Critical patent/JPH04314140A/ja
Publication of JPH04314140A publication Critical patent/JPH04314140A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、エミュレータに関し、
特にエミュレーション時におけるバス情報などのトレー
ス技術に関する。
【0002】
【従来の技術】マイクロコンピュータ応用機器の開発に
おいて、その応用システムのデバッグやそのシステムの
詳細な評価を行うため、エミユレータが使用されている
。例えばエミュレータは、ソフトウェア開発用の親計算
機(ホストコンピュータ)などのシステム開発装置と、
開発中のターゲットシステムとの間に接続され、そのタ
ーゲットシステムに含まれるマイクロコンピュータ(タ
ーゲットマイクロコンピュータ)の機能を代行する一方
でデバッガとしての機能をもち、詳細なシステムデバッ
グを支援する。斯るエミュレータは、その本体から延長
されたケーブルの先端プラグが、ターゲットシステムに
設けられたターゲットマイクロコンピュータ用ソケット
に結合され、さらに、エミュレーション実行中に各種デ
ータやステータス信号などを実時間でサンプリングし、
それをトレースメモリ部などに格納する実時間トレース
機能やエミュレーション動作を実質的に停止させるブレ
ーク機能などの各種デバッグ機能が備えられている。
【0003】尚、エミュレータについて記載された文献
の例としては、昭和63年10月1日に日立マイクロコ
ンピュータエンジニアリング株式会社より発行された「
日立マイコン技報(第21頁から第22頁)」がある。
【0004】
【発明が解決しようとする課題】ところで、従来のエミ
ュレータは、例えば、アドレスやデータバスなどの状態
が予め設定されている条件に一致したときにトレースを
開始させる機能を有しているが、トレースの停止はエミ
ュレーションのブレークによって実現可能にされる。こ
のため、メインルーチンの実行に伴う情報だけをトレー
スしようとすると、サブルーチンコール時にエミュレー
ションを途中で停止させなければならず、エミュレーシ
ョン動作を途中で中断すること無くメインルーチンによ
る処理の流れをリアルタイムで追跡してソフトウェアデ
バッグを行うような要求には答えることができないとい
うことが本発明者によって明らかにされた。そうかとい
って、メインルーチンと共にサブルーチンの実行もトレ
ースすると、記憶容量に制限のあるトレースメモリの情
報が新たなトレース情報によって次々にオーバー・ライ
トされて、必要な情報を得ることができなくなる虞があ
った。特に、プログラムの初期デバッグ段階などでプロ
グラムが暴走したときなどは、トレースメモリに、必要
な情報が残っていないため、原因をつかむのに膨大な時
間が必要とされる。このような点において、従来のエミ
ュレータにおけるトレース技術ではデバッグ対象とされ
るプログラムの実行過程を十分に把握できないことがあ
った。
【0005】本発明の目的は、メインルーチンを実行し
ているときのみトレースを行うことができるエミュレー
タを提供することにある。
【0006】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0007】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0008】すなわち、実行中のプログラムがメインル
ーチンを実行中か否かを検出するための検出手段として
に例えば命令語検出用メモリを設け、予めこの命令語検
出用メモリにメインルーチンの呼出しおよびサブルーチ
ンの呼出しを指示するような命令語に対応した番地にフ
ラグ情報を設定しておく。プログラム実行中にこのメモ
リより出力される情報に基づいて、メインルーチンが実
行されている間だけトレースを行うための制御手段を設
けて、エミュレータを構成するものである。
【0009】命令語検出メモリに設定可能な条件をプロ
グラマブル化するには当該メモリはリード・ライト可能
であることが望ましい。
【0010】また、割り込みによるサブルーチンへの移
行を考慮するには、検出手段の出力と割り込み信号とを
マルチプレクスして制御手段に与えればよい。
【0011】
【作用】上記した手段によれば、プログラム実行中に命
令語検出用メモリのような検出手段より出力される情報
によりトレースの開始および停止を制御し、このことが
、ソフトウェアデバッグの際に実行されるターゲットプ
ログラムの内でメインルーチンのみの実行情報をトレー
ス可能に作用する。
【0012】
【実施例】図3には本発明の一実施例に係るエミュレー
タを用いたマイクロコンピュータシステム開発用システ
ムの一例が示される。
【0013】図3に示されるエミュレータ2は、ソフト
ウェア開発用の親計算機(ホストコンピュータ)などの
システム開発装置1と、開発中のターゲットシステム3
との間に接続され、そのターゲットシステム3に含まれ
るマイクロコンピュータ(ターゲットマイクロコンピュ
ータ)の機能を代行する一方でデバッガとしての機能を
もち、詳細なシステムデバッグを支援する。当該エミュ
レータ2は、これに接続するインタフェースケーブル4
の先端プラグを介して、ターゲットシステム3に設けら
れたターゲットマイクロコンピュータ用ソケット5に結
合され、斯るインタフェースケーブル4を介してエミュ
レーション実行中に各種データやステータス信号などを
実時間でサンプリングし、それをトレースメモリ部など
に格納する実時間トレース機能や、エミュレーション動
作を実質的に停止させるブレーク機能などの各種デバッ
グ機能が備えられている。
【0014】図2には本発明に係るエミュレータの一実
施例が示される。
【0015】同図に示されるエミュレータ2は、ターゲ
ットシステム3に含まれるターゲットマイクロコンピュ
ータの機能を代行するスレーブマイクロコンピュータ(
SMCU)13が設けられ、このスレーブマイクロコン
ピュータ13がインタフェース12を介してケーブル4
に結合されている。ここで同スレーブマイクロコンピュ
ータ13が、本発明におけるエミュレーション用マイク
ロコンピュータに該当する。ターゲットシステム3とス
レーブマイクロコンピュータ13とがやりとりする情報
やスレーブマイクロコンピュータ13の内部状態に応じ
る情報がエミュレーションバス14に与えられ、また、
このエミュレーションバス14を介して、エミュレーシ
ョンのための各種制御信号や情報がスレーブマイクロコ
ンピュータ13に与えられるようになっている。
【0016】エミュレーションバス14には、スレーブ
マイクロコンピュータ13がターゲットマイクロコンピ
ュータの機能を代行する際に該コンピュータ13の所定
の状態切換えを行うためのエミュレーション制御部6、
スレーブマイクロコンピュータ13の制御状態やエミュ
レーションバス14の状態を監視して、その状態が与め
設定された状態に達したときにエミュレーション動作を
ブレークするためのブレーク制御部7、エミュレーショ
ンバス14に与えられるアドレスやデータ並びに制御信
号を逐次トレースして蓄えるトレースメモリ部8、及び
ターゲットシステム3に含まれるべきデータメモリやプ
ログラムメモリを代行するための代行メモリ部9が夫々
結合される。上記エミュレーション制御部6、ブレーク
制御部7、トレースメモリ部8、および代行メモリ部9
はマスタアドレスバスやマスタデーバスを含むコントロ
ールバス15を通じてマスタマイクロコンピュータ(M
MCU)10の制御を受けるようになっている。更に、
本発明が適用されたルーチントレース制御部16がエミ
ュレーションバス14及びコントロールバス10に結合
されている。なお、コントロールバス15にはシリアル
インタウェース11が結合され、このシリアルインタウ
ェース11を介して上記マイクロコンピュータ10とシ
ステム開発装置1との間でデータのやりとりが行われる
ようになっている。
【0017】図1にはルーチントレース制御部16の詳
細な構成が示される。
【0018】このルーチントレース部16は、システム
デバッグ若しくはソフトウェアデバッグの際にメインル
ーチンのみのトレースを可能とするもので、特に制限さ
れないが、命令語検出用メモリ18、制御部20、マル
チプレクサ17、マルチプレクサ19、セレクタ23を
有する。
【0019】前記命令語検出用メモリ18は、エミュレ
ーション用マイクロコンピュータとしてのスレーブマイ
クロコンピュータ13が実行すべき命令の中から、処理
ルーチンの移行先がサブルーチンである命令を検出して
その検出に応ずる第1信号φ0を出力すると共に、処理
ルーチンの移行先がメインルーチンである命令を検出し
てその検出に応ずる第2信号φ1を出力するための、リ
ード・ライト可能なメモリである。このメモリ18のア
ドレス入力端子A0乃至A7は、マルチプレクサ17を
介してエミュレーションバス14に含まれるエミュレー
ションデータバス14Dと、コントロールバス15に含
まれるコントロールアドレスバス15Aに結合され、デ
ータ入出力端子D0,D1は、セレクタ23を介してコ
ントロールバス10に含まれるコントロールデータバス
15Dの所定信号線並びに前記マルチプレクサ19及び
制御部20に結合される。この命令語検出用メモリ18
に対する条件設定は、マスタマイクロコンピュータ10
が行い、このとき当該メモリ18はマルチプレクサ17
及びセレクタ23によってコントロールバス15に接続
される。この状態において、メインルーチンからサブル
ーチンにジャンプする命令語をアドレスとしてD0ビッ
トに論理0のローレベルデータを書き込むと共に、サブ
ルーチンからメインルーチンにジャンプする命令語をア
ドレスとしてD1ビットに論理0のローレベルデータを
書き込む。その他のアドレスには論理1のハイレベルデ
ータを書き込んでおく。エミュレーションに際してその
ように条件設定された命令語検出用メモリ18は、その
アドレス入力端子がマルチプレクサ17によってエミュ
レーションバス14に結合され、スレーブマイクロコン
ピュータ13がメインルーチンからサブルーチンに移行
する命令語を実行するときに、D0からローレベルの信
号φ0が出力され、これが前記マルチプレクサ19を通
して制御部20に伝達される。また、サブルーチンから
メインルーチンに移行する命令語が実行されるとき、D
1よりローレベルの信号φ1が出力され、これが制御部
20に伝達される。
【0020】D0から出力される信号φ0を受けるマル
チプレクサ19はエミュレーションバス14を通してス
レーブマイクロコンピュータ13に与えられるローイネ
ーブルの割り込み信号INTが供給され、その何れか一
方がローレベルにされることにより、信号を制御部20
に与える。これは、外部割り込みによってメインルーチ
ンからサブルーチンに移行することを考慮するためであ
る。以下マルチプレクサ19から出力される信号をフラ
グ信号FG1とも記す。
【0021】前記制御部20は、2個のフリップフロッ
プ21,22と、判定回路24を有する。フリップフロ
ップ21は、命令語検出用メモリ18の出力情報φ0と
前記割り込み信号INTをマルチプレクスしたフラグ信
号FG1をセット端子に受け、その出力は前記判定回路
24に供給される。フリップフロップ21は前記フラグ
信号FG1のローレベルによってセット状態にされ、同
状態においてその出力Aはハイレベルにされる。また、
フリップフロップ21のリセット端子には判定回路24
から出力されるトリガ信号TRGが供給され、同信号T
RGのハイレベルによってリセットされる。
【0022】前記フリップフロップ22は、命令語検出
用メモリ18から出力される信号φ1がセレクタ23を
通って伝達される情報(以下単にフラグ信号FG2とも
記す)をセット端子に受け、その出力は前記判定回路2
4に与えられる。フリップフロップ22は前記フラグ信
号FG2のローレベルによってセット状態にされ、同状
態においてその出力Bはハイレベルにされる。また、フ
リップフロップ22のリセット端子には前記トリガ信号
TRGが供給され、同信号TRGのハイレベルによって
リセットされる。
【0023】前記判定回路24は、前記フラグ信号FG
1,FG2の論理値から、処理ルーチンがメインルーチ
ンへ移行するのに従ってトレースの開始を指示すると共
に、前記フリップフロップ21,22をリセットし、ま
た、処理ルーチンがサブルーチンへ移行するのに従って
トレースの停止を指示するためのトリガ信号TRGを生
成する論理を有する。即ち、メインルーチンよりエミュ
レーションを開始してサブルーチンからメインルーチン
に処理ルーチンが戻るとき、即ちA=B=論理1(ハイ
レベル)のとき、またはサブルーチンからエミュレーシ
ョンを開始して処理ルーチンがメインルーチンに戻ると
き、即ちA=論理0(ローレベル)及びB=論理1のと
き、換言すればユーザの実行しているプログラムがサブ
ルーチンからメインルーチンに移行したとき、トリガ信
号TRGをハイレベルにする。トレースメモリ部8は、
そのトリガ信号TRGがハイレベルにされるタイミング
に同期してトレースを開始する。一方、A=論理1及び
B=論理0が成立した場合、換言すれば、ユーザの実行
しているプログラムがメインルーチンからサブルーチン
に制御が移行した場合に、トリガ信号TRGをロウレベ
ルに変化させる。これにより、トレース制御部8はトリ
ガ信号TRGがロウレベルに変化されるタイミングに同
期してトレースを停止する。尚、A=B=論理1、又は
A=論理0及びB=論理1になったとき、換言すればユ
ーザプログラムの制御がメインルーチンに戻ったとき、
フリップフロップ21および22は、ハイレベルのリガ
信号TRGによってリセットされ、その出力A,Bは共
にローレベルにされる。また、A=B=論理0の場合(
フリップフロップ21,22のリセット状態)には、ユ
ーザプログラムによる処理ルーチンはメインルーチンと
されるので、上記トリガ信号TRGはローレベルに変化
されない。
【0024】上記実施例によれば以下の作用効果を得る
ことができる。
【0025】(1)メインルーチンからサブルーチンに
制御が移行する命令語に対応した番地とサブルーチンか
らメインルーチンに制御が移行する命令語に対応した番
地にフラグを立てておくことでメインルーチンのみのト
レースが可能になるので、本実施例のエミュレータ2を
利用したソフトウェアデバッグの際には、連続する処理
ルーチンの内でメインルーチンの実行に伴う情報だけを
トレースすることができる。
【0026】(2)サブルーチンの階層がいくら深くな
っても、命令後検出用メモリ18の設定条件次第で、メ
インルーチンの実行情報だけを確実にトレースすること
ができる。
【0027】(3)上記作用効果により、メインルーチ
ンの実行に伴う情報だけをトレースしようとするときに
もサブルーチンコール時にエミュレーションを途中で停
止させなくてもよく、エミュレーション動作を途中で中
断すること無くメインルーチンによる処理の流れをリア
ルタイムで追跡してソフトウェアデバッグを行うような
要求に容易に答えることができる。即ち、従来のように
メインルーチンと共にサブルーチンの実行もトレースし
たとき、記憶容量に制限のあるトレースメモリの情報が
新たなトレース情報によって次々にオーバー・ライトさ
れて、必要な情報を得ることができなくなる虞を回避す
る事ができる。
【0028】(4)命令後検出用メモリ18の出力φ0
,φ1をトレースメモリに格納することにより、前記ル
ーチントレース制御部16を、処理ルーチンがサブルー
チンに移行したタイミングを容易に知ることができると
いうような応用にも容易に適用することができる。
【0029】以上発明者によってなされた発明を実施例
に基づいて具体的に説明してきたが、本発明は上記実施
例に限定されず、その要旨を逸脱しない範囲において種
々変更可能である。
【0030】例えば、上記実施例ではメインルーチンお
よびサブルーチンについて説明してきたが、任意の命令
を指定し命令語検出用メモリに設定しておくことで、タ
ーゲットプログラムの実行を停止することなく任意の処
理ステップにつてのみのトレースを行うというような態
様にも本発明を適用することができる。
【0031】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0032】すなわち、メインルーチンからサブルーチ
ンへ移行するとトレースを停止し、サブルーチンからメ
インルーチンへ移行するとトレースを開始するから、ソ
フトウェアデバッグの際に、連続する処理ルーチンの内
でメインルーチンの実行に伴う情報だけをトレースする
ことができるという効果がある。即ち、エミュレーショ
ン動作を途中で中断すること無くメインルーチンによる
処理の流れをリアルタイムで追跡してソフトウェアデバ
ッグを行うような要求に容易に答えることができるとい
う効果がある。
【図面の簡単な説明】
【図1】図1は本発明の一実施例に係るエミュレータの
ルーチントレース制御部の主要構成ブロック図である。
【図2】図2は本発明の一実施例に係るエミュレータの
構成ブロック図である。
【図3】図3はエミュレータを含むマイクロコンピュー
タ開発用システムのブロック図である。
【符号の説明】
2  エミュレータ 8  トレースメモリ部 13  スレーブマイクロコンピュータ(エミュレーシ
ョン用マイクロコンピュータ) 16  ルーチントレース制御部 18  命令誤検出用メモリ φ0  第1信号 φ1  第2信号 19  マルチプレクサ 20  制御部 21,22  フリップフロップ(記憶手段)24  
判定回路 TRG  トリガ信号

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  ターゲットシステムに搭載されるマイ
    クロコンピュータと同等のエミュレーション用コンピュ
    ータにソフトウェアデバッグ対象とされるターゲットプ
    ログラムを実行させることにより、上記ターゲットシス
    テム上で動作するソフトウェアの開発支援を可能とする
    エミュレータにおいて、前記ターゲットプログラムにお
    いて実行されるべきルーチンがメインルーチンか否かを
    検出するための検出手段と、この検出手段による検出結
    果に基づいて、連続する処理ルーチンの中でメインルー
    チンの実行に伴う情報だけを選択的にトレースさせる制
    御手段と、を含んで成るものであることを特徴とするエ
    ミュレータ。
  2. 【請求項2】  前記検出手段は、エミュレーション用
    マイクロコンピュータが実行すべき命令の中から、処理
    ルーチンの移行先がサブルーチンである命令を検出して
    その検出に応ずる第1信号を出力すると共に、処理ルー
    チンの移行先がメインルーチンである命令を検出してそ
    の検出に応ずる第2信号を出力するための、リード・ラ
    イト可能な命令語検出用メモリであり、前記制御手段は
    、前記第1信号と第2信号の状態を記憶する、リセット
    可能な記憶手段と、この記憶手段に記憶された第1信号
    と第2信号の論理値から、処理ルーチンがメインルーチ
    ンへ移行するのに従ってトレースの開始を指示すると共
    に前記記憶手段の記憶内容をリセットし、また、処理ル
    ーチンがサブルーチンへ移行するのに従ってトレースの
    停止を指示する信号を生成するための論理手段とを有し
    て、成るものであることを特徴とする請求項1記載のエ
    ミュレータ。
  3. 【請求項3】  割り込み信号と前記第1信号とを選択
    して前記論理手段に供給するマルチプレクサを更に設け
    て成るものであることを特徴とする請求項2記載のエミ
    ュレータ。
JP3106758A 1991-04-11 1991-04-11 エミュレータ Withdrawn JPH04314140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3106758A JPH04314140A (ja) 1991-04-11 1991-04-11 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3106758A JPH04314140A (ja) 1991-04-11 1991-04-11 エミュレータ

Publications (1)

Publication Number Publication Date
JPH04314140A true JPH04314140A (ja) 1992-11-05

Family

ID=14441816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3106758A Withdrawn JPH04314140A (ja) 1991-04-11 1991-04-11 エミュレータ

Country Status (1)

Country Link
JP (1) JPH04314140A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314765A (ja) * 1995-05-15 1996-11-29 Nec Corp デバッグ情報収集方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314765A (ja) * 1995-05-15 1996-11-29 Nec Corp デバッグ情報収集方式

Similar Documents

Publication Publication Date Title
JPH011039A (ja) インサーキット・エミュレータ
JPS6246894B2 (ja)
JPH04314140A (ja) エミュレータ
JP2907808B1 (ja) フラッシュメモリエミュレーション装置及びそれを用いたデバッグシステム
JPH04314139A (ja) デバッグ装置
JPS59202547A (ja) デバツグ装置
JPH05173830A (ja) 異常動作検出方法、及びエミュレータ
JPH01163843A (ja) エミュレータ
JPH0836504A (ja) エミュレータ
JPH03141437A (ja) デバッグ装置
JPH06266575A (ja) エミュレータ
JPS59202546A (ja) デバツグ装置
JPH01111238A (ja) デバッグ装置
JPH01111237A (ja) デバッグ装置
JPH0250230A (ja) システム開発装置
JPH0713799A (ja) エミュレータ
JPS60245052A (ja) デ−タ処理システム
JPH023836A (ja) エミュレータ
JPS59202550A (ja) デバツグ装置
JPS59202548A (ja) デバツグ装置
JPH07152603A (ja) デバッグ装置
JPH01112440A (ja) デバッグ装置
JPS63106840A (ja) デ−タ処理装置
JPH0346036A (ja) インサーキットエミュレータにおけるバス制御方法
JPH03109649A (ja) エミュレータ

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980711