JP2002358207A - ファームウェア組込機器およびファームウェア組込機器のブートプログラム - Google Patents
ファームウェア組込機器およびファームウェア組込機器のブートプログラムInfo
- Publication number
- JP2002358207A JP2002358207A JP2001164401A JP2001164401A JP2002358207A JP 2002358207 A JP2002358207 A JP 2002358207A JP 2001164401 A JP2001164401 A JP 2001164401A JP 2001164401 A JP2001164401 A JP 2001164401A JP 2002358207 A JP2002358207 A JP 2002358207A
- Authority
- JP
- Japan
- Prior art keywords
- file
- program
- firmware
- compressed
- uncompressed
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
れている場合、圧縮形式のファイルとして記憶されてい
る場合のいずれの場合でもこれをロードすることができ
るファームウェア組込装置を提供する。 【解決手段】 フラッシュROM12に複数のファーム
ウェア120,121,122を記憶するとともに、各
ファイルが圧縮ファイルであるか非圧縮ファイルである
かを示す識別情報120a,121a,122aを記憶
する。ブートローダプログラムは、ブート時にファーム
ウェアを選択するとともに、そのファイルが圧縮ファイ
ルであるか非圧縮ファイルであるかを識別情報に基づい
て判断し、圧縮ファイルの場合には伸長しながら、非圧
縮ファイルの場合にはそのままRAM13上に展開す
る。
Description
リなどの内蔵ROMにファームウェア(プログラム)を
記憶しておき、ブート時にこれをRAM上に展開して動
作するファームウェア組込機器およびそのブートプログ
ラムに関する。
器は、ブート時にROMに記憶しているファームウェア
をブートローダが読み出してRAM上に展開する。従来
のファームウェア組込機器では、ファームウェアが圧縮
して記憶されているか非圧縮で記憶されているかのいず
れかであり、それが予め決められていたため、ファーム
ウェアをRAM上に展開するブートローダ(プログラ
ム)は、圧縮を伸長しながら読み出す機能、または、そ
のまま読み出してRAMに展開する機能のいずれかしか
備えなかった。また、ROMに記憶されているプログラ
ムファイルは、一見しただけではこれが圧縮ファイルで
あるか非圧縮ファイルであるかが分からないかった。
では、圧縮されたファームウェアと非圧縮のファームウ
ェアを混在させたり、ファームウェアのファイル形式を
圧縮/非圧縮で変更することなどはできなかった。
イル、圧縮ファイルのいずれの形式で記憶されている場
合でもこれを正常にロードすることができるファームウ
ェア組込機器およびロードプログラムを提供することを
目的とする。
グラムを記憶したROMと、ブート時にこのプログラム
をRAM上に展開する制御手段と、を備えたファームウ
ェア組込機器において、前記ROMは、前記プログラム
を圧縮ファイルまたは非圧縮ファイルとして記憶すると
ともに、このプログラムが非圧縮ファイルであるか圧縮
ファイルであるかを識別する識別情報を記憶し、制御手
段は、ブート時に、前記識別情報を読み取ってプログラ
ムが圧縮ファイル、非圧縮ファイルのいずれで記憶され
ているかを判断し、圧縮ファイルの場合にはこれを伸長
しつつRAM上に展開し、非圧縮ファイルの場合にはそ
のままRAM上に展開することを特徴とする。請求項2
の発明は、上記発明において、前記ROMは、複数のプ
ログラムを記憶するとともに、それぞれのプログラムに
ついての識別情報を記憶しており、前記制御手段は、ブ
ート時にプログラムを選択し、そのプログラムの識別情
報を参照して当該プログラムをRAM上に展開すること
を特徴とする。
るプログラムをRAM上に展開する制御手段に、そのプ
ログラムが圧縮ファイル、非圧縮ファイルのいずれで記
憶されているかを判断し、圧縮ファイルの場合にはこれ
を伸長しつつRAM上に展開し、非圧縮ファイルの場合
にはそのままRAM上に展開する動作を実行させること
を特徴とする。
ム(ファームウェア)は、圧縮ファイル、非圧縮ファイ
ルのいずれであってもよい。各プログラムファイルに対
応して、そのファイルが圧縮ファイルであるか非圧縮フ
ァイルであるかの識別情報が記憶されている。この識別
情報はプログラムファイルと別のデータとしてもよく、
プログラムファイルの一部としてヘッダなどに書き込ん
でおいてもよい。
するプログラムの識別情報を参照してそのファイルが圧
縮ファイルであるか非圧縮ファイルであるかを判断し、
圧縮されているものであれば伸長しながらRAM上に展
開し、非圧縮ファイルであればそのままRAM上に展開
する。これにより、ROMに圧縮/非圧縮のどちらのフ
ァイル形式でファームウェアを書き込んでおいても、ま
た、ROM上に圧縮形式のファイルと非圧縮のファイル
を混在させても、これを識別して伸長またはそのままR
AM上に展開することができるため、ファームウェアの
自由度が高くなるという利点がある。なお、この発明で
ブート時とはプログラムのロード時の意で必ずしも電源
オン時に限定されるものではない。
ファームウェア組込機器のブロック図である。図2は同
ファームウェア組込機器の一例であるCDレコーダの外
観図である。なお、この発明のファームウェア組込機器
はCDレコーダ以外にも、オーディオ機器やポータブル
電子楽器など各種の民生機器に適用可能である。後述の
コントローラは、たとえばマイクロコンピュータ(マイ
コン)で構成される。
に、プレイボタン,停止ボタンなどのスイッチ群、ディ
スクやトラックを選択するためのマルチジョグダイヤル
などの操作子を備え、利用者によってこれらの操作子が
操作されたとき、ファームウェアである制御プログラム
にしたがって対応する処理動作を実行するとともに、そ
の操作の内容等をディスプレイに表示する。
OM(マスクROM)11、フラッシュROM12、R
AM13、インタフェース14などが接続されている。
コントローラ10がマイコンで構成される場合、RAM
13はマイコンに内蔵のRAMであってもよい。
ートローダが記憶されている。ブートローダは、装置の
電源オン時などのブート時に最初に実行されるプログラ
ムであり、必要なファームウェアを選択して、それをR
AM13上に展開するプログラムである。フラッシュR
OM12は、複数のファームウェア120、121、1
22を記憶している。同図では3つのファームウェアを
記憶しているが、その数は3に限定されない。各ファー
ムウェアのファイルの先頭に、このファイルが圧縮ファ
イルであるか非圧縮ファイルであるかを示す識別情報1
20a、121a、122aが書き込まれている。この
識別情報はファイルのヘッダ部に書き込んでおいてもよ
いが、プログラムファイルとは別のテーブルなどに記憶
するようにしてもよい。この実施形態では、ブートロー
ダを記憶するROM11とファームウェアを記憶するR
OM12を別に設けたが、1つのROMにブートローダ
とファームウェアを一緒に記憶するようにしてもよい。
ムが展開されるとともに、動作中に発生した種々のデー
タが記憶される。また、インタフェース14には、コン
トローラが制御する各種動作部やユーザ操作パネルなど
が接続されている。
されると、コントローラ10はまずブートローダを起動
し、必要なファームウェアを選択する。この選択された
ファームウェアが圧縮ファイルで記憶されているか非圧
縮ファイルで記憶されているかを識別情報で判断し、圧
縮ファイルであれば、これを伸長しながら読み出してR
AM13上に展開し、非圧縮ファイルであれば、これを
そのままRAM13上に展開する。この展開の間、ディ
スプレイには「WELCOME」が表示されている。
ーチャートである。電源がオンされると(s1)、コン
トローラ10はまずブートローダを起動する(s2)。
そして設定されているモードなどを参照してどのファー
ムウェアを使用するかを決定する(s3)。そのファー
ムウェアをフラッシュROM12上で検索し、そのファ
ームウェアの識別情報を読み出して圧縮ファイルである
か非圧縮ファイルであるかを判定する(s4)。圧縮フ
ァイルであった場合にはこれを伸長しながらRAM13
上に展開する(s5)。非圧縮ファイルの場合にはその
ままRAM13上に展開する(s6)。プログラムファ
イルを展開するために要する時間は、1秒〜数秒程度で
あり、この間ディスプレイにはウェルカム表示を行う。
展開が終了するとこのファームウェアを起動し(s
7)、製品としての動作を開始する(s8)。
に複数のファームウェアを記憶しておき、そのうちの1
つを選択するようにしているが、フラッシュROM12
に記憶するファームウェアは1つであってもよい。ま
た、メモリ素子としてマスクROMを用いてもよい。
ムウェアを記憶しておき、モードに応じて選択するよう
にすればよい。 バージョンアップされたプログラムと以前使用され
ていた旧バージョンのプログラム 処理内容に応じて旧バージョンのプログラムを読み出す
ことにより、以前は処理できていたのがバージョンアッ
プしたら使えなくなったという事態を招くことがない。
この場合、使用頻度の低い旧バージョンのプログラムを
圧縮ファイルとして記憶しておくことにより、フラッシ
ュROMの容量を節約することができる。
アップ用として同じプログラムを2つ記憶する これにより、実行用のプログラムが何らかの原因で壊れ
た場合でも支障なく装置としての機能を実行することが
できる。バックアップ用のプログラムを圧縮ファイルと
して記憶しておく。
プログラムを記憶する 設定されているモードやユーザ操作に応じて所定のプロ
グラムを読み出すことによって複数の機能を実行するこ
とができる。この場合に使用頻度の少ないプログラムを
圧縮しておくことでフラッシュROMの容量を節約する
ことができる。この場合において、一方のプログラムを
通常の民生機器として動作するプログラムとし、他方の
プログラムをサービスマン用のメンテナンスプログラム
とすることもできる。
れは同じファームウェアを非圧縮および圧縮で記憶し、
圧縮されたものを非圧縮のもののバックアップに用いる
ものである。自動的に非圧縮のものを優先させるように
してもよいが、ブートローダにどちらのファームウェア
を優先するかの優先順位を記憶しておいてもよい。ブー
トローダは、ブート時に各ファームウェアの優先順位を
調べ、優先順位の高いほうからそのファームウェアが正
常であるか、および、そのファームウェアの圧縮/非圧
縮を調べる。そして、正常なもので最も優先順位の高い
ものをRAMに展開して起動する。ファイルが正常であ
るか壊れているかは、周知のチェックサムやCRCなど
の手法でチェックできるようにしておけばよい。
を詳細に説明する。同図において、電源がオンされる
と、コントローラ10はまずブートローダを起動する
(s11)。各ファームウェアの優先順位をチェックし
て最も優先順位の高いファームウェアを見つける(s1
2)。そのファームウェアをフラッシュROM12上で
検索し、そのファイルが正常であるか否かをチェックす
る(s13)。正常であった場合には、そのファームウ
ェアの識別情報を読み出して圧縮ファイルであるか非圧
縮ファイルであるかを判定する(s17)。圧縮ファイ
ルであった場合にはこれを伸長しながらRAM13上に
展開する(s18)。非圧縮ファイルの場合にはそのま
まRAM13上に展開する(s19)。プログラムファ
イルを展開するために要する時間は、1秒〜数秒程度で
あり、この間ディスプレイにはウェルカム表示を行う。
展開が終了するとこのファームウェアを起動し(s2
0)、製品としての動作を開始する。
い(壊れている)と判断された場合には、次に優先順位
の高いファームウェアを検索し(s14)、あった場合
にはその正常/異常を調べるためにs13に戻る。次に
優先順位の高いファームウェアが見つけられなかった場
合には起動できるファームウェアがないと判断し(s1
6)、異常メッセージをディスプレイに表示して(s2
1)ダウン状態になる。
に限らず、ユーザが新たなモード設定をしたときなどに
リブートしてs2から実行するようにしてもよい。
複数のファームウェアを記憶しておいて、多機能にした
り装置の信頼度を向上したりすることができるうえ、フ
ァームウェアを記憶するメモリ容量を小さくすることが
できる。
込機器のブロック図
レコーダの外観図
ート
ート
ROM、12…(複数のファームウェアを記憶してい
る)フラッシュROM、13…RAM、14…インタフ
ェース、120、121、122…(ファームウェア
の)ファイル、120a,121a、122a…(圧縮
/非圧縮を識別する)識別情報。
Claims (3)
- 【請求項1】 プログラムを記憶したROMと、ブート
時にこのプログラムをRAM上に展開する制御手段と、
を備えたファームウェア組込機器において、 前記ROMは、前記プログラムを圧縮ファイルまたは非
圧縮ファイルとして記憶するとともに、このプログラム
が非圧縮ファイルであるか圧縮ファイルであるかを識別
する識別情報を記憶し、 制御手段は、ブート時に、前記識別情報を読み取ってプ
ログラムが圧縮ファイル、非圧縮ファイルのいずれで記
憶されているかを判断し、圧縮ファイルの場合にはこれ
を伸長しつつRAM上に展開し、非圧縮ファイルの場合
にはそのままRAM上に展開するファームウェア組込機
器。 - 【請求項2】 前記ROMは、複数のプログラムを記憶
するとともに、それぞれのプログラムについての識別情
報を記憶しており、 前記制御手段は、ブート時にプログラムを選択し、その
プログラムの識別情報を参照して当該プログラムをRA
M上に展開する請求項1に記載のファームウェア組込機
器。 - 【請求項3】 ROMに記憶されているプログラムをR
AM上に展開する制御手段に、そのプログラムが圧縮フ
ァイル、非圧縮ファイルのいずれで記憶されているかを
判断し、圧縮ファイルの場合にはこれを伸長しつつRA
M上に展開し、非圧縮ファイルの場合にはそのままRA
M上に展開する動作を実行させるファームウェア組込機
器のブートプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001164401A JP2002358207A (ja) | 2001-05-31 | 2001-05-31 | ファームウェア組込機器およびファームウェア組込機器のブートプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001164401A JP2002358207A (ja) | 2001-05-31 | 2001-05-31 | ファームウェア組込機器およびファームウェア組込機器のブートプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002358207A true JP2002358207A (ja) | 2002-12-13 |
Family
ID=19007227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001164401A Pending JP2002358207A (ja) | 2001-05-31 | 2001-05-31 | ファームウェア組込機器およびファームウェア組込機器のブートプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002358207A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005002060A2 (en) * | 2003-06-16 | 2005-01-06 | Intel Corporation | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan |
KR100629515B1 (ko) | 2005-07-12 | 2006-09-28 | 삼성전자주식회사 | 전자장치 및 그 테스트 프로그램 및 부트로더의 자동삭제방법 |
JP2013045285A (ja) * | 2011-08-24 | 2013-03-04 | Fuji Xerox Co Ltd | 情報処理装置、画像形成装置およびプログラム |
JP2017167887A (ja) * | 2016-03-17 | 2017-09-21 | 日本電気株式会社 | ファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラム |
CN114911533A (zh) * | 2022-05-19 | 2022-08-16 | 长沙金维信息技术有限公司 | 基于NorFlash接口的芯片启动方法 |
-
2001
- 2001-05-31 JP JP2001164401A patent/JP2002358207A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005002060A2 (en) * | 2003-06-16 | 2005-01-06 | Intel Corporation | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan |
WO2005002060A3 (en) * | 2003-06-16 | 2005-12-01 | Intel Corp | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan |
US7934209B2 (en) | 2003-06-16 | 2011-04-26 | Intel Corporation | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan |
KR100629515B1 (ko) | 2005-07-12 | 2006-09-28 | 삼성전자주식회사 | 전자장치 및 그 테스트 프로그램 및 부트로더의 자동삭제방법 |
JP2013045285A (ja) * | 2011-08-24 | 2013-03-04 | Fuji Xerox Co Ltd | 情報処理装置、画像形成装置およびプログラム |
JP2017167887A (ja) * | 2016-03-17 | 2017-09-21 | 日本電気株式会社 | ファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラム |
CN114911533A (zh) * | 2022-05-19 | 2022-08-16 | 长沙金维信息技术有限公司 | 基于NorFlash接口的芯片启动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7085957B2 (en) | Upgrading of firmware with tolerance to failures | |
EP1110147B1 (en) | Boot failure recovery | |
EP0483865A2 (en) | Personal computer capable of changing boot priority | |
US5634137A (en) | Method and apparatus for updating system configuration based on open/closed state of computer housing cover | |
US7908469B2 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
US20080010446A1 (en) | Portable apparatus supporting multiple operating systems and supporting method therefor | |
CN101354649B (zh) | 电脑多重操作系统的启动方法 | |
JP3629517B2 (ja) | 情報処理装置のブートデバイス切替方法。 | |
EP2645239A1 (en) | Electronic apparatus and booting method | |
JP2002358207A (ja) | ファームウェア組込機器およびファームウェア組込機器のブートプログラム | |
CN100410893C (zh) | 自行修复嵌入式设备的主控应用程序的方法及设备 | |
JPH11167493A (ja) | 情報処理装置およびその拡張装置の立ち上げ方法 | |
US20060168440A1 (en) | OS selection methods and computer systems utilizing the same | |
JP2003067284A (ja) | デジタル放送受信機 | |
JPH08129495A (ja) | コンピュータシステム及びそのセルフテスト方法 | |
JP2003131880A (ja) | 情報処理装置、プログラム起動方法及び起動制御プログラム | |
US20040236932A1 (en) | Apparatus and method for firmware upgrade in microprocessor-based processing units | |
GB2400194A (en) | Upgrading software in a consumer product | |
JP2994268B2 (ja) | 情報処理装置 | |
JP3296520B2 (ja) | ダウンロード・ブートストラップ方法 | |
JP3487117B2 (ja) | データ処理装置 | |
JP2004287979A (ja) | ディスク制御装置及びディスク装置用制御プログラムの更新方法 | |
KR100806104B1 (ko) | 디지털 가전기기의 소프트웨어 업그레이드 방법 | |
JP5066946B2 (ja) | Os種別自動特定装置、os自動起動装置、プロセッサシステム、os種別自動特定方法、os自動起動方法、プログラム、及び記憶媒体 | |
KR100636518B1 (ko) | 이동통신단말기의 펌웨어 업그레이드 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040924 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071009 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080603 |