WO1998034169A1 - Appareil et procede de traitement d'informations - Google Patents

Appareil et procede de traitement d'informations

Info

Publication number
WO1998034169A1
WO1998034169A1 PCT/JP1998/000358 JP9800358W WO9834169A1 WO 1998034169 A1 WO1998034169 A1 WO 1998034169A1 JP 9800358 W JP9800358 W JP 9800358W WO 9834169 A1 WO9834169 A1 WO 9834169A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
program
sector
basic
stored
storage
Prior art date
Application number
PCT/JP1998/000358
Other languages
English (en)
French (fr)
Inventor
Yoko Matsuura
Original Assignee
Sony Corporation
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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; 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; 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 operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; 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

Description

明 細 書

情報処理装置および方法 本発明は、 情報処理装置および方法に関し、 特に、 起動時に実行す る基本プログラムと、 その基本プログラムに従って実行する応用プロ グラムを書き換える情報処理装置および方法に関する。

背景技術

最近の半導体技術の進歩に伴い、 様々な電子機器にマイクロコンピ ュ一タが応用されている。 例えば、 最近普及しつつある、 人工衛星を 介して番組などを放送する放送システムにおける受信機である I R D ( Integrated Receiver Decoder)にも、 マイクロコンピュータカ応用 されている。

このよ うに普及の途上にある分野においては、 提供されるサービス が今後変更される可能性が高いので、 そのような変更に対応して、 マ イク口コンピュータのプログラムを変更することが可能であるように 装置 (例えば I R D ) を設計する必要がある。

このマイクロコンピュータのプログラムは、 ブー トノレ一チンなどの 基本的な処理を行うルーチンを有する基本プログラムと、 実際にサー ビスを提供する応用プログラムに分けられる。

本出願人は、 このよ うな応用プログラムを変更 (更新) する装置を 、 例えば特開平 8— 1 9 5 9 5 2号公報において先に提案した。 また、 基本プログラムと応用プログラムの両方を変更する場合、 元 の基本プログラムと応用プログラムが記憶されている記憶領域に新た な基本プログラムと応用プログラムを直接書込むと、 基本プログラム の書込みの途中でエラーの発生や停電などが発生したとき、 ブートル 一チンなどを有する基本プログラムが正常に 1つも記憶されていない 状態となり、 装置の次回の起動が困難になるので、 2つの記憶部を、 例えば E E P R O M (Electri cal ly Erasabl e and Programmabl e ROM ) のような、 書き換え可能な不揮発性のメモリに設けておき、 プログ ラムの更新時には、 更新ごとに交互にそれらの記憶部のいずれかを利 用することが考えられる。

このようにすることにより、 プログラムの書込みの途中でエラーの 発生や停電などが発生した場合においても、 元の基本プログラムが保 存されているので、 次回の起動が可能となる。

しかしながら、 このようにして 2つの記憶部を設ける場合、 少なく とも基本プログラムの容量分の、 書き換え可能な不揮発性のメモリが 基本プログラムの保存用に必要となり、 装置のコス トを低減すること が困難であるという問題を有している。

発明の開示

本発明は、 このような状況に鑑みてなされたもので、 2つの書き換 え可能な不揮発性のメモリを設けることなく、 プログラムの更新を行 うことができるようにするものである。

請求項 1の発明は、 少なく とも 2つの記憶領域が予め設定された記 憶手段と、

新たな基本プログラムを外部から取得する手段と、

記憶手段に記憶されている基本プログラムに従って、 記憶手段に記 憶されている応用プログラムを実行する実行手段とを備え、

実行手段は、 記憶手段の少なく とも 2つの記憶領域の内で、 基本プ 口グラムの書込みに使用されていない方の記憶領域に対して、 取得し た新たな基本プログラムを記憶させる

ことを特徴とする情報処理装置である。

請求項 1 3の発明は、 予め設定された少なく とも 2つの記憶領域の 一方に対して、 基本プログラムが記憶され、 記憶されている基本プロ グラムに従って、 記憶されている応用プログラムを実行し、

少なく とも 2つの記憶領域の内で、 基本プログラムの書込みに使用 されていない他方の記憶領域に対して、 外部から取得した新たな基本 プログラムを記憶させる

ことを特徴とする情報処理方法である。

請求項 2の発明は、 基本プログラムを記憶するための少なく とも 2 つの記憶領域が予め設定されると共に、 応用プログラムを記憶する記 憶手段と、

新たな基本プログラムおよび新たな応用プログラムを外部から取得 する手段と、

記憶手段に記憶されている基本プログラムに従って、 記憶手段に記 憶されている応用プログラムを実行する実行手段とを備え、

実行手段は、 記憶手段の少なく とも 2つの記憶領域の内で、 基本プ ログラムの書込みに使用されていない方の記憶領域に対して、 取得し た新たな基本プログラムを記憶させた後、 新たな基本プログラムを記 憶させた領域以外の領域に、 新たな応用プログラムを記憶させる ことを特徴とする情報処理装置である。

請求項 1 4の発明は、 予め設定された少なく とも 2つの記憶領域の 一方に対して、 基本プログラムが記憶され、 記憶されている基本プロ グラムに従って、 記憶されている応用プログラムを実行し、

記憶手段の少なく とも 2つの記憶領域の內で、 基本プログラムの書 込みに使用されていない他方の記憶領域に対して、 外部から取得した 新たな基本プログラムを記憶させた後、 新たな基本プログラムを記憶 させた領域以外の領域に、 外部から取得した新たな応用プログラムを 記憶させる ことを特徴とする情報処理方法である。

請求項 1に記載の情報処理装置および請求項 1 3の情報処理方法に おいては、 実行手段は、 記憶手段に、 新たな基本プログラムを記憶さ せる時に、 以前に基本プログラムの書込みに使用されていない方の記 憶領域に対して記憶させる。 従って、 基本プログラムの書き換えを支 障なく行うことができる。

請求項 2の情報処理装置および請求項 1 4の情報処理方法は、 新た に取得された基本プログラムを以前に基本プログラムの書込みに使用 されていない方の記憶領域に対して記憶させると共に、 新たな基本プ 口グラムを記憶させた領域以外に新たに取得された応用プログラムを 書込むので、 基本プログラムおよび応用プログラムを支障無く記憶手 段に記憶させることができる。

図面の簡単な説明

第 1図は、 本発明の情報処理装置の一実施の形態を示すプロック図 、 第 2図は、 第 1図のシステムモニタ回路の構成例を示すブロック図 、 第 3図は、 システムモニタ回路の動作説明に用いるタイミングチヤ ー ト、 第 4図は、 第 1図の情報処理装置の動作について説明するフロ 一チャート、 第 5図は、 第 1図の情報処理装置の動作について説明す るフ口一チャート、 第 6図は、 第 1図のフラッシュメモリのメモリマ ップの一例を示す図、 第 7図は、 全ダウンロード時における物理セク タと論理セクタの対応関係の変更の例を示す図、 第 8図は、 第 1図の 情報処理装置の例外処理の動作について説明するフローチヤ一トであ る。

発明を実施するための最良の形態

第 1図は、 本発明の情報処理装置の一実施の形態の構成を示してい る。 C P U 1 (実行手段) は、 フラッシュメモリ 4 (記憶手段) また は R A M 5 (第 2の記憶手段) に記憶されているプログラム (基本プ ログラムまたは応用プログラム) に従って動作し、 ア ドレスバス 2を 介して各回路にァ ドレス情報を供給し、 そのァ ドレスに対応するデー タを、 データバス 3を介して、 その回路に送信、 または、 その回路か ら受信するようになされている。

フラッシュメモリ 4は、 書き換え可能な不揮発性のメモリであり、 起動時に実行されるブートル一チンなどの基本プログラムを、 論理セ クタ 0に対応する物理セクタ (第 1 の記憶領域) に記憶し、 その基本 プログラムに従って実行される応用プログラムを論理セクタ 1から論 理セクタ N— 1 ( Nはセクタ数を表す) までに対応する物理セクタ ( 第 2の記憶領域) に記憶している。 なお、 論理セクタは、 C P U 1が ア ドレッシングに利用するときに使用される (後述) 。

R A M 5は、 C P U 1による処理の途中において、 プログラムゃデ ータを一時的に記憶するようになされている。

システムモニタ回路 7は、 新たな基本プログラムや応用プログラム のダウン口一ドが成功したか否かや、 フラッシュメモリ 4において基 本プログラムが記憶されている位置などの各種状態を監視するように なされている (後述) 。

リセッ トジエネレータ 8は、 システムモニタ回路 7よ り リセッ ト リ クェス ト信号が供給されると、 C P U 1にリセッ ト信号を出力するよ うになされている。

ダウン口一ドプログラムバッファ 9は、 例えば R A Mなどの半導体 メモリで構成され、 周辺装置 1 1 より供給される新たなプログラムを 、 一時的に記憶するようになされている。

周辺装置 1 1は、 所定の媒体や伝送路 (図示せず) を介して供給さ れる新たなプログラムを受け取るようになされている。 周辺装置の一 例は、 ディジタル衛星放送、 ディジタル地上波放送等のディジタルテ レビジョン放送の受信部 (アンテナ、 フィルタ、 チューナ、 復調器、 エラー訂正回路等) であり、 プログラムは、 I RDの動作に必要なプ ログラムである。

第 2図は、 システムモニタ回路 7の構成例を示している。 C PU 1 から状態モニタ回路 2 1に対して、 タイマ信号およびダウンロード情 報が供給されると共に、 nビッ トのア ドレスバス信号の内、 (n— 1 ) ビッ トのア ドレス信号が供給される。 状態モニタ回路 2 1から出力 されたブートセクタ制御信号 Bおよびエラ一信号 Cは、 XOR (排他 的論理和) 回路 22に供給される。 X〇R回路 22から出力される信 号は、 XOR回路 23の一方の入力に供給されると共に、 状態モニタ 回路 2 1に内蔵された不揮発性 RAM ( VRAM) 3 1および C P U lに供給される。 C P U 1から供給されるア ドレスバス (nビッ ト ) の内、 所定の 1 ビッ トのァドレス信号 Aが X〇R回路 23の他方の 入力に供給され、 XOR回路 2 3から出力されるア ドレス信号 A ,は 、 (n - 1 ) ビッ トのア ドレスバス信号と共にフラッシュメモリ 4に 供給される。 さらに、 状態モニタ回路 2 1から出力されたリセッ トリ クェス ト信号 Rは、 リセッ トジェネレータ 8に供給され、 リセッ トジ エネレータ 8から出力されたリセッ ト信号が CPU 1に供給される。

