JP2019040571A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2019040571A
JP2019040571A JP2017164390A JP2017164390A JP2019040571A JP 2019040571 A JP2019040571 A JP 2019040571A JP 2017164390 A JP2017164390 A JP 2017164390A JP 2017164390 A JP2017164390 A JP 2017164390A JP 2019040571 A JP2019040571 A JP 2019040571A
Authority
JP
Japan
Prior art keywords
loader
firmware
rewritten
vector
cpu
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.)
Abandoned
Application number
JP2017164390A
Other languages
English (en)
Inventor
一成 伊藤
Kazunari Ito
一成 伊藤
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.)
Onkyo Corp
Original Assignee
Onkyo 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 Onkyo Corp filed Critical Onkyo Corp
Priority to JP2017164390A priority Critical patent/JP2019040571A/ja
Priority to US16/058,705 priority patent/US10365924B2/en
Publication of JP2019040571A publication Critical patent/JP2019040571A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

【課題】ローダの書き換え途中で中断されても、ファームウェアをリカバリー可能とすること。【解決手段】CPUは、フラッシュROMに記憶されているローダをフラッシュROMの他の位置にコピーし、ファームウェアの書き換え中であると判断した場合、ローダベクタの消去の有無により、ローダが書き換え中であるか否かを判断し、ローダが書き換え中であると判断した場合、フラッシュROMの他の位置にコピーしたローダを、RAMにコピーし、RAMにコピーしたローダを実行し、フラッシュROMに記憶されているファームウェアを書き換える。【選択図】図11

Description

本発明は、ファームウェアを備える電子機器に関する。
多くの組み込みシステムのマイクロコンピューターは、内蔵のフラッシュROM(フラッシュメモリ)とRAMとを有する。内蔵フラッシュROMにプログラムは記憶されている。CPUは、フラッシュROMから命令コードを読み出して実行する。RAMの容量は、フラッシュROMよりも少なく、プログラム全てをRAM上にコピー(ダウンロード)して実行することはできない。フラッシュROM上のプログラムを新しいバージョンのプログラムに書き換える機能を備えさせる場合、書き換え用のプログラムもフラッシュROM上に記憶しておく必要がある。フラッシュROMには、本来の製品としての機能を実現するプログラムと、フラッシュROMを書き換えるためのプログラム(フラッシュローダ。以下、単に「ローダ」という。)と、をいわゆるファームウェアとして記憶している。
ファームウェアを新しいバージョンにアップデートする際、ファームウェアは、マイクロコンピューター外部からシリアル通信のような方法で取り込まれ、フラッシュROMに書き込まれる。フラッシュROM上に書き込まれたローダで、フラッシュROMを書き換えることはできないので(実行途中で書き換えられてしまうので)、ファームウェアの中のローダをRAM上にコピーし、RAMから命令コードを読み出して実行するのが一般的である(例えば、特許文献1参照。)。上述のように、内蔵のRAMの容量は少ないが、ローダをコピーできるだけの容量は必須である。しかしながら、それ以上の作業用のRAMを確保することは難しい。従って、シリアル通信では、ファームウェアをフラッシュROMのアドレスの小さい方から順番に入力し、その順番のまま、フラッシュROMに書き込むことになる。
フラッシュROMを書き換え中に、電源切断、何らかの異常により、中断されてしまうと、フラッシュROMには不完全な、すなわち、正常でないプログラムが書かれたままとなり、機器は動作不能になってしまう。これを防ぐために、フラッシュROMを書き換え中、フラッシュROMのどこかに書き換え中であるマークをつけておく(又は、一部を故意に消去状態にしておくことでマークとする。)。そして、マイクロコンピューター起動時に、書き換え中を示すマークを確認し、マークがあれば書き換え中に中断されたと判断し、ローダをRAMにコピーして実行し、ファームウェアの書き換えを再び行うことで回復する(リカバリー起動)。
しかしながら、フラッシュROMのローダを書き換えている際に、電源切断等で中断されると、ローダが壊れた状態であるため、再びファームウェアの書き換えを行って回復することができなくなってしまう。これを防ぐために、フラッシュROMを2倍の容量とし、ファームウェアを交互に書き換えることで、一方は、常に正常であるようにする方法があるが、フラッシュROMの容量が2倍必要となる。また、図14に示すように、ローダが入るだけの小容量のブロックを、他のブロックとハードウェア的に入れ替えられるような機能を持っており、常に新しいローダか古いローダかのどちらかを記憶できるようにしたマイクロコンピューターも存在する。しかしながら、全てのマイクロコンピューターがそのような機能を持っておらず、入れ替えられるブロックも小容量であるため、ローダを格納しきれない場合がある。
特開2016−103261号公報
従来の機器では、ローダの書き換え途中で中断された場合、ファームウェアをリカバリーできない可能性がある。
本発明の目的は、ローダの書き換え途中で中断されても、ファームウェアをリカバリー可能とすることである。
第1の発明の電子機器は、揮発性メモリと、ファームウェアを記憶するための不揮発性メモリと、制御部と、を備え、前記ファームウェアは、ファームウェア本体と、前記不揮発性メモリを書き換えるためのローダと、を含み、前記制御部は、前記ファームウェアを書き換え中であることを示す第1マークを前記不揮発性メモリに設け、前記ローダを書き換え中であることを示す第2マークを前記不揮発性メモリに設け、起動時、前記第1マークにより、前記ファームウェアが書き換え中であるか否かを判断し、前記ファームウェアの書き換え中ではないと判断した場合、前記不揮発性メモリに記憶されている前記ローダを前記揮発性メモリにコピーし、前記不揮発性メモリに記憶されている前記ローダを前記不揮発性メモリの他の位置にコピーし、前記ファームウェアの書き換え中であると判断した場合、前記第2マークにより、前記ローダが書き換え中であるか否かを判断し、前記ローダが書き換え中であると判断した場合、前記不揮発性メモリの他の位置にコピーした前記ローダを、前記揮発性メモリにコピーし、前記揮発性メモリにコピーした前記ローダを実行し、前記不揮発性メモリに記憶されている前記ファームウェアを書き換えることを特徴とする。
本発明では、制御部は、不揮発性メモリに記憶されているローダを、不揮発性メモリの他の位置にコピーする。また、制御部は、ローダが書き換え中である、すなわち、ローダを書き換え中に中断されたと判断した場合、不揮発性メモリの他の位置にコピーしたローダを、揮発性メモリにコピーする。これにより、制御部は、揮発性メモリにコピーしたローダを実行し、不揮発性メモリに記憶されているファームウェアを書き換えることができる。このように、本発明によれば、ローダの書き換え途中で中断されても、ファームウェアをリカバリーすることができる。
第2の発明の電子機器は、第1の発明の電子機器において、前記制御部は、前記不揮発性メモリに記憶されている前記ローダを前記不揮発性メモリの他の位置にコピーする場合、前記ファームウェア本体が格納されている位置にコピーし、前記ファームウェア本体よりも先に前記ローダを書き換え、前記ローダの書き換え後に、前記ファームウェア本体を書き換えることを特徴とする。
本発明では、制御部は、不揮発性メモリに記憶されているローダを不揮発性メモリの他の位置にコピーする場合、ファームウェア本体が格納されている位置にコピーする。このため、ローダのコピーのために、不揮発性メモリを別に用意する必要がない。
第3の発明の電子機器は、第1又は第2の発明の電子機器において、前記制御部は、前記不揮発性メモリに記憶されている前記ローダを前記揮発性メモリにコピーした後、前記第1マークを消去することを特徴とする。
第4の発明の電子機器は、第1〜第3のいずれかの発明の電子機器において、前記第1マークは、前記ファームウェア本体のアドレスを示す起動用ベクタの消去に相当し、前記制御部は、前記起動用ベクタが消去されていない場合、前記ファームウェアの書き換え中でないと判断し、前記起動用ベクタが消去されている場合、前記ファームウェアの書き換え中であると判断することを特徴とする。
第5の発明の電子機器は、第1〜第4のいずれかの発明の電子機器において、前記制御部は、前記不揮発性メモリに記憶されている前記ローダを前記不揮発性メモリの他の位置にコピーした後、前記第2マークを消去することを特徴とする。
第6の発明の電子機器は、第1〜第5のいずれかの発明の電子機器において、前記第2マークは、前記不揮発性メモリに記憶されている前記ローダのアドレスを示すローダベクタの消去に相当し、前記ローダベクタが消去されていない場合、前記ローダの書き換え中でないと判断し、前記ローダベクタが消去されている場合、前記ローダの書き換え中であると判断することを特徴とする。
本発明によれば、ローダの書き換え途中で中断されても、ファームウェアをリカバリーすることができる。
本発明の実施形態に係るスピーカー装置の構成を示すブロック図である。 通常起動から通常のファームウェアアップデートのシーケンスを示す図である。 通常起動から通常のファームウェアアップデートのシーケンスを示す図である。 通常起動から通常のファームウェアアップデートのシーケンスを示す図である。 通常起動から通常のファームウェアアップデートのシーケンスを示す図である。 通常起動から通常のファームウェアアップデートのシーケンスを示す図である。 通常起動から通常のファームウェアアップデートのシーケンスを示す図である。 リカバリーのファームウェアアップデートのシーケンスを示す図である。 リカバリーのファームウェアアップデートのシーケンスを示す図である。 リカバリーのファームウェアアップデートのシーケンスを示す図である。 リカバリーのファームウェアアップデートのシーケンスを示す図である。 起動チェックをする場合のスピーカー装置の処理動作を示すフローチャートである。 ローダの先頭に配置されるローダ、ベクタを示す図である。 ブロックの入れ替えを示す図である。
以下、本発明の実施形態について説明する。図1は、本実施形態に係るスピーカー装置の構成を示すブロック図である。スピーカー装置1(電子機器)は、マイクロコンピューター2と、操作部3と、DSP(Digital Signal Processor)4と、D/Aコンバーター(以下、「DAC」という。)5と、増幅器6と、スピーカー7と、無線モジュール8と、を備える。
マイクロコンピューター2は、CPU(制御部)、フラッシュROM(不揮発性メモリ)、RAM(揮発性メモリ)等を備える。マイクロコンピューター2は、スピーカー装置1を構成する各部を制御する。操作部3は、例えば、ユーザーによるボリューム調整を受け付けるためのボリュームノブを有している。DSP4は、デジタル音声信号に信号処理を行う。DAC5は、DSP4が信号処理を行ったデジタル音声信号を、アナログ音声信号にD/A変換する。増幅器6は、DAC5がD/A変換したアナログ音声信号を増幅する。増幅器6が増幅したアナログ音声信号は、スピーカー7に出力される。スピーカー7は、入力されるアナログ音声信号に基づいて、音声を出力する。無線モジュール8は、Bluetooth(登録商標)規格、Wi−Fi規格に従った無線通信を行うためのものである。
マイクロコンピューター2は、例えば、無線モジュール8を介して、スマートフォン、デジタルオーディオプレーヤー等から送信されるデジタル音声信号を受信する。そして、マイクロコンピューター2は、受信したデジタル音声信号に、DSP4による信号処理、DAC5によるD/A変換、増幅器6によるアナログ音声信号の増幅を行わせる。
フラッシュROMには、ファームウェアが記憶されている。ファームウェアは、ファームウェア本体と、フラッシュROMを書き換えるためのローダと、を含む。以下、ファームウェアがアップデートされる場合の処理について説明する。
(通常起動から通常のファームウェアアップデートのシーケンス(図2〜図7))
(1)マイクロコンピューター2がリセットされると、CPUは、リセットベクタを読み込み、そのアドレスにジャンプする。ここでは、リセットベクタは、起動チェック処理を差しているので、起動チェック処理へジャンプする。CPUは、起動チェック処理において、起動用ベクタをチェックする。CPUは、起動用ベクタが消去されていなければ、起動用ベクタが指し示す通常動作のプログラムのアドレスへジャンプする(通常起動)。フラッシュROMは、消去されているアドレスのビットが全て1となる。このため、CPUは、ベクタのビットが全て1か否かで、起動用ベクタが消去されているか否かを判断することができる。
(2)CPUは、ユーザー操作等でアップデートを指示されると、コピー処理へジャンプする。(3)CPUは、ローダベクタが消去されていないと判断できれば、ローダベクタとローダとをRAMにコピーする。ローダベクタとローダとは、コピーした先のRAM上のアドレス配置で実行できるようにコンパイルされている。(4)次に、CPUは、ローダベクタ(コピー前のフラッシュROM上でも、コピー後のRAM上でも構わない。)の指し示すローダのアドレスへジャンプする(RAM上のアドレスを指し示すようにコンパイルされている。)。このとき、CPUは、パラメータとして、フラグA←0、フラグB←0を設定しておく。フラグA=0は、起動用ベクタが消去されていないことを示す。フラグB=0は、ローダベクタが消去されていないことを示す。
(5)CPUは、フラグA=0であれば、起動用ベクタを消去する。起動用ベクタが消去されている間に中断され、再起動した場合は、(1)の判断において、通常起動は行われない。(6)CPU2は、フラグB=0であれば、本来のローダ(フラッシュROMの先頭にある)を固定アドレスへとコピーする。固定アドレスは、本来のローダと重なっていないアドレスであればどこでもよい。また、ファームウェア本体のアドレスと重なっていて、上書きすることになっても構わない。ファームウェア本体に上書きするようにコピーすることで、コピーのためのフラッシュROMの容量を用意する必要がなくなる。
(7)CPUは、フラグB=0であれば、フラッシュROM上の本来のローダベクタを消去する。ローダベクタが消去されている間に中断され、再起動した場合は、(6)でのローダの固定アドレスへのコピーは、行われない。(8)CPUは、ファームウェアをシリアル通信等で入手し、書き換える。ファームウェアは、アドレスの小さい方から順番に渡される。ファームウェアの先頭には、ローダが配置されているので、CPUは、まずローダから書き換える。ただし、ローダベクタの値は、RAM上に控えをとっておき、このときは書き換えない(消去されたままとする。)。
(9)CPUは、新しいローダの書き換えが終わったら、控えておいたローダベクタを書き込む。ローダの書き換えが終わったか否かの判断は、ローダベクタの次のアドレスにローダの最後のアドレス(=大きさ)を記録しておき、そのアドレスまで書き終わったら、ローダの書き換えが終わったと判断する。(10)CPUは、残りのファームウェアの起動用ベクタまでを書き換える。
(11)CPUは、新しいファームウェアと、フラッシュROM上にある古い起動チェック処理、コピー処理、リセットベクタと、を比較する。これらの処理、ベクタは、小さな簡単なもののため、ほとんどの場合、変更されることがなく、書き換える必要がない。しかし、書き換え中にマイクロコンピューター2がリセットされた場合、起動できなくなる。比較して同じならば書き換えを行わないことにより、起動できなくなるリスクがなくなる。CPUは、変更されていた場合のみ、書き換える。(12)CPUは、マイクロコンピューター2をリセットして再起動し、リセットベクタのアドレスへジャンプする。そして、CPUは、(1)の処理に戻る。
(リカバリーのファームウェアアップデートのシーケンスa(図8、図9))
(1−a)マイクロコンピューター2がリセットされると、CPUは、リセットベクタを読み込み、起動チェック処理を差しているので、起動チェック処理へジャンプする。(2−a)CPUは、起動用ベクタをチェックし、起動用ベクタが消去されているため、コピー処理へジャンプする。(3−a)CPUは、ローダベクタが消去されていないかを確認し、ローダベクタが消去されていないので、本来のアドレスにあるローダベクタとローダとをRAMにコピーする。CPUは、ローダベクタ(コピー前のフラッシュROM上でも、コピー後のRAM上でも構わない。)の指し示すローダのアドレスへジャンプする(RAM上のアドレスを指し示すように、コンパイルされている。)。このとき、CPUは、パラメータとして、フラグA←1、フラグB←0を設定しておく。フラグA=1は、起動用ベクタが消去されていることを示す。フラグB=0は、ローダベクタが消去されていないことを示す。この後、CPUは、(6)〜(12)の処理を行う。
ここで、起動用ベクタの消去は、ファームウェアが書き換え中であることを示すマーク(第1マーク)に相当する。制御部は、起動用ベクタを消去することで、フラッシュROMに上記マークを設ける。制御部は、起動用ベクタが消去されていなければ、ファームウェアの書き換え中でない、すなわち、ファームウェアの書き換え中に中断されていないと判断する。制御部は、起動用ベクタが消去されていれば、ファームウェアの書き換え中である、すなわち、ファームウェアの書き換え中に中断されたと判断する。
(リカバリーのアップデートのシーケンスb(図10、図11))
(1−b)マイクロコンピューター2がリセットされると、CPUは、リセットベクタを読み込み、起動チェック処理を差しているので、起動チェック処理へジャンプする。(2−b)CPUは、起動用ベクタをチェックし、起動用ベクタが消去されているので、起動チェック処理へジャンプする。(3−b)CPUは、ローダベクタが消去されていないかを確認し、ローダベクタが消去されているので、固定アドレスにあるローダベクタ(コピー)とローダ(コピー)とをRAMにコピーする。(4−b)CPUは、ローダベクタ(コピー前のフラッシュROM上でも、コピー後のRAM上でも構わない。)の指し示すローダのアドレスへジャンプする(RAM上のアドレスを指し示すようにコンパイルされている。)。このとき、CPUは、パラメータとして、フラグA←1、フラグB←1を設定しておく。フラグA=1は、起動用ベクタが消去されていることを示す。フラグB=1は、起動用ベクタが消去されていることを示す。この後、CPUは、(8)〜(12)の処理を行う。
ここで、ローダベクタの消去は、ローダを書き換え中であることを示すマーク(第2マーク)に相当する。制御部は、ローダベクタを消去することで、フラッシュROMに上記マークを設ける。制御部は、ローダベクタが消去されていなければ、ローダの書き換え中でない、すなわち、ローダの書き換え中に中断されていないと判断する。制御部は、ローダベクタが消去されていれば、ローダの書き換え中である、すなわち、ローダの書き換え中に中断されたと判断する。
(起動チェック)
以下、起動チェックをする場合のスピーカー装置の処理動作について、図12に示すフローチャートに基づいて説明する。CPUは、まず、起動ベクタが消去されていないか否かを判断する(S1)。CPUは、起動用ベクタが消去されていないと判断した場合(S1:Yes)、起動用ベクタへジャンプする(S2)。この場合、通常起動が行われる。次に、CPUは、ファームウェアのアップデートを行うか否かを判断する(S3)。CPUは、ファームウェアのアップデートを行わないと判断している間は(S3:No)、S3の処理を繰り返し実行する。
CPUは、ファームウェアのアップデートを行うと判断した場合(S3:Yes)、本来のローダをRAMにコピーする(S4)。次に、CPUは、フラグA←0、フラグB←0として、ローダベクタのアドレス(RAM上)へジャンプする(S5)。次に、CPUは、フラグA=0であるか否かを判断する(S6)。CPUは、フラグA=0であると判断した場合(S6:Yes)、起動用ベクタを消去する(S7)。CPUは、フラグA=0ではないと判断した場合(S6:No)、又は、S7の処理の後、フラグB=0であるか否かを判断する(S8)。CPUは、フラグB=0であると判断した場合(S8:Yes)、ローダをコピーする(S9)。CPUは、フラグB=0ではないと判断した場合(S8:No)、又は、S10の処理の後、ローダベクタを消去する(S10)。
CPUは、起動用ベクタが消去されていると判断した場合(S1:No)、コピー処理へジャンプする(S11)。この場合、リカバリー処理が行われる。次に、CPUは、ローダベクタが消去されていないか否かを判断する(S12)。CPUは、ローダベクタが消去されていないと判断した場合(S12:Yes)、本来のローダをRAMにコピーする(S13)。次に、CPUは、フラグA←1、フラグB←0として、ローダベクタのアドレス(RAM上)にジャンプする(S14)。次に、CPUは、S6の処理を行う。
CPUは、ローダベクタが消去されていると判断した場合(S15:No)、フラグA←1、フラグB←1として、ローダベクタのアドレス(RAM上)にジャンプする(S16)。次に、CPUは、S6の処理を行う。
CPUは、ローダの先頭(フラッシュROMの先頭)に、図13に示すような、ベクタ、データを置く。
以上説明したように、本実施形態では、CPUは、フラッシュROMに記憶されているローダを、フラッシュROMの他の位置にコピーする。また、CPUは、ローダが書き換え中である、すなわち、ローダを書き換え中に中断されたと判断した場合、フラッシュROMの他の位置にコピーしたローダを、RAMにコピーする。これにより、CPUは、RAMにコピーしたローダを実行し、フラッシュROMに記憶されているファームウェアを書き換えることができる。このように、本実施形態によれば、ローダの書き換え途中で中断されても、ファームウェアをリカバリーすることができる。
また、本実施形態では、CPUは、フラッシュROMに記憶されているローダをフラッシュROMの他の位置にコピーする場合、ファームウェア本体が格納されている位置にコピーする。このため、ローダのコピーのために、フラッシュROMを別に用意する必要がない。
以上、本発明の実施形態について説明したが、本発明を適用可能な形態は、上述の実施形態には限られるものではなく、以下に例示するように、本発明の趣旨を逸脱しない範囲で適宜変更を加えることが可能である。
上述の実施形態では、ファームウェアを備える電子機器として、スピーカー装置を例示した。これに限らず、ファームウェアを備える電子機器であればよい。
本発明は、ファームウェアを備える電子機器に好適に採用され得る。
1 スピーカー(電子機器)
2 マイクロコンピューター
3 操作部
4 DSP
5 DAC
6 増幅器
7 スピーカー
8 無線モジュール

