JP2011146060A - 電子機器および電子機器にファイルをダウンロードする方法 - Google Patents

電子機器および電子機器にファイルをダウンロードする方法 Download PDF

Info

Publication number
JP2011146060A
JP2011146060A JP2011042970A JP2011042970A JP2011146060A JP 2011146060 A JP2011146060 A JP 2011146060A JP 2011042970 A JP2011042970 A JP 2011042970A JP 2011042970 A JP2011042970 A JP 2011042970A JP 2011146060 A JP2011146060 A JP 2011146060A
Authority
JP
Japan
Prior art keywords
usb
code
interface
electronic device
boot
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
JP2011042970A
Other languages
English (en)
Other versions
JP2011146060A5 (ja
Inventor
Ismail Waeil Ben
ベン イスマイル ワエイル
Kristl Haesaerts
ハエサエルツ クリストル
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2011146060A publication Critical patent/JP2011146060A/ja
Publication of JP2011146060A5 publication Critical patent/JP2011146060A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通常オペレーション中に完全なプロトコルスタックコードによって動作可能なUSBインタフェースを備えたモデムなどのような電子機器において、そのブートオペレーション中にUSBインタフェースを介してこのような電子機器のソフトウェアをアップグレード可能にする。
【解決手段】ブートコードはインタフェース用の軽量プロトコルスタックコードを有しており、この軽量プロトコルスタックコードは、完全なプロトコルスタックのレイヤのサブセットから成る。
【選択図】図5

Description

本発明は、1つの完全な汎用シリアルバス(USB)プロトコルスタックコードにより通常オペレーション中に動作可能なUSBインタフェースを備え、フラッシュメモリなどのような不揮発性メモリが設けられていて、該不揮発性メモリには電子機器をブートするコードが含まれているモデムなどのような電子機器、およびUSBインタフェースを備えた電子機器のメモリ部分にファイルをダウンロードする方法に関する。
現在、電子機器用のソフトウェアのアップデータやバグフィックス等をユーザに配布するためにいくつかのメカニズムが存在する。第1の可能性として挙げられるのは、機器がアップグレードを必要としている場所まで技術者が出向いて、更新の必要なメモリセクションを置き換えることである。
いっそう効率的なフル稼働モード中のソフトウェアアップグレードもすでに知られており、これはたとえば汎用シリアルバス(Universal Serial Bus, USB)を介して行うことができる。1つの公知の方法によればソフトウェアアップグレードはフル稼働中のソフトウェアにおいて行われ、その際、新たなソフトウェアは最初にSDRAMにダウンロードされ、ついでフラッシュメモリにダウンロードされる。しかしこれには、フラッシュメモリへのダウンロード中に何らかのエラーが発生したら機器が動作不能状態になってしまうというリスクが伴う。
さらに、イーサネットインタフェースを介してブートオペレーション中にファイルをダウンロードすることもすでに知られている。この解決手段によればフラッシュメモリにブートコードが含まれており、このコードは典型的にはフラッシュメモリの最上部におかれ、そこにおいてフラッシュプログラミングツールによってプログラミングされる。このブートコードは機器の基板がスイッチオンされるとスタートし、イーサネットインタフェースを介してファイルをダウンロードするために用いられる。この目的でブートコードには、イーサネットポートを介してBOOTPリクエストを送信するためのブートストラッププロトコル(Bootstrap protocol, BOOTP)と、イーサネットポートを介してファイルをダウンロードするための簡易ファイル転送プロトコル(trivial file transfer protocol, TFTP)が含まれている。この種の機器にUSBを設けることができ、ここではUSBプロトコルスタックコードはブートコードにではなく典型的にはオペレーションソフトウェア内に存在する。その理由はこのUSBコードのサイズが、たとえば4MBという典型的なサイズをもつフラッシュメモリ内に格納するには大きすぎることによる。このためブートオペレーション中にUSBを介してソフトウェアをアップデートするのは不可能である。
本発明の課題は、ブートオペレーション中にいっそう幅広いアップグレードを行わせる装置およびシステムならびに方法を提供することにある。
本発明によればこの課題は、電子機器のソフトウェアはそのブートオペレーション中にアップグレード可能であり、ブートコードは汎用シリアルバス(USB)インタフェースのための軽量プロトコルスタックコードを有しており、該軽量プロトコルスタックは完全なUSBプロトコルスタックコードのサブセットから成ることを特徴とする電子機器により解決される。
さらに上述の別の課題は、少なくとも1つのコンピュータにUSBインタフェースが設けられていて、1つまたは複数のコンピュータにファイルを格納するステップと、少なくとも汎用シリアルバス(USB)を介して前記電子機器を1つまたは複数のコンピュータに接続するステップと、完全なUSBプロトコルスタックに比べて低減された軽量プロトコルスタックを利用して、少なくとも1つのブートリクエストを前記電子機器から前記1つまたは複数のコンピュータへ前記USBインタフェースを介して送信するステップと、前記1つまたは複数のコンピュータから前記電子機器へ少なくとも1つのブートリプライを送信するステップと、前記電子機器から前記1つまたは複数のコンピュータのうち1つのコンピュータにファイル転送リクエストを送信するステップと、前記格納されたファイルを前記1つのコンピュータから前記電子機器へ送信するステップを有することを特徴とする、USBインタフェースを備えた電子機器のメモリ部分にファイルをダウンロードする方法により解決される。
本発明によるモデムシステムの主要ハードウェアコンポーネントを示すブロック図である。 本発明の方法に従ってモデムシステムをブートするプロセスを示すフローチャートである。 本発明の1つの実施形態によるシステムのために使用されるプロトコルスタックのブロックダイアグラムである。 本発明の方法に従ったブートオペレーション中のモデムとコンピュータとの間の通信プロセスを示す図である。 本発明によるモデムのフラッシュメモリ内における様々なソフトウェアコンポーネントを示す図である。 本発明による方法を用いUSBを介してソフトウェアアップデートを実行するモデムとコンピュータから成るシステムを示す図である。 本発明によるモデムを示すブロック図であって、このモデムはイーサネットインタフェースを介して第1のPCと、USBインタフェースを介して第2のPCと接続されている。
電子機器の通常オペレーション中、インタフェースのすべてのオペレーションをコントロールするために、およびこのインタフェースに関連するすべてのプロトコルを処理するために、典型的にはオペレーションソフトウェア中に完全なプロトコルスタックコードが設けられている。典型的なインタフェースはたとえばUSB、USB2またはFirewireなどである。いっそう幅広いアップグレードオプションを提供する目的で本発明による電子機器は、この機器のソフトウェアがこの種のインタフェースを介してブートオペレーション中にもアップグレードが可能であるように構成されている。
完全なプロトコルスタックコードは通例、大量のメモリを占有するものであり、フラッシュメモリ内のブートコードには適していない。電子機器のコストの点ではフラッシュメモリのサイズを制限するのが望ましい。したがって本発明の別の目的として挙げられるのは、不揮発性メモリ内の対応するブートコードサイズを小さく維持することである。この目的は、ブートオペレーション中にインタフェースを処理するための軽量プロトコルスタックコードだけをもつブートコードを使用することによって達成される。
本発明の別の実施形態によれば、ブートコードは前記のインタフェースを検出するためのコントロールコードと、このインタフェースを介して送受信を行うためのプロトコル処理コードとを有している。この種のブートコードによってこのインタフェースを介してデータを送信できるようになり、このデータを電子機器のソフトウェアアップグレードのために機器のメモリに書き込むことができる。
本発明の有利な実施形態によればインタフェースはUSBインタフェースである。完全なUSBプロトコルスタックというのはかなり大きいプロトコルスタックであり、これは典型的にはオペレーションソフトウェア中に設けられているのに対し、ブートコードは軽量プロトコルスタックだけを使用することから小さく維持されており、つまりメモリサイズが低減される。
さらに本発明の別の目的は、通常オペレーション中に完全なプロトコルスタックコードによって動作可能なUSBインタフェースを備えたモデムなどのような電子機器において、そのブートオペレーション中にUSBインタフェースを介してこのような電子機器のソフトウェアをアップグレード可能にすることである。
このため本発明の別の観点によれば前述のブートコードには、前記の完全なプロトコルスタックコードのイーサネットからUSBへのマッピングパートが含まれている。このパートは、ワイドエリアネットワーク(WAN)を介した通信に必要とされるAAL5/ATM/USB(ATM: asynchronous transfer mode; AAL: ATM adaption layer)マッピングをサポートしていない。換言すれば、いくつかのレイヤが取り除かれている。しかしながらこのパートによって、少なくともUSBポートにおいて電子機器と接続されたコンピュータなどの適切な機器へBOOTPリクエストを首尾よく伝送可能にするために必要とされるカプセル化が保証される。さらに詳しくは、BOOTP、ユーザデータグラムプロトコル(UDP)ならびにインターネットプロトコル(IP)がブートオペレーション中に利用され、これによってBOOTP/UDP/IPをイーサネットにカプセル化することができる。しかもUSBを介したこのイーサネットプロトコルスタックは完全なスタックと比べて軽量なプロトコルスタックであり、その結果としてブートコードがいっそう小さくなる。
したがって本発明の別の観点によれば、ワイドエリアネットワーク(WAN)を介した通信のための完全なUSBプロトコルスタックコードが第2のメモリに含まれている。このコードは、通常オペレーション中にワイドエリアネットワーク(WAN)を介した通信に必要とされるAAL5/ATM/USBマッピングをサポートする。
有利な実施形態によればモデムはさらにイーサネットインタフェースを有しており、この場合、ブートコードはブートオペレーション中にイーサネットを介して送受信するためのコードを有している。これによって、USBインタフェースを介したまたはイーサネットインタフェースを介したモデムのソフトウェアアップグレードが考慮される。
本発明はさらに、前述の実施形態のいずれかに従って電子機器にファイルをダウンロードするためのシステムに関する。このシステムには、前述の電子機器と前述のインタフェース用のドライバを備えたコンピュータとが設けられていて、このコンピュータは前述のインタフェースを介して電子機器と接続されており、リモートのコンピュータには、電子機器と通信するためのおよびダウンロードすべきファイルを供給するための実行可能なプログラムコードが含まれている。USBインタフェースの場合、USBドライバはコンピュータ内部のUSBハードウェアをコントロールし、コンピュータ上のソフトウェアはプログラムインタフェースセットを介してこのドライバと通信することができる。
実行可能なプログラムは一般にそれ自体PCにおいてアップグレードウィザードプログラムを成しており、これは一連のダイアログボックスを用いた手順を通してステップを追ってユーザをガイドするプログラムである。
電子機器がUSBインタフェースとイーサネットインタフェースを有しているならば、アップグレードウィザードプログラムはUSBポートあるいはイーサネットポートの双方を介してアップグレード可能である。
USBホスト通常はコンピュータとUSBデバイスとの間の基本通信要素はパイプとエンドポイント(EP)である。エンドポイントは、USBホストとUSBデバイス内部のいくつかの機能との間の論理的な伝送経路である。エンドポイントは通常、単方向のみでデータを送信するために存在しており、それらはパイプなどのようにいっそう先進的な通信経路のために使用される。
本発明によるシステムの1つの特有の実施形態によれば、送信すべきフレームをUSBデバイスへおよびそこから送信できるようにするため、USBインタフェースのエンドポイント(EP)4および5においてそれぞれコネクションが確立される。エンドポイントは所定のプロトコルの使用と結びつけられており、EP4,EP5の選択はブートオペレーション中に使用される軽量プロトコルに関連づけられる。
このコネクションを可能にするためブートコードは、コントロールに使用されるEP0と、バルクモードにおけるソフトウェアダウンロードインタフェースとして使用されるEP4と、バルクモードにおける確認応答インタフェースとして用いられるEP5をサポートしている。他のエンドポイントはブートオペレーション中は使用不能状態におかれ、EP4とEP5以外のエンドポイントにおけるすべてのトラフィックは除かれる。
本発明はさらに、USBコネクションを備えた電子機器のメモリ部分にファイルをダウンロードするための方法に関し、この方法は以下のステップから成る。すなわち、
−1つまたは複数のコンピュータにファイルを格納するステップ、ここで少なくとも1つのコンピュータにはUSBインタフェースが設けられている;
−前記電子機器を少なくとも汎用シリアルバス(USB)を介して1つまたは複数のコンピュータに接続するステップ;
−完全なUSBプロトコルスタックと比べて低減されたUSBプロトコルスタックを使用し、USBインタフェースを介して前記電子機器から1つまたは複数のコンピュータに少なくとも1つのリクエストを送信するステップ;
−前記1つまたは複数のコンピュータから前記電子機器へ少なくとも1つのブートリプライを送信するステップ;
−前記電子機器から前記1つまたは複数のコンピュータのうちの1つにファイル転送リクエストを送信するステップ;
−格納されたファイルを前記1つのコンピュータから前記電子機器へ送信するステップ。
この方法の有利な実施形態によれば、上述のブートリクエストとブートリプライはBOOTPプロトコルを使用する。また、上述のファイル転送リクエストおよび格納されたファイルの送信を、簡易ファイル転送プロトコル(TFTP)を使用して行うと有利である。ファイルが電子機器のメモリパートに格納されたならば、ダウンロードされたファイルの形式に応じてそのファイルからブートするのが有利である。
この方法における1つの特有の実施形態によれば、電子機器は少なくとも1つのコンピュータとイーサネットを介しても接続されている。この場合、ブートリクエストはUSBインタフェースとイーサネットインタフェースの双方に送信される。最初の可能性によれば、最初にブートリプライを受け取ったインタフェースを介してファイル転送が確立される。他の可能性によれば、USBインタフェースを介して接続されたコンピュータから受け取ったブートリプライとイーサネットインタフェースを介して接続されたコンピュータから受け取ったブートリプライの双方が、電子機器によって監視されることになる。たとえば転送すべきファイルの重要性あるいはバージョンなどに依存して、電子機器は複数のコンピュータのうちのいずれかに優先権を与えることができる。
本発明のさらに別の特徴や利点は、図面を参照しながら以下で説明する本発明の有利な実施形態の説明に示されている。
図1には、本発明によるモデム1の主要ハードウェアコンポーネントの概観が描かれている。このハードウェアアーキテクチャによって、電話回線と1つまたは複数のコンピュータとの間のリンクが形成される。電話回線インタフェース3は典型的にはDSLターミネーションインタフェースであって、ここではRJ−11コネクタが使用される。
ADSLモデム1はさらに第1のブロック2を有しており、これにはアナログフロントエンドと、アナログ回線インタフェースのターミネーションおよびディジタルデータをメインコントローラ4からアナログバンドパス信号に変換するための特定用途向け集積回路(ASIC)が含まれていて、このASICのことをADSL ASICと称する。アナログフロントエンドモジュールは、既存電話サービス網(POTS)信号をフィルタリング除去しADSL信号の通過を許可するハイパスフィルタと、アップストリーム信号とダウンストリーム信号とを分離するため2線から4線へまたはその逆への変換を実行するハイブリッド回路たとえば受動回路網と、アップストリームラインドライバとダウンストリームレシーバフィルタとによって構成されている。ADSL ASICによって、アナログ/ディジタル変換(A/D)およびディジタル/アナログ変換(D/A)が行われる。メインコントローラ4は基本的にディジタルADSLモデムASIC、イーサネットATMアダプタおよびマイクロプロセッサを有している。
ディジタルADSLモデムASICにはDMT(digital multitone)変調の手法を用いる信号変復調器が含まれており、これによってイーサネットまたはUSBインタフェースから到来する信号が変調されてそれらがADSL,ASICに供給され、さらにその逆のことが行われる。
コントローラには、シンクロナス・ダイナミック・ランダムアクセスメモリ5(SDRAM)とフラッシュメモリすなわち電気的にプログラミング可能なリードオンリメモリ(EPROM)6から成るメモリプールが付属しており、このリードオンリメモリ6はブロック単位で消去および再プログラミング可能な不揮発性メモリである。フラッシュEPROMのサイズは典型的には2MBであって8MBまで拡張可能である。典型的には8MBのサイズであるSDRAMは、たとえば32bit幅のバスを介してメインコントローラ4と通信を行う。
イーサネットインタフェース7は専用インタフェースを介してコントローラと接続されている。イーサネットインタフェース7は典型的には、RJ−45コネクタを備えた10/100BaseTインタフェースである。
専用のUSB集積回路を含むUSBインタフェース11は、たとえば16bit幅のデータバスと1bit幅のアドレスバスから成るパラレルインタフェースを介して、メインコントローラ4と接続されている。
この機器にはさらに、内部電源8と接続された標準電源プラグ9が設けられている。内部電源8の出力側から複数の電圧が供給され、たとえば12Vと3.3Vと1.8Vが供給される。これらの給電電圧によって、ハードウェアコンポーネントのために必要とされる電源が供給される。
さらにこの機器には通常、LED(発光ダイオード)などのような複数の視覚的インジケータが設けられており、これによって機器の種々のハードウェアの振る舞いが表示される。モデムの通常オペレーション中、機器は以下のように動作する。電話回線からADSL信号が受信され、AAL5でカプセル化された所定のバーチャルチャネルとバーチャルパスの組み合わせをもつ標準ATMセルに変換される。これらの組み合わせによって、到来トラフィックがオペレーションおよびメンテナンストラフィックから成りオンボードプロセッサによりルーティングされ処理されるのか、あるいはそのままUSBまたはイーサネットへ送られるべきブリッジされたイーサネットフレームから成るのか、あるいはUSBまたはイーサネットへ転送されるルーティングされたIPパケットから成るのかが決定される。
図2には、モデムシステムをブートするためのプロセスを示すフローチャートが描かれている。ボードがパワーオンされると、コントローラは内部ROMからの実行コードをスタートさせ、それに応じてフラッシュメモリにおけるブートコードの開始アドレスにジャンプし、このアドレスはボードサポートパッケージ(BSP)のエントリポイントである。そこでBSPが実行開始される。
まだ実行されていないBSPのパートはブートコードとともにSDRAMにコピーされ、これにはグローバル変数および初期化されたデータが続く。プログラムカウンタはSDRAM内のコードにセットされ、コントローラは実行を開始する。BSPがその初期化を完了すると、プログラムはブートコードのエントリポイントにジャンプする。
ついでBOOTPリクエストメッセージが送信され、BOOTPレスポンスタイマが実行を開始する。このメッセージの内容および使用されるプロトコルスタックについては、図3および図4を参照しながら詳しく説明する。その後、この機器はリプライ待ち状態となる。
タイムアウトした場合または無効なリプライである場合、矢印16で示されているように新たなリクエストが送信される。この再送信の回数はたとえば、タイムアウトまたは無効なリプライの場合の再試行回数を指定するリクエストパラメータに依存させることができる。有効なリプライメッセージが受信された場合にはIPアドレスがセットされ、チェックブロック17で示されているようにこのリプライメッセージの内容がチェックされる。
リプライメッセージにファイル名が含まれている場合にはプロセスにおける以下のステップは、簡易ファイル転送プロトコル(Trivial File Transter Protocol, TFTP)を利用したファイルのダウンロードである。つまりデータパケットがホストコンピュータからSDRAMに伝送され、これについては以下で詳しく説明する。
ダウンロードごとに、転送されたファイルのヘッダがチェックされる。ファイルはたとえば以下のフォーマットをもつ。
Figure 2011146060
表1のすべての行は4byteである。ファイルヘッダの最初の4byteはファイルフォーマット識別子を表し、これにはたとえばBLI1つまりBoot Loader Image Version 1 が含まれている。
ファイルの宛先を後続の4byteにおくことができ、これにはSDRAMまたはフラッシュメモリ内の宛先開始アドレスが含まれている。
オプションとしてタグコードが設けられており、これにはあらゆるタイプの情報が含まれていて、これによりたとえばファイルからブートするために用いられるアドレス、ファイルデータのトータルサイズ等が指定される。
さらに図2を参照すると参照符号22で示されているようにデータは宛先に従い、SDRAM内に残されるかまたはフラッシュメモリに格納される。後者の場合、フラッシュ照合パターンを含む宛先領域が消去され、データが書き込まれる。ついで書き込まれたデータがチェックされ、これはたとえば送信ファイルのファイルヘッダ中に存在する巡回冗長検査(Cyclic Redundancy Check, CRC)の再計算および比較により行われる(表1参照)。モデムにより生成されたチェックデータが送信されたチェックデータと同じであれば、フラッシュ照合パターンが書き込まれる。それらが同じでなければ、線24で示されているようにリブートが実行される。
問い合わせブロック25で規定されているこのプロセスの次のステップは、BOOTPリプライメッセージ中のフラグに依存する。このオプションは、ブロック26で表されているような所定のファイルエントリポイントでブートするためのものであり、あるいは問い合わせ27においてボードサポートパッケージ(Board Support Package, BSP)が存在しているならば、このパッケージから第2のブートを実行するためであり、あるいはそれが存在していないのであればスタートからリブートさせるためのものである。
なお、上述の説明はプロセス中の主要なステップを表したにすぎないことは自明であり、さらに明らかなように、たいていのオペレーションは個々のモデム形式に依存して所定の回数反復可能なループを使ったタイムアウト方式を用いている。また、いくつかの付加的なテストを実行させてもよい。
図3には、ブートコードで用いられるプロトコルスタックが示されている。これは初期化(Init)、簡易ファイル転送プロトコル(Trivial File Transfer Protocol, TFTP)、ブートプロトコル(Boot Protocol, BOOTP)、ユーザデータプロトコル(User Data Protocol, UDP)、イーサネットコントロールメッセージプロトコル (ICMP)、IP (Internet Protocol)、アドレス解決プロトコル(Address Resolution Protocol, ARP)、イーサネット(Ethernet(登録商標))、ETH USB(イーサネットをUSBにダイレクトにマッピングさせるプロトコル)によって構成されている。個別のプロトコルのタスクについてはあとで説明する。
図4を参照するとそこには、ブートオペレーション中にファイルがダウンロードされ、いかなるエラーも発生しない場合の、モデムMとコンピュータPCとの間の通信について示す図が示されている。矢印28で表されているように、まずはじめにBOOTPリクエストがモデムからPCへ送信される。このメッセージにはMAC(Medium Access Control)アドレスのような情報、ベンダ固有の情報などが含まれており、これはイーサネットインタフェースとUSBインタフェースの双方へ送信される。
次に図3を参照しながら、このBOOTPリクエストのフォーマットがどのようにして整えられるかについて説明する。INITモジュール30が初期化されると、まずはじめにBOOTPリクエストの最初のフィールドが構築され、それがBOOTPモジュール31に送られ、これによってMACアドレスなどのような情報を含む完全なBOOTPリクエストが合成されることになる。ついでUDP33、IP39、さらにインタフェースによってはイーサネット36またはUSBイーサネット35によって、プロトコルスタックを通過して下がっていくときにそれらのヘッダがBOOTPフレームに加えられる。物理層に到達すると、アクティブなインタフェースに従いUSBおよび/またはイーサネットネットワークを介してブロードキャストされる。
MACレイヤ34はイーサネットインタフェースまたはUSBインタフェースへのアクセスをコントロールし、IPアドレスをフレーム伝送に使われる物理アドレスに変換するためにアドレス解決プロトコル(address resolution protocol, ARP)38が用いられる。インターネットコントロールメッセージプロトコル(ICMP)によって、ICMPメッセージ送信時の動作異常たとえば輻輳の問題などを考慮することができる。このようなメッセージを受け取ったとき、IPによってその問題が扱われる。
BOOTPリクエストが送信されると、モデムMはBOOTPリプライの待機状態をスタートさせる。有効なBOOTPリプライには要求された情報が含まれていなければ、それはたとえばモデムに割り当てられたIPアドレス、本発明による実施形態によればPCに含まれているTFTPサーバのIPアドレス、ダウンロードすべきファイル名のフルパスなどである。BOOTPリプライは最初はUSBインタフェースから受信され、このUSBインタフェースを介してさらに通信が行われ、これと同じことはイーサネットインタフェースについてもあてはまる。この実施形態によれば、リプライを出すPCがまず最初に優先権を獲得する。冒頭ですでに説明したように、最新のアップグレードファイルが格納されているPCに対して優先権を与えるなど、他のインプリメンテーションが可能である。
矢印29および矢印40によって表されているのは、モデムが有効なBOOTPリプライを受け取ると、モデムによりTFTP伝送が初期化され、それによってTFTPリクエストがBOOTPリプライ中で指定されたIPアドレスのところにあるTFTPサーバへ送信されることである。このリクエストには、8192byteのTFTPブロックサイズに対するオプション・ネゴシエーションも含めることができる。
ついでモデムは第1のデータパケットの到来を待つ。データパケットが到来すると、ファイルヘッダが分析されて、ファイルをフラッシュメモリに格納しその際にまず最初にSDRAMにバッファリングすべきか、あるいはSDRAM内の適正なアドレスのところにただちに配置すべきかが決定される。
最初のパケットのデータがSDRAM内に首尾よく配置された後、矢印42によって示されているように確認応答パケット(acknowledgement packet, ACK)がコンピュータへ送信される。これらのステップは最後のパケットを受信するまで繰り返される。
図5には種々のソフトウェアコンポーネントが概略的に描かれており、これは典型的には2MBのサイズをもつフラッシュメモリに格納されている。ブートコード50は典型的にはフラッシュメモリの最上位の128KBを満たしており、これにはUSBコードのイーサネットプロトコル処理パート(ETH USB)が含まれている。さらにこの領域は、LEDやタイマのようないくつかのハードウェアコンポーネントをアクセスするためのボードサポートパッケージ(Board Support Package, BSP)を使用している。フラッシュメモリにはさらに52のオペレーションソフトウェア、通常のオペレーションを目的としたファイルシステム、およびこのファイルシステムにより使用されるスペースが含まれている。
次に図6を参照すると、そこにはモデムMのソフトウェアアップグレード中に使用されるプロトコルを表すブロック図が示されており、ここではUSBインタフェース63またはイーサネットインタフェース62を介してモデムに接続されたPC上でウィザードが実行される。USBインタフェース63がアクティブであり、かつウィザード61が開始されると、USBドライバに対するコネクションが確立される。モデムMがUSBインタフェースを介してウィザードにつながると、ウィザードはモデムMにより送信されたBOOTPリクエストを待ち受けようとする。EP5を介してモデムのUSBインタフェースから到来するBOOTPリクエストは、UDP/IP/ETH/USBフレーム内にカプセル化されている。USBドライバ64はこのフレームを非カプセル化してすなわちカプセルから取り出して、UDP/IP/ETHフレームを形成し、それに応じてこのフレームがさらに非カプセル化されてウィザード61に転送される。
その後、ウィザード61はBOOTPリプライをUSBドライバ64に送信し、これはUDP/IP/ETHにカプセル化されることになる。ついでUSBドライバ64は受信パケットをEP4を介してUSBデバイスに転送する。
同じようにしてモデムMはTFTPリクエストを送信し、これはウィザード61によって受信され、他方、ウィザード61はTFTPを使用してリクエストされたファイルを送信することによりリプライする。モデムMがイーサネットインタフェースを介してウィザードとつなげられるときも、同様のプロセスが行われる。
次に図7を参照すると、ここではモデムMはイーサネットインタフェースを介して第1のPC1に接続されており、USBインタフェース68を介して第2のPC2に接続されている。この場合、ウィザード61は、TFTP転送のために初期化されるインタフェースにソフトウェアをアップロードするだけであり、イーサネットインタフェースとUSBインタフェースの双方にはアップロードしない。
ここで説明し図面に示した実施形態は、特にPCベースのオペレーティングシステムに係わるものであるが、本発明はPCベースのオペレーティングシステムに限定されるものではなく、本発明をUNIXシステムやMacintoshシステムによっても利用できるし、あるいはUSBインタフェースを備えた他のいかなるシステムによっても利用できる。これまで1つの特定の実施形態について例示し説明してきたが、本発明は種々の変形実施形態を含むものであり、本発明の範囲は以下の特許請求の範囲に基づき規定されるものである。
1 モデム
3 電話回線インタフェース
4 メインコントローラ
5 シンクロナス・ダイナミック・ランダムアクセスメモリ
6 フラッシュメモリ
7 イーサネットインタフェース
8 内部電源
9 標準電源プラグ
11 USBインタフェース

Claims (3)

  1. 1つの完全な汎用シリアルバス(USB)プロトコルスタックコードにより通常オペレーション中に動作可能な汎用シリアルバス(USB)インタフェースを有する電子機器であって、該電子機器をブートするブートコードを含む不揮発性メモリを備えた電子機器において、
    前記電子機器のソフトウェアは、前記汎用シリアルバス(USB)インタフェースを介して前記電子機器のブートオペレーション中にアップグレード可能であり、
    前記ブートコードは、前記汎用シリアルバス(USB)インタフェースの軽量プロトコルスタックコードを有しており、該軽量プロトコルスタックコードは、前記完全な汎用シリアルバス(USB)プロトコルスタックコードのサブセットから成り、ブートオペレーション中の前記汎用シリアルバス(USB)インタフェースを介した送受信と前記ソフトウェアのアップグレードのためのコードであることを特徴とする電子機器。
  2. 前記不揮発性メモリは、前記完全な汎用シリアルバス(USB)プロトコルスタックコードを含むように適合されていないことを特徴とする請求項1に記載の電子機器。
  3. 汎用シリアルバス(USB)インタフェースを備えた電子機器のメモリ部分にファイルをダウンロードする方法であって、前記電子機器は、少なくとも前記汎用シリアルバス(USB)を介して1つまたは複数のコンピュータと接続されており、前記電子機器は、該電子機器をブートするブートコードを含む不揮発性メモリを備え、前記ブートコードは、完全な汎用シリアルバス(USB)プロトコルスタックコードのうちの軽量プロトコルスタックコードを備え、前記軽量プロトコルスタックコードは、ブートオペレーション中の前記汎用シリアルバス(USB)インタフェースを介した送受信と前記電子機器のソフトウェアのアップグレードのためのコードが含まれ、前記方法は、
    前記軽量プロトコルスタックコードを用いて、前記汎用シリアルバス(USB)インタフェースを介して、前記1つまたは複数のコンピュータに少なくとも1つのブートリクエストを送信するステップと、
    前記1つまたは複数のコンピュータから少なくとも1つのブートリプライを受信するステップと、
    前記1つまたは複数のコンピュータのうち1つのコンピュータにファイル転送リクエストを送信するステップと、
    前記1つのコンピュータから前記格納されたファイルを受信するステップと
    を備えたことを特徴とする方法。
JP2011042970A 2002-11-13 2011-02-28 電子機器および電子機器にファイルをダウンロードする方法 Pending JP2011146060A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02447218A EP1420560A1 (en) 2002-11-13 2002-11-13 Software upgrade over a USB connection
EP02447218.5 2002-11-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003380009A Division JP2004178575A (ja) 2002-11-13 2003-11-10 電子機器および該電子機器にファイルをダウンロードするためのシステムならびに方法

Publications (2)

Publication Number Publication Date
JP2011146060A true JP2011146060A (ja) 2011-07-28
JP2011146060A5 JP2011146060A5 (ja) 2012-03-15

Family

ID=32116372

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003380009A Pending JP2004178575A (ja) 2002-11-13 2003-11-10 電子機器および該電子機器にファイルをダウンロードするためのシステムならびに方法
JP2011042970A Pending JP2011146060A (ja) 2002-11-13 2011-02-28 電子機器および電子機器にファイルをダウンロードする方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003380009A Pending JP2004178575A (ja) 2002-11-13 2003-11-10 電子機器および該電子機器にファイルをダウンロードするためのシステムならびに方法

Country Status (6)

Country Link
US (1) US7272706B2 (ja)
EP (1) EP1420560A1 (ja)
JP (2) JP2004178575A (ja)
KR (1) KR101033966B1 (ja)
CN (1) CN100581207C (ja)
MX (1) MXPA03010274A (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677117B2 (en) * 2003-12-31 2014-03-18 International Business Machines Corporation Remote management of boot application
US7720943B2 (en) * 2004-07-26 2010-05-18 Centillium Communications, Inc. Communication device for obtaining an application image or configuration from a service provider
FR2874440B1 (fr) * 2004-08-17 2008-04-25 Oberthur Card Syst Sa Procede et dispositif de traitement de donnees
US8260968B2 (en) * 2006-01-23 2012-09-04 Lantiq Deutschland Gmbh Method and system for booting a software package on a network processor
US20070255868A1 (en) * 2006-04-26 2007-11-01 Cisco Technology, Inc. (A California Corporation) Method and system for managing a network device using a slave USB interface
CN100456244C (zh) * 2006-08-23 2009-01-28 王悦 基于USB Host的引导、升级和维护的仪器及其方法
US7899090B2 (en) * 2006-12-22 2011-03-01 Dell Products L.P. Remote installation performance over management controllers in monolithic and modular systems
CN101627605A (zh) 2007-03-09 2010-01-13 奥蒂斯电梯公司 在计算机系统中用于执行数据传输的方法及相应的设备
CN201114114Y (zh) * 2007-07-20 2008-09-10 华为技术有限公司 调制解调器
CN101470676B (zh) * 2007-12-28 2012-05-30 希姆通信息技术(上海)有限公司 Usb调制解调器自动安装并运行管理软件的方法
US8140837B2 (en) * 2008-11-05 2012-03-20 International Business Machines Corporation Automatically making selective changes to firmware or configuration settings
US9870220B2 (en) * 2008-12-05 2018-01-16 Advanced Micro Devices, Inc. Memory flash apparatus and method for providing device upgrades over a standard interface
JP2010257367A (ja) * 2009-04-28 2010-11-11 Sanyo Electric Co Ltd プログラムの更新システム、プログラム更新機能付き電子機器
TWI387926B (zh) * 2009-07-10 2013-03-01 Wistron Neweb Corp 更新程式區段之方法
EP2302851B1 (en) * 2009-09-29 2012-04-18 Alcatel Lucent Power supply arrangement for line termination units
CN102291282B (zh) * 2010-06-17 2014-12-31 国基电子(上海)有限公司 电缆调制解调器及其支持多种分组电缆标准的方法
CN102201903A (zh) * 2011-06-07 2011-09-28 合肥华云通信技术有限公司 一种简单可靠的远程文件传输方法
CN103376903A (zh) * 2012-04-28 2013-10-30 鸿富锦精密工业(深圳)有限公司 键盘及具有该键盘的电子装置
US20150169837A1 (en) * 2013-12-18 2015-06-18 Lifescan Scotland Limited Externally powered test meter firmware upgrade
WO2021152654A1 (ja) * 2020-01-27 2021-08-05 三菱電機株式会社 空調サービスシステムおよび空調サービス方法
CN114385217A (zh) * 2021-11-30 2022-04-22 北京微纳星空科技有限公司 一种多路cpu应用程序的升级方法、装置、设备及存储介质
CN115242633B (zh) * 2022-06-23 2024-04-09 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187588A (ja) * 1998-12-21 2000-07-04 Nikon Corp プログラム書き換え装置
JP2001117778A (ja) * 1999-10-15 2001-04-27 Nec Shizuoka Ltd ファームウェア書き換え機能を備えたusb装置
JP2001312415A (ja) * 2000-03-29 2001-11-09 Hewlett Packard Co <Hp> 不揮発性メモリにファームウェアをダウンロードするための方法及び装置
JP2002502521A (ja) * 1997-05-14 2002-01-22 サイトリックス システムズ,インコーポレイテッド サーバとクライアントノードとの間の接続を管理するシステムおよび方法
JP2002123400A (ja) * 2000-07-11 2002-04-26 Internatl Business Mach Corp <Ibm> 転送方法、システム、コンピュータ可読媒体及びプログラム
JP2002132527A (ja) * 2000-10-26 2002-05-10 Fuji Heavy Ind Ltd 車載用電子制御装置
JP2002320115A (ja) * 2001-04-24 2002-10-31 Olympus Optical Co Ltd デジタルカメラ、及びデジタル撮像システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US6031867A (en) * 1993-07-02 2000-02-29 Multi-Tech Systems, Inc. Modem with firmware upgrade feature
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
US6135651A (en) * 1997-05-29 2000-10-24 Cirrus Logic, Inc. Patching apparatus and method for upgrading modem software code
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6457175B1 (en) * 1998-11-09 2002-09-24 Tut Systems, Inc. Method and apparatus for installing a software upgrade within a memory resource associated with a computer system
AU3397300A (en) * 1999-03-10 2000-09-28 Automation Control Products Llc Methods and systems for reduced configuration dependency in thin client applications
JP2001337936A (ja) * 2000-05-26 2001-12-07 Victor Co Of Japan Ltd クライアント装置
FR2815494B1 (fr) 2000-10-12 2003-01-10 Schneider Automation S A Methode de configuration d'un module d'automatisme sur un reseau tcp/ip
JP4793798B2 (ja) * 2000-11-10 2011-10-12 オンセミコンダクター・トレーディング・リミテッド マイクロコンピュータ
US20020083362A1 (en) * 2000-12-22 2002-06-27 Objectsoft Corp. System and method for providing unattended personality acquisition, self-recovery and remote maintenance to internet-based end-user devices
US20040049617A1 (en) * 2002-09-05 2004-03-11 Integrated Circuit Solution Inc. Method of firmware update by USB interface
US7043664B1 (en) * 2002-10-31 2006-05-09 Microsoft Corporation Firmware recovery
US20050268928A1 (en) * 2004-06-04 2005-12-08 Teresa Lane Hair accessory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502521A (ja) * 1997-05-14 2002-01-22 サイトリックス システムズ,インコーポレイテッド サーバとクライアントノードとの間の接続を管理するシステムおよび方法
JP2000187588A (ja) * 1998-12-21 2000-07-04 Nikon Corp プログラム書き換え装置
JP2001117778A (ja) * 1999-10-15 2001-04-27 Nec Shizuoka Ltd ファームウェア書き換え機能を備えたusb装置
JP2001312415A (ja) * 2000-03-29 2001-11-09 Hewlett Packard Co <Hp> 不揮発性メモリにファームウェアをダウンロードするための方法及び装置
JP2002123400A (ja) * 2000-07-11 2002-04-26 Internatl Business Mach Corp <Ibm> 転送方法、システム、コンピュータ可読媒体及びプログラム
JP2002132527A (ja) * 2000-10-26 2002-05-10 Fuji Heavy Ind Ltd 車載用電子制御装置
JP2002320115A (ja) * 2001-04-24 2002-10-31 Olympus Optical Co Ltd デジタルカメラ、及びデジタル撮像システム

Also Published As

Publication number Publication date
EP1420560A1 (en) 2004-05-19
CN100581207C (zh) 2010-01-13
CN1574871A (zh) 2005-02-02
KR101033966B1 (ko) 2011-05-11
US20040103177A1 (en) 2004-05-27
KR20040042820A (ko) 2004-05-20
US7272706B2 (en) 2007-09-18
MXPA03010274A (es) 2004-12-06
JP2004178575A (ja) 2004-06-24

Similar Documents

Publication Publication Date Title
JP2011146060A (ja) 電子機器および電子機器にファイルをダウンロードする方法
US20080279098A1 (en) Wireless Receiver Code Download and Boot Sequence
WO2006069279A2 (en) Routing of messages
US20200321965A1 (en) Method for programming a field programmable gate array and network configuration
EP1426860B1 (en) Software upgrade over a USB connection
US7213074B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
JP2000031998A (ja) ネットワーク装置、ネットワークの管理方式および管理方法
CN110096298B (zh) 一种视频会议系统的设备协同升级方法及装置
Cisco New Features for Cisco 1600 Series Routers
Cisco New Features for Cisco 1600 Series Routers
Cisco New Features for Cisco 1600 Series Routers
Cisco New Features for Cisco 1600 Series Routers
Cisco Using the ROM Monitor
Cisco ROM Monitor
Cisco Cable Installation and Interface Configuration
JP2013192092A (ja) 車載装置
Cisco Cable Installation and Interface Configuration
Cisco Cable Installation and Interface Configuration
Cisco System Image and Configuration File Load Commands
Cisco
Cisco
Cisco ROM Monitor
Cisco ROM Monitor
Cisco ROM Monitor
Cisco

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110317

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110317

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130409

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130807

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150226