説明

電子機器、航法装置、バージョンアッププログラム及びバージョンアップ方法

【課題】内部記憶媒体に記憶されるプログラムのプログラムファイルが破損等している場合でも、外部記憶媒体を用いてプログラムのバージョンアップを実行できる電子機器を提供する。
【解決手段】プロッタ装置10は、記憶装置22と、CPUと、モード切替回路と、を備える。記憶装置22は、本体の内部に配置される。CPUは、通常の起動時は、記憶装置22からメインプログラムを読み込み、実行する。モード切替回路は、起動時に、本体の外部から接続されるメモリカード30を用いてメインプログラムのバージョンアップを行う内容の切替信号が入力された場合は、CPUが、メモリカード30に記憶されるバージョンアッププログラムを実行するように、プログラムの読込み先を記憶装置22からメモリカード30に切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主に、電子機器のプログラムのバージョンアップに関するものである。
【背景技術】
【0002】
電子機器本体の内部記憶媒体に記憶されるプログラムをバージョンアップする方法として、バージョンアップを行うための書換データを記憶した外部記憶媒体を前記電子機器に接続してバージョンアップを行う方法が従来から知られている。外部記憶媒体を用いてバージョンアップを行う電子機器を開示するものとして、例えば、特許文献1及び特許文献2がある。
【0003】
特許文献1は、以下のように構成される携帯端末(電子機器)を開示する。即ち、携帯端末は、制御部と、第1の記憶部と、第2の記憶部と、第3の記憶部と、を備える。前記制御部は、自端末の各部を制御する。前記第1の記憶部は、該制御部の動作処理手順が記述されて該制御部によって読み込まれる第1のメインプログラム、及び該第1のメインプログラムの書換えに用いられる書換用プログラムを記憶する。前記第2の記憶部は、前記第1のメインプログラムの書換え時に前記書換用プログラムの展開領域として確保される。前記第3の記憶部は、ユーザが登録したユーザデータが前記第1のメインプログラムの書換えに依存しない固定領域に割り付けられて記憶される。また、前記制御部は、前記第1のメインプログラムの書換え終了時に、前記ユーザデータをクリアの対象外とするように構成にされている。この特許文献1に開示される構成では、メインプログラムを書き換えるためのデータは、治具を介して接続される外部機器から携帯端末にダウンロードされる。
【0004】
特許文献2は、消去書込可能なROMを有するマイクロコンピュータを用いたカメラ(電子機器)において、以下の構成を開示する。即ち、カメラは、1つ又は複数の接点と、判断手段と、モード切替手段と、を備える。前記1つ又は複数の接点は、外部装置の端子と電気的に接触可能に配置される。前記判断手段は、前記外部装置が前記接点に印加した信号から、前記ROMから検査通信プログラムを読み出して検査通信を実行するモードか前記ROMへのプログラム書込の動作を実行するモードかを判断する。前記モード切替手段は、前記判断手段が判断した動作モードに切り替える。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−157789号公報
【特許文献2】特開平9−197464号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1及び特許文献2の何れの構成においても、プログラムのバージョンアップを行うためには、CPUによって実行されるプログラムを内部記憶媒体から呼び出す必要があった。そのため、内部記憶媒体の記憶内容が破損する等して電子機器を適切に起動できない状態では、外部記憶媒体を用いたとしても、プログラムの修復やバージョンアップ処理ができない場合があった。このような場合、電子機器を分解し、専用の機器を用いて内部記憶媒体にプログラムの正しい内容を直接的に書き込まなければ、電子機器を起動させることができない。
【0007】
本発明は、以上の事情に鑑みてなされたものであり、その目的は、内部記憶媒体に記憶されるプログラムのプログラムファイルが破損等している場合でも、外部記憶媒体を用いてプログラムのバージョンアップを実行できる電子機器を提供することにある。
【課題を解決するための手段及び効果】
【0008】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【0009】
本発明の第1の観点によれば、以下のように構成される電子機器が提供される。即ち、電子機器は、内部記憶媒体と、CPUと、切替部と、を備える。前記内部記憶媒体は、本体の内部に配置される。前記CPUは、通常の起動時は、前記内部記憶媒体からプログラムを読み込み、実行する。前記切替部は、起動時に、前記本体の外部から接続される外部記憶媒体を用いて前記プログラムのバージョンアップを行う内容の切替信号が入力された場合は、前記外部記憶媒体に記憶されるバージョンアッププログラムを前記CPUが実行するように、プログラムの読込み先を前記内部記憶媒体から前記外部記憶媒体に切り替える。
【0010】
これにより、内部記憶媒体にバージョンアッププログラムを記憶させていなくても、外部記憶媒体を利用して電子機器のプログラムのバージョンアップを容易に行うことができる。これによって、内部記憶媒体のプログラムが適切に動作しないために電子機器が起動できない場合でも、バージョンアッププログラムによってプログラムを修復できる。
【0011】
前記の電子機器においては、前記CPUは、前記バージョンアップ時に、前記内部記憶媒体に記憶されているデータの内容をバックアップデータとして前記外部記憶媒体に記憶させることが好ましい。
【0012】
これにより、内部記憶媒体のデータのバックアップが自動的に行われるので、バージョンアップによって内部記憶媒体のデータが例えば上書きにより失われた場合でも、外部記憶媒体のデータに基づいて、内部記憶媒体に記憶されていた元のデータを容易に復元できる。
【0013】
前記の電子機器においては、前記CPUは、前記バージョンアップの終了後に、前記バックアップデータの内容を前記内部記憶媒体に記憶させることが好ましい。
【0014】
これにより、バージョンアップによって内部記憶媒体のデータが例えば上書きにより失われた場合でも、外部記憶媒体に退避させていたバックアップデータの内容が内部記憶媒体に書き込まれることになる。従って、特別な作業を行うことなく、データの内容を適切に維持することができる。
【0015】
前記の電子機器においては、以下のように構成されることが好ましい。即ち、電子機器が備える前記CPUは、前記バージョンアップの終了後に、前記バックアップデータの内容と、前記内部記憶媒体のデータの内容と、を比較し、相違がある場合は前記バックアップデータの内容を前記内部記憶媒体に記憶させる更新処理を行う。
【0016】
これにより、データを復元する必要がないときは、内部記憶媒体にデータが書き込まれなくなるので、更新処理を効率化できる。
【0017】
前記の電子機器においては、以下のように構成されることが好ましい。即ち、電子機器は、前記内部記憶媒体へのアクセスを禁止するプロテクト部を備える。前記バージョンアッププログラムが所定の処理をすることによって前記プロテクト部によるプロテクトが解除される。
【0018】
これにより、悪意あるプログラムによって、内部記憶媒体のプログラムが改ざんされたり、内部記憶媒体のデータが読み出されたりする事態を効果的に防止できる。
【0019】
前記の電子機器においては、以下のように構成されることが好ましい。即ち、電子機器は、前記外部記憶媒体が接続可能な接続部を複数有する。前記CPUは、予め設定された優先順位に従って前記外部記憶媒体の接続の有無を検出する。
【0020】
これにより、複数の外部記憶媒体が接続されている場合でも、バージョンアップで使用する頻度が高い接続部の優先順位を高く設定しておくことで、ユーザが意図しているバージョンアップ用の外部記憶媒体が早期に選択されて、バージョンアップ処理に速やかに移行できる。
【0021】
前記の電子機器においては、前記CPUは、前記バージョンアップの終了後に、再起動を自動的に行うことが好ましい。
【0022】
これにより、バージョンアップが終了した電子機器を使用可能な状態に自動的に移行させることができ、ユーザが電子機器を再起動する手間を省くことができる。
【0023】
前記の電子機器においては、前記切替信号を出力する操作部を備えることが好ましい。
【0024】
これにより、電子機器の操作部を操作するだけで、当該電子機器をバージョンアップモードで起動させることができる。
【0025】
本発明の第2の観点によれば、前記電子機器としての航法装置が提供される。
【0026】
これにより、船舶等に用いられる航法装置のバージョンアップを容易に行うことができる。
【0027】
本発明の第3の観点によれば、電子機器の内部記憶媒体に記憶されるプログラムをバージョンアップさせるためのバージョンアッププログラムにおいて、以下の構成が提供される。即ち、バージョンアッププログラムは、前記電子機器が備えるCPUによって、当該電子機器の外部から接続された外部記憶媒体から読み込まれて実行される。このバージョンアッププログラムが実行されることで、前記内部記憶媒体に記憶されるプログラムのバージョンアップが行われる。
【0028】
これにより、内部記憶媒体にバージョンアッププログラムを記憶させていなくても、外部記憶媒体のバージョンアッププログラムによって電子機器のプログラムのバージョンアップを容易に行うことができる。これによって、内部記憶媒体のプログラムが適切に動作しないために電子機器が起動できない場合でも、バージョンアッププログラムによってプログラムを修復できる。
【0029】
本発明の第4の観点によれば、電子機器の内部記憶媒体に記憶されるプログラムのバージョンアップ方法において、以下のステップを含む方法が提供される。即ち、バージョンアップ方法は、受信ステップと、切替ステップと、書換ステップと、を含む。前記受信ステップでは、起動時に切替信号を受信する。前記切替ステップでは、前記切替信号に基づいて、CPUにより実行されるプログラムの読出し先を前記内部記憶媒体から外部記憶媒体に切り替える。前記書換ステップでは、前記外部記憶媒体に記憶されるバージョンアッププログラムを前記CPUが実行することで、前記内部記憶媒体に記憶されるプログラムのバージョンアップを行う。
【0030】
これにより、内部記憶媒体にバージョンアッププログラムを記憶させていなくても、外部記憶媒体を利用して電子機器のプログラムのバージョンアップを容易に行うことができる。これによって、内部記憶媒体のプログラムが適切に動作しないために電子機器が起動できない場合でも、バージョンアッププログラムによってプログラムを修復できる。
【図面の簡単な説明】
【0031】
【図1】本発明の一実施形態に係るプロッタ装置の正面図。
【図2】プロッタ装置の電気的な構成の要部を示したブロック図。
【図3】記憶装置及びメモリカードに予め記憶されている記憶内容を示した模式図。
【図4】メインプログラムのバージョンアップ処理開始時の処理を示した模式図。
【図5】メインプログラムのバージョンアップ処理終了時の処理を示した模式図。
【図6】変形例のプロッタ装置の電気的な構成の要部を示したブロック図。
【図7】変形例におけるプロッタ装置の起動時の処理を示したフローチャート。
【発明を実施するための形態】
【0032】
次に発明の実施の形態について説明する。図1は、本発明の一実施形態に係るプロッタ装置10の正面図である。図2は、プロッタ装置10の電気的な構成の要部を示したブロック図である。本実施形態のプロッタ装置10は、舶用機器として用いられるものであり、自船位置を海図とともに表示する航法装置である。なお、このプロッタ装置10には、図示しないGPS受信機が接続されており、当該プロッタ装置10は、GPS受信機から入力された情報に基づいて自船位置を取得する。
【0033】
図1に示すように、プロッタ装置10は、ディスプレイ11と、操作キー12と、メモリカードスロット13と、モード切替スイッチ14と、電源スイッチ15と、を備えている。
【0034】
ディスプレイ11は、自船位置、航跡、マーク及び地図等の各種の情報を表示するためのものであり、液晶等により構成されている。操作キー12は、プロッタ装置10の各種の機能をユーザが実行させるための操作手段である。
【0035】
メモリカードスロット13には、各種の情報が記憶されたメモリカード(外部記憶媒体)30が差し込まれる。プロッタ装置10は、メモリカード30に予め記憶されているデータに基づいて各種の処理を行うことができるようになっている。例えば、プロッタ装置10は、メモリカード30に予め記憶されている海岸線等のチャートデータ(海図データ)を読み込んで、自船の位置とともにディスプレイ11に表示させることができるようになっている。
【0036】
また、本実施形態のプロッタ装置10は、メモリカード30に記憶されているバージョンアッププログラムを利用してプロッタ装置10のファームウェア(メインプログラム)等のアプリケーションをバージョンアップできるように構成されている。なお、メモリカード30を用いたバージョンアップ処理の詳細については後述する。
【0037】
モード切替スイッチ(操作部)14は、プロッタ装置10をバージョンアップモードで起動するためのスイッチである。本実施形態のプロッタ装置10は、モード切替スイッチ14をONした状態で電源スイッチ15を入れると、バージョンアップモードで起動するように構成されている。バージョンアップモードとは、メモリカード30に予め記憶されているバージョンアッププログラムによって、プロッタ装置10のメインプログラムを新しいバージョンのものに更新するためのモードのことである。
【0038】
また、図2に示すように、プロッタ装置10は、CPU21と、記憶装置22と、メモリ23と、プロテクト回路24と、モード切替回路25と、を備えている。
【0039】
CPU21は、記憶装置22に記憶されているプログラムをメモリ23に読み込んで、当該プログラムを実行することで、プロッタ装置10の各部の制御を行う。
【0040】
記憶装置(内部記憶媒体)22は、記憶の消去及び書込みが可能なEPROM(Erasable Programmable Read Only Memory)又はHDD等の不揮発性メモリによって構成されている。この記憶装置22は、プロッタ装置10の本体に内蔵されており、バスを介してCPU21に接続されている。
【0041】
メモリ23は、RAM等によって構成されており、CPU21によって直接アクセスされるメインメモリである。
【0042】
プロテクト回路(プロテクト部)24は、記憶装置22に対する外部からの読込み及び書込み(アクセス)を禁止するためのものであり、CPU21に接続されるとともに、記憶装置22に接続されている。
【0043】
モード切替回路(切替部)25は、モード切替スイッチ14から出力される切替信号に基づいて、CPU21によって起動時に実行されるプログラムの読込み先を切り替えるためのものである。本実施形態のモード切替回路25は、モード切替スイッチ14がOFFされているときは、通常モードでの起動と判定し、モード切替スイッチ14がONされているときは、バージョンアップモードでの起動と判定する。通常モードでは、モード切替スイッチ14は、記憶装置22からメインプログラムが読み込まれるようにCPU21と記憶装置22とを接続する。一方、バージョンアップモードでの起動では、モード切替スイッチ14は、メモリカードスロット13に接続されるメモリカード30とCPU21とを接続する。
【0044】
なお、モード切替回路25が受信する切替信号は、モード切替スイッチ14で選択されたモードを認識できるものであればよく、実際に電流が流れていない状態を切替信号とすることもできる。即ち、モード切替回路25は、起動時に、モード切替スイッチ14から信号が入力されていない状態が一定時間続いた場合にOFF信号(切替信号)が入力されたと判定し、バージョンアップモードでプロッタ装置10を起動するように構成することもできる。この場合、モード切替スイッチ14からON信号が入力された場合は、通常モードが選択されたと認識され、プロッタ装置10は通常モードで起動する。
【0045】
次に、バージョンアップモードで起動した場合のプロッタ装置10の動作について説明する。図3は、記憶装置22及びメモリカード30に予め記憶されている記憶内容を示した模式図である。図4は、メインプログラムのバージョンアップ処理開始時の処理を示した模式図である。図5は、メインプログラムのバージョンアップ処理終了時の処理を示した模式図である。
【0046】
図3に示すように、内部記憶媒体としての記憶装置22には、プロッタ装置10の制御を行うためのメインプログラムと、船舶及び船舶の航行に関する各種のデータ(機器データ、ユーザデータ及びチャートデータ等)と、が記憶されている。
【0047】
メインプログラムは、プロッタ装置10のオペレーティングシステムであり、通常モードでの電源投入時において、メモリ23に最初に読み込まれるプログラムである。CPU21によりメインプログラムが実行されることで、自船位置の表示等、プロッタ装置10の各種の機能が実現される。
【0048】
機器データは、プロッタ装置10が取り付けられている船舶の船体データ及びプロッタ装置の表示方法等の各種設定データである。ユーザデータは、航跡情報、ルート情報、特定のポイントを通過したときの日時情報等の各種の航海情報である。例えば、ユーザデータの航跡情報は、緯度経度情報によって特定される複数のポイントから構成されている。1つのポイントを示す緯度経度情報は、(38000,15800)のように数値情報として記憶装置22に記憶される。チャートデータは、海図に関する情報である。これらの船舶及び航行に関するデータ(以下、船舶データ)は、バイナリ形式で記憶装置22に記憶されている。なお、本実施形態では、バイナリ形式で船舶データが記憶装置22に記憶される構成であるが、記憶形式はバイナリ形式に限定される訳ではない。例えば、テキスト形式で船舶データの一部又は全部を記憶装置22に記憶させる構成としてもよい。
【0049】
一方、外部記憶媒体としてのメモリカード30には、バージョンアッププログラムと、書込データ(メインプログラム)と、が予め記憶されている。バージョンアッププログラムは、前述したように、記憶装置22に記憶されているメインプログラムのバージョンアップを行うためのものである。書込データは、記憶装置22のメインプログラムをバージョンアップさせるときに用いられるデータである。図3に示す例では、プロッタ装置10の記憶装置22には、バージョン1.00のメインプログラムが記憶されている。一方、メモリカード30には、バージョン1.05のメインプログラムが前記書込データとして記憶されている。
【0050】
次に、バージョンアップ処理の詳細を説明する。モード切替スイッチ14をONした状態で、電源スイッチ15を入れると、プロッタ装置10はバージョンアップモードで起動する。より具体的には、モード切替スイッチ14から切替信号を受信したモード切替回路25が、CPU21に実行されるプログラムが読み込まれるデバイスを、記憶装置22から、メモリカードスロット13に接続されるメモリカード30に切り替える。
【0051】
次に、CPU21は、メモリカードスロット13にメモリカード30が接続されているか否かを調べる。メモリカード30が接続されていると判定した場合は、CPU21はメモリカード30にバージョンアッププログラムが記憶されているか否かを調べる。バージョンアッププログラムがメモリカード30から検出されると、CPU21はメモリカード30から当該バージョンアッププログラムをメモリ23に読み込んで実行する(図4を参照)。
【0052】
メモリ23で実行されたバージョンアッププログラムは、プロテクト回路24のプロテクトを解除する。本実施形態においては、バージョンアッププログラムが記憶装置22の所定アドレスを読み込む動作を行うことで、プロテクトが解除される方法が採用されている。前記所定アドレスは、バージョンアッププログラムの所定の動作で読み込まれるアドレスであり、予めプロテクト回路24に設定されているものである。従って、バージョンアッププログラムの内容を見ただけでは、バージョンアッププログラムのどの部分が所定アドレスを読み込む動作を行う部分か判別できないようになっている。なお、プロテクトの解除方法は、この方法に限らずバージョンアッププログラムの所定の動作によって解除される方法であればよい。例えば、メモリカード30にプロテクトキー(暗号鍵)を記憶させ、バージョンアッププログラムが、このプロテクトキーを用いてプロテクトを解除する構成とすることもできる。
【0053】
プロテクト回路24のプロテクトが解除されると、バージョンアッププログラムは、記憶装置22に記憶されている船舶データ(ユーザデータ、機器データ及びチャートデータ)の内容をメモリカード30に記憶させるバックアップ処理を行う。このバックアップ処理では、記憶装置22の船舶データがバイナリデータからテキストデータに変換されてメモリカード30にバックアップデータとして記憶される。例えば、上述した緯度経度情報の内容は、バイナリコードからアスキーコードに変換されてメモリカード30に記憶される。
【0054】
バックアップ処理が終了すると、バージョンアッププログラムは、書込データに基づいて記憶装置22のメインプログラムの書換えを行う。図5に示すように、バージョンアッププログラムによって、記憶装置22のバージョン1.00のメインプログラムは、バージョン1.05のメインプログラムに書き換えられる。
【0055】
メインプログラムの書換えが終了すると、バージョンアッププログラムは、記憶装置22の船舶データの実質的な内容が適切に維持されているか否かを調べる比較処理を行う。比較処理は、メインプログラムの書換えによって、記憶装置22の船舶データの破損が生じたり、船舶データの内容が変化したりしていないか否かを検出するための処理である。
【0056】
メインプログラムの書換えにより船舶データの内容が変化した場合について、具体例をあげて説明する。例えば、バージョンアップの変更によって、緯度経度情報の数値の記憶形式が以下のように変更されたとする。即ち、緯度経度情報のデータが、書換え前は(38000,15800)として記憶されていたものが、書換え後は(380000,158000)として記憶されるように、数値の桁数が変更されるバージョンアップが行われたとする。上述したように、緯度経度情報は、バイナリ形式で記憶された数値情報であり、緯度を示す緯度情報と、経度を示す経度情報とが区別されることなく順番に配列された状態で記憶装置22に記憶されている。従って、バージョンアップによって記憶形式の桁数が変更された場合、緯度情報に経度情報の一部(数値の先頭部分)が入ってしまい、緯度経度情報の値が適切なものでなくなってしまうおそれがある。上述した例で単純に考えれば、緯度情報が(3800001)となり、経度情報が(58000XX)となるおそれがあるのである(XXは、例えば、異なるポイントの緯度情報又はポイントが記憶された日時情報等の一部である)。
【0057】
以上の事情を考慮し、本実施形態の比較処理は、メモリカード30にテキスト形式で記憶されるバックアップデータの内容と、記憶装置22にバイナリ形式で記憶される船舶データの内容と、の比較を行って、船舶データの異常を検出するように構成されている。バックアップデータの内容と、記憶装置22の船舶データの内容と、の間に不整合が検出された場合は、バージョンアッププログラムがバックアップデータに基づいて記憶装置22の船舶データの更新(復元)処理を行う。上述したようなメインプログラムの書換えが行われている場合は、船舶データの内容を実質的に維持しながら、書換え後の記憶形式(桁数が増加した記憶形式)に合致するように更新処理を行う。より具体的には、バックアップデータに基づいて、緯度経度情報の桁数を増やしたデータ(末尾に0を追加したデータ)をバイナリ形式に変換して、記憶装置22に記憶させる。このように、本実施形態の更新処理では、記憶形式の変更がされた場合は、記憶形式の変更に合致するように船舶データが処理されるように構成されている。
【0058】
なお、上記の船舶データの復元処理は、上記のように新規のバージョンで従前とは異なるデータ記録フォーマットが採用される場合に限られない。例えば、記憶装置22において船舶データを保存するアドレスがバージョンアップによって変更される場合(従前の船舶データ保存アドレスに他のデータが上書きされる場合を含む)においても、船舶データの内容が失われることになる。この場合も、バックアップデータに基づいて船舶データを新しいデータ保存アドレスに書き戻す処理が有効である。
【0059】
更新処理の終了後、バージョンアッププログラムによって、プロッタ装置10の再起動が行われる。なお、比較処理において、バックアップデータの内容と、元データの内容と、の間に相違がないと判定された場合は、前記更新処理が行われることなくバージョンアップ処理が終了し、プロッタ装置10の再起動が行われる。この再起動では、通常モードでプロッタ装置10が起動され、CPU21はメインプログラム(バージョン1.05)をメモリ23に読み込んで実行する。
【0060】
以上に説明してきたように、本実施形態のプロッタ装置10は、バージョンアップモードで起動しない限り、バージョンアッププログラムの検出処理を行わないように構成されている。従って、通常の起動時は、メモリカード30の検出処理及びバージョンアッププログラムの検出処理を行う必要がなく、プロッタ装置10を迅速に起動させることができる。例えば、一般的なパーソナルコンピュータは、バージョンアップを行わない場合でも、外部記憶媒体(例えば、CD等)の検出処理と、当該外部記憶媒体のバージョンアッププログラムを検出する検出処理と、を行った後、通常モードで起動する必要がある。この点、本実施形態のプロッタ装置10は、モード切替スイッチ14によってバージョンアップを行うか否かが予め決定された状態で起動するので、バージョンアップを行わない場合はバージョンアッププログラムの検出処理が省略される。従って、バージョンアップを行わない場合における起動時間の短縮という観点から、本実施形態の構成は従来の電子機器の構成より有利であるといえる。
【0061】
なお、本実施形態のプロッタ装置10は、バージョンアップモードで起動しても、以下に示す場合はバージョンアップモードを終了するように構成されている。即ち、メモリカード30がメモリカードスロット13に接続されていなかった場合、バージョンアッププログラムがメモリカード30に記憶されていなかった場合、又はプロテクト回路24のプロテクトが解除されなかった場合である。なお、バージョンアップモード終了後は、記憶装置22のメインプログラムを読み込む通常モードに移行してもよいし、プロッタ装置10の電源を切るようにしてもよい。
【0062】
以上に示したように、本実施形態のプロッタ装置10は、記憶装置22と、CPU21と、モード切替回路25と、を備える。記憶装置22は、プロッタ装置10本体の内部に配置される。CPU21は、通常の起動時は、記憶装置22からメインプログラムを読み込み、実行する。モード切替回路25は、起動時に、本体の外部から接続されるメモリカード30を用いてプログラムのバージョンアップを行う内容の切替信号が入力された場合は、メモリカード30に記憶されるバージョンアッププログラムをCPU21が実行するように、プログラムの読込み先を記憶装置22からメモリカード30に切り替える。
【0063】
これにより、記憶装置22にバージョンアッププログラムを記憶させていなくても、メモリカード30を利用してプロッタ装置10のメインプログラムのバージョンアップを容易に行うことができる。これによって、記憶装置22のメインプログラムが適切に動作しないためにプロッタ装置10が起動できない場合でも、バージョンアッププログラムによってメインプログラムを修復できる。
【0064】
また、本実施形態のプロッタ装置10は、CPU21が、バージョンアップ時に、記憶装置22に記憶されているデータの内容をバックアップデータとしてメモリカード30に記憶させる。
【0065】
これにより、記憶装置22のデータのバックアップが自動的に行われるので、バージョンアップによって記憶装置22のデータが例えばプログラム内容の上書きにより失われた場合でも、メモリカード30のデータに基づいて、記憶装置22に記憶されていた元のデータを容易に復元できる。
【0066】
また、本実施形態のプロッタ装置10は、CPU21が、バージョンアップ終了後に、バックアップデータの内容を記憶装置22に記憶させる。
【0067】
これにより、バージョンアップによって記憶装置22のデータが例えばプログラム内容の上書きにより失われた場合でも、メモリカード30に退避させていたバックアップデータの内容が記憶装置22に書き込まれることになる。従って、特別な作業を行うことなく、データの内容を適切に維持することができる。
【0068】
また、本実施形態のプロッタ装置10は、CPU21は、バージョンアップ終了後に、バックアップデータの内容と、記憶装置22のデータの内容と、を比較し、相違がある場合はバックアップデータの内容を記憶装置22に記憶させる更新処理を行う。
【0069】
これにより、データを復元する必要がないときは、記憶装置22にデータが書き込まれなくなるので、更新処理を効率化できる。
【0070】
また、本実施形態のプロッタ装置10は、以下のように構成される。即ち、プロッタ装置10は、記憶装置22へのアクセスを禁止するプロテクト回路24を備える。バージョンアッププログラムが所定の処理をすることによってプロテクト回路24によるプロテクトが解除される。
【0071】
これにより、悪意あるプログラムによって、記憶装置22のメインプログラムが改ざんされたり、記憶装置22の船舶データが読み出されたりする事態を効果的に防止できる。
【0072】
また、本実施形態のプロッタ装置10は、CPU21は、バージョンアップ終了後に、再起動を自動的に行う。
【0073】
これにより、バージョンアップが終了したプロッタ装置10を使用可能な状態に自動的に移行させることができ、ユーザがプロッタ装置10を再起動する手間を省くことができる。
【0074】
また、本実施形態のプロッタ装置10は、切替信号を出力するモード切替スイッチ14を備える。
【0075】
これにより、モード切替スイッチ14を切り替えるという簡単な操作で、メモリカード30を用いたプログラムのバージョンアップを行うことができる。
【0076】
次に、図6及び図7を参照して、上記実施形態のプロッタ装置10の変形例について説明する。図6は、変形例のプロッタ装置110の電気的な構成の要部を示したブロック図である。図7は、変形例におけるプロッタ装置110の起動時の処理を示したフローチャートである。なお、変形例において、上記実施形態と同一及び類似する構成には、図面に同一の符号を付してその説明を省略する場合がある。
【0077】
図6に示すように、変形例のプロッタ装置110は、上記実施形態の構成(図2に示す構成)に加えて、USB接続部32と、ネットワーク接続部35と、を備えている。
【0078】
USB接続部32は、外部記憶媒体としてのUSBメモリ31を接続するためのものである。変形例のプロッタ装置110は、このUSB接続部32に接続されるUSBメモリ31を用いて記憶装置22に記憶されるメインプログラムをバージョンアップできるように構成されている。バージョンアップを行うときに用いられるUSBメモリ31には、バージョンアッププログラム及び書換データが予め記憶されたものを用いる。なお、バージョンアップ処理の詳細については、上記実施形態で説明した内容と同様なので、その説明を省略する。
【0079】
変形例のプロッタ装置110は、複数の外部記憶媒体(メモリカード30及びUSBメモリ31)を同時に接続できるように構成されている。そして、プロッタ装置110には、バージョンアップを行うときに用いる外部記憶媒体の優先順位が予め設定されている。変形例においては、メモリカード30とUSBメモリ31の両方が接続されている場合には、メモリカード30を用いてバージョンアップ処理を行うようにメモリカード30の優先順位が高く設定されている。なお、優先順位の設定は、ユーザが設定してもよいし、プロッタ装置110がバージョンアップで使用された回数等に基づいて経験的に自動設定するようにしてもよい。
【0080】
次に、図7を参照して、優先順位に従って外部記憶媒体に記憶されるバージョンアッププログラムを検出する処理について説明する。図7に示すように、電源スイッチ15が入れられたプロッタ装置110は、最初に、モード切替スイッチ14がONになっているか否かを調べる(S101)。S101の処理で、モード切替スイッチ14がONされていると判定された場合は、プロッタ装置110は、バージョンアップモードで起動する(S102)。
【0081】
S101の処理でモード切替スイッチ14がOFFされていると判定された場合は、通常起動処理(S107)に移行する。通常起動処理では、プロッタ装置110を通常モードで起動した場合と同様の処理が行われる。即ち、CPU21によって、メモリ23に記憶装置22からメインプログラムが呼び出され、実行される。なお、S107の処理は、通常起動処理に移行することなく、プロッタ装置110の電源を切るように処理させることもできる。
【0082】
バージョンアップモードで起動したプロッタ装置110は、優先順位に従って、メモリカード検出処理を行う。このメモリカード検出処理では、メモリカードスロット13に接続されているメモリカード30にバージョンアッププログラムが記憶されているか否かが調べられる(S103)。メモリカード30にバージョンアッププログラムが記憶されている場合には、メモリカード30に記憶されているバージョンアッププログラムをメモリ23に読み込んで実行する(S105)。バージョンアップ処理が終了すると、バージョンアッププログラムによってプロッタ装置110の再起動処理が行われる(S106)。
【0083】
S103の処理で、メモリカード30にバージョンアッププログラムが記憶されていないと判定された場合、又は、メモリカードスロット13にメモリカード30が接続されていないと判定された場合は、USBメモリ31検出処理に移行する。このUSBメモリ31検出処理では、USB接続部32に接続されているUSBメモリ31にバージョンアッププログラムが記憶されているか否かが調べられる(S104)。メモリカード検出処理と同様に、USBメモリ31にバージョンアッププログラムが記憶されている場合には、当該USBメモリ31に記憶されるバージョンアッププログラムをメモリ23に読み込んで実行する(S105)。バージョンアップ処理の終了後、プロッタ装置110の再起動処理が行われる(S106)。
【0084】
USBメモリ31検出処理で、バージョンアッププログラムが検出されなかった場合、又は、USB接続部32にUSBメモリ31が接続されていない場合は、前記通常起動処理に移行する(S107)。
【0085】
次に、ネットワーク接続部35について説明する。ネットワーク接続部35は、プロッタ装置110をネットワーク36に接続するためのものである。このネットワーク接続部35によって、プロッタ装置110は、ネットワークに接続されるレーダアンテナ(レーダ装置)及び魚群探知機等の外部装置等の各種の航法装置と通信し、他船の位置情報や魚の存在情報を取得して表示できるように構成されている。
【0086】
また、変形例のプロッタ装置110は、ネットワーク36を介してネットワーク接続部35に接続される外部のパーソナルコンピュータ37からバージョンアップを行うことができるように構成されている。即ち、パーソナルコンピュータ37が、プロッタ装置110に外部から接続される外部記憶媒体として機能するのである。このパーソナルコンピュータ37は、CPUと、メモリと、HDDと、を主要な構成として備えている。HDDには、バージョンアッププログラム及び書換データが予め記憶されている。また、HDDには、プロッタ装置110のバージョンアップを行うための適宜のアプリケーションも記憶されている。
【0087】
パーソナルコンピュータ37を用いるバージョンアップは、例えば、以下のようにして行われる。即ち、パーソナルコンピュータ37で、プロッタ装置110のバージョンアップを行うための前記アプリケーションを起動させ、ネットワーク36に接続されるプロッタ装置110の状態を当該アプリケーションによって監視する。前記アプリケーションによってプロッタ装置110が起動したことが検出されると、前記切替信号をプロッタ装置110に適宜のタイミングで送信する。プロッタ装置110は、ネットワーク接続部35を介して前記切替信号を起動時に受信すると、バージョンアップモードで起動する。バージョンアップモードで起動したプロッタ装置110は、パーソナルコンピュータ37からバージョンアッププログラムをダウンロードし、当該バージョンアッププログラムをメモリ23で実行させる。次に、書込データをダウンロードし、この書込データに基づいて記憶装置22のメインプログラムが書き換えられる。なお、バージョンアップ処理の詳細については、上記実施形態で説明した内容と同様なので、その説明を省略する。また、上述したパーソナルコンピュータ37を用いたバージョンアップ方法は一例であり、プロッタ装置110が切替信号を受信するための構成は適宜変更することができる。
【0088】
以上に示すように、変形例のプロッタ装置110は、外部記憶媒体を接続するための複数の接続部(メモリカードスロット13及びUSB接続部32)を備える。メモリカードスロット13は、メモリカード30を接続するためのものである。USB接続部32は、USBメモリ31を接続するためのものである。CPU21は、予め設定された優先順位に従ってメモリカード30、USBメモリ31の順番で外部記憶媒体の接続の有無を検出する。
【0089】
これにより、メモリカード30とUSBメモリ31が接続されている場合でも、バージョンアップで使用する頻度が高い外部記憶媒体の接続部(変形例ではメモリカードスロット13)の優先順位を高く設定しておくことで、ユーザが意図しているバージョンアップ用の外部記憶媒体(メモリカード30)が早期に検出される。これによって、プロッタ装置110をバージョンアップ処理に速やかに移行させることができる。
【0090】
以上に本発明の実施形態を説明したが、上記の構成は更に以下のように変更することができる。
【0091】
上記実施形態では、モード切替スイッチ14がメモリカード30の近傍に配置されている構成であるが、操作キー12がモード切替スイッチを兼ねるように構成することもできる。
【0092】
また、上記変形例の構成に、USB用モード切替スイッチと、ネットワーク接続用切替スイッチと、を加えることもできる。即ち、電子機器に接続可能な複数の外部記憶媒体のそれぞれに対応する操作部を備えるようにプロッタ装置を構成することもできる。これにより、外部記憶媒体と切替スイッチが1対1の関係になるので、ユーザがバージョンアップで使用したい外部記憶媒体を起動時に最初に検出させることができ、バージョンアップ処理への移行をより高速化できる。
【0093】
また、プロッタ装置が備える操作部は、スイッチ式に限定されない。例えば、バージョンアップを行うための専用の接続コネクタを備えるようにプロッタ装置を構成することができる。この場合、前記接続コネクタにメモリカード又はUSBメモリ等の外部記憶媒体を接続した状態で電源が入れられると、当該プロッタ装置がバージョンアップモードで起動するように構成することが好ましい。また、外部記憶媒体を接続する接続部にジャンパーピンを配置し、このジャンパーピンによって、バージョンアップモードで起動するか否かを選択できるように構成することもできる。
【0094】
また、上記実施形態では、比較処理を行った後、メモリカード30のバックアップデータの内容を記憶装置22に記憶させるように構成されているが、比較処理を省略し、常に更新処理を行うように構成することもできる。バックアップデータの信頼性が高い場合には比較処理を省略しても問題は少ないということができ、また、バックアップデータの容量が多い場合は、比較処理を省略することでバージョンアップ処理を大幅に高速化することができる。
【0095】
また、セキュリティの観点からプロテクト回路24を備えることが好ましいものの、上記実施形態及び変形例からプロテクト回路24を省略することもできる。
【0096】
また、本発明は、プロッタ装置10等の航法装置に限定されず、各種の電子機器に適用することができる。
【符号の説明】
【0097】
10 プロッタ装置(電子機器)
13 メモリカードスロット(接続部)
14 モード切替スイッチ(操作部)
21 CPU
22 記憶装置(内部記憶媒体)
25 モード切替回路(切替部)
30 メモリカード(外部記憶媒体)
31 USBメモリ(外部記憶媒体)
32 USB接続部(接続部)
37 パーソナルコンピュータ(外部記憶媒体)
35 ネットワーク接続部(接続部)

