(57)【要約】【課題】オプションボート３の状況を簡便に知ることができる画像処理装置を提供する。【解決手段】オプションボード３に電源が投入された際に、ファームウェアの書き換えなどによりオプションボード３に特定の状況が発生している場合には、オプションボード３のファームウェアのバージョンを示すバージョン情報が特定の状況を示す情報に置き換えられ、又は、バージョン情報に特定の状況を示す情報が埋め込まれ、当該バージョン情報がメインボード２に送信される。そして、複合機１の操作部２８に対してオプションボード３のバージョンを表示させる所定の操作が行われると、オプションボード３に発生している特定の状況を示す情報を表示部２９に表示する。【選択図】図１
2008048229.tif 000002
【特許請求の範囲】
【請求項１】
自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備えた画像処理装置であって、
前記サブ制御部は、
当該サブ制御部において特定の状況が発生している旨を示す告知情報を前記メイン制御部に送信する送信手段を備え、
前記メイン制御部は、
前記送信手段によって送信された告知情報が示す内容を表示する表示手段を備えることを特徴とする画像処理装置。
【請求項２】
自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備え、前記サブ制御部のファームウェアのバージョン情報が示す内容を前記メイン制御部が備える表示装置に表示する画像処理装置であって、
前記サブ制御部は、当該サブ制御部に特定の状況が発生している旨を示す告知情報を、前記バージョン情報に置き換え、又は、前記バージョン情報に埋め込んで前記メイン制御部に送信する送信手段を備えることを特徴とする画像処理装置。
【請求項３】
前記サブ制御部の所定の機能は、前記メイン制御部から転送された印刷データを画像データに展開して前記メイン制御部に転送する機能であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記特定の状況は、前記サブ制御部のファームウェアの書き換えに伴う状況であることを特徴とする請求項１乃至３のいずれか１に記載の画像処理装置。
【請求項５】
前記特定の状況は、前記サブ制御部のファームウェアの副記憶装置から主記憶装置への読み込み中にファームウェアの異常が検知された状況であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記サブ制御部のファームウェアは、副記憶装置の個々の記憶領域にデータの種類別に分割して記憶され、書き換えデータによりデータの種類毎に書き換えが行われるものであり、
前記特定の状況は、前記副記憶装置に記憶された前記ファームウェアのフォントデータが当該ファームウェアのカーネルプログラムに適合していない状況であることを特徴とする請求項４又は５に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、詳しくは、メイン制御部とサブ制御部とを備える画像処理装置に関するものである。
【背景技術】
【０００２】
従来、画像処理装置には、特許文献１に記載されているように、自装置の全体を制御するメインボード（メイン制御部）とは別個に、所定の機能を実現するオプションボード（サブ制御部）を備える構成となったものが存在する。このようなオプションボードには、例えば、画像処理装置が端末装置から受信した印刷データの転送をメインボードから受け、当該印刷データを画像データに展開してメインボードに転送するというものなどがある。このようなオプションボードには複数のＬＥＤ（Light Emitting Diode）が搭載され、この複数のＬＥＤを予め定義されたパターンで発光させることにより、当該オプションボードの状況が示されていた。
【特許文献１】特開２００５−２７７８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、このようなオプションボードでは、当該オプションボードが画像処理装置の筐体内部に配置されるので、ＬＥＤを画像処理装置の外観において確認することができない。そのため、当該オプションボードの状況を知るためには、画像処理装置の筐体の背面などに設けられたパネルを開いてＬＥＤを確認しなければならず手間がかかるという問題があった。例えば、複合機などの画像処理装置は、装置の背面を建物の壁面などに近接させて設置されることが多く、このような場合には、パネルを開いて筐体内のＬＥＤを確信するためには、画像処理装置を移動させなければならず、非常に手間であった。
【０００４】
本発明は、かかる問題に鑑みてなされたものであり、オプションボート（サブ制御部）の状況を簡便に知ることができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の画像処理装置は、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備えた画像処理装置であって、前記サブ制御部は、当該サブ制御部において特定の状況が発生している旨を示す告知情報を前記メイン制御部に送信する送信手段を備え、前記メイン制御部は、前記送信手段によって送信された告知情報が示す内容を表示する表示手段を備えることを特徴としている。
【０００６】
この構成によれば、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備えた画像処理装置であって、サブ制御部において、送信手段により、当該サブ制御部において特定の状況が発生している旨を示す告知情報がメイン制御部に送信され、メイン制御部において、表示手段により、送信手段によって送信された告知情報が示す内容が表示される。したがって、ユーザやサービスマンは、画像処理装置を移動させたり、筐体を開いたりすることなく、簡便に、サブ制御部に発生している特定の状況を知ることができる。
【０００７】
上記目的を達成するために、請求項２に記載の画像処理装置は、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備え、前記サブ制御部のファームウェアのバージョン情報が示す内容を前記メイン制御部が備える表示装置に表示する画像処理装置であって、前記サブ制御部は、当該サブ制御部に特定の状況が発生している旨を示す告知情報を、前記バージョン情報に置き換え、又は、前記バージョン情報に埋め込んで前記メイン制御部に送信する送信手段を備えることを特徴としている。
【０００８】
この構成によれば、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備え、前記サブ制御部のファームウェアのバージョン情報が示す内容を前記メイン制御部が備える表示装置に表示する画像処理装置であって、サブ制御部において、送信手段により、当該サブ制御部に特定の状況が発生している旨を示す告知情報が、バージョン情報に置き換えられ、又は、バージョン情報に埋め込まれてメイン制御部に送信される。
【０００９】
したがって、ユーザやサービスマンは、画像処理装置を移動させたり、筐体を開いたりすることなく、簡便に、サブ制御部に発生している特定の状況を知ることができる。また、告知情報がバージョン情報に置き換えられ、又は、バージョン情報に埋め込まれるので、画像処理装置のインターフェースを変更することなく、サブ制御部に発生している特定の状況を簡便に知ることができる画像処理装置を実現することができる。さらに、画像処理装置に対して特定の操作を行ったときに、サブ制御部のバージョン情報が示す内容を表示装置に表示する構成となっている場合には、バージョン情報が示す内容を表示する既知の操作のみによって、サブ制御部に発生している特定の状況を示す告知情報の内容を表示装置に表示させることができる。また、告知情報が示すサブ制御部に発生している特定の状況が、サブ制御部のファームウェアの書き換えに伴うものである場合には、ファームウェアを書き換えた際には、ユーザやサービスマンは必ずファームウェアのバージョンを確認するので、サブ制御部に発生している特定の状況が確実にユーザやサービスマンに知得される。
【００１０】
請求項３に記載の画像処理装置は、請求項１又は２に記載の画像処理装置であって、前記サブ制御部の所定の機能は、前記メイン制御部から転送された印刷データを画像データに展開して前記メイン制御部に転送する機能であることを特徴としている。
【００１１】
この構成によれば、サブ制御部の所定の機能は、メイン制御部から転送された印刷データを画像データに展開してメイン制御部に転送する機能である。したがって、ユーザやサービスマンは、メイン制御部から転送された印刷データを画像データに展開してメイン制御部に転送するサブ制御部に発生する特定の状況を簡便に知ることができる。
【００１２】
請求項４に記載の画像処理装置は、請求項１乃至３のいずれか１に記載された画像処理装置であって、前記特定の状況は、前記サブ制御部のファームウェアの書き換えに伴う状況であることを特徴としている。
【００１３】
この構成によれば、特定の状況は、サブ制御部のファームウェアの書き換えに伴う状況である。したがって、ユーザやサービスマンは、サブ制御部のファームウェアの書き換えに伴い当該サブ制御部に発生している状況を簡便に知ることができる。
【００１４】
請求項５に記載の画像処理装置は、請求項４に記載の画像処理装置であって、前記特定の状況は、前記サブ制御部のファームウェアの副記憶装置から主記憶装置への読み込み中にファームウェアの異常が検知された状況であることを特徴としている。
【００１５】
この構成によれば、特定の状況は、サブ制御部のファームウェアのＦｌａｓｈ（Read Only Memory）ＲＯＭなどの副記憶装置からＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などの主記憶装置への読み込み中にファームウェアの異常が検知された状況である。したがって、ユーザやサービスマンは、ファームウェアの異常が検出されたことを簡便に知ることができる。
【００１６】
請求項６に記載の画像処理装置は、請求項４又は５に記載の画像処理装置であって、前記サブ制御部のファームウェアは、副記憶装置の個々の記憶領域にデータの種類別に分割して記憶され、書き換えデータによりデータの種類毎に書き換えが行われるものであり、前記特定の状況は、前記副記憶装置に記憶された前記ファームウェアのフォントデータが当該ファームウェアのカーネルプログラムに適合していない状況であることを特徴としている。
【００１７】
この構成によれば、サブ制御部のファームウェアは、副制御部の個々の記憶領域にデータの種類別に分割して記憶され、書き換えデータによりデータの種類毎に書き換えが行われるものであり、特定の状況は、副記憶装置に記憶されているファームウェアのうちのフォントデータが、当該ファームウェアのうちのカーネルプログラムに適合していない状況である。したがって、ユーザやサービスマンは、フォントデータがカーネルプログラムに適合していないことを簡便に知ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の画像処理装置の一例としての複合機１について、図面を参照しつつ説明する。図１に示すように、複合機１は、メインボード（メイン制御部に相当する。）２及びオプションボード（サブ制御部に相当する。）３を備えており、当該メインボード２及びオプションボード３によって、ファクシミリ通信機能、インターネットファクシミリ通信機能、コピー機能、スキャナ機能、ＰＣプリント機能などが実現される。メインボード２は複合機１の全体を制御するものである。そして、オプションボード３は、クライアントＰＣ６から、複合機１によって印刷を行うために送信された、ページ記述言語によって記述された印刷データをネットワークインターフェースコントローラ４を介して受信し、受信した印刷データを画像データに展開してメインボード２に転送するものである。メインボード２とオプションボード３とは、バス１３によって通信可能に接続されている。
【００１９】
このような複合機１では、複合機１に電源が投入され、メインボード２及びオプションボード３に電力が供給されると、オプションボード３のファームウェアのバージョンを示すバージョン情報がメインボード２に送信される。また、電源投入時にオプションボード３に特定の状況が発生している場合には、その状況を示す情報（告知情報に相当する。）によって置き換えられたバージョン情報、又は、当該状況を示す情報が埋め込まれたバージョン情報がオプションボード３からメインボード２に送信される。そして、メインボード２に送信されたバージョン情報の示す内容は表示部２９に表示される。
【００２０】
また、オプションボード３のファームウェアは、クライアントＰＣ６から送信される書き換えデータによってアップデート（書き換え）することができる。
【００２１】
クライアントＰＣ６は、一般的な機能を備えたＰＣであり、ユーザが作成した文書などのデータをＰＤＬデータ（ページ記述言語）に変換し、当該ＰＤＬデータを、ＬＡＮ５を介して複合機１に送信する。なお、ここで使用されるＰＤＬ（ページ記述言語）は特に限定されるものではないが、例えばＰＣＬ（Printer Control Language）などを用いることができる。
【００２２】
オプションボード３は、図１に示すように、制御部（ＭＰＵ：Microprocessing Unit）７、インターフェース回路８、ＦｌａｓｈＲＯＭ（Read Only Memory）８、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）９、及び、データ処理回路１１を備えたものであって、各部７乃至１１は、バス１２によって通信可能に接続されている。
【００２３】
制御部７は、ＦｌａｓｈＲＯＭ９に記憶されているファームウェアの各種プログラムに従って、このオプションボード３を構成する各部を制御する。インターフェース回路８は、ネットワークインターフェースコントローラ４から転送されたＰＤＬデータや書き換えデータを受信するものである。また、インターフェース回路８が受信したＰＤＬデータは、データ処理回路１１において所定のデータ処理が施されて、画像データに展開された後にメインボード２に転送される。
【００２４】
ＦｌａｓｈＲＯＭ９（副記憶装置に相当する。）は、制御部７によってオプションボード３の各部を制御するためのファームウェアを記憶するフラッシュメモリであり、図２に示すようにブート領域Ｆ−Ｂ、第１カーネル領域Ｆ−Ｋ１、第２カーネル領域Ｆ−Ｋ２、一般プログラム領域Ｆ−Ｐ、及び、フォント領域Ｆ−Ｆの５つの記憶領域に論理的に分割されている。ＳＤＲＡＭ１０（主記憶装置に相当する。）は、制御部７の主メモリ、ワークエリアなどとして機能し、プログラム領域ＳＤ−Ｐ及び、データ領域ＳＤ−Ｄの２つの記憶領域に論理的に分割されている。
【００２５】
ＦｌａｓｈＲＯＭ９のブート領域Ｆ−Ｂは、システム起動時に実行されるブートプログラムを記憶している記憶領域である。第１カーネル領域Ｆ−Ｋ１及び、第２カーネル領域Ｆ−Ｋ２は、カーネルプログラムを記憶している記憶領域である。カーネルプログラムには、オプションボード３とメインボード２との間の通信の初期化、自己書き換え（アップデート）、ジョブ管理、データ管理、タスク管理などを行うための制御プログラムや初期パラメータ、受信した書き換えデータによりＦｌａｓｈＲＯＭ９のファームウェアをアップデート（書き換え）するための書き換えコード、ファームウェアをアップデートした後に書き換えが正常に行われたか否かを検査するためのデータチェックコードなどが含まれる。一般プログラム領域Ｆ−Ｐは、オプションボード３が各種処理動作を行うための一般プログラムを記憶している記憶領域であり、例えば、インターフェース回路８が受信したＰＤＬデータに所定のデータ処理を行うためのデータ処理プログラムなどを記憶している。フォント領域Ｆ−Ｆは、フォントデータを記憶している記憶領域である。
【００２６】
また、ＦｌａｓｈＲＯＭ９のこれらの各記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆのサイズは、それぞれ常に一定の値となるように設定されており、ここではブート領域Ｆ−Ｂが８ｋｂ（キロバイト）、第１カーネル領域Ｆ−Ｋ１、及び、第２カーネル領域Ｆ−Ｋ２がそれぞれ２４８ｋｂ、一般プログラム領域Ｆ−Ｐが２８１６ｋｂ、フォント領域Ｆ−Ｆが５１２０ｋｂに設定されている。このように、オプションボード３のファームウェアは、データの種類別に分割されて異なるサイズの記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆにそれぞれ記憶されているが、これらの各記憶領域の全体にプログラムやフォントデータが記憶されているわけではなく、プログラムやフォントデータに適当なデータサイズの空きデータ、すなわち１６進数で「００」又は「ＦＦ」の値を持つ空きデータが付加されたデータがそれぞれ対応する記憶領域に記憶されている。例えば、２８１６ｋｂの一般プログラム領域Ｆ−Ｐの場合、実際に使用する一般プログラム全体のデータサイズが２６００ｋｂであれば、これに２１６ｋｂの空きデータが付加された一般プログラム領域Ｆ−Ｐのサイズと等しい２８１６ｋｂのデータが該一般プログラム領域Ｆ−Ｐに記憶されている。なお、これらの各記憶領域に記憶されているデータは、各記憶領域毎に個別に外部から受信した書き換えデータによって書き換えることが可能である。ＦｌａｓｈＲＯＭ９に記憶されているファームウェアは、書き換えデータによって、例えば、第１カーネル領域Ｆ−Ｋ１及び、第２カーネル領域Ｆ−Ｋ２のデータのみを書き換えたり、一般プログラム領域Ｆ−Ｐとフォント領域Ｆ−Ｆのデータのみを書き換えたりすることが可能である。
【００２７】
一方、ＳＤＲＡＭ１０のプログラム領域ＳＤ−Ｐは、制御部７によってＦｌａｓｈＲＯＭ９に記憶されている各種データを制御部７で実行するために一時的に読み込む領域である。ＳＤＲＡＭ１０のプログラム領域ＳＤ−Ｐのうち、ＦｌａｓｈＲＯＭ９のブート領域Ｆ−Ｂに記憶されているブートプログラムを読み込む領域をブート領域ＳＤ−Ｂ、第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、又は、第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムを読み込む領域を第１カーネル領域ＳＤ−Ｋ１、第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムを読み込む領域を第２カーネル領域ＳＤ−Ｋ２、一般プログラム領域Ｆ−Ｐに記憶されている一般プログラムを読み込む領域を一般プログラム領域ＳＤ−Ｐ、フォント領域Ｆ−Ｆに記憶されているフォントデータを読み込む領域をフォント領域ＳＤ−Ｆとそれぞれ呼ぶ。
【００２８】
制御部７は、システム起動時にＦｌａｓｈＲＯＭ９のブート領域Ｆ−ＢのブートプログラムをＳＤＲＡＭ１０のプログラム領域ＳＤ−Ｐに読み込み、プログラム領域ＳＤ−Ｐに読み込まれたブートプログラムに基づいて、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムをＳＤＲＡＭ１０のプログラム領域ＳＤ−Ｐに読み込む。プログラム領域ＳＤ−Ｐにカーネルプログラムを読み込むと、制御部７は、プログラム領域ＳＤ−Ｐのカーネルプログラムに基づいて、一般プログラム領域Ｆ−Ｐに記憶されている一般プログラム、フォント領域Ｆ−Ｆに記憶されているフォントデータをそれぞれＳＤＲＡＭ１０のプログラム領域ＳＤ−Ｐに読み込む。制御部７は、このようにしてＦｌａｓｈＲＯＭ９の各記憶領域のデータをＳＤＲＡＭ１０のプログラム領域ＳＤ−Ｐにロードし、ロードしたプログラムを必要に応じて実行することにより、例えば、外部から受信したＰＤＬデータを画像データに展開してメインボード２に転送したり、外部から受信した書き換えデータによりオプションボード３のファームウェアをアップデート（書き換え）したりすることができる。ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄは、各種データを一時的に格納する領域であり、ネットワークインターフェースコントローラ４によって転送されたＰＤＬデータや書き換えデータなどを一時的に格納する。
【００２９】
データ処理回路１１は、インターフェース回路８が受信したＰＤＬデータに所定のデータ処理を施すものであり、具体的にはインターフェース回路８が受信したＰＤＬデータを解析してメインボード２で処理可能な画像データに展開した後、その画像データをＭＭＲ（Modified Modified Read）方式で符号化（エンコード）する。このようにしてデータ処理回路１１において所定のデータ処理が施された画像データは、インターフェース回路８によってメインボード２へと転送される。なお、ここで使用する符号化方式は、メインボード２において復号が可能な方式であればＭＭＲ方式に限定されるものではなく、例えば、ＭＨ（Modified Huffman）、ＭＲ（Modified Read）、ＪＢＩＧ（Joint Bi-level Image Group）方式などの他の符号化方式を使用してもよい。また、ここでは、画像データの転送速度などを考慮して展開した画像データをＭＭＲ方式で符号化して転送しているが、展開した画像データを符号化することなくそのままメインボード２に転送するようにしてもよい。
【００３０】
一方、オプションボード３から転送された画像データの印刷処理などを行うメインボード２は、制御部（ＭＰＵ）２１、ＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３、原稿読取部２４、コーデック（ＣＯＤＥＣ：Coder and Decoder）２５、画像メモリ２６、記録部２７、操作部２８、及び、表示部２９を備えており、各部２１乃至２９は、バス３０によって通信可能に接続されている。
【００３１】
制御部２１は、ＲＯＭ２２に記憶されているプログラムに従って、この複合機１を構成する各部を制御する。ＲＯＭ２２は、前記プログラムを記憶している。ＲＡＭ２３は、制御部２１の主メモリ、ワークエリアなどとして機能し、予め登録された各種設定情報などを記憶している。原稿読取部２４は、例えば、ＣＣＤ（Charge Coupled Device）などのイメージセンサによって原稿の画像データを読取る。
【００３２】
コーデック２５は、画像データの符号化及び、復号（デコード）を行うものであり、原稿読取部２４で読取られた原稿の画像データをＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ方式などにより符号化し、符号化されている画像データを復号する。なお、オプションボード３から転送された画像データは、このコーデック２５において復号される。画像メモリ２６は、コーデック２５によって符号化された原稿の画像データ、オプションボード３から転送された画像データなどを格納する。
【００３３】
記録部２７は、原稿読取部２４において読取られた原稿の画像データ、オプションボード３から転送された画像データなどの画像を記録紙に記録するものであり、この記録部２７における記録方式としては、例えば、電子写真方式を用いることができる。オプションボード３から転送された画像データは、画像メモリ２６に一旦格納された後、コーデック２５によって復号され、この記録部２７においてその画像が用紙に記録される。
【００３４】
操作部２８は、図示しないが原稿読取部２４に原稿の読取開始を指示するためのスタートキー、コピー部数などを入力するためのテンキー、各種設定を行うためのカーソルキーなど、表示部２９と連動した各種操作キーを備えている。表示部２９は、各種の設定状態や複合機１の動作状態などを文字や図形などで表示する液晶表示装置（ＬＣＤ：Liquid Crystal Display）や、点灯又は消灯で表示するＬＥＤランプなどを備えている。
【００３５】
以上に説明したように構成された複合機１に対して、ＬＡＮ５上のクライアントＰＣ６からＰＤＬデータが送信されると、当該ＰＤＬデータはネットワークインターフェースコントローラ４によってオプションボード３に転送される。そして、ＰＤＬデータは、オプションボード３において展開されて所定の符号化方式で符号化された後、メインボード２へと転送されて当該メインボード２においてその画像が用紙に記録される。また、クライアントＰＣ６は、複合機１において印刷すべきＰＤＬデータの他に、オプションボード３のＦｌａｓｈＲＯＭ９に記憶されているファームウェアの全体又は一部をアップデートするための書き換えデータを複合機１に対して送信する。
【００３６】
オプションボード３は、ＦｌａｓｈＲＯＭ９の各記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆに記憶されているファームウェアの全体、すなわち、記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆのデータの全てをアップデートすることは当然に可能であるが、一部の記憶領域のデータのみをアップデートすることも可能である。ＦｌａｓｈＲＯＭ９の各記憶領域の一部のみのアップデートを行う場合には、クライアントＰＣ６から、ＦｌａｓｈＲＯＭ９の記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆのうち、書き換えが必要な記憶領域に対応する書き換えデータのみを送信する。
【００３７】
以下、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１及び第２カーネル領域Ｆ−Ｋ２のデータのみをアップデートするための書き換えデータ（以下、「Ｋ領域用書き換えデータ」という。）を例としてクライアントＰＣ６から送信される書き換えデータについて、図３に基づいて説明する。このＫ領域用書き換えデータは、図３に示すようにＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１及び第２カーネル領域Ｆ−Ｋ２に記憶されているデータと同様に、カーネルプログラムのデータに適当なデータサイズの空きデータとから構成されており、そのデータサイズは第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２のサイズと等しい２４８ｋｂである。このように、書き換え用のカーネルプログラムに適当なサイズの空きデータを付加することにより、カーネルプログラムのデータサイズが変動したとしても、常に第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２のサイズと同じデータサイズのＫ領域用書き換えデータをオプションボード３に送信することができる。
【００３８】
このようにして作成されたＫ領域用書き換えデータがオプションボード３に送信された場合、オプションボード３は、Ｋ領域用書き換えデータを受信した後、一旦ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに格納する。そして、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１及び第２カーネル領域２のカーネルプログラムを、データ領域ＳＤ−Ｄに格納したＫ領域用書き換えデータで書き換える。この書き換えに際して、書き換えを行う前に書き換えデータが正常であるか否かを判断し、書き換えを行った後に書き換えられたデータが正常であるか否かを判断する。このデータが正常であるか否かの判断では、所定の誤り検出データ作成手順に基づいて演算処理を行ってデータ検査を実行する。具体的には、オプションボード３の制御部７は、チェックサム（Check Sum）によるデータ検査（サムチェック）を行う。そのため、クライアントＰＣ６から送信される書き換えデータには、書き換えデータを構成する各データを数値として加算し、その総和の値から一定の計算をして求めた誤り検出データ（以下、「チェッカ」という。）が埋め込まれている。
【００３９】
この書き換えデータに埋め込まれる１個のチェッカで表すことのできるデータの領域サイズをＮとすると、領域サイズＮは任意に設定することができるが、領域サイズＮを無限大に設定した場合、いかなるデータサイズの書き換えデータであっても埋め込まれるチェッカの個数は１個である。しかし、オプションボード３においてサムチェックを行う場合に、書き換えデータのどの部分において書き換えエラーが発生したかを特定できるようにするため、ここでは一例としてＮの値は１０２４ｋｂに設定されている。そして、書き換えデータのデータサイズをＭとすると、書き換えデータのデータサイズＭが領域サイズＮ以下である場合にはその書き換えデータに１個のチェッカを埋め込み、データサイズＭが領域サイズＮを越える場合には領域サイズＮに基づいてその書き換えデータを複数の部分領域に分割し、各部分領域毎にチェッカの値を算出し、書き換えデータの後端に算出した複数のチェッカを埋め込む。このチェッカが埋め込まれた領域をチェッカ領域と呼ぶ。
【００４０】
そこで、書き換えデータにチェッカを埋め込む場合、まず予め設定されている領域サイズＮと送信すべき書き換えデータのデータサイズＭから埋め込むチェッカの個数でもある部分領域数ｃを算出する。図３に示すように、書き換えデータがＫ領域用書き換えデータである場合には、書き換えデータのデータサイズＭが２４８ｋｂであり、領域サイズＮの値である１０２４ｋｂ以下であるため、部分領域数ｃは「１」でありこの書き換えデータには１個のチェッカが埋め込まれる。
【００４１】
次に、算出した部分領域数ｃに基づいて各部分領域のデータを加算してサム値を算出する。なお、ここでは、部分領域数ｃは１であるため、書き換えデータを複数の部分領域に分割することなく２４８ｋｂのデータサイズの書き換えデータを部分領域としてデータに対してサム値Ｓ１を算出する。具体的には、２４８ｋｂのＫ領域用書き換えデータを構成する全データを数値として先頭部分から加算してその総和を算出する。このようにして全てのデータの総和からサム値Ｓ１を算出することができるが、ここでは１個のチェッカのデータサイズｂが２バイトであり、書き換えデータの最後の２バイトにチェッカを埋め込むため、最後の２バイトに元々あった値ｖ１をサム値Ｓ１から差引く。そして、このようにして求めたＳ１−ｖ１を反転させた値−（Ｓ１−ｖ１）をチェッカの値として書き換えデータの最後の２バイトに埋め込む。なお、ここでは、Ｋ領域用書き換えデータの最後の２バイトに元々あった値ｖ１を−（Ｓ１−ｖ１）の値のチェッカに書き換えているが、チェッカに書き換える部分のｖ１の値は空きデータの値であるため、チェッカを埋め込んだとしても書き換えデータの内容（ここでは、カーネルプログラム）が変化することはない。すなわち、書き換えデータの内容に影響を与えることなくチェッカを埋め込むことができる。
【００４２】
以上に説明したように、書き換えデータのデータサイズＭが１個のチェッカで表すことのできる領域サイズＮ以下である場合には、書き換えデータには１個のチェッカが埋め込まれる。一方、データサイズＭが領域サイズＮを越える場合には、書き換えデータには複数のチェッカが埋め込まれる。例えば、図４に例示するように書き換えデータが、ＦｌａｓｈＲＯＭ９の一般プログラム領域のデータを書き換えるためのＰ領域用書き換えデータである場合、そのデータサイズＭは２８１６ｋｂであり、領域サイズＮの値である１０２４ｋｂを越えており、部分領域数ｃは３となる。そして、算出した部分領域数ｃに対応する部分領域を図４に示すように、部分領域Ｘ、部分領域Ｙ、及び、部分領域Ｚのように設定する。ここでは、複数の部分領域のうち、最初の部分領域である部分領域Ｘが端数を受け持つように部分領域Ｘのデータサイズを７６８ｋｂに設定し、部分領域Ｙ、及び、部分領域Ｚのデータサイズを領域サイズＮと等しい１０２４ｋｂに設定する。
【００４３】
このようにして、部分領域Ｘ乃至Ｚを設定した後、まず部分領域Ｘについてサム値を算出するが、サム値を算出して各部分領域毎にチェッカを埋め込むと、各部分領域、ここでは部分領域Ｘ、及び、部分領域Ｙのデータの内容が変化してしまう。そこで、部分領域Ｘ乃至Ｚのチェッカは、空きデータが付加されている最後の部分領域Ｚの後端のチェッカ領域に埋め込む。具体的には、部分領域Ｘと部分領域Ｙについて、それぞれ算出した各領域のサム値をそのまま反転させてチェッカとして埋め込む。すなわち、図４に示すように、７６８ｋｂの部分領域Ｘの全データの総和であるサム値Ｓ２を算出し、これを反転させた−Ｓ２の値を部分領域Ｘのチェッカとして部分領域Ｚにおけるチェッカ領域の先頭に埋め込む。ここで、チェッカ領域の先頭は、１個のチェッカのデータサイズｂと、書き換えデータのデータサイズＭと、部分領域数（チェッカの個数）ｃとに基づいて、Ｍ−ｃ×ｂの関係式から算出することができる。
【００４４】
このようにして部分領域Ｘのチェッカを埋め込んだ後、部分領域Ｙについても同様にサム値Ｓ３を算出し、算出したサム値をそのまま反転させた値−Ｓ３を部分領域Ｙのチェッカとして部分領域Ｚにおける部分領域Ｘのチェッカの次の２バイトに埋め込む。そして、最後の部分領域である部分領域Ｚのサム値Ｓ４から求めたチェッカを部分領域Ｚの最後の２バイトに埋め込むが、この部分領域Ｚには、前記部分領域Ｘ及び、Ｙのチェッカと部分領域Ｚのチェッカの３個のチェッカを埋め込むためのチェッカ領域が存在するため、部分領域Ｚの全データの総和であるサム値Ｓ４からチェッカ領域に元々存在したデータ、すなわち、書き換えデータの最後の６バイト分のデータの総和であるｖ２を部分領域を設定した段階で算出しておき、サム値Ｓ４から差引く。そして、これを反転させた値−（Ｓ４−ｖ２）を部分領域Ｚのチェッカとして部分領域Ｚの最後の２バイトに埋め込む。
【００４５】
以上に説明したように、実データに適当なデータサイズの空きデータが付加された書き換えデータに、当該書き換えデータのデータサイズＭに基づいて１又は複数のチェッカが埋め込まれるが、ブート領域Ｆ−Ｂのデータを書き換えるためのＢ領域用書き換えデータ及び、フォント領域Ｆ−Ｆのデータを書き換えるためのＦ領域用書き換えデータについても同様に書き換えデータを作成してチェッカが埋め込まれる。そして、このようにチェッカ領域にチェッカが埋め込まれた後、書き換えが必要な記憶領域の書き換えデータのみがクライアントＰＣ６から送信される。例えば、一般プログラム領域Ｆ−Ｐのデータのみ書き換えが必要な場合には、Ｐ領域用書き換えデータのみからなる２８１６ｋｂの書き換えデータが送信され、第１カーネル領域Ｆ−Ｋ１及び第２カーネル領域Ｆ−Ｋ２、並びに、一般プログラム領域Ｆ−Ｐのデータについて書き換えが必要な場合には、Ｋ領域用書き換えデータとＰ領域用書き換えデータとからなる３０６４ｋｂの書き換えデータがクライアントＰＣ６から送信される。
【００４６】
次に、以上に説明したようにチェッカを用いて書き換えデータが正常であるか否かを判断するデータ検査の方法について説明する。以下においては、書き換えデータによって書き換えられた後のＦｌａｓｈＲＯＭ９の記憶領域のデータが正常であるか否かを判断するデータ検査の場合について説明するが、書き換え前に一旦ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータが正常であるか否かを判断するデータ検査の場合も同様にして実行できる。
【００４７】
まず、書き換えデータによる自装置１のファームウェアの書き換え処理が終了した後、書き換えた記憶領域のサイズＭ及び、１個のチェッカで表すことができる領域サイズＮからサムチェックを行う対象領域の部分領域数ｃを算出し、部分領域を設定する。ここで、対象領域は、ＦｌａｓｈＲＯＭ９の記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆのうちの書き換えデータに書き換えた記憶領域であり、複数の記憶領域に対して書き換えを行った場合には、まず、その複数の記憶領域のうちのいずれか１つの記憶領域を対象領域してサムチェックを行う。上述したように、対象領域のデータ（書き換えデータ）には、サムチェックを行う部分領域の数と等しい数のチェッカが埋め込まれている。書き換えたＦｌａｓｈＲＯＭ９の記憶領域のサイズＭと該記憶領域のデータを書き換えた書き換えデータのデータサイズは等しいため、対象領域のデータを書き換えた書き換えデータのデータサイズについてもＭで表すことができる。
【００４８】
例えば、図５に示すように対象領域が２８１６ｋｂの一般プログラム領域Ｆ−Ｐである場合には、対象領域のサイズ、すなわち一般プログラム領域Ｆ−Ｐを書き換えたＰ領域用書き換えデータのデータサイズＭが１個のチェッカで表すことができる領域サイズＮ（１０２４ｋｂ）を越えており、部分領域数ｃは３である。そして、図４と同様に一般プログラム領域Ｆ−Ｐを７６８ｋｂの部分領域Ｘ、１０２４ｋｂの部分領域Ｙ、１０２４ｋｂの部分領域Ｚの３つの部分領域を設定する。なお、ここでも複数の部分領域のうち、先頭の部分領域が端数を受け持つように各部分領域のサイズが設定される。
【００４９】
そして、対象領域におけるチェッカ領域からチェッカを読み出す。対象領域におけるチェッカ領域の先頭アドレスＤは、対象領域の先頭アドレスをＡ、対象領域（書き換えた記憶領域）のサイズＭ、チェッカの個数（部分領域数）ｃ、１個のチェッカのデータサイズｂに基づいて、Ｄ＝Ａ＋Ｍ−ｃ×ｂの関係式から算出することができる。この関係式からチェッカ領域の先頭アドレスＤを算出してチェッカの位置を特定し、その先頭アドレスＤ以降のデータをチェッカの値として読み出す。ここで、図５に示す一般プログラム領域Ｆ−Ｐの場合には、部分領域Ｘのチェッカと部分領域Ｙのチェッカと部分領域Ｚのチェッカの３つのチェッカの値を読み出すことができる。なお、１個のチェッカで表すことができる領域サイズＮと１個のチェッカのデータサイズｂは、第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２に記憶されているデータチェックコードによって予め設定されている。１個のチェッカで表すことができる領域サイズＮと１個のチェッカのデータサイズｂは、書き換えデータにチェッカを埋め込む際の領域サイズとデータサイズに等しい値がそれぞれ設定されており、例えば、領域サイズＮが１０２４ｋｂ、データサイズｂが２バイトである。
【００５０】
次に、部分領域の先頭アドレスとサイズに基づいてサム値を計算する。例えば、一般プログラム領域Ｆ−Ｐのように、３つの部分領域が設定されている場合、まず、部分領域Ｘの先頭アドレス、すなわち、対象領域の先頭アドレスＡから７６８ｋｂの部分領域Ｘの全データを数値として加算してサム値を計算する。そして、計算したサム値とチェッカの値の和がゼロになるか否かを判断する。サム値とチェッカの値の和がゼロである場合には、部分領域に誤りはないと判断し、ゼロでない場合には部分領域に誤りがあると判断する。すべての部分領域（部分領域Ｘ，Ｙ，Ｚ）についてサムチェックを行い、すべての部分領域に誤りがない場合に、当該対象領域のデータが正常であると判断する。
【００５１】
以下に、図６及び図７を用いて、クライアントＰＣ６から送信された書き換えデータに基づいてオプションボード３のＦｌａｓｈＲＯＭ９に記憶されているファームウェアをアップデート（書き換え）する場合に、オプションボード３の制御部７が実行する処理について説明する。オプションボード３の制御部７は、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２からＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込まれたカーネルプログラムに従って処理を実行する。ＦｌａｓｈＲＯＭ９に記憶されているファームウェアは、ブート領域Ｆ−Ｂ、第１カーネル領域Ｆ−Ｋ１、第２カーネル領域Ｆ−Ｋ２、一般プログラム領域Ｆ−Ｐ、フォント領域Ｆ−Ｆ毎にそれぞれ単独でアップデート（書き換え）可能であるが、以下には、第１カーネル領域Ｆ−Ｋ１、第２カーネル領域Ｆ−Ｋ２、一般プログラム領域Ｆ−Ｐ、フォント領域Ｆ−Ｆをアップデート（書き換え）する場合について説明する。なお、図６及び図７に示す各処理の実行順序は図示するものに限定されるものではなく、処理の実行順序を変更しても本発明を実現できる場合には適宜に変更してもよい。
【００５２】
まず、制御部７は、クライアントＰＣ６から送信され、一時的にＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータの正当性のチェックを行う（Ｓ１０１）。この正当性のチェックでは、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されているデータが書き換えデータであるか否かのチェックと書き換えデータが正常であるか否かのチェックを行う。ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、及び、第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムには、図８に示すような、書き換えデータのデータサイズとＦｌａｓｈＲＯＭ９の各記憶領域Ｆ−Ｂ（Ｂと表記）、Ｆ−Ｋ１（Ｋと表記）、Ｆ−Ｋ２（Ｋと表記）、Ｆ−Ｐ（Ｐと表記）、及び、Ｆ−Ｆ（Ｆと表記）とを対応付けたテーブルが含まれている。したがって、制御部７は、受信してＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されているデータのデータサイズが図８に示すデータサイズのいずれかであるか否かによって、受信したデータが書き換えデータであるか否かを判断することができる。例えば、受信した書き換えデータのデータサイズが２４８ｋｂであれば、書き換えデータは第１カーネル領域Ｆ−Ｋ１及び第２カーネル領域Ｆ−Ｋ２のデータを書き換えるためのＫ領域用書き換えデータであると判断し、また、受信した書き換えデータのデータサイズが７９３６ｋｂであれば、書き換えデータは一般プログラム領域Ｆ−Ｐのデータを書き換えるためのＰ領域用書き換えデータとフォント領域Ｆ−Ｆのデータを書き換えるためのＦ領域用書き換えデータであると判断する。受信した書き換えデータが正常であるか否かは、上述したチェッカを用いたサムチェックによってチェックする。
【００５３】
そして、書き換えデータが正当であるか否かを判断する（Ｓ１０２）。受信したデータが書き換えデータであり、かつ、書き換えデータが正常である場合に書き換えデータが正当であると判断する。書き換えデータが正当でないと判断すると（Ｓ１０２：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、書き換えデータが正当であると判断すると（Ｓ１０２：ＹＥＳ）、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に書き換え前の現時点で記憶されているカーネルプログラムが正常であるか（破損しているか）否かのチェックを行い（Ｓ１０３）、チェックの結果に基づいて当該カーネルプログラムが正常であるか否かを判断する（Ｓ１０４）。カーネルプログラムが正常であるか否かのチェックは、上述したチェッカを用いたサムチェックによって行う。
【００５４】
第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラムが正常でないと判断すると（Ｓ１０４：ＮＯ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１を書き換える（Ｓ１０５）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に書き込まれたカーネルプログラムが正常であるか否かをチェックし（Ｓ１０６）、当該カーネルプログラムが正常であるか否かを判断する（Ｓ１０７）。
【００５５】
ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に書き込まれたカーネルプログラムが正常でないと判断すると（Ｓ１０７：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該カーネルプログラムが正常であると判断すると（Ｓ１０７：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータから一般プログラムの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐを書き換える（Ｓ１０８）。そして、チェッカを用いたチェックサムによりＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに書き込まれた一般プログラムが正常であるか否かをチェックし（Ｓ１０９）、当該一般プログラムが正常であるか否かを判断する（Ｓ１１０）。
【００５６】
ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに書き込まれた一般プログラムが正常でないと判断すると（Ｓ１１０：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該一般プログラムが正常であると判断すると（Ｓ１１０：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータからフォントデータの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆを書き換える（Ｓ１１１）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに書き込まれたフォントデータが正常であるか否かをチェックし（Ｓ１１２）、当該フォントデータが正常であるか否かを判断する（Ｓ１１３）。
【００５７】
ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに書き込まれたフォントデータが正常でないと判断すると（Ｓ１１３：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該フォントデータが正常であると判断すると（Ｓ１１３：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２を書き換える（Ｓ１１４）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に書き込まれたカーネルプログラムが正常であるか否かをチェックし（Ｓ１１５）、当該カーネルプログラムが正常であるか否かを判断する（Ｓ１１６）。当該カーネルプログラムが正常でないと判断すると（Ｓ１１６：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該カーネルプログラムが正常であると判断すると（Ｓ１１６：ＹＥＳ）、ファームウェアの書き換え処理を終了する。
【００５８】
ステップＳ１０４において、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に現時点で記憶されているカーネルプログラムが正常であると判断すると（Ｓ１０４：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータから一般プログラムの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐを書き換える（Ｓ１１７）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに書き込まれた一般プログラムが正常であるか否かをチェックし（Ｓ１１８）、当該一般プログラムが正常であるか否かを判断する（Ｓ１１９）。
【００５９】
ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに書き込まれた一般プログラムが正常でないと判断すると（Ｓ１１９：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該一般プログラムが正常であると判断すると（Ｓ１１９：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータからフォントデータの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆを書き換える（Ｓ１２０）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに書き込まれたフォントデータが正常であるか否かをチェックし（Ｓ１２１）、当該フォントデータが正常であるか否かを判断する（Ｓ１２２）。
【００６０】
ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに書き込まれたフォントデータが正常でないと判断すると（Ｓ１２２：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該フォントデータが正常であると判断すると（Ｓ１１２：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２を書き換える（Ｓ１２３）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に書き込まれたカーネルプログラムが正常であるか否かをチェックし（Ｓ１２４）、当該カーネルプログラムが正常であるか否かを判断する（Ｓ１２５）。
【００６１】
ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に書き込まれたカーネルプログラムが正常でないと判断すると（Ｓ１２５：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該カーネルデータが正常であると判断すると（Ｓ１２５：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１を書き換える（Ｓ１２６）。そして、チェッカを用いたサムチェックによりＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に書き込まれたカーネルプログラムが正常であるか否かをチェックし（Ｓ１２７）、当該カーネルプログラムが正常であるか否かを判断する（Ｓ１２８）。当該カーネルプログラムが正常でないと判断すると（Ｓ１２８：ＮＯ）、所定のエラー処理を行う（Ｓ１２９）。一方、当該カーネルプログラムが正常であると判断すると（Ｓ１２８：ＹＥＳ）、ファームウェアの書き換え処理を終了する。
【００６２】
このように、オプションボード３では、ファームウェアを、データの種類別に分割してＦｌａｓｈＲＯＭ９の各記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆに記憶し、書き換えデータによってファームウェアをアップデートする際には、ＦｌａｓｈＲＯＭ９の各記憶領域Ｆ−Ｂ、Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、及び、Ｆ−Ｆ毎にデータの書き換えを行う。そして、書き換えデータに含まれるカーネルプログラムを、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１と第２カーネル領域Ｆ−Ｋ２との２箇所に書き込む。このような方法によってファームウェアのアップデート（書き換え）を行うと、アップデート中の停電などによりオプションボード３に電源断が発生した場合でも、第１カーネル領域Ｆ−Ｋ１のカーネルプログラムと第２カーネル領域Ｆ−Ｋ２のカーネルプログラムとの両方が一度に破損することがないので、正常なカーネルプログラムが存在しないという事態が発生することを防止することができる。
【００６３】
また、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１のカーネルプログラム及び第２カーネル領域Ｆ−Ｋ２のカーネルプログラムの書き換えを行う際に、第１カーネル領域Ｆ−Ｋ１のカーネルプログラムが破損しているか（正常であるか）否かを判断し、破損している場合には、第２カーネル領域Ｆ−Ｋ２のカーネルプログラムの書き換えに先立って第１カーネル領域Ｆ−Ｋ１のカーネルプログラムの書き換えを行う。また、第２カーネル領域Ｆ−Ｋ２のカーネルプログラムが損傷している場合（図６のステップ１０４の判断におけるＹＥＳの場合に含まれる）には、第１カーネル領域Ｆ−Ｋ１のカーネルプログラムの書き換えに先立って第２カーネル領域Ｆ−Ｋ２のカーネルプログラムの書き換えを行う。したがって、第１カーネル領域Ｆ−Ｋ１のカーネルプログラムと第２カーネル領域Ｆ−Ｋ２のカーネルプログラムとのどちらかが破損している状態で、第１カーネル領域Ｆ−Ｋ１のカーネルプログラム及び第２カーネル領域Ｆ−Ｋ２のカーネルプログラムの書き換えを行う場合に電源断が再び発生した場合でも、第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２のどちらかに正常なカーネルプログラムが存在することとなる。
【００６４】
本実施の形態における複合機１では、以上に説明したような方法によって、オプションボード３のＦｌａｓｈＲＯＭ９に記憶されているファームウェアの書き換えを行う。そして、複合機１が再起動され、オプションボード３に電力が供給されて、ＦｌａｓｈＲＯＭ９に記憶されているファームウェアをＳＤＲＡＭ１０に読み込んだ際に、オプションボード３に特定の状況が発生すると、当該特定の状況が発生した旨を示す情報（告知情報に相当する。）をメインボード２に送信する。オプションボード３のファームウェアがＳＤＲＡＭ１０に読み込まれた際にオプションボード３に特定の状況が発生していない場合には、オプションボード３は、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２からＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込まれたカーネルプログラムのバージョンの文字列を示すバージョン情報をメインボード２に送信する。そして、先に述べたように、特定の状況がオプションボード３に発生した場合には、このカーネルプログラムのバージョンの文字列を当該特定の状況の発生及びその状況の内容を示す文字列に置き換えたバージョン情報、又は、カーネルプログラムのバージョンの文字列に当該特定の状況の発生及びその状況の内容を示す文字列を埋め込んだバージョン情報をメインボード２に送信する。
【００６５】
複合機１のユーザやサービスマンは、複合機１の電源の投入後に、複合機１の操作部２８に対して、オプションボード３のファームウェアのバージョンを表示させるための所定の操作を行うことによって、上記バージョン情報に基づいて、カーネルプログラムのバージョンを示す文字列、又は、オプションボード３に特定の状況が発生した旨を示す文字列を表示部２９に表示することができる。カーネルプログラムのバージョンを示す文字列に置き換えられ、又は、当該文字列に埋め込まれる文字列が示す、オプションボード３に発生した特定の状況とは、例えば、オプションボード３のファームウェアの書き換えに伴って発生する状況である。より具体的には、ＦｌａｓｈＲＯＭ９に記憶されているファームウェアに異常があり（破損している）正常ではない状況や、書き換えられたファームウェアのカーネルプログラムにフォントデータが適合していない状況などである。
【００６６】
ファームウェアに異常があるか否かは、ＦｌａｓｈＲＯＭ９の各領域Ｆ−Ｋ１、Ｆ−Ｋ２、Ｆ−Ｐ、Ｆ−Ｆに記憶されているデータ（プログラム）毎に、上述したチェッカを用いたサムチェックにより確認することができる。
【００６７】
また、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータが、第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムに適合しているか否かは、フォントデータのサムチェックに使用されるチェッカ、及び、図９に示すようなバージョンテーブル４０に基づいて確認することができる。このバージョンテーブル４０は、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに書き込まれているであろうフォントデータのバージョンと当該バージョンのフォントデータのチェッカとを対応付けて記憶したテーブルである。ＦｌａｓｈＲＯＭ９に記憶されているフォントデータは、空きデータも含めて５１２０ｋｂであるので、図２に示すように、チェッカ領域には５つのチェッカが存在する。図９のバージョンテーブル４０に、フォントデータのバージョンと対応付けて記憶されているのは、チェッカ領域の５つのチェッカのうちの５つ目（末尾）のチェッカである。そのため、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されるフォントデータは、フォントデータの５つ目の部分領域のチェックサムに使用されるチェッカの値が、フォントデータのバージョン毎に異なるように構成されている。そして、当該チェッカの値を、バージョンテーブル４０において検索することによって、ＦｌａｓｈＲＯＭ９に記憶されているフォントデータのバージョンを知ることができる。ＦｌａｓｈＲＯＭ９に記憶されているフォントデータのバージョンが、バージョンテーブル４０に記憶されている最新のバージョンでない場合に、ＦｌａｓｈＲＯＭ９に記憶されているフォントデータが、同じくＦｌａｓｈＲＯＭ９に記憶されているカーネルプログラムに適合していないと判断する。
【００６８】
次に、図１０及び図１１を用いて、オプションボード３に電力が供給されて、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、第２カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、一般プログラム領域Ｆ−Ｐに記憶されている一般プログラム、フォント領域Ｆ−Ｆに記憶されているフォントデータをＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄの各領域に読み込み、バージョン情報をメインボード２に送信する場合に、オプションボード３の制御部７が実行する処理について説明する。オプションボード３の制御部７は、ＦｌａｓｈＲＯＭ９のブート領域Ｆ−ＢからＳＤＲＡＭ１０のブート領域ＳＤ−Ｂに読み込まれたブートプログラム、及び、第１カーネル領域Ｆ−Ｋ１又は第２カーネル領域Ｆ−Ｋ２から第１カーネル領域ＳＤ−Ｋ１に読み込まれたカーネルプログラムに従って処理を実行する。なお、図１０及び図１１に示す各処理の実行順序は図示するものに限定されるものではなく、処理の実行順序を変更しても本発明を実現できる場合には適宜に変更してもよい。
【００６９】
まず、複合機１の電源が投入されてオプションボード３に電力が供給されると、ＦｌａｓｈＲＯＭ９のブート領域Ｆ−Ｂに記憶されているブートプログラムがＳＤＲＡＭ１０のブート領域ＳＤ−Ｂに読み込まれ、実行される（Ｓ２０１）。ブートプログラムがＳＤＲＡＭ１０に読み込まれると、制御部７は、ブートプログラムに基づいて、例えば、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄに設けられた、ＦｌａｓｈＲＯＭ９に記憶されているカーネルプログラムのバージョンを示すバージョン情報（文字列情報）を一時的に記憶するためのバージョン文字列領域の初期化を行う（Ｓ２０２）。次に、制御部７は、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラムをＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込みつつ、当該カーネルプログラムが正常であるか否かをチェックする（Ｓ２０３）。このカーネルプログラムが正常であるか否かのチェックは、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１のチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。つまり、制御部７は、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１からカーネルプログラムのデータを順次に読み出して第１カーネル領域ＳＤ−Ｋ１に書き込みつつ、第１カーネル領域Ｆ−Ｋ１から読み出した各データを数値として加算し、サムチェックのための総和を求める。そして、サムチェックの結果に基づいて、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、すなわち、ＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込まれたカーネルプログラムが正常であるか否かを判断する（Ｓ２０４）。
【００７０】
ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラムが正常でないと判断すると（Ｓ２０４：ＮＯ）、次に、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムをＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込みつつ、当該カーネルプログラムが正常であるか否かをチェックする（Ｓ２０５）。このカーネルプログラムが正常であるか否かのチェックは、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２のチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラム、すなわち、ＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込まれたカーネルプログラムが正常であるか否かを判断する（Ｓ２０６）。
【００７１】
ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムが正常であると判断すると（Ｓ２０６：ＹＥＳ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄのバージョン文字列領域に、第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラムが正常でない旨を示す文字列である、例えば“ＥＲＲ−Ｋ１”を示す文字列情報を書き込み（Ｓ２０７）、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“ＥＲＲ−Ｋ１”を示す文字情報）をメインボード２に送信し（Ｓ２２５）、処理を終了する。
【００７２】
一方、第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムが正常でないと判断すると（Ｓ２０６：ＮＯ）、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム（正常ではない）を、ＳＤＲＡＭ１０の第１カーネル領域ＳＤ−Ｋ１に読み込み（Ｓ２０８）、バージョン文字列領域に、第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム及び第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムが正常でない旨を示す文字列である、例えば“ＥＲＲＫ１２”を示す文字列情報を書き込む（Ｓ２０９）。そして、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“ＥＲＲＫ１２”を示す文字情報）をメインボード２に送信して（Ｓ２２５）、処理を終了する。
【００７３】
ステップＳ２０４において、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラムが正常であると判断すると（Ｓ２１０：ＹＥＳ）、次に、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムをＳＤＲＡＭ１０の第２カーネル領域ＳＤ−Ｋ２に読み込みつつ、当該カーネルプログラムが正常であるか否かをチェックする（Ｓ２１０）。このカーネルプログラムが正常であるか否かのチェックは、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２のチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラム、すなわち、ＳＤＲＡＭ１０の第２カーネル領域ＳＤ−Ｋ２に読み込まれたカーネルプログラムが正常であるか否かを判断する（Ｓ２１１）。
【００７４】
ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムが正常でないと判断すると（Ｓ２１１：ＮＯ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄのバージョン文字列領域に、第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムが正常でない旨を示す文字列である、例えば“ＥＲＲ−Ｋ２”を示す文字列情報を書き込み（Ｓ２１２）、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“ＥＲＲ−Ｋ２”を示す文字情報）をメインボード２に送信し（Ｓ２２５）、処理を終了する。
【００７５】
一方、ＦｌａｓｈＲＯＭ９の第２カーネル領域Ｆ−Ｋ２に記憶されているカーネルプログラムが正常であると判断すると（Ｓ２１１：ＹＥＳ）、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１から、当該領域Ｆ−Ｋ１に記憶されているカーネルプログラムのバージョンを示す文字列である、例えば、“Ａ０Ａ０Ｂ１”を示す文字列情報を読み出して、バージョン文字列領域に書き込む（Ｓ２１３）。
【００７６】
このように、ＦｌａｓｈＲＯＭ９からＳＤＲＡＭ１０に読み込んだカーネルプログラムが正常である場合には、制御部７は、当該カーネルプログラムに基づいて以下の処理を実行する。まず、ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに記憶されている一般プログラムをＳＤＲＡＭ１０の一般プログラム領域ＳＤ−Ｐに読み込みつつ、当該一般プログラムが正常であるか否かをチェックする（Ｓ２１４）。この一般プログラムが正常であるか否かのチェックは、ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐのチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに記憶されている一般プログラム、すなわち、ＳＤＲＡＭ１０の一般プログラム領域ＳＤ−Ｐに読み込まれた一般プログラムが正常であるか否かを判断する（Ｓ２１５）。
【００７７】
ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに記憶されている一般プログラムが正常でないと判断すると（Ｓ２１５：ＮＯ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄのバージョン文字列領域の一部に、一般プログラム領域Ｆ−Ｐに記憶されている一般プログラムが正常でない旨を示す文字列である、例えば“ＥＲＲ−Ｐ”を示す文字列情報を埋め込み（Ｓ２１６）、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“ＡＥＲＲ−Ｐ”を示す文字情報）をメインボード２に送信し（Ｓ２２５）、処理を終了する。
【００７８】
一方、ＦｌａｓｈＲＯＭ９の一般プログラム領域Ｆ−Ｐに記憶されている一般プログラムが正常であると判断すると（Ｓ２１５：ＹＥＳ）、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータをＳＤＲＡＭ１０のフォント領域ＳＤ−Ｆに読み込みつつ、当該フォントデータが正常であるか否かをチェックする（Ｓ２１７）。このフォントデータが正常であるか否かのチェックは、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆのチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータ、すなわち、ＳＤＲＡＭ１０のフォント領域ＳＤ−Ｆに読み込まれたフォントデータが正常であるか否かを判断する（Ｓ２１８）。
【００７９】
ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータが正常でないと判断すると（Ｓ２１８：ＮＯ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄのバージョン文字列領域の一部に、フォント領域Ｆ−Ｆに記憶されているフォントデータが正常でない旨を示す文字列である、例えば“ＥＲＲ−Ｆ”を示す文字列情報を埋め込み（Ｓ２１９）、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“ＡＥＲＲ−Ｆ”を示す文字情報）をメインボード２に送信し（Ｓ２２５）、処理を終了する。
【００８０】
一方、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータが正常であると判断すると（Ｓ２１８：ＹＥＳ）、フォント領域Ｆ−Ｆのチェッカ領域の末尾に記憶されているチェッカの値を、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているバージョンテーブル４０において検索してＦｌａｓｈＲＯＭ９に記憶されているフォントデータのバージョンをチェックする（Ｓ２２０）。
【００８１】
チェッカの値を用いたバージョンテーブル４０における検索の結果、バージョンテーブル４０内に該当するチェッカの値がないと判断すると（Ｓ２２１）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄのバージョン文字列領域の一部に、フォント領域Ｆ−Ｆに記憶されているフォントデータのバージョンが不明である旨を示す文字列である、例えば“ＸＸ”を示す文字列情報を埋め込み（Ｓ２２２）、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“Ａ０Ａ０ＸＸ”を示す文字情報）をメインボード２に送信し（Ｓ２２５）、処理を終了する。
【００８２】
一方、チェッカの値を用いたバージョンテーブル４０に対する検索の結果、フォント領域Ｆ−Ｆに記憶されているフォントデータのバージョンが最新のものでないと判断すると（Ｓ２２３：ＮＯ）、ＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄのバージョン文字列領域の一部に、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータのバージョンを示す文字列、例えば、フォントデータのバージョンが「２」である場合には、“＠２”を示す文字列情報を埋め込み（Ｓ２２４）、当該バージョン文字列領域に記憶されているバージョン情報（この場合は、“Ａ０Ａ０＠２”）をメインボード２に送信し（Ｓ２２５）、処理を終了する。
【００８３】
なお、ＦｌａｓｈＲＯＭ９のフォント領域Ｆ−Ｆに記憶されているフォントデータが最新のバージョンである場合には、ステップＳ２１３においてバージョン文字列領域に書き込まれた、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラムのバージョン、例えば、“Ａ０Ａ０Ｂ１”が、ステップＳ２２５でそのままメインボード２に送信される。
【００８４】
以上に説明したように、本発明の実施例の複合機１によれば、オプションボード３に電源が投入された際に、例えば、ファームウェアの書き換えによりオプションボード３に特定の状況が発生している場合には、オプションボード３のファームウェアのバージョンを示すバージョン情報が特定の状況を示す情報に置き換えられ、又は、バージョン情報に特定の状況を示す情報が埋め込まれ、当該バージョン情報がメインボード２に送信される。そして、複合機１の操作部２８に対してオプションボード３のバージョンを表示させる所定の操作が行われると、バージョン情報に基づいてオプションボード３に発生している特定の状況を示す情報を表示部２９に表示する。したがって、複合機１のユーザやサービスマンは、バージョンを表示させるための既知の操作のみにより、複合機１を移動させたり筐体を開いたりすることなく、簡便に、オプションボード３に発生した特定の状況を知ることができる。
【００８５】
なお、本発明の実施形態は上述の形態に限らず、本発明の技術的思想の範囲内において種々に変更してもよい。例えば、上述の実施形態では、バージョン情報を６文字の文字列を示す情報としたが、バージョン情報が示す文字列は６文字に限定されるものではない。
【００８６】
また、上述の実施形態では、カーネルプログラムが正常でない状況が発生した場合には、バージョン情報をカーネルプログラムが正常でない状況が発生した旨を示す情報に置き換え、それ以外の状況が発生した場合には、バージョン情報にその状況が発生したことを示す情報を埋め込むこととしたが、バージョン情報を特定の状況が発生したことを示す情報に置き換えるか、バージョン情報に特定の状況が発生したことを示す情報を埋め込むかの区別は、これに限るものでなく、適宜に設定してもよい。
【産業上の利用可能性】
【００８７】
本発明は、メイン制御部とサブ制御部とを備える装置に適用可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の画像処理装置の一例としての複合機１の構成例を示したブロック図である。
【図２】ＦｌａｓｈＲＯＭ９とＳＤＲＡＭ１０の記憶領域を説明する説明図である。
【図３】第１カーネル領域Ｆ−Ｋ１及び第２カーネル領域Ｆ−Ｋ２のデータを書き換えるためのＫ領域用書き換えデータを説明する説明図である。
【図４】一般プログラム領域Ｆ−Ｐのデータを書き換えるためのＰ領域用書き換えデータを説明する説明図である。
【図５】一般プログラム領域Ｆ−Ｐのデータに対して行われるサムチェックを説明する説明図である。
【図６】クライアントＰＣ６から送信された書き換えデータに基づいてオプションボード３のＦｌａｓｈＲＯＭ９に記憶されているファームウェアをアップデート（書き換え）する場合に、オプションボード３の制御部７が実行する処理について説明するフローチャートである。
【図７】図６のフローチャートに続くフローチャートである。
【図８】書き換えデータのデータサイズと書き換えデータによって書き換えるべき記憶領域との関係を記憶したテーブルを示す説明図である。
【図９】フォントデータのバージョンとフォントデータのチェッカの値とを対応付けて記憶したバージョンテーブル４０の一例を示す説明図である。
【図１０】オプションボード３に電力が供給されて、ＦｌａｓｈＲＯＭ９の第１カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、第２カーネル領域Ｆ−Ｋ１に記憶されているカーネルプログラム、一般プログラム領域Ｆ−Ｐに記憶されている一般プログラム、フォント領域Ｆ−Ｆに記憶されているフォントデータをＳＤＲＡＭ１０のデータ領域ＳＤ−Ｄの各領域に読み込み、バージョン情報をメインボード２に送信する場合に、オプションボード３の制御部７が実行する処理について説明するフローチャートである。
【図１１】図１０のフローチャートに続くフローチャートである。
【符号の説明】
【００８９】
１        画像処理装置
２        メインボード
３        オプションボード
７        制御部（ＭＰＵ）
８        インターフェース回路
９        ＦｌａｓｈＲＯＭ
１０      ＳＤＲＡＭ
Ｆ−Ｂ    ブート領域
Ｆ−Ｋ１  第１カーネル領域
Ｆ−Ｋ２  第２カーネル領域
Ｆ−Ｐ    一般プログラム領域
Ｆ−Ｆ    フォント領域
２１      制御部（ＭＰＵ）
２９      表示部
【図１】
2008048229.tif 000003
【図２】
2008048229.tif 000004
【図３】
2008048229.tif 000005
【図４】
2008048229.tif 000006
【図５】
2008048229.tif 000007
【図６】
2008048229.tif 000008
【図７】
2008048229.tif 000009
【図８】
2008048229.tif 000010
【図９】
2008048229.tif 000011
【図１０】
2008048229.tif 000012
【図１１】
2008048229.tif 000013