JP2005050097A - 情報処理装置、情報処理方法、プログラム、記録媒体 - Google Patents

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

Info

Publication number
JP2005050097A
JP2005050097A JP2003280935A JP2003280935A JP2005050097A JP 2005050097 A JP2005050097 A JP 2005050097A JP 2003280935 A JP2003280935 A JP 2003280935A JP 2003280935 A JP2003280935 A JP 2003280935A JP 2005050097 A JP2005050097 A JP 2005050097A
Authority
JP
Japan
Prior art keywords
firmware
data
stored
execution program
flash memory
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
JP2003280935A
Other languages
English (en)
Inventor
Kenichi Konuma
健一 小沼
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 JP2003280935A priority Critical patent/JP2005050097A/ja
Publication of JP2005050097A publication Critical patent/JP2005050097A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ファームウェアが記憶されるフラッシュメモリの記憶容量を削減して、コストダウンを図る。
【解決手段】リセットスタート時において、ファームウェアのデータの有効性/無効性を示す有効/無効フラグflgを参照する。有効/無効フラグflgがファームウェアデータの無効を示しているときは、フロントエンドブロック2側にて保存されているファームウェアのデータを転送させ、フラッシュメモリ上で更新を行うようにされる。また、更新のエラーが発生したときには、リセットスタートから処理を再開するようにされる。
【選択図】図6

Description

本発明は、更新される必要性のある実行プログラムが記憶される記憶素子を備える情報処理装置、情報処理方法に関する。また、情報処理装置に処理を実行させるためのプログラム、及びこのようなプログラムが記録された記録媒体に関する。
例えば、マイクロコンピュータの制御により動作する各種の電子機器においては、マイクロコンピュータが実行すべきプログラム(実行プログラム)を、このマイクロコンピュータが備える書き換え可能なメモリ素子に記憶させることが行われる。このようにして、電子機器が備えるメモリ素子に対して記憶される、いわゆる組み込みのプログラムは、一般にファームウェア(Firm Ware)といわれる。
このようなファームウェアを記憶するメモリ素子として、近年においては、しばしばフラッシュメモリが採用される。
また、近年においては、特許文献1として示すように、電子機器がファームウェアのデータを、ネットワーク経由若しくは放送波の受信などによりダウンロードして取得し、この取得したファームウェアのデータにより、内部のメモリ素子に記憶されるファームウェアを更新(バージョンアップ)する技術も知られるようになってきている。
特開2003−70567号公報
上記のようにして、ファームウェアのデータをダウンロードして更新を行う場合の実際において、例えばメモリ素子へのファームウェアのデータの書き換え中に、電子機器に供給される商用交流電源が瞬断されるなどしてデータの転送も中断してしまい、ファームウェアの更新が正常に終了しない場合のあることは、可能性として避けることはできない。このようにしてファームウェアの更新が正常終了しなかった場合、メモリ素子に記憶されたファームウェアのデータは不完全なものであることから、電子機器が正常に動作しなくなってしまう。
そこで、上記のようなファームウェア更新の異常終了の対策として、ファームウェアを記憶するメモリ素子について、1つのファームウェアとしてのプログラム単位を記憶する領域(ファームウェア領域)を、例えば複数設定するということが行われる。
そして、ファームウェアを更新するときには、複数のファームウェア領域のうちの1つのファームウェア領域を上書き消去するようにして、ダウンロードしたファームウェアのデータを書き込むようにされる。
このファームウェアの更新が正常終了すれば、以降においては、この最後に更新された最新のファームウェアによりマイクロコンピュータが動作するようにされる。これに対して、ファームウェアの更新が異常終了した場合には、今回の更新に利用しなかった、他のファームウェア領域に記憶されているファームウェアによりマイクロコンピュータが起動して動作するようにされる。この場合、更新(バージョンアップ)後の最新のファームウェアを使用することはできないが、これより以前のバージョンのファームウェアを使用することになるので、電子機器は問題なく動作できる。そして、以降における所定の機会、タイミングにより、ファームウェアの更新が異常終了していたファームウェア領域に対して、ファームウェアの更新を再試行するようにされる。
しかしながら、上記した対策のしかたでは、同じファームウェアのデータを記憶するファームウェア領域を、少なくとも2つ備えなければならない。
ここで、メモリ素子の記憶容量の増加は、例えばそのままコストアップにつながるので、電子機器としてコスト削減を考えた場合においては、メモリ素子の記憶容量は必要最小限とされることが好ましい。この観点からすれば、メモリ素子については、ファームウェアのデータを記憶するファームウェア領域を1つとした条件の下でも、データ更新の異常終了に対応した対策が採られるようにすることが求められることになる。
そこで本発明は上記した課題を考慮して、情報処理装置として次のようにして構成する。
つまり、特定機能の実行プログラム単位を1つずつ記憶する実行プログラム記憶領域については1つとして設定された、書き換え可能な記憶素子と、所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別手段と、この判別手段により識別情報について無効が設定されていると判別されるのに応じて、実行プログラム記憶領域に記憶される実行プログラム単位の更新を行う更新手段と、この更新手段による上記実行プログラム単位の更新が適正に終了したとされるときには、識別情報について有効を示すように設定する情報設定手段とを備えて構成することとした。
また、情報処理方法としては、1つの特定機能の実行プログラム単位を記憶する実行プログラム記憶領域については1つのみを割り当てることとして設定された、書き換え可能な記憶素子についての読み出し/書き込み処理を実行する読み出し/書き込み実行処理と、所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される上記実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別処理と、この判別処理により識別情報について無効が設定されていると判別されるのに応じて、読み出し/書き込み実行処理を利用して、実行プログラム記憶領域に記憶される実行プログラム単位の更新を行う更新処理と、この更新処理による実行プログラム単位の更新が正常に終了したとされるときには、識別情報について有効を示すように設定する情報設定処理とを実行するように構成することとした。
また、プログラムとしては、1つの特定機能の実行プログラム単位を記憶する実行プログラム記憶領域については1つのみを割り当てることとして設定された、書き換え可能な記憶素子についての読み出し/書き込み処理を実行する読み出し/書き込み実行処理と、所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される上記実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別処理と、この判別処理により識別情報について無効が設定されていると判別されるのに応じて、読み出し/書き込み実行処理を利用して、実行プログラム記憶領域に記憶される実行プログラム単位の更新を行う更新処理と、この更新処理による実行プログラム単位の更新が正常に終了したとされるときには、識別情報について有効を示すように設定する情報設定処理とを、情報処理装置に実行させるものとして構成することとした。
また、上記プログラムを記録して記録媒体を構成することとした。
上記各構成によれば、本発明としては、特定機能の実行プログラム単位を記憶する記憶素子において実行プログラム記憶領域が1つのみであるとされている。これは、上記特定機能の実行プログラム単位については1つのみを記憶可能であることを意味する。
そのうえで、この実行プログラム記憶領域に記憶される実行プログラム単位についての有効/無効を示す識別情報を規定して保持させておくようにしている。この識別情報を認識すれば、現在において、実行プログラム記憶領域に記憶される実行プログラム単位が有効なものであるか否かについて判別することができることになる。そして、識別情報により、実行プログラム単位が無効であると判別した場合には、その実行プログラム記憶領域に記憶される実行プログラム単位を実行することはせずに、実行プログラム単位の更新を行うように動作する。そして、更新が適正終了したら、識別情報について、無効から有効を示すように設定を行う。このことから、本発明の構成によっては、識別情報が無効を示している限りは、特定機能の実行プログラム単位についての更新が必ず実行されることになる。
以上のことから、本発明によっては、記憶素子において、特定機能の実行プログラム単位を記憶する実行プログラム記憶領域が1つのみに制限されている場合においても、最終的に、この実行プログラム記憶領域に記憶される特定機能の実行プログラム単位の更新を行うことができることになる。このことは、換言すれば、記憶素子において、特定機能の実行プログラム単位を記憶する実行プログラム記憶領域を1つのみ設ければよいということであり、複数の実行プログラム記憶領域を設ける場合と比較して、記憶素子に必要な記憶容量を少ないものとすることができる。記憶素子の記憶容量は価格に影響するので、記憶素子の記憶容量が少なくされたのに応じて、コストダウンが図られることになる。
また、記憶素子によっては、必要とされる記憶容量が少なくなるのに応じて、必要とされる物理的な記憶素子数も削減される場合もあるが、この場合には、その分、基板実装に必要なスペースも節約できることになって、例えば、電子機器の小型化、及び電子機器のデザインの自由度の拡大などの効果も得ることが可能となる。
図1は、本発明を実施するための最良の形態(以下、単に実施の形態という)としての情報処理装置の構成を備えているとされる、テレビジョン受像機の構成を示している。この図に示すテレビジョン受像機はデジタル放送に対応しており、デジタル放送の放送波を受信して画像/音声として出力可能とされている。
また、本実施の形態のテレビジョン受像機は、後述するようにして、フラッシュメモリに記憶されるファームウェアとしての実行プログラム単位によりCPUが制御動作を実行するようにされている。そして、例えばバージョンアップなどを目的として、このファームウェアのデータを更新する場合には、放送として提供される更新用のファームウェアのデータをダウンロードして取得することができるようにされている。あるいは、外部データインターフェイスを備え、この外部データインターフェイスを経由して、外部記憶媒体などから転送されるファームウェアのデータをダウンロードして取得することができるようになっている。
図1においては、主として、上記のようにしてファームウェアのデータをダウンロードして更新する動作の実現に必要な構成を示しており、例えば、受信取得した映像/音声データを対象とする信号処理などのための構成の図示は省略している。
図1に示す実施の形態としてのテレビジョン受像機1は、図示するようにして、大きくは、フロントエンドブロック2とTVシステムマイクロコンピュータ3(以下、マイクロコンピュータについては、マイコンと略す)とから成るものとされる。
フロントエンドブロック2は、デジタル放送を受信して必要なチャンネルのデータを抽出取得するための機能回路部位から成るブロックである。TVシステムマイコンは、テレビジョン受像機1についての全体的な制御を司るためのマイコンである。なお、ここでは、本実施の形態のテレビジョン受像機1が対応するデジタル放送は、地上波、衛星、CATVなど、いずれとされてもよいものであり、特に限定されるべきものではない。
フロントエンドブロック2においては、先ず、チューナ部11が備えられている。チューナ部11では、アンテナ5にて受信された放送波を入力して、選局、キャリア復調、チャンネルデータ抽出(デマルチプレクス処理)、抽出データのデコード処理などを実行して、必要なデータを得るようにされる。ここで、例えば、放送としての送信によりファームウェアのデータがアップロードされている場合には、チューナ部11で、このファームウェアのデータを送信しているチャンネルのキャリアを受信し、上記のようにして各種所要の処理を実行することでファームウェアのデータを出力することができる。また、確認のために述べておくと、チューナ部11からは、同様の処理によって、番組としてのビデオ/オーディオデータを出力させることが可能とされているが、ここでは、説明の便宜上、ファームウェアのデータに関して言及していくこととする。
FE(Front End)−CPU12は、フロントエンドブロック2の動作制御を実行するための各種処理動作を実行するものであり、例えば、このFE−CPU12と接続されるFE−RAM13及びFE−フラッシュメモリ14等と、フロントエンドブロック2側のマイクロコンピュータを形成する。
FE−フラッシュメモリ14には、上記FE−CPU12がフロントエンドブロック2の動作制御のために実行すべきプログラム(フロントエンド用のファームウェアデータ)がインストールされるようにして記憶されている。
また、本実施の形態では、ファームウェアのデータのダウンロードとして、上記したように、チューナ部11では、放送として送信されたファームウェアのデータを受信取得可能とされ、また、後述する外部インターフェイス15と接続されたメディアドライブ、情報端末装置などから、メディアに記録されたファームウェアのデータを転送させて取得することが可能とされている。FE−フラッシュメモリ14は、このようにして取得したファームウェアのデータであり、後述するTVシステムマイコン3のTV−CPU22が実行すべきもので、TV−フラッシュメモリ24にインストールされるべきファームウェアのデータ(以降TV−ファームウェアデータともいう)の保存先ともされている。
FE−RAM13は、FE−CPU12のための作業領域であり、例えばFE−CPU12が実行すべきプログラムが展開され、また、FE−CPU12の演算処理結果などに応じたデータが一時的に保持される。
マイコン間インターフェイス16は、TVシステムマイコン3側のマイコン間インターフェイス21と、所定の通信プロトコルに従った通信バスを介して接続されることで、フロントエンドブロック2側のマイコンと、TVシステムマイコン3側との間でのデータ通信を行う。つまり、フロントエンドブロック2側のFE−CPU12と、TVシステムマイコン3側のTV−CPU22との間での通信を可能とする。
外部インターフェイス15は、例えばUSB(Universal Serial Bus)、IEEE1394などのデータインターフェイス、もしくは、LAN(Local Area Network)、インターネットなどのネットワークとのインターフェイスとされる。つまり、データーインターフェイスもしくはネットワーク経由で、外部とデータ通信を実行するためのインターフェイスとして設けられる。
TVシステムマイコン3において、マイコン間インターフェイス21は、上記しているように、TV−CPU22と、フロントエンドブロック2側のFE−CPU12との所定の通信プロトコルに従った通信を可能とするために、フロントエンドブロック2のマイコン間インターフェイス16と接続される。
また、TV−CPU22は、テレビジョン受像機1を総括的に制御を実行するものとされ、フロントエンドブロック2側のマイコンに対しては、マスター的な役割となる。
TV−フラッシュメモリ24は、所定の記憶容量サイズを有するフラッシュメモリとしてのメモリ素子(記憶素子)で構成され、後述するようにして、TV−CPU24が実行すべきプログラムがインストールされるようにして記憶されている。
TV−RAM23は、TV−CPU22のための作業領域であり、TV−CPU22が実行すべきプログラムが展開され、また、TV−CPU22の演算処理結果などに応じたデータが一時的に保持される。
また、TVシステムマイコン3には、外付けの不揮発性メモリ4が接続されている。このために、TVシステムマイコン3においては、TV−CPU22が不揮発性メモリ4に対してアクセスしてデータの読み書きができるように、メモリインターフェイス25が備えられている。
そして、本実施の形態では、不揮発性メモリ4に対して少なくとも、有効/無効フラグflgを保持させることとしている。有効/無効フラグflgは、所定のビット数(或いはバイト数)により形成される情報であって、後述するようにして、TV−フラッシュメモリ24に記憶されているプログラムデータのうち、ブート後の処理を実行するためのTV−ファームウェアデータについての有効/無効を識別するための識別情報として機能する。なお、有効/無効フラグflgを格納していさえすれば、TVシステムマイコン3による不揮発性メモリ4の他の使用用途としては特に限定されものではない。
図2に、上記図1に示すテレビジョン受像機1におけるTVシステムマイコン3内の、TV−フラッシュメモリ24における記憶内容設定例を概念的に示す。
周知のようにして、フラッシュメモリの書き換えデータ単位は、セクタ単位となる。そこで、図2では、概念的に、TV−フラッシュメモリ24がセクタ#0〜セクタ#19の20セクタから成るものであることとしている。そしてここでは、セクタ#0〜#7から成る連続するセクタ領域を、ブートプログラムが記憶(インストール)されるブートプログラム領域Ar1として設定している。これに続く、セクタ#8〜#19から成る連続するセクタ領域を、TV−ファームウェアデータが記憶(インストール)されるファームウェア領域Ar2としている。先にも述べたように、このTV−フラッシュメモリ24に記憶されるプログラムデータであるブートプログラム及びTV−ファームウェアデータは、テレビジョン受像機1におけるメインマイコンであるTV−CPU22が実行すべきものである。
ブートプログラムは、起動時に必要な処理を実行するためのプログラムである。ここでいう、ブートプログラムが実行される「起動時」とは、先ず、TVシステムマイコン3に電源を供給するスタンバイ電源から電源供給がされていない状態から、例えば商用交流電源がテレビジョン受像機1に投入されることなどに応じて、スタンバイ電源から電源が供給されて、マイコンとして起動を開始する場合となる。また、スタンバイ電源からTVシステムマイコン3に対して電源が供給されている状態であっても、必要に応じて、自己をリセットして起動させる動作(以降、リセットスタートともいう)を実行する場合があるが、このリセットスタート時も、先ず、ブートプログラムによる起動処理を実行する「起動時」であるということになる。
TV−ファームウェアデータは、TV−CPU22が上記ブートプログラムを実行することにより起動が完了したとされる後、TV−CPU22が各種の動作制御のために実行すべきメインのプログラムとなる。
ここで、ファームウェア領域Ar2は、TV−ファームウェアの全体的なデータ(実行プログラム単位)として、1単位のみが記憶される領域とされる。そして、図2に示されるように、このファームウェア領域Ar2は、TV−フラッシュメモリ24において、1つのみが設けられている。つまり、TV−フラッシュメモリ24においては、ファームウェアとしてのプログラムデータ単位を1つのみしか記憶しないようにされている。
例えばファームウェアデータの更新を行うことを前提とした場合、従来においては、ファームウェアとしてのプログラムデータ単位を記憶するためのファームウェア領域を、例えば同じフラッシュメモリ上に、2つ(つまり複数)設けるようにすることが行われていた。
これにより、例えば前述もしたように、ファームウェア更新のためにフラッシュメモリ上でのデータ書き換えを行っている途中で、電源供給の遮断などによりフラッシュメモリへのデータ転送も遮断されてしまい、そのファームウェア領域のファームウェアデータが不完全になってしまったとしても、他のファームウェア領域のファームウェアデータが以前の完全な記憶状態で残っていることになる。そこで、この他方のファームウェアデータを使用することで、以降における正常な動作が維持されるものである。
しかしながら、上記のような構成では、複数分のファームウェアデータを記憶素子に記憶させることになるから、それだけ多くの記憶容量を確保しなければならない。記憶容量の増加は、直接的にメモリ素子のコストアップにつながるので、機器のコストダウンに重点がおかれるような場合には、メモリ素子としての記憶容量はできるだけ削減されることが好ましいということになる。つまり、ファームウェアデータに関しては、1つのみを記憶させることとして、記憶容量を節約すべきであるということになる。しかし、単純に、メモリ素子に1つのファームウェアデータを記憶させることとすれば、データの更新がエラーとなったときに不完全となったファームウェアデータしか残らないことになるから、正常に機器が動作しなくなってしまう。
そこで、本実施の形態としては、以降説明するようにして、TV−フラッシュメモリ24に記憶されるTV−ファームウェアのデータの更新を行うようにされる。これにより、図2によっても説明したようにして、TV−フラッシュメモリ24に記憶可能なTV−ファームウェアを1つのみに設定した場合の下で、例えば、データ転送の中断などのエラーが発生したとしても、このTV−フラッシュメモリ24上でのTV−ファームウェアの更新を正常に完了させることが可能となる。換言すれば、本実施の形態では、TV−フラッシュメモリ24に対して、TV−ファームウェアについては1つ分を記憶する領域を設定すればよいので、TV−フラッシュメモリ24の記憶容量を従来よりも大幅に削減することが可能となっており、それだけ、低コスト化が図られることになる。
本実施の形態において、TV−フラッシュメモリ24上でのTV−ファームウェアのデータの更新は、TV−CPU22に、同じTV−フラッシュメモリ24におけるブートプログラム領域Ar1に記憶されるブートプログラムを実行させることで行われる。
そこで、ブートプログラムのプログラム構造例を、図3に模式的に示す。
この図3に示すようにして、ブートプログラムは、初期化モジュール51、更新情報処理モジュール、マイコン間通信制御モジュール62、ファームウェアデータ抽出モジュール63、TV−フラッシュメモリ書き込みモジュール64、TV−フラッシュメモリ読み出しモジュール65、データ照合モジュール66、不揮発性メモリドライバ71、マイコン間通信ドライバ72、TV−フラッシュメモリドライバ73の各プログラムモジュールからなる。
初期化モジュール51は、起動時の最初の処理である初期化処理のためのプログラムモジュールである。
フラグ情報処理モジュール61は、先に図1により説明したようにして、不揮発性メモリ4に記憶される有効/無効フラグflgに関する処理を実行する。つまり、有効/無効フラグflgについての内容認識、及び内容の設定変更などの処理を実行する。
また、このフラグ情報処理モジュール61が処理を実行するときには、不揮発性メモリ4にアクセスするために、不揮発性メモリドライバ71を利用することになる。不揮発性メモリドライバ71は、不揮発性メモリ4に対してアクセスして、データの書き込み、読み出しを実行するためのドライバソフトウェアである。
また、マイコン間通信制御モジュール62は、フロントエンドブロック2側のマイコン(FE−CPU12、FE−RAM13、FE−フラッシュメモリ14)と、所定の通信フォーマットによってデータ通信を行うための通信制御を実行するモジュールである。マイコン間通信制御モジュール62に従って通信を行うときには、マイコン間インターフェイス21を経由して所定の通信プロトコルによって通信を行うことになるが、このマイコン間インターフェイス21と、フロントエンドブロック2側のマイコン間通信インターフェイス16との間のレベルでの通信動作は、マイコン間通信ドライバ72によって制御することになる。
ファームウェアデータ抽出モジュール63は、後述するようにして、フロントエンドブロック2側とのマイコン間通信により伝送されてきた通信データに、TV−ファームウェアのデータが格納されている場合において、この通信データからTV−ファームウェアのデータを抽出する。
TV−フラッシュメモリ書き込みモジュール64、TV−フラッシュメモリ読み出しモジュール65は、それぞれ、TV−フラッシュメモリ24に対するデータの書き込み、読み出しを実行するためのモジュールである。また、これらTV−フラッシュメモリ書き込みモジュール64、及びTV−フラッシュメモリ読み出しモジュール65は、それぞれ、TV−フラッシュメモリ24に対するアクセス制御のために、TV−フラッシュメモリドライバ73を使用する。
TV−フラッシュメモリ24に対してデータの書き込みを行うときには、先ず、TV−RAM23に、書き込みデータを保持させておいたうえで、このTV−RAM23からデータを転送してTV−フラッシュメモリ24に対して書き込みを行うようにされる。そして、上記のようにしてTV−フラッシュメモリ24に対するデータの書き込みが終了すると、このデータ書き込み結果が適正であったか否かを確認するために、TV−フラッシュメモリ24に書き込んだデータと、この書き込みデータの元であるTV−RAM23に保持されているデータとについて照合する処理が実行される。この照合の結果として、両者のデータが一致していれば、適正にデータが書き込まれたものとして処理され、一致していなければ、エラーであるとして処理される。
データ照合モジュール66は、起動時において、TV−フラッシュメモリ24にデータを書き込む場合において、上記したデータ照合処理を実行するためのものとされる。
これまでの説明をふまえて、テレビジョン受像機1において、外部から取得したTV−ファームウェアのデータにより、TV−フラッシュメモリ24のファームウェア領域Ar2に記憶されているTV−ファームウェアを更新するための処理手順を、図4〜図7のフローチャートを参照して説明する。
先ず、図4には、外部からTV−ファームウェアのデータが送出され、これに応じてテレビジョン受像機1により、この送出されたTV−ファームウェアのデータを取得したときの対応処理が示されている。なお、この図においては、フロントエンドブロック2とTVシステムマイコン3との処理が示されているが、フロントエンドブロック2の処理は、FE−CPU12が例えばFE−フラッシュメモリ14に記憶されるプログラム(フロントエンド用のファームウェア)を実行することで実現される。また、TVシステムマイコン3の処理は、TV−CPU22が、現在、TV−フラッシュメモリ24に記憶されているTV−ファームウェアとしてのプログラムを実行することで実現される。
例えば、TV−ファームウェアをバージョンアップすることなどを目的として、テレビジョン受像機1のTV−フラッシュメモリ24上でTV−ファームウェアの更新(書き換え)を行うのにあたっては、更新用のTV−ファームウェアのデータを、テレビジョン受像機1のベンダー側で配布するようにされる。
ここでの配布の形態として、1つには、更新用のTV−ファームウェアのデータを、放送により送出するようにされる。あるいは、CD−ROM、DVD−ROMなどのディスクメディアなどに代表されるパッケージメディアに、更新用のTV−ファームウェアのデータをROM形式で記憶して配布するようにされる。さらには、ネットワーク経由でサーバ、若しくは、情報端末装置などからアップロードさせるようにする。
更新用のTV−ファームウェアのデータを放送により送出する場合に対応しては、テレビジョン受像機1のフロントエンドブロック2において、チューナ部11により所要のキャリアを受信することで、TV−ファームウェアのデータを取得するようにされる。また、TV−ファームウェアのデータをパッケージメディアに記憶させて配布している場合に対応しては、テレビジョン受像機1のフロントエンドブロック2における外部インターフェイス15に対して、パッケージメディアのドライブ装置を接続する。そして、ドライブ装置によりパッケージメディアから読み出したTV−ファームウェアのデータを、外部データバス6を経由して転送するようにされる。そして、この転送されてきたデータを外部インターフェイス15にて受信取得するようにされる。あるいは、外部インターフェイス15がLAN、インターネットなどのネットワークに対応するネットワークインターフェイスであれば、ネットワーク経由で、サーバ、端末装置などからTV−ファームウェアのデータをダウンロードして、外部インターフェイス15にて受信取得するようにされる。
このようにして、テレビジョン受像機1では、放送、パッケージメディア、またはネットワーク経由などの形態により配布されるTV−ファームウェアのデータを、外部から取得することが可能とされている。
そこで、図4においては先ず、フロントエンドブロック2側の処理として、ステップS101として示すようにして、更新用のTV−ファームウェアのデータを受信取得したか否かについて判別している。ここでのTV−ファームウェアのデータの受信取得とは、TV−ファームウェアのデータを送出している放送キャリアをチューナ部11にて受信復調してFE−CPU12に渡すこと、もしくは、外部インターフェイス15を経由して転送されてきた更新用のTV−ファームウェアのデータをFE−CPU12に渡すことを指す。そして、このようにしてFE−CPU12に対してTV−ファームウェアのデータが渡されると、ステップS101において、TV−ファームウェアのデータを受信取得したことが判別される。
上記のようにして受信取得したデータが渡されると、FE−CPU12は、このデータを一旦FE−RAM13に書き込んで蓄積させる。このFE−RAM13に保持されている段階の受信取得データは、例えば、放送フォーマットもしくは外部インターフェイス15のインターフェイスフォーマットに従ってパケット化されたままの形式となっている。そこで、FE−CPU12は、ステップS102の処理により、FE−RAM13に保持させている受信取得データから、TV−ファームウェアのデータそのものを抽出する。そして、抽出したTV−ファームウェアのデータをFE−フラッシュメモリ14に転送して書き込みを行って記憶させる。
ここで、TV−ファームウェアのデータが、FE−フラッシュメモリ14に記憶されたということは、テレビジョン受像機1において、TV−ファームウェアのデータが保存されたということを意味する。つまり、以降において、意図的に消去などの処理が行われない限りは、テレビジョン受像機1への電源供給が停止されたとしても、TV−ファームウェアのデータは、消去されることなく記憶され続ける。ただし、ここで留意すべきことは、TV−ファームウェアは、TVシステムマイコン3側のTV−フラッシュメモリ24に記憶されて初めて、TV−CPU22が実行することができるということである。つまり、FE−フラッシュメモリ14に保存されるTV−ファームウェアのデータは、インストール前のデータとなる。
そして、上記ステップS102の処理によって、TV−ファームウェアのデータをFE−フラッシュメモリ14に記憶して保存させると、次のステップS103の処理により、マイコン間インターフェイス16を経由して、TVシステムマイコン3側に対して、TV−ファームウェアのデータを保存していることを通知するコマンドを送信する。
TVシステムマイコン3側では、先ず、ステップS110の処理として、上記ステップS103の処理により送信されてくる、通知コマンドの受信を待機している。そして、マイコン間インターフェイス21を介して、上記通知コマンドがTV−CPU22に受け渡されると、ステップS110において肯定結果が得られることとなって、ステップS111の処理に進む。
TV−ファームウェアのデータを保存していることが通知されれば、この後においては、TVシステムマイコン3側では、この保存されているデータを取り込んで、TV−フラッシュメモリ24のTV−ファームウェアを更新すべきこととなる。ステップS111と、これに続くステップS112は、TV−ファームウェア更新準備のための処理となる。
ステップS111では、不揮発性メモリ4に記憶される有効/無効フラグflgについて、「無効」であることを示すように、その内容(値)を変更設定する。前述したように、有効/無効フラグflgは、TV−フラッシュメモリ24に記憶されているTV−ファームウェアデータについての有効/無効を識別する情報である。
フロントエンドブロック2側から、TV−ファームウェアのデータを保存していることの通知を受けたということは、現在においてTV−フラッシュメモリ24に記憶されているTV−ファームウェアのデータは、テレビジョン受像機1を障害無く制御することができるとしても、更新(バージョンアップ)の必要があるものとされ、その意味で、無効であると扱うことができる。そこで、ステップS111では、有効/無効フラグflgについて、「無効」を設定するものである。
また、次のステップS112では、上記ステップS111において、有効/無効フラグflgについて無効を設定したことを示すフラグである、無効設定フラグをTV−RAM23にセットしておくようにされる。以降においては、例えばメインのルーチンに戻るようにされる。
上記図4のステップS111,S112の処理を実行したことによって、TVシステムマイコン3は、この後において最初にメイン電源がオフとなって、テレビジョン受像機1がユーザによっては未使用の状態となったときに、直ちにTV−ファームウェアを更新するための処理を実行することができるようになる。確認のために述べておくと、メイン電源がオフであっても、TVシステムマイコン3、及びフロントエンドブロック2側のマイコンは、スタンバイ電源が供給されることによって動作が可能な状態となっている。
図5に、メイン電源オフ時のTVシステムマイコン3の処理を示す。
図5において、先ずステップS201では、メイン電源がオフになるのを待機している。そして、メイン電源がオフとされたことを判別すると、ステップS202に進み、TV−RAM23にアクセスして、無効設定フラグがセットされているか否かについて判別する。
ステップS202において、無効設定フラグがセットされていないとして否定の判別結果が得られた場合とは、現在、フロントエンドブロック2側で新規にTV−ファームウェアのデータを取得、保存している状態ではなく、従って、現在、TV−フラッシュメモリ24のTV−ファームウェアを更新する必要はないということになる。
そこでこの場合には、特に処理を実行することなく、メイン電源オフ後の通常の動作を継続させることになる。
これに対して、ステップS202において無効設定フラグがセットされているとして肯定の判別結果が得られた場合には、これまでのメイン電源がオンであった期間内において、フロントエンドブロック2側で新規にTV−ファームウェアのデータを取得、保存したということになる。つまり、TV−ファームウェアの更新を行うべき状態にあるということになる。そこでこの場合には、図5に示すようにして、リセットスタートを強制的に開始させる。ここでのリセットスタートとは、TV−フラッシュメモリ24において、ブートプログラム領域Ar1に記憶されているブートプログラムを実行することで得られる起動動作のことをいう。
本実施の形態のTVシステムマイコン3は、スタンバイ電源の投入が開始されたときには、当然のこととして、ブートプログラムによりリセットスタート(起動処理)を実行することになるのであるが、このようにして、TV−ファームウェアの更新を行うべきときにも、メイン電源のオフのタイミングで、リセットスタートを実行するようにされる。
前述もしたように、本実施の形態では、TV−ファームウェアは、TV−フラッシュメモリ24上において、1つしか記憶されないから、TV−ファームウェア自身の処理として、TV−ファームウェアの更新を行うことはできない。そこで、本実施の形態では、TV−フラッシュメモリ24のTV−ファームウェアの更新を、ブートプログラムに従ったリセットスタートの処理過程において実行するようにしているものである。
図6は、リセットスタートを実行するためのブートプログラムに従ったTVシステムマイコン3(TV−CPU22)の処理動作を示している。この図に示す処理は、図3に示したモジュール構造を有するとされるブートプログラムに従って実行される。
なお、確認のための述べておくと、この図6に示されるリセットスタートとしての動作は、図5に示したように、ステップS202により肯定結果が得られて、TV−フラッシュメモリ24のTV−ファームウェアの更新を実行開始する場合のみではなく、通常に、TVシステムマイコン3にスタンバイ電源が投入されて起動する場合にも実行されるものである。
図6に示すリセットスタートの処理としては、先ず、ステップS301により初期化処理を実行する。この初期化処理は、図3に示した初期化モジュール51としてのプログラムに従った処理であり、ROM内の割り込み処理時のプログラムのアドレスなどのベクタの初期化、RAM(TV−RAM23)の初期化、スタックの初期化などを実行する。このようにして初期化が実行されても、不揮発性メモリ4には、有効/無効フラグflgがリセットスタート前の内容を維持して保持されている。そこで、次のステップS302においては、図3のフラグ情報処理モジュール61及び不揮発性ドライバ71などにより、この不揮発性メモリ4にアクセスして有効/無効フラグflgの読み込みを行う。
次のステップS303においては、フラグ情報処理モジュール61により、上記ステップS302により読み込んだ有効/無効フラグflgの内容が「無効」を示しているか否かについて判別する。
ここで、有効/無効フラグflgの内容が「有効」を示している場合にはステップS303にて否定結果がえられることになるが、この場合には、現在においてTV−フラッシュメモリ24に記憶されるTV−ファームウェアのデータは有効であり、更新されるべき必要はないということになる。そこで、この場合には、ステップS304→S305の処理をスキップして、そのままステップS306の処理に移行する。
ステップS306は、TV−フラッシュメモリ24に記憶されるTV−ファームウェアのプログラムに従って、起動後の処理を実行するものである。
これに対して、ステップS303において、有効/無効フラグflgが「無効」を示しているとして肯定結果が得られた場合には、先に、図4により説明したようにしてフロントエンドブロック側で更新すべきTV−ファームウェアのデータを保存しており、かつ、TVシステムマイコン3側では、このための更新を完了させていないという状態にあることとなる。
そこでこの場合には、ステップS304→S305によるTV−ファームウェア更新に関連する処理を実行する。
ステップS304では、TV−ファームウェアを更新するための一連の制御処理シーケンスを実行する。このステップS304としての処理シーケンスを図7に示す。
この図7に示す処理シーケンスにおいては、先ず、ステップS401の処理として、TV−フラッシュメモリ書き込みモジュール64、TV−フラッシュメモリ読み出しモジュール65、及びTV−フラッシュメモリドライバ73を呼び出しての処理により、TV−フラッシュメモリ24のファームウェア領域Ar2を消去する。つまり、これまでTV−フラッシュメモリ24に記憶されていたTV−ファームウェアを消去する。
次のステップS402においては、フロントエンドブロック2側のマイコン(FE−CPU12)に対して、TV−ファームウェアのデータ転送を要求するコマンドを送信する。このときには、TVシステムマイコン3としては、マイコン間通信制御モジュール62とマイコン間通信ドライバ72により、マイコン間インターフェイス21を経由してのフロントエンドブロック2側マイコンとのコマンド通信を実行することになる。
このTV−ファームウェアのデータ転送要求コマンドを受信したフロントエンドブロック2側のマイコン(FE−CPU12)では、FE−フラッシュメモリ14に保存されるようにして記憶されているTV−ファームウェアのデータを順次読み出して、マイコン間インターフェイス16に転送し、このマイコン間インターフェイス16によりTVシステムマイコン3側にTV−ファームウェアのデータが送信されるように制御を実行する。これにより、TVシステムマイコン3側では、送信されてきたTV−ファームウェアのデータをマイコン間インターフェイス21にて受信することになる。
ここで、マイコン間インターフェイス16、21間でのデータ通信は、所定の通信プロトコルに従ったものであり、例えば、この通信プロトコルにより規定されるパケットヘッダなどが付加されたパケット単位によるデータ転送を行うようにされている。従って、マイコン間インターフェイス16、21を経由して送受信されるTV−ファームウェアのデータも、上記のようにして、所定の通信プロトコルに従ってパケット化などにより転送されるデータ形式となる。
以降においては、説明の便宜上、このようにして、マイコン間インターフェイス16、21の間でのマイコン間通信の通信プロトコルに従った形式に変換されて転送されるTV−ファームウェアのデータについては、「ファームウェア転送データ」ともいう場合がある。
また、TV−ファームウェアのデータ転送を要求するコマンド送信と、これに応答したフロントエンドブロック2側のTV−ファームウェアのデータの送信は、一定の送受信データ量ごとに繰り返し実行されるものである。このために、TV−ファームウェアとしてのプログラム単位の全データを送信し終わった後となるタイミングで、TVシステムマイコン3からフロントエンドブロック2側に対して、TV−ファームウェアのデータ転送を要求するコマンドが送信される場合がある。このような場合には、FE−CPU12は、既にTV−ファームウェアのデータ転送は終了していることを、TVシステムマイコン3に対してレスポンスとして送信するようにしている。
先のステップS402によりTV−ファームウェアのデータ転送要求を行ったTV−CPU22では、レスポンスの受信を待機することになるが、ここで、フロントエンドブロック2側において、TV−ファームウェアのデータ転送が終了していなければ、データ転送終了の通知は送信されず、かわりに、FE−フラッシュメモリ14から読み出したTV−ファームウェアのデータが送信されてくることになる。この場合には、ステップS403における判別結果として、否定結果が得られることとなって、ステップS404の処理に進むことになる。
ステップS404においては、上記のようにしてレスポンスとして送信されてくるTV−ファームウェアのデータ(ファームウェア転送データ)をマイコン間インターフェイス21を経由して受信取得するための処理を実行する。そして、次の処理として示すステップS405により、上記のようにして受信取得したファームウェア転送データを、この場合には、その形式のまま、TV−RAM24に一旦書き込んで保持させるようにしている。
そして、ステップS406では、最後のファームウェアのデータ転送要求コマンドに応答して送信されてきたファームウェア転送データを受信してTV−RAM23に書き込んだとされるデータ量が、一定以上になったか否かについて判別する。ここで、まだ一定量に満たないということが判別されれば、ステップS404の処理に戻るようにされることで、TV−ファームウェアのデータの受信及びTV−RAM23への書き込みのための制御処理を継続するようにされる。
これに対して、ステップS406により、一定量以上のTV−ファームウェアのデータの受信及びTV−RAM23への書き込み保持が完了したことが判別されて肯定結果が得られたのであれば、ステップS407の処理に進むようにされる。
ステップS407においては、TV−ファームウェアのデータの転送についての一時停止を要求するためのコマンドをフロントエンドブロック2側のマイコン(FE−CPU12)に対して送信する。このコマンド送信に応じて、フロントエンドブロック2側では、FE−CPU12の制御によって、TV−ファームウェアのデータをTVシステムマイコン3に対して送信する動作が停止される。
そして、このようにしてフロントエンドブロック2側からのデータ転送を停止させている期間において、続くステップS408〜S412の処理によって、TV−RAM23に保持されているフロントエンドブロック2側からの今回の転送分のTV−ファームウェアのデータについての、FE−フラッシュメモリ14への書き込みを行うようにされる。
先ず、ステップS408においては、例えばTV−RAM23に保持されている上記ファームウェア転送データについてのチェックサムなどの処理を実行することで、必要なだけのファームウェア転送データが適正に転送されてきており、TV−RAM23に保持されているか否かについてのチェックを実行し、ステップS409に進む。なお、ここでは図示していないが、ステップS408としてのチェック結果がNGであった場合には、例えば、フロントエンドブロック2側からのTV−ファームウェアのデータ転送を再要求するようにされる。
ここで、先にも述べたように、TV−RAM23に保持されているTV−ファームウェアのデータは、ファームウェア転送データである。つまり、TV−ファームウェアの実データについて、マイコン間通信の通信プロトコルに従って例えばパケット分割などを施した形式となっている。
そこでステップS409においては、図3に示したファームウェアデータ抽出モジュール63を呼び出して、TV−RAM23に保持されているファームウェア転送データについてパケット化を解くなどの処理を実行することで、TV−ファームウェアのデータそのものを抽出する。そして、この抽出したTV−ファームウェアのデータをステップS410の処理によって、TV−フラッシュメモリ24のファームウェア領域Ar2に書き込みを行っていくようにされる。このステップS410の処理は、図3のTV−フラッシュメモリドライバ73を利用して、TV−フラッシュメモリ24にアクセスし、TV−フラッシュメモリ書き込みモジュール64により、ファームウェア領域Ar2における所要のアドレスを指定しながらのデータ書き込みを実行するようにされる。なお、このときのデータ書き込みは、セクタ単位によるものとなる。
次のステップS411→S412は、上記ステップS410によりTV−フラッシュメモリ24に書き込まれたTV−ファームウェアが正常なものであるか否かの検証のための処理となる。
先ずステップS411においては、図3のTV−フラッシュメモリ読み出しモジュール65を呼び出して、上記ステップS410の処理によりTV−フラッシュメモリ24に書き込まれたTV−ファームウェアのデータを読み出して、例えばTV−RAM23に転送して書き込みを行い、ここに保持させる。
そして、次のステップS412においては、このTV−フラッシュメモリ24から読み出しを行ったTV−ファームウェアのデータと、このTV−ファームウェアのデータの転送元であり、先のステップS405によって同じTV−RAM23に書き込まれたものであるファームウェア転送データとについて照合するための処理を実行する。この処理は、図3のデータ照合モジュール66を呼び出して実行するものとなる。
次のステップS413では、上記ステップS412による照合処理結果としてOKの判定結果が得られたか否かについて判別する。
ステップS412による照合処理により、両者のデータに齟齬が生じていることが認識された場合、これはTV−フラッシュメモリ24に対するデータ書き込みに何らかの障害が発生して、正常に終了しなかったということを意味する。従って、このようなときにはNGの照合結果が得られることになって、ステップS413では否定結果が得られることになる。この場合には、エラー対応処理として、再度、リセットスタートを開始するようにされる。つまり、図6のステップS301から、再度処理を開始するものである。
ここで、例えばステップS413にて否定結果(照合結果NG)が得られたことで、リセットスタートを再開してステップS301に戻った場合、ステップS302→S303の処理によっては、有効/無効フラグflgは、依然として「無効」を示していることが判別され、再度、ステップS304に進んでファームウェア更新処理を実行することになる。つまり、本実施の形態では、有効/無効フラグflgが無効を示している限りは、ステップS304のファームウェア更新処理を必ず実行するようにされている。
こで、ステップS413からステップS301の処理に戻った場合に対応しては、TV−フラッシュメモリ24に記憶されているTV−ファームウェアのデータは、途中で記憶のための転送が中断されているために、一部のみしか記憶されていない不完全な状態となっている。この場合の有効/無効フラグflgは、このような不完全な状態に対応して、「無効」であることを示しているということがいえる。このような状態になっているとしても、上記したステップS413→S301の処理の流れにより、TV−ファームウェアの更新が再度実行されることになっている。
また、ステップS412の照合処理結果として、両者のデータ内容が一致しているとの結果が得られた場合には、TV−フラッシュメモリ24に対するデータ書き込みが正常に実行されたということになる。従ってこの場合には、OKであるとの判定結果が得られることとなって、ステップS413において肯定結果が得られる。
このようにして、ステップS413においてOKの判定結果が得られた場合には、ステップS402の処理に戻るようにされる。これにより、続けて、残りのTV−ファームウェアのデータを、一定量ずつフロントエンドブロック2側から転送させて、TV−フラッシュメモリ24に書き込んで記憶させるための処理が繰り返し実行されることになる。そして、フロントエンドブロック2側において、全てのTV−ファームウェアのデータの転送が終了したとされると、ステップS403にて肯定結果が得られることとなる。ステップS403にて肯定結果が得られた段階では、全てのTV−ファームウェアのデータが正常にTV−フラッシュメモリ24に記憶されている状態となっている。
ステップS403にて肯定結果が得られたということは、図6のステップS304としてのTV−ファームウェアの更新が正常に終了したということであり、この場合には、図6のステップS305の処理に進むことになる。
図6のステップS305においては、図3の不揮発性メモリドライバ71により、不揮発性メモリ4にアクセスする。そして、フラグ情報処理モジュール61を呼び出した処理として、これまで「無効」を示していた有効/無効フラグflgについて、「有効」を示すように書き換えて設定を行う。そして、ステップS306の処理に進むことで、TV−フラッシュメモリ24に新たに記憶された、TV−ファームウェアのプログラムを実行するようにされる。つまり、起動処理を終了して、定常動作に対応する制御処理を実行するようにされる。
なお、上記のようにして、TV−フラッシュメモリ24上でのTV−ファームウェアのデータの更新が正常終了した場合において、FE−フラッシュメモリ14に保存されていたTV−ファームウェアのデータは、例えば消去してしまってもよいし、あるいは、次のバージョンのTV−ファームウェアのデータを取得するまでは保存させておくようにしてもよい。
以上説明した処理が実行されることで、本実施の形態では、ファームウェアの更新エラーに対応したリトライ動作が適正に実行されることが分かる。また、例えばTV−ファームウェアのデータの更新中において電源供給が停止されてマイコンの動作も停止し、更新が正常に終了しなかったような場合にも、次の電源供給の開始時においてブートプログラムを実行することで、再度、フロントエンドブロック2側からTV−ファームウェアのデータを転送させて、TV−フラッシュメモリ24のTV−ファームウェアを更新するための動作が必ず再開されることになる。
このことから、本実施の形態としては、メモリ素子について記憶容量の削減のために、ファームウェアについては1つのみを記憶する領域だけを設定した構成であっても、最終的には適正にファームウェアを更新することが可能とされるものである。換言すれば、前述もしたように、例えばフラッシュメモリとされるメモリ素子について、ファームウェアに関しては、1つのみが記憶可能な容量を設定すればよいので、結果的に、メモリ素子全体としての記憶容量を削減することができ、例えばコストダウンが図られる、ということになる。
ところで、上記図4〜図7に示したTV−ファームウェア更新に関連する処理動作は、これまでの説明から理解されるようにして、TV−フラッシュメモリ24に記憶されるTV−ファームウェア、及びブートプログラム等のプログラムを、CPUが実行することで実現されるものである。
そして、このようなプログラムは、例えば、上記もしているように、放送やネットワークにより取得することができるようにもされるが、各種のメディアに記憶させた上で、このメディアから読み出して取得することも可能とされるものである。
また、上記実施の形態においては、TV−ファームウェアのデータの更新実行の必要性を判断する情報であり、直接的には、TV−ファームウェアの有効性/無効性を示す情報である有効/無効フラグflgを、不揮発性メモリ4に記憶させることとしている。
有効/無効フラグflgは、例えば電源供給が停止されてもその情報が保持されていることが必要であるが、この条件さえ満たせば、TVシステムマイコン3がアクセス可能である限り、どこに記憶されても構わないということになる。従って、例えば、不揮発性であるTV−フラッシュメモリ24に対して、ブートプログラム、及びTV−ファームウェアと同様に、領域を割り当てて、有効/無効フラグflgを記憶させることも考えられる。
しかしながら、実際にTV−フラッシュメモリ24に有効/無効フラグflgを記憶させることとした場合には次のような不都合が生じる。
周知のようにして、フラッシュメモリは例えば数十Kバイト〜百数十Kバイトのセクタ単位での書き込み、消去が行われる。また、有効/無効フラグflgは、TV−ファームウェアの有効性/無効性が示されればよいことから、非常に少ないビット数で形成することができる。しかしながら、その用途上、有効/無効フラグflgは、TV−フラッシュメモリ24上において、例えばTV−ファームウェアとは独立して書き換えがされる必要がある。従って、更新のために、TV−ファームウェアのデータが消去されたとしても、有効/無効フラグflgは消去されずに以前の正常な内容を維持して残っている必要がある。
このために、TV−フラッシュメモリ24に有効/無効フラグflgを記憶させる場合には、TV−ファームウェアのためのファームウェア領域Ar2(及びブートプログラムのためのブートプログラム領域Ar1)とは個別に、有効/無効フラグflgのための領域を割り当てる必要がある。
ただし、上記のような記憶領域の割り当ては、フラッシュメモリがセクタ単位での書き換えを行う構造上、同様にしてセクタ単位となる。この場合、有効/無効フラグflgが、例えば数ビット程度の情報で済むのに対して、セクタは上記もしているように数十Kバイト〜百数十Kバイトのサイズであるから、データ記憶に関しての効率がよくないということになる。本実施の形態では、ファームウェアのデータが記憶されるTV−フラッシュメモリ24の記憶容量の節約を目的としているので、有効/無効フラグflgをTV−フラッシュメモリ24に記憶させるということは、セクタを有効に利用できないという点で好ましくないことになる。
そこで、本実施の形態としては、TVシステムマイコン3がアクセス可能な不揮発性のメモリ素子として、TV−フラッシュメモリ24とは物理的に異なるものである不揮発性メモリ4に対して有効/無効フラグflgを記憶させることとしているものである。
また、上記実施の形態においては、テレビジョン受像機内部におけるマイコン間でのデータ転送により、ファームウェアのデータの更新を行う場合を例に挙げているが、有効/無効フラグflgが無効を示していることに基づいて、更新のためのデータ転送が再試行されるように構成されていれば、例えば、機器の外部に対してデータ転送の要求を行うように構成されていても構わない。
また、上記実施の形態では、本発明によるデータ更新のための構成をテレビジョン受像機に適用しているが、例えば、メモリ素子に何らかのプログラムデータを記憶させて、その記憶されたプログラムデータに基づいて処理を実行するように構成された電子機器であれば、特に、機器の種別は問わない。
また、実施の形態では、定常動作のための処理を実行させるファームウェアのプログラムを更新するものとされているが、本発明としては、更新対象となるプログラムのデータの種別は特に限定しない。また、これに応じて、プログラムの更新を主として実行させるプログラムとしても、本実施の形態のように、ブートプログラムに限定される必要はない。
本発明の実施の形態としての情報処理装置が適用される、テレビジョン受像機の構成例を示すブロック図である。 実施の形態のテレビジョン受像機のTV−フラッシュメモリの領域設定例を模式的に示す図である。 TV−フラッシュメモリに記憶されるブートプログラムの構造例を模式的に示す図である。 実施の形態のテレビジョン受像機において、ファームウェアのデータを受信したときの対応処理を示すフローチャートである。 メイン電源オフ時に対応したTV−システムマイコンの処理動作を示すフローチャートである。 ブートプログラムによるリセットスタートとしての処理を示すフローチャートである。 TV−ファームウェアのデータの更新のための処理動作を示すフローチャートである。
符号の説明
1 テレビジョン受像機、2 フロントエンドブロック、3 TVシステムマイコン、4 不揮発性メモリ、5 アンテナ、6 外部データバス、11 チューナ部、12 FE−CPU、13 FE−RAM、14 FE−フラッシュメモリ、15 外部インターフェイス、16,21 マイコン間インターフェイス、22 TV−CPU、23 TV−RAM、24 TV−フラッシュメモリ、25 メモリインターフェイス、flg 有効/無効フラグ、Ar1 ブートプログラム領域、Ar2 ファームウェア領域、51 初期化モジュール、61 フラグ情報処理モジュール、62 マイコン間通信制御モジュール、63 ファームウェアデータ抽出モジュール、64 TV−フラッシュメモリ書き込みモジュール、65 TV−フラッシュメモリ読み出しモジュール、66 データ照合モジュール、71 不揮発性メモリドライバ、72 マイコン間通信ドライバ、73 TV−フラッシュメモリドライバ

