JPH10240568A - エミュレータ装置およびエミュレーション方法 - Google Patents

エミュレータ装置およびエミュレーション方法

Info

Publication number
JPH10240568A
JPH10240568A JP9043746A JP4374697A JPH10240568A JP H10240568 A JPH10240568 A JP H10240568A JP 9043746 A JP9043746 A JP 9043746A JP 4374697 A JP4374697 A JP 4374697A JP H10240568 A JPH10240568 A JP H10240568A
Authority
JP
Japan
Prior art keywords
target system
memory
program
trace
host computer
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
JP9043746A
Other languages
English (en)
Inventor
Takushi Yamamoto
拓史 山本
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric 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 Renesas Design Corp, Mitsubishi Electric Corp filed Critical Renesas Design Corp
Priority to JP9043746A priority Critical patent/JPH10240568A/ja
Priority to US08/905,350 priority patent/US5903719A/en
Publication of JPH10240568A publication Critical patent/JPH10240568A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3636Debugging of software by tracing the execution of the program
    • G06F11/364Debugging of software by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • G06F11/3652Debugging of software using additional hardware in-circuit-emulation [ICE] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 プログラムの誤りがある箇所を特定するため
には、トレース情報を目視にて解析する必要があり、プ
ログラムの誤りの発見、修正に多くの時間を費やすとい
う課題があった。 【解決手段】 アンドゥモードにすることにより、ター
ゲットシステム34のプログラムが1命令実行する毎に
実行を停止し、相対バスサイクルを相対バスサイクル領
域22に保存するとともに、ターゲットシステム34の
レジスタおよび制御レジスタの内容を取得し、レジスタ
内容領域23および制御レジスタの内容領域24に保存
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロコンピ
ュータの1命令実行毎のメモリの情報とレジスタの情報
とを保存し、プログラム障害の解析を効率よく行うこと
ができるエミュレータ装置およびエミュレーション方法
に関するものである。
【0002】
【従来の技術】図5は従来のマイクロコンピュータのプ
ログラム開発での支援システムを示す構成図であり、図
において、31はホストコンピュータ、33は通信ケー
ブル32を介してホストコンピュータ31と接続され、
プログラムの誤りを発見、修正(デバック)するための
支援システムとしてのエミュレータ装置であり、このエ
ミュレータ装置33ではプログラムをROMに搭載する
こと無く、作成したプログラムを実行するとともに、プ
ログラム実行機能でプログラムを実行した結果、ターゲ
ットシステム34が正しく動作しなかった場合、プログ
ラムの間違った箇所を見つけ、修正する必要がある。3
4はマイクロコンピュータを搭載する、例えば、複写
機、エアコン等のターゲットシステム、35はエミュレ
ータ装置33とターゲットシステム34を接続するプロ
ーブ、36はホストコンピュータ31のデータを保存す
るハードディスク装置、37はホストコンピュータ31
とハードディスク装置36間でデータを送受信する通信
ケーブルである。
【0003】次に動作について説明する。まず、ホスト
コンピュータ31は、エミュレータ装置33を制御する
ために使用し、ユーザはホストコンピュータ31上でデ
バッグソフトウェアと呼ばれるソフトウェアを起動し、
そのソフトウェアを操作することによってエミュレータ
装置33を制御する。なお、ホストコンピュータ31
は、エミュレータ装置33を操作する以前に、プログラ
ムを作成するためにも使用する。
【0004】なお、参考までに、そのプログラム作成の
手順について説明する。まず、マイクロプロセッサ用の
プログラム開発では、プログラミング言語と呼ばれる形
式的な言語を使用してプログラムを記述する。このプロ
グラムの記述では、ホストコンピュータ31上のワード
プロセッサ(市販のもの)を用いる。次に、作成したワ
ードプロセッサのデータファイルから、マイクロプロセ
ッサが直接実行可能な機械語情報を得るために、コンパ
イラ(またはアセンブラ)と呼ばれる翻訳用のソフトウ
ェアを使用する。このコンパイラは、ホストコンピュー
タ31上で動作するソフトウェアツールであり入力デー
タとして上記作成したワードプロセッサのワープロファ
イルを読み込み、出力データとしてプログラム記述に対
応した機械語データを作成するものである。
【0005】ホストコンピュータ31とエミュレータ装
置33とは、通信ケーブル32で接続し、この通信ケー
ブル32を介してコマンドやデータの通信を行う。エミ
ュレータ装置33とターゲットシステム34はプローブ
35で接続するが、この接続したプローブ35の先端を
ターゲットシステムの基板上のマイクロコンピュータの
ソケットに接続する。
【0006】次に従来のエミュレータ装置の内部回路の
構成図について説明する。図6は従来のエミュレータ装
置を示す構成図であり、図において、11はマイクロコ
ンピュータ、12は通信インターフェース17及びモニ
タ回路15を介してホストコンピュータ31からプログ
ラム情報を受け取り、格納するエミュレーションメモ
リ、14はバス制御回路16を介してシステムバス13
の情報を監視し、モニタ回路15によって予め設定され
たトレース条件を満たすバスアクセスが発生したか否か
を判別し、トレース条件を満たした際、その旨をモニタ
回路15に伝えるトレース回路である。16はエミュレ
ータ装置33内部の各ブロックを制御する中枢となる回
路であるバス制御回路であり、ユーザがホストコンピュ
ータ31から命令したコマンドを解釈し、コマンドに対
応した処理を行うものである。18はトレース回路14
からトレース情報の保存を指示する信号が送られた際、
このトレース情報を保存するトレースメモリである。
【0007】次に動作について説明する。まず、ホスト
コンピュータ31からプログラム情報を受け取り、通信
インターフェース17及びモニタ回路15を介してエミ
ュレーションメモリ12に格納する。次に、トレース情
報を保存する場合はプログラム実行に先立ち、予めユー
ザが設定したトレース条件をトレース回路14に設定
し、エミュレーションメモリ12に格納したプログラム
をエミュレーション用マイクロコンピュータ11に実行
させる。トレース回路14からトレース情報の保存を指
示する信号が送られた際、トレースメモリ18にトレー
ス情報を保存し、バス制御回路16を介してシステムバ
ス13の情報を監視し、モニタ回路15によって予め設
定されたトレース条件を満たすバスアクセスが発生した
か否かを判別し、トレース条件を満たした際、その旨を
モニタ回路15に伝える。
【0008】
【発明が解決しようとする課題】従来のエミュレータ装
置は以上のように構成されているので、トレースメモリ
18に保存しているトレース情報はシステムバス13上
を流れるデータおよび制御信号だけであり、ターゲット
システム34のCPUのレジスタおよび制御レジスタの
変化の履歴は保存されていない。このため、ターゲット
システム34のCPUのメモリの内容は戻せるが、レジ
スタおよび制御レジスタの内容を戻すことができず、一
度命令を実行すると、再び実行前の状態に戻すことはで
きなかった。したがって、プログラムの誤りがある箇所
を特定するためには、トレース情報を目視にて解析する
必要があり、プログラムの誤りの発見、修正に多くの時
間を費やすという課題があった。
【0009】また、トレース機能を有しないエミュレー
タ装置33では、ステップ実行により誤りのある箇所を
探さなければならないが、再度実行前の状態に戻すため
には、プログラムの最初から実行しなおす必要があり、
プログラムの誤りの発見、修正に多くの時間を費やすと
いう課題があった。
【0010】この発明は上記のような課題を解決するた
めになされたもので、プログラムの誤りの発見、修正を
容易に行うことができるエミュレータ装置を得ることを
目的とする。
【0011】
【課題を解決するための手段】請求項1記載の発明に係
るエミュレータ装置は、マイクロコンピュータによりプ
ログラムの1命令実行毎に実行を停止するアンドゥモー
ドに切り換え、ホストコンピュータからのプログラム情
報を受け取り、エミュレーションメモリに格納し、トレ
ース回路はモニタ回路によって予め設定されたトレース
条件を満たすバスアクセスが発生したか否かを判別し、
トレース条件を満たしたときに、その結果をモニタ回路
に出力し、このトレース回路からトレース情報の保存を
指示する信号が送られたときに、トレース情報を保存す
るトレースメモリと、RAMのデータ、保存開始時点か
らの相対バスサイクル、ターゲットシステムのCPUの
レジスタ内容、およびターゲットシステムのCPUの制
御レジスタの内容を保存用メモリに保存するようにした
ものである。
【0012】請求項2記載の発明に係るエミュレータ装
置は、マイクロコンピュータがアンドゥモードに設定
し、ターゲットシステムのRAM領域のデータを保存用
メモリに転送するとともに、ターゲットシステムのプロ
グラムの実行を1命令実行毎に実行を停止し、相対バス
サイクルを保存用メモリの相対バスサイクル領域に保存
し、ターゲットシステムのレジスタおよび制御レジスタ
の内容を取得し、保存用メモリにレジスタ内容および制
御レジスタの内容に保存し、ホストコンピュータからの
履歴データの反映指示を入力すると、保存用メモリに保
存されているレジスタおよび制御レジスタの最新の値を
設定し、保存用メモリの相対バスサイクル領域に保存さ
れている相対バスサイクルに基づいてトレースメモリを
検索し、該当するバスサイクルの命令実行時にターゲッ
トシステムで使用しているメモリの値が更新された履歴
がある場合は、同じアドレスに書き込まれた履歴を遡っ
て検索し、書き込みの履歴が見つかった場合は、その値
を変更のあったアドレスに反映し、トレースメモリの中
に、書き込みアクセスの履歴が見つからなかった場合
は、初期値として保存用メモリに保存してあるRAM領
域データから、該当するアドレスのデータを検索し、そ
の値を変更のあったアドレスに反映するようにしたもの
である。
【0013】請求項3記載の発明に係るエミュレータ装
置は、モニタ回路によりシステムバスを監視し、1命令
実行毎に、メモリの書き込みがあればその値とレジスタ
およびレジスタの値とを、実行履歴を保存するRAMの
データ領域、レジスタ内容領域、メモリのアドレスおよ
びデータ領域を形成する保存用メモリを備えたホストコ
ンピュータに送信し、実行履歴の回復時も、ホストコン
ピュータのメモリを介してターゲットシステムに反映す
るようにしたものである。
【0014】請求項4記載の発明に係るエミュレーショ
ン方法は、プログラムの1命令実行毎に実行を停止する
アンドゥモードに切り換え、コマンドに対応した処理を
実行し、このモニタ回路を介してホストコンピュータか
らのプログラム情報を受け取り、エミュレーションメモ
リに格納し、モニタ回路によって予め設定されたトレー
ス条件を満たすバスアクセスが発生したか否かを判別
し、トレース条件を満たしたときに、その結果をモニタ
回路に出力し、トレース情報の保存を指示する信号が送
られたときに、トレース情報をトレースメモリに保存す
るとともに、保存用メモリにRAMのデータ、保存開始
時点からの相対バスサイクル、ターゲットシステムのC
PUのレジスタ内容、およびターゲットシステムのCP
Uの制御レジスタの内容を保存するようにしたものであ
る。
【0015】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるエ
ミュレータ装置を示す構成図、図2はこの発明の実施の
形態1によるエミュレータ装置の保存用メモリの概念を
示す構成図である。図において、11はマイクロコンピ
ュータ、12は通信インターフェース17及びモニタ回
路15を介してホストコンピュータ31からプログラム
情報を受け取り、格納するエミュレーションメモリ、1
4はバス制御回路16を介してシステムバス13の情報
を監視し、モニタ回路15によって予め設定されたトレ
ース条件を満たすバスアクセスが発生したか否かを判別
し、トレース条件を満たした際、その旨をモニタ回路1
5に伝えるトレース回路である。16はエミュレータ装
置33内部の各ブロックを制御する中枢となる回路であ
るバス制御回路であり、ユーザがホストコンピュータ3
1から命令したコマンドを解釈し、コマンドに対応した
処理を行うものである。
【0016】19はエミュレータ装置33内に追加され
た保存用メモリであり、図2に示すように、RAMのデ
ータ領域21、保存開始時点からの相対バスサイクル領
域22、ターゲットシステム34のCPUのレジスタ内
容領域23、およびターゲットシステム34のCPUの
制御レジスタの内容領域24を有する。また、図5にお
いて、33は通信ケーブル32を介してホストコンピュ
ータ31と接続され、プログラムの誤りを発見、修正す
るためのエミュレータ装置であり、作成したプログラム
を実行するとともに、プログラム実行機能でプログラム
を実行した結果、ターゲットシステム34が正しく動作
しなかった場合、プログラムの間違った箇所を見つけ、
修正する必要がある。デバッグでは、プログラムの実行
を一命令ずつ行うステップ実行機能を用いることによ
り、ステップ実行機能を用いてプログラムを少しずつ実
行し、ターゲットシステム34の動きやプログラムの実
行アドレス等を確認することによって、プログラムの間
違った箇所が発見できる。34はマイクロコンピュータ
を搭載する、例えば、複写機、エアコン等のターゲット
システムである。
【0017】次に動作について説明する。プログラム実
行時における実行履歴情報の保存方法について説明す
る。まず、ホストコンピュータ31のエミュレータコン
トロールソフトウェアより、エミュレータ装置33に実
行履歴の保存指示を出力し、エミュレータ装置33が実
行履歴の保存指示を入力すると、プログラムが実行され
た履歴からターゲットシステム34を実行前の状態に戻
すアンドゥモードになる。次に、ターゲットシステム3
4のRAMのデータ領域21のデータを保存用メモリ1
9に転送するが、アンドゥモード時は、トレース情報の
取得を開始する。
【0018】まず、連続実行時であっても、ターゲット
システム34のプログラムの実行をリアルタイムには行
わず、1命令実行毎に実行を停止し、相対バスサイクル
を保存用メモリ19の相対バスサイクル領域22に保存
する。次に、エミュレータ装置33のレジスタ値参照機
能により、ターゲットシステム34のレジスタおよび制
御レジスタの内容を取得し、保存用メモリ19のレジス
タ内容領域23および制御レジスタの内容領域24に保
存する。そして、エミュレータ装置33はエミュレータ
コントロールソフトウェアより実行履歴取得の終了指示
を受けると、トレース情報の取得を終了する。実行履歴
取得の終了指示以後の連続実行はリアルタイムに行い、
レジスタおよび制御レジスタの保存も行わない。
【0019】次に実行履歴をターゲットシステムに反映
する手順を説明する。まず、エミュレータコントロール
ソフトウェアより、エミュレータ装置33に履歴データ
の反映指示が出されると、エミュレータ装置33は、保
存用メモリ19のレジスタ内容領域23および制御レジ
スタの内容領域24に保存されているレジスタおよび制
御レジスタの最新の値をレジスタ値設定機能によリマイ
クロコンピュータ11に設定する。次に保存用メモリ1
9の相対バスサイクル領域22に保存されている相対バ
スサイクルに基づいてトレースメモリ18を検索する。
【0020】そして、該当するバスサイクルの命令実行
時にターゲットシステム34で使用しているメモリの値
が更新された履歴がある場合は、同じアドレスに書き込
まれた履歴を遡って検索する。一方、書き込みの履歴が
見つかった場合は、その値を変更のあったアドレスに反
映する。次に、トレースメモリ18の中に、書き込みア
クセスの履歴が見つからなかった場合は、初期値として
保存用メモリ19に保存してあるRAMのデータ領域2
1から、該当するアドレスのデータを検索し、その値を
変更のあったアドレスに反映する。そして、データの反
映が終ると、反映済みの履歴を保存用メモリ19から削
除する。
【0021】以上のように、この実施の形態1によれ
ば、保存用メモリ19の相対バスサイクル領域22に保
存されている相対バスサイクルに基づいてトレースメモ
リ18を検索し、該当するバスサイクルの命令実行時に
ターゲットシステム34で使用しているメモリの値が更
新された履歴がある場合は、同じアドレスに書き込まれ
た履歴を遡って検索し、一方、書き込みの履歴が見つか
った場合は、その値を変更のあったアドレスに反映する
ことにより、プログラムの誤りの発見、修正を容易に行
うことができる効果が得られる。
【0022】実施の形態2.図3はこの発明の実施の形
態2によるエミュレータ装置を示す構成図、図4はこの
発明の実施の形態2によるエミュレータ装置の保存用メ
モリの概念を示す構成図である。図において、実施の形
態1と同一の符号については同一または相当部分を示す
ので説明を省略する。上記の実施の形態1では、トレー
ス回路14、トレースメモリ18および保存用メモリ1
9を備えたものについて示したが、これらの機能をホス
トコンピュータ31に備えることにより、エミュレータ
装置33の構成を容易にすることができる。
【0023】次に動作について説明する。まず、保存す
るデータとして、書き込みのあったメモリのアドレスお
よびデータを追加し、実行履歴保存時は、エミュレータ
装置33はモニタ回路15によりシステムバス13を監
視し、命令を実行する度に、メモリの書き込みがあれば
その値と、レジスタおよびレジスタの値を通信ケーブル
32を介して、ホストコンピュータ31に送信する。次
に、ホストコンピュータ31内では、エミュレータコン
トロールソフトウェアが、ホストコンピュータ31のメ
モリを保存用メモリとして、RAMのデータ領域51、
レジスタ内容領域52、メモリのアドレスおよびデータ
領域54に実行履歴を保存する。また、実行履歴の回復
時も、ホストコンピュータ31のメモリから通信ケーブ
ル32を通して、エミュレータ装置33に送信し、ター
ゲットシステム34に反映する。
【0024】以上のように、この実施の形態2によれ
ば、ホストコンピュータ31のメモリを保存用メモリと
して、図4のフォーマットで実行履歴を保存するため、
新たな構成を追加することなく、プログラムの誤りの発
見、修正を容易に行うことができる効果が得られる。
【0025】実施の形態3.上記実施の形態2ではホス
トコンピュータ31のメモリのみを保存用メモリとして
使用していたが、実行履歴をハードディスク装置36に
保存することにより、ホストコンピュータ31のメモリ
の使用量を減らすことができるとともに、ホストコンピ
ュータ31のメモリに保存するよりも多くのデータを保
存することができるなどの効果が得られる。
【0026】
【発明の効果】以上のように、請求項1記載の発明によ
れば、マイクロコンピュータによりプログラムの1命令
実行毎に実行を停止するアンドゥモードに切り換え、ホ
ストコンピュータからのプログラム情報を受け取り、エ
ミュレーションメモリに格納し、トレース回路はモニタ
回路によって予め設定されたトレース条件を満たすバス
アクセスが発生したか否かを判別し、トレース条件を満
たしたときに、その結果をモニタ回路に出力し、このト
レース回路からトレース情報の保存を指示する信号が送
られたときに、トレース情報を保存するトレースメモリ
と、RAMのデータ、保存開始時点からの相対バスサイ
クル、ターゲットシステムのCPUのレジスタ内容、お
よびターゲットシステムのCPUの制御レジスタの内容
を保存用メモリに保存するように構成したので、プログ
ラムの誤りの発見、修正を容易に行うことができる効果
がある。
【0027】請求項2記載の発明によれば、マイクロコ
ンピュータがアンドゥモードに設定し、ターゲットシス
テムのRAM領域のデータを保存用メモリに転送すると
ともに、ターゲットシステムのプログラムの実行を1命
令実行毎に実行を停止し、相対バスサイクルを保存用メ
モリの相対バスサイクル領域に保存し、ターゲットシス
テムのレジスタおよび制御レジスタの内容を取得し、保
存用メモリにレジスタ内容および制御レジスタの内容に
保存し、ホストコンピュータからの履歴データの反映指
示を入力すると、保存用メモリに保存されているレジス
タおよび制御レジスタの最新の値を設定し、保存用メモ
リの相対バスサイクル領域に保存されている相対バスサ
イクルに基づいてトレースメモリを検索し、該当するバ
スサイクルの命令実行時にターゲットシステムで使用し
ているメモリの値が更新された履歴がある場合は、同じ
アドレスに書き込まれた履歴を遡って検索し、書き込み
の履歴が見つかった場合は、その値を変更のあったアド
レスに反映させ、トレースメモリの中に、書き込みアク
セスの履歴が見つからなかった場合は、初期値として保
存用メモリに保存してあるRAM領域データから、該当
するアドレスのデータを検索し、その値を変更のあった
アドレスに反映するように構成したので、プログラムの
誤りの発見、修正を容易に行うことができる効果があ
る。
【0028】請求項3記載の発明によれば、モニタ回路
によりシステムバスを監視し、1命令実行毎に、メモリ
の書き込みがあればその値とレジスタおよびレジスタの
値とを、実行履歴を保存するRAMのデータ領域、レジ
スタ内容領域、メモリのアドレスおよびデータ領域を形
成する保存用メモリを備えたホストコンピュータに送信
し、実行履歴の回復時も、ホストコンピュータのメモリ
を介してターゲットシステムに反映するように構成した
ので、新たな構成を追加することなく、プログラムの誤
りの発見、修正を容易に行うことができる効果がある。
【0029】請求項4記載の発明によれば、プログラム
の1命令実行毎に実行を停止するアンドゥモードに切り
換え、コマンドに対応した処理を実行し、このモニタ回
路を介してホストコンピュータからのプログラム情報を
受け取り、エミュレーションメモリに格納し、モニタ回
路によって予め設定されたトレース条件を満たすバスア
クセスが発生したか否かを判別し、トレース条件を満た
したときに、その結果をモニタ回路に出力し、トレース
情報の保存を指示する信号が送られたときに、トレース
情報をトレースメモリに保存するとともに、保存用メモ
リにRAMのデータ、保存開始時点からの相対バスサイ
クル、ターゲットシステムのCPUのレジスタ内容、お
よびターゲットシステムのCPUの制御レジスタの内容
を保存するように構成したので、プログラムの誤りの発
見、修正を容易に行うことができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるエミュレータ
装置を示す構成図である。
【図2】 この発明の実施の形態1によるエミュレータ
装置の保存用メモリの概念を示す構成図である。
【図3】 この発明の実施の形態2によるエミュレータ
装置を示す構成図である。
【図4】 この発明の実施の形態2によるエミュレータ
装置の保存用メモリの概念を示す構成図である。
【図5】 従来のマイクロコンピュータのプログラム開
発での支援システムを示す構成図である。
【図6】 従来のエミュレータ装置を示す構成図であ
る。
【符号の説明】
11 マイクロコンピュータ、12 エミュレーション
メモリ、14 トレース回路、15 モニタ回路、18
トレースメモリ、19 保存用メモリ、21RAMの
データ領域、22 相対バスサイクル領域、23 レジ
スタ内容領域、24 制御レジスタの内容領域、31
ホストコンピュータ、33 エミュレータ装置、34
ターゲットシステム。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 通信ケーブルを介してホストコンピュー
    タおよびターゲットシステムと接続され、保存されてい
    る上記ターゲットシステム用のプログラムを実行し、上
    記ターゲットシステムが正しく動作しなかった場合、プ
    ログラムの間違った箇所を見つけ、修正する機能を備え
    たエミュレータ装置において、上記ホストコンピュータ
    から実行履歴の保存指示を入力すると、プログラムの1
    命令実行毎に実行を停止するアンドゥモードに切り換え
    るマイクロコンピュータと、上記ホストコンピュータか
    ら命令したコマンドを解釈し、コマンドに対応した処理
    を実行するモニタ回路と、このモニタ回路を介して上記
    ホストコンピュータからのプログラム情報を受け取り、
    格納するエミュレーションメモリと、バス制御回路を介
    してシステムバスの情報を監視し、上記モニタ回路によ
    って予め設定されたトレース条件を満たすバスアクセス
    が発生したか否かを判別し、トレース条件を満たしたと
    きに、その結果を上記モニタ回路に出力するトレース回
    路と、このトレース回路から上記トレース情報の保存を
    指示する信号が送られたときに、上記トレース情報を保
    存するトレースメモリと、RAMのデータ領域、保存開
    始時点からの相対バスサイクル領域、上記ターゲットシ
    ステムのCPUのレジスタ内容領域、および上記ターゲ
    ットシステムのCPUの制御レジスタの内容領域を有す
    る保存用メモリとを備えたことを特徴とするエミュレー
    タ装置。
  2. 【請求項2】 マイクロコンピュータは、ホストコンピ
    ュータからの実行履歴の保存指示を入力すると、ターゲ
    ットシステムを実行前の状態に戻すアンドゥモードに設
    定する手段と、上記ターゲットシステムのRAM領域の
    データを保存用メモリに転送するとともに、上記ターゲ
    ットシステムのプログラムの実行を1命令実行毎に実行
    を停止し、相対バスサイクルを保存用メモリの相対バス
    サイクル領域に保存する手段と、レジスタ値参照機能に
    より、上記ターゲットシステムのレジスタおよび制御レ
    ジスタの内容を取得し、上記保存用メモリのレジスタ内
    容領域および制御レジスタの内容領域に保存する手段
    と、上記ホストコンピュータからの履歴データの反映指
    示を入力すると、上記保存用メモリのレジスタ内容領域
    および制御レジスタの内容領域に保存されているレジス
    タおよび制御レジスタの最新の値を設定する手段と、上
    記保存用メモリの相対バスサイクル領域に保存されてい
    る相対バスサイクルに基づいてトレースメモリを検索
    し、該当するバスサイクルの命令実行時に上記ターゲッ
    トシステムで使用しているメモリの値が更新された履歴
    がある場合は、同じアドレスに書き込まれた履歴を遡っ
    て検索し、書き込みの履歴が見つかった場合は、その値
    を変更のあったアドレスに反映する手段と、上記トレー
    スメモリの中に、書き込みアクセスの履歴が見つからな
    かった場合は、初期値として上記保存用メモリに保存し
    てあるRAM領域データから、該当するアドレスのデー
    タを検索し、その値を変更のあったアドレスに反映する
    手段とを備えたことを特徴とする請求項1記載のエミュ
    レータ装置。
  3. 【請求項3】 通信ケーブルを介してホストコンピュー
    タおよびターゲットシステムと接続され、保存されてい
    る上記ターゲットシステム用のプログラムを実行し、上
    記ターゲットシステムが正しく動作しなかった場合、プ
    ログラムの間違った箇所を見つけ、修正する機能を備え
    たエミュレータ装置において、モニタ回路によりシステ
    ムバスを監視し、1命令実行毎に、メモリの書き込みが
    あればその値とレジスタおよびレジスタの値とを、実行
    履歴を保存するRAMのデータ領域、レジスタ内容領
    域、メモリのアドレスおよびデータ領域を形成する保存
    用メモリを備えたホストコンピュータに送信し、実行履
    歴の回復時も、上記ホストコンピュータのメモリを介し
    て上記ターゲットシステムに反映することを特徴とする
    エミュレータ装置。
  4. 【請求項4】 通信ケーブルを介してホストコンピュー
    タおよびターゲットシステムと接続され、保存されてい
    る上記ターゲットシステム用のプログラムを実行し、上
    記ターゲットシステムが正しく動作しなかった場合、プ
    ログラムの間違った箇所を見つけ、修正するエミュレー
    ション方法において、上記ホストコンピュータから実行
    履歴の保存指示を入力すると、プログラムの1命令実行
    毎に実行を停止するアンドゥモードに切り換え、上記ホ
    ストコンピュータから命令したコマンドを解釈し、コマ
    ンドに対応した処理を実行し、このモニタ回路を介して
    上記ホストコンピュータからのプログラム情報を受け取
    り、エミュレーションメモリに格納し、バス制御回路を
    介してシステムバスの情報を監視し、上記モニタ回路に
    よって予め設定されたトレース条件を満たすバスアクセ
    スが発生したか否かを判別し、トレース条件を満たした
    ときに、その結果を上記モニタ回路に出力し、上記トレ
    ース情報の保存を指示する信号が送られたときに、上記
    トレース情報をトレースメモリに保存するとともに、保
    存用メモリにRAMのデータ、保存開始時点からの相対
    バスサイクル、上記ターゲットシステムのCPUのレジ
    スタ内容、および上記ターゲットシステムのCPUの制
    御レジスタの内容を保存することを特徴とするエミュレ
    ーション方法。
JP9043746A 1997-02-27 1997-02-27 エミュレータ装置およびエミュレーション方法 Pending JPH10240568A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9043746A JPH10240568A (ja) 1997-02-27 1997-02-27 エミュレータ装置およびエミュレーション方法
US08/905,350 US5903719A (en) 1997-02-27 1997-08-04 Emulator apparatus and emulation method for efficiently analyzing program faults

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9043746A JPH10240568A (ja) 1997-02-27 1997-02-27 エミュレータ装置およびエミュレーション方法

Publications (1)

Publication Number Publication Date
JPH10240568A true JPH10240568A (ja) 1998-09-11

Family

ID=12672335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9043746A Pending JPH10240568A (ja) 1997-02-27 1997-02-27 エミュレータ装置およびエミュレーション方法

Country Status (2)

Country Link
US (1) US5903719A (ja)
JP (1) JPH10240568A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106292527A (zh) * 2015-06-23 2017-01-04 发那科株式会社 数值控制装置及数值控制系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039564A1 (en) * 1997-10-20 2001-11-08 Victor Hahn Log on personal computer
US6832186B1 (en) * 2000-10-04 2004-12-14 Hewlett-Packard Development Company, L.P. Persistent emulated data storage using dedicated storage in a target mode disk emulator
US7171510B2 (en) * 2000-12-28 2007-01-30 Intel Corporation On-chip observability buffer to observer bus traffic
US7870437B2 (en) * 2007-11-14 2011-01-11 Arm Limited Trace data timestamping
US8990662B2 (en) * 2012-09-29 2015-03-24 Intel Corporation Techniques for resilient communication
US9275757B2 (en) 2013-02-01 2016-03-01 Scaleo Chip Apparatus and method for non-intrusive random memory failure emulation within an integrated circuit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57155652A (en) * 1981-03-20 1982-09-25 Hitachi Ltd Collector of process working data
JPH01226032A (ja) * 1988-03-07 1989-09-08 Nec Corp チェックポイントリスタートにおけるデータの退避・復元方式
JPH0231241A (ja) * 1988-07-21 1990-02-01 Nec Corp プログラム逆順復元方式
US5758059A (en) * 1992-12-03 1998-05-26 Intel Corporation In-circuit emulator in which abrupt and deferred arming and disarming of several events on a microprocessor chip are controlled using a single-input pin
JPH06290076A (ja) * 1993-04-05 1994-10-18 Nec Ic Microcomput Syst Ltd デバッグ装置
DE4332993C1 (de) * 1993-09-28 1994-11-24 Siemens Ag Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106292527A (zh) * 2015-06-23 2017-01-04 发那科株式会社 数值控制装置及数值控制系统
CN106292527B (zh) * 2015-06-23 2019-04-30 发那科株式会社 数值控制装置及数值控制系统

