JP2000353109A - Emulator and emulation system - Google Patents

Emulator and emulation system

Info

Publication number
JP2000353109A
JP2000353109A JP11163131A JP16313199A JP2000353109A JP 2000353109 A JP2000353109 A JP 2000353109A JP 11163131 A JP11163131 A JP 11163131A JP 16313199 A JP16313199 A JP 16313199A JP 2000353109 A JP2000353109 A JP 2000353109A
Authority
JP
Japan
Prior art keywords
data
program
memory
read
address
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
JP11163131A
Other languages
Japanese (ja)
Inventor
Takayuki Maeta
崇行 前多
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11163131A priority Critical patent/JP2000353109A/en
Publication of JP2000353109A publication Critical patent/JP2000353109A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily detect an address and the contents of data only by one execution of a program when an error occurs and to improve the efficiency of debugging. SOLUTION: A monitoring circuit 13 stores the same program as a program to be stored in a target memory 31 also in a temporary memory 12 by the same address. At the time of executing the program stored in the memory 31 by an MCU 11, the circuit 13 reads out the same data as the data read out from the memory 31 and a comparator 14 compares both the data with each other. When both the data coincide with each other by the comparison, the MCU 11 executes the read data, and when both the data do not coincide with each other, stores the address and both the data in the memory 12 and detects an error. Then a debugger 2 displays the error detection address and the data so that a user can easily recognize the error generated during the execution of the program.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、マイコン開発支援
システムのエミュレーションシステムに係り、特にメモ
リアクセスエラー検出機能を備えたエミュレータに関す
る。
[0001] 1. Field of the Invention [0002] The present invention relates to an emulation system for a microcomputer development support system, and more particularly to an emulator having a memory access error detection function.

【0002】[0002]

【従来の技術】従来より、マイクロコンピュータ等に載
せるプログラムを開発するためには、図6に示すような
エミュレータ1によりマイクロコンピュータの動作を模
倣して、プログラムの動作を監視することが行われてい
る。このエミュレータ1はホストコンピュータで動作す
るデバッガ2と接続されている。
2. Description of the Related Art Conventionally, in order to develop a program to be mounted on a microcomputer or the like, the operation of the microcomputer is monitored by emulating the operation of the microcomputer by an emulator 1 as shown in FIG. I have. This emulator 1 is connected to a debugger 2 operating on a host computer.

【0003】エミュレータ1内のMCU11はエミュレ
ーションメモリ12上のプログラムを実行することによ
り、前記マイクロコンピュータの模倣動作を行ない、そ
の模倣動作がデバッガ2を窓口として監視される。
The MCU 11 in the emulator 1 executes a program on the emulation memory 12 to perform a mimic operation of the microcomputer, and the mimic operation is monitored using the debugger 2 as a window.

【0004】[0004]

【発明が解決しようとする課題】ここで、図7に示すよ
うなエミュレータ1にプローブ4を介して例えばプリン
タのボードなどに搭載されているターゲット3を接続し
て、ターゲット3にあるターゲットメモリ31上のプロ
グラムをMCU11が実行する場合、プローブ4に乗る
ノイズの影響やMCU11とターゲットメモリ31を接
続する信号線が長いこと及びターゲットが未完成等によ
ってノイズが載り易いなどの理由により、データのリー
ド、ライト時にデータが思いがけなく変化してしまうこ
とがある。
Here, a target 3 mounted on a board of a printer, for example, is connected to an emulator 1 as shown in FIG. When the above program is executed by the MCU 11, data reading is performed because of the influence of noise on the probe 4, the long signal line connecting the MCU 11 and the target memory 31, and the fact that the target is incomplete and the noise is likely to be loaded. When writing, data may change unexpectedly.

【0005】従来はプログラム実行中、ターゲットメモ
リ31へのアクセス時に、このような問題が生じた場
合、プログラムが暴走して制御不能になったり、或いは
正常に実行しているように見えても問違ったデータを使
用して実行していたために、後々の結果に誤りが生じる
可能性があった。
Conventionally, if such a problem occurs during access to the target memory 31 during execution of a program, the program may run out of control and become uncontrollable, or it may appear that the program is executing normally. Running with different data could result in errors in later results.

