JP2006004177A - プログラムのダウンロード方法 - Google Patents
プログラムのダウンロード方法 Download PDFInfo
- Publication number
- JP2006004177A JP2006004177A JP2004179887A JP2004179887A JP2006004177A JP 2006004177 A JP2006004177 A JP 2006004177A JP 2004179887 A JP2004179887 A JP 2004179887A JP 2004179887 A JP2004179887 A JP 2004179887A JP 2006004177 A JP2006004177 A JP 2006004177A
- Authority
- JP
- Japan
- Prior art keywords
- program
- firmware
- version
- function
- function program
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】ファームウェアのバージョンアップを短時間に効率的に行うこと。
【解決手段】ファームウェアをダウンロードすべきフラッシュメモリ14は、複数のメモリバンク分割され、バンク毎に書き込み、消去を行うことができ、既存のファームウェアを構成する機能プログラムA〜Dの複数の機能プログラムを、そのバージョン識別子と共に各バンクに格納している。新たなファームウェアのバイナリファイルのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えることにより行われる。
【選択図】 図2
【解決手段】ファームウェアをダウンロードすべきフラッシュメモリ14は、複数のメモリバンク分割され、バンク毎に書き込み、消去を行うことができ、既存のファームウェアを構成する機能プログラムA〜Dの複数の機能プログラムを、そのバージョン識別子と共に各バンクに格納している。新たなファームウェアのバイナリファイルのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えることにより行われる。
【選択図】 図2
Description
本発明は、プログラムのダウンロード方法に係り、特に、携帯電話機、PDA、無線LAN機器等の機器におけるその機器の機能等を決定するプログラムであるファームウェアを、PC等の他の機器からダウンロードするために使用して好適なプログラムのダウンロード方法に関する。
携帯電話機、PDA、無線LAN機器等は、その機能変更、バージョンアップ等のために内部の書き替え可能な不揮発性メモリに格納されているファームウェア等のプログラム(以下、単に、ファームウェアという)を外部からダウンロードして書き替え可能に構成されている。このバージョンアップ等のためのファームウェアのダウンロードの方法は、既にメモリに格納されている現状のファームウェアを一旦全て削除し、その後、新しいファームウェアをダウンロードするという方法で行われており、ファームウェアの更新に時間がかかるものであった。
すなわち、ファームウエアをダウンロードする際、まず、ソースをコンパイル、リンクしてバイナリイメージ(HEXファイル等)を作成する。そのとき、特に指定がない場合、リンカは、メモリアドレスの0番地から順にオブジェクトを配置し、バイナリイメージを作成する。このできあがったバイナリイメージをメモリにダウンロードすることによりファームウェアの更新が行われるが、このファームウェアのダウンロードは、通常、既にメモリに格納されている現状のファームウェアを一旦全て削除した後で、新規に作成したバイナリイメージのダウンロードを行うため、ファームウェアの更新に時間がかかってしまう。
図3は従来技術によるファームウェアのダウンロードの方法を説明する図である。図3において、21はバイナリファイル、22はフラッシュメモリである。
図3に示す例において、フラッシュメモリ22は、携帯電話機、PDA、無線LAN機器等を構成している書き替え可能な不揮発性メモリであり、既存のファームウェアとして、機能プログラムA〜機能プログラムDの複数の機能プログラムにより構成されるファームウェアが格納されているものとする。これらの機能プログラムA〜機能プログラムDは、フラッシュメモリ22内に順に配置されて格納されている。そして、このファームウェアの更新のために、新たなファームウェアとしてのバイナリファイル21が作成されたとする。この新たなバイナリファイル21は、既存のファームウェアの機能プログラムA、機能プログラムCが機能プログラムA’、機能プログラムC’に変更され、機能プログラムB、機能プログラムDについては変更されていないものである。
前述した従来技術は、前述したような機能プログラムA〜機能プログラムDの複数の機能プログラムにより構成される既存のファームウェアを機能プログラムA’、機能プログラムB、機能プログラムC’、機能プログラムDにより構成される新たなファームウェアに更新しようとする場合、機能プログラムB、機能プログラムDについては変更されていないにもかかわらず、フラッシュメモリ22内の全てのファームウェアを削除した後、新たに作成したファームウェアとしてのバイナリファイルをダウンロードして、携帯電話機、PDA、無線LAN機器等の機能の更新を行っている。
なお、ファームウェアのダウンロード方法に関する従来技術として、例えば、特許文献1等に記載された技術が知られている。
特開平11−184705号公報
一般に、ファームウェアのバイナリイメージについて考えてみると、例えば、ファームウェアをバージョンVからバージョンV’にするというような小規模なバージョンアップの場合、ソース上での変更点は一部であり、変更されないソース、機能が多数ある。しかし、前述した従来技術は、変更されないファイルであっても、一部の変更したファイルによってバイナリイメージを作成する際のリンク時にメモリ上での配置が変えられてしまい、結果として微々たるバージョンアップであっても、ファームウェアを丸々書き替えなければならず、ファームウェアの更新に多くの時間を要してしまうという問題点を有している。
本発明の目的は、前述した従来技術の問題点を解決し、ファームウェアのバージョンアップを短時間に効率的に行うことを可能にしたファームウェアのダウンロード方法を提供することにある。
本発明によれば前記目的は、送信側となる機器から受信側の機器へのプログラムのダウンロード方法において、前記受信側となる機器が、古いバージョンのプログラムを格納したメモリを備え、該メモリが、複数のバンクにより構成され、各バンクには、前記古いバージョンのプログラムを機能毎に複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、前記送信側となる機器が、新しいバージョンのプログラムを格納するメモリを備え、該メモリには、前記新しいバージョンのプログラムを複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、前記受信側となる機器の古いバージョンのプログラムを、前記送信側となる機器内の新しいバージョンのプログラムに更新するとき、前記送信側となる機器と前記受信側となる機器とを通信回線またはバスラインを介して接続し、前記送信側となる機器が、前記受信側となる機器の古いバージョンのプログラムの機能プログラムのバージョン識別子と、自機器内の新しいバージョンのプログラムの同一の機能プログラムのバージョン識別子とを比較し、不一致である場合にのみ、その機能プログラムを受信側となる機器に送信する動作を機能プログラム毎に行うことにより達成される。
また、前記目的は、前述のプログラムのダウンロード方法において、前記受信側となる機器のメモリが不揮発性メモリであることにより達成される。
また、前記目的は、前述のプログラムのダウンロード方法において、前記受信側となる機器のメモリのバンクが、プログラムを機能毎に複数に分けた機能プログラムが充分に格納可能な容量に設定されていることにより達成される。
また、前記目的は、前述のプログラムのダウンロード方法において、前記プログラムがファームウェアであることにより達成される。
本発明によれば、携帯電話機、PDA、無線LAN機器等の機器の機能を決定するプログラムであるファームウェアのバージョンアップを短時間に効率的に行うことができる。
以下、本発明によるファームウェアのダウンロード方法の実施形態を図面により詳細に説明する。
図1は本発明の一実施形態によりファームウェアをダウンロードする場合の機器相互の接続環境の例を示す図、図2は本発明の一実施形態によるファームウェアのダウンロード方法を説明する図である。図1、図2において、11はPC本体、12はディスプレイ、13は機器、14はフラッシュメモリである。
本発明の実施形態によるファームウェアのダウンロードは、図1に示すように、PC本体11、ディスプレイ12及び図示しないキーボード等の入力装置を備えるPCと、フラッシュメモリ14を有する携帯電話機、PDA、無線LAN機器等の機器13とを通信回線またはバスライン等のケーブル15により接続し、このケーブル15を介してPCから機器13に備えられるフラッシュメモリ14にファームウェアを送信することにより行われる。
機器13内のフラッシュメモリ14は、図2に示すように、複数のメモリバンク分割されて構成され、かつ、メモリバンク毎に書き込み、消去を行うことができるように構成されている。そして、従来技術の欄で説明したと同様に、フラッシュメモリ14には、既存のファームウェアとして、機能プログラムA〜機能プログラムDの複数の機能プログラムにより構成されるファームウェアが格納されるが、本発明の実施形態では、ファームウェアの機能プログラム毎にフラッシュメモリ14のバンク構成に合わせて各機能が配置されて格納される。例えば、機能プログラムA〜機能プログラムDがBootルーチン、Mainルーチン、デバイス制御ルーチン等であった場合、それぞれの格納開始番地を各バンクの先頭番地として、0x0〜 、0x1000〜、0x5000〜等と定めて、各機能プログラムがバンクの先頭から格納される。さらに、各機能プログラムは、フラッシュメモリのバンク毎にバージョン情報等のそのバンクに格納されている機能プログラムに対するバージョンの識別子が付与されて格納される。
前述したような形式でフラッシュメモリ14に格納されているファームウェアのバージョンアップを行う場合、図2に示すように、PCのメモリ内に新たなファームウェアとしてのバイナリファイル21を作成して、PCから新たなファームウェアをダウンロードする。この場合の新たなファームウェアは、従来技術により説明したと同様に、既存のファームウェアの機能プログラムA、機能プログラムCが機能プログラムA’、機能プログラムC’に変更され、機能プログラムB、機能プログラムDについては変更されていないものであるとする。そして、作成されるバイナリファイルには、各機能毎にバージョンの識別子が付与される。
前述のようにPCのメモリ内に作成された新たなファームウェアとしてのバイナリファイル21を機器13のフラッシュメモリにダウンロードする際、PCは、フラッシュメモリ14の最初のバンクに既に格納されているファームウェアの機能プログラムAのバージョンの識別子と、新たなファームウェアの機能プログラム、ここでは機能プログラムA’の識別子とを比較する。説明している例では、機能プログラムAが機能プログラムA’に変更されているので、識別子が異なっている。このため、PCは、この機能プログラムAを格納しているフラッシュメモリ14のバンクをイレースして、機能プログラムA’をイレースしたフラッシュメモリ14のバンクにダウンロードする。
次に、PCは、フラッシュメモリ14の次のバンクに既に格納されているファームウェアの機能プログラムBのバージョンの識別子と、新たなファームウェアの機能、ここでは機能プログラムBの識別子とを比較する。説明している例では、機能Bは変更されていないため、識別子は同一である。このため、PCは、この機能プログラムBについての処理は何も行わずに、次の機能プログラムについての処理に移る。前述したように本発明の実施形態でのファームウェアのダウンロードは、各機能プログラム毎に、そのバージョン識別子を比較して、異なっている機能プログラムのみを書き替えていけばよい。
前述において、フラッシュメモリ14の各バンクは、ファームウェアの各機能プログラムが更新された場合にも、その機能プログラムを1つのバンクに格納することが可能なように、機能プログラムの大きさに対してある程度の余裕を持った大きさの容量に設定される。また、前述した本発明の実施形態は、ファームウェアを格納する機器側のメモリとして、フラッシュメモリを使用するとして説明したが、本発明は、機器側のメモリとして、電気的に書き替え可能な他の形式のROMを使用することが可能である。
前述したように、本発明の実施形態によるファームウェアのダウンロード方法は、複数に分けた機能プログラム毎にバージョンの識別子を付与して、各機能プログラムをフラッシュメモリの各バンクに格納するとしているので、各機能プログラムの既存のバージョン識別子と、新たなファームウェアの機能プログラムの識別子とを比較し、識別子が異なっている機能プログラムを格納するバンクのみをイレースしてダウンロードすることとしているので、ファームウェア全体を改めて書き替えてダウンロードする場合に比較して、高速にファームウェアのダウンロードを行うことが可能となり、作業効率を向上させることができる。
11 PC本体
12 ディスプレイ
13 機器
14、22 フラッシュメモリ
15 ケーブル
21 バイナリファイル
12 ディスプレイ
13 機器
14、22 フラッシュメモリ
15 ケーブル
21 バイナリファイル
Claims (4)
- 送信側となる機器から受信側の機器へのプログラムのダウンロード方法において、
前記受信側となる機器は、古いバージョンのプログラムを格納したメモリを備え、該メモリは、複数のバンクにより構成され、各バンクには、前記古いバージョンのプログラムを機能毎に複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、
前記送信側となる機器は、新しいバージョンのプログラムを格納するメモリを備え、該メモリには、前記新しいバージョンのプログラムを複数に分けた機能プログラムがその機能プログラムのバージョン識別子と共に格納されており、
前記受信側となる機器の古いバージョンのプログラムを、前記送信側となる機器内の新しいバージョンのプログラムに更新するとき、
前記送信側となる機器と前記受信側となる機器とを通信回線またはバスラインを介して接続し、前記送信側となる機器は、前記受信側となる機器の古いバージョンのプログラムの機能プログラムのバージョン識別子と、自機器内の新しいバージョンのプログラムの同一の機能プログラムのバージョン識別子とを比較し、不一致である場合にのみ、その機能プログラムを受信側となる機器に送信する動作を機能プログラム毎に行うことを特徴とするプログラムのダウンロード方法。 - 前記受信側となる機器のメモリが不揮発性メモリであることを特徴とする請求項1記載のプログラムのダウンロード方法。
- 前記受信側となる機器のメモリのバンクは、プログラムを機能毎に複数に分けた機能プログラムが充分に格納可能な容量に設定されていることを特徴とする請求項1または2記載のプログラムのダウンロード方法。
- 前記プログラムがファームウェアであることを特徴とする請求項1、2または3記載のプログラムのダウンロード方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004179887A JP2006004177A (ja) | 2004-06-17 | 2004-06-17 | プログラムのダウンロード方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004179887A JP2006004177A (ja) | 2004-06-17 | 2004-06-17 | プログラムのダウンロード方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006004177A true JP2006004177A (ja) | 2006-01-05 |
Family
ID=35772527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004179887A Withdrawn JP2006004177A (ja) | 2004-06-17 | 2004-06-17 | プログラムのダウンロード方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006004177A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011227813A (ja) * | 2010-04-22 | 2011-11-10 | Nec Fielding Ltd | ファイル共有装置、ファイル共有装置のファームウェアアップデート方法、コンピュータプログラム |
JP2014016952A (ja) * | 2012-07-11 | 2014-01-30 | Nec Access Technica Ltd | ソフトウェア更新システム、通信装置、ソフトウェア更新方法 |
US11301184B2 (en) | 2017-09-20 | 2022-04-12 | Fujifilm Business Innovation Corp. | Information processing apparatus and non-transitory computer readable medium |
-
2004
- 2004-06-17 JP JP2004179887A patent/JP2006004177A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011227813A (ja) * | 2010-04-22 | 2011-11-10 | Nec Fielding Ltd | ファイル共有装置、ファイル共有装置のファームウェアアップデート方法、コンピュータプログラム |
JP2014016952A (ja) * | 2012-07-11 | 2014-01-30 | Nec Access Technica Ltd | ソフトウェア更新システム、通信装置、ソフトウェア更新方法 |
US11301184B2 (en) | 2017-09-20 | 2022-04-12 | Fujifilm Business Innovation Corp. | Information processing apparatus and non-transitory computer readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Reijers et al. | Efficient code distribution in wireless sensor networks | |
JP6568947B2 (ja) | 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア | |
JP4801041B2 (ja) | ファームウェアアップグレードにおける自動バックアップストア | |
CN111796848A (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
JP4153324B2 (ja) | 差分データ生成装置及び方法、更新後データ復元装置及び方法、並びにプログラム | |
JPH113224A (ja) | 携帯型情報端末機器のプログラム更新方法 | |
JP2010044574A (ja) | 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム | |
US20080196009A1 (en) | Apparatus and method for componentizing legacy system | |
KR100729525B1 (ko) | 펌웨어 업데이트 방법 및 시스템 | |
RU2375769C2 (ru) | Автоматическое резервное сохранение при модификациях встроенного программного обеспечения | |
KR20030073824A (ko) | 범용 직렬 버스를 이용한 시스템의 펌웨어 업그레이드방법 및 장치 | |
JP2006004177A (ja) | プログラムのダウンロード方法 | |
CN110471675B (zh) | 一种程序烧录方法、系统、装置及计算机可读存储介质 | |
JP6464038B2 (ja) | リプログラミングシステム | |
JP6575157B2 (ja) | ファームウェアのダウンロード方法及びファームウェア組込機器 | |
JP2019008693A (ja) | 自動車用制御装置 | |
US20110082995A1 (en) | Information processing apparatus | |
JP2007052558A (ja) | フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム | |
JP4910402B2 (ja) | 不揮発性メモリの書き換え装置及び書き換え方法 | |
KR100520192B1 (ko) | 이동통신단말기의 소프트웨어 변경방법 | |
JP2005321843A (ja) | ファームウェアの書換え方法 | |
JP5521437B2 (ja) | 携帯端末装置、ソフトウェア更新方法及びプログラム | |
KR100693551B1 (ko) | 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법 | |
KR101779752B1 (ko) | 프로그래머블 로직 컨트롤러 | |
JP7317609B2 (ja) | 電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |