JP2002049504A - System including flash memory, flash memory built-in lsi, and debugging system using them - Google Patents

System including flash memory, flash memory built-in lsi, and debugging system using them

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
Japanese (ja)
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/en
Publication of JP2002049504A publication Critical patent/JP2002049504A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a flash memory built-in LSI which eliminates the need to specially develop an evaluation chip for program debugging and can verify even the operation that an emulator hardly reproduces faithfully in debugging. SOLUTION: A memory interface 10 detects which mode the system is in; a real operation mode or an operation mode wherein the emulator is connected. When the emulator is connected, connection to a bus 408 is switched to an internal bus 404 or external bus 402 by the object memory control signal 406 outputted from the object memory control circuit 120.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プログラムコード
またはプログラムコードとデータコードを記憶するフラ
ッシュメモリを含むシステムおよびフラッシュメモリ内
蔵LSIに関し、さらにプログラムコードをデバッグす
るためのデバッグシステムに関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to a system including a flash memory for storing a program code or a program code and a data code, an LSI with a built-in flash memory, and more particularly to a debug system for debugging a program code.

【0002】[0002]

【従来の技術】CPUを備えたシステムにおいて用いら
れるフラッシュメモリには、そのシステムで用いられる
プログラムコードが格納される場合が多い。さらに、フ
ラッシュメモリの容量増大および書き換え保証回数の増
大に伴って、フラッシュメモリにプログラムコードと共
にデータコードを格納する場合が増えている。
2. Description of the Related Art A flash memory used in a system having a CPU often stores program codes used in the system. Further, with an increase in the capacity of the flash memory and an increase in the guaranteed number of rewrites, the number of cases in which data codes are stored together with program codes in the flash memory is increasing.

【0003】従来、プログラムコードを格納するフラッ
シュメモリを内蔵したLSIは、実製品とは異なるデバ
ッグ専用のエバリュエーションチップを使用してプログ
ラムのデバッグを行っていた。
Conventionally, an LSI having a built-in flash memory for storing a program code has been used to debug a program using an evaluation chip dedicated to debugging different from an actual product.

【0004】図7(a)に実製品の例を示し、図7
(b)にエバリュエーションチップの例を示す。図7
(a)に示すように、実製品ではCPUおよびその周辺
回路(SRAMやランダムロジック(DRAM)等)と
共にフラッシュメモリも内蔵され、内部バスで接続され
ている。これに対して、エバリュエーションチップで
は、図7(b)に示すように、フラッシュメモリは内蔵
されず、その代わりに本来フラッシュメモリに接続され
ているアドレス信号、データ信号、制御信号等の信号が
外部端子として出力される。すなわち、エバリュエーシ
ョンチップでは、外部端子として出力された信号を介し
てフラッシュメモリの動作を代行するエミュレータを接
続し、このエミュレータによって内蔵フラッシュメモリ
の動作を実現する。さらに、エミュレータにはプログラ
ムのデバッグ機能が備わっており、デバッグ作業はエミ
ュレータによって行うことになる。
FIG. 7A shows an example of an actual product.
(B) shows an example of an evaluation chip. FIG.
As shown in (a), in a real product, a flash memory is built in together with a CPU and its peripheral circuits (SRAM, random logic (DRAM), etc.) and connected by an internal bus. On the other hand, in the evaluation chip, as shown in FIG. 7B, the flash memory is not built in. Instead, signals such as address signals, data signals, and control signals which are originally connected to the flash memory are transmitted. Output as an external terminal. That is, in the evaluation chip, an emulator that performs the operation of the flash memory through a signal output as an external terminal is connected, and the operation of the built-in flash memory is realized by the emulator. Further, the emulator has a program debugging function, and debugging is performed by the emulator.

【0005】上記エバリュエーションチップを使用した
デバッグシステムとしては、例えば特開平11−282
712号に開示されているようなものが挙げられる。図
8を用いて特開平11−282712号に開示されてい
るデバッグシステムの構成について説明する。このデバ
ッグシステムにおいて、エミュレータ本体2は、実際に
フラッシュメモリが設けられる基板であるターゲット基
板4に接続されている。また、エミュレータ本体2は、
ホスト計算機6にも接続されている。エミュレータ本体
2は、ホストインターフェース(HIF)10、CPU
で構成されるコントローラ12、制御プログラム用メモ
リ14、RAMで構成されるエミュレーションメモリ1
6、フラッシュメモリコマンド解析部18、電気的エミ
ュレーション部20およびバッファ22を含んでいる。
A debugging system using the above evaluation chip is disclosed in, for example, JP-A-11-282.
No. 712. The configuration of the debugging system disclosed in JP-A-11-282712 will be described with reference to FIG. In this debug system, the emulator main body 2 is connected to a target substrate 4 which is a substrate on which a flash memory is actually provided. Also, the emulator body 2
It is also connected to the host computer 6. The emulator body 2 includes a host interface (HIF) 10, a CPU
, A control program memory 14, an emulation memory 1 comprising a RAM
6, a flash memory command analysis unit 18, an electrical emulation unit 20, and a buffer 22.

【0006】エミュレーションメモリ16は、基本的に
ターゲット基板4に搭載されるフラッシュメモリと同様
の内容を格納するためのものであり、制御プログラム用
メモリ14はコントローラ12で実行されるプログラム
を格納するためのものである。フラッシュメモリコマン
ド解析部18はターゲット基板4から発行されるフラッ
シュメモリコマンドを検知するための回路であり、実際
のフラッシュメモリ内部での動作に近い速度での処理を
実現するために論理演算素子等を用いてハードウェア的
に構成される。電気的特性エミュレーション部20は、
例えばフラッシュメモリの各端子と同等のインピーダン
スを実現するための回路である。ホストインターフェー
ス10は、ホスト計算機6とコントローラ12とを接続
する部分である。コントローラ12は、制御プログラム
用メモリ14に格納されたプログラムを実行し、ホスト
計算機6とホストインターフェイス10を介して通信を
行い、エミュレーションメモリ16へのプログラムのダ
ウンロードを行う。バッファ22は、エミュレーション
メモリ16へのアクセスを制御する。
The emulation memory 16 is for storing basically the same contents as the flash memory mounted on the target substrate 4, and the control program memory 14 is for storing the program executed by the controller 12. belongs to. The flash memory command analysis unit 18 is a circuit for detecting a flash memory command issued from the target substrate 4, and includes a logical operation element and the like for realizing processing at a speed close to the actual operation inside the flash memory. It is configured in hardware by using. The electrical characteristic emulation unit 20
For example, it is a circuit for realizing the same impedance as each terminal of the flash memory. The host interface 10 connects the host computer 6 and the controller 12. The controller 12 executes the program stored in the control program memory 14, communicates with the host computer 6 via the host interface 10, and downloads the program to the emulation memory 16. The buffer 22 controls access to the emulation memory 16.

【0007】また、エミュレータ本体2からはターゲッ
トバス24が伸びている。このターゲットバス24とし
ては、ターゲット基板4との接続が容易なように、例え
ばフレキシブルなケーブルを用いることができる。ター
ゲットバス24のターゲット基板4側はフラッシュメモ
リエミュレータアダプタ26に接続される。なお、実際
にはプローブ28の上にフラッシュメモリエミュレータ
アダプタ26が配置(差し込み)されるが、図8では構
成を分かりやすくするためにずらして示している。フラ
ッシュメモリエミュレータアダプタ26とターゲット基
板4上のフラッシュメモリの取付位置とはプローブ28
を介して接続されている。このようにして、エミュレー
タ本体2とターゲット基板4とは接続されている。な
お、エミュレータ本体2が接続される際には、ターゲッ
ト基板4上のフラッシュメモリ取付位置には、実際のフ
ラッシュメモリは配置されない。
[0007] A target bus 24 extends from the emulator body 2. As the target bus 24, for example, a flexible cable can be used so as to be easily connected to the target substrate 4. The target board 4 side of the target bus 24 is connected to a flash memory emulator adapter 26. Although the flash memory emulator adapter 26 is actually arranged (inserted) on the probe 28, it is shifted in FIG. 8 for easy understanding of the configuration. The flash memory emulator adapter 26 and the mounting position of the flash memory on the target substrate 4
Connected through. Thus, the emulator main body 2 and the target substrate 4 are connected. When the emulator main body 2 is connected, no actual flash memory is arranged at the flash memory mounting position on the target substrate 4.

【0008】ターゲット基板4は、例えば自動車のエン
ジン制御回路やビデオカメラの制御回路等、実製品に用
いられる基板であり、フラッシュメモリおよびCPU
(ターゲットCPU)30を含んでいる。実製品では、
ターゲットCPU30は、当該基板上に配置されるフラ
ッシュメモリからプログラムを読み出して実行したり、
その他、フラッシュメモリに対してブロックイレーズや
書き込み等の操作を行ったりする。ホスト計算機6は、
ホストインターフェース10を介してコントローラ12
に接続され、データのダウンロードなどを行う。
The target substrate 4 is a substrate used for an actual product such as an engine control circuit of an automobile or a control circuit of a video camera.
(Target CPU) 30. In the actual product,
The target CPU 30 reads and executes a program from a flash memory arranged on the substrate,
In addition, operations such as block erase and writing are performed on the flash memory. The host computer 6
Controller 12 via host interface 10
Is connected to and downloads data.

【0009】この従来技術によれば、エミュレーション
メモリをあたかもフラッシュメモリのように扱って、フ
ラッシュメモリ特有のコマンドシーケンスをエミュレー
ションすることが可能であった。
According to this conventional technique, it is possible to emulate a command sequence unique to a flash memory by treating the emulation memory as if it were a flash memory.

【0010】[0010]

【発明が解決しようとする課題】このように、上述した
従来技術では、プログラムコードを格納するフラッシュ
メモリを内蔵するLSIにおいて、プログラムのデバッ
グのためだけに実製品とは異なるエバリュエーションチ
ップを別途開発する必要がある。このため、開発工数/
開発費用の増大がLSIのコストアップにつながると共
に、一旦フラッシュメモリ内蔵LSIに不具合が発見さ
れた場合に、エバリュエーションチップの修正をも行わ
なければならなかった。
As described above, in the above-described prior art, an evaluation chip different from an actual product is separately developed only for debugging a program in an LSI having a built-in flash memory for storing a program code. There is a need to. Therefore, development man-hours /
An increase in development cost leads to an increase in the cost of the LSI, and when a defect is found in the LSI with a built-in flash memory, the evaluation chip has to be corrected.

【0011】また、従来技術では、フラッシュメモリを
エミュレーションメモリで代替しており、電気的特性エ
ミュレーション部20が存在するものの、製品に搭載さ
れるフラッシュメモリの電気的特性、特に書き込み(コ
マンド発行)動作時のAC特性とは異なるという問題点
がある。具体的には、フラッシュメモリのAC特性はブ
ロックサイズに依存するため、ブロックサイズの異なる
フラッシュメモリ同士ではAC特性が異なる。また、同
じフラッシュメモリであっても、その経年劣化等の状態
によって書き込み後のベリファイ(検証)動作に要する
時間が異なるため、AC特性が同じとは限らない。この
ように様々な条件によってAC特性が異なるため、エミ
ュレータによってフラッシュメモリのAC特性を忠実に
再現することは困難であった。
In the prior art, the flash memory is replaced with an emulation memory, and although the electric characteristic emulation section 20 exists, the electric characteristics of the flash memory mounted on the product, particularly, the writing (command issuing) operation. There is a problem that the AC characteristics are different from those at the time. Specifically, since the AC characteristics of the flash memory depend on the block size, the flash memories having different block sizes have different AC characteristics. Further, even in the same flash memory, the time required for the verify (verification) operation after writing differs depending on the state of aging or the like, so that the AC characteristics are not always the same. Since the AC characteristics differ depending on various conditions as described above, it has been difficult to faithfully reproduce the AC characteristics of the flash memory by the emulator.

【0012】さらに、フラッシュメモリのコマンドセッ
トおよびコマンドシーケンスは一般に使用するフラッシ
ュメモリ毎に異なっているため、エミュレータもコマン
ドセットやコマンドシーケンス毎に専用のものを開発す
るか、または、汎用として使用できるようにするには、
異なる複数のコマンドセットやコマンドシーケンスに対
応する機能を備えなる必要があった。このため、安価で
汎用性の高いエミュレータは実現困難であった。このよ
うに、エミュレータによってAC特性を含めて、実際に
用いられるフラッシュメモリの動作を忠実に再現するの
は困難であり、完全な動作検証を行うことは非常に困難
であった。
Further, since the command set and command sequence of the flash memory differ for each flash memory used in general, an emulator can be developed for each command set or command sequence, or can be used for general purposes. To do
It was necessary to provide a function corresponding to a plurality of different command sets and command sequences. For this reason, it was difficult to realize an inexpensive and highly versatile emulator. As described above, it is difficult to faithfully reproduce the operation of the flash memory actually used including the AC characteristics by the emulator, and it is very difficult to perform a complete operation verification.

【0013】本発明は、このような従来技術の課題を解
決するためになされたものであり、プログラムのデバッ
グのためだけに実製品とは異なるエバリュエーションチ
ップを開発する必要をなくすと共に、デバッグ時にエミ
ュレータによって忠実な再現が困難な動作については、
実際に搭載されたフラッシュメモリをアクセスすること
によってAC特性を含む実フラッシュメモリとエミュレ
ータとの間の不整合をなくして完全な動作検証を可能と
することができるフラッシュメモリを含むシステムおよ
びフラッシュメモリ内蔵LSI並びにそれらを用いたデ
バッグシステムを提供することを目的とする。
The present invention has been made to solve such problems of the prior art, and eliminates the need to develop an evaluation chip different from an actual product only for debugging a program, and at the time of debugging. For operations that are difficult to reproduce faithfully with the emulator,
A system including a flash memory and a built-in flash memory capable of eliminating a mismatch between an actual flash memory including AC characteristics and an emulator by accessing an actually mounted flash memory and enabling complete operation verification An object of the present invention is to provide an LSI and a debugging system using them.

【0014】[0014]

【課題を解決するための手段】本発明のフラッシュメモ
リを含むシステムは、プログラムコード、またはプログ
ラムコードとデータコードを記憶するためのフラッシュ
メモリを含むシステムにおいて、該フラッシュメモリの
メモリ動作を代行可能なエミュレータに接続される外部
バスと、システムが実動作モードであるか、または該エ
ミュレータを接続したエミュレーション動作モードであ
るかを検出する動作モード検出手段と、該動作モード検
出手段によりエミュレーション動作モードであることを
検出したときに、フラッシュメモリに対してアクセスを
行うか、またはエミュレータ内のエミュレーションメモ
リにアクセスを行うかを切り換える対象メモリ切り換え
手段とを備え、そのことにより上記目的が達成される。
A system including a flash memory according to the present invention can substitute a memory operation of the flash memory in a system including a flash memory for storing a program code or a program code and a data code. An external bus connected to the emulator; an operation mode detecting means for detecting whether the system is in an actual operation mode or an emulation operation mode to which the emulator is connected; and an emulation operation mode by the operation mode detection means. A memory switching means for switching whether to access the flash memory or to access the emulation memory in the emulator when it is detected that the above object is achieved.

【0015】本発明のフラッシュメモリ内蔵LSIは、
プログラムコード、またはプログラムコードとデータコ
ードを記憶するためのフラッシュメモリを内蔵したLS
Iにおいて、該フラッシュメモリのメモリ動作を代行可
能なエミュレータに接続される外部バスと、システムが
実動作モードであるか、または該エミュレータを接続し
たエミュレーション動作モードであるかを検出する動作
モード検出手段と、該動作モード検出手段によりエミュ
レーション動作モードであることを検出したときに、フ
ラッシュメモリに接続された内部バスとエミュレータに
接続される外部バスとを切り換えて、フラッシュメモリ
にアクセスを行うか、またはエミュレータ内のエミュレ
ーションメモリにアクセスを行うかを切り換える対象メ
モリ切り換え手段とを備え、そのことにより上記目的が
達成される。
An LSI with a built-in flash memory according to the present invention comprises:
LS with built-in flash memory for storing program code or program code and data code
I, an external bus connected to an emulator capable of acting as a memory for the flash memory, and an operation mode detecting means for detecting whether the system is in an actual operation mode or an emulation operation mode to which the emulator is connected And when the operation mode detecting means detects that the emulation operation mode is selected, the flash memory is accessed by switching between an internal bus connected to the flash memory and an external bus connected to the emulator, or A target memory switching means for switching whether to access the emulation memory in the emulator, thereby achieving the above object.

【0016】上記構成によれば、同じメモリ空間にマッ
ピングされた実際に使用されるフラッシュメモリと、エ
ミュレータ内のエミュレーションメモリとを、動作モー
ドが実動作モードであるかエミュレーション動作モード
であるかに応じて、さらに、メモリヘのアクセス対象
が、CPUが実行するプログラムであるプログラムコー
ドであるか、音声や画像等のデータコードであるかに応
じて、切り換えることができる。よって、同一チップで
実動作とエミュレーション動作とを実現することが可能
となり、プログラムをデバッグするための実製品とは異
なるエバリュエーションチップを別途開発する必要がな
くなる。
According to the above configuration, the actually used flash memory mapped in the same memory space and the emulation memory in the emulator are determined according to whether the operation mode is the actual operation mode or the emulation operation mode. Further, switching can be performed depending on whether an access target to the memory is a program code which is a program executed by the CPU or a data code such as sound or image. Therefore, the actual operation and the emulation operation can be realized on the same chip, and it is not necessary to separately develop an evaluation chip different from an actual product for debugging a program.

【0017】本発明のデバッグシステムは、本発明のフ
ラッシュメモリを含むシステムまたは本発明のフラッシ
ュメモリ内蔵LSIと、該フラッシュメモリのメモリ動
作を代行可能で、かつ、プログラムのデバッグ機能を有
するエミュレータから構成され、そのことにより上記目
的が達成される。
A debug system of the present invention comprises a system including the flash memory of the present invention or an LSI with a built-in flash memory of the present invention, and an emulator capable of acting as a memory for the flash memory and having a program debugging function. Thus, the above object is achieved.

【0018】上記構成によれば、エミュレータを用いた
デバッグ時に、エミュレータで忠実な再現が困難な動作
については、実際に用いられるフラッシュメモリをアク
セスして行うことが可能となる。よって、AC特性等、
実フラッシュメモリとエミュレータとの間の不整合を回
避して、完全な動作検証を行うことが可能となる。
According to the above configuration, at the time of debugging using the emulator, operations that are difficult to faithfully reproduce with the emulator can be performed by accessing the flash memory actually used. Therefore, AC characteristics, etc.
Complete operation verification can be performed while avoiding mismatch between the actual flash memory and the emulator.

【0019】[0019]

【発明の実施の形態】以下に、本発明の実施の形態につ
いて、図面を参照しながら説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0020】[実施の形態1]図1は、本発明の一実施
形態であるフラッシュメモリ内蔵LSIの構成を示すブ
ロック図である。この構成は、通常のフラッシュメモリ
内蔵LSIにメモリインターフェイス110と対象メモ
リ120とを加えたものである。
[First Embodiment] FIG. 1 is a block diagram showing a configuration of an LSI with a built-in flash memory according to an embodiment of the present invention. This configuration is obtained by adding a memory interface 110 and a target memory 120 to an ordinary flash memory built-in LSI.

【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、メモリ用ア
クセス信号に対応する。
In FIG. 1, a flash memory built-in LSI 100 includes a CPU 1 for detecting an operation mode.
02, a flash memory 112 for storing program codes and data codes, a serial interface 114 for downloading data to the flash memory 112, and an input / output port connected to a target system (a target controlled by the flash memory built-in LSI 100) 116, S which is a peripheral circuit of the CPU
It comprises a RAM 118, a target memory control circuit 120 including a target memory control register 104 for controlling switching of an access target memory, and a memory interface 110 for detecting an operation mode of the LSI 100 with built-in flash memory and switching the access target memory. In FIG. 1, reference numeral 402 denotes an external bus connected to the emulator, and an operation mode detection signal 402-
a, a CPU control signal 402-b, an emulation memory address bus 402-c, an emulation memory data bus 402-d, and an emulation memory access signal 402-e. Also, 40
Reference numeral 4 denotes an internal bus connected to the flash memory, which corresponds to a flash memory address bus 404-a, a flash memory data bus 404-b, and a flash memory access signal 404-c, which will be described later. Also, 40
Reference numeral 6 denotes a target memory switching control signal output from the target memory control circuit 120 in accordance with the value stored in the target memory control register 104. Reference numeral 408 denotes a bus for connecting each component of the flash memory built-in LSI, and includes an operation mode detection signal 408-a, which will be described later, and a CPU.
Control signal 408-b, memory address signal 4
08-c, the memory data signal 408-d, and the memory access signal.

【0022】このフラッシュメモリ内蔵LSI100
は、プログラムのデバッグに使用する従来のエバリュエ
ーションチップとは異なり、フラッシュメモリ112を
内蔵しているため、実製品においても同じLSIを使用
することができる。
This LSI 100 with built-in flash memory
Unlike the conventional evaluation chip used for debugging a program, since the flash memory 112 is built in, the same LSI can be used in an actual product.

【0023】図2は、上記図1におけるメモリインター
フェース110の構成をさらに詳しく説明するための図
である。この図2において、406はメモリインターフ
ェース110に対する対象メモリ切り換え制御信号であ
る。
FIG. 2 is a diagram for explaining the structure of the memory interface 110 in FIG. 1 in more detail. In FIG. 2, reference numeral 406 denotes a target memory switching control signal for the memory interface 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を固定する。
The CPUs 402-a and 408-a
2 is an operation mode detection signal used to notify the emulator connection to the memory interface 1 based on the operation mode detection signal 402-a input from the outside.
Based on the operation mode detection signal 408-a generated by the CPU 10, the CPU 102 detects whether or not the emulator is connected. When the emulator is not connected, the operation mode detection signal is fixed to one of the low level and the high level in the memory interface 110. For example, if the actual operation mode is set when the operation mode detection signal is at the low level, when the CPU 102 detects the low level and recognizes that the operation mode is the actual operation mode, the flash memory 112 is selected as the access target memory. Thus, the target memory switching control signal 406 is fixed for the target memory control circuit 120. On the other hand, when the emulator is connected, the operation mode detection signals 402-a,
When the CPU 102 detects the High level 08-a and recognizes that the emulation operation mode is set, the emulation memory 208 is used as an access target memory.
Is fixed to the target memory control circuit 120 so that the target memory switching circuit 406 is selected.

【0025】402−bと408−bはエミュレータが
CPU102にシステム(LSI100)の初期化を指
示するためのCPUコントロール信号であり、ホストコ
ンピュータからリセットコマンドが入力された場合に出
力される。これによりCPU102はプログラムスター
トアドレスからプログラムを実行できる状態になり、ま
た、対象メモリ制御レジスタを含むレジスタ、入出力ポ
ートの状態およびシリアルインターフェイスの状態等、
ハードウェア仕様が初期化される。本実施形態では、フ
ラッシュメモリ112がアクセス対象となるように初期
化される。
Reference numerals 402-b and 408-b denote CPU control signals for the emulator to instruct the CPU 102 to initialize the system (LSI 100), and are output when a reset command is input from the host computer. As a result, the CPU 102 can execute the program from the program start address. In addition, the register including the target memory control register, the state of the input / output port, the state of the serial interface, etc.
Hardware specifications are initialized. In the present embodiment, the flash memory 112 is initialized so as to be accessed.

【0026】402−cはエミュレータのエミュレーシ
ョンメモリ用アドレスバス、402−dはエミュレータ
のエミュレーションメモリ用データバス、402−eは
エミュレータのエミュレーションメモリ用アクセス信号
であり、リード(読み出し)専用のものである。また、
404−aはフラッシュメモリ用アドレスバス、404
−bはフラッシュメモリ用データバス、404−cはフ
ラッシュメモリ用アクセス信号である。さらに、408
−cはメモリ用アドレス信号、408−dはメモリ用デ
ータ信号、408−eはメモリ用アクセス信号である。
Reference numeral 402-c denotes an address bus for the emulation memory of the emulator, 402-d denotes a data bus for the emulation memory of the emulator, and 402-e denotes an access signal for the emulation memory of the emulator, which is exclusively used for reading (reading). . Also,
404-a is an address bus for flash memory;
-B is a flash memory data bus, and 404-c is a flash memory access signal. In addition, 408
-C is a memory address signal, 408-d is a memory data signal, and 408-e is a memory access signal.

【0027】メモリインターフェイス110としては、
例えば図3に示すような回路構成のものを用いることが
できる。この図において、SW1〜SW8は対象メモリ
切り換え制御信号406によってON/OFFするスイ
ッチであり、SW5のみが双方向スイッチである。40
2−aはエミュレータ200が接続された場合にHig
hレベルとなる信号であり、408−aはエミュレータ
200接続時にHighレベルとなり、未接続時にはメ
モリ110内のプルダウン抵抗によりLowレベルとな
る。
As the memory interface 110,
For example, a circuit having a circuit configuration as shown in FIG. 3 can be used. In this figure, SW1 to SW8 are switches that are turned ON / OFF by a target memory switching control signal 406, and only SW5 is a bidirectional switch. 40
2-a is Hig when the emulator 200 is connected.
The signal 408-a goes high when the emulator 200 is connected, and goes low due to a pull-down resistor in the memory 110 when not connected.

【0028】エミュレータ200が接続時に、対象メモ
リ切り換え制御信号406がHighレベルになること
により、SW1、SW2、SW4、SW6およびSW8
がON状態になる。この場合、CPUコントロール信号
402−bおよび408−bが有効になると共にメモリ
用アドレス信号408−c、メモリ用データ信号408
−dおよびメモリ用アクセス信号408−eがエミュレ
ータ200に接続され、CPU102はエミュレーショ
ンメモリ208へのアクセスが可能となる。
When the emulator 200 is connected, the target memory switching control signal 406 becomes High level, so that SW1, SW2, SW4, SW6 and SW8
Is turned on. In this case, the CPU control signals 402-b and 408-b become valid, and the memory address signal 408-c and the memory data signal 408
−d and the memory access signal 408-e are connected to the emulator 200, and the CPU 102 can access the emulation memory 208.

【0029】一方、エミュレータ200が接続時に、対
象メモリ切り換え制御信号406がLowレベルになる
ことにより、SW3、SW5およびSW7がON状態に
なる。この場合、メモリ用アドレス信号408−c、メ
モリ用データ信号408−dおよびメモリ用アクセス信
号408−eがフラッシュメモリ112に接続され、C
PU102はフラッシュメモリ112へのアクセスが可
能となる。
On the other hand, when the emulator 200 is connected, the target memory switching control signal 406 goes low, so that SW3, SW5 and SW7 are turned on. In this case, the memory address signal 408-c, the memory data signal 408-d, and the memory access signal 408-e are connected to the flash memory 112, and
The PU 102 can access the flash memory 112.

