JPH09319605A - エミュレータ装置 - Google Patents

エミュレータ装置

Info

Publication number
JPH09319605A
JPH09319605A JP8133765A JP13376596A JPH09319605A JP H09319605 A JPH09319605 A JP H09319605A JP 8133765 A JP8133765 A JP 8133765A JP 13376596 A JP13376596 A JP 13376596A JP H09319605 A JPH09319605 A JP H09319605A
Authority
JP
Japan
Prior art keywords
address
access
read
write
microcomputer
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.)
Granted
Application number
JP8133765A
Other languages
English (en)
Other versions
JP3565987B2 (ja
Inventor
Masahiro Okano
正浩 岡野
Eisuke Shimomura
英介 下村
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
Mitsubishi Electric Semiconductor Systems Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems 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, Mitsubishi Electric Semiconductor Systems Corp filed Critical Renesas Design Corp
Priority to JP13376596A priority Critical patent/JP3565987B2/ja
Priority to US08/747,049 priority patent/US5838952A/en
Publication of JPH09319605A publication Critical patent/JPH09319605A/ja
Application granted granted Critical
Publication of JP3565987B2 publication Critical patent/JP3565987B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (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)【要約】 【課題】 初期化していない大域変数の読み込みがあっ
ても認識できないという課題があった。 【解決手段】 エミュレーションプログラムがマイクロ
コンピュータのメモリアドレスをライトアクセスした場
合に、ライトアクセスしたアドレスに対応づけてライト
アクセスがあったことを示す情報を格納するアクセス情
報格納手段と、エミュレーションプログラムがマイクロ
コンピュータのメモリアドレスをリードアクセスしたと
きに、リードアクセスされたアドレスにライトアクセス
があったことを示す情報がアクセス情報格納手段に格納
されていない場合にはエミュレーションプログラムの実
行をブレークするブレーク手段とを具備した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロコンピ
ュータ等のプログラム開発を支援するエミュレータ装置
に関するものである。
【0002】
【従来の技術】マイクロコンピュータ等のプログラム開
発では、開発途中のプログラムの誤りを発見して修正す
るためにエミュレータ装置が開発支援システムとして用
いられる。
【0003】図4は従来のエミュレータ装置を用いたプ
ログラム開発システムの構成を示す図である。図におい
て、10はホストコンピュータ、11はエミュレータ装
置、12は開発の対象となるマイクロコンピュータを搭
載したターゲットシステム、13はホストコンピュータ
10とエミュレータ装置11との間でデータを送受信す
るための通信ケーブル、14はエミュレータ装置11を
ターゲットシステム12に電気的に接続するプローブを
それぞれ示している。なお、プローブの先端にはターゲ
ットシステム12で動作するマイクロコンピュータ14
aが設けられてターゲットシステム12のソケットに挿
入して接続される。
【0004】次に動作について説明する。ホストコンピ
ュータ10上でデバッグソフトウエアを起動し、そのソ
フトウエアを操作することによってエミュレータ装置1
1を制御する。なお、ホストコンピュータ10はエミュ
レータ装置11を制御する前にプログラムを作成するた
めにも使用する。
【0005】マイクロプロセッサのプログラム開発で
は、プログラミング言語を使用してプログラムを記述す
る。プログラムの記述ではホストコンピュータ10上で
動作するワードプロセッサを使用する。ワードプロセッ
サによって作成したデータファイルからマイクロプロセ
ッサが直接実行可能な機械語情報を得るためにはコンパ
イラまたはアセンブラ等の翻訳用ソフトウエアツールを
用いる。この翻訳用ソフトウエアツールはワードプロセ
ッサによって作成したデータファイルを読み込み、プロ
グラム記述に対応した機械語データを作成して出力す
る。
【0006】エミュレータ装置11はマイクロコンピュ
ータのプログラム開発において作成したプログラムの誤
り等を発見するデバッグ作業をする場合に使用する。エ
ミュレータ装置11の主要な機能には、プログラムの実
行機能とプログラムのブレーク機能の2つの機能があ
る。
【0007】まず、プログラムの実行機能について説明
する。例えば、複写機、エアコン等のターゲットシステ
ムではプログラムを最終的にリードオンリメモリ(以
下、ROMと記す)に書き込んでマイクロコンピュータ
を動作させるが、エミュレータ装置ではプログラムをR
OMに書き込まずに作成したプログラムを実行させるこ
とができる。
【0008】次に、プログラムのブレーク機能について
説明する。上述したようにしてプログラムを実行した結
果、ターゲットシステムが正しく動作しなかった場合、
プログラムの間違った箇所を発見し、修正する必要があ
る。デバッグではプログラムの実行を途中で停止させる
ブレーク機能を用いる。ブレーク機能を用いてプログラ
ムを少しずつ実行し、ターゲットシステムの動きやプロ
グラムの実行アドレス等を確認することによってプログ
ラムの間違った箇所が発見できる。ブレーク機能では特
定のアドレスにリード、ライト、命令フェッチ等のバス
アクセスが発生した際にブレークするようにブレーク条
件が指定できる。
【0009】図5は従来のエミュレータ装置の構成を示
すブロック図である。図において、20はホストコンピ
ュータ10から発せられたコマンドを解釈し、コマンド
に応じた処理を実行するモニタ回路、21はホストコン
ピュータ10とモニタ回路20との間の通信インターフ
ェイス、22はホストコンピュータ10から転送されて
くるエミュレーションのためのプログラム情報を格納す
るエミュレーションメモリ、23はブレーク条件を満た
すアクセスが発生したときにプログラムをブレークする
ことを判断しモニタ回路20に通知するブレーク回路、
24はシステムバス25のアクセス制御をするバス制御
回路である。
【0010】なお、ブレーク回路23は、モニタ回路2
0から送られてきたブレーク条件のうちのアドレス情報
を記憶し、システムバス25上に出力されたアドレスを
毎回検出してブレーク条件に合致するか否かを比較する
アドレス比較回路30、システムバス25のリード・ラ
イト信号を検出することによってエミュレーションプロ
グラムのアクセスがリードアクセスであるか、ライトア
クセスであるかを判定するリードライト信号比較回路3
1と、アドレス比較回路30およびリードライト信号比
較回路31の比較結果からブレーク信号をモニタ回路2
0に転送するフレーク判定回路32とを具備している。
【0011】まず、ブレーク回路23にはモニタ回路2
0からブレーク条件が送られてくる。すなわち、所望の
アドレスと所望のアクセスタイプが転送されてくる。ア
クセスタイプはリードアクセス、ライトアクセスがあ
る。そして、ブレーク条件が設定されたアドレスに設定
されたアクセスタイプのアクセスがあった場合にはブレ
ーク回路23はマイクロコンピュータのエミュレーショ
ンプログラムの動作をブレークするためのブレーク信号
をモニタ回路20に送出する。
【0012】以上説明したような従来のエミュレータ装
置では、初期化されていない大域変数の読み込みが行わ
れても正常な動作とみなされ、ブレークすることができ
なかった。このように大域変数が初期化されていない状
態で読み込まれた場合にはプログラムの実行時に、本
来、意図した値ではなく、未確定な値をもとにプログラ
ムが動作し、予期せぬ不具合を引き起こすことになる。
【0013】
【発明が解決しようとする課題】従来のエミュレータ装
置は以上のように構成されているので、初期化されてい
ない大域変数の読み込みが行われても正常な動作とみな
され、ブレークすることができないという課題があっ
た。
【0014】この発明は以上のような課題を解決するた
めになされたもので、初期化されていない大域変数の読
み込みが行われた場合にブレークできるエミュレータ装
置を提供することを目的とする。
【0015】
【課題を解決するための手段】請求項1記載の発明に係
るエミュレータ装置は、マイクロコンピュータのシステ
ムバスに接続され、実行中のエミュレーションプログラ
ムがリードアクセスをしたか、ライトアクセスをしたか
を判別するリード・ライトアクセス判別手段と、リード
・ライトアクセス判別手段による判別の結果、実行中の
エミュレーションプログラムがマイクロコンピュータの
メモリアドレスをライトアクセスした場合に、ライトア
クセスしたアドレスと対応づけてライトアクセスがあっ
たことを示す情報を格納するアクセス情報格納手段と、
リード・ライトアクセス判別手段による判別の結果、実
行中のエミュレーションプログラムがマイクロコンピュ
ータのメモリアドレスをリードアクセスしたときに、リ
ードアクセスされたアドレスにライトアクセスがあった
ことを示す情報がアクセス情報格納手段に格納されてい
ない場合にはエミュレーションプログラムの実行をブレ
ークするブレーク手段とを具備するものである。
【0016】請求項2記載の発明に係るエミュレータ装
置は、エミュレーションプログラムに規定された大域変
数のアドレス範囲のアドレスに実行中のエミュレーショ
ンプログラムによってリードアクセスまたはライトアク
セスが発生したか否かを判別するアドレス判別手段を有
し、アクセス情報格納手段はアドレス判別手段が大域変
数のアドレス範囲のアドレスに対してライトアクセスし
た場合に、ライトアクセスしたアドレスと対応づけてラ
イトアクセスがあったことを示す情報を格納するように
構成したものである。
【0017】請求項3記載の発明に係るエミュレータ装
置は、アクセス情報格納手段がマイクロコンピュータの
メモリアドレスに1対1に対応したアドレスを有するア
クセス情報メモリを含み、実行中のエミュレーションプ
ログラムがマイクロコンピュータのメモリアドレスをラ
イトアクセスした場合にライトアクセスしたアドレスに
対応する、アクセス情報メモリのアドレスにライトアク
セスがあったことを示す情報を格納するように構成した
ものである。
【0018】請求項4記載の発明に係るエミュレータ装
置は、アクセス情報格納手段がエミュレーションプログ
ラムが規定する各々の大域変数が占めるアドレス領域毎
にライトアクセスがあったことを示す情報を格納するよ
うに構成したものである。
【0019】請求項5記載の発明に係るエミュレータ装
置は、マイクロコンピュータのシステムバスに接続さ
れ、エミュレーションプログラムが実行中にマイクロコ
ンピュータからシステムバスに出力されたデータの値が
「0」であるか否かを判別するデータ判別手段を有し、
アクセス情報格納手段はリード・ライトアクセス判別手
段による判別の結果、実行中のエミュレーションプログ
ラムがマイクロコンピュータのメモリアドレスをライト
アクセスした場合であって、データ判別手段の判別の結
果、ライトアクセスによって書き込まれたデータの値が
「0」である場合には、ライトアクセスしたアドレスと
対応づけて値が「0」のデータがライトアクセスしたア
ドレスに書き込まれた回数に関する情報を格納し、ブレ
ーク手段はリード・ライトアクセス判別手段による判別
の結果、実行中のエミュレーションプログラムがマイク
ロコンピュータのメモリアドレスをリードアクセスした
ときに、アクセス情報格納手段に格納されている情報
が、リードアクセスされたアドレスに値が「0」のデー
タが1回しか格納されていないことを示す場合には、エ
ミュレーションプログラムをブレークするように構成し
たものである。
【0020】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1における
エミュレータ装置の構成を示すブロック図である。な
お、エミュレータ装置111は従来のエミュレータ装置
11と同様に、図4に示すようにホストコンピュータ1
0に接続するとともに、ターゲットシステム12に、マ
イクロコンピュータ14aを有するプローブ14により
接続して使用する。
【0021】図において、120はホストコンピュータ
10から発せられたコマンドを解釈し、コマンドに応じ
た処理を実行するモニタ回路、121はホストコンピュ
ータ10とモニタ回路120との間の通信インターフェ
イスをとる通信インターフェイス回路、122はホスト
コンピュータ10から転送されてくるエミュレーション
のためのプログラム情報を格納するエミュレーションメ
モリ、123はブレーク条件を満たすアクセスが発生し
たときにプログラムがブレークの実行を判断しモニタ回
路120に通知するブレーク回路(ブレーク手段)、1
24はシステムバス125のアクセス制御をするバス制
御回路である。
【0022】なお、ブレーク回路123は、モニタ回路
120から送られてきたブレーク条件のうちのアドレス
情報を記憶し、システムバス125上に出力されたアド
レスを検出してブレーク条件に合致するか否かを比較す
るアドレス比較回路(アドレス判別手段)201、シス
テムバス125のリード・ライト信号を検出することに
よってエミュレーションプログラムのアクセスがリード
アクセスであるか、ライトアクセスであるかを判定する
リード・ライト信号比較回路(リード・ライトアクセス
判別手段)202と、マイクロコンピュータ14aのメ
モリ空間のアドレスに対応づけられ1ビットの情報を格
納するアクセス情報メモリ(アクセス情報格納手段)2
03と、このアクセス情報メモリ203のデータの書き
込みの制御を行うアクセス情報リード・ライト回路(ア
クセス情報格納手段)204と、アドレス比較回路20
1、リード・ライト信号比較回路202の比較結果およ
びアクセス情報メモリ203に格納されている情報に基
づいてブレークの判定を行うブレーク判定回路(ブレー
ク手段)205とを有している。
【0023】アクセス情報メモリ203のアドレスはマ
イクロコンピュータ14aのメモリ空間のアドレスに1
対1に対応して設けられている。例えば、マイクロコン
ピュータ14aの16ビットアドレス空間であるならば
アクセス情報メモリ203は0000H番地からFFF
FH番地に対応して64Kビットの情報の書き込みがで
きるように構成されている。
【0024】また、アクセス情報リード・ライト回路2
04の制御により、プログラムのリセットが行われたと
きに全てのアドレスに「0」を書き込み、マイクロコン
ピュータ14aのメモリ空間のあるアドレスに対して書
き込み動作が発生した場合にアクセス情報メモリ203
の対応のアドレスに「1」が書き込まれるように構成さ
れている。
【0025】次に動作について説明する。まず、エミュ
レーションプログラムがエミュレータ装置111に転送
されてきた場合やユーザが意図的にリセットした場合な
どプログラムのリセットが行われたときにはアクセス情
報メモリ203の全てのアドレスに「0」を格納する。
次に、プログラムが実行される前に、ユーザが設定した
大域変数のメモリ領域範囲、すなわち、ユーザが設定し
た大域変数がマイクロコンピュータ14aのメモリ空間
のどのアドレス範囲にあるかを示す情報がホストコンピ
ュータ10からエミュレータ装置111に転送される。
転送された情報は通信インターフェイス121を介して
モニタ回路120に送られ、モニタ回路120の制御に
よりアドレス比較回路201に設定される。
【0026】以上の初期設定後にエミュレーションプロ
グラムが実行される。プログラム実行中はアドレス比較
回路201とリード・ライト信号比較回路202がシス
テムバス125を監視し、アドレス比較回路201に設
定されたアドレス範囲に対するリードアクセス、あるい
はライトアクセスがあった場合にはブレーク判定回路2
05にその情報が転送される。ブレーク判定回路205
では大域変数の領域範囲に書き込みがあった場合にはア
クセス情報リード・ライト回路204によりアクセス情
報メモリ203の対応するアドレスに「1」を格納す
る。例えば、マイクロコンピュータ14aのメモリ空間
の「000FH」番地にデータの書き込みがあった場合
にはアクセス情報メモリ203の「000FH」番地に
「1」を書き込む。
【0027】マイクロコンピュータ14aのメモリ領域
の大域変数のアドレス範囲に対してデータの読み込み動
作が行われた場合にはアクセス情報リード・ライト回路
204の制御によってアクセス情報メモリ203の対応
するアドレスのデータを読み込む。ブレーク判定回路2
05はこのデータが「0」であれば大域変数が初期化さ
れずに読み込まれたと判断してモニタ回路120に対し
てブレーク信号を送出する。このブレーク信号を受けた
モニタ回路120は現在実行中のプログラムをブレーク
する。さらに、ブレークしたアドレスはモニタ回路12
0、通信インターフェイス121を介してホストコンピ
ュータ10に転送される。ホストコンピュータ10上で
動作しているデバッガ等のエミュレーションコントロー
ルソフトウエアは取得したアドレスがどの大域変数に相
当するかを判断して表示する。
【0028】一方、マイクロコンピュータ14aのメモ
リ領域の大域変数のアドレス範囲に対してデータの読み
込み動作が行われた場合にアクセス情報メモリ203の
対応するアドレスのデータが「1」であった場合には大
域変数が初期化されていると判断してブレーク信号は送
出しない。
【0029】実施の形態2.図2はこの発明の実施の形
態2におけるエミュレータ装置の構成を示すブロック図
である。なお、図1と同一部分には同一符号を付し重複
する説明は省略する。図において、123aはこの実施
の形態のブレーク回路、203aはアドレス「0」から
アドレス「ADEND」までのアドレスを有し、各々の
アドレスに1ビットのアクセス情報を書き込むことがで
きるアクセス情報メモリである。204aはアクセス情
報メモリ203aに格納するアクセス情報のリード・ラ
イトの制御を行うアクセス情報リード・ライト回路、2
05aは大域変数のアドレス範囲毎に1ビットのアクセ
ス情報を格納するためのアドレスを割り当てるととも
に、アドレス比較回路201とリード・ライト信号比較
回路202とからの比較結果、およびアクセス情報メモ
リ203aに格納されているアクセス情報に基づいてブ
レークの判定を行うブレーク判定回路である。
【0030】次に動作について説明する。まず、エミュ
レーションプログラムがエミュレータ装置111aに転
送された場合やユーザが意図的にリセットした場合な
ど、プログラムのリセットが行われたときには、アクセ
ス情報リード・ライト回路204aはアクセス情報メモ
リ203aのすべてのアドレスに「0」を格納する。次
にプログラムが実行される前にユーザが設定したそれぞ
れの大域変数に対して、大域変数の先頭アドレスと大域
変数のデータの大きさ等の大域変数情報がホストコンピ
ュータ10から通信インターフェイス121を介してモ
ニタ回路120に転送される。この大域変数情報はさら
にブレーク判定回路205aに転送される。また、ブレ
ーク判定回路205aからアドレス比較回路201にも
大域変数情報は転送される。ブレーク判定回路205a
は大域変数情報に基づいて各々の大域変数毎にアクセス
情報メモリ203aのアドレスに1ビットずつ対応させ
る。なお、配列変数の場合には配列の要素毎に1ビット
をアクセス情報メモリ203aの各アドレスに割り当て
る。
【0031】以上の初期設定後にエミュレーションプロ
グラムが実行される。プログラム実行中はアドレス比較
回路201とリード・ライト信号比較回路202がシス
テムバス125を監視し、アドレス比較回路201に設
定されたアドレス範囲に対するリードアクセス、あるい
はライトアクセスがあった場合にはブレーク判定回路2
05aにその情報が転送される。ブレーク判定回路20
5aでは大域変数のアドレス範囲に書き込みがあった場
合にはアクセス情報リード・ライト回路204aにより
アクセス情報メモリ203aの、大域変数のアドレス範
囲に割り当てられたアドレスに「1」を格納する。例え
ば、アクセスのあったアドレスが、ある大域変数のアド
レス範囲内にあった場合、そのアドレス範囲に対応する
アクセス情報メモリ203aのメモリアドレスに「1」
を格納する。すなわち、アクセス情報メモリ203aで
はマイクロコンピュータ14aのメモリ空間のアドレス
毎ではなく大域変数毎にアクセス情報を格納する。
【0032】マイクロコンピュータ14aのメモリ領域
の大域変数のアドレス範囲に対してデータの読み込み動
作が行われた場合にはアクセス情報リード・ライト回路
204aの制御によってアクセス情報メモリ203aの
大域変数のアドレス範囲に対応するアドレスのデータを
読み込む。ブレーク判定回路205aはこのデータが
「0」であれば大域変数が初期化されずに読み込まれた
と判断してモニタ回路120に対してブレーク信号を送
出する。このブレーク信号を受けたモニタ回路120は
現在実行中のプログラムをブレークする。さらに、ブレ
ークしたアドレスはモニタ回路120、通信インターフ
ェイス121を介してホストコンピュータ10に転送さ
れる。ホストコンピュータ10上で動作しているデバッ
ガ等のエミュレーションコントロールソフトウエアは取
得したアドレスがどの大域変数に相当するかを判断して
表示する。
【0033】一方、マイクロコンピュータ14aのメモ
リ領域の大域変数のアドレス範囲に対してデータの読み
込み動作が行われた場合にアクセス情報メモリ203a
の対応するアドレスのデータが「1」であった場合には
大域変数が初期化されていると判断してブレーク信号は
送出しない。
【0034】すなわち、この実施の形態2では、マイク
ロコンピュータ14aの全てのアドレスに対して1ビッ
トのメモリを予め割り当てておくのではなく、大域変数
の先頭アドレスと大域変数の大きさとから大域変数毎に
1ビットを割り当てて初期化されたか否かの判定を行う
ようにしている。このため、アクセス情報メモリ203
aのメモリ容量を小さくすることが可能である。
【0035】実施の形態3.図3はこの発明の実施の形
態3におけるエミュレータ装置の構成を示すブロック図
である。なお、図1と同一部分には同一符号を付し重複
する説明は省略する。図において、123bはこの実施
の形態のブレーク回路、203bは0000HからFF
FFHまでのアドレスを有し、各々のアドレスに1バイ
トのアクセス情報を書き込むことができるアクセス情報
メモリである。204bはアクセス情報メモリ203b
に格納するアクセス情報のリード・ライトの制御を行う
アクセス情報リード・ライト回路、205bはアドレス
比較回路201の比較結果、リード・ライト信号比較回
路202の比較結果およびアクセス情報メモリ203b
に格納されている情報に基づいてブレークの判定を行う
ブレーク判定回路、206はシステムバス125のうち
のデータバスに出力しているデータの値が「0」である
か否かを比較して比較結果をブレーク判定回路205b
に出力するデータ比較回路を示している。
【0036】次に動作について説明する。ユーザプログ
ラムの初期化ファイル、すなわち、プログラムが1番最
初に実行するルーチン中でデータ領域を「0」に初期化
し、次に大域変数をプログラム中で任意の「0」以外の
値に設定してからプログラムを動作させるような場合も
ある。このような場合、「0」がメモリに書き込まれた
後では実施の形態1のエミュレータ装置111ではプロ
グラム中で任意の値で初期化されたかどうかを検出する
ことはできない。これは「0」で1度最初に初期化され
ているためである。このような場合、プログラム中での
初期化がされていない変数を参照してプログラムが動作
すると予期しない不具合が生じる可能性がある。そこ
で、この実施の形態3では、アクセス情報メモリ203
bに格納する情報として実施の形態1で説明したマイク
ロコンピュータ14aの各々アドレスに対してライトア
クセスがあったか否かを示す1ビットの情報の他に
「0」で書き込まれた回数に関する2ビットの情報を付
加するようにしている。
【0037】まず、プログラムがエミュレータ装置11
1bに転送されてきた場合やユーザが意図的にリセット
した場合などプログラムのリセットが行われたときには
アクセス情報メモリ203bの全てのアドレスに「0」
を格納する。つぎに、プログラムが実行される前に、ユ
ーザが設定した大域変数のメモリアドレス範囲、すなわ
ち、ユーザが設定した大域変数がマイクロコンピュータ
14aのメモリ空間のどのアドレス範囲にあるかを示す
情報がホストコンピュータ10からエミュレータ装置1
11bに転送される。転送された情報は通信インターフ
ェイス121を介してモニタ回路120に送られ、モニ
タ回路120の制御によりブレーク判定回路205bお
よびアドレス比較回路201に転送される。
【0038】以上の初期設定後にエミュレーションプロ
グラムが実行される。プログラム実行中はアドレス比較
回路201とリード・ライト信号比較回路202がシス
テムバス125を監視し、アドレス比較回路201に設
定されたアドレス範囲に対するリードアクセス、あるい
はライトアクセスがあった場合にはブレーク判定回路2
05bにその情報が転送される。ブレーク判定回路20
5bは、大域変数のアドレス範囲に書き込みがあった場
合にはアクセス情報リード・ライト回路204bにより
アクセス情報メモリ203bの対応するアドレスの第1
ビットに「1」を格納する。例えば、マイクロコンピュ
ータ14aのアドレス空間の「000FH」番地にデー
タの書き込みがあった場合にはアクセス情報メモリ20
3bの「000FH」番地の第1ビットに「1」を書き
込む。
【0039】また、大域変数のアドレス範囲に書き込み
があった場合であって、さらにデータ比較回路206に
よって書き込まれたデータが「0」であると判定された
場合にはさらに「0」で書き込まれた回数に関する2ビ
ットの情報をアクセス情報メモリ203bの対応するア
ドレスの第2、第3ビットに書き込む。すなわち、
「0」で書き込まれた回数が1回目である場合にはアク
セス情報メモリ203bの対応するアドレスの第2、第
3ビットに「0」、「1」をそれぞれ書き込む。一方、
「0」で書き込まれた回数が2回以上の場合には第2、
第3ビットに「1」、「0」をそれぞれ書き込む。な
お、大域変数のアドレス範囲に書き込みがあった場合で
あって、「0」以外の値でのみ書き込みがあった場合に
は第2、第3ビットは「0」、「0」のままである。
【0040】マイクロコンピュータ14aのメモリ領域
の大域変数の領域範囲に対してデータの読み込み動作が
行われた場合にはアクセス情報リード・ライト回路20
4bの制御によってアクセス情報メモリ203bの対応
するアドレスのデータを読み込む。ブレーク判定回路2
05bはこのデータの第1ビットが「0」であれば大域
変数が初期化されずに読み込まれたと判断してモニタ回
路120に対してブレーク信号を送出する。また、第1
ビットが「1」であっても第2ビット、第3ビットがそ
れぞれ、「0」、「1」である場合には未初期化変数を
参照しようとしたと判断して、モニタ回路に対してブレ
ーク信号を送出する。このブレーク信号を受けたモニタ
回路120は現在実行中のプログラムをブレークする。
さらに、ブレークしたアドレスはモニタ回路120、通
信インターフェイス121を介してホストコンピュータ
10に転送される。ホストコンピュータ10上で動作し
ているデバッガ等のエミュレーションコントロールソフ
トウエアは取得したアドレスがどの大域変数に相当する
かを判断して表示する。
【0041】一方、マイクロコンピュータ14aのメモ
リ領域の大域変数のアドレス範囲に対してデータの読み
込み動作が行われた場合に、アクセス情報メモリ203
bの対応するアドレスデータの第1、第2、第3ビット
がそれぞれ「1」、「1」、「0」、すなわち、「0」
で2回以上書き込まれた場合、または、第1、第2、第
3ビットがそれぞれ「1」、「0」、「0」、すなわ
ち、「0」以外の値のみで書き込みが行われた場合には
大域変数が初期化されていると判断してブレーク信号は
送出しない。
【0042】また、実施の形態3ではアクセス情報メモ
リ203bは実施の形態1のようにマイクロコンピュー
タ14aのメモリ空間のアドレスに1対1に対応するも
のであったが、実施の形態2で示したアクセス情報メモ
リ203aのように各々の大域変数のアドレス範囲毎に
「0」でライトアクセスされた回数に関する情報を格納
するようにしてもよい。さらに、メモリ管理の容易さか
らアクセス情報メモリ203bはアドレス毎に1バイ
ト、すなわち、8ビットの領域を確保するようにした
が、アドレス毎に3ビットの領域を確保するようにして
もよい。
【0043】
【発明の効果】以上のように、請求項1記載の発明によ
れば、実行中のエミュレーションプログラムがマイクロ
コンピュータのメモリアドレスをリードアクセスしたと
きに、リードアクセスされたアドレスにライトアクセス
があったことを示す情報がアクセス情報格納手段に格納
されていない場合には、エミュレーションプログラムの
実行をブレークするように構成したので、初期化してい
ない変数をプログラムが参照していることをエミュレー
タ装置で認識することができる効果がある。
【0044】請求項2記載の発明によれば、アクセス情
報格納手段をアドレス判別手段が大域変数のアドレス範
囲のアドレスに対してライトアクセスした場合に、ライ
トアクセスしたアドレスと対応づけてライトアクセスが
あったことを示す情報を格納するように構成したので、
初期化していない大域変数をプログラムが参照している
ことをエミュレータ装置で認識することができる効果が
ある。
【0045】請求項3記載の発明によれば、アクセス情
報格納手段がマイクロコンピュータのメモリアドレスに
1対1に対応したアドレスを有するアクセス情報メモリ
を含み、実行中のエミュレーションプログラムがマイク
ロコンピュータのメモリアドレスをライトアクセスした
場合に、ライトアクセスしたアドレスに対応するアクセ
ス情報メモリのアドレスにライトアクセスがあったこと
を示す情報を格納するように構成したので、マイクロコ
ンピュータのメモリアドレスを変換する等の構成を必要
とせずに初期化していない変数をプログラムが参照して
いることをエミュレータ装置で認識することができる効
果がある。
【0046】請求項4記載の発明によれば、アクセス情
報格納手段をエミュレーションプログラムが規定する各
々の大域変数が占めるアドレス領域毎にライトアクセス
があったことを示す情報を格納するように構成したの
で、アクセス情報格納手段のメモリ容量を小さくできる
効果がある。
【0047】請求項5記載の発明によれば、ブレーク手
段を、リード・ライトアクセス判別手段による判別の結
果、実行中のエミュレーションプログラムがマイクロコ
ンピュータのメモリアドレスをリードアクセスしたとき
に、アクセス情報格納手段に格納されている情報が、リ
ードアクセスされたアドレスに値が「0」のデータが1
回しか格納されていないことを示す場合には、エミュレ
ーションプログラムをブレークするように構成したの
で、ユーザプログラムの初期化ファイルでデータ領域を
「0」としてからプログラム中で大域変数の値を設定す
る場合であっても、大域変数が設定されずに読み出され
た場合にブレークすることができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1におけるエミュレー
タ装置の構成を示すブロック図である。
【図2】 この発明の実施の形態2におけるエミュレー
タ装置の構成を示すブロック図である。
【図3】 この発明の実施の形態3におけるエミュレー
タ装置の構成を示すブロック図である。
【図4】 従来のエミュレータ装置を用いたプログラム
開発システムの構成を示す図である。
【図5】 従来のエミュレータ装置の構成を示すブロッ
ク図である。
【符号の説明】
14a マイクロコンピュータ、111,111a,1
11b エミュレータ装置、123,123a,123
b ブレーク回路(ブレーク手段)、125システムバ
ス、201 アドレス比較回路(アドレス判別手段)、
202 リード・ライト信号比較回路(リード・ライト
アクセス判別手段)、203,203a,203b ア
クセス情報メモリ(アクセス情報格納手段)、204,
204a,204b アクセス情報リード・ライト回路
(アクセス情報格納手段)、205,205a,205
b ブレーク判定回路(ブレーク手段)、206 デー
タ比較回路(データ判別手段)。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ターゲットシステム上で動作するマイク
    ロコンピュータのプログラム開発を行うためにエミュレ
    ーションプログラムによって前記マイクロコンピュータ
    を動作させるエミュレータ装置において、前記マイクロ
    コンピュータのシステムバスに接続され、実行中の前記
    エミュレーションプログラムがリードアクセスをした
    か、ライトアクセスをしたかを判別するリード・ライト
    アクセス判別手段と、前記リード・ライトアクセス判別
    手段による判別の結果、実行中の前記エミュレーション
    プログラムが前記マイクロコンピュータのメモリアドレ
    スをライトアクセスした場合に、ライトアクセスしたア
    ドレスに対応づけてライトアクセスがあったことを示す
    情報を格納するアクセス情報格納手段と、前記リード・
    ライトアクセス判別手段による判別の結果、実行中の前
    記エミュレーションプログラムが前記マイクロコンピュ
    ータのメモリアドレスをリードアクセスしたときに、リ
    ードアクセスされたアドレスにライトアクセスがあった
    ことを示す情報が前記アクセス情報格納手段に格納され
    ていない場合には前記エミュレーションプログラムの実
    行をブレークするブレーク手段とを具備することを特徴
    とするエミュレータ装置。
  2. 【請求項2】 エミュレーションプログラムに規定され
    た大域変数のアドレス範囲のアドレスに実行中のエミュ
    レーションプログラムによってリードアクセスまたはラ
    イトアクセスが発生したか否かを判別するアドレス判別
    手段を有し、アクセス情報格納手段は前記アドレス判別
    手段が前記大域変数の前記アドレス範囲のアドレスに対
    してライトアクセスした場合に、ライトアクセスしたア
    ドレスと対応づけてライトアクセスがあったことを示す
    情報を格納することを特徴とする請求項1記載のエミュ
    レータ装置。
  3. 【請求項3】 アクセス情報格納手段はマイクロコンピ
    ュータのメモリアドレスに1対1に対応したアドレスを
    有するアクセス情報メモリを含み、実行中のエミュレー
    ションプログラムが前記マイクロコンピュータのメモリ
    アドレスをライトアクセスした場合にライトアクセスし
    たアドレスに対応する、前記アクセス情報メモリのアド
    レスにライトアクセスがあったことを示す情報を格納す
    ることを特徴とする請求項1または請求項2記載のエミ
    ュレータ装置。
  4. 【請求項4】 アクセス情報格納手段はエミュレーショ
    ンプログラムが規定する各々の大域変数が占めるアドレ
    ス範囲毎にライトアクセスがあったことを示す情報を格
    納することを特徴とする請求項1または請求項2記載の
    エミュレータ装置。
  5. 【請求項5】 マイクロコンピュータのシステムバスに
    接続され、エミュレーションプログラムが実行中に前記
    マイクロコンピュータから前記システムバスに出力され
    たデータの値が「0」であるか否かを判別するデータ判
    別手段を有し、アクセス情報格納手段はリード・ライト
    アクセス判別手段による判別の結果、実行中のエミュレ
    ーションプログラムがマイクロコンピュータのメモリア
    ドレスをライトアクセスした場合であって前記データ判
    別手段の判別の結果、前記ライトアクセスによって書き
    込まれたデータの値が「0」である場合には、ライトア
    クセスしたアドレスと対応づけて値が「0」のデータが
    前記ライトアクセスしたアドレスに書き込まれた回数に
    関する情報を格納し、前記ブレーク手段はリード・ライ
    トアクセス判別手段による判別の結果、実行中の前記エ
    ミュレーションプログラムが前記マイクロコンピュータ
    のメモリアドレスをリードアクセスしたときに、前記ア
    クセス情報格納手段に格納されている情報が前記リード
    アクセスされたアドレスに値が「0」のデータが1回し
    か格納されていないことを示す場合には前記エミュレー
    ションプログラムをブレークすることを特徴とする請求
    項1から請求項4のうちのいずれか1項記載のエミュレ
    ータ装置。
JP13376596A 1996-05-28 1996-05-28 エミュレータ装置 Expired - Fee Related JP3565987B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13376596A JP3565987B2 (ja) 1996-05-28 1996-05-28 エミュレータ装置
US08/747,049 US5838952A (en) 1996-05-28 1996-11-12 Emulator apparatus to break running program when variable is read without being initialized

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13376596A JP3565987B2 (ja) 1996-05-28 1996-05-28 エミュレータ装置

Publications (2)

Publication Number Publication Date
JPH09319605A true JPH09319605A (ja) 1997-12-12
JP3565987B2 JP3565987B2 (ja) 2004-09-15

Family

ID=15112443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13376596A Expired - Fee Related JP3565987B2 (ja) 1996-05-28 1996-05-28 エミュレータ装置

Country Status (2)

Country Link
US (1) US5838952A (ja)
JP (1) JP3565987B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097580A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動的解析装置、動的解析システム、動的解析方法、及びプログラム
JP2015184822A (ja) * 2014-03-20 2015-10-22 富士通株式会社 制御プログラム、制御方法および制御装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN109086193B (zh) * 2017-06-13 2022-01-21 阿里巴巴集团控股有限公司 监控方法、装置及系统
CN108647144A (zh) * 2018-05-10 2018-10-12 上海市信息网络有限公司 仿真器及代码执行异常断点实现方法
CN108388522A (zh) * 2018-05-10 2018-08-10 上海市信息网络有限公司 仿真器及断点实现方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847807A (en) * 1986-09-11 1989-07-11 Hughes Aircraft Company Multiple disk memory access arrangement for gridded type data
JPS63208953A (ja) * 1987-02-26 1988-08-30 Nec Corp マイクロコンピユ−タ
JPH04257932A (ja) * 1991-02-13 1992-09-14 Oki Electric Ind Co Ltd ディジタルシグナルプロセッサのエミュレート用チップ
US5321828A (en) * 1991-06-07 1994-06-14 Step Engineering High speed microcomputer in-circuit emulator
JPH0581087A (ja) * 1991-09-25 1993-04-02 Nec Corp プロセサのモニタ方式
JPH05224985A (ja) * 1992-02-14 1993-09-03 Nec Corp マイクロプログラム制御装置
EP0569969B1 (en) * 1992-05-12 1998-03-04 Nec Corporation Microcomputer having instruction memory storing instructions for reading out internal conditions
JPH08320808A (ja) * 1995-05-24 1996-12-03 Nec Corp エミュレーション方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097580A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動的解析装置、動的解析システム、動的解析方法、及びプログラム
JP2015184822A (ja) * 2014-03-20 2015-10-22 富士通株式会社 制御プログラム、制御方法および制御装置

Also Published As

Publication number Publication date
JP3565987B2 (ja) 2004-09-15
US5838952A (en) 1998-11-17

Similar Documents

Publication Publication Date Title
KR100265711B1 (ko) Isa장치의 자동감지기능을 갖는 컴퓨터 시스템의 부팅 방법
KR100255549B1 (ko) 컴퓨터 마이크로프로세서를 식별하는 장치 및 방법
US5768568A (en) System and method for initializing an information processing system
KR100341180B1 (ko) 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법
US6219828B1 (en) Method for using two copies of open firmware for self debug capability
US7503049B2 (en) Information processing apparatus operable to switch operating systems
US6934886B2 (en) Debugging apparatus and method
US5828831A (en) System for preventing unauthorized use of a personal computer and a method therefore security function, and methods of installing and detaching a security device to/from a computer
US8612708B2 (en) Hardware data protection device
US7299169B2 (en) Device driver auto-load
US5802347A (en) Emulator with function for detecting illegal access to special function register
US4847805A (en) Microcomputer development system
US6697971B1 (en) System and method for detecting attempts to access data residing outside of allocated memory
US4623962A (en) Register control processing system
US7096351B2 (en) Single-chip microcomputer and boot region switching method thereof
US5168559A (en) Emulation system capable of complying with microcomputers having different on-chip memory capacities
JPH1078889A (ja) マイクロコンピュータ
US5381544A (en) Copyback memory system and cache memory controller which permits access while error recovery operations are performed
JPH09319605A (ja) エミュレータ装置
US6851036B1 (en) Method and apparatus for controlling external devices through address translation buffer
KR100299119B1 (ko) 플래쉬롬제어장치를구비한개인용컴퓨터시스템및그제어방법
US20050086454A1 (en) System and methods for providing a debug function built-in type microcomputer
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
JP2592064B2 (ja) 半導体メモリカートリツジの制御装置
JPH08138391A (ja) フラッシュメモリ制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040609

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees