JP2000357095A - 埋込式システムにソフトウェアをダウンロードする方法および装置 - Google Patents
埋込式システムにソフトウェアをダウンロードする方法および装置Info
- Publication number
- JP2000357095A JP2000357095A JP2000142053A JP2000142053A JP2000357095A JP 2000357095 A JP2000357095 A JP 2000357095A JP 2000142053 A JP2000142053 A JP 2000142053A JP 2000142053 A JP2000142053 A JP 2000142053A JP 2000357095 A JP2000357095 A JP 2000357095A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- version
- initialization
- program
- download
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Abstract
(57)【要約】
【課題】 単一の不揮発性メモリを用いることにより、
埋込式システムのオペレーティング・ソフトウェアおよ
び/または初期化プログラムのバージョンをアップデー
トする方法を提供する。 【解決手段】 不揮発性メモリは、元のバージョンの初
期化およびダウンロード・オペレーション・プログラム
を含むライトプロテクトされた領域と、アップグレード
可能な初期化およびダウンロード・オペレーション・プ
ログラムを含むプロテクトされていない領域とを有す
る。初期化の際、アップグレード可能なバージョン、あ
るいは元のバージョンの初期化およびダウンロード・オ
ペレーション・プログラムは、第2のメモリおよび/ま
たはメモリ位置にコピーされる。埋込式システムは、第
2のメモリおよび/またはメモリ位置から実行され、新
規のオペレーティング・ソフトウェアのダウンロードお
よび/または初期化プログラムのダウンロードを可能に
し、ダウンロードされたバージョンをもつプロテクトさ
れていない領域をプログラムする。
埋込式システムのオペレーティング・ソフトウェアおよ
び/または初期化プログラムのバージョンをアップデー
トする方法を提供する。 【解決手段】 不揮発性メモリは、元のバージョンの初
期化およびダウンロード・オペレーション・プログラム
を含むライトプロテクトされた領域と、アップグレード
可能な初期化およびダウンロード・オペレーション・プ
ログラムを含むプロテクトされていない領域とを有す
る。初期化の際、アップグレード可能なバージョン、あ
るいは元のバージョンの初期化およびダウンロード・オ
ペレーション・プログラムは、第2のメモリおよび/ま
たはメモリ位置にコピーされる。埋込式システムは、第
2のメモリおよび/またはメモリ位置から実行され、新
規のオペレーティング・ソフトウェアのダウンロードお
よび/または初期化プログラムのダウンロードを可能に
し、ダウンロードされたバージョンをもつプロテクトさ
れていない領域をプログラムする。
Description
【0001】
【発明の属する技術分野】本発明は、埋込式システムの
分野に関する。より詳細には、本発明は、オンボード
で、フェイルセーフ手続きを用いて、新規のバージョン
のソフトウェアを埋込式システムの単一の不揮発性メモ
リにダウンロードすることにより、埋込式システムの動
作を制御するために用いられるソフトウェアのバージョ
ンをアップグレードするための効果的な方法および装置
に関する。
分野に関する。より詳細には、本発明は、オンボード
で、フェイルセーフ手続きを用いて、新規のバージョン
のソフトウェアを埋込式システムの単一の不揮発性メモ
リにダウンロードすることにより、埋込式システムの動
作を制御するために用いられるソフトウェアのバージョ
ンをアップグレードするための効果的な方法および装置
に関する。
【0002】
【従来の技術】埋込式システムは、産業分野、オフィ
ス、および消費財に広く用いられている。実際、埋込式
システムは、マイクロプロセッサおよび/またはマイク
ロコントローラを使用して一般的な目的での計算のみに
用いられるものではないほとんどの装置に含まれてい
る。その装置には制御システムが埋め込まれ、その制御
システムは、その装置の必須の構成である。この種の装
置は、多種類の機械および装置の動作を制御、監視およ
び援助するために用いられる。例えば、電話や他の数多
くの電子機器は、ファームウェアにより実行および制御
される。このファームウェアは、電子機器のメモリに格
納される特定のソフトウェアであり、装置を実行するの
に通常用いられるコントローラおよび/または処理ユニ
ットにより常時呼ばれる。
ス、および消費財に広く用いられている。実際、埋込式
システムは、マイクロプロセッサおよび/またはマイク
ロコントローラを使用して一般的な目的での計算のみに
用いられるものではないほとんどの装置に含まれてい
る。その装置には制御システムが埋め込まれ、その制御
システムは、その装置の必須の構成である。この種の装
置は、多種類の機械および装置の動作を制御、監視およ
び援助するために用いられる。例えば、電話や他の数多
くの電子機器は、ファームウェアにより実行および制御
される。このファームウェアは、電子機器のメモリに格
納される特定のソフトウェアであり、装置を実行するの
に通常用いられるコントローラおよび/または処理ユニ
ットにより常時呼ばれる。
【0003】数多くの装置の中で、ファームウェアは、
データベースにリンクされている。そのデータベース
は、同一または別個のメモリにも格納され、装置が正常
動作するために必要な情報を含んでいる。通常、装置
は、特定の印刷回路基板(PCB)を有する。その基板
上には、処理ユニットや所望の関連メモリが実装(通
常、半田づけ)されている。PCB構造は、大量生産時
に実装面積を削減でき、コストも削減できるため、広く
利用されている。ファームウェアの元のバージョンとデ
ータベースの内容は、消費者に配送される前に、製造者
により、装置のメモリにダウンロードされ、プロセッサ
やコントローラと連携して、装置のオペレーティングシ
ステムとして機能する。
データベースにリンクされている。そのデータベース
は、同一または別個のメモリにも格納され、装置が正常
動作するために必要な情報を含んでいる。通常、装置
は、特定の印刷回路基板(PCB)を有する。その基板
上には、処理ユニットや所望の関連メモリが実装(通
常、半田づけ)されている。PCB構造は、大量生産時
に実装面積を削減でき、コストも削減できるため、広く
利用されている。ファームウェアの元のバージョンとデ
ータベースの内容は、消費者に配送される前に、製造者
により、装置のメモリにダウンロードされ、プロセッサ
やコントローラと連携して、装置のオペレーティングシ
ステムとして機能する。
【0004】多くの場合、時間の経過に伴って、消費者
の要求に応じて、装置の特徴的な部分を改良するのが望
ましい。新たな特徴は、装置の性能を改良するために研
究開発を続けている製造者により提供される。この種の
改良は、装置内のファームウェアおよび/またはデータ
ベースの内容を、ときに応じて新しいバージョンにアッ
プデートすることにより行われる。このアップグレード
を行うには、新しいバージョンをダウンロードして、以
前のバージョンのファームウェアとデータベースを有す
るメモリセルを上書き(プログラミング)する必要があ
る。アップグレードは、フィールドにて、技術者によ
り、あるいはパーソナルコンピュータ(PC)等のデー
タソースにより、装置に接続されたデータ通信リンクを
介して行われる。これにより、アップデートの際に、装
置を製造者に返却しなくてすむ。さらに、PCBからア
ップデート対象の部品(例えば、メモリ装置)を取り外
さなくて済むように、オンボードでアップグレードを行
えるようにするのが望ましい。
の要求に応じて、装置の特徴的な部分を改良するのが望
ましい。新たな特徴は、装置の性能を改良するために研
究開発を続けている製造者により提供される。この種の
改良は、装置内のファームウェアおよび/またはデータ
ベースの内容を、ときに応じて新しいバージョンにアッ
プデートすることにより行われる。このアップグレード
を行うには、新しいバージョンをダウンロードして、以
前のバージョンのファームウェアとデータベースを有す
るメモリセルを上書き(プログラミング)する必要があ
る。アップグレードは、フィールドにて、技術者によ
り、あるいはパーソナルコンピュータ(PC)等のデー
タソースにより、装置に接続されたデータ通信リンクを
介して行われる。これにより、アップデートの際に、装
置を製造者に返却しなくてすむ。さらに、PCBからア
ップデート対象の部品(例えば、メモリ装置)を取り外
さなくて済むように、オンボードでアップグレードを行
えるようにするのが望ましい。
【0005】たいていの埋込式システムは、ブート動作
と呼ばれる初期化処理を実行する。ブート動作では、シ
ステムが通常動作モードに入るまで、基本ソフトウェア
や特定の命令がメモリのブートセクタ(セクタは格納領
域の単位を表す)からロードされる。ブートの可能性
は、ダウンロード処理が失敗したときでも保持される。
あるいは、ダウンロードされたファームウェアのバージ
ョンは、どんな理由でも、他のダウンロードとプログラ
ミング処理を可能にする。このため、ブート命令は、ダ
ウンロード処理またはプログラミング処理でのエラーが
起きるといつでも、安全に格納されてリカバーされなけ
ればならない。よく知られた解決法は、読み出し専用メ
モリ(ROM)内にブート命令を格納することである。
ROMは、不揮発性(すなわち、電源を供給しなくて
も、格納されたデータを保持する)であり、書き込み保
護されている。しかしながら、ROMは、メモリ容量が
かなり大きいにもかかわらず、書き換えはできない。ま
た、格納されたファームウェアのバージョンに対して上
書きできるように、追記可能な不揮発性メモリを設ける
べきである。このため、この解決法は、2つ以上の不揮
発性メモリが必要になるので、融通性がなく、コスト的
なメリットもない。また、貴重なPCBの実装領域を消
費し、ブートセクタをアップグレードすることもできな
い。さらに、ROMの初期プログラミングは、かなりの
時間を必要とし、大量生産時のコスト削減効果は大き
い。
と呼ばれる初期化処理を実行する。ブート動作では、シ
ステムが通常動作モードに入るまで、基本ソフトウェア
や特定の命令がメモリのブートセクタ(セクタは格納領
域の単位を表す)からロードされる。ブートの可能性
は、ダウンロード処理が失敗したときでも保持される。
あるいは、ダウンロードされたファームウェアのバージ
ョンは、どんな理由でも、他のダウンロードとプログラ
ミング処理を可能にする。このため、ブート命令は、ダ
ウンロード処理またはプログラミング処理でのエラーが
起きるといつでも、安全に格納されてリカバーされなけ
ればならない。よく知られた解決法は、読み出し専用メ
モリ(ROM)内にブート命令を格納することである。
ROMは、不揮発性(すなわち、電源を供給しなくて
も、格納されたデータを保持する)であり、書き込み保
護されている。しかしながら、ROMは、メモリ容量が
かなり大きいにもかかわらず、書き換えはできない。ま
た、格納されたファームウェアのバージョンに対して上
書きできるように、追記可能な不揮発性メモリを設ける
べきである。このため、この解決法は、2つ以上の不揮
発性メモリが必要になるので、融通性がなく、コスト的
なメリットもない。また、貴重なPCBの実装領域を消
費し、ブートセクタをアップグレードすることもできな
い。さらに、ROMの初期プログラミングは、かなりの
時間を必要とし、大量生産時のコスト削減効果は大き
い。
【0006】
【発明が解決しようとする課題】USP5,666,293号公
報には、ブロードキャスト・チャネルを介して新しいバ
ージョンをダウンロードすることにより、端末装置のオ
ペレーティングシステム・ソフトウェアをアップグレー
ドする手法が開示されている。アップグレードは、パケ
ット化されたデータファイルを周期的にブロードキャス
トすることにより実行される。このデータフェイルは、
オペレーティングシステムを含んでおり、端末装置によ
りキャプチャされて格納される。しかしながら、オペレ
ーティングシステムのアップグレードルーチンは、RO
Mに格納されている。このROMは、単独で動作する
か、あるいは不揮発性のRAM(NVRAM)のライトプロテ
クトされたセクタと連携して動作する。さらに、NVRAM
に格納されたオペレーティングシステムのブートは、R
OMに格納されてアップグレードができないローダ・プ
ログラムにより実行される。
報には、ブロードキャスト・チャネルを介して新しいバ
ージョンをダウンロードすることにより、端末装置のオ
ペレーティングシステム・ソフトウェアをアップグレー
ドする手法が開示されている。アップグレードは、パケ
ット化されたデータファイルを周期的にブロードキャス
トすることにより実行される。このデータフェイルは、
オペレーティングシステムを含んでおり、端末装置によ
りキャプチャされて格納される。しかしながら、オペレ
ーティングシステムのアップグレードルーチンは、RO
Mに格納されている。このROMは、単独で動作する
か、あるいは不揮発性のRAM(NVRAM)のライトプロテ
クトされたセクタと連携して動作する。さらに、NVRAM
に格納されたオペレーティングシステムのブートは、R
OMに格納されてアップグレードができないローダ・プ
ログラムにより実行される。
【0007】USP5,647,986号公報には、コントロー
ラにより制御される廃水処理用の自動化装置が開示され
ている。このコントローラは、リモートプログラミング
が可能なフラッシュメモリとブートメモリを有する。フ
ラッシュメモリは、装置のオペレーティングプログラム
を格納する。ブートメモリはブートコードを有する。こ
のブートコードは、フラッシュメモリの基本的な通信と
再プログラミングを処理するために必要とされる。コン
トローラは、中央のコンピュータとの接続を確立し、こ
の中央のコンピュータから新しいオペレーティングシス
テムがダウンロードされる。コントローラは、中央のコ
ンピュータとの接続を確立し、このコンピュータから新
規のオペレーティング・プログラムがダウンロードさ
れ、フラッシュメモリの内容を消去するためのコマンド
を受信する。フラッシュメモリの内容が消去された後、
コントローラは、中央のコンピュータから伝送されたデ
ータで、フラッシュメモリの再プログラムを開始する。
プログラミングが終了すると、コントローラは、装置の
処理ユニットをリブートし、装置はアップデートされた
オペレーティング・プログラムに従って動作を開始す
る。しかしながら、この装置は、ダウンロードおよび/
またはプログラミング処理の間にエラーが起きた場合
に、バックアップとリブートを行う機能は持たず、別個
のアップグレードができないブートメモリが必要にな
る。
ラにより制御される廃水処理用の自動化装置が開示され
ている。このコントローラは、リモートプログラミング
が可能なフラッシュメモリとブートメモリを有する。フ
ラッシュメモリは、装置のオペレーティングプログラム
を格納する。ブートメモリはブートコードを有する。こ
のブートコードは、フラッシュメモリの基本的な通信と
再プログラミングを処理するために必要とされる。コン
トローラは、中央のコンピュータとの接続を確立し、こ
の中央のコンピュータから新しいオペレーティングシス
テムがダウンロードされる。コントローラは、中央のコ
ンピュータとの接続を確立し、このコンピュータから新
規のオペレーティング・プログラムがダウンロードさ
れ、フラッシュメモリの内容を消去するためのコマンド
を受信する。フラッシュメモリの内容が消去された後、
コントローラは、中央のコンピュータから伝送されたデ
ータで、フラッシュメモリの再プログラムを開始する。
プログラミングが終了すると、コントローラは、装置の
処理ユニットをリブートし、装置はアップデートされた
オペレーティング・プログラムに従って動作を開始す
る。しかしながら、この装置は、ダウンロードおよび/
またはプログラミング処理の間にエラーが起きた場合
に、バックアップとリブートを行う機能は持たず、別個
のアップグレードができないブートメモリが必要にな
る。
【0008】フェイルセーフ手続きを用いて、ダウンロ
ード制御プログラムのアップグレードも可能にする埋込
式システムの単一の不揮発性メモリに、新しいソフトウ
ェアとブート・バージョンをオンボードでダウンロード
することの問題に対して、満足のいく解決法はまだ提案
されていない。
ード制御プログラムのアップグレードも可能にする埋込
式システムの単一の不揮発性メモリに、新しいソフトウ
ェアとブート・バージョンをオンボードでダウンロード
することの問題に対して、満足のいく解決法はまだ提案
されていない。
【0009】本発明の目的は、フェールセーフ手続きを
用いて、埋込式システムのメモリに新しいソフトウェア
とブート・バージョンをダウンロードする方法および装
置を提供することにある。
用いて、埋込式システムのメモリに新しいソフトウェア
とブート・バージョンをダウンロードする方法および装
置を提供することにある。
【0010】本発明の他の目的は、埋込式システムのメ
モリに新しいソフトウェアとブート・バージョンをダウ
ンロードし、オンボードで、かつフィールドで実行され
る方法および装置を提供することにある。
モリに新しいソフトウェアとブート・バージョンをダウ
ンロードし、オンボードで、かつフィールドで実行され
る方法および装置を提供することにある。
【0011】本発明の他の目的は、埋込式システムのメ
モリに新しいソフトウェアとブート・バージョンをダウ
ンロードし、単一の不揮発性メモリを利用する方法およ
び装置を提供することにある。
モリに新しいソフトウェアとブート・バージョンをダウ
ンロードし、単一の不揮発性メモリを利用する方法およ
び装置を提供することにある。
【0012】本発明の他の目的や効果は、以下の記載で
明らかにされる。
明らかにされる。
【0013】
【課題を解決するための手段】本発明は、埋込式システ
ムのオペレーティング・ソフトウェアおよび/または初
期化プログラムをアップグレードするフィールドのため
の方法に関する。フラッシュメモリのように単一の不揮
発性メモリは、ライトプロテクトされた領域とプロテク
トされていない領域とに分割される。プロテクトされて
いない領域は、ダウンロードされたバージョンのソフト
ウェアを格納するために用いられる。フラッシュメモリ
内のハードウェア的にライトプロテクトされた領域は、
元のバージョンの初期化およびダウンロード・プログラ
ムを格納するために用いられ、フィールドでは利用でき
ないかなりの高電圧によってのみプログラムされること
ができる。元のプロテクトされた初期化およびダウンロ
ード・プログラムは、バックアップ・プログラムとして
機能する。このプログラムは、現在のダウンロード処理
が失敗したときに、新規のダウンロード処理を行うため
に用いられる。ライトプロテクトされた領域を設けるこ
とで、ROMのような付加的な不揮発性メモリを設ける
必要がなくなる。
ムのオペレーティング・ソフトウェアおよび/または初
期化プログラムをアップグレードするフィールドのため
の方法に関する。フラッシュメモリのように単一の不揮
発性メモリは、ライトプロテクトされた領域とプロテク
トされていない領域とに分割される。プロテクトされて
いない領域は、ダウンロードされたバージョンのソフト
ウェアを格納するために用いられる。フラッシュメモリ
内のハードウェア的にライトプロテクトされた領域は、
元のバージョンの初期化およびダウンロード・プログラ
ムを格納するために用いられ、フィールドでは利用でき
ないかなりの高電圧によってのみプログラムされること
ができる。元のプロテクトされた初期化およびダウンロ
ード・プログラムは、バックアップ・プログラムとして
機能する。このプログラムは、現在のダウンロード処理
が失敗したときに、新規のダウンロード処理を行うため
に用いられる。ライトプロテクトされた領域を設けるこ
とで、ROMのような付加的な不揮発性メモリを設ける
必要がなくなる。
【0014】おそらく、フラッシュメモリに格納され
る、有効な最終バージョンの初期化およびダウンロード
・プログラムは、RAMのような揮発性メモリにコピー
される。埋込式システムは、RAMにより実行される。
これにより、埋込式システムが通常動作している間に、
新規の初期化プログラムとオペレーション・ソフトウェ
アのダウンロード処理が可能になる。おそらく、初期化
処理にて、初期化およびダウンロード・プログラムは、
RAMにコピーされる。埋込式システムは、初期化およ
びダウンロード機能を実行するために、RAMから実行
される。あるいは、システム機能の全部または一部はR
AMから複製または実行され、アップグレード処理の間
に付加的な機能を許可する。
る、有効な最終バージョンの初期化およびダウンロード
・プログラムは、RAMのような揮発性メモリにコピー
される。埋込式システムは、RAMにより実行される。
これにより、埋込式システムが通常動作している間に、
新規の初期化プログラムとオペレーション・ソフトウェ
アのダウンロード処理が可能になる。おそらく、初期化
処理にて、初期化およびダウンロード・プログラムは、
RAMにコピーされる。埋込式システムは、初期化およ
びダウンロード機能を実行するために、RAMから実行
される。あるいは、システム機能の全部または一部はR
AMから複製または実行され、アップグレード処理の間
に付加的な機能を許可する。
【0015】ダウンロードは、埋込式システムに入力さ
れた受信データを介して実行される。ダウンロードされ
たデータは検証され、もし有効であることがわかると、
フラッシュメモリのプロテクトされていない領域にプロ
グラムされる。あるいは、アップグレードされるために
は、フラッシュメモリは最初に消去され、データはフラ
ッシュメモリのプロテクトされていない領域に直接格納
される。ダウンロード処理が回復不能なエラーにより中
断されるとき、フラッシュメモリのライトプロテクトさ
れた領域から元の初期化処理を活性化した後、あるいは
フラッシュメモリのプロテクトされていない領域からア
ップデートされた初期化処理を活性化した後、ダウンロ
ード処理は終了する。ダウンロードとプログラミング処
理は、最初からやり直される。あるいは、データエラー
の検出時点から続けられる。プログラミング後に、シス
テムはリブートされ、フラッシュメモリのプロテクトさ
れていない領域に格納されたアップデートされた初期化
処理が活性化されてRAMにコピーされる。埋込式シス
テムは、新しいバージョンのオペレーティング・ソフト
ウェアにより実行される。あるいは、オペレーティング
・ソフトウェアの全部または一部は、RAMに格納され
た後、RAMから実行される。
れた受信データを介して実行される。ダウンロードされ
たデータは検証され、もし有効であることがわかると、
フラッシュメモリのプロテクトされていない領域にプロ
グラムされる。あるいは、アップグレードされるために
は、フラッシュメモリは最初に消去され、データはフラ
ッシュメモリのプロテクトされていない領域に直接格納
される。ダウンロード処理が回復不能なエラーにより中
断されるとき、フラッシュメモリのライトプロテクトさ
れた領域から元の初期化処理を活性化した後、あるいは
フラッシュメモリのプロテクトされていない領域からア
ップデートされた初期化処理を活性化した後、ダウンロ
ード処理は終了する。ダウンロードとプログラミング処
理は、最初からやり直される。あるいは、データエラー
の検出時点から続けられる。プログラミング後に、シス
テムはリブートされ、フラッシュメモリのプロテクトさ
れていない領域に格納されたアップデートされた初期化
処理が活性化されてRAMにコピーされる。埋込式シス
テムは、新しいバージョンのオペレーティング・ソフト
ウェアにより実行される。あるいは、オペレーティング
・ソフトウェアの全部または一部は、RAMに格納され
た後、RAMから実行される。
【0016】おそらく、新しいバージョンのダウンロー
ドは、埋込式システムのデータ受信入力に接続されるP
Cのようなデータソースにより、あるいは、データリン
ク上の遠隔地のソースから埋込式システムのデータ受信
入力にデータ群を伝送することによりフィールドで実行
される。
ドは、埋込式システムのデータ受信入力に接続されるP
Cのようなデータソースにより、あるいは、データリン
ク上の遠隔地のソースから埋込式システムのデータ受信
入力にデータ群を伝送することによりフィールドで実行
される。
【0017】本発明はまた、その通常動作に影響するこ
となく、オペレーティング・ソフトウェアおよび/また
は初期化プログラムを、フィールドで、およびオンボー
ドで、アップグレードすることができる埋込式システム
に導かれる。本埋込式システムは、埋込式システムの元
の初期化およびダウンロード・プログラムを格納するラ
イトプロテクトされた領域と、少なくともアップデート
されたバージョンの初期化およびダウンロード・プログ
ラムを格納するプロテクトされていない領域とを有する
単一の不揮発性のメモリ部品と、埋込式システムの初期
化プログラムおよび/またはオペレーティング・プログ
ラムを格納するとともに、新しいバージョンの実行と再
プログラミングを同時に行うことができる揮発性メモリ
と、埋込式システムの初期化処理および実行を制御し、
不揮発性メモリの内容を揮発性メモリにコピーし、かつ
新しいバージョンの前記オペレーティング・ソフトウェ
アおよび/または初期化プログラムをダウンロードし、
検証し、およびプログラミングする制御回路と、各バー
ジョンのソフトウェアおよび/または前記初期化プログ
ラムをダウンロードするデータ受信入力と、を備える。
となく、オペレーティング・ソフトウェアおよび/また
は初期化プログラムを、フィールドで、およびオンボー
ドで、アップグレードすることができる埋込式システム
に導かれる。本埋込式システムは、埋込式システムの元
の初期化およびダウンロード・プログラムを格納するラ
イトプロテクトされた領域と、少なくともアップデート
されたバージョンの初期化およびダウンロード・プログ
ラムを格納するプロテクトされていない領域とを有する
単一の不揮発性のメモリ部品と、埋込式システムの初期
化プログラムおよび/またはオペレーティング・プログ
ラムを格納するとともに、新しいバージョンの実行と再
プログラミングを同時に行うことができる揮発性メモリ
と、埋込式システムの初期化処理および実行を制御し、
不揮発性メモリの内容を揮発性メモリにコピーし、かつ
新しいバージョンの前記オペレーティング・ソフトウェ
アおよび/または初期化プログラムをダウンロードし、
検証し、およびプログラミングする制御回路と、各バー
ジョンのソフトウェアおよび/または前記初期化プログ
ラムをダウンロードするデータ受信入力と、を備える。
【0018】
【発明の実施の形態】本発明の上記のあるいは他の特徴
や効果は、添付された図面を参照して、図示されたもの
に限定されることなく、以下の実施の形態により、より
よく理解されうる。
や効果は、添付された図面を参照して、図示されたもの
に限定されることなく、以下の実施の形態により、より
よく理解されうる。
【0019】図1は本発明の好適な一実施形態による単
一の不揮発性メモリ部品を有するソフトウェアによるア
ップグレードが可能な埋込式システムのブロック図であ
る。埋込式システム10は、コントローラ11により制
御される。コントローラ11は、フラッシュメモリ12
とRAM13に接続され、フラッシュメモリ12に格納
されたオペレーティングソフトウェアによるシステム動
作を行う。フラッシュメモリ12は、オペレーティング
ソフトウェアおよび/または他の所望の命令を格納する
ために必要な唯一の不揮発性メモリである。RAM13
は、初期化とダウンロードプログラムを一時的に格納す
るために用いられる揮発性メモリであり、ダウンロード
モードの間に、コントローラ11にシステム10を動作
させる。このとき、システムが初期化されるたびに、フ
ラッシュメモリ12からRAM13にコピーされる最新
のバージョンのソフトウェアが利用される。他の実施形
態として、オペレーティング・プログラムの一部または
すべてをRAM13にコピーしてもよい。これにより、
ダウンロード処理の間に付加的な機能が許可される。例
えば、高性能電話において、ダイヤル、着信時の電話の
ベルの種類、および他の基本機能を許可する電話の実行
制御プログラムの一部をRAM13にコピーすれば、ダ
ウンロードの最中でもこの機能が許可される。ダウンロ
ードの最中に完全な動作を許容するために、すべてのオ
ペレーティング・プログラムをRAM13にコピーする
こともできる。その場合、すべてのソフトウェアは、R
AMから実行される。フラッシュメモリの主要な利点
は、不揮発性の大容量デバイスである点であり、分解す
ることなく、システム内でメモリの内容を容易に変更す
ることができる。
一の不揮発性メモリ部品を有するソフトウェアによるア
ップグレードが可能な埋込式システムのブロック図であ
る。埋込式システム10は、コントローラ11により制
御される。コントローラ11は、フラッシュメモリ12
とRAM13に接続され、フラッシュメモリ12に格納
されたオペレーティングソフトウェアによるシステム動
作を行う。フラッシュメモリ12は、オペレーティング
ソフトウェアおよび/または他の所望の命令を格納する
ために必要な唯一の不揮発性メモリである。RAM13
は、初期化とダウンロードプログラムを一時的に格納す
るために用いられる揮発性メモリであり、ダウンロード
モードの間に、コントローラ11にシステム10を動作
させる。このとき、システムが初期化されるたびに、フ
ラッシュメモリ12からRAM13にコピーされる最新
のバージョンのソフトウェアが利用される。他の実施形
態として、オペレーティング・プログラムの一部または
すべてをRAM13にコピーしてもよい。これにより、
ダウンロード処理の間に付加的な機能が許可される。例
えば、高性能電話において、ダイヤル、着信時の電話の
ベルの種類、および他の基本機能を許可する電話の実行
制御プログラムの一部をRAM13にコピーすれば、ダ
ウンロードの最中でもこの機能が許可される。ダウンロ
ードの最中に完全な動作を許容するために、すべてのオ
ペレーティング・プログラムをRAM13にコピーする
こともできる。その場合、すべてのソフトウェアは、R
AMから実行される。フラッシュメモリの主要な利点
は、不揮発性の大容量デバイスである点であり、分解す
ることなく、システム内でメモリの内容を容易に変更す
ることができる。
【0020】システム10は、通信リンク14を介して
データソースに接続されている。通信リンク14を介し
て新しいバージョンのプログラムはフラッシュメモリ1
2および/またはRAM13にダウンロードされる。コ
ントローラ11はデータフローを制御する。このため、
システム10への新しいバージョンのソフトウェアとフ
ァームウェアのダウンロードとプログラミングは、リン
ク14を介して、一般にはプログラミング装置(例え
ば、コンピュータ)をリンク14に接続することによ
り、実行されうる。このように、アップグレードは、フ
ィールド内で実行されることができ、CD-ROMやインター
ネットを介して配布される。例えば、システム10は、
高性能電話でもよく、シリアル(例えばRS-232)接続を
介して、接続されたPCから新しいバージョンのソフト
ウェアをダウンロードすることによりプログラムされる
ことができ、データ通信リンク14として機能する。シ
ステム10が通常の動作を行っている間に、システム1
0がオンするたびに、フラッシュメモリ12に格納され
てRAM13にコピーされた命令に従って、ブート処理
が開始される。ブート処理の後、システム10は通常動
作モードに移行し、コントローラ11はRAM13およ
び/またはフラッシュメモリ12に格納されたプログラ
ムに従ってシステムの機能を制御する。通常、オリジナ
ルの(最初の)バージョンのソフトウェアは、製造者に
よりフラッシュメモリ12にプログラムされる。そし
て、そのソフトウェアは、フィールドで新しい(進展し
た)バージョンにアップデートすることにより、ときど
きアップデートされる。このアップデートバージョン
は、システム10の機能の改良および/またはユーザへ
の新しい機能を提供する。しかしながら、いくつかの理
由により、ときにはダウンロードプロセスが中断した
り、新しいバージョンのソフトウェアの一部が壊れたり
する(例えば、通信リンク14を介してデータ転送中に
起こる復旧不能なエラーを原因として)。ダウンロード
とプログラミングはメモリから以前のバージョンのソフ
トウェアのデータ消去も含むため、フラッシュメモリが
壊れたまたは不完全なバージョンのソフトウェアを含む
状況は回避すべきである。このため、新規のブート処理
が可能になり、後続のダウンロードおよびプログラミン
グの実行が可能になるように、ブート処理を保護し、再
利用できるようにすることが大変に重要である。他の好
適な実施形態においては、システム10に対して、現在
のバージョンのソフトウェアによる機能のレベルで実行
させ、かつ新しいバージョンのソフトウェア(システム
10の動作が新しいバージョンのソフトウェアでプログ
ラムしている間も完全には停止しない)でシステム10
をプログラムするのが望ましい。RAM13は、フラッ
シュメモリ12がプログラムされている間に、動作のた
めに必要な現在のバージョンのソフトウェアの一部また
は全部を格納するために用いられる。少なくとも、RA
M13はダウンロードプログラムを格納して実行するた
めに用いられる。さらに、ブートのアップグレードとダ
ウンロード手続きをそれ自身で行えるようにするのが望
ましい。現在のフラッシュメモリ技術は、同一のメモリ
部品に対して、セクタにプログラムされている間に同時
にアクセスすることを認めていない。
データソースに接続されている。通信リンク14を介し
て新しいバージョンのプログラムはフラッシュメモリ1
2および/またはRAM13にダウンロードされる。コ
ントローラ11はデータフローを制御する。このため、
システム10への新しいバージョンのソフトウェアとフ
ァームウェアのダウンロードとプログラミングは、リン
ク14を介して、一般にはプログラミング装置(例え
ば、コンピュータ)をリンク14に接続することによ
り、実行されうる。このように、アップグレードは、フ
ィールド内で実行されることができ、CD-ROMやインター
ネットを介して配布される。例えば、システム10は、
高性能電話でもよく、シリアル(例えばRS-232)接続を
介して、接続されたPCから新しいバージョンのソフト
ウェアをダウンロードすることによりプログラムされる
ことができ、データ通信リンク14として機能する。シ
ステム10が通常の動作を行っている間に、システム1
0がオンするたびに、フラッシュメモリ12に格納され
てRAM13にコピーされた命令に従って、ブート処理
が開始される。ブート処理の後、システム10は通常動
作モードに移行し、コントローラ11はRAM13およ
び/またはフラッシュメモリ12に格納されたプログラ
ムに従ってシステムの機能を制御する。通常、オリジナ
ルの(最初の)バージョンのソフトウェアは、製造者に
よりフラッシュメモリ12にプログラムされる。そし
て、そのソフトウェアは、フィールドで新しい(進展し
た)バージョンにアップデートすることにより、ときど
きアップデートされる。このアップデートバージョン
は、システム10の機能の改良および/またはユーザへ
の新しい機能を提供する。しかしながら、いくつかの理
由により、ときにはダウンロードプロセスが中断した
り、新しいバージョンのソフトウェアの一部が壊れたり
する(例えば、通信リンク14を介してデータ転送中に
起こる復旧不能なエラーを原因として)。ダウンロード
とプログラミングはメモリから以前のバージョンのソフ
トウェアのデータ消去も含むため、フラッシュメモリが
壊れたまたは不完全なバージョンのソフトウェアを含む
状況は回避すべきである。このため、新規のブート処理
が可能になり、後続のダウンロードおよびプログラミン
グの実行が可能になるように、ブート処理を保護し、再
利用できるようにすることが大変に重要である。他の好
適な実施形態においては、システム10に対して、現在
のバージョンのソフトウェアによる機能のレベルで実行
させ、かつ新しいバージョンのソフトウェア(システム
10の動作が新しいバージョンのソフトウェアでプログ
ラムしている間も完全には停止しない)でシステム10
をプログラムするのが望ましい。RAM13は、フラッ
シュメモリ12がプログラムされている間に、動作のた
めに必要な現在のバージョンのソフトウェアの一部また
は全部を格納するために用いられる。少なくとも、RA
M13はダウンロードプログラムを格納して実行するた
めに用いられる。さらに、ブートのアップグレードとダ
ウンロード手続きをそれ自身で行えるようにするのが望
ましい。現在のフラッシュメモリ技術は、同一のメモリ
部品に対して、セクタにプログラムされている間に同時
にアクセスすることを認めていない。
【0021】図2は、本発明の好適な実施形態による、
図1の埋込式システムのメモリ配置を概略的に示す図で
ある。フラッシュメモリ12は、セグメント(最低3セ
クタ)としても知られる、複数のセクタに分割される。
2つのセクタはブートプログラムを格納するのに用いら
れ、他のセクタは現在のバージョンのオペレーションソ
フトウェアを格納するために用いられる。このオペレー
ションソフトウェアは、ダウンロード動作によりアップ
グレード可能である。フラッシュメモリ内の一つのブー
トセクタ20は、製造者によりプログラムされる元のブ
ートプログラムを含んでおり、ハードウェアによりプロ
テクトされている。このハードウェア・プロテクトは、
例えば、書き込み機能を可能にするためにフィールドで
は利用できないかなりの高電圧を供給することにより実
現できる。結果として、システム10は、フィールドで
アップグレードできないプロテクトされたブートセクタ
を有する。他のブートセクタ21もまた、ライトプロテ
クトされていないが、元のブートプログラムで最初にプ
ログラムされる。セクタの最後に付加されるフラグは、
フラッシュメモリ12のアクセス可能なセクタ21,2
2用の状態フラグである。図3には状態フラグの状態図
が示されている。フラグは、工場出荷時に有効な状態に
プログラムされている。アップデート処理の最初のステ
ップは、このフラグを消去処理にリセットすることを含
む。このフラグがいったんセットされると、アップデー
ト処理が始まり、現在のプログラムを消去することが必
要になる。消去処理が終了した後、フラグは消去状態に
リセットされる。セクタがプログラムされて検証された
後、フラグは有効な状態に再びリストアされる。
図1の埋込式システムのメモリ配置を概略的に示す図で
ある。フラッシュメモリ12は、セグメント(最低3セ
クタ)としても知られる、複数のセクタに分割される。
2つのセクタはブートプログラムを格納するのに用いら
れ、他のセクタは現在のバージョンのオペレーションソ
フトウェアを格納するために用いられる。このオペレー
ションソフトウェアは、ダウンロード動作によりアップ
グレード可能である。フラッシュメモリ内の一つのブー
トセクタ20は、製造者によりプログラムされる元のブ
ートプログラムを含んでおり、ハードウェアによりプロ
テクトされている。このハードウェア・プロテクトは、
例えば、書き込み機能を可能にするためにフィールドで
は利用できないかなりの高電圧を供給することにより実
現できる。結果として、システム10は、フィールドで
アップグレードできないプロテクトされたブートセクタ
を有する。他のブートセクタ21もまた、ライトプロテ
クトされていないが、元のブートプログラムで最初にプ
ログラムされる。セクタの最後に付加されるフラグは、
フラッシュメモリ12のアクセス可能なセクタ21,2
2用の状態フラグである。図3には状態フラグの状態図
が示されている。フラグは、工場出荷時に有効な状態に
プログラムされている。アップデート処理の最初のステ
ップは、このフラグを消去処理にリセットすることを含
む。このフラグがいったんセットされると、アップデー
ト処理が始まり、現在のプログラムを消去することが必
要になる。消去処理が終了した後、フラグは消去状態に
リセットされる。セクタがプログラムされて検証された
後、フラグは有効な状態に再びリストアされる。
【0022】ダウンロード処理の間、巡回冗長コード
(CRC)が(新しいバージョンのソフトウェア/ブー
トの)遠隔地のデータソースにより、リンク14を介し
てシステム10に転送される各ブロックのデータに付加
される。コントローラ11は、受信したデータに対して
同一のCRC計算を行い、その結果を比較する。CRC
は、送信前にデータブロックに付加される。結果が一致
すれば、データエラーなしにデータブロックが正常に受
信されて正しくコピーされたことが示される。結果が不
一致であれば、通信リンク14を介して、データブロッ
クの再送要求が伝送される。そして、そのデータブロッ
クが遠隔地のデータソースから再送される。この手続き
は、当業者には周知である。有効なCRCコードにより
示されるように、いったん論理セクタが正しく受信され
ると、そのセクタは動作中のアップグレード・プログラ
ムによりプログラムされる。そのデータは、格納された
セクタから読み出されて確認され、続いてそのセクタの
終端の状態フラグが「有効に」設定される。
(CRC)が(新しいバージョンのソフトウェア/ブー
トの)遠隔地のデータソースにより、リンク14を介し
てシステム10に転送される各ブロックのデータに付加
される。コントローラ11は、受信したデータに対して
同一のCRC計算を行い、その結果を比較する。CRC
は、送信前にデータブロックに付加される。結果が一致
すれば、データエラーなしにデータブロックが正常に受
信されて正しくコピーされたことが示される。結果が不
一致であれば、通信リンク14を介して、データブロッ
クの再送要求が伝送される。そして、そのデータブロッ
クが遠隔地のデータソースから再送される。この手続き
は、当業者には周知である。有効なCRCコードにより
示されるように、いったん論理セクタが正しく受信され
ると、そのセクタは動作中のアップグレード・プログラ
ムによりプログラムされる。そのデータは、格納された
セクタから読み出されて確認され、続いてそのセクタの
終端の状態フラグが「有効に」設定される。
【0023】本発明の好適な実施形態によれば、フラッ
シュメモリ12内の(ライトプロテクトされてアクセス
可能なセクタ)デュアルブートセクタは、ダウンロード
処理が中断されても、ライトプロテクトされたブートセ
クタ20に格納された元のブートプログラムか、または
アップデートされたブートプログラムを用いることによ
り、状態フラグにより示されるように、正しいコピーが
存在するならば、アクセス可能なブートセクタ21の内
容を用いて、リブート動作が可能である。もしフラグが
有効であれば、アップデートされたブートプログラム
は、RAM13内のメモリセグメント23(ブートセグ
メント)にコピーされる。このアップデートされたブー
トプログラムは、フラッシュメモリ12のダウンロード
とプログラミングの後などにシステムを再起動したと
き、システム10をブートするために用いられる。ブー
トセクタ21のフラグが有効でなかった場合、ブートプ
ログラムの元のハードウェアでプロテクトされたバージ
ョンが、メモリセグメント23にコピーされる。RAM
13は、付加的なセグメント24を有する。その中に
は、ダウンロードされたデータブロックが必要に応じて
一時的な格納場所として、コピーされる。システム10
は(コピーされた)ブートプログラムを用いてコントロ
ーラにより制御される。このブートプログラムはRAM
13に格納され、ソフトウェアはフラッシュメモリ12
に格納される。このように、システムが起動すると、2
つのブートセグメント20,21の一つがRAM13内
のセグメント23にコピーされる。プログラムは、どの
バージョンのコードが使用されるのかとは無関係に、同
一のアドレス領域から実行される。
シュメモリ12内の(ライトプロテクトされてアクセス
可能なセクタ)デュアルブートセクタは、ダウンロード
処理が中断されても、ライトプロテクトされたブートセ
クタ20に格納された元のブートプログラムか、または
アップデートされたブートプログラムを用いることによ
り、状態フラグにより示されるように、正しいコピーが
存在するならば、アクセス可能なブートセクタ21の内
容を用いて、リブート動作が可能である。もしフラグが
有効であれば、アップデートされたブートプログラム
は、RAM13内のメモリセグメント23(ブートセグ
メント)にコピーされる。このアップデートされたブー
トプログラムは、フラッシュメモリ12のダウンロード
とプログラミングの後などにシステムを再起動したと
き、システム10をブートするために用いられる。ブー
トセクタ21のフラグが有効でなかった場合、ブートプ
ログラムの元のハードウェアでプロテクトされたバージ
ョンが、メモリセグメント23にコピーされる。RAM
13は、付加的なセグメント24を有する。その中に
は、ダウンロードされたデータブロックが必要に応じて
一時的な格納場所として、コピーされる。システム10
は(コピーされた)ブートプログラムを用いてコントロ
ーラにより制御される。このブートプログラムはRAM
13に格納され、ソフトウェアはフラッシュメモリ12
に格納される。このように、システムが起動すると、2
つのブートセグメント20,21の一つがRAM13内
のセグメント23にコピーされる。プログラムは、どの
バージョンのコードが使用されるのかとは無関係に、同
一のアドレス領域から実行される。
【0024】図4は本発明の好適な実施形態による埋込
式システムの処理動作を示すフローチャートである。プ
ログラムは、フラッシュメモリのセクタ20から開始さ
れる。第1のステップ401では、状態フラグをチェッ
クすることにより、セクタ21に格納されたソフトウェ
アの有効性がチェックされる。この状態フラグは、同一
セクタの最後に格納される。もし有効であることがわか
ると、次のセクタ402で、セクタ21の内容がRAM
13のセグメント23にコピーされる。もし有効でない
ことがわかると、次のセクタ403で、セグメント20
の内容がRAM13のセクタ23にコピーされる。次の
ステップ404では、コントローラ11のオペレーショ
ン・プログラムがセクタ23(から実行するため)に転
送される。このプログラムはセクタ23にコピーされ、
コントローラ11にダウンリンク14を動作させて、フ
ラッシュメモリ12をアップデートさせる。
式システムの処理動作を示すフローチャートである。プ
ログラムは、フラッシュメモリのセクタ20から開始さ
れる。第1のステップ401では、状態フラグをチェッ
クすることにより、セクタ21に格納されたソフトウェ
アの有効性がチェックされる。この状態フラグは、同一
セクタの最後に格納される。もし有効であることがわか
ると、次のセクタ402で、セクタ21の内容がRAM
13のセグメント23にコピーされる。もし有効でない
ことがわかると、次のセクタ403で、セグメント20
の内容がRAM13のセクタ23にコピーされる。次の
ステップ404では、コントローラ11のオペレーショ
ン・プログラムがセクタ23(から実行するため)に転
送される。このプログラムはセクタ23にコピーされ、
コントローラ11にダウンリンク14を動作させて、フ
ラッシュメモリ12をアップデートさせる。
【0025】本発明の他の好適な実施形態によれば、フ
ラッシュメモリ12の一つ以上のセクタ22がRAM1
3にコピーされる。この場合、コントローラ11は、フ
ラッシュメモリ12からではなく、RAMからプログラ
ムのそのセクタを実行する。これにより、プログラムは
アップデート対象の同一のアドレスから起動できないの
で、ダウンロードの最中に付加的な機能を許可する。実
際には、アップデートの最中に、ソフトウェアはフラッ
シュメモリ12から起動することはできず、RAM13
にコピーされたソフトウェアのみが機能する。
ラッシュメモリ12の一つ以上のセクタ22がRAM1
3にコピーされる。この場合、コントローラ11は、フ
ラッシュメモリ12からではなく、RAMからプログラ
ムのそのセクタを実行する。これにより、プログラムは
アップデート対象の同一のアドレスから起動できないの
で、ダウンロードの最中に付加的な機能を許可する。実
際には、アップデートの最中に、ソフトウェアはフラッ
シュメモリ12から起動することはできず、RAM13
にコピーされたソフトウェアのみが機能する。
【0026】フラッシュメモリ12内のセクタ22は、
RAM13内のブートセクタ23とともに、ソフトウェ
アのバージョンを生成するために用いられる。元のソフ
トウェアのバージョンは、製造者によりフラッシュメモ
リのセクタ22にプログラムされる。動作中は、ブート
プログラムの最終バージョン(第1の動作における元の
ブートプログラム)が有効であることがわかると、プロ
テクトされていないブートセクタ21からブートセグメ
ント23にコピーされる。最終バージョンのソフトウェ
ア(第1の動作における元のソフトウェアのバージョ
ン)は、コントローラ11にRAM13とフラッシュメ
モリ12からシステム10を動作させるためにセクタ2
2とフラッシュメモリ12から用いられる。
RAM13内のブートセクタ23とともに、ソフトウェ
アのバージョンを生成するために用いられる。元のソフ
トウェアのバージョンは、製造者によりフラッシュメモ
リのセクタ22にプログラムされる。動作中は、ブート
プログラムの最終バージョン(第1の動作における元の
ブートプログラム)が有効であることがわかると、プロ
テクトされていないブートセクタ21からブートセグメ
ント23にコピーされる。最終バージョンのソフトウェ
ア(第1の動作における元のソフトウェアのバージョ
ン)は、コントローラ11にRAM13とフラッシュメ
モリ12からシステム10を動作させるためにセクタ2
2とフラッシュメモリ12から用いられる。
【0027】ブートプログラムは、新しいブートデータ
ブロックを伝送し、受信されたブートデータブロックを
もつプロテクトされていないブートセクタ21をプログ
ラムすることによってもアップデートが可能である。プ
ロテクトされたブートセクタ20は、バックアップとし
て、元のブートプログラムを有する。システム10が初
期化するとき、コントローラ11は、ブートセクタ21
に格納される最終バージョンのブートプログラムの有効
性をまずチェックする初期化に用いられるブートプログ
ラムを選択する。受信された(新規の)ブートプログラ
ムブロックの状態コードが有効であることがわかると、
最終的なブートプログラムは、セクタ21からRAM1
3のブートセグメントにコピーされる。初期化処理は、
最終バージョンの(アップデートされた)ブートプログ
ラムにより、RAM13から継続される。セクタ21の
状態コードが、受信された(新規の)ブートデータブロ
ックが有効でないことを示すならば、元のブートプログ
ラムはセクタ20からRAM13のブートセグメント2
3にコピーされる。初期化プロセスは、オリジナルのバ
ージョンのブートプログラムにより、RAM13から継
続される。新しいダウンロードとプログラミング処理が
可能になる。このため、フラッシュメモリ12内のデュ
アルブートセクタを使用することにより、ダウンロード
とプログラミング処理は、フェイルセーフである。本発
明の好適な実施形態によれば、セクタ21の状態コード
が受信された(新規の)ブートデータブロックが有効で
ないことを示すならば、セクタ20からの元のブートプ
ログラムをRAM13のブートセクタ23にコピーする
ことに加えて、セクタ22からの付加的な論理セグメン
トが追加機能を許容するためにRAM24にコピーされ
る。各セクタは、状態ワードが有効であることを示す場
合のみ、ロードされる。オペレーティング・プログラム
は、各論理セグメントからの独立の機能を許容できるよ
うに設計されなければならない。その結果、付加的な有
効セグメントは、有効でない他のセグメントの欠如にお
いて実行されうる。
ブロックを伝送し、受信されたブートデータブロックを
もつプロテクトされていないブートセクタ21をプログ
ラムすることによってもアップデートが可能である。プ
ロテクトされたブートセクタ20は、バックアップとし
て、元のブートプログラムを有する。システム10が初
期化するとき、コントローラ11は、ブートセクタ21
に格納される最終バージョンのブートプログラムの有効
性をまずチェックする初期化に用いられるブートプログ
ラムを選択する。受信された(新規の)ブートプログラ
ムブロックの状態コードが有効であることがわかると、
最終的なブートプログラムは、セクタ21からRAM1
3のブートセグメントにコピーされる。初期化処理は、
最終バージョンの(アップデートされた)ブートプログ
ラムにより、RAM13から継続される。セクタ21の
状態コードが、受信された(新規の)ブートデータブロ
ックが有効でないことを示すならば、元のブートプログ
ラムはセクタ20からRAM13のブートセグメント2
3にコピーされる。初期化プロセスは、オリジナルのバ
ージョンのブートプログラムにより、RAM13から継
続される。新しいダウンロードとプログラミング処理が
可能になる。このため、フラッシュメモリ12内のデュ
アルブートセクタを使用することにより、ダウンロード
とプログラミング処理は、フェイルセーフである。本発
明の好適な実施形態によれば、セクタ21の状態コード
が受信された(新規の)ブートデータブロックが有効で
ないことを示すならば、セクタ20からの元のブートプ
ログラムをRAM13のブートセクタ23にコピーする
ことに加えて、セクタ22からの付加的な論理セグメン
トが追加機能を許容するためにRAM24にコピーされ
る。各セクタは、状態ワードが有効であることを示す場
合のみ、ロードされる。オペレーティング・プログラム
は、各論理セグメントからの独立の機能を許容できるよ
うに設計されなければならない。その結果、付加的な有
効セグメントは、有効でない他のセグメントの欠如にお
いて実行されうる。
【0028】本発明の好適な実施形態によれば、上述し
た通信リンク上の遠隔地からアップデートされたデータ
ブロックを伝送することにより実行されるダウンロード
やプログラミング動作は、フィールドやオンボードで、
PC等のデータソースをシステム10内の最適な入力や
データリンク入力(例えば、シリアルのRS-232Cポー
ト)に接続する技術者やユーザにより同様に実行するこ
とができる。
た通信リンク上の遠隔地からアップデートされたデータ
ブロックを伝送することにより実行されるダウンロード
やプログラミング動作は、フィールドやオンボードで、
PC等のデータソースをシステム10内の最適な入力や
データリンク入力(例えば、シリアルのRS-232Cポー
ト)に接続する技術者やユーザにより同様に実行するこ
とができる。
【0029】上述した例や記述は、図解の目的でのみ提
供されたものであり、いかなる方法でも本発明を限定す
るものではない。当業者により評価されるように、本発
明は、埋込式システムの動作を制御するために、マイク
ロコントローラやマイクロプロセッサを用いて、種々の
方法で実行されることができる。すなわち、上述した技
術以外の技術を利用して、例えば、アップグレードされ
たバージョンのソフトウェアをダウンロードするための
データ通信リンクの利用や、モノリシック回路上に埋込
式システムを実装することや、フラッシュメモリやRA
M以外の他のタイプの揮発性および不揮発性メモリを利
用することなど、本発明の範囲を越えない範囲内のすべ
てに本発明は適用可能である。
供されたものであり、いかなる方法でも本発明を限定す
るものではない。当業者により評価されるように、本発
明は、埋込式システムの動作を制御するために、マイク
ロコントローラやマイクロプロセッサを用いて、種々の
方法で実行されることができる。すなわち、上述した技
術以外の技術を利用して、例えば、アップグレードされ
たバージョンのソフトウェアをダウンロードするための
データ通信リンクの利用や、モノリシック回路上に埋込
式システムを実装することや、フラッシュメモリやRA
M以外の他のタイプの揮発性および不揮発性メモリを利
用することなど、本発明の範囲を越えない範囲内のすべ
てに本発明は適用可能である。
【図1】本発明の好適な実施形態による単一の不揮発性
メモリを有するソフトウェアがアップグレード可能な埋
込式システムのブロック図。
メモリを有するソフトウェアがアップグレード可能な埋
込式システムのブロック図。
【図2】本発明の好適な実施形態による、図1の埋込式
システムのメモリ配置を概略的に示す図。
システムのメモリ配置を概略的に示す図。
【図3】本発明の好適な実施形態による、不揮発性メモ
リの状態ワードのフローチャート。
リの状態ワードのフローチャート。
【図4】本発明の好適な実施形態による、埋込式システ
ムの動作を示すフローチャート。
ムの動作を示すフローチャート。
10 システム 11 コントローラ 12 フラッシュメモリ 13 RAM 14 通信リンク
Claims (23)
- 【請求項1】埋込式システムのオペレーティング・ソフ
トウェアおよび/または初期化プログラムのバージョン
をアップグレードする方法であって、 元のバージョンの初期化およびダウンロード・オペレー
ション・プログラムを含む少なくとも一つのライトプロ
テクトされた領域と、アップグレード可能なバージョン
の初期化およびダウンロード・オペレーション・プログ
ラムを少なくとも含む少なくとも一つのプロテクトされ
ていない領域とをもつ、プログラム可能な不揮発性の第
1のメモリを設けるステップと、 初期化の過程で、前記アップグレード可能なバージョ
ン、または元のバージョンの前記初期化およびダウンロ
ード・オペレーション・プログラムを少なくとも第2の
メモリおよび/またはメモリ位置にコピーするステップ
と、 前記第2のメモリおよび/または前記メモリ位置から前
記埋込式システムを実行するステップと、 新規のバージョンのオペレーティング・ソフトウェアお
よび/または初期化プログラムのダウンロードを可能と
し、前記ダウンロードしたバージョンが格納された前記
プロテクトされてない領域をプログラミングするステッ
プと、を備えることを特徴とする方法。 - 【請求項2】前記第2のメモリは、前記第1のメモリか
ら物理的に分離されていることを特徴とする請求項1に
記載の方法。 - 【請求項3】新規のバージョンのダウンロードは、埋込
式システムのデータ受信入力に接続された小型のデータ
ソースを用いることにより実行されることを特徴とする
請求項1に記載の方法。 - 【請求項4】新規のバージョンのダウンロードは、デー
タリンク上の前記ソースから埋込式システムのデータ受
信入力にデータ群を転送することにより、遠隔地のデー
タソースから実行されることを特徴とする請求項1に記
載の方法。 - 【請求項5】前記データリンクは、ワイヤレスリンクで
あることを特徴とする請求項4に記載の方法。 - 【請求項6】前記不揮発性のメモリは、フラッシュメモ
リであることを特徴とする請求項1に記載の方法。 - 【請求項7】前記第2のメモリは、揮発性のメモリであ
ることを特徴とする請求項2に記載の方法。 - 【請求項8】破壊されたダウンロードデータの受信がデ
ータソースコードをチェックすることにより検出される
ことを特徴とする請求項1に記載の方法。 - 【請求項9】前記プロテクトされていない領域内の状態
コードをチェックするステップと、 前記状態コードが初期化およびダウンロード・オペレー
ション・プログラムのバージョンが有効であることを示
している場合、そのバージョンのプログラムを第2のメ
モリおよび/またはメモリ位置にコピーするステップ
と、 前記状態コードが初期化およびダウンロード・オペレー
ション・プログラムのバージョンが有効であることを示
していない場合、元のバージョンの初期化およびダウン
ロード・オペレーション・プログラムを第2のメモリお
よび/またはメモリ位置にコピーするステップと、を備
えることを特徴とする請求項1に記載の方法。 - 【請求項10】前記ライトプロテクトされた領域と前記
ライトプロテクトされていない領域とは、単一のフラッ
シュメモリのセクタであることを特徴とする請求項2に
記載の方法。 - 【請求項11】埋込式システムは、電話であることを特
徴とする請求項1に記載の方法。 - 【請求項12】埋込式システムは、電話通信システムで
あることを特徴とする請求項1に記載の方法。 - 【請求項13】オペレーティング・ソフトウェアおよび
/または初期化プログラムのバージョンをアップグレー
ド可能な埋込式システムにおいて、 前記埋込式システムの元のバージョンの初期化およびダ
ウンロード・プログラムを格納するライトプロテクトさ
れた領域と前記埋込式システムのアップグレード可能な
バージョンの初期化およびダウンロード・プログラムを
格納するプロテクトされていない領域との少なくとも一
つを有する単一の不揮発性メモリと、 前記埋込式システムの初期化およびダウンロード・プロ
グラムを格納する少なくとも第2のメモリおよび/また
はメモリ位置と、 前記元のバージョンの初期化およびダウンロード・プロ
グラムの内容、または前記アップグレード可能なバージ
ョンの初期化およびダウンロード・プログラムを、前記
第2のメモリおよび/またはメモリ位置に少なくともコ
ピーし、新規のバージョンの初期化および/またはダウ
ンロード・プログラムを少なくともダウンロードおよび
プログラミングする初期化プロセスおよび前記埋込式シ
ステムの動作を制御する制御回路と、 各バージョンのソフトウェアおよび/または前記初期化
プログラムをダウンロードするデータ受信入力と、を備
えることを特徴とする埋込式システム。 - 【請求項14】前記第2のメモリは、前記第1のメモリ
から物理的に分離されていることを特徴とする請求項1
3に記載の埋込式システム。 - 【請求項15】新しいバージョンは、データ受信入力に
接続されたデータソースを用いてダウンロードされるこ
とを特徴とする請求項13に記載の埋込式システム。 - 【請求項16】データソースから伝送された新しいバー
ジョンのデータを受信およびダウンロードするデータ通
信リンクを備えることを特徴とする請求項13に記載の
埋込式システム。 - 【請求項17】前記データ通信リンクは、ワイヤレスリ
ンクであることを特徴とする請求項13に記載の埋込式
システム。 - 【請求項18】前記不揮発性メモリは、フラッシュメモ
リであることを特徴とする請求項13に記載の埋込式シ
ステム。 - 【請求項19】前記第2のメモリは、揮発性メモリであ
ることを特徴とする請求項13に記載の埋込式システ
ム。 - 【請求項20】初期化の際に、前記プロテクトされてい
ない領域内の状態ワードをチェックするステップと、 前記状態ワードが初期化およびダウンロード・オペレー
ション・プログラムのバージョンが有効であることを示
すとき、このバージョンのプログラムを前記第2のメモ
リおよび/またはメモリ位置にコピーするステップと、 前記状態ワードが初期化およびダウンロード・オペレー
ション・プログラムのバージョンが有効であることを示
さないとき、前記元のバージョンの初期化およびダウン
ロード・オペレーション・プログラムを前記第2のメモ
リおよび/またはメモリ位置にコピーするステップと、
を備えることを特徴とする請求項13に記載の埋込式シ
ステム。 - 【請求項21】前記元の初期化プログラムは、前記アッ
プグレード可能なバージョンの初期化およびダウンロー
ド・プログラムが有効であることをデータ状態ワードが
示していない場合に使用されることを特徴とする請求項
13に記載の埋込式システム。 - 【請求項22】電話であることを特徴とする請求項13
に記載の埋込式システム。 - 【請求項23】電話通信システムであることを特徴とす
る請求項13に記載の埋込式システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IL129947 | 1999-05-13 | ||
IL12994799A IL129947A (en) | 1999-05-13 | 1999-05-13 | Method and apparatus for downloading software into an embedded system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000357095A true JP2000357095A (ja) | 2000-12-26 |
Family
ID=11072800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000142053A Pending JP2000357095A (ja) | 1999-05-13 | 2000-05-15 | 埋込式システムにソフトウェアをダウンロードする方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6615404B1 (ja) |
EP (1) | EP1052571A3 (ja) |
JP (1) | JP2000357095A (ja) |
CA (1) | CA2307908A1 (ja) |
IL (1) | IL129947A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005078455A (ja) * | 2003-09-01 | 2005-03-24 | Sony Corp | 電子機器及びそのプログラム更新方法 |
JP2006508432A (ja) * | 2002-11-12 | 2006-03-09 | イノパス・ソフトウェアー・インコーポレーテッド | アップグレード中に発生した障害や誤りからの自動復元を含む電子ファイルのアップグレード |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8033913B2 (en) * | 1999-06-03 | 2011-10-11 | Igt | Gaming machine update and mass storage management |
EP1221080A2 (en) * | 1999-06-03 | 2002-07-10 | Anchor Gaming | Method and device for implementing a downloadable software delivery system |
KR100322006B1 (ko) * | 1999-06-09 | 2002-02-06 | 윤종용 | 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법 |
US7830666B2 (en) | 2000-01-06 | 2010-11-09 | Super Talent Electronics, Inc. | Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board |
US7103684B2 (en) * | 2003-12-02 | 2006-09-05 | Super Talent Electronics, Inc. | Single-chip USB controller reading power-on boot code from integrated flash memory for user storage |
US7535719B2 (en) * | 1999-08-04 | 2009-05-19 | Super Talent Electronics, Inc. | Single chip USB packages with contact-pins cover |
US8625270B2 (en) | 1999-08-04 | 2014-01-07 | Super Talent Technology, Corp. | USB flash drive with deploying and retracting functionalities using retractable cover/cap |
US7872871B2 (en) * | 2000-01-06 | 2011-01-18 | Super Talent Electronics, Inc. | Molding methods to manufacture single-chip chip-on-board USB device |
US7466556B2 (en) * | 1999-08-04 | 2008-12-16 | Super Talent Electronics, Inc. | Single chip USB packages with swivel cover |
US7447037B2 (en) * | 1999-08-04 | 2008-11-04 | Super Talent Electronics, Inc. | Single chip USB packages by various assembly methods |
US8141240B2 (en) | 1999-08-04 | 2012-03-27 | Super Talent Electronics, Inc. | Manufacturing method for micro-SD flash memory card |
US20070292009A1 (en) * | 1999-08-04 | 2007-12-20 | Super Talent Electronics, Inc. | Press/Push USB Flash Drive With Deploying And Retracting Functionalities With Elasticity Material And Fingerprint Verification Capability |
US8102662B2 (en) | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | USB package with bistable sliding mechanism |
US7383362B2 (en) * | 2003-12-02 | 2008-06-03 | Super Talent Electronics, Inc. | Single-chip multi-media card/secure digital (MMC/SD) controller reading power-on boot code from integrated flash memory for user storage |
US7877542B2 (en) * | 2000-01-06 | 2011-01-25 | Super Talent Electronics, Inc. | High integration of intelligent non-volatile memory device |
JP2001051851A (ja) * | 1999-08-17 | 2001-02-23 | Nec Corp | 携帯電子機器のプログラム変更システム及び方法 |
US6668375B1 (en) * | 1999-12-15 | 2003-12-23 | Pitney Bowes Inc. | Method and system for providing build-to-order software applications |
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
US7428605B2 (en) * | 2000-01-06 | 2008-09-23 | Super Talent Electronics Inc. | Symmetric USB device with metal-tube plastic-plug shell with USB plug centered and integrated with circuit board substrate |
US20080320209A1 (en) * | 2000-01-06 | 2008-12-25 | Super Talent Electronics, Inc. | High Performance and Endurance Non-volatile Memory Based Storage Systems |
US20080286990A1 (en) * | 2003-12-02 | 2008-11-20 | Super Talent Electronics, Inc. | Direct Package Mold Process For Single Chip SD Flash Cards |
US7535088B2 (en) * | 2000-01-06 | 2009-05-19 | Super Talent Electronics, Inc. | Secure-digital (SD) flash card with slanted asymmetric circuit board |
JP2002094639A (ja) * | 2000-09-13 | 2002-03-29 | Nec Access Technica Ltd | 移動電話機及びそれに用いるソフトウェア書換え方法並びにその制御プログラムを記録した記録媒体 |
US11204729B2 (en) | 2000-11-01 | 2021-12-21 | Flexiworld Technologies, Inc. | Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service |
US11467856B2 (en) | 2002-12-12 | 2022-10-11 | Flexiworld Technologies, Inc. | Portable USB device for internet access service |
US7401320B2 (en) | 2000-11-17 | 2008-07-15 | Hewlett-Packard Development Company, L.P. | Operator network that routes customer care calls based on subscriber/device profile and CSR skill set |
US8479189B2 (en) | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US7409685B2 (en) | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US7318086B2 (en) | 2000-11-20 | 2008-01-08 | Flexiworld Technologies, Inc. | System for mobile and pervasive output |
US6886160B1 (en) * | 2000-11-29 | 2005-04-26 | Hyung Sup Lee | Distribution of mainframe data in the PC environment |
US7055148B2 (en) * | 2000-12-07 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | System and method for updating firmware |
JP2002175194A (ja) * | 2000-12-07 | 2002-06-21 | Ricoh Co Ltd | プログラムダウンロードシステム、プログラムダウンロード装置、画像形成装置、プログラムダウンロード方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6804798B2 (en) * | 2001-03-30 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | System and method for setting new values for configuration parameters on a device |
JP4120180B2 (ja) * | 2001-05-08 | 2008-07-16 | ティアック株式会社 | プログラム処理装置、及びそれにおけるプログラムのバージョンアップ方法及びプログラムバージョンアップ用プログラム |
EP1271348A1 (de) * | 2001-06-28 | 2003-01-02 | Siemens Aktiengesellschaft | Verfahren zur Online-Transformation von Massendaten |
KR100440950B1 (ko) | 2001-06-30 | 2004-07-21 | 삼성전자주식회사 | 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스 |
US7386653B2 (en) * | 2001-08-06 | 2008-06-10 | Sandisk Il Ltd | Flash memory arrangement |
US6504131B1 (en) * | 2001-09-19 | 2003-01-07 | Illinois Tool Works Inc. | Welding-type power supply with boot loader |
GB2380018A (en) * | 2001-09-21 | 2003-03-26 | Hewlett Packard Co | Reprogramming electronic apparatus having non-volatile memory |
KR20030032257A (ko) * | 2001-10-17 | 2003-04-26 | 삼성전자주식회사 | 프로그램 갱신 방법 및 이에 적합한 장치 |
US7319991B2 (en) * | 2001-12-11 | 2008-01-15 | International Business Machines Corporation | Computerized cost estimate system and method |
US7409435B1 (en) * | 2002-02-28 | 2008-08-05 | Sprint Communications Company L.P. | Integrated services hub binary file trial run process |
US7017004B1 (en) * | 2002-03-29 | 2006-03-21 | Microsoft Corporation | System and method for updating contents of a flash ROM |
JPWO2003083647A1 (ja) * | 2002-04-01 | 2005-08-04 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末のソフトウェア更新方法、通信端末、及びソフトウェア更新システム |
US7089549B2 (en) * | 2002-04-01 | 2006-08-08 | International Business Machines Corp. | Updating flash memory |
US6925467B2 (en) * | 2002-05-13 | 2005-08-02 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms |
GB0212318D0 (en) * | 2002-05-28 | 2002-07-10 | Symbian Ltd | Tamper evident removable media storing executable code |
EP1372068A3 (en) * | 2002-06-11 | 2006-02-08 | Seiko Epson Corporation | System, method and program for rewriting a flash memory |
ATE433149T1 (de) * | 2002-06-28 | 2009-06-15 | Koninkl Philips Electronics Nv | Softwareherunterladung auf einem empfänger |
US7313791B1 (en) | 2002-08-22 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Firmware update network and process employing preprocessing techniques |
DE10240584A1 (de) * | 2002-08-28 | 2004-03-11 | Pilz Gmbh & Co. | Sicherheitssteuerung zum fehlersicheren Steuern von sicherheitskritischen Prozessen sowie Verfahren zum Aufspielen eines neuen Betriebsprogrammes auf eine solche |
US7096311B2 (en) | 2002-09-30 | 2006-08-22 | Innopath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms |
US7363540B2 (en) | 2002-10-22 | 2008-04-22 | Microsoft Corporation | Transaction-safe FAT file system improvements |
US7174420B2 (en) * | 2002-10-22 | 2007-02-06 | Microsoft Corporation | Transaction-safe FAT file system |
US7844734B2 (en) * | 2002-11-18 | 2010-11-30 | Innopath Software, Inc. | Dynamic addressing (DA) using a centralized DA manager |
US7320010B2 (en) * | 2002-11-18 | 2008-01-15 | Innopath Software, Inc. | Controlling updates of electronic files |
US7003534B2 (en) | 2002-11-18 | 2006-02-21 | Innopath Software, Inc. | Generating difference files using module information of embedded software components |
US20040098361A1 (en) * | 2002-11-18 | 2004-05-20 | Luosheng Peng | Managing electronic file updates on client devices |
US7007049B2 (en) * | 2002-11-18 | 2006-02-28 | Innopath Software, Inc. | Device memory management during electronic file updating |
US20040098716A1 (en) * | 2002-11-19 | 2004-05-20 | Lin Cheng-Chung | Detecting system and method |
US7099884B2 (en) | 2002-12-06 | 2006-08-29 | Innopath Software | System and method for data compression and decompression |
WO2004055638A2 (en) | 2002-12-12 | 2004-07-01 | Flexiworld Technologies, Inc. | Wireless communication between computing devices |
JP2004199277A (ja) * | 2002-12-17 | 2004-07-15 | Fujitsu Ltd | Biosの冗長管理方法、データ処理装置及びストレージシステム |
US20040230965A1 (en) * | 2003-02-28 | 2004-11-18 | Harri Okkonen | Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server |
US7171606B2 (en) * | 2003-03-25 | 2007-01-30 | Wegener Communications, Inc. | Software download control system, apparatus and method |
US7975147B1 (en) | 2003-03-31 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Electronic device network supporting enciphering and deciphering and update generation in electronic devices |
US7089414B2 (en) * | 2003-04-10 | 2006-08-08 | International Business Machines Corporation | Method and apparatus for updating a microcode image in a memory |
WO2004093149A2 (en) | 2003-04-11 | 2004-10-28 | Flexiworld Technologies, Inc. | Autorun for integrated circuit memory component |
US7463610B2 (en) * | 2003-05-15 | 2008-12-09 | Samsung Electronics Co., Ltd. | System and method for providing an online software upgrade |
US20040243284A1 (en) * | 2003-05-28 | 2004-12-02 | Caterpillar Inc. | Methods and systems for modifying flash files |
US7356577B2 (en) * | 2003-06-12 | 2008-04-08 | Samsung Electronics Co., Ltd. | System and method for providing an online software upgrade in load sharing servers |
JP3906825B2 (ja) * | 2003-06-17 | 2007-04-18 | 日本電気株式会社 | 計算機システム、計算機システム起動方法およびプログラム |
US7810088B2 (en) * | 2003-06-20 | 2010-10-05 | Samsung Electronics Co., Ltd. | Apparatus and method for performing a fail-safe over-the-air software update in a mobile station |
US7089270B2 (en) * | 2003-06-20 | 2006-08-08 | Innopath Software | Processing software images for use in generating difference files |
JP2007507020A (ja) * | 2003-06-24 | 2007-03-22 | バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト | プログラミング可能な読出し専用メモリのブートセクタ内にソフトウェアをリロードするための方法 |
US7206411B2 (en) | 2003-06-25 | 2007-04-17 | Wegener Communications, Inc. | Rapid decryption of data by key synchronization and indexing |
US7343443B1 (en) | 2003-07-08 | 2008-03-11 | Hewlett-Packard Development Company, L.P. | Updated package generation based on analysis of bank dependency |
US20050010576A1 (en) * | 2003-07-09 | 2005-01-13 | Liwei Ren | File differencing and updating engines |
US20050010870A1 (en) * | 2003-07-09 | 2005-01-13 | Jinsheng Gu | Post-processing algorithm for byte-level file differencing |
US7031972B2 (en) * | 2003-07-21 | 2006-04-18 | Innopath Software, Inc. | Algorithms for block-level code alignment of software binary files |
US20050020308A1 (en) * | 2003-07-23 | 2005-01-27 | David Lai | Dynamically binding Subscriber Identity Modules (SIMs)/User Identity Modules (UIMs) with portable communication devices |
US7886093B1 (en) | 2003-07-31 | 2011-02-08 | Hewlett-Packard Development Company, L.P. | Electronic device network supporting compression and decompression in electronic devices |
KR101003888B1 (ko) * | 2003-09-03 | 2010-12-30 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 전자 장치에서의 3-단계 부팅 프로세스 |
US8555273B1 (en) | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
CN1973262B (zh) * | 2003-10-23 | 2012-08-22 | 创道软件有限公司 | 使用集中动态寻址(da)管理器的动态寻址 |
KR100547809B1 (ko) | 2003-10-31 | 2006-01-31 | 삼성전자주식회사 | 소프트웨어 다운로드를 위한 임베디드 시스템을 구비한이동통신단말기 및 소프트웨어 다운로드 방법 |
US7440286B2 (en) * | 2005-04-21 | 2008-10-21 | Super Talent Electronics, Inc. | Extended USB dual-personality card reader |
US8998620B2 (en) * | 2003-12-02 | 2015-04-07 | Super Talent Technology, Corp. | Molding method for COB-EUSB devices and metal housing package |
US7872873B2 (en) | 2003-12-02 | 2011-01-18 | Super Talent Electronics, Inc. | Extended COB-USB with dual-personality contacts |
US8102657B2 (en) | 2003-12-02 | 2012-01-24 | Super Talent Electronics, Inc. | Single shot molding method for COB USB/EUSB devices with contact pad ribs |
US7869219B2 (en) * | 2004-01-20 | 2011-01-11 | Super Talent Electronics, Inc. | Flash drive with spring-loaded retractable connector |
US7546596B2 (en) * | 2004-03-29 | 2009-06-09 | International Business Machines Corporation | Non-disruptive method, system and program product for overlaying a first software module with a second software module |
US7904895B1 (en) | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
US7543118B1 (en) | 2004-05-07 | 2009-06-02 | Hewlett-Packard Development Company, L.P. | Multiple variance platform for the management of mobile devices |
KR20050044837A (ko) * | 2004-06-08 | 2005-05-13 | 삼성전자주식회사 | 디지털 방송 데이터 출력 중 통화기능을 처리하는이동통신단말기 및 그 방법 |
US20080195817A1 (en) * | 2004-07-08 | 2008-08-14 | Super Talent Electronics, Inc. | SD Flash Memory Card Manufacturing Using Rigid-Flex PCB |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US7516451B2 (en) * | 2004-08-31 | 2009-04-07 | Innopath Software, Inc. | Maintaining mobile device electronic files including using difference files when upgrading |
US20060068763A1 (en) * | 2004-09-30 | 2006-03-30 | Macronix International Co., Ltd. | Polyrhythm generator for mobile audio platform applications and methods thereof |
US7634258B2 (en) * | 2004-11-22 | 2009-12-15 | Motorola, Inc. | System and method for over-the-air update of wireless communication devices |
US20060120191A1 (en) * | 2004-12-06 | 2006-06-08 | Mediatek Incorporation | Systems and methods for optical drive operation |
US8606830B2 (en) | 2004-12-17 | 2013-12-10 | Microsoft Corporation | Contiguous file allocation in an extensible file system |
US7873596B2 (en) | 2006-05-23 | 2011-01-18 | Microsoft Corporation | Extending cluster allocations in an extensible file system |
US8321439B2 (en) | 2004-12-17 | 2012-11-27 | Microsoft Corporation | Quick filename lookup using name hash |
US9639554B2 (en) | 2004-12-17 | 2017-05-02 | Microsoft Technology Licensing, Llc | Extensible file system |
FR2881912A1 (fr) * | 2005-02-07 | 2006-08-11 | France Telecom | Procede d'affichage de messages de texte, terminal et programme pour la mise en oeuvre du procede |
JP4764056B2 (ja) * | 2005-04-14 | 2011-08-31 | キヤノン株式会社 | 画像処理装置、制御プログラムの更新方法、およびプログラム |
ATE438254T1 (de) * | 2005-06-10 | 2009-08-15 | Sony Ericsson Mobile Comm Ab | Prozessorgesteuertes gerät mit verschiedenen betriebsarten |
US7418590B2 (en) * | 2005-07-14 | 2008-08-26 | Dell Products L.P. | Information handling system for storing basic input output system configurations |
DE102005050288A1 (de) * | 2005-10-14 | 2007-04-19 | Siemens Ag | System zur Durchführung von Softwareupdates in Embeddded Systemen sowie ein Verfahren dazu |
TWI275029B (en) * | 2005-11-18 | 2007-03-01 | Hon Hai Prec Ind Co Ltd | An embedded system and method for processing data thereof |
US20070277028A1 (en) * | 2006-05-26 | 2007-11-29 | Jamey Cates | Method and system for recovery from reprogramming failures in nonvolatile memory |
WO2007146710A2 (en) | 2006-06-08 | 2007-12-21 | Hewlett-Packard Development Company, L.P. | Device management in a network |
DE102006028797A1 (de) * | 2006-06-23 | 2007-12-27 | Khs Ag | Austauschbares Antriebssystem |
US8112162B2 (en) * | 2006-06-29 | 2012-02-07 | Honeywell International Inc. | System level function block engine |
US8418128B2 (en) * | 2006-06-29 | 2013-04-09 | Honeywell International Inc. | Graphical language compiler system |
US9726392B2 (en) * | 2006-06-29 | 2017-08-08 | Honeywell International Inc. | Generic user interface system |
US7738972B2 (en) * | 2006-06-29 | 2010-06-15 | Honeywell International Inc. | Modular shared-memory resource stage driver system for flexible resource linking in an energy conversion system |
FR2903791B1 (fr) * | 2006-07-13 | 2008-10-17 | Airbus France Sas | Procede de telechargement d'un module logiciel. |
EP2047420A4 (en) | 2006-07-27 | 2009-11-18 | Hewlett Packard Development Co | USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE |
US8224888B2 (en) * | 2006-11-14 | 2012-07-17 | Honeywell International Inc. | Public variable interface system |
US20100050168A1 (en) * | 2006-12-19 | 2010-02-25 | Halliburton Energy Services, Inc. | Secure firmware updates in embedded systems |
US7990724B2 (en) | 2006-12-19 | 2011-08-02 | Juhasz Paul R | Mobile motherboard |
US7747664B2 (en) * | 2007-01-16 | 2010-06-29 | Microsoft Corporation | Storage system format for transaction safe file system |
US7613738B2 (en) * | 2007-01-16 | 2009-11-03 | Microsoft Corporation | FAT directory structure for use in transaction safe file system |
US8254134B2 (en) * | 2007-05-03 | 2012-08-28 | Super Talent Electronics, Inc. | Molded memory card with write protection switch assembly |
US7822963B2 (en) * | 2007-06-05 | 2010-10-26 | Hewlett-Packard Development Company, L.P. | Remote computer operating system upgrade |
US7850468B2 (en) | 2007-06-28 | 2010-12-14 | Super Talent Electronics, Inc. | Lipstick-type USB device |
US8102658B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | Micro-SD to secure digital adaptor card and manufacturing method |
US7944702B2 (en) | 2007-08-27 | 2011-05-17 | Super Talent Electronics, Inc. | Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve |
US8650306B2 (en) * | 2007-10-24 | 2014-02-11 | Honeywell International Inc. | Interoperable network programmable controller generation system |
US8241047B2 (en) * | 2007-10-30 | 2012-08-14 | Super Talent Electronics, Inc. | Flash drive with spring-loaded swivel connector |
US9122553B2 (en) * | 2007-12-01 | 2015-09-01 | Sony Corporation | Synchronous bus download of TV software update |
US8116083B2 (en) * | 2007-12-04 | 2012-02-14 | Super Talent Electronics, Inc. | Lipstick-type USB device with tubular housing |
JP5272414B2 (ja) * | 2008-01-18 | 2013-08-28 | 富士通セミコンダクター株式会社 | 情報処理システム及びファームウェア実行方法 |
US8219595B2 (en) * | 2008-02-14 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | System and method for efficient remote data access for server management |
US9488992B2 (en) * | 2008-10-16 | 2016-11-08 | Honeywell International Inc. | Wall module configuration tool |
CN101477471B (zh) * | 2009-01-07 | 2014-04-30 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
TW201027324A (en) * | 2009-01-14 | 2010-07-16 | Giga Byte Tech Co Ltd | Embedded electronic device free from being stuck in update failure and method of making the same |
EP2427845B1 (en) * | 2009-05-04 | 2020-01-01 | Nokia Solutions and Networks Oy | Mechanism for updating software |
US8190574B2 (en) | 2010-03-02 | 2012-05-29 | Storagecraft Technology Corporation | Systems, methods, and computer-readable media for backup and restoration of computer information |
EP2378417A1 (en) * | 2010-04-16 | 2011-10-19 | Accenture Global Services Limited | Extending the functionality of an embedded system |
US8646072B1 (en) | 2011-02-08 | 2014-02-04 | Symantec Corporation | Detecting misuse of trusted seals |
US8538588B2 (en) | 2011-02-28 | 2013-09-17 | Honeywell International Inc. | Method and apparatus for configuring scheduling on a wall module |
KR20120109800A (ko) * | 2011-03-28 | 2012-10-09 | 삼성전자주식회사 | Fota 기반의 데이터 갱신 방법 및 이를 지원하는 휴대 단말기 |
US8943330B2 (en) * | 2011-05-10 | 2015-01-27 | Qualcomm Incorporated | Apparatus and method for hardware-based secure data processing using buffer memory address range rules |
CN103176806B (zh) * | 2011-12-21 | 2017-08-18 | 富泰华工业(深圳)有限公司 | 烧录系统及烧录控制方法 |
US20130166893A1 (en) * | 2011-12-23 | 2013-06-27 | Sandisk Technologies Inc. | Auxiliary card initialization routine |
JP5886099B2 (ja) * | 2012-03-21 | 2016-03-16 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
TWI502507B (zh) * | 2013-01-22 | 2015-10-01 | Wistron Corp | 電池韌體更新方法、可攜式電子裝置及充電電池模組 |
US9910660B2 (en) * | 2013-08-05 | 2018-03-06 | Harman International Industries, Incorporated | Operating system replacement for in-vehicle computing system |
US8886933B1 (en) * | 2013-12-17 | 2014-11-11 | Google Inc. | Streamlined provisioning and configuration of computing devices |
US9658787B2 (en) * | 2014-02-26 | 2017-05-23 | Macronix International Co., Ltd. | Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes |
US9582262B2 (en) | 2014-06-16 | 2017-02-28 | Wipro Limited | Systems and methods for installing upgraded software on electronic devices |
US9920944B2 (en) | 2015-03-19 | 2018-03-20 | Honeywell International Inc. | Wall module display modification and sharing |
US9858231B2 (en) | 2015-06-22 | 2018-01-02 | Google Llc | Operating system card for multiple devices |
CA3084161C (en) * | 2017-12-13 | 2022-09-27 | Absolute Software Corporation | Firmware publication of multiple binary images |
JP2020087293A (ja) * | 2018-11-30 | 2020-06-04 | キヤノン株式会社 | 情報処理装置および情報処理装置の制御方法 |
US11150890B2 (en) * | 2019-09-12 | 2021-10-19 | International Business Machines Corporation | File system synchronization-based updating |
CN112685053A (zh) * | 2019-10-18 | 2021-04-20 | 航天科工惯性技术有限公司 | 单片机程序远程升级控制方法 |
CN111488168B (zh) * | 2019-12-25 | 2023-09-12 | 湖北航天飞行器研究所 | 一种基于boot二次加载的武器系统控制软件安全升级方法 |
US11237838B2 (en) * | 2020-01-02 | 2022-02-01 | Western Digital Technologies, Inc. | Storage system and method for enabling a direct accessible boot block in a memory die |
CN112181454B (zh) * | 2020-09-21 | 2023-04-07 | 西安微电子技术研究所 | 一种无人值守设备的远程升级系统及方法 |
JP2022071954A (ja) * | 2020-10-29 | 2022-05-17 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535355A (en) * | 1989-04-06 | 1996-07-09 | Kabushiki Kaisha Toshiba | Controller for a storage device which allows either prestored or user defined firmware to be executed |
EP0618535B1 (en) * | 1989-04-13 | 1999-08-25 | SanDisk Corporation | EEPROM card with defective cell substitution and cache memory |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
IT1254937B (it) * | 1991-05-06 | 1995-10-11 | Aggiornamento dinamico di memoria non volatile in un sistema informatico | |
US5388267A (en) * | 1991-05-29 | 1995-02-07 | Dell Usa, L.P. | Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity |
US5473775A (en) * | 1991-10-11 | 1995-12-05 | Kabushiki Kaisha Toshiba | Personal computer using flash memory as BIOS-ROM |
US5870520A (en) * | 1992-12-23 | 1999-02-09 | Packard Bell Nec | Flash disaster recovery ROM and utility to reprogram multiple ROMS |
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 |
US5452339A (en) * | 1994-02-09 | 1995-09-19 | Harris Corporation | Local/remote modification of electronically alterable operating system firmware resident in redundant flash memory of remote unit for testing/conditioning subscriber line circuits |
US6148441A (en) * | 1994-04-06 | 2000-11-14 | Dell Usa, L.P. | Method for reprogramming flash ROM in a personal computer implementing an EISA bus system |
US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
US5654746A (en) * | 1994-12-01 | 1997-08-05 | Scientific-Atlanta, Inc. | Secure authorization and control method and apparatus for a game delivery service |
US5647986A (en) | 1994-12-02 | 1997-07-15 | Nawathe; Dilip | Apparatus and process for distributed treatment of wastewater |
US5568641A (en) * | 1995-01-18 | 1996-10-22 | Hewlett-Packard Company | Powerfail durable flash EEPROM upgrade |
US5748940A (en) * | 1995-08-17 | 1998-05-05 | Compaq Computer Corporation | Secure updating of non-volatile memory |
US5812883A (en) * | 1995-11-22 | 1998-09-22 | Mitsubishi Chemical America, Inc. | System for reading and storing formatting information after formatting a first storage medium and using the stored formatting information to format a second storage medium |
US5701492A (en) * | 1996-03-29 | 1997-12-23 | Canon Kabushiki Kaisha | Fail-safe flashing of EPROM |
US5940074A (en) * | 1996-06-03 | 1999-08-17 | Webtv Networks, Inc. | Remote upgrade of software over a network |
US6023620A (en) * | 1997-02-26 | 2000-02-08 | Telefonaktiebolaget Lm Ecrisson | Method for downloading control software to a cellular telephone |
US6135651A (en) * | 1997-05-29 | 2000-10-24 | Cirrus Logic, Inc. | Patching apparatus and method for upgrading modem software code |
US5966301A (en) * | 1997-06-13 | 1999-10-12 | Allen-Bradley Company, Llc | Redundant processor controller providing upgrade recovery |
GB9713094D0 (en) * | 1997-06-21 | 1997-08-27 | Philips Electronics Nv | Optical disc drive |
US6055632A (en) * | 1997-09-25 | 2000-04-25 | Allen-Bradley Company, Llc | Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system |
US6185678B1 (en) * | 1997-10-02 | 2001-02-06 | Trustees Of The University Of Pennsylvania | Secure and reliable bootstrap architecture |
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6308265B1 (en) * | 1998-09-30 | 2001-10-23 | Phoenix Technologies Ltd. | Protection of boot block code while allowing write accesses to the boot block |
US6385721B1 (en) * | 1999-01-22 | 2002-05-07 | Hewlett-Packard Company | Computer with bootable hibernation partition |
-
1999
- 1999-05-13 IL IL12994799A patent/IL129947A/xx not_active IP Right Cessation
- 1999-05-18 US US09/313,609 patent/US6615404B1/en not_active Expired - Fee Related
-
2000
- 2000-05-05 EP EP00303809A patent/EP1052571A3/en not_active Ceased
- 2000-05-09 CA CA002307908A patent/CA2307908A1/en not_active Abandoned
- 2000-05-15 JP JP2000142053A patent/JP2000357095A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006508432A (ja) * | 2002-11-12 | 2006-03-09 | イノパス・ソフトウェアー・インコーポレーテッド | アップグレード中に発生した障害や誤りからの自動復元を含む電子ファイルのアップグレード |
JP2005078455A (ja) * | 2003-09-01 | 2005-03-24 | Sony Corp | 電子機器及びそのプログラム更新方法 |
JP4517607B2 (ja) * | 2003-09-01 | 2010-08-04 | ソニー株式会社 | 電子機器及びそのプログラム更新方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1052571A3 (en) | 2005-01-19 |
US6615404B1 (en) | 2003-09-02 |
IL129947A0 (en) | 2000-02-29 |
IL129947A (en) | 2003-06-24 |
CA2307908A1 (en) | 2000-11-13 |
EP1052571A2 (en) | 2000-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000357095A (ja) | 埋込式システムにソフトウェアをダウンロードする方法および装置 | |
US8181007B2 (en) | Electronic device and method for secure operating system update in embedded system | |
US5987605A (en) | Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device | |
US8539471B2 (en) | Updating firmware of an electronic device | |
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
US8122447B2 (en) | Firmware installation | |
TWI384367B (zh) | 韌體更新系統及方法 | |
US7206971B2 (en) | Selectable and updatable computer boot memory | |
KR101427755B1 (ko) | Usb를 이용한 펌웨어 업그레이드 장치 및 방법 | |
JP4279902B2 (ja) | ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法 | |
KR20050028173A (ko) | 소프트웨어 업데이트 방법 및 시스템 | |
CN111796848A (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
WO2010025669A1 (en) | Updating firmware with multiple processors | |
CN112947977B (zh) | 一种软件在线升级方法及系统 | |
CN111736882B (zh) | 一种dsp程序的远程升级方法 | |
JP5084853B2 (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム | |
JP3805195B2 (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
KR100422928B1 (ko) | 데이터 처리 시스템의 부팅 장치 및 방법 | |
US11768669B2 (en) | Installing application program code on a vehicle control system | |
KR20070060448A (ko) | 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법 | |
KR20010007066A (ko) | 소프트웨어를 내장 시스템으로 다운로드하기 위한 방법 및장치 | |
JP2827594B2 (ja) | マイクロプロセツサ装置のフアームウエア・オンライン更新方式及びその更新方法 | |
EP1302851A2 (en) | Improvements relating to reprogramming an electronic apparatus | |
JP2003122575A (ja) | 情報処理装置 | |
JP2004094725A (ja) | ファームウェア書換装置及びファームウェア書換方法 |