JP2000353109A - エミュレータ及びエミュレーションシステム - Google Patents

エミュレータ及びエミュレーションシステム

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
read
address
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.)
Pending
Application number
JP11163131A
Other languages
English (en)
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/ja
Publication of JP2000353109A publication Critical patent/JP2000353109A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 1度のプログラム実行でエラー発生時のアド
レスとデータ内容を容易に検出することができ、デバッ
ク効率を向上させること。 【解決手段】 監視回路によりターゲットメモリに保存
するプログラムと同一のプログラムを同一アドレスで一
時メモリにも保存しておく。その後、MCUがターゲッ
トメモリのプログラムを実行する際に、監視回路はター
ゲットメモリから読み出したデータと同一のデータを読
み出し、比較回路は両データを比較する。その結果、両
データが一致した場合、MCUは読み出したデータを実
行し、両データが不一致の場合、そのアドレスと両デー
タを一時メモリに保存して、エラー検出を行う。その
後、デバッガは前記エラー検出アドレスとデータを表示
し、使用者が容易にプログラム実行時のエラーを認識で
きるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイコン開発支援
システムのエミュレーションシステムに係り、特にメモ
リアクセスエラー検出機能を備えたエミュレータに関す
る。
【0002】
【従来の技術】従来より、マイクロコンピュータ等に載
せるプログラムを開発するためには、図6に示すような
エミュレータ1によりマイクロコンピュータの動作を模
倣して、プログラムの動作を監視することが行われてい
る。このエミュレータ1はホストコンピュータで動作す
るデバッガ2と接続されている。
【0003】エミュレータ1内のMCU11はエミュレ
ーションメモリ12上のプログラムを実行することによ
り、前記マイクロコンピュータの模倣動作を行ない、そ
の模倣動作がデバッガ2を窓口として監視される。
【0004】
【発明が解決しようとする課題】ここで、図7に示すよ
うなエミュレータ1にプローブ4を介して例えばプリン
タのボードなどに搭載されているターゲット3を接続し
て、ターゲット3にあるターゲットメモリ31上のプロ
グラムをMCU11が実行する場合、プローブ4に乗る
ノイズの影響やMCU11とターゲットメモリ31を接
続する信号線が長いこと及びターゲットが未完成等によ
ってノイズが載り易いなどの理由により、データのリー
ド、ライト時にデータが思いがけなく変化してしまうこ
とがある。
【0005】従来はプログラム実行中、ターゲットメモ
リ31へのアクセス時に、このような問題が生じた場
合、プログラムが暴走して制御不能になったり、或いは
正常に実行しているように見えても問違ったデータを使
用して実行していたために、後々の結果に誤りが生じる
可能性があった。
【0006】従来ではこのようなエラーの原因を見つけ
るために、 (1)トレースデータを参照し、いちいちエラーが生じ
た場所の目星をつけてトレースで探す。
【0007】(2)怪しいところでイベントトリガを掛
けてはリアルタイム実行、ステップ実行、停止等を繰り
返すなどの方法を使用してエラー原因をみつけなければ
ならず、いずれにしても、デバッグに大変手間がかかる
という問題があった。
【0008】本発明は、上述の如き従来の課題を解決す
るためになされたもので、その目的は、1度のプログラ
ム実行でエラー発生時のアドレスとデータ内容を容易に
検出することができ、デバック効率を向上させることが
できるエミュレータ及びこのエミュレータを用いたエミ
ュレーションシステムを提供することである。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明の特徴は、外部に接続したターゲッ
トメモリに保存されているプログラムを実行するエミュ
レータにおいて、前記ターゲットメモリに保存されてい
るプログラムと同一のプログラムを保存する一時メモリ
と、前記ターゲットメモリから読み出されたデータと同
一アドレスのデータを前記一時メモリから読み出す監視
手段と、前記ターゲットメモリから読み出されたデータ
と前記監視手段により読み出されたデータを比較する比
較手段と、この比較手段で両データが一致した場合、読
み出したデータを実行する処理手段とを具備することに
ある。
【0010】請求項2の発明の特徴は、前記比較手段で
両データが不一致の場合、これらデータ及びこれらデー
タの読み出しアドレスを保存するエラー検出手段を具備
することにある。
【0011】請求項3の発明の前記監視手段は、前記タ
ーゲットメモリに割り付けられた領域に書き込む信号を
常時監視し、この信号が有効になった時、前記一時メモ
リにもそのアドレス情報とデータを書き込む。
【0012】請求項4の発明の特徴は、前記処理手段
は、前記比較手段で両データが不一致の場合、優先順位
の高いデータを処理して、プログラムの実行を続行する
ことにある。
【0013】請求項5の発明の特徴は、プログラムのデ
バッグを行うデバッガと、このデバッガに接続されたエ
ミュレータとから成るエミュレーションシステムにおい
て、前記エミュレータは、前記ターゲットメモリに保存
されているプログラムと同一のプログラムを保存する一
時メモリと、前記ターゲットメモリから読み出されたデ
ータと同一アドレスのデータを前記一時メモリから読み
出す監視手段と、前記ターゲットメモリから読み出され
たデータと前記監視手段により読み出されたデータを比
較する比較手段と、この比較手段で両データが一致した
場合、読み出したデータを実行する処理手段と、を具備
し、前記エミュレータの前記比較手段で両データが不一
致の場合、これらデータ及びこれらデータの読み出しア
ドレスを含むエラー履歴情報を表示する表示手段を前記
デバッガに具備することにある。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は、本発明のエミュレーショ
ンシステムの一実施の形態を示したブロック図である。
但し、従来例と同一部分には同一符号を用いて説明す
る。エミューレータ1はMCU(マイクロコンピュータ
ユニット)11、一時メモリ12、監視回路13及び比
較回路14を有している。エミューレータ1はターゲッ
トメモリ31を搭載したターゲット3をプローブ4を介
して接続し、又、ホストコンピュータ上で動作するデバ
ッガ2に接続されている。
【0015】ここで、一時メモリ12はターゲットメモ
リ31と同内容のプログラムを格納する。監視回路13
は一時メモリ12に格納したターゲットメモリマッピン
グ情報を読み込み、MCU11からターゲットメモリ3
1ヘアクセスするリード/ライト信号を監視する。比較
回路14は一時メモリ12から読み出したデータとター
ゲットメモリ31から読み出したデータを比較する。
【0016】又、デバッガ2には一時メモリ12に格納
したエラー履歴を表示するための図5に示すようなウィ
ンドウ(以後、コンペアウィンドウと称す)を表示する
機能があり、メモリウィンドウ等と同様にデバッガ2上
でデータのリード、ライトができるものである。
【0017】図2は一時メモリ12に区画された格納領
域例を示した模式図である。一時メモリ12はターゲッ
トメモリのスタートアドレス・サイズ格納領域121、
プログラムロード領域122、ライト(WR)時のアド
レス・データ格納領域123、エラーアドレス・データ
格納領域124、リセットベクタ飛び先アドレス格納領
域125を備えている。
【0018】次に本実施の形態の動作について説明す
る。まず、デバッガ2からデバッグするプログラムがエ
ミュレータ1にロードされる。MCU11はロードされ
たプログラムをターゲットメモリ31に書き込むが、そ
の際、監視回路13はこのプログラムを一時メモリ12
のプログラムロード領域122にも書き込む。即ち、監
視回路13はメモリマッピング時にターゲットメモリ3
1に割り付けられた領域に書き込む信号を常時監視し、
この信号が有効となった時、一時メモリ12の書き込み
時のアドレス、データ格納領域123にもそのアドレス
情報とデータを書き込む。また、absファイルなどの
プログラムをロードする時も、上記したように監視回路
13はターゲットメモリ31にロードされるデータと同
じデータを同様の方法で一時メモリ12のプログラムロ
ード領域122にロードする。
【0019】その後、MCU11はターゲツトメモリ3
1に格納されているプログラムを実行する。
【0020】MCU11のプログラム実行中は監視回路
13がMCU11からターゲットメモリ31へのリード
信号を常時監視し、このターゲットメモリ31への読み
出し信号をフェッチすると同時に、一時メモリ12の同
アドレス内容も読み出す。
【0021】ターゲットメモリ31から読み出されたデ
ータと一時メモリ12から読み出されたデータは比較回
路14によって比較され、比較結果はMCU11に入力
される。
【0022】MCU11は比較回路14で比較したデー
タが一致した揚合、問題なしとして例えば一時メモリ1
2から読み出されたデータでそのままプログラムの実行
を続行する。
【0023】尚、プログラムの実行に使われるデータ
は、ターゲットメモリ31から読み出されたデータでも
構わない。しかし、比較回路14で比較したデータが不
一致の場合、一時メモリ12及びターゲットメモリ31
ヘアクセスしたアドレスとデータをエラーアドレス、デ
ータ格納領域124へ格納する。それに加え、更に次の
2通りの処置の内いずれかを採ることとする。
【0024】a)ブレークをかけ、各メモリ内容をデバ
ッガですぐに表示する(強制イベントブレーク)。b)
予め、一時メモリ12又はターゲットメモリ31のいず
れかに優先権を持たせ、優先する方のデータでプログラ
ムの実行を続行させる。通常は、ノイズなどの影響を受
け難い、一時メモリ12からの読み出しデータを優先す
る。
【0025】いずれの方法とも、プログラム実行後にエ
ラー検出時のメモリ内容を図5に示したデバッガ2のコ
ンペアウィンドウ(Compare Window)で確認することが
できる。
【0026】このコンペアウィンドウにおいて、Add
ressには実行番地が、Countには実行番地の読
み込み回数が、Temp Memには一時メモリ12の
実行番地から読み出したデータが、User Memに
はターゲットメモリ31の実行番地から読み出したデー
タが表示される。
【0027】例えば00f01000のアドレスの一時
メモリ12からは000055aaが、ターゲットメモ
リ31からは000055abがそれぞれ153回読み
出され、データが異なっていることが分る。
【0028】尚、Typeは表示方式を変更するボタン
で、例えばMemはコンペアウィンドウの監視機能を動
作、停止させるボタンで、Memory Fullは一
時メモリ12のエラーアドレス、データ格納領域124
へのデータの書き込み、停止(stop)、上書き(o
ver)及び同一データの保存中止(comp)用のボ
タンで、Updateは表示データの更新ボタンであ
る。
【0029】ここで、一時メモリ12へのデータ保存方
法を以下に説明しておく。1)監視回路13によってメ
モリマッピング時にターゲットメモリ31に割り付けら
れた領域のスタートアドレス・サイズ情報をターゲット
メモリ31のスタートアドレス・サイズ格納領域121
に格納する。これはプログラム実行中にターゲットメモ
リ31ヘ読み出し/書き込み信号が出力されているか否
かを監視回路13を通じてチェックするために使用す
る。
【0030】2)ターゲットメモリ31にプログラム
(absファイルなど)をロードする場合、一時メモリ
12のリセットベクタ飛び先アドレス格納領域125に
もリセットベクタ飛び先アドレスを、プログラムロード
領域122にもプログラム内容を図3に示すようにロー
ドしておく。リセットがかかった時には一時メモリ12
でもプログラムの飛び先アドレスを取得し、プログラム
ロード領域122中に格納されているスタートアドレス
へのアクセスを高速化する。
【0031】3)プログラム実行中にターゲットメモリ
31のあるアドレスヘデータを書き込む時は、そのアド
レスとデータを一時メモリ12のWR時のアドレス、デ
ータ格納領域123に図4(A)に示すように保存して
おく。この時、そのアドレスから連続して何バイトも書
き込む場合は、図4(B)に示すようにそのアドレスと
データの書き込みサイズを記録し、その後に書き込まれ
るデータを保存する。これによりアドレス情報を削除す
ることができるため、メモリ保存サイズを小さくするこ
とができる。
【0032】4)プログラムロード時、一時メモリ12
のプログラムロード領域122はターゲットメモリ31
の終わりから始まり、プログラムを格納し終える分まで
使用する。この時、WR時アドレス・データ格納領域1
23はその終わりから始まる。
【0033】5)エラーアドレス・データ格納領域12
4はリセットベクタ飛び先アドレス領域125からスタ
ック形式でデータを積んでいく。
【0034】6)上記4)、5)より、プログラム実行
中に、データ量が可変する書き込みデータ及びエラーデ
ータの保存に関して、メモリ容量を効率よく使用するこ
とが可能となる。但し、これら2つの領域には最小サイ
ズを指定し、一方のデータ量がどんなに多くても限度値
を越えないようにしておく。
【0035】ところで、MCU11のプログラム実行中
にエラーアドレス・データ格納領域124やWR時アド
レス・データ格納領域123を限度まで使用してしまっ
た場合は以下の処置のいずれかを選択する。1)データ
の記録を中止する。2)古い内容からオーバーライトす
る。3)書き込み時のデータの場合、過去に保存したも
のと同じデータを保存しようとした場合には保存しな
い。
【0036】本実施の形態によれば、ターゲットメモリ
31に保存したプログラムと同一のプログラムをエミュ
レータ1内の一時メモリ12に保存しておき、MCU1
1がターゲットメモリ31のデータを読み出した時、一
時メモリ12の同一アドレスのデータも読み出して両デ
ータを比較することにより、デバッグ時に何の設定をし
ていなくても、1度のプログラム実行でエラー発生時の
アドレスとデータ内容を確認することができる。又、エ
ラー発生箇所を何度もプログラムを実行しなくても見つ
けることができ、従ってエラー発生を確認した後のデバ
ッグに注力することができ、デバッグ効率を向上させる
ことができる。更に、エラー発生箇所を想定してイベン
トトリガやブレークの設定が不必要で、トレースデータ
からエラー箇所を探すといった手間を省くことができ
る。
【0037】
【発明の効果】以上詳細に説明したように、本発明のエ
ミュレータによれば、デバック時に何の設定をしていな
くとも、1度のプログラム実行でエラー発生時のアドレ
スとデータ内容を容易に検出することができ、デバック
効率を向上させることができる。
【0038】本発明のエミュレーションシステムによれ
ば、デバッガにエラー履歴情報が表示され、デバック効
率を著しく向上させることができる。
【図面の簡単な説明】
【図1】本発明のエミュレーションシステムの一実施の
形態を示したブロック図である。
【図2】図1に示した一時メモリに区画された格納領域
例を示した模式図である。
【図3】図2に示したプログラムロード領域に格納した
プログラムの内容例を示した図である。
【図4】図2に示したWR時のアドレス・データ格納領
域に格納するアドレスとデータの格納方法を示した図で
ある。
【図5】図1に示したデバッガに表示されるコンペアウ
インドの表示例を示した図である。
【図6】従来のエミュレーションシステムの構成例を示
したブロック図である。
【図7】従来のエミュレーションシステムの他の構成例
を示したブロック図である。
【符号の説明】
1 エミュレータ 2 デバッガ 3 ターゲット 4 プローブ 11 MCU 12 一時メモリ 13 監視回路 14 比較回路 31 ターゲットメモリ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 外部に接続したターゲットメモリに保存
    されているプログラムを実行するエミュレータにおい
    て、 前記ターゲットメモリに保存されているプログラムと同
    一のプログラムを保存する一時メモリと、 前記ターゲットメモリから読み出されたデータと同一ア
    ドレスのデータを前記一時メモリから読み出す監視手段
    と、 前記ターゲットメモリから読み出されたデータと前記監
    視手段により読み出されたデータを比較する比較手段
    と、 この比較手段で両データが一致した場合、読み出したデ
    ータを実行する処理手段と、 を具備することを特徴とするエミュレータ。
  2. 【請求項2】 前記比較手段で両データが不一致の場
    合、これらデータ及びこれらデータの読み出しアドレス
    を保存するエラー検出手段を具備することを特徴とする
    請求項1記載のエミュレータ。
  3. 【請求項3】 前記監視手段は、前記ターゲットメモリ
    に割り付けられた領域に書き込む信号を常時監視し、こ
    の信号が有効になった時、前記一時メモリにもそのアド
    レス情報とデータを書き込むことを特徴とする請求項1
    又は2記載のエミュレータ。
  4. 【請求項4】 前記処理手段は、前記比較手段で両デー
    タが不一致の場合、優先順位の高いデータを処理して、
    プログラムの実行を続行することを特徴とする請求項1
    乃至3いずれかに記載のエミュレータ。
  5. 【請求項5】 プログラムのデバッグを行うデバッガ
    と、 このデバッガに接続されたエミュレータとから成るエミ
    ュレーションシステムにおいて、 前記エミュレータは、前記ターゲットメモリに保存され
    ているプログラムと同一のプログラムを保存する一時メ
    モリと、 前記ターゲットメモリから読み出されたデータと同一ア
    ドレスのデータを前記一時メモリから読み出す監視手段
    と、 前記ターゲットメモリから読み出されたデータと前記監
    視手段により読み出されたデータを比較する比較手段
    と、 この比較手段で両データが一致した場合、読み出したデ
    ータを実行する処理手段と、を具備し、 前記エミュレータの前記比較手段で両データが不一致の
    場合、これらデータ及びこれらデータの読み出しアドレ
    スを含むエラー履歴情報を表示する表示手段を前記デバ
    ッガに具備することを特徴とするエミュレーションシス
    テム。
