(57)【要約】【課題】ブートプログラムを含むプログラムの書き換えが失敗したときに、ブートプログラムを書き込むためのデバイスを用意しなくても、ＯＳを起動させることができ、その後、プログラムの書き換えを実行する。【解決手段】ＮＡＮＤ型フラッシュメモリー４１に格納されているアップデート前のファームウェアを、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアと書き換えることに失敗したとする。ＵＳＢメモリー１９がＵＳＢコネクター１３に接続されている状態で、長押検知回路１７が電源ボタン２３の長押しを検知した場合、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアに含まれるブートプログラムを読み出して、ＯＳを起動させる。ＯＳの起動後、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアを読み出して、ＮＡＮＤ型フラッシュメモリー４１に格納されているアップデート前のファームウェアを、アップデート版のファームウェアに書き換える。【選択図】図３
2015090508.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムを用いてＯＳを起動する電子機器であって、
前記ブートプログラムを含む所定のプログラムが格納される不揮発性記憶部と、
前記不揮発性記憶部に格納されている前記ブートプログラムを読み出して、前記ＯＳを起動させる起動部と、
書き換え版の前記所定のプログラムが格納されている可搬型記憶媒体が接続されるインターフェイス部と、
予め定められた操作を受け付ける受付部と、を備え、
前記インターフェイス部に前記可搬型記憶媒体が接続されている状態で、前記受付部が、前記予め定められた操作を受け付けた場合、前記起動部は、異常時起動モードに移行し、前記可搬型記憶媒体に格納されている書き換え版の前記所定のプログラムに含まれる前記ブートプログラムを読み出して、前記ＯＳを起動させ、さらに
前記異常時起動モードにおいて、前記ＯＳが起動された後、前記可搬型記憶媒体に格納されている書き換え版の前記所定のプログラムを読み出して、前記不揮発性記憶部に格納されている書き換え前の前記所定のプログラムを、書き換え版の前記所定のプログラムに書き換える書換部を備える電子機器。
【請求項２】
前記電子機器に電源を入れるための電源ボタンを備え、
前記受付部は、前記電源ボタンが押されている時間を計測し、予め定められた第１の所定時間に到達すれば、前記電源ボタンの長押しと判断し、前記電源ボタンの長押しを前記予め定められた操作として受け付ける請求項１に記載の電子機器。
【請求項３】
前記受付部が、前記第１の所定時間に到達する前に、前記電源ボタンが押されるのが止められたと判断した場合、前記起動部は、通常時起動モードに移行し、前記不揮発性記憶部にアクセスして、前記不揮発性記憶部に格納されている前記ブートプログラムを読み出して、前記ＯＳを起動させる請求項２に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器において、ブートプログラムを含むプログラムを書き換える技術に関する。
【背景技術】
【０００２】
ブートプログラムは、コンピューターのＯＳ(Operating System)を起動するためのソフトウェアである。ブートプログラムは、フラッシュメモリーのような不揮発性記憶装置に格納されており、フラッシュメモリーからブートプログラムが読み出されて、実行されることにより、ＯＳを起動させる。
【０００３】
ブートプログラムは、ファームウェアのような所定のプログラムに含まれている。ファームウェアは、フラッシュメモリーに格納されており、書き換え(例えば、アップデート)がされる。
【０００４】
電子機器がネットワークに接続されていない場合、ＵＳＢメモリーのような可搬型記憶媒体から書き換え版のファームウェアを読み出して、ファームウェアの書き換えをする。ファームウェアの書き換え中に電子機器の電源が遮断されたり、ＵＳＢメモリーが電子機器から取り外されたりすれば、ファームウェアの書き換えが失敗する。これにより、フラッシュメモリーにブートプログラムが格納されていない事態が生じれば、ＯＳを起動できなくなる。
【０００５】
そこで、ＵＳＢメモリーが電子機器から取り外されても、ファームウェアの書き換えが失敗しないようにするために、ＵＳＢメモリーに格納されているアップデートファイルを印刷装置内に読み込んだ後、読み込んだアップデートファイルに基づいて、ファームウェアのアップデートを行う印刷装置が提案されている(例えば、特許文献１参照)。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１６２０５４号公報(要約)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ファームウェアの書き換えに失敗しても、フラッシュライターと称されるフラッシュメモリーにプログラムを書き込むデバイスによって、ブートプログラムをフラッシュメモリーに書き込むことにより、ＯＳを起動させることができる。
【０００８】
本発明は、ブートプログラムを含むプログラムの書き換えが失敗したときに、ブートプログラムを書き込むためのデバイスを用意しなくても、ＯＳを起動させることができ、その後、プログラムの書き換えを実行できる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明に係る電子機器は、ブートプログラムを用いてＯＳを起動する電子機器であって、前記ブートプログラムを含む所定のプログラムが格納される不揮発性記憶部と、前記不揮発性記憶部に格納されている前記ブートプログラムを読み出して、前記ＯＳを起動させる起動部と、書き換え版の前記所定のプログラムが格納されている可搬型記憶媒体が接続されるインターフェイス部と、予め定められた操作を受け付ける受付部と、を備え、前記インターフェイス部に前記可搬型記憶媒体が接続されている状態で、前記受付部が、前記予め定められた操作を受け付けた場合、前記起動部は、異常時起動モードに移行し、前記可搬型記憶媒体に格納されている書き換え版の前記所定のプログラムに含まれる前記ブートプログラムを読み出して、前記ＯＳを起動させ、さらに、前記異常時起動モードにおいて、前記ＯＳが起動された後、前記可搬型記憶媒体に格納されている書き換え版の前記所定のプログラムを読み出して、前記不揮発性記憶部に格納されている書き換え前の前記所定のプログラムを、書き換え版の前記所定のプログラムに書き換える書換部を備える。
【００１０】
本発明に係る電子機器は、ブートプログラムを含む所定のプログラムの書き換えを、ネットワークでなく、所定のプログラムの書き換え版が格納されている可搬型記憶媒体を利用する場合を前提とする。書き換え中に電子機器の電源の遮断等が発生して、書き換えが失敗した場合、ユーザーが予め定められた操作をする(例えば、電源ボタンの長押し)。これにより、起動部は、異常時起動モードに移行し、可搬型記憶媒体に格納されている書き換え版の所定のプログラムに含まれるブートプログラムを、可搬型記憶媒体から読み出してＯＳを起動させる。従って、本発明に係る電子機器によれば、ブートプログラムを含むプログラムの書き換えが失敗したときに、不揮発性記憶部にブートプログラムを書き込むためのデバイスを用意しなくても、ＯＳを起動させることができる。
【００１１】
そして、本発明に係る電子機器では、可搬型記憶媒体に格納されているブートプログラムを利用して、ＯＳが起動された後、自動的に書換部により、所定のプログラムの書き換えが実行される。
【００１２】
以上より、本発明に係る電子機器によれば、ブートプログラムを含むプログラムの書き換えが失敗したときに、ブートプログラムを書き込むためのデバイスを用意しなくても、ＯＳを起動させることができ、その後、プログラムの書き換えを実行できる。
【００１３】
上記構成において、前記電子機器に電源を入れるための電源ボタンを備え、前記受付部は、前記電源ボタンが押されている時間を計測し、予め定められた第１の所定時間に到達すれば、前記電源ボタンの長押しと判断し、前記電源ボタンの長押しを前記予め定められた操作として受け付ける。
【００１４】
この構成は、予め定められた操作を電源ボタンの長押しとする態様である。
【００１５】
上記構成において、前記受付部が、前記第１の所定時間に到達する前に、前記電源ボタンが押されるのが止められたと判断した場合、前記起動部は、通常時起動モードに移行し、前記不揮発性記憶部にアクセスして、前記不揮発性記憶部に格納されている前記ブートプログラムを読み出して、前記ＯＳを起動させる。
【００１６】
この構成は、電源ボタンを押す操作が、電源ボタンの長押か否かによって、通常時起動モードと異常時起動モードとを選択できるようにしている。
【発明の効果】
【００１７】
本発明によれば、ブートプログラムを含むプログラムの書き換えが失敗したときに、ブートプログラムを書き込むためのデバイスを用意しなくても、ＯＳを起動させることができ、その後、プログラムの書き換えを実行できる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る画像形成装置の内部構造の概略を説明する説明図である。
【図２】図１に示す画像形成装置の構成を示すブロック図である。
【図３】本実施形態に係る画像形成装置の制御部のハードウェア構成を示すブロック図である。
【図４】制御部に含まれるコントローラーボードのハードウェア構成を示すブロック図である。
【図５】コントローラーボードの機能ブロック図である。
【図６】本実施形態において、通常時起動モードの動作を説明するフローチャートである。
【図７】通常時起動モードの動作を示すタイムチャートである。
【図８】本実施形態において、異常時起動モードの動作を説明するフローチャートである。
【図９】異常時起動モードの動作を示すタイムチャートである。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて本発明の実施形態を詳細に説明する。図１は、本発明の一実施形態に係る画像形成装置１(電子機器の一例)の内部構造の概略を説明する説明図である。画像形成装置１は、例えば、コピー、プリンター、スキャナー及びファクシミリの機能を有するデジタル複合機に適用することができる。画像形成装置１は、装置本体１００、装置本体１００の上に配置された原稿読取部２００、原稿読取部２００の上に配置された原稿給送部３００及び装置本体１００の上部前面に配置された操作部４００を備える。
【００２０】
原稿給送部３００は、自動原稿送り装置として機能し、原稿載置部３０１に置かれた複数枚の原稿を連続的に原稿読取部２００で読み取ることができるように送ることができる。
【００２１】
原稿読取部２００は、露光ランプ等を搭載したキャリッジ２０１、ガラス等の透明部材により構成された原稿台２０３、不図示のＣＣＤ(Charge Coupled Device)センサー及び原稿読取スリット２０５を備える。原稿台２０３に載置された原稿を読み取る場合、キャリッジ２０１を原稿台２０３の長手方向に移動させながらＣＣＤセンサーにより原稿を読み取る。これに対して、原稿給送部３００から給送された原稿を読み取る場合、キャリッジ２０１を原稿読取スリット２０５と対向する位置に移動させて、原稿給送部３００から送られてきた原稿を、原稿読取スリット２０５を通してＣＣＤセンサーにより読み取る。ＣＣＤセンサーは読み取った原稿を画像データとして出力する。
【００２２】
装置本体１００は、用紙貯留部１０１、画像形成部１０３及び定着部１０５を備える。用紙貯留部１０１は、装置本体１００の最下部に配置されており、用紙の束を貯留することができる用紙トレイ１０７を備える。用紙トレイ１０７に貯留された用紙の束において、最上位の用紙がピックアップローラー１０９の駆動により、用紙搬送路１１１へ向けて送出される。用紙は、用紙搬送路１１１を通って、画像形成部１０３へ搬送される。
【００２３】
画像形成部１０３は、搬送されてきた用紙にトナー像を形成する。画像形成部１０３は、感光体ドラム１１３、露光部１１５、現像部１１７及び転写部１１９を備える。露光部１１５は、画像データ(原稿読取部２００から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等)に対応して変調された光を生成し、一様に帯電された感光体ドラム１１３の周面に照射する。これにより、感光体ドラム１１３の周面には、画像データに対応する静電潜像が形成される。この状態で感光体ドラム１１３の周面に現像部１１７からトナーを供給することにより、周面には画像データに対応するトナー像が形成される。このトナー像は、転写部１１９によって先ほど説明した用紙貯留部１０１から搬送されてきた用紙に転写される。
【００２４】
トナー像が転写された用紙は、定着部１０５に送られる。定着部１０５において、トナー像と用紙に熱と圧力が加えられて、トナー像は用紙に定着される。用紙はスタックトレイ１２１又は排紙トレイ１２３に排紙される。
【００２５】
操作部４００は、操作キー部４０１と表示部４０３を備える。表示部４０３は、タッチパネル機能を有しており、ソフトキーを含む画面が表示される。ユーザーは、画面を見ながらソフトキーを操作することによって、コピー等の機能の実行に必要な設定等をする。
【００２６】
操作キー部４０１には、ハードキーからなる操作キーが設けられている。具体的には、スタートキー４０５、テンキー４０７、ストップキー４０９、リセットキー４１１、コピー、プリンター、スキャナー及びファクシミリを切り換えるための機能切換キー４１３等が設けられている。
【００２７】
スタートキー４０５は、コピー、ファクシミリ送信等の動作を開始させるキーである。テンキー４０７は、コピー部数、ファクシミリ番号等の数字を入力するキーである。ストップキー４０９は、コピー動作等を途中で中止させるキーである。リセットキー４１１は、設定された内容を初期設定状態に戻すキーである。
【００２８】
機能切換キー４１３は、コピーキー及び送信キー等を備えており、コピー機能、送信機能等を相互に切り替えるキーである。コピーキーを操作すれば、コピーの初期画面が表示部４０３に表示される。送信キーを操作すれば、ファクシミリ送信及びメール送信の初期画面が表示部４０３に表示される。
【００２９】
図２は、図１に示す画像形成装置１の構成を示すブロック図である。画像形成装置１は、装置本体１００、原稿読取部２００、原稿給送部３００、操作部４００、制御部５００及び通信部６００がバスによって相互に接続された構成を有する。装置本体１００、原稿読取部２００、原稿給送部３００及び操作部４００に関しては既に説明したので、説明を省略する。
【００３０】
通信部６００は、ファクシミリ通信部６０１及びネットワークＩ／Ｆ部６０３を備える。ファクシミリ通信部６０１は、相手先ファクシミリとの電話回線の接続を制御するＮＣＵ(Network Control Unit)及びファクシミリ通信用の信号を変復調する変復調回路を備える。ファクシミリ通信部６０１は、電話回線６０５に接続される。
【００３１】
ネットワークＩ／Ｆ部６０３は、ＬＡＮ(Local Area Network)６０７に接続される。ネットワークＩ／Ｆ部６０３は、ＬＡＮ６０７に接続されたパソコン等の端末装置との間で通信を実行するための通信インターフェイス回路である。
【００３２】
制御部５００について説明する。図３は、制御部５００のハードウェア構成を示すブロック図である。制御部５００は、コントローラーボード１１、ＵＳＢコネクター１３(インターフェイス部の一例)、内部電源１５、及び、長押検知回路１７(受付部の一例)を備える。
【００３３】
コントローラーボード１１には、画像形成装置１の制御をするための主要デバイス(図４に示すＣＰＵ４９及びＤＲＡＭ４３等)が搭載されている。
【００３４】
ＵＳＢコネクター１３は、ＵＳＢメモリー１９が接続されるインターフェイス部である。ＵＳＢコネクター１３は、画像形成装置１のキャビネットに取り付けられている。ＵＳＢメモリー１９は、可搬型記憶媒体の一例である。可搬型記憶媒体としては、その他に、ＳＤメモリー(SD Memory)やＣＤ(compact disc)等がある。
【００３５】
内部電源１５は、画像形成装置１の外部電源(商用電源)２１から供給される交流電圧を直流電圧に変換したり、その直流電圧の電圧を変換したりする。内部電源１５は、コントローラーボード１１や長押検知回路１７等に電力を供給する。
【００３６】
画像形成装置１のキャビネットには、画像形成装置１に電源を入れるための電源ボタン２３が配置されている。電源ボタン２３が押されると、外部電源２１から内部電源１５に交流電力が供給されて、内部電源１５が起動する。
【００３７】
長押検知回路１７は、電源ボタン２３が押されている時間を計測するタイマー２５を備える。長押検知回路１７は、電源ボタン２３が押されている時間が、予め定められた第１の所定時間に到達すれば、電源ボタン２３の長押しと判断する。長押検知回路１７は、電源ボタン２３が押されている時間が第１の所定時間に到達する前に、電源ボタン２３が押されるのが止められたと判断した場合、通常の電源オン操作と判断する。長押検知回路１７は、予め定められた操作(電源ボタン２３の長押し)を受け付ける受付部の一例である。
【００３８】
コントローラーボード１１について、詳しく説明する。図４は、コントローラーボード１１のハードウェア構成を示すブロック図である。コントローラーボード１１は、ＮＡＮＤ型フラッシュメモリー(NAND-type flash memory)４１、ＤＲＡＭ４３、ＡＳＩＣ(Application Specific Integrated Circuits)４５、及び、これらを相互に接続するバス４７を備える。
【００３９】
ＮＡＮＤ型フラッシュメモリー４１には、ＲＯＭとして機能し、画像形成装置１の動作の制御に必要なプログラム(ブートプログラムを含むファームウェア、ＯＳを含む各種プログラム)やデータを格納している。また、ＮＡＮＤ型フラッシュメモリー４１は、原稿読取部２００(図２)で生成された画像データや通信部６００(図２)で受信された画像データ等を蓄積する機能を有する。
【００４０】
ＮＡＮＤ型フラッシュメモリー４１は、ブートプログラムを含む所定のプログラムが格納される不揮発性記憶部の一例である。不揮発性記憶部としては、他に、ＮＯＲ型フラッシュメモリー(NOR-type flash memory)やＨＤＤ(Hard Disk Drive)がある。
【００４１】
ＤＲＡＭ４３は、ＮＡＮＤ型フラッシュメモリー４１に格納されているプログラム及び画像データの展開等に利用される。
【００４２】
ＡＳＩＣ４５は、ＣＰＵ４９、ＮＡＮＤコントローラー５１、及び、ＵＳＢコントローラー５５を備える。
【００４３】
ＣＰＵ４９は、画像形成装置１を動作させるために必要な制御を、図２に示す装置本体１００等の画像形成装置１の上記構成要素に対して実行する。
【００４４】
ＮＡＮＤコントローラー５１は、ＮＡＮＤ型フラッシュメモリー４１に対して、プログラムやデータの読み出し、書き込み、消去の制御をする。
【００４５】
ＵＳＢコントローラー５５は、図３に示すＵＳＢメモリー１９に対して、プログラムやデータの読み出し、書き込み、消去の制御をする。
【００４６】
図５は、コントローラーボード１１の機能ブロック図である。コントローラーボード１１は、起動部６１及び書換部６３を備える。
【００４７】
起動部６１は、図３に示す長押検知回路１７が電源ボタン２３の操作を電源ボタン２３の長押しと判断した場合、異常時起動モードに移行し、長押検知回路１７が電源ボタン２３の操作を通常の電源オン操作と判断した場合、通常時起動モードに移行する。
【００４８】
通常時起動モードにおいて、起動部６１は、図４に示すＮＡＮＤ型フラッシュメモリー４１にアクセスして、ＮＡＮＤ型フラッシュメモリー４１に格納されているブートプログラムを読み出して、画像形成装置１のＯＳを起動させる。
【００４９】
ＵＳＢメモリー１９に格納されているファームウェアの書き換えが失敗した後、ＵＳＢコネクター１３にＵＳＢメモリー１９が接続されている状態で、ユーザーにより電源ボタン２３の長押しがされた場合、起動部６１は、異常時起動モードに移行する。異常時起動モードにおいて、起動部６１は、ＵＳＢメモリー１９に格納されている書き換え版のファームウェアに含まれるブートプログラムを読み出して、画像形成装置１のＯＳを起動させる。
【００５０】
従って、本実施形態では、電源ボタン２３を押す操作が、電源ボタン２３の長押しであるか否かによって、通常時起動モードと異常時起動モードとを選択できるようにしている。
【００５１】
書換部６３は、ＵＳＢコネクター１３に接続されているＵＳＢメモリー１９から書き換え版のファームウェアを読み出し、ＮＡＮＤ型フラッシュメモリー４１に格納されている書き換え前のファームウェアを、書き換え版のファームウェアに書き換える。
【００５２】
さらに、書換部６３は、異常時起動モードにおいて、ＯＳが起動された後、ＵＳＢメモリー１９に格納されている書き換え版のファームウェアを読み出して、ＮＡＮＤ型フラッシュメモリー４１に格納されている書き換え前のファームウェアを、書き換え版のファームウェアに書き換える。
【００５３】
以下、ブートプログラムを含むファームウェアの書き換えを、アップデートを例に説明するが、アップデート以外の書き換えの形態でもよい(例えば、アップグレード)。
【００５４】
本実施形態に係る画像形成装置１の通常時起動モードの動作について、主に、図３、図４、図６及び図７を参照して説明する。図６は、通常時起動モードの動作を説明するフローチャートである。図７は、通常時起動モードの動作を示すタイミングチャートである。
【００５５】
ユーザーによって電源ボタン２３が押されると(ステップＳ１)、外部電源２１からの電力が内部電源１５に供給されて内部電源１５が起動し(時刻ｔ１)、内部電源１５から長押検知回路１７に電圧が供給される。これにより、長押検知回路１７のリセットが解除され、かつ、タイマー２５が作動する(ステップＳ３：時刻ｔ２)。タイマー２５は、第１の所定時間(例えば、１０秒間)、及び、第１の所定時間よりも長い第２の所定時間(例えば、１３秒間)を計測する。
【００５６】
長押検知回路１７は、電源ボタン２３が押されているか否かを監視し、電源ボタン２３が押されている時間が第１の所定時間に到達したかを判断する(ステップＳ５)。電源ボタン２３が押されている時間が第１の所定時間に到達する前に、電源ボタン２３を押すことが止められると(ステップＳ５でＮｏ)、長押検知回路１７は、電源ボタン２３の長押しと判断しない(ステップＳ７)。すなわち、長押検知回路１７は、電源ボタン２３の操作を通常の電源オン操作と判断する。従って、長押検知回路１７は、その出力信号Ｓ１(図３)をＬレベルからＨレベルに切り替えず、Ｌレベルを保つ(時刻ｔ３)。
【００５７】
これに対して、長押検知回路１７が、電源ボタン２３が押されている時間が、第１の所定時間に到達したと判断した場合(ステップＳ５でＹｅｓ)、電源ボタン２３の長押しと判断し(ステップＳ９)。その後の処理は、後で説明する異常時起動モードのステップＴ１１(図８)へ進む。
【００５８】
ステップＳ７後、タイマー２５で計測される時間が第１の所定時間を超えて、第２の所定時間に到達すると(ステップＳ１１)、内部電源１５は、コントローラーボード１１に電圧を供給する(時刻ｔ５)。これにより、ＣＰＵ４９のリセットが解除される(ステップＳ１３)。
【００５９】
この時点でＣＰＵ４９のリセットが解除される理由を説明する。長押検知回路１７は、電源ボタン２３が押されている時間が第１の所定時間に到達するか否かで、電源ボタン２３の長押しであるか否かを判断する。電源ボタン２３の長押しと判断されない場合、通常時起動モードに移行し、電源ボタン２３の長押しと判断された場合、異常時起動モードに移行する。電源ボタン２３が押されている時間が第１の所定時間に到達するか否か判断されるまで、通常時起動モードに移行するか、異常時起動モードに移行するか分からない。このため、第１の所定時間よりも長い時間(本実施形態では第２の所定時間)に到達するまで、ＣＰＵ４９をリセットし続ける必要がある。そこで、本実施形態では、第２の所定時間に到達後に、ＣＰＵ４９のリセットを解除するのである。後で説明する異常時起動モードにおいて、図９に示すように、第２の所定時間に到達後に、ＣＰＵ４９のリセット解除をするのも同じ理由である。
【００６０】
ＣＰＵ４９のリセットが解除されたとき(ステップＳ１３)、長押検知回路１７の出力信号Ｓ１が、Ｌレベルであれば(電源ボタン２３の長押しでない)、ＮＡＮＤコントローラー５１が作動し、Ｈレベルであれば(電源ボタン２３の長押し)、ＵＳＢコントローラー５５が作動する。ＣＰＵ４９のリセットが解除されたとき、長押検知回路１７の出力信号Ｓ１は、Ｌレベルなので、ＮＡＮＤコントローラー５１が作動する(ステップＳ１５)。
【００６１】
ＮＡＮＤコントローラー５１は、ＮＡＮＤ型フラッシュメモリー４１にブートプログラムが格納されているか判断する(ステップＳ１７)。
【００６２】
ＮＡＮＤコントローラー５１が、ＮＡＮＤ型フラッシュメモリー４１にブートプログラムが格納されていないと判断した場合(ステップＳ１７でＮｏ)、ＮＡＮＤコントローラー５１は、ＣＰＵ４９の起動を中止する(ステップＳ１９)。
【００６３】
ＮＡＮＤコントローラー５１が、ＮＡＮＤ型フラッシュメモリー４１にブートプログラムが格納されていると判断した場合(ステップＳ１７でＹｅｓ)、以下の処理がされる。ＮＡＮＤコントローラー５１は、ＲＡＭ５３(図４)を備えており、ＣＰＵ４９を初期設定するためのプログラムをＮＡＮＤ型フラッシュメモリー４１から読み出し、ＲＡＭ５３に格納する。ＮＡＮＤコントローラー５１は、このプログラムを実行することにより、ＮＡＮＤ型フラッシュメモリー４１に格納されているプログラムやデータを認識して、ＣＰＵ４９の初期設定をする(ステップＳ２１)。
【００６４】
次に、ＮＡＮＤコントローラー５１は、ブートプログラムを含むファームウェアを、ＮＡＮＤ型フラッシュメモリー４１から読み出して、ＤＲＡＭ４３に展開し、そのファームウェアを実行することにより、ＣＰＵ４９の起動(画像形成装置１のＯＳを起動を含む)を完了させる(ステップＳ２３)。
【００６５】
次に、本実施形態に係る画像形成装置１の異常時起動モードの動作について、主に、図３、図４、図８及び図９を参照して説明する。図８は、異常時起動モードの動作を説明するフローチャートである。図９は、異常時起動モードの動作を示すタイミングチャートである。
【００６６】
ＵＳＢメモリー１９には、アップデート版のファームウェアが格納されている。このファームウェアには、ＣＰＵ４９を初期設定するためのプログラム及びブートプログラムが含まれる。ＮＡＮＤ型フラッシュメモリー４１に格納されているアップデート前のファームウェアを、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアにアップデートすることに失敗し、かつ、このＵＳＢメモリー１９が、ＵＳＢコネクター１３に接続されているとする。
【００６７】
ユーザーによって電源ボタン２３が押されると(ステップＴ１)、外部電源２１からの電力が内部電源１５に供給されて内部電源１５が起動し(時刻ｔ１)、内部電源１５から長押検知回路１７に電圧が供給される。これにより、長押検知回路１７のリセットが解除され、かつ、タイマー２５が作動する(ステップＴ３：時刻ｔ２)。ステップＴ１及びステップＴ３の処理は、ステップＳ１及びステップＳ３の処理と同じである。タイマー２５は、上述したように、第１の所定時間(例えば、１０秒間)、及び、第１の所定時間よりも長い第２の所定時間(例えば、１３秒間)を計測する。
【００６８】
長押検知回路１７は、電源ボタン２３が押されているか否かを監視し、電源ボタン２３が押されている時間が第１の所定時間に到達したかを判断する(ステップＴ５)。電源ボタン２３が押されている時間が第１の所定時間に到達する前に、電源ボタン２３を押すことが止められると(ステップＴ５でＮｏ)、長押検知回路１７は、電源ボタン２３の長押しと判断しない(ステップＴ７)。すなわち、長押検知回路１７は、電源ボタン２３の操作を通常の電源オン操作と判断する。従って、長押検知回路１７は、その出力信号Ｓ１(図３)をＬレベルからＨレベルに切り替えず、Ｌレベルを保つ。その後の処理は、通常時起動モードのステップＳ１１(図６)へ進む。
【００６９】
これに対して、長押検知回路１７が、電源ボタン２３が押されている時間が、第１の所定時間に到達したと判断した場合(ステップＴ５でＹｅｓ)、電源ボタン２３の長押しと判断する(ステップＴ９)。ステップＴ５、ステップＴ７及びステップＴ９の処理は、ステップＳ５、ステップＳ７及びステップＳ９の処理と同じである。
【００７０】
長押検知回路１７は、電源ボタン２３の長押しと判断すれば(ステップＴ９)、その出力信号Ｓ１(図３)をＬレベルからＨレベルに切り替える(時刻ｔ４)。
【００７１】
ステップＴ９後、タイマー２５で計測される時間が第１の所定時間を超えて、第２の所定時間に到達すると(ステップＴ１１)、内部電源１５は、コントローラーボード１１に電圧を供給する(時刻ｔ５)。これにより、ＣＰＵ４９のリセットが解除される(ステップＴ１３)。ステップＴ１１及びステップＴ１３の処理は、ステップＳ１１及びステップＳ１３の処理と同じである。
【００７２】
ＣＰＵ４９のリセットが解除されたとき(ステップＴ１３)、長押検知回路１７の出力信号Ｓ１は、Ｈレベルなので、ＵＳＢコントローラー５５が作動する(ステップＴ１５)。
【００７３】
ＵＳＢコントローラー５５は、ＵＳＢメモリー１９がＵＳＢコネクター１３に接続されているかを判断する(ステップＴ１７)。ＵＳＢコントローラー５５が、ＵＳＢメモリー１９がＵＳＢコネクター１３に接続されていないと判断した場合(ステップＴ１７でＮｏ)、その後の処理は、通常時起動モードのステップＳ１５(図６)へ進む。従って、ファームウェアのアップデートに失敗しても、ＮＡＮＤ型フラッシュメモリー４１にブートプログラムが残っていれば、ＣＰＵ４９は起動される。
【００７４】
ＵＳＢコントローラー５５が、ＵＳＢメモリー１９がＵＳＢコネクター１３に接続されていると判断した場合(ステップＴ１７でＹｅｓ)、ＵＳＢコントローラー５５は、ＵＳＢメモリー１９にブートプログラムが格納されているかを判断する(ステップＴ１９)。
【００７５】
ＵＳＢメモリー１９に、アップデート版のファームウェアでなく、例えば、画像データが格納されていれば、ＵＳＢコントローラー５５は、ＵＳＢメモリー１９にブートプログラムが格納されていないと判断する(ステップＴ１９でＮｏ)。その後の処理は、通常時起動モードのステップＳ１５(図６)へ進む。
【００７６】
ＵＳＢコントローラー５５が、ＵＳＢメモリー１９にブートプログラムが格納されていると判断した場合(ステップＴ１９でＹｅｓ)、以下の処理がされる。ＵＳＢコントローラー５５は、ＲＡＭ５７(図４)を備えており、ＣＰＵ４９を初期設定するためのプログラムをＵＳＢメモリー１９から読み出し、ＲＡＭ５７に格納する。ＵＳＢコントローラー５５は、このプログラムを実行することにより、ＵＳＢメモリー１９に格納されているプログラムやデータを認識して、ＣＰＵ４９の初期設定をする(ステップＴ２１)。
【００７７】
次に、ＵＳＢコントローラー５５は、ブートプログラムを含むファームウェアを、ＵＳＢメモリー１９から読み出して、ＤＲＡＭ４３に展開し、そのファームウェアを実行することにより、ＣＰＵ４９の起動(画像形成装置１のＯＳを起動を含む)を完了させる(ステップＴ２３)。
【００７８】
次に、ＵＳＢコントローラー５５は、ＵＳＢメモリー１９にアップデート版のファームウェアが格納されているか否かを判断する。
【００７９】
ＵＳＢメモリー１９に、アップデート版のファームウェアでなく、例えば、画像データが格納されていれば、ＵＳＢコントローラー５５は、ＵＳＢメモリー１９にアップデート版のファームウェアが格納されていないと判断する(ステップＴ２５でＮｏ)。ＣＰＵ４９の起動完了で処理が終了する。
【００８０】
ＵＳＢコントローラー５５が、ＵＳＢメモリー１９にアップデート版のファームウェアが格納されていると判断した場合(ステップＴ２５でＹｅｓ)、ＵＳＢコントローラー５５は、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアを、ＮＡＮＤ型フラッシュメモリー４１に書き込むことにより、アップデートを完了させる(ステップＴ２７)。
【００８１】
本実施形態の主な効果を説明する。本実施形態は、ブートプログラムを含むファームウェアのアップデートを、ネットワークでなく、ファームウェアのアップデート版が格納されているＵＳＢメモリー１９を利用する場合を前提とする。アップデート中に画像形成装置１の電源の遮断等が発生して、アップデートが失敗した場合、ユーザーが電源ボタン２３の長押しをする(ステップＴ９)。これにより、起動部６１は、異常時起動モードに移行し、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアに含まれるブートプログラムを、ＵＳＢメモリー１９から読み出して画像形成装置１のＯＳを起動させる(ステップＴ１５、ステップＴ１７でＹｅｓ、ステップＴ１９でＹｅｓ、ステップＴ２１、ステップＴ２３)。従って、本実施形態によれば、ブートプログラムを含むファームウェアのアップデートが失敗したときに、ＮＡＮＤ型フラッシュメモリー４１にブートプログラムを書き込むためのデバイスを用意しなくても、ＯＳを起動させることができる。
【００８２】
また、本実施形態によれば、異常時起動モードにおいて、起動部６１は、ＮＡＮＤ型フラッシュメモリー４１にアクセスせずに、ＵＳＢメモリー１９にアクセスして、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアに含まれるブートプログラムを読み出して、ＯＳを起動させる(ステップＴ１５、ステップＴ１７でＹｅｓ、ステップＴ１９でＹｅｓ、ステップＴ２１、ステップＴ２３)。
【００８３】
ブートプログラムを含むファームウェアのアップデートが失敗すれば、ＮＡＮＤ型フラッシュメモリー４１に格納されているブートプログラムが破壊し、その結果、ＮＡＮＤ型フラッシュメモリー４１に格納されているブートプログラムを使用できなくなる可能性がある。このような場合、ブートプログラムを読み出すために、ＮＡＮＤ型フラッシュメモリー４１にアクセスするのは、時間の無駄である。そこで、異常時起動モードでは、ＮＡＮＤ型フラッシュメモリー４１にアクセスせずに、ＵＳＢメモリー１９にアクセスして、ＵＳＢメモリー１９に格納されているブートプログラムを読み出して、ＯＳを起動させる。
【００８４】
また、本実施形態によれば、異常時起動モードにおいて、起動部６１が、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアに含まれるブートプログラムを読み出して、ＯＳが起動させた後(ステップＴ１５、ステップＴ１７でＹｅｓ、ステップＴ１９でＹｅｓ、ステップＴ２１、ステップＴ２３)、書換部６３は、ＵＳＢメモリー１９に格納されているアップデート版のファームウェアを読み出して、ファームウェアのアップデートを再び実行する(ステップＴ２５でＹｅｓ、ステップＴ２７)。
【００８５】
従って、本実施形態によれば、ＵＳＢメモリー１９に格納されているブートプログラムを利用して、ＯＳが起動された後、自動的に、ファームウェアのアップデートを実行できる。
【符号の説明】
【００８６】
１  画像形成装置(電子機器の一例)
１３  ＵＳＢコネクター(インターフェイス部の一例)
１７  長押検知回路(受付部の一例)
１９  ＵＳＢメモリー(可搬型記憶媒体の一例)
２３  電源ボタン
４１  ＮＡＮＤ型フラッシュメモリー(不揮発性記憶部の一例)
Ｓ１  長押検知回路の出力信号
【図１】
2015090508.tif 000003
【図２】
2015090508.tif 000004
【図３】
2015090508.tif 000005
【図４】
2015090508.tif 000006
【図５】
2015090508.tif 000007
【図６】
2015090508.tif 000008
【図７】
2015090508.tif 000009
【図８】
2015090508.tif 000010
【図９】
2015090508.tif 000011