(57)【要約】【課題】電子機器のメモリサイズの増加を抑制しつつ、複数の電子機器間でのプログラム更新を実現する。【解決手段】記憶部３６は、自機器用プログラムを記憶する第１領域と、工場出荷時に他機器用プログラムを記憶する第２領域を含む。データ処理部４２は、第１領域に記憶された自機器用プログラムに基づいて、他機器とのデータ処理を実行する。バージョン取得部４８は、他機器に記憶された他機器用プログラムのバージョンを取得する。プログラム送信部５２は、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、第２領域に記憶された他機器用プログラムを他機器へ送信して、他機器に記憶された他機器用プログラムを更新させる。プログラム更新部４６は、外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて第２領域に一旦記憶させ、第１領域に記憶された自機器用プログラムを更新する。【選択図】図２
2019144842.tif 000002
【特許請求の範囲】
【請求項１】
他機器と通信する通信部と、
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に前記他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第１領域とは異なる第２領域に記憶する記憶部と、
前記第１領域に記憶された自機器用プログラムに基づいて、前記他機器とのデータ処理を実行するデータ処理部と、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する取得部と、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された前記他機器用プログラムを更新させる送信部と、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第２領域に記憶させ、前記更新プログラムを用いて、前記第１領域に記憶された前記自機器用プログラムを更新する更新部と、
を備える電子機器。
【請求項２】
操作者から第１の操作が入力されたことを条件として、前記第２領域に記憶された前記他機器用プログラムのバージョンと、前記他機器から取得された前記他機器用プログラムのバージョンとを表示させる表示制御部、をさらに備え、
前記送信部は、前記第２領域に記憶された前記他機器用プログラムのバージョンに対して前記他機器から取得された前記他機器用プログラムのバージョンが古い場合、前記操作者から第２の操作が入力されたことを条件として、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信する、
請求項１に記載の電子機器。
【請求項３】
前記取得部は、前記他機器に記憶された前記自機器用プログラムのバージョンを前記他機器からさらに取得し、
前記更新部は、前記他機器から取得された前記自機器用プログラムのバージョンに対して前記第１領域に記憶された前記自機器用プログラムのバージョンが古い場合、前記操作者から第３の操作が入力されたことを条件として、前記他機器に記憶された自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第１領域に記憶された前記自機器用プログラムを更新する、
請求項２に記載の電子機器。
【請求項４】
前記取得部は、前記他機器に記憶された前記他機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器から取得し、
前記送信部は、前記第２領域に記憶された前記他機器用プログラムのメジャーバージョンに対して前記他機器から取得された前記他機器用プログラムのメジャーバージョンが古い場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信する一方、前記第２領域に記憶された前記他機器用プログラムのメジャーバージョンと前記他機器から取得された前記他機器用プログラムのメジャーバージョンが一致する場合、前記第２領域に記憶された前記他機器用プログラムのマイナーバージョンに対して前記他機器から取得された前記他機器用プログラムのマイナーバージョンが古いときでも、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信しない、
請求項１に記載の電子機器。
【請求項５】
前記取得部は、前記他機器に記憶された前記自機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器からさらに取得し、
前記更新部は、前記他機器から取得された前記自機器用プログラムのメジャーバージョンに対して前記第１領域に記憶された前記自機器用プログラムのメジャーバージョンが古い場合、前記他機器に記憶された前記自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第１領域に記憶された前記自機器用プログラムを更新する一方、前記他機器から取得された前記自機器用プログラムのメジャーバージョンと前記第１領域に記憶された前記自機器用プログラムのメジャーバージョンが一致する場合、前記他機器から取得された前記自機器用プログラムのマイナーバージョンに対して前記第１領域に記憶された前記自機器用プログラムのマイナーバージョンが古いときでも、前記第１領域に記憶された前記自機器用プログラムを更新しない、
請求項４に記載の電子機器。
【請求項６】
決定部、をさらに備え、
前記通信部は、第１のバスを介して第１の他機器と通信し、第１のバスとは異なる第２のバスを介して第２の他機器と通信し、
前記第２領域には、前記第１の他機器の動作を規定した第１の他機器用プログラムと、前記第２の他機器の動作を規定した第２の他機器用プログラムとが記憶され、
前記取得部は、前記第１の他機器に記憶された前記自機器用プログラムと前記第１の他機器用プログラムと前記第２の他機器用プログラムのそれぞれのバージョンを前記第１の他機器から取得し、前記第２の他機器に記憶された前記自機器用プログラムと前記第１の他機器用プログラムと前記第２の他機器用プログラムのそれぞれのバージョンを前記第２の他機器から取得し、
前記決定部は、前記自機器用プログラムと前記第１の他機器用プログラムと前記第２の他機器用プログラムのそれぞれについて、最も新しいバージョンのプログラムを記憶する機器を更新プログラムの提供元として決定する、
請求項１に記載の電子機器。
【請求項７】
最も新しいバージョンの前記自機器用プログラムと前記第２の他機器用プログラムを前記第１の他機器が記憶する場合、
前記更新部は、前記第１の他機器に記憶された前記自機器用プログラムおよび前記第２の他機器用プログラムを前記第１の他機器から取得し、前記第１領域に記憶された前記自機器用プログラムを更新し、
前記送信部は、前記更新部により取得された前記第２の他機器用プログラムを前記第２の他機器へ送信する、
請求項６に記載の電子機器。
【請求項８】
前記第１領域に記憶された前記自機器用プログラムのバージョンと、前記第２領域に記憶された前記他機器用プログラムのバージョンは同一である、
請求項１から７のいずれかに記載の電子機器。
【請求項９】
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第１領域とは異なる第２領域に記憶する記憶部、を備える電子機器が、
前記第１領域に記憶された自機器用プログラムを用いて、前記他機器とのデータ処理を実行し、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得し、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させ、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第２領域に記憶させ、前記更新プログラムを用いて、前記第１領域に記憶された前記自機器用プログラムを更新する、
プログラム更新方法。
【請求項１０】
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第１領域とは異なる第２領域に記憶する記憶部、を備える電子機器に、
前記第１領域に記憶された自機器用プログラムに基づく、前記他機器とのデータ処理と、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する処理と、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させる処理と、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第２領域に記憶させ、前記更新プログラムを用いて、前記第１領域に記憶された前記自機器用プログラムを更新する処理と、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、特に電子機器、プログラム更新方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
映像生成装置と映像中継装置が通信するシステムにおいて、映像中継装置にインストールされたファームウェアのバージョンが、映像生成装置にインストールされた基本ソフトウェアが要求するファームウェアのバージョンより古い場合、映像生成装置は、基本ソフトウェアに内包された映像中継装置用のファームウェアを映像中継装置に供給して、映像中継装置にインストールされたファームウェアを更新させる技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２００９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
車載機器のようにメモリサイズが厳しく制限される電子機器では、通信相手となる他の電子機器用のプログラムを記憶する領域を新たに設けることが困難なことがあり、また、電子機器のコストアップを招くことがあった。
【０００５】
本願発明は上記課題に鑑みたもので、１つの目的は、電子機器におけるメモリサイズの増加を抑制しつつ、複数の電子機器間でのプログラム更新を実現することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の電子機器は、他機器と通信する通信部と、自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に他機器の動作を規定したコンピュータプログラムである他機器用プログラムを第１領域とは異なる第２領域に記憶する記憶部と、第１領域に記憶された自機器用プログラムに基づいて、他機器とのデータ処理を実行するデータ処理部と、他機器に記憶された他機器用プログラムのバージョンを他機器から取得する取得部と、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、第２領域に記憶された他機器用プログラムを他機器へ送信することにより、他機器に記憶された他機器用プログラムを更新させる送信部と、外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて第２領域に記憶させ、更新プログラムを用いて、第１領域に記憶された自機器用プログラムを更新する更新部と、を備える。
【０００７】
本発明の別の態様は、プログラム更新方法である。この方法は、自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを第１領域とは異なる第２領域に記憶する記憶部、を備える電子機器が、第１領域に記憶された自機器用プログラムを用いて、他機器とのデータ処理を実行し、他機器に記憶された他機器用プログラムのバージョンを他機器から取得し、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、第２領域に記憶された他機器用プログラムを他機器へ送信することにより、他機器に記憶された他機器用プログラムを更新させ、外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて第２領域に記憶させ、更新プログラムを用いて、第１領域に記憶された自機器用プログラムを更新する。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、電子機器におけるメモリサイズの増加を抑制しつつ、複数の電子機器間でのプログラム更新を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施例の車両の構成を模式的に示す図である。
【図２】第１実施例の操作表示装置の機能構成を示すブロック図である。
【図３】記憶部の記憶領域を模式的に示す図である。
【図４】第１実施例の操作表示装置の動作を示すフローチャートである。
【図５】ソフトウェア更新画面の例を示す図である。
【図６】図６（ａ）と図６（ｂ）は、プログラム更新の例を示す図である。
【図７】第２実施例の操作表示装置の機能構成を示すブロック図である。
【図８】第２実施例の操作表示装置の動作を示すフローチャートである。
【図９】図９（ａ）、図９（ｂ）、図９（ｃ）は、プログラム更新の例を示す図である。
【図１０】第３実施例の操作表示装置の動作を示すフローチャートである。
【図１１】図１１（ａ）と図１１（ｂ）は、プログラム更新の例を模式的に示す図である。
【発明を実施するための形態】
【００１１】
実施例の詳細な構成を説明する前に概要を述べる。現在のカーナビゲーションシステムは、複数の電子機器（ＥＣＵ（Electronic Control Unit）等）が連携して実現されることがある。カーナビゲーションシステムでは、ソフトウェアの不具合や新規機能の織り込みをバージョンで管理し、バージョンが異なる電子機器同士を接続した場合、エラーを表示する。
【００１２】
これまで、複数の電子機器のバージョン管理には運用面での課題が存在した。例えば、カーディーラーが最新のファームウェアを保持しない場合、メーカーから最新のファームウェアを取り寄せ、電子機器内の既存のファームウェアを更新する等の作業が必要になり、顧客を待たせてしまうことがあった。また、複数の電子機器の仕入れ先が違う等の理由により、車両工場の検査ラインでバージョンが異なる電子機器が接続された場合、エラーが表示され、電子機器が不良品と判定されてしまうことがあった。
【００１３】
上記特許文献１に記載の技術は、複数の電子機器間でのファームウェアの自動更新を実現するものである。しかし、車両に搭載される電子機器（以下「車載機器」とも呼ぶ。）に適用する場合、いくつかの課題が存在する。
【００１４】
課題１．車載機器Ａが車載機器Ｂ用のファームウェアを記憶する場合、車載機器Ｂ用のファームウェアを記憶する領域を車載機器Ａに用意する必要があり、電子機器Ａのコストアップにつながってしまう。
【００１５】
課題２．上記特許文献１に記載の映像生成装置は、映像中継装置に接続されたヘッドマウントディスプレイの電源がオンになったときに、映像中継装置のファームウェアを自動更新する。しかし、車載機器のファームウェア更新には２０分〜３０分を要することがある。そのため、工場の検査ライン上で車両の電源オンとともにファームウェアの更新処理を開始すると、検査ラインの工程に大きな遅延を生じさせてしまう。
【００１６】
課題３．ファームウェア更新には、大きな変更を伴う場合と、小さな変更に過ぎない場合とがある。小さな変更の場合、車載機器間でバージョンを統一することは不要である。しかし、上記特許文献１に記載の技術では、小さな変更であってもプログラムの更新処理が実行される。その結果、場合によっては工場の検査ラインとして不要な更新処理が発生し、その間、車載機器を用いた作業・検査等が滞ってしまう。
【００１７】
課題４．複数の車載機器が、複数の通信経路で接続されることがある。しかし、上記特許文献１に記載の技術は、複数の通信経路で接続された複数の車載機器間でのファームウェア更新を想定したものではない。
【００１８】
以下、上記課題を解決する第１〜第３実施例のＩＶＩ（In-Vehicle Infotainment）システムを説明する。第１〜第３実施例のＩＶＩシステムは、従来のファームウェア更新時（１つの装置内でのファームウェア更新時）に使用するメモリ領域であり、工場出荷時には、空き領域となるメモリ領域に通信の対向機器用のファームウェアを格納することで課題１を解決する。
【００１９】
また、第１実施例のＩＶＩシステムは、ファームウェアの更新タイミングをユーザが制御可能にすることで課題２を解決する。なお、実施例のユーザは、操作表示装置１４の操作者ともいえ、例えば、カーディーラーの担当者であってもよい。
【００２０】
また、第２実施例のＩＶＩシステムは、各電子機器のファームウェアのバージョンをメジャーバージョンとマイナーバージョンに分けて管理する。複数の電子機器間でファームウェアのメジャーバージョンが異なる場合、ファームウェア更新を自動実行する。一方、ファームウェアのメジャーバージョンが同一であれば、マイナーバージョンの異同にかかわらず、ファームウェア更新を抑制する。これにより、課題３を解決する。
【００２１】
また、第３実施例のＩＶＩシステムでは、複数の電子機器の中のいずれかをマスター装置として設定する。そして、マスター装置が、複数の電子機器に記憶されたファームウェアのバージョンを集約して管理し、複数の電子機器間でのファームウェア更新を制御することで課題４を解決する。
【００２２】
（第１実施例）
図１は、第１実施例の車両１０の構成を模式的に示す。車両１０は、ＩＶＩシステム１２を備える。ＩＶＩシステム１２は、カーナビゲーション、オーディオ、テレビ、ラジオ等の機能を備える。ＩＶＩシステム１２は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８を備える。
【００２３】
ＩＶＩシステム１２を構成する複数の装置は、複数種類のバス（通信経路）を介して接続される。操作表示装置１４とナビゲーション制御装置１６の通信には、高い転送速度が求められるため、操作表示装置１４とナビゲーション制御装置１６は、第１のバスであるＵＳＢ（Universal Serial Bus）２０を介して通信する。一方、操作表示装置１４とアンプ１８の通信には、高い転送速度に加えて暗号化通信が求められるため、操作表示装置１４とアンプ１８は、第２のバスであるＭＯＳＴ（Media Oriented Systems Transport）２２を介して通信する。
【００２４】
操作表示装置１４は、ＩＶＩシステム１２のユーザインタフェースを提供する情報処理装置である。例えば、操作表示装置１４は、ユーザによる操作入力を受け付け、また、様々な画像、映像、情報をユーザへ提示する。ナビゲーション制御装置１６は、カーナビゲーションに関する各種データ処理（ルート探索等）を実行する情報処理装置である。アンプ１８は、操作表示装置１４から入力された音声信号を増幅する。
【００２５】
図２は、図１の操作表示装置１４の機能構成を示すブロック図である。操作表示装置１４は、通信部３０、記憶部３６、タッチスクリーン３８、操作受付部４０、データ処理部４２、表示制御部４４、プログラム更新部４６、バージョン取得部４８、判定部５０、プログラム送信部５２を備える。通信部３０は、第１通信部３２と第２通信部３４を含む。
【００２６】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２７】
例えば、操作表示装置１４内の複数の機能ブロックに対応する複数のモジュールを含むコンピュータプログラムが、所定の記録媒体に格納され、その記録媒体を介して操作表示装置１４にインストールされてもよい。また、上記コンピュータプログラムが、ネットワークを介してダウンロードされ、操作表示装置１４にインストールされてもよい。操作表示装置１４のＣＰＵは、そのコンピュータプログラムを適宜読み出して実行することにより、各機能ブロックの機能を発揮してもよい。
【００２８】
第１通信部３２は、ＵＳＢ２０とのインタフェース機能を提供する。操作表示装置１４の他の機能ブロックは、第１通信部３２を介してナビゲーション制御装置１６とデータを送受信する。第２通信部３４は、ＭＯＳＴ２２とのインタフェース機能を提供する。操作表示装置１４の他の機能ブロックは、第２通信部３４を介してアンプ１８とデータを送受信する。
【００２９】
記憶部３６は、各種データを記憶する記憶領域を含む。記憶部３６は、フラッシュメモリで実現されてもよい。図３は、記憶部３６の記憶領域を模式的に示す。記憶部３６は、ブートローダ領域６０、ファームウェア領域６２、ファームウェア領域６４、更新プログラム領域６６を含む。ブートローダ領域６０はブートローダを記憶する領域である。
【００３０】
ファームウェア領域６２およびファームウェア領域６４は、第１記憶部として、自機器の動作を規定したファームウェア（自機器用プログラム）を記憶する領域であり、操作表示装置１４では、操作表示装置１４の動作を規定したファームウェア（以下「操作表示装置用ＦＷ」とも呼ぶ。）を記憶する領域である。ファームウェア領域６２とファームウェア領域６４は、一方が運用面、他方が待機面として使用される。例えば、ファームウェア領域６２が運用面、ファームウェア領域６４が待機面の場合、ファームウェア領域６２に記憶された操作表示装置用ＦＷがＣＰＵにより実行され、ファームウェア領域６４に記憶された操作表示装置用ＦＷが更新対象となる。
【００３１】
更新プログラム領域６６は、操作表示装置用ＦＷを更新するための更新プログラム（以下「操作表示装置用更新プログラム」とも呼ぶ。）を記憶する領域である。操作表示装置用更新プログラムは、例えば、操作表示装置１４に記憶された既存の操作表示装置用ＦＷより新しいバージョンの操作表示装置用ＦＷである。操作表示装置１４を搭載した車両１０が工場から出荷された後のソフトウェア更新時に、ＵＳＢメモリまたは接続された他の装置等から読み出された操作表示装置用更新プログラムは、一旦更新プログラム領域６６に格納された後、ファームウェア領域６２またはファームウェア領域６４（待機面側）に反映される。
【００３２】
従来、操作表示装置１４を搭載した車両１０が工場から出荷される時点では、更新プログラム領域６６は、空の状態であり、言い換えれば、空き領域であった。実施例の操作表示装置１４では、工場出荷時、対向機の動作を規定したファームウェア（他機器用プログラム）が更新プログラム領域６６に格納される。第１実施例での対向機はナビゲーション制御装置１６であり、更新プログラム領域６６には、ナビゲーション制御装置１６のファームウェア（以下「ナビ用ＦＷ」とも呼ぶ。）が記憶される。
【００３３】
ＩＶＩシステム１２では、ソフトウェアの不具合や新規機能の織り込みをソフトウェアに付与するバージョンで管理する。操作表示装置１４は、記憶部３６のファームウェア領域６２およびファームウェア領域６４に記憶する操作表示装置用ＦＷのバージョン情報を記憶部３６に記憶する。記憶部３６のファームウェア領域６２およびファームウェア領域６４に記憶する操作表示装置用ＦＷは、自装置に適用されたファームウェアと言え、自装置で実行中のファームウェアとも言える。また、操作表示装置１４が工場から出荷されるとき、記憶部３６の更新プログラム領域６６には、ファームウェア領域６２およびファームウェア領域６４に記憶された操作表示装置用ＦＷに適合するバージョンのナビ用ＦＷが格納される。このナビ用ＦＷのバージョンも記憶部３６に記憶される。
【００３４】
なお、ナビゲーション制御装置１６の記憶部も操作表示装置１４の記憶部３６と同様の構成である。すなわち、ナビゲーション制御装置１６の記憶部では、ファームウェア領域６２およびファームウェア領域６４にナビ用ＦＷが記憶され、工場出荷時に更新プログラム領域６６に操作表示装置用ＦＷが記憶される。
【００３５】
図２に戻り、操作受付部４０は、タッチスクリーン３８に対してユーザが入力した操作を検出する。データ処理部４２は、記憶部３６に記憶された操作表示装置用ＦＷと、操作受付部４０で検出されたユーザ操作とに基づいて、操作表示装置１４固有の各種データ処理を実行する。実際には、操作表示装置１４のＣＰＵが、操作表示装置用ＦＷを実行することにより、データ処理部４２の機能を発揮してもよい。
【００３６】
データ処理部４２は、ナビゲーション制御装置１６およびアンプ１８と連携してデータ処理を実行する。データ処理部４２によるデータ処理は、第１通信部３２を介したナビゲーション制御装置１６とのデータ送受信を含み、また、第２通信部３４を介したアンプ１８とのデータ送受信を含む。例えば、データ処理部４２は、ナビゲーション制御装置１６から経路情報を受信し、その経路情報に基づいてナビゲーション画像を生成してもよい。
【００３７】
表示制御部４４は、タッチスクリーン３８での表示内容を制御する。例えば、表示制御部４４は、データ処理部４２により生成された画像および映像をタッチスクリーン３８に表示させる。
【００３８】
プログラム更新部４６は、外部装置（典型的にはＵＳＢメモリ）から入力された操作表示装置用更新プログラムを記憶部３６の更新プログラム領域６６に格納する。工場出荷後に、操作表示装置用更新プログラムが初めて入力された場合、プログラム更新部４６は、その操作表示装置用更新プログラムを、工場出荷時に記憶されていたナビ用ＦＷに代えて更新プログラム領域６６に記憶させる。プログラム更新部４６は、記憶部３６の更新プログラム領域６６に記憶された操作表示装置用更新プログラムに基づいて、記憶部３６のファームウェア領域６２またはファームウェア領域６４に記憶された既存の操作表示装置用ＦＷを更新する（言い換えればバージョンアップする）。
【００３９】
例えば、ファームウェア領域６２が運用面として選択され、ファームウェア領域６２の操作表示装置用ＦＷがＣＰＵにより実行されている場合、プログラム更新部４６は、待機面であるファームウェア領域６４に記憶された操作表示装置用ＦＷを更新する。プログラム更新部４６は、既存の操作表示装置用ＦＷのデータを、操作表示装置用更新プログラムのデータに置き換えてもよい。プログラム更新部４６は、操作表示装置用ＦＷを更新後、操作表示装置１４を再起動させ、ファームウェア領域６２とファームウェア領域６４の運用面／待機面を切り替えることにより、更新後の操作表示装置用ＦＷを実行させる。
【００４０】
バージョン取得部４８は、他機器に記憶された他機器用プログラムのバージョンを示すバージョン情報と、他機器に記憶された自機器用プログラムの種類およびバージョンを示すプログラム種類情報を他機器から取得する。第１実施例では、バージョン取得部４８は、第１通信部３２を介して、ナビゲーション制御装置１６に適用中のナビ用ＦＷのバージョン情報をナビゲーション制御装置１６から取得する。また、バージョン取得部４８は、ナビゲーション制御装置１６の更新プログラム領域６６に記憶されたプログラムの種類（典型的には操作表示装置用ＦＷまたはナビ用ＦＷ）と、そのバージョンを示すプログラム種類情報をナビゲーション制御装置１６から取得する。
【００４１】
判定部５０とプログラム送信部５２は、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、記憶部３６の更新プログラム領域６６に記憶された他機器用プログラムを他機器へ送信することにより、他機器に適用される他機器用プログラムを更新させる。以下、詳細に説明する。
【００４２】
判定部５０は、バージョン取得部４８により取得されたバージョン情報が示すバージョンであり、すなわち、ナビゲーション制御装置１６に適用されたナビ用ＦＷのバージョンを識別する。また、判定部５０は、バージョン取得部４８により取得されたプログラム種類情報が示すバージョンであり、すなわち、ナビゲーション制御装置１６の更新プログラム領域６６に記憶された操作表示装置用ＦＷのバージョンを識別する。また、判定部５０は、自機器のファームウェア領域６２またはファームウェア領域６４（運用面）に記憶された操作表示装置用ＦＷのバージョンであり、自装置に適用中の操作表示装置用ＦＷのバージョンを識別する。また、判定部５０は、自機器の更新プログラム領域６６に記憶されたナビ用ＦＷのバージョンを識別する。
【００４３】
判定部５０は、操作受付部４０が第１の操作（具体的にはソフトウェア更新画面の表示を指示する操作）を受け付けたことを条件として、操作表示装置１４に記憶された操作表示装置用ＦＷのバージョンとナビ用ＦＷのバージョンを表示制御部４４に通知する。それとともに、判定部５０は、ナビゲーション制御装置１６に記憶されたナビ用ＦＷのバージョンと操作表示装置用ＦＷのバージョンを表示制御部４４に通知する。判定部５０は、各装置が記憶するファームウェアのバージョンを示す内容のソフトウェア更新画面をタッチスクリーン３８に表示させる処理を表示制御部４４に実行させる。
【００４４】
判定部５０は、ナビゲーション制御装置１６に適用されたナビ用ＦＷのバージョンと、操作表示装置１４の更新プログラム領域６６に記憶されたナビ用ＦＷのバージョンを比較し、両者のバージョンが適合するか否か（実施例では一致するか否か）を判定する。また、判定部５０は、更新プログラム領域６６に記憶されたナビ用ＦＷのバージョンに対してナビゲーション制御装置１６に適用されたナビ用ＦＷのバージョンが古い場合、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新を決定する。
【００４５】
また、判定部５０は、ナビゲーション制御装置１６から取得されたプログラム種類情報が操作表示装置用ＦＷを示す場合、そのバージョンを識別する。判定部５０は、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンと、操作表示装置１４に適用された操作表示装置用ＦＷのバージョンを比較し、両者のバージョンが適合するか否か（実施例では一致するか否か）を判定する。判定部５０は、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンに対して操作表示装置１４に適用された操作表示装置用ＦＷのバージョンが古い場合、ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新を決定する。
【００４６】
判定部５０は、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新を決定した場合、または、ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新を決定した場合、確認画面をタッチスクリーン３８に表示させる処理を表示制御部４４に実行させる。確認画面は、ファームウェアのバージョンが不適合である旨を示し、かつ、ファームウェアの更新有無をユーザに確認する内容を含む。
【００４７】
プログラム送信部５２は、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新が判定部５０により決定された場合、操作受付部４０が第２の操作（具体的には確認画面に対するファームウェアの更新を指示する操作）を受け付けたことを条件として、記憶部３６の更新プログラム領域６６に記憶されたナビ用ＦＷをナビゲーション制御装置１６へ送信する。すなわち、プログラム送信部５２は、ナビゲーション制御装置１６に適用中のナビ用ＦＷより新しいバージョンのナビ用ＦＷをナビゲーション制御装置１６へ提供し、ナビゲーション制御装置１６に適用されるナビ用ＦＷをバージョンアップさせる。
【００４８】
プログラム更新部４６は、他機器に適用中の他機器用プログラムの情報に関する所定の条件が満たされた場合、他機器に保持される自機器用プログラムを他機器から取得し、自機器に適用された既存の自機器用プログラムを更新する。更新方法は、ＵＳＢメモリ等から自機器用プログラムの更新データが入力された場合と同様である。
【００４９】
具体的には、プログラム更新部４６は、ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新が判定部５０により決定された場合、操作受付部４０が上記第２の操作を受け付けたことを条件として、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷをナビゲーション制御装置１６から取得する。プログラム更新部４６は、ナビゲーション制御装置１６から取得した操作表示装置用ＦＷを更新プログラム領域６６に一旦格納する。プログラム更新部４６は、更新プログラム領域６６に格納した操作表示装置用ＦＷに基づいて、ファームウェア領域６２またはファームウェア領域６４（待機面側）に記憶された既存の操作表示装置用ＦＷを更新する。
【００５０】
一部既述したが、ナビゲーション制御装置１６は、操作表示装置１４の第１通信部３２、記憶部３６、データ処理部４２、プログラム更新部４６、バージョン取得部４８、判定部５０、プログラム送信部５２に対応する機能ブロックを含む。ナビゲーション制御装置１６は、記憶部３６のファームウェア領域６２およびファームウェア領域６４にナビ用ＦＷを記憶する。また、ナビゲーション制御装置１６は、工場出荷時、記憶部３６の更新プログラム領域６６に操作表示装置用ＦＷを記憶する。
【００５１】
なお、第１実施例では、自機器が保持する他機器用プログラムを他機器へ送信することにより、他機器に適用される他機器用プログラムを更新させる他機器更新処理と、他機器に保持される自機器用プログラムを他機器から取得し、自機器に適用された自機器用プログラムを更新する自機器更新処理のいずれも、第２の操作（例えば確認画面におけるファームウェア更新を指示する操作）の入力を条件として実行した。変形例として、他機器更新処理を指示する操作と、自機器更新処理を指示する操作は異なってもよい。例えば、確認画面おいて他機器のファームウェア更新を指示する第１のボタンが押下されたことを条件として他機器更新処理を実行し、確認画面において自機器のファームウェア更新を指示する第２のボタンが押下されたことを条件として自機器更新処理を実行してもよい。
【００５２】
以上の構成による操作表示装置１４の動作を説明する。
図４は、第１実施例の操作表示装置１４の動作を示すフローチャートである。ここでは、カーディーラーにおいて、工場出荷直後の車両１０の電源がオンにされたことを想定する。車両１０の電源がオンにされると、操作表示装置１４（およびナビゲーション制御装置１６、アンプ１８）の電源がオンに切り替わる（Ｓ１０）。データ処理部４２は、ファームウェア領域６２またはファームウェア領域６４（運用面側）に記憶された操作表示装置用ＦＷと、タッチスクリーン３８に入力されたユーザ操作と、ナビゲーション制御装置１６から受信したデータに基づいて、ナビゲーション画面のデータを生成する。表示制御部４４は、ナビゲーション画面をタッチスクリーン３８に表示させる（Ｓ１２）。
【００５３】
ナビゲーション画面においてソフトウェア更新画面への遷移操作が入力されると（Ｓ１４のＹ）、バージョン取得部４８は、ナビゲーション制御装置１６のバージョン情報およびプログラム種類情報をナビゲーション制御装置１６から取得する（Ｓ１６）。判定部５０は、操作表示装置１４に記憶されたファームウェアのバージョンと、ナビゲーション制御装置１６に記憶されたファームウェアのバージョンを示すソフトウェア更新画面を、表示制御部４４を介してタッチスクリーン３８に表示させる（Ｓ１８）。
【００５４】
ナビゲーション制御装置１６に適用されたナビ用ＦＷのバージョンが、操作表示装置１４に記憶されたナビ用ＦＷのバージョンより古い場合、または、操作表示装置１４に適用された操作表示装置用ＦＷのバージョンが、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンより古い場合（Ｓ２０のＹ）、判定部５０は、表示制御部４４を介してタッチスクリーン３８に確認画面を表示させる（Ｓ２２）。
【００５５】
図５は、ソフトウェア更新画面の例を示す。既述したように、ソフトウェア更新画面７０では、操作表示装置１４に記憶された操作表示装置用ＦＷのバージョンと、操作表示装置１４に記憶されたナビ用ＦＷのバージョンが表示される。また、ソフトウェア更新画面７０では、ナビゲーション制御装置１６に記憶されたナビ用ＦＷのバージョンと、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンが表示される。これらのバージョンが不適合である場合、ソフトウェア更新画面７０上に確認画面７２がポップアップ表示される。確認画面７２は、ファームウェアの自動更新をユーザが指示するための更新ボタン７４を含む。両者のバージョンが適合する場合、確認画面７２は表示されない。なお、図５では、各装置に記憶された操作表示装置用ＦＷのバージョンとナビ用ＦＷのバージョンが一致することとしたが、ファームウェアごとに独立してバージョンが管理されてもよく、同じ装置に記憶された操作表示装置用ＦＷのバージョンとナビ用ＦＷのバージョンが異なってもよい。
【００５６】
図４に戻り、確認画面７２の更新ボタン７４に対するユーザの選択操作が検出され（Ｓ２４のＹ）、かつ、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新が決定された場合（すなわち操作表示装置１４に記憶されたナビ用ＦＷのバージョンに対してナビゲーション制御装置１６に記憶されたナビ用ＦＷのバージョンが古い場合）（Ｓ２６のＹ）、プログラム送信部５２は、更新プログラム領域６６に記憶されたナビ用ＦＷのデータをナビゲーション制御装置１６へ送信する（Ｓ２８）。これにより、プログラム送信部５２は、操作表示装置１４に適用される操作表示装置用ＦＷに適合するバージョンになるようにナビゲーション制御装置１６に適用されるナビ用ＦＷを更新させる。
【００５７】
図６（ａ）と図６（ｂ）は、プログラム更新の例を示す。図６（ａ）に示すように、この例では、操作表示装置１４に記憶されたナビ用ＦＷのバージョン（バージョン２）が、ナビゲーション制御装置１６に記憶されたナビ用ＦＷのバージョン（バージョン１）より新しい。そのため、図６（ｂ）に示すように、操作表示装置１４のプログラム送信部５２は、自装置に記憶されたナビ用ＦＷ（バージョン２）をナビゲーション制御装置１６へ送信する。ナビゲーション制御装置１６のプログラム更新部４６は、ナビ用ＦＷ（バージョン２）を、更新プログラム領域６６に一旦格納した後、ファームウェア領域６２またはファームウェア領域６４に反映する。
【００５８】
図４に戻り、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新が決定されなければ（Ｓ２６のＮ）、Ｓ２８の処理をスキップする。ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新が決定された場合（すなわちナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンに対して操作表示装置１４に記憶された操作表示装置用ＦＷのバージョンが古い場合）（Ｓ３０のＹ）、プログラム更新部４６は、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷをナビゲーション制御装置１６から取得する（Ｓ３２）。例えば、ナビゲーション制御装置１６のプログラム送信部５２は、自装置に予め記憶された操作表示装置用ＦＷを操作表示装置１４へ送信し、操作表示装置１４のプログラム更新部４６は、その操作表示装置用ＦＷを受信してもよい。
【００５９】
プログラム更新部４６は、ナビゲーション制御装置１６から取得した操作表示装置用ＦＷに基づいて、ファームウェア領域６２またはファームウェア領域６４（待機面側）に記憶された既存の操作表示装置用ＦＷを更新する（Ｓ３４）。これにより、プログラム更新部４６は、ナビゲーション制御装置１６に適用されるナビ用ＦＷに適合するバージョンになるように操作表示装置１４に適用される操作表示装置用ＦＷを更新させる。ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新が決定されなければ（Ｓ３０のＮ）、Ｓ３２とＳ３４の処理をスキップする。
【００６０】
ナビゲーション画面でソフトウェア更新画面への遷移操作が入力されなければ（Ｓ１４のＮ）、以降の処理をスキップして本図のフローを終了し、操作表示装置１４は、ナビゲーション映像の表示等、通常処理を実行する。すなわち、明示的なユーザ操作がなければ、ソフトウェア更新画面を表示せず、また、複数の電子機器間でのバージョン不適合に基づくエラーも表示しない。例えば、ソフトウェア更新画面の確認が本来不要な車両工場の検査ラインで、車両１０の電源オン時に自動的にエラー表示がなされてしまうことを抑制する。これにより、操作表示装置１４、ナビゲーション制御装置１６が誤って不良品と判定されることを防止し、ロスコストを削減できる。
【００６１】
また、ナビゲーション制御装置１６に適用されたナビ用ＦＷのバージョンが、操作表示装置１４に記憶されたナビ用ＦＷのバージョンより新しく、もしくは一致し、かつ、操作表示装置１４に適用された操作表示装置用ＦＷのバージョンが、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンより新しく、もしくは一致する場合（Ｓ２０のＮ）、以降の処理をスキップして本図のフローを終了する。また、確認画面７２の更新ボタン７４に対するユーザの選択操作が入力されなければ（Ｓ２４のＮ）、以降の処理をスキップして本図のフローを終了する。すなわち、明示的なユーザ操作がなければ、プログラム更新を実行しない。これにより、車両工場の検査ラインで自動的にプログラム更新が開始されてしまい、検査ラインの工程に遅延を生じさせてしまうことを防止できる。
【００６２】
第１実施例の操作表示装置１４は、自装置のファームウェアに適合するナビゲーション制御装置１６のファームウェアを、工場出荷時に空き領域とされるメモリ領域に記憶する。これにより、ナビゲーション制御装置１６のファームウェアのデータサイズ分、操作表示装置１４のメモリサイズを増加させることが不要になる。すなわち、操作表示装置１４のコスト増加を抑止しつつ、操作表示装置１４とナビゲーション制御装置１６の双方向でのファームウェアのバージョンアップを実現できる。
【００６３】
（第２実施例）
第２実施例のＩＶＩシステム１２の構成要素は、第１実施例と同様である（図１）。第２実施例のＩＶＩシステム１２は、各装置のバージョンを、メジャーバージョンとマイナーバージョンに分けて管理する点で第１実施例と異なる。以下、第１実施例で説明済みの内容は再度の説明を適宜省略し、第１実施例と異なる点を主に説明する。
【００６４】
図７は、第２実施例の操作表示装置１４の機能構成を示すブロック図である。第２実施例の操作表示装置１４は、判定部５０、プログラム送信部５２、プログラム更新部４６が連携して、自装置または他装置のファームウェアを自発的に更新する点で第１実施例と異なる。第２実施例の操作表示装置１４の対向機は、第１実施例と同様にナビゲーション制御装置１６とする。
【００６５】
バージョン取得部４８は、ナビゲーション制御装置１６に適用されたナビ用ＦＷのメジャーバージョンおよびマイナーバージョンを示すバージョン情報をナビゲーション制御装置１６から取得する。また、バージョン取得部４８は、ナビゲーション制御装置１６の更新プログラム領域６６に記憶された操作表示装置用ＦＷのメジャーバージョンおよびマイナーバージョンを示すバージョン情報をナビゲーション制御装置１６から取得する。
【００６６】
第２実施例では、ファームウェアの変更の規模が相対的に大きい場合（例えば大規模な機能追加や大規模な不具合修正がなされた場合）に、ファームウェアのメジャーバージョンが変更され、ファームウェアの変更の規模が相対的に小さい場合にファームウェアのマイナーバージョンが変更される。また、一方の電子機器のファームウェアが変更され、それに伴って他方の電子機器のファームウェアにも変更が生じた場合、双方の電子機器のファームウェアのメジャーバージョンが変更される。例えば、操作表示装置用ＦＷが変更され、それに伴ってナビ用ＦＷにも変更が生じた場合、または、ナビ用ＦＷが変更され、それに伴って操作表示装置用ＦＷにも変更が生じた場合、操作表示装置用ＦＷとナビ用ＦＷ両方のメジャーバージョンがインクリメントされる。
【００６７】
既述したように、操作表示装置１４の更新プログラム領域６６に格納されるナビ用ＦＷのバージョンは、操作表示装置１４のファームウェア領域６２またはファームウェア領域６４（運用面）に格納される操作表示装置用ＦＷのバージョンに適合する。したがって、ナビゲーション制御装置１６のファームウェア領域６２またはファームウェア領域６４（運用面）に格納されるナビ用ＦＷのメジャーバージョンが、操作表示装置１４の更新プログラム領域６６に格納されるナビ用ＦＷのメジャーバージョンより古い場合、ナビゲーション制御装置１６のナビ用ＦＷをバージョンアップ（操作表示装置１４に記憶されたナビ用ＦＷを反映）する必要がある。
【００６８】
一方の電子機器のファームウェアの変更が、他方の電子機器のファームウェアに影響を与えない場合、言い換えれば、一方の電子機器のファームウェアが変更されても、他方の電子機器のファームウェアは変更不要である場合、上記一方の電子機器のみマイナーバージョンが変更される。例えば、操作表示装置用ＦＷが変更されたもののナビ用ＦＷは変更されない場合、操作表示装置用ＦＷのみマイナーバージョンがインクリメントされる。また、ナビ用ＦＷが変更されたものの操作表示装置用ＦＷが変更されない場合、ナビ用ＦＷのみマイナーバージョンがインクリメントされる。
【００６９】
判定部５０は、操作表示装置１４の更新プログラム領域６６に記憶されたナビ用ＦＷのメジャーバージョンとマイナーバージョンを記憶部３６から読み込む。判定部５０は、更新プログラム領域６６に記憶されたナビ用ＦＷのメジャーバージョンと、ナビゲーション制御装置１６に適用されたナビ用ＦＷのメジャーバージョンとを比較し、両者が一致するか否かを判定する。更新プログラム領域６６に記憶されたナビ用ＦＷのメジャーバージョンに対してナビゲーション制御装置１６に適用されたナビ用ＦＷのメジャーバージョンが古い場合、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新を決定する。
【００７０】
また、判定部５０は、操作表示装置１４のファームウェア領域６２またはファームウェア領域６４（運用面）に記憶された操作表示装置用ＦＷメジャーバージョンとマイナーバージョンを記憶部３６から読み込む。判定部５０は、操作表示装置１４に記憶された操作表示装置用ＦＷのメジャーバージョンと、ナビゲーション制御装置１６から取得されたバージョン情報が示すナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのメジャーバージョンとを比較し、両者が一致するか否かを判定する。ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのメジャーバージョンに対して操作表示装置１４に記憶された操作表示装置用ＦＷのメジャーバージョンが古い場合、ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新を決定する。
【００７１】
プログラム送信部５２は、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新が判定部５０により決定された場合、記憶部３６の更新プログラム領域６６に記憶されたナビ用ＦＷをナビゲーション制御装置１６へ送信することにより、ナビゲーション制御装置１６に適用されるファームウェアを更新させる。プログラム送信部５２は、操作表示装置１４の更新プログラム領域６６に記憶されたナビ用ＦＷのメジャーバージョンと、ナビゲーション制御装置１６に適用されたナビ用ＦＷのメジャーバージョンが一致すれば、前者のナビ用ＦＷのマイナーバージョンに対して後者のナビ用ＦＷのマイナーバージョンが古い場合でも、更新プログラム領域６６に記憶されたナビ用ＦＷをナビゲーション制御装置１６へ送信することを抑制する。
【００７２】
また、プログラム更新部４６は、ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新が判定部５０により決定された場合、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷをナビゲーション制御装置１６から取得し、ファームウェア領域６２またはファームウェア領域６４（待機面側）に記憶された既存の操作表示装置用ＦＷを更新する。具体的には、第１実施例と同様に、プログラム更新部４６は、ナビゲーション制御装置１６から取得した操作表示装置用ＦＷを更新プログラム領域６６に一旦格納する。プログラム更新部４６は、更新プログラム領域６６に格納した操作表示装置用ＦＷに基づいて、ファームウェア領域６２またはファームウェア領域６４（待機面側）に記憶された既存の操作表示装置用ＦＷを更新する。
【００７３】
プログラム更新部４６は、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのメジャーバージョンと、操作表示装置１４に記憶された操作表示装置用ＦＷのメジャーバージョンが一致すれば、前者の操作表示装置用ＦＷのマイナーバージョンに対して後者の操作表示装置用ＦＷのマイナーバージョンが古い場合でも、ファームウェア領域６２またはファームウェア領域６４（待機面側）に記憶された既存の操作表示装置用ＦＷを更新することを抑制する。この場合、プログラム更新部４６は、ナビゲーション制御装置１６から操作表示装置用ＦＷを取得することを抑制してもよい。
【００７４】
図８は、第２実施例の操作表示装置１４の動作を示すフローチャートである。車両１０の電源がオンにされると、操作表示装置１４（およびナビゲーション制御装置１６、アンプ１８）の電源がオンに切り替わる（Ｓ４０）。バージョン取得部４８は、ナビゲーション制御装置１６からバージョン情報およびプログラム種類情報を取得する（Ｓ４２）。ナビゲーション制御装置１６に適用されたナビ用ＦＷのメジャーバージョンと、操作表示装置１４に記憶されたナビ用ＦＷのメジャーバージョンが不一致の場合、または、操作表示装置１４に適用された操作表示装置用ＦＷのメジャーバージョンと、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのメジャーバージョンが不一致の場合（Ｓ４４のＹ）、判定部５０は、操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新を決定し、および／または、ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新を決定する。
【００７５】
操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新が決定された場合（Ｓ４６のＹ）、プログラム送信部５２は、更新プログラム領域６６に記憶されたナビ用ＦＷのデータをナビゲーション制御装置１６へ送信する（Ｓ４８）。操作表示装置１４からナビゲーション制御装置１６へのナビ用ＦＷの更新が決定されなければ（Ｓ４６のＮ）、Ｓ４８の処理をスキップする。
【００７６】
ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新が決定された場合（Ｓ５０のＹ）、プログラム更新部４６は、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷをナビゲーション制御装置１６から取得する（Ｓ５２）。プログラム更新部４６は、ナビゲーション制御装置１６から取得した操作表示装置用ＦＷに基づいて、ファームウェア領域６２またはファームウェア領域６４（待機面側）に記憶された既存の操作表示装置用ＦＷを更新する（Ｓ５４）。プログラム更新部４６は、操作表示装置１４を再起動させ、ファームウェア領域６２とファームウェア領域６４の運用面／待機面を切り替えることにより、バージョンアップされた操作表示装置用ＦＷを有効にする（Ｓ５６）。ナビゲーション制御装置１６から操作表示装置１４への操作表示装置用ＦＷの更新が決定されなければ（Ｓ５０のＮ）、Ｓ５２〜Ｓ５６の処理をスキップする。
【００７７】
データ処理部４２は、ファームウェア領域６２またはファームウェア領域６４（運用面側）に記憶された操作表示装置用ＦＷに基づいて、ナビゲーション画面のデータを生成する。表示制御部４４は、ナビゲーション画面をタッチスクリーン３８に表示させる（Ｓ５８）。
【００７８】
ナビゲーション制御装置１６に適用されたナビ用ＦＷのメジャーバージョンと、操作表示装置１４に記憶されたナビ用ＦＷのメジャーバージョンが一致し、かつ、操作表示装置１４に適用された操作表示装置用ＦＷのメジャーバージョンと、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのメジャーバージョンが一致する場合（Ｓ４４のＮ）、ナビ用ＦＷのマイナーバージョンの異同および操作表示装置用ＦＷのマイナーバージョンの異同に関わらずＳ５８へ進み、通常のナビゲーション画面を表示させる。このように、不要なファームウェア更新処理をスキップするため、ファームウェア更新処理に要する時間（例えば２０分〜３０分）、ユーザを待たせてしまうことを回避できる。
【００７９】
図９（ａ）、図９（ｂ）、図９（ｃ）は、プログラム更新の例を示す。この例では、バージョンの３桁目をメジャーバージョンとし、２桁目と１桁目をマイナーバージョンとする。図９（ａ）の操作表示装置１４に記憶されたファームウェアとナビゲーション制御装置１６に記憶されたファームウェアは、メジャーバージョンが一致し、マイナーバージョンが相違する。この場合、ファームウェアの自動更新は行わない。
【００８０】
一方、図９（ｂ）の操作表示装置１４に記憶されたファームウェアとナビゲーション制御装置１６に記憶されたファームウェアは、メジャーバージョンが相違する。そのため、図９（ｃ）に示すように、操作表示装置１４のプログラム送信部５２は、自装置に記憶されたナビ用ＦＷ（バージョン２０１）をナビゲーション制御装置１６へ送信する。ナビゲーション制御装置１６のプログラム更新部４６は、ナビ用ＦＷ（バージョン２０１）を、一旦更新プログラム領域６６に格納した後、ファームウェア領域６２またはファームウェア領域６４に反映させる。
【００８１】
（第３実施例）
第３実施例のＩＶＩシステム１２の構成要素は、第１実施例と同様である（図１）。第３実施例のＩＶＩシステム１２は、複数種類のバスを介して接続された複数の電子機器間でファームウェアを更新する点で第１実施例と異なる。第３実施例において、ファームウェアの更新対象となる電子機器は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８である。以下、第１実施例で説明済みの内容は再度の説明を適宜省略し、第１実施例と異なる点を主に説明する。
【００８２】
既述したように、ＩＶＩシステム１２は、ＵＳＢ２０を介してナビゲーション制御装置１６と通信し、ＭＯＳＴ２２を介してアンプ１８と通信する。第３実施例のＩＶＩシステム１２では、ＵＳＢ２０とＭＯＳＴ２２の両方に接続される操作表示装置１４が、マスタ装置として、ＩＶＩシステム１２を構成する各装置のファームウェア更新を集中的に管理する。変形例として、操作表示装置１４以外の装置がマスタ装置としての機能を備えてもよい。第３実施例の操作表示装置１４の機能ブロックは、第２実施例の操作表示装置１４と同様である（図７）。
【００８３】
少なくとも操作表示装置１４の工場出荷時、記憶部３６の更新プログラム領域６６には、ナビゲーション制御装置１６の動作を規定したファームウェア（すなわちナビ用ＦＷ）と、アンプ１８の動作を規定したファームウェア（以下「アンプ用ＦＷ」と呼ぶ。）とが格納される。同様に、工場出荷時のナビゲーション制御装置１６の更新プログラム領域６６には、操作表示装置用ＦＷとアンプ用ＦＷが格納される。また、工場出荷時のアンプ１８の更新プログラム領域６６には、操作表示装置用ＦＷとナビ用ＦＷが格納される。
【００８４】
以下、マスタ装置としての操作表示装置１４の機能を説明する。バージョン取得部４８は、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷ、ナビ用ＦＷ、アンプ用ＦＷそれぞれのバージョン情報をナビゲーション制御装置１６から取得する。また、バージョン取得部４８は、アンプ１８に記憶された操作表示装置用ＦＷ、ナビ用ＦＷ、アンプ用ＦＷそれぞれのバージョン情報をアンプ１８から取得する。
【００８５】
判定部５０は、操作表示装置１４に記憶された操作表示装置用ＦＷのバージョンと、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのバージョンと、アンプ１８に記憶されたアンプ用ＦＷのバージョンの異同を判定する。判定部５０は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のうち最も新しいバージョンの操作表示装置用ＦＷを記憶する機器を、操作表示装置用ＦＷの更新プログラムの提供元として決定する。
【００８６】
また、判定部５０は、操作表示装置１４に記憶されたナビ用ＦＷのバージョンと、ナビゲーション制御装置１６に記憶されたナビ用ＦＷのバージョンと、アンプ１８に記憶されたナビ用ＦＷのバージョンの異同を判定する。判定部５０は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のうち最も新しいバージョンのナビ用ＦＷを記憶する機器を、ナビ用ＦＷの更新プログラムの提供元として決定する。
【００８７】
また、判定部５０は、操作表示装置１４に記憶されたアンプ用ＦＷのバージョンと、ナビゲーション制御装置１６に記憶されたアンプ用ＦＷのバージョンと、アンプ１８に記憶されたアンプ用ＦＷのバージョンの異同を判定する。判定部５０は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のうち最も新しいバージョンのアンプ用ＦＷを記憶する機器を、アンプ用ＦＷの更新プログラムの提供元として決定する。
【００８８】
操作表示装置１４のプログラム更新部４６およびプログラム送信部５２は、操作表示装置用ＦＷ、ナビ用ＦＷ、アンプ用ＦＷのそれぞれについて、判定部５０により決定された更新プログラムの提供元機器から他機器へ最新バージョンのファームウェアを反映させる処理を実行する。
【００８９】
図１０は、第３実施例の操作表示装置１４の動作を示すフローチャートである。車両１０の電源がオンにされると、操作表示装置１４（およびナビゲーション制御装置１６、アンプ１８）の電源がオンに切り替わる（Ｓ６０）。バージョン取得部４８は、ナビゲーション制御装置１６に記憶された各ファームウェアのバージョン情報をナビゲーション制御装置１６から取得し、アンプ１８に記憶された各ファームウェアのバージョン情報をアンプ１８から取得する（Ｓ６２）。判定部５０は、操作表示装置用ＦＷ、ナビ用ＦＷ、アンプ用ＦＷそれぞれの最新バージョンを記憶する機器を特定する（Ｓ６４）。
【００９０】
ナビ用ＦＷの更新タイミング（例えば起動時または明示的な更新指示受付時）であり（Ｓ６６のＹ）、アンプ１８が最新バージョンのナビ用ＦＷを記憶する場合（Ｓ６８のＹ）、操作表示装置１４のプログラム更新部４６は、アンプ１８からナビ用ＦＷを取得する（Ｓ７０）。プログラム送信部５２は、取得されたナビ用ＦＷをナビゲーション制御装置１６へ転送する（Ｓ７２）。操作表示装置１４が最新バージョンのナビ用ＦＷを記憶する場合（Ｓ６８のＮ）（Ｓ７４のＹ）、プログラム送信部５２は、自装置の更新プログラム領域６６に記憶されたナビ用ＦＷをナビゲーション制御装置１６へ送信する（Ｓ７６）。ナビゲーション制御装置１６が最新バージョンのナビ用ＦＷを記憶する場合、すなわち、最新バージョンのナビ用ＦＷが既にナビゲーション制御装置１６に適用中の場合（Ｓ７４のＮ）、ナビ用ＦＷの更新処理を終了する。ナビ用ＦＷの更新タイミングでなければ（Ｓ６６のＮ）、Ｓ６８〜Ｓ７６をスキップする。
【００９１】
アンプ用ＦＷの更新タイミングであり（Ｓ７８のＹ）、ナビゲーション制御装置１６が最新バージョンのアンプ用ＦＷを記憶する場合（Ｓ８０のＹ）、操作表示装置１４のプログラム更新部４６は、ナビゲーション制御装置１６からアンプ用ＦＷを取得する（Ｓ８２）。プログラム送信部５２は、取得されたアンプ用ＦＷをアンプ１８へ転送する（Ｓ８４）。操作表示装置１４が最新バージョンのアンプ用ＦＷを記憶する場合（Ｓ８０のＮ）（Ｓ８６のＹ）、プログラム送信部５２は、自装置の更新プログラム領域６６に記憶されたアンプ用ＦＷをアンプ１８へ送信する（Ｓ８８）。アンプ１８が最新バージョンのアンプ用ＦＷを記憶する場合、すなわち、最新バージョンのアンプ用ＦＷが既にアンプ１８に適用中の場合（Ｓ８６のＮ）、アンプ用ＦＷの更新処理を終了する。アンプ用ＦＷの更新タイミングでなければ（Ｓ７８のＮ）、Ｓ８０〜Ｓ８８をスキップする。
【００９２】
操作表示装置用ＦＷの更新タイミングであり（Ｓ９０のＹ）、ナビゲーション制御装置１６またはアンプ１８が最新バージョンの操作表示装置用ＦＷを記憶する場合（Ｓ９２のＹ）、操作表示装置１４のプログラム更新部４６は、ナビゲーション制御装置１６またはアンプ１８から最新バージョンの操作表示装置用ＦＷを取得する（Ｓ９４）。プログラム更新部４６は、取得した操作表示装置用ＦＷに基づいて、自機器が記憶する既存の操作表示装置用ＦＷをバージョンアップし（Ｓ９６）、再起動を行う（Ｓ９８）。以降、データ処理部４２は、バージョンアップされた操作表示装置用ＦＷに基づいて、ナビゲーション画面を生成し、表示させる（Ｓ１００）。操作表示装置１４が最新バージョンの操作表示装置用ＦＷを記憶する場合、すなわち、最新バージョンの操作表示装置用ＦＷが既に自機器に適用中の場合（Ｓ９２のＮ）、操作表示装置用ＦＷの更新処理を終了する。操作表示装置用ＦＷの更新タイミングでなければ（Ｓ９０のＮ）、Ｓ９２〜Ｓ９８をスキップする。
【００９３】
図１１（ａ）と図１１（ｂ）は、プログラム更新の例を示す。図１１（ａ）に示すように、この例では、アンプ１８に記憶されたファームウェアのバージョン（バージョン３）が、操作表示装置１４に記憶されたファームウェアのバージョン（バージョン２）より新しく、かつ、ナビゲーション制御装置１６に記憶されたファームウェアのバージョン（バージョン１）より新しい。したがって、マスタ装置である操作表示装置１４の判定部５０は、各ファームウェアの更新プログラムの提供元としてアンプ１８を決定する。
【００９４】
図１１（ｂ）に示すように、操作表示装置１４のプログラム更新部４６は、アンプ１８に記憶された操作表示装置用ＦＷ（バージョン３）とナビ用ＦＷ（バージョン３）をアンプ１８から取得して、更新プログラム領域６６に一旦格納する。実際には、アンプ１８のプログラム送信部５２が、自律的に操作表示装置用ＦＷ（バージョン３）とナビ用ＦＷ（バージョン３）を操作表示装置１４へ送信し、操作表示装置１４のプログラム更新部４６は、それらのファームウェアを受信してもよい。
【００９５】
操作表示装置１４のプログラム更新部４６は、操作表示装置用ＦＷ（バージョン３）をファームウェア領域６２またはファームウェア領域６４に反映する。操作表示装置１４のプログラム送信部５２は、ナビ用ＦＷ（バージョン３）をナビゲーション制御装置１６へ送信する。ナビゲーション制御装置１６のプログラム更新部４６は、ナビ用ＦＷ（バージョン３）を更新プログラム領域６６に一旦格納した後、ファームウェア領域６２またはファームウェア領域６４に反映する。
【００９６】
多くの車両は、異なる性質を持つ複数種類のバス（通信経路）を備え、複数の車載装置のそれぞれは、処理対象となるデータの性質等に適合するバスに接続される。第３実施例の操作表示装置１４によると、異なる種類のバスを介して複数の車載装置が連携するシステムにおいて、ファームウェアの自発更新を実現できる。なお、第３実施例で示したように、複数種類のバスのいずれにも接続される操作表示装置１４をマスタ装置として設定し、複数の車載装置のバージョンを集約し、また、複数の車載装置間でのファームウェア更新を制御する処理を操作表示装置１４に実行させることが効率的である。
【００９７】
以上、本発明を第１〜第３実施例をもとに説明した。これらの実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９８】
第１変形例を説明する。第２実施例の操作表示装置１４は、ユーザの操作に依存せず、自発的にプログラム更新を実行したが、変形例として、第１実施例の技術を適用し、ユーザの操作を条件としてプログラム更新を実行してもよい。例えば、判定部５０は、ソフトウェア更新画面７０の表示を指示する操作が入力された場合に、操作表示装置１４に適用中の操作表示装置用ＦＷのメジャーバージョンおよびマイナーバージョンと、ナビゲーション制御装置１６に適用中のナビ用ＦＷのメジャーバージョンおよびマイナーバージョンを示すソフトウェア更新画面７０を表示させてもよい。
【００９９】
判定部５０は、操作表示装置１４に適用中の操作表示装置用ＦＷのメジャーバージョンが、ナビゲーション制御装置１６に記憶された操作表示装置用ＦＷのメジャーバージョンより古い場合、または、ナビゲーション制御装置１６に適用中のナビ用ＦＷのメジャーバージョンが、操作表示装置１４に記憶されたナビ用ＦＷのバージョンより古い場合に確認画面７２を表示させてもよい。そして、確認画面７２に対してプログラム更新を指示する操作が入力された場合に、操作表示装置１４に記憶された操作表示装置用ＦＷまたはナビゲーション制御装置１６に記憶されたナビ用ＦＷを更新してもよい。
【０１００】
第２変形例を説明する。第３実施例の操作表示装置１４は、ユーザの操作に依存せず、自発的にプログラム更新を実行したが、変形例として、第１実施例の技術を適用し、ユーザの操作を条件としてプログラム更新を実行してもよい。例えば、判定部５０は、ソフトウェア更新画面７０の表示を指示する操作が入力された場合に、操作表示装置１４に適用中の操作表示装置用ＦＷ、ナビゲーション制御装置１６に適用中のナビ用ＦＷ、アンプ１８に適用中のアンプ用ＦＷそれぞれのバージョンを示すソフトウェア更新画面７０を表示させてもよい。
【０１０１】
判定部５０は、最新バージョンの操作表示装置用ＦＷが操作表示装置１４以外に記憶されていること、最新バージョンのナビ用ＦＷがナビゲーション制御装置１６以外に記憶されていること、最新バージョンのアンプ用ＦＷがアンプ１８以外に記憶されていることの少なくとも１つに該当する場合に確認画面７２を表示させてもよい。そして、確認画面７２に対してプログラム更新を指示する操作が入力された場合に、操作表示装置１４（すなわちマスタ装置）は、最新バージョンの操作表示装置用ＦＷを操作表示装置１４に反映させる処理、最新バージョンのナビ用ＦＷをナビゲーション制御装置１６に反映させる処理、最新バージョンのアンプ用ＦＷをアンプ１８に反映させる処理の少なくとも１つを実行してもよい。
【０１０２】
第３変形例を説明する。第３実施例の操作表示装置１４に対して第２実施例の技術を適用してもよい。例えば、操作表示装置１４の判定部５０は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のそれぞれに記憶されたファームウェアのメジャーバージョンの異同を判定してもよい。操作表示装置１４の判定部５０は、各装置に記憶されたファームウェアのメジャーバージョンに違いがあれば、最新のメジャーバージョンのファームウェアを記憶する機器を、更新プログラムの提供元として決定してもよい。
【０１０３】
第４変形例を説明する。第１実施例の操作表示装置１４に対して、第２実施例の技術および第３実施例の技術を適用してもよい。例えば、判定部５０は、ソフトウェア更新画面７０の表示を指示する操作が入力された場合に、操作表示装置１４に適用中の操作表示装置用ＦＷ、ナビゲーション制御装置１６に適用中のナビ用ＦＷ、アンプ１８に適用中のアンプ用ＦＷそれぞれのメジャーバージョンおよびマイナーバージョンを示すソフトウェア更新画面７０を表示させてもよい。
【０１０４】
判定部５０は、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のそれぞれに記憶された操作表示装置用ＦＷのメジャーバージョンに差異がある場合、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のそれぞれに記憶されたナビ用ＦＷのバージョンのメジャーバージョンに差異がある場合、または、操作表示装置１４、ナビゲーション制御装置１６、アンプ１８のそれぞれに記憶されたアンプ用ＦＷのメジャーバージョンに差異がある場合に確認画面７２を表示させてもよい。そして、確認画面７２に対してプログラム更新を指示する操作が入力された場合に、最新バージョンの操作表示装置用ＦＷを操作表示装置１４に反映させ、最新バージョンのナビ用ＦＷをナビゲーション制御装置１６に反映させ、または、最新バージョンのアンプ用ＦＷをアンプ１８に反映させてもよい。
【０１０５】
上記第１〜第３実施例に適用可能な第５変形例を説明する。各実施例では言及していないが、操作表示装置１４のプログラム送信部５２は、ナビゲーション制御装置１６のナビ用ＦＷを更新させた後、自装置に適用中の操作表示装置用ＦＷをナビゲーション制御装置１６へ送信し、ナビゲーション制御装置１６の更新プログラム領域６６に記憶させてもよい。例えば、図６において、ナビゲーション制御装置１６のファームウェア領域６２またはファームウェア領域６４のナビ用ＦＷを更新後、操作表示装置１４は、操作表示装置用ＦＷ（バージョン２）をナビゲーション制御装置１６へ送信し、更新プログラム領域６６に格納させてもよい。
【０１０６】
同様に、図９において、ナビゲーション制御装置１６のファームウェア領域６２またはファームウェア領域６４のナビ用ＦＷを更新後、操作表示装置１４は、操作表示装置用ＦＷ（バージョン２０１）をナビゲーション制御装置１６へ送信し、更新プログラム領域６６に格納させてもよい。同様に、図１１において、操作表示装置１４の操作表示装置用ＦＷの更新と、ナビゲーション制御装置１６のナビ用ＦＷの更新後に、アンプ１８に適用中のアンプ用ＦＷ（バージョン３）を、操作表示装置１４の更新プログラム領域６６、および、ナビゲーション制御装置１６の更新プログラム領域６６に格納してもよい。
【０１０７】
第５変形例の構成によると、ファームウェア更新の完了時に、ＩＶＩシステム１２を構成する個々の電子機器の更新プログラム領域６６に、より新しいバージョンの他機器用ファームウェアを格納することができる。これにより、個々の電子機器を新たに別の電子機器と接続した場合に、新しいバージョンのファームウェアをその別の電子機器へ提供できるようになる。
【０１０８】
上記第１〜第３実施例に適用可能な第６変形例を説明する。ＩＶＩシステム１２を構成する各装置において、工場出荷時、記憶部３６のファームウェア領域６２（またはファームウェア領域６４）に記憶される自機器用プログラムのバージョンと、更新プログラム領域６６に記憶される他機器用プログラムのバージョンは同一であってもよい。なお、少なくともメジャーバージョンが同一であってもよい。本変形例では、互いに適合する自機器用プログラム（例えば操作表示装置用ＦＷ）と他機器用プログラム（例えばナビ用ＦＷ）には、同一のバージョンが付与される。この態様によると、機器間でのファームウェアのバージョン比較が簡易化され、ファームウェア更新を効率化できる。
【０１０９】
上記の実施例および変形例に記載のプログラム更新技術は、適用範囲が車載機器に制限されず、他機器と連携してデータ処理を実行する様々な電子機器に適用可能である。特に、上記の実施例および変形例に記載のプログラム更新技術は、コスト的または技術的な理由でメモリサイズを増加させることが容易でない電子機器に好適である。
【０１１０】
なお、実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
他機器と通信する通信部と、
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に前記他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第１領域とは異なる第２領域に記憶する記憶部と、
前記第１領域に記憶された自機器用プログラムに基づいて、前記他機器とのデータ処理を実行するデータ処理部と、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する取得部と、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された前記他機器用プログラムを更新させる送信部と、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第２領域に記憶させ、前記更新プログラムを用いて、前記第１領域に記憶された前記自機器用プログラムを更新する更新部と、
を備える電子機器。
この電子機器の構成によると、他機器用プログラムを記憶するメモリ領域を新たに設ける必要がなく、電子機器の製造コストの増加を抑制することができる。
［項目２］
操作者から第１の操作が入力されたことを条件として、前記第２領域に記憶された前記他機器用プログラムのバージョンと、前記他機器から取得された前記他機器用プログラムのバージョンとを表示させる表示制御部、をさらに備え、
前記送信部は、前記第２領域に記憶された前記他機器用プログラムのバージョンに対して前記他機器から取得された前記他機器用プログラムのバージョンが古い場合、前記操作者から第２の操作が入力されたことを条件として、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信する、
項目１に記載の電子機器。
この電子機器の構成によると、ユーザの判断を待たずに自動で他機器のプログラムを更新することを防止し、例えば、工場ライン上でプログラム更新に起因した遅延が発生することを回避できる。また、電源投入時にバージョン違いに基づくエラー表示を自動表示するのではなく、明示的なユーザの操作を条件としてバージョン情報を表示するため、ファームウェアのバージョン違いにより誤って不良品と判定されることを抑制できる。
［項目３］
前記取得部は、前記他機器に記憶された前記自機器用プログラムのバージョンを前記他機器からさらに取得し、
前記更新部は、前記他機器から取得された前記自機器用プログラムのバージョンに対して前記第１領域に記憶された前記自機器用プログラムのバージョンが古い場合、前記操作者から第３の操作が入力されたことを条件として、前記他機器に記憶された自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第１領域に記憶された前記自機器用プログラムを更新する、
項目２に記載の電子機器。
この電子機器の構成によると、ユーザの判断を待たずに自動で自機器のプログラムを更新することを防止し、例えば、工場ライン上でプログラム更新に起因した遅延が発生することを回避できる。
［項目４］
前記取得部は、前記他機器に記憶された前記他機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器から取得し、
前記送信部は、前記第２領域に記憶された前記他機器用プログラムのメジャーバージョンに対して前記他機器から取得された前記他機器用プログラムのメジャーバージョンが古い場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信する一方、前記第２領域に記憶された前記他機器用プログラムのメジャーバージョンと前記他機器から取得された前記他機器用プログラムのメジャーバージョンが一致する場合、前記第２領域に記憶された前記他機器用プログラムのマイナーバージョンに対して前記他機器から取得された前記他機器用プログラムのマイナーバージョンが古いときでも、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信しない、
項目１に記載の電子機器。
この電子機器の構成によると、本来不要なプログラムの更新を抑制し、ユーザの待ち時間を低減することができる。
［項目５］
前記取得部は、前記他機器に記憶された前記自機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器からさらに取得し、
前記更新部は、前記他機器から取得された前記自機器用プログラムのメジャーバージョンに対して前記第１領域に記憶された前記自機器用プログラムのメジャーバージョンが古い場合、前記他機器に記憶された前記自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第１領域に記憶された前記自機器用プログラムを更新する一方、前記他機器から取得された前記自機器用プログラムのメジャーバージョンと前記第１領域に記憶された前記自機器用プログラムのメジャーバージョンが一致する場合、前記他機器から取得された前記自機器用プログラムのマイナーバージョンに対して前記第１領域に記憶された前記自機器用プログラムのマイナーバージョンが古いときでも、前記第１領域に記憶された前記自機器用プログラムを更新しない、
項目４に記載の電子機器。
この電子機器の構成によると、本来不要なプログラムの更新を抑制し、ユーザの待ち時間を低減することができる。
［項目６］
決定部、をさらに備え、
前記通信部は、第１のバスを介して第１の他機器と通信し、第１のバスとは異なる第２のバスを介して第２の他機器と通信し、
前記第２領域には、前記第１の他機器の動作を規定した第１の他機器用プログラムと、前記第２の他機器の動作を規定した第２の他機器用プログラムとが記憶され、
前記取得部は、前記第１の他機器に記憶された前記自機器用プログラムと前記第１の他機器用プログラムと前記第２の他機器用プログラムのそれぞれのバージョンを前記第１の他機器から取得し、前記第２の他機器に記憶された前記自機器用プログラムと前記第１の他機器用プログラムと前記第２の他機器用プログラムのそれぞれのバージョンを前記第２の他機器から取得し、
前記決定部は、前記自機器用プログラムと前記第１の他機器用プログラムと前記第２の他機器用プログラムのそれぞれについて、最も新しいバージョンのプログラムを記憶する機器を更新プログラムの提供元として決定する、
項目１に記載の電子機器。
この電子機器の構成によると、異なる種類のバスを介して複数の電子機器が連携するシステムにおいて、更新プログラムの提供元を適切に決定することができる。
［項目７］
最も新しいバージョンの前記自機器用プログラムと前記第２の他機器用プログラムを前記第１の他機器が記憶する場合、
前記更新部は、前記第１の他機器に記憶された前記自機器用プログラムおよび前記第２の他機器用プログラムを前記第１の他機器から取得し、前記第１領域に記憶された前記自機器用プログラムを更新し、
前記送信部は、前記更新部により取得された前記第２の他機器用プログラムを前記第２の他機器へ送信する、
項目６に記載の電子機器。
この電子機器の構成によると、異なる種類のバスを介して複数の電子機器が連携するシステムにおいて、各機器のプログラムを適切に更新することを実現できる。
［項目８］
前記第２領域に記憶される前記自機器用プログラムのバージョンと前記他機器用プログラムのバージョンは同一である、
項目１から７のいずれかに記載の電子機器。
この電子機器の構成によると、自機器に記憶されたプログラムのバージョンと、他機器に記憶されたプログラムのバージョンを効率的に比較することができる。
［項目９］
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第１領域とは異なる第２領域に記憶する記憶部、を備える電子機器が、
前記第１領域に記憶された自機器用プログラムを用いて、前記他機器とのデータ処理を実行し、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得し、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させ、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第２領域に記憶させ、前記更新プログラムを用いて、前記第１領域に記憶された前記自機器用プログラムを更新する、
プログラム更新方法。
このプログラム更新方法によると、他機器用プログラムを記憶するメモリ領域を電子機器に新たに設ける必要がなく、電子機器の製造コストの増加を抑制することができる。
［項目１０］
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第１領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第１領域とは異なる第２領域に記憶する記憶部、を備える電子機器に、
前記第１領域に記憶された自機器用プログラムに基づく、前記他機器とのデータ処理と、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する処理と、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第２領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させる処理と、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第２領域に記憶させ、前記更新プログラムを用いて、前記第１領域に記憶された前記自機器用プログラムを更新する処理と、
を実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、他機器用プログラムを記憶するメモリ領域を電子機器に新たに設ける必要がなく、電子機器の製造コストの増加を抑制することができる。
【０１１１】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【０１１２】
１０  車両、  １４  操作表示装置、  １６  ナビゲーション制御装置、  １８  アンプ、  ３０  通信部、  ３６  記憶部、  ４２  データ処理部、  ４４  表示制御部、  ４６  プログラム更新部、  ４８  バージョン取得部、  ５０  判定部、  ５２  プログラム送信部。
【図１】
2019144842.tif 000003
【図２】
2019144842.tif 000004
【図３】
2019144842.tif 000005
【図４】
2019144842.tif 000006
【図５】
2019144842.tif 000007
【図６】
2019144842.tif 000008
【図７】
2019144842.tif 000009
【図８】
2019144842.tif 000010
【図９】
2019144842.tif 000011
【図１０】
2019144842.tif 000012
【図１１】
2019144842.tif 000013