(57)【要約】      （修正有）【課題】バックアップ用の起動プログラムを保存する専用のメモリを必要とせず、バックアップ用の起動プログラムによる起動を可能とする画像処理装置を提供する。【解決手段】ＭＦＰは、起動プログラムＰＧを保存する第一メモリ１４と、画像データＤ１に関わるデータ（画像データＤ１、関連データＤ２）を保存する第二メモリ１５とを備える。ＭＦＰの制御装置１１は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定し、且つ第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動する。【選択図】図２
2019029809.tif 000002
【特許請求の範囲】
【請求項１】
画像データを処理する画像処理部と、
起動プログラムを保存する第一メモリと、
前記画像データに関わるデータを保存する第二メモリと、
制御装置と、
を備え、
前記制御装置は、
前記第一メモリから前記起動プログラムを読み込んでシステムを起動できるか否かを判定する処理と、
前記第二メモリに前記起動プログラムが保存されているか否かを判定する処理と、
前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定し、且つ前記第二メモリに前記起動プログラムが保存されていると判定したことに応じて、前記第二メモリから前記起動プログラムを読み込んで前記システムを起動する処理と、
を実行する、画像処理装置。
【請求項２】
前記制御装置は、前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定した後に、前記第二メモリに前記起動プログラムが保存されているか否かを判定する処理を実行する、請求項１に記載の画像処理装置。
【請求項３】
前記制御装置は、
前記起動プログラムを実行するプログラム実行部と、
前記第一メモリ及び前記第二メモリと、前記プログラム実行部との接続を切り替える接続切替部と、
前記接続切替部による接続の変更を制御する起動コントローラと、
を有し、
前記起動コントローラは、
前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定したことに応じて前記接続切替部を制御し、前記プログラム実行部と前記第二メモリとを接続する、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記第二メモリに前記起動プログラムが保存されているか否かを示すフラグ値を保存するフラグメモリを、備え、
前記制御装置は、
前記システムを起動した後に、前記第二メモリの前記起動プログラムを削除するか否かを判定する処理と、
前記第二メモリの前記起動プログラムを削除したことに応じて、前記起動プログラムが保存されていないことを示す前記フラグ値を前記フラグメモリに保存する処理と、
を実行する、請求項１乃至請求項３の何れかに記載の画像処理装置。
【請求項５】
前記制御装置は、
前記システムを起動した後に、前記第一メモリから読み込んだ前記起動プログラムによって前記システムを起動したか否かを判定する処理と、
前記第一メモリから読み込んだ前記起動プログラムによって前記システムを起動したことに応じて、前記第二メモリの前記起動プログラムの削除を許可する処理と、
を実行する、請求項１乃至請求項４の何れかに記載の画像処理装置。
【請求項６】
前記制御装置は、
前記第一メモリから読み込んだ前記起動プログラムによって前記システムを起動していないことに応じて、前記第一メモリに前記起動プログラムが保存されているか否かを判定する処理と、
前記第一メモリから読み込んだ前記起動プログラムによって前記システムを起動せず、且つ前記第一メモリに前記起動プログラムが保存されていることに応じて、前記第二メモリの前記起動プログラムの削除を許可する処理と、
を実行する、請求項５に記載の画像処理装置。
【請求項７】
前記制御装置は、
前記第二メモリに前記起動プログラムを保存できる空き領域が存在するか否か判定する処理と、
前記第二メモリに前記起動プログラムを保存できる前記空き領域が存在することに応じて、前記第一メモリに保存された前記起動プログラムを前記空き領域に保存する処理と、
を実行する、請求項１乃至請求項６の何れかに記載の画像処理装置。
【請求項８】
前記制御装置は、
前記第一メモリに保存された前記起動プログラムを前記空き領域に保存する処理において、前記空き領域の大きさに応じて、前記第一メモリに保存された前記起動プログラムに比べて機能を制限したプログラムである制限機能付きプログラムを前記空き領域に保存する、請求項７に記載の画像処理装置。
【請求項９】
前記画像データは、ＦＡＸデータであり、
前記ＦＡＸデータを受信する通信部を備え、
前記制限機能付きプログラムは、前記ＦＡＸデータを前記通信部により受信する機能に関わるプログラムである、請求項８に記載の画像処理装置。
【請求項１０】
前記制御装置は、
前記起動プログラムの全体のデータ量に応じた第一閾値に比べて前記空き領域が大きいことに応じて、前記起動プログラムの全てを前記空き領域に保存する処理と、
前記第一閾値に比べて前記空き領域が小さく、且つ前記第一閾値に比べて小さい閾値である第二閾値に比べて前記空き領域が大きいことに応じて、前記制限機能付きプログラムを前記空き領域に保存する処理と、
前記第二閾値に比べて前記空き領域が小さいことに応じて、前記起動プログラム及び前記制限機能付きプログラムの前記空き領域への保存を禁止する処理と、
を実行する、請求項８又は請求項９に記載の画像処理装置。
【請求項１１】
前記制御装置は、
前記第二メモリから前記起動プログラムを読み込んで前記システムを起動するのに応じて、前記第二メモリに保存された前記起動プログラムを前記第一メモリに保存する処理を実行する、請求項１乃至請求項１０の何れかに記載の画像処理装置。
【請求項１２】
前記制御装置は、
前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定し、且つ前記第二メモリに前記起動プログラムが保存されていないと判定したことに応じて、その旨を報知する処理を実行する、請求項１乃至請求項１１の何れかに記載の画像処理装置。
【請求項１３】
前記制御装置は、
前記第二メモリに前記起動プログラムが保存されていると判定したことに応じて、前記第二メモリから前記起動プログラムを読み込んで前記システムを起動できるか否かを判定する処理と、
前記第二メモリから前記起動プログラムを読み込んで前記システムを起動できると判定したことに応じて、前記第二メモリから前記起動プログラムを読み込んで前記システムを起動する処理と、
前記第二メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定したことに応じて、その旨を報知する処理と、
を実行する、請求項１乃至請求項１２の何れかに記載の画像処理装置。
【請求項１４】
前記制御装置は、
複数の処理部と、
前記複数の処理部の各々における動作の開始又は停止をリセット信号により制御するリセットコントローラと、
を有し、
前記複数の処理部は、
前記起動プログラムを実行するプログラム実行部と、
前記起動プログラムのデータの誤りを検出する起動コントローラと、
を含み、
前記リセットコントローラは、
前記制御装置に電力を供給されるのに応じて前記プログラム実行部を除く前記複数の処理部の動作を前記リセット信号により開始させ、前記起動コントローラの動作を開始させる一方で、前記プログラム実行部の動作を停止した状態を継続する処理を実行し、
前記起動コントローラは、
前記第一メモリに保存された前記起動プログラムのデータの誤りの有無に応じて、前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できるか否かを判定する処理と、
前記起動プログラムにデータの誤りがなく、前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できると判定したことに応じて、前記リセットコントローラを制御し前記プログラム実行部の動作を前記リセット信号により開始させる処理と、
を実行する、請求項１乃至請求項１３の何れかに記載の画像処理装置。
【請求項１５】
前記制御装置は、
複数の処理部と、
前記複数の処理部の各々における動作の開始又は停止をリセット信号により制御するリセットコントローラと、
を有し、
前記複数の処理部は、
前記起動プログラムを実行するプログラム実行部と、
前記プログラム実行部の処理において発生した割り込み処理の内容を判定する起動コントローラと、
を含み、
前記リセットコントローラは、
前記制御装置に電力を供給されるのに応じて前記複数の処理部の動作を前記リセット信号により開始させ、前記プログラム実行部及び前記起動コントローラの動作を開始させる処理を実行し、
前記起動コントローラは、
動作を開始した前記プログラム実行部が、前記第一メモリから前記起動プログラムを読み込んで実行した際に、前記起動プログラムのデータの誤りに起因した前記割り込み処理が発生しているか否かを判定する処理と、
前記起動プログラムのデータの誤りに起因した前記割り込み処理が発生したと判定したことに応じて、前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定し、前記リセットコントローラを制御し当該起動コントローラを除く前記複数の処理部の動作を前記リセット信号により停止させる処理と、
前記リセットコントローラを制御し前記プログラム実行部を除く前記複数の処理部の動作を前記リセット信号により開始させる処理と、
前記第二メモリに前記起動プログラムが保存されていると判定したことに応じて、前記リセットコントローラを制御し前記プログラム実行部の動作を前記リセット信号により開始させる処理と、
を実行する、請求項１乃至請求項１３の何れかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムを起動する起動プログラムを記憶するメモリを有する画像処理装置に関するものである。
【背景技術】
【０００２】
ＰＣ（パーソナルコンピュータ）などの様々な装置において、システムの起動にＢＩＯＳ（Basic Input/Output System）が用いられる。ＢＩＯＳは、例えば、システムの起動時に、メモリからＣＰＵ（Central Processing Unit）に読み込まれて実行され、システムに接続されている各種デバイスの初期化や、ブートプログラムのメモリへの読み込みなどを実行する。ＢＩＯＳを用いる装置では、例えば、ＢＩＯＳの書き換えに失敗した場合や、ＢＩＯＳを記憶するメモリが故障した場合など、ＢＩＯＳを正常に実行できないと、システムを起動できなくなる。
【０００３】
下記特許文献１に記載されたコンピュータでは、ＢＩＯＳの書き替えの失敗などに備えて、ＢＩＯＳを記憶するための専用のメモリ（フラッシュメモリやフラッシュＥＥＰＲＯＭなど）を複数個備えている。特許文献１のコンピュータは、例えば、通常使用するＢＩＯＳの書き換えに失敗し起動できなくなると、ＢＩＯＳを読み込むメモリを切り替え、別のメモリからＢＩＯＳを読み込んでシステムを起動する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３１６５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記したＢＩＯＳによる起動の失敗時に、他のＢＩＯＳによりシステムを起動し、システムの稼働率を高めることは、ＰＣに限らず、プリンタなどの画像データを処理する画像処理装置においても重要である。しかしながら、上記した特許文献１のコンピュータでは、通常使用するＢＩＯＳを記憶するメモリとは別に、バックアップ用のＢＩＯＳを保存する専用のメモリを用意する必要がある。また、画像処理装置は、例えばコストや構造上の制限から、バックアップ用のＢＩＯＳを保存する専用メモリを搭載できない可能性もある。このため、画像処理装置において、どのようにしてバックアップ用のＢＩＯＳのデータを確保するのかが課題となる。
【０００６】
本願は、上記の課題に鑑み提案されたものであって、バックアップ用の起動プログラムを保存する専用のメモリを必要とせず、バックアップ用の起動プログラムによる起動を可能とする画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る画像処理装置は、画像データを処理する画像処理部と、起動プログラムを保存する第一メモリと、前記画像データに関わるデータを保存する第二メモリと、制御装置と、を備え、前記制御装置は、前記第一メモリから前記起動プログラムを読み込んでシステムを起動できるか否かを判定する処理と、前記第二メモリに前記起動プログラムが保存されているか否かを判定する処理と、前記第一メモリから前記起動プログラムを読み込んで前記システムを起動できないと判定し、且つ前記第二メモリに前記起動プログラムが保存されていると判定したことに応じて、前記第二メモリから前記起動プログラムを読み込んで前記システムを起動する処理と、を実行する。
【０００８】
これによれば、第二メモリは、画像処理部で処理される画像データに関わるデータを保存するために使用される。また、第二メモリは、画像データに関わるデータの保存の他に、起動プログラムの保存に併用される。例えば、第二メモリには、保存するデータのデータ量や、データの保存の要否に応じた大きさの空き領域が確保される。起動プログラム又はその一部は、この空き領域に保存される。そして、制御装置は、第一メモリの起動プログラムでシステムを起動できず、且つ第二メモリに起動プログラムが保存されていることに応じて、第二メモリの起動プログラムでシステムを起動する。これにより、第一メモリの他に、バックアップ用の起動プログラムを保存する専用のメモリを用意する必要がなく、第二メモリに保存した起動プログラムによってシステムを起動できる。
【発明の効果】
【０００９】
本願に係る画像処理装置によれば、バックアップ用の起動プログラムを保存する専用のメモリを必要とせず、バックアップ用の起動プログラムによる起動を可能にできる。
【図面の簡単な説明】
【００１０】
【図１】第一実施形態に係るＭＦＰの電気的構成を示すブロック図である。
【図２】第一実施形態に係る制御装置のブロック図である。
【図３】起動処理の内容を示すフローチャートである。
【図４】起動処理の内容を示すフローチャートである。
【図５】起動処理の内容を示すフローチャートである。
【図６】起動後の処理の内容を示すフローチャートである。
【図７】起動後の処理の内容を示すフローチャートである。
【図８】起動後の処理の内容を示すフローチャートである。
【図９】第二実施形態の起動処理の内容を示すフローチャートである。
【図１０】第二実施形態の起動処理の内容を示すフローチャートである。
【図１１】第二実施形態の起動処理の内容を示すフローチャートである。
【図１２】第二実施形態の起動処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本願の画像処理装置を具体化した第一実施形態のＭＦＰ１０について図１及び図２を参照しつつ説明する。
【００１２】
（１．ＭＦＰの構成）
図１は、第一実施形態のＭＦＰ（Multi-Function Peripheral）１０のブロック図を示している。ＭＦＰ１０は、印刷機能、コピー機能、スキャナ機能、ＦＡＸ機能を備える複合機である。図１に示すように、ＭＦＰ１０は、制御装置１１、第一メモリ１４、第二メモリ１５、ＲＡＭ１６、フラグメモリ１７、画像形成部１８、画像読取部１９、通信部２１、電源２２、ユーザインターフェース２３などを備えている。これらの制御装置１１、第一メモリ１４等は、バス２５を介して互いに接続され、データの送受信を行う。
【００１３】
制御装置１１は、バス２５に接続された各装置を制御し、ＭＦＰ１０を統括的に制御する装置であり、後述するようにＣＰＵ４１等を備えている（図２参照）。第一及び第二メモリ１４，１５は、例えば、不揮発性のメモリである。第一及び第二メモリ１４，１５は、例えばフラッシュＲＯＭやＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）である。第一メモリ１４には、ＭＦＰ１０を起動するための起動プログラムＰＧ（図２参照）や、起動後のＭＦＰ１０の制御に用いる各種のプログラムが保存されている。
【００１４】
起動プログラムＰＧには、例えば、ＢＩＯＳ（Basic Input/Output System）プログラムや、ＢＩＯＳプログラムによって呼び出され起動処理を実行するブートプログラムなどが含まれている。尚、ＭＦＰ１０の動作をＯＳ（オペレーティングシステム）で制御する場合、起動プログラムＰＧは、ＯＳを含んでも良い。ＢＩＯＳは、例えば、ＭＦＰ１０のシステムの起動時に、第一メモリ１４から制御装置１１のＣＰＵ４１（図２参照）に読み込まれて実行され、システムに接続されている各種デバイス（ユーザインターフェース２３など）の初期化や、ブートプログラムのメモリ（ＲＡＭ１６）への読み込みなどを実行する。ブートプログラムは、ＢＩＯＳプログラムに呼び出された後、例えば、起動時に必要な機能を実現するプログラムの実行や、ユーザインターフェース２３の初期画面の表示処理などを行う。制御装置１１は、第一メモリ１４の起動プログラムＰＧを実行して起動し、第一メモリ１４に保存された各種のプログラムを実行することでＭＦＰ１０を制御する。
【００１５】
図２に示すように、第二メモリ１５には、画像データＤ１、関連データＤ２などが保存される。画像データＤ１は、コピー機能、ＦＡＸ機能、スキャン機能等で原稿を読み取って形成した画像データ、あるいは外部から印刷指示を受け付けた画像データなどである。関連データＤ２は、画像データＤ１に関わるデータである。制御装置１１は、例えば、次の起動時まで保存しておきたいデータや、ＲＡＭ１６に記憶しきれない大きさのデータの一部を、関連データＤ２として第二メモリ１５に保存する。例えば、画像形成部１８によってコピー機能を実行する場合、関連データＤ２は、制御装置１１の処理によって発生するコピーの画像や、印刷設定を示す数値などである。また、例えば、通信部２１を介してＦＡＸの送信機能を実行する場合、関連データＤ２は、制御装置１１の処理によって発生するＦＡＸの送信データや、ＦＡＸの送信先として登録した電話番号のデータなどである。
【００１６】
従って、第二メモリ１５には、画像データＤ１や関連データＤ２の保存の有無や保存したデータ量に応じて空き領域が形成される。本実施形態の制御装置１１は、この第二メモリ１５の空き領域に起動プログラムＰＧを、第一メモリ１４の起動プログラムＰＧのバックアップ用のデータとして保存する。また、制御装置１１は、起動後の処理において、その処理の時々に形成される空き領域の大きさに応じて、起動プログラムＰＧの全体、又はその一部を空き領域に保存する。
【００１７】
図１に示すＲＡＭ１６は、作業用のメモリである。制御装置１１（ＣＰＵ４１）は、第一及び第二メモリ１４，１５からデータを読み出して処理する、あるいはプログラムを読み出して実行する。この際、制御装置１１は、処理データをＲＡＭ１６に一時的に記憶させながら処理を実行する。
【００１８】
フラグメモリ１７は、例えば、不揮発性のメモリ（ＥＥＰＲＯＭなど）である。フラグメモリ１７には、様々な設定状態を示すフラグ値ＦＧ（図２参照）が保存されている。本実施形態のフラグ値ＦＧには、例えば、第二メモリ１５に起動プログラムＰＧの全データ（フルプログラム）、又は一部のデータが保存されているか否かを示す値が設定される。以下、起動プログラムＰＧの一部のデータを、制限機能付きプログラムという場合がある。
【００１９】
ここでいう、制限機能付きプログラムとは、起動プログラムＰＧ（フルプログラム）を実行した際に実現される機能、即ち、ＭＦＰ１０の備える全機能のうち、一部の機能を制限したプログラムであり、起動プログラムＰＧに比べてデータ量の削減を図ったプログラムである。本実施形態の制限機能付きプログラムＭＰＧ（図２参照）は、例えば、起動プログラムＰＧの一部のプログラムで構成されている。制御装置１１は、起動プログラムＰＧを実行する代わりに、制限機能付きプログラムＭＰＧを実行することで、一部の機能のみを有効にしてシステムを起動する。制限される機能は、例えば、印刷機能（画像形成部１８）、ＦＡＸ機能、ユーザインターフェース２３などである。本実施形態のＭＦＰ１０は、制限機能付きプログラムＭＰＧを実行された場合、例えば、ＦＡＸの受信機能のみを有効にし、他のＦＡＸ装置からＦＡＸデータを受信可能にする。尚、制限機能付きプログラムＭＰＧは、ＦＡＸ機能に限らず、コピー機能やスキャン機能のみを有効にするプログラムでも良い。また、制限機能付きプログラムＭＰＧは、起動プログラムＰＧの一部に限らず、起動プログラムＰＧとは別のプログラムでも良く、あるいは、起動プログラムＰＧと一部を共有するプログラムでも良い。
【００２０】
図１に示すように、画像形成部１８（画像処理部の一例）は、ヘッド３１及びインクカートリッジ３２を有する。画像形成部１８は、インクカートリッジ３２から供給されるインクをヘッド３１によってシートに吐出し印刷を行う。これにより、画像形成部１８は、制御装置１１の制御に基づいて、インクジェット方式によりシートに画像データＤ１を印刷する。尚、画像形成部１８による印刷方法は、インクジェット方式に限らず、電子写真方式などの他の方式でもよい。
【００２１】
画像読取部１９（画像処理部の一例）は、不図示の原稿台及びＣＩＳ（Contact Image Sensor）を備える。画像読取部１９は、原稿台に載置された原稿に対してＣＩＳを移動させ、原稿を読み取り、画像データＤ１を生成する。通信部２１は、電話回線を接続するコネクタやＬＡＮ（Local Area Network）インターフェースを備えている。制御装置１１は、画像読取部１９で読み取った画像データＤ１を、通信部２１及び電話回線を介して、他のファクシミリ装置へ送信する。
【００２２】
また、本実施形態のＭＦＰ１０は、通信部２１のＬＡＮインターフェースを介してパーソナルコンピュータやネットワーク上のファイルサーバなどに接続可能となっている。ユーザは、例えばパーソナルコンピュータを操作することで、ＭＦＰ１０に対して画像データＤ１を送信し印刷指示を行うことができる。画像形成部１８は、制御装置１１の制御に基づいて、画像データＤ１の印刷を実行する。あるいは、制御装置１１は、ファイルサーバへ画像データＤ１のアップロードなどを実行することができる。そして、制御装置１１は、上記した画像形成部１８、画像読取部１９、通信部２１を用いた様々な画像処理の際、必要に応じて関連データＤ２を第二メモリ１５に保存する。
【００２３】
また、ＭＦＰ１０は、商用電源から電力を供給する電源２２を備えている。電源２２は、電源コード、電源スイッチ、電源回路などを備え、商用電源から直流電源を生成し、電源線にてＭＦＰ１０が備える各部へ電力を供給する。
【００２４】
ユーザインターフェース２３は、ユーザによって操作可能なタッチパネル、テンキー、ＭＦＰ１０の状態を表示するランプなどを有する。ユーザは、タッチパネルやテンキーによって、ＭＦＰ１０に対する設定などを行うことができる。
【００２５】
（２．制御装置１１の構成）
次に、制御装置１１の構成について説明する。図２は、制御装置１１のブロック図を示している。尚、図２は、図１に示したＭＦＰ１０の構成のうち、制御装置１１の説明に用いる一部の構成のみを図示している。図２に示すように、制御装置１１は、ＣＰＵ４１と、ＣＰＵインターフェース４２と、バス調停部４４と、起動コントローラ４５と、リセットコントローラ４８とを有している。ＣＰＵ４１は、上記したように、第一メモリ１４から読み出した起動プログラムＰＧや他のプログラムを実行する。ＣＰＵ４１は、ＣＰＵインターフェース４２を介してバス調停部４４に接続されている。
【００２６】
また、第一メモリ１４は、メモリインターフェース５１を介してバス２５に接続されている。第二メモリ１５は、メモリインターフェース５２を介してバス２５に接続されている。フラグメモリ１７は、メモリインターフェース５３を介してバス２５に接続されている。これら、メモリインターフェース５１〜５３は、各メモリとバス２５との間のデータの送受信を行う。
【００２７】
バス調停部４４は、バス２５に接続され、バス２５を伝送されるデータを制御する。例えば、ＣＰＵ４１は、ＣＰＵインターフェース４２及びバス２５を介して、第一メモリ１４、第二メモリ１５、ＲＡＭ１６（図１参照）、フラグメモリ１７に対してデータの読み書きを実行する。また、起動コントローラ４５は、バス調停部４４に接続され、第一メモリ１４等に対するデータの読み書きを実行する。バス調停部４４は、ＣＰＵ４１や起動コントローラ４５から出力され競合する要求を、例えばＣＰＵ４１や起動コントローラ４５に対して設定された優先度に従って調停する。バス調停部４４は、ＣＰＵ４１又は起動コントローラ４５に対し、第一メモリ１４などへのアクセスの許可を調整する。アクセスが許可されたＣＰＵ４１や起動コントローラ４５は、例えば、第一メモリ１４にアクセスするための信号をメモリインターフェース５１へ出力する。例えば、読み出し要求の信号を出力した場合、メモリインターフェース５１は、信号の入力に応じて第一メモリ１４からデータを読み出し、その読み出したデータを要求元に出力する。
【００２８】
また、本実施形態のＣＰＵインターフェース４２は、ＣＰＵ４１や起動コントローラ４５からの制御信号ＣＴに基づいて、ＣＰＵ４１とメモリとの接続関係を変更し、ＣＰＵ４１が起動プログラムＰＧを読み出すメモリを変更可能となっている。より具体的には、上記したように、起動プログラムＰＧは、第一メモリ１４の他に、バックアップ用として第二メモリ１５に保存される場合がある。ＣＰＵインターフェース４２（接続切替部の一例）は、第一メモリ１４及び第二メモリ１５と、ＣＰＵ４１（プログラム実行部の一例）との接続を切り替える。ＣＰＵインターフェース４２は、ＣＰＵ４１又は起動コントローラ４５からの制御信号ＣＴに基づいて、ＣＰＵ４１を第一メモリ１４又は第二メモリ１５に接続する。これにより、ＣＰＵ４１が起動プログラムＰＧを読み出すメモリを、変更する。本実施形態のＣＰＵインターフェース４２は、初期設定としてＣＰＵ４１を第一メモリ１４に接続する設定となっている。
【００２９】
リセットコントローラ４８は、ＣＰＵ４１、起動コントローラ４５、バス調停部４４を含む各処理部を起動又は停止する。リセットコントローラ４８は、各処理部にリセット信号ＲＳＴを出力し、停止した状態を解除して起動する。以下、各処理部が停止した状態を、リセット状態という場合がある。起動した処理部は、時間情報の補正などの初期設定を実行する。尚、本願における制御装置１１に備えられた複数の処理部とは、例えば、データの処理や転送などを実行する処理回路である。
【００３０】
（３．起動処理）
次に、第一実施形態のＭＦＰ１０による起動処理について、図３〜図５を参照しつつ、説明する。制御装置１１は、例えば、ユーザによって電源２２（図１参照）の電源スイッチをＯＮ操作されると図３〜図５に示す起動処理を開始する。
【００３１】
まず、図３のステップ１１において、電源２２は、バス２５に接続された各部へ電力の供給を開始する。制御装置１１は、電源２２から電力を供給されるのに応じて、リセットコントローラ４８の動作を開始させる。リセットコントローラ４８が動作を開始し初期設定等を実行している間、制御装置１１の他の処理部（ＣＰＵ４１等）は、例えばリセットコントローラ４８からローレベルのリセット信号ＲＳＴを供給され、リセット状態、即ち停止した状態を維持する。以下、ステップを、単に「Ｓ」と記載する。
【００３２】
リセットコントローラ４８は、動作を開始した後、ＣＰＵ４１以外の処理部（起動コントローラ４５、バス調停部４４など）のリセット状態を解除する（Ｓ１３）。リセットコントローラ４８は、例えば、ハイレベルのリセット信号ＲＳＴを起動コントローラ４５等に供給して動作を開始させる。起動コントローラ４５等は、動作の開始に伴って初期設定を実行する（Ｓ１３）。従って、本実施形態のＣＰＵ４１は、電源２２から制御装置１１へ電力の供給を開始した初期段階において、停止状態となり処理を開始しない。
【００３３】
次に、動作を開始した起動コントローラ４５は、第一メモリ１４に保存されたデータのエラーの有無を判定する（Ｓ１５）。これにより、起動コントローラ４５は、第一メモリ１４からＣＰＵ４１へ起動プログラムＰＧを読み込んでシステムを正常に起動できるか否かを判定する。例えば、第一メモリ１４には、起動プログラムＰＧ等のデータを格納するデータ格納領域の他に、チェックサムデータを格納するチェックサムデータ格納領域が設けられている。起動コントローラ４５は、データ格納領域の全データを加算した合計値と、チェックサムデータとが一致した場合、第一メモリ１４のデータにエラーが発生していないと判定する（Ｓ１５：ＹＥＳ）。
【００３４】
一方、起動コントローラ４５は、データ格納領域の全データを加算した合計値と、チェックサムデータとが一致しない場合、第一メモリ１４のデータにエラーが発生していると判定する（Ｓ１５：ＮＯ）。この場合、第一メモリ１４に格納された起動プログラムＰＧにデータの誤りが発生している可能性がある。
【００３５】
あるいは、例えば、第一メモリ１４が物理的に故障しており第一メモリ１４から正常にデータを読み出せない場合にも、起動コントローラ４５は、第一メモリ１４のデータにエラーが発生していると判定する（Ｓ１５：ＮＯ）。この場合、仮に、第一メモリ１４に起動プログラムＰＧが保存されていたとしても、読み出して使用することができない、即ち、第一メモリ１４の起動プログラムＰＧでシステムを起動できないからである。
【００３６】
尚、Ｓ１５において、起動コントローラ４５は、第一メモリ１４の全データのエラーをチェックせずに、起動プログラムＰＧのエラーのみをチェックしてもよい。この場合、起動プログラムＰＧを保存する専用のデータ格納領域と、起動プログラムＰＧ用のチェックサムデータを保存するデータ格納領域を第一メモリ１４に設けてもよい。また、起動プログラムＰＧのエラーをチェックする方法は、上記方法に限らない。例えば、第一メモリ１４の所定の大きさのブロックごとに誤り検出符号を設定しても良い。また、誤り検出符号に代えて、誤り訂正符号を用いても良い。この場合、起動コントローラ４５は、誤り訂正符号による訂正ができない場合に、第一メモリ１４のデータにエラーが発生していると判定（Ｓ１５：ＮＯ）してもよい。
【００３７】
Ｓ１５において、起動コントローラ４５は、第一メモリ１４のデータにエラーが発生していない、即ち、第一メモリ１４からＣＰＵ４１に起動プログラムＰＧを読み込んでシステムを起動できると判定したことに応じて（Ｓ１５：ＹＥＳ）、ＣＰＵ４１のリセット状態を解除する（Ｓ１７）。起動コントローラ４５は、リセットコントローラ４８を制御し、例えばハイレベルのリセット信号ＲＳＴをリセットコントローラ４８からＣＰＵ４１へ供給させる。ＣＰＵ４１は、ハイレベルのリセット信号ＲＳＴを供給されるのに応じて動作を開始する。本実施形態のＣＰＵインターフェース４２は、初期設定としてＣＰＵ４１を第一メモリ１４に接続する設定となっている。このため、動作を開始したＣＰＵ４１は、第一メモリ１４から起動プログラムＰＧを読み込んで実行する。
【００３８】
ＣＰＵ４１は、起動プログラムＰＧの実行にともなって初期設定等を行い、ＭＦＰ１０のシステムを起動する。また、ＣＰＵ４１は、システムを起動するとともに、次のＳ１９以降の処理も開始する。従って、ＭＦＰ１０は、例えば、Ｓ１７の時点でシステムの起動を完了させると、起動後の処理、例えばコピー機能の実行などと並列にＳ１９以降の処理を実行する。
【００３９】
Ｓ１９以降の処理は、起動プログラムＰＧを第二メモリ１５へバックアップする処理である。従って、本実施形態の起動プログラムＰＧには、例えば、ＭＦＰ１０のシステムを起動しコピー機能などを実現するプログラムの他に、Ｓ１９以降の起動プログラムＰＧを第二メモリ１５へバックアップするプログラムが含まれている。尚、起動プログラムＰＧをバックアップするプログラムと、起動プログラムＰＧとは、別のプログラムでも良い。この場合、ＣＰＵ４１は、例えば、起動プログラムＰＧを実行しシステムを起動するとともに、バックアップを実行するプログラムを第一メモリ１４から読み出して実行する。
【００４０】
Ｓ１９において、ＣＰＵ４１は、フルプログラムである起動プログラムＰＧが第二メモリ１５に保存されているか否かを判定する。ＣＰＵ４１は、フラグメモリ１７のフラグ値ＦＧを読み出して判定し、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する。
【００４１】
ＣＰＵ４１は、第二メモリ１５に起動プログラムＰＧが保存されていることに応じて（Ｓ１９：ＹＥＳ）、図３〜図５に示す起動処理を終了する。この場合、ＭＦＰ１０は、第一メモリ１４及び第二メモリ１５の両方に起動プログラムＰＧを保存した状態でシステムを起動する。
【００４２】
一方で、ＣＰＵ４１は、第二メモリ１５に起動プログラムＰＧが保存されていないことに応じて（Ｓ１９：ＮＯ）、起動プログラムＰＧ又は制限機能付きプログラムＭＰＧを第二メモリ１５へバックアップする処理を開始する。まず、ＣＰＵ４１は、第二メモリ１５に起動プログラムＰＧを書き込むだけの空き領域があるか否かを判定する（Ｓ２１）。
【００４３】
ここで、例えば、図２に示すように、第一メモリ１４には、起動プログラムＰＧを保存可能な大きさの空き領域を判定するための第一閾値ＴＨ１と、制限機能付きプログラムＭＰＧを保存可能な大きさの空き領域を判定するための第二閾値ＴＨ２とが保存されている。制限機能付きプログラムＭＰＧは、上記したように起動プログラムＰＧに比べて小さいプログラムである。このため、第二閾値ＴＨ２は、第一閾値ＴＨ１に比べて小さい値である。
【００４４】
Ｓ２１において、ＣＰＵ４１は、第二メモリ１５の空き容量の大きさと第一閾値ＴＨ１とを比較する。ＣＰＵ４１は、第一閾値ＴＨ１に比べて第二メモリ１５の空き領域が大きい、即ち、第二メモリ１５に起動プログラムＰＧを書き込めるだけの空き領域があると判定したことに応じて（Ｓ２１：ＹＥＳ）、第二メモリ１５へ起動プログラムＰＧを保存する（Ｓ２３）。ＣＰＵ４１は、第一メモリ１４に保存された起動プログラムＰＧを第二メモリ１５の空き領域にコピーする。尚、ＣＰＵ４１は、第一メモリ１４の起動プログラムＰＧを第二メモリ１５へコピーしなくとも良い。例えば、ＣＰＵ４１は、外部記憶装置やネットワーク上のサーバなどから起動プログラムＰＧを読み出して第二メモリ１５へ保存しても良い。
【００４５】
ＣＰＵ４１は、第二メモリ１５への起動プログラムＰＧの書き込みを終了させると、フラグメモリ１７のフラグ値ＦＧを設定する（Ｓ２５）。ＣＰＵ４１は、フラグ値ＦＧとして、フルプログラムの起動プログラムＰＧを第二メモリ１５に保存したことを示す値を設定する。ＣＰＵ４１は、フラグ値ＦＧを設定した後（Ｓ２５）、図３〜図５に示す起動処理を終了する。
【００４６】
また、Ｓ２１において、ＣＰＵ４１は、第一閾値ＴＨ１に比べて空き領域が小さい、即ち、第二メモリ１５に起動プログラムＰＧを書き込むだけの空き領域がないと判定したことに応じて（Ｓ２１：ＮＯ）、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する（Ｓ２７）。ＣＰＵ４１は、フラグメモリ１７のフラグ値ＦＧを読み出して判定し、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する。
【００４７】
ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていると判定したことに応じて（Ｓ２７：ＮＯ）、Ｓ２１からの処理を再度実行する。上記したように第二メモリ１５は、システムの起動後の制御装置１１による画像処理において、画像データＤ１や関連データＤ２の保存に使用される。このため、第二メモリ１５には、画像処理の過程で、画像データＤ１や関連データＤ２の保存の有無や保存したデータ量に応じて空き領域が形成される。例えば、ＦＡＸの画像データＤ１を受信して印刷した後に第二メモリ１５から削除した場合、第二メモリ１５には、画像データＤ１に応じた空き容量が形成される。ＣＰＵ４１は、Ｓ２１やＳ２７以降の処理を繰り返すことで、画像処理中において第二メモリ１５に空き容量が形成されるのに応じて、第二メモリ１５に起動プログラムＰＧのフルプログラムを保存し（Ｓ２３、Ｓ２５）、起動処理を終了する。
【００４８】
また、Ｓ２７において、ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていないと判定したことに応じて（Ｓ２７：ＹＥＳ）、第二メモリ１５に制限機能付きプログラムＭＰＧを書き込むだけの空き領域があるか否かを判定する（Ｓ２９）。
【００４９】
ＣＰＵ４１は、制限機能付きプログラムＭＰＧの大きさに応じて設定された第二閾値ＴＨ２に比べて空き領域が小さい、即ち、第二メモリ１５に制限機能付きプログラムＭＰＧを書き込むだけの空き領域がないと判定したことに応じて（Ｓ２９：ＮＯ）、Ｓ２１からの処理を再度実行する。この場合、第二メモリ１５への起動プログラムＰＧ及び制限機能付きプログラムＭＰＧの保存は禁止される。
【００５０】
一方で、ＣＰＵ４１は、第二閾値ＴＨ２に比べて空き領域が大きい、即ち、第二メモリ１５に制限機能付きプログラムＭＰＧを書き込むだけの空き領域があると判定したことに応じて（Ｓ２９：ＹＥＳ）、第二メモリ１５へ制限機能付きプログラムＭＰＧを保存する（Ｓ３１）。ＣＰＵ４１は、第一メモリ１４に保存された制限機能付きプログラムＭＰＧを第二メモリ１５の空き領域にコピーする。尚、ＣＰＵ４１は、第一メモリ１４の制限機能付きプログラムＭＰＧを第二メモリ１５へコピーしなくとも良い。例えば、ＣＰＵ４１は、外部記憶装置やネットワーク上のサーバなどから制限機能付きプログラムＭＰＧを読み出して第二メモリ１５へ保存しても良い。
【００５１】
ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧを保存（Ｓ３１）した後、フラグメモリ１７のフラグ値ＦＧを設定する（Ｓ３３）。ＣＰＵ４１は、フラグ値ＦＧとして、制限機能付きプログラムＭＰＧを第二メモリ１５に保存したことを示す値を設定する（Ｓ３３）。ＣＰＵ４１は、フラグ値ＦＧを設定した後（Ｓ３３）、Ｓ２１からの処理を再度実行する。Ｓ２１からの処理が実行されることで、上記したように第二メモリ１５の空き領域に起動プログラムＰＧを保存するまで処理が繰り返される。また、逆に、第二メモリ１５に起動プログラムＰＧを保存できるだけの空き領域が発生せずに電源がＯＦＦされた場合、第二メモリ１５には、起動プログラムＰＧが保存されず、制限機能付きプログラムＭＰＧが保存される。フラグメモリ１７のフラグ値ＦＧには、制限機能付きプログラムＭＰＧを第二メモリ１５に保存したことを示す値が設定されたままとなる。
【００５２】
（３−１．第二メモリ１５の起動プログラムＰＧで起動する場合）
また、起動コントローラ４５は、上記したＳ１５において、第一メモリ１４のデータにエラーが発生している、即ち、第一メモリ１４の起動プログラムＰＧでシステムを正常に起動できないと判定したことに応じて（Ｓ１５：ＮＯ）、図４に示すＳ３５以降の処理を実行する。Ｓ３５以降の処理では、起動コントローラ４５は、第一メモリ１４の起動プログラムＰＧ以外のプログラムでシステムの起動を試みる。
【００５３】
Ｓ３５において、起動コントローラ４５は、フラグメモリ１７のフラグ値ＦＧに基づいて、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する。起動コントローラ４５は、第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて（Ｓ３５：ＹＥＳ）、上記した図３のＳ１５と同様に、第二メモリ１５に保存されたデータのエラーの有無を判定する（Ｓ３７）。これにより、起動コントローラ４５は、第二メモリ１５からＣＰＵ４１へ起動プログラムＰＧを読み込んでシステムを正常に起動できるか否かを判定する。起動コントローラ４５は、例えば、第二メモリ１５のチェックサムデータに基づいて、データのエラーの有無を判定する（Ｓ３７）。
【００５４】
起動コントローラ４５は、第二メモリ１５のデータにエラーがない、即ち、第二メモリ１５から起動プログラムＰＧを読み出してシステムを起動できると判定したことに応じて（Ｓ３７：ＹＥＳ）、制御信号ＣＴによりＣＰＵインターフェース４２（図２参照）を制御する（Ｓ３９）。ＣＰＵインターフェース４２は、制御信号ＣＴに基づいて、動作開始時のＣＰＵ４１を第二メモリ１５に接続するように接続を変更する。これにより、ＣＰＵ４１は、動作開始時に第二メモリ１５から起動プログラムＰＧを読み出す。
【００５５】
Ｓ３９を実行した後、起動コントローラ４５は、リセットコントローラ４８を制御し、ＣＰＵ４１のリセット状態を解除する（Ｓ４１）。動作を開始したＣＰＵ４１は、第二メモリ１５から起動プログラムＰＧを読み込んで実行する。
【００５６】
ＣＰＵ４１は、起動プログラムＰＧの実行にともなって初期設定等を行い、ＭＦＰ１０のシステムを起動する。また、ＣＰＵ４１は、システムを起動するとともに、第二メモリ１５の起動プログラムＰＧを第一メモリ１４へコピーし（Ｓ４３）、図３〜図５に示す起動処理を終了する。この場合にも、ＭＦＰ１０は、第一メモリ１４及び第二メモリ１５の両方に起動プログラムＰＧを保存した状態でシステムを起動する。尚、起動プログラムＰＧを第二メモリ１５から第一メモリ１４へコピーする処理は、起動プログラムＰＧが実行しても良い。また、起動プログラムＰＧをコピーせず、第二メモリ１５から第一メモリ１４へ移動しても良い。この場合、起動プログラムＰＧは、第一メモリ１４のみに保存される。また、第一メモリ１４の故障等により第一メモリ１４へ起動プログラムＰＧを保存できない場合、ＣＰＵ４１は、例えばユーザインターフェース２３のタッチパネルにエラーを表示しても良い。
【００５７】
（３−２．第一メモリ１４の制限機能付きプログラムＭＰＧで起動する場合）
第二メモリ１５に起動プログラムＰＧが保存されていない（Ｓ３５：ＮＯ）、又は第二メモリ１５のデータにエラーがあると判定したことに応じて（Ｓ３７：ＮＯ）、起動コントローラ４５は、Ｓ４５の処理を実行する。起動コントローラ４５は、Ｓ４５において、フラグメモリ１７のフラグ値ＦＧに基づいて、第一メモリ１４に制限機能付きプログラムＭＰＧが保存されているか否かを判定する。
【００５８】
起動コントローラ４５は、第一メモリ１４に制限機能付きプログラムＭＰＧが保存されていると判定したことに応じて（Ｓ４５：ＹＥＳ）、第一メモリ１４からＣＰＵ４１へ制限機能付きプログラムＭＰＧを読み込んでシステムを起動できるか否かを判定する（Ｓ４７）。例えば、起動コントローラ４５は、第一メモリ１４から制限機能付きプログラムＭＰＧを読み出してデータのエラーをチェックする。これは、仮に、第一メモリ１４の起動プログラムＰＧにデータのエラーが発生していたとしても、制限機能付きプログラムＭＰＧのデータが正常である可能性があるからである。
【００５９】
起動コントローラ４５は、第一メモリ１４の制限機能付きプログラムＭＰＧを読み出してシステムを起動できると判定したことに応じて（Ｓ４７：ＹＥＳ）、リセットコントローラ４８を制御し、ＣＰＵ４１のリセット状態を解除する（Ｓ４９）。動作を開始したＣＰＵ４１は、第一メモリ１４から制限機能付きプログラムＭＰＧを読み込んで実行する。例えば、起動コントローラ４５は、リセット状態を解除した後、第一メモリ１４から制限機能付きプログラムＭＰＧを読み出す旨の指令を、ＣＰＵ４１に対して実行しても良い。
【００６０】
ＣＰＵ４１は、制限機能付きプログラムＭＰＧの実行にともなって初期設定等を行い、ＭＦＰ１０のシステムを起動する。また、ＣＰＵ４１は、システムを起動するとともに、制限機能付きプログラムＭＰＧによりシステムを起動した旨を報知する（Ｓ５１）。ＣＰＵ４１は、例えば、制限機能付きプログラムＭＰＧで起動したためＦＡＸの受信のみが可能である旨をユーザインターフェース２３のタッチパネルに表示する（Ｓ５１）。
【００６１】
Ｓ５１を実行した後、ＣＰＵ４１は、フラグメモリ１７のフラグ値ＦＧに基づいて、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する（Ｓ５３）。ＣＰＵ４１は、フラグメモリ１７のフラグ値ＦＧを読み込んで判定し、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する（Ｓ５３）。ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていると判定したことに応じて（Ｓ５３：ＹＥＳ）、図３〜図５に示す起動処理を終了する。
【００６２】
また、ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていないと判定したことに応じて（Ｓ５３：ＮＯ）、第二メモリ１５に制限機能付きプログラムＭＰＧを書き込むだけの空き領域があるか否かを判定する（Ｓ５５）。
【００６３】
ＣＰＵ４１は、上記したＳ２９と同様に、第二閾値ＴＨ２に比べて空き領域が小さいと判定したことに応じて（Ｓ５５：ＮＯ）、Ｓ５５の判定処理を繰り返し実行する。この場合、第二メモリ１５への制限機能付きプログラムＭＰＧの保存は禁止される。
【００６４】
一方で、ＣＰＵ４１は、第二閾値ＴＨ２に比べて空き領域が大きいと判定したことに応じて（Ｓ５５：ＹＥＳ）、第二メモリ１５へ制限機能付きプログラムＭＰＧを保存する（Ｓ５７）。ＣＰＵ４１は、例えば、第一メモリ１４に保存された制限機能付きプログラムＭＰＧを第二メモリ１５の空き領域にコピーする。これにより、ＣＰＵ４１は、起動時に空き容量が形成されていた場合や、画像処理中に空き容量が形成された場合に、第二メモリ１５に制限機能付きプログラムＭＰＧを保存する。
【００６５】
ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧを保存（Ｓ５７）した後、その旨のフラグ値ＦＧをフラグメモリ１７に保存（Ｓ５９）し、図３〜図５に示す起動処理を終了する。フラグ値ＦＧには、制限機能付きプログラムＭＰＧを第一メモリ１４及び第二メモリ１５に保存したことを示す値が設定される。
【００６６】
（３−３．第二メモリ１５の制限機能付きプログラムＭＰＧで起動する場合）
第一メモリ１４に制限機能付きプログラムＭＰＧが保存されていない（Ｓ４５：ＮＯ）、又は第一メモリ１４の制限機能付きプログラムＭＰＧでシステムを起動できないと判定したことに応じて（Ｓ４７：ＮＯ）、起動コントローラ４５は、図５に示すＳ６１の処理を実行する。起動コントローラ４５は、Ｓ６１において、フラグメモリ１７のフラグ値ＦＧに基づいて、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する。
【００６７】
起動コントローラ４５は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていないと判定したことに応じて（Ｓ６１：ＮＯ）、エラーを報知し（Ｓ６３）、図３〜図５に示す起動処理を終了する。起動コントローラ４５は、例えば、起動プログラムＰＧ及び制限機能付きプログラムＭＰＧによるシステムの立ち上げができない旨を、ユーザインターフェース２３のタッチパネルに表示させる。あるいは、起動コントローラ４５は、ユーザインターフェース２３のエラーランプを点灯させても良い。
【００６８】
一方、起動コントローラ４５は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていると判定したことに応じて（Ｓ６１：ＹＥＳ）、上記したＳ４７と同様に、第二メモリ１５から制限機能付きプログラムＭＰＧを読み出してシステムを起動できるか否かを判定する（Ｓ６５）。起動コントローラ４５は、第二メモリ１５から制限機能付きプログラムＭＰＧを読み出してシステムを起動できないと判定したことに応じて（Ｓ６５：ＮＯ）、エラーを報知し（Ｓ６３）、図３〜図５に示す起動処理を終了する。
【００６９】
一方、起動コントローラ４５は、第二メモリ１５から制限機能付きプログラムＭＰＧを読み出してシステムを起動できると判定したことに応じて（Ｓ６５：ＹＥＳ）、上記したＳ３９と同様に、ＣＰＵインターフェース４２を制御し、ＣＰＵ４１と第二メモリ１５とを接続する（Ｓ６７）。Ｓ６７を実行した後、起動コントローラ４５は、リセットコントローラ４８を制御し、ＣＰＵ４１のリセット状態を解除する（Ｓ６９）。動作を開始したＣＰＵ４１は、第二メモリ１５から制限機能付きプログラムＭＰＧを読み込んで実行し、ＭＦＰ１０のシステムを起動する。また、ＣＰＵ４１は、システムを起動するとともに、制限機能付きプログラムＭＰＧによりシステムを起動した旨を報知する（Ｓ７１）。また、ＣＰＵ４１は、システムを起動するとともに、第二メモリ１５の制限機能付きプログラムＭＰＧを第一メモリ１４へコピーする（Ｓ７３）。ＣＰＵ４１は、第一メモリ１４に制限機能付きプログラムＭＰＧを保存（Ｓ７３）した後、その旨のフラグ値ＦＧをフラグメモリ１７に保存（Ｓ７５）し、図３〜図５に示す起動処理を終了する。このようにして、制御装置１１は、第一及び第二メモリ１４，１５に保存された起動プログラムＰＧ及び制限機能付きプログラムＭＰＧのエラー判定やコピーをしつつ、システムを起動する。
【００７０】
（４−１．起動後の処理）
次に、上記した起動処理（図３〜図５）によりシステムを起動した後の処理について、図６〜図８を参照しつつ、説明する。制御装置１１のＣＰＵ４１は、上記した起動処理（図３〜図５）を終了させると、図６〜図８に示す処理を開始する。例えば、ＣＰＵ４１は、ユーザから受け付けたＦＡＸの受信やコピーの実行などの処理を実行しながら、図６〜図８に示す処理を実行する。尚、ＣＰＵ４１は、図５に示すＳ６３（起動エラー）の場合には、図６〜図８に示す処理を実行しない。また、以下の説明では、上記した起動処理と同様の内容の処理については、その説明を適宜省略する。
【００７１】
まず、図６のＳ８１において、ＣＰＵ４１は、図３〜図５の起動処理において起動プログラムＰＧによりシステムを起動したか否かを判定する。例えば、起動コントローラ４５は、Ｓ１７、Ｓ４１、Ｓ４９、及びＳ６９においてＣＰＵ４１のリセットを解除する際に、どのメモリ（第一メモリ１４又は第二メモリ１５）のどのプログラム（起動プログラムＰＧ又は制限機能付きプログラムＭＰＧ）によりシステムを起動するのかを示す値をフラグ値ＦＧとしてフラグメモリ１７に保存する。これにより、ＣＰＵ４１は、フラグ値ＦＧに基づいて、起動プログラムＰＧによりシステムを起動したか否かを判定することが可能となる（Ｓ８１）。尚、上記したフラグ値ＦＧの設定は、ＣＰＵ４１によって行っても良い。
【００７２】
Ｓ８１において、ＣＰＵ４１は、起動プログラムＰＧによりシステムを起動したと判定したことに応じて（Ｓ８１：ＹＥＳ）、第二メモリ１５の起動プログラムＰＧを保存している領域にデータを書き込む必要があるか否かを判定する（Ｓ８３）。例えば、ＣＰＵ４１は、ＦＡＸデータを受信した場合やスキャンを実行した場合など、第二メモリ１５にデータ量の大きい画像データＤ１を保存する場合に、起動プログラムＰＧを削除して画像データＤ１を保存する領域を確保する必要が生じる。
【００７３】
ＣＰＵ４１は、第二メモリ１５の起動プログラムＰＧを保存している領域にデータを書き込む必要がない、即ち、起動プログラムＰＧを削除する必要がないと判定したことに応じて（Ｓ８３：ＮＯ）、Ｓ８３の処理を繰り返し実行する。これにより、ＣＰＵ４１は、起動後の通常動作時に第二メモリ１５に対してデータを書き込む際に、起動プログラムＰＧの削除の必要性を継続して判定する。
【００７４】
一方、ＣＰＵ４１は、第二メモリ１５の起動プログラムＰＧを保存している領域にデータを書き込む必要がある、即ち、起動プログラムＰＧを削除する必要があると判定したことに応じて（Ｓ８３：ＹＥＳ）、第一メモリ１４の起動プログラムＰＧを読み込んでシステムを起動したか否かを判定する（Ｓ８５）。
【００７５】
ＣＰＵ４１は、第一メモリ１４の起動プログラムＰＧを読み込んでシステムを起動したと判定したことに応じて（Ｓ８５：ＹＥＳ）、上記したＳ８３で判定した第二メモリ１５へのデータの書き込みを実行する（Ｓ８７）。この場合、第一メモリ１４に起動プログラムＰＧが保存され、且つその起動プログラムＰＧによりシステムを起動できるため、第二メモリ１５の起動プログラムＰＧの削除が可能となる。
【００７６】
一方で、ＣＰＵ４１は、第一メモリ１４の起動プログラムＰＧを読み込んでシステムを起動していないと判定したことに応じて（Ｓ８５：ＮＯ）、第一メモリ１４に保存されたデータのエラーの有無を判定する（Ｓ８９）。これは、例えば、起動時に第一メモリ１４から起動プログラムＰＧを読み出せなかった場合（図３のＳ１５：ＮＯ）であっても、起動後に第一メモリ１４の起動プログラムＰＧを読み出せる可能性があるからである。また、この場合、起動プログラムＰＧでシステムを起動し（Ｓ８１：ＹＥＳ）、且つ第一メモリ１４の起動プログラムＰＧでシステムを起動していないため（Ｓ８５：ＮＯ）、第二メモリ１５の起動プログラムＰＧでシステムを起動したこととなる。
【００７７】
ＣＰＵ４１は、第一メモリ１４に保存されたデータにエラーがあると判定したことに応じて（Ｓ８９：ＮＯ）、エラーの報知を実行する（Ｓ９１）。ＣＰＵ４１は、例えば、第一メモリ１４へ必要なデータを書き込めない旨や、第一メモリ１４から起動プログラムＰＧを正常に読み出せない旨などを、ユーザインターフェース２３のタッチパネルに表示させ、図６〜図８に示す処理を終了する。
【００７８】
また、ＣＰＵ４１は、第一メモリ１４に保存されたデータにエラーがない、即ち、第一メモリ１４に読み出し可能な起動プログラムＰＧが保存されていると判定したことに応じて（Ｓ８９：ＹＥＳ）、ＣＰＵインターフェース４２を制御し、ＣＰＵ４１と第一メモリ１４とを接続する（Ｓ９３）。これにより、ＣＰＵ４１は、次の起動処理において、リセット状態を解除されると、第一メモリ１４から起動プログラムＰＧを読み出してシステムを起動することとなる。ＣＰＵ４１は、Ｓ９３を実行した後、第二メモリ１５への書き込みを実行する（Ｓ８７）。
【００７９】
Ｓ８７において第二メモリ１５の起動プログラムＰＧを削除したため、Ｓ８７を実行した後、ＣＰＵ４１は、フラグメモリ１７のフラグ値ＦＧを設定する（Ｓ９５）。このフラグ値ＦＧは、第二メモリ１５に起動プログラムＰＧが保存されていないことを示す値である。Ｓ９５を実行した後、ＣＰＵ４１は、第二メモリ１５に起動プログラムＰＧを書き込むだけの空き領域があるか否かを判定する（図７のＳ９７）。これは、Ｓ８７を実行した後、例えば、印刷を実行し保存する必要がなくなったＦＡＸデータを第二メモリ１５から削除し、第二メモリ１５に新たに空き領域が形成される可能性があるからである。
【００８０】
図７のＳ９７において、ＣＰＵ４１は、第二メモリ１５に新たに形成された空き容量の大きさと第一閾値ＴＨ１とを比較し、第一閾値ＴＨ１に比べて第二メモリ１５の空き領域が大きいと判定したことに応じて（Ｓ９７：ＹＥＳ）、第二メモリ１５へ起動プログラムＰＧを保存する（Ｓ９９）。ＣＰＵ４１は、第一メモリ１４に保存された起動プログラムＰＧを第二メモリ１５の空き領域にコピーする。ＣＰＵ４１は、第二メモリ１５への起動プログラムＰＧの書き込みを終了させると、起動プログラムＰＧを第二メモリ１５に保存したことを示すフラグ値ＦＧをフラグメモリ１７に保存する（Ｓ１０１）。ＣＰＵ４１は、図６のＳ８３からの処理を開始する。これにより、ＣＰＵ４１は、第二メモリ１５の起動プログラムＰＧを削除し画像データＤ１等を保存する一方、空き領域の発生に応じて起動プログラムＰＧを再度保存する。
【００８１】
また、Ｓ９７において、ＣＰＵ４１は、第一閾値ＴＨ１に比べて空き領域が小さいと判定したことに応じて（Ｓ９７：ＮＯ）、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する（Ｓ１０３）。ＣＰＵ４１は、フラグ値ＦＧに基づいて第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていると判定したことに応じて（Ｓ１０３：ＮＯ）、Ｓ９７からの処理を再度実行する。
【００８２】
また、Ｓ１０３において、ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていないと判定したことに応じて（Ｓ１０３：ＹＥＳ）、第二メモリ１５に制限機能付きプログラムＭＰＧを書き込むだけの空き領域があるか否かを判定する（Ｓ１０５）。ＣＰＵ４１は、第二閾値ＴＨ２に比べて空き領域が小さいと判定したことに応じて（Ｓ１０５：ＮＯ）、Ｓ９７からの処理を再度実行する。
【００８３】
一方、ＣＰＵ４１は、第二閾値ＴＨ２に比べて空き領域が大きいと判定したことに応じて（Ｓ１０５：ＹＥＳ）、第二メモリ１５へ制限機能付きプログラムＭＰＧを保存する（Ｓ１０７）。ＣＰＵ４１は、第一メモリ１４に保存された制限機能付きプログラムＭＰＧを第二メモリ１５の空き領域にコピーする。ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧを保存（Ｓ１０７）した後、制限機能付きプログラムＭＰＧを第二メモリ１５に保存したことを示すフラグ値ＦＧをフラグメモリ１７に保存する（Ｓ１０９）。ＣＰＵ４１は、フラグ値ＦＧを設定した後（Ｓ１０９）、Ｓ９７からの処理を再度実行する。Ｓ９７からの処理が実行されることで、第二メモリ１５の空き領域に起動プログラムＰＧを保存するまで処理が繰り返される。また、逆に、第二メモリ１５に起動プログラムＰＧを保存できるだけの空き領域が発生せずに電源がＯＦＦされた場合、第二メモリ１５には、起動プログラムＰＧが保存されず、制限機能付きプログラムＭＰＧが保存される。フラグメモリ１７のフラグ値ＦＧには、制限機能付きプログラムＭＰＧを第二メモリ１５に保存したことを示す値が設定される。
【００８４】
（４−２．制限機能付きプログラムＭＰＧで起動した場合）
また、上記した図６のＳ８１において、ＣＰＵ４１は、起動プログラムＰＧによりシステムを起動していないと判定したことに応じて（Ｓ８１：ＮＯ）、第二メモリ１５の制限機能付きプログラムＭＰＧを保存している領域にデータを書き込む必要があるか否かを判定する（図８のＳ１１１）。この場合、システムは、制限機能付きプログラムＭＰＧにより起動したこととなる。また、仮に、第一メモリ１４及び第二メモリ１５に起動プログラムＰＧが保存されていたとしても、その起動プログラムＰＧでは、システムを起動出来なかったこととなる。このため、ＣＰＵ４１は、Ｓ１１１において第二メモリ１５にデータを書き込む場合、第二メモリ１５に保存されたデータのうち、制限機能付きプログラムＭＰＧについてのみ判定する。
【００８５】
ＣＰＵ４１は、第二メモリ１５の制限機能付きプログラムＭＰＧを保存している領域にデータを書き込む必要がないと判定したことに応じて（Ｓ１１１：ＮＯ）、Ｓ１１１の処理を繰り返し実行する。これにより、ＣＰＵ４１は、制限機能付きプログラムＭＰＧにより起動した後の動作時に第二メモリ１５に対してデータを書き込む際に、制限機能付きプログラムＭＰＧの削除の必要性を継続して判定する。
【００８６】
一方、ＣＰＵ４１は、第二メモリ１５の制限機能付きプログラムＭＰＧを保存している領域にデータを書き込む必要があると判定したことに応じて（Ｓ１１１：ＹＥＳ）、第一メモリ１４の制限機能付きプログラムＭＰＧを読み込んでシステムを起動したか否かを判定する（Ｓ１１３）。
【００８７】
ＣＰＵ４１は、第一メモリ１４の制限機能付きプログラムＭＰＧを読み込んでシステムを起動したと判定したことに応じて（Ｓ１１３：ＹＥＳ）、上記したＳ１１１で判定した第二メモリ１５へのデータの書き込みを実行する（Ｓ１１５）。この場合、第一メモリ１４に制限機能付きプログラムＭＰＧが保存され、且つその制限機能付きプログラムＭＰＧによりシステムを起動できるため、第二メモリ１５の制限機能付きプログラムＭＰＧの削除が可能となる。
【００８８】
一方で、ＣＰＵ４１は、第一メモリ１４の制限機能付きプログラムＭＰＧを読み込んでシステムを起動していないと判定したことに応じて（Ｓ１１３：ＮＯ）、第一メモリ１４に保存されたデータのエラーの有無を判定する（Ｓ１１７）。ＣＰＵ４１は、第一メモリ１４に保存されたデータにエラーがあると判定したことに応じて（Ｓ１１７：ＮＯ）、エラーの報知を実行する（Ｓ１１９）。ＣＰＵ４１は、例えば、第一メモリ１４へ必要なデータを書き込めない旨や、第一メモリ１４から制限機能付きプログラムＭＰＧを正常に読み出せない旨などを、ユーザインターフェース２３のタッチパネルに表示させ、図６〜図８に示す処理を終了する。
【００８９】
また、ＣＰＵ４１は、第一メモリ１４に保存されたデータにエラーがないと判定したことに応じて（Ｓ１１７：ＹＥＳ）、ＣＰＵインターフェース４２を制御し、ＣＰＵ４１と第一メモリ１４とを接続する（Ｓ１２１）。これにより、ＣＰＵ４１は、次の起動処理において、リセット状態を解除されると、第一メモリ１４から制限機能付きプログラムＭＰＧを読み出してシステムを起動することとなる。ＣＰＵ４１は、Ｓ１２１を実行した後、第二メモリ１５への書き込みを実行する（Ｓ１１５）。
【００９０】
Ｓ１１５を実行した後、ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧを保存していないことを示すフラグ値ＦＧをフラグメモリ１７に保存する（Ｓ１２３）。Ｓ１２３を実行した後、ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧを書き込むだけの空き領域があるか否かを判定する（Ｓ１２５）。ＣＰＵ４１は、第二閾値ＴＨ２に比べて空き領域が小さいと判定したことに応じて（Ｓ１２５：ＮＯ）、Ｓ１２５の処理を繰り返し実行する。
【００９１】
一方、ＣＰＵ４１は、第二閾値ＴＨ２に比べて空き領域が大きいと判定したことに応じて（Ｓ１２５：ＹＥＳ）、第二メモリ１５へ制限機能付きプログラムＭＰＧを保存する（Ｓ１２７）。ＣＰＵ４１は、第二メモリ１５に制限機能付きプログラムＭＰＧを保存（Ｓ１２７）した後、制限機能付きプログラムＭＰＧを第二メモリ１５に保存したことを示すフラグ値ＦＧをフラグメモリ１７に保存し（Ｓ１２９）、Ｓ１１１からの処理を再度実行する。これにより、ＣＰＵ４１は、第二メモリ１５の制限機能付きプログラムＭＰＧを削除し画像データＤ１等を保存する一方、空き領域の発生に応じて制限機能付きプログラムＭＰＧを再度保存する。
【００９２】
因みに、ＭＦＰ１０は、画像処理装置の一例である。画像形成部１８、画像読取部１９、及び通信部２１は、画像処理部の一例である。ＣＰＵ４１は、プログラム実行部の一例である。ＣＰＵインターフェース４２は、接続切替部の一例である。
【００９３】
（５．効果）
以上、上記した第一実施形態によれば、以下の効果を奏する。
（１）本実施形態のＭＦＰ１０（画像処理装置）は、画像データＤ１を処理する画像処理部（画像形成部１８、画像読取部１９、通信部２１）と、起動プログラムＰＧを保存する第一メモリ１４と、画像データＤ１に関わるデータ（画像データＤ１、関連データＤ２）を保存する第二メモリ１５と、制御装置１１と、を備える。制御装置１１は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定する処理（Ｓ１５）と、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する処理（Ｓ３５）と、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定し（Ｓ１５：ＮＯ）、且つ第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて（Ｓ３５：ＹＥＳ）、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動する処理（Ｓ４１）と、を実行する。
【００９４】
これによれば、第二メモリ１５は、画像処理部（画像形成部１８など）で処理される画像データＤ１に関わるデータ（画像データＤ１や関連データＤ２）を保存するために使用される。また、第二メモリ１５は、画像データＤ１に関わるデータの保存の他に、起動プログラムＰＧの保存に併用される。例えば、第二メモリ１５には、保存するデータのデータ量や、データの保存の要否に応じた大きさの空き領域が確保される。起動プログラムＰＧ又はその一部（制限機能付きプログラムＭＰＧなど）は、この空き領域に保存される。そして、制御装置１１は、第一メモリ１４の起動プログラムＰＧでシステムを起動できず、且つ第二メモリ１５に起動プログラムＰＧが保存されていることに応じて、第二メモリ１５の起動プログラムＰＧでシステムを起動する。これにより、第一メモリ１４の他に、バックアップ用の起動プログラムＰＧを保存する専用のメモリを用意する必要がなく、第二メモリ１５に保存した起動プログラムＰＧによってシステムを起動できる。
【００９５】
（２）また、制御装置１１は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定した（Ｓ１５：ＮＯ）後に、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する処理（Ｓ３５）を実行する。
【００９６】
仮に、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定する（Ｓ１５）前に、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する（Ｓ３５）と、第一メモリ１４の起動プログラムＰＧでシステムを正常に起動できる場合、第二メモリ１５の起動プログラムＰＧの有無を判定する処理（Ｓ３５）が不要な処理になる可能性がある。そこで、当該制御装置１１は、第一メモリ１４の起動プログラムＰＧでシステムを起動できないことが判明した（Ｓ１５：ＮＯ）後に第二メモリ１５の起動プログラムＰＧを確認することで、不要な処理の発生を抑制できる。
【００９７】
（３）また、制御装置１１は、起動プログラムＰＧを実行するプログラム実行部（ＣＰＵ４１）と、第一メモリ１４及び第二メモリ１５と、ＣＰＵ４１との接続を切り替える接続切替部（ＣＰＵインターフェース４２）と、ＣＰＵインターフェース４２による接続の変更を制御する起動コントローラ４５と、を有する。起動コントローラ４５は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定したことに応じて（Ｓ１５：ＮＯ）ＣＰＵインターフェース４２を制御し、ＣＰＵ４１と第二メモリ１５とを接続する（Ｓ３９）。
【００９８】
これによれば、起動コントローラ４５は、第一メモリ１４の起動プログラムＰＧでシステムを起動できないことに応じて、ＣＰＵ４１（プログラム実行部）と第二メモリ１５とを接続する。例えば、起動コントローラ４５は、接続を切り替えた後にＣＰＵ４１による処理を開始させる。これにより、ＣＰＵ４１は、第一及び第二メモリ１４，１５との接続関係を切り替える必要がなくなり、処理の開始に応じて、自身と接続されたメモリから読み込みを開始すれば、起動プログラムＰＧを正常に読み込むことが可能となる。
【００９９】
（４）また、ＭＦＰ１０は、第二メモリ１５に起動プログラムＰＧが保存されているか否かを示すフラグ値ＦＧを保存するフラグメモリ１７を備える。制御装置１１は、システムを起動した後に、第二メモリ１５の起動プログラムＰＧを削除するか否かを判定する処理（Ｓ８３）と、第二メモリ１５の起動プログラムＰＧを削除したことに応じて（Ｓ８７）、起動プログラムＰＧが保存されていないことを示すフラグ値ＦＧをフラグメモリ１７に保存する処理（Ｓ９５）と、を実行する。
【０１００】
これによれば、制御装置１１は、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する処理（Ｓ３５など）を、フラグメモリ１７のフラグ値ＦＧによって判定できる。制御装置１１は、第二メモリ１５から起動プログラムＰＧを読み込まなくとも、フラグ値ＦＧによって保存の有無を判定できる。これにより、第二メモリ１５に起動プログラムＰＧが保存されているか判定する処理の負荷の軽減や、処理速度の高速化を図ることができる。
【０１０１】
（５）また、制御装置１１は、システムを起動した後に、第一メモリ１４から読み込んだ起動プログラムＰＧによってシステムを起動したか否かを判定する処理（Ｓ８５）と、第一メモリ１４から読み込んだ起動プログラムＰＧによってシステムを起動したことに応じて（Ｓ８５：ＹＥＳ）、第二メモリ１５の起動プログラムＰＧの削除を許可する処理（Ｓ８７）と、を実行する。
【０１０２】
これによれば、制御装置１１は、第一メモリ１４の起動プログラムＰＧでシステムを起動したことに応じて、第二メモリ１５の起動プログラムＰＧの削除を許可する。これにより、第一メモリ１４に起動プログラムＰＧが保存され、且つその起動プログラムＰＧで正常に起動できる状態をより確実に確認した上で、第二メモリ１５から起動プログラムＰＧを削除し第二メモリ１５の記憶領域を有効活用できる。
【０１０３】
（６）また、制御装置１１は、第一メモリ１４から読み込んだ起動プログラムＰＧによってシステムを起動していないことに応じて（Ｓ８５：ＮＯ）、第一メモリ１４に起動プログラムＰＧが保存されているか否かを判定する処理（Ｓ８９）と、第一メモリ１４から読み込んだ起動プログラムＰＧによってシステムを起動せず（Ｓ８５：ＮＯ）、且つ第一メモリ１４に起動プログラムＰＧが保存されていることに応じて（Ｓ８９：ＹＥＳ）、第二メモリ１５の起動プログラムＰＧの削除を許可する処理（Ｓ８７）と、を実行する。
【０１０４】
これによれば、例えば、第二メモリ１５の起動プログラムＰＧでシステムを起動した場合であっても、起動後に第一メモリ１４に起動プログラムＰＧが保存されていることを確認できると、第二メモリ１５の起動プログラムＰＧの削除を許可する。これにより、第二メモリ１５から起動プログラムＰＧを削除し第二メモリ１５の記憶領域を有効活用できる。
【０１０５】
（７）また、制御装置１１は、第二メモリ１５に起動プログラムＰＧを保存できる空き領域が存在するか否か判定する処理（Ｓ２１、Ｓ９７など）と、第二メモリ１５に起動プログラムＰＧを保存できる空き領域が存在することに応じて、第一メモリ１４に保存された起動プログラムＰＧを空き領域に保存する処理（Ｓ２３、Ｓ９９など）と、を実行する。
【０１０６】
これによれば、制御装置１１は、システムの起動時（Ｓ２１）や起動後（Ｓ９７）において、第二メモリ１５における空き領域の発生に応じて、第一メモリ１４から第二メモリ１５へ起動プログラムＰＧを保存する。これにより、空き領域の発生に応じて、バックアップ用の起動プログラムＰＧを第二メモリ１５に適宜保存できる。
【０１０７】
（８）また、制御装置１１は、第一メモリ１４に保存された起動プログラムＰＧを空き領域に保存する処理において、空き領域の大きさに応じて、第一メモリ１４に保存された起動プログラムＰＧに比べて機能を制限したプログラムである制限機能付きプログラムＭＰＧを空き領域に保存する（Ｓ３１，Ｓ１０７など）。
【０１０８】
これによれば、制御装置１１は、第二メモリ１５の空き領域の大きさに応じて、起動プログラムＰＧに比べて機能を制限した制限機能付きプログラムＭＰＧを空き領域に保存する。これにより、起動プログラムＰＧで実現される機能のうち、より重要な部分、例えば起動処理に必要な機能や、起動後に必要最低限の機能を実現するプログラムを制限機能付きプログラムＭＰＧとして優先的に第二メモリ１５へ保存しておくことができる。
【０１０９】
（９）また、画像データＤ１は、例えばＦＡＸデータである。ＭＦＰ１０は、ＦＡＸデータを受信する通信部２１を備える。制限機能付きプログラムＭＰＧは、ＦＡＸデータを通信部２１により受信する機能に関わるプログラムである。
【０１１０】
これによれば、ＭＦＰ１０は、ＦＡＸデータを受信するＦＡＸ機能を有する。制御装置１１は、制限機能付きプログラムＭＰＧとして、ＦＡＸ機能に関わるプログラムを第一メモリ１４から第二メモリ１５の空き領域へ保存する。これにより、ＭＦＰ１０は、仮に、次の起動時に制限機能付きプログラムＭＰＧで起動したとしても、ＦＡＸ機能を確保できる。このため、他のＦＡＸ装置からＦＡＸデータを受信でき、受信不良やＦＡＸデータの消失の発生を抑制できる。
【０１１１】
（１０）また、制御装置１１は、起動プログラムＰＧの全体のデータ量に応じた第一閾値ＴＨ１に比べて空き領域が大きいことに応じて、起動プログラムＰＧの全てを空き領域に保存する処理（Ｓ２１、Ｓ２３など）と、第一閾値ＴＨ１に比べて空き領域が小さく、且つ第一閾値ＴＨ１に比べて小さい閾値である第二閾値ＴＨ２に比べて空き領域が大きいことに応じて、制限機能付きプログラムＭＰＧを空き領域に保存する処理（Ｓ２９、Ｓ３１など）と、第二閾値ＴＨ２に比べて空き領域が小さいことに応じて、起動プログラムＰＧ及び制限機能付きプログラムＭＰＧの空き領域への保存を禁止する処理（Ｓ２９：ＮＯ）と、を実行する。
【０１１２】
これによれば、制御装置１１は、空き領域が第一閾値ＴＨ１に比べて大きいことに応じて、即ち、十分な空き領域の発生に応じて、起動プログラムＰＧの全て（フルプログラム）を空き領域に保存する。また、制御装置１１は、空き領域が第一閾値ＴＨ１に比べて小さく且つ空き領域が第二閾値ＴＨ２に比べて大きいことに応じて、制限機能付きプログラムＭＰＧを空き領域に保存する。また、制御装置１１は、空き領域が第二閾値ＴＨ２に比べて小さいことに応じて、起動プログラムＰＧ及び制限機能付きプログラムＭＰＧの空き領域への保存を禁止する。これにより、空き領域の大きさに応じて、起動プログラムＰＧの全体を保存するのか、制限機能付きプログラムＭＰＧを保存するのか、あるいはそもそも保存しないのかを適切に変更できる。
【０１１３】
（１１）また、制御装置１１は、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動するのに応じて、第二メモリ１５に保存された起動プログラムＰＧを第一メモリ１４に保存する処理（Ｓ４３，Ｓ７３）を実行する。
【０１１４】
これによれば、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないことに応じて、第二メモリ１５の起動プログラムＰＧや制限機能付きプログラムＭＰＧで起動し、第二メモリ１５から第一メモリ１４へ起動プログラムＰＧや制限機能付きプログラムＭＰＧを保存する。これにより、例えば、第一メモリ１４の起動プログラムＰＧにデータの不具合が発生した場合に、第一メモリ１４の起動プログラムＰＧを正常なデータに復旧させることが可能となる。
【０１１５】
（１２）また、制御装置１１は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定し（Ｓ１５，Ｓ４５：ＮＯ）、且つ第二メモリ１５に起動プログラムＰＧが保存されていないと判定したことに応じて（Ｓ３５、Ｓ６１：ＮＯ）、その旨を報知する処理（Ｓ６３）を実行する。
【０１１６】
これによれば、制御装置１１は、第一メモリ１４の起動プログラムＰＧや制限機能付きプログラムＭＰＧでシステムを起動できず、第二メモリ１５に起動プログラムＰＧや制限機能付きプログラムＭＰＧが保存されていない場合、その旨をユーザに報知する。例えば、制御装置１１は、音、ランプの点灯、画面表示などによって、その旨をユーザに報知する。これにより、起動プログラムＰＧの復旧などの適切な対応をユーザに促すことができる。
【０１１７】
（１３）また、制御装置１１は、第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて（Ｓ３５、Ｓ６１：ＹＥＳ）、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定する処理（Ｓ３７、Ｓ６５）と、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動できると判定したことに応じて（Ｓ３７、Ｓ６５：ＹＥＳ）、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動する処理（Ｓ４９、Ｓ６９）と、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動できないと判定したことに応じて（Ｓ３７、Ｓ６５：ＮＯ）、その旨を報知する処理（Ｓ６３）と、を実行する。
【０１１８】
これによれば、制御装置１１は、第一メモリ１４の起動プログラムＰＧや制限機能付きプログラムＭＰＧでシステムを起動できない場合、第二メモリ１５の起動プログラムＰＧによる起動を直ぐに実行せず、第二メモリ１５の起動プログラムＰＧにより正常に起動可能か判定する。これにより、第二メモリ１５の起動プログラムＰＧや制限機能付きプログラムＭＰＧにデータの誤りがある場合や、第二メモリ１５から起動プログラムＰＧ等を正常に読み出せない場合など、誤ったデータを読み込んで制御装置１１が想定外の処理を実行することを未然に防ぐことが可能となる。また、制御装置１１は、第二メモリ１５の起動プログラムＰＧによるシステムの起動ができない場合、その旨をユーザに報知する。これにより、起動プログラムＰＧの復旧などの適切な対応をユーザに促すことができる。
【０１１９】
（１４）また、制御装置１１は、複数の処理部（ＣＰＵ４１や起動コントローラ４５など）と、複数の処理部の各々における動作の開始又は停止をリセット信号ＲＳＴにより制御するリセットコントローラ４８と、を有する。複数の処理部は、起動プログラムＰＧを実行するプログラム実行部（ＣＰＵ４１）と、起動プログラムＰＧのデータの誤りを検出する起動コントローラ４５と、を含む。リセットコントローラ４８は、制御装置１１に電力を供給されるのに応じてプログラム実行部（ＣＰＵ４１）を除く複数の処理部の動作をリセット信号ＲＳＴにより開始させ、起動コントローラ４５の動作を開始させる一方で、ＣＰＵ４１の動作を停止した状態を継続する処理（Ｓ１３）を実行する。起動コントローラ４５は、第一メモリ１４に保存された起動プログラムＰＧのデータの誤りの有無に応じて、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定する処理（Ｓ１５）と、起動プログラムＰＧにデータの誤りがなく、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できると判定したことに応じて（Ｓ１５：ＹＥＳ）、リセットコントローラ４８を制御しＣＰＵ４１の動作をリセット信号ＲＳＴにより開始させる処理（Ｓ１７）と、を実行する。
【０１２０】
これによれば、リセットコントローラ４８は、制御装置１１に電力を供給されるのに応じて、起動コントローラ４５を含む処理部を動作させる一方で、ＣＰＵ４１（プログラム実行部）の動作を停止した状態を維持する。従って、電力の供給を開始した初期段階では、ＣＰＵ４１は、停止状態となり、処理を開始しない。起動コントローラ４５は、起動プログラムＰＧのデータの誤りを検出することで、第一メモリ１４の起動プログラムＰＧによるシステムの起動が可能か否かを判定する。そして、起動コントローラ４５は、第一メモリ１４の起動プログラムＰＧによるシステムの起動が可能であると判定すると、ＣＰＵ４１の動作を開始させる。これにより、第一メモリ１４の起動プログラムＰＧによるシステムの起動が可能か否かを判定する前に、ＣＰＵ４１によって起動プログラムＰＧを実行される事態の発生を抑制できる。その結果、誤ったデータを読み込んでＣＰＵ４１が想定外の処理を実行することを未然に防ぐことが可能となる。
【０１２１】
（６．第二実施形態）
次に、第二実施形態の起動処理について図９〜図１２を参照しつつ説明する。上記した第一実施形態の起動処理（図３〜図５）では、第一メモリ１４や第二メモリに保存されたデータの有無やエラーに基づいて、起動プログラムＰＧや制限機能付きプログラムＭＰＧによってシステムを起動できるか否かを判定した。これに対し、第二実施形態では、ＣＰＵ４１による起動プログラムＰＧ等の実行を試み、その処理によって発生する割り込み処理の内容に基づいて、起動プログラムＰＧ等によってシステムを起動できるか否かを判定する。尚、以下の説明では、上記した第一実施形態の起動処理と同様の内容の処理については、同一符号を付し、その説明を適宜省略する。
【０１２２】
まず、図９のＳ１１において、電源２２は、バス２５に接続された各部へ電力の供給を開始する。制御装置１１は、電源２２から電力を供給されるのに応じて、リセットコントローラ４８の動作を開始させる。リセットコントローラ４８は、動作を開始した後、ＣＰＵ４１及び起動コントローラ４５（図２参照）を含む全ての処理部のリセット状態を解除する（Ｓ１３１）。第一実施形態ではＣＰＵ４１以外のリセットを解除したが、第二実施形態では、全ての処理部のリセットを解除する。
【０１２３】
次に、ＣＰＵ４１は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムの起動を試みる。また、起動コントローラ４５は、ＣＰＵ４１の処理において発生した割り込み処理の内容を判定する（Ｓ１３２）。起動コントローラ４５は、起動プログラムＰＧのデータの誤りに起因した割り込みが発生しているか否かを判定する。具体的には、例えば、起動プログラムＰＧのデータに誤りがある場合、又は第一メモリ１４の故障により第一メモリ１４から起動プログラムＰＧを正常に読み出せない場合、ＣＰＵ４１は、誤ったデータの起動プログラムＰＧを読み込み実行することとなる。この場合、正常な処理では想定していない動作、例えば、処理データをＲＡＭ１６に保存する際に指定できないアドレス値（異常に大きいアドレス値など）を指定する動作が起こり得る。このような動作によって正常動作では発生しない割り込み処理がＣＰＵ４１の処理で発生する。そこで、第二実施形態の起動コントローラ４５は、ＣＰＵ４１の処理において発生した割り込み処理の内容に基づいて、起動プログラムＰＧのデータにエラーが発生しているか否か、即ち、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定する（Ｓ１３２）。尚、割り込み処理の内容の判定は、ＣＰＵ４１によって実行しても良い。
【０１２４】
起動コントローラ４５は、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生していない、即ち、このまま実行を継続すれば第一メモリ１４から読み込んだ起動プログラムＰＧでシステムを起動できると判定したことに応じて（Ｓ１３２：ＹＥＳ）、システムの起動が完了したか否かを判定する（Ｓ１３５）。起動コントローラ４５は、システムの起動が完了していないことに応じて（Ｓ１３５：ＮＯ）、Ｓ１３２の処理を繰り返し実行する。これにより、起動コントローラ４５は、起動プログラムＰＧを実行中のＣＰＵ４１で発生する割り込み処理の内容を判定することとなる。
【０１２５】
システムの起動が完了したことに応じて（Ｓ１３５：ＹＥＳ）、起動コントローラ４５は、起動処理を終了する。また、ＣＰＵ４１は、図９に示すＳ１９以降の処理を実行する。Ｓ１９以降の処理は、上記した第一実施形態の図３のＳ１９以降の処理と同様であるため、その説明を省略する。
【０１２６】
（６−１．第二メモリ１５の起動プログラムＰＧで起動する場合）
一方、Ｓ１３２において、起動コントローラ４５は、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生している、即ち、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定したことに応じて（Ｓ１３２：ＮＯ）、リセットコントローラ４８を制御する（Ｓ１３７）。起動コントローラ４５は、リセットコントローラ４８を制御し、当該起動コントローラ４５を除く制御装置１１の処理部（ＣＰＵ４１など）の動作をリセット信号ＲＳＴによりリセットさせる（停止させる）（Ｓ１３７）。各処理部をリセットし初期化することで、データに誤りのある起動プログラムＰＧをＣＰＵ４１で実行したことで各処理部に発生したエラーを解除する。
【０１２７】
次に、起動コントローラ４５は、リセットコントローラ４８を制御し、ＣＰＵ４１を除く制御装置１１の処理部（バス調停部４４など）の動作を開始させる（Ｓ１３９）。起動コントローラ４５は、フラグメモリ１７のフラグ値ＦＧに基づいて、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する（Ｓ１４１）。
【０１２８】
起動コントローラ４５は、第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて（Ｓ１４１：ＹＥＳ）、ＣＰＵインターフェース４２を制御し、ＣＰＵ４１と第二メモリ１５とを接続する（Ｓ１４３）。これにより、ＣＰＵ４１は、動作開始時に第二メモリ１５から起動プログラムＰＧを読み出す。
【０１２９】
Ｓ１４３を実行した後、起動コントローラ４５は、リセットコントローラ４８を制御し、ＣＰＵ４１のリセット状態を解除する（Ｓ１４５）。ＣＰＵ４１は、第二メモリ１５から起動プログラムＰＧを読み込んでシステムの起動を試みる。また、起動コントローラ４５は、上記したＳ１３２と同様に、ＣＰＵ４１の処理において発生した割り込み処理の内容に基づいて、第二メモリ１５から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定する（Ｓ１４７）。
【０１３０】
起動コントローラ４５は、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生していないと判定したことに応じて（Ｓ１４７：ＹＥＳ）、システムの起動が完了したか否かを判定する（Ｓ１４９）。起動コントローラ４５は、システムの起動が完了していないことに応じて（Ｓ１４９：ＮＯ）、Ｓ１４７の処理を繰り返し実行する。また、システムの起動が完了したことに応じて（Ｓ１４９：ＹＥＳ）、起動コントローラ４５は、起動処理を終了する。また、ＣＰＵ４１は、システムの起動を完了させるとともに、第二メモリ１５の起動プログラムＰＧを第一メモリ１４へコピーし（Ｓ１５１）、図９〜図１２に示す起動処理を終了する。
【０１３１】
一方、Ｓ１４７において、起動コントローラ４５は、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生したと判定したことに応じて（Ｓ１４７：ＮＯ）、Ｓ１３７と同様に、リセットコントローラ４８を制御し、当該起動コントローラ４５を除く制御装置１１の処理部の動作を停止させる（Ｓ１５３）。次に、起動コントローラ４５は、リセットコントローラ４８を制御し、ＣＰＵ４１を除く制御装置１１の処理部の動作を開始させる（Ｓ１５５）。
【０１３２】
（６−２．第一メモリ１４の制限機能付きプログラムＭＰＧで起動する場合）
また、第二メモリ１５に起動プログラムＰＧが保存されていない（Ｓ１４１：ＮＯ）、又はＳ１５５を実行した場合、即ち、第二メモリ１５の起動プログラムＰＧで起動できない場合、起動コントローラ４５は、フラグメモリ１７のフラグ値ＦＧに基づいて、第一メモリ１４に制限機能付きプログラムＭＰＧが保存されているか否かを判定する（図１１のＳ１５７）。
【０１３３】
第一メモリ１４に制限機能付きプログラムＭＰＧが保存されている場合（Ｓ１５７：ＹＥＳ）、起動コントローラ４５は、ＣＰＵ４１のリセット状態を解除する（Ｓ１５９）。ＣＰＵ４１は、第一メモリ１４から制限機能付きプログラムＭＰＧを読み込んでシステムの起動を試みる。また、起動コントローラ４５は、ＣＰＵ４１の割り込み処理の内容に基づいて、第一メモリ１４から制限機能付きプログラムＭＰＧを読み込んでシステムを起動できるか否かを判定する（Ｓ１６１）。起動コントローラ４５は、データ誤りに起因した割り込み処理が発生していないと判定したことに応じて（Ｓ１６１：ＹＥＳ）、システムの起動が完了したか否かを判定する（Ｓ１６３）。起動コントローラ４５は、システムの起動が完了していないことに応じて（Ｓ１６３：ＮＯ）、Ｓ１６１の処理を繰り返し実行する。
【０１３４】
また、システムの起動が完了したことに応じて（Ｓ１６３：ＹＥＳ）、起動コントローラ４５は、起動処理を終了する。また、ＣＰＵ４１は、図１１に示すＳ５１以降の処理を実行する。Ｓ５１以降の処理は、第一実施形態の図４のＳ５１以降の処理と同様であるため、その説明を省略する。
【０１３５】
一方、Ｓ１６１において、起動コントローラ４５は、制限機能付きプログラムＭＰＧのデータの誤りに起因した割り込み処理が発生したと判定したことに応じて（Ｓ１６１：ＮＯ）、当該起動コントローラ４５を除く制御装置１１の処理部の動作を停止させる（Ｓ１６５）。次に、起動コントローラ４５は、ＣＰＵ４１を除く制御装置１１の処理部の動作を開始させる（Ｓ１６７）。
【０１３６】
（６−３．第二メモリ１５の制限機能付きプログラムＭＰＧで起動する場合）
また、第一メモリ１４に制限機能付きプログラムＭＰＧが保存されていない（Ｓ１５７：ＮＯ）、又はＳ１６７を実行した場合、即ち、第一メモリ１４の制限機能付きプログラムＭＰＧで起動できない場合、起動コントローラ４５は、フラグメモリ１７のフラグ値ＦＧに基づいて、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されているか否かを判定する（図１２のＳ１６９）。
【０１３７】
起動コントローラ４５は、フラグメモリ１７のフラグ値ＦＧに基づいて、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていないと判定したことに応じて（Ｓ１６９：ＮＯ）、エラーを報知し（Ｓ６３）、図９〜図１２に示す起動処理を終了する。
【０１３８】
一方、起動コントローラ４５は、第二メモリ１５に制限機能付きプログラムＭＰＧが保存されていると判定したことに応じて（Ｓ１６９：ＹＥＳ）、ＣＰＵインターフェース４２を制御し、ＣＰＵ４１と第二メモリ１５とを接続する（Ｓ１７１）。起動コントローラ４５は、ＣＰＵ４１のリセット状態を解除する（Ｓ１７３）。ＣＰＵ４１は、第二メモリ１５から制限機能付きプログラムＭＰＧを読み込んでシステムの起動を試みる。また、起動コントローラ４５は、ＣＰＵ４１の割り込み処理の内容に基づいて、第二メモリ１５から制限機能付きプログラムＭＰＧを読み込んでシステムを起動できるか否かを判定する（Ｓ１７５）。
【０１３９】
起動コントローラ４５は、データの誤りに起因した割り込み処理が発生していないと判定したことに応じて（Ｓ１７５：ＹＥＳ）、システムの起動が完了したか否かを判定する（Ｓ１７９）。起動コントローラ４５は、システムの起動が完了していないことに応じて（Ｓ１７９：ＮＯ）、Ｓ１７５の処理を繰り返し実行する。また、起動コントローラ４５は、システムの起動が完了したことに応じて（Ｓ１７９：ＹＥＳ）、図１２に示すＳ７１以降の処理を実行する。Ｓ７１以降の処理は、第一実施形態の図５のＳ７１以降の処理と同様であるため、その説明を省略する。
【０１４０】
また、起動コントローラ４５は、Ｓ１７５において、制限機能付きプログラムＭＰＧのデータの誤りに起因した割り込み処理が発生したと判定したことに応じて（Ｓ１７５：ＮＯ）、エラーを報知し（Ｓ６３）、図９〜図１２に示す起動処理を終了する。このようにして、第二実施形態の制御装置１１は、ＣＰＵ４１の割り込み処理の内容に基づいて、実行するプログラムやメモリを変更してシステムの起動を試みる。
【０１４１】
（７．効果）
以上、上記した第二実施形態によれば、以下の効果を奏する。
本実施形態の制御装置１１は、複数の処理部（ＣＰＵ４１や起動コントローラ４５など）と、複数の処理部の各々における動作の開始又は停止をリセット信号ＲＳＴにより制御するリセットコントローラ４８と、を有する（図２参照）。複数の処理部は、起動プログラムＰＧを実行するプログラム実行部（ＣＰＵ４１）と、ＣＰＵ４１の処理において発生した割り込み処理の内容を判定する起動コントローラ４５と、を含む。リセットコントローラ４８は、制御装置１１に電力を供給されるのに応じて複数の処理部の動作をリセット信号ＲＳＴにより開始させ、ＣＰＵ４１及び起動コントローラ４５の動作を開始させる処理（Ｓ１３１）を実行する。起動コントローラ４５は、動作を開始したＣＰＵ４１が、第一メモリ１４から起動プログラムＰＧを読み込んで実行した際に、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生しているか否かを判定する処理（Ｓ１３２、Ｓ１６１）と、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生したと判定したことに応じて（Ｓ１３２、Ｓ１６１：ＮＯ）、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定し、リセットコントローラ４８を制御し当該起動コントローラ４５を除く複数の処理部の動作をリセット信号ＲＳＴにより停止させる処理（Ｓ１３７、Ｓ１６５）と、リセットコントローラ４８を制御しＣＰＵ４１を除く複数の処理部の動作をリセット信号ＲＳＴにより開始させる処理（Ｓ１３９、Ｓ１６７）と、第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて（Ｓ１４１、Ｓ１６９：ＹＥＳ）、リセットコントローラ４８を制御しＣＰＵ４１の動作をリセット信号ＲＳＴにより開始させる処理（Ｓ１４５、Ｓ１７３）と、を実行する。
【０１４２】
これによれば、リセットコントローラ４８は、制御装置１１に電力を供給されるのに応じて、ＣＰＵ４１（プログラム実行部）及び起動コントローラ４５を含む処理部を動作させる。起動コントローラ４５は、ＣＰＵ４１における起動プログラムＰＧの実行において、起動プログラムＰＧのデータの誤りに起因した割り込み処理が発生しているか否かを判定する。これにより、起動コントローラ４５は、ＣＰＵ４１に起動プログラムＰＧを実行させてみて、想定外の割り込み処理が発生しているか否かによって、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できるか否かを判定できる。また、起動プログラムＰＧを実行しながらシステムの起動の可否を判定するため、第一メモリ１４の起動プログラムＰＧを読み出してエラーをチェックしてから起動する場合に比べて、システムを迅速に起動することができる。従って、起動時間の短縮を図ることが可能となる。
【０１４３】
さらに、起動コントローラ４５は、第一メモリ１４の起動プログラムＰＧによるシステムの起動ができないと判定すると、自身（起動コントローラ４５）以外の複数の処理部の動作を停止する。制御装置１１は、起動コントローラ４５以外の処理部を停止する。また、想定外の処理を実行していた複数の処理部は、初期化される。起動コントローラ４５は、ＣＰＵ４１を除く複数の処理部の動作を開始させる。そして、起動コントローラ４５は、第二メモリ１５に起動プログラムＰＧが保存されていると判定したことに応じて、ＣＰＵ４１の動作を開始させる。これにより、第二メモリ１５に起動プログラムＰＧが保存されていることを確認する前に、ＣＰＵ４１が、第二メモリ１５から起動プログラムＰＧを読み込んで実行するのを抑制できる。その結果、誤ったデータを読み込んでＣＰＵ４１が想定外の処理を実行することを未然に防ぐことが可能となる。
【０１４４】
（８．変形例）
尚、本願は上記各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、上記第一実施形態では、制御装置１１は、第一メモリ１４から起動プログラムＰＧを読み込んでシステムを起動できないと判定した（Ｓ１５：ＮＯ）後に、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する処理（Ｓ３５）を実行した。しかしながら、制御装置１１は、Ｓ３５をＳ１５の判定に先立って実行してもよい。
また、起動コントローラ４５が、ＣＰＵ４１と第一及び第二メモリ１４，１５との接続を切り替える制御を実行したが、これに限らない。例えば、ＣＰＵ４１が、動作を開始した後に、自身で接続を切り替えても良い。
【０１４５】
また、起動コントローラ４５は、第二メモリ１５に起動プログラムＰＧが保存されているか否かを判定する処理（Ｓ３５など）を、フラグメモリ１７のフラグ値ＦＧに基づいて判定したが、これに限らない。例えば、起動コントローラ４５は、第二メモリ１５内のデータを読み込んで、起動プログラムＰＧの保存の有無を判定しても良い。
また、ＣＰＵ４１は、第一メモリ１４から読み込んだ起動プログラムＰＧによってシステムを起動した（Ｓ８５：ＹＥＳ）ことに応じて、第二メモリ１５の起動プログラムＰＧの削除を許可する処理（Ｓ８７）を実行したが、これに限らない。ＣＰＵ４１は、第一メモリ１４の起動プログラムＰＧによってシステムを起動したか否かを判定せずに、第二メモリ１５の起動プログラムＰＧを削除しても良い。
また、ＣＰＵ４１は、第一メモリ１４から読み込んだ起動プログラムＰＧによってシステムを起動せず（Ｓ８５：ＮＯ）、且つ第一メモリ１４に起動プログラムＰＧが保存されている（Ｓ８９：ＹＥＳ）ことに応じて、第二メモリ１５の起動プログラムＰＧの削除を許可する処理（Ｓ８７）を実行したが、これに限らない。例えば、ＣＰＵ４１は、第一メモリ１４に起動プログラムＰＧが保存されているか否かを判定せずに、第二メモリ１５の起動プログラムＰＧを削除しても良い。
【０１４６】
また、ＣＰＵ４１は、第二メモリ１５に起動プログラムＰＧを保存できる空き領域が存在することに応じて（Ｓ２１、Ｓ９７など）、第一メモリ１４に保存された起動プログラムＰＧを空き領域に保存する処理（Ｓ２３、Ｓ９９など）を実行したが、これに限らない。例えば、ＣＰＵ４１は、所定時間毎や、ＭＦＰ１０の所定の動作タイミングに合わせて空き容量を判定し、第一メモリ１４に保存された起動プログラムＰＧを空き領域に保存しても良い。
また、ＣＰＵ４１は、第二メモリ１５の空き領域の大きさに応じて、起動プログラムＰＧに比べて機能を制限した制限機能付きプログラムＭＰＧを空き領域に保存した（Ｓ３１，Ｓ１０７など）が、これに限らない。ＣＰＵ４１は、制限機能付きプログラムＭＰＧの保存を実行しなくとも良い。この場合、ＣＰＵ４１は、制限機能付きプログラムＭＰＧを用いた処理を実行せず、第二メモリ１５への起動プログラムＰＧの保存の可能性のみを判定する構成でも良い。
【０１４７】
また、ＣＰＵ４１は、第二メモリ１５の空き容量の大きさを、第一閾値ＴＨ１及び第二閾値ＴＨ２を用いて判定（Ｓ２１、Ｓ２９など）したが、これに限らない。例えば、ＣＰＵ４１は、起動プログラムＰＧや制限機能付きプログラムＭＰＧのデータ量と、空き容量とを直接比較しても良い。
また、ＣＰＵ４１は、第二メモリ１５の空き容量の大きさに応じて、制限機能付きプログラムＭＰＧの大きさを変更し空き容量に保存しても良い。
また、ＣＰＵ４１は、第二メモリ１５から起動プログラムＰＧや制限機能付きプログラムＭＰＧを読み込んでシステムを起動するのに応じて、第二メモリ１５の起動プログラムＰＧ等を第一メモリ１４に保存したが（Ｓ４３，Ｓ７３）、保存しなくとも良い。
また、ＣＰＵ４１は、第一メモリ１４及び第二メモリ１５の起動プログラムＰＧでシステムを起動できない場合、その旨を報知する処理（Ｓ６３）を実行したが、報知処理を実行しなくとも良い。
【０１４８】
また、上記各実施形態において、特に言及していないが、制御装置１１を、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアで構成してもよい。また、本願の制御装置は、ハードウェアに限らず、ソフトウェアによる処理で構成しても良い。また、制御装置は、例えばソフトウェアによる処理と、ハードウェアによる処理とを併用して動作する構成でもよい。
また、上記各実施形態では、本願の画像処理装置として複合機であるＭＦＰ１０を採用したが、これに限らない。本願の画像処理装置は、プリンタ装置、コピー装置、ファックス装置、スキャナ装置でもよい。
【符号の説明】
【０１４９】
１０  ＭＦＰ（画像処理装置）、１１  制御装置、１４  第一メモリ、１５  第二メモリ、１７  フラグメモリ、１８  画像形成部（画像処理部）、１９  画像読取部（画像処理部）、２１  通信部（画像処理部）、４１  ＣＰＵ（プログラム実行部）、４２  ＣＰＵインターフェース（接続切替部）、４５  起動コントローラ、４８  リセットコントローラ、Ｄ１  画像データ、Ｄ２  関連データ、ＦＧ  フラグ値、ＲＳＴ  リセット信号、ＰＧ  起動プログラム、ＭＰＧ  制限機能付きプログラム、ＴＨ１  第一閾値、ＴＨ２  第二閾値。
【図１】
2019029809.tif 000003
【図２】
2019029809.tif 000004
【図３】
2019029809.tif 000005
【図４】
2019029809.tif 000006
【図５】
2019029809.tif 000007
【図６】
2019029809.tif 000008
【図７】
2019029809.tif 000009
【図８】
2019029809.tif 000010
【図９】
2019029809.tif 000011
【図１０】
2019029809.tif 000012
【図１１】
2019029809.tif 000013
【図１２】
2019029809.tif 000014