Also Published As

Publication number Publication date
US5903719A (en) 1999-05-11

Similar Documents

Publication Publication Date Title
US20050268195A1 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
CN109726135B (zh) 一种多核调试方法、装置及计算机可读存储介质
JP2526688B2 (ja) プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法
US20100153786A1 (en) Processor, multiprocessor, and debugging method
JPH10240568A (ja) エミュレータ装置およびエミュレーション方法
CN116755749A (zh) 板载mcu的升级方法、板载mcu、板卡及信息处理系统
CN113986771B (zh) 用于调试目标程序代码的方法及装置、电子设备
WO2004036420A1 (ja) プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法
JPH10254738A (ja) エミュレータ装置及びエミュレーション方法
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体
JP2003122594A (ja) 半導体装置および評価装置
CN118069382A (zh) 一种嵌入式余度计算机软件同步调试系统和方法
JPH096702A (ja) 周辺装置、デバイスドライバソフト自動作成システム、デバイスドライバソフトの自動作成方法、及び周辺装置の問い合わせ応答方法
JPH07306800A (ja) デバッグ方式
JP2002366378A (ja) プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体
JPH10283222A (ja) エミュレータ方法
JP3439906B2 (ja) 計算機システム
JP2860054B2 (ja) プログラムデバッグ装置
JP2000155685A (ja) 制御システム、及び、制御プログラムの作成方法
JPH11175366A (ja) 電子回路解析装置、電子回路解析方法、電子回路解析プログラムを記録した媒体および電子回路解析システム
JPH1069401A (ja) エミュレータ装置
JPH07168609A (ja) シーケンスプログラムのデバッグ方法
JPH1040133A (ja) ソフトウェアシミュレータ
JPH02253336A (ja) プログラム起動方式
JPS61163445A (ja) コンピユ−タの開発支援システム