Claims (5)

  1. 1つの特定機能の実行プログラム単位を記憶する実行プログラム記憶領域については1つのみを割り当てることとして設定された、書き換え可能な記憶素子と、
    所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される上記実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別手段と、
    上記判別手段により上記識別情報について無効が設定されていると判別されるのに応じて、上記実行プログラム記憶領域に記憶される上記実行プログラム単位の更新を行う更新手段と、
    上記更新手段による上記実行プログラム単位の更新が正常に終了したとされるときには、上記識別情報について有効を示すように設定する情報設定手段と、
    を備えていることを特徴とする情報処理装置。
  2. 上記識別情報が記憶される上記書き換え可能な記憶領域は、
    上記実行プログラム単位が記憶される上記書き換え可能な記憶素子とは物理的に異なる記憶手段に記憶される、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 1つの特定機能の実行プログラム単位を記憶する実行プログラム記憶領域については1つのみを割り当てることとして設定された、書き換え可能な記憶素子についての読み出し/書き込み処理を実行する読み出し/書き込み実行処理と、
    所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される上記実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別処理と、
    上記判別処理により上記識別情報について無効が設定されていると判別されるのに応じて、読み出し/書き込み実行処理を利用して、上記実行プログラム記憶領域に記憶される上記実行プログラム単位の更新を行う更新処理と、
    上記更新処理による上記実行プログラム単位の更新が正常に終了したとされるときには、上記識別情報について有効を示すように設定する情報設定処理と、
    を実行することを特徴とする情報処理方法。
  4. 1つの特定機能の実行プログラム単位を記憶する実行プログラム記憶領域については1つのみを割り当てることとして設定された、書き換え可能な記憶素子についての読み出し/書き込み処理を実行する読み出し/書き込み実行処理と、
    所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される上記実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別処理と、
    上記判別処理により上記識別情報について無効が設定されていると判別されるのに応じて、読み出し/書き込み実行処理を利用して、上記実行プログラム記憶領域に記憶される上記実行プログラム単位の更新を行う更新処理と、
    上記更新処理による上記実行プログラム単位の更新が正常に終了したとされるときには、上記識別情報について有効を示すように設定する情報設定処理と、
    を情報処理装置に実行させるプログラム。
  5. 1つの特定機能の実行プログラム単位を記憶する実行プログラム記憶領域については1つのみを割り当てることとして設定された、書き換え可能な記憶素子についての読み出し/書き込み処理を実行する読み出し/書き込み実行処理と、
    所定の書き換え可能な記憶領域に記憶されるものであり、上記書き換え可能な記憶素子に記憶される上記実行プログラム単位についての有効/無効を区別するための識別情報について、有効/無効のいずれを示しているのかについて判別する判別処理と、
    上記判別処理により上記識別情報について無効が設定されていると判別されるのに応じて、読み出し/書き込み実行処理を利用して、上記実行プログラム記憶領域に記憶される上記実行プログラム単位の更新を行う更新処理と、
    上記更新処理による上記実行プログラム単位の更新が正常に終了したとされるときには、上記識別情報について有効を示すように設定する情報設定処理と、
    を情報処理装置に実行させるプログラムを記録した記録媒体。
JP2003280935A 2003-07-28 2003-07-28 情報処理装置、情報処理方法、プログラム、記録媒体 Pending JP2005050097A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003280935A JP2005050097A (ja) 2003-07-28 2003-07-28 情報処理装置、情報処理方法、プログラム、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003280935A JP2005050097A (ja) 2003-07-28 2003-07-28 情報処理装置、情報処理方法、プログラム、記録媒体

Publications (1)

Publication Number Publication Date
JP2005050097A true JP2005050097A (ja) 2005-02-24

Family

ID=34266604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003280935A Pending JP2005050097A (ja) 2003-07-28 2003-07-28 情報処理装置、情報処理方法、プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP2005050097A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746289B1 (ko) 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
JP2007299372A (ja) * 2006-05-04 2007-11-15 Syntax Brillian Corp ファームウェアを更新するためのusbポートを有するテレビジョンおよび表示装置
US7903174B2 (en) 2005-08-24 2011-03-08 Sony Corporation Broadcasting data receiving apparatus
JP2013012250A (ja) * 2007-10-04 2013-01-17 Openpeak Inc ファームウェアイメージの更新および管理
JP2014194682A (ja) * 2013-03-29 2014-10-09 Oki Electric Ind Co Ltd 情報処理装置およびその処理方法
JP2016503214A (ja) * 2013-01-15 2016-02-01 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 動的ファームウェア更新
JP2017518583A (ja) * 2014-06-11 2017-07-06 ホーム コントロール シンガポール プライベート リミテッド スモールメモリ装置にソフトウェアをインストールするシステム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746289B1 (ko) 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
US7903174B2 (en) 2005-08-24 2011-03-08 Sony Corporation Broadcasting data receiving apparatus
JP2007299372A (ja) * 2006-05-04 2007-11-15 Syntax Brillian Corp ファームウェアを更新するためのusbポートを有するテレビジョンおよび表示装置
JP2013012250A (ja) * 2007-10-04 2013-01-17 Openpeak Inc ファームウェアイメージの更新および管理
JP2016503214A (ja) * 2013-01-15 2016-02-01 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 動的ファームウェア更新
US10101988B2 (en) 2013-01-15 2018-10-16 Hewlett Packard Enterprise Development Lp Dynamic firmware updating
JP2014194682A (ja) * 2013-03-29 2014-10-09 Oki Electric Ind Co Ltd 情報処理装置およびその処理方法
JP2017518583A (ja) * 2014-06-11 2017-07-06 ホーム コントロール シンガポール プライベート リミテッド スモールメモリ装置にソフトウェアをインストールするシステム

