(57)【特許請求の範囲】
【請求項１】
制御プログラムを実行可能な画像形成装置であって、
当該画像形成装置で実行可能な制御プログラムを記憶する不揮発性メモリーと、
前記不揮発性メモリーに記憶されている制御プログラムに対する初期処理を定めた起動モードとしての、前記不揮発性メモリーから制御プログラムを読み出して実行する通常モードと前記不揮発性メモリーに記憶されている制御プログラムを書き換える書き換えモードと前記不揮発性メモリーに記憶されている制御プログラムを実行可能に復旧する復旧モードのうち、何れか一つの起動モードを示すデータである起動フラグを前記不揮発性メモリーに記憶する起動フラグ設定部と、
前記起動フラグ設定部によって前記不揮発性メモリーに記憶された起動フラグを読み出して、当該起動フラグが示す起動モードで定められた前記不揮発性メモリーに記憶されている制御プログラムに対する初期処理を実行する実行制御部と、
当該画像形成装置に接続された外部記憶媒体に記憶されている制御プログラムを取得するプログラム取得部と、
前記プログラム取得部によって取得された制御プログラムを用いて前記不揮発性メモリーに記憶されている制御プログラムを書き換えるプログラム書換部と、
前記プログラム取得部によって取得された制御プログラムを用いて前記不揮発性メモリーに記憶されている制御プログラムを復旧するプログラム復旧部と、
を備え、
前記実行制御部は、
前記通常モードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記不揮発性メモリーから制御プログラムを読み出して実行し、
前記書き換えモードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記起動フラグ設定部に前記復旧モードを示す起動フラグを前記不揮発性メモリーに記憶させた後、前記プログラム書換部に制御プログラムの書き換えを実行させ、当該書き換えが成功したものと判断すると、前記起動フラグ設定部に前記通常モードを示す起動フラグを前記不揮発性メモリーに記憶させ、当該書き換えが失敗したものと判断すると、前記不揮発性メモリーに記憶されている前記復旧モードを示す起動フラグを維持し、
前記復旧モードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記プログラム復旧部に制御プログラムの復旧を実行させ、当該復旧が成功したものと判断すると、前記起動フラグ設定部に前記通常モードを示す起動フラグを前記不揮発性メモリーに記憶させ、当該復旧が失敗したものと判断すると、前記不揮発性メモリーに記憶されている前記復旧モードを示す起動フラグを維持し、
前記復旧モードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記プログラム復旧部に制御プログラムの復旧を実行させる前に、前記プログラム取得部に制御プログラムを取得させて、当該制御プログラムが不正であるか否かを判断し、不正と判断すると、前記プログラム復旧部に制御プログラムの復旧を実行させずに、前記不揮発性メモリーに記憶されている前記復旧モードを示す起動フラグを維持する画像形成装置。
【請求項２】
前記実行制御部は、前記書き換えモードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記起動フラグ設定部に前記復旧モードを示す起動フラグを前記不揮発性メモリーに記憶させる前に、前記プログラム取得部に制御プログラムを取得させて、当該制御プログラムが不正であるか否かを判断し、不正と判断すると、前記プログラム書換部に制御プログラムの書き換えを実行させずに、前記起動フラグ設定部に前記通常モードを示す起動フラグを前記不揮発性メモリーに記憶させる請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置で実行可能な制御プログラムを書き換える技術に関する。
【背景技術】
【０００２】
従来から、画像形成装置で実行される制御プログラムは、電源がオフされていても記憶されているデータが消去されないフラッシュメモリー等の不揮発性メモリーに記憶され、バージョンアップや復旧のために不揮発性メモリーに記憶された当該制御プログラムの書き換えが可能に構成されている。
【０００３】
しかしながら、不揮発性メモリーに記憶されている制御プログラムの書き換えは、記録されている制御プログラムを消去した後に、新たな書き換え対象の制御プログラムを記憶するという手順で実行されるため、当該制御プログラムの書き換えの実行中に例えば停電等によって電源の供給が遮断される等して、制御プログラムが最後まで記憶されることなく不十分に記憶される虞があった。そして、このような場合、不揮発性メモリーに不十分に記憶されている新たな制御プログラムを読み出して実行すると、画像形成装置の動作が不安定になる虞があった。
【０００４】
そこで、例えば、下記特許文献１には、展開プログラム格納部に展開されたメインプログラムを実行する前に、読出し専用メモリーとして機能するプログラム格納部に記憶されている当該メインプログラムと書き換え可能なメモリーとして機能するパッチデータ格納部に記憶されているパッチプログラムとを用いて、展開プログラム格納部に展開されたメインプログラムを書き換えることによって当該メインプログラムを更新し、当該メインプログラムの更新が失敗した場合には、プログラム格納部に記憶されている当該メインプログラムを再び展開プログラム格納部に展開する技術が開示されている。
【０００５】
つまり、制御プログラムの書き換えが失敗した場合であっても、不揮発性メモリーの別の領域に設けられた制御プログラムを実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２４２９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、不揮発性メモリーの容量によっては、上記の従来技術を適用するに当たって、制御プログラムの書き換えが失敗したときに当該制御プログラムを復旧するための制御プログラムを記憶するための記憶領域を不揮発性メモリーに確保できない場合があり、このような場合に制御プログラムの書き換えが失敗すると、不揮発性メモリーに不十分に記憶されている新たな制御プログラムを読み出して実行することによって、画像形成装置の動作が不安定になる虞があった。
【０００８】
そこで、本発明は、このような事情に鑑みてなされたものであり、不揮発性メモリーに制御プログラムを復旧させるための制御プログラムが記憶されていない場合であっても、当該不揮発性メモリーに記憶されている制御プログラムの書き換えに失敗したときに、当該不揮発性メモリーに不十分に記憶されたままの制御プログラムを読み出して実行することによって画像形成装置の動作が不安定になる虞を解消することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、制御プログラムを実行可能な画像形成装置であって、
当該画像形成装置で実行可能な制御プログラムを記憶する不揮発性メモリーと、
前記不揮発性メモリーに記憶されている制御プログラムに対する初期処理を定めた起動モードとしての、前記不揮発性メモリーから制御プログラムを読み出して実行する通常モードと前記不揮発性メモリーに記憶されている制御プログラムを書き換える書き換えモードと前記不揮発性メモリーに記憶されている制御プログラムを実行可能に復旧する復旧モードのうち、何れか一つの起動モードを示すデータである起動フラグを前記不揮発性メモリーに記憶する起動フラグ設定部と、
前記起動フラグ設定部によって前記不揮発性メモリーに記憶された起動フラグを読み出して、当該起動フラグが示す起動モードで定められた前記不揮発性メモリーに記憶されている制御プログラムに対する初期処理を実行する実行制御部と、
当該画像形成装置に接続された外部記憶媒体に記憶されている制御プログラムを取得するプログラム取得部と、
前記プログラム取得部によって取得された制御プログラムを用いて前記不揮発性メモリーに記憶されている制御プログラムを書き換えるプログラム書換部と、
前記プログラム取得部によって取得された制御プログラムを用いて前記不揮発性メモリーに記憶されている制御プログラムを復旧するプログラム復旧部と、
を備え、
前記実行制御部は、
前記通常モードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記不揮発性メモリーから制御プログラムを読み出して実行し、
前記書き換えモードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記起動フラグ設定部に前記復旧モードを示す起動フラグを前記不揮発性メモリーに記憶させた後、前記プログラム書換部に制御プログラムの書き換えを実行させ、当該書き換えが成功したものと判断すると、前記起動フラグ設定部に前記通常モードを示す起動フラグを前記不揮発性メモリーに記憶させ、当該書き換えが失敗したものと判断すると、前記不揮発性メモリーに記憶されている前記復旧モードを示す起動フラグを維持し、
前記復旧モードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記プログラム復旧部に制御プログラムの復旧を実行させ、当該復旧が成功したものと判断すると、前記起動フラグ設定部に前記通常モードを示す起動フラグを前記不揮発性メモリーに記憶させ、当該復旧が失敗したものと判断すると、前記不揮発性メモリーに記憶されている前記復旧モードを示す起動フラグを維持し、
前記復旧モードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記プログラム復旧部に制御プログラムの復旧を実行させる前に、前記プログラム取得部に制御プログラムを取得させて、当該制御プログラムが不正であるか否かを判断し、不正と判断すると、前記プログラム復旧部に制御プログラムの復旧を実行させずに、前記不揮発性メモリーに記憶されている前記復旧モードを示す起動フラグを維持する画像形成装置である。
【００１０】
この発明によれば、書き換えモードを示す起動フラグが不揮発性メモリーに記憶されている場合、プログラム書換部による制御プログラムの書き換えが成功しない限り、通常モードを示す起動フラグが不揮発性メモリーに記憶されず、復旧モードを示す起動フラグが不揮発性メモリーに記憶されている場合も、プログラム復旧部による制御プログラムの復旧が成功しない限り、通常モードを示す起動フラグが不揮発性メモリーに記憶されない。
【００１１】
つまり、制御プログラムの書き換え又は復旧に失敗したときに通常モードを示す起動フラグが不揮発性メモリーに記憶されることがないため、当該書き換え又は復旧の失敗によって不揮発性メモリーに不十分に記憶されたままの制御プログラムを読み出して実行することを回避することができ、当該不揮発性メモリーに不十分に記憶されたままの制御プログラムを読み出して実行することによって画像形成装置の動作が不安定になる虞を解消することができる。
また、記憶媒体に記憶されていた不正な制御プログラムを用いて不揮発性メモリーに記憶されている制御プログラムを復旧することを回避することができる。このため、制御プログラムが不正な制御プログラムで復旧されて画像形成装置の動作が不安定になる虞を解消することができる。
【００１２】
また、請求項２に記載の発明は、請求項１に記載の画像形成装置であって、前記実行制御部は、前記書き換えモードを示す起動フラグが前記不揮発性メモリーに記憶されている場合、前記起動フラグ設定部に前記復旧モードを示す起動フラグを前記不揮発性メモリーに記憶させる前に、前記プログラム取得部に制御プログラムを取得させて、当該制御プログラムが不正であるか否かを判断し、不正と判断すると、前記プログラム書換部に制御プログラムの書き換えを実行させずに、前記起動フラグ設定部に前記通常モードを示す起動フラグを前記不揮発性メモリーに記憶させる。
【００１３】
この発明によれば、記憶媒体に記憶されていた不正な制御プログラムを用いて不揮発性メモリーに記憶されている制御プログラムを書き換えることを回避することができ、また、通常モードを示す起動フラグを不揮発性メモリーに記憶して、書き換え前の制御プログラムを読み出して実行することができる。このため、制御プログラムが不正な制御プログラムに書き換えられて画像形成装置の動作が不安定になる虞を解消することができる。
【発明の効果】
【００１６】
本発明によれば、不揮発性メモリーに制御プログラムを復旧させるための制御プログラムが記憶されていない場合であっても、当該不揮発性メモリーに記憶されている制御プログラムの書き換えに失敗したときに、当該不揮発性メモリーに不十分に記憶されたままの制御プログラムを読み出して実行することによって画像形成装置の動作が不安定になる虞を解消することができる画像形成装置を提供することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る画像形成装置の内部構造の概略を示す図である。
【図２】上記画像形成装置の電気的な構成を示すブロック図である。
【図３】起動モードが通常モード又は書き換えモードの場合に実行制御部によって制御プログラムが読み出されて実行される又は書き換えられる制御の一例を示すフローチャートである。
【図４】起動モードが復旧モードの場合に実行制御部によって制御プログラムが復旧される制御の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面に基づいて本発明の実施形態を詳細に説明する。図１は本発明の一実施形態に係る画像形成装置１の内部構造の概略を示す図である。画像形成装置１は、例えば、コピー、プリンター、スキャナー及びファクシミリの機能を有する複合機に適用することができる。画像形成装置１は本体部１００、本体部１００の上に配置された原稿読取部２００、原稿読取部２００の上に配置された原稿給送部３００、本体部１００の上部前面に配置された操作部４００、及び本体部１００の用紙搬出側、例えば左側に配置された用紙後処理部５００を備える。
【００１９】
原稿給送部３００は原稿載置部３０１、給紙ローラー３０３、原稿搬送部３０５及び原稿排出部３０７を備える。給紙ローラー３０３は原稿載置部３０１にセットされた原稿を１枚ずつ繰り出す。原稿搬送部３０５は繰り出された原稿を原稿読取部２００に搬送する。原稿は原稿読取部２００で読み取られて原稿排出部３０７に排出される。
【００２０】
原稿読取部２００はＣＣＤ（Charge Coupled Device）センサー及び露光ランプ等を搭載したキャリッジ２０１、ガラス等の透明部材により構成された原稿台２０３、及び原稿読取スリット２０５を備える。原稿台２０３に載置された原稿を読み取る場合、キャリッジ２０１を原稿台２０３の長手方向に移動させながらＣＣＤセンサーにより原稿を読み取る。これに対して、原稿給送部３００から給送された原稿を読み取る場合、キャリッジ２０１を原稿読取スリット２０５と対向する位置に移動させて、原稿給送部３００から送られてきた原稿を、原稿読取スリット２０５を通してＣＣＤセンサーにより読み取る。ＣＣＤセンサーは読み取った原稿を画像データとして出力する。
【００２１】
本体部１００は用紙貯留部１０１、画像形成部１０３及び定着部１０５を備える。用紙貯留部１０１は本体部１００の最下部に配置されており、用紙の束を貯留することができる用紙トレイ１０７を備える。用紙トレイ１０７に貯留された用紙の束において、最上位の用紙がピックアップローラー１０９の駆動により、用紙搬送部１１１へ向けて繰り出される。用紙は用紙搬送部１１１を通って、画像形成部１０３へ搬送される。
【００２２】
画像形成部１０３は搬送されてきた用紙に画像データを基にしてトナー画像を形成する。画像形成部１０３は感光体ドラム１１３、露光部１１５、現像部１１７及び転写部１１９を備える。露光部１１５は画像データ（原稿読取部２００から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等）に対応する光を生成し、一様に帯電された感光体ドラム１１３の周面に照射する。これにより、感光体ドラム１１３の周面には画像データに対応する静電潜像が形成される。この状態で感光体ドラム１１３の周面に現像部１１７からトナーを供給することにより、周面には画像データに対応するトナー画像が形成される。このトナー画像は転写部１１９によって先ほど説明した用紙貯留部１０１から搬送されてきた用紙に転写される。
【００２３】
トナー画像が転写された用紙は定着部１０５に送られる。定着部１０５において、トナー画像と用紙に熱と圧力が加えられて、トナー画像を用紙に定着させる。これにより、用紙への画像の印刷が完了する。この印刷済用紙に対して後処理がされる場合、印刷済用紙は本体部１００の用紙排出口１２１から用紙後処理部５００へ送られる。これに対して後処理がされない場合、印刷済用紙は排紙トレイ１２３に排紙される。
【００２４】
用紙後処理部５００では印刷済用紙に対して、ソート、ステープル、パンチ、中綴じ等の後処理がされる。用紙後処理部５００は用紙搬入口５０１、用紙搬送部５０３、用紙搬出口５０５及びスタックトレイ５０７等を備える。用紙搬送部５０３は用紙排出口１２１から用紙搬入口５０１に搬入された印刷済用紙を順次搬送し、後処理がされた印刷済用紙を用紙搬出口５０５からスタックトレイ５０７へ搬出する。スタックトレイ５０７は用紙搬出口５０５から搬出された上記用紙の集積枚数に応じて矢印方向に上下動可能な構成を有する。
【００２５】
操作部４００は、操作キー部４０１と表示部４０３を備える。表示部４０３はタッチパネル機能を有しており、ソフトキーを含む画面が表示される。ユーザーは画面を見ながらソフトキーを操作することによって、コピー等の機能の実行に必要な設定等をする。
【００２６】
操作キー部４０１はハードキーからなる操作キーを備えており、具体的にはヘルプキー４０５、スタートキー４０７、テンキー４０９及び機能切換キー４１１等を備える。ヘルプキー４０５はヘルプ画面を表示部４０３に表示させるキーである。ヘルプ画面とはスキャナー、ファクシミリ、プリンター、コピー等の機能に関する操作方法が表示された画面である。
【００２７】
スタートキー４０７はコピー、ファクシミリ送信等の動作を開始させるキーである。テンキー４０９はコピー部数、ファクシミリ番号等の数字を入力するキーである。
【００２８】
機能切換キー４１１はコピーキー及び送信キー等を備えており、コピー機能、送信機能等を相互に切り替えるキーである。コピーキーを操作すれば、コピーの初期画面が表示部４０３に表示される。送信キーを操作すれば、ファクシミリ送信及びメール送信の初期画面が表示部４０３に表示される。
【００２９】
図２は図１に示す画像形成装置１の電気的な構成を示すブロック図である。画像形成装置１は、上記の本体部１００、上記の原稿読取部２００、上記の原稿給送部３００、上記の操作部４００、上記の用紙後処理部５００、ＵＳＢメモリー等の記憶媒体５を画像形成装置１に接続するための外部インターフェイス７００、制御部６００、及び通信部８００がバスによって相互に接続された構成を有する。
【００３０】
制御部６００は、ＣＰＵ（Central Processing Unit）、画像形成装置１の制御プログラムを記憶する本発明に係る不揮発性メモリーの一例としてのフラッシュメモリー、及び、制御プログラムの実行時に一時的にデータを保管するＲＡＭ（Random Access Memory）を備え、ＣＰＵによって制御プログラムをフラッシュメモリーから読み出して実行することによって、装置各部の動作に必要な制御を行う。
【００３１】
具体的には、制御部６００は、起動フラグ設定部６０１、プログラム取得部６０２、プログラム書換部６０３、プログラム復旧部６０４、及び実行制御部６０５として機能する。
【００３２】
起動フラグ設定部６０１は、フラッシュメモリーに記憶されている制御プログラムに対する初期処理を定めた起動モードとしての、フラッシュメモリーから制御プログラムを読み出してＣＰＵによって実行する通常モードと、フラッシュメモリーに記憶されている制御プログラムを書き換える書き換えモードと、フラッシュメモリーに記憶されている制御プログラムを実行可能に復旧する復旧モードとの間で起動モードを切り替える。
【００３３】
具体的には、起動フラグ設定部６０１は、通常モードを示すデータ（例えば、０）、書き換えモードを示すデータ（例えば、１）、及び復旧モードを示すデータ（例えば、２）の何れか一つを起動フラグとしてフラッシュメモリーの予め定められた記憶領域に記憶することによって、起動モードの切り替えを実現する。
【００３４】
尚、起動フラグがフラッシュメモリーの予め定められた記憶領域に記憶されていない場合や、各起動モードを示すデータ以外のデータが起動フラグとして記憶されている場合は、不正な状態にあるものとして、起動モードは、復旧モードを示しているものとして扱う。ただし、各起動モードを示すデータを、上記の例に限定する趣旨ではない。
【００３５】
プログラム取得部６０２は、書き換え用の制御プログラム又は復旧用の制御プログラム等を記憶しているＵＳＢメモリー等の記憶媒体５が外部インターフェイス７００を介して画像形成装置１に接続された状態で、当該記憶媒体５に記憶されている書き換え用の制御プログラム又は復旧用の制御プログラムを取得する。
【００３６】
プログラム書換部６０３は、プログラム取得部６０２によって取得された書き換え用の制御プログラムを用いてフラッシュメモリーに記憶されている制御プログラムを書き換える。
【００３７】
尚、書き換え用の制御プログラムとは、フラッシュメモリーに記憶されている制御プログラムに実装されている機能を拡張する、又は、フラッシュメモリーに記憶されている制御プログラムに実装されている機能の問題点を修正する等、制御プログラムをバージョンアップするための制御プログラムを示す。
【００３８】
プログラム復旧部６０４は、プログラム取得部６０２によって取得された復旧用の制御プログラムを用いてフラッシュメモリーに記憶されている制御プログラムを復旧する。
【００３９】
尚、復旧用の制御プログラムとは、フラッシュメモリーに記憶されている制御プログラムと同一の制御プログラムであり、フラッシュメモリーに記憶されている制御プログラムを記憶媒体５にバックアップした制御プログラムを示す。また、制御プログラムを復旧するとは、記憶媒体５にバックアップした制御プログラムを読み出して、フラッシュメモリーに記憶されている制御プログラムを書き換えて制御プログラムを元の状態に戻すことを示す。
【００４０】
実行制御部６０５は、起動フラグ設定部６０１によってフラッシュメモリーに記憶された起動フラグを読み出して、当該起動フラグが示す起動モードで定められたフラッシュメモリーに記憶されている制御プログラムに対する初期処理を実行する。尚、実行制御部６０５による制御プログラムに対する初期処理の実行制御については後述する。
【００４１】
また、起動フラグ設定部６０１、プログラム取得部６０２、プログラム書換部６０３、プログラム復旧部６０４、及び実行制御部６０５を実装した各制御プログラムは、フラッシュメモリーにおける書き換え不可能な領域に記憶されている。
【００４２】
通信部８００は、ファクシミリ通信部８０１及びネットワークＩ／Ｆ部８０３を備える。ファクシミリ通信部８０１は、相手先ファクシミリとの電話回線の接続を制御するＮＣＵ（Network Control Unit）及びファクシミリ通信用の信号を変復調する変復調回路を備える。ファクシミリ通信部８０１は、電話回線８０５に接続される。
【００４３】
ネットワークＩ／Ｆ部８０３は、ＬＡＮ（Local Area Network）８０７に接続される。ネットワークＩ／Ｆ部８０３は、ＬＡＮ８０７に接続されたパソコン等の端末装置との間で通信を実行するための通信インターフェイス回路である。
【００４４】
次に、実行制御部６０５による制御プログラムに対する初期処理の実行制御のうち、起動モードが通常モード又は書き換えモードの場合に、実行制御部６０５によって制御プログラムが読み出されて実行される又は書き換えられる制御の一例について、図３に示すフローチャートを用いて説明する。
【００４５】
画像形成装置１の電源が投入されると、実行制御部６０５は、フラッシュメモリーの予め定められた記憶領域に記憶されている起動フラグを読み出して、起動モードの判定を行う（Ｓ１）。
【００４６】
実行制御部６０５は、通常モードを示す起動フラグを読み出すと、起動モードが通常モードであると判定する（Ｓ１；通常モード）。そして、ユーザーによる操作キー部４０１の操作によって起動モードを書き換えモードに切り替える指示が入力されることなく（Ｓ２；ＮＯ）、ユーザーによる操作キー部４０１の操作によって制御プログラムの実行指示が入力されると、実行制御部６０５は、フラッシュメモリーに記憶されている当該実行指示に対応する制御プログラムを読み出してＣＰＵに実行させる（Ｓ３）。
【００４７】
一方、実行制御部６０５は、通常モードを示す起動フラグを読み出すと、起動モードが通常モードであると判定する（Ｓ１；通常モード）。そして、ユーザーによる操作キー部４０１の操作によって起動モードを書き換えモードに切り替える指示が入力されると（Ｓ２；ＹＥＳ）、実行制御部６０５は、当該入力された指示を受け付け、起動フラグ設定部６０１に起動モードを書き換えモードに切り替える指示を送出し、起動フラグ設定部６０１は当該指示に応じて、書き換えモードを示す起動フラグをフラッシュメモリーに記憶して、起動モードを書き換えモードに切り替える（Ｓ４）。そして、実行制御部６０５は、画像形成装置１の再起動を行う（Ｓ５）。
【００４８】
また、ステップＳ１において、実行制御部６０５は、書き換えモードを示す起動フラグを読み出すと、起動モードが書き換えモードであると判定し（Ｓ１；書き換えモード）、書き換え用の制御プログラムを取得する指示をプログラム取得部６０２に送出し、プログラム取得部６０２は、当該指示の下、外部インターフェイス７００を介して画像形成装置１に接続された記憶媒体５から書き換え用の制御プログラムを取得する（Ｓ６）。
【００４９】
そして、実行制御部６０５は、ステップＳ６でプログラム取得部６０２に取得させた書き換え用の制御プログラムの正当性を判断する（Ｓ７）。例えば、実行制御部６０５は、当該取得した書き換え用の制御プログラムが画像形成装置１で実行可能な形式で実装され、また、当該書き換え対象の制御プログラムに対して予め定められた最大データサイズよりも小さいデータサイズであること等を以って、当該取得した書き換え用の制御プログラムに不正はないものと判断すると（Ｓ７；ＮＯ）、起動フラグ設定部６０１に起動モードを復旧モードに切り替える指示を送出し、起動フラグ設定部６０１は、当該指示に応じて、復旧モードを示す起動フラグをフラッシュメモリーに記憶して、起動モードを復旧モードに切り替える（Ｓ８）。
【００５０】
次に、実行制御部６０５は、プログラム書換部６０３に制御プログラムの書き換えを実行させる指示を送出し、プログラム書換部６０３は、当該指示に応じて、ステップＳ６でプログラム取得部６０２によって取得された書き換え用の制御プログラムを用いて、フラッシュメモリーに記憶されている制御プログラムを書き換える（Ｓ９）。
【００５１】
そして、実行制御部６０５は、例えば、ステップＳ６でプログラム取得部６０２によって取得された書き換え用の制御プログラムと、ステップＳ９でプログラム書換部６０３によって制御プログラムの書き換えが終了した後にフラッシュメモリーに記憶されている制御プログラムと、のデータサイズが一致すること等を以って、プログラム書換部６０３による制御プログラムの書き換えが成功したものと判断すると（Ｓ１０；ＹＥＳ）、起動フラグ設定部６０１に起動モードを通常モードに切り替える指示を送出し、起動フラグ設定部６０１は、当該指示に応じて、通常モードを示す起動フラグをフラッシュメモリーに記憶して、起動モードを通常モードに切り替える（Ｓ１１）。
【００５２】
そして、通常モードを示す起動フラグがフラッシュメモリーに記憶されている状態で、実行制御部６０５は、表示部４０３に制御プログラムの書き換えに成功して終了したことを示すメッセージを表示して（Ｓ１２）、再びステップＳ１の処理に移行する。
【００５３】
尚、ステップＳ１０において、実行制御部６０５は、例えば、ステップＳ９でプログラム書換部６０３による制御プログラムの書き換えが開始されてから、予め定められた想定処理時間を経過しても当該書き換えの処理が終了しない、又は、ステップＳ６でプログラム取得部６０２によって取得された書き換え用の制御プログラムと、ステップＳ９でプログラム書換部６０３によって制御プログラムの書き換えが終了した後にフラッシュメモリーに記憶されている制御プログラムとのデータサイズが一致しない等を以って、プログラム書換部６０３による制御プログラムの書き換えが失敗したものと判断すると（Ｓ１０；ＮＯ）、起動フラグ設定部６０１に起動モードを切り替える指示を送出することなく、復旧モードを示す起動フラグがフラッシュメモリーに記憶されている状態を維持したまま、表示部４０３に制御プログラムの書き換えに失敗して終了したことを示すメッセージを表示し（Ｓ１４）、再びステップＳ１の処理に移行する。
【００５４】
一方、実行制御部６０５は、ステップＳ６でプログラム取得部６０２に書き換え用の制御プログラムを取得する指示を送出したが、例えば、書き換え用の制御プログラムを記憶している記憶媒体５が画像形成装置１に接続されていない、若しくは、外部インターフェイス７００を介して接続された記憶媒体５に書き換え用の制御プログラムが記憶されていない等を以ってプログラム取得部６０２によって書き換え用の制御プログラムが取得できない、プログラム取得部６０２によって書き換え用の制御プログラムは取得されたが、当該取得された書き換え用の制御プログラムが画像形成装置１で実行可能な形式で実装されていない、又は、当該書き換え対象の制御プログラムに対して予め定められた最大データサイズよりも大きいデータサイズである等を以って、当該取得された書き換え用の制御プログラムが不正であるものと判断すると（Ｓ７；ＹＥＳ）、プログラム書換部６０３に制御プログラムの書き換えを実行させることなく、起動フラグ設定部６０１に起動モードを通常モードに切り替える指示を送出し、起動フラグ設定部６０１は、当該指示に応じて通常モードを示す起動フラグをフラッシュメモリーに記憶して、起動モードを通常モードに切り換える（Ｓ１３）。そして、通常モードを示す起動フラグがフラッシュメモリーに記憶されている状態で、実行制御部６０５は、表示部４０３に制御プログラムの書き換えに失敗して終了したことを示すメッセージを表示して（Ｓ１４）、再びステップＳ１の処理に移行する。
【００５５】
次に、実行制御部６０５による制御プログラムに対する初期処理の実行制御のうち、起動モードが復旧モードの場合に、実行制御部６０５によって、制御プログラムが復旧される制御の一例について、図３及び図４に示すフローチャートを用いて説明する。
【００５６】
実行制御部６０５は、上記のように、ステップＳ８で起動フラグ設定部６０１に起動モードを復旧モードに切り替える指示を送出した後、ステップＳ９でプログラム書換部６０３に制御プログラムの書き換えを実行させる指示を送出し、ステップＳ１０で当該指示に応じてプログラム書換部６０３による制御プログラムの書き換えが失敗したものと判断した後、ステップＳ１の処理に移行すると、フラッシュメモリーから復旧モードを示す起動フラグを読み出して、起動モードが復旧モードであると判定する（Ｓ１；復旧モード）。
【００５７】
そして、実行制御部６０５は、復旧用の制御プログラムを取得する指示をプログラム取得部６０２に送出し、プログラム取得部６０２は、当該指示の下、外部インターフェイス７００を介して画像形成装置１に接続された記憶媒体５から復旧用の制御プログラムを取得する（Ｓ２１）。
【００５８】
次に、実行制御部６０５は、ステップＳ２１でプログラム取得部６０２に取得させた復旧用の制御プログラムの正当性を判断する（Ｓ２２）。例えば、実行制御部６０５は、当該取得した復旧用の制御プログラムが画像形成装置１で実行可能な形式で実装され、また、当該復旧対象の制御プログラムに対して予め定められた最大データサイズよりも小さいデータサイズであること等を以って、当該取得した復旧用の制御プログラムに不正はないものと判断すると（Ｓ２２；ＮＯ）、プログラム復旧部６０４に制御プログラムの復旧を実行させる指示を送出し、プログラム復旧部６０４は、当該指示に応じて、ステップＳ２２でプログラム取得部６０２によって取得された復旧用の制御プログラムを用いて、フラッシュメモリーに記憶されている制御プログラムを書き換えることによって制御プログラムの復旧を行う（Ｓ２３）。
【００５９】
実行制御部６０５は、例えば、ステップＳ２１でプログラム取得部６０２によって取得された復旧用の制御プログラムと、ステップＳ２３でプログラム復旧部６０４によって制御プログラムの復旧が終了した後にフラッシュメモリーに記憶されている制御プログラムと、のデータサイズが一致すること等を以って、プログラム復旧部６０４による制御プログラムの復旧が成功したものと判断すると（Ｓ２４；ＹＥＳ）、表示部４０３に制御プログラムの復旧に成功して終了したことを示すメッセージを表示した後（Ｓ２５）、起動フラグ設定部６０１に起動モードを通常モードに切り替える指示を送出し、起動フラグ設定部６０１は、当該指示に応じて通常モードを示す起動フラグをフラッシュメモリーに記憶して、起動モードを通常モードに切り替える（Ｓ２６）。そして、通常モードを示す起動フラグがフラッシュメモリーに記憶されている状態で、実行制御部６０５は、再びステップＳ１の処理に移行する。
【００６０】
尚、ステップＳ２４において、実行制御部６０５は、例えば、ステップＳ２３でプログラム復旧部６０４による制御プログラムの復旧が開始されてから、予め定められた想定処理時間を経過しても当該復旧の処理が終了しない、又は、ステップＳ２１でプログラム取得部６０２によって取得された復旧用の制御プログラムと、ステップＳ２３でプログラム復旧部６０４によって制御プログラムの復旧が終了した後にフラッシュメモリーに記憶されている制御プログラムとのデータサイズが一致しない等を以って、プログラム復旧部６０４による制御プログラムの復旧が失敗したものと判断すると（Ｓ２４；ＮＯ）、起動フラグ設定部６０１に起動モードを切り替える指示を送出することなく、復旧モードを示す起動フラグがフラッシュメモリーに記憶されている状態を維持したまま、表示部４０３に制御プログラムの復旧に失敗して終了したことを示すメッセージを表示し（Ｓ２７）、再びステップＳ１の処理に移行する。
【００６１】
一方、実行制御部６０５は、ステップＳ２１でプログラム取得部６０２に復旧用の制御プログラムを取得する指示を送出したが、例えば、復旧用の制御プログラムを記憶している記憶媒体５が画像形成装置１に接続されていない、若しくは、外部インターフェイス７００を介して接続された記憶媒体５に復旧用の制御プログラムが記憶されていない等を以ってプログラム取得部６０２によって復旧用の制御プログラムが取得できない、プログラム取得部６０２によって復旧用の制御プログラムは取得されたが、当該取得された復旧用の制御プログラムが画像形成装置１で実行可能な形式で実装されていない、又は、当該復旧対象の制御プログラムに対して予め定められた最大データサイズよりも大きいデータサイズである等を以って、当該取得された復旧用の制御プログラムが不正であるものと判断すると（Ｓ２２；ＹＥＳ）、プログラム復旧部６０４に制御プログラムの復旧を実行させることなく、復旧モードを示す起動フラグがフラッシュメモリーに記憶されている状態を維持したまま、表示部４０３に復旧用の制御プログラムが不正のため復旧不可能であることを示すメッセージを表示し（Ｓ２８）、再びステップＳ１の処理に移行する。
【００６２】
このように、本構成によれば、実行制御部６０５によって起動モードが書き換えモードであると判定された場合、プログラム書換部６０３による制御プログラムの書き換えが成功しない限り、通常モードを示す起動フラグが不揮発性メモリーに記憶されず、起動モードが復旧モードであると判定された場合も、プログラム復旧部６０４による制御プログラムの復旧が成功しない限り、通常モードを示す起動フラグが不揮発性メモリーに記憶されない。
【００６３】
つまり、制御プログラムの書き換え又は復旧に失敗したときに通常モードを示す起動フラグが不揮発性メモリーに記憶されることがないため、当該書き換え又は復旧の失敗によって不揮発性メモリーに不十分に記憶されたままの制御プログラムを読み出して実行することを回避することができ、当該不揮発性メモリーに不十分に記憶されたままの制御プログラムを読み出して実行することによって画像形成装置１の動作が不安定になる虞を解消することができる。
【００６４】
また、ステップＳ７における判断が実行されることによって、記憶媒体５に記憶されていた不正な制御プログラムを用いてフラッシュメモリーに記憶されている制御プログラムを書き換えることを回避することができ、また、ステップＳ１１で通常モードを示す起動フラグをフラッシュメモリーに記憶することによって、ステップＳ１において起動モードが通常モードであると判定され、書き換え前の制御プログラムをフラッシュメモリーから読み出して実行することができる。このため、制御プログラムが不正な制御プログラムに書き換えられて画像形成装置１の動作が不安定になる虞を解消することができる。
【００６５】
また、ステップＳ２２における判断が実行されることによって、記憶媒体５に記憶されていた不正な制御プログラムを用いてフラッシュメモリーに記憶されている制御プログラムを復旧することを回避することができる。このため、制御プログラムが不正な制御プログラムで復旧されて画像形成装置の動作が不安定になる虞を解消することができる。
【００６６】
尚、例えば、書き換え用の制御プログラムを記憶媒体５に記憶する機構によって当該制御プログラムが不正でないことが一度確認されている場合等、実行制御部６０５をステップＳ７及びステップＳ１３を実行しない簡易的な構成にしてもよい。
【００６７】
また、例えば、復旧用の制御プログラムを記憶媒体５に記憶する機構によって当該制御プログラムが不正でないことが一度確認されている場合等、実行制御部６０５をステップＳ２２及びステップＳ２８を実行しない簡易的な構成にしてもよい。
【００６８】
尚、上記図１乃至図４に示した実施形態に係る構成及び処理は、本発明に係る画像形成装置の構成及び処理の一例に過ぎず、本発明に係る画像形成装置の構成及び処理を上記に示した内容に限定するものではない。
【符号の説明】
【００６９】
１  画像形成装置
６００  制御部
６０１  起動フラグ設定部
６０２  プログラム取得部
６０３  プログラム書換部
６０４  プログラム復旧部
６０５  実行制御部
【図１】
0005439400.tif 000002
【図２】
0005439400.tif 000003
【図３】
0005439400.tif 000004
【図４】
0005439400.tif 000005