JP2003303132A - 半導体メモリ制御装置 - Google Patents

半導体メモリ制御装置

Info

Publication number
JP2003303132A
JP2003303132A JP2002105145A JP2002105145A JP2003303132A JP 2003303132 A JP2003303132 A JP 2003303132A JP 2002105145 A JP2002105145 A JP 2002105145A JP 2002105145 A JP2002105145 A JP 2002105145A JP 2003303132 A JP2003303132 A JP 2003303132A
Authority
JP
Japan
Prior art keywords
flash memory
memory
rewriting
instruction
flash
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
Application number
JP2002105145A
Other languages
English (en)
Inventor
Kenji Tsutsumi
兼二 堤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002105145A priority Critical patent/JP2003303132A/ja
Publication of JP2003303132A publication Critical patent/JP2003303132A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 CPUがフラッシュメモリから読み出される
通常のプログラムを実行中にフラッシュメモリ自身を書
き換えることができ、かつ書き換えプログラムを一時的
に格納するRAMを不要とする半導体メモリ制御装置を
提供する。 【解決手段】 CPU1とフラッシュメモリA2とフラ
ッシュメモリB3は、8ビットバス幅でそれぞれ接続さ
れており、例えばフラッシュメモリA2内の書き換えプ
ログラムB21の実行により、フラッシュメモリB3の
書き換えを実行する。書き換えプログラムB21をフラ
ッシュメモリA2内に8ビットバス幅で読み出せるよう
にコンパイラとリンカにより配置する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
を記憶媒体とするマイクロコンピュータシステム(以
下、マイコンシステムという)に利用される半導体メモ
リ制御装置に関するものである。
【0002】
【従来の技術】マイコンシステムは、CPU(Central
Processing Unit)と、CPUに実行させる命令および
参照データを格納するROM(Read OnlyMemory)およ
びRAM(Random Access Memory)とがバス接続されて
いるが、ROMおよびRAMのバス幅は、一般にCPU
のバス幅と同一に構成されている。
【0003】例として8ビットバス接続であるCPUを
使用するマイコンシステムでは、8ビットバスのROM
またはRAMを1個ないし複数個接続する構成をとる。
【0004】また、16ビットバス接続であるCPUを
使用するマイコンシステムでは、16ビットバスのRO
MまたはRAMを1個ないし複数個接続するか、または
8ビットバスのROMまたはRAMを、上位8ビットデ
ータバスに1個ないし複数個、下位8ビットデータバス
に1個ないし複数個接続する構成をとる。
【0005】上記ROMがフラッシュメモリである場合
も、上記同様の構成をとる。
【0006】上記のマイコンシステムにおいて、フラッ
シュメモリの書き換え処理を実施する場合(フラッシュ
メモリの消去処理及びプログラム処理を実施する場
合)、書き換え処理実行中には、フラッシュメモリの書
き換えプログラムは書き換え対象であるフラッシュメモ
リ自身に存在させることができないため、フラッシュメ
モリにおける書き換えプログラムを一時的にRAMに退
避させる。そして、フラッシュメモリは通常のROMと
しての動作は行わず、CPUはRAMから書き換えプロ
グラム中の命令をフェッチ、解読して、フラッシュメモ
リ書き換え専用インタフェース経由でフラッシュメモリ
の書き換えを実行する。
【0007】すなわち、CPUは、フラッシュメモリか
ら読み出した命令の実行中に、フラッシュメモリのある
一部を書き換えるだけの場合においても、フラッシュメ
モリ自身の内部に格納されているフラッシュメモリ書き
換えプログラムをRAMへ転送し、続いてフラッシュメ
モリからの命令実行を停止し、RAMから読み出される
命令をCPUが実行することでフラッシュメモリを書き
換える。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来の構成では、マイコンシステムは、CPUがフラッシ
ュメモリから読み出される通常のプログラムを実行中に
フラッシュメモリ自身を書き換えることができない。
【0009】また、本来RAMが不要なマイコンシステ
ムにおいても、フラッシュメモリ書き換えのためだけに
RAMを実装する必要がある。
【0010】そこで、本発明は、フラッシュメモリをR
OMとして使用するマイコンシステムにおいて、中央演
算処理装置がフラッシュメモリから読み出される通常の
プログラムを実行中にフラッシュメモリ自身を書き換え
ることができ、さらにフラッシュメモリの書き換えに際
して、書き換えプログラムを一時的に格納するRAMに
ついてはこれを不要化できる半導体メモリ制御装置を提
供することを目的とする。
【0011】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明は次のような手段を講じる。すなわち、互
いに独立的に構成された複数のフラッシュメモリであっ
て、他のフラッシュメモリの書き換えプログラムを所要
の記録領域に格納する複数のフラッシュメモリと、前記
複数のフラッシュメモリのそれぞれと中央演算処理装置
との間に介挿された複数のインタフェースとを備えてい
る。このような構成の半導体メモリ制御装置において、
本発明は、前記複数のインタフェースを同時にアクセス
許可状態にする通常動作モードと単独にアクセス許可状
態にするプログラム書き換えモードとを切り換えるイン
タフェース制御手段を備える。前記のインタフェース制
御手段は、複数のフラッシュメモリのうちのあるフラッ
シュメモリの書き換えにおいて、次のような機能を有し
ている。すなわち、他のフラッシュメモリに対応したイ
ンタフェースをアクセス許可状態にして前記他のフラッ
シュメモリから前記書き換えプログラムを読み出して中
央演算処理装置に転送する。そして、この転送の後に、
書き換え対象のフラッシュメモリに対応したインタフェ
ースをアクセス許可状態にして、中央演算処理装置によ
る前記読み出した書き換えプログラムの実行に基づく前
記書き換え対象のフラッシュメモリに対する書き換えコ
ードの書き込みを行う。
【0012】上記のように構成された本発明によれば、
中央演算処理装置は複数のフラッシュメモリから読み出
した命令を実行する通常動作モード中に、いずれかのフ
ラッシュメモリの書き換えを実施することができる。ま
た、フラッシュメモリの書き換え処理中であっても、そ
の他のCPU処理を容易に実現することができる。そし
て、フラッシュメモリ書き換え処理のためだけにマイコ
ンシステムにRAMを実装しなければならないという制
約を解消することができる。
【0013】上記の発明において好ましい態様として、
次のものを挙げることができる。それは、前記のインタ
フェース制御手段の構成についてである。すなわち、前
記複数のフラッシュメモリのいずれか一つまたは複数を
選択するためのメモリ選択レジスタを備えている。加え
て、前記各フラッシュメモリで前記書き換えプログラム
を格納している前記所要の記録領域を指定するための設
定値を設定するメモリ分割スタートアドレスレジスタを
備えている。さらに、前記中央演算処理装置から前記各
インタフェースに入力されるアドレス信号と前記メモリ
分割スタートアドレスレジスタの設定値とを比較し、比
較結果のメモリ分割アドレス判別信号を出力するアドレ
ス比較器とを備えている。インターフェース制御手段
は、上記構成のメモリ選択レジスタ、メモリ分割スター
トアドレスレジスタおよびアドレス比較器を備えて構成
されている。
【0014】メモリ選択レジスタは、通常動作モード時
において複数のインタフェースを同時にアクセス許可状
態にし、プログラム書き換えモードにおいていずれか1
つのインタフェースを単独にアクセス許可状態にする。
【0015】アドレス比較器は、中央演算処理装置から
与えられたアドレス信号をメモリ分割スタートアドレス
レジスタからの設定値と比較する。設定値(メモリ分割
スタートアドレス)は、フラッシュメモリにおいて書き
換えプログラムを格納している所要の記録領域を指定す
るものである。アドレス信号が書き換えプログラム記録
領域に該当しないときは通常動作モード状態を示すメモ
リ分割アドレス判別信号を出力し、アドレス信号が書き
換えプログラム記録領域に該当するときはプログラム書
き換えモード状態を示すメモリ分割アドレス判別信号を
出力する。複数のインタフェースは、アドレス比較器か
ら通常動作モード状態を示すメモリ分割アドレス判別信
号を入力したときは、すべてのインタフェースを同時に
アクセス許可状態にする。また、アドレス比較器からプ
ログラム書き換えモード状態を示すメモリ分割アドレス
判別信号を入力したときは、各フラッシュメモリを個別
的にアクセス許可状態にする。
【0016】本発明にかかわる半導体メモリ制御装置
は、別の観点から次のようにいうことができる。すなわ
ち、前記複数のフラッシュメモリ各々に配置される命令
コードのプログラムのソースファイルを中間ファイルに
翻訳するコンパイラと、前記中間ファイルを実行ファイ
ルに変換するリンカとを具備する。そして、前記コンパ
イラは、前記ソースファイルに記載される前記複数のフ
ラッシュメモリ各々への配置命令を解読し、前記複数の
フラッシュメモリ全てに配置されるべき中間ファイル
と、前記複数のフラッシュメモリ各々に配置されるべき
中間ファイルを生成する。また、前記リンカは、前記中
間ファイルから前記複数のフラッシュメモリ各々に最終
的に配置される命令コードを生成する。
【0017】コンパイラがソースファイルから中間ファ
イルを生成するときに、すべてのフラッシュメモリに配
置される中間ファイルと、個別のフラッシュメモリに配
置される中間ファイルとに区分して生成する。リンカ
は、各中間ファイルから実行ファイルを生成するとき
に、前記のすべてのフラッシュメモリに配置される中間
ファイルについては、すべてのフラッシュメモリにわた
る命令配置領域に展開する状態で命令コードを生成し、
また、前記の個別のフラッシュメモリに配置される中間
ファイルについては、個々のフラッシュメモリで個別の
命令配置領域に展開する状態で命令コードを生成する。
【0018】以上を要するに、本発明の半導体メモリ制
御装置によれば、中央演算処理装置はフラッシュメモリ
から読み出した命令を実行中に、フラッシュメモリ自身
の書き換えを実施でき、かつフラッシュメモリの書き換
え処理中であっても、その他のCPU処理を容易に実現
できるという作用が得られる。また、フラッシュメモリ
書き換え処理のためだけにマイコンシステムにRAMを
実装する必要が無くなるという作用が得られる。
【0019】
【発明の実施の形態】以下、本発明にかかわる半導体メ
モリ制御装置の実施の形態について図面に基づいて詳細
に説明する。
【0020】図1は本発明の実施の形態における半導体
メモリ制御装置の構成を示すブロック図、図2はフラッ
シュメモリ内の命令コード配置を示す概念図、図3はフ
ラッシュメモリインタフェースの内部の構成を示すブロ
ック図である。
【0021】図1において、1は中央演算処理装置(C
PU)であり、本実施の形態では、CPU1を16ビッ
トバス幅のCPUであるとして説明する。2および3は
互いに独立的に構成されたフラッシュメモリAとフラッ
シュメモリBであり、フラッシュメモリA2にはフラッ
シュメモリB3を書き換えるための書き換えプログラム
B21が所要の記録領域に格納され、フラッシュメモリ
B3にはフラッシュメモリA2を書き換えるための書き
換えプログラムA22が所要の記録領域に格納されてい
る。CPU1は、フラッシュメモリA2とフラッシュメ
モリB3に対して、フラッシュメモリインタフェース4
を介して接続されている。
【0022】CPU1とフラッシュメモリインタフェー
ス4とは、アドレス信号5、リード信号6、下位ライト
信号7、上位ライト信号8、下位データバス9、上位デ
ータバス10、LBYTE信号105およびHBYTE
信号106で接続されている。
【0023】フラッシュメモリインタフェース4とフラ
ッシュメモリA2とは、アドレスバスA11、選択信号
A12、リード信号A13、ライト信号A14および8
ビット幅のデータバスA15で接続されている。また、
フラッシュメモリインタフェース4とフラッシュメモリ
B3とは、アドレスバスB16、選択信号B17、リー
ド信号B18、ライト信号B19および8ビット幅のデ
ータバスB20で接続されている。
【0024】フラッシュメモリ内の命令コード配置を示
す図2において、フラッシュメモリA2は8ビットバス
幅でデータバスA15に接続され、フラッシュメモリB
3は8ビットバス幅でデータバスB20に接続されてい
る。
【0025】30はフラッシュメモリA2とフラッシュ
メモリB3とにわたって構築される16ビット単位での
命令配置領域である。フラッシュメモリA2とフラッシ
ュメモリB3とに8ビットデータ単位で交互に配置さ
れ、合わせて16ビット単位となる。この16ビット単
位での命令配置領域30は、メモリ分割スタートアドレ
ス40より値の小さいアドレス範囲に構築され、16ビ
ットバス幅で通常動作する際の命令コードの集合である
通常動作のプログラムが配置されている。
【0026】50はフラッシュメモリA2に単独に構築
される8ビット単位での命令配置領域である。この8ビ
ット単位での命令配置領域A50は、メモリ分割スター
トアドレス40以降のアドレス範囲に構築され、フラッ
シュメモリB3を書き換えるための書き換えプログラム
B21が配置されている。
【0027】60はフラッシュメモリB3に単独に構築
される8ビット単位での命令配置領域である。この8ビ
ット単位での命令配置領域B60は、メモリ分割スター
トアドレス40以降のアドレス範囲に構築され、フラッ
シュメモリA2を書き換えるための書き換えプログラム
A22が配置されている。
【0028】図3に示すように、フラッシュメモリイン
タフェース4は、フラッシュメモリA2に対応したメモ
リAインタフェース103、フラッシュメモリB3に対
応したメモリBインタフェース104、メモリ選択レジ
スタ100、アドレス比較器107およびメモリ分割ス
タートアドレスレジスタ108を備えている。メモリ選
択レジスタ100、アドレス比較器107およびメモリ
分割スタートアドレスレジスタ108がインタフェース
制御手段110を構成している。
【0029】インタフェース制御手段110におけるメ
モリ選択レジスタ100は、その設定値をメモリA選択
信号101としてメモリAインタフェース103に出力
し、同じくその設定値をメモリB選択信号102として
メモリBインタフェース104に出力する。メモリA選
択信号101がアクティブのときは、メモリAインタフ
ェース103においてフラッシュメモリA2への命令読
み出しアクセスが許可される。また、メモリB選択信号
102がアクティブのときは、メモリBインタフェース
104においてフラッシュメモリB3への命令読み出し
アクセスが許可される。
【0030】また、メモリA選択信号101がアクティ
ブのときは、インタフェース制御手段110はCPU1
に対するLBYTE信号105をアクティブにし、下位
データバス9に8ビットバス幅でフラッシュメモリA2
から読み出した命令を出力する。また、メモリB選択信
号102がアクティブのときは、インタフェース制御手
段110はCPU1に対するHBYTE信号106をア
クティブにし、上位データバス10に8ビットバス幅で
フラッシュメモリB3から読み出した命令を出力する。
【0031】インタフェース制御手段110におけるメ
モリ分割スタートアドレスレジスタ108は、図2に示
すメモリ分割スタートアドレス40を設定するものであ
る。
【0032】アドレス比較器107は、CPU1からの
アドレス信号5とメモリ分割スタートアドレスレジスタ
108からのメモリ分割スタートアドレス40とを入力
し、アドレス信号5が示すアドレスとメモリ分割スター
トアドレス40とを比較する。比較の結果、アドレス信
号5で示されるアドレスがメモリ分割スタートアドレス
40以降の場合、アクティブを指示するメモリ分割アド
レス判別信号109をメモリAインタフェース103及
びメモリBインタフェース104に出力する。また、比
較の結果、アドレス信号5で示されるアドレスがメモリ
分割スタートアドレス40よりも小さい場合、インアク
ティブを指示するメモリ分割アドレス判別信号109を
メモリAインタフェース103及びメモリBインタフェ
ース104に出力する。
【0033】メモリAインタフェース103は、プログ
ラム書き換えモード時にメモリ分割アドレス判別信号1
09とメモリA選択信号101が両方ともアクティブの
場合、フラッシュメモリA2への読み出しアクセスを実
施する。メモリBインタフェース104は、プログラム
書き換えモード時にメモリ分割アドレス判別信号109
とメモリB選択信号102が両方ともアクティブの場
合、フラッシュメモリB3への読み出しアクセスを実施
する。
【0034】ROMデータ配置手段を示す図4におい
て、ソースファイル200の作成時に、フラッシュメモ
リA2及びフラッシュメモリB3に16ビット単位で配
置される命令データとしてのプログラムを16ビット配
置命令201とし、フラッシュメモリA2のみに配置さ
れる命令データとしてのプログラムを下位8ビット配置
命令202とし、フラッシュメモリB3のみに配置され
る命令データとしてのプログラムを上位8ビット配置命
令203としてラベルをつけて区別しておく。
【0035】前記ソースファイル200をコンパイラ部
210で中間ファイル220に翻訳する際に、16ビッ
ト配置命令201、下位8ビット配置命令202、上位
8ビット配置命令203の3種類の命令コードをそれぞ
れ切り出して、16ビット配置命令コード221、下位
8ビット配置命令コード222、上位8ビット配置命令
コード223として作成する。中間ファイルである16
ビット配置命令コード221内には配置オプションデー
タ“0”、下位8ビット配置命令コード222内には配
置オプションデータ“A”、上位8ビット配置命令コー
ド223内には配置オプションデータ“B”を追加して
おく。
【0036】中間ファイル220は、リンカ部230で
実行ファイル240としてCPU1が解読可能な命令コ
ードにまとめられるが、中間ファイル220の段階で配
置オプションデータ“0”の命令コードは16ビット単
位での命令配置領域30にマッピングし、配置オプショ
ンデータ“A”の命令コードは8ビット単位での命令配
置領域A50にマッピングし、配置オプションデータ
“B”の命令コードは8ビット単位での命令配置領域B
60にマッピングする。
【0037】8ビット単位での命令配置領域A50と8
ビット単位での命令配置領域B60のメモリ分割スター
トアドレス40は、16ビット単位での命令配置領域3
0内の命令コードに含まれるメモリ分割スタートアドレ
スレジスタ108の設定値により決定される。
【0038】前記コンパイラ部210、リンカ部230
で使用されるコンパイラ及びリンカの動作は、通常使用
されるコンパイラ及びリンカと同じものであるので、こ
こで説明は割愛する。
【0039】次に、上記のように構成された半導体メモ
リ制御装置の動作を説明する。
【0040】図5(a)は、フラッシュメモリB3の書
き換えの処理の流れを示すフロー図である。CPU1
は、通常動作モード時は、16ビットバス幅でフラッシ
ュメモリA2とフラッシュメモリB3の両方から命令を
読み出し、通常プログラムを実行している(ステップS
101)。フラッシュメモリB3を書き換える場合、ま
ずCPU1は、命令実行ROMとしてフラッシュメモリ
A2のみを選択する。すなわち、命令読み出しを下位デ
ータバス9から下位8ビットバスで行う選択をする(ス
テップS102)。次いで、フラッシュメモリA2から
読み出された書き換えプログラムB21により、フラッ
シュメモリB3の書き換えを上位8ビットバス幅で行う
(ステップS103)。フラッシュメモリB3の書き換
えが完了すれば、CPU1は、命令実行ROMとしてフ
ラッシュメモリA2とフラッシュメモリB3の両方を選
択する。すなわち、16ビットバス幅でフラッシュメモ
リA2とフラッシュメモリB3の両方から命令を読み出
す選択をし(ステップS104)、次いで、通常動作に
復帰する(ステップS105)。
【0041】図5(b)は、フラッシュメモリA2の書
き換えの処理の流れを示すフロー図である。CPU1
は、通常動作モード時は、16ビットバス幅でフラッシ
ュメモリA2とフラッシュメモリB3の両方から命令を
読み出し、通常プログラムを実行している(ステップS
201)。フラッシュメモリA2を書き換える場合、ま
ずCPU1は、命令実行ROMとしてフラッシュメモリ
B3のみを選択する。すなわち、命令読み出しを上位デ
ータバス10から上位8ビットバスで行う選択をする
(ステップS202)。次いで、フラッシュメモリB3
から読み出された書き換えプログラムA22により、フ
ラッシュメモリA2の書き換えを下位8ビットバス幅で
行う(ステップS203)。フラッシュメモリA2の書
き換えが完了すれば、CPU1は、命令実行ROMとし
てフラッシュメモリA2とフラッシュメモリB3の両方
を選択する。すなわち、16ビットバス幅でフラッシュ
メモリA2とフラッシュメモリB3の両方から命令を読
み出す選択をし(ステップS204)、次いで、通常動
作に復帰する(ステップS205)。
【0042】以下、各動作モードをより具体的レベルで
説明する。
【0043】(1)通常動作モード時 通常動作モード時においては、CPU1は、メモリ分割
スタートアドレス40よりも小さいアドレス範囲でアド
レス信号5を順次に更新して出力する。フラッシュメモ
リインタフェース4は、アドレス比較器107におい
て、入力したアドレス信号5をメモリ分割スタートアド
レスレジスタ108からのメモリ分割スタートアドレス
40と比較し、通常動作モード時では前者は後者よりも
小さいことから、メモリ分割アドレス判別信号109を
インアクティブにする。メモリAインタフェース103
およびメモリBインタフェース104は、メモリ分割ア
ドレス判別信号109がインアクティブであるので、フ
ラッシュメモリA2からフラッシュメモリB3にかけて
の16ビット単位での命令配置領域30への読み出しア
クセスを許可する。16ビット単位での命令配置領域3
0には、16ビットバス幅で通常動作する際の命令コー
ドが格納されている。
【0044】16ビット単位での命令配置領域30から
命令コードを順次に読み出すときの動作は次のとおりで
ある。
【0045】フラッシュメモリA2及びフラッシュメモ
リB3の両方における16ビット単位での命令配置領域
30に対する命令読み出しアクセスが許可され、命令コ
ード0,1がそれぞれデータバスA15およびデータバ
スB20に読み出され、それぞれ下位データバス9、上
位データバス10に出力し、CPU1はこの命令コード
0,1を受け取る。
【0046】命令コード0,1を受け取ったCPU1
は、その16ビットの命令コードによる命令を実行す
る。以下同様にして、命令コード2,3を読み出し、命
令を実行し、次の命令コード4,5の読み出しへ進む。
すなわち、CPU1は、16ビットバス幅でフラッシュ
メモリインタフェース4を介してフラッシュメモリA2
とフラッシュメモリB3の両方から命令を読み出し、通
常プログラムを実行する。
【0047】上記において、下位データバスへのリード
アクセス時には、メモリAインタフェース103は、フ
ラッシュメモリA2に対するアドレスバスA11、選択
信号A12、リード信号A13を生成する。データバス
A15にはリードアクセス時はフラッシュメモリA2か
らのデータが読み出される。また、上記において、上位
データバスへのリードアクセス時には、メモリBインタ
フェース104は、フラッシュメモリB3に対するアド
レスバスB16、選択信号B17、リード信号B18を
生成する。データバスB20にはリードアクセス時はフ
ラッシュメモリB3からのデータが読み出される。
【0048】このようにして、フラッシュメモリA2及
びフラッシュメモリB3に対するアクセスが同時に実行
されることになる(16ビットアクセス)。
【0049】(2)フラッシュメモリA書き換え動作モ
ード時 フラッシュメモリA2を書き換える場合には、フラッシ
ュメモリB3に対するリードアクセスによりフラッシュ
メモリB3の内部に存在する書き換えプログラムA22
をCPU1がフェッチして実行する。そして、フラッシ
ュメモリA2に対するライトアクセスにより、フラッシ
ュメモリA2の書き換えを実行する。以下、具体的に説
明する。
【0050】CPU1に対してフラッシュメモリA2を
書き換える命令が与えられると、CPU1は、メモリ選
択レジスタ100に対してメモリA選択信号101をイ
ンアクティブにする。
【0051】フラッシュメモリインタフェース4は、ア
ドレス比較器107において、入力したアドレス信号5
をメモリ分割スタートアドレスレジスタ108からのメ
モリ分割スタートアドレス40と比較し、書き換えモー
ド時では前者は後者以上であるから、メモリ分割アドレ
ス判別信号109をアクティブにする。メモリAインタ
フェース103でのアクセス許可はコード書き換えアク
セスにかかわるものであり、メモリBインタフェース1
04でのアクセス許可は命令読み出しアクセスにかかわ
るものである。具体的には次のとおりである。
【0052】メモリB選択信号102がアクティブに、
メモリA選択信号101がインアクティブにされ、フラ
ッシュメモリB3における8ビット単位での命令配置領
域B60に対する命令読み出しアクセスが許可され、命
令コードB0が上位8ビットバス幅のデータバスB20
に読み出される。そして、メモリB選択信号102がア
クティブであるので、フラッシュメモリインタフェース
4はHBYTE信号106をアクティブにし、8ビット
バス幅の上位データバス10に前記の読み出した命令コ
ードB0を出力し、CPU1はこの命令コードB0を受
け取る。以下、同様の動作を繰り返し実行して、命令コ
ードB1,B2…を命令配置領域B60からCPU1に
転送する。
【0053】次に、命令コードB0,B1…をCPU1
が実行することで、8ビットバス幅の下位データバス9
に書き換えコードを出力する。この書き換えコードはメ
モリAインタフェース103、データバスA15を介し
てフラッシュメモリA2の所要のアドレスに書き込まれ
る。
【0054】(3)フラッシュメモリB書き換え動作モ
ード時 フラッシュメモリB3を書き換える場合には、フラッシ
ュメモリA2に対するリードアクセスによりフラッシュ
メモリA2の内部に存在する書き換えプログラムB21
をCPU1がフェッチして実行する。そして、フラッシ
ュメモリB3に対するライトアクセスにより、フラッシ
ュメモリB3の書き換えを実行する。以下、具体的に説
明する。
【0055】CPU1に対してフラッシュメモリB3を
書き換える命令が与えられると、CPU1は、メモリ選
択レジスタ100に対してメモリB選択信号102をイ
ンアクティブにする。
【0056】フラッシュメモリインタフェース4は、ア
ドレス比較器107において、入力したアドレス信号5
をメモリ分割スタートアドレスレジスタ108からのメ
モリ分割スタートアドレス40と比較し、書き換えモー
ド時では前者は後者以上であるから、メモリ分割アドレ
ス判別信号109をアクティブにする。メモリAインタ
フェース103でのアクセス許可は命令読み出しアクセ
スにかかわるものであり、メモリBインタフェース10
4でのアクセス許可はコード書き換えアクセスにかかわ
るものである。具体的には次のとおりである。
【0057】メモリA選択信号101がアクティブに、
メモリB選択信号102がインアクティブにされ、フラ
ッシュメモリA2における8ビット単位での命令配置領
域A50に対する命令読み出しアクセスが許可され、命
令コードA0が下位8ビットバス幅のデータバスA15
に読み出される。そして、メモリA選択信号101がア
クティブであるので、フラッシュメモリインタフェース
4はLBYTE信号105をアクティブにし、8ビット
バス幅の下位データバス9に前記の読み出した命令コー
ドA0を出力し、CPU1はこの命令コードA0を受け
取る。以下、同様の動作を繰り返し実行して、命令コー
ドA1,A2…を命令配置領域A50からCPU1に転
送する。
【0058】次に、命令コードA0,A1…をCPU1
が実行することで、8ビットバス幅の上位データバス1
0に書き換えコードを出力する。この書き換えコードは
メモリBインタフェース104、データバスB20を介
してフラッシュメモリB3の所要のアドレスに書き込ま
れる。
【0059】以上説明したように、CPU1が両フラッ
シュメモリA2,B3の16ビット単位での命令配置領
域30から読み出した通常のプログラムを実行中に、フ
ラッシュメモリA2の8ビット単位での命令配置領域A
50から読み出した書き換えプログラムB21によっ
て、フラッシュメモリB3を書き換えることができ、あ
るいは、フラッシュメモリB3の8ビット単位での命令
配置領域B60から読み出した書き換えプログラムA2
2によって、フラッシュメモリA2を書き換えることが
できる。そして、フラッシュメモリの書き換えに際し
て、書き換えプログラムを一時的に格納するRAMを不
要化することができる。
【0060】
【発明の効果】以上説明したように、本発明の半導体メ
モリ制御装置によれば、フラッシュメモリをROMとし
て使用するマイコンシステムにおいて、中央演算処理装
置がフラッシュメモリから読み出される通常のプログラ
ムを実行中にフラッシュメモリ自身を書き換えることが
でき、さらにフラッシュメモリの書き換えに際して、書
き換えプログラムを一時的に格納するRAMを不要とす
ることができる効果が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態における半導体メモリ
制御装置の構成を示すブロック図
【図2】 本発明の実施の形態におけるフラッシュメモ
リ内の命令コード配置を示す概念図
【図3】 本発明の実施の形態におけるフラッシュメモ
リインタフェース内部の構成を示すブロック図
【図4】 本発明の実施の形態におけるROMデータ配
置手段の説明図
【図5】 本発明の実施の形態におけるフラッシュメモ
リ書き換えの処理の流れを示すフロー図
【符号の説明】
1 CPU 2 フラッシュメモリA 3 フラッシュメモリB 4 フラッシュメモリインタフェース 5 アドレス信号 6 リード信号 7 下位ライト信号 8 上位ライト信号 9 下位データバス 10 上位データバス 11 アドレスバスA 12 選択信号A 13 リード信号A 14 ライト信号A 15 データバスA 16 アドレスバスB 17 選択信号B 18 リード信号B 19 ライト信号B 20 データバスB 21 書き換えプログラムB 22 書き換えプログラムA 30 16ビット単位での命令配置領域 40 メモリ分割スタートアドレス 50 8ビット単位での命令配置領域 60 8ビット単位での命令配置領域 100 メモリ選択レジスタ 101 メモリA選択信号 102 メモリB選択信号 103 メモリAインタフェース 104 メモリBインタフェース 105 LBYTE信号 106 HBYTE信号 107 アドレス比較器 108 メモリ分割スタートアドレスレジスタ 109 メモリ分割アドレス判別信号 110 インタフェース制御手段 200 ソースファイル 201 16ビット配置命令 202 下位8ビット配置命令 203 上位8ビット配置命令 210 コンパイラ部 220 中間ファイル 221 16ビット配置命令コード 222 下位8ビット配置命令コード 223 上位8ビット配置命令コード 230 リンカ部 240 実行ファイル

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 互いに独立的に構成された複数のフラッ
    シュメモリであって、他のフラッシュメモリの書き換え
    プログラムを所要の記録領域に格納する複数のフラッシ
    ュメモリと、 前記複数のフラッシュメモリのそれぞれと中央演算処理
    装置との間に介挿された複数のインタフェースと、 前記複数のインタフェースを同時にアクセス許可状態に
    する通常動作モードと単独にアクセス許可状態にするプ
    ログラム書き換えモードとを切り換えるインタフェース
    制御手段とを備え、 前記インタフェース制御手段は、 前記複数のフラッシュメモリのうちのあるフラッシュメ
    モリの書き換えにおいて、 他のフラッシュメモリに対応した前記インタフェースを
    アクセス許可状態にして前記他のフラッシュメモリから
    前記書き換えプログラムを読み出して前記中央演算処理
    装置に転送した後に、 前記書き換え対象のフラッシュメモリに対応したインタ
    フェースをアクセス許可状態にして前記中央演算処理装
    置による前記読み出した書き換えプログラムの実行に基
    づく前記書き換え対象のフラッシュメモリに対する書き
    換えコードの書き込みを行うように構成されている半導
    体メモリ制御装置。
  2. 【請求項2】 前記インタフェース制御手段は、 前記複数のフラッシュメモリのいずれか一つまたは複数
    を選択するためのメモリ選択レジスタと、 前記各フラッシュメモリで前記書き換えプログラムを格
    納している前記所要の記録領域を指定するための設定値
    を設定するメモリ分割スタートアドレスレジスタと、 前記中央演算処理装置から前記各インタフェースに入力
    されるアドレス信号と前記メモリ分割スタートアドレス
    レジスタの設定値とを比較し、比較結果のメモリ分割ア
    ドレス判別信号を出力するアドレス比較器とを備えてい
    ることを特徴とする請求項1に記載の半導体メモリ制御
    装置。
  3. 【請求項3】 さらに、前記複数のフラッシュメモリ各
    々に配置される命令コードのプログラムのソースファイ
    ルを中間ファイルに翻訳するコンパイラと、前記中間フ
    ァイルを実行ファイルに変換するリンカとを具備し、 前記コンパイラは、前記ソースファイルに記載される前
    記複数のフラッシュメモリ各々への配置命令を解読し、
    前記複数のフラッシュメモリ全てに配置されるべき中間
    ファイルと、前記複数のフラッシュメモリ各々に配置さ
    れるべき中間ファイルを生成し、 前記リンカは、前記中間ファイルから前記複数のフラッ
    シュメモリ各々に最終的に配置される命令コードを生成
    することを特徴とする請求項1または請求項2に記載の
    半導体メモリ制御装置。
