JPH11338690A - フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法 - Google Patents

フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法

Info

Publication number
JPH11338690A
JPH11338690A JP14570798A JP14570798A JPH11338690A JP H11338690 A JPH11338690 A JP H11338690A JP 14570798 A JP14570798 A JP 14570798A JP 14570798 A JP14570798 A JP 14570798A JP H11338690 A JPH11338690 A JP H11338690A
Authority
JP
Japan
Prior art keywords
firmware
address
flash memory
program
specific 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
JP14570798A
Other languages
English (en)
Inventor
Shinji Kato
真二 加藤
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP14570798A priority Critical patent/JPH11338690A/ja
Publication of JPH11338690A publication Critical patent/JPH11338690A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ファームウエア書き換え中に電源がオフにな
っても、システムを確実に立ち上げることができ、フラ
ッシュメモリ上のファームウエアを書き換えることがで
きるとともに、システムのコストダウンを実現できるよ
うにする。 【解決手段】 フラッシュメモリ12内の、最上位アド
レスが1である上位アドレス特定領域に、ファームウエ
アを格納し、最上位アドレスが0である下位アドレス特
定領域に、システム立ち上げプログラムおよびファーム
ウエア書き換えプログラムを格納する。フラッシュメモ
リ12の最上位アドレスは、CPU11のアドレスバス
11aではなく、出力ポートOcによって切り替えられ
るようにするとともに、電源投入時またはリセット時、
出力ポートOcからは0が出力されて、下位アドレス側
から動作を開始するようにする。したがって、ファーム
ウエア書き換え中に電源がオフになっても、電源を再投
入することによって、システムを確実に立ち上げること
ができ、ファームウエアの書き換えを行うことができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ファームウエア
が格納されたフラッシュメモリ、フラッシュメモリ上の
ファームウエアを実行するファームウエア使用システム
装置、およびフラッシュメモリ上のファームウエアを書
き換えるファームウエア書き換え方法に関する。
【0002】
【従来の技術】フラッシュメモリ内にファームウエアを
格納し、そのファームウエアをCPUにより実行するシ
ステムにおいて、システム内のCPUなどによって、フ
ラッシュメモリ上のファームウエアを書き換える方法と
しては、ファームウエアを書き換えるプログラムを、C
PU内部など、フラッシュメモリ以外の記憶手段に格納
する方法と、フラッシュメモリ内に、フラッシュメモリ
自身を書き換えるプログラムやファームウエアを、特に
領域を制限しないで格納する方法とが、考えられてい
る。
【0003】
【発明が解決しようとする課題】しかしながら、第1
の、フラッシュメモリ上のファームウエアを書き換える
プログラムを、CPU内部など、フラッシュメモリ以外
の記憶手段に格納する方法は、CPUの選択の条件が厳
しくなり、またはフラッシュメモリ以外の記憶手段を必
要とするので、システムのコストアップを来たす欠点が
ある。
【0004】また、第2の、フラッシュメモリ内に、フ
ラッシュメモリ自身を書き換えるプログラムやファーム
ウエアを、特に領域を制限しないで格納する方法は、フ
ラッシュメモリの書き換え中に、システムの電源がオフ
になる異常が発生したとき、システムを立ち上げるプロ
グラムが、いまだ完全に記述されていない場合があり、
電源を再投入しても、システムが立ち上がらなくなる可
能性がある。
【0005】そこで、この発明は、システムのコストダ
ウンを実現できるとともに、ファームウエア書き換え中
に電源がオフになっても、電源を再投入することによっ
て、システムを確実に立ち上げることができ、フラッシ
ュメモリ上のファームウエアを書き換えることができる
ようにしたものである。
【0006】
【課題を解決するための手段】この発明では、フラッシ
ュメモリ内の第1特定領域に、ファームウエアを格納
し、第1特定領域とは別の第2特定領域に、システム立
ち上げプログラムおよびファームウエア書き換えプログ
ラムを格納する。
【0007】このように構成したファームウエア使用シ
ステム装置においては、CPU内部など、フラッシュメ
モリ以外の記憶手段ではなく、ファームウエアが格納さ
れるフラッシュメモリ内に、そのファームウエアを書き
換えるプログラムやシステムを立ち上げるプログラムが
格納されるので、システムのコストダウンを実現するこ
とができる。
【0008】しかも、ファームウエア書き換え中にシス
テムの電源がオフになっても、ファームウエアが格納さ
れた第1特定領域とは別の第2特定領域に、システムを
立ち上げるプログラムおよびファームウエアを書き換え
るプログラムが格納されているので、電源を再投入した
とき、システムが第2特定領域側から立ち上がるように
することによって、システムを確実に立ち上げることが
でき、ファームウエアの書き換えを行うことができる。
【0009】
【発明の実施の形態】図1は、この発明のシステム装置
の一実施形態を示す。この実施形態のシステム装置は、
システム10として示すように、CPU11、フラッシ
ュメモリ12、EEPROM13などを備え、CPU1
1に、ファームウエア送信手段20として、例えばパソ
コン(パーソナルコンピュータ)が接続される。
【0010】後述するように、フラッシュメモリ12内
には、最上位アドレスが1である上位アドレス領域に、
ファームウエアを格納し、最上位アドレスが0である下
位アドレス領域に、システム立ち上げプログラムおよび
ファームウエア書き換えプログラムを格納する。
【0011】そのため、フラッシュメモリ12の最上位
アドレスは、CPU11のアドレスバス11aではな
く、出力ポートOcによって切り替えられるようにする
とともに、電源投入時またはリセット時、出力ポートO
cからは0が出力されるようにする。
【0012】CPU11とフラッシュメモリ12とは、
アドレスバス11a、最上位アドレス制御用の制御バス
11c、データバス11d、およびアウトプットイネー
ブルやライトイネーブルなどの制御用の制御バス11e
によって接続される。
【0013】EEPROM13には、後述するように、
フラッシュメモリ12の上位アドレス領域にファームウ
エアが正しく記述されているか否かを示す情報が書き込
まれる。CPU11とEEPROM13とは、バス11
rによって接続される。
【0014】CPU11は、フラッシュメモリ12から
ファームウエアを読み込んで、入出力ポートIOsに接
続されたシステム制御バス11sを介してシステム各部
を制御し、パソコン20から書き換え用の新たなファー
ムウエアを受信して、フラッシュメモリ12の書き換え
を行う、などの処理をする。
【0015】図2は、フラッシュメモリ12の概念的な
アドレスマップを示し、最上位アドレスが0である、ア
ドレス00000からアドレス0FFFFまでの下位ア
ドレス領域A0に、システム立ち上げプログラムおよび
ファームウエア書き換えプログラムを格納し、最上位ア
ドレスが1である、アドレス10000からアドレス1
FFFFまでの上位アドレス領域A1に、ファームウエ
アを格納する。
【0016】具体的には、例えば、図3に示すように、
フラッシュメモリ12のアドレスマップとしては、上記
の下位アドレス領域A0中の、アドレス01000から
アドレス0EFFFまでの領域A0xを、システム立ち
上げプログラムおよびファームウエア書き換えプログラ
ムを格納する下位アドレス特定領域とし、上記の上位ア
ドレス領域A1中の、アドレス11000からアドレス
1EFFFまでの領域A1xを、ファームウエアを格納
する上位アドレス特定領域とするとともに、CPU11
のアドレスマップとしては、アドレス1000からアド
レスEFFFまでを外部ROM領域とし、アドレスF0
00からアドレスFFFFまでを内部RAM領域とす
る。
【0017】上述した実施形態のシステム10は、図4
および図5の下位アドレス実行処理30および図6の上
位アドレス実行処理50で示すように、以下のように動
作する。
【0018】〔通常のシステム制御〕図4のステップ3
1に示すように、システム10に電源が投入され、また
はシステム10がリセットされると、上述したようにフ
ラッシュメモリ12の最上位アドレスを設定するCPU
11の出力ポートOcが0となることによって、下位ア
ドレス側から動作を開始する。
【0019】この下位アドレス実行処理30では、CP
U11は、まずステップ32で、自分自身を初期設定
し、次にステップ33に進んで、EEPROM13に記
録されている情報から、フラッシュメモリ12にファー
ムウエアが正しく記述されているか否かを判断する。
【0020】そして、後述するようにファームウエアが
正しく記述されている場合には、CPU11は、ステッ
プ33からステップ34に進んで、「最上位アドレスを
0から1に変更し、ファームウエアの先頭から始める」
というプログラムを、図3に示した内部RAM領域に記
述し、さらにステップ35に進んで、その内部RAM領
域に記述したプログラムを実行して、プログラムカウン
タを上位アドレス側に移す。
【0021】このように内部RAM領域上で動作させる
のは、フラッシュメモリ12上のプログラムによって、
「出力ポートOcを0から1に変更し、最上位アドレス
を変更する」こと、および「プログラムカウンタをファ
ームウエアの先頭に移す」ことは、不可能であり、プロ
グラムが暴走してしまうからである。
【0022】例えば、図3に示すように、アドレス01
234で最上位アドレスを0から1に変更すると、プロ
グラムカウンタはアドレス11235に移ってしまい、
アドレス01235を実行することはできない。これに
対して、内部RAM領域上で行えば、最上位アドレスを
変更しても、プログラムカウンタは次のアドレスを実行
することができる。
【0023】図4のステップ35でプログラムカウンタ
が上位アドレス側に移ると、図6のステップ51に示す
ように、下位アドレス側から上位アドレス側に移動した
ことになり、上位アドレス実行処理50が開始される。
この上位アドレス実行処理50では、CPU11は、ま
ずステップ52で、自分自身を初期設定し、次にステッ
プ53に進んで、システム10を立ち上げる。
【0024】次に、CPU11は、パソコン20からの
ファームウエア書き換え要求を確認しながら、通常のシ
ステム制御を行う。すなわち、ステップ54で、システ
ム10を制御し、次にステップ55に進んで、パソコン
20からファームウエアの書き換え要求があるか否かを
判断し、書き換え要求がなければ、ステップ54に戻っ
て、システム10を制御する。
【0025】〔ファームウエアの書き換え〕システム制
御中にパソコン20からファームウエアの書き換え要求
があると、CPU11は、ステップ55からステップ5
6に進んで、まず、フラッシュメモリ12上のファーム
ウエアを書き換えることを示すために、フラッシュメモ
リ12にファームウエアが正しく記述されていないこと
をEEPROM13に記録する。すなわち、ファームウ
エアが正しく記述されていないことを示す情報をEEP
ROM13に書き込む。
【0026】次に、CPU11は、図4のステップ34
および35で下位アドレス側から上位アドレス側に移動
したときと同様に、ステップ57に進んで、「最上位ア
ドレスを1から0に変更し、ファームウエアの先頭から
始める」というプログラムを、内部RAM領域に記述
し、さらにステップ58に進んで、その内部RAM領域
に記述したプログラムを実行して、プログラムカウンタ
を下位アドレス側に移す。内部RAM領域上で動作させ
るのは、上述したのと同じ理由による。
【0027】このようにステップ58でプログラムカウ
ンタが下位アドレス側に移ると、図4のステップ31に
示すように、上位アドレス側から下位アドレス側に移動
したことになり、下位アドレス実行処理30が開始され
る。
【0028】この下位アドレス実行処理30では、上述
した電源投入時またはリセット時と同様に、CPU11
は、まずステップ32で、自分自身を初期設定し、次に
ステップ33に進んで、EEPROM13に記録されて
いる情報から、フラッシュメモリ12にファームウエア
が正しく記述されているか否かを判断する。
【0029】この上位アドレス側から下位アドレス側へ
の移動時には、図6のステップ56でフラッシュメモリ
12にファームウエアが正しく記述されていないことを
示す情報がEEPROM13に書き込まれているので、
CPU11は、ステップ33でファームウエアが正しく
記述されていないと判断し、ステップ33から図5のス
テップ36に進んで、システム10を立ち上げ、パソコ
ン20からの書き換え用の新たなファームウエアを受信
できる状態とする。
【0030】次に、CPU11は、ステップ37で、そ
の新たなファームウエアの一部を受信し、さらにステッ
プ38に進んで、「受信したデータを上位アドレス特定
領域に書き込む」というプログラムを、内部RAM領域
に記述し、実行する。
【0031】次に、CPU11は、ステップ39で、新
たなファームウエアを全て受信し、フラッシュメモリ1
2の上位アドレス特定領域A1xに書き込んだか否かを
判断し、全て受信し、書き込んでいなければ、ステップ
37および38に戻って、ファームウエアの一部データ
の受信および書き込みを繰り返す。
【0032】そして、新たなファームウエアを全て受信
し、フラッシュメモリ12の上位アドレス特定領域A1
xに書き込んだら、CPU11は、ステップ39からス
テップ41に進んで、まず、フラッシュメモリ12にフ
ァームウエアが正しく記述されていることをEEPRO
M13に記録する。すなわち、ファームウエアが正しく
記述されていることを示す情報をEEPROM13に書
き込む。
【0033】次に、CPU11は、ステップ42で、図
4のステップ34と同様に、「最上位アドレスを0から
1に変更し、ファームウエアの先頭から始める」という
プログラムを、内部RAM領域に記述し、さらにステッ
プ43に進んで、図4のステップ35と同様に、その内
部RAM領域に記述したプログラムを実行して、プログ
ラムカウンタを上位アドレス側に移す。
【0034】〔ファームウエア書き換え中に電源がオフ
した場合〕図5のステップ36〜39におけるファーム
ウエア書き換え中に、システム10の電源がオフになっ
ても、フラッシュメモリ12の下位アドレス特定領域A
0xの内容には全く影響がない。そのため、電源を再投
入すると、電源投入時にはフラッシュメモリ12の最上
位アドレスを設定するCPU11の出力ポートOcが0
となることによって、図4のステップ31に示すよう
に、下位アドレス側から動作を開始し、CPU11は、
まずステップ32で、自分自身を初期設定し、次にステ
ップ33に進んで、EEPROM13に記録されている
情報から、フラッシュメモリ12にファームウエアが正
しく記述されているか否かを判断する。
【0035】そして、この場合には、電源がオフになる
前に図6のステップ56でフラッシュメモリ12にファ
ームウエアが正しく記述されていないことを示す情報が
EEPROM13に書き込まれているので、CPU11
は、ステップ33でファームウエアが正しく記述されて
いないと判断し、ステップ33から図5のステップ36
に進んで、システム10を立ち上げ、パソコン20から
の書き換え用の新たなファームウエアを受信できる状態
とし、さらにステップ37,38に進んで、その新たな
ファームウエアを受信し、フラッシュメモリ12の上位
アドレス特定領域A1xに書き込む。
【0036】したがって、ファームウエアの書き換え中
に、システム10の電源がオフになっても、電源を再投
入することによって、システム10は確実に立ち上が
り、フラッシュメモリ12上のファームウエアを書き換
えることができる。
【0037】
【発明の効果】上述したように、この発明によれば、フ
ァームウエア書き換え中に電源がオフになっても、電源
を再投入することによって、システムを確実に立ち上げ
ることができ、フラッシュメモリ上のファームウエアを
書き換えることができるとともに、システムのコストダ
ウンを実現することができる。
【図面の簡単な説明】
【図1】この発明のシステム装置の一実施形態を示す図
である。
【図2】この発明におけるフラッシュメモリの概念的な
アドレスマップを示す図である。
【図3】この発明におけるフラッシュメモリおよびCP
Uのアドレスマップの具体例を示す図である。
【図4】この発明における下位アドレス実行処理の一例
の一部を示すフローチャートである。
【図5】下位アドレス実行処理の一例の続きを示すフロ
ーチャートである。
【図6】この発明における上位アドレス実行処理の一例
を示すフローチャートである。
【符号の説明】
10…システム(システム装置)、11…CPU、Oc
…出力ポート、12…フラッシュメモリ、13…EEP
ROM、20…パソコン(ファームウエア送信手段)、
A0x…下位アドレス特定領域、A1x…上位アドレス
特定領域

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】内部の第1特定領域にファームウエアが格
    納され、第1特定領域とは別の第2特定領域にシステム
    立ち上げプログラムおよびファームウエア書き換えプロ
    グラムが格納されたフラッシュメモリ。
  2. 【請求項2】請求項1のフラッシュメモリを備え、前記
    第1特定領域上のファームウエアを実行するとともに、
    前記第2特定領域上のファームウエア書き換えプログラ
    ムによって前記第1特定領域上のファームウエアを書き
    換えるファームウエア使用システム装置。
  3. 【請求項3】請求項2のファームウエア使用システム装
    置において、 当該システム装置の電源投入時には、前記第2特定領域
    側から立ち上がり、前記第1特定領域にファームウエア
    が正しく記述されていることが確認されたら、前記第1
    特定領域側に移行するファームウエア使用システム装
    置。
  4. 【請求項4】請求項2のファームウエア使用システム装
    置において、 前記第1特定領域側で動作中に、ファームウエアの書き
    換えが必要になったら、前記第2特定領域側に移行する
    ファームウエア使用システム装置。
  5. 【請求項5】内部の第1特定領域にファームウエアが格
    納され、第1特定領域とは別の第2特定領域にシステム
    立ち上げプログラムおよびファームウエア書き換えプロ
    グラムが格納されたフラッシュメモリの、前記第1特定
    領域上のファームウエアを、前記第2特定領域上のファ
    ームウエア書き換えプログラムによって書き換えるファ
    ームウエア書き換え方法。
JP14570798A 1998-05-27 1998-05-27 フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法 Pending JPH11338690A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14570798A JPH11338690A (ja) 1998-05-27 1998-05-27 フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14570798A JPH11338690A (ja) 1998-05-27 1998-05-27 フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法

Publications (1)

Publication Number Publication Date
JPH11338690A true JPH11338690A (ja) 1999-12-10

Family

ID=15391271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14570798A Pending JPH11338690A (ja) 1998-05-27 1998-05-27 フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法

Country Status (1)

Country Link
JP (1) JPH11338690A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418542B2 (en) 2004-10-14 2008-08-26 Sharp Kabushiki Kaisha Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program
US7676670B2 (en) 2005-09-08 2010-03-09 Sony Corporation Power supply control device and method, program, and recording/playback apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418542B2 (en) 2004-10-14 2008-08-26 Sharp Kabushiki Kaisha Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program
US7676670B2 (en) 2005-09-08 2010-03-09 Sony Corporation Power supply control device and method, program, and recording/playback apparatus

Similar Documents

Publication Publication Date Title
JP3838840B2 (ja) コンピュータ
JP2007122627A (ja) 情報処理装置及びメモリ初期化方法
JP3830867B2 (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP2000163268A (ja) コンピュータ
JP2005234872A (ja) コンピュータ、コンピュータ起動方法、biosプログラムおよび情報記憶媒体
JP3805195B2 (ja) プログラム書き換え装置及びプログラム書き換え方法
JP2001034822A (ja) 自動販売機の制御装置
JPH11338690A (ja) フラッシュメモリ、ファームウエア使用システム装置およびファームウエア書き換え方法
JPH11265283A (ja) 記憶装置におけるファームウェアの修正方法及び記憶装置
JPH10333898A (ja) マイクロコンピュータ
JPH09146774A (ja) パーソナルコンピュータシステム
JPH08305561A (ja) ファームウエアダウンロード方法とその装置
JP2005050079A (ja) サーバ装置、bios更新プログラム、初期起動プログラム、及びbios更新方法
JP2001273143A (ja) 電子制御装置
JP2003288213A (ja) ブートプログラム記憶装置、電子機器のブートプログラム記憶方法
JP2005128613A (ja) 画像形成装置
JPH10283172A (ja) フラッシュromデータ書き換え方式
JPH08161160A (ja) 光ディスク再生装置のファームウエア更新方法
JPH09265399A (ja) Bios書き込み方法
JP2004355310A (ja) 画像処理装置
JP2003122575A (ja) 情報処理装置
JPH08101794A (ja) ファームウェアのプログラム書き換え方式
JP2003242046A (ja) 情報処理装置、情報処理装置の動作方法及びプログラム
JP2006243810A (ja) マイクロコンピュータシステム
KR19990077915A (ko) 이중 운영 시스템을 가지는 컴퓨터 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070925

A131 Notification of reasons for refusal

Effective date: 20071106

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080312