ところで、 本発明における情報処理装置では、 システムの起動の際 に実行される基本プログラムがフラッシュメモリ 4内に記憶される場 所は、 複数設けられている。 そして、 フラッシュメモリ 4内のプログ ラム全てをダウンロードして書き換える際には、 それまでの動作に用 いられている基本プログラムが記憶されている場所とは別の場所に基 本プログラムを記憶するようになされている。 こうすることによって 、 仮に基本プログラムのダウンロード中にエラ一が生じ、 ダウン口一 ドか失敗に終わった場合でも、 必ず正常に起動することができる基本 プログラムが残っているので、 ダウンロード失敗により起動不可能な 状態になることが防止される。

以下、 説明を簡単にするために、 フラッシュメモリ 4が 0から 3 1 のセクタ数を有し、 フラッシュメモリ 4内に基本プログラムが記憶可 能なセクタを 2つ (物理セクタ 0と物理セクタ 1 6) 設けた場合につ いて述べるが、 本発明は、 これらの数値に限定されるものではない。 次に、 システムモニタ回路 7の電源起動時の動作について、 上述の 第 2図および第 3図のタイミングチヤートを参照して説明する。

状態モニタ回路 2 1は、 内蔵する NVR AM3 1に、 XOR回路 2 2から出力される信号の値を定期的に記憶するようになされており、 これにより受信機などの情報処理装置の電源が切られる直前に XOR 回路 2 2から出力されていた信号の状態 (ハイレベルまたはローレべ ル) を記憶することができるようになされている。

そして、 電源がオンされると、 状態モニタ回路 2 1は、 内蔵する N VRAM 3 1に記憶されている、 前回起動時において電源が切られる 直前の XOR回路 2 2の出力 (最終ブートセクタ情報) を読出して X OR回路 2 2に供給する。 また、 状態モニタ回路 2 1は、 C PU 1か ら供給される (n_ l ) ビッ トのア ドレス情報とタイマ信号とから C PU 1の状態を判断し、 エラーの状態であると判断すれば、 エラー信 号 Cとしてハイレベル信号を X OR回路 2 2に出力する (第 3図 A) 。 さらに、 状態モニタ回路 2 1は、 エラー状態を検出した場合、 リセ ッ トジェネレータ 8に対してリセッ トリクエス ト信号 Rを出力する ( 第 3図 B) 。

仮に、 NVRAM3 1にローレベル信号が記憶されていたとすると 、 エラー信号 Cが発生されなければ、 X〇R回路 2 2の出力がローレ ベル信号となり、 このローレベル信号が X OR回路 2 3に対して出力 される。

ここで、 前回の起動時に基本プログラムのダウンロードが行われ、 そのダウン口一ドが失敗に終わった場合には、 当然ながら C PU 1は 正常に起動が行われず、 状態モニタ回路 2 1は、 上述のように、 これ を検出してエラー信号 Cとしてハイレベル信号を X OR回路 22に出 力する。 これにより XOR回路 2 2の出力がハイ レベルに反転し (第 3図 D) 、 タイミング 1の直前のタイミングで NVRAM 3 1にハ ィレベル信号が記憶されることになる。 状態モニタ回路 2 1は、 エラ 一信号 Cを出力すると同時に、 リセッ ト リ クエス ト信号をリセッ トジ エネレータ 8に対して出力する。 リセッ トジェネレータ 8は、 リセッ トリクエス ト信号に応答してタイミング t 1において、 リセッ ト信号 を発生し (第 3図 C) 、 これによつてシステム全体が再起動される ( 第 3図中の網かけの部分) 。 再起動が行われると、 NVRAM3 1に 記憶されているハイレベル信号がブートセクタ制御信号 Bとして XO R回路 2 2に供給される (第 3図 E) と共に、 エラー信号が発生され ないので、 XOR回路 2 2の出力がハイ レベル信号となり (第 3図 D ) 、 X OR回路 2 3に供給される。 C P U 1から供給される 1 ビッ ト のァ ドレス信号 Aは、 エラーが発生する前と再起動後で同じ値である ため (第 3図 F) 、 X OR回路 2 3の出力であるア ドレス信号 A 'は 、 エラーが発生する前と再起動後では反転することになる。

こ う してフラッシュメモリ 4のアクセスされるア ドレスが切り替え られ、 ダウンロードの失敗によらず、 保存されている基本プログラム によって再起動が行われる。

次に、 第 4図および第 5図のフローチャートを参照して、 第 1図の 情報処理装置の電源立ち上げ後の動作について説明する。 なお、 以下 の説明では、 基本プログラムが物理セクタ 0に記憶されている場合に ついて説明するが、 物理セクタ 1 6に基本プログラムが記憶されてい る場合も同様に動作可能である。

ステップ S 1において、 電源が投入されると、 C PU 1は、 第 6図 に示すように、 基本プログラムが記憶されているフラッシュメモリ 4 の論理セクタ 0の先頭に記憶されているリセッ トベクタ (reset vect or) を参照し、 その値が指すアドレスに記憶されているブー トルーチ ン (図中の boot () ) を実行する。 ここで、 エラーが発生した場合に は、 上述した再起動の処理が行われる。

次に、 ステップ S 2において、 C PU 1は、 コピールーチン (図中 の copy— prog () ) を実行し、 ダウンロー ドの管理やアプリケーショ ンタスクを実行させるルー トタスクルーチン (図中の rootTask () ) 、 新たなプログラムを周辺装置 1 1よりダウンロードするダウンロー ドルーチン (図中の downloader () ) 、 および、 割込処理を行うサー ビスル一チン (図中の basic ISRs) を論理セクタ 0から読出し、 第 6 図に示すように RAM 5に記憶させる。

ステップ S 3において、 C PU 1は、 RAM 5のルー トタスクルー チンの実行を開始する。 なお、 ステップ S 3以降の処理は、 このル一 トタスクルーチンに従って行われる。

このように、 C P U 1は、 ノレ一トタスクルーチンなどの論理セクタ 0に記憶されているルーチンを RAM 5に記憶させた後、 R AM5に 記憶されているルーチンを実行することにより、 フラッシュメモリ 4 の論理セクタ 0の書き換えが可能となる。 また、 割込処理を行うサ一 ビスルーチンを RAM 5に記憶させることにより、 プログラムの実行 中にバスエラー、 ア ドレスエラー、 不当命令などが発生した場合にお いても、 例外処理を行うことができるので、 例外処理後に適切なプロ グラムのダウンロードを実行することができる。

まず、 ステップ S 4において、 C P U 1は、 周辺装置 1 1からのプ 口グラムの前回のダウンロードが失敗しているか否かを、 周辺装置 1 1 (またはシステムモニタ回路 7 ) に問い合わせ、 前回のダウンロー ドが成功していると判断した場合、 ステップ S 5に進み、 全ての論理 セクタを検査する。 この論理セクタを検査する場合、 先ず、 ダウン口 一ドされたプログラムの書き換え開始セクタである論理セクタ 1 6か ら開始して論理セクタ 3 2まで検査し、 その後論理セクタ 0から、 論 理セクタ 1 5まで検查するといつた順序で検查を行うことが望ましい 。 なお、 電源投入時からこの時点までに一度もダウンロードを行って いない場合においても、 ステップ S 5に進む。

そして、 ステップ S 6において、 C P U 1は、 全ての論理セクタに おいて異常を発見したか否かを判断し、 異常を発見しなかったと判断 した場合、 ステップ S 7に進み、 アプリケーションタスク (応用プロ グラム) (図中の卿 l icationTaskl () , appl icationTask2 () , · • · ) をマルチタスクと して順次開始した後、 ステップ S 9 (第 5図 ) に進み、 ダウンロードが実行されるまで待機する。

例えば、 プログラムバージョンレジスタやチェックサム用のレジス タをフラッシュメモリ 4の所定の記憶領域に確保し、 プログラムの書 込み時に、 プログラムのバージョンやチェックサムの値を予め記憶さ せておき、 ステップ S 6においてその値を参照することにより、 C P U 1は、 各論理セクタが異常であるか否かを判断することができる。 また、 周辺装置 1 1は、 ダウンロードの結果 (成功または失敗) の情 報を記憶していない場合においても、 このように、 所定の論理セクタ を検査することにより、 前回のダウンロードが成功しているか否かを 判断することができる。 —方、 ステップ S 6において、 C P U 1が異常を発見したと判断し た場合、 ステップ S 8に進む。 そして、 ステップ S 8において、 C P U 1は、 論理セクタ 1 6が異常であるか否かを判断し、 論理セクタ 1 6が異常である場合、 前回の全ダウンロードでブートセクタの書込み に失敗していると判断し、 全ての論理セクタに対応する新たなプログ ラムのダウンロード (全ダウンロード) のリクエス トを周辺装置 1 1 に出力した後、 ステップ S 9 (第 5図) に進み、 そのダウンロードが 実行されるまで待機する。 なお、 論理セクタ 1 6は正常である場合、 何もせずステップ S 9に進む。

また、 ステップ S 4において、 前回のダウンロードが失敗している と判断した場合、 (アプリケーショ ンタスクを実行しても、 バスエラ 一、 ア ドレスエラ一、 不当命令などが発生する可能性が高いので、 ) ステップ S 9 (第 5図) に進み、 次のダウンロードが実行されるまで 待機する。

そして、 ステップ S 9において次のダウンロードが実行されるまで 待機し、 周辺装置 1 1によりダウンロードが開始されると、 C P U 1 は、 まず、 ステップ S 1 0において、 ブー トルーチンが配置されてい るセクタ (ブ一トセクタ) 、 すなわち、 論理セクタ 0に対応する物理 セクタの番号 (今の場合、 0か 1 6 ) を、 例えば不揮発性メモリ 3 1 に記憶されている最終ブ一トセクタ情報から特定する。

また、 応用プログラムがマルチタスク環境で動作している場合は、 この時点で、 ルートタスク (書換プログラムを有するもの) を残して すべての他のタスクは、 実行を中止する。

次に、 ステップ S 1 1において、 C P U 1は、 実行するダウンロー ドの種類が、 全ダウンロードである力 、 あるいは、 ブー トセクタ以外 のセクタのプログラム (すなわち、 応用プログラム) をダウンロード する部分ダウンロードであるかを、 周辺装置 1 1からの所定の信号で 判断し、 今回のダウンロードが部分ダウンロードである場合、 ステツ プ S 1 2に進み、 周辺装置 1 1 より供給されたプログラムを、 論理セ クタ 1から最後の論理セクタまでの領域に記憶させる。

第 6図に示すように、 ブートルーチンなどの基本プログラムと異な るセクタに、 アプリケーショ ンタスクと、 それに対応するデータを記 憶することにより、 部分ダウンロードを行うことができる。 部分ダウ ンロードは、 基本プログラムを書き換えないので、 データが保護され ている。 従って、 万一ダウンロード中に事故か発生しても、 かかる構 成をとることによって、 再部分ダウンロードが可能となる。

このとき、 ブートセクタが物理セクタ 0にだけ配置されており、 そ こに記憶されている基本プログラムにより起動が行われている場合、 プログラムは、 物理セクタ 1〜最後の物理セクタ (物理セクタ N— 1 ) に上書きされる。

一方、 現在は物理セクタ 0に記憶されている基本プログラムにより 起動されているが、 他のブートセクタが物理セクタ 1 6に配置されて いる場合が考えられる。 これは、 前回の起動時に全ダウンロードが行 われて、 ブートセクタまでは正常にダウンロードが行われたが、 応用 プログラムのダウン口一ドに失敗した時は、 このよ うな状態となる。 この時の対処として、 物理セクタ 0のブートセクタを残して他の部分 を部分ダウンロードする場合と、 物理セクタ 1 6のブー トセクタを残 して他の部分を部分ダウン口一ドする場合とが考えられる。 この二つ のケースのどちらにするかは、 例えば物理セクタ 0 と 1 6に記憶され ているブートセクタのバージョン情報を比較し、 新しい方を残すよう にしても良い。 あるいは、 これから部分ダウンロードしょう とするプ 口グラムと親和性の高い方のブートセクタを残して他の部分をダウン 口一ドするようにしても良い。

次に、 ステップ S 1 3において、 C PU 1は、 このダウンロードが 失敗したか否かを判断し、 ダウンロードが成功している場合、 ステツ プ S 1に戻り、 システムをブートし直す (再起動を行う) 。

一方、 ステップ S 1 3においてダウンロードが失敗したと判断した 場合、 C PU 1は、 内蔵するメモリにダウンロードの失敗の情報を記 憶し、 さらに、 ステップ S 1 4において、 ダウンロードが失敗したこ とを、 所定の信号を出力して周辺装置 1 1に報告した後、 ステップ S 9に戻り、 再度ダウンロードが実行されるまで待機する。

また、 ステップ S 1 1において今回のダウンロードが、 全ダウン口 ードであると判断された場合、 ステップ S 1 5に進み、 C PU 1は、 周辺装置 1 1より供給されたプログラムを記憶させる。 すなわち、 ブ 一トセクタを論理セクタ 1 6に書き、 論理セクタ 1のデータを論理セ クタ 1 7に書き、 以下順に書いて行き、 論理セクタ 0に戻り、 論理セ クタ 1 5までの領域にデータを書く。

第 7図に示すように、 例えば 3 2ビッ トでフラッシュメモリ 4のァ ドレッシングが行われており、 ブ一トセクタの切り替え制御に、 アド レス情報の第 2 1 ビッ トの値を使用する場合、 C PU 1が論理セクタ 0の先頭 (0 x 200000 (O xは 1 6進数を表す) ) をァ ドレツ シングしたとき、 ア ドレス信号の値が 0であると、 物理セクタ 0の先 頭 (0 x 200000) がア ドレッシングされる。 一方、 ア ドレス信 号の値が 1であると、 物理セクタ 1 6の先頭 (0 x 3 00000) が ァ ドレッシングされる。

従って、 ブートセクタが物理セクタ 0に配置されている場合、 第 7 図に示すように、 プログラムは、 論理セクタ番号の順番で、 物理セク タ 1 6〜最後の物理セクタ (物理セクタ N— 1 ) と、 物理セクタ 0〜 物理セクタ 1 5に順次書込まれる。 従って、 このときの所定の論理セ クタ番号に対応する物理セクタ番号は、 その論理セクタ番号に 1 6を 加算した数に対するセクタ数 Nの剰余 ( (論理セクタ番号 + 1 6 ) ( m o d N ) ) で表される。

一方、 ブートセクタが物理セクタ 1 6に配置されている場合、 プロ グラムは、 論理セクタ番号の順番で、 物理セクタ 0〜最後の物理セク タ (物理セクタ N— 1 ) に順次書込まれる。 従って、 書込み後の各物 理セクタの番号は、 その物理セクタに対応する論理セクタの番号と同 一の番号となる。

すなわち、 元のブートセクタが物理セクタ 0に配置されていた場合 、 今回のダウン口一ドにより、 ブートセクタは、 物理セクタ 1 6に配 置され、 元のブ一トセクタが物理セクタ 1 6に配置されていた場合、 今回のブートセクタは、 物理セクタ 0に配置される。 このように、 元 のブートセクタに新たなプログラムを上書きする前に、 今回のブート セクタのプログラムを書込まないようにすることにより、 プログラム のダウンロード中にエラ一が発生した場合においても、 少なく とも 1 つの正常なブ一トセクタが保存されていることになる。

次に、 ステップ S 1 6において、 C P U 1は、 このダウンロードが 失敗したか否かを判断する。 ダウン口一ドが成功している場合には、 ステップ S 1 (第 4図) に戻り、 システムをブートし直す (再起動を 行う) 。

一方、 ステップ S 1 6においてダウン口一ドが失敗したと判断した 場合、 C P U 1は、 内蔵するメモリにダウンロードの失敗の情報を記 憶し、 さらに、 ステップ S 1 7において、 失敗したことをシステムモ ユタ回路 7および周辺装置 1 1に報告した後、 ステップ S 9に戻り、 再度ダウンロードが実行されるまで待機する。 以上のようにして、 全ダウン口一ドまたは部分ダウンロードが必要 に応じて行われるとともに、 ダウンロードが失敗していない場合にお いては、 ブ一ト後に所定のアプリケーションタスクが実行される。 次に、 第 8図のフローチャートを参照して、 バスエラ一、 ア ドレス エラー、 不当命令などが発生したときの例外処理について説明する。 上述したステップ S 5で、 全論理セクタを検査したにもかかわらず、 検査もれによりエラーが発生した場合に、 以下の例外処理がなされる 最初に、 C P U 1は、 ステップ S 2 1において、 エラーが発生した ア ドレスを読出し、 ステップ S 2 2において、 そのア ドレス値からェ ラーが発生した論理セクタを特定する。

そして、 ステップ S 2 3において、 C P U 1は、 その論理セクタが ブートセクタ (すなわち、 論理セクタ 0 ) であるか否かを判断し、 そ の論理セクタがブートセクタである場合、 ステップ S 2 4において、 全ダウン口一ドのリクエス トを周辺装置 1 1に送信し、 そのセクタが ブートセクタ以外のセクタである場合、 部分ダウン口一ドのリクエス トを送信する。

このようにして例外処理を行う ことにより、 例えばダウンロードの 途中で停電になり、 周辺装置 1 1に対してダウンロードの失敗の報告 が行われておらず、 さらに論理セクタのチェック時に検査もれをして しまった場合においても、 再度ダウン口一ドを実行することかできる なお、 上記実施の形態においては、 ブ一トセクタを配置する物理セ クタの番号を 0または 1 6に設定している力 、 他の物理セクタにブー トセクタを配置するようにしてもよい。

また、 上記実施の形態においては、 基本プログラムを R A M 5に記 憶させているが、 フラッシュメモリ 4のブートセクタ (論理セクタ 0 ) に記憶されているプログラム書換モジュール (第 6図の downloader 0 ) によって、 論理セクタ 1 6から N— 1までを書き換え、 論理セ クタ 0〜 1 5の書き換えは、 新たに供給されるプログラム書換モジュ ールに実行を移してすべてのプログラムを書き換えるようにしてもよ レ、。 それによつて、 R A M 5に基本プログラムを記憶する必要がない その場合、 新たに供給されるプログラム書換モジュール (download er ( ) ) が記憶されるア ドレスを、 予めデータとして元のプログラム 書換モジュールに与えておき、 C P U 1は、 元のプログラム書換モジ ユールに従って、 新たな基本プログラムを論理セクタ 0に書込んだ後 、 プログラムの実行を、 新たな論理セクタ 0における新たなプロダラ ム書換モジュールに移し、 その新たなプログラム書換モジュールに従 つて、 論理セクタ 0より後の残りのプログラムをフラッシュメモリ 4 に書込む。

以上のごとく、 本発明によれば、 元の応用プログラムが記憶されて いる第 2の記憶領域における所定の領域に新たな基本プログラムを記 憶した後、 新たな基本プログラムを記憶した領域の終わりから第 2の 記憶領域の終わりまでの領域、 元の基本プログラムが記憶されている 第 1の記憶領域、 および、 第 2の記憶領域の先頭から新たな基本プロ グラムが記憶されている領域の先頭までの領域に、 新たな応用プログ ラムを記憶するようにしたので、 書き換え可能な不揮発性のメモリの 容量が少なくて済むようにすることができる。

Claims

請 求 の 範 囲
1 . 少なく とも 2つの記憶領域が予め設定された記憶手段と、 新たな基本プログラムを外部から取得する手段と、
前記記憶手段に記憶されている基本プログラムに従って、 前記記憶 手段に記憶されている応用プログラムを実行する実行手段とを備え、 前記実行手段は、 前記記憶手段の少なく とも 2つの記憶領域の内で 、 基本プログラムの書込みに使用されていない方の記憶領域に対して 、 前記取得した新たな基本プログラムを記憶させる
ことを特徴とする情報処理装置。
2 . 基本プログラムを記憶するための少なく とも 2つの記憶領域が予 め設定されると共に、 応用プログラムを記憶する記憶手段と、 新たな基本プログラムおよび新たな応用プログラムを外部から取得 する手段と、
前記記憶手段に記憶されている基本プログラムに従って、 前記記憶 手段に記憶されている応用プログラムを実行する実行手段とを備え、 前記実行手段は、 前記記憶手段の少なく とも 2つの記憶領域の内で 、 基本プログラムの書込みに使用されていない方の記憶領域に対して 、 前記取得した新たな基本プログラムを記憶させた後、 前記新たな基 本プログラムを記憶させた領域以外の領域に、 前記新たな応用プログ ラムを記憶させる
ことを特徴とする情報処理装置。
3 . 特許請求の範囲第 1項または第 2項において、
前記記憶手段が不揮発性メモリである
ことを特徴とする情報処理装置。
4 . 特許請求の範囲第 1項または第 2項において、
前記外部から基本プログラムを取得する手段がディジタルテレビジ ョン信号の受信手段である
ことを特徴とする情報処理装置。
5 . 特許請求の範囲第 1項または第 2項において、
前記基本プログラムを一時的に記憶する第 2の記憶手段をさらに備 え、
前記実行手段は、 前記第 2の記憶手段に記憶された前記基本プログ ラムに従って、 前記新たな基本プログラムおよび新たな応用プロダラ ムを記憶させる
ことを特徴とする情報処理装置。
6 . 特許請求の範囲第 2項において、
前記実行手段は、 前記第 2の記憶手段に記憶された前記基本プログ ラムに従って、 前記新たな基本プログラムを記憶させた後、 前記新た な基本プログラムに従って前記新たな応用プログラムを記憶させる ことを特徴とする情報処理装置。
7 . 特許請求の範囲第 2項において、
前記応用プログラムは、 所定の数の機能に対応するルーチンを有し 前記ルーチンにより使用されるデータは、 そのルーチンが記憶され るセクタに記憶される
ことを特徴とする情報処理装置。
8 . 特許請求の範囲第 2項において、
前記実行手段は、 所定の信号に応じて、 前記新たな基本プログラム および前記新たな応用プログラムを記憶させるか、 あるいは、 新たな 応用プログラムだけを前記記憶手段に記憶させる
ことを特徴とする請求項 1に記載の情報処理装置。
9 . 特許請求の範囲第 1項または第 2項において、 前記記憶手段の少なく とも 2つの記憶領域のそれぞれが所定の数の セクタのうちの所定の 1セクタである
ことを特徴とする情報処理装置。
1 0 . 特許請求の範囲第 1項または第 2項において、
前記基本プログラムは、 ブートルーチンを有する
ことを特徴とする情報処理装置。
1 1 . 特許請求の範囲第 1項または第 2項において、
前記基本プログラムは、 割込処理用のル一チンを有する
ことを特徴とする情報処理装置。
1 2 . 特許請求の範囲第 1項または第 2項において、
さらに、 前記実行手段が正常に起動するか否かをモニタするモニタ 手段を備え、
前記実行手段が正常に起動しない場合には、 前記記憶手段の前記少 なく とも 2つの記憶領域の一方から他方へ、 書込みァドレスを切り替 えると共に、 前記実行手段を再起動する
ことを特徴とする情報処理装置。
1 3 . 予め設定された少なく とも 2つの記憶領域の一方に対して、 基 本プログラムが記憶され、 記憶されている基本プログラムに従って、 記憶されている応用プログラムを実行し、
前記少なく とも 2つの記憶領域の内で、 基本プログラムの書込みに 使用されていない他方の記憶領域に対して、 外部から取得した新たな 基本プ口グラムを記憶させる
ことを特徴とする情報処理方法。
1 4 . 予め設定された少なく とも 2つの記憶領域の一方に対して、 基 本プログラムが記憶され、 記憶されている基本プログラムに従って、 記憶されている応用プログラムを実行し、 前記記憶手段の少なく とも 2つの記憶領域の内で、 基本プログラム の書込みに使用されていない他方の記憶領域に対して、 外部から取得 した新たな基本プログラムを記憶させた後、 前記新たな基本プロダラ ムを記憶させた領域以外の領域に、 外部から取得した新たな応用プロ グラムを記憶させる
ことを特徴とする情報処理方法。
PCT/JP1998/000358 1997-01-31 1998-01-29 Appareil et procede de traitement d'informations WO1998034169A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9/18076 1997-01-31
JP1807697 1997-01-31

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP19980901493 EP0898225A4 (en) 1997-01-31 1998-01-29 Apparatus and method for processing information
JP53271498A JP4279902B2 (ja) 1997-01-31 1998-01-29 ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法
KR19980707792A KR100541781B1 (ko) 1997-01-31 1998-01-29 정보처리장치및방법
US09782854 US6539474B2 (en) 1997-01-31 2001-02-14 System and method for selectively executing different boot routines depending on whether an error is detected

Publications (1)

Publication Number Publication Date
WO1998034169A1 true true WO1998034169A1 (fr) 1998-08-06

Family

ID=11961572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/000358 WO1998034169A1 (fr) 1997-01-31 1998-01-29 Appareil et procede de traitement d'informations

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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149430A (ja) * 2000-11-07 2002-05-24 Matsushita Electric Ind Co Ltd デジタル放送受信機のプログラム更新方法
US6611902B2 (en) 2000-11-13 2003-08-26 Matsushita Electric Industrial Co., Ltd. Information processor and information processing method
JP2007189332A (ja) * 2006-01-11 2007-07-26 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア更新方法および移動端末装置
US7383431B2 (en) 2002-06-11 2008-06-03 Seiko Epson Corporation Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory

Families Citing this family (15)