JP2002105145A 2002-04-08 2002-04-08 半導体メモリ制御装置 Pending JP2003303132A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002105145A JP2003303132A (ja) 2002-04-08 2002-04-08 半導体メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002105145A JP2003303132A (ja) 2002-04-08 2002-04-08 半導体メモリ制御装置

Publications (1)

Publication Number Publication Date
JP2003303132A true JP2003303132A (ja) 2003-10-24

Family

ID=29389981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002105145A Pending JP2003303132A (ja) 2002-04-08 2002-04-08 半導体メモリ制御装置

Country Status (1)

Country Link
JP (1) JP2003303132A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511850A (ja) * 2003-11-19 2007-05-10 クゥアルコム・インコーポレイテッド デュアルバンク書き込み時読み出しフラッシュを操作する方法及びシステム
US7360013B2 (en) 2005-03-03 2008-04-15 Denso Corporation Method of rewriting flash EEPROM and electronic control device using same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511850A (ja) * 2003-11-19 2007-05-10 クゥアルコム・インコーポレイテッド デュアルバンク書き込み時読み出しフラッシュを操作する方法及びシステム
US7360013B2 (en) 2005-03-03 2008-04-15 Denso Corporation Method of rewriting flash EEPROM and electronic control device using same

Similar Documents