Claims (6)

  1. 揮発性メモリと、
    ファームウェアを記憶するための不揮発性メモリと、
    制御部と、を備え、
    前記ファームウェアは、ファームウェア本体と、前記不揮発性メモリを書き換えるためのローダと、を含み、
    前記制御部は、
    前記ファームウェアを書き換え中であることを示す第1マークを前記不揮発性メモリに設け、
    前記ローダを書き換え中であることを示す第2マークを前記不揮発性メモリに設け、
    起動時、前記第1マークにより、前記ファームウェアが書き換え中であるか否かを判断し、
    前記ファームウェアの書き換え中ではないと判断した場合、前記不揮発性メモリに記憶されている前記ローダを前記揮発性メモリにコピーし、
    前記不揮発性メモリに記憶されている前記ローダを前記不揮発性メモリの他の位置にコピーし、
    前記ファームウェアの書き換え中であると判断した場合、前記第2マークにより、前記ローダが書き換え中であるか否かを判断し、
    前記ローダが書き換え中であると判断した場合、前記不揮発性メモリの他の位置にコピーした前記ローダを、前記揮発性メモリにコピーし、
    前記揮発性メモリにコピーした前記ローダを実行し、前記不揮発性メモリに記憶されている前記ファームウェアを書き換えることを特徴とする電子機器。
  2. 前記制御部は、
    前記不揮発性メモリに記憶されている前記ローダを前記不揮発性メモリの他の位置にコピーする場合、前記ファームウェア本体が格納されている位置にコピーし、
    前記ファームウェア本体よりも先に前記ローダを書き換え、
    前記ローダの書き換え後に、前記ファームウェア本体を書き換えることを特徴とする請求項1に記載の電子機器。
  3. 前記制御部は、
    前記不揮発性メモリに記憶されている前記ローダを前記揮発性メモリにコピーした後、前記第1マークを消去することを特徴とする請求項1又は2に記載の電子機器。
  4. 前記第1マークは、前記ファームウェア本体のアドレスを示す起動用ベクタの消去に相当し、
    前記制御部は、
    前記起動用ベクタが消去されていない場合、前記ファームウェアの書き換え中でないと判断し、
    前記起動用ベクタが消去されている場合、前記ファームウェアの書き換え中であると判断することを特徴とする請求項1に記載の電子機器。
  5. 前記制御部は、
    前記不揮発性メモリに記憶されている前記ローダを前記不揮発性メモリの他の位置にコピーした後、前記第2マークを消去することを特徴とする請求項1〜4のいずれか1項に記載の電子機器。
  6. 前記第2マークは、前記不揮発性メモリに記憶されている前記ローダのアドレスを示すローダベクタの消去に相当し、
    前記ローダベクタが消去されていない場合、前記ローダの書き換え中でないと判断し、
    前記ローダベクタが消去されている場合、前記ローダの書き換え中であると判断することを特徴とする請求項1〜5のいずれか1項に記載の電子機器。
