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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software 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
ても認識できないという課題があった。 【解決手段】 エミュレーションプログラムがマイクロ
コンピュータのメモリアドレスをライトアクセスした場
合に、ライトアクセスしたアドレスに対応づけてライト
アクセスがあったことを示す情報を格納するアクセス情
報格納手段と、エミュレーションプログラムがマイクロ
コンピュータのメモリアドレスをリードアクセスしたと
きに、リードアクセスされたアドレスにライトアクセス
があったことを示す情報がアクセス情報格納手段に格納
されていない場合にはエミュレーションプログラムの実
行をブレークするブレーク手段とを具備した。
Description
ュータ等のプログラム開発を支援するエミュレータ装置
に関するものである。
発では、開発途中のプログラムの誤りを発見して修正す
るためにエミュレータ装置が開発支援システムとして用
いられる。
ログラム開発システムの構成を示す図である。図におい
て、10はホストコンピュータ、11はエミュレータ装
置、12は開発の対象となるマイクロコンピュータを搭
載したターゲットシステム、13はホストコンピュータ
10とエミュレータ装置11との間でデータを送受信す
るための通信ケーブル、14はエミュレータ装置11を
ターゲットシステム12に電気的に接続するプローブを
それぞれ示している。なお、プローブの先端にはターゲ
ットシステム12で動作するマイクロコンピュータ14
aが設けられてターゲットシステム12のソケットに挿
入して接続される。
ュータ10上でデバッグソフトウエアを起動し、そのソ
フトウエアを操作することによってエミュレータ装置1
1を制御する。なお、ホストコンピュータ10はエミュ
レータ装置11を制御する前にプログラムを作成するた
めにも使用する。
は、プログラミング言語を使用してプログラムを記述す
る。プログラムの記述ではホストコンピュータ10上で
動作するワードプロセッサを使用する。ワードプロセッ
サによって作成したデータファイルからマイクロプロセ
ッサが直接実行可能な機械語情報を得るためにはコンパ
イラまたはアセンブラ等の翻訳用ソフトウエアツールを
用いる。この翻訳用ソフトウエアツールはワードプロセ
ッサによって作成したデータファイルを読み込み、プロ
グラム記述に対応した機械語データを作成して出力す
る。
ータのプログラム開発において作成したプログラムの誤
り等を発見するデバッグ作業をする場合に使用する。エ
ミュレータ装置11の主要な機能には、プログラムの実
行機能とプログラムのブレーク機能の2つの機能があ
る。
する。例えば、複写機、エアコン等のターゲットシステ
ムではプログラムを最終的にリードオンリメモリ(以
下、ROMと記す)に書き込んでマイクロコンピュータ
を動作させるが、エミュレータ装置ではプログラムをR
OMに書き込まずに作成したプログラムを実行させるこ
とができる。
説明する。上述したようにしてプログラムを実行した結
果、ターゲットシステムが正しく動作しなかった場合、
プログラムの間違った箇所を発見し、修正する必要があ
る。デバッグではプログラムの実行を途中で停止させる
ブレーク機能を用いる。ブレーク機能を用いてプログラ
ムを少しずつ実行し、ターゲットシステムの動きやプロ
グラムの実行アドレス等を確認することによってプログ
ラムの間違った箇所が発見できる。ブレーク機能では特
定のアドレスにリード、ライト、命令フェッチ等のバス
アクセスが発生した際にブレークするようにブレーク条
件が指定できる。
すブロック図である。図において、20はホストコンピ
ュータ10から発せられたコマンドを解釈し、コマンド
に応じた処理を実行するモニタ回路、21はホストコン
ピュータ10とモニタ回路20との間の通信インターフ
ェイス、22はホストコンピュータ10から転送されて
くるエミュレーションのためのプログラム情報を格納す
るエミュレーションメモリ、23はブレーク条件を満た
すアクセスが発生したときにプログラムをブレークする
ことを判断しモニタ回路20に通知するブレーク回路、
24はシステムバス25のアクセス制御をするバス制御
回路である。
0から送られてきたブレーク条件のうちのアドレス情報
を記憶し、システムバス25上に出力されたアドレスを
毎回検出してブレーク条件に合致するか否かを比較する
アドレス比較回路30、システムバス25のリード・ラ
イト信号を検出することによってエミュレーションプロ
グラムのアクセスがリードアクセスであるか、ライトア
クセスであるかを判定するリードライト信号比較回路3
1と、アドレス比較回路30およびリードライト信号比
較回路31の比較結果からブレーク信号をモニタ回路2
0に転送するフレーク判定回路32とを具備している。
0からブレーク条件が送られてくる。すなわち、所望の
アドレスと所望のアクセスタイプが転送されてくる。ア
クセスタイプはリードアクセス、ライトアクセスがあ
る。そして、ブレーク条件が設定されたアドレスに設定
されたアクセスタイプのアクセスがあった場合にはブレ
ーク回路23はマイクロコンピュータのエミュレーショ
ンプログラムの動作をブレークするためのブレーク信号
をモニタ回路20に送出する。
置では、初期化されていない大域変数の読み込みが行わ
れても正常な動作とみなされ、ブレークすることができ
なかった。このように大域変数が初期化されていない状
態で読み込まれた場合にはプログラムの実行時に、本
来、意図した値ではなく、未確定な値をもとにプログラ
ムが動作し、予期せぬ不具合を引き起こすことになる。
置は以上のように構成されているので、初期化されてい
ない大域変数の読み込みが行われても正常な動作とみな
され、ブレークすることができないという課題があっ
た。
めになされたもので、初期化されていない大域変数の読
み込みが行われた場合にブレークできるエミュレータ装
置を提供することを目的とする。
るエミュレータ装置は、マイクロコンピュータのシステ
ムバスに接続され、実行中のエミュレーションプログラ
ムがリードアクセスをしたか、ライトアクセスをしたか
を判別するリード・ライトアクセス判別手段と、リード
・ライトアクセス判別手段による判別の結果、実行中の
エミュレーションプログラムがマイクロコンピュータの
メモリアドレスをライトアクセスした場合に、ライトア
クセスしたアドレスと対応づけてライトアクセスがあっ
たことを示す情報を格納するアクセス情報格納手段と、
リード・ライトアクセス判別手段による判別の結果、実
行中のエミュレーションプログラムがマイクロコンピュ
ータのメモリアドレスをリードアクセスしたときに、リ
ードアクセスされたアドレスにライトアクセスがあった
ことを示す情報がアクセス情報格納手段に格納されてい
ない場合にはエミュレーションプログラムの実行をブレ
ークするブレーク手段とを具備するものである。
置は、エミュレーションプログラムに規定された大域変
数のアドレス範囲のアドレスに実行中のエミュレーショ
ンプログラムによってリードアクセスまたはライトアク
セスが発生したか否かを判別するアドレス判別手段を有
し、アクセス情報格納手段はアドレス判別手段が大域変
数のアドレス範囲のアドレスに対してライトアクセスし
た場合に、ライトアクセスしたアドレスと対応づけてラ
イトアクセスがあったことを示す情報を格納するように
構成したものである。
置は、アクセス情報格納手段がマイクロコンピュータの
メモリアドレスに1対1に対応したアドレスを有するア
クセス情報メモリを含み、実行中のエミュレーションプ
ログラムがマイクロコンピュータのメモリアドレスをラ
イトアクセスした場合にライトアクセスしたアドレスに
対応する、アクセス情報メモリのアドレスにライトアク
セスがあったことを示す情報を格納するように構成した
ものである。
置は、アクセス情報格納手段がエミュレーションプログ
ラムが規定する各々の大域変数が占めるアドレス領域毎
にライトアクセスがあったことを示す情報を格納するよ
うに構成したものである。
置は、マイクロコンピュータのシステムバスに接続さ
れ、エミュレーションプログラムが実行中にマイクロコ
ンピュータからシステムバスに出力されたデータの値が
「0」であるか否かを判別するデータ判別手段を有し、
アクセス情報格納手段はリード・ライトアクセス判別手
段による判別の結果、実行中のエミュレーションプログ
ラムがマイクロコンピュータのメモリアドレスをライト
アクセスした場合であって、データ判別手段の判別の結
果、ライトアクセスによって書き込まれたデータの値が
「0」である場合には、ライトアクセスしたアドレスと
対応づけて値が「0」のデータがライトアクセスしたア
ドレスに書き込まれた回数に関する情報を格納し、ブレ
ーク手段はリード・ライトアクセス判別手段による判別
の結果、実行中のエミュレーションプログラムがマイク
ロコンピュータのメモリアドレスをリードアクセスした
ときに、アクセス情報格納手段に格納されている情報
が、リードアクセスされたアドレスに値が「0」のデー
タが1回しか格納されていないことを示す場合には、エ
ミュレーションプログラムをブレークするように構成し
たものである。
説明する。 実施の形態1.図1はこの発明の実施の形態1における
エミュレータ装置の構成を示すブロック図である。な
お、エミュレータ装置111は従来のエミュレータ装置
11と同様に、図4に示すようにホストコンピュータ1
0に接続するとともに、ターゲットシステム12に、マ
イクロコンピュータ14aを有するプローブ14により
接続して使用する。
10から発せられたコマンドを解釈し、コマンドに応じ
た処理を実行するモニタ回路、121はホストコンピュ
ータ10とモニタ回路120との間の通信インターフェ
イスをとる通信インターフェイス回路、122はホスト
コンピュータ10から転送されてくるエミュレーション
のためのプログラム情報を格納するエミュレーションメ
モリ、123はブレーク条件を満たすアクセスが発生し
たときにプログラムがブレークの実行を判断しモニタ回
路120に通知するブレーク回路(ブレーク手段)、1
24はシステムバス125のアクセス制御をするバス制
御回路である。
120から送られてきたブレーク条件のうちのアドレス
情報を記憶し、システムバス125上に出力されたアド
レスを検出してブレーク条件に合致するか否かを比較す
るアドレス比較回路(アドレス判別手段)201、シス
テムバス125のリード・ライト信号を検出することに
よってエミュレーションプログラムのアクセスがリード
アクセスであるか、ライトアクセスであるかを判定する
リード・ライト信号比較回路(リード・ライトアクセス
判別手段)202と、マイクロコンピュータ14aのメ
モリ空間のアドレスに対応づけられ1ビットの情報を格
納するアクセス情報メモリ(アクセス情報格納手段)2
03と、このアクセス情報メモリ203のデータの書き
込みの制御を行うアクセス情報リード・ライト回路(ア
クセス情報格納手段)204と、アドレス比較回路20
1、リード・ライト信号比較回路202の比較結果およ
びアクセス情報メモリ203に格納されている情報に基
づいてブレークの判定を行うブレーク判定回路(ブレー
ク手段)205とを有している。
イクロコンピュータ14aのメモリ空間のアドレスに1
対1に対応して設けられている。例えば、マイクロコン
ピュータ14aの16ビットアドレス空間であるならば
アクセス情報メモリ203は0000H番地からFFF
FH番地に対応して64Kビットの情報の書き込みがで
きるように構成されている。
04の制御により、プログラムのリセットが行われたと
きに全てのアドレスに「0」を書き込み、マイクロコン
ピュータ14aのメモリ空間のあるアドレスに対して書
き込み動作が発生した場合にアクセス情報メモリ203
の対応のアドレスに「1」が書き込まれるように構成さ
れている。
レーションプログラムがエミュレータ装置111に転送
されてきた場合やユーザが意図的にリセットした場合な
どプログラムのリセットが行われたときにはアクセス情
報メモリ203の全てのアドレスに「0」を格納する。
次に、プログラムが実行される前に、ユーザが設定した
大域変数のメモリ領域範囲、すなわち、ユーザが設定し
た大域変数がマイクロコンピュータ14aのメモリ空間
のどのアドレス範囲にあるかを示す情報がホストコンピ
ュータ10からエミュレータ装置111に転送される。
転送された情報は通信インターフェイス121を介して
モニタ回路120に送られ、モニタ回路120の制御に
よりアドレス比較回路201に設定される。
グラムが実行される。プログラム実行中はアドレス比較
回路201とリード・ライト信号比較回路202がシス
テムバス125を監視し、アドレス比較回路201に設
定されたアドレス範囲に対するリードアクセス、あるい
はライトアクセスがあった場合にはブレーク判定回路2
05にその情報が転送される。ブレーク判定回路205
では大域変数の領域範囲に書き込みがあった場合にはア
クセス情報リード・ライト回路204によりアクセス情
報メモリ203の対応するアドレスに「1」を格納す
る。例えば、マイクロコンピュータ14aのメモリ空間
の「000FH」番地にデータの書き込みがあった場合
にはアクセス情報メモリ203の「000FH」番地に
「1」を書き込む。
の大域変数のアドレス範囲に対してデータの読み込み動
作が行われた場合にはアクセス情報リード・ライト回路
204の制御によってアクセス情報メモリ203の対応
するアドレスのデータを読み込む。ブレーク判定回路2
05はこのデータが「0」であれば大域変数が初期化さ
れずに読み込まれたと判断してモニタ回路120に対し
てブレーク信号を送出する。このブレーク信号を受けた
モニタ回路120は現在実行中のプログラムをブレーク
する。さらに、ブレークしたアドレスはモニタ回路12
0、通信インターフェイス121を介してホストコンピ
ュータ10に転送される。ホストコンピュータ10上で
動作しているデバッガ等のエミュレーションコントロー
ルソフトウエアは取得したアドレスがどの大域変数に相
当するかを判断して表示する。
リ領域の大域変数のアドレス範囲に対してデータの読み
込み動作が行われた場合にアクセス情報メモリ203の
対応するアドレスのデータが「1」であった場合には大
域変数が初期化されていると判断してブレーク信号は送
出しない。
態2におけるエミュレータ装置の構成を示すブロック図
である。なお、図1と同一部分には同一符号を付し重複
する説明は省略する。図において、123aはこの実施
の形態のブレーク回路、203aはアドレス「0」から
アドレス「ADEND」までのアドレスを有し、各々の
アドレスに1ビットのアクセス情報を書き込むことがで
きるアクセス情報メモリである。204aはアクセス情
報メモリ203aに格納するアクセス情報のリード・ラ
イトの制御を行うアクセス情報リード・ライト回路、2
05aは大域変数のアドレス範囲毎に1ビットのアクセ
ス情報を格納するためのアドレスを割り当てるととも
に、アドレス比較回路201とリード・ライト信号比較
回路202とからの比較結果、およびアクセス情報メモ
リ203aに格納されているアクセス情報に基づいてブ
レークの判定を行うブレーク判定回路である。
レーションプログラムがエミュレータ装置111aに転
送された場合やユーザが意図的にリセットした場合な
ど、プログラムのリセットが行われたときには、アクセ
ス情報リード・ライト回路204aはアクセス情報メモ
リ203aのすべてのアドレスに「0」を格納する。次
にプログラムが実行される前にユーザが設定したそれぞ
れの大域変数に対して、大域変数の先頭アドレスと大域
変数のデータの大きさ等の大域変数情報がホストコンピ
ュータ10から通信インターフェイス121を介してモ
ニタ回路120に転送される。この大域変数情報はさら
にブレーク判定回路205aに転送される。また、ブレ
ーク判定回路205aからアドレス比較回路201にも
大域変数情報は転送される。ブレーク判定回路205a
は大域変数情報に基づいて各々の大域変数毎にアクセス
情報メモリ203aのアドレスに1ビットずつ対応させ
る。なお、配列変数の場合には配列の要素毎に1ビット
をアクセス情報メモリ203aの各アドレスに割り当て
る。
グラムが実行される。プログラム実行中はアドレス比較
回路201とリード・ライト信号比較回路202がシス
テムバス125を監視し、アドレス比較回路201に設
定されたアドレス範囲に対するリードアクセス、あるい
はライトアクセスがあった場合にはブレーク判定回路2
05aにその情報が転送される。ブレーク判定回路20
5aでは大域変数のアドレス範囲に書き込みがあった場
合にはアクセス情報リード・ライト回路204aにより
アクセス情報メモリ203aの、大域変数のアドレス範
囲に割り当てられたアドレスに「1」を格納する。例え
ば、アクセスのあったアドレスが、ある大域変数のアド
レス範囲内にあった場合、そのアドレス範囲に対応する
アクセス情報メモリ203aのメモリアドレスに「1」
を格納する。すなわち、アクセス情報メモリ203aで
はマイクロコンピュータ14aのメモリ空間のアドレス
毎ではなく大域変数毎にアクセス情報を格納する。
の大域変数のアドレス範囲に対してデータの読み込み動
作が行われた場合にはアクセス情報リード・ライト回路
204aの制御によってアクセス情報メモリ203aの
大域変数のアドレス範囲に対応するアドレスのデータを
読み込む。ブレーク判定回路205aはこのデータが
「0」であれば大域変数が初期化されずに読み込まれた
と判断してモニタ回路120に対してブレーク信号を送
出する。このブレーク信号を受けたモニタ回路120は
現在実行中のプログラムをブレークする。さらに、ブレ
ークしたアドレスはモニタ回路120、通信インターフ
ェイス121を介してホストコンピュータ10に転送さ
れる。ホストコンピュータ10上で動作しているデバッ
ガ等のエミュレーションコントロールソフトウエアは取
得したアドレスがどの大域変数に相当するかを判断して
表示する。
リ領域の大域変数のアドレス範囲に対してデータの読み
込み動作が行われた場合にアクセス情報メモリ203a
の対応するアドレスのデータが「1」であった場合には
大域変数が初期化されていると判断してブレーク信号は
送出しない。
ロコンピュータ14aの全てのアドレスに対して1ビッ
トのメモリを予め割り当てておくのではなく、大域変数
の先頭アドレスと大域変数の大きさとから大域変数毎に
1ビットを割り当てて初期化されたか否かの判定を行う
ようにしている。このため、アクセス情報メモリ203
aのメモリ容量を小さくすることが可能である。
態3におけるエミュレータ装置の構成を示すブロック図
である。なお、図1と同一部分には同一符号を付し重複
する説明は省略する。図において、123bはこの実施
の形態のブレーク回路、203bは0000HからFF
FFHまでのアドレスを有し、各々のアドレスに1バイ
トのアクセス情報を書き込むことができるアクセス情報
メモリである。204bはアクセス情報メモリ203b
に格納するアクセス情報のリード・ライトの制御を行う
アクセス情報リード・ライト回路、205bはアドレス
比較回路201の比較結果、リード・ライト信号比較回
路202の比較結果およびアクセス情報メモリ203b
に格納されている情報に基づいてブレークの判定を行う
ブレーク判定回路、206はシステムバス125のうち
のデータバスに出力しているデータの値が「0」である
か否かを比較して比較結果をブレーク判定回路205b
に出力するデータ比較回路を示している。
ラムの初期化ファイル、すなわち、プログラムが1番最
初に実行するルーチン中でデータ領域を「0」に初期化
し、次に大域変数をプログラム中で任意の「0」以外の
値に設定してからプログラムを動作させるような場合も
ある。このような場合、「0」がメモリに書き込まれた
後では実施の形態1のエミュレータ装置111ではプロ
グラム中で任意の値で初期化されたかどうかを検出する
ことはできない。これは「0」で1度最初に初期化され
ているためである。このような場合、プログラム中での
初期化がされていない変数を参照してプログラムが動作
すると予期しない不具合が生じる可能性がある。そこ
で、この実施の形態3では、アクセス情報メモリ203
bに格納する情報として実施の形態1で説明したマイク
ロコンピュータ14aの各々アドレスに対してライトア
クセスがあったか否かを示す1ビットの情報の他に
「0」で書き込まれた回数に関する2ビットの情報を付
加するようにしている。
1bに転送されてきた場合やユーザが意図的にリセット
した場合などプログラムのリセットが行われたときには
アクセス情報メモリ203bの全てのアドレスに「0」
を格納する。つぎに、プログラムが実行される前に、ユ
ーザが設定した大域変数のメモリアドレス範囲、すなわ
ち、ユーザが設定した大域変数がマイクロコンピュータ
14aのメモリ空間のどのアドレス範囲にあるかを示す
情報がホストコンピュータ10からエミュレータ装置1
11bに転送される。転送された情報は通信インターフ
ェイス121を介してモニタ回路120に送られ、モニ
タ回路120の制御によりブレーク判定回路205bお
よびアドレス比較回路201に転送される。
グラムが実行される。プログラム実行中はアドレス比較
回路201とリード・ライト信号比較回路202がシス
テムバス125を監視し、アドレス比較回路201に設
定されたアドレス範囲に対するリードアクセス、あるい
はライトアクセスがあった場合にはブレーク判定回路2
05bにその情報が転送される。ブレーク判定回路20
5bは、大域変数のアドレス範囲に書き込みがあった場
合にはアクセス情報リード・ライト回路204bにより
アクセス情報メモリ203bの対応するアドレスの第1
ビットに「1」を格納する。例えば、マイクロコンピュ
ータ14aのアドレス空間の「000FH」番地にデー
タの書き込みがあった場合にはアクセス情報メモリ20
3bの「000FH」番地の第1ビットに「1」を書き
込む。
があった場合であって、さらにデータ比較回路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」のままである。
の大域変数の領域範囲に対してデータの読み込み動作が
行われた場合にはアクセス情報リード・ライト回路20
4bの制御によってアクセス情報メモリ203bの対応
するアドレスのデータを読み込む。ブレーク判定回路2
05bはこのデータの第1ビットが「0」であれば大域
変数が初期化されずに読み込まれたと判断してモニタ回
路120に対してブレーク信号を送出する。また、第1
ビットが「1」であっても第2ビット、第3ビットがそ
れぞれ、「0」、「1」である場合には未初期化変数を
参照しようとしたと判断して、モニタ回路に対してブレ
ーク信号を送出する。このブレーク信号を受けたモニタ
回路120は現在実行中のプログラムをブレークする。
さらに、ブレークしたアドレスはモニタ回路120、通
信インターフェイス121を介してホストコンピュータ
10に転送される。ホストコンピュータ10上で動作し
ているデバッガ等のエミュレーションコントロールソフ
トウエアは取得したアドレスがどの大域変数に相当する
かを判断して表示する。
リ領域の大域変数のアドレス範囲に対してデータの読み
込み動作が行われた場合に、アクセス情報メモリ203
bの対応するアドレスデータの第1、第2、第3ビット
がそれぞれ「1」、「1」、「0」、すなわち、「0」
で2回以上書き込まれた場合、または、第1、第2、第
3ビットがそれぞれ「1」、「0」、「0」、すなわ
ち、「0」以外の値のみで書き込みが行われた場合には
大域変数が初期化されていると判断してブレーク信号は
送出しない。
リ203bは実施の形態1のようにマイクロコンピュー
タ14aのメモリ空間のアドレスに1対1に対応するも
のであったが、実施の形態2で示したアクセス情報メモ
リ203aのように各々の大域変数のアドレス範囲毎に
「0」でライトアクセスされた回数に関する情報を格納
するようにしてもよい。さらに、メモリ管理の容易さか
らアクセス情報メモリ203bはアドレス毎に1バイ
ト、すなわち、8ビットの領域を確保するようにした
が、アドレス毎に3ビットの領域を確保するようにして
もよい。
れば、実行中のエミュレーションプログラムがマイクロ
コンピュータのメモリアドレスをリードアクセスしたと
きに、リードアクセスされたアドレスにライトアクセス
があったことを示す情報がアクセス情報格納手段に格納
されていない場合には、エミュレーションプログラムの
実行をブレークするように構成したので、初期化してい
ない変数をプログラムが参照していることをエミュレー
タ装置で認識することができる効果がある。
報格納手段をアドレス判別手段が大域変数のアドレス範
囲のアドレスに対してライトアクセスした場合に、ライ
トアクセスしたアドレスと対応づけてライトアクセスが
あったことを示す情報を格納するように構成したので、
初期化していない大域変数をプログラムが参照している
ことをエミュレータ装置で認識することができる効果が
ある。
報格納手段がマイクロコンピュータのメモリアドレスに
1対1に対応したアドレスを有するアクセス情報メモリ
を含み、実行中のエミュレーションプログラムがマイク
ロコンピュータのメモリアドレスをライトアクセスした
場合に、ライトアクセスしたアドレスに対応するアクセ
ス情報メモリのアドレスにライトアクセスがあったこと
を示す情報を格納するように構成したので、マイクロコ
ンピュータのメモリアドレスを変換する等の構成を必要
とせずに初期化していない変数をプログラムが参照して
いることをエミュレータ装置で認識することができる効
果がある。
報格納手段をエミュレーションプログラムが規定する各
々の大域変数が占めるアドレス領域毎にライトアクセス
があったことを示す情報を格納するように構成したの
で、アクセス情報格納手段のメモリ容量を小さくできる
効果がある。
段を、リード・ライトアクセス判別手段による判別の結
果、実行中のエミュレーションプログラムがマイクロコ
ンピュータのメモリアドレスをリードアクセスしたとき
に、アクセス情報格納手段に格納されている情報が、リ
ードアクセスされたアドレスに値が「0」のデータが1
回しか格納されていないことを示す場合には、エミュレ
ーションプログラムをブレークするように構成したの
で、ユーザプログラムの初期化ファイルでデータ領域を
「0」としてからプログラム中で大域変数の値を設定す
る場合であっても、大域変数が設定されずに読み出され
た場合にブレークすることができる効果がある。
タ装置の構成を示すブロック図である。
タ装置の構成を示すブロック図である。
タ装置の構成を示すブロック図である。
開発システムの構成を示す図である。
ク図である。
11b エミュレータ装置、123,123a,123
b ブレーク回路(ブレーク手段)、125システムバ
ス、201 アドレス比較回路(アドレス判別手段)、
202 リード・ライト信号比較回路(リード・ライト
アクセス判別手段)、203,203a,203b ア
クセス情報メモリ(アクセス情報格納手段)、204,
204a,204b アクセス情報リード・ライト回路
(アクセス情報格納手段)、205,205a,205
b ブレーク判定回路(ブレーク手段)、206 デー
タ比較回路(データ判別手段)。
Claims (5)
- 【請求項1】 ターゲットシステム上で動作するマイク
ロコンピュータのプログラム開発を行うためにエミュレ
ーションプログラムによって前記マイクロコンピュータ
を動作させるエミュレータ装置において、前記マイクロ
コンピュータのシステムバスに接続され、実行中の前記
エミュレーションプログラムがリードアクセスをした
か、ライトアクセスをしたかを判別するリード・ライト
アクセス判別手段と、前記リード・ライトアクセス判別
手段による判別の結果、実行中の前記エミュレーション
プログラムが前記マイクロコンピュータのメモリアドレ
スをライトアクセスした場合に、ライトアクセスしたア
ドレスに対応づけてライトアクセスがあったことを示す
情報を格納するアクセス情報格納手段と、前記リード・
ライトアクセス判別手段による判別の結果、実行中の前
記エミュレーションプログラムが前記マイクロコンピュ
ータのメモリアドレスをリードアクセスしたときに、リ
ードアクセスされたアドレスにライトアクセスがあった
ことを示す情報が前記アクセス情報格納手段に格納され
ていない場合には前記エミュレーションプログラムの実
行をブレークするブレーク手段とを具備することを特徴
とするエミュレータ装置。 - 【請求項2】 エミュレーションプログラムに規定され
た大域変数のアドレス範囲のアドレスに実行中のエミュ
レーションプログラムによってリードアクセスまたはラ
イトアクセスが発生したか否かを判別するアドレス判別
手段を有し、アクセス情報格納手段は前記アドレス判別
手段が前記大域変数の前記アドレス範囲のアドレスに対
してライトアクセスした場合に、ライトアクセスしたア
ドレスと対応づけてライトアクセスがあったことを示す
情報を格納することを特徴とする請求項1記載のエミュ
レータ装置。 - 【請求項3】 アクセス情報格納手段はマイクロコンピ
ュータのメモリアドレスに1対1に対応したアドレスを
有するアクセス情報メモリを含み、実行中のエミュレー
ションプログラムが前記マイクロコンピュータのメモリ
アドレスをライトアクセスした場合にライトアクセスし
たアドレスに対応する、前記アクセス情報メモリのアド
レスにライトアクセスがあったことを示す情報を格納す
ることを特徴とする請求項1または請求項2記載のエミ
ュレータ装置。 - 【請求項4】 アクセス情報格納手段はエミュレーショ
ンプログラムが規定する各々の大域変数が占めるアドレ
ス範囲毎にライトアクセスがあったことを示す情報を格
納することを特徴とする請求項1または請求項2記載の
エミュレータ装置。 - 【請求項5】 マイクロコンピュータのシステムバスに
接続され、エミュレーションプログラムが実行中に前記
マイクロコンピュータから前記システムバスに出力され
たデータの値が「0」であるか否かを判別するデータ判
別手段を有し、アクセス情報格納手段はリード・ライト
アクセス判別手段による判別の結果、実行中のエミュレ
ーションプログラムがマイクロコンピュータのメモリア
ドレスをライトアクセスした場合であって前記データ判
別手段の判別の結果、前記ライトアクセスによって書き
込まれたデータの値が「0」である場合には、ライトア
クセスしたアドレスと対応づけて値が「0」のデータが
前記ライトアクセスしたアドレスに書き込まれた回数に
関する情報を格納し、前記ブレーク手段はリード・ライ
トアクセス判別手段による判別の結果、実行中の前記エ
ミュレーションプログラムが前記マイクロコンピュータ
のメモリアドレスをリードアクセスしたときに、前記ア
クセス情報格納手段に格納されている情報が前記リード
アクセスされたアドレスに値が「0」のデータが1回し
か格納されていないことを示す場合には前記エミュレー
ションプログラムをブレークすることを特徴とする請求
項1から請求項4のうちのいずれか1項記載のエミュレ
ータ装置。
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)
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)
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)
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 | エミュレーション方式 |
-
1996
- 1996-05-28 JP JP13376596A patent/JP3565987B2/ja not_active Expired - Fee Related
- 1996-11-12 US US08/747,049 patent/US5838952A/en not_active Expired - Fee Related
Cited By (2)
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 |