【0030】なお、エミュレータ200の未接続時に
は、対象メモリ切り換え制御信号406は常にLowレ
ベルであり、CPU102はフラッシュメモリ112へ
のアクセスが可能となる。
When the emulator 200 is not connected, the target memory switching control signal 406 is always at the Low level, and the CPU 102 can access the flash memory 112.

【0031】以下に、本実施の形態1のフラッシュメモ
リ内蔵LSIの特徴的機能について、図2を用いて説明
する。なお、本実施形態において、フラッシュメモリと
エミュレーションメモリのいずれにアクセスするかはC
PU102が決定し、CPU102が対象メモリ制御レ
ジスタ104にアクセス対象情報を書き込む。この処理
は、CPU102が実行するプログラムに記述する。
The characteristic functions of the LSI with a built-in flash memory according to the first embodiment will be described below with reference to FIG. In this embodiment, whether to access the flash memory or the emulation memory is determined by C
The PU 102 is determined, and the CPU 102 writes the access target information to the target memory control register 104. This process is described in a program executed by the CPU 102.

【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を出力しない。
In this LSI with built-in flash memory, during emulation operation, the CPU 102 reads data from the emulation memory using the emulation memory address bus 402-c, the emulation memory data bus 402-d, and the emulation memory access signal 402-e. When performing the above, the CPU 102 writes information indicating that the emulation memory is a target in the target memory control register 104. The target memory switching control signal 40 output from the target memory control circuit 120 in response to this information
6, the memory interface 110 causes the memory address signal 408-c and the memory access signal 408
-E is an emulation memory address bus 402-
c and emulation memory access signal 402-e
And outputs the program code stored in the emulation memory to the data bus 40 for the emulation memory.
2-d and output as a memory data signal 408-d. At this time, the memory interface 11
0 indicates a memory address signal 408-c and a memory access signal 4 for the flash memory address bus 404-a and the flash memory access signal 404-c.
08-e is not output.

【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を出力しない。
On the other hand, the CPU 102 sets the flash memory address bus 404-a, the flash memory data bus 404-b, and the flash memory access signal 4
When reading data from the flash memory 112 using 04-c, the CPU 102 writes information indicating that the flash memory is the target in the target memory control register 104. Then, the memory interface 110 is controlled by the target memory switching control signal 406 output from the target memory control circuit 120 in response to this information.
Transmits the memory address signal 408-c and the memory access signal 408-e to the flash memory address bus 40.
4-a and a flash memory access signal 404-c, read the data stored in the flash memory 112 from the flash memory data bus 404-b, and output it as a memory data signal 408-d. At this time, the memory interface 110 responds to the emulation memory address bus 402-c and the emulation memory access signal 402-e with respect to the memory address signal 408-c and the memory access signal 408.
Do not output -e.

【0034】さらに、CPU102がフラッシュメモリ
112にデータ書き込み(コマンド発行)を行う場合に
は、CPU102は対象メモリ制御レジスタ104にフ
ラッシュメモリがアクセスの対象であることを示す情報
を書き込む。そして、この情報に応じて対象メモリ制御
回路120から出力される対象メモリ切り換え制御信号
406により、メモリインターフェース110はメモリ
用アドレス信号408−c、メモリ用データ信号408
−dおよびメモリ用アクセス信号408−eをフラッシ
ュメモリ用アドレスバス404−a、フラッシュメモリ
用データバス404−dおよびフラッシュメモリ用アク
セス信号404−cに出力する。このとき、エミュレー
ションメモリ用アクセス信号402−eはリード専用信
号であるため出力されない。
Further, when the CPU 102 writes data (issues a command) to the flash memory 112, the CPU 102 writes information indicating that the flash memory is to be accessed in the target memory control register 104. Then, in response to the target memory switching control signal 406 output from the target memory control circuit 120 in response to this information, the memory interface 110 causes the memory address signal 408-c and the memory data signal 408
-D and the memory access signal 408-e are output to the flash memory address bus 404-a, the flash memory data bus 404-d, and the flash memory access signal 404-c. At this time, the emulation memory access signal 402-e is not output because it is a read-only signal.

【0035】以上のように、本実施の形態1のフラッシ
ュメモリ内蔵LSIによれば、実動作モードであるかエ
ミュレータに接続されたエミュレーション動作モードで
あるかを検出して、エミュレータ接続時に、フラッシュ
メモリヘの読み出しと書き込み、エミュレータ内のエミ
ュレーションメモリヘの読み出しを切り換えることが可
能である。
As described above, according to the LSI with a built-in flash memory according to the first embodiment, it is detected whether the operation mode is the actual operation mode or the emulation operation mode connected to the emulator. It is possible to switch between reading and writing data to and from the emulation memory in the emulator.

【0036】[実施の形態2]図4は、実施の形態1に
おいて図1を用いて説明したフラッシュメモリ内蔵LS
Iを使用したデバッグシステムの構成を示すブロック図
である。この図4において、エミュレータ200は、ホ
ストインターフェース202、CPUからなるコントロ
ーラ204、制御プログラム用メモリ206およびRA
Mからなるエミュレーションメモリ208で構成されて
いる。
[Second Embodiment] FIG. 4 shows a LS with a built-in flash memory described in the first embodiment with reference to FIG.
FIG. 2 is a block diagram showing a configuration of a debugging system using I. In FIG. 4, an emulator 200 includes a host interface 202, a controller 204 including a CPU, a control program memory 206, and an RA.
An emulation memory 208 made up of M.

【0037】エミュレーションメモリ208は、基本的
にフラッシュメモリ内蔵LSI100のフラッシュメモ
リ112と同様の内容を格納するためのものであり、制
御プログラムメモリ206はコントローラ204で実行
されるプログラムを格納するためのものである。
The emulation memory 208 is for storing basically the same contents as the flash memory 112 of the LSI 100 with built-in flash memory, and the control program memory 206 is for storing the program executed by the controller 204. It is.

【0038】エミュレータ200は、バス402によっ
てフラッシュメモリ内蔵LSI100のメモリインター
フェース110に接続されている。また、ホストコンピ
ュータ300は、ホストインターフェース202を介し
てコントローラ204に接続され、データのダウンロー
ドなどを行う。
The emulator 200 is connected by a bus 402 to the memory interface 110 of the LSI 100 with built-in flash memory. The host computer 300 is connected to the controller 204 via the host interface 202 and downloads data and the like.

【0039】さらに、エミュレータは、ユーザプログラ
ムをエミュレータ内のエミュレーションメモリにダウン
ロードすると共に、主として、 (1)ハードウェアブレーク機能 任意のアドレス値、データ値によるブレークが可能 (2)リアルタイムトレース機能 アドレスバスおよびデータバスをバスサイクル毎にリア
ルタイムで取り込み可能 (3)リアルタイムカウント機能 ユーザプログラムの実行時間の計測が可能 (4)2点間実行計測機能 イベント条件で指定した2点間の実行時間を計測可能 (5)強制ブレーク機能 実行中のユーザプログラムを強制的に停止させることが
可能 等のデバッグ機能を有する。
Further, the emulator downloads the user program to the emulation memory in the emulator, and mainly performs (1) a hardware break function and a break by an arbitrary address value and data value. (2) a real-time trace function. Data bus can be captured in real time for each bus cycle. (3) Real-time counting function. Execution time of user program can be measured. (4) Execution measurement function between two points. Execution time between two points specified by event condition can be measured. 5) Forcible break function The debugger has a debug function that can forcibly stop the running user program.

【0040】上記デバッグシステムは、CPU102が
エミュレータ200のエミュレーションメモリ208に
格納されたプログラムコードを実行する場合にはエミュ
レーションメモリ208を、CPU102がフラッシュ
メモリ112に格納されたデータコードの読み出しを行
う場合にはフラッシュメモリ112をアクセスする機能
を有している。さらに、CPU102がフラッシュメモ
リ112にデータコードの書き込み(コマンド発行)を
行う場合には、フラッシュメモリ112をアクセスする
機能を有している。
The debugging system described above uses the emulation memory 208 when the CPU 102 executes the program code stored in the emulation memory 208 of the emulator 200, and the emulation memory 208 when the CPU 102 reads the data code stored in the flash memory 112. Has a function of accessing the flash memory 112. Further, the CPU 102 has a function of accessing the flash memory 112 when writing a data code (issuing a command) to the flash memory 112.

【0041】このように、読み出しを行う場合に、プロ
グラムコードであるかデータコードであるかによって対
象メモリを異ならせる理由は、以下の通りである。プロ
グラムコードの場合には、エミュレータのデバッグ機能
を使用してプログラムコードのデバッグを可能とし、デ
ータコードの場合には、実際のフラッシュメモリに格納
されたデータを使用可能とするため、プログラムコード
であるかデータコードによって対象メモリを切り換え
る。実製品において、フラッシュメモリ内蔵LSIに内
蔵されるフラッシュメモリには、図5に示すように、プ
ログラムコードを格納する格納領域とデータコードを格
納する格納領域とが混在する。プログラム開発段階で
は、このプログラムコードのデバッグを行うために、R
OMICE等のエミュレータを使用する。一方、データ
コードは、プログラム実行により随時書き換えられ、そ
のデータコードを使用した処理が実行される。本実施形
態では、プログラム開発段階で汎用のROMICE(エ
ミュレータ)を使用したデバッグを可能とすると共に、
フラッシュメモリに書き込まれるデータコードについて
は実際に使用するフラッシュメモリを使用するために、
プログラムコードであるかデータコードであるかによっ
て対象メモリを異ならせるのである。
The reason for making the target memory different depending on whether the data is a program code or a data code when reading data is as follows. In the case of the program code, the program code can be debugged by using the debug function of the emulator, and in the case of the data code, the data stored in the actual flash memory can be used. The target memory is switched according to the data code. In an actual product, as shown in FIG. 5, a storage area for storing a program code and a storage area for storing a data code are mixed in a flash memory built in a flash memory LSI. At the program development stage, to debug this program code, R
Use an emulator such as OMICE. On the other hand, the data code is rewritten as needed by executing the program, and processing using the data code is executed. This embodiment enables debugging using a general-purpose ROMICE (emulator) at the program development stage,
For the data code written to the flash memory, to use the flash memory actually used,
The target memory differs depending on whether it is a program code or a data code.

【0042】さらに、エミュレータに対してデータ書き
込みを行わない理由については、以下の通りである。エ
ミュレータ内のエミュレーションメモリ(SRAM)と
実デバイス(フラッシュメモリ)では、データ書き込み
における書き込みアルゴリズムが異なるため、フラッシ
ュメモリへのデータ書き込み用プログラムでは、エミュ
レーションメモリへの書き込みを正常に行うことができ
ない。従来技術のように、エミュレーションメモリをフ
ラッシュメモリとして代用した場合にはAC特性が異な
る。さらに、エミュレータのエミュレータメモリとして
フラッシュメモリ内蔵LSIに内蔵されているフラッシ
ュメモリと同じものを使用すれば、エミュレータへのデ
ータ書き込みが可能となるが、フラッシュメモリは各メ
ーカー、機種によって書き込みアルゴリズムやAC特性
が異なるため、カスタムのROMICEが必要となる。
本実施形態では、エミュレータに対してデータ書き込み
を行わず、フラッシュメモリに対してデータ書き込みを
行うことにより、このような問題を防ぐことができる。
さらに、汎用のROMICEを使用可能とすることがで
きる。
Further, the reason why data is not written to the emulator is as follows. Since the emulation memory (SRAM) in the emulator and the real device (flash memory) have different write algorithms in data writing, a program for writing data to the flash memory cannot normally write to the emulation memory. When the emulation memory is substituted for the flash memory as in the prior art, the AC characteristics are different. Furthermore, if the same flash memory built into the flash memory LSI is used as the emulator memory of the emulator, data can be written to the emulator. , A custom ROMICE is required.
In the present embodiment, such a problem can be prevented by writing data to the flash memory without writing data to the emulator.
Further, a general-purpose ROMICE can be used.

【0043】図6は、図4におけるCPU102、対象
メモリ制御レジスタ104、メモリインターフェース1
10、フラッシュメモリ112およびエミュレータ20
0の接続をさらに詳しく説明するための図である。
FIG. 6 shows the CPU 102, the target memory control register 104, and the memory interface 1 in FIG.
10, flash memory 112 and emulator 20
FIG. 7 is a diagram for explaining connection of 0 in more detail;

【0044】エミュレータ200の制御用プログラムメ
モリ206には、エミュレーションメモリ208の内容
をフラッシュメモリ112に書き込むプログラム、およ
びフラッシュメモリ112の内容をエミュレーションメ
モリ208に書き込むプログラムが内蔵されている。そ
して、エミュレータ200の起動後、ホストコンピュー
タからエミュレーションメモリ208にプログラムコー
ドをダウンロードした際に、エミュレーションメモリ2
08からメモリインターフェイス110を介してその内
容がフラッシュメモリ112に伝わり、エミュレーショ
ンメモリ208と同じ内容がフラッシュメモリ112に
書き込まれる。また、シリアルイン夕ーフェース114
を介してフラッシュメモリ112にダウンロードされた
プログラムコードやデータコードは、エミュレータ20
0のコマンド実行により、フラッシュメモリ112から
メモリ110を介してエミュレーション208に伝わ
り、エミュレーションメモリ208に書き込まれる。
The control program memory 206 of the emulator 200 contains a program for writing the contents of the emulation memory 208 to the flash memory 112 and a program for writing the contents of the flash memory 112 to the emulation memory 208. After the emulator 200 is activated, when the program code is downloaded from the host computer to the emulation memory 208, the emulation memory 2
From 08, the content is transmitted to the flash memory 112 via the memory interface 110, and the same content as the emulation memory 208 is written to the flash memory 112. In addition, serial interface 114
The program code and data code downloaded to the flash memory 112 via the
By the execution of the 0 command, the command is transmitted from the flash memory 112 to the emulation 208 via the memory 110 and is written to the emulation memory 208.

【0045】以下に、本実施の形態2のデバッグシステ
ムの特徴的機能について、図6を用いて説明する。
The characteristic functions of the debug system according to the second embodiment will be described below with reference to FIG.

【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を出力
しない。
When the emulator 200 is connected to the LSI 100 with a built-in flash memory, the CPU 10
2 is the emulation memory 20 of the emulator 200
8 to execute the program code stored in CP
Ul02 writes into the target memory control register 104 information indicating that the emulation memory is the target. Then, the memory interface 110 uses the target memory switching control signal 406 output from the target memory control circuit 120 to generate a memory address signal 408-c.
Is output to the emulation memory address bus 402-c, the memory access signal 408-e is output as the emulation memory access signal 402-e, and the program code stored in the emulation memory is transmitted to the emulation memory data bus 402-c.
The data is read out to the data bus for memory 408-d via d.
At this time, the memory interface 110 does not output the memory address signal 408-c and the memory access signal 408-e in response to the flash memory address bus 404-a and the flash memory access signal 404-c.

【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を出力しない。
On the other hand, the CPU 102
12 to read the data code stored in
The PU 102 writes information indicating that the flash memory is the target in the target memory control register 104. The memory interface 110 outputs the memory address signal 408-c to the flash memory address bus 404-a and the memory access signal 408-c according to the target memory switching control signal 406 output from the target memory control circuit 120. e to the flash memory access signal 404-c to transfer the data in the flash memory 112 to the flash memory data bus 4.
The data is read out to the memory data bus 408-d via the data bus 04-b. At this time, the memory interface 110 does not output the memory address signal 408-c and the memory access signal 408-e in response to the emulation memory address bus 402-c and the emulation memory access signal 402-e.

【0048】さらに、CPU102がフラッシュメモリ
112に対してデータコード書き込み(コマンド発行)
を行う場合、CPU102は対象メモリ制御レジスタ1
04にフラッシュメモリが対象である情報を書き込む。
メモリインターフェース112は対象メモリ切り換え制
御信号406により、メモリ用アドレス信号408−c
をフラッシュメモリ用アドレスバス404−aに出力す
るとともに、メモリ用データ信号408−dをフラッシ
ュメモリ用データバス404−bに出力し、メモリ用ア
クセス信号408−eをフラッシュメモリ用アクセス信
号404−cを出力する。この時、エミュレーションメ
モリ用アクセス信号402−eはリード専用信号である
ため出力されない。
Further, the CPU 102 writes a data code into the flash memory 112 (issues a command).
Is performed, the CPU 102 sets the target memory control register 1
04 is written with information intended for the flash memory.
The memory interface 112 uses the target memory switching control signal 406 to generate a memory address signal 408-c.
To the flash memory address bus 404-a, the memory data signal 408-d to the flash memory data bus 404-b, and the memory access signal 408-e to the flash memory access signal 404-c. Is output. At this time, the emulation memory access signal 402-e is not output because it is a read-only signal.

【0049】以上のように、本実施の形態2のデバッグ
システムによれば、エミュレータにより実際に使用され
るフラッシュメモリの忠実な再現を行うことが困難な動
作を行うときには、フラッシュメモリに対してアクセス
を行うことができるので、この問題を回避しながらエミ
ュレータを用いたデバッグを行うことが可能となる。ま
た、エミュレータはAC特性等、実際に使用されるフラ
ッシュメモリの忠実な再現が困難な動作を行わないの
で、汎用のメモリ用エミュレータを用いることができ
る。従って、本発明のフラッシュメモリ内蔵LISを用
いても、従来のデバッグ手法をそのまま使用することが
できる。
As described above, according to the debug system of the second embodiment, when performing an operation in which it is difficult to faithfully reproduce the flash memory actually used by the emulator, access to the flash memory is performed. Therefore, debugging using an emulator can be performed while avoiding this problem. Further, since the emulator does not perform an operation such as AC characteristics that makes it difficult to faithfully reproduce the flash memory actually used, a general-purpose memory emulator can be used. Therefore, even if the flash memory built-in LIS of the present invention is used, the conventional debugging method can be used as it is.

【0050】なお、フラッシュメモリを内蔵していない
LSIとフラッシュメモリとを使用したシステムにおい
ても、同様のデバッグシステムを構築することが可能で
ある。
It should be noted that a similar debugging system can be constructed even in a system using an LSI having no built-in flash memory and a flash memory.

【0051】[0051]

【発明の効果】以上詳述したように、本発明のフラッシ
ュメモリを含むシステムおよび本発明のフラッシュメモ
リ内蔵LSIによれば、プログラムのデバッグのためだ
けにエバリュエーションチップを開発する必要がないた
め、開発工数や開発費用を低減して低コスト化を図るこ
とができる。また、デバッグ時にも実際に使用されるフ
ラッシュメモリをアクセスすることが可能であるため、
AC特性等、エミュレータと実フラッシュメモリとの間
の不整合を無くして、完全な実動作検証を行うことがで
きる。さらに、本発明のフラッシュメモリを含むシステ
ムおよびフラッシュメモリ内蔵LSIによれば、汎用の
エミュレータを使用することができるので、従来通りの
デバッグ手法を踏襲することができる。
As described in detail above, according to the system including the flash memory of the present invention and the LSI with built-in flash memory of the present invention, it is not necessary to develop an evaluation chip only for debugging a program. Development man-hours and development costs can be reduced, and costs can be reduced. Also, since it is possible to access the flash memory that is actually used during debugging,
It is possible to perform complete actual operation verification without any mismatch between the emulator and the actual flash memory such as AC characteristics. Further, according to the system including the flash memory and the LSI with built-in flash memory of the present invention, a general-purpose emulator can be used, so that the conventional debugging method can be followed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態であるフラッシュメモリ内
蔵LSIの構成を説明するためのブロック図である。
FIG. 1 is a block diagram illustrating a configuration of an LSI with built-in flash memory according to an embodiment of the present invention.

【図2】図1の構成を詳細に示した図である。FIG. 2 is a diagram showing the configuration of FIG. 1 in detail.

【図3】本発明の一実施形態において用いられるメモリ
インターフェイスの回路構成例を説明するための図であ
る。
FIG. 3 is a diagram for explaining a circuit configuration example of a memory interface used in one embodiment of the present invention;

【図4】本発明の一実施形態であるフラッシュメモリ内
蔵LSIを用いたデバッグシステムの構成を示すブロッ
ク図である。
FIG. 4 is a block diagram showing a configuration of a debugging system using an LSI with a built-in flash memory according to an embodiment of the present invention.

【図5】フラッシュメモリ内のメモリ空間を説明するた
めの図である。
FIG. 5 is a diagram for explaining a memory space in a flash memory.

【図6】図4の構成を詳細に示した図である。FIG. 6 is a diagram showing the configuration of FIG. 4 in detail.

