JP2006154988A - アップデート方法及び装置 - Google Patents
アップデート方法及び装置 Download PDFInfo
- Publication number
- JP2006154988A JP2006154988A JP2004341414A JP2004341414A JP2006154988A JP 2006154988 A JP2006154988 A JP 2006154988A JP 2004341414 A JP2004341414 A JP 2004341414A JP 2004341414 A JP2004341414 A JP 2004341414A JP 2006154988 A JP2006154988 A JP 2006154988A
- Authority
- JP
- Japan
- Prior art keywords
- data
- firmware
- software
- latest
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】ソフトウェアを簡単かつ効率よくアップデートすることができるアップデート方法及び装置を提供する。
【解決手段】ホストコンピュータから最新のファームウェアをダウンロードし、SDRAMに格納する(S11)。フラッシュEEPROMに格納されている現在のファームウェアと最新のファームウェアとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出する(S12)。データの異なるセクタがある場合、そのセクタのデータのみを書き換えて(S15)、フラッシュEEPROMに格納されている現在のファームウェアをアップデートする。
【選択図】図3
【解決手段】ホストコンピュータから最新のファームウェアをダウンロードし、SDRAMに格納する(S11)。フラッシュEEPROMに格納されている現在のファームウェアと最新のファームウェアとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出する(S12)。データの異なるセクタがある場合、そのセクタのデータのみを書き換えて(S15)、フラッシュEEPROMに格納されている現在のファームウェアをアップデートする。
【選択図】図3
Description
本発明はアップデート方法及び装置に係り、特にファームウェアのアップデート方法及び装置に関する。
一般にパソコンや周辺機器、家電製品などには、ハードウェアの基本的な制御を行うためにファームウェアが搭載されている。このファームウェは、機器に内蔵されたROMやフラッシュメモリに記憶されており、後から機能の追加や不具合を修正するために、アップデートできるようにされているものが多い。
特許文献1では、このファームウェアのアップデート方法として、ファームウェアを格納するメモリを複数の領域に分割し、各領域に複数のモジュール群に分割されたファームウェア本体を配置し、アップデート時には、変更のあるモジュール群が格納された領域のみを書き換えてアップデートすることが提案されている。
特開2002−342100号公報
しかしながら、特許文献1の方法では、モジュール単位で書き換えを行わなければならず、モジュールの一部が異なる場合であってもモジュール全体を書き換えなければならないため、効率が悪いという欠点がある。
また、プログラムファイル等をモジュールが変更されたかどうかに合わせて作成する必要があり、その際、アップデート前のバージョンによって変更するモジュールも異なるため、前もってアップデート前のバージョンを知る必要があり、アップデートに手間がかかるという欠点もある。
本発明はこのような事情に鑑みてなされたもので、ソフトウェアを簡単かつ効率よくアップデートすることができるアップデート方法及び装置を提供することを目的とする。
請求項1に係る発明は、前記目的を達成するために、記憶媒体に記憶されているソフトウェアを最新のソフトウェアにアップデートするソフトウェアのアップデート方法において、記憶媒体に記憶されているソフトウェアの全データと最新のソフトウェアの全データとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出し、検出されたセクタのデータのみを書き換えて記憶媒体に記憶されているソフトウェアを最新のソフトウェアにアップデートすることを特徴とするソフトウェアのアップデート方法を提供する。
請求項1に係る発明では、記憶媒体に記憶されているソフトウェアと最新のソフトウェアとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出する。そして、検出されたセクタのデータのみを書き換えて、記憶媒体に記憶されているソフトウェアを最新のものにアップデートする。これにより、データの書き換えが必要最小限で済み、短時間で効率よくアップデート作業を行うことができる。また、相互のバージョンを確認する必要がないので、簡単に最新のソフトウェアにアップデートすることができる。
請求項2に係る発明は、前記目的を達成するために、記憶媒体に記憶されているソフトウェアを最新のソフトウェアにアップデートするソフトウェアのアップデート装置において、最新のソフトウェアを格納する格納手段と、前記記憶媒体に記憶されているソフトウェアの全データと前記格納手段に格納されている最新のソフトウェアの全データとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出する検出手段と、前記記憶媒体に記憶されているソフトウェアに対して前記検出手段で検出されたセクタのデータを最新のソフトウェアの対応するセクタのデータに書き換える書換手段と、を備えたことを特徴とするソフトウェアのアップデート装置を提供する。
請求項2に係る発明では、記憶媒体に記憶されているソフトウェアと最新のソフトウェアとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出する。そして、検出されたセクタのデータのみを書き換えて、記憶媒体に記憶されているソフトウェアをアップデートする。これにより、データの書き換えが必要最小限で済み、短時間で効率よくアップデート作業を行うことができる。また、相互のバージョンを確認する必要がないので、簡単に最新のソフトウェアにアップデートすることができる。
本発明に係るアップデート方法及び装置によれば、簡単かつ効率よくソフトウェアをアップデートすることができる。
以下、添付図面に従って本発明に係るアップデート方法及び装置の好ましい実施の形態について詳説する。なお、本実施の形態では、プリンタに搭載されたファームウェアをアップデートする場合を例に説明する。
図1は、プリンタ10の電気的構成を示すブロック図である。同図に示すように、プリンタ10は、主として中央処理装置(CPU)12、フラッシュEEPROM14、SDRAM16、通信部18、プリントエンジン20で構成されている。
CPU12は、プリンタ10の全体の動作を統括制御する制御部として機能し、所定のプログラムに従ってプリンタ10の各部を制御する。
フラッシュEEPROM14には、所定のセクタにファームウェアが格納されている。ファームウェアには、図2に示すように、プリンタ制御プログラムの他、ブートセレクタ、スタートプログラム(ファームウェアの書き換え、プログラムバージョン等)、印画パラメータテーブル等が含まれ、各種プログラムは、フラッシュEEPROM14からSDRAM16にロードされて、CPU12による実行制御がなされる。なお、このファームウェアのアップデート方法については、後に詳述する。
SDRAM16は、プログラムの展開領域として用いられる他、CPU12の作業領域として用いられる。
通信部18は、CPU12の制御の下、プリンタ10が接続されたホストコンピュータ30との間でデータの送受信を行う。なお、ホストコンピュータ30との接続は、たとえばUSBケーブルを介して行われ、通信部18はUSB規格に従ったデータの送受信を行う。
プリントエンジン20は、CPU12の制御の下、ホストコンピュータ30から送信されたプリントデータの印画処理を行う。
前記のごとく構成されたプリンタ10は、ホストコンピュータ30からのプリント指示に応じてホストコンピュータ30から介してプリントデータを受信し、指定されたフォーマットでプリントデータを印画紙に印画する。
次に、前記のごとく構成されたプリンタ10のファームウェアのアップデート方法について説明する。
図3は、本実施の形態のプリンタ10におけるファームフェアのアップデートの手順を示すフローチャートである。
ファームウェアのアップデートは、ホストコンピュータ30からの指示の下で行われる。プリンタ10のCPU12は、このホストコンピュータ30からのアップデート実行の指示の有無を判定し(ステップS10)、アップデート実行の指示アリと判定すると、以下のアップデート処理を開始する。
まず、最新のファームウェアをホストコンピュータ30からダウンロードする(ステップS11)。すなわち、通信部18を介してホストコンピュータ30から送られてくる最新のファームウェアを受信する。この際、最新のファームウェアは、全データがダウンロードされる。ダウンロードされた最新のファームウェアは、SDRAM16の所定領域に格納される。
次に、CPU12は、フラッシュEEPROM14に格納されている現在のファームウェアとSDRAM16に格納された最新のファームウェアとをセクタごとに比較し、互いにデータが異なるセクタを検出する(ステップS12)。そして、その検出結果に基づいて、互いにデータが異なるセクタの有無を判定する(ステップS13)。
この判定の結果、互いにデータが異なるセクタが無いと判定すると、CPU12は、フラッシュEEPROM14に格納されている現在のファームウェアが最新のものと判断して、アップデートの処理を終了する。
一方、互いにデータが異なるセクタがあると判定すると、CPU12は、現在フラッシュEEPROM14に格納されているファームウェアに対して該当するセクタ(最新のファームウェアとデータが異なるセクタ)のデータをクリアする(ステップS14)。そして、データをクリアしたセクタに対して対応する最新のファームウェアのセクタのデータを書き込む(ステップS15)。たとえば、図4に示すように、第15セクタのデータが相互に異なる場合、現在フラッシュEEPROM14に格納されているファームウェアの第15セクタのデータをクリアし、クリアした第15セクタに最新のファームウェアの第15セクタのデータを書き込む。
この後、CPU12は、書き換えたファームウェア(フラッシュEEPROM14に格納されているファームウェア)の全データと、最新のファームウェア(SDRAM16に格納されているファームウェア)の全データとを照合し、正しくアップデートされたか否か検証する(ベリファイ)する(ステップS16)。
この検証の結果、書き換えたファームウェアと最新のファームウェアとが一致すると、CPU12は、プリンタ10を再起動し(ステップS17)、アップデート処理を終了する。
一方、書き換えたファームウェアと最新のファームウェアとが一致していない場合、CPU12は、ステップ12の処理に戻り、再度、フラッシュEEPROM14に格納されている現在のファームウェアとSDRAM16に格納された最新のファームウェアとをセクタごとに比較し、互いにデータが異なるセクタを検出する(ステップS12)。
このように、本実施の形態のファームウェアのアップデート方法によれば、現在のファームウェアと最新のファームウェアとをセクタ単位で比較し、異なるセクタのデータのみを書き換えるので、短時間で効率よくアップデート処理を行うことができる。
また、現在のファームウェアのバージョンを意識せずに処理できるため、アップデートの手順を簡便化することもできる。
また、異なるセクタのデータのみを書き換えるだけなので、現在のバージョンに合わせて差分プログラム等を作成する必要がなく、新しいバージョンを作成する場合であっても一つのファームウェアの作成で済む。
さらに、ホストコンピュータ側は、セクタごとの変更の有無を気にする必要もなく、アップデートの対象となる領域等を指定する必要もないので、簡単にアップデート処理を行うことができる。
なお、本実施の形態では、プリンタ10のファームウェアをアップデートする場合を例に説明したが、本発明の適用は、これに限定されるものではなく、PCや周辺機器(各種ドライブ、スキャナ、モデム、デジタルカメラ等)、家電製品(ゲーム機、ビデオ、DVDレコーダ等)等のファームウェアのアップデートを必要とする全ての機器に適用することができる。
また、本実施の形態では、最新のファームウェアをホストコンピュータ30から通信部18を介してダウンロードすることにより取得するようにしているが、最新のファームウェアの取得方法は、これに限定されるものではない。たとえば、プリンタにメモリカードを装填するためのカードスロットが備えられている場合には、メモリカードに最新のファームウェアを格納し、そのメモリカードをカードスロットに装填して、メモリーカードから最新のファームウェアを取得するようにしてもよい。
なお、最新のファームウェアをホストコンピュータ30からプリンタ10に送信する場合、ホストコンピュータ30は、各プログラムと共に、各プログラム内のデータの合計(SUM値)を送信することが好ましい(図2参照)。一方、プリンタ10は、送られてきたプログラムについて、データの合計を計算し、プログラムと共に送られてきたSUM値と一致するか否か検査することが好ましい。これにより、ホストコンピュータ30から最新のファームウェアを誤りなくダウンロードすることができる。
また、本実施の形態では、ファームウェアがフラッシュEEPROMに格納されている場合を例に説明したが、ファームウェアの格納場所は、これに限定されるものではないく、他の記憶媒体に格納するようにしてもよい。
さらに、本実施の形態では、本発明をファームウェアのアップデートに適用した場合を例に説明したが、本発明の適用はこれに限定されるものではなく、種々のソフトウェアのアップデートに適用することができる。
10…プリンタ、12…中央処理装置(CPU)、14…フラッシュEEPROM、16…SDRAM、18…通信部、20…プリントエンジン、30…ホストコンピュータ
Claims (2)
- 記憶媒体に記憶されているソフトウェアを最新のソフトウェアにアップデートするソフトウェアのアップデート方法において、
記憶媒体に記憶されているソフトウェアの全データと最新のソフトウェアの全データとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出し、検出されたセクタのデータのみを書き換えて記憶媒体に記憶されているソフトウェアを最新のソフトウェアにアップデートすることを特徴とするソフトウェアのアップデート方法。 - 記憶媒体に記憶されているソフトウェアを最新のソフトウェアにアップデートするソフトウェアのアップデート装置において、
最新のソフトウェアを格納する格納手段と、
前記記憶媒体に記憶されているソフトウェアの全データと前記格納手段に格納されている最新のソフトウェアの全データとをセクタ単位で比較し、両者の間でデータが異なるセクタを検出する検出手段と、
前記記憶媒体に記憶されているソフトウェアに対して前記検出手段で検出されたセクタのデータを最新のソフトウェアの対応するセクタのデータに書き換える書換手段と、
を備えたことを特徴とするソフトウェアのアップデート装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004341414A JP2006154988A (ja) | 2004-11-26 | 2004-11-26 | アップデート方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004341414A JP2006154988A (ja) | 2004-11-26 | 2004-11-26 | アップデート方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006154988A true JP2006154988A (ja) | 2006-06-15 |
Family
ID=36633254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004341414A Pending JP2006154988A (ja) | 2004-11-26 | 2004-11-26 | アップデート方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006154988A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010198387A (ja) * | 2009-02-25 | 2010-09-09 | Kyocera Corp | 電子機器 |
WO2014171039A1 (ja) * | 2013-04-19 | 2014-10-23 | ヤンマー株式会社 | プログラムデータ書き換え方法、制御装置、プログラムデータ書き換え用プログラム、記録媒体及びツール装置 |
-
2004
- 2004-11-26 JP JP2004341414A patent/JP2006154988A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010198387A (ja) * | 2009-02-25 | 2010-09-09 | Kyocera Corp | 電子機器 |
WO2014171039A1 (ja) * | 2013-04-19 | 2014-10-23 | ヤンマー株式会社 | プログラムデータ書き換え方法、制御装置、プログラムデータ書き換え用プログラム、記録媒体及びツール装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634645B (zh) | 固件升级方法及终端 | |
CN102667716A (zh) | 使用固件更新应用程序更新部件的固件的方法及装置 | |
KR20050079835A (ko) | 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체 | |
US20060047938A1 (en) | Method and apparatus to initialize CPU | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
JP4784100B2 (ja) | 処理装置およびそのファームウェアダウンロード方法。 | |
US20040103172A1 (en) | Method of updating an operation system | |
US7577766B2 (en) | Method for controlling electronic apparatus, program for controlling electronic apparatus, electronic apparatus, and recording apparatus | |
CN115145650A (zh) | 信息处理装置、存储介质及信息处理方法 | |
CN114327574A (zh) | 一种差分升级方法、电子设备及存储介质 | |
KR20070044268A (ko) | 메인 보드의 부팅 처리 방법 및 그 장치 | |
KR100228717B1 (ko) | 레이저 프린터의 전원 오프 대처방법 | |
JP2006154988A (ja) | アップデート方法及び装置 | |
JP2008162054A (ja) | 印刷装置 | |
JP5419123B2 (ja) | 電子機器システム及びファームウェアの更新方法 | |
JP3308920B2 (ja) | 情報処理装置 | |
JP2007069514A (ja) | インクジェット記録装置 | |
JP4062429B2 (ja) | メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム | |
JP2001256057A (ja) | サービス装置の制御プログラムのアップデート方法及びサービス装置 | |
JP2003122575A (ja) | 情報処理装置 | |
JP2008117404A (ja) | メモリ書き換え制御システム。 | |
JP2006126987A (ja) | 画像処理装置 | |
JP2003288276A (ja) | 電子機器 | |
JP2009080592A (ja) | ファームウェア書替え方法 | |
JP2004054421A (ja) | メモリ、情報処理装置、記憶方法および情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Effective date: 20070110 Free format text: JAPANESE INTERMEDIATE CODE: A712 |