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
Application number
JP27539697A
Other languages
English (en)
Other versions
JPH11110244A (ja
Inventor
茂治 中田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP27539697A priority Critical patent/JP3214413B2/ja
Publication of JPH11110244A publication Critical patent/JPH11110244A/ja
Application granted granted Critical
Publication of JP3214413B2 publication Critical patent/JP3214413B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
を内蔵したマイクロコンピュータをエミュレートするエ
ミュレータに関する。
【0002】
【従来の技術】最近、フラッシュメモリを内蔵したマイ
クロコンピュータが増加している。このようなマイクロ
コンピュータにおいては、ライタを使用せずに、マイク
ロコンピュータ自身のプログラムによってフラッシュメ
モリを書き換えるフラッシュセルフ書き込み機能の要求
が高くなっている。この場合、フラッシュセルフ書き込
みを行うためのプログラムはユーザによって作成される
ため、このフラッシュセルフ書き込み用のプログラムの
書き込みロジックのデバッグが必要になってきている。
【0003】このようなユーザプログラムの書き込みロ
ジックをデバッグするためにエミュレータ(典型的に
は、インサーキットエミュレータ)が使用される。
【0004】特開平8−297595号公報には、フラ
ッシュメモリを内蔵したエミュレーションプロセッサ
と、代替RAM(random access memory)とを有する従来
のインサーキットエミュレータが開示されている。この
従来のインサーキットエミュレータでは、通常は、代替
RAMを使用して、エミュレート対象であるユーザシス
テムの制御用プログラムのデバッグを行う。一方、エミ
ュレート対象であるユーザシステムがフラッシュメモリ
をプログラムメモリとして内蔵したマイクロコンピュー
タである場合、このフラッシュメモリへの書き込み用プ
ログラムは代替RAMを用いてはデバッグできないの
で、エミュレーションプロセッサに内蔵されたフラッシ
ュメモリを使用して、フラッシュメモリへの書き込み用
プログラムのデバッグを行う。なお、オンボード書き込
みとは、フラッシュメモリを内蔵したマイクロコンピュ
ータにおいて、チップをボードに搭載した状態でプログ
ラムを書き込むことを意味する。
【0005】
【発明が解決しようとする課題】このように従来のイン
サーキットエミュレータでは、該エミュレータ内部に設
けられたフラッシュメモリに実際にオンボード書き込み
を行う。
【0006】従って、この従来のインサーキットエミュ
レータは、その内部に代替RAMのみならずフラッシュ
メモリを設ける必要であり、構造が複雑になると共に高
価となる。
【0007】また、フラッシュメモリには書き込み回数
などに制限があり、毎回フラッシュメモリに書き込んで
いたら寿命がもたない。
【0008】また、前記公報には、オンボード書き込み
の際の書き込み用プログラムのデバッグを行うことは開
示されているが、フラッシュセルフ書き込みの際のユー
ザプログラムの書き込みロジックのデバッグについては
開示されていない。
【0009】それ故、本発明の課題は、フラッシュセル
フ書き込みの際のユーザプログラムの書き込みロジック
のデバッグを行えるエミュレータを提供することにあ
る。
【0010】本発明のもう一つの課題は、フラッシュセ
ルフ書き込みの際のユーザプログラムの書き込みロジッ
クのデバッグを、簡単な構成で安価に行えるエミュレー
タを提供することにある。
【0011】本発明の更にもう一つの課題は、フラッシ
ュセルフ書き込みの際のユーザプログラムの書き込みロ
ジックのデバッグを、該ユーザプログラムを実際にフラ
ッシュメモリに書き込むことなく行えるエミュレータを
提供することにある。
【0012】
【課題を解決するための手段】本発明によれば、フラッ
シュメモリを内蔵し、ユーザによって作成された前記フ
ラッシュメモリの書き換えを行うためのユーザプログラ
ムに従って、自分自身で前記フラッシュメモリを書き換
えるフラッシュセルフ書き込み動作を行うマイクロコン
ピュータをエミュレートするエミュレータにおいて、前
記マイクロコンピュータにおける前記フラッシュメモリ
への前記フラッシュセルフ書き込み動作の開始を検出
し、前記マイクロコンピュータの前記フラッシュセルフ
書き込み動作をブレークする検出手段と、前記フラッシ
ュメモリの代替メモリとして作用するRAMと、該検出
手段に接続され、前記検出手段が前記フラッシュセルフ
書き込み動作の開始を検出した時、前記マイクロコンピ
ュータ内の予め定められたレジスタをリードし、そのリ
ード値より前記フラッシュメモリの書き換えるべきアド
レス及びデータを解読し、前記アドレス及びデータに基
いて前記フラッシュメモリの代りに前記RAMを書き換
え、前記ユーザプログラムの書き込みロジックをデバッ
グするスーパバイザ手段とを有し、前記スーパバイザ手
段が前記マイクロコンピュータと別に設けられている
とを特徴とするエミュレータが得られる。
【0013】前記マイクロコンピュータにおける前記フ
ラッシュメモリへの前記フラッシュセルフ書き込み動作
の開始は、前記マイクロコンピュータ内に前記フラッシ
ュメモリとは別に設けられたROMへのジャンプでブレ
ークするイベントとして予め設定されても良い。
【0014】この場合、前記検出手段は、前記フラッシ
ュメモリへの前記フラッシュセルフ書き込み動作の開始
を前記イベントとして検出し、前記マイクロコンピュー
タの前記フラッシュセルフ書き込み動作をブレークす
る。
【0015】好ましくは、前記ROMは、スーパバイザ
・プログラムを格納している。
【0016】この場合、前記スーパバイザ手段は、前記
ROMにも接続され、前記検出手段が前記フラッシュセ
ルフ書き込み動作の開始を前記イベントとして検出した
時、前記スーパバイザ・プログラムに従って、前記マイ
クロコンピュータ内の予め定められたレジスタをリード
し、そのリード値より前記フラッシュメモリの書き換え
るべきアドレス及びデータを解読し、前記アドレス及び
データに基いて前記フラッシュメモリの代りに前記RA
Mを書き換え、前記ユーザプログラムの書き込みロジッ
クをデバッグする。
【0017】
【発明の実施の形態】次に本発明の実施例について図面
を参照して説明する。
【0018】図1を参照すると、本発明の一実施例によ
るエミュレータ(インサーキットエミュレータ)1は、
マイクロコンピュータ2をエミュレートするものための
ものである。マイクロコンピュータ2は、CPUエバチ
ップ3と周辺エバチップ4とを有する。周辺エバチップ
4はフラッシュメモリ5と裏ROM(read only memory)
6とSFR(special function registers)7とを内蔵し
ている。CPUエバチップ3は、ユーザによって作成さ
れたフラッシュメモリ5の書き換えを行うためのユーザ
プログラム8に従って、フラッシュメモリ5を書き換え
るフラッシュセルフ書き込み動作を行う。
【0019】図2を参照すると、フラッシュメモリ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で指定され
る。
【0020】図1に戻って、エミュレータ1は、裏RO
Mイベント検出器9を有するデバッグ回路10と、フラ
ッシュメモリ5の代替メモリとして作用する代替RAM
11と、スーパバイザ12とを有する。
【0021】マイクロコンピュータ2のCPUエバチッ
プ3におけるフラッシュメモリ5へのフラッシュセルフ
書き込み動作の開始は、マイクロコンピュータ2の周辺
エバチップ4内にフラッシュメモリ5とは別に設けられ
た裏ROM6へのジャンプでブレークする裏ROMイベ
ントとして予め設定されている。
【0022】デバッグ回路10の裏ROMイベント検出
器9は、マイクロコンピュータ2のCPUエバチップ3
におけるフラッシュメモリ5へのフラッシュセルフ書き
込み動作の開始を、前記裏ROMイベントとして検出
し、マイクロコンピュータ2のCPUエバチップ3のフ
ラッシュセルフ書き込み動作をブレークする。
【0023】スーパバイザ12は、デバッグ回路10の
裏ROMイベント検出器9に接続され、裏ROMイベン
ト検出器9がフラッシュセルフ書き込み動作の開始を、
前記裏ROMイベントとして検出した時、マイクロコン
ピュータ2の周辺エバチップ4内のSFR7のうちの予
め定められたレジスタをCPUエバチップ3を介してリ
ードし、そのリード値よりフラッシュメモリ5の書き換
えるべきアドレス及びデータを解読し、前記アドレス及
びデータに基いてフラッシュメモリ5の代りに代替RA
M11をCPUエバチップ3を介して書き換え、ユーザ
プログラム8の書き込みロジックをデバッグする。
【0024】裏ROM6は、スーパバイザ・プログラム
を格納している。スーパバイザ12は、CPUエバチッ
プ3を介して裏ROM6にも接続され、裏ROMイベン
ト検出器9がフラッシュセルフ書き込み動作の開始を、
前記裏ROMイベントとして検出した時、前記スーパバ
イザ・プログラムに従って、前述した動作をする。
【0025】図3を参照して、裏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)を書き換える必要があり、このためスタックの
データを書き換える。
【0026】なお、スーパバイザ12は、フラッシュセ
ルフ書き込み動作がブロック消去である場合は、消去開
始アドレスを示すレジスタを参照して以降の処理を行
う。また、スーパバイザ12は、フラッシュセルフ書き
込み動作がバイト書き込みである場合は、書き込みアド
レスを示すレジスタ及び書き込みデータを示すレジスタ
を参照して以降の処理を行う。更に、スーパバイザ12
は、フラッシュセルフ書き込み動作がバイト読み出しで
ある場合は、読み出しアドレスを示すレジスタを参照し
て以降の処理を行う。
【0027】次に図4を参照して、図1のエミュレータ
1の動作を説明する。
【0028】スーパバイザ12は、予め、裏ROM6へ
のジャンプでブレークする裏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の書
き込みロジックをデバッグする。
【0029】この際、スーパバイザ12は、裏ROM6
のスーパバイザ・プログラムに従った処理を行ったた
め、プログラムカウンタ(PC)はその処理分だけ進ん
だ番地を示している。従って、プログラムカウンタ(P
C)が所定の戻り番地を示すようにプログラムカウンタ
を書き換える必要があり、このためスタックの内容変更
を行う(ステップS7)。
【0030】スーパバイザ12は、ステップS7に続く
ステップS8において、以上のようなスーパバイザモー
ドから通常モードに戻し、ステップS2におけるマイク
ロコンピュータ2のCPUエバチップ3に通常のエミュ
レーションを行わせる。
【0031】
【発明の効果】以上説明したように本発明によれば、フ
ラッシュセルフ書き込みの際のユーザプログラムの書き
込みロジックのデバッグを、エミュレータ内部にフラッ
シュメモリを設けることなく代替RAMのみを設けるこ
とにより行うことができる。従って、エミュレータは構
造が簡単になると共に安価となる。
【0032】換言すれば、本発明によるエミュレータ
は、フラッシュセルフ書き込みの際のユーザプログラム
の書き込みロジックのデバッグを、該ユーザプログラム
を実際にフラッシュメモリに書き込むことなく行うこと
ができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるエミュレータ1とエミ
ュレートすべきマイクロコンピュータ2とを示すブロッ
ク図である。
【図2】図1のマイクロコンピュータ2のフラッシュメ
モリ5を説明するための図である。
【図3】図1のエミュレータ1の動作を説明するための
図である。
【図4】図1のエミュレータ1の動作を説明するための
フローチャートである。
【符号の説明】
1 エミュレータ 2 マイクロコンピュータ 3 CPUエバチップ 4 周辺エバチップ 5 フラッシュメモリ 6 裏ROM 7 SFR 8 ユーザプログラム 9 裏ROMイベント検出器 10 デバッグ回路 11 代替RAM 12 スーパバイザ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 - 11/34

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 フラッシュメモリを内蔵し、ユーザによ
    って作成された前記フラッシュメモリの書き換えを行う
    ためのユーザプログラムに従って、自分自身で前記フラ
    ッシュメモリを書き換えるフラッシュセルフ書き込み動
    作を行うマイクロコンピュータをエミュレートするエミ
    ュレータにおいて、前記マイクロコンピュータにおける
    前記フラッシュメモリへの前記フラッシュセルフ書き込
    み動作の開始を検出し、前記マイクロコンピュータの前
    記フラッシュセルフ書き込み動作をブレークする検出手
    段と、 前記フラッシュメモリの代替メモリとして作用するRA
    Mと、 該検出手段に接続され、前記検出手段が前記フラッシュ
    セルフ書き込み動作の開始を検出した時、前記マイクロ
    コンピュータ内の予め定められたレジスタをリードし、
    そのリード値より前記フラッシュメモリの書き換えるべ
    きアドレス及びデータを解読し、前記アドレス及びデー
    タに基いて前記フラッシュメモリの代りに前記RAMを
    書き換え、前記ユーザプログラムの書き込みロジックを
    デバッグするスーパバイザ手段とを有し、 前記スーパバイザ手段が前記マイクロコンピュータと別
    に設けられている ことを特徴とするエミュレータ。
  2. 【請求項2】 前記マイクロコンピュータにおける前記
    フラッシュメモリへの前記フラッシュセルフ書き込み動
    作の開始が、前記マイクロコンピュータ内に前記フラッ
    シュメモリとは別に設けられたROMへのジャンプでブ
    レークするイベントとして予め設定され、 前記検出手段は、前記フラッシュメモリへの前記フラッ
    シュセルフ書き込み動作の開始を前記イベントとして検
    出し、前記マイクロコンピュータの前記フラッシュセル
    フ書き込み動作をブレークすることを特徴とする請求項
    1に記載のエミュレータ。
  3. 【請求項3】 前記ROMは、スーパバイザ・プログラ
    ムを格納しており、 前記スーパバイザ手段は、前記ROMにも接続され、前
    記検出手段が前記フラッシュセルフ書き込み動作の開始
    を前記イベントとして検出した時、前記スーパバイザ・
    プログラムに従って、前記マイクロコンピュータ内の予
    め定められたレジスタをリードし、そのリード値より前
    記フラッシュメモリの書き換えるべきアドレス及びデー
    タを解読し、前記アドレス及びデータに基いて前記フラ
    ッシュメモリの代りに前記RAMを書き換え、前記ユー
    ザプログラムの書き込みロジックをデバッグすることを
    特徴とする請求項2に記載のエミュレータ。
JP27539697A 1997-10-08 1997-10-08 エミュレータ Expired - Fee Related JP3214413B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006313421A (ja) 2005-05-06 2006-11-16 Nec Electronics Corp マイクロコンピュータ及びそのデバッグ方法

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