JP2017164390A 2017-08-29 2017-08-29 電子機器 Abandoned JP2019040571A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017164390A JP2019040571A (ja) 2017-08-29 2017-08-29 電子機器
US16/058,705 US10365924B2 (en) 2017-08-29 2018-08-08 Electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017164390A JP2019040571A (ja) 2017-08-29 2017-08-29 電子機器

Publications (1)

Publication Number Publication Date
JP2019040571A true JP2019040571A (ja) 2019-03-14

Family

ID=65434358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017164390A Abandoned JP2019040571A (ja) 2017-08-29 2017-08-29 電子機器

Country Status (2)

Country Link
US (1) US10365924B2 (ja)
JP (1) JP2019040571A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323301A (ja) * 2002-02-27 2003-11-14 Fuji Xerox Co Ltd ソフトウェアをダウンロードする情報処理装置、ダウンロード方法及びダウンロードプログラム
WO2015098811A1 (ja) * 2013-12-27 2015-07-02 京セラドキュメントソリューションズ株式会社 電子機器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3364356B2 (ja) * 1995-03-30 2003-01-08 富士通株式会社 メモリ書替え装置
GB9713094D0 (en) * 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
EP1376344A3 (en) * 2002-06-17 2005-08-24 Seiko Epson Corporation Apparatus and method of rewriting firmware
JP2004348677A (ja) * 2003-05-26 2004-12-09 Sony Corp プログラムおよび情報処理方法
JP2007058499A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd 情報処理装置およびデータ書き込み方法
WO2009156615A1 (fr) * 2008-06-02 2009-12-30 Awox Procede et dispositif de mise a jour d'application informatique
US20170039372A1 (en) * 2013-03-15 2017-02-09 Electro Industries/Gauge Tech Devices, systems and methods for upgrading firmware in intelligent electronic devices
JP6575157B2 (ja) 2014-11-13 2019-09-18 富士電機株式会社 ファームウェアのダウンロード方法及びファームウェア組込機器
US10430263B2 (en) * 2016-02-01 2019-10-01 Electro Industries/Gauge Tech Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices
US10237131B2 (en) * 2017-06-14 2019-03-19 Noritz Corporation Communication adapter and program update method for communication adapter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323301A (ja) * 2002-02-27 2003-11-14 Fuji Xerox Co Ltd ソフトウェアをダウンロードする情報処理装置、ダウンロード方法及びダウンロードプログラム
WO2015098811A1 (ja) * 2013-12-27 2015-07-02 京セラドキュメントソリューションズ株式会社 電子機器