* 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
GB0024580D0 (en) 2000-10-06 2000-11-22 Hewlett Packard Co Self-repairing operating system for computer entities
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
JP3830867B2 (ja) 2002-07-10 2006-10-11 Necエレクトロニクス株式会社 シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
KR100532413B1 (ko) * 2002-12-02 2005-12-02 삼성전자주식회사 플래시 메모리 보호 장치 및 방법
US20050289336A1 (en) * 2004-06-28 2005-12-29 Yi-Chang Chen 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
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
US9471514B1 (en) * 2012-08-23 2016-10-18 Palo Alto Networks, Inc. Mitigation of cyber attacks by pointer obfuscation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158184A (en) * 1989-11-17 1991-07-08 Juki Corp Sewing machine operated according to control program
JPH05197559A (ja) * 1991-12-16 1993-08-06 Nec Corp リモートソフトウェアダウンロード方式
WO1995008824A1 (de) * 1993-09-24 1995-03-30 Robert Bosch Gmbh Verfahren zur vollständigen neuprogrammierung eines löschbaren, nichtflüchtigen speichers
JPH07261997A (ja) * 1994-03-22 1995-10-13 Fanuc Ltd フラッシュrom管理方式
JPH0869376A (ja) * 1994-08-31 1996-03-12 Hitachi Keiyo Eng Co Ltd Biosの書き換え制御回路
JPH08195952A (ja) * 1995-01-19 1996-07-30 Sony Corp データ受信処理装置およびデータ受信処理方法並びに放送方法
JPH08255084A (ja) * 1995-01-18 1996-10-01 Hewlett Packard Co <Hp> Eepromのアップグレード方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US5432927A (en) 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
US5440632A (en) 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US5367571A (en) 1992-12-02 1994-11-22 Scientific-Atlanta, Inc. Subscriber terminal with plug in expansion card
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
US5467286A (en) 1993-11-03 1995-11-14 Square D Company Metering unit with downloadable firmware
GB2290890B (en) * 1994-06-29 1999-03-24 Apricot Computers Ltd 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
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158184A (en) * 1989-11-17 1991-07-08 Juki Corp Sewing machine operated according to control program
JPH05197559A (ja) * 1991-12-16 1993-08-06 Nec Corp リモートソフトウェアダウンロード方式
WO1995008824A1 (de) * 1993-09-24 1995-03-30 Robert Bosch Gmbh Verfahren zur vollständigen neuprogrammierung eines löschbaren, nichtflüchtigen speichers
JPH07261997A (ja) * 1994-03-22 1995-10-13 Fanuc Ltd フラッシュrom管理方式
JPH0869376A (ja) * 1994-08-31 1996-03-12 Hitachi Keiyo Eng Co Ltd Biosの書き換え制御回路
JPH08255084A (ja) * 1995-01-18 1996-10-01 Hewlett Packard Co <Hp> Eepromのアップグレード方法
JPH08195952A (ja) * 1995-01-19 1996-07-30 Sony Corp データ受信処理装置およびデータ受信処理方法並びに放送方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0898225A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149430A (ja) * 2000-11-07 2002-05-24 Matsushita Electric Ind Co Ltd デジタル放送受信機のプログラム更新方法
US6611902B2 (en) 2000-11-13 2003-08-26 Matsushita Electric Industrial Co., Ltd. Information processor and information processing method
US7383431B2 (en) 2002-06-11 2008-06-03 Seiko Epson Corporation Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory
JP2007189332A (ja) * 2006-01-11 2007-07-26 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア更新方法および移動端末装置

Also Published As

Publication number Publication date Type
US6539474B2 (en) 2003-03-25 grant
KR100541781B1 (ko) 2006-04-14 grant
JP4279902B2 (ja) 2009-06-17 grant
EP0898225A1 (en) 1999-02-24 application
KR20000064821A (ko) 2000-11-06 application
EP0898225A4 (en) 2000-07-05 application
US20010020263A1 (en) 2001-09-06 application

Similar Documents

Publication Publication Date Title
US5715431A (en) Tamper proof security measure in data writing to non-volatile memory
US5694538A (en) Memory rewriting apparatus
US7475184B2 (en) Systems and methods for providing nonvolatile memory management in wireless phones
US6560703B1 (en) Redundant updatable self-booting firmware
US6324692B1 (en) Upgrade of a program
US6151657A (en) Processor with embedded in-circuit programming structures
US20040123282A1 (en) Mobile handset with a fault tolerant update agent
US5566335A (en) Method and apparatus for firmware upgrades in embedded systems
US6275931B1 (en) Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6185696B1 (en) System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US20020099974A1 (en) Dual basic input/output system for a computer
US20060224841A1 (en) Information processing device and information processing method
US6651188B2 (en) Automatic replacement of corrupted BIOS image
US6055632A (en) Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system
US7000161B1 (en) Reconfigurable programmable logic system with configuration recovery mode
US20050251673A1 (en) Updatable firmware having boot and/or communication redundancy
US6684328B2 (en) Method and apparatus for determining compatibility of computer programs
US5835761A (en) Information processing system capable of updating a BIOS programme without interrupting or stopping the operational of a system
US20040049669A1 (en) Firmware architecture supporting safe updates and multiple processor types
US20080033609A1 (en) Automotive diagnostic and tuning system
US6473856B1 (en) Gold code backup for corrupt boot code recovery
US6834384B2 (en) Methods and apparatus for upgrading firmware in an embedded system
US5689640A (en) Method and system for downloading data to network nodes
US20010051519A1 (en) Portable telephone set
US5592613A (en) Microcomputer having a program correction function

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1998901493

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09155618

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1019980707792

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998901493

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980707792

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019980707792

Country of ref document: KR