【0006】従来ではこのようなエラーの原因を見つけ
るために、 (1)トレースデータを参照し、いちいちエラーが生じ
た場所の目星をつけてトレースで探す。
Conventionally, in order to find the cause of such an error, (1) the trace data is referred to, and the location where the error has occurred is individually searched to find the trace.

【0007】(2)怪しいところでイベントトリガを掛
けてはリアルタイム実行、ステップ実行、停止等を繰り
返すなどの方法を使用してエラー原因をみつけなければ
ならず、いずれにしても、デバッグに大変手間がかかる
という問題があった。
(2) When an event trigger is applied in a suspicious place, it is necessary to find the cause of the error by using a method such as real-time execution, step execution, stop, etc. In any case, debugging is extremely troublesome. There was such a problem.

【0008】本発明は、上述の如き従来の課題を解決す
るためになされたもので、その目的は、1度のプログラ
ム実行でエラー発生時のアドレスとデータ内容を容易に
検出することができ、デバック効率を向上させることが
できるエミュレータ及びこのエミュレータを用いたエミ
ュレーションシステムを提供することである。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned conventional problems. An object of the present invention is to make it possible to easily detect an address and data content at the time of occurrence of an error by executing a program once. An object of the present invention is to provide an emulator capable of improving debugging efficiency and an emulation system using the emulator.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明の特徴は、外部に接続したターゲッ
トメモリに保存されているプログラムを実行するエミュ
レータにおいて、前記ターゲットメモリに保存されてい
るプログラムと同一のプログラムを保存する一時メモリ
と、前記ターゲットメモリから読み出されたデータと同
一アドレスのデータを前記一時メモリから読み出す監視
手段と、前記ターゲットメモリから読み出されたデータ
と前記監視手段により読み出されたデータを比較する比
較手段と、この比較手段で両データが一致した場合、読
み出したデータを実行する処理手段とを具備することに
ある。
According to one aspect of the present invention, there is provided an emulator for executing a program stored in an externally connected target memory. A temporary memory for storing the same program as the program being read, monitoring means for reading from the temporary memory data at the same address as the data read from the target memory, and data for monitoring the data read from the target memory. A comparison means for comparing the data read by the means, and a processing means for executing the read data when both data match by the comparison means.

【0010】請求項2の発明の特徴は、前記比較手段で
両データが不一致の場合、これらデータ及びこれらデー
タの読み出しアドレスを保存するエラー検出手段を具備
することにある。
A feature of the invention according to claim 2 is that when the comparison means does not agree with each other, an error detection means for storing the data and a read address of the data is provided.

【0011】請求項3の発明の前記監視手段は、前記タ
ーゲットメモリに割り付けられた領域に書き込む信号を
常時監視し、この信号が有効になった時、前記一時メモ
リにもそのアドレス情報とデータを書き込む。
According to a third aspect of the present invention, the monitoring means constantly monitors a signal to be written in an area allocated to the target memory, and when this signal becomes valid, the address information and data are also stored in the temporary memory. Write.

【0012】請求項4の発明の特徴は、前記処理手段
は、前記比較手段で両データが不一致の場合、優先順位
の高いデータを処理して、プログラムの実行を続行する
ことにある。
A feature of the invention according to claim 4 is that, when both data do not match in the comparing means, the processing means processes data having a higher priority and continues execution of the program.

【0013】請求項5の発明の特徴は、プログラムのデ
バッグを行うデバッガと、このデバッガに接続されたエ
ミュレータとから成るエミュレーションシステムにおい
て、前記エミュレータは、前記ターゲットメモリに保存
されているプログラムと同一のプログラムを保存する一
時メモリと、前記ターゲットメモリから読み出されたデ
ータと同一アドレスのデータを前記一時メモリから読み
出す監視手段と、前記ターゲットメモリから読み出され
たデータと前記監視手段により読み出されたデータを比
較する比較手段と、この比較手段で両データが一致した
場合、読み出したデータを実行する処理手段と、を具備
し、前記エミュレータの前記比較手段で両データが不一
致の場合、これらデータ及びこれらデータの読み出しア
ドレスを含むエラー履歴情報を表示する表示手段を前記
デバッガに具備することにある。
According to a fifth aspect of the present invention, in an emulation system comprising a debugger for debugging a program and an emulator connected to the debugger, the emulator is the same as the program stored in the target memory. A temporary memory for storing a program, monitoring means for reading data at the same address as the data read from the target memory from the temporary memory, and data read from the target memory and read by the monitoring means. A comparing means for comparing data; and a processing means for executing read data when the two data match by the comparing means, and when the two data do not match by the comparing means of the emulator, these data and Error including the read address of these data Display means for displaying the history information is to comprise the debugger.

【0014】[0014]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は、本発明のエミュレーショ
ンシステムの一実施の形態を示したブロック図である。
但し、従来例と同一部分には同一符号を用いて説明す
る。エミューレータ1はMCU(マイクロコンピュータ
ユニット)11、一時メモリ12、監視回路13及び比
較回路14を有している。エミューレータ1はターゲッ
トメモリ31を搭載したターゲット3をプローブ4を介
して接続し、又、ホストコンピュータ上で動作するデバ
ッガ2に接続されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an emulation system according to an embodiment of the present invention.
However, the same parts as those in the conventional example will be described using the same reference numerals. The emulator 1 has an MCU (microcomputer unit) 11, a temporary memory 12, a monitoring circuit 13, and a comparison circuit 14. The emulator 1 connects the target 3 on which the target memory 31 is mounted via the probe 4, and is connected to the debugger 2 operating on the host computer.

【0015】ここで、一時メモリ12はターゲットメモ
リ31と同内容のプログラムを格納する。監視回路13
は一時メモリ12に格納したターゲットメモリマッピン
グ情報を読み込み、MCU11からターゲットメモリ3
1ヘアクセスするリード/ライト信号を監視する。比較
回路14は一時メモリ12から読み出したデータとター
ゲットメモリ31から読み出したデータを比較する。
The temporary memory 12 stores a program having the same contents as the target memory 31. Monitoring circuit 13
Reads the target memory mapping information stored in the temporary memory 12 and reads the target memory 3
The read / write signal for accessing 1 is monitored. The comparison circuit 14 compares the data read from the temporary memory 12 with the data read from the target memory 31.

【0016】又、デバッガ2には一時メモリ12に格納
したエラー履歴を表示するための図5に示すようなウィ
ンドウ(以後、コンペアウィンドウと称す)を表示する
機能があり、メモリウィンドウ等と同様にデバッガ2上
でデータのリード、ライトができるものである。
The debugger 2 has a function of displaying a window (hereinafter, referred to as a compare window) as shown in FIG. 5 for displaying an error history stored in the temporary memory 12, similar to the memory window and the like. Data can be read and written on the debugger 2.

【0017】図2は一時メモリ12に区画された格納領
域例を示した模式図である。一時メモリ12はターゲッ
トメモリのスタートアドレス・サイズ格納領域121、
プログラムロード領域122、ライト(WR)時のアド
レス・データ格納領域123、エラーアドレス・データ
格納領域124、リセットベクタ飛び先アドレス格納領
域125を備えている。
FIG. 2 is a schematic diagram showing an example of a storage area partitioned in the temporary memory 12. The temporary memory 12 is a start address / size storage area 121 of the target memory,
A program load area 122, an address / data storage area 123 at the time of writing (WR), an error address / data storage area 124, and a reset vector jump destination address storage area 125 are provided.

