Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4279902B2 - ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法 - Google Patents
[go: Go Back, main page]

JP4279902B2 - ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法 - Google Patents

ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法 Download PDF

Info

Publication number
JP4279902B2
JP4279902B2 JP53271498A JP53271498A JP4279902B2 JP 4279902 B2 JP4279902 B2 JP 4279902B2 JP 53271498 A JP53271498 A JP 53271498A JP 53271498 A JP53271498 A JP 53271498A JP 4279902 B2 JP4279902 B2 JP 4279902B2
Authority
JP
Japan
Prior art keywords
basic program
program
storage area
basic
computer
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.)
Expired - Lifetime
Application number
JP53271498A
Other languages
English (en)
Other versions
JPWO1998034169A1 (ja
Inventor
陽子 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO1998034169A1 publication Critical patent/JPWO1998034169A1/ja
Application granted granted Critical
Publication of JP4279902B2 publication Critical patent/JP4279902B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法に関し、特に、起動時に実行する基本プログラムと、その基本プログラムに従って実行する応用プログラムを書き換えるディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法に関する。
【0002】
【従来の技術】
最近の半導体技術の進歩に伴い、様々な電子機器にマイクロコンピュータが応用されている。例えば、最近普及しつつある、人工衛星を介して番組などを放送する放送システムにおける受信機であるIRD(lntegrated Receiver Decoder)にも、マイクロコンピュータが応用されている。
【0003】
このように普及の途上にある分野においては、提供されるサービスが今後変更される可能性が高いので、そのような変更に対応して、マイクロコンピュータのプログラムを変更することが可能であるように装置(例えばIRD)を設計する必要がある。
【0004】
このマイクロコンピュータのプログラムは、ブートルーチンなどの基本的な処理を行うルーチンを有する基本プログラムと、実際にサービスを提供する応用プログラムに分けられる。
【0005】
本出願人は、このような応用プログラムを変更(更新)する装置を、例えば下記特許文献1において先に提案した。
【0006】
【特許文献1】
特開平8−195952号公報
【0007】
また、基本プログラムと応用プログラムの両方を変更する場合、元の基本プログラムと応用プログラムが記憶されている記憶領域に新たな基本プログラムと応用プログラムを直接書込むと、基本プログラムの書込みの途中でエラーの発生や停電などが発生したとき、プードルーチンなどを有する基本プログラムが正常に1つも記憶されていない状態となり、装置の次回の起動が困難になるので、2つの記億部を、例えばEEPROM(Electrically Erasable and Programmable ROM)のような、書き換え可能な不揮発性のメモリに設けておき、プログラムの更新時には、更新ごとに交互にそれらの記億部のいずれかを利用することが考えられる。
【0008】
このようにすることにより、プログラムの書込みの途中でエラーの発生や停電などが発生した場合においても、元の基本プログラムが保存されているので、次回の起動が可能となる。
【0009】
【発明が解決しようとする課題】
しかしながら、このようにして2つの記億部を設ける場合、少なくとも基本プログラムの容量分の、書き換え可能な不揮発性のメモリが基本プログラムの保存用に必要となり、装置のコストを低減することが困難であるという問題を有している。
【0010】
本発明は、このような状況に鑑みてなされたもので、2つの書き換え可能な不揮発性のメモリを設けることなく、プログラムの更新を行うことができるようにするものである。
【0011】
【課題を解決するための手段】
この発明は、ディジタルテレビジョン放送を受信すると共に、ディジタルテレビジョン放送受信装置の動作に必要で、且つ起動のためのブートルーチンを含む基本プログラムと応用プログラムとからなるプログラムを受信する周辺装置と、
書き換え可能な不揮発性メモリであって、基本プログラムを記憶するために設定された第1の基本プログラム記憶領域と、該第1の基本プログラム記憶領域とぼぼN/2(Nは、記憶領域の全ての領域のアドレス数)離れた位置に設定された第2の基本プログラム記憶領域とを有する記憶手段と、
周辺装置により受信された少なくとも応用プログラムを記憶手段に取り込むための制御を行うと共に、第1および第2の基本プログラム記憶領域の一方に記憶されている基本プログラムに従って起動された後に応用プログラムを実行するコンピュータと
コンピュータが正常に起動するか否かをモニタし、コンピュータが正常に起動しない場合には、基本プログラムを読み出す記憶領域を、第1および第2の基本プログラム記憶領域の一方から他方へ切り替え、他方の基本プログラム記憶領域から読み出された基本プログラムによってコンピュータを再起動するモニタ手段とを備え、
コンピュータの制御によって、
少なくとも応用プログラムを記憶手段に取り込み中に、モニタ手段の不揮発性メモリに記憶されている最終ブートセクタ情報から第1および第2の基本プログラム記憶領域の内で、現在の基本プログラムが記憶されている一方の基本プログラム記憶領域を判別し、一方の基本プログラム記憶領域以外の記憶領域に対してダウンロードされた応用プログラムを書き込み、
応用プログラムの取込みが失敗したか否かを判定し、成功の場合には、ブートルーチンを実行することによって再起動を行い、失敗の場合には、再度ダウンロードが実行されるまで待機するようにした
ことを特徴とするディジタルテレビジョン放送受信装置である。
【0012】
この発明は、周辺装置によって、ディジタルテレビジョン放送を受信すると共に、ディジタルテレビジョン放送受信装置の動作に必要で、且つ起動のためのブートルーチンを実行するための基本プログラムと応用プログラムとからなるプログラムを受信ステップと、
書き換え可能な不揮発性メモリであって、基本プログラムを記憶するために設定された第1の基本プログラム記憶領域と、該第1の基本プログラム記憶領域とぼぼN/2(Nは、記憶領域の全ての領域のアドレス数)離れた位置に設定された第2の基本プログラム記憶領域とを有する記憶手段に対して、
コンピュータによって、周辺装置により受信された少なくとも応用プログラムを記憶手段に取り込むための制御を行うと共に、第1および第2の基本プログラム記憶領域の一方に記憶されている基本プログラムに従って起動された後に応用プログラムを実行するステップと、
モニタ手段によって、コンピュータが正常に起動するか否かをモニタし、コンピュータが正常に起動しない場合には、基本プログラムを読み出す記憶領域を、第1および第2の基本プログラム記憶領域の一方から他方へ切り替え、他方の基本プログラム記憶領域から読み出された基本プログラムによってコンピュータを再起動するステップとを有し、
コンピュータの制御によって、
少なくとも応用プログラムを記憶手段に取り込み中に、モニタ手段の不揮発性メモリに記憶されている最終ブートセクタ情報から第1および第2の基本プログラム記憶領域の内で、現在の基本プログラムが記憶されている一方の基本プログラム記憶領域を判別し、一方の基本プログラム記憶領域以外の記憶領域に対してダウンロードされた応用プログラムを書き込み、
応用プログラムの取込みが失敗したか否かを判定し、成功の場合には、ブートルーチンを実行することによって再起動を行い、失敗の場合には、再度ダウンロードが実行されるまで待機するようにした
ことを特徴とするディジタルテレビジョン放送受信用プログラムの取得方法である。
【0013】
【発明の実施の形態】
第1図は、本発明の情報処理装置の一実施の形態の構成を示している。CPU1(実行手段)は、フラッシュメモリ4(記憶手段)またはRAM5(第2の記憶手段)に記憶されているプログラム(基本プログラムまたは応用プログラム)に従って動作し、アドレスバス2を介して各回路にアドレス情報を供給し、そのアドレスに対応するデータを、データバス3を介して、その回路に送信、または、その回路から受信するようになされている。
【0014】
フラッシュメモリ4は、書き換え可能な不揮発性のメモリであり、起動時に実行されるブートルーチンなどの基本プログラムを、論理セクタ0に対応する物理セクタ(第1の記憶領域)に記憶し、その基本プログラムに従って実行される応用プログラムを論理セクタ1から論理セクタN−1(Nはセクタ数を表す)までに対応する物理セクタ(第2の記憶領域)に記憶している。なお、論理セクタは、CPU1がアドレッシングに利用するときに使用される(後述)。
【0015】
RAM5は、CPU1による処理の途中において、プログラムやデータを一時的に記憶するようになされている。
【0016】
システムモニタ回路7は、新たな基本プログラムや応用プログラムのダウンロードが成功したか否かや、フラッシュメモリ4において基本プログラムが記憶されている位置などの各種状態を監視するようになされている(後述)。
【0017】
リセットジェネレータ8は、システムモニタ回路7よりリセットリクエスト信号が供給されると、CPU1にリセット信号を出力するようになされている。
【0018】
ダウンロードプログラムバッファ9は、例えばRAMなどの半導体メモリで構成され、周辺装置11より供給される新たなプログラムを、一時的に記憶するようになされている。
【0019】
周辺装置11は、所定の媒体や伝送路(図示せず)を介して供給される新たなプログラムを受け取るようになされている。周辺装置の一例は、ディジタル衛星放送、ディジタル地上波放送等のディジタルテレピジョン放送の受信部(アンテナ、フィルタ、チューナ、復調器、エラー訂正回路等)であり、プログラムは、IRDの動作に必要なプログラムである。
【0020】
第2図は、システムモニタ回路7の構成例を示している。CPUIから状態モニタ回路21に対して、タイマ信号およびダウンロード情報が供給されると共に、nビットのアドレスバス信号の内、(n−1)ビットのアドレス信号が供給される。状態モニタ回路21から出力されたブートセクタ制御信号Bおよびエラー信号Cは、XOR(排他的論理和)回路22に供給される。XOR回路22から出力される信号は、XOR回路23の一方の入力に供給されると共に、状態モニタ回路21に内蔵された不揮発性RAM(NVRAM)31およびCPU1に供給される。CPU1から供給されるアドレスバス(nビット)の内、所定の1ビットのアドレス信号AがXOR回路23の他方の入力に供給され、XOR回路23から出力されるアドレス信号A’は、(n−1)ビットのアドレスバス信号と共にフラッシュメモリ4に供給される。さらに、状態モニタ回路21から出力されたリセットリクエスト信号Rは、リセットジェネレータ8に供給され、リセットジェネレータ8から出力されたリセット信号がCPU1に供給される。
【0021】
ところで、本発明における情報処理装置では、システムの起動の際に実行される基本プログラムがフラッシュメモリ4内に記憶される場所は、複数設けられている。そして、フラッシュメモリ4内のプログラム全てをダウンロードして書き換える際には、それまでの動作に用いられている基本プログラムが記憶されている場所とは別の場所に基本プログラムを記憶するようになされている。こうすることによって、仮に基本プログラムのダウンロード中にエラーが生じ、ダウンロードが失敗に終わった場合でも、必ず正常に起動することができる基本プログラムが残っているので、ダウンロード失敗により起動不可能な状態になることが防止される。
【0022】
以下、説明を簡単にするために、フラッシュメモリ4が0から31のセクタ数を有し、フラッシュメモリ4内に基本プログラムが記憶可能なセクタを2つ(物理セクタ0と物理セクタ16)設けた場合について述べるが、本発明は、これらの数値に限定されるものではない。
【0023】
次に、システムモニタ回路7の電源起動時の動作について、上述の第2図および第3図のタイミングチャートを参照して説明する。
【0024】
状態モニタ回路21は、内蔵するNVRAM31に、XOR回路22から出力される信号の値を定期的に記憶するようになされており、これにより受信機などの情報処理装置の電源が切られる直前にXOR回路22から出力されていた信号の状態(ハイレベルまたはローレベル)を記憶することができるようになされている。
【0025】
そして、電源がオンされると、状態モニタ回路21は、内蔵するNVRAM31に記憶されている、前回起動時において電源が切られる直前のXOR回路22の出力(最終ブートセクタ情報)を読出してXOR回路22に供給する。また、状態モニタ回路21は、CPU1から供給される(n−1)ビットのアドレス情報とタイマ信号とからCPU1の状態を判断し、エラーの状態であると判断すれば、エラー信号Cとしてハイレベル信号をXOR回路22に出力する(第3図A)。さらに、状態モニタ回路21は、エラー状態を検出した場合、リセットジェネレータ8に対してリセットリクエスト信号Rを出力する(第3図B)。
【0026】
仮に、NVRAM31にローレベル信号が記憶されていたとすると、エラー信号Cが発生されなければ、XOR回路22の出力がローレベル信号となり、このローレベル信号ガXOR回路23に対して出力される。
【0027】
ここで前回の起動時に基本プログラムのダウンロードが行われ、そのダウンロードが失敗に終わった場合には、当然ながらCPU1は正常に起動が行われず、状態モニタ回路21は、上述のように、これを検出してエラー信号Cとしてハイレベル信号をXOR回路22に出力する。これによりXOR回路22の出力がハイレベルに反転し(第3図D)、タイミングt1の直前のタイミングでNVRAM31にハイレベル信号が記憶されることになる。状態モニタ回路21は、エラ一信号Cを出力すると同時に、リセットリクエスト信号をリセットジェネレータ8に対して出力する。リセットジェネレータ8は、リセットリクエスト信号に応答してタイミングt1において、リセット信号を発生し(第3図C)、これによってシステム全体が再起動される(第3図中の網かけの部分)。再起動が行われると、NVRAM31に記憶されているハイレベル信号がブートセクタ制御信号BとしてXOR回路22に供給される(第3図E)と共に、エラー信号が発生されないので、XOR回路22の出力がハイレベル信号となり(第3図D)、XOR回路23に供給される。CPU1から供給される1ビットのアドレス信号Aは、エラーが発生する前と再起動後で同じ値であるため(第3図F)、XOR回路23の出力であるアドレス信号A’は、エラーが発生する前と再起動後では反転することになる。
【0028】
こうしてフラッシュメモリ4のアクセスされるアドレスが切り替えられ、ダウンロードの失敗によらず、保存されている基本プログラムによって再起動か行われる。
【0029】
次に、第4図および第5図のフローチャートを参照して、第1図の情報処理装置の電源立ち上げ後の動作について説明する。なお、以下の説明では、基本プログラムが物理セクタ0に記憶されている場合について説明するが、物理セクタ16に基本プログラムが記憶されている場合も同様に動作可能である。
【0030】
ステップS1において、電源が投入されると、CPU1は、第6図に示すように、基本プログラムが記憶されているフラッシュメモリ4の論理セクタ0の先頭に記憶されているリセットベクタ(reset vector)を参照し、その値が指すアドレスに記憶されているブートルーチン(図中のboot())を実行する。ここで、エラーが発生した場合には、上述した再起動の処理が行われる。
【0031】
次に、ステップS2において、CPU1は、コピールーチン(図中のcopy_prog())を実行し、ダウンロードの管理やアプリケーションタスクを実行させるルートタスクルーチン(図中のrootTask())、新たなプログラムを周辺装置11よりダウンロードするダウンロードルーチン(図中のdownloader())、および、割込処理を行うサービスルーチン(図中のbasic ISRs)を論理セクタ0から読出し、第6図に示すようにRAM5に記憶させる。
【0032】
ステップS3において、CPU1は、RAM5のルートタスクルーチンの実行を開始する。なお、ステップS3以降の処理は、このルートタスクルーチンに従って行われる。
【0033】
このように、CPU1は、ルートタスクルーチンなどの論理セクタ0に記憶されているルーチンをRAM5に記憶させた後、RAM5に記憶されているルーチンを実行することにより、フラッシュメモリ4の論理セクタ0の書き換えが可能となる。また、割込処理を行うサービスルーチンをRAM5に記憶させることにより、プログラムの実行中にバスエラー、アドレスエラー、不当命令などが発生した場合においても、例外処理を行うことができるので、例外処理後に適切なプログラムのダウンロードを実行することができる。
【0034】
まず、ステップS4において、CPU1は、周辺装置11からのプログラムの前回のダウンロードが失敗しているか否かを、周辺装置11(またはシステムモニタ回路7)に問い合わせ、前回のダウンロードが成功していると判断した場合、ステップS5に進み、全ての論理セクタを検査する。この論理セクタを検査する場合、先ず、ダウンロードされたプログラムの書き換え開始セクタである論理セクタ16から開始して論理セクタ32まで検査し、その後論理セクタ0から、論理セクタ15まで検査するといった順序で検査を行うことが望ましい。なお、電源投入時からこの時点までに一度もダウンロードを行っていない場合においても、ステップS5に進む。
【0035】
そして、ステップS6において、CPU1は、全ての論理セクタにおいて異常を発見したか否かを判断し、異常を発見しなかったと判断した場合、ステップS7に進み、アプリケーションタスク(応用プログラム)(図中のapplicationTask1(),applicationTask2(),・・・)をマルチタスクとして順次開始した後、ステップS9(第5図)に進み、ダウンロードが実行されるまで待機する。
【0036】
例えば、プログラムバージョンレジスタやチェックサム用のレジスタをフラッシュメモリ4の所定の記憶領域に確保し、プログラムの書込み時に、プログラムのバージョンやチェックサムの値を予め記憶させておき、ステップS6においてその値を参照することにより、CPU1は、各論理セクタが異常であるか否かを判断することができる。
【0037】
また、周辺装置11は、ダウンロードの結果(成功または失敗)の情報を記憶していない場合においても、このように、所定の論理セクタを検査することにより、前回のダウンロードが成功しているか否かを判断することができる。
【0038】
一方、ステップS6において、CPU1が異常を発見したと判断した場合、ステップS8に進む。そして、ステップS8において、CPU1は、論理セクタ16が異常であるか否かを判断し、論理セクタ16が異常である場合、前回の全ダウンロードでブートセクタの書込みに失敗していると判断し、全ての論理セクタに対応する新たなプログラムのダウンロード(全ダウンロード)のリクエストを周辺装置11に出力した後、ステップS9(第5図)に進み、そのダウンロードが実行されるまで待機する。なお、論理セクタ16は正常である場合、何もせずステップS9に進む。
【0039】
また、ステップS4において、前回のダウンロードが失敗していると判断した場合、(アプリケーションタスクを実行しても、バスエラー、アドレスエラー、不当命令などが発生する可能性が高いので、)ステップS9(第5図)に進み、次のダウンロードが実行されるまで待機する。
【0040】
そして、ステップS9において次のダウンロードが実行されるまで待機し、周辺装置11によりダウンロードが開始されると、CPU1は、まず、ステップS10において、ブートルーチンが配置されているセクタ(ブートセクタ)、すなわち、論理セクタ0に対応する物理セクタの番号(今の場合、0か16)を、例えば不揮発性メモリ31に記憶されている最終ブートセクタ情報から特定する。
【0041】
また、応用プログラムがマルチタスク環境で動作している場合は、この時点で、ルートタスク(書換プログラムを有するもの)を残してすべての他のタスクは、実行を中止する。
【0042】
次に、ステップS11において、CPU1は、実行するダウンロードの種類が、全ダウンロードであるか、あるいは、ブートセクタ以外のセクタのプログラム(すなわち、応用プログラム)をダウンロードする部分ダウンロードであるかを、周辺装置11からの所定の信号で判断し、今回のダウンロードが部分ダウンロードである場合、ステップS12に進み、周辺装置11より供給されたプログラムを、論理セクタ1から最後の論理セクタまでの領域に記憶させる。
【0043】
第6図に示すように、ブートルーチンなどの基本プログラムと異なるセクタに、アプリケーションタスクと、それに対応するデータを記憶することにより、部分ダウンロードを行うことができる。部分ダウンロードは、基本プログラムを書き換えないので、データが保護されている。従って、万一ダウンロード中に事故か発生しても、かかる構成をとることによって、再部分ダウンロードが可能となる。
【0044】
このとき、ブートセクタが物理セクタ0にだけ配置されており、そこに記憶されている基本プログラムにより起動が行われている場合、プログラムは、物理セクタ1〜最後の物理セクタ(物理セクタN−1)に上書きされる。
【0045】
一方、現在は物理セクタ0に記憶されている基本プログラムにより起動されているが、他のブートセクタが物理セクタ16に配置されている場合が考えられる。これは、前回の起動時に全ダウンロードが行われて、ブートセクタまでは正常にダウンロードが行われたが、応用プログラムのダウンロードに失敗した時は、このような状態となる。
【0046】
この時の対処として、物理セクタ0のブートセクタを残して他の部分を部分ダウンロードする場合と、物理セクタ16のブートセクタを残して他の部分を部分ダウンロードする場合とが考えられる。この二つのケースのどちらにするかは、例えば物理セクタ0と16に記憶されているブートセクタのバージョン情報を比較し、新しい方を残すようにしても良い。あるいは、これから部分ダウンロードしようとするプログラムと親和性の高い方のブートセクタを残して他の部分をダウンロードするようにしても良い。
【0047】
次に、ステップS13において、CPU1は、このダウンロードが失敗したか否かを判断し、ダウンロードが成功している場合、ステップS1に戻り、システムをブートし直す(再起動を行う)。
【0048】
一方、ステップS13においてダウンロードが失敗したと判断した場合、CPU1は、内蔵するメモリにダウンロードの失敗の情報を記憶し、さらに、ステップS14において、ダウンロードが失敗したことを、所定の信号を出力して周辺装置11に報告した後、ステップS9に戻り、再度ダウンロードが実行されるまで待機する。
【0049】
また、ステップS11において今回のダウンロードが、全ダウンロードであると判断された場合、ステップS15に進み、CPU1は、周辺装置11より供給されたプログラムを記憶させる。すなわち、ブートセクタを論理セクタ16に書き、論理セクタ1のデータを論理セクタ17に書き、以下順に書いて行き、論理セクタ0に戻り、論理セクタ15までの領域にデータを書く。
【0050】
第7図に示すように、例えば32ビットでフラッシュメモリ4のアドレッシングが行われており、ブートセクタの切り替え制御に、アドレス情報の第21ビットの値を使用する場合、CPU1が論理セクタ0の先頭(0x200000(0xは16進数を表す))をアドレッシングしたとき、アドレス信号の値が0であると、物理セクタ0の先頭(0x200000)がアドレッシングされる。一方、アドレス信号の値が1であると、物理セクタ16の先頭(0x300000)がアドレッシングされる。
【0051】
従って、ブートセクタが物理セクタ0に配置されている場合、第7図に示すように、プログラムは、論理セクタ番号の順番で、物理セクタ16〜最後の物理セクタ(物理セクタN−1)と、物理セクタ0〜物理セクタ15に順次書込まれる。従って、このときの所定の論理セクタ番号に対応する物理セクタ番号は、その論理セクタ番号に16を加算した数に対するセクタ数Nの剰余((論理セクタ番号十16)(mod N))で表される。
【0052】
一方、ブートセクタが物理セクタ16に配置されている場合、プログラムは、論理セクタ番号の順番で、物理セクタ0〜最後の物理セクタ(物理セクタN−1)に順次書込まれる。従って、書込み後の各物理セクタの番号は、その物理セクタに対応する論理セクタの番号と同一の番号となる。
【0053】
すなわち、元のブートセクタが物理セクタ0に配置されていた場合、今回のダウンロードにより、ブートセクタは、物理セクタ16に配置され、元のブートセクタが物理セクタ16に配置されていた場合、今回のブートセクタは、物理セクタ0に配置される。このように、元のブートセクタに新たなプログラムを上書きする前に、今回のブートセクタのプログラムを書込まないようにすることにより、プログラムのダウンロード中にエラーが発生した場合においても、少なくとも1つの正常なブートセクタが保存されていることになる。
【0054】
次に、ステップS16において、CPUIは、このダウンロードが失敗したか否かを判断する。ダウンロードが成功している場合には、ステップS1(第4図)に戻り、システムをブートし直す(再起動を行う)。
【0055】
一方、ステップS16においてダウンロードが失敗したと判断した場合、CPU1は内蔵するメモリにダウンロードの失敗の情報を記憶し、さらに、ステップS17において、失敗したことをシステムモニタ回路7および周辺装置11に報告した後、ステップS9に戻り再度ダウンロードが実行されるまで待機する。
【0056】
以上のようにして、全ダウンロードまたは部分ダウンロードが必要に応じて行われるとともに、ダウンロードが失敗していない場合においては、ブート後に所定のアプリケーションタスクが実行される。
【0057】
次に、第8図のフローチャートを参照して、バスエラー、アドレスエラー、不当命令などが発生したときの例外処理について説明する。
【0058】
上述したステップS5で、全論理セクタを検査したにもかかわらず、検査もれによりエラーが発生した場合に、以下の例外処理がなされる
【0059】
最初に、CPU1は、ステップS21において、エラーが発生したアドレスを読出し、ステップS22において、そのアドレス値からエラーが発生した論理セクタを特定する。
【0060】
そして、ステップS23において、CPU1は、その論理セクタがブートセクタ(すなわち、論理セクタ0)であるか否かを判断し、その論理セクタがブートセクタである場合、ステップS24において、全ダウンロードのリクエストを周辺装置11に送信し、そのセクタがブートセクタ以外のセクタである場合、部分ダウンロードのリクエストを送信する。
【0061】
このようにして例外処理を行うことにより、例えばダウンロードの途中で停電になり、周辺装置11に対してダウンロードの失敗の報告が行われておらず、さらに論理セクタのチェック時に検査もれをしてしまった場合においても、再度ダウンロードを実行することかできる
【0062】
なお、上記実施の形態においては、ブートセクタを配置する物理セクタの番号を0または16に設定しているが、他の物理セクタにブートセクタを配置するようにしてもよい。
【0063】
また、上記実施の形態においては、基本プログラムをRAM5に記憶させているが、フラッシュメモリ4のブートセクタ(論理セクタ0)に記憶されているプログラム書換モジュール(第6図のdownloader())によって、論理セクタ16からN−1までを書き換え、論理セクタ0〜15の書き換えは、新たに供給されるプログラム書換モジュールに実行を移してすべてのプログラムを書き換えるようにしてもよい。それによって、RAM5に基本プログラムを記憶する必要がない
【0064】
その場合、新たに供給されるプログラム書換モジュール(downloader())が記憶されるアドレスを、予めデータとして元のプログラム書換モジュールに与えておき、CPU1は、元のプログラム書換モジュールに従って、新たな基本プログラムを論理セクタ0に書込んだ後、プログラムの実行を、新たな論理セクタ0における新たなプログラム書換モジュールに移し、その新たなプログラム書換モジュールに従って、論理セクタ0より後の残りのプログラムをフラッシュメモリ4に書込む。
【0065】
【発明の効果】
以上のごとく、本発明によれば、元の応用プログラムが記憶されている第2の記憶領域における所定の領域に新たな基本プログラムを記憶した後、新たな基本プログラムを記憶した領域の終わりから第2の記憶領域の終わりまでの領域、元の基本プログラムが記憶されている第1の記憶領域、および、第2の記憶領域の先頭から新たな基本プログラムが記憶されている領域の先頭までの領域に、新たな応用プログラムを記憶するようにしたので、書き換え可能な不揮発性のメモリの容量が少なくて済むようにすることができる。
【図面の簡単な説明】
【図1】本発明の情報処理装置の一実施の形態を示すブロック図である。
【図2】第1図のシステムモニタ回路の構成例を示すブロック図である。
【図3】システムモニタ回路の動作説明に用いるタイミングチャートである。
【図4】第1図の情報処理装置の動作について説明するフローチャートである。
【図5】第1図の情報処理装置の動作について説明するフローチャートである。
【図6】第1図のフラッシュメモリのメモリマップの一例を示す略線図である。
【図7】全ダウンロード時における物理セクタと論理セクタの対応関係の変更の例を示す略線図である。
【図8】第1図の情報処理装置の例外処理の動作について説明するフローチャートである。
【符号の説明】
1 CPU
2 アドレスバス
3 データバス
4 フラッシュメモリ
5 RAM
7 システムモニタ回路
8 リセットジェネレータ
9 ダウンロードバッファ
11 周辺装置
21 状態モニタ回路
22,23 XOR回路
31 不揮発性RAM

Claims (4)

  1. ディジタルテレビジョン放送を受信すると共に、ディジタルテレビジョン放送受信装置の動作に必要で、且つ起動のためのブートルーチンを含む基本プログラムと応用プログラムとからなるプログラムを受信する周辺装置と、
    書き換え可能な不揮発性メモリであって、前記基本プログラムを記憶するために設定された第1の基本プログラム記憶領域と、該第1の基本プログラム記憶領域とぼぼN/2(Nは、前記記憶領域の全ての領域のアドレス数)離れた位置に設定された第2の基本プログラム記憶領域とを有する記憶手段と、
    前記周辺装置により受信された少なくとも前記応用プログラムを前記記憶手段に取り込むための制御を行うと共に、前記第1および第2の基本プログラム記憶領域の一方に記憶されている前記基本プログラムに従って起動された後に前記応用プログラムを実行するコンピュータと
    前記コンピュータが正常に起動するか否かをモニタし、前記コンピュータが正常に起動しない場合には、前記基本プログラムを読み出す記憶領域を、前記第1および第2の基本プログラム記憶領域の一方から他方へ切り替え、他方の基本プログラム記憶領域から読み出された前記基本プログラムによって前記コンピュータを再起動するモニタ手段とを備え、
    前記コンピュータの制御によって、
    少なくとも前記応用プログラムを前記記憶手段に取り込み中に、前記モニタ手段の不揮発性メモリに記憶されている最終ブートセクタ情報から前記第1および第2の基本プログラム記憶領域の内で、現在の前記基本プログラムが記憶されている一方の基本プログラム記憶領域を判別し、前記一方の基本プログラム記憶領域以外の記憶領域に対してダウンロードされた前記応用プログラムを書き込み、
    前記応用プログラムの取込みが失敗したか否かを判定し、成功の場合には、前記ブートルーチンを実行することによって再起動を行い、失敗の場合には、再度ダウンロードが実行されるまで待機するようにした
    ことを特徴とするディジタルテレビジョン放送受信装置。
  2. 特許請求の範囲第1項において、
    前記コンピュータは、ダウンロードリクエストを前記周辺装置に出力して、前記基本プログラムおよび前記応用プログラム、または前記応用プログラムだけを前記記憶手段に記憶させることを特徴とするディジタルテレビジョン放送受信装置。
  3. 特許請求の範囲第項において、
    前記第1および前記第基本プログラム記憶領域のそれぞれが1セクタであることを特徴とするディジタルテレビジョン放送受信装置。
  4. 周辺装置によって、ディジタルテレビジョン放送を受信すると共に、ディジタルテレビジョン放送受信装置の動作に必要で、且つ起動のためのブートルーチンを実行するための基本プログラムと応用プログラムとからなるプログラムを受信ステップと、
    書き換え可能な不揮発性メモリであって、前記基本プログラムを記憶するために設定された第1の基本プログラム記憶領域と、該第1の基本プログラム記憶領域とぼぼN/2(Nは、前記記憶領域の全ての領域のアドレス数)離れた位置に設定された第2の基本プログラム記憶領域とを有する記憶手段に対して、
    コンピュータによって、前記周辺装置により受信された少なくとも前記応用プログラムを前記記憶手段に取り込むための制御を行うと共に、前記第1および第2の基本プログラム記憶領域の一方に記憶されている前記基本プログラムに従って起動された後に前記応用プログラムを実行するステップと、
    モニタ手段によって、前記コンピュータが正常に起動するか否かをモニタし、前記コンピュータが正常に起動しない場合には、前記基本プログラムを読み出す記憶領域を、前記第1および第2の基本プログラム記憶領域の一方から他方へ切り替え、他方の基本プログラム記憶領域から読み出された前記基本プログラムによって前記コンピュータを再起動するステップとを有し、
    前記コンピュータの制御によって、
    少なくとも前記応用プログラムを前記記憶手段に取り込み中に、前記モニタ手段の不揮発性メモリに記憶されている最終ブートセクタ情報から前記第1および第2の基本プログラム記憶領域の内で、現在の前記基本プログラムが記憶されている一方の基本プログラム記憶領域を判別し、前記一方の基本プログラム記憶領域以外の記憶領域に対してダウンロードされた前記応用プログラムを書き込み、
    前記応用プログラムの取込みが失敗したか否かを判定し、成功の場合には、前記ブートルーチンを実行することによって再起動を行い、失敗の場合には、再度ダウンロードが実行されるまで待機するようにした
    ことを特徴とするディジタルテレビジョン放送受信用プログラムの取得方法。
JP53271498A 1997-01-31 1998-01-29 ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法 Expired - Lifetime JP4279902B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-18076 1997-01-31
JP1807697 1997-01-31
PCT/JP1998/000358 WO1998034169A1 (en) 1997-01-31 1998-01-29 Apparatus and method for processing information

Publications (2)

Publication Number Publication Date
JPWO1998034169A1 JPWO1998034169A1 (ja) 1999-06-08
JP4279902B2 true JP4279902B2 (ja) 2009-06-17

Family

ID=11961572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53271498A Expired - Lifetime JP4279902B2 (ja) 1997-01-31 1998-01-29 ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法

Country Status (5)

Country Link
US (1) US6539474B2 (ja)
EP (1) EP0898225A4 (ja)
JP (1) JP4279902B2 (ja)
KR (1) KR100541781B1 (ja)
WO (1) WO1998034169A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086516A (ja) * 2018-11-15 2020-06-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
US12613657B2 (en) * 2022-12-09 2026-04-28 SK Hynix Inc. Controller, storage device and method for operation to balance memory degradation

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1195679A1 (en) * 2000-10-06 2002-04-10 Hewlett-Packard Company, A Delaware Corporation Performing operating system recovery from external back-up media in a headless computer entity
GB2367656A (en) 2000-10-06 2002-04-10 Hewlett Packard Co Self-repairing operating system for computer entities
JP4857462B2 (ja) * 2000-11-07 2012-01-18 パナソニック株式会社 デジタル放送受信機
US6611902B2 (en) 2000-11-13 2003-08-26 Matsushita Electric Industrial Co., Ltd. Information processor and information processing method
JP2002175194A (ja) * 2000-12-07 2002-06-21 Ricoh Co Ltd プログラムダウンロードシステム、プログラムダウンロード装置、画像形成装置、プログラムダウンロード方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
KR100396778B1 (ko) * 2001-06-25 2003-09-02 엘지전자 주식회사 이동통신 단말기의 전력 제어방법
CA2357382A1 (en) * 2001-09-17 2003-03-17 Soma Networks, Inc. Software update method, apparatus and system
US20030079216A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Apparatus and method of using a hybrid of fixed media data and network-based data to provide software changes
DE10212298B4 (de) * 2002-03-20 2013-04-25 Grundig Multimedia B.V. Verfahren für die Verwaltung von Software für ein Fernsehgerät
EP1372068A3 (en) 2002-06-11 2006-02-08 Seiko Epson Corporation System, method and program for rewriting a flash memory
JP3830867B2 (ja) 2002-07-10 2006-10-11 Necエレクトロニクス株式会社 シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
KR100532413B1 (ko) * 2002-12-02 2005-12-02 삼성전자주식회사 플래시 메모리 보호 장치 및 방법
TW200601150A (en) * 2004-06-28 2006-01-01 Wistron Corp Method and apparatus for switching among multiple initial execution addresses
KR100630185B1 (ko) * 2004-07-07 2006-09-29 삼성전자주식회사 하드 와이어드 코드를 이용한 시동 모드를 지원하는 이동단말 시스템의 시동 장치 및 방법
KR100607992B1 (ko) 2004-07-09 2006-08-02 삼성전자주식회사 낸드 플래시 메모리의 동작 상태의 감시를 통해 시스템을부팅하기 위한 방법 및 시스템
US20070094489A1 (en) * 2005-10-21 2007-04-26 Sony Corporation Embedded system that boots from USB flash drive
JP4859465B2 (ja) * 2006-01-11 2012-01-25 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 ソフトウェア更新方法および移動端末装置
US8495349B2 (en) * 2008-10-09 2013-07-23 International Business Machines Corporation Generating a primary BIOS code memory address and a recovery BIOS code memory address, where the recovery BIOS service code is loaded when the primary BIOS code fails to execute
WO2013111249A1 (ja) 2012-01-24 2013-08-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
US9471514B1 (en) * 2012-08-23 2016-10-18 Palo Alto Networks, Inc. Mitigation of cyber attacks by pointer obfuscation
JP7289641B2 (ja) * 2018-11-30 2023-06-12 キヤノン株式会社 情報処理装置、およびその制御方法
KR102871239B1 (ko) * 2020-02-10 2025-10-16 삼성전자 주식회사 전자 장치 및 전자 장치의 초기화 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158184A (ja) * 1989-11-17 1991-07-08 Juki Corp 制御プログラムによつて動作するミシン
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
JPH05197559A (ja) * 1991-12-16 1993-08-06 Nec Corp リモートソフトウェアダウンロード方式
US5432927A (en) 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
US5367571A (en) 1992-12-02 1994-11-22 Scientific-Atlanta, Inc. Subscriber terminal with plug in expansion card
US5440632A (en) 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US6182187B1 (en) * 1993-04-07 2001-01-30 Compaq Computer Corporation System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
US5522076A (en) 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
DE4332499A1 (de) * 1993-09-24 1995-03-30 Bosch Gmbh Robert Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers
US5467286A (en) 1993-11-03 1995-11-14 Square D Company Metering unit with downloadable firmware
JPH07261997A (ja) * 1994-03-22 1995-10-13 Fanuc Ltd フラッシュrom管理方式
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
DE4429969A1 (de) 1994-08-24 1996-02-29 Sel Alcatel Ag Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
JPH0869376A (ja) * 1994-08-31 1996-03-12 Hitachi Ltd Biosの書き換え制御回路
US5568641A (en) 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
JP3393318B2 (ja) * 1995-01-19 2003-04-07 ソニー株式会社 データ受信処理装置およびデータ受信処理方法並びに放送受信処理方法
US5701492A (en) 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5805882A (en) 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US5949997A (en) 1997-01-03 1999-09-07 Ncr Corporation Method and apparatus for programming a microprocessor using an address decode circuit
US5901330A (en) 1997-03-13 1999-05-04 Macronix International Co., Ltd. In-circuit programming architecture with ROM and flash memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086516A (ja) * 2018-11-15 2020-06-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7210238B2 (ja) 2018-11-15 2023-01-23 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
US12613657B2 (en) * 2022-12-09 2026-04-28 SK Hynix Inc. Controller, storage device and method for operation to balance memory degradation

Also Published As

Publication number Publication date
EP0898225A1 (en) 1999-02-24
US6539474B2 (en) 2003-03-25
WO1998034169A1 (en) 1998-08-06
EP0898225A4 (en) 2000-07-05
KR20000064821A (ko) 2000-11-06
US20010020263A1 (en) 2001-09-06
KR100541781B1 (ko) 2006-04-14

Similar Documents

Publication Publication Date Title
JP4279902B2 (ja) ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法
JPWO1998034169A1 (ja) 情報処理装置および方法
EP0887729B1 (en) Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
JP4668416B2 (ja) ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護
US7664923B2 (en) Method and system for updating software
US7543137B2 (en) Information processing device and information processing method
US7750676B2 (en) Embedded system and control method therefor
JP2000357095A (ja) 埋込式システムにソフトウェアをダウンロードする方法および装置
WO2001009722A1 (en) Re-loading operating systems
EP2733612B1 (en) Information processing device, method, and program
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP7613174B2 (ja) 情報処理装置及び情報処理プログラム
KR20010076555A (ko) 수신기의 프로그램 업그레이드 장치 및 방법
JP5084853B2 (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
JP4375857B2 (ja) プログラム再書き込み機能付コンピュータ
JP4084461B2 (ja) リモートダウンロードが可能な端末装置、その端末装置が備えるローダプログラムに適用されるダウンロード方法、そのローダプログラムを記録した記録媒体
JP2004348434A (ja) 通信機能付き情報処理装置およびそのプログラム更新方法
JP2001117766A (ja) マスクromのパッチ機能を備えた情報処理装置
KR100422928B1 (ko) 데이터 처리 시스템의 부팅 장치 및 방법
JP2005050097A (ja) 情報処理装置、情報処理方法、プログラム、記録媒体
JP2000293376A (ja) ブートプログラムの切替回路及び切替方法
JP2001344156A (ja) フラッシュメモリを有する装置およびデータの書き換え方法
JP4239657B2 (ja) 電子機器
JP2003122575A (ja) 情報処理装置
JP2004078294A (ja) 信号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060817

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060907

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090313

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4