JP2002312186A - 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法 - Google Patents

情報処理機器、そのファームウェア及びそのファームウェア書き換え方法

Info

Publication number
JP2002312186A
JP2002312186A JP2001117298A JP2001117298A JP2002312186A JP 2002312186 A JP2002312186 A JP 2002312186A JP 2001117298 A JP2001117298 A JP 2001117298A JP 2001117298 A JP2001117298 A JP 2001117298A JP 2002312186 A JP2002312186 A JP 2002312186A
Authority
JP
Japan
Prior art keywords
main program
program
firmware
main
information processing
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
JP2001117298A
Other languages
English (en)
Inventor
Shinji Takahashi
真二 高橋
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001117298A priority Critical patent/JP2002312186A/ja
Publication of JP2002312186A publication Critical patent/JP2002312186A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ファームウェア内の主プログラムの書き換え
時にデータ処理を同時に実行できる情報処理機器、その
ファームウェア及びそのファームウェア書き換え方法を
提供する。 【解決手段】 情報処理機器のメモリが二つの主プログ
ラムを、それぞれ別々のメモリ領域に記憶する。情報処
理機器のCPUが二つの主プログラムのいずれかを有効
主プログラムとして実行する。更に、ホストインタフェ
ースがホストからファームウェア書き換え命令を受信し
た時、CPUは有効主プログラムではない方の主プログ
ラムを書き換える。有効主プログラムの指定は、二つの
主プログラムのチェック及びバージョン情報の比較によ
り行う。又は、更新された主プログラムを示す有効主プ
ログラム判別情報の参照により行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理機器に関
し、特にそのファームウェアの書き換え方法に関する。
【0002】
【従来の技術】ハードディスクドライブ(HDD)、CD
−ROMドライブ及びプリンタ等のパーソナルコンピュ
ータ(パソコン)の周辺機器を始めとするいわゆる情報処
理機器は、一般に中央処理装置(CPU)、揮発性メモリ
(RAM)及び不揮発性メモリ(ROM)を有する。情報処
理機器では、ROMがファームウェアを記憶していて、
CPUがそのファームウェアを実行する。RAMはファ
ームウェアの実行時、作業用メモリ領域を提供する。フ
ァームウェアの実行により情報処理機器の動作、特にデ
ータ処理が制御される。
【0003】本明細書では、内部にCPU、RAM及び
ROMを有する機器であって、ROMに記憶されたファ
ームウェアをCPUに実行させて、それによりデータ処
理を制御する機器を、情報処理機器という。更に、本明
細書では、情報処理機器のROMに記憶されたプログラ
ム全体をファームウェアという。情報処理機器には、例
えば上記のようなパソコンの周辺機器を始め、パソコン
本体、ファクシミリ、電話機、携帯電話、ポータブルハ
ンディホン(PHS)及び携帯情報端末(PDA)等が含ま
れる。特に、ディジタルテレビ放送等を通じてデータを
受信可能なディジタルテレビ放送受信機、インターネッ
ト接続機能を持つゲーム機器及び冷蔵庫等の情報家電
も、本明細書での情報処理機器に含まれる。
【0004】近年では情報処理機器のROMとして、フ
ラッシュEEPROM(一括消去型電気的消去及び書き
込み可能な不揮発性メモリ)(以下、フラッシュメモリと
いう)が用いられる。フラッシュメモリではCPUによ
り記憶されているデータを一括消去して別のデータを書
き込むこと、すなわち、データの書き換えが実行でき
る。従って、情報処理機器の製造後ファームウェアが更
新された場合、フラッシュメモリに記憶されていた古い
ファームウェアを更新されたものに容易に書き換えでき
る。こうして、情報処理機器の製造後ROM自体を交換
することなく、ファームウェアの機能を変更でき、かつ
向上できる。
【0005】更に、従来の情報処理機器は、ファームウ
ェアの書き換えに失敗してファームウェアを損傷した場
合、CPUによる制御を保持し、ファームウェアの書き
換えを再実行できるように工夫されていた。以下に、従
来の情報処理機器の一例を示し、その工夫について説明
する。
【0006】図13は、従来の情報処理機器100の内部構
成、及び、その情報処理機器100と外部との接続の構成
を示すブロック図である。情報処理機器100は一般に外
部とのインタフェースすなわちホストインタフェース10
1を有する。ホストインタフェース101と外部のホスト12
0とを接続線130が接続している。接続線130は、情報処
理機器100とは別の情報処理機器110を複数接続していて
も良い。例えば情報処理機器100がパソコンの周辺機器
である場合、ホストインタフェース101がバスインタフ
ェースに、ホスト120がパソコン本体のCPU及び他の
周辺機器に、接続線130がバスに、それぞれ相当する。
その他に、情報処理機器100がネットワークのクライア
ントパソコン及びプリントサーバ等のネットワーク接続
機器である場合、ホストインタフェース101がネットワ
ークインタフェースに、ホスト120がネットワーク上の
様々なサーバに、接続線130がネットワークケーブル
に、それぞれ相当する。但し、ネットワーク機器間の通
信が無線又は赤外線を用いている場合、接続線130は無
線又は赤外線に対応する。更に、情報処理機器100がデ
ィジタルテレビ放送受信機である場合、ホストインタフ
ェース101がチューナ及びアナログデジタル(AD)変換
器等に、ホスト120がディジタルテレビ放送送信局に、
接続線130がディジタルテレビ放送の電波に、それぞれ
相当する。
【0007】情報処理機器100はホストインタフェース1
01に加えて、CPU12、RAM13及びフラッシュメモリ
14を更に有する。それらはいずれもローカルバス17で互
いに接続されている。CPU12は、フラッシュメモリ14
に記憶されたファームウェアに従って、ローカルバス17
に接続された情報処理機器100内の各部を制御する。特
に、ホストインタフェース101がホスト120から命令を受
信した時、CPU12はホスト120からの命令をデコード
する。更に、CPU12はその命令に応じてRAM13、フ
ラッシュメモリ14、データ処理部105及びドライバ106を
制御する。データ処理部105はホストインタフェース101
と外部との間で送受信されるデータを適切に処理する。
例えばディジタルテレビ放送受信機では、データ処理部
105は映像データ及び音声データの再生部に相当する。
ドライバ106は、情報処理機器100に含まれる機械的な駆
動部(図示せず)を制御する。例えばディジタルテレビ放
送受信機では、ドライバ106は受像管等の制御を実行す
る。RAM13は揮発性メモリであり、ファームウェアの
実行時に作業用メモリ領域を提供する。
【0008】フラッシュメモリ14はフラッシュEEPR
OMであり、一般に複数のセグメントに分割されてい
る。複数のセグメントはそれぞれ書き換え不可及び書き
換え可能に設定され、それぞれ書き換え不可セグメント
14a及び書き換え可能セグメント14bとして分けられてい
る。書き換え不可セグメント14aでは、CPU12による
データの消去及び書き込みが禁止されている。一方、書
き換え可能セグメント14bでは、CPU12によるデータ
の消去及び書き込み、すなわちデータの書き換えが許可
されている。フラッシュメモリ14の書き換え可能セグメ
ント14bでは、データの消去がセグメント全体で一括し
て行われる。一方、データの書き込みはセグメント内の
セクタごとに行われる。
【0009】フラッシュメモリ14は情報処理機器100の
ファームウェアを、書き換え不可セグメント14a及び書
き換え可能セグメント14bに以下の通りに分けて記憶し
ている。図14は、従来の情報処理機器100での制御上主
要な内部構成、特に、フラッシュメモリ14に記憶された
ファームウェアの構成を示すブロック図である。ファー
ムウェアの内、補助プログラム200がフラッシュメモリ1
4の書き換え不可セグメント14aに、主プログラム201が
書き換え可能セグメント14bに、それぞれ分かれて記憶
されている。
【0010】補助プログラム200は起動プログラム200a
及びファームウェア書き換えプログラム200bを含む。起
動プログラム200aは、情報処理機器100の起動時CPU1
2により最初に呼び出される。CPU12は起動プログラ
ム200aに従って、情報処理機器100をハードウェア的及
びソフトウェア的に初期化する。更に、CPU12は起動
プログラム200aに従って、主プログラム201をチェック
する。そのチェックは通常チェックサムによって行われ
る。ファームウェア書き換えプログラム200bは、フラッ
シュメモリ14のデータをセグメントごとに書き換えるた
めのプログラムである。
【0011】主プログラム201はファームウェアの主要
部である。起動プログラム200aに従った主プログラム20
1のチェック結果が正常である場合、CPU12は起動プ
ログラム200aに続いて主プログラム201を呼び出す。C
PU12は通常主プログラム201に従って情報処理機器100
の各部を制御する。
【0012】主プログラム201を記憶しているセグメン
トは書き換え可能セグメント14bとして設定されてい
る。一方、CPU12はファームウェア書き換えプログラ
ム201を実行して書き換え可能セグメント14bのデータを
書き換えできる。従って、主プログラム201が更新され
た場合、ホスト120からのファームウェア書き換え命令
に従って、CPU12はファームウェア書き換えプログラ
ム200bを実行する。それにより主プログラム201はその
更新されたものに書き換えられる。
【0013】更に、起動プログラム200aに従った主プロ
グラム201のチェック結果が異常である場合、CPU12
はファームウェア書き換えプログラム200bを実行し、主
プログラム201を書き換える。主プログラム201のチェッ
ク結果が異常となる主な原因は、主プログラム201の書
き換え時のノイズによるデータの損傷、又は、停電等の
事故による書き換えの中断等である。従って、上記のチ
ェック結果が異常である場合、フラッシュメモリ14に記
憶されている主プログラム201は損傷又は欠落してい
る。それ故、CPU12は通常の制御機能を実現できな
い。そこで、CPU12はそのような非常時には主プログ
ラム201を呼び出さず、補助プログラム200の実行を継続
する。それにより、CPU12はまずホスト120とホスト
インタフェース101との間の通信を維持する。その上
で、CPU12はホスト120からのファームウェア書き換
え命令を待つ。ホストインタフェース101がホスト120か
らのファームウェア書き換え命令と新たな主プログラム
とを受信した時、CPU12はフラッシュメモリ14の書き
換え可能セグメント14bのデータを書き換え、主プログ
ラム201を新たなものに置換する。その結果、主プログ
ラム201の損傷が除去される。
【0014】起動プログラム200aは情報処理機器100の
起動に不可欠である。更に、ファームウェア書き換えプ
ログラム200bは上記のように、主プログラム201を書き
換えるためのものである。従って、起動プログラム200a
及びファームウェア書き換えプログラム200bを誤って書
き換えて損傷させた場合、情報処理機器100の起動及び
制御が実現できない。そこで、補助プログラム200全体
を記憶したセグメントは書き換え不可セグメント14aと
して設定されている(図14参照)。それにより、起動プロ
グラム200a及びファームウェア書き換えプログラム200b
を誤って書き換えることが防止されている。
【0015】具体的には以下に述べるように、CPU12
が主プログラム201の書き換えを実現していた。図15は
情報処理機器100の起動プログラム200aのフローチャー
トである。情報処理機器100の起動時、CPU12は補助
プログラム200内から起動プログラム200aを呼び出す。
CPU12は起動プログラム200aに従って、まず情報処理
機器100の初期化S101を行う。続いてCPU12は、主プ
ログラム201のチェックS102を行う。主プログラム201の
チェック結果が正常である時、CPU12は主プログラム
201を呼び出す。一方、主プログラム201のチェック結果
が異常である時、CPU12は補助プログラム200の実行
を継続する。
【0016】図16の(a)及び(b)は補助プログラム200及
び主プログラム201のそれぞれのフローチャートであ
る。主プログラム201のチェック結果が正常である時、
CPU12は図16の(b)に示されている通り、主プログラ
ム201を実行する。CPU12は主プログラム201に従っ
て、まず主プログラム201の処理に関する初期化S211を
行う。続いて、ホストインタフェース101がホスト120か
らの命令Cmdを受信するまで、CPU12は待機する(ステ
ップS212)。ホストインタフェース101はホスト120から
の命令Cmdを受信した時、CPU12へ割り込み信号を出
力する。それによりCPU12はホストインタフェース10
1からホスト120からの命令Cmdを読み出し、その命令Cmd
のデコードS213を行う。CPU12はその命令Cmdに応じ
てファームウェア内のモジュールI201c又はモジュールI
I201dを呼び出す。特に、命令Cmdがファームウェア書き
換え命令であった場合、CPU12はファームウェア書き
換えプログラム200bを呼び出す。
【0017】主プログラム201のチェック結果が異常で
ある時、CPU12は図16の(a)に示されている通り、補
助プログラム200を実行する。CPU12は補助プログラ
ム200に従って、まず補助プログラム200の処理に関する
初期化S201を行う。続いて、ホストインタフェース101
がホスト120からの命令Cmdを受信するまで、CPU12は
待機する(ステップS202)。ホストインタフェース101は
ホスト120からの命令Cmdを受信した時、CPU12へ割り
込み信号を出力する。それによりCPU12はホストイン
タフェース101からホスト120からの命令Cmdを読み出
し、その命令CmdのデコードS203を行う。CPU12はそ
の命令Cmdに応じてファームウェア内のモジュールI'200
c又はモジュールII'200dを呼び出す。特に、命令Cmdが
ファームウェア書き換え命令であった場合、CPU12は
ファームウェア書き換えプログラム200bを呼び出す。
【0018】図17はファームウェア書き換えプログラム
200bのフローチャートである。CPU12はファームウェ
ア書き換えプログラム200bに従って、次のステップS221
〜S223の順に主プログラム201の書き換えを行う。 ステップS221:ホストインタフェース101は更新された
主プログラムを外部から受信する。受信されたデータは
RAM13へストアされる。 ステップS222:CPU12はファームウェア書き換えプロ
グラム200bに従って、フラッシュメモリ14の書き換え可
能セグメント14bのデータを消去する。 ステップS223:CPU12はRAM13上の更新された主プ
ログラムをフラッシュメモリ14の書き換え可能セグメン
ト14bへ書き込む。
【0019】従来の情報処理機器100は以上のようにし
て、ファームウェア内の主プログラム201を書き換えて
いた。その結果、主プログラム201が更新された場合、
主プログラム201をその更新されたものに置換できた。
更に、書き換えの失敗により主プログラム201が損傷し
た場合、CPU12により補助プログラム200の実行を継
続させた。それにより、CPU12による制御を保持し、
特に主プログラム201の書き換えを再実行できた。その
結果、従来の情報処理機器100は主プログラム201の損傷
を除去できた。
【0020】
【発明が解決しようとする課題】補助プログラムは、起
動プログラム及びファームウェア書き換えプログラム以
外、主プログラムの再書き換え時にCPUによる制御を
保持できる程度のモジュールしか含んでいない。特に、
情報処理機器によるデータ処理用のモジュールを含んで
いない。その理由は次の通りである。情報処理機器によ
るデータ処理用のモジュールは主プログラムに本来含ま
れている。従って、補助プログラムがそれらのモジュー
ルを重複して含んだ場合、ファームウェア全体が過大に
なる。更に、補助プログラムはフラッシュメモリの書き
換え不可セグメントに記憶されている。それ故補助プロ
グラムがデータ処理用のモジュールを含んだ場合、それ
らのモジュールを書き換えできない。以上の理由によ
り、補助プログラムに含まれるモジュールは主プログラ
ムの再書き換え時にCPUによる制御を保持できる程度
のものに限られていた。
【0021】従来の情報処理機器では上記の情報処理機
器100と同様に、主プログラムの損傷時、主プログラム
に代えて補助プログラムをCPUが実行した。それによ
り主プログラムの書き換えを再び実行できた。しかし、
上記の通り、補助プログラムは情報処理機器のデータ処
理用のモジュールを含まない。従って、主プログラムの
再書き換え時、情報処理機器はデータ処理を実行できな
かった。
【0022】主プログラムの再書き換え時にデータ処理
を実行できないことは、特に、ディジタルテレビ放送受
信機のように、ホストに対して主プログラムの送信(ダ
ウンロード)を要求できない情報処理機器にとって重大
な問題であった。何故なら、そのような情報処理機器
は、ホストからファームウェア書き換え命令及び新たな
主プログラムを受信するまで待機し続けなければならな
いからである。特に、ディジタルテレビ放送受信機は、
新たな主プログラムの受信まで映像及び音声を再生でき
ない。主プログラムは一般にそれほど頻回には更新され
ない。従って、書き換えの失敗により主プログラムを損
傷した場合、ディジタルテレビ放送受信機は実質上使用
できなかった。
【0023】そこで、本発明は、ファームウェア内の主
プログラムの書き換え時にデータ処理を同時に実行でき
る情報処理機器、そのファームウェア及びそのファーム
ウェア書き換え方法の提供を目的とする。
【0024】
【課題を解決するための手段】(本発明による情報処理
機器)本発明による情報処理機器は、(a) 起動プログラ
ムとファームウェア書き換えプログラムとを記憶した第
一のメモリ領域、(b) 第一の主プログラムを記憶した
第二のメモリ領域、及び、(c) 第二の主プログラムを
記憶した第三のメモリ領域、を含むメモリ;前記第一の
主プログラム又は前記第二の主プログラムのいずれか
を、有効主プログラムとして実行するための制御部;ホ
ストからのファームウェア書き換え命令と、更新された
主プログラムと、を受信するためのホストインターフェ
ース;並びに、前記ファームウェア書き換えプログラム
を前記ファームウェア書き換え命令に従って実行し、前
記第一の主プログラム又は前記第二の主プログラムの内
前記有効主プログラムではない方を前記更新された主プ
ログラムに書き換えるためのファームウェア書き換え
部;を有する。
【0025】ここで、情報処理機器とは、内部にCPU
とメモリとを有し、メモリに記憶されたファームウェア
をCPUに実行させて、それによりデータ処理を制御す
る機器をいう。ファームウェアとは、情報処理機器のメ
モリに記憶されたプログラム全体をいう。情報処理機器
は例えば、パソコンの周辺機器、パソコン本体、ファク
シミリ、電話機、携帯電話、PHS、PDA、ディジタ
ルテレビ放送受信機、並びに、インターネット接続機能
付きゲーム機器及び冷蔵庫等の情報家電、を含む。
【0026】ホストとは、本発明による情報処理機器へ
ホストインタフェースを通じて通信可能に接続され、情
報を主に送信するための別の情報処理機器をいう。例え
ば、本発明による情報処理機器がパソコンの周辺機器で
ある場合、ホストインタフェースがバスインタフェース
に、ホストがパソコン本体のCPU及び他の周辺機器
に、それぞれ相当する。その他に、情報処理機器がネッ
トワークのクライアントパソコン及びプリントサーバ等
のネットワーク接続機器である場合、ホストインタフェ
ースがネットワークインタフェースに、ホストがネット
ワーク上の様々なサーバに、それぞれ相当する。更に、
情報処理機器がディジタルテレビ放送受信機である場
合、ホストインタフェースがチューナ及びアナログデジ
タル(AD)変換器等のディジタルテレビ信号処理部に、
ホストがディジタルテレビ放送局に、それぞれ相当す
る。
【0027】上記の本発明による情報処理機器は二つの
主プログラムを、それぞれメモリ内の別々のメモリ領域
に記憶している。制御部は二つの主プログラムのいずれ
かを有効主プログラムとして実行する。それにより、情
報処理機器によるデータ処理を実現する。更に、ホスト
インタフェースがホストからファームウェア書き換え命
令を受信した時、ファームウェア書き換え部は有効主プ
ログラムではない方の主プログラムを書き換える。こう
して、上記の情報処理機器は、二つの主プログラムの一
方の実行時に他方を書き換えることにより、主プログラ
ムの書き換えをデータ処理と同時に実行できる。
【0028】上記の情報処理機器が、前記起動プログラ
ムに従って前記第一の主プログラムと前記第二の主プロ
グラムとのそれぞれをチェックするための主プログラム
チェック部;前記起動プログラムに従って前記第一の主
プログラムと前記第二の主プログラムとのそれぞれのバ
ージョン情報を読み出すための主プログラムバージョン
情報読み出し部;及び、前記主プログラムチェック部の
チェック結果により、(a) 前記第一の主プログラムと
前記第二の主プログラムとのいずれか一方だけが正常で
あることを判別した場合、その正常な方の主プログラム
を前記有効主プログラムとして呼び出し、(b) 前記第
一の主プログラムと前記第二の主プログラムとの両方が
正常であることを判別した場合、前記主プログラムバー
ジョン情報読み出し部により前記第一の主プログラムと
前記第二の主プログラムとのそれぞれのバージョン情報
を読み出し、前記バージョン情報を比較して新しい方に
対応する主プログラムを前記有効主プログラムとして呼
び出す、ための有効主プログラム決定部;を更に有して
も良い。
【0029】上記の情報処理機器では以下の理由によ
り、二つの主プログラムのいずれかは実質上常に正常で
ある。まず、上記の情報処理機器の製造時、二つの主プ
ログラムは実質上常に正常である。従って、製造後最初
の起動時、有効主プログラムは正常である。その後、ホ
ストからのファームウェア書き換え命令に従って、有効
主プログラムではない方が書き換えられる。一方、有効
主プログラムは書き換えられずに保持される。従って、
仮に書き換えに失敗した場合、それにより損傷する主プ
ログラムは、有効主プログラムではない方に実質上限ら
れる。つまり、上記の情報処理機器では二つの主プログ
ラムのいずれかは実質上常に正常である。
【0030】上記の情報処理機器では、二つの主プログ
ラムのそれぞれをチェックして、正常な方を有効主プロ
グラムとして呼び出す。主プログラムがいずれも正常で
ある場合、それぞれのバージョン情報から新しい方を有
効主プログラムとして呼び出す。こうして、制御部は有
効主プログラムとして正常でかつ新しい主プログラムを
確実に選択し、実行できる。更に、ファームウェア書き
換え部により書き換えられる主プログラムは確実に、異
常な方又は古い方である。
【0031】上記の情報処理機器では好ましくは、前記
メモリがフラッシュメモリであり、前記第一のメモリ領
域、前記第二のメモリ領域及び前記第三のメモリ領域が
それぞれ前記フラッシュメモリの別々のセグメントであ
る。更に好ましくは、第一のメモリ領域が書き換え不可
セグメントとして、第二のメモリ領域及び第三のメモリ
領域が書き換え可能セグメントとして、それぞれ設定さ
れる。それにより、特に、起動プログラムとファームウ
ェア書き換えプログラムとを書き換え不可にする。その
結果、起動プログラムとファームウェア書き換えプログ
ラムとを誤って書き換えて損傷させること、が防止され
る。
【0032】上記の情報処理機器が、(A) 前記第一の
主プログラムと前記第二の主プログラムとのいずれかを
前記有効主プログラムとして指定するための有効主プロ
グラム判別情報、を記憶した前記メモリ内の第四のメモ
リ領域;(B) 前記更新された主プログラムを前記有効
主プログラムとして指定するための情報、の前記有効主
プログラム判別情報内への書き込みを、前記ファームウ
ェア書き換え部による主プログラムの書き換えに続いて
行うための有効主プログラム判別情報記録部;及び、
(C) (a) 前記第一のメモリ領域に記憶された起動プロ
グラムに従って前記メモリから前記有効主プログラム判
別情報を読み出し、(b) 前記第一の主プログラムと前
記第二の主プログラムの内、読み出した前記有効主プロ
グラム判別情報により前記有効主プログラムとして指定
されている方を前記有効主プログラムとして呼び出す、
ための有効主プログラム呼び出し部;を更に有しても良
い。
【0033】ここで、好ましくは、第一の主プログラム
又は第二の主プログラムのいずれが更新されたのかを、
有効主プログラム判別情報は示す。その場合、有効主プ
ログラム呼び出し部は、有効主プログラム判別情報に示
された方の主プログラムを呼び出す。その他に、主プロ
グラムの書き換え時に制御部により実行されていた主プ
ログラムが第一の主プログラム又は第二の主プログラム
のいずれであったのかを、有効主プログラム判別情報は
示しても良い。その場合、有効主プログラム呼び出し部
は、有効主プログラム判別情報に示された方とは別の主
プログラムを呼び出す。
【0034】上記の情報処理機器では以下の理由によ
り、二つの主プログラムのいずれかは実質上常に正常で
ある。まず、上記の情報処理機器の製造時、二つの主プ
ログラムは実質上常に正常である。従って、製造後最初
の起動時、有効主プログラムは正常である。その後、ホ
ストからのファームウェア書き換え命令に従って、有効
主プログラムではない方が書き換えられる。一方、有効
主プログラムは書き換えられずに保持される。従って、
仮に書き換えに失敗した場合、それにより損傷する主プ
ログラムは、有効主プログラムではない方に実質上限ら
れる。つまり、上記の情報処理機器では二つの主プログ
ラムのいずれかは実質上常に正常である。更に、有効主
プログラム判別情報が二つの主プログラムのいずれも指
定していない時は、上記の情報処理機器の製造時、メモ
リに主プログラムを記憶させる前に限られる。
【0035】上記の情報処理機器では起動時に、有効主
プログラム呼び出し部が有効主プログラム判別情報を参
照し、有効主プログラムを呼び出す。それにより、二つ
の主プログラムのいずれか正常な方が実質上常に呼び出
される。制御部は呼び出された有効主プログラムを単に
実行する。こうして、制御部は有効主プログラムとして
正常な主プログラムを確実に実行できる。その上、起動
時に二つの主プログラムのチェック及びバージョン情報
の比較を行わないので、上記の情報処理機器は早く起動
できる。
【0036】上記の情報処理機器では好ましくは、前記
メモリがフラッシュメモリであり、前記第一から第四ま
でのそれぞれのメモリ領域が前記フラッシュメモリの別
々のセグメントである。それにより、特に、有効主プロ
グラム判別情報を安定に保持できる。従って、情報処理
機器の起動直後に、有効主プログラム呼び出し部が有効
主プログラム判別情報を参照できる。その結果、起動し
た情報処理機器がデータ処理を早く開始できる。更に、
第一のメモリ領域に相当するセグメントを書き換え不可
に設定しても良い。それにより、起動プログラム及びフ
ァームウェア書き換えプログラムを書き換え不可にし、
それらを誤って書き換えて損傷させることを防止でき
る。
【0037】メモリがフラッシュメモリである場合、上
記の有効主プログラム判別情報記録部は好ましくは、更
新された主プログラムを有効主プログラムとして指定す
るための情報、を有効主プログラム判別情報に単に追加
する。つまり、有効主プログラム判別情報記録部は、第
四のメモリ領域に相当するセグメントを一括消去しな
い。従って、有効主プログラム判別情報記録部は上記の
情報の書き込みを確実にかつ早く実行できる。
【0038】(本発明による情報処理機器のファームウ
ェア)本発明による情報処理機器のファームウェアは、
上記の情報処理機器のファームウェアであって、(a)
前記起動プログラム、前記ファームウェア書き換えプロ
グラム、前記第一の主プログラム、及び、前記第二の主
プログラム、を含み、(b) 前記情報処理機器のCPU
を前記制御部及び前記ファームウェア書き換え部として
機能させる。この本発明によるファームウェアを情報処
理機器のメモリに記憶し、そのファームウェアをその情
報処理機器のCPUにより実行させる。それにより、そ
の情報処理機器を上記の本発明によるものと同様に作用
させ得る。
【0039】上記の本発明による情報処理機器のファー
ムウェアが前記情報処理機器のCPUを、前記主プログ
ラムチェック部、前記主プログラムバージョン情報読み
出し部、及び、前記有効主プログラム決定部、として更
に機能させても良い。この本発明によるファームウェア
を情報処理機器のCPUにより実行させれば、その情報
処理機器を上記の本発明によるものと同様に作用させ得
る。
【0040】上記の本発明による情報処理機器のファー
ムウェアが、(a) 前記有効主プログラム判別情報を更
に含み、(b) 前記情報処理機器のCPUを前記有効主
プログラム判別情報記録部及び前記有効主プログラム呼
び出し部として更に機能させても良い。この本発明によ
るファームウェアを情報処理機器のCPUにより実行さ
せれば、その情報処理機器を上記の本発明によるものと
同様に作用させ得る。
【0041】(本発明による情報処理機器のファームウ
ェア書き換え方法)本発明による情報処理機器のファー
ムウェア書き換え方法は、情報処理機器のメモリの内、
第一のメモリ領域に起動プログラムとファームウェア書
き換えプログラムとを、第二のメモリ領域に第一の主プ
ログラムを、第三のメモリ領域に第二の主プログラム
を、それぞれ記憶させるステップ;前記第一の主プログ
ラム又は前記第二の主プログラムのいずれかを、前記情
報処理機器のCPUにより有効主プログラムとして実行
するステップ;前記情報処理機器のホストインタフェー
スにより、ホストからのファームウェア書き換え命令
と、更新された主プログラムと、を受信するステップ;
及び、前記ファームウェア書き換え命令に従って、前記
CPUにより前記ファームウェア書き換えプログラムを
実行し、前記第一の主プログラム又は前記第二の主プロ
グラムの内前記有効主プログラムではない方を前記更新
された主プログラムに書き換えるステップ;を有する。
【0042】ここで、情報処理機器とは、内部にCPU
及びメモリを有し、メモリに記憶されたファームウェア
をCPUに実行させて、それによりデータ処理を制御す
る機器をいう。ファームウェアとは、情報処理機器のメ
モリに記憶されたプログラム全体をいう。情報処理機器
は例えば、パソコンの周辺機器、パソコン本体、ファク
シミリ、電話機、携帯電話、PHS、PDA、ディジタ
ルテレビ放送受信機、並びに、インターネット接続機能
付きゲーム機器及び冷蔵庫等の情報家電、を含む。
【0043】ホストとは、上記の情報処理機器へホスト
インタフェースを通じて通信可能に接続され、情報を主
に送信するための別の情報処理機器をいう。例えば、情
報処理機器がパソコンの周辺機器である場合、ホストイ
ンタフェースがバスインタフェースに、ホストがパソコ
ン本体のCPU及び他の周辺機器に、それぞれ相当す
る。その他に、情報処理機器がネットワークのクライア
ントパソコン及びプリントサーバ等のネットワーク接続
機器である場合、ホストインタフェースがネットワーク
インタフェースに、ホストがネットワーク上の様々なサ
ーバに、それぞれ相当する。更に、情報処理機器がディ
ジタルテレビ放送受信機である場合、ホストインタフェ
ースがチューナ及びアナログデジタル(AD)変換器等の
ディジタルテレビ信号処理部に、ホストがディジタルテ
レビ放送局に、それぞれ相当する。
【0044】上記の本発明による情報処理機器のファー
ムウェアは二つの主プログラムを含む。それぞれの主プ
ログラムはメモリ内の別々のメモリ領域に記憶される。
情報処理機器のCPUは二つの主プログラムのいずれか
を有効主プログラムとして実行する。更に、ホストイン
タフェースがホストからファームウェア書き換え命令を
受信した時、CPUにより有効主プログラムではない方
の主プログラムを書き換える。こうして、上記の情報処
理機器のファームウェア書き換え方法では、二つの主プ
ログラムの一方の実行時に他方を書き換えることによ
り、主プログラムの書き換えをデータ処理と同時に実行
できる。
【0045】上記の本発明による情報処理機器のファー
ムウェア書き換え方法では、前記第一の主プログラム又
は前記第二の主プログラムのいずれかを前記有効主プロ
グラムとして実行するステップが、(a) 前記起動プロ
グラムに従って前記第一の主プログラムと前記第二の主
プログラムとのそれぞれをチェックするサブステップ;
(b) そのチェック結果により前記第一の主プログラム
と前記第二の主プログラムとのいずれか一方だけが正常
であることを判別した場合、その正常な方の主プログラ
ムを前記有効主プログラムとして呼び出すサブステッ
プ;及び、(c) 前記チェック結果により前記第一の主
プログラムと前記第二の主プログラムとの両方が正常で
あることを判別した場合、前記第一の主プログラムと前
記第二の主プログラムとのそれぞれのバージョン情報を
読み出し、前記バージョン情報を比較して新しい方に対
応する主プログラムを前記有効主プログラムとして呼び
出すサブステップ;を有しても良い。
【0046】上記の情報処理機器のファームウェア書き
換え方法では、以下の理由により、二つの主プログラム
のいずれかは実質上常に正常である。まず、上記の情報
処理機器の製造時、二つの主プログラムは実質上常に正
常である。従って、製造後最初の起動時、有効主プログ
ラムは正常である。その後、ホストからのファームウェ
ア書き換え命令に従って、有効主プログラムではない方
が書き換えられる。一方、有効主プログラムは書き換え
られずに保持される。従って、仮に書き換えに失敗した
場合、それにより損傷する主プログラムは、有効主プロ
グラムではない方に実質上限られる。つまり、上記の情
報処理機器のファームウェア書き換え方法では、二つの
主プログラムのいずれかが実質上常に正常である。
【0047】上記の情報処理機器のファームウェア書き
換え方法では、二つの主プログラムのそれぞれをチェッ
クして、正常な方を有効主プログラムとして呼び出す。
主プログラムがいずれも正常である場合、それぞれのバ
ージョン情報から新しい方を有効主プログラムとして呼
び出す。こうして、有効主プログラムとして正常でかつ
新しい主プログラムをCPUにより実行できる。更に、
CPUにより書き換えられる主プログラムは確実に異常
な方又は古い方である。
【0048】上記の情報処理機器のファームウェア書き
換え方法では好ましくは、前記メモリがフラッシュメモ
リであり、前記第一のメモリ領域、前記第二のメモリ領
域及び前記第三のメモリ領域がそれぞれ前記フラッシュ
メモリの別々のセグメントである。特に、第一のメモリ
領域が書き換え不可セグメントとして、第二のメモリ領
域及び第三のメモリ領域が書き換え可能セグメントとし
て、それぞれ設定される。それにより、特に、起動プロ
グラムとファームウェア書き換えプログラムとを書き換
え不可にする。その結果、起動プログラムとファームウ
ェア書き換えプログラムとを誤って書き換えて損傷させ
ること、が防止される。
【0049】上記の本発明による情報処理機器のファー
ムウェア書き換え方法が、前記メモリ内の第四のメモリ
領域に、前記第一の主プログラムと前記第二の主プログ
ラムとのいずれかを前記有効主プログラムとして指定す
るための有効主プログラム判別情報を記憶させるステッ
プ;及び、前記更新された主プログラムに書き換えるス
テップに続いて、前記更新された主プログラムを前記有
効主プログラムとして指定するための情報、を前記有効
主プログラム判別情報内へ書き込むステップ;を更に有
し、前記第一の主プログラム又は前記第二の主プログラ
ムのいずれかを前記有効主プログラムとして実行するス
テップが、(a) 前記起動プログラムに従って前記メモ
リから前記有効主プログラム判別情報を読み出すサブス
テップ;及び、(b) 前記第一の主プログラムと前記第
二の主プログラムとの内、読み出された前記有効主プロ
グラム判別情報により前記有効主プログラムとして指定
されている方を前記有効主プログラムとして呼び出すサ
ブステップ;を有しても良い。
【0050】ここで、好ましくは、第一の主プログラム
又は第二の主プログラムのいずれが更新されたのかを、
有効主プログラム判別情報は示す。その場合、有効主プ
ログラムを呼び出すステップでは、有効主プログラム判
別情報に示された方の主プログラムが呼び出される。そ
の他に、主プログラムの書き換え時にCPUにより実行
されていた主プログラムが第一の主プログラム又は第二
の主プログラムのいずれであったのかを、有効主プログ
ラム判別情報は示しても良い。その場合、有効主プログ
ラムを呼び出すステップでは、有効主プログラム判別情
報に示された方とは別の主プログラムが呼び出される。
【0051】上記の情報処理機器のファームウェア書き
換え方法では以下の理由により、二つの主プログラムの
いずれかは実質上常に正常である。まず、上記の情報処
理機器の製造時、二つの主プログラムは実質上常に正常
である。従って、製造後最初の起動時有効主プログラム
は正常である。その後、ホストからのファームウェア書
き換え命令に従って、有効主プログラムではない方が書
き換えられる。一方、有効主プログラムは書き換えられ
ずに保持される。従って、仮に書き換えに失敗した場
合、それにより損傷する主プログラムは、有効主プログ
ラムではない方に実質上限られる。つまり、上記の情報
処理機器のファームウェア書き換え方法では、二つの主
プログラムのいずれかは実質上常に正常である。更に、
有効主プログラム判別情報が二つの主プログラムのいず
れも指定していない時は、上記の情報処理機器の製造
時、メモリに主プログラムを記憶させる前に限られる。
【0052】上記の情報処理機器のファームウェア書き
換え方法では、有効主プログラムが有効主プログラム判
別情報を参照して呼び出される。それにより、正常な主
プログラムが有効主プログラムとして、実質上常に実行
される。更に、上記の情報処理機器のファームウェア書
き換え方法では、起動時に二つの主プログラムのチェッ
ク及びバージョン情報の比較を行わないので、情報処理
機器を早く起動できる。
【0053】上記の情報処理機器のファームウェア書き
換え方法では好ましくは、前記メモリがフラッシュメモ
リであり、前記第一から第四までのそれぞれのメモリ領
域が前記フラッシュメモリの別々のセグメントである。
それにより、特に、有効主プログラム判別情報を安定に
保持できる。従って、情報処理機器の起動直後に有効主
プログラム判別情報を参照できる。その結果、起動した
情報処理機器がデータ処理を早く開始できる。更に、第
一のメモリ領域に相当するセグメントを書き換え不可に
設定して、起動プログラム及びファームウェア書き換え
プログラムを書き換え不可にしても良い。それにより、
起動プログラム及びファームウェア書き換えプログラム
を誤って書き換えて損傷させること、を防止できる。
【0054】メモリがフラッシュメモリである場合、好
ましくは、更新された主プログラムを有効主プログラム
として指定するための情報、を有効主プログラム判別情
報に単に追加する。つまり、その追加のステップでは第
四のメモリ領域に相当するセグメントが一括消去されな
い。従って、上記の情報の書き込みを確実にかつ早く実
行できる。
【0055】
【発明の実施の形態】以下、本発明の最適な実施の形態
について、その好ましい実施例を挙げて、図面を参照し
つつ説明する。
【0056】《実施例1》図1は、本発明の実施例1に
よる情報処理機器であるディジタルテレビ放送受信装置
1のブロック図である。ディジタルテレビ信号処理部11
は、外部のアンテナAを通じてディジタルテレビ信号3を
受信し、映像信号及び音声信号に変換する回路である。
ディジタルテレビ信号処理部11は受信部11a、トランス
ポートデコーダ11b、及び、オーディオ/ビデオ(AV)
デコーダ11cを含む。
【0057】受信部11aは、アンテナAを通じてディジタ
ルテレビ放送局2からのディジタルテレビ信号3を受信す
る。ディジタルテレビ信号はMPEG2トランスポート
ストリームを変調したものである。受信部11aは受信し
たディジタルテレビ信号3を復調し、トランスポートス
トリームに戻してトランスポートデコーダ11bへ出力す
る。
【0058】トランスポートデコーダ11bは、トランス
ポートストリームから所定の番組に対応するトランスポ
ートパケットを抜き出す。ユーザは、例えばリモコンを
操作して、トランスポートデコーダ11bにより抜き出さ
れるべき番組を予め設定する。トランスポートデコーダ
11bは更に抜き出したトランスポートパケットのパケッ
トデータを、映像信号、音声信号、及び、その他のデー
タに分離する。
【0059】AVデコーダ11cはトランスポートデコー
ダ11bから映像信号及び音声信号を入力する。入力され
た映像信号及び音声信号はそれぞれ、MPEG−2ビデ
オ符号化方式及びMPEG−1オーディオ符号化方式で
圧縮されている。AVデコーダ11cはそれぞれの符号化
方式に合わせて映像信号及び音声信号を復号する。復号
された映像信号及び音声信号はテレビ受像器B及びスピ
ーカSへ、それぞれ出力される。
【0060】CPU12はディジタルテレビ信号処理部11
によるデータ処理を制御する。RAM13は揮発性半導体
メモリであり、CPU12に対して作業用メモリ領域を提
供する。RAM13は更に、ディジタルテレビ信号処理部
11により受信されたデータを一時記憶する。フラッシュ
メモリ14はディジタルテレビ放送受信機1のファームウ
ェアを記憶している。CPU12はそのファームウェアを
実行し、ディジタルテレビ信号処理部11によるデータ処
理の制御を主に実現する。内部バス17はディジタルテレ
ビ信号処理部11、CPU12、RAM13及びフラッシュメ
モリ14を互いに接続し、相互のデータ通信を可能にして
いる。
【0061】図2はフラッシュメモリ14に対応するメモ
リ空間を示す図である。フラッシュメモリ14は好ましく
はフラッシュEEPROMであり、例えば、三つのセグ
メントに分割されている。それぞれのセグメントは好ま
しくは所定の数種類の異なるサイズを有する。その他に
それぞれのセグメントが共通のサイズを有しても良い。
セグメントの分割に対応して、図2のメモリ空間は三つ
のメモリ領域に分割されている。
【0062】三つのセグメントはそれぞれ書き換え不可
及び書き換え可能に設定されて、書き換え不可セグメン
ト14a、第一の書き換え可能セグメント14b、及び、第二
の書き換え可能セグメント14cに分けられている。書き
換え不可セグメント14aでは、CPU12によるデータの
消去及び書き込みが禁止されている。一方、第一の書き
換え可能セグメント14b及び第二の書き換え可能セグメ
ント14cでは、CPU12がセグメントごとにデータを一
括消去して別のデータを書き込むこと、すなわち、CP
U12によるデータの書き換えが許可されている。図2の
メモリ空間では、第一のメモリ領域が書き換え不可セグ
メント14aに、第二のメモリ領域が第一の書き換え可能
セグメント14bに、第三のメモリ領域が第二の書き換え
可能セグメント14cに、それぞれ対応する。
【0063】書き換え不可セグメント及び書き換え可能
セグメントの設定は好ましくは、ソフトウェア的に行わ
れる。具体的には、フラッシュメモリでのデータの書き
換え時、まず、そのデータを記憶したセグメントに対応
するメモリ空間内のメモリ領域が特定される。その上
で、データの書き換え時には、そのセグメントに対応す
るメモリ領域内のアドレスのアクセスのみが許可され
る。こうして、ソフトウェア的にアクセスを許可したセ
グメントが書き換え可能セグメントである。逆に、ソフ
トウェア的にアクセスを禁止したセグメントが書き換え
不可セグメントである。
【0064】上記の他に、書き換え不可セグメント及び
書き換え可能セグメントの設定が、フラッシュメモリ内
部の回路によりハードウェア的に行われても良い。具体
的には例えば、データ消去用の高電圧が印加できないよ
うに回路を遮断することで、特定のセグメントを書き換
え不可に設定しても良い。
【0065】ディジタルテレビ放送受信機1のファーム
ウェアは、フラッシュメモリ14内の三つのセグメントに
分割されて記憶されている。書き換え不可セグメント14
a、第一の書き換え可能セグメント14b、及び、第二の書
き換え可能セグメント14cのそれぞれには、補助プログ
ラム20、第一の主プログラム21、及び、第二の主プログ
ラム22がそれぞれ記憶されている。
【0066】補助プログラム20は起動プログラム20a及
びファームウェア書き換えプログラム20bを含む。起動
プログラム20aは、ディジタルテレビ放送受信機1の起動
時CPU12により最初に呼び出される。CPU12は起動
プログラム20aに従って、ディジタルテレビ放送受信機1
をハードウェア的及びソフトウェア的に初期化する。更
に、CPU12は起動プログラム20aに従って、第一の主
プログラム21及び第二の主プログラム22のいずれかを有
効主プログラムとして呼び出し、実行する。その時、有
効主プログラムは後述のように、第一の主プログラム21
及び第二の主プログラム22に対するチェックサム及びバ
ージョン情報の比較により決定される。その結果、有効
主プログラムは、第一の主プログラム21又は第二の主プ
ログラム22のいずれか正常でかつ新しい方に決定され
る。
【0067】ファームウェア書き換えプログラム20bは
後述のように、フラッシュメモリ14のデータをセグメン
トごとに書き換え、それにより第一の主プログラム21及
び第二の主プログラム22を書き換えるためのプログラム
である。但し、ファームウェア書き換えプログラム20b
に従ってCPU12によりアクセスされ得るセグメント
は、書き換え可能セグメントに限られる。
【0068】起動プログラム20aはディジタルテレビ放
送受信機1の起動に不可欠である。更に、ファームウェ
ア書き換えプログラム20bは二つの主プログラムを書き
換えるためのものである。従って、起動プログラム20a
及びファームウェア書き換えプログラム20bを誤って書
き換えて損傷させた場合、ディジタルテレビ放送受信機
1の起動及び制御が実現できない。そこで、補助プログ
ラム20全体を記憶したセグメントは、書き換え不可セグ
メント14aとして設定される(図2参照)。それにより、起
動プログラム20a及びファームウェア書き換えプログラ
ム20bを誤って書き換えて損傷させること、が防止され
る。
【0069】第一の主プログラム21及び第二の主プログ
ラム22はいずれもファームウェアの主要部であり、ディ
ジタルテレビ信号処理部11によるデータ処理を制御する
ためのプログラムである。CPU12は有効主プログラム
として呼び出した方の主プログラムに従ってディジタル
テレビ放送受信機1によるデータ処理を制御する。ディ
ジタルテレビ放送受信機1の製造時では、第一の主プロ
グラム21及び第二の主プログラム22は同じプログラムで
ある。
【0070】実施例1では、第一の主プログラム21及び
第二の主プログラム22のそれぞれがチェックサム及びバ
ージョン情報を含む。ここで、バージョン情報は、好ま
しくは、それを含む主プログラムの作成日を示すデータ
である。その他に、主プログラムのバージョンを示す番
号のデータであっても良い。
【0071】第一の主プログラム21を記憶している第一
の書き換え可能セグメント14b、及び第二の主プログラ
ム22を記憶している第二の書き換え可能セグメント14c
はいずれも、書き換え可能セグメントとして設定されて
いる。一方、CPU12はファームウェア書き換えプログ
ラム20bを実行し、第一の書き換え可能セグメント14b及
び第二の書き換え可能セグメント14cのデータをそれぞ
れ書き換えできる。従って、主プログラムの更新時、C
PU12はファームウェア書き換えプログラム20bを実行
する。それにより、後述のようにして、第一の主プログ
ラム21又は第二の主プログラム22のいずれかをその更新
されたものに書き換えできる。更新された主プログラム
は後述のように、ディジタルテレビ放送局2からディジ
タルテレビ信号3に多重化されて伝送される。
【0072】主プログラムの書き換えは後述のように有
効主プログラムではない方、すなわち、CPU12により
実行されていない方に対して行われる。それにより、有
効主プログラムの実行中に主プログラムの書き換えを実
行できる。主プログラムの書き換えでは更に、書き換え
時のノイズ又は停電等の事故による中断で損傷する主プ
ログラムが、有効主プログラムではない方に限られる。
従って、主プログラムの書き換えに失敗した時、有効主
プログラムは実質上損傷しない。それ故、有効主プログ
ラムに従ったデータ処理を中断せずに、CPU12は損傷
した主プログラムの書き換えを再実行できる。
【0073】補助プログラム20は、起動プログラム20a
及びファームウェア書き換えプログラム20bの他にも、
いくつかのモジュールを含む。それらのモジュールは、
第一の主プログラム21及び第二の主プログラム22の両方
を損傷して実行できない時、以下のようなCPU12によ
る制御を保持するためのものである。起動プログラム20
aに従ったチェックの結果が、第一の主プログラム21及
び第二の主プログラム22の両方の損傷を示す。その場
合、CPU12は主プログラムのいずれも呼び出さず、補
助プログラム20の実行を継続する。それにより、CPU
12はまず、ディジタルテレビ信号処理部11によるディジ
タルテレビ信号3の受信機能を維持する。その上で、C
PU12はディジタルテレビ放送局2からの主プログラム
の伝送を待つ。ディジタルテレビ信号処理部11がディジ
タルテレビ放送局2から新たな主プログラムを受信す
る。その時、CPU12はファームウェア書き換えプログ
ラム20bを実行する。それによりフラッシュメモリ14の
書き換え可能セグメントのいずれか又はその両方のデー
タを書き換え、主プログラムを新たなものに置換する。
その結果、主プログラムの損傷が除去される。
【0074】但し、第一の主プログラム21及び第二の主
プログラム22の両方を損傷する場合は、ディジタルテレ
ビ放送受信機1の製造時に実質上限られる。何故なら、
上記の通り有効主プログラムに対しては書き換えが実行
されないので、書き換えの失敗に起因する有効主プログ
ラムの損傷は実質上あり得ないからである。従って、補
助プログラム20の上記のモジュールの実行は、実質上製
造時だけに限られる。それ故、補助プログラム20は、起
動プログラム20a及びファームウェア書き換えプログラ
ム20bだけから成るものであっても良い。
【0075】(ディジタルテレビ放送受信機1でのファー
ムウェアの実行)実施例1によるディジタルテレビ放送
受信機1では、ファームウェアが以下のように実行され
る。
【0076】<起動プログラム20aの実行>図3はディジ
タルテレビ放送受信機1の起動プログラム20aのフローチ
ャートである。ディジタルテレビ放送受信機1の起動
時、CPU12は補助プログラム20内から起動プログラム
20aを呼び出す。 [ステップS1]CPU12は起動プログラム20aに従っ
て、まずディジタルテレビ放送受信機1の初期化S1を行
う。初期化S1では、例えば、CPU12のレジスタが初期
値に設定される。
【0077】[ステップS2]続いてCPU12は、主プロ
グラムのチェックS2を以下の通りに行う。 サブステップS21a: 第一の書き換え可能セグメント14
bに記憶されたデータの内、第一の主プログラム21に対
応する部分のチェックサムを計算する。 サブステップS21b: サブステップS21aでの計算結果
と、第一の主プログラム21に含まれているチェックサム
と、を比較する。その両方が一致すればサブステップS2
1cに、一致しなければサブステップS21dに、それぞれ処
理を分岐する。 サブステップS21c: 第一のフラグF1を1に設定する。 サブステップS21d: 第一のフラグF1を0に設定する。
サブステップS21a〜S21dの処理により、第一の主プログ
ラム21が正常であれば第一のフラグF1が1であり、異常
であれば0である。
【0078】サブステップS22a: 第二の書き換え可能
セグメント14cに記憶されたデータの内、第二の主プロ
グラム22に対応する部分のチェックサムを計算する。 サブステップS22b: サブステップS22aでの計算結果
と、第二の主プログラム22に含まれているチェックサム
と、を比較する。その両方が一致すればサブステップS2
2cに、一致しなければサブステップS22dに、それぞれ処
理を分岐する。 サブステップS22c: 第二のフラグF2を1に設定する。 サブステップS22d: 第二のフラグF2を0に設定する。
サブステップS22a〜S22dの処理により、第二の主プログ
ラム22が正常であれば第二のフラグF2が1であり、異常
であれば0である。
【0079】サブステップS23: 第一のフラグF1及び
第二のフラグF2のそれぞれの値に応じて、以下の通りに
処理を分岐する。第一のフラグF1及び第二のフラグF2の
両方が1である場合、処理をステップS3へ分岐する。第
一のフラグF1が1であり、かつ、第二のフラグF2が0であ
る場合、処理をステップS41へ分岐する。第一のフラグF
1が0であり、かつ、第二のフラグF2が1である場合、処
理をステップS42へ分岐する。第一のフラグF1及び第二
のフラグF2の両方が0である場合、処理をステップS40へ
分岐する。
【0080】[ステップS3]第一のフラグF1及び第二の
フラグF2の両方が1である場合、CPU12はステップS3
の処理、すなわち主プログラムのバージョン情報の比較
S3を以下のように実行する。 サブステップS31: 第一の主プログラム21及び第二の
主プログラム22からそれぞれのバージョン情報を読み出
す。
【0081】サブステップS32: サブステップS31で読
み出した二つのバージョン情報を比較する。例えば、バ
ージョン情報が主プログラムの作成日を示すデータであ
る場合、それぞれの作成日の前後関係を調べる。それは
例えば、以下のように行われる。作成日を示すデータは
通常、所定の基準日から暦の順に対応づけられた数であ
り、作成日の前後関係は、それぞれの作成日に対応する
数の大小関係と同等である。従って、それぞれの作成日
に対応する数の大小を比較すれば、作成日の前後を判定
できる。バージョン情報の比較により、第二の主プログ
ラム22が第一の主プログラム21より新しい場合、処理を
ステップS42へ分岐する。それ以外の場合、処理をステ
ップS41へ分岐する。
【0082】[ステップS41]有効主プログラム指定フ
ラグF0を1に設定し、第一の主プログラム21を呼び出
す。それ以後、CPU12は第一の主プログラム21を実行
する。すなわち、有効主プログラム指定フラグF0が1の
場合、有効主プログラムは第一の主プログラム21であ
る。 [ステップS42]有効主プログラム指定フラグF0を2に設
定し、第二の主プログラム22を呼び出す。それ以後、C
PU12は第二の主プログラム22を実行する。すなわち、
有効主プログラム指定フラグF0が2の場合、有効主プロ
グラムは第二の主プログラム22である。 [ステップS40]有効主プログラム指定フラグF0を0に設
定する。CPU12は補助プログラム20を継続して実行す
る。
【0083】以上のような起動プログラム20aに従った
処理により、第一の主プログラム21及び第二の主プログ
ラム22の内、正常でかつ新しい方が呼び出される。両方
とも正常でかつ同じバージョン情報を有する時は、第一
の主プログラム21が呼び出される。一方、両方の主プロ
グラムが異常である時は、補助プログラム20の実行が継
続される。
【0084】<第一の主プログラム21の実行>図4の(b)
は第一の主プログラム21のフローチャートである。第二
の主プログラム22のフローチャートは第一の主プログラ
ム21と同様であるので、その説明は以下の第一の主プロ
グラム21のものを援用する。CPU12は第一の主プログ
ラム21に従って、まず主プログラムの処理に関する初期
化S4を行う。続いて、ディジタルテレビ信号処理部11か
ら割込命令Cmdを受信するまで、CPU12は待機する(ス
テップS5)。ディジタルテレビ信号処理部11はディジタ
ルテレビ放送局2からのディジタルテレビ信号の受信時
等、データ処理の必要時、CPU12へ割込信号Cmdを出
力する。CPU12はその割込命令CmdのデコードS6を行
い、その割込命令Cmdに応じてファームウェア内のモジ
ュールI21c又はモジュールII21dを呼び出す。それによ
り、割込命令Cmdに対応するデータ処理が実行される。
特に、割込命令Cmdがファームウェア書き換え命令であ
った時、CPU12はファームウェア書き換えプログラム
20bを呼び出す。ファームウェア書き換え命令はディジ
タルテレビ信号処理部11のトランスポートデコーダ11b
(図1参照)から後述のように出力される。
【0085】<補助プログラム20の実行の継続>図4の
(a)は起動プログラム20a後、第一の主プログラム21及び
第二の主プログラム22の両方が異常である時に実行され
る補助プログラム20のフローチャートである。CPU12
は補助プログラム20に従って、まず補助プログラム20の
処理に関する初期化S7を行う。続いて、ディジタルテレ
ビ信号処理部11から割込命令Cmdを受信するまで、CP
U12は待機する(ステップS8)。ディジタルテレビ信号処
理部11はディジタルテレビ放送局2からのディジタルテ
レビ信号の受信時等、データ処理の必要時、CPU12へ
割込信号Cmdを出力する。但し、そのデータ処理には、
映像信号及び音声信号に関する通常の処理は含まれな
い。ディジタルテレビ放送局2から新たな主プログラム
を受信するために必要なデータ処理、だけが行われる。
CPU12はディジタルテレビ信号処理部11からの割込命
令CmdのデコードS6を行い、その割込命令Cmdに応じてフ
ァームウェア内のモジュールI'20c又はモジュールII'20
dを呼び出す。それにより、割込命令Cmdに対応するデー
タ処理が実行される。特に、割込命令Cmdがファームウ
ェア書き換え命令であった時、CPU12はファームウェ
ア書き換えプログラム20bを呼び出す。ファームウェア
書き換え命令はディジタルテレビ信号処理部11のトラン
スポートデコーダ11b(図1参照)から後述のように出力さ
れる。
【0086】<ファームウェア書き換え命令の出力>デ
ィジタルテレビ信号処理部11のトランスポートデコーダ
11b(図1参照)は以下のようにして、主プログラム伝送用
のトランスポートパケットを検知し、CPU12へファー
ムウェア書き換え命令を出力する。図5はディジタルテ
レビ放送局2から伝送されるトランスポートストリーム
の構成を示す模式図である。図5の(a)はトランスポート
ストリームを構成するトランスポートパケットを時間軸
上に伝送順で並べた図である。図5の(b)はそれぞれのト
ランスポートパケットのデータ構成を概略的に示す。図
5の(c)はパケット識別子(Packet IDentification:PI
D)とパケットデータの種類との対応表である。
【0087】トランスポートストリームは複数のトラン
スポートパケットを多重化したものである。図5の(a)で
は、それぞれのトランスポートパケットがパケットデー
タの種類に応じて表示されている。映像パケットVpはパ
ケットデータとして映像信号を含み、音声パケットApは
音声信号を含む。PSIパケットIpはパケットデータと
して番組選択情報(ProgramSpecific Information:PS
I)を含み、PCRパケットCpは時刻基準情報(Program
Clock Reference:PCR)を含む。ここで、PCRはA
Vデコーダ11c(図1参照)での復号時に、映像信号と音声
信号との間で同期を取るための基準として用いられる。
【0088】更新された第一の主プログラム及び第二の
主プログラムはそれぞれ複数に分割され、複数のトラン
スポートパケットで伝送される。ダウンロード1パケッ
トDp1はパケットデータとして、更新された第一の主プ
ログラムの分割部分及びそのバージョン情報を含む。同
様に、ダウンロード2パケットDp2はパケットデータと
して、更新された第二の主プログラムの分割部分及びそ
のバージョン情報を含む。ここで、ダウンロード1パケ
ットDp1により伝送される第一の主プログラムと、ダウ
ンロード2パケットDp2により伝送される第二の主プロ
グラムと、の機能は全く同一である。しかし、それぞれ
を記憶するフラッシュメモリ14のセグメントが異なるの
で、それぞれの主プログラム内に記述されたアドレスが
異なる。更に、ダウンロード1パケットDp1及びダウン
ロード2パケットDp2はいずれも同じバージョン情報を
重複して含む。以上のパケットの他に、上記のパケット
データ以外のデータをパケットデータとする付随情報パ
ケット(図示せず)が含まれていても良い。
【0089】それぞれのトランスポートパケットは図5
の(b)に示されているように、ヘッダHとパケットデータ
PDとから成る。パケットデータPDの種類はヘッダH内の
PIDで識別される。パケットデータPDの種類とPID
の値との対応は、図5の(c)に表示されている。この対応
表はPSIパケットで伝送される。
【0090】トランスポートデコーダ11bは、PSIパ
ケットで伝送されたパケットデータPDの種類とPIDの
値との対応表を予め記憶しておく。その後、トランスポ
ートデコーダ11bは、入力したトランスポートストリー
ムに含まれているトランスポートパケットのPIDを読
み出す。更に、上記の対応表を参照して、そのトランス
ポートパケットのパケットデータの種類を識別する。特
に、PIDが0x1005又は0x1006である時、トランスポー
トデコーダ11bはCPU12へファームウェア書き換え命
令を出力する。
【0091】<ファームウェア書き換えプログラムによ
る主プログラムの書き換え>CPU12はファームウェア
書き換え命令に従って、ファームウェア書き換えプログ
ラム20bを呼び出し、以下の通りに実行する。図6はファ
ームウェア書き換えプログラム20bのフローチャートで
ある。CPU12はファームウェア書き換えプログラム20
bを、次のステップS10〜S16の順に実行する。
【0092】[ステップS10]以下に述べる通り、トラ
ンスポートパケットで伝送された主プログラムと、実行
中の有効主プログラムと、それぞれのバージョン情報を
比較する。図7は、ステップS10の内部フローチャートで
ある。 サブステップS10a: 有効主プログラム指定フラグF0を
参照する。その値が1、2、及び、0である時、処理をス
テップS11a、ステップS11b、及び、ステップS14へそれ
ぞれ分岐する。
【0093】サブステップS10b1: トランスポートパ
ケットのPIDを0x1006と比較し、一致した場合はステ
ップS10c1へ処理を進める。一致しない場合は、ファー
ムウェア書き換えプログラム20bを終了する。このステ
ップにより、第一の主プログラム21の実行中は、ダウン
ロード2パケットDp2だけを処理対象とする。 サブステップS10c1: トランスポートパケットのパケ
ットデータと、第一の主プログラム21と、のそれぞれか
らバージョン情報を読み出す。 サブステップS10d1: トランスポートパケットのパケ
ットデータと、第一の主プログラム21と、のそれぞれか
ら読み出したバージョン情報を比較する。パケットデー
タのバージョン情報の方が新しい場合、ステップS11へ
処理を進める。それ以外の場合、ファームウェア書き換
えプログラム20bを終了する。サブステップS10c1及びス
テップS10d1により、実行中の第一の主プログラム21よ
りダウンロード2パケットDp2で伝送された第二の主プ
ログラムの方が新しい場合、ファームウェア書き換えプ
ログラム20bの実行が継続される。
【0094】サブステップS10b2: トランスポートパ
ケットのPIDを0x1005と比較し、一致した場合はステ
ップS10c2へ処理を進める。一致しない場合は、ファー
ムウェア書き換えプログラム20bを終了する。このステ
ップにより、第二の主プログラム22の実行中は、ダウン
ロード1パケットDp1だけを処理対象とする。 サブステップS10c2: トランスポートパケットのパケ
ットデータと、第二の主プログラム22と、のそれぞれか
らバージョン情報を読み出す。 サブステップS10d2: トランスポートパケットのパケ
ットデータと、第二の主プログラム22と、のそれぞれか
ら読み出したバージョン情報を比較する。パケットデー
タのバージョン情報の方が新しい場合、ステップS11へ
処理を進める。それ以外の場合、ファームウェア書き換
えプログラム20bを終了する。サブステップS10c2及びス
テップS10d2により、実行中の第二の主プログラム22よ
りダウンロード1パケットDp1で伝送された第一の主プ
ログラムの方が新しい場合、ファームウェア書き換えプ
ログラム20bの実行が継続される。
【0095】以下、図6を再び参照しつつ説明する。 [ステップS11]トランスポートパケットのパケットデ
ータの内、主プログラムのデータをRAM13へ保存す
る。 [ステップS12]伝送された主プログラムの全てがRA
M13へ保存されているかどうか、チェックする。保存が
完了していない場合は、ファームウェア書き換えプログ
ラム20bを終了し、次のトランスポートパケットの伝送
を待つ。
【0096】[ステップS13]有効主プログラム指定フ
ラグF0を参照する。有効主プログラム指定フラグF0が1
である時、処理をステップS14aへ分岐する。有効主プロ
グラム指定フラグF0が0又は2である時、処理をステップ
S14bへ分岐する。 [ステップS14a]第二の書き換え可能セグメント14cを
書き換え対象セグメントとして決定する。すなわち、実
行されていない第二の主プログラム22を書き換えるよう
にする。 [ステップS14b]第一の書き換え可能セグメント14bを
書き換え対象セグメントとして決定する。すなわち、実
行されていない第一の主プログラム21を書き換えるよう
にする。
【0097】[ステップS15]フラッシュメモリ14の書
き換え対象セグメントのデータを消去する。 [ステップS16]CPU12はRAM13上の更新された主
プログラムをフラッシュメモリ14の書き換え対象セグメ
ントへ書き込む。その結果、第一の主プログラム21の実
行中では第二の主プログラム22が、それ以外では第一の
主プログラム21が、それぞれ更新された主プログラムに
書き換えられる。
【0098】以上の通り、実施例1では、ファームウェ
アの主プログラムの書き換えを有効主プログラムの実行
中に行い得る。従って、その書き換えに失敗して書き換
え対象の主プログラムを損傷した場合でも有効主プログ
ラムは正常であるので、ディジタルテレビ信号処理部11
によるデータ処理を継続できる。
【0099】《実施例2》以下、本発明の実施例2によ
る情報処理機器であるディジタルテレビ放送受信機につ
いて説明する。実施例2によるディジタルテレビ放送受
信機の構成は実施例1に比べて、次の点で異なる。実施
例2によるディジタルテレビ放送受信機では、フラッシ
ュメモリが第四のメモリ領域を有し、その第四のメモリ
領域へ更新主プログラム表示フラグを記憶している。つ
まり、更新主プログラム表示フラグが補助プログラムと
主プログラムとは別のセグメント上に記憶されている。
それ以外の構成は実施例1のものと同様である。従って
実施例2では、実施例1と同様な構成に実施例1と同じ
符号を付し、その説明は実施例1のものを援用する。
【0100】図8は、実施例2によるディジタルテレビ
放送受信機のフラッシュメモリ14Aに対応するメモリ空
間を示す図である。フラッシュメモリ14Aは好ましくは
フラッシュEEPROMであり、四つのセグメントに分
割されている。それぞれのセグメントは好ましくは所定
の数種類の異なるサイズを有する。その他にそれぞれの
セグメントが共通のサイズを有しても良い。セグメント
の分割に対応して、図8のメモリ空間は四つのメモリ領
域に分割されている。
【0101】四つのセグメントはそれぞれ書き換え不可
及び書き換え可能に設定され、書き換え不可セグメント
14a、第一の書き換え可能セグメント14b、第二の書き換
え可能セグメント14c及び第三の書き換え可能セグメン
ト14dに分けられている。書き換え不可セグメント14aで
は、CPU12によるデータの消去及び書き込みが禁止さ
れている。一方、第一から第三までの書き換え可能セグ
メント14b〜14dでは、CPU12によるデータの書き換え
が許可されている。図8のメモリ空間では、第一のメモ
リ領域が書き換え不可セグメント14aに、第二のメモリ
領域が第一の書き換え可能セグメント14bに、第三のメ
モリ領域が第二の書き換え可能セグメント14cに、第四
のメモリ領域が第三の書き換え可能セグメント14dに、
それぞれ対応する。
【0102】書き換え不可セグメント及び書き換え可能
セグメントの設定は実施例1同様、ソフトウェア的に行
われる。その他に、書き換え不可セグメント及び書き換
え可能セグメントの設定が、フラッシュメモリ内部の回
路によりハードウェア的に行われても良い。
【0103】実施例2によるディジタルテレビ放送受信
機のファームウェアは、フラッシュメモリ14A内の四つ
のセグメントに分割されて記憶されている。書き換え不
可セグメント14a、第一の書き換え可能セグメント14b、
及び、第二の書き換え可能セグメント14cのそれぞれに
は、補助プログラム20、第一の主プログラム21、及び、
第二の主プログラム22がそれぞれ記憶されている。一
方、第三の書き換え可能セグメント14dには、更新主プ
ログラム表示フラグのリスト23が記憶されている。
【0104】実施例2による補助プログラム20は、起動
プログラム20Aa及びファームウェア書き換えプログラム
20Abを含む。実施例2による起動プログラム20Aaは、デ
ィジタルテレビ放送受信機の起動時CPU12により最初
に呼び出される。CPU12は起動プログラム20Aaに従っ
てディジタルテレビ放送受信機をハードウェア的及びソ
フトウェア的に初期化する。更に、CPU12は起動プロ
グラム20Aaに従って、第一の主プログラム21及び第二の
主プログラム22のいずれかを有効主プログラムとして呼
び出し、実行する。その時、CPU12は後述のように、
更新主プログラム表示フラグのリスト23を参照し、更新
主プログラム表示フラグで指定された方の主プログラム
を無条件に呼び出す。それにより、有効主プログラムは
後述の通り、第一の主プログラム21又は第二の主プログ
ラム22のいずれか正常でかつ新しい方に決定される。
【0105】ファームウェア書き換えプログラム20Ab
は、フラッシュメモリ14Aのデータをセグメントごとに
書き換えるためのプログラムである。但し、ファームウ
ェア書き換えプログラム20Abに従ってCPU12によりア
クセスされ得るセグメントは、書き換え可能セグメント
に限られる。更に、実施例2によるファームウェア書き
換えプログラム20Abに従った主プログラムの書き換えで
は実施例1とは異なり、続いて更新主プログラム表示フ
ラグのリスト23に新たな更新主プログラム表示フラグが
書き込まれる。それにより、ディジタルテレビ放送受信
機の次回の起動時に、書き換えた主プログラムが有効主
プログラムとして決定される。
【0106】起動プログラム20Aaはディジタルテレビ放
送受信機1の起動に不可欠である。更に、ファームウェ
ア書き換えプログラム20Abは二つの主プログラムを書き
換えるためのものである。従って、起動プログラム20Aa
及びファームウェア書き換えプログラム20Abを誤って書
き換えて損傷させた場合、ディジタルテレビ放送受信機
の起動及び制御が実現できない。そこで、補助プログラ
ム20全体を記憶したセグメントは書き換え不可セグメン
ト14aとして設定される(図7参照)。それにより、起動プ
ログラム20Aa及びファームウェア書き換えプログラム20
Abを誤って書き換えて損傷させること、が防止される。
【0107】更新主プログラム表示フラグのリスト23
は、実施例2によるディジタルテレビ放送受信機の最初
の起動時から最新の起動時までの更新主プログラム表示
フラグの履歴を記録した表である。更新主プログラム表
示フラグのリスト23を記録したセグメントは第三の書き
換え可能セグメント14dとして設定される。それにより
主プログラムの書き換えごとに更新主プログラム表示フ
ラグのリスト23へ新たな更新主プログラム表示フラグ
を、後述のように上書きできる。
【0108】図9は、更新主プログラム表示フラグFのリ
スト23を、第三の書き換え可能セグメント14dのアドレ
ス順に表示した図である。図9の(a)及び(b)はそれぞ
れ、主プログラムの二回目の書き換え前後での更新主プ
ログラム表示フラグFのリスト23を示す。
【0109】更新主プログラム表示フラグFは、三つの
値0x01、0x02及び0xFFのいずれかを取り得るフラグであ
る。第一の値0x01及び第二の値0x02はそれぞれ、第一の
主プログラム21及び第二の主プログラム22を書き換えて
更新したことを示す。一方、第三の値0xFFは所定のデフ
ォルト値である。
【0110】更新主プログラム表示フラグFの履歴はリ
スト23へ次の通りに記録される。まず、ディジタルテレ
ビ放送受信機の製造時、第一の主プログラム21及び第二
の主プログラム22をフラッシュメモリ14Aへ記録する前
に、更新主プログラム表示フラグFのリスト23の全項目
へデフォルト値0xFFが書き込まれる。その後、CPU12
はファームウェア書き換えプログラム20Abに従って、第
一の主プログラム21及び第二の主プログラム22を記録す
る。その主プログラムの記録に続いて、CPU12は更新
主プログラム表示フラグFのリスト23の先頭アドレス0x0
001に第一の値0x01を上書きする。
【0111】次に、主プログラムの最初の書き換え時、
CPU12はファームウェア書き換えプログラム20Abに従
って、有効主プログラムではない第二の主プログラム22
を書き換える。それに続いてCPU12は、更新主プログ
ラム表示フラグFのリスト23の先頭アドレス0x0001から
数えて二番目のアドレス0x0002へ、第二の値0x02を上書
きする。その結果、更新主プログラム表示フラグFのリ
スト23は図9の(a)の通り、先頭アドレス0x0001に第一の
値0x01、次のアドレス0x0002に第二の値0x02、その次の
アドレス0x0003以降のアドレスにデフォルト値0xFF、を
それぞれ記録している。
【0112】更に、主プログラムの二回目の書き換え
時、CPU12はファームウェア書き換えプログラム20Ab
に従って、有効主プログラムではない第一の主プログラ
ム21を書き換える。それに続いてCPU12は、更新主プ
ログラム表示フラグFのリスト23の先頭アドレス0x0001
から数えて三番目のアドレス0x0003に、第一の値0x01を
上書きする。その結果、更新主プログラム表示フラグF
のリスト23では、図9の(a)及び(b)の矢印で示されてい
るアドレス0x0003の内容が、デフォルト値0xFFから第一
の値0x01に書き換えられる。
【0113】更新主プログラム表示フラグFのリスト23
は例えば図9の(a)及び(b)のように、先頭アドレス0x000
1以降最初にデフォルト値0xFFを書き込まれたアドレス
(図9の(a)ではアドレス0x0003、図9の(b)ではアドレス0
x0004)の一つ前のアドレスに、主プログラムの最新の書
き換え時での更新主プログラム表示フラグFを記録して
いる。従って、ディジタルテレビ放送受信機の起動時に
そのアドレスの内容を参照すれば、主プログラムの最新
の書き換え時に更新された主プログラムを判別し、その
起動時での有効主プログラムとして決定できる。
【0114】実施例2では以下の理由により、更新主プ
ログラム表示フラグFで指定される有効主プログラムが
実質上常に正常でかつ新しい方の主プログラムである。
まず、ディジタルテレビ放送受信機の製造時、第一の主
プログラム21及び第二の主プログラム22は実質上常に正
常である。従って、製造後最初の起動時、有効主プログ
ラムは正常である。
【0115】その後、主プログラムのデータを含むトラ
ンスポートパケットがディジタルテレビ放送局から伝送
された時、実施例1同様、そのパケットに含まれるバー
ジョン情報がその時の有効主プログラムのものと比較さ
れる。伝送された主プログラムのバージョン情報が有効
主プログラムより新しい時、有効主プログラムではない
方の主プログラムが書き換えられる。一方、有効主プロ
グラムは書き換えられずに保持される。その主プログラ
ムの書き換えに続いて、新たな更新主プログラム表示フ
ラグFが更新主プログラム表示フラグFのリスト23へ、上
記の通り上書きされる。
【0116】従って、まず、書き換えられた主プログラ
ムは常にその時の有効主プログラムより新しい。次に、
仮に主プログラムの書き換えに失敗した場合、それによ
り損傷する主プログラムは有効主プログラムではない方
に実質上限られる。更に、主プログラムの書き換えに失
敗した時、新たな更新主プログラム表示フラグFのリス
ト23への上書きは実行されない。それ故、更新主プログ
ラム表示フラグFはその失敗した書き換え前の有効主プ
ログラムを指定するものに維持される。従って、失敗し
た書き換えの次の起動時に異常な主プログラムが有効主
プログラムとして指定されること、を回避できる。
【0117】上記の通り、更新主プログラム表示フラグ
Fで指定される有効主プログラムは実質上常に正常でか
つ新しい。従って、実施例2では実施例1とは異なり、
ディジタルテレビ放送受信機の起動時、第一の主プログ
ラム21及び第二の主プログラム22のチェック及びバージ
ョン情報の比較が実行されない。従って、実施例2によ
るディジタルテレビ放送受信機の起動は実施例1に比べ
て早い。
【0118】実施例2では主プログラムの書き換えが実
施例1と同様、有効主プログラムではない方、すなわ
ち、CPU12により実行されていない方に対して行われ
る。それにより、有効主プログラムの実行中に主プログ
ラムの書き換えを実行できる。主プログラムの書き換え
では更に、書き換え時のノイズ又は停電等の事故による
中断で損傷する主プログラムが、有効主プログラムでは
ない方に限られる。従って、主プログラムの書き換えに
失敗した時、有効主プログラムは実質上損傷しない。そ
れ故、有効主プログラムに従ったデータ処理を中断せず
に、CPU12は損傷した主プログラムの書き換えを再実
行できる。
【0119】補助プログラム20は、起動プログラム20Aa
及びファームウェア書き換えプログラム20Abの他にも、
いくつかのモジュールを含む。それらのモジュールは実
施例1同様、第一の主プログラム21及び第二の主プログ
ラム22の両方を損傷して実行できない時、CPU12によ
る制御を保持するためのものである。但し、第一の主プ
ログラム21及び第二の主プログラム22の両方を損傷する
場合は実施例1同様、ディジタルテレビ放送受信機の製
造時に実質上限られる。従って、補助プログラム20の上
記のモジュールの実行は、実質上製造時だけに限られ
る。それ故、補助プログラム20は、起動プログラム20Aa
及びファームウェア書き換えプログラム20Abだけから成
るものであっても良い。
【0120】(ディジタルテレビ放送受信機でのファー
ムウェアの実行)実施例2によるディジタルテレビ放送
受信機では、ファームウェアが以下のように実行され
る。但し、実施例1と同様なステップについては実施例
1と同じ符号を付し、その説明は実施例1のものを援用
する。
【0121】<起動プログラム20Aaの実行>図10は、実
施例2によるディジタルテレビ放送受信機の起動プログ
ラム20Aaのフローチャートである。ディジタルテレビ放
送受信機の起動時、CPU12は補助プログラム20内から
起動プログラム20Aaを呼び出す。 [ステップS1]CPU12は起動プログラム20Aaに従っ
て、まずディジタルテレビ放送受信機の初期化S1を行
う。
【0122】[ステップS20]続いてCPU12は、更新
主プログラム表示フラグFのリスト23の参照による有効
主プログラムの決定を以下の通り行う。 サブステップS20a: 更新主プログラム表示フラグFの
リスト23の先頭アドレス0x0001(図9参照)に1を加え、そ
の加算結果0x0002をアドレス変数Addに代入する。 サブステップS20b: アドレス変数Addと、第一の値0x0
1又は第二の値0x02と、を比較する。第一の値0x01又は
第二の値0x02のいずれかがアドレス変数Addと一致すれ
ばサブステップS20cに、一致しなければサブステップS2
0dに、それぞれ処理を分岐する。 サブステップS20c: アドレス変数Addに1を加えた後、
処理をサブステップS20bへ戻す。 サブステップS20d: アドレス変数Addから1を引く。そ
の減算結果のアドレスに対応する更新主プログラム表示
フラグFのリスト23の項目から、更新主プログラム表示
フラグFを読み出す。サブステップS20a〜S20dの処理に
より、更新主プログラム表示フラグFのリスト23の内、
その先頭アドレス0x0001以降最初にデフォルト値0xFFを
書き込まれたアドレスの一つ前のアドレスから更新主プ
ログラム表示フラグFが読み出される。
【0123】サブステップS20e: 更新主プログラム表
示フラグFの値に応じて、以下の通りに処理を分岐す
る。更新主プログラム表示フラグFが第一の値0x01であ
る場合、処理をステップS41へ分岐する。更新主プログ
ラム表示フラグFが第二の値0x02である場合、処理をス
テップS42へ分岐する。更新主プログラム表示フラグFが
デフォルト値0xFFである場合、処理をステップS40へ分
岐する。
【0124】[ステップS41]有効主プログラム指定フ
ラグF0を1に設定して、第一の主プログラム21を呼び出
す。それ以後、CPU12は第一の主プログラム21を実行
する。その結果、更新主プログラム表示フラグFが第一
の値0x01である場合、第一の主プログラム21が有効主プ
ログラムとして決定される。 [ステップS42]有効主プログラム指定フラグF0を2に設
定して、第二の主プログラム22を呼び出す。それ以後、
CPU12は第二の主プログラム22を実行する。その結
果、更新主プログラム表示フラグFが第二の値0x02であ
る場合、第二の主プログラム22が有効主プログラムとし
て決定される。 [ステップS40]有効主プログラム指定フラグF0を0に設
定する。CPU12は補助プログラム20を継続して実行す
る。その結果、更新主プログラム表示フラグFがデフォ
ルト値0xFFである場合、主プログラムは実行されない。
【0125】<ファームウェア書き換えプログラムによ
る主プログラムの書き換え>実施例2では実施例1同
様、CPU12はファームウェア書き換え命令に従ってフ
ァームウェア書き換えプログラム20Abを呼び出し、以下
の通りに実行する。図11はファームウェア書き換えプロ
グラム20Abのフローチャートである。CPU12はファー
ムウェア書き換えプログラム20Abを、次のステップS10
〜S18の順に実行する。但し、ステップS10〜S16までは
実施例1と同様である(図6参照)ので、その説明は実施
例1のものを援用する。
【0126】[ステップS17]ステップS16で書き換えた
書き換え対象セグメント上の主プログラムをチェックす
る。その時、好ましくは、チェックサムを用いる。チェ
ックサムが一致した時はステップS18へ処理を進める。
一方、一致しない時はファームウェア書き換えプログラ
ム20Abを終了する。こうして、更新主プログラム表示フ
ラグのリスト23へ新たな更新主プログラム表示フラグF
を上書きする前に、書き換えた主プログラムをチェック
する。それにより、主プログラムの書き換えに失敗した
時、更新主プログラム表示フラグFを書き換え前のもの
に維持できる。従って、失敗した書き換えの次の起動時
に、異常な主プログラムを有効主プログラムとして指定
すること、を回避できる。
【0127】[ステップS18]CPU12は第三の書き換
え可能セグメント14d上の更新主プログラム表示フラグ
のリスト23に新たな更新主プログラム表示フラグFを、
次のように上書きする。図12はステップS18の内部フロ
ーチャートである。 サブステップS18a: 更新主プログラム表示フラグFの
リスト23の先頭アドレス0x0001(図9参照)に1を加え、そ
の加算結果0x0002をアドレス変数Addに代入する。 サブステップS18b: アドレス変数Addと、第一の値0x0
1又は第二の値0x02と、を比較する。第一の値0x01又は
第二の値0x02のいずれかがアドレス変数Addと一致すれ
ばサブステップS18cに、一致しなければサブステップS1
8dに、それぞれ処理を分岐する。 サブステップS18c: アドレス変数Addに1を加えた後、
処理をサブステップS18bへ戻す。
【0128】サブステップS18d: アドレス変数Addに
対応する更新主プログラム表示フラグFのリスト23の項
目に、新たな更新主プログラム表示フラグFとして以下
の値を、有効主プログラム指定フラグF0に応じて上書き
する。有効主プログラム指定フラグF0が1である場合、
更新主プログラム表示フラグFとして第一の値0x01を上
書きする。有効主プログラム指定フラグF0が0又は2であ
る場合、更新主プログラム表示フラグFとして第二の値0
x02を上書きする。ステップS18により、更新主プログラ
ム表示フラグFのリスト23の内、その先頭アドレス0x000
1以降最初にデフォルト値0xFFを書き込まれたアドレス
に新たな更新主プログラム表示フラグFとして、更新さ
れた主プログラムを示す値を上書きできる。
【0129】以上の通り、実施例2では実施例1同様、
ファームウェアの主プログラムの書き換えを有効主プロ
グラムの実行中に行い得る。従って、その書き換えに失
敗して書き換え対象の主プログラムを損傷した場合でも
有効主プログラムは正常であるので、ディジタルテレビ
信号処理部11によるデータ処理を継続できる。
【0130】
【発明の効果】以上の説明の通り本発明では、情報処理
機器が二つの主プログラムを、それぞれメモリ内の別々
のメモリ領域に記憶している。情報処理機器のCPUは
二つの主プログラムのいずれかを有効主プログラムとし
て実行する。それにより、情報処理機器によるデータ処
理を実現する。更に、ホストインタフェースがホストか
らファームウェア書き換え命令を受信した時、CPUは
有効主プログラムではない方の主プログラムを書き換え
る。こうして、本発明による情報処理機器は、二つの主
プログラムの一方の実行時に他方を書き換えることによ
り、主プログラムの書き換えをデータ処理と同時に実行
できる。
【0131】更に、仮に主プログラムの書き換えに失敗
した場合、それにより損傷する主プログラムは有効主プ
ログラムではない方に実質上限られる。従って、二つの
主プログラムのいずれかは実質上常に正常である。それ
故、例えば起動時に二つの主プログラムのそれぞれをチ
ェックして、正常な方を有効主プログラムとして呼び出
す。更に両方の主プログラムが正常である場合、それぞ
れのバージョン情報から新しい方を有効主プログラムと
して呼び出す。こうして、本発明では、情報処理機器の
CPUが有効主プログラムとして正常でかつ新しい主プ
ログラムを確実に選択し、実行できる。
【0132】上記の他に、メモリに有効主プログラム判
別情報を記憶させておき、情報処理機器の起動時に有効
主プログラム判別情報を参照して有効主プログラムを呼
び出しても良い。それにより、二つの主プログラムのい
ずれか正常な方が実質上常に呼び出される。こうして、
本発明では、情報処理機器のCPUが有効主プログラム
として正常な主プログラムを確実に実行できる。その
上、起動時に二つの主プログラムのチェック及びバージ
ョン情報の比較を行わないので、情報処理機器を早く起
動できる。
【図面の簡単な説明】
【図1】本発明の実施例1による情報処理機器であるデ
ィジタルテレビ放送受信装置1のブロック図である。
【図2】本発明の実施例1によるフラッシュメモリ14に
対応するメモリ空間を示す図である。
【図3】本発明の実施例1によるディジタルテレビ放送
受信機1の起動プログラム20aのフローチャートである。
【図4】本発明の実施例1による補助プログラム20及び
第一の主プログラム21のそれぞれのフローチャートであ
る。(a)は起動プログラム20a後、第一の主プログラム21
及び第二の主プログラム22の両方が異常である時に実行
される補助プログラム20のフローチャートである。(b)
は第一の主プログラム21のフローチャートである。
【図5】本発明の実施例1において、ディジタルテレビ
放送局2から伝送されるトランスポートストリームの構
成を示す模式図である。(a)はトランスポートストリー
ムを構成するトランスポートパケットを時間軸上に伝送
順で並べた図である。(b)はそれぞれのトランスポート
パケットのデータ構成を概略的に示す。(c)はPIDと
パケットデータの種類との対応表である。
【図6】本発明の実施例1によるファームウェア書き換
えプログラム20bのフローチャートである。
【図7】本発明の実施例1によるファームウェア書き換
えプログラム20bの内、ステップS10の内部フローチャー
トである。
【図8】本発明の実施例2によるディジタルテレビ放送
受信機のフラッシュメモリ14Aに対応するメモリ空間を
示す図である。
【図9】本発明の実施例2による更新主プログラム表示
フラグFのリスト23を、第三の書き換え可能セグメント1
4dのアドレス順に表示した図である。(a)及び(b)はそれ
ぞれ、主プログラムの二回目の書き換え前後での更新主
プログラム表示フラグFのリスト23を示す。
【図10】本発明の実施例2によるディジタルテレビ放送
受信機の起動プログラム20Aaのフローチャートである。
【図11】本発明の実施例2によるファームウェア書き換
えプログラム20Abのフローチャートである。
【図12】本発明の実施例2によるファームウェア書き換
えプログラム20Abの内、ステップS18の内部フローチャ
ートである。
【図13】従来の情報処理機器100の内部構成、及び、そ
の情報処理機器100と外部との接続の構成を示すブロッ
ク図である。
【図14】従来の情報処理機器100での制御上主要な内部
構成、特に、フラッシュメモリ14に記憶されたファーム
ウェアの構成を示すブロック図である。
【図15】従来の情報処理機器100の起動プログラム200a
のフローチャートである。
【図16】従来の情報処理機器100における補助プログラ
ム200及び主プログラム201のそれぞれのフローチャート
である。(a)は、補助プログラム200のフローチャートで
あり、(b)は主プログラム201のフローチャートである。
【図17】従来の情報処理機器100におけるファームウェ
ア書き換えプログラム200bのフローチャートである。
【符号の説明】 11 ディジタルテレビ信号処理部 12 CPU 13 RAM 14 フラッシュメモリ 14a 書き換え不可セグメント 14b 第一の書き換え可能セグメント 14c 第二の書き換え可能セグメント 17 内部バス 20 補助プログラム 20a 起動プログラム 20b ファームウェア書き換えプログラム 21 第一の主プログラム 22 第二の主プログラム

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 (a) 起動プログラムとファームウェア
    書き換えプログラムとを記憶した第一のメモリ領域、
    (b) 第一の主プログラムを記憶した第二のメモリ領
    域、及び、(c) 第二の主プログラムを記憶した第三の
    メモリ領域、を含むメモリ;前記第一の主プログラム又
    は前記第二の主プログラムのいずれかを、有効主プログ
    ラムとして実行するための制御部;ホストからのファー
    ムウェア書き換え命令と、更新された主プログラムと、
    を受信するためのホストインターフェース;並びに、 前記ファームウェア書き換えプログラムを前記ファーム
    ウェア書き換え命令に従って実行し、前記第一の主プロ
    グラム又は前記第二の主プログラムの内前記有効主プロ
    グラムではない方を前記更新された主プログラムに書き
    換えるためのファームウェア書き換え部;を有する情報
    処理機器。
  2. 【請求項2】 前記起動プログラムに従って前記第一の
    主プログラムと前記第二の主プログラムとのそれぞれを
    チェックするための主プログラムチェック部;前記起動
    プログラムに従って前記第一の主プログラムと前記第二
    の主プログラムとのそれぞれのバージョン情報を読み出
    すための主プログラムバージョン情報読み出し部;及
    び、前記主プログラムチェック部のチェック結果によ
    り、 (a) 前記第一の主プログラムと前記第二の主プログラ
    ムとのいずれか一方だけが正常であることを判別した場
    合、その正常な方の主プログラムを前記有効主プログラ
    ムとして呼び出し、 (b) 前記第一の主プログラムと前記第二の主プログラ
    ムとの両方が正常であることを判別した場合、前記主プ
    ログラムバージョン情報読み出し部により前記第一の主
    プログラムと前記第二の主プログラムとのそれぞれのバ
    ージョン情報を読み出し、前記バージョン情報を比較し
    て新しい方に対応する主プログラムを前記有効主プログ
    ラムとして呼び出す、 ための有効主プログラム決定部;を更に有する、請求項
    1記載の情報処理機器。
  3. 【請求項3】 前記メモリがフラッシュメモリであり、
    前記第一のメモリ領域、前記第二のメモリ領域及び前記
    第三のメモリ領域がそれぞれ前記フラッシュメモリの別
    々のセグメントである、請求項1記載の情報処理機器。
  4. 【請求項4】 (A) 前記第一の主プログラムと前記第
    二の主プログラムとのいずれかを前記有効主プログラム
    として指定するための有効主プログラム判別情報、を記
    憶した前記メモリ内の第四のメモリ領域;(B) 前記更
    新された主プログラムを前記有効主プログラムとして指
    定するための情報、の前記有効主プログラム判別情報内
    への書き込みを、前記ファームウェア書き換え部による
    主プログラムの書き換えに続いて行うための有効主プロ
    グラム判別情報記録部;及び、(C) (a) 前記第一のメ
    モリ領域に記憶された起動プログラムに従って前記メモ
    リから前記有効主プログラム判別情報を読み出し、 (b) 前記第一の主プログラムと前記第二の主プログラ
    ムの内、読み出した前記有効主プログラム判別情報によ
    り前記有効主プログラムとして指定されている方を前記
    有効主プログラムとして呼び出す、 ための有効主プログラム呼び出し部;を更に有する、請
    求項1記載の情報処理機器。
  5. 【請求項5】 前記メモリがフラッシュメモリであり、
    前記第一から第四までのそれぞれのメモリ領域が前記フ
    ラッシュメモリの別々のセグメントである、請求項4記
    載の情報処理機器。
  6. 【請求項6】 請求項1記載の情報処理機器のファーム
    ウェアであって、 (a) 前記起動プログラム、前記ファームウェア書き換
    えプログラム、前記第一の主プログラム、及び、前記第
    二の主プログラム、を含み、 (b) 前記情報処理機器のCPUを前記制御部及び前記
    ファームウェア書き換え部として機能させる、 ための情報処理機器のファームウェア。
  7. 【請求項7】 請求項2記載の情報処理機器のファーム
    ウェアであって、 (a) 前記起動プログラム、前記ファームウェア書き換
    えプログラム、前記第一の主プログラム、及び、前記第
    二の主プログラム、を含み、 (b) 前記情報処理機器のCPUを、前記制御部、前記
    ファームウェア書き換え部、前記主プログラムチェック
    部、前記主プログラムバージョン情報読み出し部、及
    び、前記有効主プログラム決定部、として機能させるた
    めの、 情報処理機器のファームウェア。
  8. 【請求項8】 請求項4記載の情報処理機器のファーム
    ウェアであって、 (a) 前記起動プログラム、前記ファームウェア書き換
    えプログラム、前記第一の主プログラム、前記第二の主
    プログラム、及び、前記有効主プログラム判別情報、を
    含み、 (b) 前記情報処理機器のCPUを、前記制御部、前記
    ファームウェア書き換え部、前記有効主プログラム判別
    情報記録部、及び、前記有効主プログラム呼び出し部、
    として機能させる、 ための情報処理機器のファームウェア。
  9. 【請求項9】 情報処理機器のメモリの内、第一のメモ
    リ領域に起動プログラムとファームウェア書き換えプロ
    グラムとを、第二のメモリ領域に第一の主プログラム
    を、第三のメモリ領域に第二の主プログラムを、それぞ
    れ記憶させるステップ;前記第一の主プログラム又は前
    記第二の主プログラムのいずれかを、前記情報処理機器
    のCPUにより有効主プログラムとして実行するステッ
    プ;前記情報処理機器のホストインタフェースにより、
    ホストからのファームウェア書き換え命令と、更新され
    た主プログラムと、を受信するステップ;及び、 前記ファームウェア書き換え命令に従って、前記CPU
    により前記ファームウェア書き換えプログラムを実行
    し、前記第一の主プログラム又は前記第二の主プログラ
    ムの内前記有効主プログラムではない方を前記更新され
    た主プログラムに書き換えるステップ;を有する情報処
    理機器のファームウェア書き換え方法。
  10. 【請求項10】 前記第一の主プログラム又は前記第二
    の主プログラムのいずれかを前記有効主プログラムとし
    て実行するステップが、(a) 前記起動プログラムに従
    って前記第一の主プログラムと前記第二の主プログラム
    とのそれぞれをチェックするサブステップ;(b) その
    チェック結果により前記第一の主プログラムと前記第二
    の主プログラムとのいずれか一方だけが正常であること
    を判別した場合、その正常な方の主プログラムを前記有
    効主プログラムとして呼び出すサブステップ;及び、
    (c) 前記チェック結果により前記第一の主プログラム
    と前記第二の主プログラムとの両方が正常であることを
    判別した場合、前記第一の主プログラムと前記第二の主
    プログラムとのそれぞれのバージョン情報を読み出し、
    前記バージョン情報を比較して新しい方に対応する主プ
    ログラムを前記有効主プログラムとして呼び出すサブス
    テップ;を有する、請求項9記載の情報処理機器のファ
    ームウェア書き換え方法。
  11. 【請求項11】 前記メモリがフラッシュメモリであ
    り、前記第一のメモリ領域、前記第二のメモリ領域及び
    前記第三のメモリ領域がそれぞれ前記フラッシュメモリ
    の別々のセグメントである、請求項9記載の情報処理機
    器のファームウェア書き換え方法。
  12. 【請求項12】 前記メモリ内の第四のメモリ領域に、
    前記第一の主プログラムと前記第二の主プログラムとの
    いずれかを前記有効主プログラムとして指定するための
    有効主プログラム判別情報を記憶させるステップ;及
    び、 前記更新された主プログラムに書き換えるステップに続
    いて、前記更新された主プログラムを前記有効主プログ
    ラムとして指定するための情報、を前記有効主プログラ
    ム判別情報内へ書き込むステップ;を更に有する前記フ
    ァームウェア書き換え方法であって、 前記第一の主プログラム又は前記第二の主プログラムの
    いずれかを前記有効主プログラムとして実行するステッ
    プが、(a) 前記起動プログラムに従って前記メモリか
    ら前記有効主プログラム判別情報を読み出すサブステッ
    プ;及び、(b) 前記第一の主プログラムと前記第二の
    主プログラムとの内、読み出された前記有効主プログラ
    ム判別情報により前記有効主プログラムとして指定され
    ている方を前記有効主プログラムとして呼び出すサブス
    テップ;を有する、請求項9記載の情報処理機器のファ
    ームウェア書き換え方法。
  13. 【請求項13】 前記メモリがフラッシュメモリであ
    り、前記第一から第四までのメモリ領域がそれぞれ前記
    フラッシュメモリの別々のセグメントである、請求項1
    2記載の情報処理機器のファームウェア書き換え方法。