【図7】(a)は実製品の構成を説明するための図であ
り、(b)はプログラムデバッグ時に使用するエバリュ
エーションチップの構成を説明するための図である。
7A is a diagram for explaining a configuration of an actual product, and FIG. 7B is a diagram for explaining a configuration of an evaluation chip used at the time of program debugging.

【図8】従来技術の構成を説明するためのブロック図で
ある。
FIG. 8 is a block diagram illustrating a configuration of a conventional technique.

【符号の説明】[Explanation of symbols]

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 スイッチ 2 Emulator main body 4 Target board 6 Host computer 10 Host interface 12 Controller (CPU) 14 Memory for control program 16 Emulation memory (RAM) 18 Flash memory command analysis unit 20 Electrical emulation unit 22 Buffer 24 Target bus 26 Flash memory emulator adapter 28 Probe 30 Target CPU 100 LSI with built-in flash memory 102 CPU 104 Target memory control register 110 Memory interface 112 Flash memory 114 Serial interface 116 I / O port 118 SRAM 120 Target memory control circuit 200 Emulator 202 Host interface 204 Controller (CPU) 206 Control program Memory 208 Emulation memory 300 Host computer 402 External bus 402-a Operation mode detection signal 402-b CPU control signal 402-c Address bus for emulation memory 402-d Data bus for emulation memory 402-e Access signal for emulation memory 404 Internal bus 404-a flash memory address bus 404-b flash memory data bus 404-c flash memory access signal 406 target memory switching control signal 408 bus 408-a operation mode detection signal 408-b CPU control signal 408-c for memory Address signal 408-d Memory data signal 408-e Memory access signal SW1 to SW8 Switch

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 プログラムコード、またはプログラムコ
ードとデータコードを記憶するためのフラッシュメモリ
を含むシステムにおいて、 該フラッシュメモリのメモリ動作を代行可能なエミュレ
ータに接続される外部バスと、 システムが実動作モードであるか、または該エミュレー
タを接続したエミュレーション動作モードであるかを検
出する動作モード検出手段と、 該動作モード検出手段によりエミュレーション動作モー
ドであることを検出した場合には、フラッシュメモリに
接続された内部バスとエミュレータに接続される外部バ
スとを切り換えて、フラッシュメモリにアクセスを行う
か、またはエミュレータ内のエミュレーションメモリに
アクセスを行うかを切り換える対象メモリ切り換え手段
とを備えたフラッシュメモリを含むシステム。
1. A system including a flash memory for storing a program code or a program code and a data code, comprising: an external bus connected to an emulator capable of substituting a memory operation of the flash memory; Or an emulation operation mode to which the emulator is connected. If the operation mode detection means detects the emulation operation mode, the operation mode is connected to the flash memory. A flash memory including target memory switching means for switching between an internal bus and an external bus connected to the emulator to access the flash memory or to access the emulation memory in the emulator. Tem.
【請求項2】 プログラムコード、またはプログラムコ
ードとデータコードを記憶するためのフラッシュメモリ
を内蔵したLSIにおいて、 該フラッシュメモリのメモリ動作を代行可能なエミュレ
ータに接続される外部バスと、 システムが実動作モードであるか、または該エミュレー
タを接続したエミュレーション動作モードであるかを検
出する動作モード検出手段と、 該動作モード検出手段によりエミュレーション動作モー
ドであることを検出したときに、フラッシュメモリに接
続された内部バスとエミュレータに接続される外部バス
とを切り換えて、フラッシュメモリにアクセスを行う
か、またはエミュレータ内のエミュレーションメモリに
アクセスを行うかを切り換える対象メモリ切り換え手段
とを備えたフラッシュメモリ内蔵LSI。
2. An LSI incorporating a flash memory for storing a program code or a program code and a data code, comprising: an external bus connected to an emulator capable of acting as a memory operation of the flash memory; Operating mode detection means for detecting whether the emulation operation mode is connected to the flash memory. The operation mode detection means detects whether the emulation operation mode is connected to the flash memory. LSI with built-in flash memory, comprising target memory switching means for switching between an internal bus and an external bus connected to an emulator to access a flash memory or to access an emulation memory in an emulator .
【請求項3】 請求項1に記載のフラッシュメモリを含
むシステムまたは請求項2に記載のフラッシュメモリ内
蔵LSIと、 該フラッシュメモリのメモリ動作を代行可能で、かつ、
プログラムのデバッグ機能を有するエミュレータから構
成されるデバッグシステム。
3. A system including the flash memory according to claim 1 or an LSI with a built-in flash memory according to claim 2, wherein a memory operation of the flash memory can be performed, and
A debugging system consisting of an emulator having a program debugging function.
JP2000236210A 2000-08-03 2000-08-03 System including flash memory, flash memory built-in lsi, and debugging system using them Withdrawn JP2002049504A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000236210A JP2002049504A (en) 2000-08-03 2000-08-03 System including flash memory, flash memory built-in lsi, and debugging system using them

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000236210A JP2002049504A (en) 2000-08-03 2000-08-03 System including flash memory, flash memory built-in lsi, and debugging system using them

Publications (1)

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

Family

ID=18728294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000236210A Withdrawn JP2002049504A (en) 2000-08-03 2000-08-03 System including flash memory, flash memory built-in lsi, and debugging system using them

Country Status (1)

Country Link
JP (1) JP2002049504A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357909C (en) * 2005-08-31 2007-12-26 上海海尔集成电路有限公司 Simulator chip and simulating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357909C (en) * 2005-08-31 2007-12-26 上海海尔集成电路有限公司 Simulator chip and simulating method thereof

Similar Documents

Publication Publication Date Title
JPH11212817A (en) Tracking method and device for hardware assisted firmware
JPH0764770A (en) Microcontroller apparatus provided with remotely writable eprom and writing method
JPH0798692A (en) Microcomputer
CN114153779A (en) I2C communication method, system, equipment and storage medium
JP3202700B2 (en) Signal processing device
US5168559A (en) Emulation system capable of complying with microcomputers having different on-chip memory capacities
US20070250740A1 (en) System and method for conducting BIST operations
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 (en) System including flash memory, flash memory built-in lsi, and debugging system using them
US6742073B1 (en) Bus controller technique to control N buses
WO2000017756A1 (en) Signal processor
JP2001092686A (en) Semiconductor device
JP3052385B2 (en) Microcomputer
JP2876909B2 (en) Interrupt emulator
JP2004348635A (en) Method for developing program
JP3166667B2 (en) Emulation microcomputer
JP3590289B2 (en) Event detection circuit
JP2965585B2 (en) Cache memory test method
JPH09223065A (en) Memory capacity test method and computer system
JP2000181579A (en) Initial value setting changing device
Xie et al. An SBus monitor board
JP2000259453A (en) Debugging method
JPH05233846A (en) Microprocessor
JP2002091795A (en) Cache controller
JP2001229700A (en) Memory test circuit

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