【0018】次に本実施の形態の動作について説明す
る。まず、デバッガ2からデバッグするプログラムがエ
ミュレータ1にロードされる。MCU11はロードされ
たプログラムをターゲットメモリ31に書き込むが、そ
の際、監視回路13はこのプログラムを一時メモリ12
のプログラムロード領域122にも書き込む。即ち、監
視回路13はメモリマッピング時にターゲットメモリ3
1に割り付けられた領域に書き込む信号を常時監視し、
この信号が有効となった時、一時メモリ12の書き込み
時のアドレス、データ格納領域123にもそのアドレス
情報とデータを書き込む。また、absファイルなどの
プログラムをロードする時も、上記したように監視回路
13はターゲットメモリ31にロードされるデータと同
じデータを同様の方法で一時メモリ12のプログラムロ
ード領域122にロードする。
Next, the operation of this embodiment will be described. First, a program to be debugged is loaded into the emulator 1 from the debugger 2. The MCU 11 writes the loaded program into the target memory 31. At this time, the monitoring circuit 13 stores the program in the temporary memory 12
Is also written in the program load area 122. That is, the monitoring circuit 13 uses the target memory 3 during memory mapping.
Always monitor the signal to be written to the area assigned to 1,
When this signal becomes valid, the address information and data are also written in the address and data storage area 123 of the temporary memory 12 at the time of writing. Also, when loading a program such as an abs file, the monitoring circuit 13 loads the same data as the data loaded into the target memory 31 into the program load area 122 of the temporary memory 12 in the same manner as described above.

【0019】その後、MCU11はターゲツトメモリ3
1に格納されているプログラムを実行する。
Thereafter, the MCU 11 stores the target memory 3
1. Execute the program stored in 1.

【0020】MCU11のプログラム実行中は監視回路
13がMCU11からターゲットメモリ31へのリード
信号を常時監視し、このターゲットメモリ31への読み
出し信号をフェッチすると同時に、一時メモリ12の同
アドレス内容も読み出す。
While the MCU 11 is executing the program, the monitoring circuit 13 constantly monitors the read signal from the MCU 11 to the target memory 31 and fetches the read signal to the target memory 31 and at the same time reads the contents of the same address in the temporary memory 12.

【0021】ターゲットメモリ31から読み出されたデ
ータと一時メモリ12から読み出されたデータは比較回
路14によって比較され、比較結果はMCU11に入力
される。
The data read from the target memory 31 and the data read from the temporary memory 12 are compared by the comparing circuit 14, and the result of the comparison is input to the MCU 11.

【0022】MCU11は比較回路14で比較したデー
タが一致した揚合、問題なしとして例えば一時メモリ1
2から読み出されたデータでそのままプログラムの実行
を続行する。
The MCU 11 determines that the data compared by the comparison circuit 14 match, and determines that there is no problem.
The execution of the program is continued as it is with the data read from Step 2.

【0023】尚、プログラムの実行に使われるデータ
は、ターゲットメモリ31から読み出されたデータでも
構わない。しかし、比較回路14で比較したデータが不
一致の場合、一時メモリ12及びターゲットメモリ31
ヘアクセスしたアドレスとデータをエラーアドレス、デ
ータ格納領域124へ格納する。それに加え、更に次の
2通りの処置の内いずれかを採ることとする。
The data used for executing the program may be data read from the target memory 31. However, if the data compared by the comparison circuit 14 do not match, the temporary memory 12 and the target memory 31
The accessed address and data are stored in the error address / data storage area 124. In addition, one of the following two treatments will be taken.

【0024】a)ブレークをかけ、各メモリ内容をデバ
ッガですぐに表示する(強制イベントブレーク)。b)
予め、一時メモリ12又はターゲットメモリ31のいず
れかに優先権を持たせ、優先する方のデータでプログラ
ムの実行を続行させる。通常は、ノイズなどの影響を受
け難い、一時メモリ12からの読み出しデータを優先す
る。
A) A break is applied and the contents of each memory are immediately displayed by a debugger (forced event break). b)
A priority is given to either the temporary memory 12 or the target memory 31 in advance, and the execution of the program is continued with the data with the higher priority. Normally, priority is given to data read from the temporary memory 12 which is not easily affected by noise or the like.

【0025】いずれの方法とも、プログラム実行後にエ
ラー検出時のメモリ内容を図5に示したデバッガ2のコ
ンペアウィンドウ(Compare Window)で確認することが
できる。
In either method, the contents of the memory at the time of error detection after execution of the program can be confirmed in the compare window of the debugger 2 shown in FIG.

