JP2000293367A - 不揮発性メモリ内蔵マイクロコンピュータ - Google Patents
不揮発性メモリ内蔵マイクロコンピュータInfo
- Publication number
- JP2000293367A JP2000293367A JP11096864A JP9686499A JP2000293367A JP 2000293367 A JP2000293367 A JP 2000293367A JP 11096864 A JP11096864 A JP 11096864A JP 9686499 A JP9686499 A JP 9686499A JP 2000293367 A JP2000293367 A JP 2000293367A
- Authority
- JP
- Japan
- Prior art keywords
- program
- nonvolatile memory
- memory
- ram
- stored
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
-
- 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
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
おいて、新たなプログラムを不揮発性メモリに追加的に
格納した場合において、この追加プログラムを実行でき
るようにする。 【解決手段】 1チップマイコン1のメモリ空間に配置
された少なくとも1つの書き換え可能なフラッシュメモ
リ4と、1チップマイコン1の立上げ用の初期プログラ
ム、およびこの初期プログラムをフラッシュメモリ4に
転送するための転送プログラムを格納するブートROM
5と、フラッシュメモリ4に何もプログラムが格納され
ていないときに、前記初期プログラムを前記転送プログ
ラムに基づいてフラッシュメモリ4に転送し、その後、
ブートROM5を1チップマイコン1のメモリ空間から
排除する。
Description
M、フラッシュメモリあるいはFeRAMなどの書き換
え可能な不揮発性メモリを内蔵した不揮発性メモリ内蔵
マイクロコンピュータに関するものである。
タである例えば1チップマイクロコンピュータ(以下、
1チップマイコンと称する)としては、従来からEEP
ROM内蔵の1チップマイコンが知られており、このマ
イコンはICカード用として広く普及している。このI
Cカード用の1チップマイコンのメモリマップは、例え
ば図16のようになっている。
000H〜7FFFHに32kバイトのROM(Read On
ly Memory)領域が配置され、アドレス8000H〜9F
FFHに8kバイトのEEPROM領域が配置され、ア
ドレスFF00H〜FFFFHに256バイトのRAM
領域が配置されている。
あり、アドレス0000H〜000FHは割り込みベク
タに割り当てられている。この1チップマイコンのプロ
グラムは、マイコンがリセット動作をするとROMの先
頭番地に分岐し、また割り込みが発生するとROMの割
り込み処理領域に分岐する。即ち、このマイコンでは、
立ち上がり時に、ROMの先頭番地からプログラムを読
み出す。また、割り込み処理はプログラム実行中に頻繁
に行われるが、その度にプログラムはROMの割り込み
処理領域に戻る必要がある。したがって、このような1
チップマイコンでは、プログラムがあらかじめ上記のR
OM領域に存在している必要がある。なお、EEPRO
M領域はデータ領域としてもプログラム領域としても使
用可能である。
メモリとして、従来、フラッシュメモリを内蔵した1チ
ップマイコンが数多く市場に流通している。このフラッ
シュメモリ内蔵の1チップマイコンのメモリマップは、
例えば図17のようになっている。
000H〜7FFFHに32kバイトのフラッシュメモ
リ領域が配置され、アドレスFF00H〜FFFFHに
256バイトのRAM(Random Access Memory)領域が配
置されている。
EPROM内蔵のICカード用の1チップマイコンと同
様に、アドレス0000Hがスタートアドレス、アドレ
ス0000H〜000FHが割り込みベクタに割り当て
られている。フラッシュメモリは例えば4kバイトごと
に8個のブロック(ブロック0〜ブロック7)に分割さ
れおり、これら各ブロック毎の一括消去は物理的に可能
である。このような1チップマイコンにおいて、不揮発
性メモリであるフラッシュメモリの領域は、全てプログ
ラム領域であることが前提となっている。即ち、フラッ
シュメモリに格納されたプログラムを実行中には、フラ
ッシュメモリに対して書き込みおよび消去を行わないこ
とが前提となっている。
にプログラムを書き込むには次のような方法がある。第
1の方法は、汎用のPROMライターを使用する方法で
ある。この方法においては、PROMライターのソケッ
トにソケットアダプタを介して1チップマイコンを内蔵
するデバイスを差し込み、1チップマイコンの外部端子
を介して、フラッシュメモリに直接データを書き込むの
が一般的である。
ているシリアルコミュニケーションインターフェイス
(以下、SCIと称する)を介してデータを書き込む方
法であり、この方法は一般に汎用されている。
すと図18のようになる。同図において、1チップマイ
コン101は、変換ボード102を介して、パーソナル
コンピュータ(以下、パソコンと称する)103と接続
される。パソコン103に格納されている書き込み用プ
ログラムコードは、データ線104を介して変換ボード
102に転送され、さらに変換ボード102からシリア
ルデータ線105を介して1チップマイコン101のS
CI106に取り込まれる。上記プログラムコードは、
SCI106から内部バス107を介してフラッシュメ
モリ108に送られ、ここに書き込まれる。このとき、
フラッシュメモリ108の制御はCPU109が行い、
この制御のためのプログラムはROM110またはRA
M111に格納されている。
したICカード用の1チップマイコンの場合、EEPR
OMは主にデータ格納用として使用され、プログラム
は、EEPROMにも一部格納されるものの、大半は書
き換えができないROMに格納されている。この場合に
は、ROMに格納されているプログラムを書き換えるこ
とができないため、プログラムの大幅な変更はできな
い。特に、ICカードにおいてそのOS等がROMに格
納されている場合、OS等のバージョンアップは困難で
ある。
ICカードが提案されているものの、そのICカードに
備えられる1チップマイコンが上記のような構成であれ
ば、ICカード発行後に別のアプリケーションプログラ
ムを多数書き込むことは困難である。
ムとは別に、EEPROM内に追加的にプログラムを格
納し、このプログラムに基づいて、同一のEEPROM
をデータ領域として使おうとする場合にも、プログラム
を前述のように一旦ROM上に分岐してから上記処理を
行う必要がある。これは、メモリデバイス(EEPRO
M)をCPU側から見た場合、ハード的には、読み出し
時と書き込み時とにおいて同じアドレスとなり、同一ア
ドレスに対して読み出しと書き込みとを同時に行なうこ
とができないからである。また、上記追加プログラムと
してのアクセスプログラムはROMに転送して格納する
ことができないため、ROMに格納されているアクセス
プログラムは自由に変更することができない。したがっ
て、この場合にもあらかじめROMに格納されているプ
ログラム、即ち書き込み/消去のルーチンを使用するこ
とになるため、上記追加プログラムに基づき、その追加
プログラムが格納されている同一のEEPROMに対し
てデータの書き込み/消去を行うことはできない。
ップマイコンでは、フラッシュメモリがプログラムRO
Mとの置き換えを前提として設けられている。したがっ
て、同一のフラッシュメモリをプログラム領域とデータ
領域とに使用するのは困難である。
して使用している場合、ROMが無いので、プログラム
をRAM上に転送して格納すれば、フラッシュメモリに
対して書き込み/消去は実行することができる。しかし
ながら、このようにプログラムを単にRAM上に転送す
ることによってフラッシュメモリの一部をデータ領域と
して使おうとした場合には、次のような問題が発生す
る。
に転送し、このRAM上のプログラムに基づいてフラッ
シュメモリのデータ領域に書き込み/消去を行っている
ときに、他のブロックから割り込み要求信号が発生する
と(例えば図18においてSCI106から割り込み要
求信号112が発生すると)、プログラムはフラッシュ
メモリ上の割り込みベクタに分岐しようとする。このと
きフラッシュメモリは書き込み/消去中であるため、割
り込みベクタの読み出しができず、システムは暴走する
ことになる。特に、通常、フラッシュメモリを含む不揮
発性メモリにおいて、書き込みおよび消去は時間を要
し、CPUの書き込みおよび読み出しのサイクルと比較
して長時間となるという点から、この問題は顕著とな
る。この点は、書き込み消去のサイクルがCPUのサイ
クルと同一でない限り、不揮発性メモリ(FeRAMも
含む)が何であっても同様である。したがって、従来の
フラッシュメモリ内蔵1チップマイコンでは、同一のフ
ラッシュメモリをプログラム領域とデータ領域との両方
に使うのは困難である。
揮発性メモリ内蔵1チップマイコンにおいて、フラッシ
ュメモリに対してデータの書き込み/消去を行っている
ときに割り込みが発生した場合、割り込みベクタの飛び
先を自動的にRAMや他のメモリに移して暴走をさける
構成が開示されている。
フラッシュメモリ内蔵マイコンに外部からデータを書き
込むときのシステム安定を図る手法である。即ち、この
発明においては、フラッシュメモリに格納されたプログ
ラムに基づいて、同一フラッシュメモリのデータ領域に
対してデータの書き込み/消去を行う構成については何
ら検討されていない。
化するためには、マイコンを通常のユーザーモードとは
異なるモードにする必要があり、この点においても上記
課題を解決するための構成としては不適当である。
初にプログラムをダウンロードする手法について開示さ
れている。この本発明は、フラッシュメモリ内蔵マイコ
ンにプログラムデータをダウンロードする手法であり、
前記従来の発明と同様、マイコンを通常のユーザーモー
ドとは異なるモードにする必要がある。即ち、この発明
の機能を通常モードで使用した場合、割り込みベクタが
ブートROM内に存在しているため、ユーザープログラ
ム(ユーザーが任意に追加したプログラム)内で割り込
み処理を自由に変更することができない。
なされたものであり、不揮発性メモリに新たに格納した
プログラムを実行することができる不揮発性メモリ内蔵
マイクロコンピュータの提供を目的としている。
メモリに新たに格納した上記プログラムに基づいて、同
一の不揮発性メモリをデータ領域としても使用すること
ができる、即ち、同一の不揮発性メモリをプログラム領
域とデータ領域との両方に使用することができる不揮発
性メモリ内蔵マイクロコンピュータの提供を目的として
いる。
めに、本発明の請求項1に記載の不揮発性メモリ内蔵マ
イクロコンピュータは、マイクロコンピュータのメモリ
空間に配置された少なくとも1つの書き換え可能な不揮
発性メモリと、マイクロコンピュータ立上げ用の初期プ
ログラム、およびこの初期プログラムを前記不揮発性メ
モリに転送するための転送プログラムを格納するブート
ROMと、前記不揮発性メモリに何もプログラムが格納
されていないときに、前記初期プログラムを前記転送プ
ログラムに基づいて前記不揮発性メモリに転送し、その
後、ブートROMをマイクロコンピュータのメモリ空間
から排除する制御手段とを備えていることを特徴として
いる。
メモリに何もプログラムが格納されていないときには、
ブートROMに格納されている転送プログラムに基づい
て、制御手段がブートROMに格納されている初期プロ
グラムを不揮発性メモリに転送し、このプログラムが不
揮発性メモリに格納される。その後、ブートROMがマ
イクロコンピュータのメモリ空間から排除される。
されていない不揮発性メモリに対し、ブートROMから
容易に初期プログラムを転送して格納することができ
る。
に追加的に格納した場合において、制御手段はブートR
OMを考慮する必要がなく、この追加プログラムを適切
に実行することができる。
性メモリ上に配置することが可能となるので、不揮発性
メモリ上において、OS等を含むプログラムを頻繁に書
き換えたり、追加した場合でも、これら新たなプログラ
ムの実行中に割り込み処理を行なうことができる。した
がって、プログラムの変更の柔軟性を高めることができ
る。
内蔵マイクロコンピュータは、請求項1に記載の構成に
おいて、さらにRAMを備え、前記不揮発性メモリが、
この不揮発性メモリに格納されたプログラムを前記RA
Mに転送するための転送プログラムを格納しており、前
記制御手段が、前記RAMに格納されたプログラムを実
行可能であり、前記転送プログラムに基づいて、前記不
揮発性メモリに格納されたプログラムをRAMに転送す
るとともに、このRAMに格納されたプログラムを実行
するときに、前記初期プログラムに含まれる割り込み処
理の先頭番地を不揮発性メモリ上からRAM上に移動さ
せるものであることを特徴としている。
グラムに基づいて不揮発性メモリに格納されているプロ
グラム、例えば外部装置から不揮発性メモリ上にダウン
ロードされた、例えば不揮発性メモリに対して書き込み
および消去を行なうためのプログラムがRAMに転送さ
れ、このプログラムを実行するときには、割り込み処理
の先頭番地が不揮発性メモリ上からRAM上に移動す
る。
転送されたプログラムに基づき、不揮発性メモリをデー
タ領域としてこのデータ領域に対する処理、例えば書き
込みおよび消去の処理が可能となる。
ら転送されたプログラムを実行中に割り込みが発生した
場合であっても、プログラムが暴走することなく、その
割り込み処理を適切に行なうことができる。
内蔵マイクロコンピュータは、RAMと、マイクロコン
ピュータのメモリ空間に配置され、割り込み処理の先頭
番地、および格納した第1プログラムを前記RAMに転
送するための転送プログラムを格納する少なくとも1つ
の書き換え可能な不揮発性メモリと、前記RAMに格納
されたプログラムを実行可能であり、前記転送プログラ
ムに基づいて、前記第1プログラムを不揮発性メモリか
らRAMに転送するとともに、このRAMに格納された
第1プログラムを実行するときに、前記割り込み処理の
先頭番地を不揮発性メモリ上からRAM上に移動させる
制御手段とを備えていることを特徴としている。
メモリに格納された第1プログラム、例えば外部装置か
ら不揮発性メモリ上にダウンロードされた、例えば不揮
発性メモリに対して書き込みおよび消去を行なうための
ユーザープログラムが転送プログラムに基づいてRAM
に転送され、RAM上において第1プログラムを実行す
るときには、割り込み処理の先頭番地が不揮発性メモリ
上からRAM上に移動する。
転送された第1プログラムに基づき、不揮発性メモリを
データ領域としてこのデータ領域に対する処理、例えば
書き込みおよび消去の処理が可能となる。
実行中に割り込みが発生した場合であっても、プログラ
ムが暴走することなく、その割り込み処理を適切に行な
うことができる。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、プログラム領域とデータ領域とが同一
の前記不揮発性メモリ上に設定され、前記プログラム領
域には同一の不揮発性メモリのデータ領域を使用するこ
とを指令する第2プログラムが格納され、前記制御手段
は、前記第2プログラムに基づいて、前記データ領域を
データ格納用として使用するものであることを特徴とし
ている。
グラムに基づいて、同一の不揮発性メモリをプログラム
領域とデータ領域との両方に容易に使用することができ
る。
例えば、不揮発性メモリの指定アドレスと指定データ数
とRAMの指定アドレス情報とにより、不揮発性メモリ
の指定アドレスから指定データ数分のデータを連続的に
読み出し、RAMに格納する。そして、このデータをR
AMから連続的に読み出し、不揮発性メモリのデータ領
域の指定アドレスに書き込むことができる。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、前記制御手段が、前記不揮発性メモリ
からRAMに転送されて格納されたプログラムに基づい
て、前記不揮発性メモリに対するデータの書き込みと消
去との少なくとも一方を行うことを特徴としている。
格納されたプログラムに基づいて、不揮発性メモリに対
するデータの書き込みと消去との少なくとも一方を行う
ことができる。また、この処理は、RAM上のプログラ
ムに基づいて行なわれるので、不揮発性メモリ上で別の
プログラムが実行中であっても、その処理に影響を与え
ることなく行なうことができる。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、前記制御手段が、前記RAMに格納さ
れたプログラムに基づいて、前記不揮発性メモリまたは
RAMの所定領域からデータを読み出し、このデータを
前記不揮発性メモリの所定領域に書き込むことを特徴と
している。
格納されたプログラムに基づいて、不揮発性メモリまた
はRAMの所定領域からデータを読み出し、このデータ
を不揮発性メモリの所定領域に書き込むことができる。
また、この処理は、RAM上のプログラムに基づいて行
なわれるので、不揮発性メモリ上で別のプログラムが実
行中であっても、その処理に影響を与えることなく行な
うことができる。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、前記不揮発性メモリには割り込み処理
のプログラムが格納され、前記制御手段が、前記RAM
に格納されたプログラムに基づいて前記不揮発性メモリ
に対するデータの書き込みと消去との少なくとも一方を
実行中に割り込みが発生したとき、前記割り込み処理の
先頭番地に基づいて制御を前記不揮発性メモリに格納さ
れた割り込み処理のプログラムに分岐可能であることを
特徴としている。
は、RAMに格納されたプログラムに基づいて不揮発性
メモリに対するデータの書き込みと消去との少なくとも
一方を実行中に割り込みが発生したとき、上記の処理を
中断するとともに、割り込み処理の先頭番地に基づいて
制御を不揮発性メモリに格納された割り込み処理のプロ
グラムに移し、このプログラムを実行する。これによ
り、割り込みが発生した場合に、その割り込み処理を適
切に行なうことができる。
一形態を図1ないし図5に基づいて以下に説明する。本
発明の実施の形態における不揮発性メモリ内蔵マイクロ
コンピュータとしての1チップマイクロコンピュータ
(以下、1チップマイコンと称する)は、図2に示す構
成を有している。この1チップマイコンは例えばICカ
ードとして構成されている。図2において、1チップマ
イコン1は、各種プログラムを実行するCPU2(制御
手段)と、RAM3と、不揮発性メモリ(半導体不揮発
性メモリ)としてのフラッシュメモリ4とブートROM
5とシリアルコミュニケーションインターフェイス(以
下、SCIと称する)6とを有している。
能な不揮発性メモリとしてフラッシュメモリ4を内蔵し
ているが、このフラッシュメモリ4に代えて他の書き換
え可能な不揮発性メモリ、例えばEEPROMやFeR
AMを内蔵していてもよい。なお、1チップマイコン1
をデータの書き換えを前提とした例えばICカードとし
て構成する場合、フラッシュメモリ(不揮発性メモリ)
4は、書き換え可能回数が10万回程度であることが好
ましい。
リマップは、例えば図3のようになっている。即ち、ア
ドレス0000H〜0FFFHに例えば4kバイトのブ
ートROM領域(ブートROM5)が設定され、アドレ
ス0000H〜7FFFHに例えば32kバイトのフラ
ッシュメモリ領域(フラッシュメモリ4)が配置され、
アドレスFF00H〜FFFFHに例えば256バイト
のRAM領域(RAM3)が配置されている。
あり、アドレス0000H〜000FHは割り込みベク
タに割り当てられている。また、フラッシュメモリ4は
例えば4kバイトごとに8個のブロック(ブロック0〜
ブロック7)に分割されている。これら各ブロック毎の
一括消去は物理的に可能である。
ROM5(ブートROM領域)が有効になっており、1
チップマイコン1のリセット直後はブートROM5に格
納されている初期プログラムが実行される。ブートRO
M5には、また、フラッシュメモリ4にプログラムを転
送して格納するための転送プログラムが格納されてい
る。割り込み処理の先頭番地はブートROM上にあり、
割り込み処理のプログラムはブートROMに格納されて
いる。
OM5からフラッシュメモリ4への、ブートROM5に
格納されているプログラムの転送が終了すると、プログ
ラム(制御)をフラッシュメモリ4に分岐させて、ブー
トROM5をメモリ空間から排除する。上記プログラム
の転送動作は、フラッシュメモリ4に何もプログラムが
格納されていないときに行なわれる。このときのメモリ
マップは、図4に示すものとなる。このとき、割り込み
処理の先頭番地はフラッシュメモリ4上に存在し、割込
処理の番地はフラッシュメモリ4に転送されたプログラ
ムの中で自由に設定可能である。
にプログラムを転送した後、このプログラムに基づいて
同一のフラッシュメモリ4に対してデータの書き込みや
消去を行うには、つまり、同一のフラッシュメモリ4を
プログラム領域とデータ領域との両方に使用するには、
割り込み処理の先頭番地(割り込みベクタ)、およびフ
ラッシュメモリ4のデータ領域に対する書き込み/消去
プログラム(第1プログラム)をフラッシュメモリ4か
らRAM3に転送し、ここに格納する。
れるプログラムには、上記のものに加え、さらに詳細に
は、割り込み処理プログラムに対する前処理プログラム
(例えば、フラッシュメモリ4に対する書き込み/消去
の中断処理プログラム)、フラッシュメモリ4上の割り
込み処理プログラムへの分岐処理プログラム、および割
り込み処理終了後に実行される、割り込み処理プログラ
ムに対する後処理プログラム(例えば、フラッシュメモ
リ4に対する書き込み/消去の再開処理プログラム)が
含まれる。
図5に示すものとなる。この場合、割り込み処理の先頭
番地はRAM3上にあり、フラッシュメモリ4への書き
込み/消去中に割り込みが発生しても、RAM3に格納
された割り込み処理の先頭番地に基づいて、割り込み処
理を開始することができるようになっている。なお、こ
のときにも、図5に示すように、ブートROM5はメモ
リ空間から排除されている。
が投入されてリセット動作を行った直後に、ブートRO
M5から不揮発性メモリとしてのフラッシュメモリ4へ
制御が移行する動作を図1のフローチャートに基づいて
説明する。
されると、所定のリセット動作を行う(S201)。こ
のリセット動作が完了すると、CPU2は、メモリ空間
においてブートROM5が有効となるようにセットする
(S202)。この結果、メモリマップは図3に示す構
成となる。次に、CPU2は、プログラムカウンタをブ
ートROM5のアドレスにセットする(S203)。
即ちCPU2は、ブートROM5に格納されているプロ
グラムの実行を開始する(S204)。
メモリ4に既にブートROM5からプログラムが転送さ
れて格納されているか否かを判定する(S205)。こ
の結果、フラッシュメモリ4にプログラムが既に格納さ
れていればS207に進む一方、まだ格納されていなけ
れば、ブートROM5に格納されている転送プログラム
に基づいて、ブートROM5に格納されているプログラ
ムをフラッシュメモリ4に転送し、ここに書き込む(S
206)。
て、ブートROM5を排除する一方、フラッシュメモリ
4を有効にセットする(S207)。この結果、メモリ
マップは、図4に示す構成となる。
フラッシュメモリ4のアドレスにセットする(S20
8)。この処理以後、CPU2は、フラッシュメモリ4
に格納されたプログラムの実行を開始する(S20
9)。
いるデータの更新を可能とするため、フラッシュメモリ
4に格納された転送プログラムに基づいて、フラッシュ
メモリ4の更新系のプログラム(書き込み/消去プログ
ラム)および割り込みベクタをRAM3に転送し、格納
する(S210)。このときのメモリマップは、図5に
示すものとなる。
立して存在している場合について示したが、ブートRO
M5を有していない構成として、ブートROM5に格納
すべきプログラムが、予めフラッシュメモリ4に格納さ
れている構成であってもよい。この場合には、上記S2
02〜S208の動作は不要である。
意に選択した例えばアプリケーションプログラムや、バ
ージョンアップされたOS等のプログラム(ユーザープ
ログラム)を格納する場合には、先述の図18によって
説明したように、1チップマイコン1を変換ボード10
2を介してパソコン103と接続して行なう。この場
合、ブートROM5またはこれに変わる不揮発性メモリ
(フラッシュメモリ4)が有効となり、これに格納され
た制御プログラムを用いて、パソコン103から供給さ
れるユーザープログラムが不揮発性メモリ(フラッシュ
メモリ4)に書き込まれる。
ばアプリケーションプログラムをフラッシュメモリ4内
に取り込み、そのアプリケーションプログラムを実行す
ること、即ちそのアプリケーションプログラムに基づい
て、同一のフラッシュメモリ4のデータ領域を書き換え
ることが可能となる。
モリ(不揮発性メモリ)4にプログラム領域とデータ領
域とを設定可能であることから、これら各領域を別チッ
プとして設ける必要がない。したがって、1チップマイ
コン1、即ちこの1チップマイコン1からなる例えばI
Cカードを小型化することができる。
を図6ないし図15に基づいて以下に説明する。本実施
の形態における1チップマイコンは、図6に示す構成を
有している。即ち、1チップマイコン11は、各種プロ
グラムを実行するCPU2を備えるとともに、メモリと
してRAM3と1個の書き換え可能な不揮発性メモリ1
4(半導体不揮発性メモリ)とブートROM5とを備
え、さらに前記SCI6を備えている。
は、前記図1にて説明した動作を経た後、図7に示すも
のとなる。RAM3および不揮発性メモリ14は、CP
U2のアドレス空間に割り当てられており、CPU2か
ら各メモリに対して、読み出しアクセスおよび書き込み
アクセスが可能となっている。不揮発性メモリ14のプ
ログラム領域には、前記ブートROM5に格納されてい
たプログラムが格納される。このプログラムはCPU2
が実行可能である。
に基づいてCPU2が出力するコマンドによって動作を
制御可能なものが使用されている。上記コマンドは、不
揮発性メモリ14を読み出しモードに設定するコマン
ド、不揮発性メモリ14を書き込みモードに設定するコ
マンド、不揮発性メモリ14を消去モードに設定するコ
マンド、不揮発性メモリ14の書き込み/消去を中断す
るコマンド、不揮発性メモリ14の書き込み/消去を再
開するコマンド、不揮発性メモリ14の書き込み/消去
の終了を監視するコマンドである。
ブロックA〜Fにより構成されている。不揮発性メモリ
14に書き込まれているデータの消去は、上記の各ブロ
ック単位にて行われる。
1のシステムプログラムであるオペレーティングシステ
ムやモニタシステムが格納されている。
ンプログラムが格納されている。このアプリケーション
プログラムからブロックAのシステムプログラムのコマ
ンドを呼び出すことができる。
域1〜3)として使用される。ブロックFはバックアッ
プ領域として使用される。このバックアップ領域には、
上記データ領域の一部を書き換える場合などに、保存が
必要なデータが一時的に格納される。
る割り込みベクタ領域と、不揮発性メモリ14に対する
データの書き込み動作や消去動作を行うためのプログラ
ム、即ち書き込み/消去プログラムを格納するための不
揮発性メモリ書き込み/消去プログラム領域と、システ
ムプログラムを実行する際の作業領域となるシステムプ
ログラム作業領域と、ユーザー領域とから構成されてい
る。
4に対する書き込み/消去プログラムは、最初、不揮発
性メモリ14のシステムプログラム領域に格納されてお
り、図1において説明したように、システムプログラム
に基づいて、あらかじめRAM3へ転送される。
セスおよび書み込みアクセスは図8によって示される。
不揮発性メモリ14へのアクセスは、システムプログラ
ムのコマンドに基づいてCPU2により行われる。
グラムからのコマンドの発行(P1)により開始され
る。上記コマンドは、コマンドインターフェースによっ
て解析され(P2)、不揮発性メモリ14からデータを
読み出すコマンドを参照系コマンドとし、不揮発性メモ
リ14に対しデ一タを書き込みあるいは消去するコマン
ド(第2プログラム)を更新系コマンドとして処理す
る。これら各コマンドは、不揮発性メモリ14に格納さ
れており、不揮発性メモリ14上から実行される。
不揮発性メモリ14に対する読み出しルーチン(P3)
に制御が移り、不揮発性メモリ14のデータ領域を読み
出す(P4)。
不揮発性メモリ14上において、データの書き込み/消
去に必要なパラメータ設定の処理を行った後、RAM3
にあらかじめ格納されている、不揮発性メモリ14の書
き込み/消去ルーチン(P5)に制御が移る。
場合、本実施の形態の1チップマイコン11では、単一
の不揮発性メモリ14を使用しているため、このままで
は、不揮発性メモリ14に格納されているプログラムを
実行しながら、同一の不揮発性メモリ14に対するデー
タの書き込みや消去を行うことができない。そこで、こ
れらの処理を行うときには、上記のようにあらかじめR
AM3に転送して格納されている、不揮発性メモリ14
に対する書き込み/消去ルーチン(P5)へ制御が移
り、不揮発性メモリ14のデータ領域に対する書き込み
/消去動作(P4)が行われる。
リ14からデータを読み出すときに比べ、書き込みにお
いて例えば数百倍の時間が必要であり、またブロック単
位の消去において秒単位の時間が必要な場合がある。一
例をあげると、1バイトの読み出しは数十nsecであ
るのに対し、1バイトの書き込みは数μsec〜数十μ
sec、64kバイトの1ブロック消去では数百mse
c必要である。ここで、例えば1ブロック消去に600
msecかかるとすると、ブロックを3個消去した場合
には約1.8secを要する。
要するため、不揮発性メモリ14に対するRAM3上で
の書き込み/消去ルーチンの実行中には、割り込みの発
生を監視するようにしている。
去ルーチンを中断して、不揮発性メモリ14上の割込み
処理ルーチンを実行する(P6)。割り込み処理が終了
すると、再びRAM3上の不揮発性メモリ14に対する
書き込み/消去ルーチンへ制御が戻り、この書き込み/
消去動作を再開する。
発性メモリ14からデータを連続的に読み出す動作を図
9のフローチャートに基づいて説明する。
データの読み出しを指令する連続読み出しコマンドが発
行されると(S1)、CPU2は、このコマンドがシス
テムプログラムから呼び出したものであるか否かを判定
する(S2)。
したものでなければ、S12に分岐して処理を中止す
る。一方、上記コマンドがシステムプログラムから呼び
出したものであった場合、データ読み出し元の不揮発性
メモリ14のアドレスを変数SRCに設定する(S
3)。
データのRAM格納アドレスを変数DSTに設定すると
ともに(S4)、不揮発性メモリ14からのデータ読み
出し数を変数CNTに設定する(S5)。
を判定し(S6)、0であればS13に分岐して処理を
中止する。一方、データ読み出し数CNTが0でなけれ
ば、CPU2は、不揮発性メモリ14に対して読み出し
モードに設定するコマンドを発行することにより、不揮
発性メモリ14を読み出しモードに設定する(S7)。
Cからデータを読み出し、RAM3のアドレスDSTに
格納する(S8)。その後、アドレスSRCとアドレス
DSTを次のデータを読み出すためのアドレスに更新し
(S9)、読み出し数CNTを1減ずる(S10)。
読み出し数、即ち変数CNTが0か否かを判定すること
により、最後までデータを呼び出したかどうかを判断す
る。この結果、データを最後まで読み出していなけれ
ば、S8〜S11の動作を繰り返し、データを最後まで
読み出すと処理を終了する(S13)。
発性メモリ14またはRAM3の指定された領域から連
続的にデータを読み出し、不揮発性メモリ14の指定さ
れた領域ヘデータを書き込む動作を図10のフローチャ
ートに基づいて説明する。
続的な書き込みを指令するコマンドが発行されると(S
21)、CPU2は、このコマンドがシステムプログラ
ムから呼び出したものであるか否かを判定する(S2
2)。
したものでなければ、S33に分岐して処理を中止す
る。一方、上記コマンドがシステムプログラムから呼び
出したものであれば、データ読み出し元である不揮発性
メモリ14またはRAM3のアドレスを変数SRCに設
定する(S23)。
ータの格納アドレスを変数DSTに設定するとともに
(S24)、不揮発性メモリ14へのデータの書き込み
数を変数CNTに設定する(S25)。
を判定し(S26)、0であればS34に分岐して処理
を終了する。一方、データ書き込み数CNTが0でなけ
れば、不揮発性メモリ14の更新中を示すフラグを1に
設定する(S27)。また、割り込みを禁止とする(S
28)。
のS29の動作により制御がRAM3上のルーチンに移
ったときに、割り込みの発生によって不用意に不揮発性
メモリ14上の割り込み処理ルーチンを実行させないた
めである。ここまでの処理は、不揮発性メモリ14上の
プログラム(不揮発性メモリ14に格納されているプロ
グラム)によって実行される。
プログラムを不揮発性メモリ14上で実行しながら、デ
ータを同一の不揮発性メモリ14ヘ書き込むことはでき
ない。したがって、この後、あらかじめシステムプログ
ラムに基づいて不揮発性メモリ14からRAM3に転送
されてここに格納されたプログラム、即ちRAM内ルー
チンに制御を移す(S29)。
止していた割り込みを再び許可し、再び不揮発性メモリ
14上のプログラムに制御を移す(S30)。
を0にリセットし(S31)、不揮発性メモリ14に対
する書き込み動作を終了する(S32)。
M内ルーチンの動作を図11フローチャートに基づいて
説明する。ここでの動作は、不揮発性メモリ14に対す
るデータの書き込みまたは消去を行うものである。
AM3上のプログラムに制御が移ると、先ず、CPU2
は、プログラムから呼び出したコマンドが書き込みコマ
ンドまたは消去コマンドの何れであるかを判定する(S
41)。上記書き込みコマンドは、不揮発性メモリ14
のデータ領域へのデータの書き込みを指令するものであ
り、上記消去コマンドは、不揮発性メモリ14のデータ
領域に書き込まれているデータの消去を指令するもので
ある。
ば、CPU2は、不揮発性メモリ14を読み出しモード
に設定するコマンドを発行することにより、不揮発性メ
モリ14を読み出しモードとする(S42)。そして、
CPU2は、変数SRCに設定されているアドレスから
データを読み出す(S43)。
書き込みモードに設定するコマンドを発行することによ
り、不揮発性メモリ14を書き込みモードとする(S4
4)。そして、CPU2は、変数DSTに設定されてい
る不揮発性メモリ14のアドレスヘ、S43において読
み出したデータを書き込む(S45)。これにより、不
揮発性メモリ14ヘの書き込みが開始される。
RCアドレスとDSTアドレスを更新するとともに(S
46)、書き込み数CNTを1減じる(S47)。
込みは時間がかかるため、割り込みを許可し(S4
8)、CPU2は、不揮発性メモリ14への書き込み動
作の終了を監視するコマンドを発行することにより、こ
の動作の終了を待つ(S49)。上記書き込み動作が終
了するまでの間に優先度の高い割り込みが発生すると、
後述する図12の割り込み処理ルーチンヘ制御が移る。
ヘの書き込み動作の終了を検出すると、割り込みを禁止
する(S50)。
14ヘの書き込み動作でエラーが発生したか否かを判定
する(S51)。エラー有りと判定した場合、S54へ
進み、CPU2は、不揮発性メモリ14に対して読み出
しモードに設定するコマンドを発行することにより、不
揮発性メモリ14を読み出しモードとし、RAM内ルー
チンの処理を終了する(S55)。
が発生せずに不揮発性メモリ14ヘの書き込み動作が正
常に終了した場合、不揮発性メモリ14に対する処理を
指令したコマンドが書き込みコマンドであれば(S5
2)、S53に進み、消去コマンドであれば、S54に
進む。
タの書き込み残の数を示す変数CNTが0か否かを判定
することにより、最後までデータを書き込んだか否かを
判定する(S53)。このとき、最後までデータを書き
込んでいなければ、S42〜S52の動作を繰り返す。
一方、最後までデータを書き込んでいれば、S54へ進
み、不揮発性メモリ14を読み出しモードに設定し、R
AM内ルーチンの動作を終了する(S55)。
のS49の動作において不揮発性メモリ14ヘの書き込
み動作の終了を監視しているときに、割り込みが発生し
た場合の動作を図12フローチャートに基づいて説明す
る。
生すると、図7に示したRAM3内の割り込みベクタか
ら、対応する割り込み処理ルーチンのアドレスをCPU
2が読み出す。これにより、制御は不揮発性メモリ14
内に格納された割り込み処理ルーチンヘ移る。
からRAM3へは、割り込み処理の先頭番地(割り込み
ベクタ)、不揮発性メモリ14のデータ領域に対する書
き込み/消去プログラムに加えて、さらに、割り込み処
理プログラムに対する前処理プログラム(例えば、不揮
発性メモリ14に対する書き込み/消去の中断処理プロ
グラム)、不揮発性メモリ14上の割り込み処理プログ
ラムへの分岐処理プログラム、および割り込み処理終了
後に実行される、割り込み処理プログラムに対する後処
理プログラム(例えば、不揮発性メモリ14に対する書
き込み/消去の再開処理プログラム)が予め転送されて
いる。
発生したとき、不揮発性メモリ14の更新中、即ち不揮
発性メモリ14に対する書き込み/消去中であるか否か
を判定する(S61)。不揮発性メモリ14の更新中で
あれば、CPU2は、不揮発性メモリ14に対して更新
動作を中断するコマンドを発行することにより、その処
理を中断する。即ち、CPU2は、割り込みベクタの内
容から、RAM3上に存在する割り込み処理に対する前
処理ルーチン(割り込み処理対する前処理の先頭アドレ
ス)へ制御を分岐して、不揮発性メモリ14に対する書
き込み/消去の中断処理を行なう。一方、不揮発性メモ
リ14が更新中でない場合は、S62の処理をスキップ
してS63へ進む。
4に対して、読み出しモードに設定するコマンドを発行
することにより、不揮発性メモリ14を読み出しモード
とする。
に格納されている割り込み処理ルーチンを実行できるよ
うになるため、不揮発性メモリ14上のプログラムヘ制
御を移し、即ち不揮発性メモリ14上に存在する割り込
み処理のアドレスへ制御を分岐し、割り込み処理を実行
する(S64)。
割り込み処理が終了すると、再びRAM3に格納された
プログラムヘ復帰し、CPU2は、不揮発性メモリ14
の更新処理の中断中であるか否かを判定する(S6
5)。
の中断中でなければS67へ進み、割り込み処理ルーチ
ンを終了する。また、不揮発性メモリ14に対する更新
処理の中断中であれば、CPU2は、不揮発性メモリ1
4に対して、書き込み/消去を再開するコマンドを発行
することにより、不揮発性メモリ14の更新処理を再開
する(S66)。即ち、CPU2は、RAM3上の、割
り込み処理に対する後処理ルーチン(割り込み処理に対
する後処理の先頭アドレス)へ制御を分岐し、上記更新
処理を再開する。次に、この更新処理が終了すれば、割
り込み処理ルーチンを終了する(S67)。その後、図
11におけるS49のループに復帰する。
更新中に発生した割り込み要因に対して、正確に割り込
み処理を実行することが可能になる。
たブロックの消去動作を図13フローチャートに基づい
て説明する。
マンドが発行されると(S71)、CPU2は、このコ
マンドがシステムプログラムから呼び出したものである
か否かを判定する(S72)。
したものでなければ、S80に分岐して処理を中止す
る。一方、上記コマンドがシステムプログラムから呼び
出したものであれば、不揮発性メモリ14における消去
するブロックのアドレスを変数DSTに設定する(S7
3)。次に、CPU2は、不揮発性メモリ14の更新中
フラグを1にセットし(S74)、その後、割り込みを
禁止する(S75)。
のS76の動作により制御がRAM3上のルーチンに移
ったときに、割り込みの発生によって不用意に不揮発性
メモリ14上の割り込み処理ルーチンを実行させないた
めである。ここまでの処理は、不揮発性メモリ14上の
プログラムによって実行される。
ムを実行しながら、不揮発性メモリ14の任意のブロッ
クを消去することはできない。したがって、この後、あ
らかじめシステムプログラムに基づいてRAM3に転送
されてここに格納されたプログラム、即ちRAM内ルー
チンに制御を移す(S76)。
止していた割り込みを再び許可し、再び不揮発性メモリ
14上のプログラム、即ち不揮発性メモリ14における
ブロック消去動作に制御を移す(S77)。
を0にリセットし(S78)、不揮発性メモリ14にお
けるブロック消去動作を終了する(S79)。
作は、前記図11のフローチャートに示したものであ
る。このフローチャートのS41において、今回は消去
コマンドであるので、S56に進み、CPU2が不揮発
性メモリ14を消去するコマンドを発行することによ
り、変数DSTに設定された不揮発性メモリ14のアド
レスを含む1ブロックの消去が開始される。
消去動作は時間がかかるため、割り込みを許可し(S4
8)、CPU2は、割り込みの発生を監視しながら、上
記消去動作の完了を待つ(S49)。なお、割り込みが
発生したときの動作は、前記図12のフローチャートに
基づいて説明した通りである。
における1ブロックの消去動作の終了を検出すると、割
り込みを禁止する(S50)。
14における1ブロックの消去動作でエラーが発生した
か否かを判定する(S51)。エラー有りと判定した場
合、S54へ進み、CPU2は、不揮発性メモリ14に
対して読み出しモードに設定するコマンドを発行するこ
とにより、不揮発性メモリ14を読み出しモードとし、
RAM内ルーチンの処理を終了する(S55)。
が発生せずに不揮発性メモリ14における1ブロックの
消去動作が正常に終了した場合、不揮発性メモリ14に
対する処理を指令したコマンドが消去コマンドであれば
(S52)、S54へ進み、ここでの上記した動作を経
て、RAM内ルーチンの処理を終了する(S55)。
の上書き動作(更新動作)の詳細を図14のフローチャ
ートおよび図15に基づいて説明する。不揮発性メモリ
14にデータを上書きするためには、不揮発性メモリ1
4における上書き領域のデータを消去する必要がある。
本実施の形態の1チップマイコン11が備える不揮発性
メモリ14は、1ブロック毎の消去を行うものである。
したがって、ブロック内の任意の領域だけを消去するに
は、特別な手順が必要となる。
意の領域を消去するための手順を説明している。不揮発
性メモリ14に対する上書き動作は、最初に上書き対象
領域を消去した後、その領域に対して連続書き込みを行
うものとなる。図14におけるS93からS101の処
理は、図15(a)に示すシーケンス1から図15
(d)に示すシーケンス4の処理手順に相当する。処理
を各シーケンスに分割しているのは、それぞれのシーケ
ンスに時間がかかるため、シーケンス毎にシステムプロ
グラムの処理を実行できるようにするためである。な
お、例えば図15(a)に示すブロックC〜Eは、図7
におけるデータ領域1〜3としてのブロックC〜Eに対
応する。
づいて、不揮発性メモリ14ヘのデータ上書きコマンド
が発行されると(S91)、CPU2は、先ず、上書き
対象領域の消去を行う。
トし(S92)、消去対象ブロック(ブロックC〜E)
のうちの消去対象領域(ブロックD)を除くバックアッ
プ対象領域1,2(ブロックC,E)のそれぞれのスタ
ートアドレスとサイズを算出する(S93)。
たはユーザープログラムの処理を実行する(S94)。
シーケンスがすべて完了したかどうかを判定する(S9
5)。このとき、シーケンス番号が0でなければ、まだ
シーケンス処理中であるので、シーケンス番号に応じて
S96〜S99へ進む。
図15(a)に示すように、S92において算出したバ
ックアップ対象領域1,2のスタートアドレスとサイズ
に基づき、不揮発性メモリ14への連続書き込み動作に
より、バックアップ用のブロック(バックアップブロッ
ク)ヘの書き込みが行われる。バックアップ用のブロッ
クとしては、たとえば図7に示した不揮発性メモリ14
におけるバックアップ領域(Fブロック)を使用する。
なお、このバックアップ領域内のデータはあらかじめ消
去しておく。
シーケンスに移るために、S100においてシーケンス
番号をプラス1にして、S94からの動作を繰り返す。
おいて、図15(b)に示すように、消去対象領域を含
む消去対象ブロック内のデータを消去する。
おいて、図15(c)に示すように、S96の動作でバ
ックアップしたバックアップ領域1,2を元の消去対象
ブロック内に書き戻す。
おいて、図15(d)に示すように、バックアップブロ
ック内のデータを全て消去する。
14の任意領域の消去動作が完了する。
にクリアし、S94、S95を経てS102へ進む。こ
のS102では、不揮発性メモリ14の図15(c)に
示した消去済み領域(ブロックD)にデータを書き込
む。これにより、不揮発性メモリ14のデータ上書き動
作が完了する(S103)。
では、1個の不揮発性メモリを、プログラムを格納する
プログラム領域、またはデータの格納、書き換えが行な
われるデータ領域の何れか一方のみに使用するのではな
く、同時にこれら両領域として使用することができる。
特に、大容量の不揮発性メモリを搭載した場合には、上
記両領域としての使用が有効となる。
として使用できることにより、この1チップマイコン
1,11を備えた例えばICカードは、複数のチップを
備える必要がなく、小型化が可能である。
11を備えたICカードにおいて、大容量の不揮発性メ
モリを搭載した場合に、プログラムの容量やデータ領域
をダイナミックに変化させて使用することができる。こ
れにより、非常に柔軟性に富んだセキュリティの高いI
Cカードとすることができるとともに、ICカードにお
いて、ダイナミックに書き換え可能なマルチアプリケー
ションシステムを実現することができる。
リケーションを実行可能な大容量メモリ搭載版が従来考
えられているが、プログラムは依然としてROM上にあ
り、使用が制限されるものしかできていないのが現状で
ある。これに対し、本1チップマイコン1,11を使用
すれば、ICカード発行後にでも真の意味でダイナミッ
クにアプリケーションの追加および消去が可能であるば
かりか、OSのバージョンアップさえ容易にできるシス
テムを実現することができる。
ピュータは、少なくとも1つの書き換え可能な不揮発性
メモリと、マイクロコンピュータ立上げ用の初期プログ
ラム、およびこの初期プログラムを前記不揮発性メモリ
に転送するための転送プログラムを格納するブートRO
Mと、前記不揮発性メモリに何もプログラムが格納され
ていないときに、前記初期プログラムを前記転送プログ
ラムに基づいて前記不揮発性メモリに転送する制御手段
とを備えている構成としてもよい。
されていない不揮発性メモリに対し、ブートROMから
容易にデータを転送して格納することができる。
の不揮発性メモリ内蔵マイクロコンピュータは、マイク
ロコンピュータのメモリ空間に配置された少なくとも1
つの書き換え可能な不揮発性メモリと、マイクロコンピ
ュータ立上げ用の初期プログラム、およびこの初期プロ
グラムを前記不揮発性メモリに転送するための転送プロ
グラムを格納するブートROMと、前記不揮発性メモリ
に何もプログラムが格納されていないときに、前記初期
プログラムを前記転送プログラムに基づいて前記不揮発
性メモリに転送し、その後、ブートROMをマイクロコ
ンピュータのメモリ空間から排除する制御手段とを備え
ている構成である。
されていない不揮発性メモリに対し、ブートROMから
容易に初期プログラムを転送して格納することができ
る。
に追加的に格納した場合において、制御手段はブートR
OMを考慮する必要がなく、この追加プログラムを適切
に実行することができる。
性メモリ上に配置することが可能となるので、不揮発性
メモリ上において、OS等を含むプログラムを頻繁に書
き換えたり、追加した場合でも、これら新たなプログラ
ムの実行中に割り込み処理を行なうことができる。した
がって、プログラムの変更の柔軟性を高めることができ
るという効果を奏する。
内蔵マイクロコンピュータは、請求項1に記載の構成に
おいて、さらにRAMを備え、前記不揮発性メモリが、
この不揮発性メモリに格納されたプログラムを前記RA
Mに転送するための転送プログラムを格納しており、前
記制御手段が、前記RAMに格納されたプログラムを実
行可能であり、前記転送プログラムに基づいて、前記不
揮発性メモリに格納されたプログラムをRAMに転送す
るとともに、このRAMに格納されたプログラムを実行
するときに、前記初期プログラムに含まれる割り込み処
理の先頭番地を不揮発性メモリ上からRAM上に移動さ
せる構成である。
効果に加え、不揮発性メモリからRAMに転送されたプ
ログラムに基づき、不揮発性メモリをデータ領域として
このデータ領域に対する処理、例えば書き込みおよび消
去の処理が可能となる。
ら転送されたプログラムを実行中に割り込みが発生した
場合であっても、プログラムが暴走することなく、その
割り込み処理を適切に行なうことができるという効果を
奏する。
内蔵マイクロコンピュータは、RAMと、マイクロコン
ピュータのメモリ空間に配置され、割り込み処理の先頭
番地、および格納した第1プログラムを前記RAMに転
送するための転送プログラムを格納する少なくとも1つ
の書き換え可能な不揮発性メモリと、前記RAMに格納
されたプログラムを実行可能であり、前記転送プログラ
ムに基づいて、前記第1プログラムを不揮発性メモリか
らRAMに転送するとともに、このRAMに格納された
第1プログラムを実行するときに、前記割り込み処理の
先頭番地を不揮発性メモリ上からRAM上に移動させる
制御手段とを備えている構成である。
転送された第1プログラムに基づき、不揮発性メモリを
データ領域としてこのデータ領域に対する処理、例えば
書き込みおよび消去の処理が可能となる。
実行中に割り込みが発生した場合であっても、プログラ
ムが暴走することなく、その割り込み処理を適切に行な
うことができるという効果を奏する。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、プログラム領域とデータ領域とが同一
の前記不揮発性メモリ上に設定され、前記プログラム領
域には同一の不揮発性メモリのデータ領域を使用するこ
とを指令する第2プログラムが格納され、前記制御手段
は、前記第2プログラムに基づいて、前記データ領域を
データ格納用として使用する構成である。
成による効果に加え、第2プログラムに基づいて、同一
の不揮発性メモリをプログラム領域とデータ領域との両
方に容易に使用することができるという効果を奏する。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、前記制御手段が、前記不揮発性メモリ
からRAMに転送されて格納されたプログラムに基づい
て、前記不揮発性メモリに対するデータの書き込みと消
去との少なくとも一方を行う構成である。
成による効果に加え、RAMに格納されたプログラムに
基づいて、不揮発性メモリに対するデータの書き込みと
消去との少なくとも一方を行うことができる。また、こ
の処理は、RAM上のプログラムに基づいて行なわれる
ので、不揮発性メモリ上で別のプログラムを実行中であ
っても、その処理に影響を与えることなく行なうことが
できるという効果を奏する。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、前記制御手段が、前記RAMに格納さ
れたプログラムに基づいて、前記不揮発性メモリまたは
RAMの所定領域からデータを読み出し、このデータを
前記不揮発性メモリの所定領域に書き込む構成である。
成による効果に加え、RAMに格納されたプログラムに
基づいて、不揮発性メモリまたはRAMの所定領域から
データを読み出し、このデータを不揮発性メモリの所定
領域に書き込むことができる。また、この処理は、RA
M上のプログラムに基づいて行なわれるので、不揮発性
メモリ上で別のプログラムを実行中であっても、その処
理に影響を与えることなく行なうことができるという効
果を奏する。
内蔵マイクロコンピュータは、請求項2または3に記載
の構成において、前記不揮発性メモリには割り込み処理
のプログラムが格納され、前記制御手段が、前記RAM
に格納されたプログラムに基づいて前記不揮発性メモリ
に対するデータの書き込みと消去との少なくとも一方を
実行中に割り込みが発生したとき、前記割り込み処理の
先頭番地に基づいて制御を前記不揮発性メモリに格納さ
れた割り込み処理のプログラムに分岐可能である構成で
ある。
成による効果に加え、割り込みが発生した場合に、その
割り込み処理を適切に行なうことができるという効果を
奏する。
ロコンピュータのリセット動作直後の動作を示すフロー
チャートである。
ピュータの構成を示すブロック図である。
メモリ構成を示す説明図である。
Mが排除されたときのメモリ構成を示す説明図である。
御が移ったときのメモリ構成を示す説明図である。
クロコンピュータの構成を示すブロック図である。
メモリ構成を示す説明図である。
リに対する読み出しおよび書き込み動作を行うための構
成を示すブロック図である。
続的な読み出し動作を示すフローチャートである。
指定領域からデータを読み出し、このデータを不揮発性
メモリの指定領域ヘ書き込む動作を示すフローチャート
である。
すフローチャートである。
込み/消去動作中に発生した割り込みの処理ルーチンを
示すフローチャートである。
の消去動作を示すフローチャートである。
の上書き動作の詳細を示すフローチャートである。
14に示したシーケンス1の処理を示す説明図、図15
(b)は同シーケンス2の処理を示す説明図、図15
(c)は同シーケンス3の処理を示す説明図、図15
(d)は同シーケンス4の処理を示す説明図である。
ロコンピュータのメモリ構造を示す説明図である。
ュータのメモリ構造を示す説明図である。
ュータヘのデータ書き込み方法を示すブロック図であ
る。
Claims (7)
- 【請求項1】マイクロコンピュータのメモリ空間に配置
された少なくとも1つの書き換え可能な不揮発性メモリ
と、 マイクロコンピュータ立上げ用の初期プログラム、およ
びこの初期プログラムを前記不揮発性メモリに転送する
ための転送プログラムを格納するブートROMと、 前記不揮発性メモリに何もプログラムが格納されていな
いときに、前記初期プログラムを前記転送プログラムに
基づいて前記不揮発性メモリに転送し、その後、ブート
ROMをマイクロコンピュータのメモリ空間から排除す
る制御手段とを備えていることを特徴とする不揮発性メ
モリ内蔵マイクロコンピュータ。 - 【請求項2】さらにRAMを備え、 前記不揮発性メモリは、この不揮発性メモリに格納され
たプログラムを前記RAMに転送するための転送プログ
ラムを格納しており、 前記制御手段は、前記RAMに格納されたプログラムを
実行可能であり、前記転送プログラムに基づいて、前記
不揮発性メモリに格納されたプログラムをRAMに転送
するとともに、このRAMに格納されたプログラムを実
行するときに、前記初期プログラムに含まれる割り込み
処理の先頭番地を不揮発性メモリ上からRAM上に移動
させるものであることを特徴とする請求項1に記載の不
揮発性メモリ内蔵マイクロコンピュータ。 - 【請求項3】RAMと、 マイクロコンピュータのメモリ空間に配置され、割り込
み処理の先頭番地、および格納した第1プログラムを前
記RAMに転送するための転送プログラムを格納する少
なくとも1つの書き換え可能な不揮発性メモリと、 前記RAMに格納されたプログラムを実行可能であり、
前記転送プログラムに基づいて、前記第1プログラムを
不揮発性メモリからRAMに転送するとともに、このR
AMに格納された第1プログラムを実行するときに、前
記割り込み処理の先頭番地を不揮発性メモリ上からRA
M上に移動させる制御手段とを備えていることを特徴と
する不揮発性メモリ内蔵マイクロコンピュータ。 - 【請求項4】プログラム領域とデータ領域とが同一の前
記不揮発性メモリ上に設定され、前記プログラム領域に
は同一の不揮発性メモリのデータ領域を使用することを
指令する第2プログラムが格納され、前記制御手段は、
前記第2プログラムに基づいて、前記データ領域をデー
タ格納用として使用するものであることを特徴とする請
求項2または3に記載の不揮発性メモリ内蔵マイクロコ
ンピュータ。 - 【請求項5】前記制御手段は、前記不揮発性メモリから
RAMに転送されて格納されたプログラムに基づいて、
前記不揮発性メモリに対するデータの書き込みと消去と
の少なくとも一方を行うことを特徴とする請求項2また
は3に記載の不揮発性メモリ内蔵マイクロコンピュー
タ。 - 【請求項6】前記制御手段は、前記RAMに格納された
プログラムに基づいて、前記不揮発性メモリまたはRA
Mの所定領域からデータを読み出し、このデータを前記
不揮発性メモリの所定領域に書き込むことを特徴とする
請求項2または3に記載の不揮発性メモリ内蔵マイクロ
コンピュータ。 - 【請求項7】前記不揮発性メモリには割り込み処理のプ
ログラムが格納され、 前記制御手段は、前記RAMに格納されたプログラムに
基づいて前記不揮発性メモリに対するデータの書き込み
と消去との少なくとも一方を実行中に割り込みが発生し
たとき、前記割り込み処理の先頭番地に基づいて制御を
前記不揮発性メモリに格納された割り込み処理のプログ
ラムに分岐可能であることを特徴とする請求項2または
3に記載の不揮発性メモリ内蔵マイクロコンピュータ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09686499A JP3727485B2 (ja) | 1999-04-02 | 1999-04-02 | 不揮発性メモリ内蔵マイクロコンピュータ |
TW089105695A TW460836B (en) | 1999-04-02 | 2000-03-28 | Microcomputer having built-in nonvolatile memory |
EP00302643A EP1041486A3 (en) | 1999-04-02 | 2000-03-30 | Microcomputer having built-in nonvolatile memory |
US09/541,086 US6598137B1 (en) | 1999-04-02 | 2000-03-31 | Microcomputer having built-in nonvolatile memory for simultaneous use as a program area and a data area |
KR1020000017159A KR100413227B1 (ko) | 1999-04-02 | 2000-04-01 | 비휘발성 메모리가 내장된 마이크로컴퓨터 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09686499A JP3727485B2 (ja) | 1999-04-02 | 1999-04-02 | 不揮発性メモリ内蔵マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000293367A true JP2000293367A (ja) | 2000-10-20 |
JP3727485B2 JP3727485B2 (ja) | 2005-12-14 |
Family
ID=14176323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09686499A Expired - Lifetime JP3727485B2 (ja) | 1999-04-02 | 1999-04-02 | 不揮発性メモリ内蔵マイクロコンピュータ |
Country Status (5)
Country | Link |
---|---|
US (1) | US6598137B1 (ja) |
EP (1) | EP1041486A3 (ja) |
JP (1) | JP3727485B2 (ja) |
KR (1) | KR100413227B1 (ja) |
TW (1) | TW460836B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008533574A (ja) * | 2005-03-08 | 2008-08-21 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | セクタ単位での消去の可能な半導体メモリ手段の第1のセクタへの再書き込み方法および装置 |
JP2012234568A (ja) * | 2005-10-13 | 2012-11-29 | Sandisk Technologies Inc | 組込みコントローラを介するフラッシュストレージの初期化 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4034032B2 (ja) * | 2000-08-07 | 2008-01-16 | Necエレクトロニクス株式会社 | キャッシュ内蔵マイクロコンピュータ |
JP4230122B2 (ja) * | 2001-03-30 | 2009-02-25 | 株式会社ルネサステクノロジ | マイクロコンピュータ、書込み方法及び消去方法 |
US7072879B2 (en) * | 2001-10-22 | 2006-07-04 | Siemens Building Technologies, Inc. | Partially embedded database and an embedded database manager for a control system |
JP2004030438A (ja) * | 2002-06-27 | 2004-01-29 | Renesas Technology Corp | マイクロコンピュータ |
JP2004334486A (ja) * | 2003-05-07 | 2004-11-25 | Internatl Business Mach Corp <Ibm> | ブートコードを用いた起動システム、及び起動方法 |
FR2872603B1 (fr) * | 2004-07-03 | 2007-02-09 | Samsung Electronics Co Ltd | Procede et dispositif pour executer le code d'amorcage de systemes integres |
KR100604877B1 (ko) | 2004-07-03 | 2006-07-31 | 삼성전자주식회사 | 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법 |
US20060080522A1 (en) * | 2004-10-13 | 2006-04-13 | Button Russell E | Method, apparatus, and system for facilitating secure computing |
US7480836B2 (en) * | 2005-04-25 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Monitoring error-handler vector in architected memory |
KR101010489B1 (ko) * | 2005-06-21 | 2011-01-21 | 미츠비시덴키 가부시키가이샤 | 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템 |
JP2007052717A (ja) * | 2005-08-19 | 2007-03-01 | Fujitsu Ltd | データ転送装置およびデータ転送方法 |
JP4917292B2 (ja) * | 2005-09-30 | 2012-04-18 | 株式会社アドバンテスト | 試験装置、及び試験方法 |
JP5754264B2 (ja) | 2011-06-24 | 2015-07-29 | 富士ゼロックス株式会社 | プログラム実行装置、画像処理装置およびプログラム |
EP2959378A1 (en) * | 2013-02-22 | 2015-12-30 | Marvell World Trade Ltd. | Patching boot code of read-only memory |
DE102015213138A1 (de) * | 2015-07-14 | 2017-01-19 | Siemens Schweiz Ag | Verfahren zur Durchführung eines Betriebssystem-Updates |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4698750A (en) * | 1984-12-27 | 1987-10-06 | Motorola, Inc. | Security for integrated circuit microcomputer with EEPROM |
US5187792A (en) * | 1990-05-09 | 1993-02-16 | International Business Machines Corporation | Method and apparatus for selectively reclaiming a portion of RAM in a personal computer system |
IT1254937B (it) * | 1991-05-06 | 1995-10-11 | Aggiornamento dinamico di memoria non volatile in un sistema informatico | |
US5388267A (en) * | 1991-05-29 | 1995-02-07 | Dell Usa, L.P. | Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity |
US5473775A (en) * | 1991-10-11 | 1995-12-05 | Kabushiki Kaisha Toshiba | Personal computer using flash memory as BIOS-ROM |
US5687345A (en) * | 1992-03-17 | 1997-11-11 | Hitachi, Ltd. | Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device |
JPH05342374A (ja) | 1992-06-11 | 1993-12-24 | Mitsubishi Electric Corp | ワンチップマイクロコンピュータ |
US5574926A (en) * | 1993-03-11 | 1996-11-12 | Olympus Optical Co., Ltd. | One-chip microcomputer system having function for substantially correcting contents of program |
US5522076A (en) * | 1993-05-13 | 1996-05-28 | Kabushiki Kaisha Toshiba | Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function |
JPH08101794A (ja) | 1994-09-30 | 1996-04-16 | Nec Corp | ファームウェアのプログラム書き換え方式 |
JP3292864B2 (ja) | 1995-02-07 | 2002-06-17 | 株式会社日立製作所 | データ処理装置 |
KR100224552B1 (ko) * | 1996-03-15 | 1999-10-15 | 하나와 요시카즈 | 자동차용 로크 방지 브레이크 제어 시스템 |
JP2940480B2 (ja) * | 1996-07-05 | 1999-08-25 | 日本電気株式会社 | コンピュータシステム |
JPH10116187A (ja) * | 1996-10-11 | 1998-05-06 | Mitsubishi Electric Corp | マイクロコンピュータ |
JP3773607B2 (ja) * | 1996-11-28 | 2006-05-10 | Necエレクトロニクス株式会社 | フラッシュeeprom内蔵マイクロコンピュータ |
JP3173407B2 (ja) * | 1997-02-05 | 2001-06-04 | 日本電気株式会社 | フラッシュeeprom内蔵マイクロコンピュータ |
JPH11219299A (ja) * | 1998-02-02 | 1999-08-10 | Mitsubishi Electric Corp | マイクロコンピュータ |
US6308265B1 (en) * | 1998-09-30 | 2001-10-23 | Phoenix Technologies Ltd. | Protection of boot block code while allowing write accesses to the boot block |
US6457175B1 (en) * | 1998-11-09 | 2002-09-24 | Tut Systems, Inc. | Method and apparatus for installing a software upgrade within a memory resource associated with a computer system |
US6434695B1 (en) * | 1998-12-23 | 2002-08-13 | Apple Computer, Inc. | Computer operating system using compressed ROM image in RAM |
-
1999
- 1999-04-02 JP JP09686499A patent/JP3727485B2/ja not_active Expired - Lifetime
-
2000
- 2000-03-28 TW TW089105695A patent/TW460836B/zh not_active IP Right Cessation
- 2000-03-30 EP EP00302643A patent/EP1041486A3/en not_active Withdrawn
- 2000-03-31 US US09/541,086 patent/US6598137B1/en not_active Expired - Lifetime
- 2000-04-01 KR KR1020000017159A patent/KR100413227B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008533574A (ja) * | 2005-03-08 | 2008-08-21 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | セクタ単位での消去の可能な半導体メモリ手段の第1のセクタへの再書き込み方法および装置 |
JP2012234568A (ja) * | 2005-10-13 | 2012-11-29 | Sandisk Technologies Inc | 組込みコントローラを介するフラッシュストレージの初期化 |
Also Published As
Publication number | Publication date |
---|---|
TW460836B (en) | 2001-10-21 |
EP1041486A2 (en) | 2000-10-04 |
JP3727485B2 (ja) | 2005-12-14 |
KR20010006947A (ko) | 2001-01-26 |
EP1041486A3 (en) | 2003-04-23 |
US6598137B1 (en) | 2003-07-22 |
KR100413227B1 (ko) | 2003-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000293367A (ja) | 不揮発性メモリ内蔵マイクロコンピュータ | |
US7089549B2 (en) | Updating flash memory | |
US6745278B2 (en) | Computer capable of rewriting an area of a non-volatile memory with a boot program during self mode operation of the computer | |
JP6070360B2 (ja) | 情報処理装置およびその処理方法 | |
KR100604877B1 (ko) | 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법 | |
US20070011416A1 (en) | Data storage device and medium and related method of storing backup data | |
JP2003345730A (ja) | インタフェース装置、インタフェース装置におけるファームウェアの更新方法、及びそのプログラム | |
US5940627A (en) | User selectable feature set for a flash ROM based peripheral | |
US6543008B1 (en) | Computer system and program rewriting method | |
US6795915B2 (en) | Computer system and method for setting up information on an operating system thereof | |
JP3805195B2 (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
CN111338771B (zh) | 引导程序切换处理方法及装置、计算机设备、介质 | |
KR100316584B1 (ko) | 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법 | |
KR20000033437A (ko) | 부트스트랩로더 기능 구현 장치 | |
JP2023020590A (ja) | 情報処理装置、及び監視方法 | |
JP2842252B2 (ja) | 計算機システムにおけるフラッシュメモリカードへのデータ書き込み方式 | |
JP2002073360A (ja) | 起動情報書換装置 | |
JP2008003668A (ja) | 制御プログラム書換システム、書換プログラム及び制御プログラム書換方法、並びに情報処理装置、情報処理装置制御プログラム及び情報処理装置制御方法 | |
KR20060118715A (ko) | 연산처리장치와 메모리 인터페이스 장치 및 방법 | |
CN115904424A (zh) | 空中下载升级方法、装置及计算机可读存储介质 | |
JP2022024904A (ja) | ファームウェア更新システムおよびファームウェア更新方法 | |
JP2738611B2 (ja) | 電子装置 | |
CN116669224A (zh) | 网络连接方法、智能设备以及存储介质 | |
JP2003015951A (ja) | 画像形成装置 | |
CN118363636A (zh) | 固件更新方法、计算机及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050928 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091007 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101007 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101007 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111007 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121007 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121007 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131007 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |