(57)【要約】【課題】複数のＣＰＵおよび記憶部を有する情報処理装置において、互いに異なるＣＰＵに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができるようにする。【解決手段】画像表示装置１の第１ＣＰＵ１１は、半導体メモリ２に格納されている対象ファイルを指定されたデバイスである第１フラッシュＲＯＭ１２または第１ＥＥＰＲＯＭ１４に書き込むか、または、第２ＣＰＵ３１を制御して、対象ファイルを指定されたデバイスである第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４に書き込ませる。また、第１ＣＰＵ１１は、通常の処理を行いながら、インストールする対象ファイルが用意がされたか否かを確認し、用意された場合、対象ファイルのインストール処理を開始する。本発明は、パーソナルコンピュータに適用できる。【選択図】　　　図１
2004030539.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御部および複数の記憶部を有し、複数の前記制御部の１つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置であって、
前記主制御部より供給される前記ソフトウェアの記憶に関する指示を取得する第１の取得手段と、
前記主制御部に前記ソフトウェアを要求する要求手段と、
前記要求手段による要求に応じて供給された前記ソフトウェアを取得する第２の取得手段と、
前記記憶部を制御し、前記第２の取得手段により取得された前記ソフトウェアを記憶させる記憶制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記指示は、前記ソフトウェアに関する情報および前記ソフトウェアを記憶させる記憶部に関する情報を含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の取得手段により取得された前記指示により指定された記憶部を、複数の前記記憶部の中から選択し、前記取得手段により取得された前記ソフトウェアを記憶させる記憶部として設定する記憶部設定手段をさらに備え、
前記記憶制御手段は、前記記憶部設定手段により設定された前記記憶部に前記ソフトウェアを記憶させる
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記記憶制御手段の制御により前記記憶部に記憶された前記ソフトウェアが正常であるか否かを確認する確認手段と、
前記確認手段による確認結果を前記主制御部に供給する供給手段と
をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
複数の制御部および複数の記憶部を有し、複数の前記制御部の１つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置の情報処理方法であって、
前記主制御部に前記ソフトウェアを要求する要求ステップと、
前記要求ステップの処理による要求に応じて供給された前記ソフトウェアの取得を制御する取得制御ステップと、
前記主制御部より供給される指示に基づいて、前記記憶部を制御し、前記取得制御ステップの処理により取得が制御された前記ソフトウェアを記憶させる記憶制御ステップと
を含むことを特徴とする情報処理方法。
【請求項６】
複数の制御部および複数の記憶部を有し、複数の前記制御部の１つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置用のプログラムであって、
前記主制御部に前記ソフトウェアを要求する要求ステップと、
前記要求ステップの処理による要求に応じて供給された前記ソフトウェアの取得を制御する取得制御ステップと、
前記主制御部より供給される指示に基づいて、前記記憶部を制御し、前記取得制御ステップの処理により取得が制御された前記ソフトウェアを記憶させる記憶制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
複数の制御部および複数の記憶部を有し、複数の前記制御部の１つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置を制御するコンピュータが実行可能なプログラムであって、
前記主制御部に前記ソフトウェアを要求する要求ステップと、
前記要求ステップの処理による要求に応じて供給された前記ソフトウェアの取得を制御する取得制御ステップと、
前記主制御部より供給される指示に基づいて、前記記憶部を制御し、前記取得制御ステップの処理により取得が制御された前記ソフトウェアを記憶させる記憶制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、複数のＣＰＵおよび記憶部を有する情報処理装置において、互いに異なるＣＰＵに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができるようにした、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
従来、映像表示装置等を制御するプログラムやデータは、工場出荷時にＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）に記録されたり、プログラムやデータを後で更新できるように、書き換え可能なＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）やハードディスクに記録されたりしている。
【０００３】
例えば、工場出荷時に書き込まれたプログラムやデータに不具合が生じたり、新たな機能を追加させたりする場合、映像表示装置のＣＰＵの制御により、新しいプログラムやデータが、フラッシュメモリカード等の記録媒体等より読み出され、ＣＰＵの制御するＲＡＭ等の記憶部の所定のアドレス位置に記憶される（インストールされる）。
【０００４】
【発明が解決しようとする課題】
しかしながら、映像表示装置においては、通常、複数のプログラムやデータが複数の記憶部に記憶され、複数のＣＰＵによって、互いに異なる制御処理が行われる。従って、上述したような方法では、更新するプログラムやデータを、対応するＣＰＵの制御により、そのＣＰＵが制御する所定の記憶部に記憶（インストール）させるため、更新処理をＣＰＵ毎に独立して行わなければならず、互いに異なるＣＰＵに対応する複数のプログラムやデータを連続して更新することができないという課題があった。
【０００５】
すなわち、互いに異なるＣＰＵに対応する複数のプログラムやデータを更新する場合（新たなプログラムやデータをインストールする場合）、プログラムやデータ毎に、対応するＣＰＵに書き込み用プログラムを実行させ、読み出し処理、書き込み処理を実行させる必要があった。
【０００６】
これに対して、プログラムやデータを更新する為の特別な回路や装置を用いて、複数のＣＰＵが制御する複数の記憶部に対して、書き込み（インストール）作業を行うことができるようにする方法が考えられるが、一般的に、書き込み（インストール）作業は頻繁に行われるものではなく、不必要に回路規模が増大し、コストがあがってしまう。さらに、消費電力も増えてしまう。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、複数のＣＰＵおよび記憶部を有する情報処理装置において、互いに異なるＣＰＵに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができるようにするものである。
【０００８】
【課題を解決するための手段】
本発明の情報処理装置は、主制御部より供給されるソフトウェアの記憶に関する指示を取得する第１の取得手段と、主制御部にソフトウェアを要求する要求手段と、要求手段による要求に応じて供給されたソフトウェアを取得する第２の取得手段と、記憶部を制御し、第２の取得手段により取得されたソフトウェアを記憶させる記憶制御手段とを備えることを特徴とする。
【０００９】
前記指示は、ソフトウェアに関する情報およびソフトウェアを記憶させる記憶部に関する情報を含むようにすることができる。
【００１０】
前記第１の取得手段により取得された指示により指定された記憶部を、複数の記憶部の中から選択し、取得手段により取得されたソフトウェアを記憶させる記憶部として設定する記憶部設定手段をさらに備え、記憶制御手段は、記憶部設定手段により設定された記憶部にソフトウェアを記憶させるようにすることができる。
【００１１】
前記記憶制御手段の制御により記憶部に記憶されたソフトウェアが正常であるか否かを確認する確認手段と、確認手段による確認結果を主制御部に供給する供給手段とをさらに備えるようにすることができる。
【００１２】
本発明の情報処理方法は、主制御部にソフトウェアを要求する要求ステップと、要求ステップの処理による要求に応じて供給されたソフトウェアの取得を制御する取得制御ステップと、主制御部より供給される指示に基づいて、記憶部を制御し、取得制御ステップの処理により取得が制御されたソフトウェアを記憶させる記憶制御ステップとを含むことを特徴とする。
【００１３】
本発明の記録媒体のプログラムは、主制御部にソフトウェアを要求する要求ステップと、要求ステップの処理による要求に応じて供給されたソフトウェアの取得を制御する取得制御ステップと、主制御部より供給される指示に基づいて、記憶部を制御し、取得制御ステップの処理により取得が制御されたソフトウェアを記憶させる記憶制御ステップとを含むことを特徴とする。
【００１４】
本発明のプログラムは、主制御部にソフトウェアを要求する要求ステップと、要求ステップの処理による要求に応じて供給されたソフトウェアの取得を制御する取得制御ステップと、主制御部より供給される指示に基づいて、記憶部を制御し、取得制御ステップの処理により取得が制御されたソフトウェアを記憶させる記憶制御ステップとをコンピュータに実現させることを特徴とする。
【００１５】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、主制御部より供給されるソフトウェアの記憶に関する指示が取得され、主制御部に対する要求に応じて供給されたソフトウェアが取得され、その取得されたソフトウェアが記憶部により記憶される。
【００１６】
情報処理装置は、複数の制御部および記憶部を有するデジタルカメラ、携帯電話機、テレビジョン受像機、その他の機器に組み込まれたマイクロコンピュータなどであってもよい。
【００１７】
【発明の実施の形態】
図１は、本発明を適用した画像表示装置の構成例を示す図である。
【００１８】
図１においてＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）等に代表される動画像や静止画像を表示する画像表示装置１は、入力端子より入力された、または、フラッシュメモリ等の電気的に書き換え可能な不揮発性のメモリで構成される半導体メモリ２に記憶されたＪＰＥＧ画像データ等の画像データを処理し、静止画像や動画像をディスプレイ等に表示する。
【００１９】
画像表示装置１の第１ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１は、半導体メモリ２よりメモリカードインタフェース２２を介して取得した画像データに対して、デコード処理等の画像処理を行い、処理された画像データをグラフィックコントローラ２３に供給する。
【００２０】
また、第１ＣＰＵ１１は、バスを介して接続された各部の制御を行う。さらに、第１ＣＰＵ１１は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ　Ｕｓｅｒ　Ｉｎｔｅｒｆａｃｅ）情報を生成し、グラフィックコントローラ２３に供給する。
【００２１】
また、第１ＣＰＵ１１は、通信バス１５および制御バス１６を介して第２ＣＰＵ３１と接続されており、制御情報や各種データ等のやり取りを行う。
【００２２】
第１ＣＰＵ１１は、バスを介して接続された第１フラッシュＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１２に記憶されているプログラムや、同様にバスを介して接続された第１ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　ａｎｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１４に記憶されているデータを、同じくバスを介して接続されたＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ　Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１３にロードし、それらのプログラムやデータを用いて、画像処理や各部の制御処理等を行う。
【００２３】
なお、第１ＣＰＵ１１は、後述するように、半導体メモリ２よりメモリカードインタフェース２２を介して取得したプログラムやデータを用いて、第１フラッシュＲＯＭ１２および第１ＥＥＰＲＯＭ１４に記憶されているプログラムやデータを更新することができる。
【００２４】
第１フラッシュＲＯＭ１２は、電気的に書き換え可能な不揮発性のメモリであり、第１ＣＰＵ１１において実行されるプログラムを記憶している。
【００２５】
ＳＤＲＡＭ１３は、第１ＣＰＵ１１に制御され、供給された第１フラッシュＲＯＭ１２に記憶されているプログラムや、第１ＥＥＰＲＯＭに記憶されているデータを一時的に保持する。
【００２６】
第１ＥＥＰＲＯＭ１４は、電気的に内容の書き換えが可能な不揮発性のメモリであり、第１ＣＰＵ１１による画像処理に必要な、補正値等のデータを記憶している。
【００２７】
また、画像表示装置１には、半導体メモリ２を装着可能なメモリカードスロット２１が設けられている。メモリカードスロット２１に正しく装着された半導体メモリ２は、メモリカードインタフェース２２と電気的に接続され、メモリカードインタフェース２２に制御される。
【００２８】
メモリカードインタフェース２２は、第１ＣＰＵ１１に制御され、メモリカードスロット２１を監視し、メモリカードスロット２１に半導体メモリ２が正しく装着されているか否かを確認したり、メモリカードスロット２１に正しく装着された半導体メモリ２に記憶されているデータを読み出し、第１ＣＰＵ１１に供給したりする。
【００２９】
グラフィックコントローラ２３は、第１ＣＰＵ１１より供給された画像データやＧＵＩ情報を用いて、表示部２６において表示する画像に対応する画像データを生成し、スケーリングデバイス２４に供給する。
【００３０】
スケーリングデバイス２４は、第２ＣＰＵ３１に制御され、グラフィックコントローラ２３より供給された画像データ、若しくは、外部画像信号入力端子２７を介して、画像表示装置１の外部より供給された画像データに対して、解像度変換処理等を行い、表示部２６において表示可能な画像データを生成し、表示デバイスコントローラ２５に供給する。
【００３１】
表示デバイスコントローラ２５は、スケーリングデバイス２４より供給された画像データを表示部２６に供給し、表示部２６を制御して、供給した画像データに対応する画像を表示させる。
【００３２】
表示部２６は、ＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）や、ＣＲＴ（Ｃａｔｈｏｄｅ　Ｒａｙ　Ｔｕｂｅ）等のディスプレイにより構成され、表示デバイスコントローラ２５に制御され、供給された画像データに対応する画像を表示する。
【００３３】
第２ＣＰＵ３１は、第２フラッシュＲＯＭ３２に記憶されているプログラム、および第２ＥＥＰＲＯＭ３４に記憶されている、明るさや色合い等、画像処理に関するデータを用いて、スケーリングデバイス２４を制御して、画像の表示に関する制御を行う。
【００３４】
また、第２ＣＰＵ３１は、入力部３３より入力されたユーザの指示に基づいて、各種の処理を実行する。
【００３５】
さらに、第２ＣＰＵ３１には、図示せぬＲＯＭが内蔵されており、起動専用プログラムが記憶されている。第２ＣＰＵ３１は、後述するように、この起動専用プログラムを実行することにより、第２フラッシュＲＯＭ３２や第２ＥＥＰＲＯＭ３４に記憶されている情報を更新することができる。
【００３６】
第２フラッシュＲＯＭ３２は、第１フラッシュＲＯＭ１２と同様に、電気的に書き換え可能な不揮発性のメモリであり、第２ＣＰＵ３１において実行されるプログラムを記憶している。
【００３７】
入力部３３は、図示せぬチャンネルボタンやメニュー操作ボタン等により構成され、ユーザに操作されて、ユーザからの指示を入力し、第２ＣＰＵ３１に供給する。
【００３８】
第２ＥＥＰＲＯＭ３４は、第１ＥＥＰＲＯＭ１４と同様に、電気的に内容の書き換えが可能な不揮発性のメモリであり、第２ＣＰＵ１１による画像処理に必要なデータを記憶している。
【００３９】
半導体メモリ２は、例えば、メモリースティック（商標）等に代表される、フラッシュメモリ等の電気的に書き換え可能な不揮発性のメモリで構成されるメモリカードである。
【００４０】
半導体メモリ２には、対応する画像を画像表示装置１の表示部２６に表示させるＪＰＥＧ画像データの他に、第１フラッシュＲＯＭ１２および第２フラッシュＲＯＭ３２に記憶されるプログラム、並びに、第１ＥＥＰＲＯＭ１４および第２ＥＥＰＲＯＭ３２に記憶されるデータ等が記録されている。
【００４１】
半導体メモリ２に、第１フラッシュＲＯＭ１２や第１ＥＥＰＲＯＭ１４に記録されるプログラムやデータが記録されている場合、第１ＣＰＵ１１は、後述するように、それらのプログラムやデータを取得し、第１フラッシュメモリ１２や第１ＥＥＰＲＯＭ１４に書き込む。
【００４２】
また、半導体メモリ２に、第２フラッシュＲＯＭ３２や第２ＥＥＰＲＯＭ３４に記録されるプログラムやデータが記録されている場合、第１ＣＰＵ１１は、後述するように、それらのプログラムやデータを第２ＣＰＵ３１に供給し、第２ＣＰＵ３１を制御して、第２フラッシュメモリ３２や第２ＥＥＰＲＯＭ３４に書き込ませる。
【００４３】
図２は、図１に示される第１フラッシュＲＯＭ１２の記憶領域の構成例を示す図である。
【００４４】
図２において、第１フラッシュＲＯＭ１２の記憶領域は、例えば、画像表示装置１の電源が投入された場合、または、それと同様の状態の場合、すなわち、ハードウェアリセットが行われた場合に、第１ＣＰＵ１１により実行される起動プログラムが格納される起動プログラム領域７１、後述するアップグレードプログラムおよびユーザプログラムの内、いずれを実行するかを指定するＩＤ情報を格納するＩＤ情報領域７２、後述するユーザプログラムを更新（アップグレード）するためのアップグレードプログラムが格納されているアップグレードプログラム領域７３、並びに、ＪＰＥＧ画像データの表示に関する処理を実行するプログラムが格納されるユーザプログラム領域７４により構成されている。
【００４５】
図１において、第１フラッシュＲＯＭ１２とＳＤＲＡＭ１３は、第１ＣＰＵ１１により、第１ＣＰＵ１１の管理するメモリ空間上において、例えば「ＦＦ００００００（Ｈ）」と「００００００００（Ｈ）」というような、互いに異なるアドレス領域が、それぞれ割り当てられている。
【００４６】
例えば、図２に示されるように、第１ＣＰＵ１１により、第１フラッシュＲＯＭ１２に、「ＦＦ００００００（Ｈ）」乃至「ＦＦ１ＥＦＦＦＦ（Ｈ）」のアドレス領域が割り当てられている場合、ハードウェアリセットが行われると、第１ＣＰＵ１１のプログラムカウンタの値が「ＦＦ００００００（Ｈ）」に設定され、第１ＣＰＵ１１により、起動プログラム領域７１に格納されている起動プログラムが実行される。
【００４７】
図２の例において、起動プログラム領域７１には「ＦＦ００００００（Ｈ）」乃至「ＦＦ００３ＦＦＦ（Ｈ）」のアドレス領域が割り当てられており、その起動プログラム領域７１に格納される起動プログラムは、後述するように、ＩＤ情報領域に格納されるＩＤ情報を参照し、その情報に基づいて、アップグレードプログラム領域７３に格納されているアップグレードプログラム、または、ユーザプログラム領域７４に格納されているユーザプログラムのいずれかを指定し、第１ＣＰＵ１１に実行させる（ソフトウェアリセットを行う）。
【００４８】
ＩＤ情報領域７２には「ＦＦ００４０００（Ｈ）」乃至「ＦＦ００５ＦＦＦ（Ｈ）」のアドレス領域が割り当てられており、後述するように、アップグレードプログラム領域７３に格納されているアップグレードプログラム、または、ユーザプログラム領域７４に格納されているユーザプログラムの選択に関する情報等を格納している。
【００４９】
アップグレードプログラム領域７３には「ＦＦ００６０００（Ｈ）」乃至「ＦＦ００７ＦＦＦ（Ｈ）」のアドレス領域が割り当てられており、そのアップグレードプログラム領域７３に格納されるアップグレードプログラムは、後述するように、第１ＣＰＵ１１に実行され、ユーザプログラム領域７４に格納されているユーザプログラム、または、アップグレードプログラム自身を更新する。
【００５０】
ユーザプログラム領域７４には「ＦＦ００８０００（Ｈ）」乃至「ＦＦ１ＥＦＦＦ（Ｈ）」のアドレス領域が割り当てられており、そのユーザプログラム領域７４に格納されるユーザプログラムは、第１ＣＰＵ１１に実行され、ＪＰＥＧ画像データの表示に関する処理を実行する
【００５１】
図３は、図２のＩＤ情報領域７２の詳細な構成例を示す図である。
【００５２】
図３において、ＩＤ情報領域７２に格納される実行プログラム選択判定情報１０１は、１６バイトのデータで構成され、起動プログラム領域７１に格納される起動プログラムを実行する第１ＣＰＵ１１が、起動するプログラムとして、アップグレードプログラム領域７３に格納されているアップグレードプログラム、または、ユーザプログラム領域７４に格納されているユーザプログラムの内、いずれか一方を選択することができるような情報を含んでいる。
【００５３】
すなわち、起動プログラム領域７１に格納される起動プログラムを実行する第１ＣＰＵ１１は、実行プログラム選択判定情報１０１に基づいて、アップグレードプログラムまたはユーザプログラムの内、いずれか一方を選択して実行する（ソフトウェアリセットを行う）。
【００５４】
格納プログラム正常判定情報１０２は、１６バイトのデータで構成され、図２のアップグレードプログラム領域７３に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【００５５】
すなわち、第１ＣＰＵ１１は、格納プログラム正常判定情報１０２に基づいて、図２のアップグレードプログラム領域７３に、アップグレードプログラムとして実行できないプログラムやデータが格納されているか否かを判定する。
【００５６】
バージョン情報１０３は、４バイトのデータで構成され、図２のアップグレードプログラム領域７３に格納されているアップグレードプログラムのバージョン情報を含んでいる。
【００５７】
チェックサム情報１０４は、４バイトのデータで構成され、図２のアップグレードプログラム領域７３に格納されているアップグレードプログラムのデータが正常か否かを判定するための情報を含んでいる。
【００５８】
プログラム作成日情報１０５は、４バイトのデータで構成され、図２のアップグレードプログラム領域７３に格納されているアップグレードプログラム作成日に関する情報を含んでいる。
【００５９】
対象機種判定情報１０６および対象マイコン判定情報１０７は、１６バイトのデータで構成され、格納プログラム正常判定情報１０２と同様に、図２のアップグレードプログラム領域７３に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【００６０】
ＩＤチェックサム情報１０８は、４バイトのデータで構成され、上述した、格納プログラム正常判定情報１０２乃至対象マイコン判定情報１０７を含む、アップグレードプログラム領域７３に関する各情報が何らかの原因で破壊されているか否かを確認するための情報を含んでいる。
【００６１】
例えば、図３に示される例の場合、ＩＤチェックサム情報１０８は、アドレス「ＦＦ００４０５Ｃ（Ｈ）」乃至「ＦＦ００４０５Ｆ（Ｈ）」に格納されており、アドレス「ＦＦ００４０１０（Ｈ）」乃至「ＦＦ００４０５Ｂ（Ｈ）」の領域の情報が正常であるか否かを確認するための情報を含んでいる。
【００６２】
格納プログラム正常判定情報１１２は、１６バイトのデータで構成され、図２のユーザプログラム領域７４に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【００６３】
すなわち、第１ＣＰＵ１１は、格納プログラム正常判定情報１１２に基づいて、図２のユーザプログラム領域７４に、ユーザプログラムとして実行できないプログラムやデータが格納されているか否かを判定する。
【００６４】
バージョン情報１１３は、４バイトのデータで構成され、図２のユーザプログラム領域７４に格納されているユーザプログラムのバージョン情報を含んでいる。
【００６５】
チェックサム情報１１４は、４バイトのデータで構成され、図２のユーザプログラム領域７４に格納されているユーザプログラムのデータが正常か否かを判定するための情報を含んでいる。
【００６６】
プログラム作成日情報１１５は、４バイトのデータで構成され、図２のユーザプログラム領域７４に格納されているユーザプログラムの作成日に関する情報を含んでいる。
【００６７】
対象機種判定情報１１６および対象マイコン判定情報１１７は、１６バイトのデータで構成され、格納プログラム正常判定情報１１２と同様に、図２のユーザプログラム領域７４に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【００６８】
ＩＤチェックサム情報１１８は、４バイトのデータで構成され、上述した、格納プログラム正常判定情報１１２乃至対象マイコン判定情報１１７を含む、ユーザプログラム領域７４に関する各情報が何らかの原因で破壊されているか否かを確認するための情報を含んでいる。
【００６９】
例えば、図３に示される例の場合、ＩＤチェックサム情報１１８は、アドレス「ＦＦ００４０ＡＣ（Ｈ）」乃至「ＦＦ００４０ＡＦ（Ｈ）」に格納されており、アドレス「ＦＦ００４０６０（Ｈ）」乃至「ＦＦ００４０ＡＢ（Ｈ）」の領域の情報が正常であるか否かを確認するための情報を含んでいる。
【００７０】
図４は、半導体メモリ２の記憶領域の構成例を示す図である。
【００７１】
図４において、半導体メモリ２の記憶領域に格納されている格納プログラム正常判定情報１５１は、１６バイトのデータで構成され、この記憶領域に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【００７２】
すなわち、第１ＣＰＵ１１は、格納プログラム正常判定情報１１２に基づいて、半導体メモリ２の記憶領域に、画像表示装置１において実行できないプログラムや、処理できないデータが格納されているか否かを判定する。
【００７３】
バージョン情報１５２は、４バイトのデータで構成され、半導体メモリ２の記憶領域に格納されているソフトウェアのバージョン情報を含んでいる。
【００７４】
チェックサム情報１５３は、４バイトのデータで構成され、半導体メモリ２の記憶領域に格納されているソフトウェアが何らかの原因で破壊されているか否かを判定するための情報を含んでいる。
【００７５】
プログラム作成日情報１５４は、４バイトのデータで構成され、半導体メモリ２の記憶領域に格納されているソフトウェアの作成日に関する情報を含んでいる。
【００７６】
対象機種判定情報１５５および対象マイコン判定情報１５６は、それぞれ１６バイトのデータで構成され、格納プログラム正常判定情報１０２と同様に、半導体メモリ２の記憶領域に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【００７７】
ＩＤチェックサム情報１５７は、４バイトのデータで構成され、上述した、格納プログラム正常判定情報１５１乃至対象マイコン判定情報１５６を含む、半導体メモリ２の記憶領域のソフトウェアに関する各情報が何らかの原因で破壊されているか否かを確認するための情報を含んでいる。
【００７８】
また、ソフトウェアバイナリデータ１５８は、半導体メモリ２の記憶領域に格納されている、画像表示装置１に書き込まれる（インストールされる）プログラムやデータである。
【００７９】
次に、以上のように構成される画像表示装置１におけるプログラムやデータの書き込み（インストール）方法について説明する。
【００８０】
図５は、図２に示される第１フラッシュＲＯＭ１２の記憶領域に格納されているプログラムの関係の例を示す図である。
【００８１】
図５において、起動プログラム２０１は、図２の起動プログラム領域７１に格納されるプログラムであり、アップグレードプログラム２０２は、図２のアップグレードプログラム領域７３に格納されるプログラムであり、ユーザプログラム２０３は、図２のユーザプログラム領域７４に格納されるプログラムである。
【００８２】
画像表示装置１が電源を投入されるなどして、ハードウェアリセットされると、第１ＣＰＵ１１は、第１フラッシュＲＯＭ１２の起動プログラム領域７１に格納されている起動プログラム２０１を実行する。
【００８３】
起動プログラム２０１を実行した第１ＣＰＵ１１は、後述するように、起動処理を行い、図３に示されるＩＤ情報領域７２の実行プログラム選択判定情報１０１の内容に基づいて、アップグレードプログラム２０２またはユーザプログラム２０３のいずれか一方を選択し、ＳＤＲＡＭ１３にコピーした後、実行する（ソフトウェアリセットを行う）。
【００８４】
アップグレードプログラム２０２を実行した第１ＣＰＵ１１は、後述するようにアップグレード処理を行い、半導体メモリ２に記録されているソフトウェアを所定の位置に書き込む（インストールする）。そして、処理が終了すると、第１ＣＰＵ１１は、ハードウェアリセットを行い、起動プログラム２０１が実行されるようにする。その際、第１ＣＰＵ１１は、ＩＤ情報領域７２の実行プログラム選択判定情報１０１を更新し、ユーザプログラム２０３が選択されるようにする。
【００８５】
ユーザプログラム２０３を実行した第１ＣＰＵ１１は、プログラムに対応する画像処理を行いながら、メモリカードインタフェース２２を制御して、メモリカードスロット２１に、書き込むプログラムが記録された半導体メモリ２が装着されたか否かを監視し、装着されたと判定した場合、ハードウェアリセットを行い、起動プログラム２０１が実行されるようにする。その際、第１ＣＰＵ１１は、ＩＤ情報領域７２の実行プログラム選択判定情報１０１を更新し、アップグレードプログラム２０２が選択されるようにする。
【００８６】
以上のように、第１ＣＰＵ１１は、起動プログラム２０１、アップグレードプログラム２０２、および、ユーザプログラム２０３を実行して、半導体メモリ２に記録されているプログラムやデータを書き込む。
【００８７】
次に、図５の起動プログラム２０１を実行した第１ＣＰＵ１１による起動処理について、図６のフローチャートを参照して説明する。
【００８８】
最初に、ステップＳ１において、第１ＣＰＵ１１は、ＳＤＲＡＭ１３に対して、内部レジスタを設定し、ＳＤＲＡＭ１３を制御してデータを記録させることができるように、初期化処理を行う。
【００８９】
そして、ステップＳ２において、第１ＣＰＵ１１は、第１ＣＰＵ１１に接続されている、第１フラッシュＲＯＭ１２、第１ＥＥＰＲＯＭ１４、メモリカードインタフェース２２、および、グラフィックコントローラ２３等の周辺デバイスに対しても同様に、内部レジスタを設定し、初期化する。
【００９０】
周辺デバイスを初期化した第１ＣＰＵ１１は、ステップＳ３において、第１フラッシュＲＯＭ１２のＩＤ情報領域７２に格納されているＩＤ情報を確認するＩＤ情報確認処理を実行する。ＩＤ情報確認処理の詳細については、図７のフローチャートを参照して後述する。
【００９１】
ＩＤ情報確認処理により、第１フラッシュＲＯＭ１２のアップグレードプログラム領域７３に格納されているアップグレードプログラム、または、ユーザプログラム領域７４に格納されているユーザプログラムのどちらを選択し、実行するかを確認し、そのプログラムをＳＤＲＡＭ１３にコピーした第１ＣＰＵ１１は、ステップＳ４において、ソフトウェアリセットを行い、選択したプログラムを実行し、起動処理を終了する。
【００９２】
以上のようにして、ハードウェアリセットされた第１ＣＰＵ１１は、アップグレードプログラムまたはユーザプログラムをＳＤＲＡＭ１３にコピーし、そのコピーされたプログラムを実行するためにソフトウェアリセットを行う。
【００９３】
次に、図７のフローチャートを参照して、図６のステップＳ３において実行されるＩＤ情報確認処理の詳細について説明する。
【００９４】
最初に、ステップＳ２１において、第１ＣＰＵ１１は、第１フラッシュＲＯＭ１２のＩＤ情報記憶領域７２を参照する。
【００９５】
そして、ステップＳ２２において、第１ＣＰＵ１１は、ＩＤ情報領域７２の実行プログラム選択判定情報１０１が正常であるか否かを判定する。実行プログラム選択判定情報１０１がアップグレードプログラム領域７３に格納されているアップグレードプログラムか、または、ユーザプログラム領域７４に格納されているユーザプログラムを指定しており、正常であると判定した場合、第１ＣＰＵ１１は、ステップＳ２３に処理を進め、実行プログラム選択判定情報１０１に基づいて、実行するプログラムとして、アップグレードプログラムが選択されたか否かを判定する。
【００９６】
実行プログラム選択判定情報１０１によりアップグレードプログラムが指定され、実行するプログラムとして、アップグレードプログラムが選択されたと判定した場合、第１ＣＰＵ１１は、ステップＳ２４に処理を進め、ＩＤ情報領域７２の格納プログラム正常判定情報１０２に基づいて、選択されたアップグレードプログラムが正しい種類のプログラムであるか否かを判定する。
【００９７】
選択されたアップグレードプログラムが正しいプログラムであると判定した場合、第１ＣＰＵ１１は、処理をステップＳ２５に進め、ＩＤチェックサム情報１０８に基づいて、ＩＤ情報領域７２の、格納プログラム正常判定情報１０２乃至対象マイコン判定情報１０７により構成される、選択されたアップグレードプログラムに対応するＩＤ情報が正常か否かを判定する。
【００９８】
そして、選択されたアップグレードプログラムに対応するＩＤ情報が正常であると判定した場合、第１ＣＰＵ１１は、ステップＳ２６において、第１フラッシュＲＯＭ１２のアップグレードプログラム領域７３に格納されているアップグレードプログラムをＳＤＲＡＭ１３にコピーする。
【００９９】
第１ＣＰＵ１１は、アップグレードプログラムをＳＤＲＡＭ１３にコピーすると、ステップＳ２７において、ＩＤ情報記憶領域７２のチェックサム情報１０４に基づいて、コピーしたアップグレードプログラムが正常であるか否かを判定する。
【０１００】
コピーしたアップグレードプログラムが何らかの原因により破壊されており、正常ではないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ２４に戻し、それ以降の処理を繰り返す。
【０１０１】
また、コピーしたアップグレードプログラムが正常であると判定した場合、第１ＣＰＵ１１は、ＩＤ情報確認処理を終了し、処理を図６のステップＳ４に進める。
【０１０２】
ところで、ステップＳ２３において、実行プログラム選択判定情報１０１により、ユーザプログラムが選択され、アップグレードプログラムが選択されていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ２８に進める。
【０１０３】
ステップＳ２８において、第１ＣＰＵ１１は、格納プログラム正常判定情報１１２に基づいて、選択されたユーザプログラムが正しい種類のプログラムであるか否かを判定する。
【０１０４】
選択されたユーザプログラムが正しいプログラムであると判定した場合、第１ＣＰＵ１１は、処理をステップＳ２９に進め、ＩＤチェックサム情報１１８に基づいて、ＩＤ情報領域７２の、格納プログラム正常判定情報１１２乃至対象マイコン判定情報１１７により構成される、選択されたユーザプログラムに対応するＩＤ情報が正常か否かを判定する。
【０１０５】
そして、選択されたユーザプログラムに対応するＩＤ情報が正常であると判定した場合、第１ＣＰＵ１１は、ステップＳ３０において、第１フラッシュＲＯＭ１２のユーザプログラム領域７４に格納されているユーザプログラムをＳＤＲＡＭ１３にコピーする。
【０１０６】
第１ＣＰＵ１１は、ユーザプログラムをＳＤＲＡＭ１３にコピーすると、ステップＳ３１において、ＩＤ情報記憶領域７２のチェックサム情報１１４に基づいて、コピーしたユーザプログラムが正常であるか否かを判定する。
【０１０７】
コピーしたユーザプログラムが何らかの原因により破壊されており、正常ではないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ２４に戻し、それ以降の処理を繰り返す。
【０１０８】
すなわち、ユーザプログラムのコピーに失敗した第１ＣＰＵ１１は、次に、アップグレードプログラムのＳＤＲＡＭ１３へのコピーを試みる。
【０１０９】
また、コピーしたユーザプログラムが正常であると判定した場合、第１ＣＰＵ１１は、ＩＤ情報確認処理を終了し、処理を図６のステップＳ４に進める。
【０１１０】
ところで、ステップＳ２２において、実行プログラム選択判定情報１０１が、何らかの原因により破壊されており、正常ではないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ３２に進め、エラー処理を行った後、ＩＤ情報確認処理を終了する。この場合、第１ＣＰＵ１１は、図６のステップＳ４の処理は省略し、起動処理を終了させる。
【０１１１】
また、ステップＳ２４において、選択されたアップグレードプログラムが正しい種類のプログラムではないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ３２に進め、エラー処理を行った後、ＩＤ情報確認処理を終了する。この場合も、第１ＣＰＵ１１は、図６のステップＳ４の処理は省略し、起動処理を終了させる。
【０１１２】
さらに、ステップＳ２５において、選択されたアップグレードプログラムに対応するＩＤ情報が正常ではないと判定した場合も、第１ＣＰＵ１１は、処理をステップＳ３２に進め、エラー処理を行った後、ＩＤ情報確認処理を終了する。この場合も、第１ＣＰＵ１１は、図６のステップＳ４の処理は省略し、起動処理を終了させる。
【０１１３】
すなわち、第１ＣＰＵ１１は、アップグレードプログラムおよびユーザプログラムを実行することができない場合、エラー処理を行い、起動処理を終了させる。
【０１１４】
ところで、ステップＳ２８において、選択されたユーザプログラムが正しい種類のプログラムではないと判定した場合、第１ＣＰＵ１１は、ステップＳ３１において、コピーしたユーザプログラムが正常ではないと判定した場合と同様に、処理をステップＳ２４に戻し、それ以降の処理を繰り返す。
【０１１５】
また、ステップＳ２９において、選択されたユーザプログラムに対応するＩＤ情報が正常ではないと判定した場合も、第１ＣＰＵ１１は、処理をステップＳ２４に戻し、それ以降の処理を繰り返す。
【０１１６】
すなわち、ユーザプログラムのコピーに失敗した第１ＣＰＵ１１は、次に、アップグレードプログラムのＳＤＲＡＭ１３へのコピーを試みる。
【０１１７】
以上のように、第１ＣＰＵ１１は、ＩＤ情報確認処理を行い、第１フラッシュＲＯＭ１２のＩＤ情報領域７２の内容を確認しながら、アップグレードプログラムまたはユーザプログラムをＳＤＲＡＭ１３にコピーする。
【０１１８】
ＳＤＲＡＭ１３にコピーされたプログラムは、上述したように、図６のステップＳ４において、ソフトウェアリセットが行われ、第１ＣＰＵ１１により実行される。
【０１１９】
以上のようにして、例えば、アップグレードプログラムが実行された場合、第１ＣＰＵ１１は、アップグレード処理を行う。図８および図９のフローチャートを参照して、第１ＣＰＵ１１によるアップグレード処理について説明する。また、必要に応じて、図１０乃至図１３を参照する。
【０１２０】
最初に、ステップＳ５１において、第１ＣＰＵ１１は、メモリカードインタフェース２２を制御して、メモリカードスロット２１の状態を監視し、メモリカードスロット２１の状態の変化を検出したか否かを判定する。
【０１２１】
例えば、メモリカードスロット２１に半導体メモリ２が装着されるなどして、メモリカードスロット２１の状態の変化を検出すると、メモリカードインタフェース２２は、その情報を第１ＣＰＵ１１に供給する。第１ＣＰＵ１１は、メモリカードインタフェース２２より供給された情報に基づいて、メモリカードスロット２１の状態が変化したか否かを判定する。
【０１２２】
メモリカードインタフェース２２がメモリカードスロット２１の状態の変化を検出したと判定した場合、第１ＣＰＵ１１は、ステップＳ５２に処理を進め、その情報に基づいて、メモリカードスロット２１に半導体メモリ２が装着されているか否かを判定する。
【０１２３】
メモリカードスロット２１に半導体メモリ２が装着されていると判定した場合、第１ＣＰＵ１１は、処理をステップＳ５３に進め、装着時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、表示する画面を装着時用ＧＵＩ画面に切り替える。装着時用ＧＵＩを取得した表示部２６は、表示デバイスコントローラ２５に制御されて、ディスプレイに、例えば、図１０に示すような装着時用ＧＵＩ画面を表示する。
【０１２４】
図１０の装着時用ＧＵＩ画面２１１においては、「Ｗｒｉｔｅ」と表示されるボタン２１１Ａが操作可能な状態（アクティブ）になっており、ユーザは入力部３３を操作することにより、ボタン２１１Ａを操作し、書き込み開始（アップグレード開始）を指示することができる。
【０１２５】
図８に戻り、表示画面を装着時用ＧＵＩに切り替えた第１ＣＰＵ１１は、処理をステップＳ５８に進める。
【０１２６】
また、ステップＳ５２において、メモリカードスロット２１に半導体メモリ２が装着されていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５４に進め、未装着時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、表示する画面を未装着時用ＧＵＩ画面に切り替える。未装着時用ＧＵＩを取得した表示部２６は、表示デバイスコントローラ２５に制御されて、ディスプレイに、例えば、図１１に示すような未装着時用ＧＵＩ画面を表示する。
【０１２７】
図１１の未装着時用ＧＵＩ画面２２１においては、「Ｈｏｍｅ」と表示されるボタン２２１Ａが操作可能な状態（アクティブ）になっており、ユーザは入力部３３を操作することにより、ボタン２２１Ａを操作し、書き込みに関する処理の中止を指示し、ディスプレイに、所定の基本的なメニューを表示するＧＵＩ画面である「Ｈｏｍｅ」画面を表示させ、その他の処理を選択できるようにすることができる。
【０１２８】
図８に戻り、表示画面を未装着時用ＧＵＩに切り替えた第１ＣＰＵ１１は、処理をステップＳ５８に進める。
【０１２９】
ところで、ステップＳ５１において、メモリカードインタフェース２２よりメモリカードスロット２１の状態に関する情報を取得しておらず、メモリカードインタフェース２２がメモリカードスロット２１の状態の変化を検出していないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５５に進める。
【０１３０】
ステップＳ５５において、第１ＣＰＵ１１は、表示部２６に、エラー時用ＧＵＩまたは完了時用ＧＵＩを表示しているか否かを判定する。書き込み（アップグレード）が正常に行われた場合、第１ＣＰＵ１１は、完了時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給する。完了時用ＧＵＩを取得した表示部２６は、表示デバイスコントローラ２５に制御されて、ディスプレイに、例えば、図１２に示すような完了時用ＧＵＩ画面を表示する。
【０１３１】
図１２の完了時用ＧＵＩ画面２３１においては、「ＯＫ」と表示されるボタン２３１Ａが操作可能な状態（アクティブ）になっており、ユーザは入力部３３を操作することにより、ボタン２３１Ａを操作し、書き込みの完了を確認することができる。
【０１３２】
また、書き込み（アップグレード）処理においてエラーが発生した場合、第１ＣＰＵ１１は、エラー時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給する。エラー時用ＧＵＩを取得した表示部２６は、表示デバイスコントローラ２５に制御されて、ディスプレイに、例えば、図１３に示すようなエラー時用ＧＵＩ画面を表示する。
【０１３３】
図１３のエラー時用ＧＵＩ画面２４１においては、「ＯＫ」と表示されるボタン２４１Ａが操作可能な状態（アクティブ）になっており、ユーザは入力部３３を操作することにより、ボタン２４１Ａを操作し、書き込みにおいてエラーが発生したことを確認することができる。
【０１３４】
図８に戻り、第１ＣＰＵ１１は、ステップＳ５５において、以上のようなエラー時用ＧＵＩまたは完了時用ＧＵＩを、表示部２６に表示しているか否かを判定し、表示していないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５８に進める。
【０１３５】
また、以上のようなエラー時用ＧＵＩまたは完了時用ＧＵＩを、表示部２６に表示していると判定した場合、第１ＣＰＵ１１は、処理をステップＳ５６に進める。
【０１３６】
ステップＳ５６において、第１ＣＰＵ１１は、第２ＣＰＵ３１を制御して、入力部３３を監視し、ユーザの操作を検出したか否かを判定する。第１ＣＰＵ１１は、通信バス１５を介して、第２ＣＰＵ３１に入力部３３を監視する処理を実行させる。第２ＣＰＵ３１は、入力部３３を監視し、ユーザが入力部３３を操作したか否かを検出し、通信バス１５を介して、第１ＣＰＵ１１にそのことを通知する。第１ＣＰＵ１１は、その情報に基づいてユーザの操作を検出したか否かを判定する。
【０１３７】
ユーザが入力部３３を操作せず、ユーザの操作を検出していないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５１に戻し、それ以降の処理を繰り返す。
【０１３８】
ユーザの操作を検出したと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５７に進め、表示部２６に表示されているエラー時用ＧＵＩまたは完了時用ＧＵＩ　を消去し、ＧＵＩを初期化する。ＧＵＩを初期化した第１ＣＰＵ１１は、処理をステップＳ５１に戻し、それ以降の処理を繰り返す。
【０１３９】
すなわち、第１ＣＰＵ１１は、表示部２６に完了時用ＧＵＩ画面２３１またはエラー時用ＧＵＩ画面２４１が表示されている場合、ユーザが入力部３３を操作して、ボタン２３１Ａまたはボタン２４１Ａを操作するまで、ステップＳ５１、ステップＳ５５、およびステップＳ５６の処理を繰り返し、待機する。
【０１４０】
そして、ユーザが入力部３３を操作し、ボタン２３１Ａまたはボタン２４１Ａを操作すると、第１ＣＰＵ１１は、表示部２６に表示されている完了時用ＧＵＩ画面２３１またはエラー時用ＧＵＩ画面２４１を消去する。
【０１４１】
上述したように、ステップＳ５３において、表示部２６の表示画面を装着時用ＧＵＩ画面２１１に切り替えた場合、ステップＳ５４において、表示部２６の表示画面を未装着時用ＧＵＩ画面２２１に切り替えた場合、または、ステップＳ５５において、表示部２６に完了時用ＧＵＩ画面２３１またはエラー時用ＧＵＩ画面２４１が表示されていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５８に進める。
【０１４２】
ステップＳ５８において、ステップＳ５６の場合と同様に、第２ＣＰＵ３１を制御して、入力部３３を監視し、第１ＣＰＵ１１は、ユーザの操作を検出したか否かを判定する。
【０１４３】
ユーザが入力部３３を操作しておらず、ユーザの操作を検出していないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ５１に戻し、それ以降の処理を繰り返す。
【０１４４】
また、ユーザが入力部３３を操作し、ユーザの操作を検出したと判定した場合、第１ＣＰＵ１１は、図９のステップＳ６１に処理を進め、ステップＳ５２の処理の場合と同様に、メモリカードインタフェース２２を制御して、メモリカードスロット２１に半導体メモリ２が装着されているか否かを判定する。
【０１４５】
半導体メモリ２が装着されていると判定した場合、第１ＣＰＵ１１は、処理をステップＳ６２に進め、装着された半導体メモリ２の記憶領域に、画像表示装置１に書き込む対象ファイルが存在するか否かを判定する。
【０１４６】
半導体メモリ２の記憶領域に、図４に示すように、ソフトウェアバイナリデータやＩＤ情報が記録されており、対象ファイルが存在すると判定した場合、第１ＣＰＵ１１は、ステップＳ６３において書き換え処理を実行する。書き換え処理の詳細は、図１４と図１５のフローチャートを参照して後述する。
【０１４７】
そして、書き換え処理を終了した第１ＣＰＵ１１は、処理を図８のステップＳ５１に戻し、それ以降の処理を繰り返す。
【０１４８】
また、ステップＳ６２において、半導体メモリ２の記憶領域に、ソフトウェアバイナリデータやＩＤ情報が記録されておらず、対象ファイルが存在しないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ６４に進め、表示部２６にエラー時用ＧＵＩを表示させる。
【０１４９】
そして、エラー時用ＧＵＩを表示部２６に表示させた第１ＣＰＵ１１は、処理を図８のステップＳ５１に戻し、それ以降の処理を繰り返す。
【０１５０】
ところで、ステップＳ６１において、半導体メモリ２がメモリカードスロット２１に装着されていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ６５に進め、第１フラッシュＲＯＭ１２のＩＤ情報領域７２に格納されている実行プログラム選択判定情報１０１の内容を書き換えて、ユーザプログラムが選択されて実行されるようにする。
【０１５１】
そして、第１ＣＰＵ１１は、ステップＳ６６において、ハードウェアリセットを行って、アップグレード処理を終了する。
【０１５２】
図５のアップグレードプログラム２０２を実行した第１ＣＰＵ１１は、以上のようにして、アップグレード処理を行い、半導体メモリ２の記憶領域に格納されているソフトウェアを画像表示装置１に書き込む（インストールする）。
【０１５３】
次に、図９のステップＳ６３において実行される書き換え処理の詳細について、図１４および図１５のフローチャートを参照して説明する。
【０１５４】
最初に、第１ＣＰＵ１１は、ステップＳ８１において、対象ファイルを第１フラッシュＲＯＭ１２の記憶領域にインストールするか否かを判定する。
【０１５５】
半導体メモリ２の記憶領域に記憶されているプログラムやデータは、画像表示装置１の第１フラッシュＲＯＭ１２、第１ＥＥＰＲＯＭ１４、第２フラッシュＲＯＭ３２、または、第２ＥＥＰＲＯＭ３４のいずれかに書き込まれる（インストールされる）。その書き込み（インストール）先は、図４に示される、半導体メモリ２の記憶領域に格納されている対象機種判定情報１５５により指定されている。
【０１５６】
第１ＣＰＵ１１は、ステップＳ８１において、対象機種判定情報１５５に基づいて、まず、半導体メモリ２の記憶領域に記憶されているプログラムやデータを第１フラッシュＲＯＭ１２にインストールするか否かを判定する。
【０１５７】
そして、半導体メモリ２の記憶領域に記憶されている対象ファイルがプログラムであり、第１フラッシュＲＯＭ１２にインストールすると判定した場合、第１ＣＰＵ１１は、処理をステップＳ８２に進め、メモリカードインタフェース２２を制御して、メモリカードスロット２１に装着された半導体メモリ２より、対象ファイルを読み出し、ＳＤＲＡＭ１３に供給し、保持させる。なお、このとき、第１ＣＰＵ１１は、対象ファイルを格納する領域として、ＳＤＲＡＭ１３の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【０１５８】
そして、第１ＣＰＵ１１は、ステップＳ８３において、ＳＤＲＡＭ１３に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【０１５９】
ＳＤＲＡＭ１３にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ８４に進め、第１フラッシュＲＯＭ１２の記憶領域の、対象ファイルの格納先として指定される領域に格納されているデータを消去する。
【０１６０】
そして、ステップＳ８５において、第１ＣＰＵ１１は、図４の対象マイコン判定情報１５６等に基づいて、ＳＤＲＡＭ１３に保持されている対象ファイルを、第１フラッシュＲＯＭ１２の所定の領域に書き込む（インストールする）。
【０１６１】
対象ファイルを書き込んだ第１ＣＰＵ１１は、ステップＳ８６に処理を進め、図４のチェックサム情報１５３に基づいて、書き込み（インストール）が正常に行われたか否かを判定する。
【０１６２】
書き込み（インストール）が正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ８７に進め、完了時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１２に示す完了時用ＧＵＩ画面２３１を表示させる。
【０１６３】
完了時用ＧＵＩ画面２３１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０１６４】
また、ステップＳ８３において、ＳＤＲＡＭ１３にコピーされた対象ファイルがなんらかの原因により破壊されており、読み出しが正常に行われていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ８８に進める。
【０１６５】
さらに、ステップＳ８６において、対象ファイルの第１フラッシュＲＯＭ１２への書き込みが正常に行われていないと判定した場合も、第１ＣＰＵ１１は、処理をステップＳ８８に進める。
【０１６６】
第１ＣＰＵ１１は、ステップＳ８８において、エラー時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１３に示すエラー時用ＧＵＩ画面２４１を表示させる。
【０１６７】
エラー時用ＧＵＩ画面２４１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０１６８】
ところで、ステップＳ８１において、半導体メモリ２の記憶領域に記憶されているプログラムやデータを第１フラッシュＲＯＭ１２にインストールしないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ８９に進め、同様に、対象機種判定情報１５５に基づいて、半導体メモリ２の記憶領域に記憶されているプログラムやデータを第１ＥＥＰＲＯＭ１４にインストールするか否かを判定する。
【０１６９】
そして、半導体メモリ２の記憶領域に記憶されているソフトウェアがデータであり、第１ＥＥＰＲＯＭ１４にインストールすると判定した場合、第１ＣＰＵ１１は、処理をステップＳ９０に進め、メモリカードインタフェース２２を制御して、メモリカードスロット２１に装着された半導体メモリ２より、対象ファイルを読み出し、ＳＤＲＡＭ１３に供給し、保持させる。なお、このとき、第１ＣＰＵ１１は、対象ファイルを格納する領域として、ＳＤＲＡＭ１３の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【０１７０】
そして、第１ＣＰＵ１１は、ステップＳ９１において、ＳＤＲＡＭ１３に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【０１７１】
ＳＤＲＡＭ１３にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ９２に進め、第１ＥＥＰＲＯＭ１４の記憶領域の、対象ファイルの格納先として指定される領域に格納されているデータを消去する。
【０１７２】
そして、ステップＳ９３において、第１ＣＰＵ１１は、図４の対象マイコン判定情報１５６等に基づいて、ＳＤＲＡＭ１３に保持されている対象ファイルを、第１ＥＥＰＲＯＭ１４の所定の領域に書き込む（インストールする）。
【０１７３】
対象ファイルを書き込んだ第１ＣＰＵ１１は、ステップＳ９４に処理を進め、図４のチェックサム情報１５３に基づいて、書き込み（インストール）が正常に行われたか否かを判定する。
【０１７４】
書き込み（インストール）が正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ９５に進め、完了時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１２に示す完了時用ＧＵＩ画面２３１を表示させる。
【０１７５】
完了時用ＧＵＩ画面２３１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０１７６】
また、ステップＳ９１において、ＳＤＲＡＭ１３にコピーされた対象ファイルがなんらかの原因により破壊されており、読み出しが正常に行われていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ９６に進める。
【０１７７】
さらに、ステップＳ９４において、対象ファイルの第１フラッシュＲＯＭ１２への書き込みが正常に行われていないと判定した場合も、第１ＣＰＵ１１は、処理をステップＳ９６に進める。
【０１７８】
第１ＣＰＵ１１は、ステップＳ９６において、エラー時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１３に示すエラー時用ＧＵＩ画面２４１を表示させる。
【０１７９】
エラー時用ＧＵＩ画面２４１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０１８０】
ところで、ステップＳ８９において、半導体メモリ２の記憶領域に記憶されているプログラムやデータを第１ＥＥＰＲＯＭ１４にインストールしないと判定した場合、第１ＣＰＵ１１は、処理を図１５のステップＳ１０１に進める。
【０１８１】
図１５のステップＳ１０１において、第１ＣＰＵ１１は、図１４のステップＳ８１およびステップＳ８９の場合と同様に、対象機種判定情報１５５に基づいて、半導体メモリ２の記憶領域に記憶されているプログラムやデータを第２フラッシュＲＯＭ３２にインストールするか否かを判定する。
【０１８２】
そして、半導体メモリ２の記憶領域に記憶されているソフトウェアがプログラムであり、第２フラッシュＲＯＭ３２にインストールすると判定した場合、第１ＣＰＵ１１は、処理をステップＳ１０２に進め、メモリカードインタフェース２２を制御して、メモリカードスロット２１に装着された半導体メモリ２より、対象ファイルを読み出し、ＳＤＲＡＭ１３に供給し、保持させる。なお、このとき、第１ＣＰＵ１１は、対象ファイルを格納する領域として、ＳＤＲＡＭ１３の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【０１８３】
そして、第１ＣＰＵ１１は、ステップＳ１０３において、ＳＤＲＡＭ１３に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【０１８４】
ＳＤＲＡＭ１３にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１０４に進め、第２ＣＰＵ３１を制御し、第２ＣＰＵ３１に、内蔵するＲＯＭ（図示せず）に格納されている起動専用プログラムを実行させる。
【０１８５】
第１ＣＰＵ１１は、制御バス１６を介して、第２ＣＰＵ３１を制御し、第２ＣＰＵ３１に起動専用プログラムを実行させ、プログラムを第２フラッシュＲＯＭ３２にインストールするように設定して、ソフトウェアリセットを行う。
【０１８６】
ソフトウェアリセットされた第２ＣＰＵ３１は、起動専用プログラムを実行し、第２フラッシュＲＯＭ３２に対して書き込み処理の準備を開始する。そして、準備が完了すると第２ＣＰＵ３１は、通信バス１５を介して、第１ＣＰＵ１１に対象ファイルを要求する。
【０１８７】
第１ＣＰＵ１１は、ステップＳ１０５において、その対象ファイルの要求を取得したか否かを判定し、取得したと判定するまで待機する。
【０１８８】
対象ファイルの要求を第２ＣＰＵ３１より取得したと判定した場合、第１ＣＰＵ１１は、ステップＳ１０６に処理を進め、要求された対象ファイルを、通信バス１５を介して第２ＣＰＵ３１に供給する。
【０１８９】
対象ファイルを供給された第２ＣＰＵ３１は、取得した対象ファイルを第２フラッシュＲＯＭ３２の所定のアドレス位置に書き込む（インストールする）。そして、第２ＣＰＵ３１は、第２フラッシュＲＯＭ３２に書き込まれた対象ファイルを参照し、正常にインストールされたか否かを判定し、その判定結果を、通信バス１５を介して、第１ＣＰＵ１１に供給する。
【０１９０】
その判定結果を取得した第１ＣＰＵ１１は、ステップＳ１０７において、取得した判定結果に基づいて、対象ファイルのインストールが正常に行われたか否かを判定する。
【０１９１】
第２フラッシュＲＯＭ３２へのインストールが正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１０８に進め、完了時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１２に示す完了時用ＧＵＩ画面２３１を表示させる。
【０１９２】
完了時用ＧＵＩ画面２３１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０１９３】
また、ステップＳ１０７において、対象ファイルの第２フラッシュＲＯＭ３２へのインストールが正常に行われていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１０９に進め、エラー時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１３に示すエラー時用ＧＵＩ画面２４１を表示させる。
【０１９４】
エラー時用ＧＵＩ画面２４１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０１９５】
ところで、ステップＳ１０１において、半導体メモリ２の記憶領域に記憶されている対象ファイルがデータであり、第２ＥＥＰＲＯＭ３４にインストールし、第２フラッシュＲＯＭ３２にインストールしないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１１０に進める。
【０１９６】
ステップＳ１１０において、第１ＣＰＵ１１は、第２ＥＥＰＲＯＭ３４に対象ファイルをインストールするために、メモリカードインタフェース２２を制御して、メモリカードスロット２１に装着された半導体メモリ２より、対象ファイルを読み出し、ＳＤＲＡＭ１３に供給し、保持させる。なお、このとき、第１ＣＰＵ１１は、対象ファイルを格納する領域として、ＳＤＲＡＭ１３の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【０１９７】
そして、第１ＣＰＵ１１は、ステップＳ１１１において、ＳＤＲＡＭ１３に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【０１９８】
ＳＤＲＡＭ１３にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１１２に進め、第２ＣＰＵ３１を制御し、第２ＣＰＵ３１に、内蔵するＲＯＭ（図示せず）に格納されている起動専用プログラムを実行させる。
【０１９９】
第１ＣＰＵ１１は、制御バス１６を介して、第２ＣＰＵ３１を制御し、第２ＣＰＵ３１に起動専用プログラムを実行させ、プログラムを第２ＥＥＰＲＯＭ３４にインストールするように設定して、ソフトウェアリセットを行う。
【０２００】
ソフトウェアリセットされた第２ＣＰＵ３１は、起動専用プログラムを実行し、第２ＥＥＰＲＯＭ３４に対して書き込み処理の準備を開始する。そして、準備が完了すると、第２ＣＰＵ３１は、通信バス１５を介して、第１ＣＰＵ１１に対象ファイルを要求する。
【０２０１】
第１ＣＰＵ１１は、ステップＳ１１３において、その対象ファイルの要求を取得したか否かを判定し、取得したと判定するまで待機する。
【０２０２】
対象ファイルの要求を第２ＣＰＵ３１より取得したと判定した場合、第１ＣＰＵ１１は、ステップＳ１１４に処理を進め、要求された対象ファイルを、通信バス１５を介して第２ＣＰＵ３１に供給する。
【０２０３】
対象ファイルを供給された第２ＣＰＵ３１は、取得した対象ファイルを第２ＥＥＰＲＯＭ３２の所定のアドレス位置に書き込む（インストールする）。そして、第２ＣＰＵ３１は、第２ＥＥＰＲＯＭ３２に書き込まれた対象ファイルを参照し、正常にインストールされたか否かを判定し、その判定結果を、通信バス１５を介して、第１ＣＰＵ１１に供給する。
【０２０４】
その判定結果を取得した第１ＣＰＵ１１は、ステップＳ１１５において、取得した判定結果に基づいて、対象ファイルのインストールが正常に行われたか否かを判定する。
【０２０５】
第２フラッシュＲＯＭ３２へのインストールが正常に行われたと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１１６に進め、完了時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１２に示す完了時用ＧＵＩ画面２３１を表示させる。
【０２０６】
完了時用ＧＵＩ画面２３１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０２０７】
また、ステップＳ１１１において、読み出しが正常に行われなかったと判定した場合、並びに、ステップＳ１１５において、対象ファイルの第２ＣＰＵ３１への供給が正常に行われていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１１７に進め、エラー時用ＧＵＩを生成し、グラフィックコントローラ２３、スケーリングデバイス２４、および表示デバイスコントローラ２５を介して、表示部２６に供給し、図１３に示すエラー時用ＧＵＩ画面２４１を表示させる。
【０２０８】
エラー時用ＧＵＩ画面２４１を表示させた第１ＣＰＵ１１は、書き換え処理を終了し、図８のステップＳ５１に処理を戻す。
【０２０９】
以上のようにして、第１ＣＰＵ１１は、指定されたインストール先に合わせて処理を行い、対象ファイルをインストールする。上述したように、第２ＣＰＵ３１に対応する第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４に対象ファイルをインストールする場合、第１ＣＰＵ１１は、制御バス１６を介して第２ＣＰＵ３１を制御して、処理を行う。
【０２１０】
これにより、画像表示装置１は、供給されたプログラムを、容易に、互いに異なるＣＰＵに制御される複数の記憶部にインストールすることができる。
【０２１１】
なお、第１ＣＰＵ１１は、第１フラッシュＲＯＭ１２に記憶されているアップグレードプログラムを、ＳＤＲＡＭ１３にコピーしてから実行するので、対象ファイルがそのアップグレードファイル自身である場合でも、第１フラッシュＲＯＭ１２にインストールすることができる。このとき、第１ＣＰＵ１１は、ＳＤＲＡＭ１３にコピーされた古いアップグレードプログラムを実行しており、ソフトウェアリセットを行うことで、インストールされた新しいアップグレードプログラムを実行することができる。
【０２１２】
上述したように、第１ＣＰＵ１１による書き換え処理において、図４の対象マイコン判定情報１５６により、対象ファイルのインストール先が第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４に指定されている場合、第１ＣＰＵ１１は、制御バス１６を介して、第２ＣＰＵ３１を制御し、第２ＣＰＵ３１に起動専用プログラムを実行させ、プログラムを第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４にインストールするように設定して、ソフトウェアリセットを行う。
【０２１３】
ソフトウェアリセットされた第２ＣＰＵ３１は、起動専用プログラムを実行し、第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４に対して書き込み処理を開始する。第２ＣＰＵ３１による書き込み処理について、図１６のフローチャートを参照して説明する。
【０２１４】
最初に、ステップＳ１３１において、第２ＣＰＵ３１は、第２ＣＰＵ３１に接続されている、第２フラッシュＲＯＭ３２、入力部３３、第２ＥＥＰＲＯＭ３４、および、スケーリングデバイス２４等の周辺デバイスに対して、内部レジスタを設定し、初期化する。
【０２１５】
そして、ステップＳ１３２において、第２ＣＰＵ３１は、対象ファイルの書き込み先デバイスを第１ＣＰＵ３１により指示されたデバイス、すなわち、第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４のいずれかに設定する。
【０２１６】
書き込み先デバイスを設定した第２ＣＰＵ３１は、ステップＳ１３３において、インストールする対象ファイルを、通信バス１５を介して、第１ＣＰＵ１１に要求する。対象ファイルを要求された第１ＣＰＵ１１は、図１５のステップＳ１０５またはステップＳ１１３の処理において、その要求を検知し、ステップＳ１０６またはステップＳ１１４の処理により、要求された対象ファイルを、通信バス１５を介して、第２ＣＰＵ３１に供給する。
【０２１７】
第２ＣＰＵ３１は、ステップＳ１３４において、第１ＣＰＵ１１より要求した対象ファイルを取得したか否かを判定し、取得したと判定するまで待機する。
【０２１８】
そして、対象ファイルを取得したと判定した場合、第２ＣＰＵ３１は、処理をステップＳ１３５に進め、取得した対象ファイルを、ステップＳ１３２において設定した書き込み先デバイス、すなわち、第２フラッシュＲＯＭ３２または第２ＥＥＰＲＯＭ３４のいずれかに書き込む（インストールする）。
【０２１９】
対象ファイルを書き込むと、第２ＣＰＵ３１は、ステップＳ１３６において、書き込まれた対象ファイルが正常であるか否かを確認し、ステップＳ１３７において、その確認結果を、通信バス１５を介して第１ＣＰＵ１１に供給し、書き込み処理を終了する。
【０２２０】
以上のようにして、第２ＣＰＵ３１は、第１ＣＰＵ１１にソフトウェアリセットされて、書き込み処理を実行する。
【０２２１】
これにより、画像表示装置１は、供給されたプログラムを、容易に、互いに異なるＣＰＵに制御される複数の記憶部にインストールすることができる。
【０２２２】
以上のようにして、第１ＣＰＵ１１によりアップグレードプログラム２０２が実行され、図９のステップＳ６６において、ハードウェアリセットが行われると、第１ＣＰＵ１１は、図５に示されるように、起動プログラム２０１を実行する。
【０２２３】
そして、図９のステップＳ６５において、第１ＣＰＵ１１により、第１フラッシュＲＯＭ１２のＩＤ情報領域７２に格納される実行プログラム選択判定情報１０１がユーザプログラムを選択するように設定されているので、起動プログラム２０１を実行した第１ＣＰＵ１１は、図７のステップＳ３０において、第１フラッシュＲＯＭ１２のユーザプログラム領域７４に格納されているユーザプログラム２０３をＳＤＲＡＭ１３にコピーし、図６のステップＳ４において、ソフトウェアリセットを行い、ＳＤＲＡＭ１３にコピーされたユーザプログラム２０３を実行する。
【０２２４】
ユーザプログラムを実行する第１ＣＰＵ１１は、画像処理に関する所定の処理を行いながら、メモリカードインタフェース２２を制御して、メモリカードスロット２１の状態変化を監視する。
【０２２５】
第１ＣＰＵ１１によるユーザプログラム実行処理について、図１７のフローチャートを参照して説明する。
【０２２６】
第１ＣＰＵ１１は、最初に、ステップＳ１５１において、図８のステップＳ５１の場合と同様に、メモリカードインタフェース２２を制御して、メモリカードスロット２１の状態を監視し、メモリカードスロット２１の状態の変化を検出したか否かを判定する。
【０２２７】
メモリカードインタフェース２２がメモリカードスロット２１の状態の変化を検出したと判定した場合、第１ＣＰＵ１１は、ステップＳ１５２に処理を進め、ステップＳ５２の場合と同様に、その情報に基づいて、メモリカードスロット２１に半導体メモリ２が装着されているか否かを判定する。
【０２２８】
メモリカードスロット２１に半導体メモリ２が装着されていると判定した場合、第１ＣＰＵ１１は、処理をステップＳ１５３に進め、図９のステップＳ６２の場合と同様に、装着された半導体メモリ２の記憶領域に、画像表示装置１に書き込む対象ファイルが存在するか否かを判定する。
【０２２９】
そして対象ファイルが存在すると判定した場合、第１ＣＰＵ１１は、ステップＳ１５４において、第１フラッシュＲＯＭ１２のＩＤ情報領域７２に格納されている実行プログラム選択判定情報１０１の内容を書き換えて、アップグレードプログラム２０２が選択されて実行されるようにする。
【０２３０】
そして、第１ＣＰＵ１１は、ステップＳ１５５において、ハードウェアリセットを行って、ユーザプログラム実行処理を終了する。
【０２３１】
ところで、ステップＳ１５１において、メモリカードスロット２１の状態の変化を検出していないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１５６に進める。
【０２３２】
また、ステップＳ１５２において、メモリカードスロット２１に半導体メモリ２が装着されていないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１５６に進める。
【０２３３】
さらに、ステップＳ１５３において、メモリカードスロット２１に装着された半導体メモリ２の記憶領域に、対象ファイルが存在しないと判定した場合、第１ＣＰＵ１１は、処理をステップＳ１５６に進める。
【０２３４】
ステップＳ１５６において、第１ＣＰＵ１１は、各部を制御して、ユーザプログラム２０３に定義された所定の画像処理に関する処理を行う。
【０２３５】
例えば、第１ＣＰＵ１１は、ステップＳ１５６において、メモリカードインタフェース２２やグラフィックコントローラ２３等を制御したり、第２ＣＰＵ３１に情報を供給したりして、ＧＵＩデータを表示部２６に供給する。
【０２３６】
図１８は、ステップＳ１５６の処理による表示部２６に表示される画面の例を示す図である。
【０２３７】
図１８において、ＧＵＩ画面２５１は、画像表示装置１に入力されたＪＰＥＧ画像データに対応するサムネイル画像の一覧を表示する画面である。表示部２６は、表示デバイスコントローラ２５に制御されて、図１８に示されるようなＧＵＩ画面２５１をディスプレイに表示する。
【０２３８】
なお、ステップＳ１５６において実行される処理は、上述したような処理以外の処理でもよく、ユーザプログラム２０３に定義された処理であれば何でもよい。
【０２３９】
ステップＳ１５６の処理が終了した第１ＣＰＵ１１は、処理をステップＳ１５１に戻し、それ以降の処理を繰り返す。
【０２４０】
すなわち、ユーザプログラム２０３を実行する第１ＣＰＵ１１は、ステップＳ１５６において、所定の処理を行いながら、ステップＳ１５１乃至ステップＳ１５３において、インストールする対象ファイルが用意されたか否かを判定し、用意された場合は、ステップＳ１５４およびステップＳ１５５の処理により、起動プログラム２０１がアップグレードプログラムを選択するように設定してからハードウェアリセットし、起動プログラム２０１を実行する。
【０２４１】
また、インストールする対象ファイルが用意されていない場合（ステップＳ１５１で、メモリカードスロット２１の状態変化が検出されていないと判定された場合、ステップＳ１５２で、半導体メモリ２が挿入されていないと判定された場合、並びに、ステップＳ１５３で、対象ファイルが存在しないと判定された場合）は、第１ＣＰＵ１１は、ステップＳ１５６の処理を繰り返す。
【０２４２】
以上のようにして、第１ＣＰＵ１１は、インストールする対象ファイルが用意されたか否かを調査しながら、ユーザプログラムを実行させる。これにより、画像表示装置１のユーザは、容易にインストール処理を行うことができる。
【０２４３】
以上のように、第１ＣＰＵ１１は、ハードウェアリセットおよびソフトウェアリセットを行うことにより、起動プログラム２０１を介して、アップグレードプログラム２０２およびユーザプログラム２０３を連続して実行することができ、また、アップグレード処理においては、設定されたインストール先に応じて、他のＣＰＵを制御することができるので、容易に、複数のプログラムを連続して書き込むことができる。
【０２４４】
以上においては、インストールされる対象ファイルは、半導体メモリ１１に記録された状態で、画像表示装置１に供給されるように説明したが、これに限らず、例えば、ネットワーク等の通信媒体を介して供給されるようにしてもよい。
【０２４５】
また、図１において、第１ＣＰＵ１１には、第１フラッシュＲＯＭ１２および第１ＥＥＰＲＯＭ１４が１つずつ接続され、第２ＣＰＵ３１には、第２フラッシュＲＯＭ３２および第２ＥＥＰＲＯＭ３４が１つずつ接続されるように説明したが、これに限らず、例えば、第１ＣＰＵ１１に複数のフラッシュＲＯＭが接続されるようにしてもよいし、複数のＥＥＰＲＯＭが接続されるようにしてもよい。また、第２ＣＰＵ３１についても同様である。
【０２４６】
さらに、図１においては、第１フラッシュＲＯＭ１２、第１ＥＥＰＲＯＭ１４、第２フラッシュＲＯＭ３２、および第２ＥＥＰＲＯＭ３４は、それぞれ、別体に構成されるように説明したが、これに限らず、これらの全部または一部が一体化されて構成されていてもよい。さらに、これらが、第１ＣＰＵ１１や第２ＣＰＵ３１等、その他の部分と一体化されて構成されるようにしてもよい。
【０２４７】
また、図１に示される画像表示装置１においては、第１フラッシュＲＯＭ１２には、第１ＣＰＵ１１において実行されるプログラムが格納され、第１ＥＥＰＲＯＭ１４には、第１ＣＰＵ１１に用いられるデータが格納されるように説明したが、これに限らず、第１フラッシュＲＯＭ１２および第２ＥＥＰＲＯＭ１４には、どのようなデータを格納するようにしてもよく、例えば、第１フラッシュＲＯＭ１２にプログラムだけでなくデータも格納するようにしてもよい。さらに、第２フラッシュＲＯＭ３２および第２ＥＥＰＲＯＭ３４についても同様であり、これらにどのようなデータを格納するようにしてもよい。
【０２４８】
さらに、図１においては、各部を制御するＣＰＵが第１ＣＰＵ１１および第２ＣＰＵ３１の２つにより構成されるように説明したが、これに限らず、ＣＰＵは、複数であれば何個でもよい。
【０２４９】
以上においては、本発明を複数のＣＰＵにより制御される画像表示装置に適用した場合について説明したが、本発明は、複数のＣＰＵにより制御される情報処理装置であればどのような装置でも適用することが可能であり、例えば、複数のＣＰＵを有するパーソナルコンピュータにも適用することができる。
【０２５０】
図１９は、本発明を適用したパーソナルコンピュータの例を示す図である。
【０２５１】
図１９において、パーソナルコンピュータ３００の第１ＣＰＵ３０１は、第１ＲＯＭ３０２若しくは第１フラッシュＲＯＭ３０４に記憶されているプログラム、または記憶部３４３から第１ＲＡＭ３０３にロードされたプログラムに従って各種の処理を実行する。第１ＲＡＭ３０３および第１フラッシュＲＯＭ３０４にはまた、第１ＣＰＵ３０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２５２】
また、第１フラッシュＲＯＭ３０４の記憶領域は、図２に示される場合と同様の構成になっており、起動プログラム２０１を格納する起動プログラム領域７１、プログラムやデータに関する情報を格納するＩＤ情報領域７２、アップグレードプログラム２０２を格納するアップグレードプログラム領域７３、ユーザプログラムを格納するユーザプログラム領域７４により構成される。
【０２５３】
第１ＣＰＵ３０１、第１ＲＯＭ３０２、第１ＲＡＭ３０３、および第１フラッシュＲＯＭ３０４は、バス３１０を介して相互に接続されている。
【０２５４】
また、パーソナルコンピュータ３００の第２ＣＰＵ３２１は、第１ＣＰＵ３０１と同様に、第２ＲＯＭ３２２若しくは第２フラッシュＲＯＭ３２４に記憶されているプログラム、または記憶部３４３から第２ＲＡＭ３２３にロードされたプログラムに従って各種の処理を実行する。第２ＲＡＭ３２３および第２フラッシュＲＯＭ３２４にはまた、第１ＲＡＭ３０３および第１フラッシュＲＯＭ３０４と同様に、第２ＣＰＵ３２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２５５】
また、第２フラッシュＲＯＭ３２４は、第１フラッシュＲＯＭ３０４と同様に、図２に示されるような構成になっており、起動プログラム２０１を格納する起動プログラム領域７１、プログラムやデータに関する情報を格納するＩＤ情報領域７２、アップグレードプログラム２０２を格納するアップグレードプログラム領域７３、ユーザプログラムを格納するユーザプログラム領域７４により構成される。
【０２５６】
第２ＣＰＵ３２１、第２ＲＯＭ３２２、第２ＲＡＭ３２３、および第２フラッシュＲＯＭ３２４は、バス３３０を介して相互に接続されている。
【０２５７】
また、バス３１０およびバス３３０にはまた、入出力インタフェース３４０も接続されている。
【０２５８】
入出力インタフェース３４０には、キーボード、マウスなどよりなる入力部３４１、ＣＲＴ（Ｃａｔｈｏｄｅ　Ｒａｙ　Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）などよりなるディスプレイ、並びにスピーカなどよりなる出力部３４２、ハードディスクなどにより構成される記憶部３４３、モデム、ターミナルアダプタ、またはＬＡＮアダプタなどにより構成される通信部３４４が接続されている。
【０２５９】
記憶部３４３には、各種の処理を実行するためのデータやプログラム等が記憶されており、必要に応じて第１ＣＰＵ３０１または第２ＣＰＵ３２１に制御され、第１ＲＡＭ３０３または第２ＲＡＭ３２３にデータやプログラムを供給する。
【０２６０】
入出力インタフェース３４０にはまた、必要に応じてドライブ３５０が接続され、磁気ディスク３５１、光ディスク３５２、光磁気ディスク３５３、或いは半導体メモリ３５４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３４３、第１フラッシュＲＯＭ３０４、または第２フラッシュＲＯＭ３２４にインストールされる。
【０２６１】
すなわち、ドライブ３５０は、図１のメモリカードスロット２１に対応しており、インストールするプログラムやデータ等が格納されている磁気ディスク３５１、光ディスク３５２、光磁気ディスク３５３、或いは半導体メモリ３５４等の記録媒体が装着される。
【０２６２】
入出力インタフェース３４０は、図１のメモリカードインタフェース２２に対応しており、第１ＣＰＵ３０１または第２ＣＰＵ３２１に制御されて、ドライブ３５０の状態を監視し、ドライブ３５０に上述した記録媒体が装着されたか否かを判定し、その情報を第１ＣＰＵ３０１または第２ＣＰＵ３２１に供給する。
【０２６３】
図１に示される画像表示装置１の第１ＣＰＵ１１および第２ＣＰＵ３１の場合、実行する処理が予め分担されており、互いに異なる処理を実行し、異なる各部を制御するように構成されているが、図１９のパーソナルコンピュータ３００の第１ＣＰＵ３０１および第２ＣＰＵ３２１は、互いに同様の構成であり、実行する処理は予め分担されていない。
【０２６４】
従って、第１ＣＰＵ３０１および第２ＣＰＵ３２１は、どちらを図１の第１ＣＰＵ１１に対応させてもよい。すなわち、図６に示される起動処理や図８および図９に示されるアップグレード処理を、第１ＣＰＵ３０１および第２ＣＰＵ３２１の内、どちらのＣＰＵで実行するようにしてもよいし、また、両方で実行するようにしてもよい。
【０２６５】
例えば、第１ＣＰＵ３０１を図１の第１ＣＰＵ１１に対応させる場合、第１ＣＰＵ３０１は、図５に示されるように、起動プログラム２０１、アップグレードプログラム２０２、および、ユーザプログラム２０３を実行する。
【０２６６】
すなわち、第１ＣＰＵ３０１は、第１ＣＰＵ１１と同様に、図６のフローチャートを参照して説明した起動処理、図７のフローチャートを参照して説明したＩＤ情報確認処理、図８および図９のフローチャートを参照して説明したアップグレード処理、図１４および図１５のフローチャートを参照して説明した書き換え処理、並びに、図１７のフローチャートを参照して説明したユーザプログラム実行処理と同様の処理を行い、供給されたプログラムやデータを第１フラッシュＲＯＭ３０４にインストールする。
【０２６７】
また、第１ＣＰＵ３０１は、第２ＣＰＵ３２１を制御し、第２ＣＰＵ３２１に、第２ＲＯＭ３２２等に予め記憶されている起動専用プログラムを実行させ、図１６のフローチャートを参照して説明した書き込み処理と同様の処理を実行させる。これにより、第２ＣＰＵ３２１は、供給されたプログラムやデータを第２フラッシュＲＯＭ３２４にインストールすることができる。
【０２６８】
以上のように、第１ＣＰＵ３０１は、ハードウェアリセットおよびソフトウェアリセットを行うことにより、起動プログラム２０１を介して、アップグレードプログラム２０２およびユーザプログラム２０３を連続して実行することができ、また、アップグレード処理においては、設定されたインストール先に応じて、他のＣＰＵを制御することができるので、容易に、複数のプログラムを連続して書き込むことができる。
【０２６９】
なお、上述したように、第２ＣＰＵ３２１を図１の第１ＣＰＵ１１に対応させて、上述した処理を実行することも可能である。
【０２７０】
以上においては、磁気ディスク３５１、光ディスク３５２、光磁気ディスク３５３、および半導体メモリ３５４等の記録媒体に格納されているプログラムやデータを第１フラッシュＲＯＭ３０４または第２フラッシュＲＯＭ３２４にインストールするように説明したが、これに限らず、記憶部３４３にインストールするようにしてもよい。
【０２７１】
また、インストールするプログラムやデータが、記録媒体からではなく、通信部３４４を介して供給されるようにしてもよい。
【０２７２】
さらに、図１９においては、各部を制御するＣＰＵが第１ＣＰＵ３０１および第２ＣＰＵ３２１の２つにより構成されるように説明したが、これに限らず、ＣＰＵは、複数であれば何個でもよい。
【０２７３】
また、図１９に示されるパーソナルコンピュータ３００の内部の構成の一部が、他のパーソナルコンピュータとして構成されるようにしてもよく、例えば、図２０に示すような、複数のパーソナルコンピュータが互いに通信可能に接続された情報処理システムとして構成されるようにしてもよい。
【０２７４】
図２０において、パーソナルコンピュータ４０１は、インターネットやＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）等に代表されるネットワーク４０２を介して、パーソナルコンピュータ４０３に接続されている。パーソナルコンピュータ４０１は、ネットワーク４０２を介して、パーソナルコンピュータ４０３と通信を行うことができる。
【０２７５】
例えば、図２０のパーソナルコンピュータ４０１のＣＰＵ（図示せず）を図１９の第１ＣＰＵ３０１に対応させ、図２０のパーソナルコンピュータ４０３のＣＰＵ（図示せず）を図１９の第２ＣＰＵ３２１に対応させて、パーソナルコンピュータ４０１のＣＰＵが、起動プログラム２０１、アップグレードプログラム２０２、および、ユーザプログラム２０３を実行するようにする。
【０２７６】
すなわち、パーソナルコンピュータ４０１のＣＰＵ（図示せず）が、図６のフローチャートを参照して説明した起動処理、図７のフローチャートを参照して説明したＩＤ情報確認処理、図８および図９のフローチャートを参照して説明したアップグレード処理、図１４および図１５のフローチャートを参照して説明した書き換え処理、並びに、図１７のフローチャートを参照して説明したユーザプログラム実行処理と同様の処理を行うようにする。
【０２７７】
パーソナルコンピュータ４０１のＣＰＵ（図示せず）は、ドライブ（図示せず）に装着された記録媒体（図示せず）に格納されているプログラムやデータを記憶部（図示せず）にインストールするとともに、ネットワーク４０２を介して、パーソナルコンピュータ４０３のＣＰＵ（図示せず）を制御し、起動専用プログラムを実行させることで、図１６のフローチャートを参照して説明した書き込み処理と同様の処理を実行させ、さらに、ネットワーク４０２を介してプログラムやデータを供給し、それらを記憶部（図示せず）にインストールさせる。
【０２７８】
以上のようにして、パーソナルコンピュータ４０１のＣＰＵ（図示せず）は、起動プログラム２０１を介して、アップグレードプログラム２０２およびユーザプログラム２０３を連続して実行することができ、さらに、ネットワーク４０２を介して、他のパーソナルコンピュータ４０３のＣＰＵを制御することができるので、容易に、複数のプログラムやデータを連続して書き込むことができる。
【０２７９】
なお、図２０において、上述した情報処理システムは、ネットワーク４０２に接続された２台のパーソナルコンピュータ４０１および４０３により構成されるように説明したが、これに限らず、情報処理システムを構成するパーソナルコンピュータは、何台であってもよい。
【０２８０】
以上の処理は、ハードウェアにより実行することができるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２８１】
この記録媒体は、図１または図１９に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク３５１（フロッピディスクを含む）、光ディスク３５２（ＣＤ−ＲＯＭ（ＣｏｍｐａｃｔＤｉｓｋ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＤＶＤ　（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）を含む）、光磁気ディスク３５３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、もしくは半導体メモリ２および３５４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されている第１ＣＰＵ１１、第２ＣＰＵ３１、第１ＣＰＵ３０１、および第２ＣＰＵ３２１に内蔵されているＲＯＭ（図示せず）などで構成される。
【０２８２】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２８３】
なお、以上において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２８４】
【発明の効果】
以上のように、本発明の情報処理装置および方法、記録媒体、並びにプログラムによれば、プログラムを書き換えることができる。特に、複数のＣＰＵおよび記憶部を有する情報処理装置において、互いに異なるＣＰＵに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができる。
【図面の簡単な説明】
【図１】本発明を適用した画像表示装置の構成例を示すブロック図である。
【図２】図１の第１フラッシュＲＯＭの記憶領域の構成例を示す図である。
【図３】図２のＩＤ情報領域の詳細な構成例を示す図である。
【図４】半導体メモリの記憶領域の構成例を示す図である。
【図５】図２の第１フラッシュＲＯＭの記憶領域に格納されているプログラムの関係の例を示す図である。
【図６】図１の第１ＣＰＵによる起動処理について説明するフローチャートである。
【図７】図６のステップＳ３において実行されるＩＤ情報確認処理の詳細について説明するフローチャートである。
【図８】図１の第１ＣＰＵによるアップグレード処理について説明するフローチャートである。
【図９】図１の第１ＣＰＵによるアップグレード処理について説明する、図８に続くフローチャートである。
【図１０】装着時用ＧＵＩ画面の例を示す図である。
【図１１】未装着時用ＧＵＩ画面の例を示す図である。
【図１２】完了時用ＧＵＩ画面の例を示す図である。
【図１３】エラー時用ＧＵＩ画面の例を示す図である。
【図１４】図９のステップＳ６３において実行される書き換え処理の詳細について説明するフローチャートである。
【図１５】図９のステップＳ６３において実行される書き換え処理の詳細について説明する、図１４に続くフローチャートである。
【図１６】図１の第２ＣＰＵによる書き込み処理について説明するフローチャートである。
【図１７】図１の第１ＣＰＵによるユーザプログラム実行処理について説明するフローチャートである。
【図１８】図１の表示部に表示される画面の例を示す図である。
【図１９】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【図２０】本発明を適用した情報処理システムの例を示す図である。
【符号の説明】
１　画像表示装置，　２　半導体メモリ，　１１　第１ＣＰＵ，　１２　第１フラッシュＲＯＭ，　１３　ＳＤＲＡＭ，　１４　第１ＥＥＰＲＯＭ，　１５　通信バス，　１６制御バス，　２１　メモリカードスロット，　２２　メモリカードインタフェース，　３１　第２ＣＰＵ，　３２　第２フラッシュＲＯＭ，　３３　入力部，　３４第２ＥＥＰＲＯＭ，　７１　起動プログラム領域，　７２　ＩＤ情報領域，　７３　アップグレードプログラム領域，　７４　ユーザプログラム領域，　２０１　起動プログラム，　２０２　アップグレードプログラム，　２０３　ユーザプログラム，　３００　パーソナルコンピュータ，　３０１　第１ＣＰＵ，　３２１　第２ＣＰＵ，　４０１　パーソナルコンピュータ，　４０２　ネットワーク，　４０３　パーソナルコンピュータ
【図１】
2004030539.tif 000003
【図２】
2004030539.tif 000004
【図３】
2004030539.tif 000005
【図４】
2004030539.tif 000006
【図５】
2004030539.tif 000007
【図６】
2004030539.tif 000008
【図７】
2004030539.tif 000009
【図８】
2004030539.tif 000010
【図９】
2004030539.tif 000011
【図１０】
2004030539.tif 000012
【図１１】
2004030539.tif 000013
【図１２】
2004030539.tif 000014
【図１３】
2004030539.tif 000015
【図１４】
2004030539.tif 000016
【図１５】
2004030539.tif 000017
【図１６】
2004030539.tif 000018
【図１７】
2004030539.tif 000019
【図１８】
2004030539.tif 000020
【図１９】
2004030539.tif 000021
【図２０】
2004030539.tif 000022