説明

プログラムのダウンロード方法

【課題】ファームウェアのバージョンアップを短時間に効率的に行うこと。
【解決手段】ファームウェアをダウンロードすべきフラッシュメモリ14は、複数のメモリバンク分割され、バンク毎に書き込み、消去を行うことができ、既存のファームウェアを構成する機能プログラムA〜Dの複数の機能プログラムを、そのバージョン識別子と共に各バンクに格納している。新たなファームウェアのバイナリファイルのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えることにより行われる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムのダウンロード方法に係り、特に、携帯電話機、PDA、無線LAN機器等の機器におけるその機器の機能等を決定するプログラムであるファームウェアを、PC等の他の機器からダウンロードするために使用して好適なプログラムのダウンロード方法に関する。
【背景技術】
【0002】
携帯電話機、PDA、無線LAN機器等は、その機能変更、バージョンアップ等のために内部の書き替え可能な不揮発性メモリに格納されているファームウェア等のプログラム(以下、単に、ファームウェアという)を外部からダウンロードして書き替え可能に構成されている。このバージョンアップ等のためのファームウェアのダウンロードの方法は、既にメモリに格納されている現状のファームウェアを一旦全て削除し、その後、新しいファームウェアをダウンロードするという方法で行われており、ファームウェアの更新に時間がかかるものであった。
【0003】
すなわち、ファームウエアをダウンロードする際、まず、ソースをコンパイル、リンクしてバイナリイメージ(HEXファイル等)を作成する。そのとき、特に指定がない場合、リンカは、メモリアドレスの0番地から順にオブジェクトを配置し、バイナリイメージを作成する。このできあがったバイナリイメージをメモリにダウンロードすることによりファームウェアの更新が行われるが、このファームウェアのダウンロードは、通常、既にメモリに格納されている現状のファームウェアを一旦全て削除した後で、新規に作成したバイナリイメージのダウンロードを行うため、ファームウェアの更新に時間がかかってしまう。
【0004】
図3は従来技術によるファームウェアのダウンロードの方法を説明する図である。図3において、21はバイナリファイル、22はフラッシュメモリである。
【0005】
図3に示す例において、フラッシュメモリ22は、携帯電話機、PDA、無線LAN機器等を構成している書き替え可能な不揮発性メモリであり、既存のファームウェアとして、機能プログラムA〜機能プログラムDの複数の機能プログラムにより構成されるファームウェアが格納されているものとする。これらの機能プログラムA〜機能プログラムDは、フラッシュメモリ22内に順に配置されて格納されている。そして、このファームウェアの更新のために、新たなファームウェアとしてのバイナリファイル21が作成されたとする。この新たなバイナリファイル21は、既存のファームウェアの機能プログラムA、機能プログラムCが機能プログラムA’、機能プログラムC’に変更され、機能プログラムB、機能プログラムDについては変更されていないものである。
【0006】
前述した従来技術は、前述したような機能プログラムA〜機能プログラムDの複数の機能プログラムにより構成される既存のファームウェアを機能プログラムA’、機能プログラムB、機能プログラムC’、機能プログラムDにより構成される新たなファームウェアに更新しようとする場合、機能プログラムB、機能プログラムDについては変更されていないにもかかわらず、フラッシュメモリ22内の全てのファームウェアを削除した後、新たに作成したファームウェアとしてのバイナリファイルをダウンロードして、携帯電話機、PDA、無線LAN機器等の機能の更新を行っている。
【0007】
なお、ファームウェアのダウンロード方法に関する従来技術として、例えば、特許文献1等に記載された技術が知られている。
【特許文献1】特開平11−184705号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
一般に、ファームウェアのバイナリイメージについて考えてみると、例えば、ファームウェアをバージョンVからバージョンV’にするというような小規模なバージョンアップの場合、ソース上での変更点は一部であり、変更されないソース、機能が多数ある。しかし、前述した従来技術は、変更されないファイルであっても、一部の変更したファイルによってバイナリイメージを作成する際のリンク時にメモリ上での配置が変えられてしまい、結果として微々たるバージョンアップであっても、ファームウェアを丸々書き替えなければならず、ファームウェアの更新に多くの時間を要してしまうという問題点を有している。
【0009】
本発明の目的は、前述した従来技術の問題点を解決し、ファームウェアのバージョンアップを短時間に効率的に行うことを可能にしたファームウェアのダウンロード方法を提供することにある。
【課題を解決するための手段】
【0010】
本発明によれば前記目的は、送信側となる機器から受信側の機器へのプログラムのダウンロード方法において、前記受信側となる機器が、古いバージョンのプログラムを格納したメモリを備え、該メモリが、複数のバンクにより構成され、各バンクには、前記古いバージョンのプログラムを機能毎に複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、前記送信側となる機器が、新しいバージョンのプログラムを格納するメモリを備え、該メモリには、前記新しいバージョンのプログラムを複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、前記受信側となる機器の古いバージョンのプログラムを、前記送信側となる機器内の新しいバージョンのプログラムに更新するとき、前記送信側となる機器と前記受信側となる機器とを通信回線またはバスラインを介して接続し、前記送信側となる機器が、前記受信側となる機器の古いバージョンのプログラムの機能プログラムのバージョン識別子と、自機器内の新しいバージョンのプログラムの同一の機能プログラムのバージョン識別子とを比較し、不一致である場合にのみ、その機能プログラムを受信側となる機器に送信する動作を機能プログラム毎に行うことにより達成される。
【0011】
また、前記目的は、前述のプログラムのダウンロード方法において、前記受信側となる機器のメモリが不揮発性メモリであることにより達成される。
【0012】
また、前記目的は、前述のプログラムのダウンロード方法において、前記受信側となる機器のメモリのバンクが、プログラムを機能毎に複数に分けた機能プログラムが充分に格納可能な容量に設定されていることにより達成される。
【0013】
また、前記目的は、前述のプログラムのダウンロード方法において、前記プログラムがファームウェアであることにより達成される。
【発明の効果】
【0014】
本発明によれば、携帯電話機、PDA、無線LAN機器等の機器の機能を決定するプログラムであるファームウェアのバージョンアップを短時間に効率的に行うことができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明によるファームウェアのダウンロード方法の実施形態を図面により詳細に説明する。
【0016】
図1は本発明の一実施形態によりファームウェアをダウンロードする場合の機器相互の接続環境の例を示す図、図2は本発明の一実施形態によるファームウェアのダウンロード方法を説明する図である。図1、図2において、11はPC本体、12はディスプレイ、13は機器、14はフラッシュメモリである。
【0017】
本発明の実施形態によるファームウェアのダウンロードは、図1に示すように、PC本体11、ディスプレイ12及び図示しないキーボード等の入力装置を備えるPCと、フラッシュメモリ14を有する携帯電話機、PDA、無線LAN機器等の機器13とを通信回線またはバスライン等のケーブル15により接続し、このケーブル15を介してPCから機器13に備えられるフラッシュメモリ14にファームウェアを送信することにより行われる。
【0018】
機器13内のフラッシュメモリ14は、図2に示すように、複数のメモリバンク分割されて構成され、かつ、メモリバンク毎に書き込み、消去を行うことができるように構成されている。そして、従来技術の欄で説明したと同様に、フラッシュメモリ14には、既存のファームウェアとして、機能プログラムA〜機能プログラムDの複数の機能プログラムにより構成されるファームウェアが格納されるが、本発明の実施形態では、ファームウェアの機能プログラム毎にフラッシュメモリ14のバンク構成に合わせて各機能が配置されて格納される。例えば、機能プログラムA〜機能プログラムDがBootルーチン、Mainルーチン、デバイス制御ルーチン等であった場合、それぞれの格納開始番地を各バンクの先頭番地として、0x0〜 、0x1000〜、0x5000〜等と定めて、各機能プログラムがバンクの先頭から格納される。さらに、各機能プログラムは、フラッシュメモリのバンク毎にバージョン情報等のそのバンクに格納されている機能プログラムに対するバージョンの識別子が付与されて格納される。
【0019】
前述したような形式でフラッシュメモリ14に格納されているファームウェアのバージョンアップを行う場合、図2に示すように、PCのメモリ内に新たなファームウェアとしてのバイナリファイル21を作成して、PCから新たなファームウェアをダウンロードする。この場合の新たなファームウェアは、従来技術により説明したと同様に、既存のファームウェアの機能プログラムA、機能プログラムCが機能プログラムA’、機能プログラムC’に変更され、機能プログラムB、機能プログラムDについては変更されていないものであるとする。そして、作成されるバイナリファイルには、各機能毎にバージョンの識別子が付与される。
【0020】
前述のようにPCのメモリ内に作成された新たなファームウェアとしてのバイナリファイル21を機器13のフラッシュメモリにダウンロードする際、PCは、フラッシュメモリ14の最初のバンクに既に格納されているファームウェアの機能プログラムAのバージョンの識別子と、新たなファームウェアの機能プログラム、ここでは機能プログラムA’の識別子とを比較する。説明している例では、機能プログラムAが機能プログラムA’に変更されているので、識別子が異なっている。このため、PCは、この機能プログラムAを格納しているフラッシュメモリ14のバンクをイレースして、機能プログラムA’をイレースしたフラッシュメモリ14のバンクにダウンロードする。
【0021】
次に、PCは、フラッシュメモリ14の次のバンクに既に格納されているファームウェアの機能プログラムBのバージョンの識別子と、新たなファームウェアの機能、ここでは機能プログラムBの識別子とを比較する。説明している例では、機能Bは変更されていないため、識別子は同一である。このため、PCは、この機能プログラムBについての処理は何も行わずに、次の機能プログラムについての処理に移る。前述したように本発明の実施形態でのファームウェアのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えていけばよい。
【0022】
前述において、フラッシュメモリ14の各バンクは、ファームウェアの各機能プログラムが更新された場合にも、その機能プログラムを1つのバンクに格納することが可能なように、機能プログラムの大きさに対してある程度の余裕を持った大きさの容量に設定される。また、前述した本発明の実施形態は、ファームウェアを格納する機器側のメモリとして、フラッシュメモリを使用するとして説明したが、本発明は、機器側のメモリとして、電気的に書き替え可能な他の形式のROMを使用することが可能である。
【0023】
前述したように、本発明の実施形態によるファームウェアのダウンロード方法は、複数に分けた機能プログラム毎にバージョンの識別子を付与して、各機能プログラムをフラッシュメモリの各バンクに格納するとしているので、各機能プログラムの既存のバージョン識別子と、新たなファームウェアの機能プログラムの識別子とを比較し、識別子が異なっている機能プログラムを格納するバンクのみをイレースしてダウンロードすることとしているので、ファームウェア全体を改めて書き替えてダウンロードする場合に比較して、高速にファームウェアのダウンロードを行うことが可能となり、作業効率を向上させることができる。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施形態によりファームウェアをダウンロードする場合の機器相互の接続環境の例を示す図である。
【図2】本発明の一実施形態によるファームウェアのダウンロード方法を説明する図である。
【図3】従来技術によるファームウェアのダウンロードの方法を説明する図である。
【符号の説明】
【0025】
11 PC本体
12 ディスプレイ
13 機器
14、22 フラッシュメモリ
15 ケーブル
21 バイナリファイル

