(57)【特許請求の範囲】
【請求項１】
電子機器であって、
それぞれが複数種類のプログラムを記憶する第１及び第２プログラム領域を有する記憶部と、
前記記憶部が記憶するプログラムを実行するプログラム実行部と、
前記電子機器の外部から、１つのファイルにまとめられた、新たに実行すべき複数種類のプログラムを受信する受信部と、
前記受信部が受信する、新たに実行すべき複数種類のプログラムを、前記第１及び第２プログラム領域の一方に書き込む書き込み部と
を備え、
前記プログラム実行部は、
前記書き込み部が、新たに実行すべきプログラムについて、前記第１及び第２プログラム領域の一方に対する書き込みに成功した場合には、その後、当該一方が記憶するプログラムを実行し、
前記書き込み部が、新たに実行すべきプログラムについて、前記第１及び第２プログラム領域の一方に対する書き込みに失敗した場合には、その後、前記第１及び第２プログラム領域の他方が記憶するプログラムを実行し、
前記第１及び第２プログラム領域の一方は、それが記憶するプログラムを前記プログラム実行部が実行する実行対象領域として使用され、前記第１及び第２プログラム領域の他方は、前記書き込み部が新たに実行すべきプログラムを書き込む書き込み対象領域として使用され、
前記記憶部は、前記第１及び第２プログラム領域において、前記実行対象領域のプログラム領域に記憶されているプログラムのバージョンを示すバージョン情報と、前記実行対象領域のプログラム領域及び前記書き込み対象領域のプログラム領域を特定するための特定情報とを記憶する第１及び第２記憶領域を有し、
前記特定情報を書き換える書き換え部と、
前記記憶部から前記特定情報を読み出して、前記実行対象領域のプログラム領域及び前記書き込み対象領域のプログラム領域を特定する特定部と
をさらに備え、
前記書き込み部は、前記特定部で特定される、前記書き込み対象領域のプログラム領域に対して新たに実行すべきプログラムを書き込み、
前記プログラム実行部は、前記特定部で特定される、前記実行対象領域のプログラム領域のプログラムを実行し、
前記書き換え部は、前記書き込み部が前記書き込み対象領域のプログラム領域に対する、新たに実行すべきプログラムの書き込みに成功した後に、前記書き込み対象領域のプログラム領域と前記実行対象領域のプログラム領域とが入れ替わるように前記第１及び第２記憶領域内の前記特定情報を書き換えるとともに、前記第１及び第２記憶領域内の前記バージョン情報を書き換え、
前記特定部は、前記第１及び第２記憶領域の一方から前記特定情報が読み出せない場合には、前記第１及び第２記憶領域の他方の前記特定情報を使用して前記実行対象領域のプログラム領域を特定する、電子機器。
【請求項２】
請求項１に記載の電子機器であって、
前記プログラム実行部は、
前記書き込み部が、前記受信部が受信する、新たに実行すべき複数種類のプログラムのすべてについて、前記第１及び第２プログラム領域の一方に対する書き込みに成功した場合には、その後、当該一方が記憶する複数種類のプログラムを実行し、
前記書き込み部が、前記受信部が受信する、新たに実行すべき複数種類のプログラムの少なくとも１つについて、前記第１及び第２プログラム領域の一方に対する書き込みに失敗した場合には、その後、前記第１及び第２プログラム領域の他方が記憶する複数種類のプログラムを実行する、電子機器。
【請求項３】
請求項１に記載の電子機器と、
１つのファイルにまとめられた、新たに実行すべき複数種類のプログラムを、前記電子機器の前記受信部に送信するサーバ装置と
を備える、電子システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器においてプログラムを実行する際の技術に関する。
【背景技術】
【０００２】
従来から電子機器に関して様々な技術が提案されている。例えば特許文献１には、印刷装置でのファームウェアのアップデートに関する技術が開示されている。また、非特許文献１には、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）と呼ばれる、ＯＦＤＭＡ（Orthogonal Frequency Division Multiple Access）方式で通信を行う無線通信技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２３２０５３号公報
【非特許文献】
【０００４】
【非特許文献１】“IEEE Standard for Local and metropolitan area networks Part 16:Air Interface for Fixed and Mobile Broadband Wireless Access Systems Amendment 2:Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands and Corrigendum 1”、IEEE Std 802.16eTM-2005 and IEEE Std 802.16TM-2004/Cor1-2005、２００６年２月２８日、ＩＥＥＥ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
さて、プログラムを記憶する、フラッシュＲＯＭ（Read Only Memory）等のＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）に対して、更新後のプログラムを書き込む際には、ＥＥＰＲＯＭに記憶されている古いプログラムを一旦消去した上で、更新後のプログラムを当該ＥＥＰＲＯＭに書き込む必要がある。したがって、ＥＥＰＲＯＭに対する更新後のプログラムの書き込みに失敗した場合には、更新前のプログラムも更新後のプログラムも実行することができなくなる。
【０００６】
また、プログラムを記憶するハードディスクに対して更新後のプログラムを上書きする際には、ハードディスクに対する更新後のプログラムの書き込みが失敗すると、更新後のプログラムがハードディスクに保存されないだけではなく、当該ハードディスクがもともと記憶していた更新前の古いプログラムも破壊されてしまう可能性がある。したがって、更新後のプログラムも更新前のプログラムも実行できなくなる可能性がある。
【０００７】
そこで、本発明は上述の点に鑑みて成されたものであり、記憶部に対する更新後のプログラムの書き込み、つまり記憶部に対する、新たに実行すべきプログラムの書き込みが失敗した場合であっても、その後にプログラムを確実に実行することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る電子機器の一態様は、それぞれが複数種類のプログラムを記憶する第１及び第２プログラム領域を有する記憶部と、前記記憶部が記憶するプログラムを実行するプログラム実行部と、前記電子機器の外部から、１つのファイルにまとめられた、新たに実行すべき複数種類のプログラムを受信する受信部と、前記受信部が受信する、新たに実行すべき複数種類のプログラムを、前記第１及び第２プログラム領域の一方に書き込む書き込み部とを備え、前記プログラム実行部は、前記書き込み部が、新たに実行すべきプログラムについて、前記第１及び第２プログラム領域の一方に対する書き込みに成功した場合には、その後、当該一方が記憶するプログラムを実行し、前記書き込み部が、新たに実行すべきプログラムについて、前記第１及び第２プログラム領域の一方に対する書き込みに失敗した場合には、その後、前記第１及び第２プログラム領域の他方が記憶するプログラムを実行し、前記第１及び第２プログラム領域の一方は、それが記憶するプログラムを前記プログラム実行部が実行する実行対象領域として使用され、前記第１及び第２プログラム領域の他方は、前記書き込み部が新たに実行すべきプログラムを書き込む書き込み対象領域として使用され、前記記憶部は、前記第１及び第２プログラム領域において、前記実行対象領域のプログラム領域に記憶されているプログラムのバージョンを示すバージョン情報と、前記実行対象領域のプログラム領域及び前記書き込み対象領域のプログラム領域を特定するための特定情報とを記憶する第１及び第２記憶領域を有し、前記特定情報を書き換える書き換え部と、前記記憶部から前記特定情報を読み出して、前記実行対象領域のプログラム領域及び前記書き込み対象領域のプログラム領域を特定する特定部とをさらに備え、前記書き込み部は、前記特定部で特定される、前記書き込み対象領域のプログラム領域に対して新たに実行すべきプログラムを書き込み、前記プログラム実行部は、前記特定部で特定される、前記実行対象領域のプログラム領域のプログラムを実行し、前記書き換え部は、前記書き込み部が前記書き込み対象領域のプログラム領域に対する、新たに実行すべきプログラムの書き込みに成功した後に、前記書き込み対象領域のプログラム領域と前記実行対象領域のプログラム領域とが入れ替わるように前記第１及び第２記憶領域内の前記特定情報を書き換えるとともに、前記第１及び第２記憶領域内の前記バージョン情報を書き換え、前記特定部は、前記第１及び第２記憶領域の一方から前記特定情報が読み出せない場合には、前記第１及び第２記憶領域の他方の前記特定情報を使用して前記実行対象領域のプログラム領域を特定する。
【００１０】
また、本発明に係る電子機器の一態様では、前記プログラム実行部は、前記書き込み部が、前記受信部が受信する、新たに実行すべき複数種類のプログラムのすべてについて、前記第１及び第２プログラム領域の一方に対する書き込みに成功した場合には、その後、当該一方が記憶する複数種類のプログラムを実行し、前記書き込み部が、前記受信部が受信する、新たに実行すべき複数種類のプログラムの少なくとも１つについて、前記第１及び第２プログラム領域の一方に対する書き込みに失敗した場合には、その後、前記第１及び第２プログラム領域の他方が記憶する複数種類のプログラムを実行する。
【００１２】
また、本発明に係る電子システムは、上記の電子機器と、１つのファイルにまとめられた、新たに実行すべき複数種類のプログラムを、前記電子機器の前記受信部に送信するサーバ装置とを備える。
【発明の効果】
【００１４】
本発明の一態様によれば、書き込み部が、新たに実行すべきプログラムについて、第１及び第２プログラム領域の一方に対する書き込みに失敗した場合には、その後、第１及び第２プログラム領域の他方が記憶するプログラムが実行されるため、記憶部に対する、新たに実行すべきプログラムの書き込みに失敗した場合であっても、プログラムを確実に実行できる。
【００１５】
また、本発明の一態様によれば、新たに実行すべき複数種類のプログラムが１つのファイルにまとめられた状態で電子機器に入力されるため、バージョンの組み合わせが不適切な複数種類のプログラムが電子機器で使用されることを抑制できる。
【００１６】
また、本発明の一態様によれば、新たに実行すべき複数種類のプログラムの少なくとも１つについて、第１及び第２プログラム領域の一方に対する書き込みに失敗した場合には、その後、第１及び第２プログラム領域の他方が記憶する複数種類のプログラムが実行されるため、記憶部に対する、新たに実行すべきプログラムの書き込みに失敗した場合であっても、使用される複数種類のプログラムについて、適切なバージョンの組み合わせを維持することができる。
【００１７】
また、本発明の一態様によれば、特定部は、第１及び第２記憶領域の一方から特定情報が読み出せない場合には、第１及び第２記憶領域の他方が記憶する特定情報を使用して実行対象領域のプログラム領域を特定するため、現在の実行対象領域のプログラム領域を確実に特定することができる。よって、実行対象領域の最新のプログラムを確実に実行することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る無線通信システムの構成を示す図である。
【図２】本発明の実施の形態に係る基地局の構成を示す図である。
【図３】本発明の実施の形態に係る本体記憶部の記憶領域の構成を示す図である。
【図４】本発明の実施の形態に係る基地局の起動動作を示すフローチャートである。
【図５】本発明の実施の形態に係る基地局でのファイルのダウンロード動作を示すフローチャートである。
【図６】本発明の実施の形態に係る基地局での本体−ＦＷの書き込み処理を示すフローチャートである。
【図７】本発明の実施の形態に係る基地局でのＧＰＳ−ＦＷの書き込み処理を示すフローチャートである。
【図８】本発明の実施の形態の変形例に係る本体記憶部の記憶領域の構成を示す図である。
【発明を実施するための形態】
【００１９】
図１は本発明の実施の形態に係る電子システム１００の構成を示す図である。本実施の形態に係る電子システム１００は、例えば、ＷｉＭＡＸに準拠した無線通信システムである。以後、電子システム１００を「無線通信システム１００」と呼ぶ。
【００２０】
図１に示されるように、無線通信システム１００は、それぞれが通信端末２とＯＦＤＭＡ方式で通信する複数の基地局１と、「ＡＳＮ（Access Service Network）ゲートウェイ」と呼ばれるゲートウェイ装置３と、サーバ装置４とを備えている。ゲートウェイ装置３は、複数の基地局１を制御する。またゲートウェイ装置３は、ネットワーク１５０を通じてサーバ装置４と接続されている。各基地局１は、ゲートウェイ装置３を通じて、他の基地局１及びサーバ装置４と通信することができる。また各基地局１には、基地局１を保守する際に使用される保守端末５が接続される。サーバ装置４は、各基地局１がダウンロードするダウンロードファイル２００を記憶している。このダウンロードファイル２００については後で詳細に説明する。
【００２１】
図２は各基地局１の構成を示す図である。図２に示されるように、基地局１は、通信端末２と無線通信する無線通信部１０と、ゲートウェイ装置３と通信するネットワーク通信部１１と、ＧＰＳ（Global Positioning System）受信機として機能するＧＰＳモジュール１２と、本体記憶部１３と、保守端末５と通信する保守端末通信部１４と、制御部１５とを備えている。
【００２２】
無線通信部１０は、アンテナ１０ａで受信する、通信端末２からのＯＦＤＭ（Orthogonal Frequency Division Multiplexing）信号に対して、増幅処理及びダウンコンバート等を行って、ベースバンドのＯＦＤＭ信号を制御部１５に出力する。また、無線通信部１０は、制御部１５で生成される、ベースバンドの送信用のＯＦＤＭ信号に対して、アップコンバート及び増幅処理などを行い、搬送帯域のＯＦＤＭ信号を生成してアンテナ１０ａに入力する。これにより、アンテナ１０ａからはＯＦＤＭ信号が無線送信される。
【００２３】
本体記憶部１３は、例えばフラッシュＲＯＭであって、複数種類のプログラム等、様々なデータを記憶する。本体記憶部１３が記憶する複数種類のプログラムには、制御部１５が実行するファームウェア（以後、「本体−ＦＷ」と呼ぶ）と、ＧＰＳモジュール１２が実行するファームウェア（以後、「ＧＰＳ−ＦＷ」と呼ぶ）とが含まれている。
【００２４】
ネットワーク通信部１１はゲートウェイ装置３と通信を行う。ネットワーク通信部１１は、ゲートウェイ装置３から受信したデータを制御部１５に出力するとともに、制御部１５からのデータをゲートウェイ装置３に送信する。
【００２５】
ＧＰＳモジュール１２は、ＧＰＳ衛星からの信号をアンテナ１２ａで受信する。ＧＰＳモジュール１２は、アンテナ１２ａでの受信信号に基づいて、自身の位置と現在時刻を算出する。そして、ＧＰＳモジュール１２は、算出した現在時刻に基づいて、自身が属する基地局１が他の基地局１と同期を取るための同期信号（タイミング信号）を生成して制御部１５に出力する。各基地局１において、制御部１５がこの同期信号に基づいて動作することによって、複数の基地局１は互いに同期して動作することができる。
【００２６】
さらに、ＧＰＳモジュール１２は、ＧＰＳ衛星からの信号が受信できず、自身で同期信号を生成できない場合には、ネットワーク１５０に接続されたＧＰＳモジュール（図１では図示せず）に対して同期信号を送信することを要求する送信要求信号を制御部１５を通じてネットワーク通信部１１に出力する。この送信要求信号は、ネットワーク通信部１１から、ゲートウェイ装置３を通じて、ネットワーク１５０に接続されたＧＰＳモジュールに入力される。送信要求信号を受信したＧＰＳモジュールは、自装置内で生成する同期信号を、ゲートウェイ装置３を通じて、当該送信要求信号を送信した基地局１のネットワーク通信部１１に出力する。ネットワーク通信部１１は、受信した同期信号を制御部１５に出力する。これにより、基地局１では、自装置のＧＰＳモジュール１２において同期信号が生成されない場合でも、ネットワーク１５０に接続された他のＧＰＳモジュールから同期信号を取得することができる。
【００２７】
このようなＧＰＳモジュール１２の機能は、当該ＧＰＳモジュール１２が有するＣＰＵ１２ｂが、当該ＧＰＳモジュール１２が有するＧＰＳ記憶部１２ｃ内のＧＰＳ−ＦＷを実行することによって実現される。つまり、ＧＰＳ−ＦＷは、ＧＰＳモジュール１２の機能を実現するためのプログラムである。ＧＰＳ記憶部１２ｃは例えばフラッシュＲＯＭである。なお後述するように、基地局１の起動時に、本体記憶部１３内のＧＰＳ−ＦＷが、ＧＰＳ記憶部１２ｃ内に書き込まれる。
【００２８】
保守端末通信部１４は、自身が属する基地局１に保守端末５が接続されると、当該保守端末５と通信する。保守端末通信部１４は、保守端末５からのデータを制御部１５に出力するとともに、制御部１５からのデータを保守端末５に出力する。
【００２９】
制御部１５は、無線通信部１０、ネットワーク通信部１１、ＧＰＳモジュール１２及び保守端末通信部１４を制御して、基地局１全体の動作を統括的に管理する。制御部１５は、無線通信部１０から出力されるＯＦＤＭ信号に対してＦＦＴ（Fast Fourier Transform）処理等を行って、当該ＯＦＤＭ信号に含まれるデータを取得する。そして、制御部１５は、取得したデータのうち、ゲートウェイ装置３向けのデータをネットワーク通信部１１に出力する。また、制御部１５は、ネットワーク通信部１１からのデータ等に基づいて、通信端末２に向けたベースバンドのＯＦＤＭ信号を生成し、それを無線通信部１０に出力する。さらに、制御部１５は、保守端末５向けのデータを生成して保守端末通信部１４に出力する。
【００３０】
このような制御部１５の機能は、当該制御部１５が有するＣＰＵ１５ａが、本体記憶部１３内の本体−ＦＷを実行することによって実現される。つまり、本体−ＦＷは、基地局１がＷｉＭＡＸに基づいて通信端末２及びゲートウェイ装置３と通信する機能、基地局１が保守端末５と通信する機能及びＧＰＳモジュール１２を制御する機能を実現するためのプログラムである。以後、ＧＰＳ−ＦＷを実行する、ＧＰＳモジュール１２のＣＰＵ１２ｂと、本体−ＦＷを実行する、制御部１５のＣＰＵ１５ａとをまとめて「プログラム実行部」と呼ぶことがある。
【００３１】
本実施の形態では、本体記憶部１３の記憶領域１３０が、記憶するデータの種類に応じて複数の領域に区分されている。図３はその様子を示す図である。図３に示されるように、記憶領域１３０は、プログラムを記憶する第１プログラム領域１３１及び第２プログラム領域１３２と、ブート領域１３３と、ブートローダ領域１３４とに区分されている。このように、本実施の形態に係る記憶領域１３０では、プログラムを記憶するプログラム領域が２面化されている。
【００３２】
第１プログラム領域１３１及び第２プログラム領域１３２のそれぞれには、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が記憶されている。第１プログラム領域１３１及び第２プログラム領域１３２の一方は、それが記憶するファームウェア（プログラム）が実行される実行対象領域として使用される。そして、第１プログラム領域１３１及び第２プログラム領域１３２の他方は、更新後のファームウェアを基地局１が受信した場合に、その更新後のファームウェアが書き込まれる書き込み対象領域として使用される。実行対象領域のプログラム領域には、最新バージョンの本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が記憶されており、書き込み対象領域のプログラム領域には、１つ前のバージョンの本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が記憶されている。
【００３３】
ここで、本実施の形態では、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の少なくとも一方のファームウェアが更新（バージョンアップ）されると、更新後の当該少なくとも一方のファームウェアを含むダウンロードファイル２００が生成されてサーバ装置４に記憶される。
【００３４】
具体的には、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の両方が更新された場合には、更新後の本体−ＦＷ３００が記述されたプログラムファイルと、更新後の本体−ＦＷ３００のチェックサムが記述されたチェックサムファイルと、更新後のＧＰＳ−ＦＷ３０１が記述されたプログラムファイルと、更新後のＧＰＳ−ＦＷ３０１のチェックサムが記述されたチェックサムファイルとが１つのファイルにまとめられつつ圧縮されて、１つの圧縮ファイルが生成される。そして、この１つの圧縮ファイルがダウンロードファイル２００としてサーバ装置４に記憶される。
【００３５】
本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のうち本体−ＦＷ３００だけが更新された場合には、更新後の本体−ＦＷ３００が記述されたプログラムファイルと、更新後の本体−ＦＷ３００のチェックサムが記述されたチェックサムファイルとが１つのファイルにまとめられつつ圧縮され、１つの圧縮ファイルが生成される。そして、この１つの圧縮ファイルがダウンロードファイル２００としてサーバ装置４に記憶される。
【００３６】
本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のうちＧＰＳ−ＦＷ３０１だけが更新された場合には、更新後のＧＰＳ−ＦＷ３０１が記述されたプログラムファイルと、更新後のＧＰＳ−ＦＷ３０１のチェックサムが記述されたチェックサムファイルとが１つのファイルにまとめられつつ圧縮され、１つの圧縮ファイルが生成される。そして、この圧縮ファイルがダウンロードファイル２００としてサーバ装置４に記憶される。
【００３７】
このように、サーバ装置４が記憶するダウンロードファイル２００に含まれるプログラムファイルは、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のうちのどのファームウェアが更新されるかによって異なるようになっている。基地局１は、ゲートウェイ装置３を通じてサーバ装置４からダウンロードファイル２００をダウンロードすることによって、更新後のファームウェアを受信する。以後、本体−ＦＷ３００が記述されたプログラムファイルを「本体−ＦＷファイル」と呼び、本体−ＦＷ３００のチェックサムが記述されたチェックサムファイルを「本体−チェックサムファイル」と呼ぶことがある。また、ＧＰＳ−ＦＷ３０１が記述されたプログラムファイルを「ＧＰＳ−ＦＷファイル」と呼び、ＧＰＳ−ＦＷ３０１のチェックサムが記述されたチェックサムファイルを「ＧＰＳ−チェックサムファイル」と呼ぶことがある。
【００３８】
なお、本実施の形態では、ダウンロードファイル２００を圧縮ファイルとしているが、圧縮ファイルとしなくても良い。つまり、本体−ＦＷファイル、本体−チェックサムファイル、ＧＰＳ−ＦＷファイル及びＧＰＳ−チェックサムファイルを単に１つのファイルにまとめたものをダウンロードファイル２００としても良い。また、本体−ＦＷファイル及び本体−チェックサムファイルを単に１つのファイルにまとめたものをダウンロードファイル２００としても良い。また、ＧＰＳ−ＦＷファイル及びＧＰＳ−チェックサムファイルを単に１つのファイルにまとめたものをダウンロードファイル２００としても良い。
【００３９】
ブート領域１３３は、特定情報４００及びバージョン情報４０１を記憶している。特定情報４００は、実行対象領域として使用されるプログラム領域と書き込み対象領域として使用されるプログラム領域とを特定するための情報である。本実施の形態では、特定情報４００には、実行対象領域のプログラム領域を示す情報と、書き込み対象領域のプログラム領域を示す情報とが別々に含まれている。
【００４０】
なお、特定情報４００には、実行対象領域のプログラム領域を示す情報と、書き込み対象領域のプログラム領域を示す情報とのどちらか一方だけを含めても良い。第１プログラム領域１３１及び第２プログラム領域１３２において、実行対象領域のプログラム領域が特定できれば、残りのプログラム領域が書き込み対象領域となる。また、第１プログラム領域１３１及び第２プログラム領域１３２において、書き込み対象領域のプログラム領域が特定できれば、残りのプログラム領域が実行対象領域となる。したがって、特定情報４００には、実行対象領域のプログラム領域を示す情報と、書き込み対象領域のプログラム領域を示す情報とのどちらか一方が含まれていれば、特定情報４００から、実行対象領域のプログラム領域と書き込み対象領域のプログラム領域とを特定することができる。
【００４１】
バージョン情報４０１は、実行対象領域に記憶されている本体−ＦＷ３００のプログラムバージョンと、実行対象領域に記憶されているＧＰＳ−ＦＷ３０１のプログラムバージョンとを示している。つまり、バージョン情報４０１は、基地局１が現在実行している本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のプログラムバージョンを示している。
【００４２】
ブートローダ領域１３４はブートローダ５００を記憶している。このブートローダ５００は、基地局１が起動した際に最初に実行されるプログラムである。
【００４３】
＜基地局の起動時における動作＞
次に基地局１における起動時の動作について説明する。図４は当該動作を示すフローチャートである。基地局１に対して電源が投入されて基地局１が起動すると、あるいは、電源が供給されている基地局１の動作が初期化されて当該基地局１が再起動すると、図４に示されるように、ステップｓ１において、制御部１５は、ＣＰＵ１５ａによってブートローダ領域１３４のブートローダ５００を実行する。ブートローダ５００には、ブート領域１３３のアドレス等が記述されていることから、次にステップｓ２において、制御部１５は、ブート領域１３３にアクセスして、ブート領域１３３から特定情報４００を読み出す。そして、制御部１５は、特定情報４００から、実行対象領域のプログラム領域と、書き込み対象領域のプログラム領域とを特定する。このように、制御部１５は、実行対象領域のプログラム領域と、書き込み対象領域のプログラム領域とを特定する特定部として機能する。
【００４４】
次にステップｓ３において、制御部１５は、ＣＰＵ１５ａによって、実行対象領域のプログラム領域に記憶されている本体−ＦＷ３００を実行する。そしてステップｓ４において、制御部１５は、ＧＰＳモジュール１２の動作モードを、通常操作モードからモニタモードに変更する。ここで、通常操作モードとは、ＧＰＳモジュール１２の位置及び現在時刻の算出、同期信号の生成など、ＧＰＳモジュール１２の本来の機能の実行する動作モードである。一方で、モニタモードとは、ＧＰＳモジュール１２の本来の機能を停止して、ＧＰＳモジュール１２のＧＰＳ記憶部１２ｃに対して本体記憶部１３内のＧＰＳ−ＦＷ３０１を書き込むための動作モードである。
【００４５】
次にステップｓ５において、制御部１５はＧＰＳモジュール１２を制御して、ＧＰＳモジュール１２に、ＧＰＳ記憶部１２ｃ内のＧＰＳ−ＦＷ３０１を消去させる。そしてステップｓ６において、制御部１５は、本体記憶部１３の実行対象領域のプログラム領域からＧＰＳ−ＦＷ３０１を読み出して、読み出したＧＰＳ−ＦＷ３０１をＧＰＳモジュール１２にＧＰＳ記憶部１２ｃ内に書き込ませる。
【００４６】
次にステップｓ７において、制御部１５は、ＧＰＳモジュール１２の動作モードを、モニタモードから通常操作モードに戻す。そうすると、ＧＰＳモジュール１２は再起動を行い、ステップｓ８において、ＣＰＵ１２ｂがＧＰＳ記憶部１２ｃ内のＧＰＳ−ＦＷ３０１を実行する。以後、基地局１は通信端末２との無線通信を開始する。
【００４７】
＜基地局における、サーバ装置内のダウンロードファイルのダウンロード＞
次に、サーバ装置４において本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の少なくとも一方が更新（バージョンアップ）された場合、基地局１が、更新後のファームウェアを含むダウンロードファイル２００をサーバ装置４からダウンロードする際の当該基地局１の動作について説明する。図５は基地局１の当該動作を示すフローチャートである。
【００４８】
基地局１にサーバ装置４内のダウンロードファイル２００をダウンロードさせるためには、まず、基地局１に対して保守端末５が接続される。この保守端末５は、作業員によって基地局１に接続される。作業員が保守端末５に対して所定の操作を行うと、保守端末５はＯＯＳ（out of service）コマンドを基地局１に送信する。基地局１では、保守端末通信部１４がＯＯＳコマンドを受信すると、制御部１５は、送信用のＯＦＤＭ信号の生成を停止する。これにより、基地局１は、アンテナ１０ａから電波が送信することを停止し、停波状態となる。
【００４９】
その後、作業員が保守端末５に対して所定の操作を行うと、保守端末５はＦＷダウンロードコマンドを基地局１に送信する。このＦＷダウンロードコマンドには、サーバ装置４のＩＰ（Internet Protocol）アドレス、サーバ装置４にアクセスする際に必要なＩＤ（identification）及びパスワード、ダウンロードファイル２００が存在するディレクトリの名称、ダウンロードファイル２００のファイル名などが含まれている。
【００５０】
図５に示されるように、基地局１では、ステップｓ１１において、保守端末通信部１４がＦＷダウンロードコマンドを受信すると、ステップｓ１２において、ネットワーク通信部１１は、制御部１５による制御によって、ＦＷダウンロードコマンドに基づいて、ゲートウェイ装置３を通じてサーバ装置４内のダウンロードファイル２００にアクセスし、当該ダウンロードファイル２００をダウンロードする。ネットワーク通信部１１が受信したダウンロードファイル２００は制御部１５に入力される。
【００５１】
次にステップｓ１３において、制御部１５は、圧縮ファイルであるダウンロードファイル２００を解凍する。そしてステップｓ１４において、制御部１５は、ダウンロードファイル２００に本体−ＦＷファイルが含まれているか否かを確認する。制御部１５は、ダウンロードファイル２００に本体−ＦＷファイルが含まれていると、ステップｓ１５において、本体−ＦＷファイルに係る本体−ＦＷ３００のチェックサムを算出し、当該チェックサムと、本体−ＦＷファイルと一緒に受信した本体−チェックサムファイルに係るチェックサムとを比較する。制御部１５は、両チェックサムが一致するとステップｓ１６を実行し、両チェックサムが一致しない場合にはステップｓ１７を実行する。
【００５２】
ステップｓ１６において、制御部１５は、本体−ＦＷファイルに記述されている本体−ＦＷ３００を、本体記憶部１３の記憶領域１３０における書き込み対象領域のプログラム領域に書き込む。制御部１５は、ブート領域１３３の特定情報４００を参照することによって、第１プログラム領域１３１及び第２プログラム領域１３２のどちらが書き込み対象領域となっているかを特定できる。その後、制御部１５はステップｓ１７を実行する。制御部１５は、ステップｓ１４において、ダウンロードファイル２００に本体−ＦＷファイルが含まれていないと判断した場合には、ステップｓ１７を実行する。
【００５３】
ステップｓ１７では、制御部１５は、ダウンロードファイル２００にＧＰＳ−ＦＷファイルが含まれているか否かを確認する。制御部１５は、ダウンロードファイル２００にＧＰＳ−ＦＷファイルが含まれていると、ステップｓ１８において、ＧＰＳ−ＦＷファイルに係るＧＰＳ−ＦＷ３０１のチェックサムを算出し、当該チェックサムと、ＧＰＳ−ＦＷファイルと一緒に受信したＧＰＳ−チェックサムファイルに係るチェックサムとを比較する。制御部１５は、両チェックサムが一致するとステップｓ１９を実行し、両チェックサムが一致しない場合にはステップｓ２０を実行する。
【００５４】
ステップｓ１９において、制御部１５は、ＧＰＳ−ＦＷファイルに記述されているＧＰＳ−ＦＷ３０１を書き込み対象領域のプログラム領域に書き込む。その後、制御部１５はステップｓ２０を実行する。制御部１５は、ステップｓ１７において、ダウンロードファイル２００にＧＰＳ−ＦＷファイルが含まれていないと判断した場合には、ステップｓ２０を実行する。
【００５５】
ステップｓ２０において、制御部１５は、受信したダウンロードファイル２００に含まれている更新後のファームウェアのすべてについての書き込み対象領域のプログラム領域に対する書き込みが成功しているかを判断する。制御部１５は、ステップｓ１６を実行する際には、ステップｓ１６においてベリファイ処理を行うことによって、更新後の本体−ＦＷ３００の書き込みが成功したかを確認している。また、制御部１５は、ステップｓ１９を実行する際には、ステップｓ１９においてベリファイ処理を行うことによって、更新後のＧＰＳ−ＦＷ３０１の書き込みが成功しているかを確認している。なお、ステップｓ１５において、２つのチェックサムが一致しない場合は、本体−ＦＷ３００の書き込みが失敗したものとして扱う。また、ステップｓ１８において、２つのチェックサムが一致しない場合は、ＧＰＳ−ＦＷ３０１の書き込みが失敗したものとして扱う。
【００５６】
制御部１５は、ダウンロードファイル２００に含まれている更新後のファームウェアのすべてについての書き込みが成功していると判断すると、ステップｓ２１において、書き込み対象領域のプログラム領域と、実行対象領域のプログラム領域とを入れ替えるように特定情報４００を書き換える。このように、制御部１５は、特定情報４００を書き換える書き換え部として機能する。これにより、実行対象領域のプログラム領域には更新後のファームウェアが記憶されていることになり、書き込み対象領域のプログラム領域には更新前の古いファームウェアが記憶されていることなる。よって、基地局１では、記憶領域１３０内のファームウェアがあらためて実行される際には、更新後のファームウェアが実行されるようになる。また、基地局１では、更新後のファームウェアをあらためて受信すると、古いバージョンのファームウェアが記憶されているプログラム領域に対して更新後のファームウェアが書き込まれることになる。
【００５７】
またステップｓ２１では、ブート領域１３３のバージョン情報４０１が最新の情報に書き換えられる。これにより、バージョン情報４０１が更新後のファームウェアのプログラムバージョンを示すようにする。なお、後述するように、ステップｓ１６が実行される際には、当該ステップｓ１６において更新後の本体−ＦＷ３００のプログラムバージョンが取得され、ステップｓ１９が実行される際には、当該ステップｓ１９において更新後のＧＰＳ−ＦＷ３０１のプログラムバージョンが取得される。
【００５８】
ステップｓ２１が実行されると、ステップｓ２２において、制御部１５は、保守端末通信部１４から保守端末５に対してダウンロード成功通知を行う。保守端末５は、ダウンロード成功通知を受け取ると、その表示画面に、基地局１でのダウンロードファイル２００のダウンロードが成功した旨を表示する。
【００５９】
なお、ダウンロードファイル２００に本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の両方が含まれている場合には、当該両方についての書き込みが成功していればステップｓ２１，ｓ２２が実行される。また、ダウンロードファイル２００に本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の一方だけしか含まれていない場合には、当該一方についての書き込みが成功していればステップｓ２１，ｓ２２が実行される。
【００６０】
ステップｓ２０において、制御部１５は、受信したダウンロードファイル２００に含まれている更新後のファームウェアの少なくとも１つについて、書き込み対象領域のプログラム領域に対する書き込みが失敗したと判断すると、特定情報４００は書き換えずに、ステップｓ２３を実行する。ステップｓ２３では、制御部１５は、保守端末通信部１４から保守端末５に対してダウンロード失敗通知を行う。保守端末５は、ダウンロード失敗通知を受け取ると、その表示画面に、基地局１でのダウンロードファイル２００のダウンロードが失敗した旨を表示する。
【００６１】
なお、ダウンロードファイル２００に本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の両方が含まれている場合には、それらの少なくとも一方の書き込みが失敗していればステップｓ２３が実行される。また、ダウンロードファイル２００に本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の一方だけしか含まれていない場合には、当該一方についての書き込みが失敗していればステップｓ２３が実行される。
【００６２】
ステップｓ２２あるいはステップｓ２３の後に、保守端末通信部１４がステップｓ２４において保守端末５からサービス再開コマンドを受信すると、基地局１は、ステップｓ２５おいて再起動を行う。以後、基地局１では上述の図４に示されるステップｓ１〜ｓ８が実行される。
【００６３】
以上のように基地局１が動作することによって、基地局１では、サーバ装置４から更新後のファームウェアを受信し、当該更新後のファームウェアについての一方のプログラム領域に対する書き込みが成功すると、当該更新後のファームウェアがプログラム実行部によって実行される。一方で、基地局１では、一方のプログラム領域に対する更新後のファームウェアの書き込みが失敗した場合には、特定情報４００が書き換えられないことから、他方のプログラム領域に記憶されている更新前のファームウェアがプログラム実行部によって実行される。
【００６４】
＜更新後のファーウェアの書き込み処理＞
次にステップｓ１６の本体−ＦＷ３００の書き込み処理及びステップｓ１９のＧＰＳ−ＦＷ３０１の書き込み処理について詳細に説明する。図６はステップｓ１６の本体−ＦＷ３００の書き込み処理を示すフローチャートであって、図７はステップｓ１９のＧＰＳ−ＦＷ３０１の書き込み処理を示すフローチャートである。
【００６５】
図６に示されるように、本体−ＦＷ３００の書き込み処理では、まずステップｓ１６１において、制御部１５は、受信した本体−ＦＷファイルのファイルフォーマットを確認する。具体的には、制御部１５は、本体−ＦＷファイルの拡張子、本体−ＦＷ３００に記述されている当該本体−ＦＷ３００のプログラムバージョン、本体−ＦＷ３００に記述されているベースアドレスを確認する。
【００６６】
次にステップｓ１６２において、制御部１５は、ステップｓ１６１で確認した拡張子に基づいて、本体−ＦＷファイルのファイルフォーマットがバイナリ形式かを判断する。制御部１５は、本体−ＦＷファイルのファイルフォーマットがバイナリ形式で無い場合、例えばＳ−Ｒｅｃｏｒｄ形式の場合には、本体−ＦＷファイルのファイルフォーマットをバイナリ形式に変換する。
【００６７】
次にステップｓ１６３において、制御部１５は、ブート領域１３３のバージョン情報４０１を参照して、現在実行されている本体−ＦＷ３００のプログラムバージョンを取得する。そして、制御部１５は、現在実行されている本体−ＦＷ３００のプログラムバージョンと、ステップｓ１６１で確認した、更新後の本体−ＦＷ３００のプログラムバージョンとを保守端末通信部１４を通じて保守端末５に通知する。保守端末５は、通知された２つのプログラムバージョンを表示する。
【００６８】
次にステップｓ１６４において、制御部１５は、書き込み領域のプログラム領域に記憶されている本体−ＦＷ３００を消去する。その後、ステップｓ１６５において、制御部１５は、書き込み対象領域のプログラム領域に対して、受信した更新後の本体−ＦＷ３００、つまり新バージョンの本体−ＦＷ３００を書き込む。具体的には、制御部１５は、受信した更新後の本体−ＦＷ３００において、ステップｓ１６１で確認したベースアドレス以降のプログラムを書き込み対象領域のプログラム領域に書き込む。このとき、ベリファイ処理を行って、本体−ＦＷ３００の書き込みが成功した否かを判断する。これにより、本体−ＦＷ３００の書き込み処理が終了する。
【００６９】
次にＧＰＳ−ＦＷ３０１の書き込み処理について説明する。図７に示されるように、ＧＰＳ−ＦＷの書き込み処理では、まずステップｓ１９１において、制御部１５は、受信したＧＰＳ−ＦＷファイルのファイルフォーマットを確認する。具体的には、制御部１５は、ＧＰＳ−ＦＷファイルの拡張子、ＧＰＳ−ＦＷ３０１に記述されている当該ＧＰＳ−ＦＷ３０１のプログラムバージョン、ＧＰＳ−ＦＷ３０１に記述されているベースアドレスを確認する。
【００７０】
次にステップｓ１９２において、制御部１５は、ステップｓ１９１で確認した拡張子に基づいて、ＧＰＳ−ＦＷファイルのファイルフォーマットがバイナリ形式かを判断する。制御部１５は、ＧＰＳ−ＦＷファイルのファイルフォーマットがバイナリ形式で無い場合には、ＧＰＳ−ＦＷファイルのファイルフォーマットをバイナリ形式に変換する。
【００７１】
次にステップｓ１９３において、制御部１５は、ブート領域１３３のバージョン情報４０１を参照して、現在実行されているＧＰＳ−ＦＷ３０１のプログラムバージョンを取得する。そして、制御部１５は、現在実行されているＧＰＳ−ＦＷ３０１のプログラムバージョンと、ステップｓ１９１で確認した、更新後のＧＰＳ−ＦＷ３０１のプログラムバージョンとを保守端末通信部１４を通じて保守端末５に通知する。保守端末５は、通知された２つのプログラムバージョンを表示する。
【００７２】
次にステップｓ１９４において、制御部１５は、書き込み領域のプログラム領域に記憶されているＧＰＳ−ＦＷ３０１を消去する。その後、ステップｓ１９５において、制御部１５は、書き込み対象領域のプログラム領域に対して、受信した更新後のＧＰＳ−ＦＷ３０１、つまり新バージョンのＧＰＳ−ＦＷ３０１を書き込む。具体的には、制御部１５は、受信した更新後のＧＰＳ−ＦＷ３０１において、ステップｓ１９１で確認したベースアドレス以降のプログラムを書き込み対象領域のプログラム領域に書き込む。このとき、ベリファイ処理を行って、ＧＰＳ−ＦＷ３０１の書き込みが成功した否かを判断する。これにより、ＧＰＳ−ＦＷ３０１の書き込み処理が終了する。
【００７３】
以上のように、本実施の形態では、本体記憶部１３にプログラムを書き込む書き込み部として機能する制御部１５が、更新後の本体−ＦＷや更新後のＧＰＳ−ＦＷなどの更新後のプログラムについて、一方のプログラム領域に対する書き込みに失敗した場合には、プログラム実行部によって、他方のプログラム領域が記憶する更新前のプログラムが実行される。言い換えれば、制御部１５が、新たに実行すべきプログラムについて、一方のプログラム領域に対する書き込みに失敗した場合には、プログラム実行部によって、他方のプログラム領域が記憶するプログラムが実行される。そのため、本体記憶部１３に対する、新たに実行すべきプログラムの書き込みに失敗した場合であっても、プログラムを確実に実行できる。
【００７４】
また、本実施の形態では、更新後の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１、つまり新たに実行すべき本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が１つのダウンロードファイル２００にまとめられ、そのダウンロードファイル２００が基地局１に入力される。
【００７５】
これに対して、本体−ＦＷ３００とＧＰＳ−ＦＷ３０１とを別々に基地局１に入力する場合には、保守端末５を操作する作業員のミスによって、一方のファーウェアは更新後のものが基地局１に入力され、他方のファームウェアは更新前の古いものが基地局１に入力される可能性が高くなる。つまり、バージョンの組み合わせが不適切な複数種類のプログラムが基地局１に入力される可能性が高くなる。
【００７６】
本実施の形態のように、更新後の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１を１つのファイルにまとめた状態で基地局１に入力することによって、バージョンの組み合わせが不適切な本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が基地局１に入力されることを抑制することができる。よって、使用される複数種類のプログラムのバージョンの組み合わせが不適切であるために、基地局１が誤動作したり、十分な性能を発揮できなくなることを抑制できる。
【００７７】
また、本実施の形態では、更新後の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の少なくとも１つについて、書き込み対象領域のプログラム領域に対する書き込みに失敗した場合には、実行対象領域のプログラム領域が記憶する更新前の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が実行される。
【００７８】
これに対して、更新後の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のどちらか一方について、書き込み対象領域のプログラム領域に対する書き込みに成功した場合に、書き込み対象領域のプログラム領域に記憶されている、書き込みが成功した更新後の一方のファームウェアと、実行対象領域のプログラム領域に記憶されている、更新前の他方のファームウェアとを実行すると、バージョンの組み合わせが不適切な本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１が実行されることになる。その結果、基地局１が誤動作したり、十分な性能を発揮できなくなる。
【００７９】
本実施の形態のように、更新後の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の少なくとも１つについて、書き込み対象領域のプログラム領域に対する書き込みに失敗した場合には、実行対象領域のプログラム領域が記憶する更新前の本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１を実行することによって、使用される本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１について、適切なバージョンの組み合わせを維持することができる。よって、使用される複数種類のプログラムのバージョンの組み合わせが不適切であるために、基地局１が誤動作したり、十分な性能を発揮できなくなることを抑制できる。
【００８０】
＜変形例：特定情報のバックアップ＞
上記の実施の形態では、本体−ＦＷ３００やＧＰＳ−ＦＷ３０１などのファームウェアがプログラム実行部で実行される場合には、まず制御部１５が、ブート領域１３３から特定情報４００を読み出し、読み出した特定情報４００によって実行対象領域のプログラム領域を特定する（図４のステップｓ２）。その後、プログラム実行部が、制御部１５が特定した実行対象領域のプログラム領域に記憶されているファームウェアを実行する（図４のステップｓ３，ｓ８）。したがって、制御部１５がブート領域１３３から特定情報４００を読み出せない場合には、プログラム実行部は、第１プログラム領域１３１及び第２プログラム領域１３２のどちらの領域のファームウェアを実行して良いのか判断できない。ここで、ブート領域１３３から特定情報４００が読み出せないことには、何らかの原因で特定情報４００が破壊されているためにブート領域１３３から正しい特定情報４００が読み出せない場合と、ブート領域１３３が物理的に破壊されているために当該ブート領域１３３から特定情報４００が全く読み出せない場合の両方が含まれる。
【００８１】
制御部１５がブート領域１３３から特定情報４００が読み出せずに、プログラム実行部が第１プログラム領域１３１及び第２プログラム領域１３２のどちらの領域のファームウェアを実行して良いのか判断できない場合には、実行対象領域ではないプログラム領域、つまり書き込み対象領域のプログラム領域内のファームウェアをプログラム実行部が実行する可能性がある。書き込み対象領域のプログラム領域には、古いバージョンのファームウェアが記憶されていることから、プログラム実行部が、書き込み対象領域のプログラム領域のファームウェアを実行すると、基地局１は十分な性能を発揮できなくなる。
【００８２】
そこで、本変形例では、ブート領域１３３の特定情報４００をバックアップするためのバックアップブート領域を設けて、このバックアップブート領域にも特定情報４００を記憶する。これにより、ブート領域１３３から特定情報４００が読み出せない場合であっても、バックアップブート領域の特定情報４００を使用して、実行対象領域のプログラム領域を特定することができる。よって、プログラム実行部は最新のファームウェアを確実に実行できる。以下に、本変形例に係る基地局１について詳細に説明する。
【００８３】
図８は本変形例に係る基地局１が有する本体記憶部１３の記憶領域１３０の構成を示す図である。図８に示されるように、記憶領域１３０には、ブート領域１３３が記憶する特定情報４００及びバージョン情報４０１を記憶するバックアップブート領域１３５が設けられている。
【００８４】
制御部１５は、上述のステップｓ２やステップｓ１６などにおいて、特定情報４００を取得する場合には、まずブート領域１３３に対して特定情報４００を読み出す処理を行う。制御部１５は、破壊されている特定情報４００をブート領域１３３から読み出した場合には、ブート領域１３３内の破壊されている特定情報４００を消去する。そして、制御部１５は、バックアップブート領域１３５から特定情報４００を読み出して、それをブート領域１３３に書き込む。その後、制御部１５は、ブート領域１３３からあらためて特定情報４００を読み出して、実行対象領域のプログラム領域及び書き込み対象領域のプログラム領域を特定する。一方で、制御部１５は、ブート領域１３３から特定情報４００が全く読み出せない場合には、バックアップブート領域１３５から特定情報４００を読み出して、実行対象領域のプログラム領域及び書き込み対象領域のプログラム領域を特定する。
【００８５】
なお、制御部１５がバージョン情報４０１を取得する場合の当該制御部１５の動作についても同様である。
【００８６】
また、制御部１５は、上述のステップｓ２１において、ブート領域１３３中の特定情報４００及びバージョン情報４０１を書き換えると、書き換え後の特定情報４００及びバージョン情報４０１でバックアップブート領域１３５内の特定情報４００及びバージョン情報４０１を更新する。これにより、ブート領域１３３内の情報が書き換えられると、書き換え後の当該情報がバックアップブート領域１３５にバックアップされる。
【００８７】
このように、本変形例に係る基地局１では、ブート領域１３３から特定情報４００が読み出せない場合には、バックアップブート領域１３５が記憶する特定情報４００を使用して実行対象領域のプログラム領域を特定するため、第１プログラム領域１３１及び第２プログラム領域１３２のうち現在の実行対象領域を確実に特定することができる。よって、最新のファームウェアを確実に実行することができる。
【００８８】
＜その他の変形例＞
上述の例では、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のどちらか一方だけが更新された場合には、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１のうち更新後の一方のファームウェアだけを含むダウンロードファイル２００が形成されていたが、更新後の一方のファームウェアと、更新されていない他方のファームウェア、つまり基地局１で現在実行されているバージョンの他方のファームウェアとを含むダウンロードファイル２００を生成しても良い。
【００８９】
また、上記の例では、本発明に係る電子システムの実施の形態として図１のような無線通信システム１００を説明し、本発明に係る電子機器の実施の形態として図２のような基地局１を説明したが、本発明に係る電子システム及び電子機器の実施の形態としては、他の電子システム及び電子機器であっても良い。
【００９０】
また、上記の例では、本発明に係る電子機器の実施の形態として、本体−ＦＷ３００及びＧＰＳ−ＦＷ３０１の２種類のプログラムを実行する電子機器について説明したが、本発明に係る電子機器の実施の形態としては、３種類以上のプログラムを実行する電子機器であっても良い。
【符号の説明】
【００９１】
１  基地局
４  サーバ装置
１１  ネットワーク通信部
１２ｂ，１５ａ  ＣＰＵ
１３  本体記憶部
１５  制御部
１３１  第１プログラム領域
１３２  第２プログラム領域
１３３  ブート領域
１３５  バックアップブート領域
２００  ダウンロードファイル
３００  本体−ＦＷ
３０１  ＧＰＳ−ＦＷ
４００  特定情報
【図１】
0005611648.tif 000002
【図２】
0005611648.tif 000003
【図３】
0005611648.tif 000004
【図４】
0005611648.tif 000005
【図５】
0005611648.tif 000006
【図６】
0005611648.tif 000007
【図７】
0005611648.tif 000008
【図８】
0005611648.tif 000009