【0026】このコンペアウィンドウにおいて、Add
ressには実行番地が、Countには実行番地の読
み込み回数が、Temp Memには一時メモリ12の
実行番地から読み出したデータが、User Memに
はターゲットメモリ31の実行番地から読み出したデー
タが表示される。
In this compare window, Add
The address indicates the execution address, the Count indicates the number of times the execution address has been read, the Temp Mem indicates the data read from the execution address in the temporary memory 12, and the User Mem indicates the data read from the execution address in the target memory 31. You.

【0027】例えば00f01000のアドレスの一時
メモリ12からは000055aaが、ターゲットメモ
リ31からは000055abがそれぞれ153回読み
出され、データが異なっていることが分る。
For example, 000055aa is read from the temporary memory 12 at the address of 00f01000, and 000055ab is read 153 times from the target memory 31, respectively, indicating that the data is different.

【0028】尚、Typeは表示方式を変更するボタン
で、例えばMemはコンペアウィンドウの監視機能を動
作、停止させるボタンで、Memory Fullは一
時メモリ12のエラーアドレス、データ格納領域124
へのデータの書き込み、停止(stop)、上書き(o
ver)及び同一データの保存中止(comp)用のボ
タンで、Updateは表示データの更新ボタンであ
る。
Type is a button for changing the display method. For example, Mem is a button for operating and stopping the monitor window monitoring function. Memory Full is an error address and data storage area 124 in the temporary memory 12.
Write, stop, overwrite (o
ver) and a button for canceling (comp) saving of the same data, and Update is a button for updating the display data.

【0029】ここで、一時メモリ12へのデータ保存方
法を以下に説明しておく。1)監視回路13によってメ
モリマッピング時にターゲットメモリ31に割り付けら
れた領域のスタートアドレス・サイズ情報をターゲット
メモリ31のスタートアドレス・サイズ格納領域121
に格納する。これはプログラム実行中にターゲットメモ
リ31ヘ読み出し/書き込み信号が出力されているか否
かを監視回路13を通じてチェックするために使用す
る。
Here, a method of storing data in the temporary memory 12 will be described below. 1) The start address / size information of the area allocated to the target memory 31 by the monitoring circuit 13 at the time of memory mapping is stored in the start address / size storage area 121 of the target memory 31.
To be stored. This is used to check through the monitoring circuit 13 whether a read / write signal is being output to the target memory 31 during execution of the program.

【0030】2)ターゲットメモリ31にプログラム
(absファイルなど)をロードする場合、一時メモリ
12のリセットベクタ飛び先アドレス格納領域125に
もリセットベクタ飛び先アドレスを、プログラムロード
領域122にもプログラム内容を図3に示すようにロー
ドしておく。リセットがかかった時には一時メモリ12
でもプログラムの飛び先アドレスを取得し、プログラム
ロード領域122中に格納されているスタートアドレス
へのアクセスを高速化する。
2) When loading a program (abs file, etc.) into the target memory 31, the reset vector jump destination address is also stored in the reset vector jump destination address storage area 125 of the temporary memory 12, and the program contents are also stored in the program load area 122. It is loaded as shown in FIG. When a reset occurs, the temporary memory 12
However, the jump address of the program is obtained, and the access to the start address stored in the program load area 122 is speeded up.

【0031】3)プログラム実行中にターゲットメモリ
31のあるアドレスヘデータを書き込む時は、そのアド
レスとデータを一時メモリ12のWR時のアドレス、デ
ータ格納領域123に図4(A)に示すように保存して
おく。この時、そのアドレスから連続して何バイトも書
き込む場合は、図4(B)に示すようにそのアドレスと
データの書き込みサイズを記録し、その後に書き込まれ
るデータを保存する。これによりアドレス情報を削除す
ることができるため、メモリ保存サイズを小さくするこ
とができる。
3) When writing data to an address in the target memory 31 during execution of the program, the address and data are stored in the WR address and data storage area 123 of the temporary memory 12 as shown in FIG. Save it. At this time, when writing many bytes continuously from the address, the address and the write size of the data are recorded as shown in FIG. 4B, and the data to be written thereafter is stored. As a result, the address information can be deleted, so that the memory storage size can be reduced.

