[go: up one dir, main page]

JP2002049504A - フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム - Google Patents

フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム

Info

Publication number
JP2002049504A
JP2002049504A JP2000236210A JP2000236210A JP2002049504A JP 2002049504 A JP2002049504 A JP 2002049504A JP 2000236210 A JP2000236210 A JP 2000236210A JP 2000236210 A JP2000236210 A JP 2000236210A JP 2002049504 A JP2002049504 A JP 2002049504A
Authority
JP
Japan
Prior art keywords
memory
flash memory
emulator
emulation
target
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.)
Withdrawn
Application number
JP2000236210A
Other languages
English (en)
Inventor
Kazuto Nakao
一人 中尾
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000236210A priority Critical patent/JP2002049504A/ja
Publication of JP2002049504A publication Critical patent/JP2002049504A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 プログラムデバッグのためにエバリュエーシ
ョンチップを別途開発する必要がなく、デバッグ時にエ
ミュレータによって忠実な再現が困難な動作についても
検証を行うことができるフラッシュメモリ内蔵LSIを
提供する。 【解決手段】 メモリインターフェイス110によっ
て、システムが実動作モードであるか、またはエミュレ
ータを接続した動作モードであるかを検出する。エミュ
レータが接続されている場合、対象メモリ制御回路12
0から出力される対象メモリ制御信号406によって、
バス408との接続をフラッシュメモリ112に接続さ
れた内部バス404または外部バス402に切り換え
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムコード
またはプログラムコードとデータコードを記憶するフラ
ッシュメモリを含むシステムおよびフラッシュメモリ内
蔵LSIに関し、さらにプログラムコードをデバッグす
るためのデバッグシステムに関するものである。
【0002】
【従来の技術】CPUを備えたシステムにおいて用いら
れるフラッシュメモリには、そのシステムで用いられる
プログラムコードが格納される場合が多い。さらに、フ
ラッシュメモリの容量増大および書き換え保証回数の増
大に伴って、フラッシュメモリにプログラムコードと共
にデータコードを格納する場合が増えている。
【0003】従来、プログラムコードを格納するフラッ
シュメモリを内蔵したLSIは、実製品とは異なるデバ
ッグ専用のエバリュエーションチップを使用してプログ
ラムのデバッグを行っていた。
【0004】図7(a)に実製品の例を示し、図7
(b)にエバリュエーションチップの例を示す。図7
(a)に示すように、実製品ではCPUおよびその周辺
回路(SRAMやランダムロジック(DRAM)等)と
共にフラッシュメモリも内蔵され、内部バスで接続され
ている。これに対して、エバリュエーションチップで
は、図7(b)に示すように、フラッシュメモリは内蔵
されず、その代わりに本来フラッシュメモリに接続され
ているアドレス信号、データ信号、制御信号等の信号が
外部端子として出力される。すなわち、エバリュエーシ
ョンチップでは、外部端子として出力された信号を介し
てフラッシュメモリの動作を代行するエミュレータを接
続し、このエミュレータによって内蔵フラッシュメモリ
の動作を実現する。さらに、エミュレータにはプログラ
ムのデバッグ機能が備わっており、デバッグ作業はエミ
ュレータによって行うことになる。
【0005】上記エバリュエーションチップを使用した
デバッグシステムとしては、例えば特開平11−282
712号に開示されているようなものが挙げられる。図
8を用いて特開平11−282712号に開示されてい
るデバッグシステムの構成について説明する。このデバ
ッグシステムにおいて、エミュレータ本体2は、実際に
フラッシュメモリが設けられる基板であるターゲット基
板4に接続されている。また、エミュレータ本体2は、
ホスト計算機6にも接続されている。エミュレータ本体
2は、ホストインターフェース(HIF)10、CPU
で構成されるコントローラ12、制御プログラム用メモ
リ14、RAMで構成されるエミュレーションメモリ1
6、フラッシュメモリコマンド解析部18、電気的エミ
ュレーション部20およびバッファ22を含んでいる。
【0006】エミュレーションメモリ16は、基本的に
ターゲット基板4に搭載されるフラッシュメモリと同様
の内容を格納するためのものであり、制御プログラム用
メモリ14はコントローラ12で実行されるプログラム
を格納するためのものである。フラッシュメモリコマン
ド解析部18はターゲット基板4から発行されるフラッ
シュメモリコマンドを検知するための回路であり、実際
のフラッシュメモリ内部での動作に近い速度での処理を
実現するために論理演算素子等を用いてハードウェア的
に構成される。電気的特性エミュレーション部20は、
例えばフラッシュメモリの各端子と同等のインピーダン
スを実現するための回路である。ホストインターフェー
ス10は、ホスト計算機6とコントローラ12とを接続
する部分である。コントローラ12は、制御プログラム
用メモリ14に格納されたプログラムを実行し、ホスト
計算機6とホストインターフェイス10を介して通信を
行い、エミュレーションメモリ16へのプログラムのダ
ウンロードを行う。バッファ22は、エミュレーション
メモリ16へのアクセスを制御する。
【0007】また、エミュレータ本体2からはターゲッ
トバス24が伸びている。このターゲットバス24とし
ては、ターゲット基板4との接続が容易なように、例え
ばフレキシブルなケーブルを用いることができる。ター
ゲットバス24のターゲット基板4側はフラッシュメモ
リエミュレータアダプタ26に接続される。なお、実際
にはプローブ28の上にフラッシュメモリエミュレータ
アダプタ26が配置(差し込み)されるが、図8では構
成を分かりやすくするためにずらして示している。フラ
ッシュメモリエミュレータアダプタ26とターゲット基
板4上のフラッシュメモリの取付位置とはプローブ28
を介して接続されている。このようにして、エミュレー
タ本体2とターゲット基板4とは接続されている。な
お、エミュレータ本体2が接続される際には、ターゲッ
ト基板4上のフラッシュメモリ取付位置には、実際のフ
ラッシュメモリは配置されない。
【0008】ターゲット基板4は、例えば自動車のエン
ジン制御回路やビデオカメラの制御回路等、実製品に用
いられる基板であり、フラッシュメモリおよびCPU
(ターゲットCPU)30を含んでいる。実製品では、
ターゲットCPU30は、当該基板上に配置されるフラ
ッシュメモリからプログラムを読み出して実行したり、
その他、フラッシュメモリに対してブロックイレーズや
書き込み等の操作を行ったりする。ホスト計算機6は、
ホストインターフェース10を介してコントローラ12
に接続され、データのダウンロードなどを行う。
【0009】この従来技術によれば、エミュレーション
メモリをあたかもフラッシュメモリのように扱って、フ
ラッシュメモリ特有のコマンドシーケンスをエミュレー
ションすることが可能であった。
【0010】
【発明が解決しようとする課題】このように、上述した
従来技術では、プログラムコードを格納するフラッシュ
メモリを内蔵するLSIにおいて、プログラムのデバッ
グのためだけに実製品とは異なるエバリュエーションチ
ップを別途開発する必要がある。このため、開発工数/
開発費用の増大がLSIのコストアップにつながると共
に、一旦フラッシュメモリ内蔵LSIに不具合が発見さ
れた場合に、エバリュエーションチップの修正をも行わ
なければならなかった。
【0011】また、従来技術では、フラッシュメモリを
エミュレーションメモリで代替しており、電気的特性エ
ミュレーション部20が存在するものの、製品に搭載さ
れるフラッシュメモリの電気的特性、特に書き込み(コ
マンド発行)動作時のAC特性とは異なるという問題点
がある。具体的には、フラッシュメモリのAC特性はブ
ロックサイズに依存するため、ブロックサイズの異なる
フラッシュメモリ同士ではAC特性が異なる。また、同
じフラッシュメモリであっても、その経年劣化等の状態
によって書き込み後のベリファイ(検証)動作に要する
時間が異なるため、AC特性が同じとは限らない。この
ように様々な条件によってAC特性が異なるため、エミ
ュレータによってフラッシュメモリのAC特性を忠実に
再現することは困難であった。
【0012】さらに、フラッシュメモリのコマンドセッ
トおよびコマンドシーケンスは一般に使用するフラッシ
ュメモリ毎に異なっているため、エミュレータもコマン
ドセットやコマンドシーケンス毎に専用のものを開発す
るか、または、汎用として使用できるようにするには、
異なる複数のコマンドセットやコマンドシーケンスに対
応する機能を備えなる必要があった。このため、安価で
汎用性の高いエミュレータは実現困難であった。このよ
うに、エミュレータによってAC特性を含めて、実際に
用いられるフラッシュメモリの動作を忠実に再現するの
は困難であり、完全な動作検証を行うことは非常に困難
であった。
【0013】本発明は、このような従来技術の課題を解
決するためになされたものであり、プログラムのデバッ
グのためだけに実製品とは異なるエバリュエーションチ
ップを開発する必要をなくすと共に、デバッグ時にエミ
ュレータによって忠実な再現が困難な動作については、
実際に搭載されたフラッシュメモリをアクセスすること
によってAC特性を含む実フラッシュメモリとエミュレ
ータとの間の不整合をなくして完全な動作検証を可能と
することができるフラッシュメモリを含むシステムおよ
びフラッシュメモリ内蔵LSI並びにそれらを用いたデ
バッグシステムを提供することを目的とする。
【0014】
【課題を解決するための手段】本発明のフラッシュメモ
リを含むシステムは、プログラムコード、またはプログ
ラムコードとデータコードを記憶するためのフラッシュ
メモリを含むシステムにおいて、該フラッシュメモリの
メモリ動作を代行可能なエミュレータに接続される外部
バスと、システムが実動作モードであるか、または該エ
ミュレータを接続したエミュレーション動作モードであ
るかを検出する動作モード検出手段と、該動作モード検
出手段によりエミュレーション動作モードであることを
検出したときに、フラッシュメモリに対してアクセスを
行うか、またはエミュレータ内のエミュレーションメモ
リにアクセスを行うかを切り換える対象メモリ切り換え
手段とを備え、そのことにより上記目的が達成される。
【0015】本発明のフラッシュメモリ内蔵LSIは、
プログラムコード、またはプログラムコードとデータコ
ードを記憶するためのフラッシュメモリを内蔵したLS
Iにおいて、該フラッシュメモリのメモリ動作を代行可
能なエミュレータに接続される外部バスと、システムが
実動作モードであるか、または該エミュレータを接続し
たエミュレーション動作モードであるかを検出する動作
モード検出手段と、該動作モード検出手段によりエミュ
レーション動作モードであることを検出したときに、フ
ラッシュメモリに接続された内部バスとエミュレータに
接続される外部バスとを切り換えて、フラッシュメモリ
にアクセスを行うか、またはエミュレータ内のエミュレ
ーションメモリにアクセスを行うかを切り換える対象メ
モリ切り換え手段とを備え、そのことにより上記目的が
達成される。
【0016】上記構成によれば、同じメモリ空間にマッ
ピングされた実際に使用されるフラッシュメモリと、エ
ミュレータ内のエミュレーションメモリとを、動作モー
ドが実動作モードであるかエミュレーション動作モード
であるかに応じて、さらに、メモリヘのアクセス対象
が、CPUが実行するプログラムであるプログラムコー
ドであるか、音声や画像等のデータコードであるかに応
じて、切り換えることができる。よって、同一チップで
実動作とエミュレーション動作とを実現することが可能
となり、プログラムをデバッグするための実製品とは異
なるエバリュエーションチップを別途開発する必要がな
くなる。
【0017】本発明のデバッグシステムは、本発明のフ
ラッシュメモリを含むシステムまたは本発明のフラッシ
ュメモリ内蔵LSIと、該フラッシュメモリのメモリ動
作を代行可能で、かつ、プログラムのデバッグ機能を有
するエミュレータから構成され、そのことにより上記目
的が達成される。
【0018】上記構成によれば、エミュレータを用いた
デバッグ時に、エミュレータで忠実な再現が困難な動作
については、実際に用いられるフラッシュメモリをアク
セスして行うことが可能となる。よって、AC特性等、
実フラッシュメモリとエミュレータとの間の不整合を回
避して、完全な動作検証を行うことが可能となる。
【0019】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて、図面を参照しながら説明する。
【0020】[実施の形態1]図1は、本発明の一実施
形態であるフラッシュメモリ内蔵LSIの構成を示すブ
ロック図である。この構成は、通常のフラッシュメモリ
内蔵LSIにメモリインターフェイス110と対象メモ
リ120とを加えたものである。
【0021】この図1において、フラッシュメモリ内蔵
LSI100は、動作モードを検出するためのCPU1
02、プログラムコードやデータコードを記憶するため
のフラッシュメモリ112、フラッシュメモリ112に
データをダウンロードするためのシリアルインターフェ
ース114、ターゲットシステム(フラッシュメモリ内
蔵LSI100によりコントロールされる対象)に接続
される入出力ポート116、CPUの周辺回路であるS
RAM118、アクセス対象メモリの切り換えを制御す
る対象メモリ制御レジスタ104を含む対象メモリ制御
回路120、フラッシュメモリ内蔵LSI100の動作
モード検出とアクセス対象メモリの切り換えを行うため
のメモリインターフェース110で構成されている。こ
の図1において、402はエミュレータに接続される外
部バスであり、後述する動作モード検出信号402−
a、CPUコントロール信号402−b、エミュレーシ
ョンメモリ用アドレスバス402−c、エミュレーショ
ンメモリ用データバス402−d、エミュレーションメ
モリ用アクセス信号402−eに対応する。また、40
4はフラッシュメモリに接続された内部バスであり、後
述するフラッシュメモリ用アドレスバス404−a、フ
ラッシュメモリ用データバス404−b、フラッシュメ
モリ用アクセス信号404−cに対応する。また、40
6は対象メモリ制御レジスタ104に格納された値に応
じて対象メモリ制御回路120から出力される対象メモ
リ切り換え制御信号である。さらに、408はフラッシ
ュメモリ内蔵LSIの各構成部を接続するためのバスで
あり、後述する動作モード検出信号408−a、CPU
コントロール信号408−b、メモリ用アドレス信号4
08−c、メモリ用データ信号408−d、メモリ用ア
クセス信号に対応する。
【0022】このフラッシュメモリ内蔵LSI100
は、プログラムのデバッグに使用する従来のエバリュエ
ーションチップとは異なり、フラッシュメモリ112を
内蔵しているため、実製品においても同じLSIを使用
することができる。
【0023】図2は、上記図1におけるメモリインター
フェース110の構成をさらに詳しく説明するための図
である。この図2において、406はメモリインターフ
ェース110に対する対象メモリ切り換え制御信号であ
る。
【0024】402−aおよび408−aはCPU10
2にエミュレータの接続を知らせるために用いられる動
作モード検出信号であり、外部から入力される動作モー
ド検出信号402−aを元にメモリインターフェイス1
10が生成した動作モード検出信号408−aによっ
て、CPU102がエミュレータが接続されているか否
かを検出する。エミュレータが接続されていない場合に
は、メモリインターフェース110内にて動作モード検
出信号がLowレベルおよびHighレベルのいずれか
一方のレベルに固定される。例えば、動作モード検出信
号がLowレベルの場合に実動作モードに設定されると
すると、CPU102がLowレベルを検出して実動作
モードであることを認識すると、アクセス対象メモリと
してフラッシュメモリ112が選択されるように、対象
メモリ制御回路120に対して、対象メモリ切り換え制
御信号406を固定する。一方、エミュレータが接続さ
れている場合には、動作モード検出信号402−a、4
08−aのHighレベルをCPU102が検出してエ
ミュレーション動作モードであることを認識すると、ア
クセス対象メモリとしてエミュレーションメモリ208
が選択されるように、対象メモリ制御回路120に対し
て、対象メモリ切り換え制御信号406を固定する。
【0025】402−bと408−bはエミュレータが
CPU102にシステム(LSI100)の初期化を指
示するためのCPUコントロール信号であり、ホストコ
ンピュータからリセットコマンドが入力された場合に出
力される。これによりCPU102はプログラムスター
トアドレスからプログラムを実行できる状態になり、ま
た、対象メモリ制御レジスタを含むレジスタ、入出力ポ
ートの状態およびシリアルインターフェイスの状態等、
ハードウェア仕様が初期化される。本実施形態では、フ
ラッシュメモリ112がアクセス対象となるように初期
化される。
【0026】402−cはエミュレータのエミュレーシ
ョンメモリ用アドレスバス、402−dはエミュレータ
のエミュレーションメモリ用データバス、402−eは
エミュレータのエミュレーションメモリ用アクセス信号
であり、リード(読み出し)専用のものである。また、
404−aはフラッシュメモリ用アドレスバス、404
−bはフラッシュメモリ用データバス、404−cはフ
ラッシュメモリ用アクセス信号である。さらに、408
−cはメモリ用アドレス信号、408−dはメモリ用デ
ータ信号、408−eはメモリ用アクセス信号である。
【0027】メモリインターフェイス110としては、
例えば図3に示すような回路構成のものを用いることが
できる。この図において、SW1〜SW8は対象メモリ
切り換え制御信号406によってON/OFFするスイ
ッチであり、SW5のみが双方向スイッチである。40
2−aはエミュレータ200が接続された場合にHig
hレベルとなる信号であり、408−aはエミュレータ
200接続時にHighレベルとなり、未接続時にはメ
モリ110内のプルダウン抵抗によりLowレベルとな
る。
【0028】エミュレータ200が接続時に、対象メモ
リ切り換え制御信号406がHighレベルになること
により、SW1、SW2、SW4、SW6およびSW8
がON状態になる。この場合、CPUコントロール信号
402−bおよび408−bが有効になると共にメモリ
用アドレス信号408−c、メモリ用データ信号408
−dおよびメモリ用アクセス信号408−eがエミュレ
ータ200に接続され、CPU102はエミュレーショ
ンメモリ208へのアクセスが可能となる。
【0029】一方、エミュレータ200が接続時に、対
象メモリ切り換え制御信号406がLowレベルになる
ことにより、SW3、SW5およびSW7がON状態に
なる。この場合、メモリ用アドレス信号408−c、メ
モリ用データ信号408−dおよびメモリ用アクセス信
号408−eがフラッシュメモリ112に接続され、C
PU102はフラッシュメモリ112へのアクセスが可
能となる。
【0030】なお、エミュレータ200の未接続時に
は、対象メモリ切り換え制御信号406は常にLowレ
ベルであり、CPU102はフラッシュメモリ112へ
のアクセスが可能となる。
【0031】以下に、本実施の形態1のフラッシュメモ
リ内蔵LSIの特徴的機能について、図2を用いて説明
する。なお、本実施形態において、フラッシュメモリと
エミュレーションメモリのいずれにアクセスするかはC
PU102が決定し、CPU102が対象メモリ制御レ
ジスタ104にアクセス対象情報を書き込む。この処理
は、CPU102が実行するプログラムに記述する。
【0032】このフラッシュメモリ内蔵LSIにおい
て、エミュレーション動作時にCPU102がエミュレ
ーションメモリ用アドレスバス402−c、エミュレー
ションメモリ用データバス402−dおよびエミュレー
ションメモリ用アクセス信号402−eを使用してエミ
ュレーションメモリからデータ読み出しを行う場合に
は、CPU102は対象メモリ制御レジスタ104にエ
ミュレーションメモリが対象であることを示す情報を書
き込む。そして、この情報に応じて対象メモリ制御回路
120から出力される対象メモリ切り換え制御信号40
6によって、メモリインターフェース110はメモリ用
アドレス信号408−cとメモリ用アクセス信号408
−eをエミュレーションメモリ用アドレスバス402−
cとエミュレーションメモリ用アクセス信号402−e
に出力し、エミュレーションメモリに格納されたプログ
ラムコードをエミュレーションメモリ用データバス40
2−dから読み出してメモリ用データ信号408−dと
して出力する。このとき、メモリインターフェース11
0はフラッシュメモリ用アドレスバス404−aとフラ
ッシュメモリ用アクセス信号404−cに対して、メモ
リ用アドレス信号408−cとメモリ用アクセス信号4
08−eを出力しない。
【0033】一方、CPU102がフラッシュメモリ用
アドレスバス404−a、フラッシュメモリ用データバ
ス404−bおよびフラッシュメモリ用アクセス信号4
04−cを使用してフラッシュメモリ112のデータ読
み出しを行う場合には、CPU102は対象メモリ制御
レジスタ104にフラッシュメモリが対象であることを
示す情報を書き込む。そして、この情報に応じて対象メ
モリ制御回路120から出力される対象メモリ切り換え
制御信号406により、メモリインターフェース110
はメモリ用アドレス信号408−cとメモリ用アクセス
信号408−eをフラッシュメモリ用アドレスバス40
4−aとフラッシュメモリ用アクセス信号404−cに
出力し、フラッシュメモリ112に格納されたデータを
フラッシュメモリ用データバス404−bから読み出し
てメモリ用データ信号408−dとして出力する。この
とき、メモリインターフェース110は、エミュレーシ
ョンメモリ用アドレスバス402−cとエミュレーショ
ンメモリ用アクセス信号402−eに対して、メモリ用
アドレス信号408−cとメモリ用アクセス信号408
−eを出力しない。
【0034】さらに、CPU102がフラッシュメモリ
112にデータ書き込み(コマンド発行)を行う場合に
は、CPU102は対象メモリ制御レジスタ104にフ
ラッシュメモリがアクセスの対象であることを示す情報
を書き込む。そして、この情報に応じて対象メモリ制御
回路120から出力される対象メモリ切り換え制御信号
406により、メモリインターフェース110はメモリ
用アドレス信号408−c、メモリ用データ信号408
−dおよびメモリ用アクセス信号408−eをフラッシ
ュメモリ用アドレスバス404−a、フラッシュメモリ
用データバス404−dおよびフラッシュメモリ用アク
セス信号404−cに出力する。このとき、エミュレー
ションメモリ用アクセス信号402−eはリード専用信
号であるため出力されない。
【0035】以上のように、本実施の形態1のフラッシ
ュメモリ内蔵LSIによれば、実動作モードであるかエ
ミュレータに接続されたエミュレーション動作モードで
あるかを検出して、エミュレータ接続時に、フラッシュ
メモリヘの読み出しと書き込み、エミュレータ内のエミ
ュレーションメモリヘの読み出しを切り換えることが可
能である。
【0036】[実施の形態2]図4は、実施の形態1に
おいて図1を用いて説明したフラッシュメモリ内蔵LS
Iを使用したデバッグシステムの構成を示すブロック図
である。この図4において、エミュレータ200は、ホ
ストインターフェース202、CPUからなるコントロ
ーラ204、制御プログラム用メモリ206およびRA
Mからなるエミュレーションメモリ208で構成されて
いる。
【0037】エミュレーションメモリ208は、基本的
にフラッシュメモリ内蔵LSI100のフラッシュメモ
リ112と同様の内容を格納するためのものであり、制
御プログラムメモリ206はコントローラ204で実行
されるプログラムを格納するためのものである。
【0038】エミュレータ200は、バス402によっ
てフラッシュメモリ内蔵LSI100のメモリインター
フェース110に接続されている。また、ホストコンピ
ュータ300は、ホストインターフェース202を介し
てコントローラ204に接続され、データのダウンロー
ドなどを行う。
【0039】さらに、エミュレータは、ユーザプログラ
ムをエミュレータ内のエミュレーションメモリにダウン
ロードすると共に、主として、 (1)ハードウェアブレーク機能 任意のアドレス値、データ値によるブレークが可能 (2)リアルタイムトレース機能 アドレスバスおよびデータバスをバスサイクル毎にリア
ルタイムで取り込み可能 (3)リアルタイムカウント機能 ユーザプログラムの実行時間の計測が可能 (4)2点間実行計測機能 イベント条件で指定した2点間の実行時間を計測可能 (5)強制ブレーク機能 実行中のユーザプログラムを強制的に停止させることが
可能 等のデバッグ機能を有する。
【0040】上記デバッグシステムは、CPU102が
エミュレータ200のエミュレーションメモリ208に
格納されたプログラムコードを実行する場合にはエミュ
レーションメモリ208を、CPU102がフラッシュ
メモリ112に格納されたデータコードの読み出しを行
う場合にはフラッシュメモリ112をアクセスする機能
を有している。さらに、CPU102がフラッシュメモ
リ112にデータコードの書き込み(コマンド発行)を
行う場合には、フラッシュメモリ112をアクセスする
機能を有している。
【0041】このように、読み出しを行う場合に、プロ
グラムコードであるかデータコードであるかによって対
象メモリを異ならせる理由は、以下の通りである。プロ
グラムコードの場合には、エミュレータのデバッグ機能
を使用してプログラムコードのデバッグを可能とし、デ
ータコードの場合には、実際のフラッシュメモリに格納
されたデータを使用可能とするため、プログラムコード
であるかデータコードによって対象メモリを切り換え
る。実製品において、フラッシュメモリ内蔵LSIに内
蔵されるフラッシュメモリには、図5に示すように、プ
ログラムコードを格納する格納領域とデータコードを格
納する格納領域とが混在する。プログラム開発段階で
は、このプログラムコードのデバッグを行うために、R
OMICE等のエミュレータを使用する。一方、データ
コードは、プログラム実行により随時書き換えられ、そ
のデータコードを使用した処理が実行される。本実施形
態では、プログラム開発段階で汎用のROMICE(エ
ミュレータ)を使用したデバッグを可能とすると共に、
フラッシュメモリに書き込まれるデータコードについて
は実際に使用するフラッシュメモリを使用するために、
プログラムコードであるかデータコードであるかによっ
て対象メモリを異ならせるのである。
【0042】さらに、エミュレータに対してデータ書き
込みを行わない理由については、以下の通りである。エ
ミュレータ内のエミュレーションメモリ(SRAM)と
実デバイス(フラッシュメモリ)では、データ書き込み
における書き込みアルゴリズムが異なるため、フラッシ
ュメモリへのデータ書き込み用プログラムでは、エミュ
レーションメモリへの書き込みを正常に行うことができ
ない。従来技術のように、エミュレーションメモリをフ
ラッシュメモリとして代用した場合にはAC特性が異な
る。さらに、エミュレータのエミュレータメモリとして
フラッシュメモリ内蔵LSIに内蔵されているフラッシ
ュメモリと同じものを使用すれば、エミュレータへのデ
ータ書き込みが可能となるが、フラッシュメモリは各メ
ーカー、機種によって書き込みアルゴリズムやAC特性
が異なるため、カスタムのROMICEが必要となる。
本実施形態では、エミュレータに対してデータ書き込み
を行わず、フラッシュメモリに対してデータ書き込みを
行うことにより、このような問題を防ぐことができる。
さらに、汎用のROMICEを使用可能とすることがで
きる。
【0043】図6は、図4におけるCPU102、対象
メモリ制御レジスタ104、メモリインターフェース1
10、フラッシュメモリ112およびエミュレータ20
0の接続をさらに詳しく説明するための図である。
【0044】エミュレータ200の制御用プログラムメ
モリ206には、エミュレーションメモリ208の内容
をフラッシュメモリ112に書き込むプログラム、およ
びフラッシュメモリ112の内容をエミュレーションメ
モリ208に書き込むプログラムが内蔵されている。そ
して、エミュレータ200の起動後、ホストコンピュー
タからエミュレーションメモリ208にプログラムコー
ドをダウンロードした際に、エミュレーションメモリ2
08からメモリインターフェイス110を介してその内
容がフラッシュメモリ112に伝わり、エミュレーショ
ンメモリ208と同じ内容がフラッシュメモリ112に
書き込まれる。また、シリアルイン夕ーフェース114
を介してフラッシュメモリ112にダウンロードされた
プログラムコードやデータコードは、エミュレータ20
0のコマンド実行により、フラッシュメモリ112から
メモリ110を介してエミュレーション208に伝わ
り、エミュレーションメモリ208に書き込まれる。
【0045】以下に、本実施の形態2のデバッグシステ
ムの特徴的機能について、図6を用いて説明する。
【0046】フラッシュメモリ内蔵LSI100にエミ
ュレータ200が接続された状態において、CPU10
2がエミュレータ200のエミュレーションメモリ20
8に格納されたプログラムコードを実行する場合、CP
Ul02は対象メモリ制御レジスタ104にエミュレー
ションメモリが対象であることを表わす情報を書き込
む。そして、メモリインターフェース110は対象メモ
リ制御回路120から出力される対象メモリ切り換え制
御信号406により、メモリ用アドレス信号408−c
をエミュレーションメモリ用アドレスバス402−cに
出力するとともに、メモリ用アクセス信号408−eを
エミュレーションメモリ用アクセス信号402−eを出
力し、エミュレーションメモリに格納されたプログラム
コードをエミュレーションメモリ用データバス402−
dを介してメモリ用データバス408−dに読み出す。
このとき、メモリインターフェース110はフラッシュ
メモリ用アドレスバス404−aとフラッシュメモリ用
アクセス信号404−cに対して、メモリ用アドレス信
号408−cとメモリ用アクセス信号408−eを出力
しない。
【0047】一方、CPU102がフラッシュメモリ1
12に格納されたデータコード読み出しを行う場合、C
PUl02は対象メモリ制御レジスタ104にフラッシ
ュメモリが対象であることを表わす情報を書き込む。そ
して、メモリインターフェース110は対象メモリ制御
回路120から出力される対象メモリ切り換え制御信号
406により、メモリ用アドレス信号408−cをフラ
ッシュメモリ用アドレスバス404−aに出力するとと
もに、メモリ用アクセス信号408−eをフラッシュメ
モリ用アクセス信号404−cに出力し、フラッシュメ
モリ112のデータをフラッシュメモリ用データバス4
04−bを介してメモリ用データバス408−dに読み
出す。このとき、メモリインターフェース110は、エ
ミュレーションメモリ用アドレスバス402−cとエミ
ュレーションメモリ用アクセス信号402−eに対し
て、メモリ用アドレス信号408−cとメモリ用アクセ
ス信号408−eを出力しない。
【0048】さらに、CPU102がフラッシュメモリ
112に対してデータコード書き込み(コマンド発行)
を行う場合、CPU102は対象メモリ制御レジスタ1
04にフラッシュメモリが対象である情報を書き込む。
メモリインターフェース112は対象メモリ切り換え制
御信号406により、メモリ用アドレス信号408−c
をフラッシュメモリ用アドレスバス404−aに出力す
るとともに、メモリ用データ信号408−dをフラッシ
ュメモリ用データバス404−bに出力し、メモリ用ア
クセス信号408−eをフラッシュメモリ用アクセス信
号404−cを出力する。この時、エミュレーションメ
モリ用アクセス信号402−eはリード専用信号である
ため出力されない。
【0049】以上のように、本実施の形態2のデバッグ
システムによれば、エミュレータにより実際に使用され
るフラッシュメモリの忠実な再現を行うことが困難な動
作を行うときには、フラッシュメモリに対してアクセス
を行うことができるので、この問題を回避しながらエミ
ュレータを用いたデバッグを行うことが可能となる。ま
た、エミュレータはAC特性等、実際に使用されるフラ
ッシュメモリの忠実な再現が困難な動作を行わないの
で、汎用のメモリ用エミュレータを用いることができ
る。従って、本発明のフラッシュメモリ内蔵LISを用
いても、従来のデバッグ手法をそのまま使用することが
できる。
【0050】なお、フラッシュメモリを内蔵していない
LSIとフラッシュメモリとを使用したシステムにおい
ても、同様のデバッグシステムを構築することが可能で
ある。
【0051】
【発明の効果】以上詳述したように、本発明のフラッシ
ュメモリを含むシステムおよび本発明のフラッシュメモ
リ内蔵LSIによれば、プログラムのデバッグのためだ
けにエバリュエーションチップを開発する必要がないた
め、開発工数や開発費用を低減して低コスト化を図るこ
とができる。また、デバッグ時にも実際に使用されるフ
ラッシュメモリをアクセスすることが可能であるため、
AC特性等、エミュレータと実フラッシュメモリとの間
の不整合を無くして、完全な実動作検証を行うことがで
きる。さらに、本発明のフラッシュメモリを含むシステ
ムおよびフラッシュメモリ内蔵LSIによれば、汎用の
エミュレータを使用することができるので、従来通りの
デバッグ手法を踏襲することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるフラッシュメモリ内
蔵LSIの構成を説明するためのブロック図である。
【図2】図1の構成を詳細に示した図である。
【図3】本発明の一実施形態において用いられるメモリ
インターフェイスの回路構成例を説明するための図であ
る。
【図4】本発明の一実施形態であるフラッシュメモリ内
蔵LSIを用いたデバッグシステムの構成を示すブロッ
ク図である。
【図5】フラッシュメモリ内のメモリ空間を説明するた
めの図である。
【図6】図4の構成を詳細に示した図である。
【図7】(a)は実製品の構成を説明するための図であ
り、(b)はプログラムデバッグ時に使用するエバリュ
エーションチップの構成を説明するための図である。
【図8】従来技術の構成を説明するためのブロック図で
ある。
【符号の説明】
2 エミュレータ本体 4 ターゲット基板 6 ホスト計算機 10 ホストインターフェース 12 コントローラ(CPU) 14 制御プログラム用メモリ 16 エミュレーションメモリ(RAM) 18 フラッシュメモリコマンド解析部 20 電気的エミュレーション部 22 バッファ 24 ターゲットバス 26 フラッシュメモリエミュレータアダプタ 28 プローブ 30 ターゲットCPU 100 フラッシュメモリ内蔵LSI 102 CPU 104 対象メモリ制御レジスタ 110 メモリインターフェース 112 フラッシュメモリ 114 シリアルインターフェース 116 入出力ポート 118 SRAM 120 対象メモリ制御回路 200 エミュレータ 202 ホストインターフェース 204 コントローラ(CPU) 206 制御プログラム用メモリ 208 エミュレーションメモリ 300 ホストコンピュータ 402 外部バス 402−a 動作モード検出信号 402−b CPUコントロール信号 402−c エミュレーションメモリ用アドレスバス 402−d エミュレーションメモリ用データバス 402−e エミュレーションメモリ用アクセス信号 404 内部バス 404−a フラッシュメモリ用アドレスバス 404−b フラッシュメモリ用データバス 404−c フラッシュメモリアクセス用信号 406 対象メモリ切り換え制御信号 408 バス 408−a 動作モード検出信号 408−b CPUコントロール信号 408−c メモリ用アドレス信号 408−d メモリ用データ信号 408−e メモリ用アクセス信号 SW1〜SW8 スイッチ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 プログラムコード、またはプログラムコ
    ードとデータコードを記憶するためのフラッシュメモリ
    を含むシステムにおいて、 該フラッシュメモリのメモリ動作を代行可能なエミュレ
    ータに接続される外部バスと、 システムが実動作モードであるか、または該エミュレー
    タを接続したエミュレーション動作モードであるかを検
    出する動作モード検出手段と、 該動作モード検出手段によりエミュレーション動作モー
    ドであることを検出した場合には、フラッシュメモリに
    接続された内部バスとエミュレータに接続される外部バ
    スとを切り換えて、フラッシュメモリにアクセスを行う
    か、またはエミュレータ内のエミュレーションメモリに
    アクセスを行うかを切り換える対象メモリ切り換え手段
    とを備えたフラッシュメモリを含むシステム。
  2. 【請求項2】 プログラムコード、またはプログラムコ
    ードとデータコードを記憶するためのフラッシュメモリ
    を内蔵したLSIにおいて、 該フラッシュメモリのメモリ動作を代行可能なエミュレ
    ータに接続される外部バスと、 システムが実動作モードであるか、または該エミュレー
    タを接続したエミュレーション動作モードであるかを検
    出する動作モード検出手段と、 該動作モード検出手段によりエミュレーション動作モー
    ドであることを検出したときに、フラッシュメモリに接
    続された内部バスとエミュレータに接続される外部バス
    とを切り換えて、フラッシュメモリにアクセスを行う
    か、またはエミュレータ内のエミュレーションメモリに
    アクセスを行うかを切り換える対象メモリ切り換え手段
    とを備えたフラッシュメモリ内蔵LSI。
  3. 【請求項3】 請求項1に記載のフラッシュメモリを含
    むシステムまたは請求項2に記載のフラッシュメモリ内
    蔵LSIと、 該フラッシュメモリのメモリ動作を代行可能で、かつ、
    プログラムのデバッグ機能を有するエミュレータから構
    成されるデバッグシステム。
JP2000236210A 2000-08-03 2000-08-03 フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム Withdrawn JP2002049504A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000236210A JP2002049504A (ja) 2000-08-03 2000-08-03 フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000236210A JP2002049504A (ja) 2000-08-03 2000-08-03 フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム

Publications (1)

Publication Number Publication Date
JP2002049504A true JP2002049504A (ja) 2002-02-15

Family

ID=18728294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000236210A Withdrawn JP2002049504A (ja) 2000-08-03 2000-08-03 フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム

Country Status (1)

Country Link
JP (1) JP2002049504A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357909C (zh) * 2005-08-31 2007-12-26 上海海尔集成电路有限公司 一种仿真器芯片

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357909C (zh) * 2005-08-31 2007-12-26 上海海尔集成电路有限公司 一种仿真器芯片

Similar Documents

Publication Publication Date Title
JP3313007B2 (ja) マイクロコンピュータ
EP0911735B1 (en) Microprocessor test system
JPH0798692A (ja) マイクロコンピュータ
JP3202700B2 (ja) 信号処理装置
US5168559A (en) Emulation system capable of complying with microcomputers having different on-chip memory capacities
US20070250740A1 (en) System and method for conducting BIST operations
KR20060110359A (ko) 자동차내의 임계 안전 컴퓨터 시스템을 위한 통합형시스템용 디바이스 및 방법
US5414815A (en) Method and apparatus for transferring data directly between a memory device and a peripheral device in a single address cycle under the control of a processor
JP2002049504A (ja) フラッシュメモリを含むシステムおよびフラッシュメモリ内蔵lsi並びにそれらを用いたデバッグシステム
JPH1040130A (ja) マイクロコンピュータ
US6742073B1 (en) Bus controller technique to control N buses
JPS6025624Y2 (ja) 情報処理装置開発用装置
WO2000017756A1 (fr) Processeur de signaux
JP2001092686A (ja) 半導体装置
JP3052385B2 (ja) マイクロコンピュータ
JP2004348635A (ja) プログラム開発方法
JP3590289B2 (ja) イベント検出回路
JP2000181579A (ja) 初期値設定変更装置
Xie et al. An SBus monitor board
JP2000259453A (ja) デバッグ装置
JP2004220089A (ja) デバッグプログラム及びデバッグ方法
JPH05233846A (ja) マイクロプロセッサ
JPH07219808A (ja) エミュレータのトレース方法およびエミュレータ
JP2001229700A (ja) メモリテスト回路
WO1997049035A1 (fr) Emulateur

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106