JP2011150383A - ファームウェア書き込み方法 - Google Patents

ファームウェア書き込み方法 Download PDF

Info

Publication number
JP2011150383A
JP2011150383A JP2010008691A JP2010008691A JP2011150383A JP 2011150383 A JP2011150383 A JP 2011150383A JP 2010008691 A JP2010008691 A JP 2010008691A JP 2010008691 A JP2010008691 A JP 2010008691A JP 2011150383 A JP2011150383 A JP 2011150383A
Authority
JP
Japan
Prior art keywords
firmware
rewriting
flag
flash rom
end flag
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
JP2010008691A
Other languages
English (en)
Other versions
JP2011150383A5 (ja
Inventor
Takeshi Matsuda
剛 松田
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.)
Hitachi Healthcare Manufacturing Ltd
Original Assignee
Hitachi Medical 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 Hitachi Medical Corp filed Critical Hitachi Medical Corp
Priority to JP2010008691A priority Critical patent/JP2011150383A/ja
Publication of JP2011150383A publication Critical patent/JP2011150383A/ja
Publication of JP2011150383A5 publication Critical patent/JP2011150383A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 書き替えが中断したり、失敗したりしたときには、書き替えができなかったことを自動で検出し、装置が書き替え作業の前と同じ動作するように戻せるファームウェアの書き替え手法を提供することを課題とする。
【解決手段】 ファームウェアを書き替える前に、動作しているファームウェアをコピーして退避させる。また、ファームウェアが正常に書き込まれたときには不揮発性メモリの決められた領域に書き替え完了フラグとファームウェアのサイズを記録するようにする。CPU起動時に書き替え完了フラグを確認し、フラグがあればそのまま書き替えられたファームウェアを実行し、なければ退避させたファームウェアを実行する。
【選択図】 図1

Description

本発明は、ファームウェアで動作する装置へのファームウェアを書き込む方法に関する。
ファームウェアで動作する装置には、ファームウェアの不具合の解消や、機能追加を行う為に新しいファームウェアに書き替えることがある。古いファームウェアから新しいファームウェアへの書き替えが正常に終わらなかった場合、装置が異常な動作を起こしてしまう。そのため、装置が正常に動作するにファームウェアを実行できるようにしなければならない。特許文献1では古いファームウェア用と新しいファームウェア用のFlash ROMを用意し、新しいファームウェアに異常があった場合、コマンドを送って古いファームウェアから起動するようにしている。特許文献2ではFlash ROMに新しいファームウェア用と古いファームウェア用の領域を用意しておき、さらにNVRAMを用意し、そこにファームが正常動作するかどうかのフラグと有効なファームウェアを記憶しておき、動作するファームウェアを自動で実行できるようにしている。
特開平11-110218号公報 特開2003-296131号公報
特許文献1及び特許文献2ともに、ファームウェアを実行するCPUとは別にファームウェアを監視するためのMPUや、フラグを記憶するためにNVRAMを用意している。
そこで、本発明の目的は、実行可能なファームウェアを選択するための装置の追加なしに、ファームウェアの書き替えに失敗したときは自動で書き替え作業前のファームウェアを実行可能にすることである。
上記の課題を解決するために、本発明によれば、ファームウェアの書き替えを行うためのコマンドを受信するステップと、
Flash ROM1のファームウェア実行領域に格納されているファームウェアと書き込み終了フラグとファームウェアサイズをそれぞれFlash ROM2のファームウェア退避領域と書き込み終了フラグとファームウェアサイズにコピーするステップと、
新ファームウェアを受信するステップと、
Flash ROM1のファームウェア実行領域に新ファームウェアを書き込むステップと、
受信した新ファームウェアとファームウェア実行領域に書き込んだファームウェアを比較しエラーがないことを確認するステップと、
エラーがなければ、書き込み終了フラグと書き込んだファームウェアサイズをFlash ROM1に書き込み、
エラーがあった場合は、書き込み終了フラグの書き込みを行わないステップと、
Flash ROM1の書き込み終了フラグを確認するステップと、
フラグが確認できればファームウェア実行領域のファームウェアを実行し、
フラグが確認できなかった場合は、Flash ROM2のファーム退避領域のファームウェアをFlash ROM1のファームウェア実行領域にコピーし、Flash ROM2の書き込み終了フラグとファームウェアサイズをそれぞれFlash ROM1の書き込み終了フラグ7とファームウェアサイズにコピーしてファームウェアの書き換え作業を行う前のファームウェアを実行するステップとを備えたファームウェア書き込み方法が提供される。
本発明によれば、書き替えように追加の装置なしに、ファームウェアの書き替えが失敗した場合、自動的に失敗を検出し、書き替えを行う前のファームウェアを実行できることによって、書き替え失敗したファームウェアによって装置が異常な動作をするのを防ぐことができるようになる。
本発明の第1の実施形態におけるブロック図 本発明の第1の実施形態におけるFlash ROMのアドレスマップ 本発明の第1の実施形態におけるフローチャート 本発明の第2の実施形態におけるブロック図 本発明の第3の実施形態におけるブロック図 本発明の第3の実施形態におけるFlash ROMのアドレスマップ
以下、本発明の実施の形態について、詳細に説明する。
本発明の実施形態を図1を用いて説明する。
ファームウェアの書き替えは、ファームウェアやコマンドを送信するPC1と、ファームウェアの実行、書き替えを行うCPU2と、古いファームウェアのコピーを置く不揮発性メモリFlash ROM2(4)と、CPUで実行されるファームウェアが格納される不揮発メモリFlash ROM1(3)と、高速なデータの読み書きを行う揮発性メモリSRAM5と、ブートプログラムとファームウェア書き替えプログラムが入っているCPU内蔵ROM6と、ファームウェアの書き込みが正常に終わったことを識別するための書き込み終了フラグ7、9と書き込んだファームウェアのサイズ8、10、とPC1とCPU2とが通信するためのシリアルバス11と、CPUと各メモリ間の通信を行うためのメモリバス12からなる装置で行う。
実施例1の動作を図2を用いて説明する。ファームウェアの書き替えを行うためにPC1からCPU2へ送られた書き替えコマンドを受信する(30A)。コマンドを受信するとまず、Flash ROM1(4)のファームウェア実行領域(203)に格納されているファームウェアと書き込み終了フラグ7とファームウェアサイズ8をそれぞれFlash ROM2(3)のファームウェア退避領域(206)と書き込み終了フラグ9とファームウェアサイズ10にコピーする(30B)。コピーが終わったら新ファームウェアを受信する(30C)。ファームウェアの受信中はサムチェックを行い(30D)、エラーがなければFlash ROM1(4)のファームウェア実行領域(203)に書き込む(30E)。エラーがあった場合は書き込みを行わない。
書き込みが終了したら、受信したファームウェアとファームウェア実行領域(203)に書き込んだファームウェアを比較しエラーがないことを確認する(30F)。エラーがなければ、書き込み終了フラグ7と書き込んだファームウェアサイズ8を書き込む(30G)。書き込み終わったら、自動的にCPUはリセットされる(30H)。もし、サムチェックやファームウェアのデータの比較でエラーがあった場合は、書き込み終了フラグの書き込みを行わずCPUのリセットを行う。リセット後にFlash ROM1(4)の書き込み終了フラグ7を確認(30I)し、フラグが確認できればファームウェア実行領域(203)のファームウェアを実行する(30K)。フラグが確認できなかった場合は、ファーム退避領域(206)のファームウェアをファームウェア実行領域(203)にコピーし、Flash ROM2の書き込み終了フラグ9とファームウェアサイズ10をそれぞれFlash ROM1の書き込み終了フラグ7とファームウェアサイズ8にコピーして(30J)ファームウェアの書き換え作業を行う前のファームウェアを実行する。
特許文献1のFROM1,2は片方がファームウェア実行用、もう一つがバックアップ用になっており、サムチェックの結果でどっちが実行用になるか決定される。
一方、上記実施例1によれば、Flash ROM1はファームウェア実行用、Flash ROM2は退避用と固定されている。上記実施例1ではサムチェックでエラーが発生した場合は、Flash ROM2のデータをFlash ROM1に戻す作業が必要になる。上記実施例1では、Flash ROMにどのファームウェアを実行するかを判定するフラグを記録している。
次に、実施例2について図4を用いて説明する。実施例1と異なる点は、Flash ROM2がないことである。以下、第1の実施形態と異なる箇所のみ説明し、同じ箇所の説明は省略する
PC1からの書き替えコマンドを受信後、ファームウェア実行領域(203)のファームウェアをPC1に送り、PC1にコピーすることで退避を行う。CPUリセット後、書き込み終了フラグが確認できなかった場合、PC1に保存したファームウェアをダウンロードして、ファームウェア実行領域(203)に書き込むことで書き換え作業を行う前のファームウェアを実行する。
次に、実施例3について図5を用いて説明する。実施例2同様、Flash ROM2がないが、Flash ROM1の容量はファームウェア2つ分より大きい。以下、異なる箇所のみ説明し、同じ箇所の説明は省略する。
図6のようにFlash ROM1の中にファームウェア実行領域(603)、ファームウェア退避領域((606)、書き込みフラグ7(601)と9(604)、ファームウェアサイズ8(602)、10(605)を配置する。
特許文献2の2つの領域は片方がファームウェア実行用、もう一つがバックアップ用になっており、テストの結果でどちらが実行用になるか決定される。また、同じFROM上にブートプログラムが入っている。どのファームを実効するか判定する情報は外部のNVRAMに記録されている。
上記実施例3では実行用、退避用領域と固定されている。ブートプログラムはCPU内蔵ROM内である。どのファームを実効するかを判断するフラグもFlash ROMに記録されている。
本発明は、磁気共鳴イメージング装置に利用することができる。
1 PC、2 CPU、3、4 不揮発性メモリ、5 揮発性メモリ、6 CPU内蔵ROM、7、9 書き込み終了フラグ、8、10 ファームウェアのサイズ11 シリアルバス、12 メモリバス

Claims (1)

  1. ファームウェアの書き替えを行うためのコマンドを受信するステップと、
    Flash ROM1のファームウェア実行領域に格納されているファームウェアと書き込み終了フラグとファームウェアサイズをそれぞれFlash ROM2のファームウェア退避領域と書き込み終了フラグとファームウェアサイズにコピーするステップと、
    新ファームウェアを受信するステップと、
    Flash ROM1のファームウェア実行領域に新ファームウェアを書き込むステップと、
    受信した新ファームウェアとファームウェア実行領域に書き込んだファームウェアを比較しエラーがないことを確認するステップと、
    エラーがなければ、書き込み終了フラグと書き込んだファームウェアサイズをFlash ROM1に書き込み、
    エラーがあった場合は、書き込み終了フラグの書き込みを行わないステップと、
    Flash ROM1の書き込み終了フラグを確認するステップと、
    フラグが確認できればファームウェア実行領域のファームウェアを実行し、
    フラグが確認できなかった場合は、Flash ROM2のファーム退避領域のファームウェアをFlash ROM1のファームウェア実行領域にコピーし、Flash ROM2の書き込み終了フラグとファームウェアサイズをそれぞれFlash ROM1の書き込み終了フラグ7とファームウェアサイズにコピーしてファームウェアの書き換え作業を行う前のファームウェアを実行するステップとを備えたファームウェア書き込み方法。
JP2010008691A 2010-01-19 2010-01-19 ファームウェア書き込み方法 Pending JP2011150383A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010008691A JP2011150383A (ja) 2010-01-19 2010-01-19 ファームウェア書き込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010008691A JP2011150383A (ja) 2010-01-19 2010-01-19 ファームウェア書き込み方法

Publications (2)

Publication Number Publication Date
JP2011150383A true JP2011150383A (ja) 2011-08-04
JP2011150383A5 JP2011150383A5 (ja) 2013-03-07

Family

ID=44537329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010008691A Pending JP2011150383A (ja) 2010-01-19 2010-01-19 ファームウェア書き込み方法

Country Status (1)

Country Link
JP (1) JP2011150383A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013205933A (ja) * 2012-03-27 2013-10-07 Mitsubishi Electric Corp ファームウェア更新装置およびその方法
US11562104B2 (en) 2021-03-23 2023-01-24 Kabushiki Kaisha Toshiba Control device, information processing device, and information processing system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083309A (ja) * 1996-04-24 1998-03-31 Sony Corp 情報処理装置、プログラム更新方法、および、情報処理システム
JP2003122590A (ja) * 2001-10-16 2003-04-25 Pfu Ltd プログラム書替え方法および電子機器装置
JP2004054421A (ja) * 2002-07-17 2004-02-19 Sharp Corp メモリ、情報処理装置、記憶方法および情報処理方法
JP2005085039A (ja) * 2003-09-09 2005-03-31 Ricoh Co Ltd 記録再生装置と記録再生装置のファームウェア書き換え方法とプログラムとコンピュータ読み取り可能な記録媒体
JP2006053848A (ja) * 2004-08-16 2006-02-23 Nec Infrontia Corp 情報処理装置およびプログラム更新方法
JP2006164030A (ja) * 2004-12-09 2006-06-22 Canon Inc マルチファンクション装置のファームウエアアップデート方法
JP2007164371A (ja) * 2005-12-12 2007-06-28 Toshiba Corp ソフトウェア管理システム
JP2009230399A (ja) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd ファームウェア更新システムおよびファームウェア更新プログラム
JP2009265877A (ja) * 2008-04-24 2009-11-12 Kyocera Mita Corp 電子機器
JP2009271737A (ja) * 2008-05-08 2009-11-19 Nec Corp 情報処理装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083309A (ja) * 1996-04-24 1998-03-31 Sony Corp 情報処理装置、プログラム更新方法、および、情報処理システム
JP2003122590A (ja) * 2001-10-16 2003-04-25 Pfu Ltd プログラム書替え方法および電子機器装置
JP2004054421A (ja) * 2002-07-17 2004-02-19 Sharp Corp メモリ、情報処理装置、記憶方法および情報処理方法
JP2005085039A (ja) * 2003-09-09 2005-03-31 Ricoh Co Ltd 記録再生装置と記録再生装置のファームウェア書き換え方法とプログラムとコンピュータ読み取り可能な記録媒体
JP2006053848A (ja) * 2004-08-16 2006-02-23 Nec Infrontia Corp 情報処理装置およびプログラム更新方法
JP2006164030A (ja) * 2004-12-09 2006-06-22 Canon Inc マルチファンクション装置のファームウエアアップデート方法
JP2007164371A (ja) * 2005-12-12 2007-06-28 Toshiba Corp ソフトウェア管理システム
JP2009230399A (ja) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd ファームウェア更新システムおよびファームウェア更新プログラム
JP2009265877A (ja) * 2008-04-24 2009-11-12 Kyocera Mita Corp 電子機器
JP2009271737A (ja) * 2008-05-08 2009-11-19 Nec Corp 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013205933A (ja) * 2012-03-27 2013-10-07 Mitsubishi Electric Corp ファームウェア更新装置およびその方法
US11562104B2 (en) 2021-03-23 2023-01-24 Kabushiki Kaisha Toshiba Control device, information processing device, and information processing system

Similar Documents

Publication Publication Date Title
US9471435B2 (en) Information processing device, information processing method, and computer program
TWI501253B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
TWI470420B (zh) 除錯方法及電腦系統
US8595716B2 (en) Failsafe firmware updates
CN101650662A (zh) 一种嵌入式系统的存储器件、固件启动及升级方法
TW201301039A (zh) 韌體燒錄方法
US20140173327A1 (en) Correcting a failure associated with a current firmware image
JP2008009721A (ja) 評価システム及びその評価方法
US8555050B2 (en) Apparatus and method thereof for reliable booting from NAND flash memory
US20050033954A1 (en) Computer system having BIOS with multiple memory block
JP2005071303A (ja) プログラム起動装置
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP6021597B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP2011150383A (ja) ファームウェア書き込み方法
JP2006331185A (ja) 制御装置、書換装置、書換方法および書換プログラム
CN116755735A (zh) 嵌入式软件在线升级方法、装置、腹膜透析仪、存储介质
JP2009015428A (ja) プログラム更新方法、情報処理装置、プログラムおよび記録媒体
JP2016110503A (ja) マイクロコントローラ
JPH11265283A (ja) 記憶装置におけるファームウェアの修正方法及び記憶装置
TWI417888B (zh) An embedded chip system, a method for burning a wafer, and a computer program product
US9971659B1 (en) Memory programming providing corruption protection
JP2005128613A (ja) 画像形成装置
JP4543505B2 (ja) マイクロコンピュータの制御方法及び異常監視装置
JP2011257987A (ja) 計算機システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140421