【0032】4)プログラムロード時、一時メモリ12
のプログラムロード領域122はターゲットメモリ31
の終わりから始まり、プログラムを格納し終える分まで
使用する。この時、WR時アドレス・データ格納領域1
23はその終わりから始まる。
4) When loading a program, the temporary memory 12
The program load area 122 of the target memory 31
Use from the end of the to the end of storing the program. At this time, the WR address / data storage area 1
23 starts from the end.

【0033】5)エラーアドレス・データ格納領域12
4はリセットベクタ飛び先アドレス領域125からスタ
ック形式でデータを積んでいく。
5) Error address / data storage area 12
4 stacks data from the reset vector jump destination address area 125 in a stack format.

【0034】6)上記4)、5)より、プログラム実行
中に、データ量が可変する書き込みデータ及びエラーデ
ータの保存に関して、メモリ容量を効率よく使用するこ
とが可能となる。但し、これら2つの領域には最小サイ
ズを指定し、一方のデータ量がどんなに多くても限度値
を越えないようにしておく。
6) From the above 4) and 5), it is possible to efficiently use the memory capacity for storing the write data and the error data whose data amount varies during the execution of the program. However, a minimum size is specified for these two areas so that the data amount of one of them does not exceed the limit value, no matter how much.

【0035】ところで、MCU11のプログラム実行中
にエラーアドレス・データ格納領域124やWR時アド
レス・データ格納領域123を限度まで使用してしまっ
た場合は以下の処置のいずれかを選択する。1)データ
の記録を中止する。2)古い内容からオーバーライトす
る。3)書き込み時のデータの場合、過去に保存したも
のと同じデータを保存しようとした場合には保存しな
い。
If the error address / data storage area 124 or the WR address / data storage area 123 has been used up to the limit during execution of the program of the MCU 11, one of the following measures is selected. 1) Stop recording data. 2) Overwrite old contents. 3) In the case of data at the time of writing, if the same data as that stored in the past is to be stored, it is not stored.

【0036】本実施の形態によれば、ターゲットメモリ
31に保存したプログラムと同一のプログラムをエミュ
レータ1内の一時メモリ12に保存しておき、MCU1
1がターゲットメモリ31のデータを読み出した時、一
時メモリ12の同一アドレスのデータも読み出して両デ
ータを比較することにより、デバッグ時に何の設定をし
ていなくても、1度のプログラム実行でエラー発生時の
アドレスとデータ内容を確認することができる。又、エ
ラー発生箇所を何度もプログラムを実行しなくても見つ
けることができ、従ってエラー発生を確認した後のデバ
ッグに注力することができ、デバッグ効率を向上させる
ことができる。更に、エラー発生箇所を想定してイベン
トトリガやブレークの設定が不必要で、トレースデータ
からエラー箇所を探すといった手間を省くことができ
る。
According to the present embodiment, the same program as that stored in the target memory 31 is stored in the temporary memory 12 in the emulator 1 and the MCU 1
When 1 reads data from the target memory 31, it also reads the data at the same address in the temporary memory 12 and compares both data, so that no error occurs in one execution of the program even if no setting is made during debugging. The address and data content at the time of occurrence can be confirmed. In addition, the location where an error has occurred can be found without repeatedly executing the program. Therefore, it is possible to focus on debugging after confirming the occurrence of the error, thereby improving debugging efficiency. Further, it is unnecessary to set an event trigger or a break on the assumption of an error occurrence location, and it is possible to save trouble of searching for an error location from trace data.

【0037】[0037]

【発明の効果】以上詳細に説明したように、本発明のエ
ミュレータによれば、デバック時に何の設定をしていな
くとも、1度のプログラム実行でエラー発生時のアドレ
スとデータ内容を容易に検出することができ、デバック
効率を向上させることができる。
As described above in detail, according to the emulator of the present invention, the address and data contents at the time of occurrence of an error can be easily detected by executing the program once even if no settings are made at the time of debugging. And the debugging efficiency can be improved.

