(57)【要約】【課題】ファームウェアのバージョンアップを短時間に効率的に行うこと。【解決手段】ファームウェアをダウンロードすべきフラッシュメモリ１４は、複数のメモリバンク分割され、バンク毎に書き込み、消去を行うことができ、既存のファームウェアを構成する機能プログラムＡ〜Ｄの複数の機能プログラムを、そのバージョン識別子と共に各バンクに格納している。新たなファームウェアのバイナリファイルのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えることにより行われる。【選択図】      図２
2006004177.tif 000002
【特許請求の範囲】
【請求項１】
送信側となる機器から受信側の機器へのプログラムのダウンロード方法において、
前記受信側となる機器は、古いバージョンのプログラムを格納したメモリを備え、該メモリは、複数のバンクにより構成され、各バンクには、前記古いバージョンのプログラムを機能毎に複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、
前記送信側となる機器は、新しいバージョンのプログラムを格納するメモリを備え、該メモリには、前記新しいバージョンのプログラムを複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、
前記受信側となる機器の古いバージョンのプログラムを、前記送信側となる機器内の新しいバージョンのプログラムに更新するとき、
前記送信側となる機器と前記受信側となる機器とを通信回線またはバスラインを介して接続し、前記送信側となる機器は、前記受信側となる機器の古いバージョンのプログラムの機能プログラムのバージョン識別子と、自機器内の新しいバージョンのプログラムの同一の機能プログラムのバージョン識別子とを比較し、不一致である場合にのみ、その機能プログラムを受信側となる機器に送信する動作を機能プログラム毎に行うことを特徴とするプログラムのダウンロード方法。
【請求項２】
前記受信側となる機器のメモリが不揮発性メモリであることを特徴とする請求項１記載のプログラムのダウンロード方法。
【請求項３】
前記受信側となる機器のメモリのバンクは、プログラムを機能毎に複数に分けた機能プログラムが充分に格納可能な容量に設定されていることを特徴とする請求項１または２記載のプログラムのダウンロード方法。
【請求項４】
前記プログラムがファームウェアであることを特徴とする請求項１、２または３記載のプログラムのダウンロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのダウンロード方法に係り、特に、携帯電話機、ＰＤＡ、無線ＬＡＮ機器等の機器におけるその機器の機能等を決定するプログラムであるファームウェアを、ＰＣ等の他の機器からダウンロードするために使用して好適なプログラムのダウンロード方法に関する。
【背景技術】
【０００２】
携帯電話機、ＰＤＡ、無線ＬＡＮ機器等は、その機能変更、バージョンアップ等のために内部の書き替え可能な不揮発性メモリに格納されているファームウェア等のプログラム（以下、単に、ファームウェアという）を外部からダウンロードして書き替え可能に構成されている。このバージョンアップ等のためのファームウェアのダウンロードの方法は、既にメモリに格納されている現状のファームウェアを一旦全て削除し、その後、新しいファームウェアをダウンロードするという方法で行われており、ファームウェアの更新に時間がかかるものであった。
【０００３】
すなわち、ファームウエアをダウンロードする際、まず、ソースをコンパイル、リンクしてバイナリイメージ（ＨＥＸファイル等）を作成する。そのとき、特に指定がない場合、リンカは、メモリアドレスの０番地から順にオブジェクトを配置し、バイナリイメージを作成する。このできあがったバイナリイメージをメモリにダウンロードすることによりファームウェアの更新が行われるが、このファームウェアのダウンロードは、通常、既にメモリに格納されている現状のファームウェアを一旦全て削除した後で、新規に作成したバイナリイメージのダウンロードを行うため、ファームウェアの更新に時間がかかってしまう。
【０００４】
図３は従来技術によるファームウェアのダウンロードの方法を説明する図である。図３において、２１はバイナリファイル、２２はフラッシュメモリである。
【０００５】
図３に示す例において、フラッシュメモリ２２は、携帯電話機、ＰＤＡ、無線ＬＡＮ機器等を構成している書き替え可能な不揮発性メモリであり、既存のファームウェアとして、機能プログラムＡ〜機能プログラムＤの複数の機能プログラムにより構成されるファームウェアが格納されているものとする。これらの機能プログラムＡ〜機能プログラムＤは、フラッシュメモリ２２内に順に配置されて格納されている。そして、このファームウェアの更新のために、新たなファームウェアとしてのバイナリファイル２１が作成されたとする。この新たなバイナリファイル２１は、既存のファームウェアの機能プログラムＡ、機能プログラムＣが機能プログラムＡ’、機能プログラムＣ’に変更され、機能プログラムＢ、機能プログラムＤについては変更されていないものである。
【０００６】
前述した従来技術は、前述したような機能プログラムＡ〜機能プログラムＤの複数の機能プログラムにより構成される既存のファームウェアを機能プログラムＡ’、機能プログラムＢ、機能プログラムＣ’、機能プログラムＤにより構成される新たなファームウェアに更新しようとする場合、機能プログラムＢ、機能プログラムＤについては変更されていないにもかかわらず、フラッシュメモリ２２内の全てのファームウェアを削除した後、新たに作成したファームウェアとしてのバイナリファイルをダウンロードして、携帯電話機、ＰＤＡ、無線ＬＡＮ機器等の機能の更新を行っている。
【０００７】
なお、ファームウェアのダウンロード方法に関する従来技術として、例えば、特許文献１等に記載された技術が知られている。
【特許文献１】特開平１１−１８４７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
一般に、ファームウェアのバイナリイメージについて考えてみると、例えば、ファームウェアをバージョンＶからバージョンＶ’にするというような小規模なバージョンアップの場合、ソース上での変更点は一部であり、変更されないソース、機能が多数ある。しかし、前述した従来技術は、変更されないファイルであっても、一部の変更したファイルによってバイナリイメージを作成する際のリンク時にメモリ上での配置が変えられてしまい、結果として微々たるバージョンアップであっても、ファームウェアを丸々書き替えなければならず、ファームウェアの更新に多くの時間を要してしまうという問題点を有している。
【０００９】
本発明の目的は、前述した従来技術の問題点を解決し、ファームウェアのバージョンアップを短時間に効率的に行うことを可能にしたファームウェアのダウンロード方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明によれば前記目的は、送信側となる機器から受信側の機器へのプログラムのダウンロード方法において、前記受信側となる機器が、古いバージョンのプログラムを格納したメモリを備え、該メモリが、複数のバンクにより構成され、各バンクには、前記古いバージョンのプログラムを機能毎に複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、前記送信側となる機器が、新しいバージョンのプログラムを格納するメモリを備え、該メモリには、前記新しいバージョンのプログラムを複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、前記受信側となる機器の古いバージョンのプログラムを、前記送信側となる機器内の新しいバージョンのプログラムに更新するとき、前記送信側となる機器と前記受信側となる機器とを通信回線またはバスラインを介して接続し、前記送信側となる機器が、前記受信側となる機器の古いバージョンのプログラムの機能プログラムのバージョン識別子と、自機器内の新しいバージョンのプログラムの同一の機能プログラムのバージョン識別子とを比較し、不一致である場合にのみ、その機能プログラムを受信側となる機器に送信する動作を機能プログラム毎に行うことにより達成される。
【００１１】
また、前記目的は、前述のプログラムのダウンロード方法において、前記受信側となる機器のメモリが不揮発性メモリであることにより達成される。
【００１２】
また、前記目的は、前述のプログラムのダウンロード方法において、前記受信側となる機器のメモリのバンクが、プログラムを機能毎に複数に分けた機能プログラムが充分に格納可能な容量に設定されていることにより達成される。
【００１３】
また、前記目的は、前述のプログラムのダウンロード方法において、前記プログラムがファームウェアであることにより達成される。
【発明の効果】
【００１４】
本発明によれば、携帯電話機、ＰＤＡ、無線ＬＡＮ機器等の機器の機能を決定するプログラムであるファームウェアのバージョンアップを短時間に効率的に行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明によるファームウェアのダウンロード方法の実施形態を図面により詳細に説明する。
【００１６】
図１は本発明の一実施形態によりファームウェアをダウンロードする場合の機器相互の接続環境の例を示す図、図２は本発明の一実施形態によるファームウェアのダウンロード方法を説明する図である。図１、図２において、１１はＰＣ本体、１２はディスプレイ、１３は機器、１４はフラッシュメモリである。
【００１７】
本発明の実施形態によるファームウェアのダウンロードは、図１に示すように、ＰＣ本体１１、ディスプレイ１２及び図示しないキーボード等の入力装置を備えるＰＣと、フラッシュメモリ１４を有する携帯電話機、ＰＤＡ、無線ＬＡＮ機器等の機器１３とを通信回線またはバスライン等のケーブル１５により接続し、このケーブル１５を介してＰＣから機器１３に備えられるフラッシュメモリ１４にファームウェアを送信することにより行われる。
【００１８】
機器１３内のフラッシュメモリ１４は、図２に示すように、複数のメモリバンク分割されて構成され、かつ、メモリバンク毎に書き込み、消去を行うことができるように構成されている。そして、従来技術の欄で説明したと同様に、フラッシュメモリ１４には、既存のファームウェアとして、機能プログラムＡ〜機能プログラムＤの複数の機能プログラムにより構成されるファームウェアが格納されるが、本発明の実施形態では、ファームウェアの機能プログラム毎にフラッシュメモリ１４のバンク構成に合わせて各機能が配置されて格納される。例えば、機能プログラムＡ〜機能プログラムＤがBootルーチン、Mainルーチン、デバイス制御ルーチン等であった場合、それぞれの格納開始番地を各バンクの先頭番地として、0x0〜 、0x1000〜、0x5000〜等と定めて、各機能プログラムがバンクの先頭から格納される。さらに、各機能プログラムは、フラッシュメモリのバンク毎にバージョン情報等のそのバンクに格納されている機能プログラムに対するバージョンの識別子が付与されて格納される。
【００１９】
前述したような形式でフラッシュメモリ１４に格納されているファームウェアのバージョンアップを行う場合、図２に示すように、ＰＣのメモリ内に新たなファームウェアとしてのバイナリファイル２１を作成して、ＰＣから新たなファームウェアをダウンロードする。この場合の新たなファームウェアは、従来技術により説明したと同様に、既存のファームウェアの機能プログラムＡ、機能プログラムＣが機能プログラムＡ’、機能プログラムＣ’に変更され、機能プログラムＢ、機能プログラムＤについては変更されていないものであるとする。そして、作成されるバイナリファイルには、各機能毎にバージョンの識別子が付与される。
【００２０】
前述のようにＰＣのメモリ内に作成された新たなファームウェアとしてのバイナリファイル２１を機器１３のフラッシュメモリにダウンロードする際、ＰＣは、フラッシュメモリ１４の最初のバンクに既に格納されているファームウェアの機能プログラムＡのバージョンの識別子と、新たなファームウェアの機能プログラム、ここでは機能プログラムＡ’の識別子とを比較する。説明している例では、機能プログラムＡが機能プログラムＡ’に変更されているので、識別子が異なっている。このため、ＰＣは、この機能プログラムＡを格納しているフラッシュメモリ１４のバンクをイレースして、機能プログラムＡ’をイレースしたフラッシュメモリ１４のバンクにダウンロードする。
【００２１】
次に、ＰＣは、フラッシュメモリ１４の次のバンクに既に格納されているファームウェアの機能プログラムＢのバージョンの識別子と、新たなファームウェアの機能、ここでは機能プログラムＢの識別子とを比較する。説明している例では、機能Ｂは変更されていないため、識別子は同一である。このため、ＰＣは、この機能プログラムＢについての処理は何も行わずに、次の機能プログラムについての処理に移る。前述したように本発明の実施形態でのファームウェアのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えていけばよい。
【００２２】
前述において、フラッシュメモリ１４の各バンクは、ファームウェアの各機能プログラムが更新された場合にも、その機能プログラムを１つのバンクに格納することが可能なように、機能プログラムの大きさに対してある程度の余裕を持った大きさの容量に設定される。また、前述した本発明の実施形態は、ファームウェアを格納する機器側のメモリとして、フラッシュメモリを使用するとして説明したが、本発明は、機器側のメモリとして、電気的に書き替え可能な他の形式のＲＯＭを使用することが可能である。
【００２３】
前述したように、本発明の実施形態によるファームウェアのダウンロード方法は、複数に分けた機能プログラム毎にバージョンの識別子を付与して、各機能プログラムをフラッシュメモリの各バンクに格納するとしているので、各機能プログラムの既存のバージョン識別子と、新たなファームウェアの機能プログラムの識別子とを比較し、識別子が異なっている機能プログラムを格納するバンクのみをイレースしてダウンロードすることとしているので、ファームウェア全体を改めて書き替えてダウンロードする場合に比較して、高速にファームウェアのダウンロードを行うことが可能となり、作業効率を向上させることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態によりファームウェアをダウンロードする場合の機器相互の接続環境の例を示す図である。
【図２】本発明の一実施形態によるファームウェアのダウンロード方法を説明する図である。
【図３】従来技術によるファームウェアのダウンロードの方法を説明する図である。
【符号の説明】
【００２５】
１１  ＰＣ本体
１２  ディスプレイ
１３  機器
１４、２２  フラッシュメモリ
１５  ケーブル
２１  バイナリファイル
【図１】
2006004177.tif 000003
【図２】
2006004177.tif 000004
【図３】
2006004177.tif 000005