JP3149575B2 - インサ−キット・エミュレ−タ - Google Patents
インサ−キット・エミュレ−タInfo
- Publication number
- JP3149575B2 JP3149575B2 JP28973392A JP28973392A JP3149575B2 JP 3149575 B2 JP3149575 B2 JP 3149575B2 JP 28973392 A JP28973392 A JP 28973392A JP 28973392 A JP28973392 A JP 28973392A JP 3149575 B2 JP3149575 B2 JP 3149575B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- mapping
- emulator
- program
- address space
- 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.)
- Expired - Fee Related
Links
Landscapes
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【0001】
【産業上の利用分野】本発明はインサ−キット・エミュ
レ−タに関し、特にアドレス変換機能を有するマイクロ
プロセッサ用のインサ−キット・エミュレ−タに関す
る。
レ−タに関し、特にアドレス変換機能を有するマイクロ
プロセッサ用のインサ−キット・エミュレ−タに関す
る。
【0002】
【従来の技術】従来のインサ−キット・エミュレ−タ
は、図3に示すように、エバチップ1a,デュアル・ポ
−トRAM2,エミュレ−タCPU3,メモリ4,コン
ソ−ル5,外部記憶装置6aとを有している。
は、図3に示すように、エバチップ1a,デュアル・ポ
−トRAM2,エミュレ−タCPU3,メモリ4,コン
ソ−ル5,外部記憶装置6aとを有している。
【0003】ディバグ対象となるプログラム(以後タ−
ゲット・プログラム)は、デュアル・ポ−トRAM2に
書き込まれ、その後エバチップ1aによりディバグ対象
となる装置(以後タ−ゲット装置)のメモリに転送され
る。
ゲット・プログラム)は、デュアル・ポ−トRAM2に
書き込まれ、その後エバチップ1aによりディバグ対象
となる装置(以後タ−ゲット装置)のメモリに転送され
る。
【0004】この時同時に、外部記憶装置6aに記録さ
れたディバグ情報ファイル8も読み込まれ、メモリ4に
記憶される。ディバグ情報とは、ソ−ス・プログラム中
で使われたシンボル名や行番号と実際にプログラムが配
置されたアドレスの対応を示したものである。
れたディバグ情報ファイル8も読み込まれ、メモリ4に
記憶される。ディバグ情報とは、ソ−ス・プログラム中
で使われたシンボル名や行番号と実際にプログラムが配
置されたアドレスの対応を示したものである。
【0005】現在主流のプログラム開発の形態は、ソ−
ス・プログラム作成時にはプログラマは配置アドレスは
意識せず、全てのプログラムが完成後にリンカを使って
一括してアドレスを確定する。シンボルとアドレスの対
応を示すファイルは、リンカによって自動生成される。
ス・プログラム作成時にはプログラマは配置アドレスは
意識せず、全てのプログラムが完成後にリンカを使って
一括してアドレスを確定する。シンボルとアドレスの対
応を示すファイルは、リンカによって自動生成される。
【0006】エミュレ−タはコンソ−ル上にプログラム
を表示させる時は、このディバグ情報を参照しながら、
ソ−ス・プログラムを表示する。エミュレ−タを操作す
る場合も、アドレス等は数値として指定するのではな
く、ソ−ス・プログラム中で使われているシンボル名ま
たは、行を指定することでできる。
を表示させる時は、このディバグ情報を参照しながら、
ソ−ス・プログラムを表示する。エミュレ−タを操作す
る場合も、アドレス等は数値として指定するのではな
く、ソ−ス・プログラム中で使われているシンボル名ま
たは、行を指定することでできる。
【0007】エミュレ−タはメモリ4に読み込まれたデ
ィバグ情報に基づき、シンボルまたは行数とアドレスの
変換を行いながら、エバチップ1aの動作を制御する。
ィバグ情報に基づき、シンボルまたは行数とアドレスの
変換を行いながら、エバチップ1aの動作を制御する。
【0008】関連する従来技術として、アドレス空間の
一部をソフトウエア的手法により切り換えるCPUにつ
いて図を用いて説明する。図4は従来のマイクロプロセ
ッサの一例に採用されているアドレス変換機能を説明す
るために示した図である。
一部をソフトウエア的手法により切り換えるCPUにつ
いて図を用いて説明する。図4は従来のマイクロプロセ
ッサの一例に採用されているアドレス変換機能を説明す
るために示した図である。
【0009】マイクロプロセッサには通常アドレス・モ
−ドと拡張アドレス・モ−ドの2つの動作モ−ドがあ
る。通常アドレス・モ−ドで使用時は、20ビット(1
Mバイトに対応)のアドレス空間を持ち、拡張アドレス
・モ−ドの時は、24ビット(16Mバイト)のアドレ
ス空間を持つ。以下に拡張アドレス・モ−ド時のアドレ
ス生成方式について説明する。
−ドと拡張アドレス・モ−ドの2つの動作モ−ドがあ
る。通常アドレス・モ−ドで使用時は、20ビット(1
Mバイトに対応)のアドレス空間を持ち、拡張アドレス
・モ−ドの時は、24ビット(16Mバイト)のアドレ
ス空間を持つ。以下に拡張アドレス・モ−ド時のアドレ
ス生成方式について説明する。
【0010】16ビットのセグメント・レジスタ13を
4ビット左シフトし16ビットのオフセット・レジスタ
14と加算することで20ビットのプログラム・アドレ
ス15を生成する。このプログラム・アドレスの上位6
ビット15aをデコ−ドし、I/O空間に割り付けられ
た10ビット長のページ・レジスタ(以後PGR)テー
ブル17から対応するページレジスタ18を選択する。
4ビット左シフトし16ビットのオフセット・レジスタ
14と加算することで20ビットのプログラム・アドレ
ス15を生成する。このプログラム・アドレスの上位6
ビット15aをデコ−ドし、I/O空間に割り付けられ
た10ビット長のページ・レジスタ(以後PGR)テー
ブル17から対応するページレジスタ18を選択する。
【0011】外部メモリへのアクセスは、このレジスタ
に予め書き込まれた値に、プログラム・アドレス15の
下位14ビットS15bが付加された24ビットのアド
レスとして扱われる。
に予め書き込まれた値に、プログラム・アドレス15の
下位14ビットS15bが付加された24ビットのアド
レスとして扱われる。
【0012】図5にメモリ拡張を行う場合のプログラム
空間20と拡張アドレス空間21の対応(以後マッピン
グ)の概念を説明するための図を示す。本方式では、プ
ログラム空間(1Mバイト)は、16Kバイトごとに拡
張アドレス空間(16Mバイト)に対応させることがで
きる。ただし、拡張アドレス・モ−ド時であっても、2
0ビットのアドレス空間からPGRテ−ブル17を付加
して拡張するため、あるマッピング時にプログラムから
参照できる空間の大きさは1Mバイトである。
空間20と拡張アドレス空間21の対応(以後マッピン
グ)の概念を説明するための図を示す。本方式では、プ
ログラム空間(1Mバイト)は、16Kバイトごとに拡
張アドレス空間(16Mバイト)に対応させることがで
きる。ただし、拡張アドレス・モ−ド時であっても、2
0ビットのアドレス空間からPGRテ−ブル17を付加
して拡張するため、あるマッピング時にプログラムから
参照できる空間の大きさは1Mバイトである。
【0013】別の1Mバイト空間を参照する場合には、
途中で一度通常アドレス・モ−ドに戻ってから、PGR
を変更し、再度拡張アドレス・モ−ドに戻す。
途中で一度通常アドレス・モ−ドに戻ってから、PGR
を変更し、再度拡張アドレス・モ−ドに戻す。
【0014】本方式では、同一プログラム・アドレスに
複数の拡張アドレスが対応するため、インサ−キット・
エミュレ−タを使って、プログラム作成時のシンボルを
使う場合には、マッピングが切り替わるごとに対応する
シンボル情報をエミュレ−タ内に読み込まなければなら
ない。
複数の拡張アドレスが対応するため、インサ−キット・
エミュレ−タを使って、プログラム作成時のシンボルを
使う場合には、マッピングが切り替わるごとに対応する
シンボル情報をエミュレ−タ内に読み込まなければなら
ない。
【0015】
【発明が解決しようとする課題】従来のインサ−キット
・エミュレ−タでは、マッピングがいつ変化したかを知
る手段がないために、対応を変化させる処理を行うごと
に、プログラムをブレ−クして、逐一コンソ−ルからの
入力によって、対応するプログラムのディバグ情報を読
み込ませなければならないという問題があった。
・エミュレ−タでは、マッピングがいつ変化したかを知
る手段がないために、対応を変化させる処理を行うごと
に、プログラムをブレ−クして、逐一コンソ−ルからの
入力によって、対応するプログラムのディバグ情報を読
み込ませなければならないという問題があった。
【0016】本発明の目的は、デバッグ時の作業効率の
良いインサ−キット・エミュレ−タを提供することにあ
る。
良いインサ−キット・エミュレ−タを提供することにあ
る。
【0017】
【課題を解決するための手段】本発明のインサーキット
・エミュレータは、マイクロプロセッサから参照可能な
アドレス空間をソフトウエア的手法により切り換えるマ
イクロプロセッサのインサ−キット・エミュレ−タにお
いて、アドレス空間のマッピング情報およびソース・プ
ログラム中のシンボル名や行番号と実際にプログラムが
配置されたアドレスとの対応を示すディバグ情報を記録
した外部記憶装置と、前記マッピング情報および前記デ
ィバグ情報をエミュレ−タ内部に記憶する記憶部と、前
記外部記憶装置から前記記憶部に読み込む読込手段と、
前記参照可能なアドレス空間の切り替えを検出する検出
部とを有し、該検出部が前記参照可能なアドレス空間の
切り替えを検出した場合に、予め読み込まれたマッピン
グ情報を参照して前記外部記憶装置から切り替え後の参
照可能なアドレス空間に対応したディバグ情報を前記読
込手段により読み込み前記記憶部に記憶することを特徴
としている。
・エミュレータは、マイクロプロセッサから参照可能な
アドレス空間をソフトウエア的手法により切り換えるマ
イクロプロセッサのインサ−キット・エミュレ−タにお
いて、アドレス空間のマッピング情報およびソース・プ
ログラム中のシンボル名や行番号と実際にプログラムが
配置されたアドレスとの対応を示すディバグ情報を記録
した外部記憶装置と、前記マッピング情報および前記デ
ィバグ情報をエミュレ−タ内部に記憶する記憶部と、前
記外部記憶装置から前記記憶部に読み込む読込手段と、
前記参照可能なアドレス空間の切り替えを検出する検出
部とを有し、該検出部が前記参照可能なアドレス空間の
切り替えを検出した場合に、予め読み込まれたマッピン
グ情報を参照して前記外部記憶装置から切り替え後の参
照可能なアドレス空間に対応したディバグ情報を前記読
込手段により読み込み前記記憶部に記憶することを特徴
としている。
【0018】
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の第1の実施例のブロック図である。
タ−ゲット・プログラムやデ−タをタ−ゲット装置に転
送する場合、エミュレ−タCPU3は外部記憶装置6か
らタ−ゲット・プログラム/デ−タ7を読み込み、デュ
アル・ポ−トRAM2に書き込む。
る。図1は本発明の第1の実施例のブロック図である。
タ−ゲット・プログラムやデ−タをタ−ゲット装置に転
送する場合、エミュレ−タCPU3は外部記憶装置6か
らタ−ゲット・プログラム/デ−タ7を読み込み、デュ
アル・ポ−トRAM2に書き込む。
【0019】エバチップ1は、デュアル・ポ−トRAM
2から読みだし、タ−ゲット装置のメモリに転送する。
この時、外部記憶装置6からディバグ情報ファイル8中
の初期マッピング情報とマッピング情報ファイル12を
メモリ4に読み込む。
2から読みだし、タ−ゲット装置のメモリに転送する。
この時、外部記憶装置6からディバグ情報ファイル8中
の初期マッピング情報とマッピング情報ファイル12を
メモリ4に読み込む。
【0020】エバチップ1はマッピングを切り換える前
に、専用命令を使いマッピングを変更するモ−ドにしな
ければならない。エミュレ−タCPU3は、エバチップ
1の実行モ−ド出力端子9の出力する変更検知信号S9
を使い、モ−ドが切り替わったことを検知することがで
きる。
に、専用命令を使いマッピングを変更するモ−ドにしな
ければならない。エミュレ−タCPU3は、エバチップ
1の実行モ−ド出力端子9の出力する変更検知信号S9
を使い、モ−ドが切り替わったことを検知することがで
きる。
【0021】その後、プログラム実行中にマッピングの
変更が行われると、エバチップ1より実行モ−ド出力端
子9から信号S9が出力され、エミュレ−タCPU3の
INT端子11へ伝えられる。エミュレ−タCPU3
は、この信号S9の入力により、どのようなマッピング
に切り替わったかを調べる。
変更が行われると、エバチップ1より実行モ−ド出力端
子9から信号S9が出力され、エミュレ−タCPU3の
INT端子11へ伝えられる。エミュレ−タCPU3
は、この信号S9の入力により、どのようなマッピング
に切り替わったかを調べる。
【0022】一般に、メモリのマッピングを行う場合、
リ−ド・ライト可能な特殊レジスタへの書き込みで行わ
れるため、このレジスタを読み出すことで現在のマッピ
ング状態を知ることができる。
リ−ド・ライト可能な特殊レジスタへの書き込みで行わ
れるため、このレジスタを読み出すことで現在のマッピ
ング状態を知ることができる。
【0023】次にエミュレ−タCPU3は、メモリ4に
予め読み込まれたマッピング情報ファイル12を参照し
て、現在のマッピングに対応したディバグ情報をディバ
グ情報ファイル8からメモリ4に読み込む。
予め読み込まれたマッピング情報ファイル12を参照し
て、現在のマッピングに対応したディバグ情報をディバ
グ情報ファイル8からメモリ4に読み込む。
【0024】これにより、マッピングが変更された場合
には、自動的に切り替えに対応したディバグ情報がイン
サ−キット・エミュレ−タに読み込まれる。
には、自動的に切り替えに対応したディバグ情報がイン
サ−キット・エミュレ−タに読み込まれる。
【0025】図2は本発明の第2の実施例のブロック図
である。アドレス信号SADとバス・ステ−タス信号S
BSはデコ−ダ10に入力される。デコ−ダ10は特定
アドレスのI/O空間に対する書き込みが行われた場
合、デコーダ信号S10をエミュレ−タCPU3のIN
T端子11に供給する。
である。アドレス信号SADとバス・ステ−タス信号S
BSはデコ−ダ10に入力される。デコ−ダ10は特定
アドレスのI/O空間に対する書き込みが行われた場
合、デコーダ信号S10をエミュレ−タCPU3のIN
T端子11に供給する。
【0026】このデコーダ信号S10の入力によりエミ
ュレ−タCPU3は、マッピングの変更が行われたこと
を検知できる。本実施例では、エバチップ1aに図1に
示したマッピングの変更を出力する特別な端子9を設け
なくても、変更を検知することができる。
ュレ−タCPU3は、マッピングの変更が行われたこと
を検知できる。本実施例では、エバチップ1aに図1に
示したマッピングの変更を出力する特別な端子9を設け
なくても、変更を検知することができる。
【0027】
【発明の効果】以上説明したように本発明は、マッピン
グの切り替えがあった場合に、これを検知する手段を持
ち、それによりディバグ情報をロ−ドしなおすという機
能を持つため、従来行われていたマニュアル操作による
ロ−ドが不要となり、ディバグ時の作業効率が高くなる
という効果がある。
グの切り替えがあった場合に、これを検知する手段を持
ち、それによりディバグ情報をロ−ドしなおすという機
能を持つため、従来行われていたマニュアル操作による
ロ−ドが不要となり、ディバグ時の作業効率が高くなる
という効果がある。
【図1】本発明の第1の実施例のブロック図である。
【図2】本発明の第2の実施例のブロック図である。
【図3】従来のインサ−キット・エミュレ−タの一例の
ブロック図である。
ブロック図である。
【図4】図3のブロックの動作を説明するための概念の
図である。
図である。
【図5】図3のブロックの動作を説明するためのプログ
ラム空間の概念の図である。
ラム空間の概念の図である。
1,1a エバチップ 2 デュアル・ポ−トRAM 3 エミュレ−タCPU 4 メモリ 5 コンソ−ル 6 外部記憶装置 7 タ−ゲット・プログラム・デ−タ 8 デバッグ情報ファイル 9 マッピング変更出力端子 10 デコ−ダ 11 INT端子 12 マッピング情報ファイル S9 変更検知信号 S10 デコ−ダ信号 SAD アドレス信号 SBS バス・ステ−タス信号
Claims (1)
- 【請求項1】 マイクロプロセッサから参照可能なアド
レス空間をソフトウエア的手法により切り換えるマイク
ロプロセッサのインサ−キット・エミュレ−タにおい
て、アドレス空間のマッピング情報およびソース・プロ
グラム中のシンボル名や行番号と実際にプログラムが配
置されたアドレスとの対応を示すディバグ情報を記録し
た外部記憶装置と、前記マッピング情報および前記ディ
バグ情報をエミュレ−タ内部に記憶する記憶部と、前記
外部記憶装置から前記記憶部に読み込む読込手段と、前
記参照可能なアドレス空間の切り替えを検出する検出部
とを有し、該検出部が前記参照可能なアドレス空間の切
り替えを検出した場合に、予め読み込まれたマッピング
情報を参照して前記外部記憶装置から切り替え後の参照
可能なアドレス空間に対応したディバグ情報を前記読込
手段により読み込み前記記憶部に記憶することを特徴と
したインサ−キット・エミュレ−タ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28973392A JP3149575B2 (ja) | 1992-10-28 | 1992-10-28 | インサ−キット・エミュレ−タ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28973392A JP3149575B2 (ja) | 1992-10-28 | 1992-10-28 | インサ−キット・エミュレ−タ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06139372A JPH06139372A (ja) | 1994-05-20 |
JP3149575B2 true JP3149575B2 (ja) | 2001-03-26 |
Family
ID=17747054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28973392A Expired - Fee Related JP3149575B2 (ja) | 1992-10-28 | 1992-10-28 | インサ−キット・エミュレ−タ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3149575B2 (ja) |
-
1992
- 1992-10-28 JP JP28973392A patent/JP3149575B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06139372A (ja) | 1994-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2727976B2 (ja) | インサーキットエミュレータ | |
JP3149575B2 (ja) | インサ−キット・エミュレ−タ | |
US4641277A (en) | System for detecting access to storage | |
JP3432734B2 (ja) | Dma制御装置及びdma制御方法 | |
KR19990071604A (ko) | 램구성내의정보를판독하고복원하기위한처리시스템및방법 | |
JP2578182B2 (ja) | デ−タ処理装置及びデ−タ処理システム | |
JPH1040130A (ja) | マイクロコンピュータ | |
KR960001096B1 (ko) | 부팅 드라이브 시스템 | |
JPS6120160A (ja) | アドレツシング例外検出方式 | |
JPH0250495B2 (ja) | ||
JPS6371740A (ja) | メモリデ−タトレ−ス方法 | |
JPS6061841A (ja) | プログラム評価装置の制御方式 | |
JP2005165964A (ja) | デバッガ、デバッグ装置およびオーバーレイモジュール | |
JPS59153247A (ja) | デバツグ装置 | |
JPS63237143A (ja) | プログラマブルコントロ−ラ | |
JPH05151020A (ja) | デイジタル信号処理装置 | |
JPH06348540A (ja) | プログラムトレース回路およびプログラムトレース方法 | |
JP2005276065A (ja) | エミュレータ | |
JPH10187490A (ja) | マイクロプログラム制御装置 | |
JPH0412855B2 (ja) | ||
JPH01308656A (ja) | プリンタのプログラム評価回路 | |
JPH05342064A (ja) | トレーサ回路 | |
JPS6168648A (ja) | ブランチトレ−スアドレス記憶方式 | |
JPH01320547A (ja) | プログラム実行情報の収集方式 | |
JPH0154729B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20001219 |
|
LAPS | Cancellation because of no payment of annual fees |