Similar Documents

Publication Publication Date Title
US6684328B2 (en) Method and apparatus for determining compatibility of computer programs
US6209127B1 (en) Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
US8296752B2 (en) Implementation of in-system programming to update firmware on memory cards
JP4279902B2 (ja) ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法
EP3518097B1 (en) Firmware updating method and electronic device using the same
US8839227B2 (en) Preventing overwrite of nonessential code during essential code update
JP2000357095A (ja) 埋込式システムにソフトウェアをダウンロードする方法および装置
GB2381093A (en) Software upgrading
US20060047938A1 (en) Method and apparatus to initialize CPU
CN100487648C (zh) 移动通信终端的文件更新系统和启动管理系统及其方法
KR100658865B1 (ko) 수신기의 프로그램 업그레이드 장치 및 방법
JP2005050097A (ja) 情報処理装置、情報処理方法、プログラム、記録媒体
US20050010914A1 (en) Method for upgrading firmware
JP2008158991A (ja) Nand型フラッシュメモリの制御システム
JP4013040B2 (ja) ダウンロード装置及びダウンロード方法
JP2000350185A (ja) 制御プログラム送信方法及び制御プログラムダウンロード方法
US7287104B2 (en) Interface circuit for card-type memory, ASIC including interface circuit, and image forming apparatus including ASIC
JP2002189609A (ja) アクシデントに適応したソフトウェア更新方式および方法
JP4084461B2 (ja) リモートダウンロードが可能な端末装置、その端末装置が備えるローダプログラムに適用されるダウンロード方法、そのローダプログラムを記録した記録媒体
JP2015129994A (ja) 送信プログラム、送信方法、及び送信装置
JP2004054421A (ja) メモリ、情報処理装置、記憶方法および情報処理方法
EP1768411A1 (en) Television camera system and respective configuring method
JP2001195246A (ja) 情報処理装置、基本データ書込み装置、基本データ書込みシステム、及び基本データ書込み方法
KR20030055767A (ko) 홈 게이트웨이 시스템의 이미지 업데이트 방법
JP2006172098A (ja) パケット通信装置、パケット通信装置におけるリブート方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090714