JP3214413B2 - エミュレータ - Google Patents
エミュレータInfo
- Publication number
- JP3214413B2 JP3214413B2 JP27539697A JP27539697A JP3214413B2 JP 3214413 B2 JP3214413 B2 JP 3214413B2 JP 27539697 A JP27539697 A JP 27539697A JP 27539697 A JP27539697 A JP 27539697A JP 3214413 B2 JP3214413 B2 JP 3214413B2
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- microcomputer
- flash
- self
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
を内蔵したマイクロコンピュータをエミュレートするエ
ミュレータに関する。
クロコンピュータが増加している。このようなマイクロ
コンピュータにおいては、ライタを使用せずに、マイク
ロコンピュータ自身のプログラムによってフラッシュメ
モリを書き換えるフラッシュセルフ書き込み機能の要求
が高くなっている。この場合、フラッシュセルフ書き込
みを行うためのプログラムはユーザによって作成される
ため、このフラッシュセルフ書き込み用のプログラムの
書き込みロジックのデバッグが必要になってきている。
ジックをデバッグするためにエミュレータ(典型的に
は、インサーキットエミュレータ)が使用される。
ッシュメモリを内蔵したエミュレーションプロセッサ
と、代替RAM(random access memory)とを有する従来
のインサーキットエミュレータが開示されている。この
従来のインサーキットエミュレータでは、通常は、代替
RAMを使用して、エミュレート対象であるユーザシス
テムの制御用プログラムのデバッグを行う。一方、エミ
ュレート対象であるユーザシステムがフラッシュメモリ
をプログラムメモリとして内蔵したマイクロコンピュー
タである場合、このフラッシュメモリへの書き込み用プ
ログラムは代替RAMを用いてはデバッグできないの
で、エミュレーションプロセッサに内蔵されたフラッシ
ュメモリを使用して、フラッシュメモリへの書き込み用
プログラムのデバッグを行う。なお、オンボード書き込
みとは、フラッシュメモリを内蔵したマイクロコンピュ
ータにおいて、チップをボードに搭載した状態でプログ
ラムを書き込むことを意味する。
サーキットエミュレータでは、該エミュレータ内部に設
けられたフラッシュメモリに実際にオンボード書き込み
を行う。
レータは、その内部に代替RAMのみならずフラッシュ
メモリを設ける必要であり、構造が複雑になると共に高
価となる。
などに制限があり、毎回フラッシュメモリに書き込んで
いたら寿命がもたない。
の際の書き込み用プログラムのデバッグを行うことは開
示されているが、フラッシュセルフ書き込みの際のユー
ザプログラムの書き込みロジックのデバッグについては
開示されていない。
フ書き込みの際のユーザプログラムの書き込みロジック
のデバッグを行えるエミュレータを提供することにあ
る。
ルフ書き込みの際のユーザプログラムの書き込みロジッ
クのデバッグを、簡単な構成で安価に行えるエミュレー
タを提供することにある。
ュセルフ書き込みの際のユーザプログラムの書き込みロ
ジックのデバッグを、該ユーザプログラムを実際にフラ
ッシュメモリに書き込むことなく行えるエミュレータを
提供することにある。
シュメモリを内蔵し、ユーザによって作成された前記フ
ラッシュメモリの書き換えを行うためのユーザプログラ
ムに従って、自分自身で前記フラッシュメモリを書き換
えるフラッシュセルフ書き込み動作を行うマイクロコン
ピュータをエミュレートするエミュレータにおいて、前
記マイクロコンピュータにおける前記フラッシュメモリ
への前記フラッシュセルフ書き込み動作の開始を検出
し、前記マイクロコンピュータの前記フラッシュセルフ
書き込み動作をブレークする検出手段と、前記フラッシ
ュメモリの代替メモリとして作用するRAMと、該検出
手段に接続され、前記検出手段が前記フラッシュセルフ
書き込み動作の開始を検出した時、前記マイクロコンピ
ュータ内の予め定められたレジスタをリードし、そのリ
ード値より前記フラッシュメモリの書き換えるべきアド
レス及びデータを解読し、前記アドレス及びデータに基
いて前記フラッシュメモリの代りに前記RAMを書き換
え、前記ユーザプログラムの書き込みロジックをデバッ
グするスーパバイザ手段とを有し、前記スーパバイザ手
段が前記マイクロコンピュータと別に設けられているこ
とを特徴とするエミュレータが得られる。
ラッシュメモリへの前記フラッシュセルフ書き込み動作
の開始は、前記マイクロコンピュータ内に前記フラッシ
ュメモリとは別に設けられたROMへのジャンプでブレ
ークするイベントとして予め設定されても良い。
ュメモリへの前記フラッシュセルフ書き込み動作の開始
を前記イベントとして検出し、前記マイクロコンピュー
タの前記フラッシュセルフ書き込み動作をブレークす
る。
・プログラムを格納している。
ROMにも接続され、前記検出手段が前記フラッシュセ
ルフ書き込み動作の開始を前記イベントとして検出した
時、前記スーパバイザ・プログラムに従って、前記マイ
クロコンピュータ内の予め定められたレジスタをリード
し、そのリード値より前記フラッシュメモリの書き換え
るべきアドレス及びデータを解読し、前記アドレス及び
データに基いて前記フラッシュメモリの代りに前記RA
Mを書き換え、前記ユーザプログラムの書き込みロジッ
クをデバッグする。
を参照して説明する。
るエミュレータ(インサーキットエミュレータ)1は、
マイクロコンピュータ2をエミュレートするものための
ものである。マイクロコンピュータ2は、CPUエバチ
ップ3と周辺エバチップ4とを有する。周辺エバチップ
4はフラッシュメモリ5と裏ROM(read only memory)
6とSFR(special function registers)7とを内蔵し
ている。CPUエバチップ3は、ユーザによって作成さ
れたフラッシュメモリ5の書き換えを行うためのユーザ
プログラム8に従って、フラッシュメモリ5を書き換え
るフラッシュセルフ書き込み動作を行う。
は、0000(h)〜4000(h)番地のプログラム
を格納するブート領域(スタック)と、4000(h)
〜0FFFF(h)番地のフラッシュセルフ書き込み可
能な領域とを有する。このフラッシュセルフ書き込み可
能な領域のうちの4000(h)〜4FFF(h)番地
の領域は表ROMとして作用するものであり、この表R
OMは、ユーザプログラム8(図1)でFLSPM=0
で指定される。裏ROM6も、表ROMと同様に400
0(h)〜4FFF(h)番地を有する。裏ROM6
は、ユーザプログラム8でFLSPM=1で指定され
る。
Mイベント検出器9を有するデバッグ回路10と、フラ
ッシュメモリ5の代替メモリとして作用する代替RAM
11と、スーパバイザ12とを有する。
プ3におけるフラッシュメモリ5へのフラッシュセルフ
書き込み動作の開始は、マイクロコンピュータ2の周辺
エバチップ4内にフラッシュメモリ5とは別に設けられ
た裏ROM6へのジャンプでブレークする裏ROMイベ
ントとして予め設定されている。
器9は、マイクロコンピュータ2のCPUエバチップ3
におけるフラッシュメモリ5へのフラッシュセルフ書き
込み動作の開始を、前記裏ROMイベントとして検出
し、マイクロコンピュータ2のCPUエバチップ3のフ
ラッシュセルフ書き込み動作をブレークする。
裏ROMイベント検出器9に接続され、裏ROMイベン
ト検出器9がフラッシュセルフ書き込み動作の開始を、
前記裏ROMイベントとして検出した時、マイクロコン
ピュータ2の周辺エバチップ4内のSFR7のうちの予
め定められたレジスタをCPUエバチップ3を介してリ
ードし、そのリード値よりフラッシュメモリ5の書き換
えるべきアドレス及びデータを解読し、前記アドレス及
びデータに基いてフラッシュメモリ5の代りに代替RA
M11をCPUエバチップ3を介して書き換え、ユーザ
プログラム8の書き込みロジックをデバッグする。
を格納している。スーパバイザ12は、CPUエバチッ
プ3を介して裏ROM6にも接続され、裏ROMイベン
ト検出器9がフラッシュセルフ書き込み動作の開始を、
前記裏ROMイベントとして検出した時、前記スーパバ
イザ・プログラムに従って、前述した動作をする。
9(図1)は、ユーザプログラムの裏ROM6(図1)
を指定するFLSPM=1と、その4000(h)番地
を呼び出すcall 4000(h)を、裏ROM6へ
のジャンプでブレークする裏ROMイベントとして検出
する。この時、裏ROMイベント検出器9は、裏ROM
6の4000(h)番地にジャンプすると共に、マイク
ロコンピュータ2のCPUエバチップ3のフラッシュセ
ルフ書き込み動作をブレークする。スーパバイザ12
(図1)は、裏ROM6のスーパバイザ・プログラムに
従って、SFR7のうちの予め定められたレジスタを参
照して該当処理を前述した通り行う。この際、裏ROM
6のスーパバイザ・プログラムに従った処理を行ったた
め、プログラムカウンタ(PC)はその処理分だけ進ん
だ番地を示している。従って、プログラムカウンタ(P
C)が所定の戻り番地を示すようにプログラムカウンタ
(PC)を書き換える必要があり、このためスタックの
データを書き換える。
ルフ書き込み動作がブロック消去である場合は、消去開
始アドレスを示すレジスタを参照して以降の処理を行
う。また、スーパバイザ12は、フラッシュセルフ書き
込み動作がバイト書き込みである場合は、書き込みアド
レスを示すレジスタ及び書き込みデータを示すレジスタ
を参照して以降の処理を行う。更に、スーパバイザ12
は、フラッシュセルフ書き込み動作がバイト読み出しで
ある場合は、読み出しアドレスを示すレジスタを参照し
て以降の処理を行う。
1の動作を説明する。
のジャンプでブレークする裏ROMイベントを設定し
(ステップS1)、マイクロコンピュータ2のCPUエ
バチップ3に通常のエミュレーションを行わせる(ステ
ップS2)。デバッグ回路10は、イベントブレークの
発生を検出すると(ステップS3)、裏ROMイベント
検出器9に、ブレーク要因が裏ROMブレークか否かを
判断させる(ステップS4)。この際、裏ROMイベン
ト検出器9が前述の裏ROMイベントを検出しなかった
時は、デバッグ回路10は通常のブレークを行う。裏R
OMイベント検出器9が前述の裏ROMイベントを検出
した時は、デバッグ回路10の裏ROMイベント検出器
9は、ステップS5において、マイクロコンピュータ2
のCPUエバチップ3のフラッシュセルフ書き込み動作
をブレークする。同時に、スーパバイザ12は、ステッ
プS5において、マイクロコンピュータ2の周辺エバチ
ップ4内のSFR7のうちの予め定められたレジスタを
CPUエバチップ3を介してリードし、そのリード値よ
りフラッシュメモリ5の書き換えるべきアドレス及びデ
ータを解読する。更に、スーパバイザ12は、ステップ
S6において、解読したアドレス及びデータに基いて、
フラッシュメモリ5の代りに代替RAM11をCPUエ
バチップ3を介して書き換え、ユーザプログラム8の書
き込みロジックをデバッグする。
のスーパバイザ・プログラムに従った処理を行ったた
め、プログラムカウンタ(PC)はその処理分だけ進ん
だ番地を示している。従って、プログラムカウンタ(P
C)が所定の戻り番地を示すようにプログラムカウンタ
を書き換える必要があり、このためスタックの内容変更
を行う(ステップS7)。
ステップS8において、以上のようなスーパバイザモー
ドから通常モードに戻し、ステップS2におけるマイク
ロコンピュータ2のCPUエバチップ3に通常のエミュ
レーションを行わせる。
ラッシュセルフ書き込みの際のユーザプログラムの書き
込みロジックのデバッグを、エミュレータ内部にフラッ
シュメモリを設けることなく代替RAMのみを設けるこ
とにより行うことができる。従って、エミュレータは構
造が簡単になると共に安価となる。
は、フラッシュセルフ書き込みの際のユーザプログラム
の書き込みロジックのデバッグを、該ユーザプログラム
を実際にフラッシュメモリに書き込むことなく行うこと
ができる。
ュレートすべきマイクロコンピュータ2とを示すブロッ
ク図である。
モリ5を説明するための図である。
図である。
フローチャートである。
Claims (3)
- 【請求項1】 フラッシュメモリを内蔵し、ユーザによ
って作成された前記フラッシュメモリの書き換えを行う
ためのユーザプログラムに従って、自分自身で前記フラ
ッシュメモリを書き換えるフラッシュセルフ書き込み動
作を行うマイクロコンピュータをエミュレートするエミ
ュレータにおいて、前記マイクロコンピュータにおける
前記フラッシュメモリへの前記フラッシュセルフ書き込
み動作の開始を検出し、前記マイクロコンピュータの前
記フラッシュセルフ書き込み動作をブレークする検出手
段と、 前記フラッシュメモリの代替メモリとして作用するRA
Mと、 該検出手段に接続され、前記検出手段が前記フラッシュ
セルフ書き込み動作の開始を検出した時、前記マイクロ
コンピュータ内の予め定められたレジスタをリードし、
そのリード値より前記フラッシュメモリの書き換えるべ
きアドレス及びデータを解読し、前記アドレス及びデー
タに基いて前記フラッシュメモリの代りに前記RAMを
書き換え、前記ユーザプログラムの書き込みロジックを
デバッグするスーパバイザ手段とを有し、 前記スーパバイザ手段が前記マイクロコンピュータと別
に設けられている ことを特徴とするエミュレータ。 - 【請求項2】 前記マイクロコンピュータにおける前記
フラッシュメモリへの前記フラッシュセルフ書き込み動
作の開始が、前記マイクロコンピュータ内に前記フラッ
シュメモリとは別に設けられたROMへのジャンプでブ
レークするイベントとして予め設定され、 前記検出手段は、前記フラッシュメモリへの前記フラッ
シュセルフ書き込み動作の開始を前記イベントとして検
出し、前記マイクロコンピュータの前記フラッシュセル
フ書き込み動作をブレークすることを特徴とする請求項
1に記載のエミュレータ。 - 【請求項3】 前記ROMは、スーパバイザ・プログラ
ムを格納しており、 前記スーパバイザ手段は、前記ROMにも接続され、前
記検出手段が前記フラッシュセルフ書き込み動作の開始
を前記イベントとして検出した時、前記スーパバイザ・
プログラムに従って、前記マイクロコンピュータ内の予
め定められたレジスタをリードし、そのリード値より前
記フラッシュメモリの書き換えるべきアドレス及びデー
タを解読し、前記アドレス及びデータに基いて前記フラ
ッシュメモリの代りに前記RAMを書き換え、前記ユー
ザプログラムの書き込みロジックをデバッグすることを
特徴とする請求項2に記載のエミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27539697A JP3214413B2 (ja) | 1997-10-08 | 1997-10-08 | エミュレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27539697A JP3214413B2 (ja) | 1997-10-08 | 1997-10-08 | エミュレータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11110244A JPH11110244A (ja) | 1999-04-23 |
JP3214413B2 true JP3214413B2 (ja) | 2001-10-02 |
Family
ID=17554923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27539697A Expired - Fee Related JP3214413B2 (ja) | 1997-10-08 | 1997-10-08 | エミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3214413B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006313421A (ja) | 2005-05-06 | 2006-11-16 | Nec Electronics Corp | マイクロコンピュータ及びそのデバッグ方法 |
-
1997
- 1997-10-08 JP JP27539697A patent/JP3214413B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11110244A (ja) | 1999-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6631472B2 (en) | Kernel mode protection | |
US6915416B2 (en) | Apparatus and method for microcontroller debugging | |
US6775734B2 (en) | Memory access using system management interrupt and associated computer system | |
US6175913B1 (en) | Data processing unit with debug capabilities using a memory protection unit | |
US7966480B2 (en) | Register pointer trap to prevent errors due to an invalid pointer value in a register | |
JP3214413B2 (ja) | エミュレータ | |
TWI228219B (en) | Method for recording test procedure | |
KR100239438B1 (ko) | 오동작 방지 기능을 갖는 중앙 처리 장치 | |
JPS62197831A (ja) | デ−タ処理装置 | |
JP2760228B2 (ja) | キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ | |
JP2002149444A (ja) | ソフトウェア試験システム及びソフトウェア試験方法及びソフトウェア試験方法を計算機で実現するためのプログラムを記録した計算機で読み取り可能なプログラム記録媒体及びソフトウェア試験方法を計算機で実現するためのプログラム | |
JP3166667B2 (ja) | エミュレーション用マイクロコンピュータ | |
JPH07319724A (ja) | エミュレーションcpu | |
JP2000132536A (ja) | コンピュータ | |
JP3166167B2 (ja) | マイクロコンピュータ | |
JPH0538385A (ja) | プログラムコピー防止装置 | |
JPH0934795A (ja) | Cpuプログラムのコピープロテクト法 | |
JP2858517B2 (ja) | コンピュータシステム及び同システムにおいてアドレス指定可能な拡張された記憶装置を与える方法 | |
JPH0679278B2 (ja) | マイクロコンピュ−タ開発装置 | |
KR910006027Y1 (ko) | 시스템 다운 방지회로 | |
JPH0793180A (ja) | マイクロプロセッサ | |
JPH05143197A (ja) | 演算処理装置 | |
JP2677043B2 (ja) | プログラム開発支援装置 | |
JPS6144343B2 (ja) | ||
JPH10283253A (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010307 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010626 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070727 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080727 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090727 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |