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
Application number
JP2000142053A
Other languages
English (en)
Inventor
Arie Garfunkel
アリー、ガーファンクル
Avigail Szust
アービゲイル、シュスト
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.)
ECI Telecom Ltd
Original Assignee
ECI Telecom Ltd
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 ECI Telecom Ltd filed Critical ECI Telecom Ltd
Publication of JP2000357095A publication Critical patent/JP2000357095A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

(57)【要約】 【課題】 単一の不揮発性メモリを用いることにより、
埋込式システムのオペレーティング・ソフトウェアおよ
び/または初期化プログラムのバージョンをアップデー
トする方法を提供する。 【解決手段】 不揮発性メモリは、元のバージョンの初
期化およびダウンロード・オペレーション・プログラム
を含むライトプロテクトされた領域と、アップグレード
可能な初期化およびダウンロード・オペレーション・プ
ログラムを含むプロテクトされていない領域とを有す
る。初期化の際、アップグレード可能なバージョン、あ
るいは元のバージョンの初期化およびダウンロード・オ
ペレーション・プログラムは、第2のメモリおよび/ま
たはメモリ位置にコピーされる。埋込式システムは、第
2のメモリおよび/またはメモリ位置から実行され、新
規のオペレーティング・ソフトウェアのダウンロードお
よび/または初期化プログラムのダウンロードを可能に
し、ダウンロードされたバージョンをもつプロテクトさ
れていない領域をプログラムする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、埋込式システムの
分野に関する。より詳細には、本発明は、オンボード
で、フェイルセーフ手続きを用いて、新規のバージョン
のソフトウェアを埋込式システムの単一の不揮発性メモ
リにダウンロードすることにより、埋込式システムの動
作を制御するために用いられるソフトウェアのバージョ
ンをアップグレードするための効果的な方法および装置
に関する。
【0002】
【従来の技術】埋込式システムは、産業分野、オフィ
ス、および消費財に広く用いられている。実際、埋込式
システムは、マイクロプロセッサおよび/またはマイク
ロコントローラを使用して一般的な目的での計算のみに
用いられるものではないほとんどの装置に含まれてい
る。その装置には制御システムが埋め込まれ、その制御
システムは、その装置の必須の構成である。この種の装
置は、多種類の機械および装置の動作を制御、監視およ
び援助するために用いられる。例えば、電話や他の数多
くの電子機器は、ファームウェアにより実行および制御
される。このファームウェアは、電子機器のメモリに格
納される特定のソフトウェアであり、装置を実行するの
に通常用いられるコントローラおよび/または処理ユニ
ットにより常時呼ばれる。
【0003】数多くの装置の中で、ファームウェアは、
データベースにリンクされている。そのデータベース
は、同一または別個のメモリにも格納され、装置が正常
動作するために必要な情報を含んでいる。通常、装置
は、特定の印刷回路基板(PCB)を有する。その基板
上には、処理ユニットや所望の関連メモリが実装(通
常、半田づけ)されている。PCB構造は、大量生産時
に実装面積を削減でき、コストも削減できるため、広く
利用されている。ファームウェアの元のバージョンとデ
ータベースの内容は、消費者に配送される前に、製造者
により、装置のメモリにダウンロードされ、プロセッサ
やコントローラと連携して、装置のオペレーティングシ
ステムとして機能する。
【0004】多くの場合、時間の経過に伴って、消費者
の要求に応じて、装置の特徴的な部分を改良するのが望
ましい。新たな特徴は、装置の性能を改良するために研
究開発を続けている製造者により提供される。この種の
改良は、装置内のファームウェアおよび/またはデータ
ベースの内容を、ときに応じて新しいバージョンにアッ
プデートすることにより行われる。このアップグレード
を行うには、新しいバージョンをダウンロードして、以
前のバージョンのファームウェアとデータベースを有す
るメモリセルを上書き(プログラミング)する必要があ
る。アップグレードは、フィールドにて、技術者によ
り、あるいはパーソナルコンピュータ(PC)等のデー
タソースにより、装置に接続されたデータ通信リンクを
介して行われる。これにより、アップデートの際に、装
置を製造者に返却しなくてすむ。さらに、PCBからア
ップデート対象の部品(例えば、メモリ装置)を取り外
さなくて済むように、オンボードでアップグレードを行
えるようにするのが望ましい。
【0005】たいていの埋込式システムは、ブート動作
と呼ばれる初期化処理を実行する。ブート動作では、シ
ステムが通常動作モードに入るまで、基本ソフトウェア
や特定の命令がメモリのブートセクタ(セクタは格納領
域の単位を表す)からロードされる。ブートの可能性
は、ダウンロード処理が失敗したときでも保持される。
あるいは、ダウンロードされたファームウェアのバージ
ョンは、どんな理由でも、他のダウンロードとプログラ
ミング処理を可能にする。このため、ブート命令は、ダ
ウンロード処理またはプログラミング処理でのエラーが
起きるといつでも、安全に格納されてリカバーされなけ
ればならない。よく知られた解決法は、読み出し専用メ
モリ(ROM)内にブート命令を格納することである。
ROMは、不揮発性(すなわち、電源を供給しなくて
も、格納されたデータを保持する)であり、書き込み保
護されている。しかしながら、ROMは、メモリ容量が
かなり大きいにもかかわらず、書き換えはできない。ま
た、格納されたファームウェアのバージョンに対して上
書きできるように、追記可能な不揮発性メモリを設ける
べきである。このため、この解決法は、2つ以上の不揮
発性メモリが必要になるので、融通性がなく、コスト的
なメリットもない。また、貴重なPCBの実装領域を消
費し、ブートセクタをアップグレードすることもできな
い。さらに、ROMの初期プログラミングは、かなりの
時間を必要とし、大量生産時のコスト削減効果は大き
い。
【0006】
【発明が解決しようとする課題】USP5,666,293号公
報には、ブロードキャスト・チャネルを介して新しいバ
ージョンをダウンロードすることにより、端末装置のオ
ペレーティングシステム・ソフトウェアをアップグレー
ドする手法が開示されている。アップグレードは、パケ
ット化されたデータファイルを周期的にブロードキャス
トすることにより実行される。このデータフェイルは、
オペレーティングシステムを含んでおり、端末装置によ
りキャプチャされて格納される。しかしながら、オペレ
ーティングシステムのアップグレードルーチンは、RO
Mに格納されている。このROMは、単独で動作する
か、あるいは不揮発性のRAM(NVRAM)のライトプロテ
クトされたセクタと連携して動作する。さらに、NVRAM
に格納されたオペレーティングシステムのブートは、R
OMに格納されてアップグレードができないローダ・プ
ログラムにより実行される。
【0007】USP5,647,986号公報には、コントロー
ラにより制御される廃水処理用の自動化装置が開示され
ている。このコントローラは、リモートプログラミング
が可能なフラッシュメモリとブートメモリを有する。フ
ラッシュメモリは、装置のオペレーティングプログラム
を格納する。ブートメモリはブートコードを有する。こ
のブートコードは、フラッシュメモリの基本的な通信と
再プログラミングを処理するために必要とされる。コン
トローラは、中央のコンピュータとの接続を確立し、こ
の中央のコンピュータから新しいオペレーティングシス
テムがダウンロードされる。コントローラは、中央のコ
ンピュータとの接続を確立し、このコンピュータから新
規のオペレーティング・プログラムがダウンロードさ
れ、フラッシュメモリの内容を消去するためのコマンド
を受信する。フラッシュメモリの内容が消去された後、
コントローラは、中央のコンピュータから伝送されたデ
ータで、フラッシュメモリの再プログラムを開始する。
プログラミングが終了すると、コントローラは、装置の
処理ユニットをリブートし、装置はアップデートされた
オペレーティング・プログラムに従って動作を開始す
る。しかしながら、この装置は、ダウンロードおよび/
またはプログラミング処理の間にエラーが起きた場合
に、バックアップとリブートを行う機能は持たず、別個
のアップグレードができないブートメモリが必要にな
る。
【0008】フェイルセーフ手続きを用いて、ダウンロ
ード制御プログラムのアップグレードも可能にする埋込
式システムの単一の不揮発性メモリに、新しいソフトウ
ェアとブート・バージョンをオンボードでダウンロード
することの問題に対して、満足のいく解決法はまだ提案
されていない。
【0009】本発明の目的は、フェールセーフ手続きを
用いて、埋込式システムのメモリに新しいソフトウェア
とブート・バージョンをダウンロードする方法および装
置を提供することにある。
【0010】本発明の他の目的は、埋込式システムのメ
モリに新しいソフトウェアとブート・バージョンをダウ
ンロードし、オンボードで、かつフィールドで実行され
る方法および装置を提供することにある。
【0011】本発明の他の目的は、埋込式システムのメ
モリに新しいソフトウェアとブート・バージョンをダウ
ンロードし、単一の不揮発性メモリを利用する方法およ
び装置を提供することにある。
【0012】本発明の他の目的や効果は、以下の記載で
明らかにされる。
【0013】
【課題を解決するための手段】本発明は、埋込式システ
ムのオペレーティング・ソフトウェアおよび/または初
期化プログラムをアップグレードするフィールドのため
の方法に関する。フラッシュメモリのように単一の不揮
発性メモリは、ライトプロテクトされた領域とプロテク
トされていない領域とに分割される。プロテクトされて
いない領域は、ダウンロードされたバージョンのソフト
ウェアを格納するために用いられる。フラッシュメモリ
内のハードウェア的にライトプロテクトされた領域は、
元のバージョンの初期化およびダウンロード・プログラ
ムを格納するために用いられ、フィールドでは利用でき
ないかなりの高電圧によってのみプログラムされること
ができる。元のプロテクトされた初期化およびダウンロ
ード・プログラムは、バックアップ・プログラムとして
機能する。このプログラムは、現在のダウンロード処理
が失敗したときに、新規のダウンロード処理を行うため
に用いられる。ライトプロテクトされた領域を設けるこ
とで、ROMのような付加的な不揮発性メモリを設ける
必要がなくなる。
【0014】おそらく、フラッシュメモリに格納され
る、有効な最終バージョンの初期化およびダウンロード
・プログラムは、RAMのような揮発性メモリにコピー
される。埋込式システムは、RAMにより実行される。
これにより、埋込式システムが通常動作している間に、
新規の初期化プログラムとオペレーション・ソフトウェ
アのダウンロード処理が可能になる。おそらく、初期化
処理にて、初期化およびダウンロード・プログラムは、
RAMにコピーされる。埋込式システムは、初期化およ
びダウンロード機能を実行するために、RAMから実行
される。あるいは、システム機能の全部または一部はR
AMから複製または実行され、アップグレード処理の間
に付加的な機能を許可する。
【0015】ダウンロードは、埋込式システムに入力さ
れた受信データを介して実行される。ダウンロードされ
たデータは検証され、もし有効であることがわかると、
フラッシュメモリのプロテクトされていない領域にプロ
グラムされる。あるいは、アップグレードされるために
は、フラッシュメモリは最初に消去され、データはフラ
ッシュメモリのプロテクトされていない領域に直接格納
される。ダウンロード処理が回復不能なエラーにより中
断されるとき、フラッシュメモリのライトプロテクトさ
れた領域から元の初期化処理を活性化した後、あるいは
フラッシュメモリのプロテクトされていない領域からア
ップデートされた初期化処理を活性化した後、ダウンロ
ード処理は終了する。ダウンロードとプログラミング処
理は、最初からやり直される。あるいは、データエラー
の検出時点から続けられる。プログラミング後に、シス
テムはリブートされ、フラッシュメモリのプロテクトさ
れていない領域に格納されたアップデートされた初期化
処理が活性化されてRAMにコピーされる。埋込式シス
テムは、新しいバージョンのオペレーティング・ソフト
ウェアにより実行される。あるいは、オペレーティング
・ソフトウェアの全部または一部は、RAMに格納され
た後、RAMから実行される。
【0016】おそらく、新しいバージョンのダウンロー
ドは、埋込式システムのデータ受信入力に接続されるP
Cのようなデータソースにより、あるいは、データリン
ク上の遠隔地のソースから埋込式システムのデータ受信
入力にデータ群を伝送することによりフィールドで実行
される。
【0017】本発明はまた、その通常動作に影響するこ
となく、オペレーティング・ソフトウェアおよび/また
は初期化プログラムを、フィールドで、およびオンボー
ドで、アップグレードすることができる埋込式システム
に導かれる。本埋込式システムは、埋込式システムの元
の初期化およびダウンロード・プログラムを格納するラ
イトプロテクトされた領域と、少なくともアップデート
されたバージョンの初期化およびダウンロード・プログ
ラムを格納するプロテクトされていない領域とを有する
単一の不揮発性のメモリ部品と、埋込式システムの初期
化プログラムおよび/またはオペレーティング・プログ
ラムを格納するとともに、新しいバージョンの実行と再
プログラミングを同時に行うことができる揮発性メモリ
と、埋込式システムの初期化処理および実行を制御し、
不揮発性メモリの内容を揮発性メモリにコピーし、かつ
新しいバージョンの前記オペレーティング・ソフトウェ
アおよび/または初期化プログラムをダウンロードし、
検証し、およびプログラミングする制御回路と、各バー
ジョンのソフトウェアおよび/または前記初期化プログ
ラムをダウンロードするデータ受信入力と、を備える。
【0018】
【発明の実施の形態】本発明の上記のあるいは他の特徴
や効果は、添付された図面を参照して、図示されたもの
に限定されることなく、以下の実施の形態により、より
よく理解されうる。
【0019】図1は本発明の好適な一実施形態による単
一の不揮発性メモリ部品を有するソフトウェアによるア
ップグレードが可能な埋込式システムのブロック図であ
る。埋込式システム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はダウンロードプログラムを格納して実行するた
めに用いられる。さらに、ブートのアップグレードとダ
ウンロード手続きをそれ自身で行えるようにするのが望
ましい。現在のフラッシュメモリ技術は、同一のメモリ
部品に対して、セクタにプログラムされている間に同時
にアクセスすることを認めていない。
【0021】図2は、本発明の好適な実施形態による、
図1の埋込式システムのメモリ配置を概略的に示す図で
ある。フラッシュメモリ12は、セグメント(最低3セ
クタ)としても知られる、複数のセクタに分割される。
2つのセクタはブートプログラムを格納するのに用いら
れ、他のセクタは現在のバージョンのオペレーションソ
フトウェアを格納するために用いられる。このオペレー
ションソフトウェアは、ダウンロード動作によりアップ
グレード可能である。フラッシュメモリ内の一つのブー
トセクタ20は、製造者によりプログラムされる元のブ
ートプログラムを含んでおり、ハードウェアによりプロ
テクトされている。このハードウェア・プロテクトは、
例えば、書き込み機能を可能にするためにフィールドで
は利用できないかなりの高電圧を供給することにより実
現できる。結果として、システム10は、フィールドで
アップグレードできないプロテクトされたブートセクタ
を有する。他のブートセクタ21もまた、ライトプロテ
クトされていないが、元のブートプログラムで最初にプ
ログラムされる。セクタの最後に付加されるフラグは、
フラッシュメモリ12のアクセス可能なセクタ21,2
2用の状態フラグである。図3には状態フラグの状態図
が示されている。フラグは、工場出荷時に有効な状態に
プログラムされている。アップデート処理の最初のステ
ップは、このフラグを消去処理にリセットすることを含
む。このフラグがいったんセットされると、アップデー
ト処理が始まり、現在のプログラムを消去することが必
要になる。消去処理が終了した後、フラグは消去状態に
リセットされる。セクタがプログラムされて検証された
後、フラグは有効な状態に再びリストアされる。
【0022】ダウンロード処理の間、巡回冗長コード
(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にコピーされる。プログラムは、どの
バージョンのコードが使用されるのかとは無関係に、同
一のアドレス領域から実行される。
【0024】図4は本発明の好適な実施形態による埋込
式システムの処理動作を示すフローチャートである。プ
ログラムは、フラッシュメモリのセクタ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
にコピーされたソフトウェアのみが機能する。
【0026】フラッシュメモリ12内のセクタ22は、
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にコピーされ
る。各セクタは、状態ワードが有効であることを示す場
合のみ、ロードされる。オペレーティング・プログラム
は、各論理セグメントからの独立の機能を許容できるよ
うに設計されなければならない。その結果、付加的な有
効セグメントは、有効でない他のセグメントの欠如にお
いて実行されうる。
【0028】本発明の好適な実施形態によれば、上述し
た通信リンク上の遠隔地からアップデートされたデータ
ブロックを伝送することにより実行されるダウンロード
やプログラミング動作は、フィールドやオンボードで、
PC等のデータソースをシステム10内の最適な入力や
データリンク入力(例えば、シリアルのRS-232Cポー
ト)に接続する技術者やユーザにより同様に実行するこ
とができる。
【0029】上述した例や記述は、図解の目的でのみ提
供されたものであり、いかなる方法でも本発明を限定す
るものではない。当業者により評価されるように、本発
明は、埋込式システムの動作を制御するために、マイク
ロコントローラやマイクロプロセッサを用いて、種々の
方法で実行されることができる。すなわち、上述した技
術以外の技術を利用して、例えば、アップグレードされ
たバージョンのソフトウェアをダウンロードするための
データ通信リンクの利用や、モノリシック回路上に埋込
式システムを実装することや、フラッシュメモリやRA
M以外の他のタイプの揮発性および不揮発性メモリを利
用することなど、本発明の範囲を越えない範囲内のすべ
てに本発明は適用可能である。
【図面の簡単な説明】
【図1】本発明の好適な実施形態による単一の不揮発性
メモリを有するソフトウェアがアップグレード可能な埋
込式システムのブロック図。
【図2】本発明の好適な実施形態による、図1の埋込式
システムのメモリ配置を概略的に示す図。
【図3】本発明の好適な実施形態による、不揮発性メモ
リの状態ワードのフローチャート。
【図4】本発明の好適な実施形態による、埋込式システ
ムの動作を示すフローチャート。
【符号の説明】
10 システム 11 コントローラ 12 フラッシュメモリ 13 RAM 14 通信リンク

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】埋込式システムのオペレーティング・ソフ
    トウェアおよび/または初期化プログラムのバージョン
    をアップグレードする方法であって、 元のバージョンの初期化およびダウンロード・オペレー
    ション・プログラムを含む少なくとも一つのライトプロ
    テクトされた領域と、アップグレード可能なバージョン
    の初期化およびダウンロード・オペレーション・プログ
    ラムを少なくとも含む少なくとも一つのプロテクトされ
    ていない領域とをもつ、プログラム可能な不揮発性の第
    1のメモリを設けるステップと、 初期化の過程で、前記アップグレード可能なバージョ
    ン、または元のバージョンの前記初期化およびダウンロ
    ード・オペレーション・プログラムを少なくとも第2の
    メモリおよび/またはメモリ位置にコピーするステップ
    と、 前記第2のメモリおよび/または前記メモリ位置から前
    記埋込式システムを実行するステップと、 新規のバージョンのオペレーティング・ソフトウェアお
    よび/または初期化プログラムのダウンロードを可能と
    し、前記ダウンロードしたバージョンが格納された前記
    プロテクトされてない領域をプログラミングするステッ
    プと、を備えることを特徴とする方法。
  2. 【請求項2】前記第2のメモリは、前記第1のメモリか
    ら物理的に分離されていることを特徴とする請求項1に
    記載の方法。
  3. 【請求項3】新規のバージョンのダウンロードは、埋込
    式システムのデータ受信入力に接続された小型のデータ
    ソースを用いることにより実行されることを特徴とする
    請求項1に記載の方法。
  4. 【請求項4】新規のバージョンのダウンロードは、デー
    タリンク上の前記ソースから埋込式システムのデータ受
    信入力にデータ群を転送することにより、遠隔地のデー
    タソースから実行されることを特徴とする請求項1に記
    載の方法。
  5. 【請求項5】前記データリンクは、ワイヤレスリンクで
    あることを特徴とする請求項4に記載の方法。
  6. 【請求項6】前記不揮発性のメモリは、フラッシュメモ
    リであることを特徴とする請求項1に記載の方法。
  7. 【請求項7】前記第2のメモリは、揮発性のメモリであ
    ることを特徴とする請求項2に記載の方法。
  8. 【請求項8】破壊されたダウンロードデータの受信がデ
    ータソースコードをチェックすることにより検出される
    ことを特徴とする請求項1に記載の方法。
  9. 【請求項9】前記プロテクトされていない領域内の状態
    コードをチェックするステップと、 前記状態コードが初期化およびダウンロード・オペレー
    ション・プログラムのバージョンが有効であることを示
    している場合、そのバージョンのプログラムを第2のメ
    モリおよび/またはメモリ位置にコピーするステップ
    と、 前記状態コードが初期化およびダウンロード・オペレー
    ション・プログラムのバージョンが有効であることを示
    していない場合、元のバージョンの初期化およびダウン
    ロード・オペレーション・プログラムを第2のメモリお
    よび/またはメモリ位置にコピーするステップと、を備
    えることを特徴とする請求項1に記載の方法。
  10. 【請求項10】前記ライトプロテクトされた領域と前記
    ライトプロテクトされていない領域とは、単一のフラッ
    シュメモリのセクタであることを特徴とする請求項2に
    記載の方法。
  11. 【請求項11】埋込式システムは、電話であることを特
    徴とする請求項1に記載の方法。
  12. 【請求項12】埋込式システムは、電話通信システムで
    あることを特徴とする請求項1に記載の方法。
  13. 【請求項13】オペレーティング・ソフトウェアおよび
    /または初期化プログラムのバージョンをアップグレー
    ド可能な埋込式システムにおいて、 前記埋込式システムの元のバージョンの初期化およびダ
    ウンロード・プログラムを格納するライトプロテクトさ
    れた領域と前記埋込式システムのアップグレード可能な
    バージョンの初期化およびダウンロード・プログラムを
    格納するプロテクトされていない領域との少なくとも一
    つを有する単一の不揮発性メモリと、 前記埋込式システムの初期化およびダウンロード・プロ
    グラムを格納する少なくとも第2のメモリおよび/また
    はメモリ位置と、 前記元のバージョンの初期化およびダウンロード・プロ
    グラムの内容、または前記アップグレード可能なバージ
    ョンの初期化およびダウンロード・プログラムを、前記
    第2のメモリおよび/またはメモリ位置に少なくともコ
    ピーし、新規のバージョンの初期化および/またはダウ
    ンロード・プログラムを少なくともダウンロードおよび
    プログラミングする初期化プロセスおよび前記埋込式シ
    ステムの動作を制御する制御回路と、 各バージョンのソフトウェアおよび/または前記初期化
    プログラムをダウンロードするデータ受信入力と、を備
    えることを特徴とする埋込式システム。
  14. 【請求項14】前記第2のメモリは、前記第1のメモリ
    から物理的に分離されていることを特徴とする請求項1
    3に記載の埋込式システム。
  15. 【請求項15】新しいバージョンは、データ受信入力に
    接続されたデータソースを用いてダウンロードされるこ
    とを特徴とする請求項13に記載の埋込式システム。
  16. 【請求項16】データソースから伝送された新しいバー
    ジョンのデータを受信およびダウンロードするデータ通
    信リンクを備えることを特徴とする請求項13に記載の
    埋込式システム。
  17. 【請求項17】前記データ通信リンクは、ワイヤレスリ
    ンクであることを特徴とする請求項13に記載の埋込式
    システム。
  18. 【請求項18】前記不揮発性メモリは、フラッシュメモ
    リであることを特徴とする請求項13に記載の埋込式シ
    ステム。
  19. 【請求項19】前記第2のメモリは、揮発性メモリであ
    ることを特徴とする請求項13に記載の埋込式システ
    ム。
  20. 【請求項20】初期化の際に、前記プロテクトされてい
    ない領域内の状態ワードをチェックするステップと、 前記状態ワードが初期化およびダウンロード・オペレー
    ション・プログラムのバージョンが有効であることを示
    すとき、このバージョンのプログラムを前記第2のメモ
    リおよび/またはメモリ位置にコピーするステップと、 前記状態ワードが初期化およびダウンロード・オペレー
    ション・プログラムのバージョンが有効であることを示
    さないとき、前記元のバージョンの初期化およびダウン
    ロード・オペレーション・プログラムを前記第2のメモ
    リおよび/またはメモリ位置にコピーするステップと、
    を備えることを特徴とする請求項13に記載の埋込式シ
    ステム。
  21. 【請求項21】前記元の初期化プログラムは、前記アッ
    プグレード可能なバージョンの初期化およびダウンロー
    ド・プログラムが有効であることをデータ状態ワードが
    示していない場合に使用されることを特徴とする請求項
    13に記載の埋込式システム。
  22. 【請求項22】電話であることを特徴とする請求項13
    に記載の埋込式システム。
  23. 【請求項23】電話通信システムであることを特徴とす
    る請求項13に記載の埋込式システム。
JP2000142053A 1999-05-13 2000-05-15 埋込式システムにソフトウェアをダウンロードする方法および装置 Pending JP2000357095A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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) ファームウェア書換装置及びファームウェア書換方法