JP2001117298A 2001-04-16 2001-04-16 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法 Pending JP2002312186A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001117298A JP2002312186A (ja) 2001-04-16 2001-04-16 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001117298A JP2002312186A (ja) 2001-04-16 2001-04-16 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法

Publications (1)

Publication Number Publication Date
JP2002312186A true JP2002312186A (ja) 2002-10-25

Family

ID=18967884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001117298A Pending JP2002312186A (ja) 2001-04-16 2001-04-16 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法

Country Status (1)

Country Link
JP (1) JP2002312186A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234511A (ja) * 2003-01-31 2004-08-19 Nec Corp ソフトウェアアップデートシステム、携帯端末、ソフトウェアアップデート方法及びプログラム
JP2008092588A (ja) * 2003-06-04 2008-04-17 Matsushita Electric Ind Co Ltd プログラム置き換え方法およびプログラム置き換え装置
JP2008117386A (ja) * 2003-06-04 2008-05-22 Matsushita Electric Ind Co Ltd プログラム置き換え方法およびプログラム置き換え装置
KR100990247B1 (ko) * 2003-06-04 2010-10-26 파나소닉 주식회사 프로그램 치환 방법
JP2014215651A (ja) * 2013-04-23 2014-11-17 三菱電機株式会社 不揮発性メモリ搭載装置
JP2017156908A (ja) * 2016-03-01 2017-09-07 ルネサスエレクトロニクス株式会社 組込み機器及びプログラムの更新方法
US11797457B2 (en) 2020-09-18 2023-10-24 Kabushiki Kaisha Toshiba Electronic apparatus and method for controlling data update processing on memory

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234511A (ja) * 2003-01-31 2004-08-19 Nec Corp ソフトウェアアップデートシステム、携帯端末、ソフトウェアアップデート方法及びプログラム
JP2008092588A (ja) * 2003-06-04 2008-04-17 Matsushita Electric Ind Co Ltd プログラム置き換え方法およびプログラム置き換え装置
JP2008117386A (ja) * 2003-06-04 2008-05-22 Matsushita Electric Ind Co Ltd プログラム置き換え方法およびプログラム置き換え装置
JP4554659B2 (ja) * 2003-06-04 2010-09-29 パナソニック株式会社 プログラム置き換え方法およびプログラム置き換え装置
KR100990247B1 (ko) * 2003-06-04 2010-10-26 파나소닉 주식회사 프로그램 치환 방법
JP4728307B2 (ja) * 2003-06-04 2011-07-20 パナソニック株式会社 プログラム置き換え方法およびプログラム置き換え装置
US8104068B2 (en) 2003-06-04 2012-01-24 Panasonic Corporation Program replacing method
US8453195B2 (en) 2003-06-04 2013-05-28 Panasonic Corporation Program replacing method
US8458762B2 (en) 2003-06-04 2013-06-04 Panasonic Corporation Program replacing method
US8850511B2 (en) 2003-06-04 2014-09-30 Panasonic Corporation Program replacing method
JP2014215651A (ja) * 2013-04-23 2014-11-17 三菱電機株式会社 不揮発性メモリ搭載装置
JP2017156908A (ja) * 2016-03-01 2017-09-07 ルネサスエレクトロニクス株式会社 組込み機器及びプログラムの更新方法
US11797457B2 (en) 2020-09-18 2023-10-24 Kabushiki Kaisha Toshiba Electronic apparatus and method for controlling data update processing on memory

Similar Documents

Publication Publication Date Title
EP0803812B1 (en) Method and apparatus for updating a program
US6948099B1 (en) Re-loading operating systems
US20060107071A1 (en) Method and system for updating firmware stored in non-volatile memory
US6209127B1 (en) Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
US20040168167A1 (en) Data processor, program updating method and storage medium
US20040158699A1 (en) Organizing information stored in non-volatile re-programmable semiconductor memories
US20060212728A1 (en) Query of bios-stored value to determine user intent at return to active state
US20080288767A1 (en) Computer system
JP2008117405A (ja) ネットワーク上でソフトウェアを遠隔操作でアップグレードする方法
JPH10171664A (ja) ソフトウエアの更新方法、およびビデオレシーバ
US20060047938A1 (en) Method and apparatus to initialize CPU
US7669046B2 (en) Data processing apparatus and firmware update method
US6895463B2 (en) Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
US20020116701A1 (en) Information processing apparatus and method, recording medium, storage medium, and program
JP2000137607A (ja) デジタルテレビジョン受像機
JP2002312186A (ja) 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法
US7694118B2 (en) Function addition apparatus and function addition method
US20080209201A1 (en) Apparatus and method for updating boot logo image in portable terminal
JPH1083309A (ja) 情報処理装置、プログラム更新方法、および、情報処理システム
JP2003067284A (ja) デジタル放送受信機
JP2000350185A (ja) 制御プログラム送信方法及び制御プログラムダウンロード方法
US8312506B2 (en) Digital television setting information storage apparatus and method for accessing digital television information
JP2005050097A (ja) 情報処理装置、情報処理方法、プログラム、記録媒体
JP2008071223A (ja) 情報処理装置、情報処理方法、およびプログラム
US20050005192A1 (en) System and method for manual fail-safe bootstrap based on a single flash ROM

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050526

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061129