【0038】本発明のエミュレーションシステムによれ
ば、デバッガにエラー履歴情報が表示され、デバック効
率を著しく向上させることができる。
According to the emulation system of the present invention, error history information is displayed on the debugger, and debugging efficiency can be significantly improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のエミュレーションシステムの一実施の
形態を示したブロック図である。
FIG. 1 is a block diagram showing an emulation system according to an embodiment of the present invention.

【図2】図1に示した一時メモリに区画された格納領域
例を示した模式図である。
FIG. 2 is a schematic diagram showing an example of a storage area partitioned into a temporary memory shown in FIG.

【図3】図2に示したプログラムロード領域に格納した
プログラムの内容例を示した図である。
FIG. 3 is a diagram showing an example of contents of a program stored in a program load area shown in FIG. 2;

【図4】図2に示したWR時のアドレス・データ格納領
域に格納するアドレスとデータの格納方法を示した図で
ある。
FIG. 4 is a diagram showing a method of storing addresses and data stored in an address / data storage area at the time of WR shown in FIG. 2;

【図5】図1に示したデバッガに表示されるコンペアウ
インドの表示例を示した図である。
FIG. 5 is a diagram showing a display example of a compare window displayed on the debugger shown in FIG. 1;

【図6】従来のエミュレーションシステムの構成例を示
したブロック図である。
FIG. 6 is a block diagram showing a configuration example of a conventional emulation system.

【図7】従来のエミュレーションシステムの他の構成例
を示したブロック図である。
FIG. 7 is a block diagram showing another configuration example of a conventional emulation system.

【符号の説明】[Explanation of symbols]

1 エミュレータ 2 デバッガ 3 ターゲット 4 プローブ 11 MCU 12 一時メモリ 13 監視回路 14 比較回路 31 ターゲットメモリ DESCRIPTION OF SYMBOLS 1 Emulator 2 Debugger 3 Target 4 Probe 11 MCU 12 Temporary memory 13 Monitoring circuit 14 Comparison circuit 31 Target memory

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 外部に接続したターゲットメモリに保存
されているプログラムを実行するエミュレータにおい
て、 前記ターゲットメモリに保存されているプログラムと同
一のプログラムを保存する一時メモリと、 前記ターゲットメモリから読み出されたデータと同一ア
ドレスのデータを前記一時メモリから読み出す監視手段
と、 前記ターゲットメモリから読み出されたデータと前記監
視手段により読み出されたデータを比較する比較手段
と、 この比較手段で両データが一致した場合、読み出したデ
ータを実行する処理手段と、 を具備することを特徴とするエミュレータ。
1. An emulator for executing a program stored in an externally connected target memory, comprising: a temporary memory for storing a program identical to the program stored in the target memory; and an emulator read from the target memory. Monitoring means for reading data at the same address as the read data from the temporary memory; comparing means for comparing the data read from the target memory with the data read by the monitoring means; An emulator comprising: processing means for executing read data when they match.
【請求項2】 前記比較手段で両データが不一致の場
合、これらデータ及びこれらデータの読み出しアドレス
を保存するエラー検出手段を具備することを特徴とする
請求項1記載のエミュレータ。
2. The emulator according to claim 1, further comprising an error detection unit for storing the data and a read address of the data when the two data do not match in the comparison unit.
【請求項3】 前記監視手段は、前記ターゲットメモリ
に割り付けられた領域に書き込む信号を常時監視し、こ
の信号が有効になった時、前記一時メモリにもそのアド
レス情報とデータを書き込むことを特徴とする請求項1
又は2記載のエミュレータ。
3. The monitoring means constantly monitors a signal to be written to an area allocated to the target memory, and when the signal becomes valid, writes the address information and data to the temporary memory. Claim 1
Or the emulator according to 2.
【請求項4】 前記処理手段は、前記比較手段で両デー
タが不一致の場合、優先順位の高いデータを処理して、
プログラムの実行を続行することを特徴とする請求項1
乃至3いずれかに記載のエミュレータ。
4. The processing means, if the two data do not match in the comparing means, processes the data having a higher priority,
2. The program according to claim 1, wherein the program execution is continued.
The emulator according to any one of claims 1 to 3.
【請求項5】 プログラムのデバッグを行うデバッガ
と、 このデバッガに接続されたエミュレータとから成るエミ
ュレーションシステムにおいて、 前記エミュレータは、前記ターゲットメモリに保存され
ているプログラムと同一のプログラムを保存する一時メ
モリと、 前記ターゲットメモリから読み出されたデータと同一ア
ドレスのデータを前記一時メモリから読み出す監視手段
と、 前記ターゲットメモリから読み出されたデータと前記監
視手段により読み出されたデータを比較する比較手段
と、 この比較手段で両データが一致した場合、読み出したデ
ータを実行する処理手段と、を具備し、 前記エミュレータの前記比較手段で両データが不一致の
場合、これらデータ及びこれらデータの読み出しアドレ
スを含むエラー履歴情報を表示する表示手段を前記デバ
ッガに具備することを特徴とするエミュレーションシス
テム。
5. An emulation system comprising a debugger for debugging a program and an emulator connected to the debugger, wherein the emulator comprises: a temporary memory for storing a program identical to the program stored in the target memory; Monitoring means for reading, from the temporary memory, data at the same address as the data read from the target memory; and comparing means for comparing the data read from the target memory with the data read by the monitoring means. Processing means for executing the read data when the two data match by the comparing means, and when the two data do not match by the comparing means of the emulator, these data and a read address of the data are included. Display error history information An emulation system comprising a display unit provided in the debugger.
JP11163131A 1999-06-09 1999-06-09 Emulator and emulation system Pending JP2000353109A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11163131A JP2000353109A (en) 1999-06-09 1999-06-09 Emulator and emulation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11163131A JP2000353109A (en) 1999-06-09 1999-06-09 Emulator and emulation system