【特許請求の範囲】
【請求項1】
本体の内部に配置される内部記憶媒体と、
通常の起動時は、前記内部記憶媒体からプログラムを読み込み、実行するCPUと、
起動時に、前記本体の外部から接続される外部記憶媒体を用いて前記プログラムのバージョンアップを行う内容の切替信号が入力された場合は、前記外部記憶媒体に記憶されるバージョンアッププログラムを前記CPUが実行するように、プログラムの読込み先を前記内部記憶媒体から前記外部記憶媒体に切り替える切替部と、
を備えることを特徴とする電子機器。
【請求項2】
請求項1に記載の電子機器であって、
前記CPUは、前記バージョンアップ時に、前記内部記憶媒体に記憶されているデータの内容をバックアップデータとして前記外部記憶媒体に記憶させることを特徴とする電子機器。
【請求項3】
請求項2に記載の電子機器であって、
前記CPUは、前記バージョンアップの終了後に、前記バックアップデータの内容を前記内部記憶媒体に記憶させることを特徴とする電子機器。
【請求項4】
請求項3に記載の電子機器であって、
前記CPUは、前記バージョンアップの終了後に、前記バックアップデータの内容と、前記内部記憶媒体のデータの内容と、を比較し、相違がある場合は前記バックアップデータの内容を前記内部記憶媒体に記憶させる更新処理を行うことを特徴とする電子機器。
【請求項5】
請求項1から4までの何れか一項に記載の電子機器であって、
前記内部記憶媒体へのアクセスを禁止するプロテクト部を備え、
前記バージョンアッププログラムが所定の処理をすることによって前記プロテクト部によるプロテクトが解除されることを特徴とする電子機器。
【請求項6】
請求項1から5までの何れか一項に記載の電子機器であって、
前記外部記憶媒体が接続可能な接続部を複数有し、
前記CPUは、予め設定された優先順位に従って前記外部記憶媒体の接続の有無を検出することを特徴とする電子機器。
【請求項7】
請求項1から6までの何れか一項に記載の電子機器であって、
前記CPUは、前記バージョンアップの終了後に、再起動を自動的に行うことを特徴とする電子機器。
【請求項8】
請求項1から7までの何れか一項に記載の電子機器であって、
前記切替信号を出力する操作部を備えることを特徴とする電子機器。
【請求項9】
請求項1から8までの何れか一項に記載の電子機器としての航法装置。
【請求項10】
電子機器の内部記憶媒体に記憶されるプログラムをバージョンアップさせるためのバージョンアッププログラムにおいて、
前記電子機器が備えるCPUによって、当該電子機器の外部から接続された外部記憶媒体から読み込まれて実行されることで、
前記内部記憶媒体に記憶されるプログラムのバージョンアップを行うことを特徴とするバージョンアッププログラム。
【請求項11】
電子機器の内部記憶媒体に記憶されるプログラムのバージョンアップ方法において、
起動時に切替信号を受信する受信ステップと、
前記切替信号に基づいて、CPUにより実行されるプログラムの読出し先を前記内部記憶媒体から外部記憶媒体に切り替える切替ステップと、
前記外部記憶媒体に記憶されるバージョンアッププログラムを前記CPUが実行することで、前記内部記憶媒体に記憶されるプログラムのバージョンアップを行う書換ステップと、
を含むことを特徴とするプログラムのバージョンアップ方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−210137(P2011−210137A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−79163(P2010−79163)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(000166247)古野電気株式会社 (441)
【Fターム(参考)】