JP7031211B2 - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP7031211B2
JP7031211B2 JP2017197607A JP2017197607A JP7031211B2 JP 7031211 B2 JP7031211 B2 JP 7031211B2 JP 2017197607 A JP2017197607 A JP 2017197607A JP 2017197607 A JP2017197607 A JP 2017197607A JP 7031211 B2 JP7031211 B2 JP 7031211B2
Authority
JP
Japan
Prior art keywords
firmware
memory
executed
written
electronic device
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.)
Active
Application number
JP2017197607A
Other languages
English (en)
Other versions
JP2019071003A (ja
Inventor
幸義 端山
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017197607A priority Critical patent/JP7031211B2/ja
Publication of JP2019071003A publication Critical patent/JP2019071003A/ja
Application granted granted Critical
Publication of JP7031211B2 publication Critical patent/JP7031211B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、電子機器に関する。
プリンタなどの電子機器には、その電子機器のシステム(ハードウェア)を制御するためのソフトウェアであるファームウェアが組み込まれている。ファームウェアは、書換可能な不揮発性メモリに記憶されており、ブートにより、不揮発性メモリから揮発性メモリに実行可能な形式に展開される。
電子機器における機能の追加や不具合の修正のため、電子機器のメーカなどから新規のファームウェアが提供されることがある。新ファームウェアは、たとえば、提供元のサーバから電子機器にダウンロードすることができる。新ファームウェアのダウンロードにより、不揮発性メモリに記憶されている旧ファームウェアが新ファームウェアに書き換えられる。
このファームウェアの更新方法として、新ファームウェアを揮発性メモリにダウンロードした後、現在稼働中のシステムを停止して、新ファームウェアを展開して起動し、その後、未展開の新ファームウェアを不揮発性メモリに書き込むことが提案されている。この方法により、ファームウェアの更新時の電子機器の非稼働時間を短縮することができる。
特開2008-77474号公報
ところが、かかる方法では、旧ファームウェアが揮発性メモリに実行可能な形式に展開されている状態で、その旧ファームウェアが展開されている領域と異なる領域に、新ファームウェアが実行可能な形式に展開される。そのため、揮発性メモリには、実行可能な形式の旧ファームウェアおよび新ファームウェアの両方を記録可能な容量が必要になる。
また、新ファームウェアの起動後、未展開の新ファームウェアが不揮発性メモリに自動的に書き込まれて、旧ファームウェアが新ファームウェアに書き換えられるため、新ファームウェアに不都合や不具合がある場合に、不揮発性メモリに旧ファームウェアが記憶されている状態に容易に戻すことができない。
本発明の目的は、実行可能な形式のファームウェアの記録に必要な揮発性メモリの容量を削減でき、かつ、新ファームウェア(第2ファームウェア)の実行後であっても、稼働するファームウェアを新ファームウェアから旧ファームウェア(第1ファームウェア)に容易に戻すことができる、電子機器を提供することである。
前記の目的を達成するため、本発明の一の局面に係る電子機器は、第1ファームウェアが書き込まれた不揮発性メモリと、第1領域および第2領域を有する揮発性メモリと、外部機器と通信する通信部と、制御部と、を備える電子機器であって、制御部は、揮発性メモリの内容を保持したまま制御部自身を再起動する再起動処理を実行可能であり、さらに、制御部は、不揮発性メモリに書き込まれている第1ファームウェアを揮発性メモリの第1領域に制御部が実行可能な形式に変換して展開し、第1領域に展開された第1ファームウェアを実行する第1実行処理と、通信部を制御して、外部機器から第2ファームウェアを受信させ、その第2ファームウェアを揮発性メモリの第2領域に書き込む書込処理と、を実行し、さらに、制御部は、書込処理を実行後に再起動処理を実行し、さらに、制御部は、再起動処理を実行した後に、第2領域に書き込まれている第2ファームウェアを揮発性メモリの第1領域に制御部が実行可能な形式に変換して展開し、第1領域に展開された第2ファームウェアを実行する第2実行処理を実行する、ことを特徴とする。
この構成によれば、不揮発性メモリに書き込まれている第1ファームウェアは、揮発性メモリの第1領域に制御部が実行可能な形式に展開される。その後、実行可能な形式の第1ファームウェアが実行される。
第1ファームウェアの実行中に、外部機器から第2ファームウェアを通信部が受信すると、その第2ファームウェアが揮発性メモリの第2領域に書き込まれる。その後、制御部は、揮発性メモリの内容を保持したまま、制御部自身を再起動する。この再起動後、制御部により、第2ファームウェアが揮発性メモリの第1領域に実行可能な形式に展開されて、その実行可能な形式の第2ファームウェアが実行される。第1領域に展開されていた実行可能な形式の第1ファームウェアは、第2ファームウェアの展開により上書きにて消去されるか、第2ファームウェアの展開前に消去される。そのため、実行可能な形式の第1ファームウェアおよび第2ファームウェアの両方を記録可能な容量を揮発性メモリの第1領域に確保する必要がない。よって、実行可能な形式のファームウェアの記録に必要な第1領域の容量を削減することができる。
また、不揮発性メモリに第1ファームウェアが書き込まれたまま消去されないので、第2ファームウェアに不都合や不具合がある場合に、第1ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開して使用することができる。よって、第2ファームウェアの実行後であっても、稼働するファームウェアを第2ファームウェアから第1ファームウェアに容易に戻すことができる。
前記の目的を達成するため、本発明の他の局面に係る電子機器は、第1ファームウェアが書き込まれた不揮発性メモリと、第1領域および第2領域を有する揮発性メモリと、外部機器と通信する通信部と、制御部と、を備える電子機器であって、制御部は、制御部自身が起動したときに、揮発性メモリの第2領域に第2ファームウェアが書き込まれているか否かを判断し、揮発性メモリの第2領域に第2ファームウェアが書き込まれていない場合は、不揮発性メモリに書き込まれている第1ファームウェアを、揮発性メモリの第1領域に制御部が実行可能な形式に変換して展開し、第1領域に展開された第1ファームウェアを実行する第1実行処理を実行し、揮発性メモリの第2領域に第2ファームウェアが書き込まれている場合は、揮発性メモリの第2領域に書き込まれている第2ファームウェアを、揮発性メモリの第1領域に制御部が実行可能な形式に変換して展開し、第1領域に展開された第2ファームウェアを実行する第2実行処理を実行する、ことを特徴とする。
この構成によれば、制御部は、制御部自身が起動したときに、揮発性メモリの第2領域に第2ファームウェアが書き込まれているか否かを判断する。揮発性メモリの第2領域に第2ファームウェアが書き込まれている場合には、その第2ファームウェアが揮発性メモリの第1領域に実行可能な形式に展開されて、その実行可能な形式の第2ファームウェアが実行される。揮発性メモリの第2領域に第2ファームウェアが書き込まれていない場合には、不揮発性メモリに書き込まれている第1ファームウェアが揮発性メモリの第1領域に実行可能な形式に展開されて、その実行可能な形式の第1ファームウェアが実行される。
これにより、揮発性メモリの第1領域には、実行可能な形式の第1ファームウェアまたは第2ファームウェアの一方が記録される。そのため、実行可能な形式の第1ファームウェアまたは第2ファームウェアの両方を記録可能な容量を揮発性メモリの第1領域に確保する必要がない。よって、実行可能な形式のファームウェアの記録に必要な第1領域の容量を削減することができる。
また、不揮発性メモリに第1ファームウェアが書き込まれたまま消去されないので、第2ファームウェアに不都合や不具合がある場合に、第1ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開して使用することができる。よって、第2ファームウェアの実行後であっても、稼働するファームウェアを第2ファームウェアから第1ファームウェアに容易に戻すことができる。
前記の目的を達成するため、本発明のさらに他の局面に係る電子機器は、第1ファームウェアが書き込まれた不揮発性メモリと、第1領域および第2領域を有する揮発性メモリと、外部機器と通信する通信部と、制御部と、通常ダウンロード処理およびテンポラリダウンロード処理のいずれを実行するかを選択する指示を受け付ける受付部と、を備える電子機器であって、制御部は、受付部に受け付けられた指示に応じて、通常ダウンロード処理またはテンポラリダウンロード処理を選択的に実行し、通常ダウンロード処理では、通信部を制御して、外部機器から第2ファームウェアを受信させて、第2ファームウェアを不揮発性メモリに書き込んで、第2ファームウェアを第1ファームウェアとして置き換え、テンポラリダウンロード処理では、通信部を制御して、外部機器から第2ファームウェアを受信させて、第2ファームウェアを揮発性メモリの第2領域に書き込み、テンポラリダウンロード処理の実行後、揮発性メモリの第2領域に書き込まれている第2ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開する展開処理を実行する、ことを特徴とする。
この構成によれば、通常ダウンロード処理の実行が選択されている場合、外部機器から通信部が第2ファームウェアを受信すると、その第2ファームウェアが不揮発性メモリに書き込まれる。
テンポラリダウンロード処理の実行が選択されている場合、外部機器から通信部が第2ファームウェアを受信すると、その第2ファームウェアが揮発性メモリの第2領域に書き込まれる。その後、第2領域に記録されている第2ファームウェアが揮発性メモリの第1領域に実行可能な形式に展開されて、その実行可能な形式の第2ファームウェアが実行される。第2ファームウェアの展開前は、第1ファームウェアが揮発性メモリの第1領域に実行可能な形式で展開されており、その第1ファームウェアは、第2ファームウェアの展開により上書きにて消去されるか、第2ファームウェアの展開前に消去される。そのため、実行可能な形式の第1ファームウェアおよび第2ファームウェアの両方を記録可能な容量を揮発性メモリの第1領域に確保する必要がない。よって、実行可能な形式のファームウェアの記録に必要な第1領域の容量を削減することができる。
また、テンポラリダウンロード処理では、不揮発性メモリに第1ファームウェアが書き込まれたまま消去されないので、第2ファームウェアに不都合や不具合がある場合に、第1ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開して使用することができる。よって、第2ファームウェアの実行後であっても、稼働するファームウェアを第2ファームウェアから第1ファームウェアに容易に戻すことができる。
前記の目的を達成するため、本発明のさらに他の局面に係る電子機器は、第1ファームウェアが書き込まれた不揮発性メモリと、第1領域および第2領域を有する揮発性メモリと、外部機器と通信する通信部と、制御部と、通常ダウンロード処理およびテンポラリダウンロード処理のいずれを実行するかを選択する指示を受け付ける受付部と、を備える電子機器であって、制御部は、揮発性メモリの内容を保持したまま制御部自身を再起動する再起動処理を実行可能であり、さらに、制御部は、受付部に受け付けられた指示に応じて、通常ダウンロード処理またはテンポラリダウンロード処理を選択的に実行し、さらに、制御部は、通常ダウンロード処理では、通信部を制御して、外部機器から第2ファームウェアを受信させて、第2ファームウェアを不揮発性メモリに書き込んで、第2ファームウェアを第1ファームウェアとして置き換え、さらに、制御部は、テンポラリダウンロード処理では、通信部を制御して、外部機器から第2ファームウェアを受信させて、第2ファームウェアを揮発性メモリの第2領域に書き込み、再起動処理を実行し、さらに、制御部は、制御部自身が起動した場合に、揮発性メモリの第2領域に第2ファームウェアが書き込まれているか否か判断する判断処理を実行し、さらに、制御部は、判断処理により揮発性メモリの第2領域に第2ファームウェアが書き込まれていないと判断した場合、不揮発性メモリに書き込まれている第1ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開し、判断処理により揮発性メモリの第2領域に第2ファームウェアが書き込まれていると判断した場合、第2ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開する展開処理を実行する、ことを特徴とする。
この構成によれば、通常ダウンロード処理の実行が選択されている場合、外部機器から通信部が第2ファームウェアを受信すると、その第2ファームウェアが不揮発性メモリに書き込まれる。一方、テンポラリダウンロード処理の実行が選択されている場合、外部機器から通信部が第2ファームウェアを受信すると、その第2ファームウェアが揮発性メモリの第2領域に書き込まれる。
制御部の再起動後、揮発性メモリの第2領域に第2ファームウェアが書き込まれている場合には、その第2ファームウェアが揮発性メモリの第1領域に実行可能な形式に展開されて、その実行可能な形式の第2ファームウェアが実行される。揮発性メモリの第2領域に第2ファームウェアが書き込まれていない場合には、不揮発性メモリに書き込まれている第1ファームウェアが揮発性メモリの第1領域に実行可能な形式に展開されて、その実行可能な形式の第1ファームウェアが実行される。
これにより、揮発性メモリの第1領域には、実行可能な形式の第1ファームウェアまたは第2ファームウェアの一方が記録される。そのため、実行可能な形式の第1ファームウェアまたは第2ファームウェアの両方を記録可能な容量を揮発性メモリの第1領域に確保する必要がない。よって、実行可能な形式のファームウェアの記録に必要な第1領域の容量を削減することができる。
また、テンポラリダウンロード処理では、不揮発性メモリに第1ファームウェアが書き込まれたまま消去されないので、第2ファームウェアに不都合や不具合がある場合に、第1ファームウェアを揮発性メモリの第1領域に実行可能な形式に展開して使用することができる。よって、第2ファームウェアの実行後であっても、稼働するファームウェアを第2ファームウェアから第1ファームウェアに容易に戻すことができる。
本発明によれば、実行可能な形式のファームウェアの記録に必要な第1領域の容量を削減することができる。また、第2ファームウェアの実行後に、不揮発性メモリに第1ファームウェアが消去されないことにより、稼働するファームウェアを第2ファームウェアから第1ファームウェアに容易に戻すことができる。
本発明の一実施形態に係るプリンタの電気的構成の要部を示すブロック図である。 ファーム起動処理の流れを示すフローチャートである。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、DRAMが未初期化の状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、ブートプログラムが実行中である状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、ファームウェアの実行が開始される状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、フラッシュROMに圧縮状態の旧ファームウェアが書き込まれた状態で、DRAMの第1領域に展開された旧ファームウェアが実行される状態を示す。 ファーム通常処理の流れを示すフローチャート(その1)である。 ファーム通常処理の流れを示すフローチャート(その2)である。 テンポラリDL処理の流れを示すフローチャートである。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、DRAMのワークエリアに圧縮状態の新ファームウェアが書き込まれた状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、ブートプログラムが実行中である状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、ワークエリアの圧縮状態の新ファームウェアが第1領域に展開される状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、フラッシュROMに圧縮状態の旧ファームウェアが書き込まれた状態で、DRAMの第1領域に展開された新ファームウェアが実行される状態を示す。 通常DL処理の流れを示すフローチャートである。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、DRAMの第2領域に書き込まれた圧縮状態の新ファームウェアがフラッシュROMに書き込まれる状態を示す。 フラッシュROMおよびDRAMの状態を図解的に示す図であり、フラッシュROMに圧縮状態の新ファームウェアが書き込まれた状態で、DRAMの第1領域に展開された新ファームウェアが実行される状態を示す。
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
<プリンタの電気的構成>
図1に示されるプリンタ1は、電子機器の一例であり、画像形成部11、操作部12(受付部の一例)、ASIC(Application Specific Integrated Circuit)13、不揮発性メモリであるフラッシュROM(Read Only Memory)14、揮発性メモリであるDRAM(Dynamic Random Access Memory)15および通信部16を備えている。画像形成部11、操作部12、ASIC13、フラッシュROM14およびDRAM15は、バス17を介して、データ通信可能に接続されている。
画像形成部11は、プリンタ1の外殻をなす筐体内に設けられている。画像形成部11は、搬送経路上を1枚ずつ搬送されるプリント用紙などのシートにカラー画像またはモノクロ画像を形成する機構である。画像形成の方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。
操作部12は、たとえば、タッチパネルの形態で設けられている。ユーザが操作部12を操作することにより、各種の指示が操作部12に受け付けられる。操作部12に指示が受け付けられると、その指示の内容に応じた信号(データ)が操作部12からASIC13に向けて送信される。
ASIC13は、CPU(Central Processing Unit)21、ASIC13(CPU21)が再起動しても記憶内容を保持可能なSRAM(Static Random Access Memory)22およびメモリコントローラ23を備えている。
CPU21(制御部の一例)、SRAM22(フラグ保存用メモリの一例)およびメモリコントローラ23は、ASIC13内の内部バス24を介して、データ通信可能に接続されている。内部バス24は、バス17とデータ通信可能に接続されている。
メモリコントローラ23は、DRAM15に対するデータの読み書きを制御する集積回路である。メモリコントローラ23には、仮想アドレスを物理アドレスに変換する機能を有するMMU(Memory Management Unit:メモリ管理ユニット)が含まれている。また、メモリコントローラ23は、一定の周期でDRAM15にリフレッシュ信号を送信して、DRAM15に保持されているデータの再書き込みを行うリフレッシュ機能を有している。
通信部16は、サーバやPC(パーソナルコンピュータ)などの外部機器との間でのコンピュータネットワークを経由した通信のための回路などを備えている。
<ファーム起動処理>
ASIC13に内蔵されているCPU21は、プリンタ1のブートおよびリブート時に、図2に示されるファーム起動処理を実行する。具体的には、ファーム起動処理は、フラッシュROM14に保存されているブートプログラムに含まれている。プリンタ1のブートおよびリブート時には、図3Aに示されるように、CPU21がブートプログラムを実行することにより、ファーム起動処理が開始される。
ファーム起動処理では、CPU21は、今回のブートまたはリブートがテンポラリDL(ダウンロード)後のリブートであるか否かを判別する(S11)。具体的には、CPU21は、後述のテンポラリDL実行フラグがSRAM22に保存されている場合、今回のブートまたはリブートがテンポラリDL後のリブートであると判別し、テンポラリDL実行フラグがSRAM22に保存されていない場合、今回のブートまたはリブートがテンポラリDL後のリブートではないと判別する。テンポラリDLについては、後述する。
今回のブートまたはリブートがテンポラリDL後のリブートでない場合(S11:NO)、図3Aに示されるように、DRAM15が初期化されていない未初期化の状態である。そこで、CPU21は、メモリコントローラ23を制御して、DRAM15を初期化する(S12)。
DRAM15の初期化後、CPU21は、図3Bに示されるように、フラッシュROM14に保存されている圧縮状態のファームウェア(以下、このファームウェアを「旧ファームウェア」という。)をDRAM15の第1領域A1上に実行可能な形式に展開する(S13)。
そして、CPU21は、図3Cに示されるように、DRAM15に展開されたファームウェアの先頭アドレスにジャンプして、ファームウェアを先頭アドレスから実行する(S14)。その後は、図3Dに示されるように、DRAM15の第1領域A1のファームウェア上で各部の制御が行われる。
その後、CPU21は、ファーム起動処理を終了して、図4Aおよび図4Bに示されるファーム通常処理を開始する。
今回のブートまたはリブートがテンポラリDL後のリブートである場合の処理の内容については、後述する。
<ファーム通常処理>
ファーム通常処理では、CPU21は、メモリコントローラ23を制御して、ワークエリアとして使用するDRAM15の第2領域A2に保存されているデータ、たとえば、セキュアプリントに係る画像データがあれば、そのデータを使える状態にする(S21)。セキュアプリントは、画像データに係る画像をシートに形成するプリント動作の実行にパスワードの入力が必要とされるジョブである。
その後、CPU21は、後述するテンポラリDL実行フラグがSRAM22に保存されているか否かに基づいて、今回のCPU21の起動がテンポラリDL後の再起動であるか否かを判別する(S22)。
CPU21は、テンポラリDL実行フラグがSRAM22に保存されている場合、今回のCPU21の起動がテンポラリDL後の起動であると判別する(S22:YES)。
CPU21は、テンポラリDL実行フラグがSRAM22に保存されていない場合、今回のCPU21の起動がテンポラリDL後の起動ではないと判別する(S22:NO)。
プリンタ1における機能の追加や不具合の修正のため、プリンタ1のメーカなどから新規のファームウェア(以下、このファームウェアを「新ファームウェア」という。)が提供される場合がある。その場合、提供元となるサーバに新ファームウェアがアップロードされ、そのサーバからプリンタ1に新ファームウェアをダウンロードすることができる。新ファームウェアは、サーバからプリンタ1に直接にダウンロードされてもよいし、サーバからPCなどの外部機器を経由してプリンタ1にダウンロードされてもよい。
今回のプリンタ1の起動がテンポラリDL後の起動ではない場合(S22:NO)、CPU21は、プリンタ1の起動の度にサーバにおける新ファームウェアの有無を確認する自動確認モードが設定されているか否かを確認する(S23)。自動確認モードの設定および解除は、操作部12の操作によって切り替えることができる。
自動確認モードが設定されている場合(S23:YES)、CPU21は、サーバに新ファームウェアの有無を問い合わせる(S24)。
自動確認モードが設定されていない場合(S23:NO)、または、サーバに新ファームウェアが存在しない場合(S24:NO)、CPU21は、画像形成部11のウォームアップ動作を制御する(S25)。ウォームアップ動作は、画像形成を行うための準備動作であり、たとえば、画像形成部11が電子写真方式のエンジンを備える場合、そのエンジンに含まれる現像ローラの表面に撹拌により帯電したトナーを担持させるための動作などを含む。
ウォームアップ動作後、CPU21は、プリンタ1に接続されたPCなどの外部機器からプリントデータを受信したか否かを判別する(S26)。プリントデータは、プリントジョブのデータであり、シートに形成される画像に係る画像データおよび画像形成の条件を含む。
プリンタ1が外部機器からプリントデータを受信した場合(S26:YES)、CPU21は、その受信したプリントデータをワークエリアとして使用するDRAM15の第2領域A2に保存する。そして、CPU21は、画像形成部11を制御して、プリントデータに含まれる画像データの画像をシートに形成するプリント動作を実行させる(S27)。
一方、プリンタ1が外部機器からプリントデータを受信していない場合(S26:NO)、CPU21は、セキュアプリントの実行条件が満たされているか否かを判別する(S28)。セキュアプリントの実行条件は、セキュアプリントに係る画像データが使える状態でDRAM15の第2領域A2に保持されており、かつ、セキュアプリント用のパスワードが操作部12に受け付けられたという条件である。
セキュアプリントの実行条件が満たされている場合(S28:YES)、CPU21は、画像形成部11を制御して、セキュアプリントに係るプリント動作、つまりセキュアプリントに係る画像データの画像をシートに形成するプリント動作を実行させる(S29)。
プリント動作の終了後、CPU21は、セキュアプリントに係る画像データをDRAM15から消去する(S30)。
いずれの場合にしても、CPU21は、プリント動作の終了後、プリントデータを受信したか否かを再び判断する(S26)。
プリントデータが受信されておらず、かつ、セキュアプリントの実行条件が満たされていない場合(S28:NO)、CPU21は、サーバに新ファームウェアの有無を問い合わせる(図4BのS31)。
サーバに新ファームウェアが存在しない場合(S31:NO)、CPU21は、プリントデータを受信したか否かを再び判断する(図4AのS26)。
CPU21は、サーバに新ファームウェアが存在することを確認した場合(図4BのS31:YES)、オートテンポラリDLモードが設定されているか否かを確認する(S32)。オートテンポラリDLモードは、サーバに新ファームウェアが存在する場合に、図5に示されるテンポラリDL処理が自動的に実行されるモードである。オートテンポラリDLモードの設定および解除は、操作部12の操作により切り替えることができる。
オートテンポラリDLモードが設定されている場合(S32:YES)、CPU21は、現時点が、プリントデータを受信していないタイミング、即ち、サーバから新ファームウェアをダウンロードすることが可能なタイミングであるDL可能タイミングであるか否かを判別する(S33)。たとえば、プリンタ1では、非動作状態が一定時間継続すると、プリンタ1の所定部への電力の供給が低減されるスリープ状態に突入する。スリープ状態が一定時間経過すると、CPU21は、現時点がDL可能タイミングであると判別する。
現時点がDL可能タイミングでない場合(S33:NO)、CPU21は、プリントデータを受信したか否かを再び判断する(図4AのS26)。
サーバに新ファームウェアが存在し、かつ、オートテンポラリDLモードが設定され、かつ、現時点がDL可能タイミングである場合には(図4BのS33:YES)、CPU21は、ファーム通常処理を終了して、図5に示されるテンポラリDL処理を実行する。
サーバに新ファームウェアが存在するが、オートテンポラリDLモードが設定されていない場合には(S32:NO)、CPU21は、たとえば、操作部12を構成するタッチパネルを制御して、その画面に新ファームウェアをダウンロード可能である旨を表示させる。この画面には、新ファームウェアの試用のためのダウンロード(テンポラリDL)を指示するテンポラリDLボタンと、新ファームウェアの本使用のためのダウンロード(通常DL)を指示する通常DLボタンとが表示される。ユーザがテンポラリDLボタンを押操作することにより、テンポラリDLの指示が操作部12に受け付けられ、ユーザが通常DLボタンを押操作することにより、通常DLの指示が操作部12に受け付けられる。
テンポラリDLの指示が操作部12に受け付けられた場合(S34:YES)、CPU21は、ファーム通常処理を終了して、図5に示されるテンポラリDL処理を実行する。
通常DLの指示が操作部12に受け付けられた場合(S35:YES)、CPU21は、ファーム通常処理を終了して、図9に示される通常DL処理を実行する。
テンポラリDLまたは通常DLのいずれかの指示が操作部12に受け付けられるまでは、CPU21は、プリントデータを受信したか否かを再び判断する(図4AのS26)。
<テンポラリDL処理>
テンポラリDL処理では、図5に示されるように、CPU21は、通信部16を制御して、サーバから通信部16に圧縮状態の新ファームウェアをダウンロードし、図6Aに示されるように、その圧縮状態の新ファームウェアをDRAM15の第2領域A2からなるワークエリアに書き込む(S41)。このときの新ファームウェアのダウンロードは、新ファームウェアの試用のためのテンポラリDLである。
その後、CPU21は、テンポラリDL実行フラグをSRAM22に保存する(S42)。テンポラリDL実行フラグは、圧縮状態の新ファームウェアをDRAM15の第2領域A2からなるワークエリアに書き込まれたことを示す情報である。
そして、CPU21は、メモリコントローラ23を制御して、DRAM15をセルフリフレッシュモードにする(S43)。DRAM15には、リフレッシュ回路が内蔵されており、セルフリフレッシュモードでは、そのリフレッシュ回路により、DRAM15に保存されているデータの再書き込みが周期的に行われる。これにより、セルフリフレッシュモードでは、DRAM15にデータが保持し続けられる。
CPU21は、DRAM15をセルフリフレッシュモードにした後、図6Bに示されるように、CPU21自身の再起動により、フラッシュROM14に保存されているブートプログラムを実行して(S44:リブート)、テンポラリDL処理を終了し、ファーム起動処理を実行する。
<テンポラリDL後のファーム起動処理>
図2を参照して、テンポラリDL処理後のファーム起動処理では、SRAM22にテンポラリDL実行フラグが保存されている。CPU21は、SRAM22にテンポラリDL実行フラグが保存されている場合に今回のリブートがテンポラリDL後のリブートであると判別する(S11:YES)。
そして、CPU21は、メモリコントローラ23を制御して、DRAM15のセルフリフレッシュモードを解除する。さらにCPU21は、SRAM22に保存されているテンポラリDL実行フラグを消去する(S15)。
その後、CPU21は、図7に示されるように、DRAM15に保存されている圧縮状態の新ファームウェアをDRAM15の第1領域A1上にCPU21が実行可能な形式に展開する(S16)。このとき、新ファームウェアの展開前に第1領域A1に展開されていた旧ファームウェアは、新ファームウェアの展開により上書きにて消去されるか、または、新ファームウェアの展開前に削除される。
その後、CPU21は、DRAM15に展開された新ファームウェアの先頭アドレスにジャンプして、新ファームウェアを先頭アドレスから実行する(S14)。
<テンポラリDL後のファーム通常処理>
ファーム起動処理に引き続いて実行されるファーム通常処理では、CPU21は、今回のプリンタ1の起動がテンポラリDL後の起動であると判別する(S22:YES)。この場合、CPU21は、図8に示されるように、ワークエリアとして使用するDRAM15の第2領域A2から圧縮状態の新ファームウェアを削除する(S36)。DRAM15の第2領域A2から圧縮状態の新ファームウェアを削除することにより、ワークエリアとして利用可能なDRAM15の空き容量をより大きく確保できる。
<通常DL処理>
通常DL処理では、図9に示されるように、CPU21は、通信部16を制御して、サーバから通信部16に圧縮状態の新ファームウェアをダウンロードし、その圧縮状態の新ファームウェアをDRAM15の第2領域A2からなるワークエリアに書き込む(S51)。このときの新ファームウェアのダウンロードは、新ファームウェアの本使用のための通常DLである。
その後、CPU21は、図10に示されるように、ワークエリアに保存されている圧縮状態の新ファームウェアをフラッシュROM14に書き込む(S52)。このとき、フラッシュROM14に保存されていた圧縮状態の旧ファームウェアは、圧縮状態の新ファームウェアにより上書きにて消去されるか、または、新ファームウェアの書き込み前に削除される。
そして、CPU21は、CPU21自身の再起動により、フラッシュROM14に保存されているブートプログラムを実行して(S53:リブート)、通常DL処理を終了し、ファーム起動処理を実行する。
<通常DL処理後のファーム起動処理>
図2を参照して、通常DL処理後のファーム起動処理では、SRAM22にテンポラリDL実行フラグが保存されていない。CPU21は、SRAM22にテンポラリDL実行フラグが保存されていない場合に今回のリブートがテンポラリDL後のリブートではないと判別する(S11:NO)。
そして、CPU21は、メモリコントローラ23を制御して、DRAM15を初期化する(S12)。
このとき、フラッシュROM14には、圧縮状態の新ファームウェアが保存されているので、DRAM15の初期化後、CPU21は、図11に示されるように、フラッシュROM14に保存されている圧縮状態の新ファームウェアをDRAM15の第1領域A1上にCPU21が実行可能な形式に展開する(S13)。
<作用効果>
以上のように、フラッシュROM14に書き込まれている圧縮状態の旧ファームウェアは、DRAM15の第1領域A1に実行可能な形式に展開される。その後、実行可能な形式の旧ファームウェアが実行される。
プリンタ1では、オートテンポラリDLモードの設定および解除が可能である。オートテンポラリDLモードが設定されている場合、サーバに新ファームウェアがアップロードされていると、サーバから通信部16に圧縮状態の新ファームウェアがダウンロードされて、その圧縮状態の新ファームウェアがDRAM15の第2領域A2に書き込まれる。また、オートテンポラリDLモードが解除されていても、テンポラリDLの指示が操作部12に受け付けられた場合、旧ファームウェアの実行中に、サーバから通信部16に圧縮状態の新ファームウェアがダウンロードされて、その圧縮状態の新ファームウェアがDRAM15の第2領域A2に書き込まれる。
これらの場合、DRAM15の第2領域A2に書き込まれた圧縮状態の新ファームウェアがDRAM15の第1領域A1に実行可能な形式に展開されて、その実行可能な形式の新ファームウェアが実行される。第1領域A1に展開されていた実行可能な形式の旧ファームウェアは、新ファームウェアの展開により上書きにて消去されるか、新ファームウェアの展開前に消去される。そのため、実行可能な形式の旧ファームウェアおよび新ファームウェアの両方を記録可能な容量をDRAM15の第1領域A1に確保する必要がない。よって、実行可能な形式のファームウェアの記録に必要な第1領域A1の容量を削減することができる。
また、フラッシュROM14に圧縮状態の旧ファームウェアが書き込まれたまま消去されないので、新ファームウェアに不都合や不具合がある場合に、旧ファームウェアをDRAM15の第1領域A1に実行可能な形式に展開して使用することができる。よって、新ファームウェアの実行後であっても、稼働するファームウェアを新ファームウェアから旧ファームウェアに容易に戻すことができる。
さらに、DRAM15の第2領域A2に保存されている圧縮状態の新ファームウェアがDRAM15の第1領域A1に実行可能な形式に展開された後は、DRAM15の第2領域A2に書き込まれている圧縮状態の新ファームウェアが削除される。これにより、第2領域A2の空き容量を増やすことができる。
オートテンポラリDLモードが解除されている状態で、通常DLの指示が操作部12に受け付けられた場合、旧ファームウェアの実行中に、サーバから通信部16に圧縮状態の新ファームウェアがダウンロードされると、その圧縮状態の新ファームウェアがDRAM15の第2領域A2を経由してフラッシュROM14に書き込まれる。そのため、リブート時には、フラッシュROM14に保存されている圧縮状態の新ファームウェアをDRAM15の第1領域A1に実行可能な形式に展開されて、その実行可能な形式の新ファームウェアが実行される。よって、リブートの度にDRAM15の第1領域A1に展開されるファームウェアが新ファームウェアから旧ファームウェアに戻ることを抑制できる。
<変形例>
以上、本発明の一実施形態について説明したが、本発明は、他の形態で実施することもできる。
たとえば、子機器の一例として、プリンタ1を取り上げたが、本発明は、プリンタ1に限らず、原稿の画像を読み取る画像読取機能を有するスキャナに適用することもでき、その画像読取機能とプリント用紙などのシートに画像を形成する画像形成機能とを併せ持つ複合機に適用されてもよい。本発明が画像読取機能を有する機器に適用される場合、図4AのステップS25では、CIS(Contact Image Sensor)などの読取デバイスのホームポジションを補正する動作が行われてもよい。
また、テンポラリDLにより取得した新ファームウェアを実行中に、実行中の新ファームウェアよりもさらに新しいファームウェアがサーバに公開された場合は、新ファームウェアの処理としてテンポラリDL処理を実行するようにしてもよい。これにより、プリンタは常に最新のファームウェアをサーバから取得して実行することができる。
その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
1:プリンタ
12:操作部
13:ASIC
14:フラッシュROM
15:DRAM
16:通信部
21:CPU
22:SRAM
A1:第1領域
A2:第2領域

Claims (9)

  1. 第1ファームウェアが書き込まれたメモリと、
    外部機器と通信する通信部と、
    制御部と、
    通常ダウンロード処理およびテンポラリダウンロード処理のいずれを実行するかを選択する設定を受け付ける受付部と、
    を備える電子機器であって、
    前記制御部は、
    前記メモリに書き込まれている前記第1ファームウェアを展開して実行し、
    前記第1ファームウェアを実行しているときに、前記受付部に受け付けられた設定に応じて、前記通常ダウンロード処理または前記テンポラリダウンロード処理を選択的に実行し、
    前記通常ダウンロード処理では、前記通信部を制御して、前記外部機器から第2ファームウェアを受信させて、前記第2ファームウェアを前記メモリに書き込
    前記通常ダウンロード処理後の再起動により、前記メモリに保存されているプログラムを実行して、前記メモリに書き込まれている前記第2ファームウェアを展開して実行し、
    その後の起動では、前記プログラムを実行して、前記メモリに書き込まれている前記第2ファームウェアを展開して実行し、
    前記テンポラリダウンロード処理では、前記通信部を制御して、前記外部機器から前記第2ファームウェアを受信させて、前記第2ファームウェアを前記メリに書き込み、
    前記テンポラリダウンロード処理後の再起動により前記プログラムを実行して、記メリに書き込まれている前記第2ファームウェアを展開して実行し
    その後の起動では、前記プログラムを実行して、前記メモリに書き込まれている前記第1ファームウェアを展開して実行する、
    ことを特徴とする、電子機器。
  2. 請求項1に記載の電子機器であって、
    前記メモリには、第1メモリと、第2メモリとが含まれており、
    前記制御部は、
    起動時に前記プログラムを実行することにより、前記第1メモリに書き込まれている前記第1ファームウェアを展開して実行し、
    前記通常ダウンロード処理では、前記第2ファームウェアを前記第1ファームウェアとして置き換えて前記第1メモリに書き込み、
    前記テンポラリダウンロード処理では、前記第2ファームウェアを前記第2メモリに書き込む、電子機器。
  3. 請求項2に記載の電子機器であって、
    前記第1メモリは、不揮発性メモリであり、
    前記第2メモリは、揮発性メモリであり、
    前記制御部は、前記メモリに記憶されている前記第1ファームウェアまたは前記第2ファームウェアを前記揮発性メモリに展開して実行する、電子機器。
  4. 請求項2または3に記載の電子機器であって、
    前記制御部は、再起動時に、
    前記第2メモリに前記第2ファームウェアが記憶されている場合には、前記第2ファームウェアを展開して実行し、
    前記第2メモリに前記第2ファームウェアが記憶されていない場合には、前記第1メモリに記憶されている第1ファームウェアを展開して実行する、電子機器。
  5. 請求項4に記載の電子機器であって、
    前記制御部は、前記テンポラリダウンロード処理後の再起動では、前記第2メモリから前記第2ファームウェアを削除する、電子機器。
  6. 請求項4に記載の電子機器であって、
    前記制御部は、
    前記テンポラリダウンロード処理により前記第2ファームウェアを前記第2メモリに書き込んだ後、前記第2メモリをデータが保持し続けられるデータ保持モードにし、
    前記テンポラリダウンロード処理後の再起動では、前記データ保持モードを解除して、前記第2ファームウェアを展開して実行する、電子機器。
  7. 請求項1に記載の電子機器であって、
    前記制御部は、
    前記テンポラリダウンロード処理により前記第2ファームウェアを前記第2メモリに書き込んだ場合、前記メモリにフラグを保存し、
    前記メモリに前記フラグが保存されている場合、前記メモリに書き込まれている前記第2ファームウェアを展開して実行し、
    前記メモリに前記フラグが保存されていない場合、前記メモリに書き込まれている前記第1ファームウェアを展開して実行する、電子機器。
  8. 請求項7に記載の電子機器であって、
    前記制御部は、前記テンポラリダウンロード処理後の再起動時に、前記メモリから前記フラグを消去する、電子機器。
  9. 請求項1~8のいずれか一項に記載の電子機器であって、
    前記受付部は、ユーザにより操作される操作部である、電子機器。
JP2017197607A 2017-10-11 2017-10-11 電子機器 Active JP7031211B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017197607A JP7031211B2 (ja) 2017-10-11 2017-10-11 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017197607A JP7031211B2 (ja) 2017-10-11 2017-10-11 電子機器

Publications (2)

Publication Number Publication Date
JP2019071003A JP2019071003A (ja) 2019-05-09
JP7031211B2 true JP7031211B2 (ja) 2022-03-08

Family

ID=66441221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017197607A Active JP7031211B2 (ja) 2017-10-11 2017-10-11 電子機器

Country Status (1)

Country Link
JP (1) JP7031211B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100987A (ja) 1999-09-29 2001-04-13 Matsushita Electric Ind Co Ltd プログラム更新装置およびプログラム更新方法
JP2009139997A (ja) 2007-12-03 2009-06-25 Fujitsu Ltd ファームウェア組込方法、ファームウェア組込装置、及び、ファームウェア組込プログラム
JP2011039624A (ja) 2009-08-07 2011-02-24 Sanyo Electric Co Ltd 医療用装置および医療用プログラム
JP2012174196A (ja) 2011-02-24 2012-09-10 Canon Inc クラウドコンピューティングシステム、その制御方法、およびそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100987A (ja) 1999-09-29 2001-04-13 Matsushita Electric Ind Co Ltd プログラム更新装置およびプログラム更新方法
JP2009139997A (ja) 2007-12-03 2009-06-25 Fujitsu Ltd ファームウェア組込方法、ファームウェア組込装置、及び、ファームウェア組込プログラム
JP2011039624A (ja) 2009-08-07 2011-02-24 Sanyo Electric Co Ltd 医療用装置および医療用プログラム
JP2012174196A (ja) 2011-02-24 2012-09-10 Canon Inc クラウドコンピューティングシステム、その制御方法、およびそのプログラム

Also Published As

Publication number Publication date
JP2019071003A (ja) 2019-05-09

Similar Documents

Publication Publication Date Title
JP6073854B2 (ja) 電子機器及びファームウェア復旧プログラム
US9348578B2 (en) Information processing apparatus capable of updating firmware, control method therefor, and storage medium storing control program therefor
JP2019149048A (ja) 情報処理装置、ファームウェア更新方法、プログラム
JP4946141B2 (ja) 構成変更プログラム、および情報処理装置
JP6074064B2 (ja) 電子機器
JP2008006717A (ja) 画像形成装置
JP6041588B2 (ja) 画像形成装置、プログラム更新方法及びプログラム
JP7031211B2 (ja) 電子機器
US10860330B2 (en) Electronic apparatus having volatile memory including refresh circuit and method for backup-rebooting the electronic apparatus
JP2023068538A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP5803598B2 (ja) 画像形成装置
JP2007148629A (ja) プリントシステム及びファームウェア更新方法
JP2008162054A (ja) 印刷装置
JP5895609B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP2013200602A (ja) 画像処理装置
JP2005094301A (ja) 画像形成装置
JP6987541B2 (ja) 画像形成装置及び画像形成装置の制御方法
JP2019133407A (ja) ファームウェア更新システムおよびファームウェア更新方法
JP7494543B2 (ja) 情報処理装置及びプログラム
JP7371723B2 (ja) 電子機器
JP4366207B2 (ja) 印刷制御装置、印刷装置、プログラム起動方法、及びプログラム
JP7229786B2 (ja) 制御装置、画像形成装置及び起動方法
JP2009048484A (ja) 電子機器及び電子情報更新方法
JP2016103160A (ja) 画像処理装置及びプログラムのアップデート方法
JP2006126987A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220207

R150 Certificate of patent or registration of utility model

Ref document number: 7031211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150