JP2002269065A - プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ - Google Patents
プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータInfo
- Publication number
- JP2002269065A JP2002269065A JP2001065389A JP2001065389A JP2002269065A JP 2002269065 A JP2002269065 A JP 2002269065A JP 2001065389 A JP2001065389 A JP 2001065389A JP 2001065389 A JP2001065389 A JP 2001065389A JP 2002269065 A JP2002269065 A JP 2002269065A
- Authority
- JP
- Japan
- Prior art keywords
- register
- microcomputer
- command
- nonvolatile memory
- clock
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
- Read Only Memory (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 自動シーケンス回路はレイアウト面積が大き
く、そのシーケンス変更も容易ではないなどの課題があ
った。 【解決手段】 書き換え制御F/WとユーザS/Wを格
納するフラッシュメモリ、書き換え制御内容を指定する
コマンドレジスタ、書き換え制御対象アドレスレジス
タ、書き込むべきデータを指定するデータレジスタ、お
よびフラッシュメモリ内電源ポンプ回路、メモリデコー
ダへの制御信号を指定/出力する制御信号レジスタを備
えてマイコンを構成し、4つのレジスタに対しては、マ
イコンのCPUにより書き込み/読み出しのアクセスが
可能で、制御信号レジスタの所定ビットが所定の制御信
号に対応し、これに書き込まれた値はフラッシュメモリ
内電源回路やメモリデコーダへの制御信号となりこれら
を制御するもので、この制御信号レジスタの設定値を規
定シーケンスに従い書き換え制御F/Wで書き換えるこ
とによりフラッシュメモリのイレーズ、プログラムなど
の処理を実行させるようにした。
く、そのシーケンス変更も容易ではないなどの課題があ
った。 【解決手段】 書き換え制御F/WとユーザS/Wを格
納するフラッシュメモリ、書き換え制御内容を指定する
コマンドレジスタ、書き換え制御対象アドレスレジス
タ、書き込むべきデータを指定するデータレジスタ、お
よびフラッシュメモリ内電源ポンプ回路、メモリデコー
ダへの制御信号を指定/出力する制御信号レジスタを備
えてマイコンを構成し、4つのレジスタに対しては、マ
イコンのCPUにより書き込み/読み出しのアクセスが
可能で、制御信号レジスタの所定ビットが所定の制御信
号に対応し、これに書き込まれた値はフラッシュメモリ
内電源回路やメモリデコーダへの制御信号となりこれら
を制御するもので、この制御信号レジスタの設定値を規
定シーケンスに従い書き換え制御F/Wで書き換えるこ
とによりフラッシュメモリのイレーズ、プログラムなど
の処理を実行させるようにした。
Description
【0001】
【発明の属する技術分野】この発明は、フラッシュメモ
リ等のプログラム可能な不揮発性メモリを内蔵したマイ
クロコンピュータ(以下、マイコンと略す)に関し、特
に、不揮発性メモリの書き換え機能に関するものであ
る。
リ等のプログラム可能な不揮発性メモリを内蔵したマイ
クロコンピュータ(以下、マイコンと略す)に関し、特
に、不揮発性メモリの書き換え機能に関するものであ
る。
【0002】
【従来の技術】従来より、マイコンに内蔵されているフ
ラッシュメモリの内容を書き換えるための制御を行う専
用のハードウエア(H/W)すなわち自動シーケンス回
路を持ち、そのハードウエアに対しマイコンのCPU
(中央演算処理装置)が制御コマンドを書き込むまたは
設定することでハードウエア動作を起動させ書き換えを
行うことができるマイコンが知られている。その際、コ
マンド発行等の書き換え制御プログラムはユーザ側の制
御で内蔵RAMへ転送する必要があり、また割り込み禁
止処理もユーザ側で行う必要があった(例:三菱電機社
製M37902FGCHP 等)。
ラッシュメモリの内容を書き換えるための制御を行う専
用のハードウエア(H/W)すなわち自動シーケンス回
路を持ち、そのハードウエアに対しマイコンのCPU
(中央演算処理装置)が制御コマンドを書き込むまたは
設定することでハードウエア動作を起動させ書き換えを
行うことができるマイコンが知られている。その際、コ
マンド発行等の書き換え制御プログラムはユーザ側の制
御で内蔵RAMへ転送する必要があり、また割り込み禁
止処理もユーザ側で行う必要があった(例:三菱電機社
製M37902FGCHP 等)。
【0003】この書き換え処理はハードウエアで自動的
に実行されるのでユーザ側で用意すべき書き換え制御プ
ログラムはある程度簡略化できるが、一方自動シーケン
ス回路のレイアウト面積が大きく高コストの要因となっ
ていた。また、書き換えシーケンスのバグ改修やウエハ
プロセスへの最適な合わせ込みを行うにはハードウエア
の改修が必要で容易に改修できなかった。
に実行されるのでユーザ側で用意すべき書き換え制御プ
ログラムはある程度簡略化できるが、一方自動シーケン
ス回路のレイアウト面積が大きく高コストの要因となっ
ていた。また、書き換えシーケンスのバグ改修やウエハ
プロセスへの最適な合わせ込みを行うにはハードウエア
の改修が必要で容易に改修できなかった。
【0004】一方、書き換え制御用の自動シーケンス回
路を必要最小限しか持たず、書き換え処理に必要な時間
管理、結果比較/判定までもユーザ側ソフトウエア(S
/W)が実行する場合もある(例:三菱電機社製M37754
FFCHP 、日立製作所製H8/3062F-ZTAT 等)。
路を必要最小限しか持たず、書き換え処理に必要な時間
管理、結果比較/判定までもユーザ側ソフトウエア(S
/W)が実行する場合もある(例:三菱電機社製M37754
FFCHP 、日立製作所製H8/3062F-ZTAT 等)。
【0005】ハードウエア量が少なく低コストのチップ
が作れるが、一方ユーザ側で作成すべき書き換え制御ソ
フトウエアの負荷が非常に大きくソフトウエア開発期間
が長くかかるという問題があった。
が作れるが、一方ユーザ側で作成すべき書き換え制御ソ
フトウエアの負荷が非常に大きくソフトウエア開発期間
が長くかかるという問題があった。
【0006】また、国際出願WO99/01824には
プログラム可能な不揮発性メモリ装置およびそれを用い
たマイクロコンピュータが記載されており、マイコン内
のEEPROM(不揮発性メモリ)の書き換え関連回路
(センスアンプ、昇圧回路)を制御する信号を出力する
制御レジスタを有し、この制御レジスタにマイコン外部
から直接順次データを書き込むことでEEPROMの書
き換えを実行する手段が開示されている。その目的は書
き換え制御回路削減による低コスト化である。
プログラム可能な不揮発性メモリ装置およびそれを用い
たマイクロコンピュータが記載されており、マイコン内
のEEPROM(不揮発性メモリ)の書き換え関連回路
(センスアンプ、昇圧回路)を制御する信号を出力する
制御レジスタを有し、この制御レジスタにマイコン外部
から直接順次データを書き込むことでEEPROMの書
き換えを実行する手段が開示されている。その目的は書
き換え制御回路削減による低コスト化である。
【0007】この参照文献は、マイコン外部のライタか
らこの制御レジスタに必要なデータを書き込む制御に関
する技術であり、ユーザソフトウエア動作中に不揮発性
メモリを書き換えることについては記載がない。
らこの制御レジスタに必要なデータを書き込む制御に関
する技術であり、ユーザソフトウエア動作中に不揮発性
メモリを書き換えることについては記載がない。
【0008】また、シリアルライタを用いる「シリアル
入出力モード」では、マイコンのCPUがこの制御レジ
スタにデータを書き込むことができるとは書かれている
が、それ以外には記述が無く、その時の制御ソフトウエ
アが具体的にどこに配置され、どのように動作するかは
記載されていない。
入出力モード」では、マイコンのCPUがこの制御レジ
スタにデータを書き込むことができるとは書かれている
が、それ以外には記述が無く、その時の制御ソフトウエ
アが具体的にどこに配置され、どのように動作するかは
記載されていない。
【0009】EEPROMでは書き換え対象のメモリビ
ットのみの読み出し制限であるため制御ソフトウエアの
管理は比較的簡単であるが、現実的にフラッシュメモリ
内蔵マイコンの場合には、制御プログラムを格納するフ
ラッシュメモリを書き換える時は読み出しができないの
で、内蔵RAM上の制御プログラムで実行する、割り込
みを禁止する等の制限が必須となる。この制御ソフトウ
エアの管理はフラッシュメモリ内蔵マイコンの場合には
非常に重要である。すなわち、このEEPROM内蔵マ
イコンのライタを使った書き換えの技術では、フラッシ
ュメモリをユーザソフトウエア動作中に書き換えること
は到底実現できないものである。
ットのみの読み出し制限であるため制御ソフトウエアの
管理は比較的簡単であるが、現実的にフラッシュメモリ
内蔵マイコンの場合には、制御プログラムを格納するフ
ラッシュメモリを書き換える時は読み出しができないの
で、内蔵RAM上の制御プログラムで実行する、割り込
みを禁止する等の制限が必須となる。この制御ソフトウ
エアの管理はフラッシュメモリ内蔵マイコンの場合には
非常に重要である。すなわち、このEEPROM内蔵マ
イコンのライタを使った書き換えの技術では、フラッシ
ュメモリをユーザソフトウエア動作中に書き換えること
は到底実現できないものである。
【0010】
【発明が解決しようとする課題】従来のプログラム可能
な不揮発性メモリを内蔵したマイクロコンピュータは以
上のように構成されているので、自動シーケンス回路を
持つマイコンではそのレイアウト面積が大きく高コスト
であり、そのシーケンス変更が容易ではないという課題
があり、自動シーケンス回路を持たないマイコンではユ
ーザ側の書き換え制御ソフトウエアの負担が非常に大き
くソフトウエア開発期間が長くかかるといった課題があ
った。
な不揮発性メモリを内蔵したマイクロコンピュータは以
上のように構成されているので、自動シーケンス回路を
持つマイコンではそのレイアウト面積が大きく高コスト
であり、そのシーケンス変更が容易ではないという課題
があり、自動シーケンス回路を持たないマイコンではユ
ーザ側の書き換え制御ソフトウエアの負担が非常に大き
くソフトウエア開発期間が長くかかるといった課題があ
った。
【0011】この発明は上記のような課題を解決するた
めになされたもので、自動シーケンス回路削減によりレ
イアウト面積を縮小し低コストを図り、また、バグ改修
やウエハプロセスへの最適な合わせ込みのための書き換
えシーケンスの変更を容易に実施できるようにし、さら
には、書き換え制御ファームウエア(F/W)搭載によ
りユーザ側ソフトウエアの負担を削減するとともに、ソ
フトウエア開発期間の短縮をすることができるプログラ
ム可能な不揮発性メモリを内蔵したマイクロコンピュー
タを得ることを目的とする。
めになされたもので、自動シーケンス回路削減によりレ
イアウト面積を縮小し低コストを図り、また、バグ改修
やウエハプロセスへの最適な合わせ込みのための書き換
えシーケンスの変更を容易に実施できるようにし、さら
には、書き換え制御ファームウエア(F/W)搭載によ
りユーザ側ソフトウエアの負担を削減するとともに、ソ
フトウエア開発期間の短縮をすることができるプログラ
ム可能な不揮発性メモリを内蔵したマイクロコンピュー
タを得ることを目的とする。
【0012】
【課題を解決するための手段】この発明に係る第1のプ
ログラム可能な不揮発性メモリを内蔵したマイクロコン
ピュータは、書き換え制御ファームウエアとユーザソフ
トウエアをそれぞれ別の単位ブロックに格納する不揮発
性メモリと、それぞれマイコンのCPUにより書き込み
または読み出しを可能とした、書き換え制御内容を指定
するコマンドレジスタ、書き換え制御対象アドレスを指
定するアドレスレジスタ、書き込むべきデータを指定す
るデータレジスタ、および不揮発性メモリ内の電源ポン
プ回路とメモリデコーダへの制御信号を指定する制御信
号レジスタの少なくとも4つのレジスタを備えており、
制御信号レジスタの所定ビットを電源ポンプ回路および
メモリデコーダへ接続される制御信号に対応させて電源
ポンプ回路およびメモリデコーダを制御するようにな
し、書き換え制御ファームウエアは、コマンドレジス
タ、アドレスレジスタまたはデータレジスタに設定され
た値を読み出し、その設定された値に対応したコマンド
毎に規定されたシーケンスに従い制御信号レジスタの設
定値を書き換えることにより電源ポンプ回路およびメモ
リデコーダを動作させることで、不揮発性メモリのイレ
ーズおよびプログラムを含む書き換え処理を実行させる
ものである。
ログラム可能な不揮発性メモリを内蔵したマイクロコン
ピュータは、書き換え制御ファームウエアとユーザソフ
トウエアをそれぞれ別の単位ブロックに格納する不揮発
性メモリと、それぞれマイコンのCPUにより書き込み
または読み出しを可能とした、書き換え制御内容を指定
するコマンドレジスタ、書き換え制御対象アドレスを指
定するアドレスレジスタ、書き込むべきデータを指定す
るデータレジスタ、および不揮発性メモリ内の電源ポン
プ回路とメモリデコーダへの制御信号を指定する制御信
号レジスタの少なくとも4つのレジスタを備えており、
制御信号レジスタの所定ビットを電源ポンプ回路および
メモリデコーダへ接続される制御信号に対応させて電源
ポンプ回路およびメモリデコーダを制御するようにな
し、書き換え制御ファームウエアは、コマンドレジス
タ、アドレスレジスタまたはデータレジスタに設定され
た値を読み出し、その設定された値に対応したコマンド
毎に規定されたシーケンスに従い制御信号レジスタの設
定値を書き換えることにより電源ポンプ回路およびメモ
リデコーダを動作させることで、不揮発性メモリのイレ
ーズおよびプログラムを含む書き換え処理を実行させる
ものである。
【0013】この発明に係る第2のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアを格納する単位ブロックとユー
ザソフトウエアを格納する単位ブロックとは、そのアド
レスが非連続なものである。
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアを格納する単位ブロックとユー
ザソフトウエアを格納する単位ブロックとは、そのアド
レスが非連続なものである。
【0014】この発明に係る第3のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、CP
Uにより書き込みまたは読み出しを可能としたステータ
スレジスタを備えており、書き換え制御ファームウエア
は、イレーズおよびプログラムを含んだ書き換え処理完
了後、その実行結果をステータスレジスタに書き込むも
のである。
揮発性メモリを内蔵したマイクロコンピュータは、CP
Uにより書き込みまたは読み出しを可能としたステータ
スレジスタを備えており、書き換え制御ファームウエア
は、イレーズおよびプログラムを含んだ書き換え処理完
了後、その実行結果をステータスレジスタに書き込むも
のである。
【0015】この発明に係る第4のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、少なくともコマンドレジス
タに設定されたコマンドをデコードするユーザインタフ
ェース制御部と、指定されたコマンド毎に電源ポンプ回
路およびメモリデコーダの制御を行うコマンド実行制御
部とから構成され、このコマンド実行制御部のファーム
ウエアは内蔵するRAMに転送され、このRAM上で実
行されるものである。
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、少なくともコマンドレジス
タに設定されたコマンドをデコードするユーザインタフ
ェース制御部と、指定されたコマンド毎に電源ポンプ回
路およびメモリデコーダの制御を行うコマンド実行制御
部とから構成され、このコマンド実行制御部のファーム
ウエアは内蔵するRAMに転送され、このRAM上で実
行されるものである。
【0016】この発明に係る第5のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、ユーザソフトウエアから当
該書き換え制御ファームウエアの先頭番地にジャンプす
ることにより起動するようになし、かつ、コマンド実行
完了後はユーザソフトウエアのジャンプ命令の次の命令
にリターンするようになしたものである。
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、ユーザソフトウエアから当
該書き換え制御ファームウエアの先頭番地にジャンプす
ることにより起動するようになし、かつ、コマンド実行
完了後はユーザソフトウエアのジャンプ命令の次の命令
にリターンするようになしたものである。
【0017】この発明に係る第6のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、イレーズコマンドでは、イ
レーズ実行とイレーズ後ベリファイ実行を連続して行
い、プログラムコマンドでは、プログラム実行とプログ
ラム後ベリファイを連続して行い、これらのベリファイ
結果が異常であれば、それぞれイレーズエラー、プログ
ラムエラーと判断するようになしたものである。
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、イレーズコマンドでは、イ
レーズ実行とイレーズ後ベリファイ実行を連続して行
い、プログラムコマンドでは、プログラム実行とプログ
ラム後ベリファイを連続して行い、これらのベリファイ
結果が異常であれば、それぞれイレーズエラー、プログ
ラムエラーと判断するようになしたものである。
【0018】この発明に係る第7のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、イレーズおよびプログラム
を含むコマンド実行結果をステータスレジスタに設定す
る他に、それぞれコマンドレジスタおよびアドレスレジ
スタに正規のコマンドコードでないコマンド、または正
規の指定すべきアドレスでないアドレスが指定されてい
た場合には、イリーガルコマンドを示すエラーコードを
ステータスレジスタに設定するようになし、この場合に
はその後の処理を実行しないものである。
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、イレーズおよびプログラム
を含むコマンド実行結果をステータスレジスタに設定す
る他に、それぞれコマンドレジスタおよびアドレスレジ
スタに正規のコマンドコードでないコマンド、または正
規の指定すべきアドレスでないアドレスが指定されてい
た場合には、イリーガルコマンドを示すエラーコードを
ステータスレジスタに設定するようになし、この場合に
はその後の処理を実行しないものである。
【0019】この発明に係る第8のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、ステータスレジスタのクリ
アは実施せず、かつ、コマンドレジスタに設定されたコ
マンドを実行する前にステータスレジスタを読み出し、
正常終了以外のエラーコードであった場合には、その後
の処理を実行しないものである。
揮発性メモリを内蔵したマイクロコンピュータは、書き
換え制御ファームウエアが、ステータスレジスタのクリ
アは実施せず、かつ、コマンドレジスタに設定されたコ
マンドを実行する前にステータスレジスタを読み出し、
正常終了以外のエラーコードであった場合には、その後
の処理を実行しないものである。
【0020】この発明に係る第9のプログラム可能な不
揮発性メモリを内蔵したマイクロコンピュータは、コマ
ンドレジスタに書き込むべきコマンドコードのビット数
を12〜16とし、書き換え制御ファームウエアが、こ
のコマンドコードの全ビットをデコードするものであ
る。
揮発性メモリを内蔵したマイクロコンピュータは、コマ
ンドレジスタに書き込むべきコマンドコードのビット数
を12〜16とし、書き換え制御ファームウエアが、こ
のコマンドコードの全ビットをデコードするものであ
る。
【0021】この発明に係る第10のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、ア
ドレスレジスタに書き込むべきアドレスのビット数を、
不揮発性メモリ空間を指定できるアドレスのビット数よ
りも多く取り、書き換え制御ファームウエアは、このア
ドレスの全ビットをデコードするものである。
不揮発性メモリを内蔵したマイクロコンピュータは、ア
ドレスレジスタに書き込むべきアドレスのビット数を、
不揮発性メモリ空間を指定できるアドレスのビット数よ
りも多く取り、書き換え制御ファームウエアは、このア
ドレスの全ビットをデコードするものである。
【0022】この発明に係る第11のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUにより設定可能な不揮発性メモリ書き換えモード選
択ビットを有し、このファームウエア書き換えモード選
択ビットに特定値を書き込んだ時に制御信号レジスタの
書き換えが行えるようにしたものである。
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUにより設定可能な不揮発性メモリ書き換えモード選
択ビットを有し、このファームウエア書き換えモード選
択ビットに特定値を書き込んだ時に制御信号レジスタの
書き換えが行えるようにしたものである。
【0023】この発明に係る第12のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、制
御信号レジスタがCPUにより設定可能なレジスタであ
り、リセット信号により、その出力す制御信号は電源ポ
ンプ回路およびメモリデコーダを書き換え不可能な状態
にリセットされるようにしたものである。
不揮発性メモリを内蔵したマイクロコンピュータは、制
御信号レジスタがCPUにより設定可能なレジスタであ
り、リセット信号により、その出力す制御信号は電源ポ
ンプ回路およびメモリデコーダを書き換え不可能な状態
にリセットされるようにしたものである。
【0024】この発明に係る第13のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、制
御信号レジスタはCPUにより設定可能なレジスタであ
り、監視タイマ割り込み信号により、その出力する制御
信号は電源ポンプ回路およびメモリデコーダを書き換え
不可能な状態にリセットされるようにしたものである。
不揮発性メモリを内蔵したマイクロコンピュータは、制
御信号レジスタはCPUにより設定可能なレジスタであ
り、監視タイマ割り込み信号により、その出力する制御
信号は電源ポンプ回路およびメモリデコーダを書き換え
不可能な状態にリセットされるようにしたものである。
【0025】この発明に係る第14のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、フ
ァームウエアモード選択ビットが、マイコンのリセット
信号に加え、監視タイマ割り込み信号により、非書き換
えモードを指定する状態にリセットされるようにしたも
のである。
不揮発性メモリを内蔵したマイクロコンピュータは、フ
ァームウエアモード選択ビットが、マイコンのリセット
信号に加え、監視タイマ割り込み信号により、非書き換
えモードを指定する状態にリセットされるようにしたも
のである。
【0026】この発明に係る第15のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、コ
マンドレジスタとして、CPU内のアキュムレータを割
り付けるものである。
不揮発性メモリを内蔵したマイクロコンピュータは、コ
マンドレジスタとして、CPU内のアキュムレータを割
り付けるものである。
【0027】この発明に係る第16のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、コ
マンドレジスタおよびステータスレジスタの両方または
一方をレジスタではなく、内蔵するRAM内の特定番地
に割り付けるものである。
不揮発性メモリを内蔵したマイクロコンピュータは、コ
マンドレジスタおよびステータスレジスタの両方または
一方をレジスタではなく、内蔵するRAM内の特定番地
に割り付けるものである。
【0028】この発明に係る第17のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、不
揮発性メモリの書き換え時専用のタイマ回路をさらに備
えたものである。
不揮発性メモリを内蔵したマイクロコンピュータは、不
揮発性メモリの書き換え時専用のタイマ回路をさらに備
えたものである。
【0029】この発明に係る第18のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUおよび周辺装置の動作クロック源を、クロック端子
から入力したクロックと、内蔵する自励発振器で生成し
たクロックとに切り替えるクロック切り替え回路を有
し、CPUが設定可能なクロック源選択ビットの状態で
これらのクロックを切り替えるようになし、不揮発性メ
モリの書き換え実行時には、自励発振器側のクロックを
選択するものである。
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUおよび周辺装置の動作クロック源を、クロック端子
から入力したクロックと、内蔵する自励発振器で生成し
たクロックとに切り替えるクロック切り替え回路を有
し、CPUが設定可能なクロック源選択ビットの状態で
これらのクロックを切り替えるようになし、不揮発性メ
モリの書き換え実行時には、自励発振器側のクロックを
選択するものである。
【0030】この発明に係る第19のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUの動作クロック源を、クロック端子から入力したク
ロックと、内蔵する自励発振器で生成したクロックとに
切り替えるクロック切り替え回路を有し、CPUが設定
可能なクロック源選択ビットの状態でこれらのクロック
を切り替えるようになし、不揮発性メモリの書き換え実
行時には、CPUの動作クロック源を自励発振器側のク
ロックを選択するが、タイマおよびシリアルI/O等の
周辺装置用のクロック源はクロック端子から入力したク
ロックから切り替えないものである。
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUの動作クロック源を、クロック端子から入力したク
ロックと、内蔵する自励発振器で生成したクロックとに
切り替えるクロック切り替え回路を有し、CPUが設定
可能なクロック源選択ビットの状態でこれらのクロック
を切り替えるようになし、不揮発性メモリの書き換え実
行時には、CPUの動作クロック源を自励発振器側のク
ロックを選択するが、タイマおよびシリアルI/O等の
周辺装置用のクロック源はクロック端子から入力したク
ロックから切り替えないものである。
【0031】この発明に係る第20のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUおよび監視タイマの動作クロック源を、クロック端
子から入力したクロックと、内蔵する自励発振器で生成
したクロックとに切り替えるクロック切り替え回路を有
し、CPUにより設定可能なクロック源選択ビットの状
態でこれらのクロックを切り替えるようになし、不揮発
性メモリの書き換え実行時には、CPUおよび監視タイ
マの動作クロック源を自励発振器側のクロックを選択す
るが、タイマおよびシリアルI/Oを含む周辺装置用の
クロック源はクロック端子から入力したクロックから切
り替えないものである。
不揮発性メモリを内蔵したマイクロコンピュータは、C
PUおよび監視タイマの動作クロック源を、クロック端
子から入力したクロックと、内蔵する自励発振器で生成
したクロックとに切り替えるクロック切り替え回路を有
し、CPUにより設定可能なクロック源選択ビットの状
態でこれらのクロックを切り替えるようになし、不揮発
性メモリの書き換え実行時には、CPUおよび監視タイ
マの動作クロック源を自励発振器側のクロックを選択す
るが、タイマおよびシリアルI/Oを含む周辺装置用の
クロック源はクロック端子から入力したクロックから切
り替えないものである。
【0032】この発明に係る第21のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、内
蔵する自励発振器には、不揮発性メモリ内の電圧チャー
ジポンプ用の自励発振器を兼用して使うものである。
不揮発性メモリを内蔵したマイクロコンピュータは、内
蔵する自励発振器には、不揮発性メモリ内の電圧チャー
ジポンプ用の自励発振器を兼用して使うものである。
【0033】この発明に係る第22のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、タ
イマ回路のクロック源には、不揮発性メモリ内の電圧チ
ャージポンプ用の自励発振器を兼用して使うものであ
る。
不揮発性メモリを内蔵したマイクロコンピュータは、タ
イマ回路のクロック源には、不揮発性メモリ内の電圧チ
ャージポンプ用の自励発振器を兼用して使うものであ
る。
【0034】この発明に係る第23のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、自
励発振器は常時動作させておくのではなく、CPUによ
り設定可能な発信許可ビットを設け、このビットが特定
状態の場合に自励発振器を動作させるものである。
不揮発性メモリを内蔵したマイクロコンピュータは、自
励発振器は常時動作させておくのではなく、CPUによ
り設定可能な発信許可ビットを設け、このビットが特定
状態の場合に自励発振器を動作させるものである。
【0035】この発明に係る第24のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、動
作クロック源の切り替えが、クロック源選択ビットで自
励発振器が生成するクロックを選択し、かつ発信許可ビ
ットで自励発振器の動作許可を選択した時に、動作クロ
ック源は自励発振器で生成したクロックに切り替わるも
のである。
不揮発性メモリを内蔵したマイクロコンピュータは、動
作クロック源の切り替えが、クロック源選択ビットで自
励発振器が生成するクロックを選択し、かつ発信許可ビ
ットで自励発振器の動作許可を選択した時に、動作クロ
ック源は自励発振器で生成したクロックに切り替わるも
のである。
【0036】この発明に係る第25のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数備えており、少なくとも1つの動作モ
ードは不揮発性メモリの書き換え制御ファームウエア格
納領域の書き換えは実施できないようにするものであ
る。
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数備えており、少なくとも1つの動作モ
ードは不揮発性メモリの書き換え制御ファームウエア格
納領域の書き換えは実施できないようにするものであ
る。
【0037】この発明に係る第26のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数備えており、リセット解除後最初にア
クセスするリセットベクトル番地が外部領域である第2
の動作モードを有し、この第2の動作モードでは不揮発
性メモリ内の少なくともユーザソフトウエアを格納する
領域はCPUから読み出しできない一方、不揮発性メモ
リ内のユーザソフトウエアを格納する領域および書き換
え制御ファームウエアを格納する領域の書き換えは可能
とするものである。
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数備えており、リセット解除後最初にア
クセスするリセットベクトル番地が外部領域である第2
の動作モードを有し、この第2の動作モードでは不揮発
性メモリ内の少なくともユーザソフトウエアを格納する
領域はCPUから読み出しできない一方、不揮発性メモ
リ内のユーザソフトウエアを格納する領域および書き換
え制御ファームウエアを格納する領域の書き換えは可能
とするものである。
【0038】この発明に係る第27のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、第
2の動作モードでは不揮発性メモリ内の書き換え制御フ
ァームウエアを格納する領域はCPUにより読み出しで
きるものである。
不揮発性メモリを内蔵したマイクロコンピュータは、第
2の動作モードでは不揮発性メモリ内の書き換え制御フ
ァームウエアを格納する領域はCPUにより読み出しで
きるものである。
【0039】この発明に係る第28のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数備えており、リセット解除後最初にア
クセスするリセットベクトル番地が外部領域である第3
の動作モードを有し、この第3の動作モードでは不揮発
性メモリ領域はCPUから読み出しすることができ、当
該不揮発性メモリ内のユーザソフトウエアを格納する領
域および書き換え制御ファームウエアを格納する領域の
書き換えは可能とするものである。
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数備えており、リセット解除後最初にア
クセスするリセットベクトル番地が外部領域である第3
の動作モードを有し、この第3の動作モードでは不揮発
性メモリ領域はCPUから読み出しすることができ、当
該不揮発性メモリ内のユーザソフトウエアを格納する領
域および書き換え制御ファームウエアを格納する領域の
書き換えは可能とするものである。
【0040】この発明に係る第29のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数持ち、リセット中に外部から直接内蔵
RAMへの書き込みが行え、かつリセット解除後のリセ
ットベクトル番地が当該RAM内に設定される第4の動
作モードを有し、この第4の動作モードでは不揮発性メ
モリ領域はCPUにより読み出しすることができ、当該
不揮発性メモリ内のユーザソフトウエアを格納する領域
および書き換え制御ファームウエアを格納する領域の書
き換えは可能とするものである。
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子への印加電圧レベルで決定される
動作モードを複数持ち、リセット中に外部から直接内蔵
RAMへの書き込みが行え、かつリセット解除後のリセ
ットベクトル番地が当該RAM内に設定される第4の動
作モードを有し、この第4の動作モードでは不揮発性メ
モリ領域はCPUにより読み出しすることができ、当該
不揮発性メモリ内のユーザソフトウエアを格納する領域
および書き換え制御ファームウエアを格納する領域の書
き換えは可能とするものである。
【0041】この発明に係る第30のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子の状態がCPUにより読み出しで
きるものである。
不揮発性メモリを内蔵したマイクロコンピュータは、動
作モード選択入力端子の状態がCPUにより読み出しで
きるものである。
【0042】この発明に係る第31のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、書
き換え制御ファームウエアが、動作モード選択入力端子
の状態を読み出し、不揮発性メモリのファームウエア領
域の書き換えが禁止されている動作モードでは、不揮発
性メモリの書き換え制御ファームウエア格納領域の書き
換えを実施せず、イリーガルコマンドと判定するもので
ある。
不揮発性メモリを内蔵したマイクロコンピュータは、書
き換え制御ファームウエアが、動作モード選択入力端子
の状態を読み出し、不揮発性メモリのファームウエア領
域の書き換えが禁止されている動作モードでは、不揮発
性メモリの書き換え制御ファームウエア格納領域の書き
換えを実施せず、イリーガルコマンドと判定するもので
ある。
【0043】この発明に係る第32のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータは、不
揮発性メモリの書き換え制御ファームウエア格納領域の
書き換えが可能な動作モード時に有効となるファームウ
エア格納領域用書き換えコマンドを有するものである。
不揮発性メモリを内蔵したマイクロコンピュータは、不
揮発性メモリの書き換え制御ファームウエア格納領域の
書き換えが可能な動作モード時に有効となるファームウ
エア格納領域用書き換えコマンドを有するものである。
【0044】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1. (ハードウエア構成)まず、この発明の実施の形態1に
よるプログラム可能な不揮発性メモリを内蔵したマイク
ロコンピュータのハードウエア構成について、不揮発性
メモリがフラッシュメモリの場合を例にとり、フラッシ
ュメモリ内蔵マイコンとして説明する。図1はこの実施
の形態1によるフラッシュメモリ内蔵マイコンの構成を
示すブロック図であり、図において、1は本体であるマ
イコン、2はフラッシュメモリブロック(不揮発性メモ
リ)、3は中央演算処理装置とバスインタフェース装置
(以下、CPU/BIUと略す)、4はRAM、5,
6,7はそれぞれデータを伝送する(内部)データバ
ス、CPU/BIU3からのアドレスを伝送する(内
部)アドレス線、CPU/BIU3からのリード/ライ
ト(R/W)制御情報を伝送する(内部)R/W制御
線、11はポート75,76,77、動作モード選択入
力端子88,89からのデータ入力、出力の制御を行う
ポート制御ブロック、12はシリアルI/O、72,7
3,74はシリアルI/O12に接続されるそれぞれデ
ータ入力(Din)端子、データ出力(Dout)端
子、データ出力制限入力(OUTcont)端子、13
はタイマである。
説明する。 実施の形態1. (ハードウエア構成)まず、この発明の実施の形態1に
よるプログラム可能な不揮発性メモリを内蔵したマイク
ロコンピュータのハードウエア構成について、不揮発性
メモリがフラッシュメモリの場合を例にとり、フラッシ
ュメモリ内蔵マイコンとして説明する。図1はこの実施
の形態1によるフラッシュメモリ内蔵マイコンの構成を
示すブロック図であり、図において、1は本体であるマ
イコン、2はフラッシュメモリブロック(不揮発性メモ
リ)、3は中央演算処理装置とバスインタフェース装置
(以下、CPU/BIUと略す)、4はRAM、5,
6,7はそれぞれデータを伝送する(内部)データバ
ス、CPU/BIU3からのアドレスを伝送する(内
部)アドレス線、CPU/BIU3からのリード/ライ
ト(R/W)制御情報を伝送する(内部)R/W制御
線、11はポート75,76,77、動作モード選択入
力端子88,89からのデータ入力、出力の制御を行う
ポート制御ブロック、12はシリアルI/O、72,7
3,74はシリアルI/O12に接続されるそれぞれデ
ータ入力(Din)端子、データ出力(Dout)端
子、データ出力制限入力(OUTcont)端子、13
はタイマである。
【0045】また、15はデータバス5、アドレス線
6、R/W制御線7をそれぞれ外部データバス端子8
5、外部アドレス線端子86、外部R/W制御線端子8
7間の信号の入出力を制御する外部バス制御ブロック、
16はクロックXIN入力端子78から入力されるクロ
ックからマイコン1内の各ブロックに供給される内部ク
ロックを生成するクロック制御回路、17は/RESE
T入力端子79から入力されるリセット入力からマイコ
ン1内の各ブロックのリセット信号109を生成するリ
セット制御回路を示す。なお、CPU/BIU3内の例
えば、アキュームレータ等のレジスタに下記のコマンド
レジスタを設定する場合もある。
6、R/W制御線7をそれぞれ外部データバス端子8
5、外部アドレス線端子86、外部R/W制御線端子8
7間の信号の入出力を制御する外部バス制御ブロック、
16はクロックXIN入力端子78から入力されるクロ
ックからマイコン1内の各ブロックに供給される内部ク
ロックを生成するクロック制御回路、17は/RESE
T入力端子79から入力されるリセット入力からマイコ
ン1内の各ブロックのリセット信号109を生成するリ
セット制御回路を示す。なお、CPU/BIU3内の例
えば、アキュームレータ等のレジスタに下記のコマンド
レジスタを設定する場合もある。
【0046】また、フラッシュメモリブロック2、RA
M4、ポート制御ブロック11、シリアルI/O12、
タイマ13、外部バス制御ブロック15といったマイコ
ン1内のメモリや周辺装置群は、いずれもデータバス
5、アドレス線6、R/W制御線7を介して、CPU/
BIU3からのデータ読み出し、または書き込みを実施
できるようになっている。
M4、ポート制御ブロック11、シリアルI/O12、
タイマ13、外部バス制御ブロック15といったマイコ
ン1内のメモリや周辺装置群は、いずれもデータバス
5、アドレス線6、R/W制御線7を介して、CPU/
BIU3からのデータ読み出し、または書き込みを実施
できるようになっている。
【0047】さらに、図1のフラッシュメモリブロック
2内の構成を説明する。図において、20は実際の記憶
素子を含むメモリセルアレイ、アドレスデコーダ等で構
成されるメモリブロック、23はアドレスラッチ回路、
アドレスプリデコーダで構成されるメモリデコーダ、2
4はフラッシュメモリの消去、書き込み、読み出し時等
に必要な内部電圧を適宜生成する電圧チャージポンプ回
路(電源ポンプ回路)、25はフラッシュメモリの書き
換え(消去、書き込み)実施時に使用するフラッシュメ
モリ制御レジスタ群、35は消去後のコンペア(消去さ
れたかどうかの読み出しチェック)を行うコンペア回
路、36は電圧チャージポンプ回路24に供給すべきク
ロックを生成するリングオシレータ等の自励発振器から
なるポンプ用クロック発振器である。
2内の構成を説明する。図において、20は実際の記憶
素子を含むメモリセルアレイ、アドレスデコーダ等で構
成されるメモリブロック、23はアドレスラッチ回路、
アドレスプリデコーダで構成されるメモリデコーダ、2
4はフラッシュメモリの消去、書き込み、読み出し時等
に必要な内部電圧を適宜生成する電圧チャージポンプ回
路(電源ポンプ回路)、25はフラッシュメモリの書き
換え(消去、書き込み)実施時に使用するフラッシュメ
モリ制御レジスタ群、35は消去後のコンペア(消去さ
れたかどうかの読み出しチェック)を行うコンペア回
路、36は電圧チャージポンプ回路24に供給すべきク
ロックを生成するリングオシレータ等の自励発振器から
なるポンプ用クロック発振器である。
【0048】メモリブロック20はユーザ向けのユーザ
領域21と書き換えファームウエア(F/W)を格納す
るF/W領域22に分かれ、さらにユーザ領域21はそ
れぞれ別々に消去される独立したブロック[ブロック
(0)]210〜[ブロック(4)]214に分かれ
る。なお、F/W領域22は各ブロック210〜214
とは別の消去ブロック[ブロック(5)]である。
領域21と書き換えファームウエア(F/W)を格納す
るF/W領域22に分かれ、さらにユーザ領域21はそ
れぞれ別々に消去される独立したブロック[ブロック
(0)]210〜[ブロック(4)]214に分かれ
る。なお、F/W領域22は各ブロック210〜214
とは別の消去ブロック[ブロック(5)]である。
【0049】また、フラッシュメモリ制御レジスタ群2
5は、それぞれ電圧チャージポンプ回路24、メモリデ
コーダ23への制御信号40,41を出力するポンプ/
メモリデコーダ用制御信号レジスタ26、ポンプ/メモ
リデコーダ用制御信号レジスタ26からの制御信号4
0,41の出力タイミングを制御する信号出力制御レジ
スタ27、消去すべきフラッシュメモリのブロックや書
き込むべきフラッシュメモリの番地等を設定するアドレ
スレジスタ28、書き込むべきデータ等を設定するデー
タレジスタ29、消去・書き込み実行結果を示す状態を
設定するステータスレジスタ30、消去コマンド(以
下、イレーズコマンドと記す)、書き込みコマンド(以
下、プログラムコマンドと記す)等のソフトウエアコマ
ンドを設定するコマンドレジスタ31、フラッシュメモ
リ書き換え時に関連回路の動作を制御するためのシーケ
ンス制御レジスタ32、電圧チャージポンプ回路24用
の制御信号40を出力すべき時間等を計測するためのタ
イマ回路を持つポンプ用タイマレジスタ33で構成さ
れ、いずれもデータバス5、アドレス線6、R/W制御
線7を介して、CPU/BIU3からのデータ読み出
し、または書き込みを実施できるようになっている。な
お、コマンドレジスタ31をCPU/BIU3内の例え
ばアキュームレータ等のレジスタに設定する場合には、
フラッシュメモリ制御レジスタ群25はコマンドレジス
タ31を含まない。
5は、それぞれ電圧チャージポンプ回路24、メモリデ
コーダ23への制御信号40,41を出力するポンプ/
メモリデコーダ用制御信号レジスタ26、ポンプ/メモ
リデコーダ用制御信号レジスタ26からの制御信号4
0,41の出力タイミングを制御する信号出力制御レジ
スタ27、消去すべきフラッシュメモリのブロックや書
き込むべきフラッシュメモリの番地等を設定するアドレ
スレジスタ28、書き込むべきデータ等を設定するデー
タレジスタ29、消去・書き込み実行結果を示す状態を
設定するステータスレジスタ30、消去コマンド(以
下、イレーズコマンドと記す)、書き込みコマンド(以
下、プログラムコマンドと記す)等のソフトウエアコマ
ンドを設定するコマンドレジスタ31、フラッシュメモ
リ書き換え時に関連回路の動作を制御するためのシーケ
ンス制御レジスタ32、電圧チャージポンプ回路24用
の制御信号40を出力すべき時間等を計測するためのタ
イマ回路を持つポンプ用タイマレジスタ33で構成さ
れ、いずれもデータバス5、アドレス線6、R/W制御
線7を介して、CPU/BIU3からのデータ読み出
し、または書き込みを実施できるようになっている。な
お、コマンドレジスタ31をCPU/BIU3内の例え
ばアキュームレータ等のレジスタに設定する場合には、
フラッシュメモリ制御レジスタ群25はコマンドレジス
タ31を含まない。
【0050】アドレスレジスタ28は、フラッシュメモ
リ内のアドレス線42を介してメモリデコーダ23に接
続され、データレジスタ29は、フラッシュメモリ内デ
ータバス43を介してメモリデコーダ23とコンペア回
路35に接続されている。
リ内のアドレス線42を介してメモリデコーダ23に接
続され、データレジスタ29は、フラッシュメモリ内デ
ータバス43を介してメモリデコーダ23とコンペア回
路35に接続されている。
【0051】さらに、図1のマイコン1の外部回路・素
子について説明する。図において、90はそれぞれ、外
部データバス端子85、外部アドレス線端子86、外部
R/W制御線端子87に接続される外部データバス9
5、外部アドレス線96、外部R/W制御線97を介し
て接続される例えばフラッシュメモリ、EPROM等の
外部メモリであり、91はシリアルI/O12のそれぞ
れデータ入力(Din)端子72、データ出力(Dou
t)端子73、データ出力制御入力(OUTcont)
端子74と、例えば、RS−232C等のシリアル接続
手段で接続されるパーソナルコンピュータ(以下、単に
パソコンと略す)である。
子について説明する。図において、90はそれぞれ、外
部データバス端子85、外部アドレス線端子86、外部
R/W制御線端子87に接続される外部データバス9
5、外部アドレス線96、外部R/W制御線97を介し
て接続される例えばフラッシュメモリ、EPROM等の
外部メモリであり、91はシリアルI/O12のそれぞ
れデータ入力(Din)端子72、データ出力(Dou
t)端子73、データ出力制御入力(OUTcont)
端子74と、例えば、RS−232C等のシリアル接続
手段で接続されるパーソナルコンピュータ(以下、単に
パソコンと略す)である。
【0052】マイコン1のCPU/BIU3は、外部領
域をアクセスできる動作モードにおいて、外部バス制御
ブロック15を介して外部メモリ90の読み出し(外部
メモリの種類によっては書き込み)が可能であり、ま
た、シリアルI/O12を介してパソコン91との間で
データの入出力が可能である。
域をアクセスできる動作モードにおいて、外部バス制御
ブロック15を介して外部メモリ90の読み出し(外部
メモリの種類によっては書き込み)が可能であり、ま
た、シリアルI/O12を介してパソコン91との間で
データの入出力が可能である。
【0053】図2は、フラッシュメモリ制御レジスタ群
25のメモリマップを示す。図2に示す番地をアクセス
することで、対応するレジスタの書き込み、または読み
出しができる。
25のメモリマップを示す。図2に示す番地をアクセス
することで、対応するレジスタの書き込み、または読み
出しができる。
【0054】図3は、ポンプ/メモリデコーダ用制御信
号レジスタ26とその付属回路の構成を示すブロック図
である。図において、126はアドレス線6上のアドレ
ス、R/W制御線7上のCPU/BIU3からのリード
/ライト(R/W)制御情報をデコードし、E7h,E
8h番地(ポンプ/メモリ制御信号レジスタの番地)ア
クセス時にポンプ/メモリデコーダ用制御信号レジスタ
26へのリード信号、ライト信号を出力するE7h,E
8h番地R/W制御回路であり、127はアドレス線6
上のアドレス、R/W制御線7上のCPU/BIU3か
らのリード/ライト(R/W)制御情報をデコードし、
E7h番地(信号出力制御レジスタの番地)アクセス時
にポンプ/メモリデコーダ用制御信号レジスタ26への
信号出力信号を出力するEEh番地R/W制御回路であ
る。
号レジスタ26とその付属回路の構成を示すブロック図
である。図において、126はアドレス線6上のアドレ
ス、R/W制御線7上のCPU/BIU3からのリード
/ライト(R/W)制御情報をデコードし、E7h,E
8h番地(ポンプ/メモリ制御信号レジスタの番地)ア
クセス時にポンプ/メモリデコーダ用制御信号レジスタ
26へのリード信号、ライト信号を出力するE7h,E
8h番地R/W制御回路であり、127はアドレス線6
上のアドレス、R/W制御線7上のCPU/BIU3か
らのリード/ライト(R/W)制御情報をデコードし、
E7h番地(信号出力制御レジスタの番地)アクセス時
にポンプ/メモリデコーダ用制御信号レジスタ26への
信号出力信号を出力するEEh番地R/W制御回路であ
る。
【0055】また、111はマイコンリセット信号10
9と下記監視タイマ割り込み要求信号104との論理和
を取り、ポンプ/メモリデコーダ用制御信号レジスタ2
6のリセット信号入力端に出力するORゲート、112
はE7h,E8h番地R/W制御回路126からのライ
ト信号と下記シーケンス制御レジスタ32のFM書き換
えモードビットの出力114との論理積を取り、ポンプ
/メモリデコーダ用制御信号レジスタ26のライト信号
入力端に出力するANDゲートである。
9と下記監視タイマ割り込み要求信号104との論理和
を取り、ポンプ/メモリデコーダ用制御信号レジスタ2
6のリセット信号入力端に出力するORゲート、112
はE7h,E8h番地R/W制御回路126からのライ
ト信号と下記シーケンス制御レジスタ32のFM書き換
えモードビットの出力114との論理積を取り、ポンプ
/メモリデコーダ用制御信号レジスタ26のライト信号
入力端に出力するANDゲートである。
【0056】このポンプ/メモリデコーダ用制御信号レ
ジスタ26は、データバス5に接続されており、CPU
/BIU3から書き込み、または読み出しが可能であ
る。また、本レジスタの1ビット毎に1本が対応して電
圧チャージポンプ回路24、メモリデコーダ23への制
御信号40,41が出力される。
ジスタ26は、データバス5に接続されており、CPU
/BIU3から書き込み、または読み出しが可能であ
る。また、本レジスタの1ビット毎に1本が対応して電
圧チャージポンプ回路24、メモリデコーダ23への制
御信号40,41が出力される。
【0057】図5は、ポンプ/メモリデコーダ用制御信
号レジスタ26の1ビット構成を示すブロック図であ
る。図において、140,141はそれぞれスレーブお
よびマスタのフリップフロップ(以下、F/Fと略す)
回路である。このスレーブF/F140はライト信号が
アクティブとなった時にデータバス5の対応するビット
の状態をラッチし、リセット入力信号がアクティブとな
った時にその内容をクリアする。一方、マスタF/F1
41は信号出力信号がアクティブとなった時にスレーブ
F/F140の状態をラッチし、リセット入力信号がア
クティブとなった時にその内容をクリアする。マスタF
/F141の出力が電圧チャージポンプ回路24,メモ
リデコーダ23への制御信号40,41の対応する1本
となる。
号レジスタ26の1ビット構成を示すブロック図であ
る。図において、140,141はそれぞれスレーブお
よびマスタのフリップフロップ(以下、F/Fと略す)
回路である。このスレーブF/F140はライト信号が
アクティブとなった時にデータバス5の対応するビット
の状態をラッチし、リセット入力信号がアクティブとな
った時にその内容をクリアする。一方、マスタF/F1
41は信号出力信号がアクティブとなった時にスレーブ
F/F140の状態をラッチし、リセット入力信号がア
クティブとなった時にその内容をクリアする。マスタF
/F141の出力が電圧チャージポンプ回路24,メモ
リデコーダ23への制御信号40,41の対応する1本
となる。
【0058】図4は、シーケンス制御レジスタ32とそ
の付属回路の構成を示すブロック図である。図におい
て、132はアドレス線6上のアドレス、R/W制御線
7上のCPU/BIU3からのリード/ライト(R/
W)制御情報をデコードしF0h番地(シーケンス制御
レジスタの番地)アクセス時にシーケンス制御レジスタ
32へのリード信号、ライト信号を出力するF0h番地
R/W制御回路であり、113は、シーケンス制御レジ
スタ32のビット6の出力とビット5の出力との論理積
を取るANDゲート、また117はマイコンリセット信
号109と下記監視タイマ割り込み要求信号104との
論理和を取りシーケンス制御レジスタ32のリセット信
号入力端に出力するORゲートである。そして、シーケ
ンス制御レジスタ32のビット0,1,4,5,6はそ
れぞれ、ベリファイ開始ビット、ベリファイステータ
ス、FM書き換えモードビット、クロック源選択ビッ
ト、ポンプ用クロック発振許可ビットに割り付けられて
いる。また、シーケンス制御レジスタ32は、データバ
ス5に接続されており、CPU/BIU3から書き込
み、または読み出しが可能である。
の付属回路の構成を示すブロック図である。図におい
て、132はアドレス線6上のアドレス、R/W制御線
7上のCPU/BIU3からのリード/ライト(R/
W)制御情報をデコードしF0h番地(シーケンス制御
レジスタの番地)アクセス時にシーケンス制御レジスタ
32へのリード信号、ライト信号を出力するF0h番地
R/W制御回路であり、113は、シーケンス制御レジ
スタ32のビット6の出力とビット5の出力との論理積
を取るANDゲート、また117はマイコンリセット信
号109と下記監視タイマ割り込み要求信号104との
論理和を取りシーケンス制御レジスタ32のリセット信
号入力端に出力するORゲートである。そして、シーケ
ンス制御レジスタ32のビット0,1,4,5,6はそ
れぞれ、ベリファイ開始ビット、ベリファイステータ
ス、FM書き換えモードビット、クロック源選択ビッ
ト、ポンプ用クロック発振許可ビットに割り付けられて
いる。また、シーケンス制御レジスタ32は、データバ
ス5に接続されており、CPU/BIU3から書き込
み、または読み出しが可能である。
【0059】図6は、アドレスレジスタ28とその付属
回路の構成を示すブロック図であり、図において、12
8はアドレス線6上のアドレス、R/W制御線7上のC
PU/BIU3からのリード/ライト(R/W)制御情
報をデコードしE0h〜E2h番地(ステータスレジス
タの番地)アクセス時にアドレスレジスタ28へのリー
ド信号、ライト信号を出力するE0h〜E2h番地R/
W制御回路であり、228はアドレスレジスタ28に付
属するアドレスインクリメンタである。
回路の構成を示すブロック図であり、図において、12
8はアドレス線6上のアドレス、R/W制御線7上のC
PU/BIU3からのリード/ライト(R/W)制御情
報をデコードしE0h〜E2h番地(ステータスレジス
タの番地)アクセス時にアドレスレジスタ28へのリー
ド信号、ライト信号を出力するE0h〜E2h番地R/
W制御回路であり、228はアドレスレジスタ28に付
属するアドレスインクリメンタである。
【0060】このアドレスレジスタ28は、データバス
5に接続されており、CPU/BIU3から書き込みま
たは読み出しが可能であり、またフラッシュメモリ内ア
ドレス線42が接続されている。アドレスインクリメン
タ228は、シーケンス制御レジスタ32のビット0
(ベリファイ開始ビット)により、後述するイレーズ後
ベリファイ時にアドレス値をインクリメントする。
5に接続されており、CPU/BIU3から書き込みま
たは読み出しが可能であり、またフラッシュメモリ内ア
ドレス線42が接続されている。アドレスインクリメン
タ228は、シーケンス制御レジスタ32のビット0
(ベリファイ開始ビット)により、後述するイレーズ後
ベリファイ時にアドレス値をインクリメントする。
【0061】図7は、ポンプ用タイマレジスタ33とそ
の付属回路の構成を示すブロック図であり、図におい
て、133はアドレス線6上のアドレス、R/W制御線
7上のCPU/BIUからのリード/ライト(R/W)
制御情報をデコードし、F2h,F3h番地(ポンプ用
タイマレジスタの番地)アクセス時にポンプ用タイマレ
ジスタ33へのリード信号、ライト信号を出力するF2
h,F3h番地R/W制御回路であり、134はポンプ
用クロック106のクロックに同期してポンプ用タイマ
レジスタ33のビット0〜ビット14のカウンタレジス
タの値を減算するデクリメンタである。このデクリメン
タ134とポンプ用タイマレジスタ33で15ビットの
カウンタを構成している。
の付属回路の構成を示すブロック図であり、図におい
て、133はアドレス線6上のアドレス、R/W制御線
7上のCPU/BIUからのリード/ライト(R/W)
制御情報をデコードし、F2h,F3h番地(ポンプ用
タイマレジスタの番地)アクセス時にポンプ用タイマレ
ジスタ33へのリード信号、ライト信号を出力するF2
h,F3h番地R/W制御回路であり、134はポンプ
用クロック106のクロックに同期してポンプ用タイマ
レジスタ33のビット0〜ビット14のカウンタレジス
タの値を減算するデクリメンタである。このデクリメン
タ134とポンプ用タイマレジスタ33で15ビットの
カウンタを構成している。
【0062】ポンプ用タイマレジスタ33のビット15
はカウント開始ビットに割り付けられている。このカウ
ント開始フラグに“1”を書くとデクリメンタ134が
デクリメントを開始し、ポンプ用タイマレジスタ33の
値が“0”になったらカウント開始ビットは自動的に
“0”になる。ポンプ用タイマレジスタ33は、データ
バス5に接続されており、CPU/BIU3から書き込
み、または読み出しが可能である。
はカウント開始ビットに割り付けられている。このカウ
ント開始フラグに“1”を書くとデクリメンタ134が
デクリメントを開始し、ポンプ用タイマレジスタ33の
値が“0”になったらカウント開始ビットは自動的に
“0”になる。ポンプ用タイマレジスタ33は、データ
バス5に接続されており、CPU/BIU3から書き込
み、または読み出しが可能である。
【0063】図8および図9は、ともにマイコン1のク
ロック制御関連回路の構成を示すブロック図であり、図
において、24は電圧チャージポンプ回路、36はポン
プ用クロック発振器、118は電圧チャージポンプ回路
24からの発振要求信号108とシーケンス制御レジス
タ32のビット6(ポンプ用クロック発振許可ビット)
の出力116との論理和を取り、ポンプ用クロック発振
器36へ入力するORゲート、153は監視タイマ、1
04はこの監視タイマ153から出力される監視タイマ
割り込み要求信号、16はクロック制御回路、151は
入力されたクロック源からCPU/BIU3用、周辺装
置用、監視タイマ用クロック154〜156を生成する
クロック生成回路、152はシーケンス制御レジスタ3
2のビット5(クロック選択ビット)の出力とビット6
(ポンプ用クロック発振許可ビット)の出力116とを
入力とするANDゲート113の出力(クロック源選択
信号)115の状態で2つの入力端から入力されるクロ
ックを選択して出力するクロックセレクタである。
ロック制御関連回路の構成を示すブロック図であり、図
において、24は電圧チャージポンプ回路、36はポン
プ用クロック発振器、118は電圧チャージポンプ回路
24からの発振要求信号108とシーケンス制御レジス
タ32のビット6(ポンプ用クロック発振許可ビット)
の出力116との論理和を取り、ポンプ用クロック発振
器36へ入力するORゲート、153は監視タイマ、1
04はこの監視タイマ153から出力される監視タイマ
割り込み要求信号、16はクロック制御回路、151は
入力されたクロック源からCPU/BIU3用、周辺装
置用、監視タイマ用クロック154〜156を生成する
クロック生成回路、152はシーケンス制御レジスタ3
2のビット5(クロック選択ビット)の出力とビット6
(ポンプ用クロック発振許可ビット)の出力116とを
入力とするANDゲート113の出力(クロック源選択
信号)115の状態で2つの入力端から入力されるクロ
ックを選択して出力するクロックセレクタである。
【0064】監視タイマ153へCPU/BIU3から
書き込みを行う(その書き込みバスは図示していない)
とそのカウント値は最大値へセットされ、監視タイマ用
クロックによって順次デクリメントされる。カウント値
が“0”になった時点で、監視タイマ割り込み要求信号
104が“H”(アクティブ)となる。このように、図
8はクロック生成回路151のクロック源をクロックセ
レクタ152で選択する構成例であり、一方、図9はC
PU/BIU用クロック、監視タイマ用クロックをクロ
ックセレクタ152で選択する構成例である。
書き込みを行う(その書き込みバスは図示していない)
とそのカウント値は最大値へセットされ、監視タイマ用
クロックによって順次デクリメントされる。カウント値
が“0”になった時点で、監視タイマ割り込み要求信号
104が“H”(アクティブ)となる。このように、図
8はクロック生成回路151のクロック源をクロックセ
レクタ152で選択する構成例であり、一方、図9はC
PU/BIU用クロック、監視タイマ用クロックをクロ
ックセレクタ152で選択する構成例である。
【0065】(ファームウエア構成、動作モード)次に
この発明の実施の形態1によるファームウエア構成、動
作モードについて、図面を参照して説明する。図10に
示される表1は、フラッシュメモリの操作を指定するソ
フトウエアコマンドの一覧表である。この表1では、フ
ラッシュメモリの内容を特定ブロック(図1のブロック
(0)210〜ブロック(4)214)毎に消去する
“ブロックイレーズ”コマンドと、指定した番地へ1ワ
ード(=2バイト=16ビット)単位への書き込みを行
う“(ワード)プログラム”コマンドを記載している
が、当然、これ以外のコマンド(例えば、ロックビット
操作に関するコマンド、テスト用コマンド等)を追加し
てもよい。ブロックイレーズコマンド(以下、イレーズ
コマンドと略す)の場合は、ブロック先頭アドレス(2
4ビット)とコマンドコード(16ビット)を指定し、
(ワード)プログラムコマンド(以下、プログラムコマ
ンドと略す)の場合は、書き込みアドレス(24ビッ
ト)、書き込みデータ(16ビット)とコマンドビット
(16ビット)を指定する。
この発明の実施の形態1によるファームウエア構成、動
作モードについて、図面を参照して説明する。図10に
示される表1は、フラッシュメモリの操作を指定するソ
フトウエアコマンドの一覧表である。この表1では、フ
ラッシュメモリの内容を特定ブロック(図1のブロック
(0)210〜ブロック(4)214)毎に消去する
“ブロックイレーズ”コマンドと、指定した番地へ1ワ
ード(=2バイト=16ビット)単位への書き込みを行
う“(ワード)プログラム”コマンドを記載している
が、当然、これ以外のコマンド(例えば、ロックビット
操作に関するコマンド、テスト用コマンド等)を追加し
てもよい。ブロックイレーズコマンド(以下、イレーズ
コマンドと略す)の場合は、ブロック先頭アドレス(2
4ビット)とコマンドコード(16ビット)を指定し、
(ワード)プログラムコマンド(以下、プログラムコマ
ンドと略す)の場合は、書き込みアドレス(24ビッ
ト)、書き込みデータ(16ビット)とコマンドビット
(16ビット)を指定する。
【0066】図11に示される表2は、コマンド実行結
果やイリーガルコマンド入力を示すエラーステータスの
一覧表である。エラーステータスのコードは、通常、書
き換え制御F/Wでステータスレジスタ30に書き込ま
れ、ユーザ側のソフトウエアで読み出しと内容クリアが
行われる。なお、ステータスコードは、ステータスレジ
スタ30のビット5、ビット4に割り付けられている。
果やイリーガルコマンド入力を示すエラーステータスの
一覧表である。エラーステータスのコードは、通常、書
き換え制御F/Wでステータスレジスタ30に書き込ま
れ、ユーザ側のソフトウエアで読み出しと内容クリアが
行われる。なお、ステータスコードは、ステータスレジ
スタ30のビット5、ビット4に割り付けられている。
【0067】図12は、マイコン1のメモリマップと書
き換え制御F/Wの動作順序を示す図である。同図で、
フラッシュメモリ制御レジスタ群25を含む周辺装置制
御レジスタ群14、RAM4,フラッシュメモリユーザ
領域21,フラッシュメモリF/W領域22の配置を示
すとともに、フラッシュメモリF/W領域22内に書き
換え制御F/W103が格納され、フラッシュメモリユ
ーザ領域21内にユーザのE/W(イレーズ/書き込
み)プログラム102が格納され、RAM4内に書き換
え制御F/W103の一部の構成要素であるコマンド実
行制御部101が転送されることを示す。
き換え制御F/Wの動作順序を示す図である。同図で、
フラッシュメモリ制御レジスタ群25を含む周辺装置制
御レジスタ群14、RAM4,フラッシュメモリユーザ
領域21,フラッシュメモリF/W領域22の配置を示
すとともに、フラッシュメモリF/W領域22内に書き
換え制御F/W103が格納され、フラッシュメモリユ
ーザ領域21内にユーザのE/W(イレーズ/書き込
み)プログラム102が格納され、RAM4内に書き換
え制御F/W103の一部の構成要素であるコマンド実
行制御部101が転送されることを示す。
【0068】なお、周辺装置制御レジスタ群14の番地
は、図1のマイコン1のブロック図において、ポート制
御ブロック11,シリアルI/O12、タイマ13他の
周辺装置内の制御レジスタと、フラッシュメモリ制御レ
ジスタ群25に割り付けられた番地を示す。また、丸付
番号1〜11は書き換え制御F/Wの動作順番すなわち
シーケンスを示す。
は、図1のマイコン1のブロック図において、ポート制
御ブロック11,シリアルI/O12、タイマ13他の
周辺装置内の制御レジスタと、フラッシュメモリ制御レ
ジスタ群25に割り付けられた番地を示す。また、丸付
番号1〜11は書き換え制御F/Wの動作順番すなわち
シーケンスを示す。
【0069】図13は、書き換え制御F/W構成と実行
手順を示す図であり、図において、丸付番号1〜11は
図9と共通な書き換え制御F/Wの動作順番を示す。ま
た、書き換え制御F/W103は、ユーザI/F制御部
100とコマンド実行制御部101から構成されている
ことを示す。
手順を示す図であり、図において、丸付番号1〜11は
図9と共通な書き換え制御F/Wの動作順番を示す。ま
た、書き換え制御F/W103は、ユーザI/F制御部
100とコマンド実行制御部101から構成されている
ことを示す。
【0070】図14は、ユーザI/F制御部が担当する
書き換え制御F/Wの動作フローチャートを、図15
は、コマンド実行制御部101が担当する書き換え制御
F/Wの動作フローチャートを示す。なお、図15は、
図14中のコマンド実行の部分に相当する。また、図中
丸付番号1〜11は図9、図10と共通な書き換え制御
F/Wの動作順番を示す。
書き換え制御F/Wの動作フローチャートを、図15
は、コマンド実行制御部101が担当する書き換え制御
F/Wの動作フローチャートを示す。なお、図15は、
図14中のコマンド実行の部分に相当する。また、図中
丸付番号1〜11は図9、図10と共通な書き換え制御
F/Wの動作順番を示す。
【0071】図16は、マイコン1の外部メモリで動作
させるモードにおけるメモリマップを示す。図12のメ
モリマップとは、フラッシュメモリユーザ領域21が、
外部メモリ領域になっている点が異なる。なお、ユーザ
E/W制御プログラム102は外部ROM等の外部メモ
リに格納される。
させるモードにおけるメモリマップを示す。図12のメ
モリマップとは、フラッシュメモリユーザ領域21が、
外部メモリ領域になっている点が異なる。なお、ユーザ
E/W制御プログラム102は外部ROM等の外部メモ
リに格納される。
【0072】図17に示される表3は、マイコン1の動
作モードの一覧表である。通常のユーザ向けモードの他
にテストやチップ評価のためのテストモードがある。こ
れらのテストモードでは主にフラッシュメモリのF/W
領域の書き換えを行う。
作モードの一覧表である。通常のユーザ向けモードの他
にテストやチップ評価のためのテストモードがある。こ
れらのテストモードでは主にフラッシュメモリのF/W
領域の書き換えを行う。
【0073】(ユーザ領域の書き換え動作説明)次に、
この発明の実施の形態1によるフラッシュメモリ内蔵マ
イコンの動作について、主に図12〜図15を使って書
き換え制御F/Wによる書き換え制御手順について説明
する。まず、フラッシュメモリのF/W領域22に書き
換え制御F/W103を後述の方法で書き込んでおいた
マイコンで、これを使ってユーザがフラッシュメモリの
ユーザ領域21を書き換える手順を説明する。
この発明の実施の形態1によるフラッシュメモリ内蔵マ
イコンの動作について、主に図12〜図15を使って書
き換え制御F/Wによる書き換え制御手順について説明
する。まず、フラッシュメモリのF/W領域22に書き
換え制御F/W103を後述の方法で書き込んでおいた
マイコンで、これを使ってユーザがフラッシュメモリの
ユーザ領域21を書き換える手順を説明する。
【0074】ユーザE/W制御プログラム102はユー
ザ側で用意するべきプログラムで、フラッシュメモリの
書き換えを書き換え制御F/W103に実行させる指示
を行い、書き換え実行後の評価を行う。具体的には、図
13に示すように、書き換えを行うべき内容と番地/ブ
ロックを指定するために表1のソフトウエアコマンド表
に従い、シーケンスにおいて、アドレスレジスタ28
へのアドレス設定、データレジスタへの書き込みデータ
設定(プログラム時のみ)、コマンドレジスタ31への
ソフトウエアコマンド設定を行い、次に、シーケンス
において、フラッシュメモリのF/W領域22に格納さ
れている書き換え制御F/W103の先頭番地へジャン
プするところまで行う。
ザ側で用意するべきプログラムで、フラッシュメモリの
書き換えを書き換え制御F/W103に実行させる指示
を行い、書き換え実行後の評価を行う。具体的には、図
13に示すように、書き換えを行うべき内容と番地/ブ
ロックを指定するために表1のソフトウエアコマンド表
に従い、シーケンスにおいて、アドレスレジスタ28
へのアドレス設定、データレジスタへの書き込みデータ
設定(プログラム時のみ)、コマンドレジスタ31への
ソフトウエアコマンド設定を行い、次に、シーケンス
において、フラッシュメモリのF/W領域22に格納さ
れている書き換え制御F/W103の先頭番地へジャン
プするところまで行う。
【0075】この各コマンドへの設定のハードウエアの
動作を図1を使って説明する。アドレスレジスタ28へ
のアドレス設定(書き込み)は、CPU/BIU3がア
ドレスレジスタ28に対応する番地(0000E0h/
E1h)をアドレス線6に、書き込むべきアドレスをデ
ータバス6に書き込むという情報(ライト信号)をR/
W制御線7に出力する。
動作を図1を使って説明する。アドレスレジスタ28へ
のアドレス設定(書き込み)は、CPU/BIU3がア
ドレスレジスタ28に対応する番地(0000E0h/
E1h)をアドレス線6に、書き込むべきアドレスをデ
ータバス6に書き込むという情報(ライト信号)をR/
W制御線7に出力する。
【0076】次にアドレスレジスタ28への書き込みが
実行される。図6はアドレスレジスタ28とその付属回
路を示す図である。E0h/E1h番地制御回路128
は、アドレス線6上のアドレス(0000E0h/E1
h)とR/W制御線7上のライト信号から、自分が担当
するレジスタへの書き込みであると判断し、アドレスレ
ジスタ28へライト信号を出力する。アドレスレジスタ
28へは、このライト信号がアクティブになるとデータ
バス5上のデータ(書き込むべきアドレス)を取り込
む。
実行される。図6はアドレスレジスタ28とその付属回
路を示す図である。E0h/E1h番地制御回路128
は、アドレス線6上のアドレス(0000E0h/E1
h)とR/W制御線7上のライト信号から、自分が担当
するレジスタへの書き込みであると判断し、アドレスレ
ジスタ28へライト信号を出力する。アドレスレジスタ
28へは、このライト信号がアクティブになるとデータ
バス5上のデータ(書き込むべきアドレス)を取り込
む。
【0077】以上の動作でアドレスレジスタ28へのア
ドレス設定(書き込み)が完了する。このようにして、
データレジスタ29、コマンドレジスタ31への設定も
同様の手順で実行できる。因みに、各レジスタの読み出
しは上記ライト信号をリード信号にし、データ出力をC
PU/BIU3でなく各レジスタが行うと読み替えると
ほぼ同様に説明できる。
ドレス設定(書き込み)が完了する。このようにして、
データレジスタ29、コマンドレジスタ31への設定も
同様の手順で実行できる。因みに、各レジスタの読み出
しは上記ライト信号をリード信号にし、データ出力をC
PU/BIU3でなく各レジスタが行うと読み替えると
ほぼ同様に説明できる。
【0078】書き換え制御F/W103は、ユーザE/
W制御プログラム102からのジャンプ(シーケンス
)で起動し、図14の書き換え制御F/W動作フロー
に基づき動作する。まず、ステップST<1>におい
て、CPUレジスタの退避(=RAM4の特定領域への
データ転送)を行い、ユーザE/W制御プログラム10
2の動作環境を破壊しないようにする(後に、ステップ
ST<12>でCPU内レジスタの復帰を行う))とと
もに、マスカブル割り込みの禁止処置を行う。書き換え
時にはフラッシュメモリの読み出しが回路上できないた
め、割り込み発生時にフラッシュメモリユーザ領域に存
在する割り込みベクトル読み出しができないので、割り
込みの禁止処置が必要となる。
W制御プログラム102からのジャンプ(シーケンス
)で起動し、図14の書き換え制御F/W動作フロー
に基づき動作する。まず、ステップST<1>におい
て、CPUレジスタの退避(=RAM4の特定領域への
データ転送)を行い、ユーザE/W制御プログラム10
2の動作環境を破壊しないようにする(後に、ステップ
ST<12>でCPU内レジスタの復帰を行う))とと
もに、マスカブル割り込みの禁止処置を行う。書き換え
時にはフラッシュメモリの読み出しが回路上できないた
め、割り込み発生時にフラッシュメモリユーザ領域に存
在する割り込みベクトル読み出しができないので、割り
込みの禁止処置が必要となる。
【0079】次に、シーケンスにおいて、フラッシュ
メモリ制御レジスタ群の操作として、ステップST<2
>において、ポンプ用クロック発振許可、すなわちシー
ケンス制御レジスタ32のビット6ポンプ用クロック発
振許可ビットへの“1”書き込みを行う。これにより、
図4および図8のポンプ用クロック発振許可信号116
が“H”となり、ORゲート118も“H”となり、ポ
ンプ用クロック発振器36は発振を開始する。なお、ポ
ンプ用クロック発振器36は上記の通りリングオシレー
タ等の自励発振器であるので、発振開始から発振安定ま
で一定時間が必要となる。この一定時間経過後、ポンプ
用クロック106を使用することができる。
メモリ制御レジスタ群の操作として、ステップST<2
>において、ポンプ用クロック発振許可、すなわちシー
ケンス制御レジスタ32のビット6ポンプ用クロック発
振許可ビットへの“1”書き込みを行う。これにより、
図4および図8のポンプ用クロック発振許可信号116
が“H”となり、ORゲート118も“H”となり、ポ
ンプ用クロック発振器36は発振を開始する。なお、ポ
ンプ用クロック発振器36は上記の通りリングオシレー
タ等の自励発振器であるので、発振開始から発振安定ま
で一定時間が必要となる。この一定時間経過後、ポンプ
用クロック106を使用することができる。
【0080】次に、ステップST<3>において、FM
書き換えモードの設定、すなわちシーケンス制御レジス
タ32のビット4FM書き換えモードビットへの“1”
書き込みを行う。これにより、図4および図3に示すF
M書き換えモード信号114が“H”となり、ANDゲ
ート112を開ける条件の1つが満たされる。すなわ
ち、下記シーケンス,の処理の中で、ポンプ/メモ
リデコーダ用制御信号レジスタ26への書き込みによ
り、同レジスタへのライト信号が伝達され書き込みが可
能となる。また、FM書き換えモード信号114によ
り、図示していないが、書き換え制御用のハードウエア
回路の動作禁止の解除を行わせることも可能である。
書き換えモードの設定、すなわちシーケンス制御レジス
タ32のビット4FM書き換えモードビットへの“1”
書き込みを行う。これにより、図4および図3に示すF
M書き換えモード信号114が“H”となり、ANDゲ
ート112を開ける条件の1つが満たされる。すなわ
ち、下記シーケンス,の処理の中で、ポンプ/メモ
リデコーダ用制御信号レジスタ26への書き込みによ
り、同レジスタへのライト信号が伝達され書き込みが可
能となる。また、FM書き換えモード信号114によ
り、図示していないが、書き換え制御用のハードウエア
回路の動作禁止の解除を行わせることも可能である。
【0081】次に、ステップST<4>において、ステ
ータスレジスタ30を読み出し、同レジスタのビット
5,4が“00”にクリアされているかどうかのチェッ
クを行う。読み出し値が“00”(リセット後、または
コマンド正常終了時の状態:表2参照)であれば、次に
処理すなわちステップST<5>へ進む。一方、読み出
し値が“00”以外の値であれば、以前の処理で何らか
のエラーがあり、ユーザがその対策を行っていないこと
になるので、何もせずにステップST<10>のFM書
き換えモード解除へ進む。
ータスレジスタ30を読み出し、同レジスタのビット
5,4が“00”にクリアされているかどうかのチェッ
クを行う。読み出し値が“00”(リセット後、または
コマンド正常終了時の状態:表2参照)であれば、次に
処理すなわちステップST<5>へ進む。一方、読み出
し値が“00”以外の値であれば、以前の処理で何らか
のエラーがあり、ユーザがその対策を行っていないこと
になるので、何もせずにステップST<10>のFM書
き換えモード解除へ進む。
【0082】このステップST<3>のFM書き換えモ
ードの設定、ステップST<4>のステータスレジスタ
チェック中に上記ポンプ用クロック発振器36の発振安
定が完了する。
ードの設定、ステップST<4>のステータスレジスタ
チェック中に上記ポンプ用クロック発振器36の発振安
定が完了する。
【0083】次に、ステップST<5>のポンプ用クロ
ックの切り換え、すなわちシーケンス制御レジスタ32
のビット5クロック源選択ビットへの“1”書き込みを
行う。これにより図4、図8および図9に示すANDゲ
ート出力信号(=クロック源選択信号)115が“H”
となり、クロックセレクタ152は上記ポンプ用クロッ
ク106に切り換える。クロック源選択信号115は、
ポンプ用クロック発振許可ビットとクロック源選択ビッ
トとが共に“1”のときのみ“H”(ポンプ用クロック
106切り換え)となる。クロック源選択ビットのみで
はクロック切り換えできない。
ックの切り換え、すなわちシーケンス制御レジスタ32
のビット5クロック源選択ビットへの“1”書き込みを
行う。これにより図4、図8および図9に示すANDゲ
ート出力信号(=クロック源選択信号)115が“H”
となり、クロックセレクタ152は上記ポンプ用クロッ
ク106に切り換える。クロック源選択信号115は、
ポンプ用クロック発振許可ビットとクロック源選択ビッ
トとが共に“1”のときのみ“H”(ポンプ用クロック
106切り換え)となる。クロック源選択ビットのみで
はクロック切り換えできない。
【0084】図8の回路の場合は、クロックセレクタ1
52はクロック源の切り換えにより、クロック生成回路
151で生成されるCPU/BIU・周辺装置用クロッ
ク154、および監視タイマ用クロックがいずれも上記
ポンプ用クロック106由来のクロックに切り替わる。
すなわち、書き換え時のマイコン1の動作は、ユーザが
使用しているクロックの周波数に依存しなくなる。
52はクロック源の切り換えにより、クロック生成回路
151で生成されるCPU/BIU・周辺装置用クロッ
ク154、および監視タイマ用クロックがいずれも上記
ポンプ用クロック106由来のクロックに切り替わる。
すなわち、書き換え時のマイコン1の動作は、ユーザが
使用しているクロックの周波数に依存しなくなる。
【0085】また、図9の回路の場合は、クロックセレ
クタ152はクロック源の切り換えにより、CPU/B
PU用クロック155と監視タイマ用クロックがいずれ
も上記ポンプ用クロック106由来のクロックに切り替
わり、周辺装置用クロック156は切り替わらない。す
なわち、書き換え時には、CPU/BIU3と監視タイ
マ153の動作は、ユーザが使用しているクロックの周
波数に依存しなくなるが、周辺装置はユーザ使用条件の
ままの動作を続ける。
クタ152はクロック源の切り換えにより、CPU/B
PU用クロック155と監視タイマ用クロックがいずれ
も上記ポンプ用クロック106由来のクロックに切り替
わり、周辺装置用クロック156は切り替わらない。す
なわち、書き換え時には、CPU/BIU3と監視タイ
マ153の動作は、ユーザが使用しているクロックの周
波数に依存しなくなるが、周辺装置はユーザ使用条件の
ままの動作を続ける。
【0086】次に、ステップST<6>のマイコン動作
モードチェック、アドレスデコードを含むコマンドデコ
ードを行う。これは、図13のシーケンスに相当す
る。マイコン動作モードは、図1に示す動作モード選択
端子MD(0)88,MD(1)89の状態をポート制
御ブロック11を介してCPU/BIU3が読み出すこ
とでチェックされる。ここでは、表3に示すユーザモー
ドを想定する。フラッシュメモリの書き換えが禁止され
ている動作モードでイレーズ、プログラム等のコマンド
が設定された場合には、イリーガルコマンドと判断され
る。
モードチェック、アドレスデコードを含むコマンドデコ
ードを行う。これは、図13のシーケンスに相当す
る。マイコン動作モードは、図1に示す動作モード選択
端子MD(0)88,MD(1)89の状態をポート制
御ブロック11を介してCPU/BIU3が読み出すこ
とでチェックされる。ここでは、表3に示すユーザモー
ドを想定する。フラッシュメモリの書き換えが禁止され
ている動作モードでイレーズ、プログラム等のコマンド
が設定された場合には、イリーガルコマンドと判断され
る。
【0087】コマンドデコード(アドレスデコードを含
む)は、CPU/BIU3が、コマンドレジスタ31、
アドレスレジスタ28、データレジスタ29を順に読み
出し、図10の表1に従って判断することで実行され
る。まず、コマンドレジスタ31の内容が規定されてい
るコマンドかどうかを16ビット全てチェックし、規定
外のコードであればイリーガルコマンドと判断される。
ブロックイレーズコマンドの場合は、アドレスレジスタ
28の内容がブロック210〜214の先頭番地である
かどうか24ビット全てチェックし、これら以外の番地
であればイリーガルコマンドと判断される。プログラム
コマンドの場合は、アドレスレジスタ28の内容がユー
ザ領域21の番地かどうか24ビット全てチェックし、
これら以外の番地であればイリーガルコマンドと判断さ
れる。
む)は、CPU/BIU3が、コマンドレジスタ31、
アドレスレジスタ28、データレジスタ29を順に読み
出し、図10の表1に従って判断することで実行され
る。まず、コマンドレジスタ31の内容が規定されてい
るコマンドかどうかを16ビット全てチェックし、規定
外のコードであればイリーガルコマンドと判断される。
ブロックイレーズコマンドの場合は、アドレスレジスタ
28の内容がブロック210〜214の先頭番地である
かどうか24ビット全てチェックし、これら以外の番地
であればイリーガルコマンドと判断される。プログラム
コマンドの場合は、アドレスレジスタ28の内容がユー
ザ領域21の番地かどうか24ビット全てチェックし、
これら以外の番地であればイリーガルコマンドと判断さ
れる。
【0088】正規のコマンドと判断された場合には次の
ステップST<7>のコマンド実行へ進み、イリーガル
コマンドと判断された場合にはステップST<8>のス
テータスレジスタ30へイリーガルコマンドのコード
“11”をセットし、ステップST<10>のFM書き
換えモード解除へ進む。
ステップST<7>のコマンド実行へ進み、イリーガル
コマンドと判断された場合にはステップST<8>のス
テータスレジスタ30へイリーガルコマンドのコード
“11”をセットし、ステップST<10>のFM書き
換えモード解除へ進む。
【0089】以上ステップST<1>〜<6>,<8>
の処理は、書き換え制御F/W103の中のユーザI/
F制御部100に属し、次のステップST<7>のコマ
ンド実行はコマンド実行制御部101に属する。このコ
マンド実行制御部101は、ソフトウエアコマンド毎の
F/W群で構成される。
の処理は、書き換え制御F/W103の中のユーザI/
F制御部100に属し、次のステップST<7>のコマ
ンド実行はコマンド実行制御部101に属する。このコ
マンド実行制御部101は、ソフトウエアコマンド毎の
F/W群で構成される。
【0090】図15の書き換え制御F/W動作フローを
参照して、(a)ブロックイレーズコマンド実行、
(b)プログラムコマンド実行のフローを説明する。い
ずれのコマンドでもフラッシュメモリの書き換えを行う
ので、フラッシュメモリからのF/W読み出しができな
くなるため、実際のコマンド実行F/WはRAM4に転
送してここで実行させる必要がある。
参照して、(a)ブロックイレーズコマンド実行、
(b)プログラムコマンド実行のフローを説明する。い
ずれのコマンドでもフラッシュメモリの書き換えを行う
ので、フラッシュメモリからのF/W読み出しができな
くなるため、実際のコマンド実行F/WはRAM4に転
送してここで実行させる必要がある。
【0091】(a)ブロックイレーズコマンド実行の場
合、まずステップST<IR1>において、RAM4の
所定のアドレスへコマンド実行制御部101のイレーズ
コマンド実行部F/Wを転送し、その先頭番地へジャン
プする。従って、これ以降のイレーズコマンド実行はR
AM4上のF/Wで行われるため、フラッシュメモリ
(のF/W領域)は読み出さない。
合、まずステップST<IR1>において、RAM4の
所定のアドレスへコマンド実行制御部101のイレーズ
コマンド実行部F/Wを転送し、その先頭番地へジャン
プする。従って、これ以降のイレーズコマンド実行はR
AM4上のF/Wで行われるため、フラッシュメモリ
(のF/W領域)は読み出さない。
【0092】次に、ステップST<IR2>のイレーズ
シーケンスを実行する。これは、図13のシーケンス
,に相当する処理で、具体的には、所定のイレーズ
シーケンスに従いポンプ/メモリデコーダ用制御信号レ
ジスタ26、信号出力制御レジスタ27の設定値を順次
書き換えることで、電圧チャージポンプ回路24、メモ
リデコーダ23への制御信号40,41を変化させ、イ
レーズ動作を行わせる。制御信号40,41を変化させ
るには、まず、ポンプ/メモリデコーダ用制御信号レジ
スタ26に次に出力すべき状態に相当するデータを書き
込んでおき、次に所定の変化タイミングで信号出力制御
レジスタ27へのダミー書き込みを行う。なお、図3に
示すように、ポンプ/メモリデコーダ用制御信号レジス
タ26へのライト信号はANDゲート112から出力さ
れるので、このレジスタへの書き込みを行う前にシーケ
ンス制御レジスタ32のビット4(FM書き換えモード
ビット)に“1”を設定しておく必要がある。
シーケンスを実行する。これは、図13のシーケンス
,に相当する処理で、具体的には、所定のイレーズ
シーケンスに従いポンプ/メモリデコーダ用制御信号レ
ジスタ26、信号出力制御レジスタ27の設定値を順次
書き換えることで、電圧チャージポンプ回路24、メモ
リデコーダ23への制御信号40,41を変化させ、イ
レーズ動作を行わせる。制御信号40,41を変化させ
るには、まず、ポンプ/メモリデコーダ用制御信号レジ
スタ26に次に出力すべき状態に相当するデータを書き
込んでおき、次に所定の変化タイミングで信号出力制御
レジスタ27へのダミー書き込みを行う。なお、図3に
示すように、ポンプ/メモリデコーダ用制御信号レジス
タ26へのライト信号はANDゲート112から出力さ
れるので、このレジスタへの書き込みを行う前にシーケ
ンス制御レジスタ32のビット4(FM書き換えモード
ビット)に“1”を設定しておく必要がある。
【0093】上記所定のイレーズシーケンスによる所定
の変化タイミングに合わせた信号出力制御レジスタ27
へのダミー書き込みを行うためには、時間計測が必要と
なる。この時間計測にポンプ用タイマレジスタ33を使
う。まずポンプ用タイマレジスタ33のビット0〜ビッ
ト14にカウント値を、ビット15のカウント開始ビッ
トに“1”を書き込むと、ポンプ用タイマクロック10
6に同期してカウント(デクリメント)が始まる。カウ
ンタ値が“0”になるとカウンタ開始ビットが自動的に
“0”となるので、書き換え制御F/Wでこのビットを
繰り返しチェック(ポーリング)しておけば、カウント
終了を認識できる。
の変化タイミングに合わせた信号出力制御レジスタ27
へのダミー書き込みを行うためには、時間計測が必要と
なる。この時間計測にポンプ用タイマレジスタ33を使
う。まずポンプ用タイマレジスタ33のビット0〜ビッ
ト14にカウント値を、ビット15のカウント開始ビッ
トに“1”を書き込むと、ポンプ用タイマクロック10
6に同期してカウント(デクリメント)が始まる。カウ
ンタ値が“0”になるとカウンタ開始ビットが自動的に
“0”となるので、書き換え制御F/Wでこのビットを
繰り返しチェック(ポーリング)しておけば、カウント
終了を認識できる。
【0094】図3では、ポンプ/メモリデコーダ用制御
信号レジスタ26への書き込みは上記アドレスレジスタ
28への書き込みと同様に行われ、次の信号出力制御レ
ジスタ27へのダミー書き込みでEE番地R/E制御回
路127から信号出力信号が出力される。ポンプ/メモ
リデコーダ用制御信号レジスタ26は図5に示すように
構成されているので、ライト信号でデータバス5の状態
が読み込まれ、次の信号出力でレジスタから制御信号4
0,41として出力される。なお、ポンプ/メモリデコ
ーダ用制御信号レジスタ26のリセット後の初期値は、
電圧チャージポンプ回路24、メモリデコーダ23がイ
レーズ、プログラム等の書き換えを行わない状態に設定
される。
信号レジスタ26への書き込みは上記アドレスレジスタ
28への書き込みと同様に行われ、次の信号出力制御レ
ジスタ27へのダミー書き込みでEE番地R/E制御回
路127から信号出力信号が出力される。ポンプ/メモ
リデコーダ用制御信号レジスタ26は図5に示すように
構成されているので、ライト信号でデータバス5の状態
が読み込まれ、次の信号出力でレジスタから制御信号4
0,41として出力される。なお、ポンプ/メモリデコ
ーダ用制御信号レジスタ26のリセット後の初期値は、
電圧チャージポンプ回路24、メモリデコーダ23がイ
レーズ、プログラム等の書き換えを行わない状態に設定
される。
【0095】また、イレーズすべきブロックの指定は、
図1のフラッシュメモリ内アドレス線42を介してアド
レスレジスタ28からメモリデコーダ23へ伝達され
る。
図1のフラッシュメモリ内アドレス線42を介してアド
レスレジスタ28からメモリデコーダ23へ伝達され
る。
【0096】イレーズ完了後、イレーズが正常に行われ
たかどうかを確認するため、ステップST<IR3>に
おいて、イレーズ後ベリファイを行う。イレーズ後ベリ
ファイは、シーケンス制御レジスタ32のビット0ベリ
ファイ開始ビットに“1”を書き込むことで起動され
る。図6に示すアドレスレジスタ28に付属するアドレ
スインクリメンタ228でイレーズ後ベリファイ時には
イレーズしたブロックの最初のアドレスから順にアドレ
スを生成しメモリデコーダ23へ送る。コンペア回路3
5はこのアドレス毎にフラッシュメモリの読み出しを行
い、その結果をフラッシュメモリ内データバス43を介
して読み取り、消去期待値(“1”)と比較し、一致し
ていない場合には、シーケンス制御レジスタ32のビッ
ト1ベリファイステータスに“1”を設定する。
たかどうかを確認するため、ステップST<IR3>に
おいて、イレーズ後ベリファイを行う。イレーズ後ベリ
ファイは、シーケンス制御レジスタ32のビット0ベリ
ファイ開始ビットに“1”を書き込むことで起動され
る。図6に示すアドレスレジスタ28に付属するアドレ
スインクリメンタ228でイレーズ後ベリファイ時には
イレーズしたブロックの最初のアドレスから順にアドレ
スを生成しメモリデコーダ23へ送る。コンペア回路3
5はこのアドレス毎にフラッシュメモリの読み出しを行
い、その結果をフラッシュメモリ内データバス43を介
して読み取り、消去期待値(“1”)と比較し、一致し
ていない場合には、シーケンス制御レジスタ32のビッ
ト1ベリファイステータスに“1”を設定する。
【0097】イレーズコマンド実行部F/Wでこのベリ
ファイステータスを読み出し、ベリファイ結果をチェッ
クする。その結果がOKであれば、ステップST<IR
6>のRAM4からのリターンへ進む。NGであれば、
ステップST<IR4>でイレーズを所定回数実施した
かをチェックし、所定回数に満たなければ再度ステップ
ST<IR2>のイレーズシーケンス実行へ戻り、所定
回数を満たしていればイレーズエラーと判定し、ステッ
プST<IR5>におけるステータスレジスタ30のビ
ット5,4へイレーズエラーのコード“10”をセット
(シーケンス’)し、ステップST<IR6>のRA
M4からのリターンへ進む。
ファイステータスを読み出し、ベリファイ結果をチェッ
クする。その結果がOKであれば、ステップST<IR
6>のRAM4からのリターンへ進む。NGであれば、
ステップST<IR4>でイレーズを所定回数実施した
かをチェックし、所定回数に満たなければ再度ステップ
ST<IR2>のイレーズシーケンス実行へ戻り、所定
回数を満たしていればイレーズエラーと判定し、ステッ
プST<IR5>におけるステータスレジスタ30のビ
ット5,4へイレーズエラーのコード“10”をセット
(シーケンス’)し、ステップST<IR6>のRA
M4からのリターンへ進む。
【0098】(b)プログラムコマンド実行の場合は、
ステップST<PR2>のプログラムシーケンス実行の
具体的な手順、ステップST<PR3>のプログラム後
ベリファイの具体的な手順、ステップST<PR5>の
ステータスレジスタ30への設定エラーコードが異なる
こと以外は基本的に上記ブロックイレーズ実行の場合と
同様である。
ステップST<PR2>のプログラムシーケンス実行の
具体的な手順、ステップST<PR3>のプログラム後
ベリファイの具体的な手順、ステップST<PR5>の
ステータスレジスタ30への設定エラーコードが異なる
こと以外は基本的に上記ブロックイレーズ実行の場合と
同様である。
【0099】また、ステップST<PR2>のプログラ
ムシーケンス実行は、所定のプログラムシーケンスに従
いポンプ/メモリデコーダ用制御信号レジスタ26,信
号出力制御レジスタ27の設定値を順次書き換えること
で、電圧チャージポンプ回路24、メモリデコーダ23
への制御信号40,41を変化させ、プログラム動作を
行わせる。制御信号40,41を変化させる手順はブロ
ックイレーズの場合と同じである。
ムシーケンス実行は、所定のプログラムシーケンスに従
いポンプ/メモリデコーダ用制御信号レジスタ26,信
号出力制御レジスタ27の設定値を順次書き換えること
で、電圧チャージポンプ回路24、メモリデコーダ23
への制御信号40,41を変化させ、プログラム動作を
行わせる。制御信号40,41を変化させる手順はブロ
ックイレーズの場合と同じである。
【0100】また、プログラムすべきデータは、図1の
フラッシュメモリ内データバス43を介してデータレジ
スタ29からメモリデコーダ23へ伝達される。
フラッシュメモリ内データバス43を介してデータレジ
スタ29からメモリデコーダ23へ伝達される。
【0101】ステップST<PR3>のプログラム後ベ
リファイは、専用の回路を用いず、CPU/BPU3が
フラッシュメモリの該当番地を読み出し、書き込み値と
比較することで実行される。その結果がOKであれば、
ステップST<PR6>のRAM4からのリターンへ進
む。NGであれば、ステップST<PR4>でプログラ
ムを所定回数実施したかをチェックし、所定回数に満た
なければ再度ステップST<PR2>のプログラムシー
ケンス実行へ戻り、所定回数を満たしていればプログラ
ムエラーと判定し、ステップST<PR5>のステータ
スレジスタ30のビット5,4へプログラムエラーのコ
ード“01”をセットし、ステップST<PR6>のR
AM4からのリターンへ進む。
リファイは、専用の回路を用いず、CPU/BPU3が
フラッシュメモリの該当番地を読み出し、書き込み値と
比較することで実行される。その結果がOKであれば、
ステップST<PR6>のRAM4からのリターンへ進
む。NGであれば、ステップST<PR4>でプログラ
ムを所定回数実施したかをチェックし、所定回数に満た
なければ再度ステップST<PR2>のプログラムシー
ケンス実行へ戻り、所定回数を満たしていればプログラ
ムエラーと判定し、ステップST<PR5>のステータ
スレジスタ30のビット5,4へプログラムエラーのコ
ード“01”をセットし、ステップST<PR6>のR
AM4からのリターンへ進む。
【0102】ステップST<IR6>のRAM4からの
リターンまたはステップST<PR6>のRAM4から
のリターンで、元のユーザI/F制御部100(フラッ
シュメモリのF/W領域22に格納)に移行し、移行の
ステップST<9>のXINクロックへの切り換え、ス
テップST<10>のFM書き換えモード解除、ステッ
プST<11>のポンプ用クロック発振停止を順に実施
する。具体的には、それぞれシーケンス制御レジスタ3
2のビット5、ビット4、ビット6への“0”書き込み
である。(それぞれの動作は先に説明したステップST
<2>,<3>,<5>の逆となるだけであるので説明
は割愛する)。
リターンまたはステップST<PR6>のRAM4から
のリターンで、元のユーザI/F制御部100(フラッ
シュメモリのF/W領域22に格納)に移行し、移行の
ステップST<9>のXINクロックへの切り換え、ス
テップST<10>のFM書き換えモード解除、ステッ
プST<11>のポンプ用クロック発振停止を順に実施
する。具体的には、それぞれシーケンス制御レジスタ3
2のビット5、ビット4、ビット6への“0”書き込み
である。(それぞれの動作は先に説明したステップST
<2>,<3>,<5>の逆となるだけであるので説明
は割愛する)。
【0103】最後に、ステップST<12>においてC
PU内レジスタの復帰を行う。具体的には、先にステッ
プST<1>におけるCPU内レジスタの退避でRAM
4の特定領域に退避してデータをもとのCPU内レジス
タに復帰(転送)する。この後、ユーザE/W制御プロ
グラムのジャンプ(シーケンス)を行ったジャンプ命
令の次の命令へリターンする。これで、書き換え制御F
/Wの処理は終了する。
PU内レジスタの復帰を行う。具体的には、先にステッ
プST<1>におけるCPU内レジスタの退避でRAM
4の特定領域に退避してデータをもとのCPU内レジス
タに復帰(転送)する。この後、ユーザE/W制御プロ
グラムのジャンプ(シーケンス)を行ったジャンプ命
令の次の命令へリターンする。これで、書き換え制御F
/Wの処理は終了する。
【0104】リターン後、ユーザE/W制御プログラム
102では、シーケンス丸付番号11において、ステー
タスレジスタ30の読み出しを行い、コマンドの事項結
果をチェックする。
102では、シーケンス丸付番号11において、ステー
タスレジスタ30の読み出しを行い、コマンドの事項結
果をチェックする。
【0105】以上のような手順で、フラッシュメモリの
ユーザ領域の書き換えを実行する。なお、プログラムす
べきデータは、例えば図1のパソコン91からシリアル
I/O12を介して入力する。
ユーザ領域の書き換えを実行する。なお、プログラムす
べきデータは、例えば図1のパソコン91からシリアル
I/O12を介して入力する。
【0106】次に、書き換え制御F/W実行中にマイコ
ン1のCPU3が暴走し、(監視タイマへの定期的な書
き込み=カウント値のセットが実行されないため)監視
タイマ割り込み要求104が出力された場合、図示して
いない割り込み制御回路は所定の割り込み処理(CPU
内レジスタ内容の退避と監視タイマ割り込み用の割り込
みベクトル番地(フラッシュメモリのユーザ領域内)へ
のジャンプ等を行う。さらに、図3および図4に示すO
Rゲート111,117が出力するリセット信号が
“1”となり、それぞれポンプ/メモリデコーダ用制御
信号レジスタ26,シーケンス制御レジスタ32をリセ
ットする。これにより、電圧チャージポンプ回路24、
メモリデコーダ23は書き換え動作を中断し、またFM
書き換えモードは解除され、クロックはXIN入力側へ
切り替わり、フラッシュメモリはCPU/BIU3から
読み出せる状態に戻る。
ン1のCPU3が暴走し、(監視タイマへの定期的な書
き込み=カウント値のセットが実行されないため)監視
タイマ割り込み要求104が出力された場合、図示して
いない割り込み制御回路は所定の割り込み処理(CPU
内レジスタ内容の退避と監視タイマ割り込み用の割り込
みベクトル番地(フラッシュメモリのユーザ領域内)へ
のジャンプ等を行う。さらに、図3および図4に示すO
Rゲート111,117が出力するリセット信号が
“1”となり、それぞれポンプ/メモリデコーダ用制御
信号レジスタ26,シーケンス制御レジスタ32をリセ
ットする。これにより、電圧チャージポンプ回路24、
メモリデコーダ23は書き換え動作を中断し、またFM
書き換えモードは解除され、クロックはXIN入力側へ
切り替わり、フラッシュメモリはCPU/BIU3から
読み出せる状態に戻る。
【0107】上記実施の形態1では、コマンドレジスタ
31をアドレスに割り付けた通常のレジスタ構造のもの
としたが、これをCPU3内にあるアキュムレータに割
り付けてもよい。この場合、ユーザは、アキュムレータ
にコマンドを設定することになる。
31をアドレスに割り付けた通常のレジスタ構造のもの
としたが、これをCPU3内にあるアキュムレータに割
り付けてもよい。この場合、ユーザは、アキュムレータ
にコマンドを設定することになる。
【0108】上記実施の形態1では、コマンドレジスタ
31、ステータスレジスタ39をアドレスを割り付けた
通常のレジスタ構造のものとしたが、これらの一方また
は両方をRAM4内の特定番地に割り付けてもよい。
31、ステータスレジスタ39をアドレスを割り付けた
通常のレジスタ構造のものとしたが、これらの一方また
は両方をRAM4内の特定番地に割り付けてもよい。
【0109】(マイコン動作モードとF/W領域の書き
換え方法説明)上記の説明ではフラッシュメモリのF/
W領域22内に格納している書き換え制御F/Wを用い
て、同ユーザ領域の書き換えを行う方法について説明し
た。以降、F/W領域そのものの書き換え方法とそれに
関連したマイコンの動作モードについて説明する。
換え方法説明)上記の説明ではフラッシュメモリのF/
W領域22内に格納している書き換え制御F/Wを用い
て、同ユーザ領域の書き換えを行う方法について説明し
た。以降、F/W領域そのものの書き換え方法とそれに
関連したマイコンの動作モードについて説明する。
【0110】図17に示される表3にマイコン1の動作
モード一覧を示す。同表で各動作モードは、動作モード
選択端子MD(1)、MD(0)に外部から印加される
電圧レベルにより選択される。各動作モードは、フラッ
シュメモリがCPUから読み出しできるかどうか、フラ
ッシュメモリの書き換えができるかどうか、リセットベ
クトル番地がどこに配置されるかの条件が異なる。な
お、表3で○印、×印は、それぞれ読み出しあるいは書
き換えが可能か不能かを示す。CPUからの読み出し可
能/不能およびリセットベクトル番地の配置の制御は、
CPU/BIU3内のハードウエアの制御回路で行い、
フラッシュメモリの書き換えの制御は、書き換え制御F
/Wで行う。このために、書き換え制御F/Wは動作モ
ード選択端子MD(1),MD(0)を(ポート制御ブ
ロック11を介して)読み込み、動作モードを判定す
る。
モード一覧を示す。同表で各動作モードは、動作モード
選択端子MD(1)、MD(0)に外部から印加される
電圧レベルにより選択される。各動作モードは、フラッ
シュメモリがCPUから読み出しできるかどうか、フラ
ッシュメモリの書き換えができるかどうか、リセットベ
クトル番地がどこに配置されるかの条件が異なる。な
お、表3で○印、×印は、それぞれ読み出しあるいは書
き換えが可能か不能かを示す。CPUからの読み出し可
能/不能およびリセットベクトル番地の配置の制御は、
CPU/BIU3内のハードウエアの制御回路で行い、
フラッシュメモリの書き換えの制御は、書き換え制御F
/Wで行う。このために、書き換え制御F/Wは動作モ
ード選択端子MD(1),MD(0)を(ポート制御ブ
ロック11を介して)読み込み、動作モードを判定す
る。
【0111】次に各動作モードにつき説明する。ユーザ
モードでは、F/W領域22は読み出し可能(すなわち
書き換え制御F/Wによる書き換えが可能)だが、F/
W領域そのものの書き換えはできない(すなわち保護さ
れている)。リセットベクトルはユーザ領域21にあ
り、ユーザが通常使用するモードである。
モードでは、F/W領域22は読み出し可能(すなわち
書き換え制御F/Wによる書き換えが可能)だが、F/
W領域そのものの書き換えはできない(すなわち保護さ
れている)。リセットベクトルはユーザ領域21にあ
り、ユーザが通常使用するモードである。
【0112】このユーザモードでのメモリマップを図1
2に示す。なお、図12で周辺装置レジスタ群14、R
AM4、ユーザ領域21、F/W領域22に外部メモリ
領域を割り付けてもよく、この場合には、図1に示すよ
うに、外部データバス端子85、同アドレス線端子8
6、および同R/W制御線端子87から外部データバス
線95、同アドレス線96および同R/W制御線97を
介して外部メモリ90を接続することができる。
2に示す。なお、図12で周辺装置レジスタ群14、R
AM4、ユーザ領域21、F/W領域22に外部メモリ
領域を割り付けてもよく、この場合には、図1に示すよ
うに、外部データバス端子85、同アドレス線端子8
6、および同R/W制御線端子87から外部データバス
線95、同アドレス線96および同R/W制御線97を
介して外部メモリ90を接続することができる。
【0113】テストモード1は、F/W領域22そのも
のの書き換えが可能となっている以外は上記ユーザモー
ドと同じである。リセットベクトルがユーザ領域にある
ためリセット後の立ち上げはユーザ領域21内のソフト
ウエアで行い、その後F/W領域22内の書き換え制御
F/WをRAM4に転送した後、このF/Wを使って、
F/W領域を書き換えることになる。このモードはF/
Wの途中変更を想定したモードである。
のの書き換えが可能となっている以外は上記ユーザモー
ドと同じである。リセットベクトルがユーザ領域にある
ためリセット後の立ち上げはユーザ領域21内のソフト
ウエアで行い、その後F/W領域22内の書き換え制御
F/WをRAM4に転送した後、このF/Wを使って、
F/W領域を書き換えることになる。このモードはF/
Wの途中変更を想定したモードである。
【0114】テストモード2では、外部メモリ90を接
続することを想定した動作モードであり、ユーザ領域2
1の読み出しはできず、その代わりにユーザ領域21と
同じ番地で外部メモリ領域がアクセス可能であり、しか
もリセットベクトルがこの外部メモリ領域に配置され
る。このテストモード2のメモリマップを図16に示
す。このモードでは外部メモリ90にリセットベクトル
やユーザ制御プログラム(に相当するE/W制御プログ
ラム)に加え、書き換え制御F/Wを格納しておく。
続することを想定した動作モードであり、ユーザ領域2
1の読み出しはできず、その代わりにユーザ領域21と
同じ番地で外部メモリ領域がアクセス可能であり、しか
もリセットベクトルがこの外部メモリ領域に配置され
る。このテストモード2のメモリマップを図16に示
す。このモードでは外部メモリ90にリセットベクトル
やユーザ制御プログラム(に相当するE/W制御プログ
ラム)に加え、書き換え制御F/Wを格納しておく。
【0115】リセット後、E/W制御プログラムにより
書き換えを行うが、その場合外部メモリ90内の書き換
え制御F/Wを起動する。このモードでは、F/W領域
22の書き換え可能であるので、フラッシュメモリのF
/W領域への最初のF/W書き込みに使用できる。外部
メモリ90の代わりにテスタを接続しこのテスタでマイ
コンを操作すれば、マイコンの出荷にテスタを使って書
き換え制御F/WをF/W領域22に書き込むことがで
きる。
書き換えを行うが、その場合外部メモリ90内の書き換
え制御F/Wを起動する。このモードでは、F/W領域
22の書き換え可能であるので、フラッシュメモリのF
/W領域への最初のF/W書き込みに使用できる。外部
メモリ90の代わりにテスタを接続しこのテスタでマイ
コンを操作すれば、マイコンの出荷にテスタを使って書
き換え制御F/WをF/W領域22に書き込むことがで
きる。
【0116】またこのテストモード2では、外部メモリ
90にリセットベクトルやユーザE/W制御プログラム
(に相当するE/W制御プログラム)を置き、F/W領
域22に格納された書き換え制御F/Wを使用して、ユ
ーザ領域の書き換えを行うことができる。
90にリセットベクトルやユーザE/W制御プログラム
(に相当するE/W制御プログラム)を置き、F/W領
域22に格納された書き換え制御F/Wを使用して、ユ
ーザ領域の書き換えを行うことができる。
【0117】上記テストモード2ではユーザ領域21の
読み出しはできず、その代わりに、ユーザ領域21と同
じ番地で外部領域がアクセス可能であり、しかもリセッ
トベクトルがこの外部領域に配置されるとしたが、これ
をユーザ領域21の読み出し可能とするが、リセットベ
クトルを例えばユーザ領域21とF/W領域22との間
(800000h〜FFDFFFh番地)の外部メモリ
領域の特定番地に移動して設置するモードを作ってもよ
い。この場合、上記リセットベクトルを含む番地に外部
メモリ90を配置し、ここにリセットベクトルやユーザ
E/W制御プログラム(に相当するE/W制御プログラ
ム)に加え、書き換え制御F/Wを格納しておく。
読み出しはできず、その代わりに、ユーザ領域21と同
じ番地で外部領域がアクセス可能であり、しかもリセッ
トベクトルがこの外部領域に配置されるとしたが、これ
をユーザ領域21の読み出し可能とするが、リセットベ
クトルを例えばユーザ領域21とF/W領域22との間
(800000h〜FFDFFFh番地)の外部メモリ
領域の特定番地に移動して設置するモードを作ってもよ
い。この場合、上記リセットベクトルを含む番地に外部
メモリ90を配置し、ここにリセットベクトルやユーザ
E/W制御プログラム(に相当するE/W制御プログラ
ム)に加え、書き換え制御F/Wを格納しておく。
【0118】テストモード3はマイコンの出荷にテスト
を使って書き換え制御F/WをF/W領域22に書き込
むためのモードである。このモードで/RESET端子
79に“L”を印加したリセット状態では、外部データ
バス端子85、同アドレス線端子86,同R/W制御線
端子87から直接RAM4への書き込みや読み出しがで
きる。この状態で(図1の外部メモリ90の代わりに接
続されている)テスタからRAM4にリセットベクトル
やユーザE/W制御プログラム(に相当するE/W制御
プログラム)および書き換え制御F/Wを書き込む。
を使って書き換え制御F/WをF/W領域22に書き込
むためのモードである。このモードで/RESET端子
79に“L”を印加したリセット状態では、外部データ
バス端子85、同アドレス線端子86,同R/W制御線
端子87から直接RAM4への書き込みや読み出しがで
きる。この状態で(図1の外部メモリ90の代わりに接
続されている)テスタからRAM4にリセットベクトル
やユーザE/W制御プログラム(に相当するE/W制御
プログラム)および書き換え制御F/Wを書き込む。
【0119】次に、/RESET端子79のレベルを
“H”にしてリセットを解除すると、マイコン1のCP
U/BIU3は動作開始し、RAM4上のリセットベク
トル、E/W制御プログラムで動作する。フラッシュメ
モリの書き換えは同じくRAM4上の書き換え制御F/
Wを使用して実行される。このモードでは、F/W領域
22の書き換え可能であるので、フラッシュメモリのF
/W領域への最初のF/W書き込みに使用できる。
“H”にしてリセットを解除すると、マイコン1のCP
U/BIU3は動作開始し、RAM4上のリセットベク
トル、E/W制御プログラムで動作する。フラッシュメ
モリの書き換えは同じくRAM4上の書き換え制御F/
Wを使用して実行される。このモードでは、F/W領域
22の書き換え可能であるので、フラッシュメモリのF
/W領域への最初のF/W書き込みに使用できる。
【0120】上記F/W領域22の書き換えができるテ
ストモード1〜3においてF/W領域22の書き換えを
行うコマンドは通常使用するブロックイレーズコマン
ド、プログラムコマンドではなく、F/W専用のブロッ
クイレーズコマンド、プログラムコマンドを定義しても
よく、また、例えばプロテクト解除コマンドを定義しこ
のコマンド実行後にのみ、(通常の)ブロックイレーズ
コマンド、プログラムコマンドが有効となるようにして
もよい(その機能を書き換え制御F/Wに持たせる)。
ストモード1〜3においてF/W領域22の書き換えを
行うコマンドは通常使用するブロックイレーズコマン
ド、プログラムコマンドではなく、F/W専用のブロッ
クイレーズコマンド、プログラムコマンドを定義しても
よく、また、例えばプロテクト解除コマンドを定義しこ
のコマンド実行後にのみ、(通常の)ブロックイレーズ
コマンド、プログラムコマンドが有効となるようにして
もよい(その機能を書き換え制御F/Wに持たせる)。
【0121】なお、上記実施の形態1では、不揮発性メ
モリとしてフラッシュメモリの場合を挙げたが、他にE
EPROM、強電界メモリを使用した場合でも同様なこ
とが考えられる。
モリとしてフラッシュメモリの場合を挙げたが、他にE
EPROM、強電界メモリを使用した場合でも同様なこ
とが考えられる。
【0122】以上のように、この実施の形態1によれ
ば、書き換え制御ファームウエア(シーケンスF/W)
とユーザソフトウエアを格納するフラッシュメモリ、書
き換え制御内容を指定するコマンド指定手段(コマンド
レジスタ)、書き換え制御対象アドレス指定手段(アド
レスレジスタ)、書き込むべきデータを指定するデータ
指定手段(データレジスタ)、およびフラッシュメモリ
内電源ポンプ回路、メモリデコーダへの制御信号を指定
/出力する制御信号設定手段(制御信号レジスタ)を備
えてマイコンを構成し、これらの4つの設定手段(レジ
スタ)に対しては、マイコンのCPUにより書き込みま
たは読み出しのアクセスが可能であり、制御信号レジス
タの1ビットが1つの制御信号に対応し、これに書き込
まれた値は、直接フラッシュメモリ内電源回路、メモリ
デコーダへの制御信号となりこれらを制御する。
ば、書き換え制御ファームウエア(シーケンスF/W)
とユーザソフトウエアを格納するフラッシュメモリ、書
き換え制御内容を指定するコマンド指定手段(コマンド
レジスタ)、書き換え制御対象アドレス指定手段(アド
レスレジスタ)、書き込むべきデータを指定するデータ
指定手段(データレジスタ)、およびフラッシュメモリ
内電源ポンプ回路、メモリデコーダへの制御信号を指定
/出力する制御信号設定手段(制御信号レジスタ)を備
えてマイコンを構成し、これらの4つの設定手段(レジ
スタ)に対しては、マイコンのCPUにより書き込みま
たは読み出しのアクセスが可能であり、制御信号レジス
タの1ビットが1つの制御信号に対応し、これに書き込
まれた値は、直接フラッシュメモリ内電源回路、メモリ
デコーダへの制御信号となりこれらを制御する。
【0123】そして、この制御信号レジスタの設定値を
規定シーケンスに従い書き換え制御F/Wで書き換える
ことによりフラッシュメモリのイレーズ、プログラム
(書き込み)などの処理を実行させる。
規定シーケンスに従い書き換え制御F/Wで書き換える
ことによりフラッシュメモリのイレーズ、プログラム
(書き込み)などの処理を実行させる。
【0124】また、フラッシュメモリの書き換えを行う
場合には、ユーザソフトウエア(S/W)でコマンドレ
ジスタおよび必要に応じてアドレスレジスタ、データレ
ジスタに必要な情報を設定した後、そのF/Wを呼び出
す(F/W格納番地へジャンプする)。
場合には、ユーザソフトウエア(S/W)でコマンドレ
ジスタおよび必要に応じてアドレスレジスタ、データレ
ジスタに必要な情報を設定した後、そのF/Wを呼び出
す(F/W格納番地へジャンプする)。
【0125】さらに、書き換え制御F/Wはこれらのレ
ジスタに設定された情報を読み出し、次にそのコマンド
毎に決められたシーケンス(順番、時間)に従って制御
信号レジスタに準じ必要な設定値を書き込んでいく。
ジスタに設定された情報を読み出し、次にそのコマンド
毎に決められたシーケンス(順番、時間)に従って制御
信号レジスタに準じ必要な設定値を書き込んでいく。
【0126】コマンド実行が完了すると、F/Wは元の
ユーザS/Wへリターンする。なお、フラッシュメモリ
は複数の消去単位のブロックを持ち、書き換え制御F/
Wはユーザソフトウエア用ブロックとは別のブロック内
に格納する。
ユーザS/Wへリターンする。なお、フラッシュメモリ
は複数の消去単位のブロックを持ち、書き換え制御F/
Wはユーザソフトウエア用ブロックとは別のブロック内
に格納する。
【0127】以上のように、フラッシュメモリ内蔵マイ
コンを構成したので、従来の自動シーケンス回路(A)
を制御信号レジスタ(B)に変更し、そのシーケンス動
作をフラッシュメモリ(C)内のF/Wで実行させるこ
とにより、レイアウト面積Sは、S(A)>(S(B)
+S(C))なので、小さくでき、自動シーケンス回路
削減によるレイアウト面積縮小および低コスト化が実現
できるという効果が得られる。
コンを構成したので、従来の自動シーケンス回路(A)
を制御信号レジスタ(B)に変更し、そのシーケンス動
作をフラッシュメモリ(C)内のF/Wで実行させるこ
とにより、レイアウト面積Sは、S(A)>(S(B)
+S(C))なので、小さくでき、自動シーケンス回路
削減によるレイアウト面積縮小および低コスト化が実現
できるという効果が得られる。
【0128】また、書き換え制御F/Wを搭載したこと
により、ベンダ側で提供するF/Wで従来一部ユーザに
行わせていた書き換えプログラムのRAM転送などの処
理を実行するので、ユーザ側のS/Wを簡略化できると
いう効果が得られる。
により、ベンダ側で提供するF/Wで従来一部ユーザに
行わせていた書き換えプログラムのRAM転送などの処
理を実行するので、ユーザ側のS/Wを簡略化できると
いう効果が得られる。
【0129】さらに、シーケンス制御をH/Wではな
く、容易に書き換え可能なF/Wで行うようにしたの
で、シーケンス(順番、時間)の変更が容易にできフラ
ッシュメモリの仕上がりに合わせた最適のシーケンスを
提供できるという効果が得られる。
く、容易に書き換え可能なF/Wで行うようにしたの
で、シーケンス(順番、時間)の変更が容易にできフラ
ッシュメモリの仕上がりに合わせた最適のシーケンスを
提供できるという効果が得られる。
【0130】
【発明の効果】以上のように、この発明によれば、書き
換え制御ファームウエアとユーザソフトウエアをそれぞ
れ別の単位ブロックに格納する不揮発性メモリと、それ
ぞれマイコンのCPUにより書き込みまたは読み出しを
可能とした、書き換え制御内容を指定するコマンドレジ
スタ、書き換え制御対象アドレスを指定するアドレスレ
ジスタ、書き込むべきデータを指定するデータレジス
タ、および不揮発性メモリ内の電源ポンプ回路とメモリ
デコーダへの制御信号を指定する制御信号レジスタの少
なくとも4つのレジスタを備えたプログラム可能な不揮
発性メモリを内蔵したマイクロコンピュータが提供され
る。
換え制御ファームウエアとユーザソフトウエアをそれぞ
れ別の単位ブロックに格納する不揮発性メモリと、それ
ぞれマイコンのCPUにより書き込みまたは読み出しを
可能とした、書き換え制御内容を指定するコマンドレジ
スタ、書き換え制御対象アドレスを指定するアドレスレ
ジスタ、書き込むべきデータを指定するデータレジス
タ、および不揮発性メモリ内の電源ポンプ回路とメモリ
デコーダへの制御信号を指定する制御信号レジスタの少
なくとも4つのレジスタを備えたプログラム可能な不揮
発性メモリを内蔵したマイクロコンピュータが提供され
る。
【0131】これにより、制御信号レジスタの所定ビッ
トが電源ポンプ回路およびメモリデコーダへ接続される
制御信号に対応させて電源ポンプ回路およびメモリデコ
ーダを制御するようになし、書き換え制御ファームウエ
アは、コマンドレジスタ、アドレスレジスタまたはデー
タレジスタに設定された値を読み出し、その設定された
値に対応したコマンド毎に規定されたシーケンスに従い
制御信号レジスタの設定値を書き換えることにより電源
ポンプ回路およびメモリデコーダを動作させることで、
不揮発性メモリのイレーズおよびプログラムを含む書き
換え処理を実行させることができる。
トが電源ポンプ回路およびメモリデコーダへ接続される
制御信号に対応させて電源ポンプ回路およびメモリデコ
ーダを制御するようになし、書き換え制御ファームウエ
アは、コマンドレジスタ、アドレスレジスタまたはデー
タレジスタに設定された値を読み出し、その設定された
値に対応したコマンド毎に規定されたシーケンスに従い
制御信号レジスタの設定値を書き換えることにより電源
ポンプ回路およびメモリデコーダを動作させることで、
不揮発性メモリのイレーズおよびプログラムを含む書き
換え処理を実行させることができる。
【0132】したがって、(1)従来必要であった自動
シーケンス回路の削減によりレイアウト面積を縮小し、
低コスト化が図れ、(2)バグ改修やウエハプロセスへ
の最適な合わせ込みのための書き換えシーケンスの変更
を容易に実施できるようにでき、(3)書き換え制御フ
ァームウエア搭載によりユーザソフトウエアの負担を削
減するとともに、ソフトウエア開発期間の短縮が図れる
効果がある。
シーケンス回路の削減によりレイアウト面積を縮小し、
低コスト化が図れ、(2)バグ改修やウエハプロセスへ
の最適な合わせ込みのための書き換えシーケンスの変更
を容易に実施できるようにでき、(3)書き換え制御フ
ァームウエア搭載によりユーザソフトウエアの負担を削
減するとともに、ソフトウエア開発期間の短縮が図れる
効果がある。
【0133】この発明によれば、書き換え制御ファーム
ウエアを格納する単位ブロックとユーザソフトウエアを
格納する単位ブロックとは、そのアドレスが連続しない
ように構成したので、イレーズ、プログラムコマンドの
アドレス指定ミスなどによる書き換え制御ファームウエ
アの誤消去防止あるいはファームウエア領域のブロック
を非公開とすることで書き換え制御ファームウエアの秘
匿が図れる効果がある。
ウエアを格納する単位ブロックとユーザソフトウエアを
格納する単位ブロックとは、そのアドレスが連続しない
ように構成したので、イレーズ、プログラムコマンドの
アドレス指定ミスなどによる書き換え制御ファームウエ
アの誤消去防止あるいはファームウエア領域のブロック
を非公開とすることで書き換え制御ファームウエアの秘
匿が図れる効果がある。
【0134】この発明によれば、CPUにより書き込み
または読み出しを可能としたステータスレジスタを備え
ており、書き換え制御ファームウエアは、イレーズおよ
びプログラムを含んだ書き換え処理完了後、その実行結
果をステータスレジスタに書き込むように構成したの
で、ユーザE/W(イレーズ/書き込み)制御プログラ
ムにリターンした後、ユーザE/W制御プログラムは指
定したコマンドが正常に完了したのか、異常終了したの
かを確認することができる効果が得られる。
または読み出しを可能としたステータスレジスタを備え
ており、書き換え制御ファームウエアは、イレーズおよ
びプログラムを含んだ書き換え処理完了後、その実行結
果をステータスレジスタに書き込むように構成したの
で、ユーザE/W(イレーズ/書き込み)制御プログラ
ムにリターンした後、ユーザE/W制御プログラムは指
定したコマンドが正常に完了したのか、異常終了したの
かを確認することができる効果が得られる。
【0135】この発明によれば、書き換え制御ファーム
ウエアが、少なくともコマンドレジスタに設定されたコ
マンドをデコードするユーザインタフェース制御部と、
指定されたコマンド毎に電源ポンプ回路およびメモリデ
コーダの制御を行うコマンド実行制御部とから構成さ
れ、このコマンド実行制御部のファームウエアは内蔵す
るRAMに転送され、このRAM上で実行されるように
構成したので、ユーザE/W制御プログラムではコマン
ド指定とコマンド実行後のステータスチェック以外の処
理をサポートしなくてよく、従来必要だった書き換え制
御ソフトウエアのRAMへの転送、書き換えモードの設
定などが不要となるため、ユーザ側の負担は最小限にで
きる効果がある。また、上述の2つのユーザ制御部とコ
マンド実行部に分離することで、コマンドの追加、変更
などに対する書き換え制御ファームウエアのメインテナ
ンスが容易になる効果がある。
ウエアが、少なくともコマンドレジスタに設定されたコ
マンドをデコードするユーザインタフェース制御部と、
指定されたコマンド毎に電源ポンプ回路およびメモリデ
コーダの制御を行うコマンド実行制御部とから構成さ
れ、このコマンド実行制御部のファームウエアは内蔵す
るRAMに転送され、このRAM上で実行されるように
構成したので、ユーザE/W制御プログラムではコマン
ド指定とコマンド実行後のステータスチェック以外の処
理をサポートしなくてよく、従来必要だった書き換え制
御ソフトウエアのRAMへの転送、書き換えモードの設
定などが不要となるため、ユーザ側の負担は最小限にで
きる効果がある。また、上述の2つのユーザ制御部とコ
マンド実行部に分離することで、コマンドの追加、変更
などに対する書き換え制御ファームウエアのメインテナ
ンスが容易になる効果がある。
【0136】この発明によれば、書き換え制御ファーム
ウエアが、ユーザソフトウエアから当該書き換え制御フ
ァームウエアの先頭番地にジャンプすることにより起動
し、かつ、コマンド実行完了後はユーザソフトウエアの
ジャンプ命令の次の命令にリターンするように構成した
ので、ユーザE/W制御プログラムではコマンド指定と
コマンド実行後のステータスチェック以外の処理をサポ
ートしなくてよく、従来コマンド実行状態を示すステー
タスビットのポーリングで行っていたコマンド実行の終
了確認が不要となるため、ユーザの負担は最小限にでき
る効果がある。
ウエアが、ユーザソフトウエアから当該書き換え制御フ
ァームウエアの先頭番地にジャンプすることにより起動
し、かつ、コマンド実行完了後はユーザソフトウエアの
ジャンプ命令の次の命令にリターンするように構成した
ので、ユーザE/W制御プログラムではコマンド指定と
コマンド実行後のステータスチェック以外の処理をサポ
ートしなくてよく、従来コマンド実行状態を示すステー
タスビットのポーリングで行っていたコマンド実行の終
了確認が不要となるため、ユーザの負担は最小限にでき
る効果がある。
【0137】この発明によれば、書き換え制御ファーム
ウエアが、イレーズコマンドでは、イレーズ実行とイレ
ーズ後ベリファイ実行を連続して行い、プログラムコマ
ンドでは、プログラム実行とプログラム後ベリファイを
連続して行い、これらのベリファイ結果が異常であれ
ば、それぞれイレーズエラー、プログラムエラーと判断
するように構成したので、イレーズ、プログラムの一連
の動作をユーザ側から見れば自動的に実行するためユー
ザE/W制御プログラムではいちいちベリファイの作業
を実施する必要がなく、ソフトウエア開発が容易にでき
る効果がある。
ウエアが、イレーズコマンドでは、イレーズ実行とイレ
ーズ後ベリファイ実行を連続して行い、プログラムコマ
ンドでは、プログラム実行とプログラム後ベリファイを
連続して行い、これらのベリファイ結果が異常であれ
ば、それぞれイレーズエラー、プログラムエラーと判断
するように構成したので、イレーズ、プログラムの一連
の動作をユーザ側から見れば自動的に実行するためユー
ザE/W制御プログラムではいちいちベリファイの作業
を実施する必要がなく、ソフトウエア開発が容易にでき
る効果がある。
【0138】この発明によれば、書き換え制御ファーム
ウエアが、イレーズおよびプログラムを含むコマンド実
行結果をステータスレジスタに設定する他に、それぞれ
コマンドレジスタおよびアドレスレジスタに正規のコマ
ンドコードでないコマンド、または正規の指定すべきア
ドレスでないアドレスが指定されていた場合には、イリ
ーガルコマンドを示すエラーコードをステータスレジス
タに設定するようになし、この場合にはその後の処理を
実行しないように構成したので、ユーザE/W制御プロ
グラムでのコマンド、アドレス指定ミスによる誤動作防
止が図れ、またユーザE/W制御プログラムへ警告する
ことでユーザ側のデバッグが容易となる効果がある。
ウエアが、イレーズおよびプログラムを含むコマンド実
行結果をステータスレジスタに設定する他に、それぞれ
コマンドレジスタおよびアドレスレジスタに正規のコマ
ンドコードでないコマンド、または正規の指定すべきア
ドレスでないアドレスが指定されていた場合には、イリ
ーガルコマンドを示すエラーコードをステータスレジス
タに設定するようになし、この場合にはその後の処理を
実行しないように構成したので、ユーザE/W制御プロ
グラムでのコマンド、アドレス指定ミスによる誤動作防
止が図れ、またユーザE/W制御プログラムへ警告する
ことでユーザ側のデバッグが容易となる効果がある。
【0139】この発明によれば、書き換え制御ファーム
ウエアが、ステータスレジスタのクリアは実施せず、か
つ、コマンドレジスタに設定されたコマンドを実行する
前にステータスレジスタを読み出し、正常終了以外のエ
ラーコードであった場合には、その後の処理を実行しな
いように構成したので、コマンド実行が異常状態で終了
したことをユーザ(ユーザE/W制御プログラム)が確
認せずに次のコマンドを実行させてしまうのを防止する
ことができる効果がある。
ウエアが、ステータスレジスタのクリアは実施せず、か
つ、コマンドレジスタに設定されたコマンドを実行する
前にステータスレジスタを読み出し、正常終了以外のエ
ラーコードであった場合には、その後の処理を実行しな
いように構成したので、コマンド実行が異常状態で終了
したことをユーザ(ユーザE/W制御プログラム)が確
認せずに次のコマンドを実行させてしまうのを防止する
ことができる効果がある。
【0140】この発明によれば、コマンドレジスタに書
き込むべきコマンドコードのビット数を12〜16と
し、書き換え制御ファームウエアが、このコマンドコー
ドの全ビットをデコードするように構成したので、コマ
ンドコードの冗長性が大幅に向上し誤コマンド入力によ
る誤動作の発生確率を減らすことができる効果がある。
き込むべきコマンドコードのビット数を12〜16と
し、書き換え制御ファームウエアが、このコマンドコー
ドの全ビットをデコードするように構成したので、コマ
ンドコードの冗長性が大幅に向上し誤コマンド入力によ
る誤動作の発生確率を減らすことができる効果がある。
【0141】この発明によれば、アドレスレジスタに書
き込むべきアドレスのビット数を、不揮発性メモリ空間
を指定できるアドレスのビット数よりも多く取り、書き
換え制御ファームウエアは、このアドレスの全ビットを
デコードするように構成したので、アドレスの冗長性が
向上し誤アドレス入力による誤動作の発生確率を減らす
ことができる効果がある。
き込むべきアドレスのビット数を、不揮発性メモリ空間
を指定できるアドレスのビット数よりも多く取り、書き
換え制御ファームウエアは、このアドレスの全ビットを
デコードするように構成したので、アドレスの冗長性が
向上し誤アドレス入力による誤動作の発生確率を減らす
ことができる効果がある。
【0142】この発明によれば、CPUにより設定可能
な不揮発性メモリ書き換えモード選択ビットを有し、こ
のファームウエア書き換えモード選択ビットに特定値を
書き込んだ時に制御信号レジスタの書き換えが行えるよ
うに構成したので、CPUの暴走やユーザの誤使用(ソ
フトウエアミス)等で制御信号レジスタへ不正な書き込
みが行われ、フラッシュメモリが不正に書き換えられる
のを防止できる効果がある。
な不揮発性メモリ書き換えモード選択ビットを有し、こ
のファームウエア書き換えモード選択ビットに特定値を
書き込んだ時に制御信号レジスタの書き換えが行えるよ
うに構成したので、CPUの暴走やユーザの誤使用(ソ
フトウエアミス)等で制御信号レジスタへ不正な書き込
みが行われ、フラッシュメモリが不正に書き換えられる
のを防止できる効果がある。
【0143】この発明によれば、制御信号レジスタがC
PUにより設定可能なレジスタであり、リセット信号に
より、その出力する制御信号は電源ポンプ回路およびメ
モリデコーダを書き換え不可能な状態にリセットされる
ように構成したので、リセット時、リセット解除時にフ
ラッシュメモリが不正に書き換えられるのを防止できる
効果がある。
PUにより設定可能なレジスタであり、リセット信号に
より、その出力する制御信号は電源ポンプ回路およびメ
モリデコーダを書き換え不可能な状態にリセットされる
ように構成したので、リセット時、リセット解除時にフ
ラッシュメモリが不正に書き換えられるのを防止できる
効果がある。
【0144】この発明によれば、制御信号レジスタはC
PUにより設定可能なレジスタであり、監視タイマ割り
込み信号により、その出力する制御信号は電源ポンプ回
路およびメモリデコーダを書き換え不可能な状態にリセ
ットされるように構成したので、書き換え制御ファーム
ウエアによる不揮発性メモリの書き換え時に、万一CP
Uが暴走した場合に当該不揮発性メモリが不正に書き換
えられる可能性を減少できる効果がある。
PUにより設定可能なレジスタであり、監視タイマ割り
込み信号により、その出力する制御信号は電源ポンプ回
路およびメモリデコーダを書き換え不可能な状態にリセ
ットされるように構成したので、書き換え制御ファーム
ウエアによる不揮発性メモリの書き換え時に、万一CP
Uが暴走した場合に当該不揮発性メモリが不正に書き換
えられる可能性を減少できる効果がある。
【0145】この発明によれば、ファームウエアモード
選択ビットが、マイコンのリセット信号に加え、監視タ
イマ割り込み信号により、非書き換えモードを指定する
状態にリセットされるように構成したので、書き換え制
御ファームウエアによる不揮発性メモリが不正に書き換
えられる可能性を減少できる効果がある。
選択ビットが、マイコンのリセット信号に加え、監視タ
イマ割り込み信号により、非書き換えモードを指定する
状態にリセットされるように構成したので、書き換え制
御ファームウエアによる不揮発性メモリが不正に書き換
えられる可能性を減少できる効果がある。
【0146】この発明によれば、コマンドレジスタとし
て、CPU内のアキュムレータを割り付けるように構成
したので、アドレスを割り付けた通常のレジスタ構造で
コマンドレジスタを実現した場合に比べ、その内容を読
み出す手順が省かれるのでより高速にコマンドデコーダ
処理ができ、また、レジスタを新規に配置しなくても済
むので回路規模、レイアウト面積の拡大を回避できる効
果がある。
て、CPU内のアキュムレータを割り付けるように構成
したので、アドレスを割り付けた通常のレジスタ構造で
コマンドレジスタを実現した場合に比べ、その内容を読
み出す手順が省かれるのでより高速にコマンドデコーダ
処理ができ、また、レジスタを新規に配置しなくても済
むので回路規模、レイアウト面積の拡大を回避できる効
果がある。
【0147】この発明によれば、コマンドレジスタおよ
びステータスレジスタの両方または一方をレジスタでは
なく、内蔵するRAM内の特定番地に割り付けるように
構成したので、アドレスを割り付けた通常のレジスタ構
造でこれらのレジスタを実現した場合に比べ、回路規
模、レイアウト面積の拡大を大幅に削減できる効果があ
る。
びステータスレジスタの両方または一方をレジスタでは
なく、内蔵するRAM内の特定番地に割り付けるように
構成したので、アドレスを割り付けた通常のレジスタ構
造でこれらのレジスタを実現した場合に比べ、回路規
模、レイアウト面積の拡大を大幅に削減できる効果があ
る。
【0148】この発明によれば、不揮発性メモリの書き
換え時専用のタイマ回路をさらに備えるように構成した
ので、プログラムのループ回数で時間を計るソフトウエ
アタイマに比べ、精度がよい時間測定を実現できる効果
がある。また、ユーザ側はマイコンが正規の周辺回路と
して持っているタイマを不揮発性メモリ書き換え中に使
用できる効果がある。
換え時専用のタイマ回路をさらに備えるように構成した
ので、プログラムのループ回数で時間を計るソフトウエ
アタイマに比べ、精度がよい時間測定を実現できる効果
がある。また、ユーザ側はマイコンが正規の周辺回路と
して持っているタイマを不揮発性メモリ書き換え中に使
用できる効果がある。
【0149】この発明によれば、CPUおよび周辺装置
の動作クロック源を、クロック端子から入力したクロッ
クと、内蔵する自励発振器で生成したクロックとに切り
替えるクロック切り替え回路を有し、CPUが設定可能
なクロック源選択ビットの状態でこれらのクロックを切
り替えるようになし、不揮発性メモリの書き換え実行時
には、自励発振器側のクロックを選択するように構成し
たので、ユーザに依存しない時間設定が行えるため書き
換え制御ファームウエアの開発や調整が容易に行える効
果がある。
の動作クロック源を、クロック端子から入力したクロッ
クと、内蔵する自励発振器で生成したクロックとに切り
替えるクロック切り替え回路を有し、CPUが設定可能
なクロック源選択ビットの状態でこれらのクロックを切
り替えるようになし、不揮発性メモリの書き換え実行時
には、自励発振器側のクロックを選択するように構成し
たので、ユーザに依存しない時間設定が行えるため書き
換え制御ファームウエアの開発や調整が容易に行える効
果がある。
【0150】この発明によれば、CPUの動作クロック
源を、クロック端子から入力したクロックと、内蔵する
自励発振器で生成したクロックとに切り替えるクロック
切り替え回路を有し、CPUが設定可能なクロック源選
択ビットの状態でこれらのクロックを切り替えるように
なし、不揮発性メモリの書き換え実行時には、CPUの
動作クロック源を自励発振器側のクロックを選択する
が、タイマおよびシリアルI/O等の周辺装置用のクロ
ック源はクロック端子から入力したクロックから切り替
えないように構成したので、書き換え実行中の時間計測
をユーザ毎に周波数が異なるXIN入力クロックでな
く、常に一定周波数の内蔵する自励発振器側のクロック
で行うことにより、ユーザ使用条件に依存しない時間設
定が行えるため書き換え制御ファームウエアの開発や調
整が容易に行える効果がある。
源を、クロック端子から入力したクロックと、内蔵する
自励発振器で生成したクロックとに切り替えるクロック
切り替え回路を有し、CPUが設定可能なクロック源選
択ビットの状態でこれらのクロックを切り替えるように
なし、不揮発性メモリの書き換え実行時には、CPUの
動作クロック源を自励発振器側のクロックを選択する
が、タイマおよびシリアルI/O等の周辺装置用のクロ
ック源はクロック端子から入力したクロックから切り替
えないように構成したので、書き換え実行中の時間計測
をユーザ毎に周波数が異なるXIN入力クロックでな
く、常に一定周波数の内蔵する自励発振器側のクロック
で行うことにより、ユーザ使用条件に依存しない時間設
定が行えるため書き換え制御ファームウエアの開発や調
整が容易に行える効果がある。
【0151】また、周辺装置の動作速度はユーザソフト
ウエア走行時のままであるので、不揮発性メモリの書き
換え時にもタイマやシリアルI/Oといった周辺装置の
クロック設定値を変えずにそのままの状態で使用可能と
なる。このため、ユーザE/W制御プログラムと書き換
え制御ファームウエアを交互に行い、順に書き込み(プ
ログラム)を行う場合に、次の書き込みデータをシリア
ルI/Oから自動的に受信することが可能となる効果が
ある。
ウエア走行時のままであるので、不揮発性メモリの書き
換え時にもタイマやシリアルI/Oといった周辺装置の
クロック設定値を変えずにそのままの状態で使用可能と
なる。このため、ユーザE/W制御プログラムと書き換
え制御ファームウエアを交互に行い、順に書き込み(プ
ログラム)を行う場合に、次の書き込みデータをシリア
ルI/Oから自動的に受信することが可能となる効果が
ある。
【0152】この発明によれば、CPUおよび監視タイ
マの動作クロック源を、クロック端子から入力したクロ
ックと、内蔵する自励発振器で生成したクロックとに切
り替えるクロック切り替え回路を有し、CPUにより設
定可能なクロック源選択ビットの状態でこれらのクロッ
クを切り替えるようになし、不揮発性メモリの書き換え
実行時には、CPUおよび監視タイマの動作クロック源
を自励発振器側のクロックを選択するが、タイマおよび
シリアルI/Oを含む周辺装置用のクロック源はクロッ
ク端子から入力したクロックから切り替えないように構
成したので、書き換え実行中の時間計測をユーザ毎に周
波数が異なるXIN入力クロックでなく、常に一定周波
数の内蔵する自励発振器側のクロックで行うことによ
り、ユーザ使用条件に依存しない時間設定が行えるため
書き換え制御ファームウエアの開発や調整が容易に行え
る効果がある。
マの動作クロック源を、クロック端子から入力したクロ
ックと、内蔵する自励発振器で生成したクロックとに切
り替えるクロック切り替え回路を有し、CPUにより設
定可能なクロック源選択ビットの状態でこれらのクロッ
クを切り替えるようになし、不揮発性メモリの書き換え
実行時には、CPUおよび監視タイマの動作クロック源
を自励発振器側のクロックを選択するが、タイマおよび
シリアルI/Oを含む周辺装置用のクロック源はクロッ
ク端子から入力したクロックから切り替えないように構
成したので、書き換え実行中の時間計測をユーザ毎に周
波数が異なるXIN入力クロックでなく、常に一定周波
数の内蔵する自励発振器側のクロックで行うことによ
り、ユーザ使用条件に依存しない時間設定が行えるため
書き換え制御ファームウエアの開発や調整が容易に行え
る効果がある。
【0153】また、周辺装置の動作速度はユーザソフト
ウエア走行時のままであるので、不揮発性メモリの書き
換え時にもタイマやシリアルI/Oといった周辺装置の
クロック設定値を変えずにそのままの状態で使用可能と
なる効果がある。
ウエア走行時のままであるので、不揮発性メモリの書き
換え時にもタイマやシリアルI/Oといった周辺装置の
クロック設定値を変えずにそのままの状態で使用可能と
なる効果がある。
【0154】さらに、CPUの暴走対策として定期的に
行う監視タイマへの書き込み(セット)の頻度をユーザ
使用条件に関係なく設定できる効果がある。
行う監視タイマへの書き込み(セット)の頻度をユーザ
使用条件に関係なく設定できる効果がある。
【0155】この発明によれば、内蔵する自励発振器に
は、不揮発性メモリ内の電圧チャージポンプ用の自励発
振器を兼用して使うように構成したので、専用の自励発
振器を新規に設けた場合に比べ、回路規模、レイアウト
面積の拡大を大幅に削減できる効果がある。
は、不揮発性メモリ内の電圧チャージポンプ用の自励発
振器を兼用して使うように構成したので、専用の自励発
振器を新規に設けた場合に比べ、回路規模、レイアウト
面積の拡大を大幅に削減できる効果がある。
【0156】この発明によれば、タイマ回路のクロック
源には、不揮発性メモリ内の電圧チャージポンプ用の自
励発振器を兼用して使うように構成したので、専用の自
励発振器を新規に設けた場合に比べ、回路規模、レイア
ウト面積の拡大を大幅に削減できる効果がある。
源には、不揮発性メモリ内の電圧チャージポンプ用の自
励発振器を兼用して使うように構成したので、専用の自
励発振器を新規に設けた場合に比べ、回路規模、レイア
ウト面積の拡大を大幅に削減できる効果がある。
【0157】この発明によれば、自励発振器は常時動作
させておくのではなく、CPUにより設定可能な発信許
可ビットを設け、このビットが特定状態の場合に自励発
振器を動作させるように構成したので、内蔵する自励発
振器の消費電力を削減でき、さらに発振による不要輻射
ノイズを最小限に抑えることができる効果がある。
させておくのではなく、CPUにより設定可能な発信許
可ビットを設け、このビットが特定状態の場合に自励発
振器を動作させるように構成したので、内蔵する自励発
振器の消費電力を削減でき、さらに発振による不要輻射
ノイズを最小限に抑えることができる効果がある。
【0158】この発明によれば、動作クロック源の切り
替えが、クロック源選択ビットで自励発振器が生成する
クロックを選択し、かつ発信許可ビットで自励発振器の
動作許可を選択した時に、動作クロック源は自励発振器
で生成したクロックに切り替わるように構成したので、
CPUが暴走した場合に、内蔵する自励発振器の動作禁
止状態で当該自励発振器のクロックを選択してしまった
場合にもマイコンのクロックが停止し回復不可能となる
のを回避する効果がある。
替えが、クロック源選択ビットで自励発振器が生成する
クロックを選択し、かつ発信許可ビットで自励発振器の
動作許可を選択した時に、動作クロック源は自励発振器
で生成したクロックに切り替わるように構成したので、
CPUが暴走した場合に、内蔵する自励発振器の動作禁
止状態で当該自励発振器のクロックを選択してしまった
場合にもマイコンのクロックが停止し回復不可能となる
のを回避する効果がある。
【0159】この発明によれば、動作モード選択入力端
子への印加電圧レベルで決定される動作モードを複数備
えており、少なくとも1つの動作モードは不揮発性メモ
リの書き換え制御ファームウエア格納領域の書き換えは
実施できないように構成したので、この書き換えできな
いモードのみをユーザ公開とすることで、誤消去、誤書
き込みによる重要な書き換え制御ファームウエアの破壊
を未然に防止できる効果がある。
子への印加電圧レベルで決定される動作モードを複数備
えており、少なくとも1つの動作モードは不揮発性メモ
リの書き換え制御ファームウエア格納領域の書き換えは
実施できないように構成したので、この書き換えできな
いモードのみをユーザ公開とすることで、誤消去、誤書
き込みによる重要な書き換え制御ファームウエアの破壊
を未然に防止できる効果がある。
【0160】この発明によれば、動作モード選択入力端
子への印加電圧レベルで決定される動作モードを複数備
えており、リセット解除後最初にアクセスするリセット
ベクトル番地が外部領域である第2の動作モードを有
し、この第2の動作モードでは不揮発性メモリ内の少な
くともユーザソフトウエアを格納する領域はCPUから
読み出しできない一方、不揮発性メモリ内のユーザソフ
トウエアを格納する領域および書き換え制御ファームウ
エアを格納する領域の書き換えは可能とするように構成
したので、外部領域にリセットベクトル、書き換え制御
ソフトウエア、および書き換え制御ファームウエアを書
き込んだ外部メモリを配置し、これでマイコンを起動す
ることで、不揮発性メモリのファームウエア領域に最初
に書き換え制御ファームウエアを書き込むことができる
効果がある。また、外部領域にテスタを接続してこのテ
スタの制御により不揮発性メモリのファームウエア領域
に最初に書き換え制御ファームウエアを書き込むことが
できる効果がある。
子への印加電圧レベルで決定される動作モードを複数備
えており、リセット解除後最初にアクセスするリセット
ベクトル番地が外部領域である第2の動作モードを有
し、この第2の動作モードでは不揮発性メモリ内の少な
くともユーザソフトウエアを格納する領域はCPUから
読み出しできない一方、不揮発性メモリ内のユーザソフ
トウエアを格納する領域および書き換え制御ファームウ
エアを格納する領域の書き換えは可能とするように構成
したので、外部領域にリセットベクトル、書き換え制御
ソフトウエア、および書き換え制御ファームウエアを書
き込んだ外部メモリを配置し、これでマイコンを起動す
ることで、不揮発性メモリのファームウエア領域に最初
に書き換え制御ファームウエアを書き込むことができる
効果がある。また、外部領域にテスタを接続してこのテ
スタの制御により不揮発性メモリのファームウエア領域
に最初に書き換え制御ファームウエアを書き込むことが
できる効果がある。
【0161】この発明によれば、第2の動作モードでは
不揮発性メモリ内の書き換え制御ファームウエアを格納
する領域はCPUにより読み出しできるように構成した
ので、不揮発性メモリのファームウエア領域に最初に書
き換え制御ファームウエアを書き込んだ後、その内容を
CPUで読み出して確認できる効果がある。また、この
動作モードで、外部メモリから書き換え制御ファームウ
エアを起動し、不揮発性メモリのユーザ領域の書き換え
を行うことができる効果がある。
不揮発性メモリ内の書き換え制御ファームウエアを格納
する領域はCPUにより読み出しできるように構成した
ので、不揮発性メモリのファームウエア領域に最初に書
き換え制御ファームウエアを書き込んだ後、その内容を
CPUで読み出して確認できる効果がある。また、この
動作モードで、外部メモリから書き換え制御ファームウ
エアを起動し、不揮発性メモリのユーザ領域の書き換え
を行うことができる効果がある。
【0162】この発明によれば、動作モード選択入力端
子への印加電圧レベルで決定される動作モードを複数備
えており、リセット解除後最初にアクセスするリセット
ベクトル番地が外部領域である第3の動作モードを有
し、この第3の動作モードでは不揮発性メモリ領域はC
PUから読み出しすることができ、当該不揮発性メモリ
内のユーザソフトウエアを格納する領域および書き換え
制御ファームウエアを格納する領域の書き換えは可能と
するように構成したので、外部領域にリセットベクト
ル、書き換え制御ソフトウエア、書き換え制御ファーム
ウエアを書き込んだ外部メモリを配置し、これでマイコ
ンを起動することで、不揮発性メモリのファームウエア
領域に最初に書き換え制御ファームウエアを書き込むこ
とができる効果がある。また、外部領域にテスタを接続
してこのテスタの制御で不揮発性メモリのファームウエ
ア領域に最初に書き換え制御ファームウエアを書き込む
ことができる効果がある。
子への印加電圧レベルで決定される動作モードを複数備
えており、リセット解除後最初にアクセスするリセット
ベクトル番地が外部領域である第3の動作モードを有
し、この第3の動作モードでは不揮発性メモリ領域はC
PUから読み出しすることができ、当該不揮発性メモリ
内のユーザソフトウエアを格納する領域および書き換え
制御ファームウエアを格納する領域の書き換えは可能と
するように構成したので、外部領域にリセットベクト
ル、書き換え制御ソフトウエア、書き換え制御ファーム
ウエアを書き込んだ外部メモリを配置し、これでマイコ
ンを起動することで、不揮発性メモリのファームウエア
領域に最初に書き換え制御ファームウエアを書き込むこ
とができる効果がある。また、外部領域にテスタを接続
してこのテスタの制御で不揮発性メモリのファームウエ
ア領域に最初に書き換え制御ファームウエアを書き込む
ことができる効果がある。
【0163】この発明によれば、動作モード選択入力端
子への印加電圧レベルで決定される動作モードを複数持
ち、リセット中に外部から直接内蔵RAMへの書き込み
が行え、かつリセット解除後のリセットベクトル番地が
当該RAM内に設定される第4の動作モードを有し、こ
の第4の動作モードでは不揮発性メモリ領域はCPUに
より読み出しすることができ、当該不揮発性メモリ内の
ユーザソフトウエアを格納する領域および書き換え制御
ファームウエアを格納する領域の書き換えは可能とする
ように構成したので、当該RAMにあらかじめリセット
ベクトル、書き換え制御ソフトウエア、および書き換え
制御ファームウエアを書き込んだ外部メモリを転送し、
これでマイコンを起動することで、不揮発性メモリのフ
ァームウエア領域に最初に書き換え制御ファームウエア
を書き込むことができる効果がある。
子への印加電圧レベルで決定される動作モードを複数持
ち、リセット中に外部から直接内蔵RAMへの書き込み
が行え、かつリセット解除後のリセットベクトル番地が
当該RAM内に設定される第4の動作モードを有し、こ
の第4の動作モードでは不揮発性メモリ領域はCPUに
より読み出しすることができ、当該不揮発性メモリ内の
ユーザソフトウエアを格納する領域および書き換え制御
ファームウエアを格納する領域の書き換えは可能とする
ように構成したので、当該RAMにあらかじめリセット
ベクトル、書き換え制御ソフトウエア、および書き換え
制御ファームウエアを書き込んだ外部メモリを転送し、
これでマイコンを起動することで、不揮発性メモリのフ
ァームウエア領域に最初に書き換え制御ファームウエア
を書き込むことができる効果がある。
【0164】この発明によれば、動作モード選択入力端
子の状態がCPUにより読み出しできるように構成した
ので、書き換え制御ファームウエアでのファームウエア
領域への書き換え可否判断が可能となり、ハードウエア
でファームウエア領域への書き換え禁止/許可の制御を
行うよりも、回路規模、レイアウト面積の増加量が少な
く、万一のバグ発生時にも改定等の対処が容易となる効
果がある。
子の状態がCPUにより読み出しできるように構成した
ので、書き換え制御ファームウエアでのファームウエア
領域への書き換え可否判断が可能となり、ハードウエア
でファームウエア領域への書き換え禁止/許可の制御を
行うよりも、回路規模、レイアウト面積の増加量が少な
く、万一のバグ発生時にも改定等の対処が容易となる効
果がある。
【0165】この発明によれば、書き換え制御ファーム
ウエアが、動作モード選択入力端子の状態を読み出し、
不揮発性メモリのファームウエア領域の書き換えが禁止
されている動作モードでは、不揮発性メモリの書き換え
制御ファームウエア格納領域の書き換えを実施せず、イ
リーガルコマンドと判定するように構成したので、ハー
ドウエアでファームウエア領域への書き換え禁止/許可
の制御を行うよりも、回路規模、レイアウト面積の増加
量が少なく、万一のバグ発生時にも改定等の対処が容易
となる効果がある。
ウエアが、動作モード選択入力端子の状態を読み出し、
不揮発性メモリのファームウエア領域の書き換えが禁止
されている動作モードでは、不揮発性メモリの書き換え
制御ファームウエア格納領域の書き換えを実施せず、イ
リーガルコマンドと判定するように構成したので、ハー
ドウエアでファームウエア領域への書き換え禁止/許可
の制御を行うよりも、回路規模、レイアウト面積の増加
量が少なく、万一のバグ発生時にも改定等の対処が容易
となる効果がある。
【0166】この発明によれば、不揮発性メモリの書き
換え制御ファームウエア格納領域の書き換えが可能な動
作モード時に有効となるファームウエア格納領域用書き
換えコマンドを有するように構成したので、このコマン
ドをユーザに非公開とすることで、誤消去、誤書き込み
による重要な書き換え制御ファームウエアの破壊を未然
に防止できる効果がある。
換え制御ファームウエア格納領域の書き換えが可能な動
作モード時に有効となるファームウエア格納領域用書き
換えコマンドを有するように構成したので、このコマン
ドをユーザに非公開とすることで、誤消去、誤書き込み
による重要な書き換え制御ファームウエアの破壊を未然
に防止できる効果がある。
【0167】なお、CPUが内部データバスを介して設
定可能な制御信号出力制御ビットを持ち、この制御信号
出力制御ビットへCPUが書き込みを実施した時点で、
先に制御信号レジスタに書き込んでおいた状態が制御信
号として電源ポンプ回路、メモリデコーダに出力される
ようにしてもよく、これにより、制御信号の数だけ必要
な制御信号レジスタのビット数が、マイコン内のデータ
バスのビット数より多い場合に複数個に渡り設定を繰り
返す必要がある場合でも、電源ポンプ回路、メモリデコ
ーダに出力すべき制御信号群を同時に変化させるために
この制御信号支出力制御ビットを設けることで対処でき
る。
定可能な制御信号出力制御ビットを持ち、この制御信号
出力制御ビットへCPUが書き込みを実施した時点で、
先に制御信号レジスタに書き込んでおいた状態が制御信
号として電源ポンプ回路、メモリデコーダに出力される
ようにしてもよく、これにより、制御信号の数だけ必要
な制御信号レジスタのビット数が、マイコン内のデータ
バスのビット数より多い場合に複数個に渡り設定を繰り
返す必要がある場合でも、電源ポンプ回路、メモリデコ
ーダに出力すべき制御信号群を同時に変化させるために
この制御信号支出力制御ビットを設けることで対処でき
る。
【図1】 この発明の実施の形態1によるフラッシュメ
モリ内蔵マイコンの構成を示すブロック図である。
モリ内蔵マイコンの構成を示すブロック図である。
【図2】 フラッシュメモリ制御レジスタ群のメモリマ
ップである。
ップである。
【図3】 ポンプ/メモリデコーダ用制御信号レジスタ
とその付属回路の構成を示すブロック図である。
とその付属回路の構成を示すブロック図である。
【図4】 シーケンス制御レジスタとその付属回路の構
成を示すブロック図である。
成を示すブロック図である。
【図5】 ポンプ/メモリデコーダ用制御信号レジスタ
の1ビットの構成を示すブロック図である。
の1ビットの構成を示すブロック図である。
【図6】 アドレスレジスタとその付属回路の構成を示
すブロック図である。
すブロック図である。
【図7】 ポンプ用タイマレジスタとその付属回路の構
成を示すブロック図である。
成を示すブロック図である。
【図8】 クロック制御関連回路の構成を示すブロック
図である。
図である。
【図9】 クロック制御関連回路の構成を示すブロック
図である。
図である。
【図10】 ソフトウエアコマンド一覧表である。
【図11】 エラーステータス一覧表である。
【図12】 メモリマップと書き換え制御F/Wの動作
順序を示す図である。
順序を示す図である。
【図13】 書き換え制御F/W構成と実行順序を示す
図である。
図である。
【図14】 ユーザI/F制御部が担当する書き換え制
御F/Wの動作フローチャートである。
御F/Wの動作フローチャートである。
【図15】 コマンド実行制御部が担当する書き換え制
御F/Wの動作フローチャートである。
御F/Wの動作フローチャートである。
【図16】 外部メモリで動作させるモードにおけるメ
モリマップである。
モリマップである。
【図17】 マイコンの動作モード一覧表である。
1 マイコン、2 フラッシュメモリブロック(不揮発
性メモリ)、3 中央処理装置とバスインタフェース
(CPU/BIU)、4 RAM、5 データバス、6
アドレス線、7 R/W制御線、11 ポート制御ブ
ロック、12 シリアルI/O、13 タイマ、15
外部バス制御ブロック、16 クロック制御回路、17
リセット制御回路、21 ユーザ領域、22 F/W
領域、23メモリデコーダ、24 電圧チャージポンプ
回路(電源ポンプ回路)、25フラッシュメモリ制御レ
ジスタ群、26 ポンプ/メモリデコーダ用制御信号レ
ジスタ、27 信号出力制御レジスタ、28 アドレス
レジスタ、29 データレジスタ、30 ステータスレ
ジスタ、31 コマンドレジスタ、32 シーケンス制
御レジスタ、33 ポンプ用タイマレジスタ、36 ポ
ンプ用クロック発振器、72 データ入力(Din)端
子、73 データ出力(Dout)端子、74 データ
出力制御入力(OUTcont)端子、75〜77 ポ
ート、85外部データバス端子、86 外部アドレス線
端子、87 外部R/W制御線端子、88,89 動作
モード選択入力端子。
性メモリ)、3 中央処理装置とバスインタフェース
(CPU/BIU)、4 RAM、5 データバス、6
アドレス線、7 R/W制御線、11 ポート制御ブ
ロック、12 シリアルI/O、13 タイマ、15
外部バス制御ブロック、16 クロック制御回路、17
リセット制御回路、21 ユーザ領域、22 F/W
領域、23メモリデコーダ、24 電圧チャージポンプ
回路(電源ポンプ回路)、25フラッシュメモリ制御レ
ジスタ群、26 ポンプ/メモリデコーダ用制御信号レ
ジスタ、27 信号出力制御レジスタ、28 アドレス
レジスタ、29 データレジスタ、30 ステータスレ
ジスタ、31 コマンドレジスタ、32 シーケンス制
御レジスタ、33 ポンプ用タイマレジスタ、36 ポ
ンプ用クロック発振器、72 データ入力(Din)端
子、73 データ出力(Dout)端子、74 データ
出力制御入力(OUTcont)端子、75〜77 ポ
ート、85外部データバス端子、86 外部アドレス線
端子、87 外部R/W制御線端子、88,89 動作
モード選択入力端子。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 本郷 勝信 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 田中 努 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 瀬崎 利博 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 木村 宏行 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 神谷 幹郎 東京都港区浜松町二丁目4番1号 三菱電 機セミコンダクタシステム株式会社内 (72)発明者 網 康裕 東京都港区浜松町二丁目4番1号 三菱電 機セミコンダクタシステム株式会社内 (72)発明者 谷 国雄 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 伊庭 智久 東京都千代田区大手町二丁目6番2号 三 菱電機エンジニアリング株式会社内 Fターム(参考) 5B062 AA01 CC03 DD02 5B076 EB01
Claims (32)
- 【請求項1】 書き換え制御ファームウエアとユーザソ
フトウエアをそれぞれ別の単位ブロックに格納する不揮
発性メモリと、 それぞれマイクロコンピュータのCPUにより書き込み
または読み出しを可能とした、書き換え制御内容を指定
するコマンドレジスタ、書き換え制御対象アドレスを指
定するアドレスレジスタ、書き込むべきデータを指定す
るデータレジスタ、および不揮発性メモリ内の電源ポン
プ回路とメモリデコーダへの制御信号を指定する制御信
号レジスタの少なくとも4つのレジスタとを備えたプロ
グラム可能な不揮発性メモリを内蔵したマイクロコンピ
ュータにおいて、 上記制御信号レジスタの所定ビットを上記電源ポンプ回
路およびメモリデコーダへ接続される制御信号に対応さ
せてこれらの電源ポンプ回路およびメモリデコーダを制
御するようになし、 書き換え制御ファームウエアは、上記コマンドレジス
タ、アドレスレジスタまたはデータレジスタに設定され
た値を読み出し、その設定された値に対応したコマンド
毎に規定されたシーケンスに従い上記制御信号レジスタ
の設定値を書き換えることにより上記電源ポンプ回路お
よびメモリデコーダを動作させることで、上記不揮発性
メモリのイレーズおよびプログラムを含む書き換え処理
を実行させることを特徴とするプログラム可能な不揮発
性メモリを内蔵したマイクロコンピュータ。 - 【請求項2】 書き換え制御ファームウエアを格納する
単位ブロックと、ユーザソフトウエアを格納する単位ブ
ロックとは、そのアドレスが非連続であることを特徴と
する請求項1記載のプログラム可能な不揮発性メモリを
内蔵したマイクロコンピュータ。 - 【請求項3】 マイクロコンピュータのCPUにより書
き込みまたは読み出しを可能としたステータスレジスタ
を備えており、書き換え制御ファームウエアは、イレー
ズおよびプログラムを含んだ書き換え処理完了後、その
実行結果を上記ステータスレジスタに書き込むことを特
徴とする請求項1記載のプログラム可能な不揮発性メモ
リを内蔵したマイクロコンピュータ。 - 【請求項4】 書き換え制御ファームウエアが、少なく
ともコマンドレジスタに設定されたコマンドをデコード
するユーザインタフェース制御部と、指定されたコマン
ド毎に電源ポンプ回路およびメモリデコーダの制御を行
うコマンド実行制御部とから構成され、このコマンド実
行制御部のファームウエアは内蔵するRAMに転送さ
れ、このRAM上で実行されることを特徴とする請求項
1記載のプログラム可能な不揮発性メモリを内蔵したマ
イクロコンピュータ。 - 【請求項5】 書き換え制御ファームウエアが、ユーザ
ソフトウエアから当該書き換え制御ファームウエアの先
頭番地にジャンプすることにより起動するようになし、
かつ、コマンド実行完了後はユーザソフトウエアの上記
ジャンプ命令の次の命令にリターンするようになしたこ
とを特徴とする請求項1記載のプログラム可能な不揮発
性メモリを内蔵したマイクロコンピュータ。 - 【請求項6】 書き換え制御ファームウエアが、イレー
ズコマンドでは、イレーズ実行とイレーズ後ベリファイ
実行を連続して行い、プログラムコマンドでは、プログ
ラム実行とプログラム後ベリファイを連続して行い、こ
れらのベリファイ結果が異常であれば、それぞれイレー
ズエラー、プログラムエラーと判断するようになしたこ
とを特徴とする請求項3記載のプログラム可能な不揮発
性メモリを内蔵したマイクロコンピュータ。 - 【請求項7】 書き換え制御ファームウエアが、イレー
ズおよびプログラムを含むコマンド実行結果をステータ
スレジスタに設定する他に、それぞれコマンドレジスタ
およびアドレスレジスタに正規のコマンドコードでない
コマンド、または正規の指定すべきアドレスでないアド
レスが指定されていた場合には、イリーガルコマンドを
示すエラーコードをステータスレジスタに設定するよう
になし、この場合にはその後の処理を実行しないことを
特徴とする請求項3または請求項6記載のプログラム可
能な不揮発性メモリを内蔵したマイクロコンピュータ。 - 【請求項8】 書き換え制御ファームウエアが、ステー
タスレジスタのクリアは実施せず、かつ、コマンドレジ
スタに設定されたコマンドを実行する前に上記ステータ
スレジスタを読み出し、正常終了以外のエラーコードで
あった場合には、その後の処理を実行しないことを特徴
とする請求項3または請求項6記載のプログラム可能な
不揮発性メモリを内蔵したマイクロコンピュータ。 - 【請求項9】 コマンドレジスタに書き込むべきコマン
ドコードのビット数を12〜16とし、書き換え制御フ
ァームウエアはこのコマンドコードの全ビットをデコー
ドすることを特徴とする請求項1記載のプログラム可能
な不揮発性メモリを内蔵したマイクロコンピュータ。 - 【請求項10】 アドレスレジスタに書き込むべきアド
レスのビット数を、不揮発性メモリ空間を指定できるア
ドレスのビット数よりも多く取り、書き換え制御ファー
ムウエアは、このアドレスの全ビットをデコードするこ
とを特徴とする請求項1記載のプログラム可能な不揮発
性メモリを内蔵したマイクロコンピュータ。 - 【請求項11】 CPUにより設定可能な不揮発性メモ
リ書き換えモード選択ビットを有し、このファームウエ
ア書き換えモード選択ビットに特定値を書き込んだ時に
制御信号レジスタの書き換えが行えるようにしたことを
特徴とする請求項1記載のプログラム可能な不揮発性メ
モリを内蔵したマイクロコンピュータ。 - 【請求項12】 制御信号レジスタがCPUにより設定
可能なレジスタであり、リセット信号により、その出力
する制御信号は電源ポンプ回路およびメモリデコーダを
書き換え不可能な状態にリセットされるようにしたこと
を特徴とする請求項1記載のプログラム可能な不揮発性
メモリを内蔵したマイクロコンピュータ。 - 【請求項13】 制御信号レジスタがCPUにより設定
可能なレジスタであり、監視タイマ割り込み信号によ
り、その出力する制御信号は電源ポンプ回路およびメモ
リデコーダを書き換え不可能な状態にリセットされるよ
うにしたことを特徴とする請求項1記載のプログラム可
能な不揮発性メモリを内蔵したマイクロコンピュータ。 - 【請求項14】 ファームウエア書き換えモード選択ビ
ットが、リセット信号に加え、監視タイマ割り込み信号
により、非書き換えモードを指定する状態にリセットさ
れるようにしたことを特徴とする請求項13記載のプロ
グラム可能な不揮発性メモリを内蔵したマイクロコンピ
ュータ。 - 【請求項15】 コマンドレジスタとして、CPU内の
アキュムレータを割り付けることを特徴とする請求項1
記載のプログラム可能な不揮発性メモリを内蔵したマイ
クロコンピュータ。 - 【請求項16】 コマンドレジスタおよびステータスレ
ジスタの両方または一方をレジスタではなく、内蔵する
RAM内の特定番地に割り付けることを特徴とする請求
項1記載のプログラム可能な不揮発性メモリを内蔵した
マイクロコンピュータ。 - 【請求項17】 不揮発性メモリの書き換え時専用のタ
イマ回路をさらに備えることを特徴とする請求項1記載
のプログラム可能な不揮発性メモリを内蔵したマイクロ
コンピュータ。 - 【請求項18】 CPUおよび周辺装置の動作クロック
源を、クロック端子から入力したクロックと、内蔵する
自励発振器で生成したクロックとに切り替えるクロック
切り替え回路を有し、上記CPUにより設定可能なクロ
ック源選択ビットの状態でこれらのクロックを切り替え
るようになし、不揮発性メモリの書き換え実行時には、
上記自励発振器側のクロックを選択することを特徴とす
る請求項1記載のプログラム可能な不揮発性メモリを内
蔵したマイクロコンピュータ。 - 【請求項19】 CPUの動作クロック源を、クロック
端子から入力したクロックと、内蔵する自励発振器で生
成したクロックとに切り替えるクロック切り替え回路を
有し、上記CPUが設定可能なクロック源選択ビットの
状態でこれらのクロックを切り替えるようになし、不揮
発性メモリの書き換え実行時には、上記CPUの動作ク
ロック源を上記自励発振器側のクロックを選択するが、
タイマおよびシリアルI/O等の周辺装置用のクロック
源は上記クロック端子から入力したクロックから切り替
えないことを特徴とする請求項1記載のプログラム可能
な不揮発性メモリを内蔵したマイクロコンピュータ。 - 【請求項20】 CPUおよび監視タイマの動作クロッ
ク源を、クロック端子から入力したクロックと、内蔵す
る自励発振器で生成したクロックとに切り替えるクロッ
ク切り替え回路を有し、上記CPUが設定可能なクロッ
ク源選択ビットの状態でこれらのクロックを切り替える
ようになし、不揮発性メモリの書き換え実行時には、上
記CPUおよび監視タイマの動作クロック源を上記自励
発振器側のクロックを選択するが、タイマおよびシリア
ルI/Oを含む周辺装置用のクロック源は上記クロック
端子から入力したクロックから切り替えないことを特徴
とする請求項1記載のプログラム可能な不揮発性メモリ
を内蔵したマイクロコンピュータ。 - 【請求項21】 内蔵する自励発振器には、不揮発性メ
モリ内の電圧チャージポンプ用の自励発振器を兼用して
使うことを特徴とする請求項18、請求項19または請
求項20記載のプログラム可能な不揮発性メモリを内蔵
したマイクロコンピュータ。 - 【請求項22】 タイマ回路のクロック源には、不揮発
性メモリ内の電圧チャージポンプ用の自励発振器を兼用
して使うことを特徴とする請求項17記載のプログラム
可能な不揮発性メモリを内蔵したマイクロコンピュー
タ。 - 【請求項23】 自励発振器は常時動作させておくので
はなく、CPUにより設定可能な発信許可ビットを設
け、このビットが特定状態の場合に上記自励発振器を動
作させることを特徴とする請求項18から請求項20の
うちのいずれか1項記載のプログラム可能な不揮発性メ
モリを内蔵したマイクロコンピュータ。 - 【請求項24】 動作クロック源の切り替えが、クロッ
ク源選択ビットで自励発振器が生成するクロックを選択
し、かつ発信許可ビットで上記自励発振器の動作許可を
選択した時に、上記動作クロック源は上記自励発振器で
生成したクロックに切り替わることを特徴とする請求項
18から請求項20のうちのいずれか1項記載のプログ
ラム可能な不揮発性メモリを内蔵したマイクロコンピュ
ータ。 - 【請求項25】 動作モード選択入力端子への印加電圧
レベルで決定される動作モードを複数備えており、少な
くとも1つの動作モードは不揮発性メモリの書き換え制
御ファームウエア格納領域の書き換えは実施できないよ
うにしておくことを特徴とする請求項1記載のプログラ
ム可能な不揮発性メモリを内蔵したマイクロコンピュー
タ。 - 【請求項26】 動作モード選択入力端子への印加電圧
レベルで決定される動作モードを複数備えており、リセ
ット解除後最初にアクセスするリセットベクトル番地が
外部領域である第2の動作モードを有し、この第2の動
作モードでは不揮発性メモリ内の少なくともユーザソフ
トウエアを格納する領域はCPUから読み出しできない
一方、上記不揮発性メモリ内のユーザソフトウエアを格
納する領域および書き換え制御ファームウエアを格納す
る領域の書き換えは可能であることを特徴とする請求項
1記載のプログラム可能な不揮発性メモリを内蔵したマ
イクロコンピュータ。 - 【請求項27】 第2の動作モードでは不揮発性メモリ
内の書き換え制御ファームウエアを格納する領域はCP
Uにより読み出しできることを特徴とする請求項26記
載のプログラム可能な不揮発性メモリを内蔵したマイク
ロコンピュータ。 - 【請求項28】 動作モード選択入力端子への印加電圧
レベルで決定される動作モードを複数備えており、リセ
ット解除後最初にアクセスするリセットベクトル番地が
外部領域である第3の動作モードを有し、この第3の動
作モードでは不揮発性メモリ領域はCPUから読み出し
することができ、当該不揮発性メモリ内のユーザソフト
ウエアを格納する領域および書き換え制御ファームウエ
アを格納する領域の書き換えは可能であることを特徴と
する請求項1記載のプログラム可能な不揮発性メモリを
内蔵したマイクロコンピュータ。 - 【請求項29】 動作モード選択入力端子への印加電圧
レベルで決定される動作モードを複数備えており、リセ
ット中に外部から直接内蔵RAMへの書き込みが行え、
かつリセット解除後のリセットベクトル番地が上記RA
M内に設定される第4の動作モードを有し、この第4の
動作モードでは不揮発性メモリ領域はCPUにより読み
出しすることができ、当該不揮発性メモリ内のユーザソ
フトウエアを格納する領域および書き換え制御ファーム
ウエアを格納する領域の書き換えは可能であることを特
徴とする請求項1記載のプログラム可能な不揮発性メモ
リを内蔵したマイクロコンピュータ。 - 【請求項30】 動作モード選択入力端子の状態がCP
Uにより読み出しできることを特徴とする請求項25か
ら請求項29のうちのいずれか1項記載のプログラム可
能な不揮発性メモリを内蔵したマイクロコンピュータ。 - 【請求項31】 書き換え制御ファームウエアが、動作
モード選択入力端子の状態を読み出し、不揮発性メモリ
のファームウエア領域の書き換えが禁止されている動作
モードでは、上記不揮発性メモリの書き換え制御ファー
ムウエア格納領域の書き換えを実施せず、イリーガルコ
マンドと判定することを特徴とする請求項25記載のプ
ログラム可能な不揮発性メモリを内蔵したマイクロコン
ピュータ。 - 【請求項32】 不揮発性メモリの書き換え制御ファー
ムウエア格納領域の書き換えが可能な動作モード時に有
効となるファームウエア格納領域用書き換えコマンドを
有することを特徴とする請求項25から請求項29のう
ちのいずれか1項記載のプログラム可能な不揮発性メモ
リを内蔵したマイクロコンピュータ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001065389A JP2002269065A (ja) | 2001-03-08 | 2001-03-08 | プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ |
TW90122090A TW575811B (en) | 2001-03-08 | 2001-09-06 | Microcomputer with built-in programmable nonvolatile memory |
US09/948,042 US6587916B2 (en) | 2001-03-08 | 2001-09-07 | Microcomputer with built-in programmable nonvolatile memory |
KR1020010076901A KR100658135B1 (ko) | 2001-03-08 | 2001-12-06 | 프로그래밍할 수 있는 비휘발성 메모리를 내장한 마이크로컴퓨터 |
DE10159901A DE10159901B4 (de) | 2001-03-08 | 2001-12-06 | Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001065389A JP2002269065A (ja) | 2001-03-08 | 2001-03-08 | プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002269065A true JP2002269065A (ja) | 2002-09-20 |
Family
ID=18924050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001065389A Pending JP2002269065A (ja) | 2001-03-08 | 2001-03-08 | プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ |
Country Status (5)
Country | Link |
---|---|
US (1) | US6587916B2 (ja) |
JP (1) | JP2002269065A (ja) |
KR (1) | KR100658135B1 (ja) |
DE (1) | DE10159901B4 (ja) |
TW (1) | TW575811B (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1293460C (zh) * | 2003-06-26 | 2007-01-03 | 三洋电机株式会社 | 控制装置以及数据写入方法 |
CN1332306C (zh) * | 2004-04-22 | 2007-08-15 | 三洋电机株式会社 | 控制装置 |
US7281103B2 (en) | 2003-10-01 | 2007-10-09 | Kabushiki Kaisha Toshiba | Microcomputer with a security function for accessing a program storage memory |
US7802054B2 (en) | 2004-12-21 | 2010-09-21 | Samsung Electronics Co., Ltd. | Apparatus and methods using invalidity indicators for buffered memory |
US8082383B2 (en) | 2007-01-24 | 2011-12-20 | Kabushiki Kaisha Toshiba | Semiconductor memory device which includes memory cell having charge accumulation layer and control gate |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
US8316200B2 (en) | 2007-04-10 | 2012-11-20 | Seiko Epson Corporation | Microcomputer, electronic instrument, and flash memory protection method |
WO2020217303A1 (ja) * | 2019-04-23 | 2020-10-29 | 株式会社Fuji | 情報処理装置及び作業機 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6684290B2 (en) * | 2001-10-18 | 2004-01-27 | Kabushiki Kaisha Toshiba | Memory rewriting apparatus and method for memory mapping rewriting program to same address space |
JP2003167649A (ja) * | 2001-11-28 | 2003-06-13 | Mitsubishi Electric Corp | 情報処理装置 |
US7599976B1 (en) * | 2002-11-13 | 2009-10-06 | Metrowerks Corporation | System and method for cryptographic key generation |
JP2004213102A (ja) * | 2002-12-26 | 2004-07-29 | Fujitsu Ltd | マイクロコンピュータ |
JP4201629B2 (ja) * | 2003-03-26 | 2008-12-24 | 三洋電機株式会社 | 誤書込み防止回路および該誤書込み防止回路を含む半導体装置 |
KR100966895B1 (ko) * | 2004-01-06 | 2010-06-30 | 삼성전자주식회사 | 불휘발성 메모리의 테스트 장치 및 방법 |
KR100691486B1 (ko) * | 2004-07-13 | 2007-03-09 | 주식회사 하이닉스반도체 | 반도체메모리소자 |
JP2008097135A (ja) * | 2006-10-06 | 2008-04-24 | Oki Electric Ind Co Ltd | メモリ制御装置 |
WO2011011007A1 (en) * | 2009-07-23 | 2011-01-27 | Hewlett-Packard Development, Company, L.P. | Non-volatile data-storage latch |
WO2013012436A1 (en) | 2011-07-18 | 2013-01-24 | Hewlett-Packard Development Company, L.P. | Reset vectors for boot instructions |
KR101701014B1 (ko) * | 2012-03-30 | 2017-01-31 | 인텔 코포레이션 | 운영 체제에의 악성 활동 보고 |
KR101979732B1 (ko) * | 2012-05-04 | 2019-08-28 | 삼성전자 주식회사 | 비휘발성 메모리 컨트롤러 및 비휘발성 메모리 시스템 |
US9459810B2 (en) * | 2013-12-30 | 2016-10-04 | Sandisk Technologies Llc | Storage module and method for configuring command attributes |
US10552090B2 (en) * | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US11593036B2 (en) | 2017-06-12 | 2023-02-28 | Pure Storage, Inc. | Staging data within a unified storage element |
WO2018231350A1 (en) | 2017-06-12 | 2018-12-20 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
DE112019007425T5 (de) * | 2019-05-31 | 2022-02-24 | Micron Technology, Inc. | Intelligente Ladungspumpenarchitektur für Flash-Arrays |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2461301A1 (fr) | 1978-04-25 | 1981-01-30 | Cii Honeywell Bull | Microprocesseur autoprogrammable |
US4752871A (en) * | 1985-09-30 | 1988-06-21 | Motorola, Inc. | Single-chip microcomputer having a program register for controlling two EEPROM arrays |
JPH03142629A (ja) * | 1989-10-30 | 1991-06-18 | Toshiba Corp | マイクロコントローラ |
US5313429A (en) * | 1992-02-14 | 1994-05-17 | Catalyst Semiconductor, Inc. | Memory circuit with pumped voltage for erase and program operations |
JPH05266219A (ja) | 1992-03-17 | 1993-10-15 | Hitachi Ltd | マイクロコンピュータ |
TW231343B (ja) | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
JPH0729386A (ja) * | 1993-07-13 | 1995-01-31 | Hitachi Ltd | フラッシュメモリ及びマイクロコンピュータ |
JP3563768B2 (ja) * | 1994-05-31 | 2004-09-08 | 株式会社ルネサステクノロジ | Romプログラム変更装置 |
US5991849A (en) * | 1996-04-10 | 1999-11-23 | Sanyo Electric Co., Ltd | Rewriting protection of a size varying first region of a reprogrammable non-volatile memory |
JP3976839B2 (ja) * | 1996-07-09 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性メモリシステムおよび不揮発性半導体メモリ |
JP3062730B2 (ja) * | 1996-07-10 | 2000-07-12 | 株式会社日立製作所 | 不揮発性半導体記憶装置および書込み方法 |
JPH10124474A (ja) * | 1996-10-25 | 1998-05-15 | Nec Corp | マイクロコンピュータ |
JPH10134024A (ja) | 1996-10-31 | 1998-05-22 | Sanyo Electric Co Ltd | マイクロコンピュータ |
JP3773607B2 (ja) * | 1996-11-28 | 2006-05-10 | Necエレクトロニクス株式会社 | フラッシュeeprom内蔵マイクロコンピュータ |
JPH10177563A (ja) * | 1996-12-17 | 1998-06-30 | Mitsubishi Electric Corp | フラッシュメモリ内蔵マイクロコンピュータ |
US6026014A (en) * | 1996-12-20 | 2000-02-15 | Hitachi, Ltd. | Nonvolatile semiconductor memory and read method |
US5991221A (en) * | 1998-01-30 | 1999-11-23 | Hitachi, Ltd. | Microcomputer and microprocessor having flash memory operable from single external power supply |
JPH10269109A (ja) * | 1997-03-21 | 1998-10-09 | Mitsubishi Electric Corp | マイクロコンピュータ |
TW389910B (en) | 1997-07-03 | 2000-05-11 | Seiko Epson Corp | Programmable nonvolatile memory apparatus and microcomputer using the same |
JP4229482B2 (ja) * | 1997-10-24 | 2009-02-25 | 株式会社ルネサステクノロジ | フラッシュメモリ内蔵マイクロコンピュータ |
TW368626B (en) | 1998-04-17 | 1999-09-01 | Winbond Electronics Corp | Microprocessor with self-programmed embedded flash memory and programming method |
IT1302432B1 (it) * | 1998-08-13 | 2000-09-05 | Texas Instruments Italia Spa | Sistema di azzeramento a blocchi a settori di dispositivi di memoriaa semicondutture flash |
US6421757B1 (en) * | 1998-09-30 | 2002-07-16 | Conexant Systems, Inc | Method and apparatus for controlling the programming and erasing of flash memory |
JP2000194551A (ja) * | 1998-12-28 | 2000-07-14 | Oki Micro Design Co Ltd | フラッシュメモリ書換え回路 |
-
2001
- 2001-03-08 JP JP2001065389A patent/JP2002269065A/ja active Pending
- 2001-09-06 TW TW90122090A patent/TW575811B/zh not_active IP Right Cessation
- 2001-09-07 US US09/948,042 patent/US6587916B2/en not_active Expired - Lifetime
- 2001-12-06 DE DE10159901A patent/DE10159901B4/de not_active Expired - Fee Related
- 2001-12-06 KR KR1020010076901A patent/KR100658135B1/ko not_active IP Right Cessation
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1293460C (zh) * | 2003-06-26 | 2007-01-03 | 三洋电机株式会社 | 控制装置以及数据写入方法 |
US7281103B2 (en) | 2003-10-01 | 2007-10-09 | Kabushiki Kaisha Toshiba | Microcomputer with a security function for accessing a program storage memory |
CN1332306C (zh) * | 2004-04-22 | 2007-08-15 | 三洋电机株式会社 | 控制装置 |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
US8051258B2 (en) | 2004-12-21 | 2011-11-01 | Samsung Electronics Co., Ltd. | Apparatus and methods using invalidity indicators for buffered memory |
US7802054B2 (en) | 2004-12-21 | 2010-09-21 | Samsung Electronics Co., Ltd. | Apparatus and methods using invalidity indicators for buffered memory |
US8533391B2 (en) | 2004-12-21 | 2013-09-10 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
US8082383B2 (en) | 2007-01-24 | 2011-12-20 | Kabushiki Kaisha Toshiba | Semiconductor memory device which includes memory cell having charge accumulation layer and control gate |
US8219744B2 (en) | 2007-01-24 | 2012-07-10 | Kabushiki Kaisha Toshiba | Semiconductor memory device which includes memory cell having charge accumulation layer and control gate |
US8316200B2 (en) | 2007-04-10 | 2012-11-20 | Seiko Epson Corporation | Microcomputer, electronic instrument, and flash memory protection method |
WO2020217303A1 (ja) * | 2019-04-23 | 2020-10-29 | 株式会社Fuji | 情報処理装置及び作業機 |
JPWO2020217303A1 (ja) * | 2019-04-23 | 2021-10-21 | 株式会社Fuji | 情報処理装置及び作業機 |
JP7111892B2 (ja) | 2019-04-23 | 2022-08-02 | 株式会社Fuji | 情報処理装置及び作業機 |
Also Published As
Publication number | Publication date |
---|---|
US6587916B2 (en) | 2003-07-01 |
DE10159901A1 (de) | 2002-09-26 |
DE10159901B4 (de) | 2005-03-31 |
KR100658135B1 (ko) | 2006-12-15 |
TW575811B (en) | 2004-02-11 |
KR20020072182A (ko) | 2002-09-14 |
US20020129195A1 (en) | 2002-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002269065A (ja) | プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ | |
KR100375217B1 (ko) | 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러 | |
KR100444537B1 (ko) | 데이타처리장치 | |
US7778074B2 (en) | System and method to control one time programmable memory | |
JP4868216B2 (ja) | ファームウェア更新回路およびファームウェア更新方法 | |
US5923838A (en) | Microcomputer with built-in flash memory | |
US7805650B2 (en) | Semiconductor integrated circuit and debug mode determination method | |
KR100604877B1 (ko) | 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법 | |
US8176281B2 (en) | Controlling access to an embedded memory of a microcontroller | |
JPH1050078A (ja) | 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置 | |
JP3202497B2 (ja) | 情報処理装置 | |
US7096351B2 (en) | Single-chip microcomputer and boot region switching method thereof | |
US20080034150A1 (en) | Data processing circuit | |
US11915008B2 (en) | Processing system, related integrated circuit, device and method | |
JP3197865B2 (ja) | マイクロコンピュータ | |
JPH08235073A (ja) | マイクロコンピュータ | |
JP3669625B2 (ja) | データ処理システム及びデータ処理システムの動作方法 | |
CN100426264C (zh) | 存取一存储器的方法与相关的微处理器系统 | |
JP4236808B2 (ja) | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 | |
CN112417528A (zh) | 用来管理支持数据存储的安全程序库的方法与电子装置 | |
JP2006277012A (ja) | 半導体集積回路 | |
JP2005202984A (ja) | データ処理装置及びシングルチップマイクロコンピュータ | |
JPH11167484A (ja) | 不揮発性メモリ混載マイコン及びそのプログラム変更履歴管理方法並びに不揮発性メモリ混載マイコンのプログラム変更履歴管理プログラムを記録した記録媒体 | |
JP2002132746A (ja) | データ処理装置及びシングルチップマイクロコンピュータ | |
JP2004062978A (ja) | 不揮発性半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060314 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060410 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060831 |