JPH08101794A - ファームウェアのプログラム書き換え方式 - Google Patents

ファームウェアのプログラム書き換え方式

Info

Publication number
JPH08101794A
JPH08101794A JP23669194A JP23669194A JPH08101794A JP H08101794 A JPH08101794 A JP H08101794A JP 23669194 A JP23669194 A JP 23669194A JP 23669194 A JP23669194 A JP 23669194A JP H08101794 A JPH08101794 A JP H08101794A
Authority
JP
Japan
Prior art keywords
program
ram
memory
memory map
area
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
JP23669194A
Other languages
English (en)
Inventor
Keizo Minamimura
恵三 南村
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP23669194A priority Critical patent/JPH08101794A/ja
Publication of JPH08101794A publication Critical patent/JPH08101794A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 オンライン処理時に外部パッケージのメモリ
またはハードウェア制御用のメモリとして利用できるユ
ーザーエリアを確保する。 【構成】 第1のプログラム(ファームウェアプログラ
ム)の書き換え時または装置の起動時にはフラッシュメ
モリ4,RAM3及びブートROM6をCPU1のアク
セス空間に配置した第1のメモリマップ(図1(a))
に従ってブートROM内の第2のプログラムを実行しR
AMへ第1のプログラムを転送する。そして転送終了後
このRAM3をCPU1のアクセス空間に配置した第2
のメモリマップ(図1(b))に変換し、これに従って
オンライン処理を実行する。この結果、オンライン処理
時は第2のメモリマップにRAMのみが配置されて残エ
リアはユーザーエリアとして使用でき、従って十分な容
量のエリアを確保できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、フラッシュメモリ(以
下、FRAM)が搭載されるパッケージの活線挿抜をし
なくてもファームウェアのプログラムをFRAMに書き
換えできるファームウェアのプログラム書き換え方式に
関する。
【0002】
【従来の技術】この種のファームウェアのプログラムを
実行するCPUには、図3に示すような、メインプログ
ラムが格納されるメインメモリ(MM)2、アプリケー
ション(APL)プログラムが格納されるRAM3、同
様にアプリケーションプログラムが格納され電気的に書
き込み及び消去が可能な不揮発性メモリである上述のF
RAM4、例えば外部装置からのプログラムデータをロ
ーディングするためのプログラムが格納されるブート
(BOOT)ROM6がそれぞれアドレスバス及びデー
タバスのバスBSを介して接続されている。
【0003】ここで、CPU1のアクセスするメモリ空
間は図4に示すような構成となっている。即ち、メモリ
空間は、アドレスの若い順から、メインメモリ2の領域
であるメインメモリエリア2A、RAM3の領域である
RAMエリア3A、FRAM4の領域であるFRAMエ
リア4A、ユーザーのプログラム等の格納領域であるユ
ーザーエリア5A、ブートROM6の領域であるブート
ROMエリア6Aとなっている。
【0004】ところで、ブートROMエリア6Aに配置
されブートROM6に格納されているプログラムには、
FRAM4へ書き込むためのプログラムデータを図示し
ない外部装置からRAM3に転送するダウンロード処
理、RAM3のプログラムデータをFRAM4に書き込
むためのFRAM書き込み処理、及びFRAM4からR
AM3にプログラムデータを転送してCPU1にオンラ
イン処理を実行させるための再開処理等の各プログラム
が含まれている。この場合CPU1は、起動されるとま
ずブートROMエリア6AをアクセスしてブートROM
6の各プログラムを実行し、最終的にFRAM4からR
AM3へのプログラムデータの転送が完了してブートR
OM6のプログラムの実行が終了すると、転送されたR
AM3のプログラムを読み出してオンライン処理を実行
する。
【0005】
【発明が解決しようとする課題】このような従来装置
は、外部装置からダウンロードしたプログラムデータを
一時的に格納するエリアと、実際に走行するプログラム
のエリアとを同一のRAM3のエリアに設けているた
め、RAM3の共通化を実現でき、従ってCPU1のメ
モリ空間を有効に活用できる。しかしながら、CPU1
のオンライン処理時には、オンライン処理に不要なFR
AMエリア4A及びブートROMエリア6AがCPU1
のメモリマップ上に常駐しているため、外部パッケージ
のメモリまたはハードウェア制御用のメモリとして利用
するユーザーエリア5Aが十分確保できないという問題
があった。したがって本発明は、オンライン処理時に外
部パッケージのメモリまたはハードウェア制御用のメモ
リとして利用できるユーザーエリアを十分確保すること
を目的とする。
【0006】
【課題を解決するための手段】このような課題を解決す
るために本発明は、ファームウェアのプログラムである
第1のプログラムが格納されると共に電気的な書き込み
及び消去が可能な不揮発性メモリであるフラッシュメモ
リと、実行される第1のプログラムが転送されるRAM
と、第1のプログラムのロード及び転送を行うための第
2のプログラムが格納されるブートROMと、処理の起
動時には第2のプログラムを実行して第1のプログラム
をRAMに転送すると共にRAMに転送された第1のプ
ログラムを実行してオンライン処理を行うCPUとを備
えた装置において、第1のプログラムの書き換え時及び
装置の起動時の何れか一方の時にはフラッシュメモリ,
RAM及びブートROMをCPUのアクセス空間に配置
した第1のメモリマップにしたがって第2のプログラム
を実行しRAMへ第1のプログラムを転送する転送手段
と、RAMに対し第1のプログラムの転送終了後このR
AMをCPUのアクセス空間に配置した第2のメモリマ
ップに変換するメモリマップ変換手段と、変換された第
2のメモリマップにしたがって第1のプログラムを実行
しオンライン処理を行う手段とを設けたものである。ま
た、フラッシュメモリへ書き込むための第1のプログラ
ムを外部装置からRAMへ転送するダウンロード処理,
RAMへ転送された第1のプログラムをフラッシュメモ
リへ書き込むための書き込み処理,フラッシュメモリか
らRAMへ第1のプログラムを転送する転送処理,及び
第2のメモリマップに変換するメモリマップ変換処理の
各プログラムを第2のプログラムとしてブートROMに
格納すると共に、メモリマップ変換手段はメモリマップ
変換処理を実行してRAMの第2のメモリマップ上の配
置エリアが所定エリアとなるようにアドレス変換し、か
つ第2のメモリマップからフラッシュメモリ及びブート
ROMの各配置エリアを削除したものである。
【0007】
【作用】第1のプログラムの書き換え時及び装置の起動
時の何れか一方の時にはフラッシュメモリ,RAM及び
ブートROMをアクセス空間に配置した第1のメモリマ
ップにしたがって第2のプログラムを実行しRAMへ第
1のプログラムを転送すると共に、第1のプログラムの
転送終了後このRAMをアクセス空間に配置した第2の
メモリマップに変換し、第2のメモリマップにしたがっ
てオンライン処理を実行する。したがって、オンライン
処理時には第2のメモリマップにはRAMのみが配置さ
れ、残りのエリアはユーザーが利用できるエリアとして
確保されることから、十分な容量のユーザーエリアを確
保することができる。また、第2のメモリマップに変換
するメモリマップ変換処理のプログラムを第2のプログ
ラムとしてブートROMに格納すると共に、このメモリ
マップ変換処理を実行することによりRAMの第2のメ
モリマップ上の配置エリアが所定エリアとなるようにア
ドレス変換し、かつ第2のメモリマップからフラッシュ
メモリ及びブートROMの各配置エリアを削除する。こ
の結果、オンライン処理時には処理に不要なメモリエリ
アがメモリマップ上から削除され、したがって各処理に
応じてCPUのメモリ空間を効率良く使い分けることが
できる。
【0008】
【実施例】以下、本発明について図面を参照して説明す
る。図1は本発明の一実施例を示すメモリマップの構成
図である。このメモリマップは図3に示すCPU1がア
クセス可能なメモリ空間を示すメモリマップ図である。
このうち、図1(a)に示すメモリマップは図4(従来
例)に相当するもので、CPU1がブートROM6のプ
ログラム(第2のプログラム)を実行するブートモード
時のメモリマップ(第1のメモリマップ)である。ま
た、図1(b)はCPU1が図3に示すRAM3内のア
プリケーションプログラム(第1のプログラム)を実行
するオンライン処理モード時のメモリマップ(第2のメ
モリマップ)を示している。
【0009】ところで、図3に示すブートROM6に格
納されるプログラムには、既に従来技術の項で説明した
ように、FRAM4へ書き込むためのプログラムデータ
を図示省略した外部装置からRAM3に転送するダウン
ロード処理、RAM3に転送されたプログラムデータを
FRAM4に書き込むためのFRAM書き込み処理、及
びFRAM4からRAM3にプログラムを転送してCP
U1にオンライン処理を再開させるための再開処理の各
プログラムが格納されている。この他、ブートROM6
には、後述するモード切替処理用のプログラムも格納さ
れている。
【0010】ここで、CPU1が起動された直後または
アプリケーションプログラムの書き換え時には、メモリ
マップは図1(a)に示すような状態となっており、こ
の場合CPU1はブートROMエリア6Aに配置された
ブートROM6内の再開処理プログラムを読み出して実
行する。そしてこの中に、FRAM4内にオンライン処
理モードで処理を再開するためのプログラムが格納され
ていると判断した場合は、FRAM4内のプログラムデ
ータをRAM3へ転送する。そしてプログラムの転送
後、CPU1は、図1(a)のRAMエリア3AがCP
U1側から図1(b)のRAMエリア8Aとしてそのま
ま見えるようにアドレススワップ(アドレス交換)する
ための上述したモード切替処理を実行する。
【0011】その後、バスBSの切り替え制御を行って
FRAMエリア4A及びブートROMエリア6Aの各エ
リアを除去し、図1(b)のメモリマップに切り替え、
この除去したエリアとユーザーエリア5Aとを合わせて
ユーザーエリア7Aとする。そしてその後CPU1は図
1(b)のメモリマップに示すRAMエリア8Aに配置
されるRAM3からアプリケーションプログラムデータ
を読み出してオンライン処理を実行する。このようにし
てオンライン処理時には、外部パッケージのメモリまた
はハードウェア制御用のメモリとして利用できるユーザ
ーエリア7Aが増加し、従ってユーザーエリアを十分確
保することができる。
【0012】図2は、FRAM4内のアプリケーション
プログラムをRAM3に書き込むCPU1の動作を示す
フローチャートである。このフローチャートに基づき本
発明の要部動作をさらに詳細に説明する。まず、CPU
1が起動された時(リセット直後)には、メモリマップ
は上述したように図1(a)に示す状態となっており、
この場合CPU1はステップS1において、ブートRO
Mエリア6Aに配置されるブートROM6のプログラム
を読み出し、ブートモード再開処理の実行を開始する。
その後CPU1は、この処理の中のステップS2でモー
ド読み出しを行うと共に、ステップS3では読み出した
モードが強制FRAM書き換えモードか否かを判定す
る。
【0013】ここで、強制FRAM書き換えモードと判
定し、ステップS3で「Y」となると、この場合はFR
AM4内にアプリケーションプログラムデータが存在し
ないということで、図1(a)のRAMエリア3Aに配
置されるRAM3のプログラムを読み出してFRAM4
へ書き込むFRAM書き換え処理をステップS4で実行
する。
【0014】また、FRAM4内にプログラムデータが
存在する場合は、ステップS3で「N」となり、この場
合は、後述するステップS6〜S8の各処理を行った
後、図1(b)のメモリマップに基づいてオンライン処
理を実行する。一方、図1(b)のメモリマップに基づ
いてオンライン処理モード中に、外部装置からのブート
モード遷移コマンドをステップS5で受信した場合は、
ブートモードへモード切替処理を行って図1(a)のメ
モリマップに切り替える。そして、ブートROMエリア
6Aに配置されるブートROM6のプログラムを実行し
て外部装置からの対象プログラムをRAMエリア3Aに
配置されるRAM3へ転送する。その後、ステップS4
でRAM3に転送されたデータをもとにFRAM4に書
き込む。
【0015】こうしてFRAM4にプログラムデータが
格納されると、ステップS6ではFRAM4のプログラ
ムデータをRAM3へ転送する処理を行う。そして、R
AM3へプログラムデータが転送完了した時点のステッ
プS7で、モード切り替え処理を実行し、メモリマップ
を切り替える。即ち、「図1(a)のRAMエリア3A
が図1(b)のRAMエリア8Aにそのまま見えるよう
にアドレススワップを行う」モード切替処理を実行する
と共に、図1(a)のFRAMエリア4A及びブートR
OMエリア6Aの各エリアを除去して図1(b)のメモ
リマップに切り替える。その後、RAMエリア8Aに配
置されたRAM3内に既にFRAM4から転送されてい
るプログラムを起動するFRAMプログラム起動をステ
ップS8で実行することにより、ステップS9でオンラ
イン処理の実行または再開が行われる。
【0016】このように、ブートモード時の図1(a)
に示すメモリマップのRAMエリア3Aが、オンライン
処理時には図1(b)に示すメモリマップのRAMエリ
ア8Aとしてそのまま見えるようにアドレススワップ
し、かつブートモード時のメモリマップ上のFRAMエ
リア4A及びブートROMエリア6Aを除去するように
したので、オンライン処理時にはユーザーエリア7A
は、外部パッケージ用のメモリまたはハードウェア制御
用のメモリのエリアとしてユーザーが利用するに十分な
容量のエリアを確保することができる。また、オンライ
ン処理時には、処理に不要なメモリエリアが除去される
ため、処理に応じたメモリ空間の使い分けが可能にな
り、従ってメモリ空間を効率良く使用することができ
る。
【0017】
【発明の効果】以上説明したように本発明によれば、第
1のプログラムの書き換え時及び装置の起動時の何れか
一方の時にはフラッシュメモリ,RAM及びブートRO
MをCPUのアクセス空間に配置した第1のメモリマッ
プにしたがって第2のプログラムを実行しRAMへ第1
のプログラムを転送すると共に、第1のプログラムの転
送終了後このRAMをCPUのアクセス空間に配置した
第2のメモリマップに変換し、第2のメモリマップにし
たがってオンライン処理を実行するようにしたので、オ
ンライン処理時には第2のメモリマップにはRAMのみ
が配置されて残りのエリアはユーザーが利用できるエリ
アとして確保されることになり、したがって十分な容量
のユーザーエリアを確保することができる。また、第2
のメモリマップに変換するメモリマップ変換処理のプロ
グラムを第2のプログラムとしてブートROMに格納す
ると共に、このメモリマップ変換処理を実行することに
よりRAMの第2のメモリマップ上の配置エリアが所定
エリアとなるようにアドレス変換し、かつ第2のメモリ
マップからフラッシュメモリ及びブートROMの各配置
エリアを削除するようにしたので、オンライン処理時に
は処理に不要なメモリエリアがメモリマップ上から削除
され、したがって各処理に応じてCPUのメモリ空間を
効率良く使い分けることができる。
【図面の簡単な説明】
【図1】 本発明に係るファームウェアのプログラム書
き換え方式を適用した装置のメモリマップの構成を示す
図である。
【図2】 上記装置内のCPUの動作を示すフローチャ
ートである。
【図3】 上記装置のブロック図である。
【図4】 従来装置のメモリマップを示す図である。
【符号の説明】
1…CPU、2…メインメモリ(MM)、3…RAM、
4…フラッシュメモリ(FRAM)、6…ブートRO
M、3A,8A…RAMエリア、4A…FRAMエリ
ア、5A,7A…ユーザーエリア、6A…ブートROM
エリア。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ファームウェアのプログラムである第1
    のプログラムが格納されると共に電気的な書き込み及び
    消去が可能な不揮発性メモリであるフラッシュメモリ
    と、実行される第1のプログラムが転送されるRAM
    と、第1のプログラムのロード及び転送を行うための第
    2のプログラムが格納されるブートROMと、処理の起
    動時には第2のプログラムを実行して第1のプログラム
    をRAMに転送すると共にRAMに転送された第1のプ
    ログラムを実行してオンライン処理を行うCPUとを備
    えた装置において、 第1のプログラムの書き換え時及び装置の起動時の何れ
    か一方の時には前記フラッシュメモリ,RAM及びブー
    トROMをCPUのアクセス空間に配置した第1のメモ
    リマップにしたがって第2のプログラムを実行しRAM
    へ第1のプログラムを転送する転送手段と、RAMに対
    し第1のプログラムの転送終了後このRAMをCPUの
    アクセス空間に配置した第2のメモリマップに変換する
    メモリマップ変換手段と、変換された第2のメモリマッ
    プにしたがって第1のプログラムを実行し前記オンライ
    ン処理を行う手段とを備え、前記オンライン処理時に第
    2のメモリマップ上に十分なユーザーエリアを確保する
    ことを特徴とするファームウェアのプログラム書き換え
    方式。
  2. 【請求項2】 請求項1記載のファームウェアのプログ
    ラム書き換え方式において、 ブートROMには、フラッシュメモリへ書き込むための
    第1のプログラムを外部装置からRAMへ転送するダウ
    ンロード処理,RAMへ転送された第1のプログラムを
    フラッシュメモリへ書き込むための書き込み処理,フラ
    ッシュメモリからRAMへ第1のプログラムを転送する
    転送処理,及び第2のメモリマップに変換するメモリマ
    ップ変換処理の各プログラムが第2のプログラムとして
    格納されると共に、前記メモリマップ変換手段は前記メ
    モリマップ変換処理を実行してRAMの第2のメモリマ
    ップ上の配置エリアが所定エリアとなるようにアドレス
    変換し、かつ第2のメモリマップから前記フラッシュメ
    モリ及びブートROMの各配置エリアを削除することを
    特徴とするファームウェアのプログラム書き換え方式。
JP23669194A 1994-09-30 1994-09-30 ファームウェアのプログラム書き換え方式 Pending JPH08101794A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23669194A JPH08101794A (ja) 1994-09-30 1994-09-30 ファームウェアのプログラム書き換え方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23669194A JPH08101794A (ja) 1994-09-30 1994-09-30 ファームウェアのプログラム書き換え方式

Publications (1)

Publication Number Publication Date
JPH08101794A true JPH08101794A (ja) 1996-04-16

Family

ID=17004347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23669194A Pending JPH08101794A (ja) 1994-09-30 1994-09-30 ファームウェアのプログラム書き換え方式

Country Status (1)

Country Link
JP (1) JPH08101794A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884074A (en) * 1996-10-11 1999-03-16 Mitsubishi Denki Kabushiki Kaisha Microcomputer utilizing flash memory for data storage
US6598137B1 (en) 1999-04-02 2003-07-22 Sharp Kabushiki Kaisha Microcomputer having built-in nonvolatile memory for simultaneous use as a program area and a data area
US7131124B2 (en) 2000-12-07 2006-10-31 Ricoh Company, Ltd. System and apparatus for and method of downloading a program, image formation apparatus, and computer product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298657A (ja) * 1987-05-29 1988-12-06 Fujitsu Ltd Ipl方式
JPH0469742A (ja) * 1990-07-10 1992-03-04 Sanyo Electric Co Ltd 電子機器
JPH05126620A (ja) * 1991-10-31 1993-05-21 Teraoka Seiko Co Ltd 電子秤装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298657A (ja) * 1987-05-29 1988-12-06 Fujitsu Ltd Ipl方式
JPH0469742A (ja) * 1990-07-10 1992-03-04 Sanyo Electric Co Ltd 電子機器
JPH05126620A (ja) * 1991-10-31 1993-05-21 Teraoka Seiko Co Ltd 電子秤装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884074A (en) * 1996-10-11 1999-03-16 Mitsubishi Denki Kabushiki Kaisha Microcomputer utilizing flash memory for data storage
US6598137B1 (en) 1999-04-02 2003-07-22 Sharp Kabushiki Kaisha Microcomputer having built-in nonvolatile memory for simultaneous use as a program area and a data area
KR100413227B1 (ko) * 1999-04-02 2003-12-31 샤프 가부시키가이샤 비휘발성 메모리가 내장된 마이크로컴퓨터
US7131124B2 (en) 2000-12-07 2006-10-31 Ricoh Company, Ltd. System and apparatus for and method of downloading a program, image formation apparatus, and computer product
US8020159B2 (en) 2000-12-07 2011-09-13 Ricoh Company, Ltd. System and apparatus for and method of downloading a program, image formation apparatus, and computer product

Similar Documents

Publication Publication Date Title
JP2001195241A (ja) コンピュータ
JPH11184703A (ja) 情報処理装置及びそのブート方法
JPH11219299A (ja) マイクロコンピュータ
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP2000163268A (ja) コンピュータ
JPH08101794A (ja) ファームウェアのプログラム書き換え方式
KR100223844B1 (ko) 옵션 자동 설정 회로
JP3918434B2 (ja) 情報処理装置
JP2002175193A (ja) プログラム書き換え装置及びプログラム書き換え方法
JP2001117766A (ja) マスクromのパッチ機能を備えた情報処理装置
JPH0869376A (ja) Biosの書き換え制御回路
JPH09146774A (ja) パーソナルコンピュータシステム
JP3956305B2 (ja) 不揮発性半導体記憶装置およびデータ処理装置
JPH08305561A (ja) ファームウエアダウンロード方法とその装置
JPH10283172A (ja) フラッシュromデータ書き換え方式
JPH10111806A (ja) プログラム起動方式
JP2006243810A (ja) マイクロコンピュータシステム
JPH11338690A (ja) フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法
JP2004355310A (ja) 画像処理装置
JP2001325105A (ja) 動作プログラム書き換え方法
JP2002073360A (ja) 起動情報書換装置
JPS60230238A (ja) マイクロプログラム制御装置
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法
JP2000082122A (ja) メモリカード
JP2024005775A (ja) 電子制御装置、リプロ実施方法及びリプロ実施プログラム