Publications (1)

Publication Number Publication Date
JP2000353109A true JP2000353109A (en) 2000-12-19

Family

ID=15767792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11163131A Pending JP2000353109A (en) 1999-06-09 1999-06-09 Emulator and emulation system

Country Status (1)

Country Link
JP (1) JP2000353109A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008281713A (en) * 2007-05-09 2008-11-20 Sharp Corp Display device
US9606890B2 (en) 2014-09-26 2017-03-28 International Business Machines Corporation Analysis system, analysis method and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008281713A (en) * 2007-05-09 2008-11-20 Sharp Corp Display device
US9606890B2 (en) 2014-09-26 2017-03-28 International Business Machines Corporation Analysis system, analysis method and program
US9710351B2 (en) 2014-09-26 2017-07-18 International Business Machines Corporation Analysis system, analysis method and program
US10360384B2 (en) 2014-09-26 2019-07-23 International Business Machines Corporation Analysis systems, analysis method and program
US10963364B2 (en) 2014-09-26 2021-03-30 International Business Machines Corporation Analysis system, analysis method and program

Similar Documents

Publication Publication Date Title
JP5905911B2 (en) Diagnostic code using single-step execution
US6934886B2 (en) Debugging apparatus and method
US5257269A (en) Error controller for use in debugging microprocessor
JPS60159951A (en) Tracing system in information processing device
JP2000353109A (en) Emulator and emulation system
JPH11134204A (en) Stack protecting device
JPH10228395A (en) Abnormality diagnostic device for controller
JPH0581087A (en) Processor monitoring system
WO2019169615A1 (en) Method for accessing code sram, and electronic device
JPH08123734A (en) Methods for checking occurrence of data destruction in data storing area and program runaway and methods for searching causes of data destruction occurrence and program runaway
JP3060376U (en) Memory device
JPS6227421B2 (en)
JPH03211619A (en) Data processor
JPH11203174A (en) State supervisory information processor
JPH04338842A (en) Information processor with error detecting function
JPH05324396A (en) Program traveling history recording system
JPH03223938A (en) Return address monitoring circuit for debugging device
JPH0773076A (en) Trace information collection system
JPH0480860A (en) Program loading system
JPH07319724A (en) Emulation cpu
JP2005327175A (en) Incircuit emulator device and stack access abnormality detection method
JPH05216718A (en) Debugging method
JPH08328900A (en) Emulator
JP2001265619A (en) Data tracing system
JPH0231241A (en) Adverse restoring system for program