JP2010092324A - Broadcast receiver and software update method - Google Patents
Broadcast receiver and software update method Download PDFInfo
- Publication number
- JP2010092324A JP2010092324A JP2008262523A JP2008262523A JP2010092324A JP 2010092324 A JP2010092324 A JP 2010092324A JP 2008262523 A JP2008262523 A JP 2008262523A JP 2008262523 A JP2008262523 A JP 2008262523A JP 2010092324 A JP2010092324 A JP 2010092324A
- Authority
- JP
- Japan
- Prior art keywords
- program
- update
- firmware
- recovery
- broadcast receiving
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は組み込み制御装置内部に格納され動作するソフトウェア(以下,装置内に組み込まれるプログラムを総称してファームウェアとし,ファームウェアの一部の構成要素としてプログラムと呼ぶ)の更新方法に関する技術であり,特に放送電波や有線無線のネットワークを利用して,アップデートされたプログラムを受信して,放送受信装置自身が持つファームウェアの一部のプログラムもしくはファームウェア全てをアップデートすることが可能な放送受信装置及びソフトウェア更新方法に関係する。 The present invention relates to a technique for updating software that is stored and operates inside an embedded control device (hereinafter, programs incorporated in the device are collectively referred to as firmware and a program as a part of the firmware). Broadcast receiving apparatus and software updating method capable of receiving an updated program using a broadcast radio wave or a wired wireless network and updating a part of the firmware or all the firmware of the broadcast receiving apparatus itself Related to.
近年のデジタル放送の普及に伴い,デジタル放送が受信可能なテレビやSTB(セットトップボックス)などの放送受信装置においては,従来と比べて規模の大きいプログラムがファームウェアとして内蔵されるようになった。 With the spread of digital broadcasting in recent years, broadcast receivers such as TVs and STBs (set top boxes) that can receive digital broadcasts have built in programs as firmware that are larger than conventional programs.
上記のファームウェアは多くの機能を有し,また複数のプログラムから構成される。これによりプログラム単位もしくはファームウェア全体の機能追加や性能向上,バグ修正に伴うソフトウェア更新,または放送信号送出側の仕様変更に伴った更新など,ユーザ家庭で利用されている間にもファームウェアの更新が必要となる場合が以前よりも多くなっている。 The above firmware has many functions and is composed of a plurality of programs. As a result, it is necessary to update the firmware while it is being used at the user's home, such as adding functions or improving the performance of the entire program or firmware, updating software accompanying bug correction, or updating due to changes in specifications on the broadcast signal transmission side. There are more cases than before.
これらの放送受信装置のファームウェア更新においては,更新のためのファームウェア情報やファームウェアデータは,放送電波やネットワーク回線を通じて各放送受信装置に通知・送信される場合が多い。 In updating the firmware of these broadcast receiving apparatuses, firmware information and firmware data for updating are often notified / transmitted to each broadcast receiving apparatus through broadcast radio waves or network lines.
このファームウェア情報やファームウェアデータを放送受信装置が受信すると,放送受信装置は自身の装置内部にある不揮発性メモリやハードディスクなどに保管されたファームウェアの一部もしくは全部を更新する。 When the broadcast receiving device receives the firmware information and firmware data, the broadcast receiving device updates a part or all of the firmware stored in a nonvolatile memory or a hard disk in its own device.
上記更新作業の実施は,画面表示などによりユーザに対してファームウェアの更新開始を通知した上で更新を開始する場合や,深夜などに放送受信装置が待機状態になっている時間に自動的に更新を行う場合がある。 The above update operation is performed automatically when the update is started after notifying the user of the start of the firmware update by screen display or when the broadcast receiving device is in a standby state at midnight or the like. May do.
これらのファームウェア更新は,更新に失敗すると放送受信装置が起動できなくなる可能性があるので,更新は極力安全な方法で実施することが望まれる。このような要望に対して,安全な方法でファームウェアを更新するひとつの方法として,例えば特許文献1に記載の装置制御方法がある。特許文献1では、制御装置内の不揮発性メモリに余裕領域を設け,EEPROMに新しいバージョンのファームウェアを書き込むと同時に,余裕領域に古いバージョンのファームウェアを保持させる制御手段を備え,RAMに新バージョンのファームウェアをダウンロードするときに,旧バージョンのファームウェアを残しておくバックアップ領域を設け,新バージョンのファームウェアに問題が発生した場合には復旧リセット信号を発生させることにより,旧バージョンのファームウェアで起動する装置制御方法を提案している。
These firmware updates may fail to activate the broadcast receiving device if the update fails, so it is desirable that the update be performed in a safe manner as much as possible. In response to such a demand, for example, there is a device control method described in
また,安全な方法でファームウェアを更新する別の一例として,例えば特許文献2に記載の更新方法がある。特許文献2では,受信した新しいファームウェアによって装置を完全に運用する前に,新ファームウェアでの試運転を行い,問題があった場合には旧ファームウェアでの運用に復帰する更新方法を提案している。
ファームウェアの一部もしくは全てを構成するプログラムの更新を行う際に,不揮発メモリ内にプログラムを格納可能な2つ以上の領域を設け,旧いバージョンのプログラムと新しいプログラムという2つのプログラムを一時的に保持し,新しいバージョンのプログラムに問題があった場合には旧いバージョンのプログラムを再度利用して装置を動作させるという上記の特許文献1記載の装置制御方法及び特許文献2記載の更新手法では,装置が有する不揮発性メモリを、更新したいプログラムのサイズの少なくとも2倍のサイズ用意する必要があるという問題があった。
When updating a program that makes up part or all of the firmware, create two or more areas in the non-volatile memory that can store the program, and temporarily hold the two programs: the old version program and the new program In the apparatus control method described in
そして、これは,近年の放送受信装置において,機能の増加やGUIの高精細化に伴ってプログラムのサイズが増大していることを考えると,ハードウェアのコストという観点からは必ずしも有利とはならない。 This is not necessarily advantageous from the viewpoint of hardware cost, considering that the size of a program has increased with an increase in functions and a higher definition of GUI in recent broadcast receiving apparatuses. .
本発明は上記事情に鑑みてなされるものであり、プログラムを格納するための不揮発性メモリのサイズを抑えつつ,より安全にプログラムの更新を実施することが可能な放送受信装置及びソフトウェア更新方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides a broadcast receiving apparatus and software update method capable of updating a program more safely while suppressing the size of a nonvolatile memory for storing the program. The purpose is to provide.
本発明の放送受信装置は、回復用プログラム及び更新用プログラムを受信してソフトウェア更新を行なう放送受信装置であって、回復用プログラム及び更新用プログラムを受信する受信手段と、プログラムを記憶する記憶手段と、更新用プログラムによってソフトウェア更新を実行する制御手段と、を備え、制御手段は、受信手段が回復用プログラム及び更新用プログラムを受信した場合に、回復用プログラムを記憶手段の所定領域に書き込むと共に所定領域以外の領域に更新用プログラムを書き込み、更新用プログラムの書込みが成功した場合は所定領域に更新用プログラムを上書きし、更新用プログラムの書込みが失敗した場合は所定領域に書き込んだ回復用プログラムを実行することを特徴とする。 The broadcast receiving apparatus of the present invention is a broadcast receiving apparatus that receives a recovery program and an update program and performs software update, a receiving means for receiving the recovery program and the update program, and a storage means for storing the program And a control means for executing software update by the update program. When the receiving means receives the recovery program and the update program, the control means writes the recovery program in a predetermined area of the storage means. The update program is written in an area other than the predetermined area, and when the update program is successfully written, the update program is overwritten in the predetermined area. When the update program fails to write, the recovery program is written in the predetermined area. It is characterized by performing.
また、本発明のソフトウェア更新方法は、回復用プログラム及び更新用プログラムを受信する受信ステップと、受信した回復用プログラム及び更新用プログラムを記憶する記憶ステップと、記憶した更新用プログラムによってソフトウェア更新を実行する実行ステップと、を備え、実行ステップは、受信ステップが回復用プログラム及び更新用プログラムを受信した場合に、回復用プログラムを記憶ステップの所定領域に書き込むと共に所定領域以外の領域に更新用プログラムを書込み、更新用プログラムの書込みが成功した場合は所定領域に更新用プログラムを上書きし、更新用プログラムの書込みが失敗した場合は所定領域に書き込んだ回復用プログラムを実行する、ことを特徴とする The software update method of the present invention includes a receiving step for receiving a recovery program and an update program, a storage step for storing the received recovery program and the update program, and executing software update by the stored update program. An execution step, and when the reception step receives the recovery program and the update program, the execution step writes the recovery program in a predetermined area of the storage step and installs the update program in an area other than the predetermined area. The writing of the update program is overwritten in the predetermined area when the writing and the writing of the updating program are successful, and the recovery program written in the predetermined area is executed when the writing of the updating program fails.
プログラムの更新失敗への対策を目的として不揮発性メモリを複数個,あるいはプログラムサイズの複数倍のサイズを持つ必要がなく,基板サイズや部品コストを削減することが可能となる。 It is not necessary to have a plurality of non-volatile memories or a multiple of the program size for the purpose of dealing with program update failure, and the board size and component costs can be reduced.
(第1の実施の形態)
本発明で提案する放送受信装置のソフトウェア更新方法の第1の実施形態を以下に説明する。
(First embodiment)
A first embodiment of a software update method for a broadcast receiving apparatus proposed in the present invention will be described below.
図1は本発明の第1の実施形態である放送受信装置100のブロック図である。アンテナによって受信された放送電波は,受信手段101において指定された周波数の信号が抽出され,復調手段102においてデジタル映像・音声信号や,放送に付帯するデータ信号に復調される。復調された信号のうち,デジタル映像・音声に関わる信号は,映像音声デコーダ手段103によって映像や音声信号にデコード処理され,映像音声出力として映像表示装置120や音声再生装置121に出力されユーザに視聴される。
FIG. 1 is a block diagram of a
一方,復調された信号に含まれる情報のうち,放送に付帯するデータや放送受信装置100で利用可能なデータは,CPU105で処理されることを目的として後述のRAM107やフラッシュメモリ108に記憶されるものがある。これは例えば放送に付帯するデータとしては電子番組表で表示されるような番組名や番組詳細を記述したSI(サービス情報)データがあり,放送受信装置100で利用可能なデータは放送受信装置のアップデートを目的としたプログラムデータ(ファームウェアの全て,もしくは一部のデータ)が考えられる。
On the other hand, of the information included in the demodulated signal, data incidental to the broadcast and data usable by the
CPU105は放送受信装置100全体のシステムを管理するマイクロコンピュータであり、各手段およびメッセージの制御を行う。
The
バスコントローラ106はCPU105と他のデバイスとの通信をおこなうためのコントローラである。このバスコントローラ106を経由してCPU105と通信を行うデバイスには例えばRAM107やフラッシュメモリ108がある。
The
RAM107はCPU105がデータ処理や演算を行う際のワークメモリとして利用される揮発性のメモリである。
The
フラッシュメモリ108は書換え可能な不揮発性メモリであり,放送受信装置100が動作するためのファームウェアを格納する。
The
図2はフラッシュメモリ108に格納されたファームウェアをイメージで表現した図である。フラッシュメモリ108の内部は,大きくは2つのブロックに分かれている。
FIG. 2 is a diagram representing the firmware stored in the
BootCode領域201は,放送受信装置100が起動するために必要なBootCode(BootCodeプログラム)を格納するための領域である。BootCodeとは放送受信装置100の起動に必要な最低限のプログラムのことであり,放送受信装置100の起動においてはまずBootCodeが実行され,BootCodeはCPU105の初期設定を行い,放送受信装置100全体の起動のためにRAM107やフラッシュメモリ108を動作可能にする。
The BootCode
ProgramCode領域202は,BootCodeによって呼び出されるProgramCode(アプリケーションプログラム、ProgramCodeプログラム)を格納する領域である。ProgramCodeとは,オペレーションシステム(OS)の機能や,放送受信に必要なデバイスの制御機能や,ユーザに映像音声やGUIを表示するための機能を持ったプログラムである。
The
なお,本実施の形態1の説明においては,ファームウェアはフラッシュメモリ108に格納された装置組み込みプログラムの全体を示すものとし,BootCodeは放送受信装置100が起動された時にまず起動されるプログラムとし,ProgramCodeはBootCodeにより起動されユーザにサービスや機能を提供するプログラムと位置づける。
In the description of the first embodiment, the firmware indicates the entire apparatus built-in program stored in the
また,本実施の形態1においては,BootCodeおよびProgramCodeなどのプログラムを総称してファームウェアと呼ぶこととする。本実施の形態1におけるファームウェア更新方法としてはBootCodeおよびProgramCodeのいずれの更新も当てはまるが以下の説明においてはProgramCodeのプログラム更新における手順・動作を説明することとする。 In the first embodiment, programs such as BootCode and ProgramCode are collectively referred to as firmware. As the firmware update method in the first embodiment, both BootCode and ProgramCode are applicable, but in the following description, procedures and operations in ProgramCode program update will be described.
図3は放送受信装置100の起動時の動作の様子を示すフローチャートである。放送受信装置100に電源が入れられると,CPU105はまずBootCode領域201に格納されているBootCodeを実行する(S301)。このBootCodeには,主としてProgramCodeをRAM107上にロードするための機能とProgramCodeの正当性を確認するためのプログラムが含まれている。これは一般的には放送受信装置100のような装置は,ProgramCodeはフラッシュメモリ108からRAM107に複製・展開された上でCPU105によりプログラムの命令が処理されるためである。このBootCodeは通常は放送受信装置100の生産時に書き込まれ,以降は上書きされることがないため,プログラム動作に問題が出ることは通常発生しえない。
FIG. 3 is a flowchart showing an operation state when the
次に,CPU105はBootCodeに記述されたプログラムに従い,ProgramCode領域202の正当性の確認を行う(S302)。この処理はProgramCode領域202に格納されたプログラムのデータの正当性を確認するものであり,CPU105がProgramCodeを実行できる状態になることを確認するための処理である。この処理は通常はProgramCodeのCRCチェックによるデータの完全性の確認などがある。
Next, the
次に,ProgramCodeの正当性が確認されると,CPU105はProgramCodeをRAM107にロードする(S303)。
Next, when the validity of the ProgramCode is confirmed, the
次に,CPU105はRAM107上にロードされたProgramCodeを実行する(S304)。
Next, the
その後,CPU105はProgramCodeに記述された処理手順に従って演算やデバイス制御の動作を行い,映像音声の受信処理・再生処理・出力処理を行う(S305)。
Thereafter, the
図4は放送受信装置100におけるフラッシュメモリ108の内部の様子をより詳しく示した図である。
FIG. 4 is a diagram showing the internal state of the
フラッシュメモリ108にBootCode領域201とProgramCode領域202が存在することは先に述べたが,本実施の形態1における放送受信装置100においては,フラッシュメモリ108内部は幾つかのブロックにより構成されており,図4におけるフラッシュメモリ108においては,7ブロックに分割されている様子を示している。この実施の形態1では7ブロックのうち1ブロックはBootCode領域201に割り当てられており,残り6ブロックがProgramCode領域202に割り当てられている。
As described above, the
またここではProgramCode領域202に割り当てられている6ブロックのうちの先頭部分のブロックをBLK−S00と表示している。BLK−S00はProgramCode領域202における共通領域と呼ぶ。BLK−S00以外の5ブロック部分は,BLK−P00からBLK−P04とし,ProgramCode専用領域と呼ぶ。なお,共通領域およびProgram専用領域の役割については後述する。
Here, the block at the head of the six blocks allocated to the
次に,本実施の形態1における放送受信装置100でのProgramCode領域202に格納されたProgramCodeの更新手順について説明する。
Next, a procedure for updating the Program Code stored in the
図5には一般例の説明を目的として,本実施の形態1で提案するファームウェア更新方法を利用しない場合の一般的な放送受信装置100のファームウェア更新手順の一例を示す。
FIG. 5 shows an example of a firmware update procedure of a general
放送受信装置100が動作中であり,放送信号が受信できる環境において,放送受信装置100のファームウェアを更新する必要が発生した場合には,更新され放送受信装置で動作させるための更新プログラムを格納したデータ(DLDATA1)を送信局から放送信号を経由して放送受信装置100へ送出する(S501)。
In an environment where the
なお,DLDATA1は通常は放送受信装置100のメーカや型番,更新するファームウェアバージョンなどを識別するための識別符号を含み,この識別符号によりファームウェア更新対象とする放送受信装置100を特定するが,この識別方法については一般的であるため説明を省略する。
Note that DLDATA1 normally includes an identification code for identifying the manufacturer and model number of the
また,放送受信装置100がどの周波数を選局していてもDLDATA1の存在を容易に検知させることを目的として、DLDATA1とは別のデータによって識別信号を送出する場合もあるが,これも一般的な方式であるため本実施の形態1においては説明を省略する。
In addition, there is a case where an identification signal is transmitted by data different from DLDATA1 for the purpose of easily detecting the presence of DLDATA1 regardless of the frequency selected by the
DLDATA1の中には放送受信装置100上で動作可能な更新プログラムを含んでいる。DLDATA1の送出目的としては,放送受信装置100がDLDATA1を受信し,DLDATA1に含まれる更新プログラムを取り出し,フラッシュメモリ108に書き込みを行うことで,プログラムを更新し放送受信装置100の動作を変更させることを目的としている。
DLDATA1 includes an update program operable on the
次に,放送受信装置100では,放送受信装置100が利用可能な更新プログラムを含むデータ(DLDATA1)が送信局より送出されたことを動作中のプログラムによって検知する(S502)。
Next, the
通常の場合,DLDATA1は放送信号内において小さいパケットに分割されて送信されるため,放送受信装置100でパケットの収集と結合が必要である。よって放送受信装置100ではDLDATA1の存在を検知した後,受信手段101や復調手段102を制御して放送信号に含まれるDLDATA1のデータの収集および再結合というDLDATA1受信処理を行う(S503)。
In the normal case, DLDATA1 is divided into small packets and transmitted in the broadcast signal, so that the
次に放送受信装置100は,結合が行われたDLDATA1からProgramCode領域に相当するデータを抽出し,内部のフラッシュメモリ108のProgramCode領域202への書き込みを行い,書き込みが正しく行われたことを確認する(S504)。フラッシュメモリ108のプログラムが,正しく更新プログラムに書き換えられたことを確認すると,放送受信装置100を再起動し(S505),更新されたファームウェアによる動作を開始する(S506)。なお,S502からS506の一連の処理はCPU105によって制御される。
Next, the
次に図6には,本実施の形態1で提案するファームウェア更新方法を用いて,放送受信装置100のプログラムを更新した場合の処理手順を示す。
Next, FIG. 6 shows a processing procedure when the program of the
図6では,図5における説明と同様に,放送受信装置100が動作中であり,放送信号が受信できる環境において,放送受信装置100のファームウェアを更新する必要が発生した場合のファームウェア更新方法を示している。
6 shows a firmware update method in the case where the
まず,放送受信装置100で動作させるための更新プログラムを格納したデータ(DLDATA1)を送信局から放送信号を経由して送出する(S601)。
First, data (DLDATA1) storing an update program to be operated by the
次にS601の同時期あるいは少ない時間差のタイミングにおいて,送信局からはプログラム更新処理の途中で異常が発生した場合に,放送受信装置100を臨時的に動作させ,放送受信装置100を回復させることを目的としたプログラム(回復用プログラム)を含むデータ(DLDATA2と呼ぶ)を送出する(S602)。
Next, at the same time in S601 or at a timing with a small time difference, if an abnormality occurs during the program update process from the transmitting station, the
このDLDATA2もDLDATA1と同様に,放送受信装置100のメーカや型番,更新するファームウェアバージョンなどを識別するための識別符号を含み,対象とする放送受信装置100を特定するがこの説明は省略する。
Like DLDATA1, this DLDATA2 also includes an identification code for identifying the manufacturer and model number of the
次にS601のDLDATA1の送出開始の結果として,放送受信装置100では放送受信装置100が利用可能な新しいファームウェア(DLDATA1)が送信局より送出されたことを動作中のプログラムによって検知する(S603)。
Next, as a result of starting transmission of DLDATA1 in S601, the
前述の図5における説明と同様に,DLDATA1は放送信号内において小さいパケットに分割されて送信されるため,放送受信装置100ではDLDATA1を検知するとCPU105は受信手段101や復調手段102を制御し,放送信号に含まれるDLDATA1のデータを収集し結合を行う(S604)。
Similarly to the description in FIG. 5 described above, DLDATA1 is transmitted after being divided into small packets in the broadcast signal. Therefore, when the
また,DLDATA2の送出処理(S602)を開始した結果として,放送受信装置100はDLDATA1とは別にDLDATA2が送信局より送出されたことを検知する(S605)。
In addition, as a result of starting the transmission process of DLDATA2 (S602), the
放送受信装置100ではDLDATA2を検知すると,DLDATA1の受信処理の場合と同様に,CPU105は受信手段101や復調手段102を制御し,放送信号に含まれるDLDATA2のデータを収集し結合する(S606)。
When DLDATA2 is detected in the
上記のDLDATA1の受信処理(S604)およびDLDATA2の受信処理の処理(S606)が完了すると,CPU105はフラッシュメモリ内のProgramCode領域202の書換え処理(S607)を行う。この時に書き込まれるDLDATA1,およびDLDATA2のプログラム内容は,図7に示すようなブロック構成のプログラムである。ProgramCode領域202の書き換え処理(S607)に関しては、後ほど図8を用いて詳述する。
When the above-described DLDATA1 reception process (S604) and DLDATA2 reception process (S606) are completed, the
このDLDATA1の受信処理(S603)(S604)と,DLDATA2の受信処理(S605)(S606)とは,非同期で別個に行われる処理であるが,これは順序を定めて行う同期処理であってもよい。またDLDATA1,DLDATA2の2つの異なるDLDATAが存在することを,別途識別信号の中に記述子等を設けて送信局から放送受信装置100に通知する仕組みがあっても良い。
The DLDATA1 reception processing (S603) (S604) and the DLDATA2 reception processing (S605) (S606) are asynchronously performed separately, but this is a synchronous processing performed in a predetermined order. Good. Further, there may be a mechanism for notifying the
ここで,本実施の形態1におけるDLDATA1,DLDATA2を説明するために図7を説明する。図7は本実施例におけるDLDATA1,DLDATA2の内部の構成を示す図である。DLDATA1は本実施の形態1における放送受信装置100で動作可能である更新プログラムを有するデータであり,この更新プログラムはユーザが利用することを目的とした更新されたプログラムである。更新プログラムには例えば現在のユーザプログラムに問題が発生したなどの理由により,問題を修正したプログラムを放送受信装置100に適用し問題を解決するためのプログラムなどが当てはまる。
Here, FIG. 7 will be described in order to explain DLDATA1 and DLDATA2 in the first embodiment. FIG. 7 is a diagram showing an internal configuration of DLDATA1 and DLDATA2 in the present embodiment. DLDATA1 is data having an update program that can be operated by the
図7における更新プログラムは,一例としてプログラムデータが6個のブロックから構成されるプログラムである場合を記述している。ここでのプログラムのブロックとは図4におけるフラッシュメモリのProgramCode領域202内に存在するブロックと基本的に同じサイズのブロックである。これは論理的な意味でのブロックであり,フラッシュメモリ108のProgramCode領域202に書き込む処理においては,このブロック単位で書き込みを行うことを想定して設けられている単位である。
The update program in FIG. 7 describes a case where the program data is a program composed of six blocks as an example. The program block here is a block of basically the same size as the block existing in the
また一方では,DLDATA2には本実施の形態1における放送受信装置100で動作可能な回復用プログラムを含むデータである。このDLDATA2に含まれる回復用プログラムは1ブロックもしくは2ブロック程度の少数のブロックから構成されるプログラムである。
On the other hand, DLDATA2 is data including a recovery program operable by the
図10及び図11に,DLDATA2に含まれる回復用プログラムの一例を示す。図10では本実施の形態1における回復用プログラムの内部構成を一例として説明する。図10に示すように回復用プログラム702は、自身で回復用のダウンロード処理を行うことが可能となるように,受信手段101や復調手段102など,信号を受信するために必要な各手段を制御するためのドライバ(受信手段ドライバ、復調手段ドライバ)と,各手段を制御してダウンロード動作を実現するためのダウンロード動作用プログラム,および受信したデータを処理するためのデータ処理用プログラム,回復用ダウンロードを行うための放送信号や,データ受信のためデータを有する回復ダウンロード用パラメータ1001を有する。回復用プログラム702とは,このように放送受信装置100に問題が発生した場合に定められたパラメータを用いて回復用のダウンロード処理を行うことを目的として作成されたプログラムである。
FIG. 10 and FIG. 11 show an example of the recovery program included in DLDATA2. FIG. 10 illustrates an example of the internal configuration of the recovery program according to the first embodiment. As shown in FIG. 10, the
この図10に示すプログラムがProgramCode領域202の先頭に存在することで放送受信装置100はより大きなユーザ用のプログラムの更新が不完全な状態にあった場合は,回復ダウンロードを行うことが可能である。
Since the program shown in FIG. 10 exists at the top of the
なお,回復ダウンロードを行う際には,回復用プログラム702は回復用プログラム702自身の内部に保持する回復ダウンロード用パラメータ1001を利用して回復ダウンロードを実行することが可能である。この回復ダウンロード用パラメータ1001は,例えば図11に示すように放送方式、Frequency等のパラメータから構成され、DLDATA2送信時に設定が可能であるため,送信局におけるDLDATA2の送出時の送出DLDATAを変更することにより回復ダウンロードの受信信号や,受信データを変更することが可能である。
When performing a recovery download, the
このように図7、図10及び図11に示すように,DLDATA1は複数のブロックから構成される更新用プログラム701を有し,DLDATA2は1つもしくは少数のブロックから構成される比較的サイズの小さい回復用プログラム702を有している。このような2種類のDLDATAを利用することが本発明の特徴の1つである。
Thus, as shown in FIGS. 7, 10 and 11, DLDATA1 has an
次に,図6におけるProgramCode書換え処理(S607)における処理の詳しい説明を図8に示す。図8は本実施の形態1においてのProgramCode領域202の書換え処理の詳細を示すフローチャートである。
Next, FIG. 8 shows a detailed description of the process in the Program Code rewriting process (S607) in FIG. FIG. 8 is a flowchart showing details of the rewrite processing of the
本実施の形態1における放送受信装置100のProgramCode領域202を更新プログラム(図7におけるPRG−P00からPRG−P05)に書き換える処理では,CPU105により,まず前述の(S604)および(S606)において受信したDLDATA1,DLDATA2が正確なデータであるかどうかが確認される(S801)。これは通常はCRCによる確認や暗号鍵などを用いた復号による確認を用いて行われる。
In the process of rewriting the
次に,ProgramCode領域202の更新の処理として,まずはフラッシュメモリ108内のProgramCode領域202の先頭部分,つまり共通領域(BLK−S00)部分に回復用プログラム702(PRG−R00)を書き込む(S802)。
Next, as the update process of the
フラッシュメモリ108の書換えはブロック単位で行われるため,この書き込み処理が完了した時点では,BLK−S00には回復用プログラム702(PRG−R00)が書き込まれた状態となる。よって,もしこれ以降の処理で何らかの問題が発生した場合でも,放送受信装置100はこの回復用プログラム702により回復処理が実施可能となる。
Since the
次にCPU105は,更新用プログラム701の2番目の領域(PRG−P01)をフラッシュメモリ108のProgramCode専用領域の先頭部分(BLK−P00)に書き込む(S803)。
Next, the
次にCPU105は,更新用プログラム701の3番目のブロック(PRG−P02)をフラッシュメモリのBLK−P02に書き込む(S804)。
Next, the
更に,以降の4番目・5番目のブロック(PRG−P03およびPRG−P04)をフラッシュメモリ108に書き込む処理を継続して実施し(S805)、更新用プログラム701の最後のブロック(PRG−P05)をBLK−P04に書き込む(S806)。
Further, the subsequent fourth and fifth blocks (PRG-P03 and PRG-P04) are continuously written in the flash memory 108 (S805), and the last block (PRG-P05) of the
この(S802)〜(S806)の一連の処理により,フラッシュメモリ108内のProgramCode領域202の状態は図9に示すような状態となり,ProgramCode領域202の先頭(BLK−S00)に回復用プログラム702(PRG−R00)があり,それ以外の領域である(BLK−P00)〜(BLK−P04)には,更新用プログラム701(PRG−P01からPRG−P05)がブロック単位で書き込まれた状態となる。
Through the series of processes (S802) to (S806), the state of the
つまり図9に示すProgramCode領域202の状態は,放送受信装置100はBLK−S00に書き込まれた回復用プログラム702(PRG−R00)による回復ダウンロードが可能で,かつ目的としている更新用プログラム701のブロックの大部分がProgramCode領域202に書き込まれた状態である。
In other words, the state of the
このような図9のようなProgramCode領域202の更新完了の直前の状態において,CPU105はProgramCode領域202全体の書き込み状態をブロックごとに確認する処理(ベリファイ)を行う(S807)。
In such a state immediately before the completion of the update of the
このベリファイ処理(S807)により,もしProgramCode領域202のBLK−P00からBLK−P04に保存されたデータに異常が発生した場合は,CPU105はシステムを再起動し,BLK−S00に書き込まれた回復用プログラム702により回復用のダウンロード処理に入ることが可能である。
If an abnormality occurs in the data stored in BLK-P00 to BLK-P04 in the
次に,図8におけるS807でのベリファイ処理の結果として,ProgaramCode領域202のうちBLK−P00からBLK−P04部分の書込みが問題なく完了したと判断されると,CPU105はProgramCode領域202の先頭ブロック(BLK−S00)を更新用プログラム701の先頭ブロック(PRG−P00)に書き換える(S808)。
Next, as a result of the verification processing in S807 in FIG. 8, if it is determined that the writing of the BLK-P00 to BLK-P04 portions in the
この書込み処理(S808)によりBLK−S00およびBLK−P00〜BLK−P04の全ての領域は更新用プログラム701の状態となり,ProgramCode領域202のプログラム更新処理は完了する。
By this writing process (S808), all the areas of BLK-S00 and BLK-P00 to BLK-P04 are in the state of the
図12には,ProgramCode領域202の更新失敗時に回復用プログラム702が動作する手順の一例を図で示す。
FIG. 12 is a diagram illustrating an example of a procedure in which the
今例えば,前述の図8におけるS807でのベリファイ処理の結果として,ProgaramCode領域202のうちBLK−P00からBLK−P04部分で何らかの問題が発生しProgramCode領域202に異常があると判断した場合は,CPU105は回復用ダウンロードを行うために放送受信装置100を再起動する(S1201)。再起動時のフラッシュメモリ108の状態は,前述のようにProgramCode領域202のBLK−S00に回復用プログラム702(PRG−R00)が書かれており,回復ダウンロードが可能である。
For example, if it is determined that some problem has occurred in the BLK-P00 to BLK-P04 portion of the
回復ダウンロードでは,回復用プログラム702が保持する回復ダウンロード用パラメータ1001を用いて,更新用のプログラムデータ受信処理を開始する(S1202,S1203)。
In the recovery download, update program data reception processing is started using the
この時に受信するデータおよび周波数などは回復ダウンロード用パラメータ1001に定義して変更することが可能であるが,ここでは回復ダウンロード用パラメータ1001として,DLDATA1を受信する設定がされた場合を仮定する。この場合、回復ダウンロードを開始した結果としてDLDATA1が取得される(S1204)。
The data and frequency received at this time can be defined and changed in the
この回復ダウンロード用パラメータ1001の設定は、例えば以前のバージョンのDLDATA1を異常回避用のDLDATAとして別途放送しておき,この以前のバージョンのプログラムを取得してProgramCode領域202を以前のプログラムに戻すという利用方法も考えられる。また回復ダウンロード用パラメータ1001は,例えば放送受信装置100がイーサネット(登録商標)などの放送受信以外の通信手段(図示せず)を所有していた場合には,イーサネット(登録商標)経由でサーバにアクセスを行い,異常回避用のDLDATAを入手するなどの方法も考えられるが,これは回復用プログラム702内を変更することで設定が可能であると考えてよい。また回復用プログラム702では,DLDATA1・DLDATA2の両方を再度取得するようなプログラムであっても良い。
The
このように回復用プログラム702が動作中の放送受信装置100は,回復ダウンロード用パラメータ1001手順を用いて更新プログラムを取得すると,更新プログラムをProgramCode領域202に書き込む(S1205)。この書き込み処理は基本的には図8に示すようなProgramCode領域202書き込み処理と同等であるが,回復ダウンロードにおいては既にBLK−S00にはPRG−R00が書かれている状態のため,このブロックに対する書き込み処理は行わなくてもよい。以降,S1205における処理はS803以降の処理と同等と考えてよい。
As described above, when the
S1205における,回復用プログラム702による更新プログラムの書き込み処理が完了すると,放送受信装置100は再起動され(S1206),更新用プログラム701で起動される(S1207)。
When the update program writing process by the
上記のように,書き込みをブロック単位で実施し,また回復用プログラム702を最小限のブロックに書き込むことでファームウェア更新中の異常発生時のリカバリー率を高め,なおかつフラッシュメモリ108の全領域の有効利用を実現することが可能となる。
As described above, writing is performed in units of blocks, and the
なお,本実施の形態1においては,図7に示すDLDATA1の更新用プログラム701は図4におけるProgramCode領域202のブロック数と一致した6ブロックから構成されることを例として示したが,必ずしもProgramCode領域202と更新用プログラム701の内部ブロック数が一致する必要があるものではなく,より多いブロック数や少ないブロック数であっても良い。
In the first embodiment, the
本発明は、放送または通信を介して放送信号を受信可能な放送受信装置でのソフトウェア更新方法として有用である。 The present invention is useful as a software update method in a broadcast receiving apparatus capable of receiving a broadcast signal via broadcast or communication.
100 放送受信装置
101 受信手段
102 復調手段
103 映像音声デコード手段
105 CPU
106 バスコントローラ
107 RAM
108 フラッシュメモリ
120 映像表示装置
121 音声再生装置
201 BootCOde領域
202 ProgramCode領域
701 更新用プログラム
702 回復用プログラム
1001 回復ダウンロード用パラメータ
100
106
108
Claims (3)
前記回復用プログラム及び前記更新用プログラムを受信する受信手段と、
プログラムを記憶する記憶手段と、
前記更新用プログラムによって前記ソフトウェア更新を実行する制御手段と、を備え、
前記制御手段は、前記受信手段が前記回復用プログラム及び前記更新用プログラムを受信した場合に、前記回復用プログラムを前記記憶手段の所定領域に書き込むと共に前記所定領域以外の領域に前記更新用プログラムを書き込み、前記更新用プログラムの書込みが成功した場合は前記所定領域に前記更新用プログラムを上書きし、前記更新用プログラムの書込みが失敗した場合は前記所定領域に書き込んだ前記回復用プログラムを実行することを特徴とする放送受信装置。 A broadcast receiving apparatus that receives a recovery program and an update program and performs software update,
Receiving means for receiving the recovery program and the update program;
Storage means for storing the program;
Control means for executing the software update by the update program,
When the receiving unit receives the recovery program and the update program, the control unit writes the recovery program into a predetermined area of the storage unit and loads the update program in an area other than the predetermined area. When the writing or writing of the update program is successful, the updating program is overwritten in the predetermined area, and when the writing of the updating program fails, the recovery program written in the predetermined area is executed. A broadcast receiving apparatus characterized by the above.
ことを特徴とする請求項1に記載の放送受信装置。 The recovery program has a parameter for executing software download processing, re-receives the update program according to the parameter, and re-writes the re-received update program in an area other than the predetermined area.
The broadcast receiving apparatus according to claim 1.
受信した前記回復用プログラム及び前記更新用プログラムを記憶する記憶ステップと、
記憶した前記更新用プログラムによってソフトウェア更新を実行する実行ステップと、を備え、
前記実行ステップは、前記受信ステップが前記回復用プログラム及び前記更新用プログラムを受信した場合に、前記回復用プログラムを前記記憶ステップの所定領域に書き込むと共に前記所定領域以外の領域に前記更新用プログラムを書込み、前記更新用プログラムの書込みが成功した場合は前記所定領域に前記更新用プログラムを上書きし、前記更新用プログラムの書込みが失敗した場合は前記所定領域に書き込んだ前記回復用プログラムを実行する、ことを特徴とするソフトウェア更新方法。 A receiving step for receiving the recovery program and the update program;
A storage step for storing the received recovery program and the update program;
An execution step of executing a software update by the stored update program,
When the receiving step receives the recovery program and the update program, the execution step writes the recovery program in a predetermined area of the storage step and places the update program in an area other than the predetermined area. Writing, overwriting the update program in the predetermined area when writing of the update program is successful, and executing the recovery program written in the predetermined area when writing of the update program fails, The software update method characterized by the above-mentioned.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008262523A JP2010092324A (en) | 2008-10-09 | 2008-10-09 | Broadcast receiver and software update method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008262523A JP2010092324A (en) | 2008-10-09 | 2008-10-09 | Broadcast receiver and software update method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010092324A true JP2010092324A (en) | 2010-04-22 |
Family
ID=42254964
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008262523A Pending JP2010092324A (en) | 2008-10-09 | 2008-10-09 | Broadcast receiver and software update method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010092324A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014006571A (en) * | 2012-06-21 | 2014-01-16 | Canon Inc | Information processing device, programs update method, and programs |
| JP2018092417A (en) * | 2016-12-05 | 2018-06-14 | 京セラドキュメントソリューションズ株式会社 | Image processing device |
| CN111190624A (en) * | 2019-12-29 | 2020-05-22 | 珠海市京澳特电子有限公司 | Method for upgrading mining lamp charging cabinet by adopting charging plate in broadcasting mode |
-
2008
- 2008-10-09 JP JP2008262523A patent/JP2010092324A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014006571A (en) * | 2012-06-21 | 2014-01-16 | Canon Inc | Information processing device, programs update method, and programs |
| JP2018092417A (en) * | 2016-12-05 | 2018-06-14 | 京セラドキュメントソリューションズ株式会社 | Image processing device |
| US10447886B2 (en) | 2016-12-05 | 2019-10-15 | Kyocera Document Solutions Inc. | Image processing apparatus for updating a non-volatile memory and method controlling image processing apparatus |
| CN111190624A (en) * | 2019-12-29 | 2020-05-22 | 珠海市京澳特电子有限公司 | Method for upgrading mining lamp charging cabinet by adopting charging plate in broadcasting mode |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI386847B (en) | Method of safe and recoverable firmware update and device using the same | |
| US8041988B2 (en) | Firmware update for consumer electronic device | |
| US20030110483A1 (en) | Data processor, program updating method and storage medium | |
| KR19990063139A (en) | Information processing apparatus, information processing method and computer program providing medium | |
| JP2014099097A (en) | Information processing device, information processing method, and computer program | |
| JP2007122601A (en) | Separation type processing apparatus and software version updating method | |
| CN1734422B (en) | Data processing device and method for updating firmware | |
| US8046816B2 (en) | Digital broadcast receiver and upgrading method thereof | |
| JP2010092324A (en) | Broadcast receiver and software update method | |
| CN106028142A (en) | Upgrading control method and upgrading control apparatus for playing devices | |
| CN108804126A (en) | A kind of method for upgrading software and device | |
| WO2018049798A1 (en) | Method and apparatus for reconstructing cache partition | |
| JP2012212415A (en) | Wireless base station device | |
| CN115857998B (en) | Upgrade method, device and medium based on ZYNQ and FPGA architecture | |
| US20120233520A1 (en) | Information Processing Apparatus and Information Processing Method | |
| JP5015093B2 (en) | Receiver and receiver control method | |
| JP4931144B2 (en) | TV receiver | |
| JP5158883B2 (en) | Firmware update method and firmware update apparatus | |
| US8819480B2 (en) | Display apparatus and method for updating micom code thereof | |
| JP2005258931A (en) | Diagnostic equipment | |
| JP2005242930A (en) | Information processing apparatus, program update method, program update program, and computer-readable recording medium recording the program update program | |
| JPH11175346A (en) | Information processing apparatus, information processing method, and providing medium | |
| JP2007172200A (en) | Software update system | |
| JP4127253B2 (en) | Digital broadcast receiver | |
| JP2006072982A (en) | Data processing apparatus and firmware update method |