JP2004030539A - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents

情報処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2004030539A
JP2004030539A JP2002190001A JP2002190001A JP2004030539A JP 2004030539 A JP2004030539 A JP 2004030539A JP 2002190001 A JP2002190001 A JP 2002190001A JP 2002190001 A JP2002190001 A JP 2002190001A JP 2004030539 A JP2004030539 A JP 2004030539A
Authority
JP
Japan
Prior art keywords
cpu
program
storage
software
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002190001A
Other languages
English (en)
Other versions
JP2004030539A5 (ja
Inventor
Sadayoshi Suzuki
鈴木 定佳
Kunihiko Noguchi
野口 国彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002190001A priority Critical patent/JP2004030539A/ja
Priority to KR1020047020384A priority patent/KR100945994B1/ko
Priority to PCT/JP2003/008186 priority patent/WO2004003742A1/ja
Priority to CNB038153580A priority patent/CN100409192C/zh
Priority to EP03738549A priority patent/EP1519270A4/en
Priority to US10/519,088 priority patent/US20060190421A1/en
Publication of JP2004030539A publication Critical patent/JP2004030539A/ja
Publication of JP2004030539A5 publication Critical patent/JP2004030539A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

【課題】複数のCPUおよび記憶部を有する情報処理装置において、互いに異なるCPUに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができるようにする。
【解決手段】画像表示装置1の第1CPU11は、半導体メモリ2に格納されている対象ファイルを指定されたデバイスである第1フラッシュROM12または第1EEPROM14に書き込むか、または、第2CPU31を制御して、対象ファイルを指定されたデバイスである第2フラッシュROM32または第2EEPROM34に書き込ませる。また、第1CPU11は、通常の処理を行いながら、インストールする対象ファイルが用意がされたか否かを確認し、用意された場合、対象ファイルのインストール処理を開始する。本発明は、パーソナルコンピュータに適用できる。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、複数のCPUおよび記憶部を有する情報処理装置において、互いに異なるCPUに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができるようにした、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
従来、映像表示装置等を制御するプログラムやデータは、工場出荷時にROM(Read Only Memory)に記録されたり、プログラムやデータを後で更新できるように、書き換え可能なRAM(Random Access Memory)やハードディスクに記録されたりしている。
【0003】
例えば、工場出荷時に書き込まれたプログラムやデータに不具合が生じたり、新たな機能を追加させたりする場合、映像表示装置のCPUの制御により、新しいプログラムやデータが、フラッシュメモリカード等の記録媒体等より読み出され、CPUの制御するRAM等の記憶部の所定のアドレス位置に記憶される(インストールされる)。
【0004】
【発明が解決しようとする課題】
しかしながら、映像表示装置においては、通常、複数のプログラムやデータが複数の記憶部に記憶され、複数のCPUによって、互いに異なる制御処理が行われる。従って、上述したような方法では、更新するプログラムやデータを、対応するCPUの制御により、そのCPUが制御する所定の記憶部に記憶(インストール)させるため、更新処理をCPU毎に独立して行わなければならず、互いに異なるCPUに対応する複数のプログラムやデータを連続して更新することができないという課題があった。
【0005】
すなわち、互いに異なるCPUに対応する複数のプログラムやデータを更新する場合(新たなプログラムやデータをインストールする場合)、プログラムやデータ毎に、対応するCPUに書き込み用プログラムを実行させ、読み出し処理、書き込み処理を実行させる必要があった。
【0006】
これに対して、プログラムやデータを更新する為の特別な回路や装置を用いて、複数のCPUが制御する複数の記憶部に対して、書き込み(インストール)作業を行うことができるようにする方法が考えられるが、一般的に、書き込み(インストール)作業は頻繁に行われるものではなく、不必要に回路規模が増大し、コストがあがってしまう。さらに、消費電力も増えてしまう。
【0007】
本発明はこのような状況に鑑みてなされたものであり、複数のCPUおよび記憶部を有する情報処理装置において、互いに異なるCPUに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができるようにするものである。
【0008】
【課題を解決するための手段】
本発明の情報処理装置は、主制御部より供給されるソフトウェアの記憶に関する指示を取得する第1の取得手段と、主制御部にソフトウェアを要求する要求手段と、要求手段による要求に応じて供給されたソフトウェアを取得する第2の取得手段と、記憶部を制御し、第2の取得手段により取得されたソフトウェアを記憶させる記憶制御手段とを備えることを特徴とする。
【0009】
前記指示は、ソフトウェアに関する情報およびソフトウェアを記憶させる記憶部に関する情報を含むようにすることができる。
【0010】
前記第1の取得手段により取得された指示により指定された記憶部を、複数の記憶部の中から選択し、取得手段により取得されたソフトウェアを記憶させる記憶部として設定する記憶部設定手段をさらに備え、記憶制御手段は、記憶部設定手段により設定された記憶部にソフトウェアを記憶させるようにすることができる。
【0011】
前記記憶制御手段の制御により記憶部に記憶されたソフトウェアが正常であるか否かを確認する確認手段と、確認手段による確認結果を主制御部に供給する供給手段とをさらに備えるようにすることができる。
【0012】
本発明の情報処理方法は、主制御部にソフトウェアを要求する要求ステップと、要求ステップの処理による要求に応じて供給されたソフトウェアの取得を制御する取得制御ステップと、主制御部より供給される指示に基づいて、記憶部を制御し、取得制御ステップの処理により取得が制御されたソフトウェアを記憶させる記憶制御ステップとを含むことを特徴とする。
【0013】
本発明の記録媒体のプログラムは、主制御部にソフトウェアを要求する要求ステップと、要求ステップの処理による要求に応じて供給されたソフトウェアの取得を制御する取得制御ステップと、主制御部より供給される指示に基づいて、記憶部を制御し、取得制御ステップの処理により取得が制御されたソフトウェアを記憶させる記憶制御ステップとを含むことを特徴とする。
【0014】
本発明のプログラムは、主制御部にソフトウェアを要求する要求ステップと、要求ステップの処理による要求に応じて供給されたソフトウェアの取得を制御する取得制御ステップと、主制御部より供給される指示に基づいて、記憶部を制御し、取得制御ステップの処理により取得が制御されたソフトウェアを記憶させる記憶制御ステップとをコンピュータに実現させることを特徴とする。
【0015】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、主制御部より供給されるソフトウェアの記憶に関する指示が取得され、主制御部に対する要求に応じて供給されたソフトウェアが取得され、その取得されたソフトウェアが記憶部により記憶される。
【0016】
情報処理装置は、複数の制御部および記憶部を有するデジタルカメラ、携帯電話機、テレビジョン受像機、その他の機器に組み込まれたマイクロコンピュータなどであってもよい。
【0017】
【発明の実施の形態】
図1は、本発明を適用した画像表示装置の構成例を示す図である。
【0018】
図1においてJPEG(Joint Photographic Experts Group)等に代表される動画像や静止画像を表示する画像表示装置1は、入力端子より入力された、または、フラッシュメモリ等の電気的に書き換え可能な不揮発性のメモリで構成される半導体メモリ2に記憶されたJPEG画像データ等の画像データを処理し、静止画像や動画像をディスプレイ等に表示する。
【0019】
画像表示装置1の第1CPU(Central Processing Unit)11は、半導体メモリ2よりメモリカードインタフェース22を介して取得した画像データに対して、デコード処理等の画像処理を行い、処理された画像データをグラフィックコントローラ23に供給する。
【0020】
また、第1CPU11は、バスを介して接続された各部の制御を行う。さらに、第1CPU11は、GUI(Graphical User Interface)情報を生成し、グラフィックコントローラ23に供給する。
【0021】
また、第1CPU11は、通信バス15および制御バス16を介して第2CPU31と接続されており、制御情報や各種データ等のやり取りを行う。
【0022】
第1CPU11は、バスを介して接続された第1フラッシュROM(Read Only Memory)12に記憶されているプログラムや、同様にバスを介して接続された第1EEPROM(Electronically Erasable and Programmable Read Only Memory)14に記憶されているデータを、同じくバスを介して接続されたSDRAM(Synchronous Dynamic Random Access Memory)13にロードし、それらのプログラムやデータを用いて、画像処理や各部の制御処理等を行う。
【0023】
なお、第1CPU11は、後述するように、半導体メモリ2よりメモリカードインタフェース22を介して取得したプログラムやデータを用いて、第1フラッシュROM12および第1EEPROM14に記憶されているプログラムやデータを更新することができる。
【0024】
第1フラッシュROM12は、電気的に書き換え可能な不揮発性のメモリであり、第1CPU11において実行されるプログラムを記憶している。
【0025】
SDRAM13は、第1CPU11に制御され、供給された第1フラッシュROM12に記憶されているプログラムや、第1EEPROMに記憶されているデータを一時的に保持する。
【0026】
第1EEPROM14は、電気的に内容の書き換えが可能な不揮発性のメモリであり、第1CPU11による画像処理に必要な、補正値等のデータを記憶している。
【0027】
また、画像表示装置1には、半導体メモリ2を装着可能なメモリカードスロット21が設けられている。メモリカードスロット21に正しく装着された半導体メモリ2は、メモリカードインタフェース22と電気的に接続され、メモリカードインタフェース22に制御される。
【0028】
メモリカードインタフェース22は、第1CPU11に制御され、メモリカードスロット21を監視し、メモリカードスロット21に半導体メモリ2が正しく装着されているか否かを確認したり、メモリカードスロット21に正しく装着された半導体メモリ2に記憶されているデータを読み出し、第1CPU11に供給したりする。
【0029】
グラフィックコントローラ23は、第1CPU11より供給された画像データやGUI情報を用いて、表示部26において表示する画像に対応する画像データを生成し、スケーリングデバイス24に供給する。
【0030】
スケーリングデバイス24は、第2CPU31に制御され、グラフィックコントローラ23より供給された画像データ、若しくは、外部画像信号入力端子27を介して、画像表示装置1の外部より供給された画像データに対して、解像度変換処理等を行い、表示部26において表示可能な画像データを生成し、表示デバイスコントローラ25に供給する。
【0031】
表示デバイスコントローラ25は、スケーリングデバイス24より供給された画像データを表示部26に供給し、表示部26を制御して、供給した画像データに対応する画像を表示させる。
【0032】
表示部26は、LCD(Liquid Crystal Display)や、CRT(Cathode Ray Tube)等のディスプレイにより構成され、表示デバイスコントローラ25に制御され、供給された画像データに対応する画像を表示する。
【0033】
第2CPU31は、第2フラッシュROM32に記憶されているプログラム、および第2EEPROM34に記憶されている、明るさや色合い等、画像処理に関するデータを用いて、スケーリングデバイス24を制御して、画像の表示に関する制御を行う。
【0034】
また、第2CPU31は、入力部33より入力されたユーザの指示に基づいて、各種の処理を実行する。
【0035】
さらに、第2CPU31には、図示せぬROMが内蔵されており、起動専用プログラムが記憶されている。第2CPU31は、後述するように、この起動専用プログラムを実行することにより、第2フラッシュROM32や第2EEPROM34に記憶されている情報を更新することができる。
【0036】
第2フラッシュROM32は、第1フラッシュROM12と同様に、電気的に書き換え可能な不揮発性のメモリであり、第2CPU31において実行されるプログラムを記憶している。
【0037】
入力部33は、図示せぬチャンネルボタンやメニュー操作ボタン等により構成され、ユーザに操作されて、ユーザからの指示を入力し、第2CPU31に供給する。
【0038】
第2EEPROM34は、第1EEPROM14と同様に、電気的に内容の書き換えが可能な不揮発性のメモリであり、第2CPU11による画像処理に必要なデータを記憶している。
【0039】
半導体メモリ2は、例えば、メモリースティック(商標)等に代表される、フラッシュメモリ等の電気的に書き換え可能な不揮発性のメモリで構成されるメモリカードである。
【0040】
半導体メモリ2には、対応する画像を画像表示装置1の表示部26に表示させるJPEG画像データの他に、第1フラッシュROM12および第2フラッシュROM32に記憶されるプログラム、並びに、第1EEPROM14および第2EEPROM32に記憶されるデータ等が記録されている。
【0041】
半導体メモリ2に、第1フラッシュROM12や第1EEPROM14に記録されるプログラムやデータが記録されている場合、第1CPU11は、後述するように、それらのプログラムやデータを取得し、第1フラッシュメモリ12や第1EEPROM14に書き込む。
【0042】
また、半導体メモリ2に、第2フラッシュROM32や第2EEPROM34に記録されるプログラムやデータが記録されている場合、第1CPU11は、後述するように、それらのプログラムやデータを第2CPU31に供給し、第2CPU31を制御して、第2フラッシュメモリ32や第2EEPROM34に書き込ませる。
【0043】
図2は、図1に示される第1フラッシュROM12の記憶領域の構成例を示す図である。
【0044】
図2において、第1フラッシュROM12の記憶領域は、例えば、画像表示装置1の電源が投入された場合、または、それと同様の状態の場合、すなわち、ハードウェアリセットが行われた場合に、第1CPU11により実行される起動プログラムが格納される起動プログラム領域71、後述するアップグレードプログラムおよびユーザプログラムの内、いずれを実行するかを指定するID情報を格納するID情報領域72、後述するユーザプログラムを更新(アップグレード)するためのアップグレードプログラムが格納されているアップグレードプログラム領域73、並びに、JPEG画像データの表示に関する処理を実行するプログラムが格納されるユーザプログラム領域74により構成されている。
【0045】
図1において、第1フラッシュROM12とSDRAM13は、第1CPU11により、第1CPU11の管理するメモリ空間上において、例えば「FF000000(H)」と「00000000(H)」というような、互いに異なるアドレス領域が、それぞれ割り当てられている。
【0046】
例えば、図2に示されるように、第1CPU11により、第1フラッシュROM12に、「FF000000(H)」乃至「FF1EFFFF(H)」のアドレス領域が割り当てられている場合、ハードウェアリセットが行われると、第1CPU11のプログラムカウンタの値が「FF000000(H)」に設定され、第1CPU11により、起動プログラム領域71に格納されている起動プログラムが実行される。
【0047】
図2の例において、起動プログラム領域71には「FF000000(H)」乃至「FF003FFF(H)」のアドレス領域が割り当てられており、その起動プログラム領域71に格納される起動プログラムは、後述するように、ID情報領域に格納されるID情報を参照し、その情報に基づいて、アップグレードプログラム領域73に格納されているアップグレードプログラム、または、ユーザプログラム領域74に格納されているユーザプログラムのいずれかを指定し、第1CPU11に実行させる(ソフトウェアリセットを行う)。
【0048】
ID情報領域72には「FF004000(H)」乃至「FF005FFF(H)」のアドレス領域が割り当てられており、後述するように、アップグレードプログラム領域73に格納されているアップグレードプログラム、または、ユーザプログラム領域74に格納されているユーザプログラムの選択に関する情報等を格納している。
【0049】
アップグレードプログラム領域73には「FF006000(H)」乃至「FF007FFF(H)」のアドレス領域が割り当てられており、そのアップグレードプログラム領域73に格納されるアップグレードプログラムは、後述するように、第1CPU11に実行され、ユーザプログラム領域74に格納されているユーザプログラム、または、アップグレードプログラム自身を更新する。
【0050】
ユーザプログラム領域74には「FF008000(H)」乃至「FF1EFFF(H)」のアドレス領域が割り当てられており、そのユーザプログラム領域74に格納されるユーザプログラムは、第1CPU11に実行され、JPEG画像データの表示に関する処理を実行する
【0051】
図3は、図2のID情報領域72の詳細な構成例を示す図である。
【0052】
図3において、ID情報領域72に格納される実行プログラム選択判定情報101は、16バイトのデータで構成され、起動プログラム領域71に格納される起動プログラムを実行する第1CPU11が、起動するプログラムとして、アップグレードプログラム領域73に格納されているアップグレードプログラム、または、ユーザプログラム領域74に格納されているユーザプログラムの内、いずれか一方を選択することができるような情報を含んでいる。
【0053】
すなわち、起動プログラム領域71に格納される起動プログラムを実行する第1CPU11は、実行プログラム選択判定情報101に基づいて、アップグレードプログラムまたはユーザプログラムの内、いずれか一方を選択して実行する(ソフトウェアリセットを行う)。
【0054】
格納プログラム正常判定情報102は、16バイトのデータで構成され、図2のアップグレードプログラム領域73に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【0055】
すなわち、第1CPU11は、格納プログラム正常判定情報102に基づいて、図2のアップグレードプログラム領域73に、アップグレードプログラムとして実行できないプログラムやデータが格納されているか否かを判定する。
【0056】
バージョン情報103は、4バイトのデータで構成され、図2のアップグレードプログラム領域73に格納されているアップグレードプログラムのバージョン情報を含んでいる。
【0057】
チェックサム情報104は、4バイトのデータで構成され、図2のアップグレードプログラム領域73に格納されているアップグレードプログラムのデータが正常か否かを判定するための情報を含んでいる。
【0058】
プログラム作成日情報105は、4バイトのデータで構成され、図2のアップグレードプログラム領域73に格納されているアップグレードプログラム作成日に関する情報を含んでいる。
【0059】
対象機種判定情報106および対象マイコン判定情報107は、16バイトのデータで構成され、格納プログラム正常判定情報102と同様に、図2のアップグレードプログラム領域73に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【0060】
IDチェックサム情報108は、4バイトのデータで構成され、上述した、格納プログラム正常判定情報102乃至対象マイコン判定情報107を含む、アップグレードプログラム領域73に関する各情報が何らかの原因で破壊されているか否かを確認するための情報を含んでいる。
【0061】
例えば、図3に示される例の場合、IDチェックサム情報108は、アドレス「FF00405C(H)」乃至「FF00405F(H)」に格納されており、アドレス「FF004010(H)」乃至「FF00405B(H)」の領域の情報が正常であるか否かを確認するための情報を含んでいる。
【0062】
格納プログラム正常判定情報112は、16バイトのデータで構成され、図2のユーザプログラム領域74に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【0063】
すなわち、第1CPU11は、格納プログラム正常判定情報112に基づいて、図2のユーザプログラム領域74に、ユーザプログラムとして実行できないプログラムやデータが格納されているか否かを判定する。
【0064】
バージョン情報113は、4バイトのデータで構成され、図2のユーザプログラム領域74に格納されているユーザプログラムのバージョン情報を含んでいる。
【0065】
チェックサム情報114は、4バイトのデータで構成され、図2のユーザプログラム領域74に格納されているユーザプログラムのデータが正常か否かを判定するための情報を含んでいる。
【0066】
プログラム作成日情報115は、4バイトのデータで構成され、図2のユーザプログラム領域74に格納されているユーザプログラムの作成日に関する情報を含んでいる。
【0067】
対象機種判定情報116および対象マイコン判定情報117は、16バイトのデータで構成され、格納プログラム正常判定情報112と同様に、図2のユーザプログラム領域74に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【0068】
IDチェックサム情報118は、4バイトのデータで構成され、上述した、格納プログラム正常判定情報112乃至対象マイコン判定情報117を含む、ユーザプログラム領域74に関する各情報が何らかの原因で破壊されているか否かを確認するための情報を含んでいる。
【0069】
例えば、図3に示される例の場合、IDチェックサム情報118は、アドレス「FF0040AC(H)」乃至「FF0040AF(H)」に格納されており、アドレス「FF004060(H)」乃至「FF0040AB(H)」の領域の情報が正常であるか否かを確認するための情報を含んでいる。
【0070】
図4は、半導体メモリ2の記憶領域の構成例を示す図である。
【0071】
図4において、半導体メモリ2の記憶領域に格納されている格納プログラム正常判定情報151は、16バイトのデータで構成され、この記憶領域に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【0072】
すなわち、第1CPU11は、格納プログラム正常判定情報112に基づいて、半導体メモリ2の記憶領域に、画像表示装置1において実行できないプログラムや、処理できないデータが格納されているか否かを判定する。
【0073】
バージョン情報152は、4バイトのデータで構成され、半導体メモリ2の記憶領域に格納されているソフトウェアのバージョン情報を含んでいる。
【0074】
チェックサム情報153は、4バイトのデータで構成され、半導体メモリ2の記憶領域に格納されているソフトウェアが何らかの原因で破壊されているか否かを判定するための情報を含んでいる。
【0075】
プログラム作成日情報154は、4バイトのデータで構成され、半導体メモリ2の記憶領域に格納されているソフトウェアの作成日に関する情報を含んでいる。
【0076】
対象機種判定情報155および対象マイコン判定情報156は、それぞれ16バイトのデータで構成され、格納プログラム正常判定情報102と同様に、半導体メモリ2の記憶領域に異なった種類のソフトウェアが記録されているか否かを判定するための情報を含んでいる。
【0077】
IDチェックサム情報157は、4バイトのデータで構成され、上述した、格納プログラム正常判定情報151乃至対象マイコン判定情報156を含む、半導体メモリ2の記憶領域のソフトウェアに関する各情報が何らかの原因で破壊されているか否かを確認するための情報を含んでいる。
【0078】
また、ソフトウェアバイナリデータ158は、半導体メモリ2の記憶領域に格納されている、画像表示装置1に書き込まれる(インストールされる)プログラムやデータである。
【0079】
次に、以上のように構成される画像表示装置1におけるプログラムやデータの書き込み(インストール)方法について説明する。
【0080】
図5は、図2に示される第1フラッシュROM12の記憶領域に格納されているプログラムの関係の例を示す図である。
【0081】
図5において、起動プログラム201は、図2の起動プログラム領域71に格納されるプログラムであり、アップグレードプログラム202は、図2のアップグレードプログラム領域73に格納されるプログラムであり、ユーザプログラム203は、図2のユーザプログラム領域74に格納されるプログラムである。
【0082】
画像表示装置1が電源を投入されるなどして、ハードウェアリセットされると、第1CPU11は、第1フラッシュROM12の起動プログラム領域71に格納されている起動プログラム201を実行する。
【0083】
起動プログラム201を実行した第1CPU11は、後述するように、起動処理を行い、図3に示されるID情報領域72の実行プログラム選択判定情報101の内容に基づいて、アップグレードプログラム202またはユーザプログラム203のいずれか一方を選択し、SDRAM13にコピーした後、実行する(ソフトウェアリセットを行う)。
【0084】
アップグレードプログラム202を実行した第1CPU11は、後述するようにアップグレード処理を行い、半導体メモリ2に記録されているソフトウェアを所定の位置に書き込む(インストールする)。そして、処理が終了すると、第1CPU11は、ハードウェアリセットを行い、起動プログラム201が実行されるようにする。その際、第1CPU11は、ID情報領域72の実行プログラム選択判定情報101を更新し、ユーザプログラム203が選択されるようにする。
【0085】
ユーザプログラム203を実行した第1CPU11は、プログラムに対応する画像処理を行いながら、メモリカードインタフェース22を制御して、メモリカードスロット21に、書き込むプログラムが記録された半導体メモリ2が装着されたか否かを監視し、装着されたと判定した場合、ハードウェアリセットを行い、起動プログラム201が実行されるようにする。その際、第1CPU11は、ID情報領域72の実行プログラム選択判定情報101を更新し、アップグレードプログラム202が選択されるようにする。
【0086】
以上のように、第1CPU11は、起動プログラム201、アップグレードプログラム202、および、ユーザプログラム203を実行して、半導体メモリ2に記録されているプログラムやデータを書き込む。
【0087】
次に、図5の起動プログラム201を実行した第1CPU11による起動処理について、図6のフローチャートを参照して説明する。
【0088】
最初に、ステップS1において、第1CPU11は、SDRAM13に対して、内部レジスタを設定し、SDRAM13を制御してデータを記録させることができるように、初期化処理を行う。
【0089】
そして、ステップS2において、第1CPU11は、第1CPU11に接続されている、第1フラッシュROM12、第1EEPROM14、メモリカードインタフェース22、および、グラフィックコントローラ23等の周辺デバイスに対しても同様に、内部レジスタを設定し、初期化する。
【0090】
周辺デバイスを初期化した第1CPU11は、ステップS3において、第1フラッシュROM12のID情報領域72に格納されているID情報を確認するID情報確認処理を実行する。ID情報確認処理の詳細については、図7のフローチャートを参照して後述する。
【0091】
ID情報確認処理により、第1フラッシュROM12のアップグレードプログラム領域73に格納されているアップグレードプログラム、または、ユーザプログラム領域74に格納されているユーザプログラムのどちらを選択し、実行するかを確認し、そのプログラムをSDRAM13にコピーした第1CPU11は、ステップS4において、ソフトウェアリセットを行い、選択したプログラムを実行し、起動処理を終了する。
【0092】
以上のようにして、ハードウェアリセットされた第1CPU11は、アップグレードプログラムまたはユーザプログラムをSDRAM13にコピーし、そのコピーされたプログラムを実行するためにソフトウェアリセットを行う。
【0093】
次に、図7のフローチャートを参照して、図6のステップS3において実行されるID情報確認処理の詳細について説明する。
【0094】
最初に、ステップS21において、第1CPU11は、第1フラッシュROM12のID情報記憶領域72を参照する。
【0095】
そして、ステップS22において、第1CPU11は、ID情報領域72の実行プログラム選択判定情報101が正常であるか否かを判定する。実行プログラム選択判定情報101がアップグレードプログラム領域73に格納されているアップグレードプログラムか、または、ユーザプログラム領域74に格納されているユーザプログラムを指定しており、正常であると判定した場合、第1CPU11は、ステップS23に処理を進め、実行プログラム選択判定情報101に基づいて、実行するプログラムとして、アップグレードプログラムが選択されたか否かを判定する。
【0096】
実行プログラム選択判定情報101によりアップグレードプログラムが指定され、実行するプログラムとして、アップグレードプログラムが選択されたと判定した場合、第1CPU11は、ステップS24に処理を進め、ID情報領域72の格納プログラム正常判定情報102に基づいて、選択されたアップグレードプログラムが正しい種類のプログラムであるか否かを判定する。
【0097】
選択されたアップグレードプログラムが正しいプログラムであると判定した場合、第1CPU11は、処理をステップS25に進め、IDチェックサム情報108に基づいて、ID情報領域72の、格納プログラム正常判定情報102乃至対象マイコン判定情報107により構成される、選択されたアップグレードプログラムに対応するID情報が正常か否かを判定する。
【0098】
そして、選択されたアップグレードプログラムに対応するID情報が正常であると判定した場合、第1CPU11は、ステップS26において、第1フラッシュROM12のアップグレードプログラム領域73に格納されているアップグレードプログラムをSDRAM13にコピーする。
【0099】
第1CPU11は、アップグレードプログラムをSDRAM13にコピーすると、ステップS27において、ID情報記憶領域72のチェックサム情報104に基づいて、コピーしたアップグレードプログラムが正常であるか否かを判定する。
【0100】
コピーしたアップグレードプログラムが何らかの原因により破壊されており、正常ではないと判定した場合、第1CPU11は、処理をステップS24に戻し、それ以降の処理を繰り返す。
【0101】
また、コピーしたアップグレードプログラムが正常であると判定した場合、第1CPU11は、ID情報確認処理を終了し、処理を図6のステップS4に進める。
【0102】
ところで、ステップS23において、実行プログラム選択判定情報101により、ユーザプログラムが選択され、アップグレードプログラムが選択されていないと判定した場合、第1CPU11は、処理をステップS28に進める。
【0103】
ステップS28において、第1CPU11は、格納プログラム正常判定情報112に基づいて、選択されたユーザプログラムが正しい種類のプログラムであるか否かを判定する。
【0104】
選択されたユーザプログラムが正しいプログラムであると判定した場合、第1CPU11は、処理をステップS29に進め、IDチェックサム情報118に基づいて、ID情報領域72の、格納プログラム正常判定情報112乃至対象マイコン判定情報117により構成される、選択されたユーザプログラムに対応するID情報が正常か否かを判定する。
【0105】
そして、選択されたユーザプログラムに対応するID情報が正常であると判定した場合、第1CPU11は、ステップS30において、第1フラッシュROM12のユーザプログラム領域74に格納されているユーザプログラムをSDRAM13にコピーする。
【0106】
第1CPU11は、ユーザプログラムをSDRAM13にコピーすると、ステップS31において、ID情報記憶領域72のチェックサム情報114に基づいて、コピーしたユーザプログラムが正常であるか否かを判定する。
【0107】
コピーしたユーザプログラムが何らかの原因により破壊されており、正常ではないと判定した場合、第1CPU11は、処理をステップS24に戻し、それ以降の処理を繰り返す。
【0108】
すなわち、ユーザプログラムのコピーに失敗した第1CPU11は、次に、アップグレードプログラムのSDRAM13へのコピーを試みる。
【0109】
また、コピーしたユーザプログラムが正常であると判定した場合、第1CPU11は、ID情報確認処理を終了し、処理を図6のステップS4に進める。
【0110】
ところで、ステップS22において、実行プログラム選択判定情報101が、何らかの原因により破壊されており、正常ではないと判定した場合、第1CPU11は、処理をステップS32に進め、エラー処理を行った後、ID情報確認処理を終了する。この場合、第1CPU11は、図6のステップS4の処理は省略し、起動処理を終了させる。
【0111】
また、ステップS24において、選択されたアップグレードプログラムが正しい種類のプログラムではないと判定した場合、第1CPU11は、処理をステップS32に進め、エラー処理を行った後、ID情報確認処理を終了する。この場合も、第1CPU11は、図6のステップS4の処理は省略し、起動処理を終了させる。
【0112】
さらに、ステップS25において、選択されたアップグレードプログラムに対応するID情報が正常ではないと判定した場合も、第1CPU11は、処理をステップS32に進め、エラー処理を行った後、ID情報確認処理を終了する。この場合も、第1CPU11は、図6のステップS4の処理は省略し、起動処理を終了させる。
【0113】
すなわち、第1CPU11は、アップグレードプログラムおよびユーザプログラムを実行することができない場合、エラー処理を行い、起動処理を終了させる。
【0114】
ところで、ステップS28において、選択されたユーザプログラムが正しい種類のプログラムではないと判定した場合、第1CPU11は、ステップS31において、コピーしたユーザプログラムが正常ではないと判定した場合と同様に、処理をステップS24に戻し、それ以降の処理を繰り返す。
【0115】
また、ステップS29において、選択されたユーザプログラムに対応するID情報が正常ではないと判定した場合も、第1CPU11は、処理をステップS24に戻し、それ以降の処理を繰り返す。
【0116】
すなわち、ユーザプログラムのコピーに失敗した第1CPU11は、次に、アップグレードプログラムのSDRAM13へのコピーを試みる。
【0117】
以上のように、第1CPU11は、ID情報確認処理を行い、第1フラッシュROM12のID情報領域72の内容を確認しながら、アップグレードプログラムまたはユーザプログラムをSDRAM13にコピーする。
【0118】
SDRAM13にコピーされたプログラムは、上述したように、図6のステップS4において、ソフトウェアリセットが行われ、第1CPU11により実行される。
【0119】
以上のようにして、例えば、アップグレードプログラムが実行された場合、第1CPU11は、アップグレード処理を行う。図8および図9のフローチャートを参照して、第1CPU11によるアップグレード処理について説明する。また、必要に応じて、図10乃至図13を参照する。
【0120】
最初に、ステップS51において、第1CPU11は、メモリカードインタフェース22を制御して、メモリカードスロット21の状態を監視し、メモリカードスロット21の状態の変化を検出したか否かを判定する。
【0121】
例えば、メモリカードスロット21に半導体メモリ2が装着されるなどして、メモリカードスロット21の状態の変化を検出すると、メモリカードインタフェース22は、その情報を第1CPU11に供給する。第1CPU11は、メモリカードインタフェース22より供給された情報に基づいて、メモリカードスロット21の状態が変化したか否かを判定する。
【0122】
メモリカードインタフェース22がメモリカードスロット21の状態の変化を検出したと判定した場合、第1CPU11は、ステップS52に処理を進め、その情報に基づいて、メモリカードスロット21に半導体メモリ2が装着されているか否かを判定する。
【0123】
メモリカードスロット21に半導体メモリ2が装着されていると判定した場合、第1CPU11は、処理をステップS53に進め、装着時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、表示する画面を装着時用GUI画面に切り替える。装着時用GUIを取得した表示部26は、表示デバイスコントローラ25に制御されて、ディスプレイに、例えば、図10に示すような装着時用GUI画面を表示する。
【0124】
図10の装着時用GUI画面211においては、「Write」と表示されるボタン211Aが操作可能な状態(アクティブ)になっており、ユーザは入力部33を操作することにより、ボタン211Aを操作し、書き込み開始(アップグレード開始)を指示することができる。
【0125】
図8に戻り、表示画面を装着時用GUIに切り替えた第1CPU11は、処理をステップS58に進める。
【0126】
また、ステップS52において、メモリカードスロット21に半導体メモリ2が装着されていないと判定した場合、第1CPU11は、処理をステップS54に進め、未装着時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、表示する画面を未装着時用GUI画面に切り替える。未装着時用GUIを取得した表示部26は、表示デバイスコントローラ25に制御されて、ディスプレイに、例えば、図11に示すような未装着時用GUI画面を表示する。
【0127】
図11の未装着時用GUI画面221においては、「Home」と表示されるボタン221Aが操作可能な状態(アクティブ)になっており、ユーザは入力部33を操作することにより、ボタン221Aを操作し、書き込みに関する処理の中止を指示し、ディスプレイに、所定の基本的なメニューを表示するGUI画面である「Home」画面を表示させ、その他の処理を選択できるようにすることができる。
【0128】
図8に戻り、表示画面を未装着時用GUIに切り替えた第1CPU11は、処理をステップS58に進める。
【0129】
ところで、ステップS51において、メモリカードインタフェース22よりメモリカードスロット21の状態に関する情報を取得しておらず、メモリカードインタフェース22がメモリカードスロット21の状態の変化を検出していないと判定した場合、第1CPU11は、処理をステップS55に進める。
【0130】
ステップS55において、第1CPU11は、表示部26に、エラー時用GUIまたは完了時用GUIを表示しているか否かを判定する。書き込み(アップグレード)が正常に行われた場合、第1CPU11は、完了時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給する。完了時用GUIを取得した表示部26は、表示デバイスコントローラ25に制御されて、ディスプレイに、例えば、図12に示すような完了時用GUI画面を表示する。
【0131】
図12の完了時用GUI画面231においては、「OK」と表示されるボタン231Aが操作可能な状態(アクティブ)になっており、ユーザは入力部33を操作することにより、ボタン231Aを操作し、書き込みの完了を確認することができる。
【0132】
また、書き込み(アップグレード)処理においてエラーが発生した場合、第1CPU11は、エラー時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給する。エラー時用GUIを取得した表示部26は、表示デバイスコントローラ25に制御されて、ディスプレイに、例えば、図13に示すようなエラー時用GUI画面を表示する。
【0133】
図13のエラー時用GUI画面241においては、「OK」と表示されるボタン241Aが操作可能な状態(アクティブ)になっており、ユーザは入力部33を操作することにより、ボタン241Aを操作し、書き込みにおいてエラーが発生したことを確認することができる。
【0134】
図8に戻り、第1CPU11は、ステップS55において、以上のようなエラー時用GUIまたは完了時用GUIを、表示部26に表示しているか否かを判定し、表示していないと判定した場合、第1CPU11は、処理をステップS58に進める。
【0135】
また、以上のようなエラー時用GUIまたは完了時用GUIを、表示部26に表示していると判定した場合、第1CPU11は、処理をステップS56に進める。
【0136】
ステップS56において、第1CPU11は、第2CPU31を制御して、入力部33を監視し、ユーザの操作を検出したか否かを判定する。第1CPU11は、通信バス15を介して、第2CPU31に入力部33を監視する処理を実行させる。第2CPU31は、入力部33を監視し、ユーザが入力部33を操作したか否かを検出し、通信バス15を介して、第1CPU11にそのことを通知する。第1CPU11は、その情報に基づいてユーザの操作を検出したか否かを判定する。
【0137】
ユーザが入力部33を操作せず、ユーザの操作を検出していないと判定した場合、第1CPU11は、処理をステップS51に戻し、それ以降の処理を繰り返す。
【0138】
ユーザの操作を検出したと判定した場合、第1CPU11は、処理をステップS57に進め、表示部26に表示されているエラー時用GUIまたは完了時用GUI を消去し、GUIを初期化する。GUIを初期化した第1CPU11は、処理をステップS51に戻し、それ以降の処理を繰り返す。
【0139】
すなわち、第1CPU11は、表示部26に完了時用GUI画面231またはエラー時用GUI画面241が表示されている場合、ユーザが入力部33を操作して、ボタン231Aまたはボタン241Aを操作するまで、ステップS51、ステップS55、およびステップS56の処理を繰り返し、待機する。
【0140】
そして、ユーザが入力部33を操作し、ボタン231Aまたはボタン241Aを操作すると、第1CPU11は、表示部26に表示されている完了時用GUI画面231またはエラー時用GUI画面241を消去する。
【0141】
上述したように、ステップS53において、表示部26の表示画面を装着時用GUI画面211に切り替えた場合、ステップS54において、表示部26の表示画面を未装着時用GUI画面221に切り替えた場合、または、ステップS55において、表示部26に完了時用GUI画面231またはエラー時用GUI画面241が表示されていないと判定した場合、第1CPU11は、処理をステップS58に進める。
【0142】
ステップS58において、ステップS56の場合と同様に、第2CPU31を制御して、入力部33を監視し、第1CPU11は、ユーザの操作を検出したか否かを判定する。
【0143】
ユーザが入力部33を操作しておらず、ユーザの操作を検出していないと判定した場合、第1CPU11は、処理をステップS51に戻し、それ以降の処理を繰り返す。
【0144】
また、ユーザが入力部33を操作し、ユーザの操作を検出したと判定した場合、第1CPU11は、図9のステップS61に処理を進め、ステップS52の処理の場合と同様に、メモリカードインタフェース22を制御して、メモリカードスロット21に半導体メモリ2が装着されているか否かを判定する。
【0145】
半導体メモリ2が装着されていると判定した場合、第1CPU11は、処理をステップS62に進め、装着された半導体メモリ2の記憶領域に、画像表示装置1に書き込む対象ファイルが存在するか否かを判定する。
【0146】
半導体メモリ2の記憶領域に、図4に示すように、ソフトウェアバイナリデータやID情報が記録されており、対象ファイルが存在すると判定した場合、第1CPU11は、ステップS63において書き換え処理を実行する。書き換え処理の詳細は、図14と図15のフローチャートを参照して後述する。
【0147】
そして、書き換え処理を終了した第1CPU11は、処理を図8のステップS51に戻し、それ以降の処理を繰り返す。
【0148】
また、ステップS62において、半導体メモリ2の記憶領域に、ソフトウェアバイナリデータやID情報が記録されておらず、対象ファイルが存在しないと判定した場合、第1CPU11は、処理をステップS64に進め、表示部26にエラー時用GUIを表示させる。
【0149】
そして、エラー時用GUIを表示部26に表示させた第1CPU11は、処理を図8のステップS51に戻し、それ以降の処理を繰り返す。
【0150】
ところで、ステップS61において、半導体メモリ2がメモリカードスロット21に装着されていないと判定した場合、第1CPU11は、処理をステップS65に進め、第1フラッシュROM12のID情報領域72に格納されている実行プログラム選択判定情報101の内容を書き換えて、ユーザプログラムが選択されて実行されるようにする。
【0151】
そして、第1CPU11は、ステップS66において、ハードウェアリセットを行って、アップグレード処理を終了する。
【0152】
図5のアップグレードプログラム202を実行した第1CPU11は、以上のようにして、アップグレード処理を行い、半導体メモリ2の記憶領域に格納されているソフトウェアを画像表示装置1に書き込む(インストールする)。
【0153】
次に、図9のステップS63において実行される書き換え処理の詳細について、図14および図15のフローチャートを参照して説明する。
【0154】
最初に、第1CPU11は、ステップS81において、対象ファイルを第1フラッシュROM12の記憶領域にインストールするか否かを判定する。
【0155】
半導体メモリ2の記憶領域に記憶されているプログラムやデータは、画像表示装置1の第1フラッシュROM12、第1EEPROM14、第2フラッシュROM32、または、第2EEPROM34のいずれかに書き込まれる(インストールされる)。その書き込み(インストール)先は、図4に示される、半導体メモリ2の記憶領域に格納されている対象機種判定情報155により指定されている。
【0156】
第1CPU11は、ステップS81において、対象機種判定情報155に基づいて、まず、半導体メモリ2の記憶領域に記憶されているプログラムやデータを第1フラッシュROM12にインストールするか否かを判定する。
【0157】
そして、半導体メモリ2の記憶領域に記憶されている対象ファイルがプログラムであり、第1フラッシュROM12にインストールすると判定した場合、第1CPU11は、処理をステップS82に進め、メモリカードインタフェース22を制御して、メモリカードスロット21に装着された半導体メモリ2より、対象ファイルを読み出し、SDRAM13に供給し、保持させる。なお、このとき、第1CPU11は、対象ファイルを格納する領域として、SDRAM13の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【0158】
そして、第1CPU11は、ステップS83において、SDRAM13に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【0159】
SDRAM13にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第1CPU11は、処理をステップS84に進め、第1フラッシュROM12の記憶領域の、対象ファイルの格納先として指定される領域に格納されているデータを消去する。
【0160】
そして、ステップS85において、第1CPU11は、図4の対象マイコン判定情報156等に基づいて、SDRAM13に保持されている対象ファイルを、第1フラッシュROM12の所定の領域に書き込む(インストールする)。
【0161】
対象ファイルを書き込んだ第1CPU11は、ステップS86に処理を進め、図4のチェックサム情報153に基づいて、書き込み(インストール)が正常に行われたか否かを判定する。
【0162】
書き込み(インストール)が正常に行われたと判定した場合、第1CPU11は、処理をステップS87に進め、完了時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図12に示す完了時用GUI画面231を表示させる。
【0163】
完了時用GUI画面231を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0164】
また、ステップS83において、SDRAM13にコピーされた対象ファイルがなんらかの原因により破壊されており、読み出しが正常に行われていないと判定した場合、第1CPU11は、処理をステップS88に進める。
【0165】
さらに、ステップS86において、対象ファイルの第1フラッシュROM12への書き込みが正常に行われていないと判定した場合も、第1CPU11は、処理をステップS88に進める。
【0166】
第1CPU11は、ステップS88において、エラー時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図13に示すエラー時用GUI画面241を表示させる。
【0167】
エラー時用GUI画面241を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0168】
ところで、ステップS81において、半導体メモリ2の記憶領域に記憶されているプログラムやデータを第1フラッシュROM12にインストールしないと判定した場合、第1CPU11は、処理をステップS89に進め、同様に、対象機種判定情報155に基づいて、半導体メモリ2の記憶領域に記憶されているプログラムやデータを第1EEPROM14にインストールするか否かを判定する。
【0169】
そして、半導体メモリ2の記憶領域に記憶されているソフトウェアがデータであり、第1EEPROM14にインストールすると判定した場合、第1CPU11は、処理をステップS90に進め、メモリカードインタフェース22を制御して、メモリカードスロット21に装着された半導体メモリ2より、対象ファイルを読み出し、SDRAM13に供給し、保持させる。なお、このとき、第1CPU11は、対象ファイルを格納する領域として、SDRAM13の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【0170】
そして、第1CPU11は、ステップS91において、SDRAM13に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【0171】
SDRAM13にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第1CPU11は、処理をステップS92に進め、第1EEPROM14の記憶領域の、対象ファイルの格納先として指定される領域に格納されているデータを消去する。
【0172】
そして、ステップS93において、第1CPU11は、図4の対象マイコン判定情報156等に基づいて、SDRAM13に保持されている対象ファイルを、第1EEPROM14の所定の領域に書き込む(インストールする)。
【0173】
対象ファイルを書き込んだ第1CPU11は、ステップS94に処理を進め、図4のチェックサム情報153に基づいて、書き込み(インストール)が正常に行われたか否かを判定する。
【0174】
書き込み(インストール)が正常に行われたと判定した場合、第1CPU11は、処理をステップS95に進め、完了時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図12に示す完了時用GUI画面231を表示させる。
【0175】
完了時用GUI画面231を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0176】
また、ステップS91において、SDRAM13にコピーされた対象ファイルがなんらかの原因により破壊されており、読み出しが正常に行われていないと判定した場合、第1CPU11は、処理をステップS96に進める。
【0177】
さらに、ステップS94において、対象ファイルの第1フラッシュROM12への書き込みが正常に行われていないと判定した場合も、第1CPU11は、処理をステップS96に進める。
【0178】
第1CPU11は、ステップS96において、エラー時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図13に示すエラー時用GUI画面241を表示させる。
【0179】
エラー時用GUI画面241を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0180】
ところで、ステップS89において、半導体メモリ2の記憶領域に記憶されているプログラムやデータを第1EEPROM14にインストールしないと判定した場合、第1CPU11は、処理を図15のステップS101に進める。
【0181】
図15のステップS101において、第1CPU11は、図14のステップS81およびステップS89の場合と同様に、対象機種判定情報155に基づいて、半導体メモリ2の記憶領域に記憶されているプログラムやデータを第2フラッシュROM32にインストールするか否かを判定する。
【0182】
そして、半導体メモリ2の記憶領域に記憶されているソフトウェアがプログラムであり、第2フラッシュROM32にインストールすると判定した場合、第1CPU11は、処理をステップS102に進め、メモリカードインタフェース22を制御して、メモリカードスロット21に装着された半導体メモリ2より、対象ファイルを読み出し、SDRAM13に供給し、保持させる。なお、このとき、第1CPU11は、対象ファイルを格納する領域として、SDRAM13の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【0183】
そして、第1CPU11は、ステップS103において、SDRAM13に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【0184】
SDRAM13にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第1CPU11は、処理をステップS104に進め、第2CPU31を制御し、第2CPU31に、内蔵するROM(図示せず)に格納されている起動専用プログラムを実行させる。
【0185】
第1CPU11は、制御バス16を介して、第2CPU31を制御し、第2CPU31に起動専用プログラムを実行させ、プログラムを第2フラッシュROM32にインストールするように設定して、ソフトウェアリセットを行う。
【0186】
ソフトウェアリセットされた第2CPU31は、起動専用プログラムを実行し、第2フラッシュROM32に対して書き込み処理の準備を開始する。そして、準備が完了すると第2CPU31は、通信バス15を介して、第1CPU11に対象ファイルを要求する。
【0187】
第1CPU11は、ステップS105において、その対象ファイルの要求を取得したか否かを判定し、取得したと判定するまで待機する。
【0188】
対象ファイルの要求を第2CPU31より取得したと判定した場合、第1CPU11は、ステップS106に処理を進め、要求された対象ファイルを、通信バス15を介して第2CPU31に供給する。
【0189】
対象ファイルを供給された第2CPU31は、取得した対象ファイルを第2フラッシュROM32の所定のアドレス位置に書き込む(インストールする)。そして、第2CPU31は、第2フラッシュROM32に書き込まれた対象ファイルを参照し、正常にインストールされたか否かを判定し、その判定結果を、通信バス15を介して、第1CPU11に供給する。
【0190】
その判定結果を取得した第1CPU11は、ステップS107において、取得した判定結果に基づいて、対象ファイルのインストールが正常に行われたか否かを判定する。
【0191】
第2フラッシュROM32へのインストールが正常に行われたと判定した場合、第1CPU11は、処理をステップS108に進め、完了時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図12に示す完了時用GUI画面231を表示させる。
【0192】
完了時用GUI画面231を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0193】
また、ステップS107において、対象ファイルの第2フラッシュROM32へのインストールが正常に行われていないと判定した場合、第1CPU11は、処理をステップS109に進め、エラー時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図13に示すエラー時用GUI画面241を表示させる。
【0194】
エラー時用GUI画面241を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0195】
ところで、ステップS101において、半導体メモリ2の記憶領域に記憶されている対象ファイルがデータであり、第2EEPROM34にインストールし、第2フラッシュROM32にインストールしないと判定した場合、第1CPU11は、処理をステップS110に進める。
【0196】
ステップS110において、第1CPU11は、第2EEPROM34に対象ファイルをインストールするために、メモリカードインタフェース22を制御して、メモリカードスロット21に装着された半導体メモリ2より、対象ファイルを読み出し、SDRAM13に供給し、保持させる。なお、このとき、第1CPU11は、対象ファイルを格納する領域として、SDRAM13の、コピーされたアップグレードプログラムが格納されている領域とは異なる領域を指定する。
【0197】
そして、第1CPU11は、ステップS111において、SDRAM13に保持されている対象ファイルを確認し、読み出しが正常に行われたか否かを判定する。
【0198】
SDRAM13にコピーされた対象ファイルが正常であり、読み出しが正常に行われたと判定した場合、第1CPU11は、処理をステップS112に進め、第2CPU31を制御し、第2CPU31に、内蔵するROM(図示せず)に格納されている起動専用プログラムを実行させる。
【0199】
第1CPU11は、制御バス16を介して、第2CPU31を制御し、第2CPU31に起動専用プログラムを実行させ、プログラムを第2EEPROM34にインストールするように設定して、ソフトウェアリセットを行う。
【0200】
ソフトウェアリセットされた第2CPU31は、起動専用プログラムを実行し、第2EEPROM34に対して書き込み処理の準備を開始する。そして、準備が完了すると、第2CPU31は、通信バス15を介して、第1CPU11に対象ファイルを要求する。
【0201】
第1CPU11は、ステップS113において、その対象ファイルの要求を取得したか否かを判定し、取得したと判定するまで待機する。
【0202】
対象ファイルの要求を第2CPU31より取得したと判定した場合、第1CPU11は、ステップS114に処理を進め、要求された対象ファイルを、通信バス15を介して第2CPU31に供給する。
【0203】
対象ファイルを供給された第2CPU31は、取得した対象ファイルを第2EEPROM32の所定のアドレス位置に書き込む(インストールする)。そして、第2CPU31は、第2EEPROM32に書き込まれた対象ファイルを参照し、正常にインストールされたか否かを判定し、その判定結果を、通信バス15を介して、第1CPU11に供給する。
【0204】
その判定結果を取得した第1CPU11は、ステップS115において、取得した判定結果に基づいて、対象ファイルのインストールが正常に行われたか否かを判定する。
【0205】
第2フラッシュROM32へのインストールが正常に行われたと判定した場合、第1CPU11は、処理をステップS116に進め、完了時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図12に示す完了時用GUI画面231を表示させる。
【0206】
完了時用GUI画面231を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0207】
また、ステップS111において、読み出しが正常に行われなかったと判定した場合、並びに、ステップS115において、対象ファイルの第2CPU31への供給が正常に行われていないと判定した場合、第1CPU11は、処理をステップS117に進め、エラー時用GUIを生成し、グラフィックコントローラ23、スケーリングデバイス24、および表示デバイスコントローラ25を介して、表示部26に供給し、図13に示すエラー時用GUI画面241を表示させる。
【0208】
エラー時用GUI画面241を表示させた第1CPU11は、書き換え処理を終了し、図8のステップS51に処理を戻す。
【0209】
以上のようにして、第1CPU11は、指定されたインストール先に合わせて処理を行い、対象ファイルをインストールする。上述したように、第2CPU31に対応する第2フラッシュROM32または第2EEPROM34に対象ファイルをインストールする場合、第1CPU11は、制御バス16を介して第2CPU31を制御して、処理を行う。
【0210】
これにより、画像表示装置1は、供給されたプログラムを、容易に、互いに異なるCPUに制御される複数の記憶部にインストールすることができる。
【0211】
なお、第1CPU11は、第1フラッシュROM12に記憶されているアップグレードプログラムを、SDRAM13にコピーしてから実行するので、対象ファイルがそのアップグレードファイル自身である場合でも、第1フラッシュROM12にインストールすることができる。このとき、第1CPU11は、SDRAM13にコピーされた古いアップグレードプログラムを実行しており、ソフトウェアリセットを行うことで、インストールされた新しいアップグレードプログラムを実行することができる。
【0212】
上述したように、第1CPU11による書き換え処理において、図4の対象マイコン判定情報156により、対象ファイルのインストール先が第2フラッシュROM32または第2EEPROM34に指定されている場合、第1CPU11は、制御バス16を介して、第2CPU31を制御し、第2CPU31に起動専用プログラムを実行させ、プログラムを第2フラッシュROM32または第2EEPROM34にインストールするように設定して、ソフトウェアリセットを行う。
【0213】
ソフトウェアリセットされた第2CPU31は、起動専用プログラムを実行し、第2フラッシュROM32または第2EEPROM34に対して書き込み処理を開始する。第2CPU31による書き込み処理について、図16のフローチャートを参照して説明する。
【0214】
最初に、ステップS131において、第2CPU31は、第2CPU31に接続されている、第2フラッシュROM32、入力部33、第2EEPROM34、および、スケーリングデバイス24等の周辺デバイスに対して、内部レジスタを設定し、初期化する。
【0215】
そして、ステップS132において、第2CPU31は、対象ファイルの書き込み先デバイスを第1CPU31により指示されたデバイス、すなわち、第2フラッシュROM32または第2EEPROM34のいずれかに設定する。
【0216】
書き込み先デバイスを設定した第2CPU31は、ステップS133において、インストールする対象ファイルを、通信バス15を介して、第1CPU11に要求する。対象ファイルを要求された第1CPU11は、図15のステップS105またはステップS113の処理において、その要求を検知し、ステップS106またはステップS114の処理により、要求された対象ファイルを、通信バス15を介して、第2CPU31に供給する。
【0217】
第2CPU31は、ステップS134において、第1CPU11より要求した対象ファイルを取得したか否かを判定し、取得したと判定するまで待機する。
【0218】
そして、対象ファイルを取得したと判定した場合、第2CPU31は、処理をステップS135に進め、取得した対象ファイルを、ステップS132において設定した書き込み先デバイス、すなわち、第2フラッシュROM32または第2EEPROM34のいずれかに書き込む(インストールする)。
【0219】
対象ファイルを書き込むと、第2CPU31は、ステップS136において、書き込まれた対象ファイルが正常であるか否かを確認し、ステップS137において、その確認結果を、通信バス15を介して第1CPU11に供給し、書き込み処理を終了する。
【0220】
以上のようにして、第2CPU31は、第1CPU11にソフトウェアリセットされて、書き込み処理を実行する。
【0221】
これにより、画像表示装置1は、供給されたプログラムを、容易に、互いに異なるCPUに制御される複数の記憶部にインストールすることができる。
【0222】
以上のようにして、第1CPU11によりアップグレードプログラム202が実行され、図9のステップS66において、ハードウェアリセットが行われると、第1CPU11は、図5に示されるように、起動プログラム201を実行する。
【0223】
そして、図9のステップS65において、第1CPU11により、第1フラッシュROM12のID情報領域72に格納される実行プログラム選択判定情報101がユーザプログラムを選択するように設定されているので、起動プログラム201を実行した第1CPU11は、図7のステップS30において、第1フラッシュROM12のユーザプログラム領域74に格納されているユーザプログラム203をSDRAM13にコピーし、図6のステップS4において、ソフトウェアリセットを行い、SDRAM13にコピーされたユーザプログラム203を実行する。
【0224】
ユーザプログラムを実行する第1CPU11は、画像処理に関する所定の処理を行いながら、メモリカードインタフェース22を制御して、メモリカードスロット21の状態変化を監視する。
【0225】
第1CPU11によるユーザプログラム実行処理について、図17のフローチャートを参照して説明する。
【0226】
第1CPU11は、最初に、ステップS151において、図8のステップS51の場合と同様に、メモリカードインタフェース22を制御して、メモリカードスロット21の状態を監視し、メモリカードスロット21の状態の変化を検出したか否かを判定する。
【0227】
メモリカードインタフェース22がメモリカードスロット21の状態の変化を検出したと判定した場合、第1CPU11は、ステップS152に処理を進め、ステップS52の場合と同様に、その情報に基づいて、メモリカードスロット21に半導体メモリ2が装着されているか否かを判定する。
【0228】
メモリカードスロット21に半導体メモリ2が装着されていると判定した場合、第1CPU11は、処理をステップS153に進め、図9のステップS62の場合と同様に、装着された半導体メモリ2の記憶領域に、画像表示装置1に書き込む対象ファイルが存在するか否かを判定する。
【0229】
そして対象ファイルが存在すると判定した場合、第1CPU11は、ステップS154において、第1フラッシュROM12のID情報領域72に格納されている実行プログラム選択判定情報101の内容を書き換えて、アップグレードプログラム202が選択されて実行されるようにする。
【0230】
そして、第1CPU11は、ステップS155において、ハードウェアリセットを行って、ユーザプログラム実行処理を終了する。
【0231】
ところで、ステップS151において、メモリカードスロット21の状態の変化を検出していないと判定した場合、第1CPU11は、処理をステップS156に進める。
【0232】
また、ステップS152において、メモリカードスロット21に半導体メモリ2が装着されていないと判定した場合、第1CPU11は、処理をステップS156に進める。
【0233】
さらに、ステップS153において、メモリカードスロット21に装着された半導体メモリ2の記憶領域に、対象ファイルが存在しないと判定した場合、第1CPU11は、処理をステップS156に進める。
【0234】
ステップS156において、第1CPU11は、各部を制御して、ユーザプログラム203に定義された所定の画像処理に関する処理を行う。
【0235】
例えば、第1CPU11は、ステップS156において、メモリカードインタフェース22やグラフィックコントローラ23等を制御したり、第2CPU31に情報を供給したりして、GUIデータを表示部26に供給する。
【0236】
図18は、ステップS156の処理による表示部26に表示される画面の例を示す図である。
【0237】
図18において、GUI画面251は、画像表示装置1に入力されたJPEG画像データに対応するサムネイル画像の一覧を表示する画面である。表示部26は、表示デバイスコントローラ25に制御されて、図18に示されるようなGUI画面251をディスプレイに表示する。
【0238】
なお、ステップS156において実行される処理は、上述したような処理以外の処理でもよく、ユーザプログラム203に定義された処理であれば何でもよい。
【0239】
ステップS156の処理が終了した第1CPU11は、処理をステップS151に戻し、それ以降の処理を繰り返す。
【0240】
すなわち、ユーザプログラム203を実行する第1CPU11は、ステップS156において、所定の処理を行いながら、ステップS151乃至ステップS153において、インストールする対象ファイルが用意されたか否かを判定し、用意された場合は、ステップS154およびステップS155の処理により、起動プログラム201がアップグレードプログラムを選択するように設定してからハードウェアリセットし、起動プログラム201を実行する。
【0241】
また、インストールする対象ファイルが用意されていない場合(ステップS151で、メモリカードスロット21の状態変化が検出されていないと判定された場合、ステップS152で、半導体メモリ2が挿入されていないと判定された場合、並びに、ステップS153で、対象ファイルが存在しないと判定された場合)は、第1CPU11は、ステップS156の処理を繰り返す。
【0242】
以上のようにして、第1CPU11は、インストールする対象ファイルが用意されたか否かを調査しながら、ユーザプログラムを実行させる。これにより、画像表示装置1のユーザは、容易にインストール処理を行うことができる。
【0243】
以上のように、第1CPU11は、ハードウェアリセットおよびソフトウェアリセットを行うことにより、起動プログラム201を介して、アップグレードプログラム202およびユーザプログラム203を連続して実行することができ、また、アップグレード処理においては、設定されたインストール先に応じて、他のCPUを制御することができるので、容易に、複数のプログラムを連続して書き込むことができる。
【0244】
以上においては、インストールされる対象ファイルは、半導体メモリ11に記録された状態で、画像表示装置1に供給されるように説明したが、これに限らず、例えば、ネットワーク等の通信媒体を介して供給されるようにしてもよい。
【0245】
また、図1において、第1CPU11には、第1フラッシュROM12および第1EEPROM14が1つずつ接続され、第2CPU31には、第2フラッシュROM32および第2EEPROM34が1つずつ接続されるように説明したが、これに限らず、例えば、第1CPU11に複数のフラッシュROMが接続されるようにしてもよいし、複数のEEPROMが接続されるようにしてもよい。また、第2CPU31についても同様である。
【0246】
さらに、図1においては、第1フラッシュROM12、第1EEPROM14、第2フラッシュROM32、および第2EEPROM34は、それぞれ、別体に構成されるように説明したが、これに限らず、これらの全部または一部が一体化されて構成されていてもよい。さらに、これらが、第1CPU11や第2CPU31等、その他の部分と一体化されて構成されるようにしてもよい。
【0247】
また、図1に示される画像表示装置1においては、第1フラッシュROM12には、第1CPU11において実行されるプログラムが格納され、第1EEPROM14には、第1CPU11に用いられるデータが格納されるように説明したが、これに限らず、第1フラッシュROM12および第2EEPROM14には、どのようなデータを格納するようにしてもよく、例えば、第1フラッシュROM12にプログラムだけでなくデータも格納するようにしてもよい。さらに、第2フラッシュROM32および第2EEPROM34についても同様であり、これらにどのようなデータを格納するようにしてもよい。
【0248】
さらに、図1においては、各部を制御するCPUが第1CPU11および第2CPU31の2つにより構成されるように説明したが、これに限らず、CPUは、複数であれば何個でもよい。
【0249】
以上においては、本発明を複数のCPUにより制御される画像表示装置に適用した場合について説明したが、本発明は、複数のCPUにより制御される情報処理装置であればどのような装置でも適用することが可能であり、例えば、複数のCPUを有するパーソナルコンピュータにも適用することができる。
【0250】
図19は、本発明を適用したパーソナルコンピュータの例を示す図である。
【0251】
図19において、パーソナルコンピュータ300の第1CPU301は、第1ROM302若しくは第1フラッシュROM304に記憶されているプログラム、または記憶部343から第1RAM303にロードされたプログラムに従って各種の処理を実行する。第1RAM303および第1フラッシュROM304にはまた、第1CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0252】
また、第1フラッシュROM304の記憶領域は、図2に示される場合と同様の構成になっており、起動プログラム201を格納する起動プログラム領域71、プログラムやデータに関する情報を格納するID情報領域72、アップグレードプログラム202を格納するアップグレードプログラム領域73、ユーザプログラムを格納するユーザプログラム領域74により構成される。
【0253】
第1CPU301、第1ROM302、第1RAM303、および第1フラッシュROM304は、バス310を介して相互に接続されている。
【0254】
また、パーソナルコンピュータ300の第2CPU321は、第1CPU301と同様に、第2ROM322若しくは第2フラッシュROM324に記憶されているプログラム、または記憶部343から第2RAM323にロードされたプログラムに従って各種の処理を実行する。第2RAM323および第2フラッシュROM324にはまた、第1RAM303および第1フラッシュROM304と同様に、第2CPU321が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0255】
また、第2フラッシュROM324は、第1フラッシュROM304と同様に、図2に示されるような構成になっており、起動プログラム201を格納する起動プログラム領域71、プログラムやデータに関する情報を格納するID情報領域72、アップグレードプログラム202を格納するアップグレードプログラム領域73、ユーザプログラムを格納するユーザプログラム領域74により構成される。
【0256】
第2CPU321、第2ROM322、第2RAM323、および第2フラッシュROM324は、バス330を介して相互に接続されている。
【0257】
また、バス310およびバス330にはまた、入出力インタフェース340も接続されている。
【0258】
入出力インタフェース340には、キーボード、マウスなどよりなる入力部341、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部342、ハードディスクなどにより構成される記憶部343、モデム、ターミナルアダプタ、またはLANアダプタなどにより構成される通信部344が接続されている。
【0259】
記憶部343には、各種の処理を実行するためのデータやプログラム等が記憶されており、必要に応じて第1CPU301または第2CPU321に制御され、第1RAM303または第2RAM323にデータやプログラムを供給する。
【0260】
入出力インタフェース340にはまた、必要に応じてドライブ350が接続され、磁気ディスク351、光ディスク352、光磁気ディスク353、或いは半導体メモリ354などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部343、第1フラッシュROM304、または第2フラッシュROM324にインストールされる。
【0261】
すなわち、ドライブ350は、図1のメモリカードスロット21に対応しており、インストールするプログラムやデータ等が格納されている磁気ディスク351、光ディスク352、光磁気ディスク353、或いは半導体メモリ354等の記録媒体が装着される。
【0262】
入出力インタフェース340は、図1のメモリカードインタフェース22に対応しており、第1CPU301または第2CPU321に制御されて、ドライブ350の状態を監視し、ドライブ350に上述した記録媒体が装着されたか否かを判定し、その情報を第1CPU301または第2CPU321に供給する。
【0263】
図1に示される画像表示装置1の第1CPU11および第2CPU31の場合、実行する処理が予め分担されており、互いに異なる処理を実行し、異なる各部を制御するように構成されているが、図19のパーソナルコンピュータ300の第1CPU301および第2CPU321は、互いに同様の構成であり、実行する処理は予め分担されていない。
【0264】
従って、第1CPU301および第2CPU321は、どちらを図1の第1CPU11に対応させてもよい。すなわち、図6に示される起動処理や図8および図9に示されるアップグレード処理を、第1CPU301および第2CPU321の内、どちらのCPUで実行するようにしてもよいし、また、両方で実行するようにしてもよい。
【0265】
例えば、第1CPU301を図1の第1CPU11に対応させる場合、第1CPU301は、図5に示されるように、起動プログラム201、アップグレードプログラム202、および、ユーザプログラム203を実行する。
【0266】
すなわち、第1CPU301は、第1CPU11と同様に、図6のフローチャートを参照して説明した起動処理、図7のフローチャートを参照して説明したID情報確認処理、図8および図9のフローチャートを参照して説明したアップグレード処理、図14および図15のフローチャートを参照して説明した書き換え処理、並びに、図17のフローチャートを参照して説明したユーザプログラム実行処理と同様の処理を行い、供給されたプログラムやデータを第1フラッシュROM304にインストールする。
【0267】
また、第1CPU301は、第2CPU321を制御し、第2CPU321に、第2ROM322等に予め記憶されている起動専用プログラムを実行させ、図16のフローチャートを参照して説明した書き込み処理と同様の処理を実行させる。これにより、第2CPU321は、供給されたプログラムやデータを第2フラッシュROM324にインストールすることができる。
【0268】
以上のように、第1CPU301は、ハードウェアリセットおよびソフトウェアリセットを行うことにより、起動プログラム201を介して、アップグレードプログラム202およびユーザプログラム203を連続して実行することができ、また、アップグレード処理においては、設定されたインストール先に応じて、他のCPUを制御することができるので、容易に、複数のプログラムを連続して書き込むことができる。
【0269】
なお、上述したように、第2CPU321を図1の第1CPU11に対応させて、上述した処理を実行することも可能である。
【0270】
以上においては、磁気ディスク351、光ディスク352、光磁気ディスク353、および半導体メモリ354等の記録媒体に格納されているプログラムやデータを第1フラッシュROM304または第2フラッシュROM324にインストールするように説明したが、これに限らず、記憶部343にインストールするようにしてもよい。
【0271】
また、インストールするプログラムやデータが、記録媒体からではなく、通信部344を介して供給されるようにしてもよい。
【0272】
さらに、図19においては、各部を制御するCPUが第1CPU301および第2CPU321の2つにより構成されるように説明したが、これに限らず、CPUは、複数であれば何個でもよい。
【0273】
また、図19に示されるパーソナルコンピュータ300の内部の構成の一部が、他のパーソナルコンピュータとして構成されるようにしてもよく、例えば、図20に示すような、複数のパーソナルコンピュータが互いに通信可能に接続された情報処理システムとして構成されるようにしてもよい。
【0274】
図20において、パーソナルコンピュータ401は、インターネットやLAN(Local Area Network)等に代表されるネットワーク402を介して、パーソナルコンピュータ403に接続されている。パーソナルコンピュータ401は、ネットワーク402を介して、パーソナルコンピュータ403と通信を行うことができる。
【0275】
例えば、図20のパーソナルコンピュータ401のCPU(図示せず)を図19の第1CPU301に対応させ、図20のパーソナルコンピュータ403のCPU(図示せず)を図19の第2CPU321に対応させて、パーソナルコンピュータ401のCPUが、起動プログラム201、アップグレードプログラム202、および、ユーザプログラム203を実行するようにする。
【0276】
すなわち、パーソナルコンピュータ401のCPU(図示せず)が、図6のフローチャートを参照して説明した起動処理、図7のフローチャートを参照して説明したID情報確認処理、図8および図9のフローチャートを参照して説明したアップグレード処理、図14および図15のフローチャートを参照して説明した書き換え処理、並びに、図17のフローチャートを参照して説明したユーザプログラム実行処理と同様の処理を行うようにする。
【0277】
パーソナルコンピュータ401のCPU(図示せず)は、ドライブ(図示せず)に装着された記録媒体(図示せず)に格納されているプログラムやデータを記憶部(図示せず)にインストールするとともに、ネットワーク402を介して、パーソナルコンピュータ403のCPU(図示せず)を制御し、起動専用プログラムを実行させることで、図16のフローチャートを参照して説明した書き込み処理と同様の処理を実行させ、さらに、ネットワーク402を介してプログラムやデータを供給し、それらを記憶部(図示せず)にインストールさせる。
【0278】
以上のようにして、パーソナルコンピュータ401のCPU(図示せず)は、起動プログラム201を介して、アップグレードプログラム202およびユーザプログラム203を連続して実行することができ、さらに、ネットワーク402を介して、他のパーソナルコンピュータ403のCPUを制御することができるので、容易に、複数のプログラムやデータを連続して書き込むことができる。
【0279】
なお、図20において、上述した情報処理システムは、ネットワーク402に接続された2台のパーソナルコンピュータ401および403により構成されるように説明したが、これに限らず、情報処理システムを構成するパーソナルコンピュータは、何台であってもよい。
【0280】
以上の処理は、ハードウェアにより実行することができるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0281】
この記録媒体は、図1または図19に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク351(フロッピディスクを含む)、光ディスク352(CD−ROM(CompactDisk−Read Only Memory),DVD (Digital Versatile Disk)を含む)、光磁気ディスク353(MD(Mini−Disk)を含む)、もしくは半導体メモリ2および354などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されている第1CPU11、第2CPU31、第1CPU301、および第2CPU321に内蔵されているROM(図示せず)などで構成される。
【0282】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0283】
なお、以上において、システムとは、複数の装置により構成される装置全体を表すものである。
【0284】
【発明の効果】
以上のように、本発明の情報処理装置および方法、記録媒体、並びにプログラムによれば、プログラムを書き換えることができる。特に、複数のCPUおよび記憶部を有する情報処理装置において、互いに異なるCPUに制御される複数の記憶部にプログラムを、容易に、連続して書き込むことができる。
【図面の簡単な説明】
【図1】本発明を適用した画像表示装置の構成例を示すブロック図である。
【図2】図1の第1フラッシュROMの記憶領域の構成例を示す図である。
【図3】図2のID情報領域の詳細な構成例を示す図である。
【図4】半導体メモリの記憶領域の構成例を示す図である。
【図5】図2の第1フラッシュROMの記憶領域に格納されているプログラムの関係の例を示す図である。
【図6】図1の第1CPUによる起動処理について説明するフローチャートである。
【図7】図6のステップS3において実行されるID情報確認処理の詳細について説明するフローチャートである。
【図8】図1の第1CPUによるアップグレード処理について説明するフローチャートである。
【図9】図1の第1CPUによるアップグレード処理について説明する、図8に続くフローチャートである。
【図10】装着時用GUI画面の例を示す図である。
【図11】未装着時用GUI画面の例を示す図である。
【図12】完了時用GUI画面の例を示す図である。
【図13】エラー時用GUI画面の例を示す図である。
【図14】図9のステップS63において実行される書き換え処理の詳細について説明するフローチャートである。
【図15】図9のステップS63において実行される書き換え処理の詳細について説明する、図14に続くフローチャートである。
【図16】図1の第2CPUによる書き込み処理について説明するフローチャートである。
【図17】図1の第1CPUによるユーザプログラム実行処理について説明するフローチャートである。
【図18】図1の表示部に表示される画面の例を示す図である。
【図19】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【図20】本発明を適用した情報処理システムの例を示す図である。
【符号の説明】
1 画像表示装置, 2 半導体メモリ, 11 第1CPU, 12 第1フラッシュROM, 13 SDRAM, 14 第1EEPROM, 15 通信バス, 16制御バス, 21 メモリカードスロット, 22 メモリカードインタフェース, 31 第2CPU, 32 第2フラッシュROM, 33 入力部, 34第2EEPROM, 71 起動プログラム領域, 72 ID情報領域, 73 アップグレードプログラム領域, 74 ユーザプログラム領域, 201 起動プログラム, 202 アップグレードプログラム, 203 ユーザプログラム, 300 パーソナルコンピュータ, 301 第1CPU, 321 第2CPU, 401 パーソナルコンピュータ, 402 ネットワーク, 403 パーソナルコンピュータ

Claims (7)

  1. 複数の制御部および複数の記憶部を有し、複数の前記制御部の1つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置であって、
    前記主制御部より供給される前記ソフトウェアの記憶に関する指示を取得する第1の取得手段と、
    前記主制御部に前記ソフトウェアを要求する要求手段と、
    前記要求手段による要求に応じて供給された前記ソフトウェアを取得する第2の取得手段と、
    前記記憶部を制御し、前記第2の取得手段により取得された前記ソフトウェアを記憶させる記憶制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記指示は、前記ソフトウェアに関する情報および前記ソフトウェアを記憶させる記憶部に関する情報を含む
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の取得手段により取得された前記指示により指定された記憶部を、複数の前記記憶部の中から選択し、前記取得手段により取得された前記ソフトウェアを記憶させる記憶部として設定する記憶部設定手段をさらに備え、
    前記記憶制御手段は、前記記憶部設定手段により設定された前記記憶部に前記ソフトウェアを記憶させる
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記記憶制御手段の制御により前記記憶部に記憶された前記ソフトウェアが正常であるか否かを確認する確認手段と、
    前記確認手段による確認結果を前記主制御部に供給する供給手段と
    をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  5. 複数の制御部および複数の記憶部を有し、複数の前記制御部の1つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置の情報処理方法であって、
    前記主制御部に前記ソフトウェアを要求する要求ステップと、
    前記要求ステップの処理による要求に応じて供給された前記ソフトウェアの取得を制御する取得制御ステップと、
    前記主制御部より供給される指示に基づいて、前記記憶部を制御し、前記取得制御ステップの処理により取得が制御された前記ソフトウェアを記憶させる記憶制御ステップと
    を含むことを特徴とする情報処理方法。
  6. 複数の制御部および複数の記憶部を有し、複数の前記制御部の1つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置用のプログラムであって、
    前記主制御部に前記ソフトウェアを要求する要求ステップと、
    前記要求ステップの処理による要求に応じて供給された前記ソフトウェアの取得を制御する取得制御ステップと、
    前記主制御部より供給される指示に基づいて、前記記憶部を制御し、前記取得制御ステップの処理により取得が制御された前記ソフトウェアを記憶させる記憶制御ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  7. 複数の制御部および複数の記憶部を有し、複数の前記制御部の1つである主制御部が、他の制御部を制御し、記憶媒体に記憶されているソフトウェアを複数の記憶部に記憶させる情報処理装置を制御するコンピュータが実行可能なプログラムであって、
    前記主制御部に前記ソフトウェアを要求する要求ステップと、
    前記要求ステップの処理による要求に応じて供給された前記ソフトウェアの取得を制御する取得制御ステップと、
    前記主制御部より供給される指示に基づいて、前記記憶部を制御し、前記取得制御ステップの処理により取得が制御された前記ソフトウェアを記憶させる記憶制御ステップと
    を含むことを特徴とするプログラム。
JP2002190001A 2002-06-28 2002-06-28 情報処理装置および方法、記録媒体、並びにプログラム Pending JP2004030539A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002190001A JP2004030539A (ja) 2002-06-28 2002-06-28 情報処理装置および方法、記録媒体、並びにプログラム
KR1020047020384A KR100945994B1 (ko) 2002-06-28 2003-06-27 정보 처리 장치 및 방법, 및 기록 매체
PCT/JP2003/008186 WO2004003742A1 (ja) 2002-06-28 2003-06-27 情報処理装置および方法、記録媒体、並びにプログラム
CNB038153580A CN100409192C (zh) 2002-06-28 2003-06-27 信息处理装置和方法
EP03738549A EP1519270A4 (en) 2002-06-28 2003-06-27 INFORMATION PROCESSING UNIT AND METHOD, RECORDING MEDIUM AND PROGRAM
US10/519,088 US20060190421A1 (en) 2002-06-28 2003-06-27 Information processing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002190001A JP2004030539A (ja) 2002-06-28 2002-06-28 情報処理装置および方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004030539A true JP2004030539A (ja) 2004-01-29
JP2004030539A5 JP2004030539A5 (ja) 2005-03-17

Family

ID=29996867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002190001A Pending JP2004030539A (ja) 2002-06-28 2002-06-28 情報処理装置および方法、記録媒体、並びにプログラム

Country Status (6)

Country Link
US (1) US20060190421A1 (ja)
EP (1) EP1519270A4 (ja)
JP (1) JP2004030539A (ja)
KR (1) KR100945994B1 (ja)
CN (1) CN100409192C (ja)
WO (1) WO2004003742A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026318A (ja) * 2005-07-20 2007-02-01 Nec Corp 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法
JP2008139360A (ja) * 2006-11-30 2008-06-19 Teac Corp オーディオ再生装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228377B2 (en) * 2003-06-06 2007-06-05 Renesas, Technology Corp. Semiconductor integrated circuit device, IC card, and mobile terminal
JP2007058499A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd 情報処理装置およびデータ書き込み方法
JP5166955B2 (ja) * 2008-04-24 2013-03-21 キヤノン株式会社 情報処理装置、情報処理方法、及び、情報処理プログラム
JP6468168B2 (ja) * 2015-11-05 2019-02-13 株式会社デンソー 電子制御装置
CN108597470B (zh) * 2018-05-08 2021-01-01 Tcl华星光电技术有限公司 显示装置驱动系统及方法和显示装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0618531T3 (da) * 1993-03-31 2001-01-08 Siemens Ag Fremgangsmåde og indretning til ny- eller genindlæsning af processorstyreprogrammer
JP3598690B2 (ja) 1996-11-26 2004-12-08 村田機械株式会社 情報処理装置
JPH10260845A (ja) * 1997-03-19 1998-09-29 Fujitsu Ltd ファームウェアの更新処理機能を有するマルチcpuシステム
JP2000311087A (ja) * 1999-04-28 2000-11-07 Matsushita Electric Ind Co Ltd データ伝送装置
JP2001125789A (ja) * 1999-10-27 2001-05-11 Tamura Electric Works Ltd プログラムダウンロード方法
JP2001202238A (ja) * 2000-01-18 2001-07-27 Nec Corp プロセッサおよびプロセッサマイクロコードアップデート方法
JP2001319267A (ja) * 2000-05-09 2001-11-16 Sanden Corp 自動販売機の制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026318A (ja) * 2005-07-20 2007-02-01 Nec Corp 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法
JP2008139360A (ja) * 2006-11-30 2008-06-19 Teac Corp オーディオ再生装置

Also Published As

Publication number Publication date
CN1666181A (zh) 2005-09-07
US20060190421A1 (en) 2006-08-24
CN100409192C (zh) 2008-08-06
EP1519270A1 (en) 2005-03-30
EP1519270A4 (en) 2008-03-19
KR100945994B1 (ko) 2010-03-09
KR20050013577A (ko) 2005-02-04
WO2004003742A1 (ja) 2004-01-08

Similar Documents

Publication Publication Date Title
JP4942870B2 (ja) カメラ・ファームウェアの自動更新
KR100901903B1 (ko) 네트워크를 통한 펌웨어의 셀프-모니터링 및 업데이팅
US9389878B1 (en) Pre-boot management of drivers and programs
US6308265B1 (en) Protection of boot block code while allowing write accesses to the boot block
TWI386847B (zh) 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
US7421573B2 (en) Apparatus and method for updating firmware
US7669046B2 (en) Data processing apparatus and firmware update method
JP2009134692A (ja) 単一キー制御を使用するシステム構成の自動修復方法
CN101807152A (zh) 自我验证选择只读存储器的基本输出入系统及其验证方法
TW201933094A (zh) 韌體更新方法及使用此方法的電子裝置
JP2004030539A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
US20230132494A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2008009799A (ja) 画像形成装置
TWI782352B (zh) 自動回復基板管理控制器的韌體設定的方法
JP3732764B2 (ja) Os立上げ方法およびos立上げシステム
JP4076113B2 (ja) 電子制御装置
JP3308920B2 (ja) 情報処理装置
JP2000245682A (ja) 電子内視鏡装置
TWI839136B (zh) 基板管理控制器的下游裝置的韌體更新方法
TWI775578B (zh) 嵌入式電子裝置、啟動方法及內儲程式之嵌入式電子裝置可讀取記錄媒體
JP2023020590A (ja) 情報処理装置、及び監視方法
JP2005242930A (ja) 情報処理装置、プログラム更新方法、プログラム更新プログラム、およびプログラム更新プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4265731B2 (ja) 画像形成装置
JP2011039825A (ja) ファームウェア更新方法及びファームウェア更新装置
JPH113220A (ja) 制御ソフトウェア供給方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051107