JP2002342100A - ファームウェアの書き換え方法 - Google Patents
ファームウェアの書き換え方法Info
- Publication number
- JP2002342100A JP2002342100A JP2001147147A JP2001147147A JP2002342100A JP 2002342100 A JP2002342100 A JP 2002342100A JP 2001147147 A JP2001147147 A JP 2001147147A JP 2001147147 A JP2001147147 A JP 2001147147A JP 2002342100 A JP2002342100 A JP 2002342100A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- area
- module group
- rewriting
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 ファームウェアのバージョンアップ時に、新
しいファームウェアのダウンロードや書き換え処理にか
かる時間を短縮できるようにする。 【解決手段】 ファームウェアを格納するメモリ2を複
数の領域に分割し、領域毎に、複数のモジュール群に分
割されたファームウェア本体を配置し、ファームウェア
のバージョンアップ時には、変更のあるモジュール群が
格納された領域のみを書き換える。
しいファームウェアのダウンロードや書き換え処理にか
かる時間を短縮できるようにする。 【解決手段】 ファームウェアを格納するメモリ2を複
数の領域に分割し、領域毎に、複数のモジュール群に分
割されたファームウェア本体を配置し、ファームウェア
のバージョンアップ時には、変更のあるモジュール群が
格納された領域のみを書き換える。
Description
【0001】
【発明の属する技術分野】本発明はファームウェアの書
き換え方法に関し、特に、書き換え可能なメモリを備え
るシステムのファームウェアのバージョンアップを行う
ための、ファームウェアの書き換え方法に関する。
き換え方法に関し、特に、書き換え可能なメモリを備え
るシステムのファームウェアのバージョンアップを行う
ための、ファームウェアの書き換え方法に関する。
【0002】
【従来の技術】従来、この分野のファームウェアのバー
ジョンアップのために、メモリ領域を二つに分割し、一
方のメモリ領域にシステム立ち上げプログラムおよびフ
ア−ムウエア書き換えプログラムを格納し、もう一方の
メモリ領域にファームウェア本体を格納している。そし
てファームウェアのバージョンアップ時には、ファーム
ウェア書き換えプログラムを実行し、ファームウェア本
体が格納された領域のファームウェアの全体を書き換え
ている。
ジョンアップのために、メモリ領域を二つに分割し、一
方のメモリ領域にシステム立ち上げプログラムおよびフ
ア−ムウエア書き換えプログラムを格納し、もう一方の
メモリ領域にファームウェア本体を格納している。そし
てファームウェアのバージョンアップ時には、ファーム
ウェア書き換えプログラムを実行し、ファームウェア本
体が格納された領域のファームウェアの全体を書き換え
ている。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
方法では、ファームウェア全体を書き換えるため、新し
いファームウェアのダウンロードや書き換え処理に時間
がかかるという課題がある。
方法では、ファームウェア全体を書き換えるため、新し
いファームウェアのダウンロードや書き換え処理に時間
がかかるという課題がある。
【0004】そこで本発明は、ファームウェアのバージ
ョンアップ時に、新しいファームウェアのダウンロード
や書き換え処理にかかる時間を短縮できるようにするこ
とを目的とする。
ョンアップ時に、新しいファームウェアのダウンロード
や書き換え処理にかかる時間を短縮できるようにするこ
とを目的とする。
【0005】
【課題を解決するための手段】前記課題を解決するため
に、本発明のファームウェア書き換え方法は、ファーム
ウェアを格納するメモリを複数の領域に分割し、領域毎
に、複数のモジュール群に分割されたファームウェア本
体を配置し、ファームウェアのバージョンアップ時に
は、変更のあるモジュール群が格納された領域のみを書
き換えるものである。
に、本発明のファームウェア書き換え方法は、ファーム
ウェアを格納するメモリを複数の領域に分割し、領域毎
に、複数のモジュール群に分割されたファームウェア本
体を配置し、ファームウェアのバージョンアップ時に
は、変更のあるモジュール群が格納された領域のみを書
き換えるものである。
【0006】したがって本発明によれば、ファームウェ
ア全体を書き換えることなく、変更のあるモジュール群
だけを書き換えることにより、ダウンロードや書き込み
の時間を短縮できる。
ア全体を書き換えることなく、変更のあるモジュール群
だけを書き換えることにより、ダウンロードや書き込み
の時間を短縮できる。
【0007】
【発明の実施の形態】請求項1に記載の本発明は、ファ
ームウェアを格納するメモリを複数の領域に分割し、領
域毎に、複数のモジュール群に分割されたファームウェ
ア本体を配置し、ファームウェアのバージョンアップ時
には、変更のあるモジュール群が格納された領域のみを
書き換えることを特徴とする。これにより、必要なモジ
ュール群だけを書き換えることができるという作用を有
する。
ームウェアを格納するメモリを複数の領域に分割し、領
域毎に、複数のモジュール群に分割されたファームウェ
ア本体を配置し、ファームウェアのバージョンアップ時
には、変更のあるモジュール群が格納された領域のみを
書き換えることを特徴とする。これにより、必要なモジ
ュール群だけを書き換えることができるという作用を有
する。
【0008】請求項2に記載の本発明は、モジュール群
毎におけるそのモジュール群が格納された領域と連続し
たアドレスに予備の格納領域を配置し、ファームウェア
のバージョンアップ時に、新しいモジュール群のサイズ
が古いモジュール群のサイズより大きい場合は、古いモ
ジュール群が格納された領域とそれに対応する予備の格
納領域とを使用してそのモジュール群を書き換えること
を特徴とする。これにより、新しいモジュール群が古い
モジュール群よりもサイズが大きくなっても書き換えが
可能になるという作用を有する。
毎におけるそのモジュール群が格納された領域と連続し
たアドレスに予備の格納領域を配置し、ファームウェア
のバージョンアップ時に、新しいモジュール群のサイズ
が古いモジュール群のサイズより大きい場合は、古いモ
ジュール群が格納された領域とそれに対応する予備の格
納領域とを使用してそのモジュール群を書き換えること
を特徴とする。これにより、新しいモジュール群が古い
モジュール群よりもサイズが大きくなっても書き換えが
可能になるという作用を有する。
【0009】請求項3に記載の本発明は、メモリを複数
に分割して形成された領域のうちの特定の領域をバージ
ョン情報の格納領域として用い、ファームウェアのバー
ジョンアップ時には、先ず古いバージョン情報をバージ
ョン情報以外の特定の値に書き換え、その後ファームウ
ェアの書き換えを行い、書き換えが正常に終了した後バ
ージョン情報を新しいバージョン情報に書き換えること
を特徴とする。これにより、バージョン情報をチェック
すれば、ファームウェアの書き換えが正常に終了した
か、または書き換え中に異常が発生して正常に終了しな
かったかを判断できるという作用を有する。
に分割して形成された領域のうちの特定の領域をバージ
ョン情報の格納領域として用い、ファームウェアのバー
ジョンアップ時には、先ず古いバージョン情報をバージ
ョン情報以外の特定の値に書き換え、その後ファームウ
ェアの書き換えを行い、書き換えが正常に終了した後バ
ージョン情報を新しいバージョン情報に書き換えること
を特徴とする。これにより、バージョン情報をチェック
すれば、ファームウェアの書き換えが正常に終了した
か、または書き換え中に異常が発生して正常に終了しな
かったかを判断できるという作用を有する。
【0010】請求項4に記載の本発明は、メモリをセク
タ単位で書き換え可能なフラッシュメモリとすることを
特徴とする。これにより、フラッシュメモリの任意の部
分をセクタ単位で電気的に書き換えることができるとい
う作用を有する。
タ単位で書き換え可能なフラッシュメモリとすることを
特徴とする。これにより、フラッシュメモリの任意の部
分をセクタ単位で電気的に書き換えることができるとい
う作用を有する。
【0011】請求項5に記載の本発明は、メモリを複数
に分割して形成された各領域毎に、複数のモジュール群
に分割されたファームウェア本体と、この分割されたモ
ジュール群のうち最も大きなサイズのモジュール群より
大きなサイズの予備の格納領域とを配置し、ファームウ
ェアのバージョンアップ時に新しいモジュール群が古い
モジュール群の格納された領域内に納まるなら、その領
域を書き換え、納まらないなら、前記予備の領域に新し
いモジュール群を書き込み、古いモジュール群が格納さ
れている領域に、新しいモジュール群を書き込んだ予備
領域へ制御を移す命令を書き込むことを特徴とする。こ
れにより、新しいモジュール群が古いモジュール群より
サイズが大きくなっても書き換えが可能になるという作
用を有する。
に分割して形成された各領域毎に、複数のモジュール群
に分割されたファームウェア本体と、この分割されたモ
ジュール群のうち最も大きなサイズのモジュール群より
大きなサイズの予備の格納領域とを配置し、ファームウ
ェアのバージョンアップ時に新しいモジュール群が古い
モジュール群の格納された領域内に納まるなら、その領
域を書き換え、納まらないなら、前記予備の領域に新し
いモジュール群を書き込み、古いモジュール群が格納さ
れている領域に、新しいモジュール群を書き込んだ予備
領域へ制御を移す命令を書き込むことを特徴とする。こ
れにより、新しいモジュール群が古いモジュール群より
サイズが大きくなっても書き換えが可能になるという作
用を有する。
【0012】請求項6に記載の本発明は、モジュール群
に、各モジュールへ制御を移す命令を書き込んだエント
リーテーブルを配置して、各モジュールへ制御を移すこ
とを特徴とする。これにより、モジュールの配置を容易
に変更できるという作用を有する。
に、各モジュールへ制御を移す命令を書き込んだエント
リーテーブルを配置して、各モジュールへ制御を移すこ
とを特徴とする。これにより、モジュールの配置を容易
に変更できるという作用を有する。
【0013】(実施の形態1)以下では、請求項1、請
求項2、請求項3及び請求項4に記載された本発明の実
施の形態1について、図面を参照して説明する。
求項2、請求項3及び請求項4に記載された本発明の実
施の形態1について、図面を参照して説明する。
【0014】図1は、本発明の実施の形態1におけるフ
ラッシュメモリのメモリ空間を示す図である。この図1
に示すように、フラッシュメモリ2は、ブートプログラ
ムが格納された領域11と、ファームウェア書き換えプ
ログラムが格納された領域12と、バージョン情報が格
納された領域13と、モジュールの集まりで構成された
モジュール群がを格納された領域14と、モジュール群
に対応する予備の領域15とで構成されている。この例
では、ファームウェアを4つのモジュール群に分割して
構成する。そして、ブートプログラムをセクタ0に、フ
ァームウェア書き換えプログラムをセクタ1に、バージ
ョン情報をセクタ2に、モジュール群1をセクタ3に、
モジュール群1の予備領域をセクタ4に、モジュール群
2をセクタ5、セクタ6、セクタ7に、モジュール群2
の予備領域をセクタ8に、モジュール群3をセクタ9、
セクタ10に、モジュール群3の予備領域をセクタ11
に、モジュール群4をセクタ12に、モジュール群4の
予備領域をセクタ13に、それぞれ割り当ててある。
ラッシュメモリのメモリ空間を示す図である。この図1
に示すように、フラッシュメモリ2は、ブートプログラ
ムが格納された領域11と、ファームウェア書き換えプ
ログラムが格納された領域12と、バージョン情報が格
納された領域13と、モジュールの集まりで構成された
モジュール群がを格納された領域14と、モジュール群
に対応する予備の領域15とで構成されている。この例
では、ファームウェアを4つのモジュール群に分割して
構成する。そして、ブートプログラムをセクタ0に、フ
ァームウェア書き換えプログラムをセクタ1に、バージ
ョン情報をセクタ2に、モジュール群1をセクタ3に、
モジュール群1の予備領域をセクタ4に、モジュール群
2をセクタ5、セクタ6、セクタ7に、モジュール群2
の予備領域をセクタ8に、モジュール群3をセクタ9、
セクタ10に、モジュール群3の予備領域をセクタ11
に、モジュール群4をセクタ12に、モジュール群4の
予備領域をセクタ13に、それぞれ割り当ててある。
【0015】図2は、本発明のファームウェアの書き換
え方法を適用することができるデジタル放送受信装置の
ブロック図である。この図2において、1は、全体を制
御するCPUである。2は、ファームウェアを格納する
フラッシュメモリである。3は、プログラムの実行に必
要な各種データ及びダウンロードしたファームウェアを
一時的に保存するためのRAMである。4は受信部で、
受信したデジタル放送のRF信号を復調しトランスポー
トストリームに戻すように作用する。5はトランスポー
トデコーダで、トランスポートストリームから所望の番
組及びパケットを抜き出すように作用する。6はAVデ
コーダで、トランスポートデコーダ5によって抜き出さ
れたMPEGデータをデコードする。
え方法を適用することができるデジタル放送受信装置の
ブロック図である。この図2において、1は、全体を制
御するCPUである。2は、ファームウェアを格納する
フラッシュメモリである。3は、プログラムの実行に必
要な各種データ及びダウンロードしたファームウェアを
一時的に保存するためのRAMである。4は受信部で、
受信したデジタル放送のRF信号を復調しトランスポー
トストリームに戻すように作用する。5はトランスポー
トデコーダで、トランスポートストリームから所望の番
組及びパケットを抜き出すように作用する。6はAVデ
コーダで、トランスポートデコーダ5によって抜き出さ
れたMPEGデータをデコードする。
【0016】図3は、図2のデジタル放送受信装置にお
いて受信されるトランスポートストリームを示す図であ
る。受信したトランスポートストリームは、図3(A)
に示すようにパケットが多重化されたものであり、この
パケットとしては、圧縮符号化された映像信号や音声信
号を含んだパケット、伸張復号化時の同期基準クロック
を発生するための時刻基準情報PCR(Program Clock
Reference)を含んだパケット、番組選択情報PSI
(Program Specific Information)を含んだパケッ
ト、ファームウェアのアップデート情報を含んだパケッ
ト等がある。図3(B)に示すように、各々のパケット
17の先頭部分のパケットヘッダー18には、パケット
識別子PID(Packet IDentification)が付与されて
いる。
いて受信されるトランスポートストリームを示す図であ
る。受信したトランスポートストリームは、図3(A)
に示すようにパケットが多重化されたものであり、この
パケットとしては、圧縮符号化された映像信号や音声信
号を含んだパケット、伸張復号化時の同期基準クロック
を発生するための時刻基準情報PCR(Program Clock
Reference)を含んだパケット、番組選択情報PSI
(Program Specific Information)を含んだパケッ
ト、ファームウェアのアップデート情報を含んだパケッ
ト等がある。図3(B)に示すように、各々のパケット
17の先頭部分のパケットヘッダー18には、パケット
識別子PID(Packet IDentification)が付与されて
いる。
【0017】図3(C)は、番組選択情報PSIに含ま
れる番組に関連したパケットとそのパケット識別子PI
Dの例を示す。この例では、ファームウェアのバージョ
ンアップに必要な情報、新しいファームウェアモジュー
ルが、PID 0x1005で送られてくる。
れる番組に関連したパケットとそのパケット識別子PI
Dの例を示す。この例では、ファームウェアのバージョ
ンアップに必要な情報、新しいファームウェアモジュー
ルが、PID 0x1005で送られてくる。
【0018】図4は、トランスポートストリーム内のバ
ージョンアップ情報を示す。バージョンアップ情報は、
図示のように、バージョン情報21と、書き換えセクタ
番号22と、新しいプログラムデータ23とで構成され
る。
ージョンアップ情報を示す。バージョンアップ情報は、
図示のように、バージョン情報21と、書き換えセクタ
番号22と、新しいプログラムデータ23とで構成され
る。
【0019】図6は、本実施の形態1によるファームウ
ェアの書き換え後のフラッシュメモリ2のメモリ配置を
示す。ファームウェアの書き換え処理について、図5の
フローチャートを用いて説明する。
ェアの書き換え後のフラッシュメモリ2のメモリ配置を
示す。ファームウェアの書き換え処理について、図5の
フローチャートを用いて説明する。
【0020】ステップS100:先ず現在実行中のファ
ームウェアのバージョンとPID「0x1005」で送
られてきたバージョンアップ情報のバージョンとを比較
し、バージョンアップが必要かどうかを判断する。例え
ばバージョン情報の値が大きい方がバージョンが新しい
とすると、この例では図1に示すように現在実行中のフ
ァームウェアのバージョンが1で、図4に示すようにバ
ージョンアップ情報のバージョンが2なので、バージョ
ンアップが必要と判断し、バージョンアップを実行す
る。
ームウェアのバージョンとPID「0x1005」で送
られてきたバージョンアップ情報のバージョンとを比較
し、バージョンアップが必要かどうかを判断する。例え
ばバージョン情報の値が大きい方がバージョンが新しい
とすると、この例では図1に示すように現在実行中のフ
ァームウェアのバージョンが1で、図4に示すようにバ
ージョンアップ情報のバージョンが2なので、バージョ
ンアップが必要と判断し、バージョンアップを実行す
る。
【0021】ステップS101:バージョンアップが必
要と判断したら、フラッシュメモリ2におけるバージョ
ン情報が格納された領域13の値を、ファームウェアの
書き換え中を示すために、「0xff」に書き換える。
すなわちこの例では図1のセクタ2に格納されたバージ
ョン情報を「0xff」に書き換える。
要と判断したら、フラッシュメモリ2におけるバージョ
ン情報が格納された領域13の値を、ファームウェアの
書き換え中を示すために、「0xff」に書き換える。
すなわちこの例では図1のセクタ2に格納されたバージ
ョン情報を「0xff」に書き換える。
【0022】ステップS102、ステップS103、ス
テップS104:バージョンアップ情報内の書き換えセ
クタ番号22が「0xffff」でなければ、その書き
換えセクタ番号で指定されたセクタの内容を消去し、新
しいセクタデータを書き込む。そして、これらステップ
S102、ステップS103、ステップS104を、書
き換えセクタ番号22が「0xffff」になるまで繰
り返す。この例では、図4に示すように最初の書き換え
セクタ番号が3なので、セクタ3の内容を消去した後、
新しいセクタ3のデータを書き込む。また、次の書き換
えセクタ番号が4なので、セクタ4の内容を消去した
後、新しいセクタ4のデータを書き込む。図1において
セクタ4は予備の領域15として確保されていたが、新
しいモジュール群のサイズが大きくなったため、セクタ
4の予備領域15をも使用して書き換えを行う。
テップS104:バージョンアップ情報内の書き換えセ
クタ番号22が「0xffff」でなければ、その書き
換えセクタ番号で指定されたセクタの内容を消去し、新
しいセクタデータを書き込む。そして、これらステップ
S102、ステップS103、ステップS104を、書
き換えセクタ番号22が「0xffff」になるまで繰
り返す。この例では、図4に示すように最初の書き換え
セクタ番号が3なので、セクタ3の内容を消去した後、
新しいセクタ3のデータを書き込む。また、次の書き換
えセクタ番号が4なので、セクタ4の内容を消去した
後、新しいセクタ4のデータを書き込む。図1において
セクタ4は予備の領域15として確保されていたが、新
しいモジュール群のサイズが大きくなったため、セクタ
4の予備領域15をも使用して書き換えを行う。
【0023】ステップS105:ファームウェアの書き
換えが終了した後、フラッシュメモリ2のバージョン情
報が格納された領域13を新しいバージョンに書き換え
る。この例ではセクタ2のバージョン情報を2に書き換
える。
換えが終了した後、フラッシュメモリ2のバージョン情
報が格納された領域13を新しいバージョンに書き換え
る。この例ではセクタ2のバージョン情報を2に書き換
える。
【0024】以上の処理を行うことにより、図6に示す
ようにモジュール群1が新しいモジュール群に書き換え
られ、ファームウェアのバージョンアップが行われる。
なお、電源立ち上げ時にはバージョン情報が格納された
領域13をチェックし、バージョン情報が「0xff」
であればファームウェア書き換えが正常に終了していな
いと判断する。そして、改めてファームウェアのバージ
ョンアップ処理を行うことにより、ファームウェアの書
き換え中に電源が絶たれるなどの異常が発生しても、シ
ステムを動作させることが可能になる。
ようにモジュール群1が新しいモジュール群に書き換え
られ、ファームウェアのバージョンアップが行われる。
なお、電源立ち上げ時にはバージョン情報が格納された
領域13をチェックし、バージョン情報が「0xff」
であればファームウェア書き換えが正常に終了していな
いと判断する。そして、改めてファームウェアのバージ
ョンアップ処理を行うことにより、ファームウェアの書
き換え中に電源が絶たれるなどの異常が発生しても、シ
ステムを動作させることが可能になる。
【0025】このようなファームウェアの書き換えを行
うことにより、ファームウェア全体を書き換えることな
く、バージョンアップの必要なモジュール群だけを書き
換えることができる。また各モジュール群が格納された
領域14ごとに予備の領域15を用意してあるので、モ
ジュールサイズが大きくなっても容易に書き換えができ
る。
うことにより、ファームウェア全体を書き換えることな
く、バージョンアップの必要なモジュール群だけを書き
換えることができる。また各モジュール群が格納された
領域14ごとに予備の領域15を用意してあるので、モ
ジュールサイズが大きくなっても容易に書き換えができ
る。
【0026】(実施の形態2)以下では、請求項5及び
請求項6に記載された本発明の実施の形態2について、
図面を参照して説明する。図7は、本発明の実施の形態
2におけるフラッシュメモリ2のメモリ空間を示す図で
ある。このフラッシュメモリ2は、実施の形態1と同様
に、図2に示すようなデジタル放送受信装置において使
用することができる。
請求項6に記載された本発明の実施の形態2について、
図面を参照して説明する。図7は、本発明の実施の形態
2におけるフラッシュメモリ2のメモリ空間を示す図で
ある。このフラッシュメモリ2は、実施の形態1と同様
に、図2に示すようなデジタル放送受信装置において使
用することができる。
【0027】図7に示すように、フラッシュメモリ2
は、ブートプログラムが格納された領域11と、ファー
ムウェア書き換えプログラムが格納された領域12と、
バージョン情報が格納された領域13と、モジュールの
集まりで構成されたモジュール群が格納された領域14
と、各モジュール群に対応する予備の領域15と、各モ
ジュール群に共通の共通予備領域25とで構成されてい
る。この例では、ブートプログラムをセクタ0に、ファ
ームウェア書き換えプログラムをセクタ1に、バージョ
ン情報をセクタ2に、モジュール群1をセクタ3に、モ
ジュール群1の予備領域をセクタ4に、モジュール群2
をセクタ5とセクタ6に、モジュール群2の予備領域を
セクタ7に、モジュール群mをセクタnに、モジュール
群mの予備領域をセクタn+1に割り当て、そして共通
予備領域25をセクタn+2以降に割り当てている。こ
のとき、共通予備領域25は、モジュール群の中で一番
大きいサイズの領域とそのモジュール群の予備領域とを
加えたサイズよりも大きなサイズの領域を確保してい
る。この場合、2セクタを使用しているモジュール群2
のサイズが最も大きいとすると、モジュール群2の予備
領域を加えて3セクタ分になるので、共通予備領域25
として、4セクタ分以上の連続した領域を確保する。
は、ブートプログラムが格納された領域11と、ファー
ムウェア書き換えプログラムが格納された領域12と、
バージョン情報が格納された領域13と、モジュールの
集まりで構成されたモジュール群が格納された領域14
と、各モジュール群に対応する予備の領域15と、各モ
ジュール群に共通の共通予備領域25とで構成されてい
る。この例では、ブートプログラムをセクタ0に、ファ
ームウェア書き換えプログラムをセクタ1に、バージョ
ン情報をセクタ2に、モジュール群1をセクタ3に、モ
ジュール群1の予備領域をセクタ4に、モジュール群2
をセクタ5とセクタ6に、モジュール群2の予備領域を
セクタ7に、モジュール群mをセクタnに、モジュール
群mの予備領域をセクタn+1に割り当て、そして共通
予備領域25をセクタn+2以降に割り当てている。こ
のとき、共通予備領域25は、モジュール群の中で一番
大きいサイズの領域とそのモジュール群の予備領域とを
加えたサイズよりも大きなサイズの領域を確保してい
る。この場合、2セクタを使用しているモジュール群2
のサイズが最も大きいとすると、モジュール群2の予備
領域を加えて3セクタ分になるので、共通予備領域25
として、4セクタ分以上の連続した領域を確保する。
【0028】図8は、各モジュール群のプログラム構造
を示す図である。各モジュール群は、図8に示すように
最初にモジュール群の中の各モジュールへジャンプする
命令を配置したエントリーテーブル31を持ち、その後
ろに各モジュール32が配置されている。
を示す図である。各モジュール群は、図8に示すように
最初にモジュール群の中の各モジュールへジャンプする
命令を配置したエントリーテーブル31を持ち、その後
ろに各モジュール32が配置されている。
【0029】図9は、本実施の形態2におけるバージョ
ンアップ情報のデータ構成を示す。また図10は、本実
施の形態2によるファームウェアの書き換え後のフラッ
シュメモリ2のメモリ配置を示す。
ンアップ情報のデータ構成を示す。また図10は、本実
施の形態2によるファームウェアの書き換え後のフラッ
シュメモリ2のメモリ配置を示す。
【0030】この実施の形態2におけるファームウェア
の書き換え処理について、実施の形態1と同様に図5の
フローチャートを用いて説明する。ステップS100:
先ず現在実行中のファームウェアのバージョンとPID
「0x1005」で送られてきたバージョンアップ情報
のバージョンとを比較し、バージョンアップが必要かど
うかを判断する。例えば実施の形態1の場合と同様にバ
ージョン情報の値が大きい方がバージョンが新しいとす
ると、この例では図7に示すように現在実行中のファー
ムウェアのバージョンが2で、図9に示すようにバージ
ョンアップ情報のバージョンが3なので、バージョンア
ップが必要と判断し、バージョンアップを実行する。
の書き換え処理について、実施の形態1と同様に図5の
フローチャートを用いて説明する。ステップS100:
先ず現在実行中のファームウェアのバージョンとPID
「0x1005」で送られてきたバージョンアップ情報
のバージョンとを比較し、バージョンアップが必要かど
うかを判断する。例えば実施の形態1の場合と同様にバ
ージョン情報の値が大きい方がバージョンが新しいとす
ると、この例では図7に示すように現在実行中のファー
ムウェアのバージョンが2で、図9に示すようにバージ
ョンアップ情報のバージョンが3なので、バージョンア
ップが必要と判断し、バージョンアップを実行する。
【0031】ステップS101:バージョンアップが必
要と判断したら、フラッシュメモリ2におけるバージョ
ン情報が格納された領域13の値を、ファームウェアの
書き換え中を示すために、「0xff」に書き換える。
すなわちこの例では図7のセクタ2に格納されたバージ
ョン情報を「0xff」に書き換える。
要と判断したら、フラッシュメモリ2におけるバージョ
ン情報が格納された領域13の値を、ファームウェアの
書き換え中を示すために、「0xff」に書き換える。
すなわちこの例では図7のセクタ2に格納されたバージ
ョン情報を「0xff」に書き換える。
【0032】ステップS102、ステップS103、ス
テップS104:バージョンアップ情報内の書き換えセ
クタ番号22が「0xffff」でなければ、その書き
換えセクタ番号で指定されたセクタの内容を消去し、新
しいセクタデータを書き込む。そして、これらのステッ
プS102、ステップS103、ステップS104を、
書き換えセクタ番号が「0xffff」になるまで繰り
返す。この例では、図9に示すように最初の書き換えセ
クタ番号が5なので、セクタ5の内容を消去した後、新
しいセクタ5のデータを書き込む。また、次の書き換え
セクタ番号が(n+2)なので、セクタ(n+2)の内
容を消去した後、新しいセクタ(n+2)のデータを書
き込む。同様に、続く書き換えセクタ番号が(n+
3)、(n+4)、(n+5)なので、それぞれセクタ
(n+3)、(n+4)、(n+5)の内容を消去した
後、新しいセクタ(n+3)、(n+4)、(n+5)
のデータを書き込む。この場合は、新しいモジュール群
2のサイズが古いモジュール群の格納されている領域1
4とその予備領域15を加えたサイズよりも大きいた
め、共通の予備領域25を使用する。
テップS104:バージョンアップ情報内の書き換えセ
クタ番号22が「0xffff」でなければ、その書き
換えセクタ番号で指定されたセクタの内容を消去し、新
しいセクタデータを書き込む。そして、これらのステッ
プS102、ステップS103、ステップS104を、
書き換えセクタ番号が「0xffff」になるまで繰り
返す。この例では、図9に示すように最初の書き換えセ
クタ番号が5なので、セクタ5の内容を消去した後、新
しいセクタ5のデータを書き込む。また、次の書き換え
セクタ番号が(n+2)なので、セクタ(n+2)の内
容を消去した後、新しいセクタ(n+2)のデータを書
き込む。同様に、続く書き換えセクタ番号が(n+
3)、(n+4)、(n+5)なので、それぞれセクタ
(n+3)、(n+4)、(n+5)の内容を消去した
後、新しいセクタ(n+3)、(n+4)、(n+5)
のデータを書き込む。この場合は、新しいモジュール群
2のサイズが古いモジュール群の格納されている領域1
4とその予備領域15を加えたサイズよりも大きいた
め、共通の予備領域25を使用する。
【0033】ステップS105:ファームウェアの書き
換えが終了した後、フラッシュメモリ2のバージョン情
報領域13を新しいバージョンに書き換える。この例で
はセクタ2のバージョン情報を3に書き換える。
換えが終了した後、フラッシュメモリ2のバージョン情
報領域13を新しいバージョンに書き換える。この例で
はセクタ2のバージョン情報を3に書き換える。
【0034】以上の処理を行うことにより、図10に示
すように、セクタ5のモジュール群2が共通の予備領域
25を使用して新しいモジュール群35に書き換えら
れ、ファームウェアのバージョンアップが行われる。
すように、セクタ5のモジュール群2が共通の予備領域
25を使用して新しいモジュール群35に書き換えら
れ、ファームウェアのバージョンアップが行われる。
【0035】また実施の形態1と同様に、電源立ち上げ
時にはバージョン情報が格納された領域13をチェック
して、バージョン情報が「0xff」であればファーム
ウェア書き換えが正常に終了していないと判断する。そ
して、改めてファームウェアのバージョンアップ処理を
行うことにより、ファームウェアの書き換え中に電源が
絶たれるなどの異常が発生しても、システムを動作させ
ることが可能になる。
時にはバージョン情報が格納された領域13をチェック
して、バージョン情報が「0xff」であればファーム
ウェア書き換えが正常に終了していないと判断する。そ
して、改めてファームウェアのバージョンアップ処理を
行うことにより、ファームウェアの書き換え中に電源が
絶たれるなどの異常が発生しても、システムを動作させ
ることが可能になる。
【0036】このようにしてファームウェアの書き換え
を行うことにより、ファームウェア全体を書き換えるこ
となく、バージョンアップの必要なモジュール群だけを
書き換えることができる。また各モジュール群領域毎の
予備領域15と、各モジュール群に共通の予備領域25
とを用意してあるので、モジュールサイズが大きくなっ
ても容易に書き換えができる。
を行うことにより、ファームウェア全体を書き換えるこ
となく、バージョンアップの必要なモジュール群だけを
書き換えることができる。また各モジュール群領域毎の
予備領域15と、各モジュール群に共通の予備領域25
とを用意してあるので、モジュールサイズが大きくなっ
ても容易に書き換えができる。
【0037】
【発明の効果】以上のように本発明によれば、バージョ
ンアップの必要なモジュールだけを書き換えればよく、
このためダウンロードや書き込みの時間を短縮でき、ま
た書き換えるモジュールのサイズが大きくなってもファ
ームウェア全体を書き換えることなくファームウェアの
バージョンアップを行うことができる。
ンアップの必要なモジュールだけを書き換えればよく、
このためダウンロードや書き込みの時間を短縮でき、ま
た書き換えるモジュールのサイズが大きくなってもファ
ームウェア全体を書き換えることなくファームウェアの
バージョンアップを行うことができる。
【図1】本発明の実施の形態1におけるフラッシュメモ
リのメモリ空間を示す図
リのメモリ空間を示す図
【図2】本発明のファームウェアの書き換え方法を適用
することができるデジタル放送受信装置のブロック図
することができるデジタル放送受信装置のブロック図
【図3】図2のデジタル放送受信装置において受信され
るトランスポートストリームを示す図
るトランスポートストリームを示す図
【図4】本発明の実施の形態1におけるバージョンアッ
プ情報データを示す図
プ情報データを示す図
【図5】本発明にもとづくファームウェア書き換え処理
を示すフローチャート
を示すフローチャート
【図6】本発明の実施の形態1におけるファームウェア
の書き換え後のフラッシュメモリのメモリ配置を示す図
の書き換え後のフラッシュメモリのメモリ配置を示す図
【図7】本発明の実施の形態2におけるフラッシュメモ
リのメモリ空間を示す図
リのメモリ空間を示す図
【図8】本発明の実施の形態2におけるモジュール群の
プログラム構造を示す図
プログラム構造を示す図
【図9】本発明の実施の形態2におけるバージョンアッ
プ情報データを示す図
プ情報データを示す図
【図10】本発明の実施の形態2におけるファームウェ
アの書き換え後のフラッシュメモリのメモリ配置を示す
図
アの書き換え後のフラッシュメモリのメモリ配置を示す
図
2 フラッシュメモリ 13 バージョン情報が格納された領域 14 モジュール群が格納された領域 15 予備の領域 25 共通予備領域 31 エントリーテーブル
Claims (6)
- 【請求項1】 ファームウェアを格納するメモリを複数
の領域に分割し、領域毎に、複数のモジュール群に分割
されたファームウェア本体を配置し、ファームウェアの
バージョンアップ時には、変更のあるモジュール群が格
納された領域のみを書き換えることを特徴とするファー
ムウェアの書き換え方法。 - 【請求項2】 モジュール群毎におけるそのモジュール
群が格納された領域と連続したアドレスに予備の格納領
域を配置し、ファームウェアのバージョンアップ時に、
新しいモジュール群のサイズが古いモジュール群のサイ
ズより大きい場合は、古いモジュール群が格納された領
域とそれに対応する予備の格納領域とを使用してそのモ
ジュール群を書き換えることを特徴とする請求項1記載
のファームウェアの書き換え方法。 - 【請求項3】 メモリを複数に分割して形成された領域
のうちの特定の領域をバージョン情報の格納領域として
用い、ファームウェアのバージョンアップ時には、先ず
古いバージョン情報をバージョン情報以外の特定の値に
書き換え、その後ファームウェアの書き換えを行い、書
き換えが正常に終了した後バージョン情報を新しいバー
ジョン情報に書き換えることを特徴とする請求項1また
は2記載のファームウェアの書き換え方法。 - 【請求項4】 メモリをセクタ単位で書き換え可能なフ
ラッシュメモリとすることを特徴とする請求項1から3
までのいずれか1項記載のファームウェアの書き換え方
法。 - 【請求項5】 メモリを複数に分割して形成された各領
域毎に、複数のモジュール群に分割されたファームウェ
ア本体と、この分割されたモジュール群のうち最も大き
なサイズのモジュール群より大きなサイズの予備の格納
領域とを配置し、ファームウェアのバージョンアップ時
に新しいモジュール群が古いモジュール群の格納された
領域内に納まるなら、その領域を書き換え、納まらない
なら、前記予備の領域に新しいモジュール群を書き込
み、古いモジュール群が格納されている領域に、新しい
モジュール群を書き込んだ予備領域へ制御を移す命令を
書き込むことを特徴とする請求項1から4までのいずれ
か1項記載のファームウェアの書き換え方法。 - 【請求項6】 モジュール群に、各モジュールへ制御を
移す命令を書き込んだエントリーテーブルを配置して、
各モジュールへ制御を移すことを特徴とする請求項5記
載のファームウェアの書き換え方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001147147A JP2002342100A (ja) | 2001-05-17 | 2001-05-17 | ファームウェアの書き換え方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001147147A JP2002342100A (ja) | 2001-05-17 | 2001-05-17 | ファームウェアの書き換え方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002342100A true JP2002342100A (ja) | 2002-11-29 |
Family
ID=18992674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001147147A Pending JP2002342100A (ja) | 2001-05-17 | 2001-05-17 | ファームウェアの書き換え方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002342100A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100631762B1 (ko) | 2005-01-31 | 2006-10-11 | 삼성전자주식회사 | 펌웨어 파일 정보를 관리하는 장치, 펌웨어 파일 정보를이용하여 펌웨어를 업데이트하는 장치, 및 그 방법 |
KR100670797B1 (ko) | 2004-12-17 | 2007-01-17 | 한국전자통신연구원 | 보조 저장장치가 없는 환경에서 실시간 패치 장치 및 그방법 |
JP2008500606A (ja) * | 2004-04-22 | 2008-01-10 | オープンティブイ・インコーポレーテッド | 分散コンピューティング・システム内のデータを管理するための方法 |
WO2013133212A1 (ja) * | 2012-03-09 | 2013-09-12 | 三菱電機株式会社 | 無線通信端末、ソフトウェア更新システムおよびソフトウェア更新方法 |
-
2001
- 2001-05-17 JP JP2001147147A patent/JP2002342100A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008500606A (ja) * | 2004-04-22 | 2008-01-10 | オープンティブイ・インコーポレーテッド | 分散コンピューティング・システム内のデータを管理するための方法 |
JP4719215B2 (ja) * | 2004-04-22 | 2011-07-06 | オープンティブイ・インコーポレーテッド | インタラクティブ・アプリケーションに使用されるモジュールの管理 |
KR100670797B1 (ko) | 2004-12-17 | 2007-01-17 | 한국전자통신연구원 | 보조 저장장치가 없는 환경에서 실시간 패치 장치 및 그방법 |
KR100631762B1 (ko) | 2005-01-31 | 2006-10-11 | 삼성전자주식회사 | 펌웨어 파일 정보를 관리하는 장치, 펌웨어 파일 정보를이용하여 펌웨어를 업데이트하는 장치, 및 그 방법 |
WO2013133212A1 (ja) * | 2012-03-09 | 2013-09-12 | 三菱電機株式会社 | 無線通信端末、ソフトウェア更新システムおよびソフトウェア更新方法 |
US9354861B2 (en) | 2012-03-09 | 2016-05-31 | Fujitsu Limited | Wireless communication terminal, software update system, and software update method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4279902B2 (ja) | ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法 | |
US20070094656A1 (en) | Self-modifying copier for downloading executable code in a non-disruptive manner | |
JP2000357095A (ja) | 埋込式システムにソフトウェアをダウンロードする方法および装置 | |
US20090144527A1 (en) | Stream processing apparatus, method for stream processing and data processing system | |
US20010008011A1 (en) | Computer | |
CN113064604A (zh) | 一种固件升级方法和装置 | |
JP2010257367A (ja) | プログラムの更新システム、プログラム更新機能付き電子機器 | |
KR0184346B1 (ko) | 롬 프로그램 변경기능을 가진 마이크로컴퓨터 | |
JP2000222292A (ja) | フラッシュメモリを利用したデータ管理方法 | |
US20030163805A1 (en) | Image processing apparatus, download method, and download program product for downloading software | |
CN106325911A (zh) | 一种实现bootrom升级的方法及装置 | |
US6925522B2 (en) | Device and method capable of changing codes of micro-controller | |
JP2002342100A (ja) | ファームウェアの書き換え方法 | |
JPH11143704A (ja) | 圧縮データパッチ修正方式 | |
JP2000350185A (ja) | 制御プログラム送信方法及び制御プログラムダウンロード方法 | |
JP2000311087A (ja) | データ伝送装置 | |
JP4084461B2 (ja) | リモートダウンロードが可能な端末装置、その端末装置が備えるローダプログラムに適用されるダウンロード方法、そのローダプログラムを記録した記録媒体 | |
JP2003122578A (ja) | 放送受信装置および方法 | |
JP2001117766A (ja) | マスクromのパッチ機能を備えた情報処理装置 | |
US20050097540A1 (en) | Program updating method and terminal device | |
JP2002312186A (ja) | 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法 | |
US6961869B2 (en) | Electronic apparatus and correction method | |
JP2007066326A (ja) | 記憶装置、データ処理装置並びにデータ処理方法 | |
JPH09265391A (ja) | プログラムrom訂正機能付き制御装置及び同制御装置を有する電子機器並びにプログラムの訂正方法 | |
CN117312233B (zh) | 现场可编程逻辑门阵列芯片、及其构建方法及加速器设备 |