JP11163131A 1999-06-09 1999-06-09 エミュレータ及びエミュレーションシステム Pending JP2000353109A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11163131A JP2000353109A (ja) 1999-06-09 1999-06-09 エミュレータ及びエミュレーションシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11163131A JP2000353109A (ja) 1999-06-09 1999-06-09 エミュレータ及びエミュレーションシステム

Publications (1)

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

Family

ID=15767792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11163131A Pending JP2000353109A (ja) 1999-06-09 1999-06-09 エミュレータ及びエミュレーションシステム

Country Status (1)

Country Link
JP (1) JP2000353109A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008281713A (ja) * 2007-05-09 2008-11-20 Sharp Corp 表示装置
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 (ja) * 2007-05-09 2008-11-20 Sharp Corp 表示装置
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 (ja) シングルステップ実行を用いる診断コード
US4623962A (en) Register control processing system
US5257269A (en) Error controller for use in debugging microprocessor
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
JP2000353109A (ja) エミュレータ及びエミュレーションシステム
JPH11134204A (ja) スタック保護装置
US20100070680A1 (en) Memory management method during power-on self test
JPH10228395A (ja) 制御用コントローラの異常診断装置
JPH0581087A (ja) プロセサのモニタ方式
JPH09146789A (ja) エミュレータ
JPH08123734A (ja) データ格納領域のデータの破壊発生チェック方法及びプログラムの暴走チェック方法、並びにデータ格納領域のデータの破壊発生原因探究方法及びプログラムの暴走原因探究方法
JP3060376U (ja) メモリ装置
JP3399741B2 (ja) ダンプデータの表示方法及び障害解析システム
JPS6227421B2 (ja)
JPH04338842A (ja) エラー検出機能付き情報処理装置
JPH11203174A (ja) 状態監視情報処理装置
JP2005327175A (ja) インサーキットエミュレータ装置およびスタックアクセス異常検知方法
JP3013517B2 (ja) ライトバッファエラーアドレス検出回路
JP2967741B2 (ja) Cpu互換性テスト装置
JPH05324396A (ja) プログラム走行履歴記録方式
JPH0773076A (ja) トレース情報採取方式
JPH03211619A (ja) データ処理装置
JPH09325900A (ja) プログラム実行トレース装置
JPH08328900A (ja) エミュレータ
JPH04107649A (ja) ダンプ処理方式