複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、前記記憶手段に格納されている制御プログラムを更新する更新手段と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する制御手段と、を備えることを特徴とする画像形成装置。複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、前記記憶手段に格納されている制御プログラムを更新する更新手段と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御手段と、を備えることを特徴とする画像形成装置。前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない代替機能によるモードに変更して画像形成ジョブを実行するか、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する画像形成ジョブの実行を中止するか、を選択する手段をユーザに提示することを特徴とする請求項2に記載の画像形成装置。前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持手段を備え、前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間において、前記保持手段に保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を有効化することを特徴とする請求項1に記載の画像形成装置。前記更新対象の制御プログラムの更新の残量を示す更新残量情報を保持する保持手段を備え、前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間において、前記保持手段に保持された前記更新対象の制御プログラムの更新の残量を示す更新残量情報が設定値未満である場合は、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を代替機能として用いないことを特徴とする請求項2に記載の画像形成装置。前記制御手段は、前記更新手段が更新対象の制御プログラムの更新を行っている間であって、前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない代替機能による動作モードに変更して画像形成ジョブを実行している間に、前記更新対象の制御プログラムの更新が完了した場合は、前記画像形成ジョブの動作モードを前記代替機能による動作モードへの変更前の動作モードに戻すことを特徴とする請求項2に記載の画像形成装置。前記画像形成ジョブで使用する機能には、前記画像形成装置が備える複数の給紙部のうちどの給紙部から用紙を給紙するかを指定する機能、用紙の片面と両面のうちどの面に画像形成を行うかを指定する機能、前記画像形成装置が備える複数の排紙部のうちどの排紙部に画像形成が完了した用紙を排紙するかを指定する機能、が含まれることを特徴とする請求項1又は2に記載の画像形成装置。複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置の制御方法であって、前記記憶手段に格納されている制御プログラムを更新する更新工程と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択工程と、前記更新工程により更新対象の制御プログラムの更新を行っている間は、前記選択工程により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する制御工程と、を有することを特徴とする制御方法。複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置の制御方法であって、前記記憶手段に格納されている制御プログラムを更新する更新工程と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択工程と、前記更新工程により更新対象の制御プログラムの更新を行っている間は、前記選択工程により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御工程と、を有することを特徴とする制御方法。請求項8又は9に記載の画像形成装置の制御方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラムコードを有するプログラム。近年、画像形成装置はオフィスでのセンタープリンタとして使用されるといった需要が増加しているため、画像形成装置の機能には、よりダウンタイムを少なくすることが求められている。特に、画像形成装置のファームウェアの更新中において、画像形成装置のプリント機能がまったく使用できなくなってしまうという従来技術の課題の解決が要望されている。上記の従来技術先行技術においては、画像形成装置の電源のOFF/ONを行わずにファームウェアの更新をすることは可能であった。しかし、すでにファームウェアのバージョンアップを開始してから画像形成装置へ投入されるプリントジョブに対しては言及されていない。例えば、画像形成装置に接続された後処理装置フィニッシャのファームウェアを更新する場合に、先行技術に挙げられた方法では、システムの動作は継続しているがプリントジョブを受け入れる手段は確立していない。そのため、ユーザの利便性は充分には改善されない場合がある。画像形成装置にプリントジョブを投入する場合、ユーザはファームウェアの更新が行われていない状態であることを確認した上で画像形成装置にプリントジョブの投入を行う必要がある。そのため、ファームウェア更新対象のモジュールの内容や種類に関わらず、ファームウェアの更新終了まで画像形成装置へのプリントジョブの投入を待たなければならないという課題があった。本発明の目的は、制御プログラムの更新中でも画像形成動作を行うことを可能とした画像形成装置、制御方法、及びプログラムを提供することにある。上記目的を達成するために、本発明は、複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、前記記憶手段に格納されている制御プログラムを更新する更新手段と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する制御手段と、を備えることを特徴とする。上記目的を達成するために、本発明は、複数のマイクロプロセッサと、前記複数のマイクロプロセッサの各々に対応して設けられた制御プログラムを格納する複数の記憶手段とを備えた画像形成装置であって、前記記憶手段に格納されている制御プログラムを更新する更新手段と、前記画像形成装置に実行させる画像形成ジョブで使用する機能の選択を可能とする選択手段と、前記更新手段が更新対象の制御プログラムの更新を行っている間は、前記選択手段により選択が可能な機能のうち前記更新対象の制御プログラムに対応したマイクロプロセッサを使用しない機能を選択し、該選択した機能を代替機能としてユーザに提示する制御手段と、を備えることを特徴とする。本発明によれば、画像形成装置で更新対象の制御プログラムの更新を行っている間は、画像形成ジョブで使用する選択可能な機能のうち更新対象の制御プログラムに対応したマイクロプロセッサを使用する機能を無効化する。これにより、画像形成装置で制御プログラムの更新中でも画像形成ジョブの開始や画像形成ジョブの実行の継続が可能となり、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。以下、本発明の実施の形態について図面を参照しながら説明する。第1の実施の形態<画像形成装置の全体構成>図1は、本発明の第1の実施の形態に係る画像形成装置の内部構成を示す構成図である。図1において、画像形成装置は、画像読取部141、画像形成装置本体、フィニッシャ160を備えた複合機として構成されている。画像読取部141は、原稿台142、光学ユニット143、撮像部144等を備えている。画像形成装置本体は、イエローY、マゼンダM、シアンC、ブラックKに各々対応したプロセスユニット101y、101m、101c、101k等を有する画像形成部を備えている。フィニッシャ160は、画像形成が完了した用紙に後処理ソート、ステイプル等を行う。プロセスユニット101kは、感光ドラム102k、帯電ローラ103k、現像器105k、補助帯電ブラシ109kを備えている。図1ではプロセスユニット101kが備える感光ドラム、帯電ローラ、現像器、補助帯電ブラシのみ符号を付記し、プロセスユニット101y、101m、101cが備える感光ドラム、帯電ローラ、現像器、補助帯電ブラシの符号は省略する。以下ではプロセスユニット101kを例にとって説明し、プロセスユニット101y、101m、101cについては同様であるため説明を省略する。感光ドラム102kは、プロセスユニット101kの中央部に収められており、ドラムモータ不図示により回転駆動される。帯電ローラ103kは、感光ドラム102kに高圧を印加して感光ドラム102kの表面を一様に帯電する。レーザスキャナユニット104kは、レーザダイオードから変調出力されたレーザをポリゴンミラー回転体を介して長手方向に走査するものであり、一様に帯電された感光ドラム102k上に入力画像情報に従ってレーザ露光を行い、静電潜像を形成する。現像器105kは、トナーとキャリアからなる二成分現像剤により、静電潜像に応じた可視トナー像を感光ドラム102k上に形成する。トナーボトル106kは、現像器105kに対してトナーを供給する。一次転写ローラ107kは、感光ドラム102kに対向配置されており、Y、M、C、Kの各色を逐次重ね合わせるために無端ベルト状部材である中間転写体108に対して感光ドラム102kからトナー像を一次転写する。補助帯電ブラシ109kは、一次転写ローラ107kで転写しきれなかった転写残トナーが一様な電荷を持つよう帯電する。プロセスユニット101y、101m、101cに対しても、それぞれ、レーザスキャナユニット104y、104m、104c、トナーボトル106y、106m、106cが設置されている。また、プロセスユニット101y、101m、101cの感光ドラムに対しても、それぞれ、一次転写ローラ107y、107m、107cが対向配置されている。これ以降、感光ドラム102、帯電ローラ103、現像器105、補助帯電ブラシ109と記載した場合、Y、M、C、Kの各色を含むものとする。中間転写体108に一次転写されたトナー像は、二次転写ローラ110により用紙に二次転写される。二次転写ローラ110で転写しきれなかった残トナーや、用紙に転写することを意図しない調整用のトナーは、中間転写体クリーナ111により回収される。パターン濃度検知センサ112は、中間転写体上に作像されたパターンの濃淡変化を検知する。給紙カセット113給紙部に収納された用紙は、給紙ローラ114により給紙され、レジストローラ115により斜行を補正された後、二次転写ローラ110に送られる。用紙は、一面目に二次転写ローラ110でトナー像が転写された後、定着ローラ117及び加圧ローラ118によりトナーが熱定着される。その後、用紙は、排紙フラッパ119により排紙パス120を経由して排紙トレイ121排紙部に排紙されるか、両面反転駆動ローラ122に送られる。両面反転駆動ローラ122に送られた用紙は、両面反転駆動ローラ122の逆転と両面反転フラッパ123の回動により両面再給紙駆動ローラ124に送られ、二面目に再度画像形成が行われた後、排紙トレイ121に排紙される。用紙は、第二増設給紙カセット125給紙部、第三増設給紙カセット126給紙部にも収納されており、増設カセット第2給紙ローラ127、増設カセット第3給紙ローラ128からも給紙を行うことができる。<画像形成装置の制御系の構成>図2は、画像形成装置のメインCPUと分散モジュールコントローラの構成を示すブロック図である。図2において、メインCPU201は、図1に示した画像形成装置各部の制御を行う。フラッシュROM202は、メインCPU201が動作するためのプログラムを格納している。SRAM203は、メインCPU201が一時的にデータを記憶しておくために使用される。バックアップRAM204は、画像形成装置の動作上で設定された情報を電源切断時も記録しておくことを可能にするメモリであり、バックアップバッテリ不図示により電源供給されている。モータドライバ205は、給紙ローラ114、レジストローラ115等の回転を制御する。SCI206は、メインCPU201のシリアルインターフェイスであり、8チャンネルの信号線によりメインCPU201に接続されたインターフェイス、ドライバ、各種の分散モジュールコントローラ等と通信を行う。メインCPU201は、SCI206の各チャンネルを介して二本の信号線により全二重通信を行い、インターフェイス、ドライバ、各種の分散モジュールコントローラを制御する。ネットワークインターフェイスI/F207は、入力画像信号を供給するシステムコントローラと接続するためのインターフェイスである。レーザドライバ208は、レーザスキャナユニット104y、104m、104c、104kを制御する。YMCドラムモータ/高圧コントローラ209は、プロセスユニット101y、101m、101cに含まれる感光ドラム駆動モータの制御、帯電現像一次転写の高圧制御を行う。Bkドラム/ITBモータ二次転写高圧コントローラ210は、プロセスユニット101kに含まれる感光ドラム駆動モータの制御、帯電現像一次転写の高圧制御、中間転写体108の駆動モータの制御、二次転写ローラ110の二次転写高圧制御を行う。両面/反転ユニットコントローラ211は、両面反転駆動ローラ122、両面再給紙駆動ローラ124の回転、両面反転フラッパ123の回動を制御する。オプションカセットコントローラ212は、第二増設給紙カセット125の増設カセット第2給紙ローラ127、第三増設給紙カセット126の増設カセット第3給紙ローラ128の回転を制御する。バッファパス/フィニッシャコントローラ213は、バッファパスユニット150とフィニッシャ160を制御するものであり、バッファパス搬送ローラ151の回転、フィニッシャ上トレイ161、フィニッシャ下トレイ162排紙部の昇降を制御する。図3は、画像形成装置のメインCPUと分散モジュールコントローラの詳細構成を示すブロック図である。図3において、図2に示したメインCPU201と複数の分散モジュールコントローラYMCドラムモータ/高圧コントローラ209~バッファパス/フィニッシャコントローラ213とが、シリアル信号線により接続されている。図3では、メインCPU201と複数の分散モジュールコントローラがそれぞれ搭載されているボードをブロックで図示すると共に、ボード名を記載している。複数の分散モジュールコントローラは、サブCPUマイクロプロセッサと、各々の制御プログラムを格納するフラッシュROM記憶手段を備えている。以下、詳細構成を説明する。YMCドラムモータ/高圧コントローラ209は、制御を行うサブCPU301、サブCPU301を制御する制御プログラムを格納したフラッシュROM302、サブCPU301が動作する作業領域であるSRAM303から構成される。サブCPU301は、YMCドラムモータ304、YMC高圧ユニット305を制御する。ボード名はYMCドラムドライバボードである。Bkドラム/ITBモータ二次転写高圧コントローラ210は、制御を行うサブCPU311、サブCPU311を制御する制御プログラムを格納したフラッシュROM312、サブCPU311が動作する作業領域であるSRAM313から構成される。サブCPU311は、BkドラムITBモータ314、Bk高圧ユニット315、二次転写高圧ユニット316を制御する。ボード名はBk-ITBドラムドライバボードである。両面/反転ユニットコントローラ211は、制御を行うサブCPU321、サブCPU321を制御する制御プログラムを格納したフラッシュROM322、サブCPU321が動作する作業領域であるSRAM323から構成される。サブCPU321は、両面反転モータ324、両面再給紙モータ325を制御する。ボード名は両面反転モータドライバボードである。オプションカセットコントローラ212は、制御を行うサブCPU331、サブCPU331を制御する制御プログラムを格納したフラッシュROM332、サブCPU331が動作する作業領域であるSRAM333から構成される。サブCPU331は、増設第2カセット給紙モータ334、増設第3カセット給紙モータ335を制御する。ボード名は増設カセット給紙モータドライバボードである。バッファパス/フィニッシャコントローラ213は、制御を行うサブCPU341、サブCPU341を制御する制御プログラムを格納したフラッシュROM342、サブCPU341が動作する作業領域であるSRAM343から構成される。サブCPU341は、バッファパス搬送ローラ151を駆動するバッファモータ344、フィニッシャ上トレイ161とフィニッシャ下トレイ162の昇降を行うトレイ昇降モータ345、フィニッシャ160が備えるステイプル機構346を制御する。ボード名はバッファパス/フィニッシャドライバボードである。<操作部の構成>図4は、画像形成装置の操作部の構成を示す図である。図4において、操作部401は、スイッチ、各種ボタン、各種キー、表示部を備えている。電源スイッチ402は、電源ユニットに電源供給を行う主電源をON/OFFする際に操作する。節電ボタン403は、画像形成装置を既定の節電モードへ移行させる際に操作する。電源LED404は、主電源がONされている時に緑色に点灯する。また、電源LED404は、ユーザが操作した機能が動作中であるときは緑色に点滅し、何らかのエラー等が発生した場合は赤色に点灯することでユーザに異常を報知する。液晶表示部405は、タッチパネル式のTFTドットマトリクス型の液晶パネルから構成されており、画像形成装置が有する各モードの操作を行う機能、各モード後述のプリントモード選択ボタン等の表示を行う機能、各モードの切り替えを行う機能を備えている。テンキー406は、コピー枚数やFAX送信先などを入力する際に操作する。リセットキー407は、入力内容をクリアし、現在選択中の各モードの初期状態へ戻す際に操作する。スタートキー408は、液晶表示部405やテンキー406からの入力内容を基に、画像形成装置に実際に動作を開始させる際に操作する。ストップキー409は、スタートキー408の操作により開始された動作を、動作途中でキャンセルする際に操作する。ヘルプキー410は、ユーザに対する説明文章を液晶表示部405に表示する際に操作する。ユーザモードボタン411は、ユーザが自身に適した設定を予め行う際に操作する。<ジョブ選択画面の構成>図5は、操作部のジョブ選択画面を示す図である。図5において、ジョブ選択画面501は、画像形成装置がコピーモードの時に操作部401の液晶表示部405に表示される画面である。ファンクション選択ボタン502は、ユーザがタッチしたファンクションキーに対応した動作ファンクションコピー、ボックス、FAX等に切り替える際に操作する。動作ファンクションが切り替わると、それぞれの動作ファンクションの画面に切り替わる。コピー設定表示部503には、コピーが実行可能かどうかの状態、用紙サイズの設定等のモード設定、テンキー406の入力により設定されたコピー枚数、コピー倍率選択ボタン505により設定されたコピー倍率が表示される。色モード設定部504カラー選択ボタン、白黒選択ボタンは、白黒モード/カラーモードを設定する際に操作する。コピー倍率選択ボタン505は、コピー倍率縮小/等倍/拡大を設定する際に操作する。両面コピー設定ボタン506は、片面コピー/両面コピーを設定する際に操作する。用紙選択設定ボタン507は、どの給紙カセットの用紙を使用するか設定する際に操作する。排紙トレイ設定ボタン508は、プリント出力をどの排紙トレイに行うかを設定する際に操作する。ステータス表示部511には、画像形成装置に何らかの状態変化が発生した時にその旨のメッセージが表示される。<メインCPUと分散モジュールコントローラの信号線接続>図6は、メインCPUと分散モジュールコントローラのサブCPUを接続するシリアル信号線の構成を示すブロック図である。図6において、メインCPU201と、YMCドラムモータ/高圧コントローラ209のサブCPU301とは、RESET信号線601、BOOTMODE信号線602、TxD信号線603、RxD信号線604により接続されている。図6では分散モジュールコントローラのサブCPUとしてYMCドラムモータ/高圧コントローラ209のサブCPU301を例にとるが、他の分散モジュールコントローラのサブCPUについても同様であり図示及び説明は省略する。RESET信号線601は、メインCPU201側が出力、サブCPU301側が入力であり、メインCPU201側が既定のタイミングでサブCPU301をリセットするためのものであり、二値のレベルを示す。動作時はHレベル、リセット時はLレベルである。BOOTMODE信号線602は、メインCPU201側が出力、サブCPU301側が入力であり、サブCPU301がリセットし、再起動してからの動作モードを決定するためのものであり、二値のレベルを示す。通常時はHレベル、ファームウェア更新モード時はLレベルである。TxD信号線603は、メインCPU201側からサブCPU301側へシリアル通信信号を送信する信号線であり、TTLレベルの調歩同期で8ビットずつ情報を送信している。RxD信号線604は、サブCPU301側からメインCPU201側へシリアル通信信号を送信する信号線であり、同じくTTLレベルの調歩同期で8ビットずつ情報を送信している。次に、上記の構成を備える本実施の形態の画像形成装置の動作について説明する。<サブCPUのファームウェア更新処理>まず、具体例としてYMCドラムモータ/高圧コントローラ209のサブCPU301のファームウェアの更新について図7乃至図10を用いて詳細に説明する。サブCPU301の制御プログラムを格納したフラッシュROM302は、例えば32Kバイトの容量を有し、既定の手順によりアクセスすることで書き込みが可能である。サブCPU301の制御プログラムの更新中は、更新対象であるフラッシュROM302にプログラムコードが存在しては書き換えプログラム自体が動作することができない。そのため、まず、サブCPU301のワーク領域であるSRAM303上に書き換えプログラムを配置して動作させるプログラムモードに移行する必要がある。このファームウェア更新時のモード切替処理について図7を用いて説明する。図7は、画像形成装置のファームウェア更新時のモード切替処理を示すフローチャートである。図7において、メインCPU201は、ファームウェア更新時のモード切替処理を開始するとステップS701、ファームウェア更新対象であるサブCPU301のRESET信号線601をONするステップS702。更に、BOOTMODE信号線602をアクティブに設定するプログラムモード設定ステップS703。サブCPU301は、BOOTMODE信号線602がアクティブの状態でリセット解除が行われるとステップS704、フラッシュROM302のプログラムモードで起動される。プログラムモードでは、サブCPU301は、TxD信号線603からの通信待ちを行うと共に、フラッシュROM302の書き換えプログラムをワークメモリであるSRAM303に展開するステップS705。以降、メインCPU201とサブCPU301との通信の制御と、サブCPU301のフラッシュROM302の書き換えの制御は、SRAM303上に展開された書き換えプログラムにより行われる。なお、ステップS706~ステップS709の処理については図10の説明箇所で後述する。次に、メインCPU201とサブCPU301との通信について図8を用いて説明する。図8は、画像形成装置のファームウェア更新時のデータ送信処理を示すフローチャートである。図8において、メインCPU201は、データ送信処理を開始するとステップS801、サブCPU301の持つフラッシュROM302の書き換えを行うためのネゴシエーション情報をサブCPU301に送信するステップS802。即ち、メインCPU201は、ファームウェア更新リクエストをサブCPU301に送信する。サブCPU301は、メインCPU201からファームウェア更新リクエストを受信すると、フラッシュメモリ書き換え可能応答をサブCPU301に返信する。メインCPU201は、サブCPU301からフラッシュメモリ書き換え可能応答を受信したか否かを判定するステップS803。フラッシュメモリは直接書き換えることができず、書き換えに先立って消去処理が必要である。そのため、メインCPU201は、サブCPU301からフラッシュメモリ書き換え可能応答を受信すると、フラッシュメモリ消去要求をサブCPU301に送信するステップS804。サブCPU301は、メインCPU201からフラッシュメモリ消去要求を受信し、フラッシュROM302の全ブロックの消去が完了すると、フラッシュメモリ消去応答をメインCPU201に返信する。次に、メインCPU201は、フラッシュROM302に書き込むファームウェアイメージを例えば128バイトずつに分割してパケット計256個を生成し、先頭のパケットからサブCPU301に順次送信する。分割された先頭のパケットと最後のパケットには、それぞれ先頭マーカと終端マーカをヘッダ部分に設けている。そのため、分割された先頭のパケットは先頭マーカで識別してフラッシュROM302の先頭ブロックから書き込みを開始し、分割された最後のパケットは終端マーカで識別が可能である。サブCPU301は、メインCPU201からファームウェアイメージのパケットを受信すると、パケットのデータをフラッシュROM302に順次書き込み、ブロックごとに書き込みが完了すると、ブロック書き込み完了応答をメインCPU201に返信する。メインCPU201は、サブCPU301からブロック書き込み完了応答を受信したか否かを判定するステップS805。メインCPU201は、サブCPU301からブロック書き込み完了応答を受信すると、ブロック書き込みをカウントするブロックカウンタを0に設定するステップS806。次に、メインCPU201は、次のブロックのファームウェア書き込み要求と、次のパケットファームウェア更新データをサブCPU301に送信するステップS807。サブCPU301は、メインCPU201からファームウェア書き込み要求を受信すると、次のブロックのファームウェア書き込みを行い、書き込みが完了するとブロック書き込み完了応答をメインCPU201に返信する。メインCPU201は、サブCPU301からブロック書き込み完了応答を受信したか否かを判定するステップS808。メインCPU201は、サブCPU301からブロック書き込み完了応答を受信すると、ブロックカウンタの値を1加算するステップS809。このように、サブCPU301ではフラッシュROM302の書き込みが繰り返される。サブCPU301は、メインCPU201から計256個のパケットを順次受信し、フラッシュROM302の全てのブロックの更新を終了すると、ファームウェア更新が終了となる。メインCPU201は、ブロックカウンタの値が256に達したか否かを判定するステップS810。上記の通り、サブCPU301では計256個のパケットを順次受信してフラッシュROM302の全ブロックを更新終了したので、メインCPU201は、チェックサムの取得要求をサブCPU301に送信するステップS811。チェックサムは、フラッシュROM302の全領域の奇数アドレスの値と偶数アドレスの値とを総計した値の下位16ビットを用いる。サブCPU301は、メインCPU201からチェックサムの取得要求を受信すると、奇数アドレスと偶数アドレスのチェックサム値をメインCPU201に応答する。メインCPU201は、サブCPU301から奇数アドレスと偶数アドレスのチェックサム値の応答を受信したか否かを判定するステップS812。メインCPU201は、サブCPU301から奇数アドレスと偶数アドレスのチェックサム値の応答を受信すると、次の比較判断を行う。メインCPU201で予め保持しているチェックサム値と、サブCPU301から応答された奇数アドレスと偶数アドレスのチェックサム値とを比較し、両方のチェックサム値が一致するか否かを判定するステップS813。もしも両方のチェックサム値が一致しない場合は、フラッシュROM302の情報が、メインCPU201からサブCPU301に送信したファームウェアイメージと一致していないことになる。そのため、メインCPU201は、リトライ制御を行うべく、フラッシュROM302に書き込むファームウェアイメージを128バイトずつに分割してパケットを生成し、先頭パケットからサブCPU301に再度送信しなおす。両方のチェックサム値が一致した場合は、メインCPU201は、サブCPU301の持つフラッシュROM302のファームウェア更新が正常に終了していると判定する。これにより、ファームウェア更新処理を終了するステップS814。次に、上記図8で説明したファームウェア更新時におけるメインCPU201とサブCPU301との間の通信について要求と応答の組み合わせを図9を用いて重ねて説明する。図9は、画像形成装置のファームウェア更新時の通信シーケンスを示す図である。図9において、最初にメインCPU201が、ネゴシエーション情報を送信するステップS901。これに対して、サブCPU301は、フラッシュメモリ書き換え可能応答を返すステップS902。次に、メインCPU201は、フラッシュメモリ消去要求を送信するステップS903。サブCPU301は、フラッシュROM302の全ブロックの消去が完了してから、フラッシュメモリ消去応答を返すステップS904。続けて、メインCPU201は、ファームウェアイメージを先頭ブロックであるID=0から順番に送信するステップS905。サブCPU301は、該当ブロックごとに書き込みが完了してから、ブロック書き込み完了応答を返すステップS906。更に、メインCPU201は、ブロックカウンタの値を1してIDに付加し、次のID=1のファームウェアイメージを送信するステップS907。サブCPU301も、また書き込みが完了してからブロック書き込み完了応答を返すステップS908。これらを繰り返し、メインCPU201は、最終ブロックのID=255のファームウェアイメージを送信するステップS909。これに対して、サブCPU301も、同様に書き込みが完了してからブロック書き込み完了応答を返すとステップS910、ファームウェア更新が終了となる。最後に、メインCPU201は、サブCPU301に対しチェックサムの取得要求を送信するステップS911。サブCPU301は、チェックサムを計算し、チェックサム値をメインCPU201に返信する。チェックサムの処理については図8のステップS811~ステップS813で説明した通りである。サブCPU301の持つフラッシュROM302のファームウェア更新を行った際の、RESET信号線601、BOOTMODE信号線602、TxD信号線603、RxD信号線604の通信波形は、図10に示すようになっている。図10は、画像形成装置のファームウェア更新時の通信信号の波形を示すタイミングチャートである。図10において、RESET信号線601とBOOTMODE信号線602の波形上に引出線で付記したステップS702~ステップS708は上記図7のステップ番号に対応する。また、TxD信号線603とRxD信号線604の波形上に引出線で付記したステップS801~ステップS810は上記図8のステップ番号に対応する。メインCPU201は、サブCPU301の持つフラッシュROM302のファームウェアの更新を完了した場合、一度、サブCPU301をリセットするステップS706。更に、メインCPU201は、BOOTMODE信号をインアクティブに設定通常モード設定してからステップS707、サブCPU301のリセット解除を行うステップS708。これにより、図7のモード切替処理を終了するステップS709。以上の処理により、サブCPU301は、フラッシュROM302に書き込まれた新プログラムの実行を開始する。<サブCPUのファームウェア更新状態管理>図3で説明したように、メインCPU201には複数のサブCPU301、311、321、331、341が、それぞれ別のシリアル信号線により接続されている。そのため、メインCPU201は、複数のサブCPU301、311、321、331、341それぞれに対し同時に通信を行うことができる。よって、複数のサブCPUのうちいずれかのサブCPUがファームウェア更新中であっても、動作の継続が可能である。ただし、どのサブCPUが司る機能がファームウェア更新中のために使用不能であるかの判断を行う必要があるため、メインCPU201は、SRAM203上に図11に示すようにサブCPUファームウェア更新状態テーブルを保持している。図11a、図11bは、サブCPUファームウェア更新状態テーブルを示す図である。図11a、図11bにおいて、サブCPUファームウェア更新状態テーブル1101は、1102~1108から構成されている。1102~1108は、それぞれサブCPUが備えられた部位を示している。1102は、YMCドラムモータ/高圧コントローラ209のサブCPUのステータスである。1103は、Bkドラム/ITBモータ二次転写高圧コントローラ210のサブCPUのステータスである。1104は、オプションカセットコントローラ212のサブCPUのステータスである。1105は、両面/反転ユニットコントローラ211のサブCPUのステータスである。1106は、バッファパス/フィニッシャコントローラ213のサブCPUのステータスである。上記の各コントローラ209~213のそれぞれのサブCPUの状態は、1107に示すように動作中Activeか、ファームウェア更新中Updatingで示され、1108に示すようにそれぞれ残り更新サイズ情報を保持している。残り更新サイズ情報は、メインCPU201からファームウェア更新対象のサブCPUに転送する制御プログラムの残りサイズを示す情報、即ち、更新対象の制御プログラムの更新の残量を示す情報更新残量情報である。例えば、図11aaは、YMCドラムモータ/高圧コントローラ209のサブCPUと、両面/反転ユニットコントローラ211のサブCPUが、ファームウェア更新中であることを示している。また、図11abは、オプションカセットコントローラ212のサブCPUと、バッファパス/フィニッシャコントローラ213のサブCPUが、ファームウェア更新中であることを示している。更に、図11bcは、両面/反転ユニットコントローラ211のサブCPUと、バッファパス/フィニッシャコントローラ213のサブCPUが、ファームウェア更新中であることを示している。一方、図11bdは、YMCドラムモータ/高圧コントローラ209のサブCPUだけが、ファームウェア更新中であることを示している。次に、本実施の形態の画像形成装置の特徴的な制御について説明する。<ファームウェア更新中の操作部表示情報の更新>画像形成装置が備えるサブCPU301、311、321、331、341のいずれかのファームウェアの更新中における操作部表示情報の更新について図12乃至図14を用いて説明する。図12は、操作部表示情報更新処理を示すフローチャートである。図12において、操作部表示情報更新処理は、メインCPU201により、例えば500ミリ秒おきに操作部401の液晶表示部405の画面に表示する情報を更新すべく実行される。メインCPU201は、操作部表示情報更新処理を開始すると、画像形成装置のプリント機能の項目1つ1つに対して順次実行可能かどうか判定すべく機能ID図13参照を1とするステップS1201。図13は、機能ID-サブCPU関連テーブルを示す図である。図13において、機能ID-サブCPU関連テーブル1301は、給紙段ID、色モード、片面/両面、排紙先IDに機能分類されている。給紙段IDの選択肢には、給紙カセット113カセット1、第二増設給紙カセット125カセット2、第三増設給紙カセット126カセット3がある。色モードの選択肢には、モノクロプリント、カラープリントがある。片面/両面の選択肢には、片面プリント、両面プリントがある。排紙先IDの選択肢には、排紙トレイ121トレイ1、フィニッシャ上トレイ161、フィニッシャ下トレイ162がある。なお、機能ID-サブCPU関連テーブル1301は、予め画像形成装置の製品構成情報を基にフラッシュROM202に記録されているが、製品立上げのモジュール接続情報を基に生成し、SRAM203に記録されているものでも良い。図12に戻り、メインCPU201は、図13の機能ID-サブCPU関連テーブル1301を参照し、機能IDに対応する使用サブCPU情報を取得し、図11のサブCPUファームウェア更新状態テーブル1101のサブCPU状態と照合する。更に、メインCPU201は、機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中Updatingか否かを判定するステップS1202。機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中である場合は、メインCPU201は、操作部401の液晶表示部405の画面上の該当プリントモード選択ボタンを無効化するステップS1203。機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中でない場合は、メインCPU201は、操作部401の液晶表示部405の画面上の該当プリントモード選択ボタンを有効化するステップS1204。次に、メインCPU201は、画像形成装置が備える図13の全ての機能IDに対して順次確認するために、機能IDが機能IDmaxに達したか否かを確認するステップS1205。機能IDが機能IDmaxに達してない場合は、メインCPU201は、機能IDに1を加算しステップS1206、上記ステップS1202の判断から再度実行する。機能IDmaxは機能IDの最大数を示す値であり、図13の機能ID-サブCPU関連テーブル1301では機能IDmax=11である。機能IDが機能IDmaxに達すると、メインCPU201は、以上の判断内容をもって、操作部表示情報を更新しステップS1207、本処理を終了する。以上のプリントモード選択ボタンに関する有効無効の判定結果は、図14に示すように反映される。図14は、操作部のジョブ選択画面を示す図である。給紙段選択図13の機能ID2の給紙段=カセット2、機能ID3の給紙段=カセット3に関しては、図11abのオプションカセットドライバのサブCPU331とフラッシュROM332が更新中である場合について判断する。この時、図14に示すように、該当する給紙部選択507のカセット2とカセット3を選択不可能とし、網掛け表示としている図面上は×印で示す。この状態では、操作部401の液晶表示部405タッチパネルからの押下を受け付けない。また、排紙先選択図13の機能ID10のフィニッシャ上トレイ、機能ID11のフィニッシャ下トレイに関しては、図11abのバッファパス/フィニッシャドライバのサブCPU341とフラッシュROM342が更新中である場合について判断する。この時、図14に示すように、該当する給紙部選択508のフィニッシャ上トレイとフィニッシャ下トレイを選択不可能とし、網掛け表示としている図面上は×印で示す。この状態では、操作部401の液晶表示部405タッチパネルからの押下を受け付けない。以上説明したように本実施の形態によれば、画像形成装置でファームウェアの更新を行っている間は、画像形成ジョブで使用する選択可能な機能のうち更新対象のファームウェアにより制御されるサブCPUを使用する機能を無効化する縮退させる。これにより、画像形成装置でファームウェアの更新中でも画像形成ジョブの開始や画像形成ジョブの実行の継続が可能となり、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。第2の実施の形態本発明の第2の実施の形態は、上記第1の実施の形態に対して図15乃至図17で説明する点において相違する。本実施の形態のその他の要素は、上記第1の実施の形態図1乃至図6の対応するものと同一なので説明を省略する。次に、本実施の形態の画像形成装置の特徴的な制御について説明する。<ファームウェア更新中のプリントジョブ実行>画像形成装置におけるファームウェア更新中にプリントジョブ画像形成ジョブを実行する場合について図15乃至図17を用いて説明する。図15は、画像形成装置のプリントモード情報テーブルを示す図である。図15において、プリントモード情報テーブル1501は、プリントモード情報として、給紙段ID1502、色モード1503、片面/両面指定1504、排紙先ID1505、後処理モード1506等の情報から構成されている。画像形成装置にプリントジョブを投入した場合、プリントジョブのデータにはプリントモード情報が含まれている。画像形成装置では通常はプリントモード情報に従ってプリント動作を決定する。図11bcのサブCPUファームウェア更新状態テーブル1101は、次の場合を示している。即ち、YMCドラムモータ/高圧コントローラ209のサブCPUのステータス1102と、両面/反転ユニットコントローラ211のサブCPUのステータス1105がファームウェア更新中の場合を示している。この時、画像形成装置にジョブが投入されると、図16に示すプリントモード確定判断処理を行う。図16は、画像形成装置のプリントモード確定判断処理を示すフローチャートである。図16において、メインCPU201は、まず画像形成装置に投入されたプリントジョブ画像形成ジョブを受け付けるステップS1601。次に受け付けたプリントジョブに対してプリントモード解析を行い、図15に示したプリントモード情報を抽出するステップS1602。次に、メインCPU201は、上記プリントモード解析により抽出したプリントモード情報に対して順次、画像形成装置の各プリント機能が使用可能かどうかを確認すべく、機能IDカウンタ機能IDを1に初期化するステップS1603。機能ID=1は、図13によると給紙段ID=カセット1であることを示し、受け付けたプリントジョブのプリントモードと一致する。上記の各プリント機能には、図13の機能分類給紙段ID、色モード、片面/両面、排紙先IDに各々対応したプリント機能例えば、カセット1を使用したプリント、モノクロプリント、片面プリント、トレイ1を使用したプリント等がある。次に、メインCPU201は、上記プリントモード解析により抽出したプリントモードに該当する機能IDに対応するサブCPUがファームウェア更新中であるか否かを判定するステップS1604。機能ID=1は、図13の使用サブCPU情報からサブCPUを使用しないと判断できるので、該当するサブCPUはファームウェア更新中で無いため、代替機能を選択する必要は無い。次に、メインCPU201は、全ての機能IDに関して順番にプリントモードをチェックするため、機能IDが機能IDmax=11に達しているか否かを判定するステップS1605。まだ機能IDが機能IDmaxに達していなければ、メインCPU201は、機能IDを1しステップS1606、次の機能IDに対してプリントモードをチェックするステップS1604。機能IDを1して順次チェックを進めると、図13の機能分類から機能ID=8が両面プリント指定であり、上記プリントモード解析により抽出したプリントモード情報と合致する。機能ID=8で使用されるサブCPUは、図13の使用サブCPU情報から両面反転ドライバのサブCPUであり、図11のサブCPUファームウェア更新状態テーブルからファームウェアの更新中である。そのため、メインCPU201は、同じ片面/両面指定で両面反転ドライバのサブCPUを使用しない機能ID=7を代替機能として選択し、操作部401の液晶表示部405に代替機能として表示提示するステップS1607。同じく、機能IDを1して順次チェックを進めると、図13の機能分類から機能ID=10がフィニッシャ上トレイ指定であり、上記プリントモード解析により抽出したプリントモード情報と合致する。機能ID=10で使用されるサブCPUは、図13の使用サブCPU情報からバッファパスドライバとフィニッシャコントローラのサブCPUである。また、バッファパスドライバのサブCPUは、図11のサブCPUファームウェア更新状態テーブルからファームウェアの更新中である。そのため、メインCPU201は、排紙先ID指定としてバッファパスドライバのサブCPUを使用しない機能ID=9のトレイ1出力を代替機能として選択し、操作部401の液晶表示部405に代替機能として表示する。これらを各機能IDについて順次判定を行い、機能IDが機能IDmaxに達するとステップS1605でYES、最終的に代替機能があったか否かを判定するステップS1608。代替機能が必要なかった場合は、メインCPU201は、そのままプリントジョブを開始するステップS1609。代替機能があった場合は、メインCPU201は、図17に示す代替機能選択画面を操作部401の液晶表示部405に表示することで、ユーザに代替機能の選択を求めるステップS1610。図17は、操作部の代替機能選択画面を示す図である。図17において、代替機能選択画面代替プリントモード選択ダイアログ1701は、現在使用できない機能の通知と代替機能の選択を行うための画面である。1702と1704は、ファームウェア更新のために使用できない機能を表示したものである。即ち、代替機能選択画面1701の1702は、両面反転ユニットドライバのサブCPUがファームウェア更新中であるため、用紙の両面にプリントする両面ジョブのプリントモードが使用できない状態であることを示している。1704は、バッファパスドライバ/フィニッシャコントローラのサブCPUがファームウェア更新中であるため、排紙先をフィニッシャ上トレイとするプリントモードが使用できない状態であることを示している。代替機能選択ボタン1703は、両面ジョブの代替モードとして片面ジョブを選択する際に操作する。代替機能選択ボタン1705は、フィニッシャ上トレイ出力の代替モードとしてトレイ1排紙トレイ121出力を選択する際に操作する。代替プリント開始ボタン1706は、代替機能選択ボタン1703または1705で選択された代替モードに変更してプリントを開始することを決定する際に操作する。プリント中止ボタン1707は、代替モードを使用せずにプリント中止を決定する際に操作する。図16に戻り、代替機能選択画面でユーザが代替機能を選択して代替プリント開始ボタン1706を操作した場合、メインCPU201は、代替機能によりプリントジョブを開始するステップS1611。代替機能選択画面でユーザが代替機能を使用せずプリント中止ボタン1707を操作した場合、メインCPU201は、プリントジョブの実行を中止するステップS1612。これにより、本処理を終了する。以上の制御により、画像形成装置がファームウェアの更新中であっても、ユーザが申告する代替機能を選択してプリントジョブを開始することができ、画像形成装置のよりダウンタイムの少ない運用を実現することが可能である。以上説明したように本実施の形態によれば、画像形成装置でファームウェアの更新を行っている間は、画像形成ジョブで使用する選択可能な機能のうち更新対象のファームウェアにより制御されるサブCPUを使用しない機能を選択し、代替機能として表示する。これにより、画像形成装置でファームウェアの更新中でもユーザが申告する代替機能を選択することで、画像形成ジョブの開始や画像形成ジョブの実行の継続が可能となり、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。第3の実施の形態本発明の第3の実施の形態は、上記第1の実施の形態に対して図18及び図19で説明する点において相違する。本実施の形態のその他の要素は、上記第1の実施の形態図1乃至図6の対応するものと同一なので説明を省略する。次に、本実施の形態の画像形成装置の特徴的な制御について説明する。<ファームウェア更新残量が少ない場合のプリントモード選択>画像形成装置のサブCPU301がファームウェアの更新中において、ファームウェア更新残量ファームウェア情報の残り転送時間が少ない場合のプリントモードの選択について図18及び図19を用いて説明する。図18は、本実施の形態に係る画像形成装置の操作部表示情報更新処理を示すフローチャートである。図18において、操作部表示情報更新処理は、メインCPU201により、例えば500ミリ秒おきに操作部401の液晶表示部405の画面に表示する情報を更新すべく実行される。メインCPU201は、操作部表示情報更新処理を開始すると、画像形成装置のプリント機能の項目1つ1つに対して順次実行可能かどうか判定すべく機能ID図13参照を1とするステップS1801。次に、メインCPU201は、図13の機能ID-サブCPU関連テーブル1301を参照し、機能IDに対応する使用サブCPU情報を取得し、図11のサブCPUファームウェア更新状態テーブル1101のサブCPU状態と照合する。更に、メインCPU201は、機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中Updatingか否かを判定するステップS1802。機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中でない場合は、メインCPU201は、操作部401の液晶表示部405の画面上の該当プリントモード選択ボタンを有効化するステップS1803。機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中の場合は、メインCPU201は、図11のサブCPUファームウェア更新状態テーブル1101の各サブCPUの残り更新サイズ情報1108を評価する。そして、メインCPU201は、サブCPUファームウェア更新状態テーブル1101保持手段の残り更新サイズ情報1108、即ち、残り転送サイズの値が、4KB未満設定値未満であるか否かを判定するステップS1804。残り転送サイズとは、メインCPU201からファームウェア更新対象のサブCPUに転送する制御プログラムの残りサイズである。残り転送サイズの値が4KB未満である場合は、まもなくファームウェアの更新が完了すると考えられるため、メインCPU201は、ジョブ開始の待ち時間として数秒間を要する旨を操作部401の液晶表示部405に表示するステップS1805。更に、メインCPU201は、操作部401の液晶表示部405の画面上の該当プリントモード選択ボタンを有効化するステップS1803。残り転送サイズが4KB以上である場合は、ファームウェアの更新にはまだ時間がかかると考えられるため、メインCPU201は、操作部401の液晶表示部405の画面上の該当プリントモード選択ボタンを無効化するステップS1806。次に、メインCPU201は、画像形成装置が備える図13の全ての機能IDに対して順次確認するために、機能IDが機能IDmaxに達したか否かを確認するステップS1807。機能IDが機能IDmaxに達してない場合は、メインCPU201は、機能IDに1を加算しステップS1808、上記ステップS1802の判断から再度実行する。機能IDが機能IDmaxに達すると、メインCPU201は、以上の判断内容をもって、操作部表示情報を更新しステップS1809、本処理を終了する。なお、上記第2の実施の形態においても、サブCPUがファームウェア更新中で、上記残り転送サイズの値が4KB未満の場合は、ファームウェア更新中のサブCPUを使用しない機能を代替機能として表示提示しないようにしてもよい。以上のプリントモード選択ボタンに関する有効無効の判定結果は、図19に示すように反映される。図19は、操作部のジョブ選択画面を示す図である。図19において、ジョブ選択画面501は、操作部401の液晶表示部405に表示される画面である。色モード設定部504は、図13の機能ID-サブCPU関連テーブル1301によればYMCドラムモータ高圧ドライバのサブCPU301と関連している。また、図11bdのサブCPUファームウェア更新状態テーブル1101によれば、YMCドラムモータ高圧ドライバのサブCPU301はファームウェア更新中であり、残り転送サイズは3072バイトである。残り転送サイズは4KBを下回っているため、まもなくサブCPUのファームウェアの更新が完了すると判断される。これに伴い、ジョブ選択画面501の色モード設定部504のカラー選択ボタン531はグレー表示となる。ジョブ選択画面501の532に示すようにユーザによりカラーが指定された場合、ジョブの開始時にファームウェア更新の残り時間分、およそ数秒待ち時間がある旨が表示される。以上説明したように本実施の形態によれば、ファームウェアの更新残量残り転送サイズが設定値未満の場合は、画像形成ジョブで使用する選択可能な機能のうち更新対象のファームウェアにより制御されるサブCPUを使用する機能を有効化する。これにより、画像形成装置の機能面を維持しつつ、よりダウンタイムの少ない画像形成装置の運用を実現することが可能となる。第4の実施の形態本発明の第4の実施の形態は、上記第1の実施の形態に対して図20及び図21で説明する点において相違する。本実施の形態のその他の要素は、上記第1の実施の形態図1乃至図6の対応するものと同一なので説明を省略する。次に、本実施の形態の画像形成装置の特徴的な制御について説明する。<代替プリントジョブの復帰処理>画像形成装置がプリントジョブの開始時にファームウェア更新中であるが、プリントジョブの実行中にファームウェアの更新が完了した場合の処理について図20及び図21を用いて説明する。プリントジョブの開始時には一部の機能が該当するサブCPUがファームウェア更新中であり、代替プリントモードを指定してプリントジョブを開始する。その際に、ファームウェアの更新が完了した時点で代替前の元のプリントモード動作モードに戻す方が良い場合がある。なお、一部の機能が該当するサブCPUがファームウェア更新中とは、図13に示すように、例えば機能分類が給紙段IDの選択肢であるカセット1、2、3のうち、カセット2に対応するサブCPUがファームウェア更新中の場合などが該当する。図20は、本実施の形態に係る画像形成装置の操作部の代替機能選択画面を示す図である。図20において、代替機能選択画面1701の2001は、カセット2を駆動制御するオプションカセットコントローラ212のサブCPUがファームウェア更新中であるため、カセット2が使用できない状態であることを示している。2002は、代替プリントモードの給紙段としてカセット1を選択可能としている。2003は、フィニッシャ上トレイを駆動制御するバッファパス/フィニッシャコントローラ213のサブCPUがファームウェア更新中であるため、フィニッシャ上トレイが使用できない状態であることを示している。2004は、代替プリントモードの排紙先としてトレイ1を選択可能としている。上記の代替プリントモードを用いてプリントジョブを開始するにあたって、全ページ代替プリント開始ボタン2005を押下すると、全体を代替プリントモードでプリントジョブを実行する。途中まで代替部分代替プリント開始ボタン2006を押下すると、途中まで代替プリントモードでプリントジョブを実行し、ファームウェア更新が完了次第、当初指定されていたプリントモードに置き換える。プリント中止ボタン2007を押下すると、代替プリントモードでのプリントジョブを行わずにプリントを中止する。上記途中まで代替部分代替プリント開始ボタン2006を押下した場合におけるジョブ実行中の代替プリントモード判断処理について図21を用いて説明する。図21は、画像形成装置のジョブ実行中の代替プリントモード判断処理を示すフローチャートである。図21において、メインCPU201は、途中まで代替部分代替プリント開始ボタン2006の押下により途中まで代替部分代替プリントジョブが開始された場合、更新中のサブCPUのファームウェア更新情報を取得するステップS2101。次に、メインCPU201は、取得したファームウェア更新情報を基に、更新中のサブCPUのファームウェア更新が完了しているか否かを評価するステップS2102。更新中のサブCPUのファームウェアの更新が完了していない場合、メインCPU201は、プリント対象となる部数のプリント開始前にページ番号を1に設定しステップS2103、画像形成部により各部のプリントを開始するステップS2104。メインCPU201は、1ページプリントするごとに最終ページに達したか否かを評価しステップS2105、最終ページでなければ、1ページ進めてステップS2106、ステップS2104に戻り、画像形成部により次のページのプリントを行う。最終ページに達した場合、メインCPU201は、プリント中の部が最終部か否かを評価しステップS2107、プリント中の部が最終部でなければ、次の部に進むステップS2108。メインCPU201は、画像形成部により次の部をプリントするために1ページ目からプリントを行うにあたり、ステップS2101に戻り、再度、更新中のサブCPUのファームウェア更新情報を取得する。更に、メインCPU201は、更新中のサブCPUのファームウェア更新が完了しているか否かを評価するステップS2102。更新中のサブCPUのファームウェアの更新が完了している場合、メインCPU201は、代替前変更前の指定プリントモード動作モードに置き換えステップS2109、プリント対象となる部の1ページ目からプリントを開始する。以上説明したように本実施の形態によれば、ファームウェア更新中で且つ代替機能による動作モードに変更して画像形成ジョブを実行している間に、ファームウェア更新が完了した場合は、動作モードを代替機能による動作モードへの変更前の動作モードに戻す。そのため、ユーザは途中からファームウェア更新後の状態でもってプリント成果物を入手することができる。これにより、画像形成装置のダウンタイムの少ない運用を実現しながら画像形成装置の性能を最大限に発揮させることが可能となる。他の実施の形態また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。前記プログラムは、本発明の画像形成装置の制御方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラムコードを有する。