【特許請求の範囲】
【請求項1】
送信側となる機器から受信側の機器へのプログラムのダウンロード方法において、
前記受信側となる機器は、古いバージョンのプログラムを格納したメモリを備え、該メモリは、複数のバンクにより構成され、各バンクには、前記古いバージョンのプログラムを機能毎に複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、
前記送信側となる機器は、新しいバージョンのプログラムを格納するメモリを備え、該メモリには、前記新しいバージョンのプログラムを複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、
前記受信側となる機器の古いバージョンのプログラムを、前記送信側となる機器内の新しいバージョンのプログラムに更新するとき、
前記送信側となる機器と前記受信側となる機器とを通信回線またはバスラインを介して接続し、前記送信側となる機器は、前記受信側となる機器の古いバージョンのプログラムの機能プログラムのバージョン識別子と、自機器内の新しいバージョンのプログラムの同一の機能プログラムのバージョン識別子とを比較し、不一致である場合にのみ、その機能プログラムを受信側となる機器に送信する動作を機能プログラム毎に行うことを特徴とするプログラムのダウンロード方法。
【請求項2】
前記受信側となる機器のメモリが不揮発性メモリであることを特徴とする請求項1記載のプログラムのダウンロード方法。
【請求項3】
前記受信側となる機器のメモリのバンクは、プログラムを機能毎に複数に分けた機能プログラムが充分に格納可能な容量に設定されていることを特徴とする請求項1または2記載のプログラムのダウンロード方法。
【請求項4】
前記プログラムがファームウェアであることを特徴とする請求項1、2または3記載のプログラムのダウンロード方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2006−4177(P2006−4177A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−179887(P2004−179887)
【出願日】平成16年6月17日(2004.6.17)
【出願人】(000010098)アルプス電気株式会社 (4,263)
【Fターム(参考)】