Publication Publication Date Title
US7234049B2 (en) Computer system with NAND flash memory for booting and storage
US7296143B2 (en) Method and system for loading processor boot code from serial flash memory
US9087015B2 (en) Data processing apparatus and address space protection method
US20040210720A1 (en) Patch momory system for a ROM-based processor
JP2004220557A (ja) シリアルフラッシュメモリにおける直接実行のための制御装置及びその方法、これを用いたフラッシュメモリチップ
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
US20030233533A1 (en) Boot from cache
US20100169546A1 (en) Flash memory access circuit
JP2009230548A (ja) 情報処理装置と情報処理方法およびストレージシステム
US20090276575A1 (en) Information processing apparatus and compiling method
JP2001043180A (ja) マイクロプロセッサおよびそのための記憶装置
KR19990037572A (ko) 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법
US20050207232A1 (en) Access method for a NAND flash memory chip, and corresponding NAND flash memory chip
US6738887B2 (en) Method and system for concurrent updating of a microcontroller's program memory
KR100385493B1 (ko) 재구성가능한프로그램상태워드를갖는마이크로콘트롤러
JP4471947B2 (ja) データ処理装置及びデータ処理方法
JP2007299249A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
EP1103898A2 (en) Microprocessor and memory
JP2012022479A (ja) マイクロコントローラ及びその制御方法
JP2003303132A (ja) 半導体メモリ制御装置
JP2008065725A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
JP2007234212A (ja) Nandフラッシュメモリのプログラム方法及びメモリシステムのプログラム方法
JP2867965B2 (ja) データ処理装置及びデータ処理方法
KR20010051159A (ko) 데이터 처리장치 및 데이터 처리시스템
JPH0554009A (ja) プログラムロード方式