Also Published As

Publication number Publication date
US20190065175A1 (en) 2019-02-28
US10365924B2 (en) 2019-07-30

Similar Documents

Publication Publication Date Title
ES2371995T3 (es) Actualización del firmware de un dispositivo electrónico.
KR101675196B1 (ko) 정보 처리 장치, 그 제어 방법 및 저장 매체
JP2006264877A (ja) エレベータ制御装置
CN104780287A (zh) 对固件进行更新的图像形成装置及其控制方法
JP2016118879A (ja) マイクロコンピュータ
JP2021060797A (ja) プログラム更新システム、プログラム送信装置およびプログラム送信方法
JP2019040571A (ja) 電子機器
JP6575157B2 (ja) ファームウェアのダウンロード方法及びファームウェア組込機器
JP6656409B2 (ja) 情報処理装置および情報処理方法
JP2017097576A (ja) 書換システム
JP2005215841A (ja) ソフトウエア修正機能付き携帯電話端末装置
JP2012118904A (ja) 情報処理装置
JP2016126699A (ja) 自動車用電子制御装置
JP4238930B2 (ja) メモリ書き換え制御システム。
JP2008162054A (ja) 印刷装置
JP2007172200A (ja) ソフトウェア更新システム
JP4973270B2 (ja) カメラ用アクセサリ機器およびカメラシステム
JP4062429B2 (ja) メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP5511623B2 (ja) 内視鏡装置及び内視鏡装置の制御方法
JP4910402B2 (ja) 不揮発性メモリの書き換え装置及び書き換え方法
JP2005321843A (ja) ファームウェアの書換え方法
WO2018150820A1 (ja) 情報処理装置
JP2007041798A (ja) 情報処理装置及び情報処理装置のメモリ書き換え方法
JP2003122575A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210803

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20210804