JP2019144842A - 電子機器、プログラム更新方法およびコンピュータプログラム - Google Patents

電子機器、プログラム更新方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2019144842A
JP2019144842A JP2018028247A JP2018028247A JP2019144842A JP 2019144842 A JP2019144842 A JP 2019144842A JP 2018028247 A JP2018028247 A JP 2018028247A JP 2018028247 A JP2018028247 A JP 2018028247A JP 2019144842 A JP2019144842 A JP 2019144842A
Authority
JP
Japan
Prior art keywords
program
stored
version
area
update
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.)
Granted
Application number
JP2018028247A
Other languages
English (en)
Other versions
JP6859282B2 (ja
Inventor
夢希 寺岡
Yumeki Teraoka
夢希 寺岡
渡邉 和紀
Kazunori Watanabe
和紀 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Toyota Motor Corp
Original Assignee
Panasonic Corp
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Toyota Motor Corp filed Critical Panasonic Corp
Priority to JP2018028247A priority Critical patent/JP6859282B2/ja
Priority to US16/279,490 priority patent/US11029945B2/en
Priority to CN201910127443.XA priority patent/CN110175035A/zh
Publication of JP2019144842A publication Critical patent/JP2019144842A/ja
Application granted granted Critical
Publication of JP6859282B2 publication Critical patent/JP6859282B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services

Abstract

【課題】電子機器のメモリサイズの増加を抑制しつつ、複数の電子機器間でのプログラム更新を実現する。【解決手段】記憶部36は、自機器用プログラムを記憶する第1領域と、工場出荷時に他機器用プログラムを記憶する第2領域を含む。データ処理部42は、第1領域に記憶された自機器用プログラムに基づいて、他機器とのデータ処理を実行する。バージョン取得部48は、他機器に記憶された他機器用プログラムのバージョンを取得する。プログラム送信部52は、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、第2領域に記憶された他機器用プログラムを他機器へ送信して、他機器に記憶された他機器用プログラムを更新させる。プログラム更新部46は、外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて第2領域に一旦記憶させ、第1領域に記憶された自機器用プログラムを更新する。【選択図】図2

Description

本発明はデータ処理技術に関し、特に電子機器、プログラム更新方法およびコンピュータプログラムに関する。
映像生成装置と映像中継装置が通信するシステムにおいて、映像中継装置にインストールされたファームウェアのバージョンが、映像生成装置にインストールされた基本ソフトウェアが要求するファームウェアのバージョンより古い場合、映像生成装置は、基本ソフトウェアに内包された映像中継装置用のファームウェアを映像中継装置に供給して、映像中継装置にインストールされたファームウェアを更新させる技術が知られている。
特開2016−200960号公報
車載機器のようにメモリサイズが厳しく制限される電子機器では、通信相手となる他の電子機器用のプログラムを記憶する領域を新たに設けることが困難なことがあり、また、電子機器のコストアップを招くことがあった。
本願発明は上記課題に鑑みたもので、1つの目的は、電子機器におけるメモリサイズの増加を抑制しつつ、複数の電子機器間でのプログラム更新を実現することである。
上記課題を解決するために、本発明のある態様の電子機器は、他機器と通信する通信部と、自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に他機器の動作を規定したコンピュータプログラムである他機器用プログラムを第1領域とは異なる第2領域に記憶する記憶部と、第1領域に記憶された自機器用プログラムに基づいて、他機器とのデータ処理を実行するデータ処理部と、他機器に記憶された他機器用プログラムのバージョンを他機器から取得する取得部と、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、第2領域に記憶された他機器用プログラムを他機器へ送信することにより、他機器に記憶された他機器用プログラムを更新させる送信部と、外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて第2領域に記憶させ、更新プログラムを用いて、第1領域に記憶された自機器用プログラムを更新する更新部と、を備える。
本発明の別の態様は、プログラム更新方法である。この方法は、自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを第1領域とは異なる第2領域に記憶する記憶部、を備える電子機器が、第1領域に記憶された自機器用プログラムを用いて、他機器とのデータ処理を実行し、他機器に記憶された他機器用プログラムのバージョンを他機器から取得し、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、第2領域に記憶された他機器用プログラムを他機器へ送信することにより、他機器に記憶された他機器用プログラムを更新させ、外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて第2領域に記憶させ、更新プログラムを用いて、第1領域に記憶された自機器用プログラムを更新する。
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、電子機器におけるメモリサイズの増加を抑制しつつ、複数の電子機器間でのプログラム更新を実現することができる。
第1実施例の車両の構成を模式的に示す図である。 第1実施例の操作表示装置の機能構成を示すブロック図である。 記憶部の記憶領域を模式的に示す図である。 第1実施例の操作表示装置の動作を示すフローチャートである。 ソフトウェア更新画面の例を示す図である。 図6(a)と図6(b)は、プログラム更新の例を示す図である。 第2実施例の操作表示装置の機能構成を示すブロック図である。 第2実施例の操作表示装置の動作を示すフローチャートである。 図9(a)、図9(b)、図9(c)は、プログラム更新の例を示す図である。 第3実施例の操作表示装置の動作を示すフローチャートである。 図11(a)と図11(b)は、プログラム更新の例を模式的に示す図である。
実施例の詳細な構成を説明する前に概要を述べる。現在のカーナビゲーションシステムは、複数の電子機器(ECU(Electronic Control Unit)等)が連携して実現されることがある。カーナビゲーションシステムでは、ソフトウェアの不具合や新規機能の織り込みをバージョンで管理し、バージョンが異なる電子機器同士を接続した場合、エラーを表示する。
これまで、複数の電子機器のバージョン管理には運用面での課題が存在した。例えば、カーディーラーが最新のファームウェアを保持しない場合、メーカーから最新のファームウェアを取り寄せ、電子機器内の既存のファームウェアを更新する等の作業が必要になり、顧客を待たせてしまうことがあった。また、複数の電子機器の仕入れ先が違う等の理由により、車両工場の検査ラインでバージョンが異なる電子機器が接続された場合、エラーが表示され、電子機器が不良品と判定されてしまうことがあった。
上記特許文献1に記載の技術は、複数の電子機器間でのファームウェアの自動更新を実現するものである。しかし、車両に搭載される電子機器(以下「車載機器」とも呼ぶ。)に適用する場合、いくつかの課題が存在する。
課題1.車載機器Aが車載機器B用のファームウェアを記憶する場合、車載機器B用のファームウェアを記憶する領域を車載機器Aに用意する必要があり、電子機器Aのコストアップにつながってしまう。
課題2.上記特許文献1に記載の映像生成装置は、映像中継装置に接続されたヘッドマウントディスプレイの電源がオンになったときに、映像中継装置のファームウェアを自動更新する。しかし、車載機器のファームウェア更新には20分〜30分を要することがある。そのため、工場の検査ライン上で車両の電源オンとともにファームウェアの更新処理を開始すると、検査ラインの工程に大きな遅延を生じさせてしまう。
課題3.ファームウェア更新には、大きな変更を伴う場合と、小さな変更に過ぎない場合とがある。小さな変更の場合、車載機器間でバージョンを統一することは不要である。しかし、上記特許文献1に記載の技術では、小さな変更であってもプログラムの更新処理が実行される。その結果、場合によっては工場の検査ラインとして不要な更新処理が発生し、その間、車載機器を用いた作業・検査等が滞ってしまう。
課題4.複数の車載機器が、複数の通信経路で接続されることがある。しかし、上記特許文献1に記載の技術は、複数の通信経路で接続された複数の車載機器間でのファームウェア更新を想定したものではない。
以下、上記課題を解決する第1〜第3実施例のIVI(In-Vehicle Infotainment)システムを説明する。第1〜第3実施例のIVIシステムは、従来のファームウェア更新時(1つの装置内でのファームウェア更新時)に使用するメモリ領域であり、工場出荷時には、空き領域となるメモリ領域に通信の対向機器用のファームウェアを格納することで課題1を解決する。
また、第1実施例のIVIシステムは、ファームウェアの更新タイミングをユーザが制御可能にすることで課題2を解決する。なお、実施例のユーザは、操作表示装置14の操作者ともいえ、例えば、カーディーラーの担当者であってもよい。
また、第2実施例のIVIシステムは、各電子機器のファームウェアのバージョンをメジャーバージョンとマイナーバージョンに分けて管理する。複数の電子機器間でファームウェアのメジャーバージョンが異なる場合、ファームウェア更新を自動実行する。一方、ファームウェアのメジャーバージョンが同一であれば、マイナーバージョンの異同にかかわらず、ファームウェア更新を抑制する。これにより、課題3を解決する。
また、第3実施例のIVIシステムでは、複数の電子機器の中のいずれかをマスター装置として設定する。そして、マスター装置が、複数の電子機器に記憶されたファームウェアのバージョンを集約して管理し、複数の電子機器間でのファームウェア更新を制御することで課題4を解決する。
(第1実施例)
図1は、第1実施例の車両10の構成を模式的に示す。車両10は、IVIシステム12を備える。IVIシステム12は、カーナビゲーション、オーディオ、テレビ、ラジオ等の機能を備える。IVIシステム12は、操作表示装置14、ナビゲーション制御装置16、アンプ18を備える。
IVIシステム12を構成する複数の装置は、複数種類のバス(通信経路)を介して接続される。操作表示装置14とナビゲーション制御装置16の通信には、高い転送速度が求められるため、操作表示装置14とナビゲーション制御装置16は、第1のバスであるUSB(Universal Serial Bus)20を介して通信する。一方、操作表示装置14とアンプ18の通信には、高い転送速度に加えて暗号化通信が求められるため、操作表示装置14とアンプ18は、第2のバスであるMOST(Media Oriented Systems Transport)22を介して通信する。
操作表示装置14は、IVIシステム12のユーザインタフェースを提供する情報処理装置である。例えば、操作表示装置14は、ユーザによる操作入力を受け付け、また、様々な画像、映像、情報をユーザへ提示する。ナビゲーション制御装置16は、カーナビゲーションに関する各種データ処理(ルート探索等)を実行する情報処理装置である。アンプ18は、操作表示装置14から入力された音声信号を増幅する。
図2は、図1の操作表示装置14の機能構成を示すブロック図である。操作表示装置14は、通信部30、記憶部36、タッチスクリーン38、操作受付部40、データ処理部42、表示制御部44、プログラム更新部46、バージョン取得部48、判定部50、プログラム送信部52を備える。通信部30は、第1通信部32と第2通信部34を含む。
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
例えば、操作表示装置14内の複数の機能ブロックに対応する複数のモジュールを含むコンピュータプログラムが、所定の記録媒体に格納され、その記録媒体を介して操作表示装置14にインストールされてもよい。また、上記コンピュータプログラムが、ネットワークを介してダウンロードされ、操作表示装置14にインストールされてもよい。操作表示装置14のCPUは、そのコンピュータプログラムを適宜読み出して実行することにより、各機能ブロックの機能を発揮してもよい。
第1通信部32は、USB20とのインタフェース機能を提供する。操作表示装置14の他の機能ブロックは、第1通信部32を介してナビゲーション制御装置16とデータを送受信する。第2通信部34は、MOST22とのインタフェース機能を提供する。操作表示装置14の他の機能ブロックは、第2通信部34を介してアンプ18とデータを送受信する。
記憶部36は、各種データを記憶する記憶領域を含む。記憶部36は、フラッシュメモリで実現されてもよい。図3は、記憶部36の記憶領域を模式的に示す。記憶部36は、ブートローダ領域60、ファームウェア領域62、ファームウェア領域64、更新プログラム領域66を含む。ブートローダ領域60はブートローダを記憶する領域である。
ファームウェア領域62およびファームウェア領域64は、第1記憶部として、自機器の動作を規定したファームウェア(自機器用プログラム)を記憶する領域であり、操作表示装置14では、操作表示装置14の動作を規定したファームウェア(以下「操作表示装置用FW」とも呼ぶ。)を記憶する領域である。ファームウェア領域62とファームウェア領域64は、一方が運用面、他方が待機面として使用される。例えば、ファームウェア領域62が運用面、ファームウェア領域64が待機面の場合、ファームウェア領域62に記憶された操作表示装置用FWがCPUにより実行され、ファームウェア領域64に記憶された操作表示装置用FWが更新対象となる。
更新プログラム領域66は、操作表示装置用FWを更新するための更新プログラム(以下「操作表示装置用更新プログラム」とも呼ぶ。)を記憶する領域である。操作表示装置用更新プログラムは、例えば、操作表示装置14に記憶された既存の操作表示装置用FWより新しいバージョンの操作表示装置用FWである。操作表示装置14を搭載した車両10が工場から出荷された後のソフトウェア更新時に、USBメモリまたは接続された他の装置等から読み出された操作表示装置用更新プログラムは、一旦更新プログラム領域66に格納された後、ファームウェア領域62またはファームウェア領域64(待機面側)に反映される。
従来、操作表示装置14を搭載した車両10が工場から出荷される時点では、更新プログラム領域66は、空の状態であり、言い換えれば、空き領域であった。実施例の操作表示装置14では、工場出荷時、対向機の動作を規定したファームウェア(他機器用プログラム)が更新プログラム領域66に格納される。第1実施例での対向機はナビゲーション制御装置16であり、更新プログラム領域66には、ナビゲーション制御装置16のファームウェア(以下「ナビ用FW」とも呼ぶ。)が記憶される。
IVIシステム12では、ソフトウェアの不具合や新規機能の織り込みをソフトウェアに付与するバージョンで管理する。操作表示装置14は、記憶部36のファームウェア領域62およびファームウェア領域64に記憶する操作表示装置用FWのバージョン情報を記憶部36に記憶する。記憶部36のファームウェア領域62およびファームウェア領域64に記憶する操作表示装置用FWは、自装置に適用されたファームウェアと言え、自装置で実行中のファームウェアとも言える。また、操作表示装置14が工場から出荷されるとき、記憶部36の更新プログラム領域66には、ファームウェア領域62およびファームウェア領域64に記憶された操作表示装置用FWに適合するバージョンのナビ用FWが格納される。このナビ用FWのバージョンも記憶部36に記憶される。
なお、ナビゲーション制御装置16の記憶部も操作表示装置14の記憶部36と同様の構成である。すなわち、ナビゲーション制御装置16の記憶部では、ファームウェア領域62およびファームウェア領域64にナビ用FWが記憶され、工場出荷時に更新プログラム領域66に操作表示装置用FWが記憶される。
図2に戻り、操作受付部40は、タッチスクリーン38に対してユーザが入力した操作を検出する。データ処理部42は、記憶部36に記憶された操作表示装置用FWと、操作受付部40で検出されたユーザ操作とに基づいて、操作表示装置14固有の各種データ処理を実行する。実際には、操作表示装置14のCPUが、操作表示装置用FWを実行することにより、データ処理部42の機能を発揮してもよい。
データ処理部42は、ナビゲーション制御装置16およびアンプ18と連携してデータ処理を実行する。データ処理部42によるデータ処理は、第1通信部32を介したナビゲーション制御装置16とのデータ送受信を含み、また、第2通信部34を介したアンプ18とのデータ送受信を含む。例えば、データ処理部42は、ナビゲーション制御装置16から経路情報を受信し、その経路情報に基づいてナビゲーション画像を生成してもよい。
表示制御部44は、タッチスクリーン38での表示内容を制御する。例えば、表示制御部44は、データ処理部42により生成された画像および映像をタッチスクリーン38に表示させる。
プログラム更新部46は、外部装置(典型的にはUSBメモリ)から入力された操作表示装置用更新プログラムを記憶部36の更新プログラム領域66に格納する。工場出荷後に、操作表示装置用更新プログラムが初めて入力された場合、プログラム更新部46は、その操作表示装置用更新プログラムを、工場出荷時に記憶されていたナビ用FWに代えて更新プログラム領域66に記憶させる。プログラム更新部46は、記憶部36の更新プログラム領域66に記憶された操作表示装置用更新プログラムに基づいて、記憶部36のファームウェア領域62またはファームウェア領域64に記憶された既存の操作表示装置用FWを更新する(言い換えればバージョンアップする)。
例えば、ファームウェア領域62が運用面として選択され、ファームウェア領域62の操作表示装置用FWがCPUにより実行されている場合、プログラム更新部46は、待機面であるファームウェア領域64に記憶された操作表示装置用FWを更新する。プログラム更新部46は、既存の操作表示装置用FWのデータを、操作表示装置用更新プログラムのデータに置き換えてもよい。プログラム更新部46は、操作表示装置用FWを更新後、操作表示装置14を再起動させ、ファームウェア領域62とファームウェア領域64の運用面/待機面を切り替えることにより、更新後の操作表示装置用FWを実行させる。
バージョン取得部48は、他機器に記憶された他機器用プログラムのバージョンを示すバージョン情報と、他機器に記憶された自機器用プログラムの種類およびバージョンを示すプログラム種類情報を他機器から取得する。第1実施例では、バージョン取得部48は、第1通信部32を介して、ナビゲーション制御装置16に適用中のナビ用FWのバージョン情報をナビゲーション制御装置16から取得する。また、バージョン取得部48は、ナビゲーション制御装置16の更新プログラム領域66に記憶されたプログラムの種類(典型的には操作表示装置用FWまたはナビ用FW)と、そのバージョンを示すプログラム種類情報をナビゲーション制御装置16から取得する。
判定部50とプログラム送信部52は、他機器から取得された他機器用プログラムのバージョンが所定の条件を満たす場合、記憶部36の更新プログラム領域66に記憶された他機器用プログラムを他機器へ送信することにより、他機器に適用される他機器用プログラムを更新させる。以下、詳細に説明する。
判定部50は、バージョン取得部48により取得されたバージョン情報が示すバージョンであり、すなわち、ナビゲーション制御装置16に適用されたナビ用FWのバージョンを識別する。また、判定部50は、バージョン取得部48により取得されたプログラム種類情報が示すバージョンであり、すなわち、ナビゲーション制御装置16の更新プログラム領域66に記憶された操作表示装置用FWのバージョンを識別する。また、判定部50は、自機器のファームウェア領域62またはファームウェア領域64(運用面)に記憶された操作表示装置用FWのバージョンであり、自装置に適用中の操作表示装置用FWのバージョンを識別する。また、判定部50は、自機器の更新プログラム領域66に記憶されたナビ用FWのバージョンを識別する。
判定部50は、操作受付部40が第1の操作(具体的にはソフトウェア更新画面の表示を指示する操作)を受け付けたことを条件として、操作表示装置14に記憶された操作表示装置用FWのバージョンとナビ用FWのバージョンを表示制御部44に通知する。それとともに、判定部50は、ナビゲーション制御装置16に記憶されたナビ用FWのバージョンと操作表示装置用FWのバージョンを表示制御部44に通知する。判定部50は、各装置が記憶するファームウェアのバージョンを示す内容のソフトウェア更新画面をタッチスクリーン38に表示させる処理を表示制御部44に実行させる。
判定部50は、ナビゲーション制御装置16に適用されたナビ用FWのバージョンと、操作表示装置14の更新プログラム領域66に記憶されたナビ用FWのバージョンを比較し、両者のバージョンが適合するか否か(実施例では一致するか否か)を判定する。また、判定部50は、更新プログラム領域66に記憶されたナビ用FWのバージョンに対してナビゲーション制御装置16に適用されたナビ用FWのバージョンが古い場合、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新を決定する。
また、判定部50は、ナビゲーション制御装置16から取得されたプログラム種類情報が操作表示装置用FWを示す場合、そのバージョンを識別する。判定部50は、ナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンと、操作表示装置14に適用された操作表示装置用FWのバージョンを比較し、両者のバージョンが適合するか否か(実施例では一致するか否か)を判定する。判定部50は、ナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンに対して操作表示装置14に適用された操作表示装置用FWのバージョンが古い場合、ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新を決定する。
判定部50は、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新を決定した場合、または、ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新を決定した場合、確認画面をタッチスクリーン38に表示させる処理を表示制御部44に実行させる。確認画面は、ファームウェアのバージョンが不適合である旨を示し、かつ、ファームウェアの更新有無をユーザに確認する内容を含む。
プログラム送信部52は、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新が判定部50により決定された場合、操作受付部40が第2の操作(具体的には確認画面に対するファームウェアの更新を指示する操作)を受け付けたことを条件として、記憶部36の更新プログラム領域66に記憶されたナビ用FWをナビゲーション制御装置16へ送信する。すなわち、プログラム送信部52は、ナビゲーション制御装置16に適用中のナビ用FWより新しいバージョンのナビ用FWをナビゲーション制御装置16へ提供し、ナビゲーション制御装置16に適用されるナビ用FWをバージョンアップさせる。
プログラム更新部46は、他機器に適用中の他機器用プログラムの情報に関する所定の条件が満たされた場合、他機器に保持される自機器用プログラムを他機器から取得し、自機器に適用された既存の自機器用プログラムを更新する。更新方法は、USBメモリ等から自機器用プログラムの更新データが入力された場合と同様である。
具体的には、プログラム更新部46は、ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新が判定部50により決定された場合、操作受付部40が上記第2の操作を受け付けたことを条件として、ナビゲーション制御装置16に記憶された操作表示装置用FWをナビゲーション制御装置16から取得する。プログラム更新部46は、ナビゲーション制御装置16から取得した操作表示装置用FWを更新プログラム領域66に一旦格納する。プログラム更新部46は、更新プログラム領域66に格納した操作表示装置用FWに基づいて、ファームウェア領域62またはファームウェア領域64(待機面側)に記憶された既存の操作表示装置用FWを更新する。
一部既述したが、ナビゲーション制御装置16は、操作表示装置14の第1通信部32、記憶部36、データ処理部42、プログラム更新部46、バージョン取得部48、判定部50、プログラム送信部52に対応する機能ブロックを含む。ナビゲーション制御装置16は、記憶部36のファームウェア領域62およびファームウェア領域64にナビ用FWを記憶する。また、ナビゲーション制御装置16は、工場出荷時、記憶部36の更新プログラム領域66に操作表示装置用FWを記憶する。
なお、第1実施例では、自機器が保持する他機器用プログラムを他機器へ送信することにより、他機器に適用される他機器用プログラムを更新させる他機器更新処理と、他機器に保持される自機器用プログラムを他機器から取得し、自機器に適用された自機器用プログラムを更新する自機器更新処理のいずれも、第2の操作(例えば確認画面におけるファームウェア更新を指示する操作)の入力を条件として実行した。変形例として、他機器更新処理を指示する操作と、自機器更新処理を指示する操作は異なってもよい。例えば、確認画面おいて他機器のファームウェア更新を指示する第1のボタンが押下されたことを条件として他機器更新処理を実行し、確認画面において自機器のファームウェア更新を指示する第2のボタンが押下されたことを条件として自機器更新処理を実行してもよい。
以上の構成による操作表示装置14の動作を説明する。
図4は、第1実施例の操作表示装置14の動作を示すフローチャートである。ここでは、カーディーラーにおいて、工場出荷直後の車両10の電源がオンにされたことを想定する。車両10の電源がオンにされると、操作表示装置14(およびナビゲーション制御装置16、アンプ18)の電源がオンに切り替わる(S10)。データ処理部42は、ファームウェア領域62またはファームウェア領域64(運用面側)に記憶された操作表示装置用FWと、タッチスクリーン38に入力されたユーザ操作と、ナビゲーション制御装置16から受信したデータに基づいて、ナビゲーション画面のデータを生成する。表示制御部44は、ナビゲーション画面をタッチスクリーン38に表示させる(S12)。
ナビゲーション画面においてソフトウェア更新画面への遷移操作が入力されると(S14のY)、バージョン取得部48は、ナビゲーション制御装置16のバージョン情報およびプログラム種類情報をナビゲーション制御装置16から取得する(S16)。判定部50は、操作表示装置14に記憶されたファームウェアのバージョンと、ナビゲーション制御装置16に記憶されたファームウェアのバージョンを示すソフトウェア更新画面を、表示制御部44を介してタッチスクリーン38に表示させる(S18)。
ナビゲーション制御装置16に適用されたナビ用FWのバージョンが、操作表示装置14に記憶されたナビ用FWのバージョンより古い場合、または、操作表示装置14に適用された操作表示装置用FWのバージョンが、ナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンより古い場合(S20のY)、判定部50は、表示制御部44を介してタッチスクリーン38に確認画面を表示させる(S22)。
図5は、ソフトウェア更新画面の例を示す。既述したように、ソフトウェア更新画面70では、操作表示装置14に記憶された操作表示装置用FWのバージョンと、操作表示装置14に記憶されたナビ用FWのバージョンが表示される。また、ソフトウェア更新画面70では、ナビゲーション制御装置16に記憶されたナビ用FWのバージョンと、ナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンが表示される。これらのバージョンが不適合である場合、ソフトウェア更新画面70上に確認画面72がポップアップ表示される。確認画面72は、ファームウェアの自動更新をユーザが指示するための更新ボタン74を含む。両者のバージョンが適合する場合、確認画面72は表示されない。なお、図5では、各装置に記憶された操作表示装置用FWのバージョンとナビ用FWのバージョンが一致することとしたが、ファームウェアごとに独立してバージョンが管理されてもよく、同じ装置に記憶された操作表示装置用FWのバージョンとナビ用FWのバージョンが異なってもよい。
図4に戻り、確認画面72の更新ボタン74に対するユーザの選択操作が検出され(S24のY)、かつ、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新が決定された場合(すなわち操作表示装置14に記憶されたナビ用FWのバージョンに対してナビゲーション制御装置16に記憶されたナビ用FWのバージョンが古い場合)(S26のY)、プログラム送信部52は、更新プログラム領域66に記憶されたナビ用FWのデータをナビゲーション制御装置16へ送信する(S28)。これにより、プログラム送信部52は、操作表示装置14に適用される操作表示装置用FWに適合するバージョンになるようにナビゲーション制御装置16に適用されるナビ用FWを更新させる。
図6(a)と図6(b)は、プログラム更新の例を示す。図6(a)に示すように、この例では、操作表示装置14に記憶されたナビ用FWのバージョン(バージョン2)が、ナビゲーション制御装置16に記憶されたナビ用FWのバージョン(バージョン1)より新しい。そのため、図6(b)に示すように、操作表示装置14のプログラム送信部52は、自装置に記憶されたナビ用FW(バージョン2)をナビゲーション制御装置16へ送信する。ナビゲーション制御装置16のプログラム更新部46は、ナビ用FW(バージョン2)を、更新プログラム領域66に一旦格納した後、ファームウェア領域62またはファームウェア領域64に反映する。
図4に戻り、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新が決定されなければ(S26のN)、S28の処理をスキップする。ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新が決定された場合(すなわちナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンに対して操作表示装置14に記憶された操作表示装置用FWのバージョンが古い場合)(S30のY)、プログラム更新部46は、ナビゲーション制御装置16に記憶された操作表示装置用FWをナビゲーション制御装置16から取得する(S32)。例えば、ナビゲーション制御装置16のプログラム送信部52は、自装置に予め記憶された操作表示装置用FWを操作表示装置14へ送信し、操作表示装置14のプログラム更新部46は、その操作表示装置用FWを受信してもよい。
プログラム更新部46は、ナビゲーション制御装置16から取得した操作表示装置用FWに基づいて、ファームウェア領域62またはファームウェア領域64(待機面側)に記憶された既存の操作表示装置用FWを更新する(S34)。これにより、プログラム更新部46は、ナビゲーション制御装置16に適用されるナビ用FWに適合するバージョンになるように操作表示装置14に適用される操作表示装置用FWを更新させる。ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新が決定されなければ(S30のN)、S32とS34の処理をスキップする。
ナビゲーション画面でソフトウェア更新画面への遷移操作が入力されなければ(S14のN)、以降の処理をスキップして本図のフローを終了し、操作表示装置14は、ナビゲーション映像の表示等、通常処理を実行する。すなわち、明示的なユーザ操作がなければ、ソフトウェア更新画面を表示せず、また、複数の電子機器間でのバージョン不適合に基づくエラーも表示しない。例えば、ソフトウェア更新画面の確認が本来不要な車両工場の検査ラインで、車両10の電源オン時に自動的にエラー表示がなされてしまうことを抑制する。これにより、操作表示装置14、ナビゲーション制御装置16が誤って不良品と判定されることを防止し、ロスコストを削減できる。
また、ナビゲーション制御装置16に適用されたナビ用FWのバージョンが、操作表示装置14に記憶されたナビ用FWのバージョンより新しく、もしくは一致し、かつ、操作表示装置14に適用された操作表示装置用FWのバージョンが、ナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンより新しく、もしくは一致する場合(S20のN)、以降の処理をスキップして本図のフローを終了する。また、確認画面72の更新ボタン74に対するユーザの選択操作が入力されなければ(S24のN)、以降の処理をスキップして本図のフローを終了する。すなわち、明示的なユーザ操作がなければ、プログラム更新を実行しない。これにより、車両工場の検査ラインで自動的にプログラム更新が開始されてしまい、検査ラインの工程に遅延を生じさせてしまうことを防止できる。
第1実施例の操作表示装置14は、自装置のファームウェアに適合するナビゲーション制御装置16のファームウェアを、工場出荷時に空き領域とされるメモリ領域に記憶する。これにより、ナビゲーション制御装置16のファームウェアのデータサイズ分、操作表示装置14のメモリサイズを増加させることが不要になる。すなわち、操作表示装置14のコスト増加を抑止しつつ、操作表示装置14とナビゲーション制御装置16の双方向でのファームウェアのバージョンアップを実現できる。
(第2実施例)
第2実施例のIVIシステム12の構成要素は、第1実施例と同様である(図1)。第2実施例のIVIシステム12は、各装置のバージョンを、メジャーバージョンとマイナーバージョンに分けて管理する点で第1実施例と異なる。以下、第1実施例で説明済みの内容は再度の説明を適宜省略し、第1実施例と異なる点を主に説明する。
図7は、第2実施例の操作表示装置14の機能構成を示すブロック図である。第2実施例の操作表示装置14は、判定部50、プログラム送信部52、プログラム更新部46が連携して、自装置または他装置のファームウェアを自発的に更新する点で第1実施例と異なる。第2実施例の操作表示装置14の対向機は、第1実施例と同様にナビゲーション制御装置16とする。
バージョン取得部48は、ナビゲーション制御装置16に適用されたナビ用FWのメジャーバージョンおよびマイナーバージョンを示すバージョン情報をナビゲーション制御装置16から取得する。また、バージョン取得部48は、ナビゲーション制御装置16の更新プログラム領域66に記憶された操作表示装置用FWのメジャーバージョンおよびマイナーバージョンを示すバージョン情報をナビゲーション制御装置16から取得する。
第2実施例では、ファームウェアの変更の規模が相対的に大きい場合(例えば大規模な機能追加や大規模な不具合修正がなされた場合)に、ファームウェアのメジャーバージョンが変更され、ファームウェアの変更の規模が相対的に小さい場合にファームウェアのマイナーバージョンが変更される。また、一方の電子機器のファームウェアが変更され、それに伴って他方の電子機器のファームウェアにも変更が生じた場合、双方の電子機器のファームウェアのメジャーバージョンが変更される。例えば、操作表示装置用FWが変更され、それに伴ってナビ用FWにも変更が生じた場合、または、ナビ用FWが変更され、それに伴って操作表示装置用FWにも変更が生じた場合、操作表示装置用FWとナビ用FW両方のメジャーバージョンがインクリメントされる。
既述したように、操作表示装置14の更新プログラム領域66に格納されるナビ用FWのバージョンは、操作表示装置14のファームウェア領域62またはファームウェア領域64(運用面)に格納される操作表示装置用FWのバージョンに適合する。したがって、ナビゲーション制御装置16のファームウェア領域62またはファームウェア領域64(運用面)に格納されるナビ用FWのメジャーバージョンが、操作表示装置14の更新プログラム領域66に格納されるナビ用FWのメジャーバージョンより古い場合、ナビゲーション制御装置16のナビ用FWをバージョンアップ(操作表示装置14に記憶されたナビ用FWを反映)する必要がある。
一方の電子機器のファームウェアの変更が、他方の電子機器のファームウェアに影響を与えない場合、言い換えれば、一方の電子機器のファームウェアが変更されても、他方の電子機器のファームウェアは変更不要である場合、上記一方の電子機器のみマイナーバージョンが変更される。例えば、操作表示装置用FWが変更されたもののナビ用FWは変更されない場合、操作表示装置用FWのみマイナーバージョンがインクリメントされる。また、ナビ用FWが変更されたものの操作表示装置用FWが変更されない場合、ナビ用FWのみマイナーバージョンがインクリメントされる。
判定部50は、操作表示装置14の更新プログラム領域66に記憶されたナビ用FWのメジャーバージョンとマイナーバージョンを記憶部36から読み込む。判定部50は、更新プログラム領域66に記憶されたナビ用FWのメジャーバージョンと、ナビゲーション制御装置16に適用されたナビ用FWのメジャーバージョンとを比較し、両者が一致するか否かを判定する。更新プログラム領域66に記憶されたナビ用FWのメジャーバージョンに対してナビゲーション制御装置16に適用されたナビ用FWのメジャーバージョンが古い場合、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新を決定する。
また、判定部50は、操作表示装置14のファームウェア領域62またはファームウェア領域64(運用面)に記憶された操作表示装置用FWメジャーバージョンとマイナーバージョンを記憶部36から読み込む。判定部50は、操作表示装置14に記憶された操作表示装置用FWのメジャーバージョンと、ナビゲーション制御装置16から取得されたバージョン情報が示すナビゲーション制御装置16に記憶された操作表示装置用FWのメジャーバージョンとを比較し、両者が一致するか否かを判定する。ナビゲーション制御装置16に記憶された操作表示装置用FWのメジャーバージョンに対して操作表示装置14に記憶された操作表示装置用FWのメジャーバージョンが古い場合、ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新を決定する。
プログラム送信部52は、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新が判定部50により決定された場合、記憶部36の更新プログラム領域66に記憶されたナビ用FWをナビゲーション制御装置16へ送信することにより、ナビゲーション制御装置16に適用されるファームウェアを更新させる。プログラム送信部52は、操作表示装置14の更新プログラム領域66に記憶されたナビ用FWのメジャーバージョンと、ナビゲーション制御装置16に適用されたナビ用FWのメジャーバージョンが一致すれば、前者のナビ用FWのマイナーバージョンに対して後者のナビ用FWのマイナーバージョンが古い場合でも、更新プログラム領域66に記憶されたナビ用FWをナビゲーション制御装置16へ送信することを抑制する。
また、プログラム更新部46は、ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新が判定部50により決定された場合、ナビゲーション制御装置16に記憶された操作表示装置用FWをナビゲーション制御装置16から取得し、ファームウェア領域62またはファームウェア領域64(待機面側)に記憶された既存の操作表示装置用FWを更新する。具体的には、第1実施例と同様に、プログラム更新部46は、ナビゲーション制御装置16から取得した操作表示装置用FWを更新プログラム領域66に一旦格納する。プログラム更新部46は、更新プログラム領域66に格納した操作表示装置用FWに基づいて、ファームウェア領域62またはファームウェア領域64(待機面側)に記憶された既存の操作表示装置用FWを更新する。
プログラム更新部46は、ナビゲーション制御装置16に記憶された操作表示装置用FWのメジャーバージョンと、操作表示装置14に記憶された操作表示装置用FWのメジャーバージョンが一致すれば、前者の操作表示装置用FWのマイナーバージョンに対して後者の操作表示装置用FWのマイナーバージョンが古い場合でも、ファームウェア領域62またはファームウェア領域64(待機面側)に記憶された既存の操作表示装置用FWを更新することを抑制する。この場合、プログラム更新部46は、ナビゲーション制御装置16から操作表示装置用FWを取得することを抑制してもよい。
図8は、第2実施例の操作表示装置14の動作を示すフローチャートである。車両10の電源がオンにされると、操作表示装置14(およびナビゲーション制御装置16、アンプ18)の電源がオンに切り替わる(S40)。バージョン取得部48は、ナビゲーション制御装置16からバージョン情報およびプログラム種類情報を取得する(S42)。ナビゲーション制御装置16に適用されたナビ用FWのメジャーバージョンと、操作表示装置14に記憶されたナビ用FWのメジャーバージョンが不一致の場合、または、操作表示装置14に適用された操作表示装置用FWのメジャーバージョンと、ナビゲーション制御装置16に記憶された操作表示装置用FWのメジャーバージョンが不一致の場合(S44のY)、判定部50は、操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新を決定し、および/または、ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新を決定する。
操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新が決定された場合(S46のY)、プログラム送信部52は、更新プログラム領域66に記憶されたナビ用FWのデータをナビゲーション制御装置16へ送信する(S48)。操作表示装置14からナビゲーション制御装置16へのナビ用FWの更新が決定されなければ(S46のN)、S48の処理をスキップする。
ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新が決定された場合(S50のY)、プログラム更新部46は、ナビゲーション制御装置16に記憶された操作表示装置用FWをナビゲーション制御装置16から取得する(S52)。プログラム更新部46は、ナビゲーション制御装置16から取得した操作表示装置用FWに基づいて、ファームウェア領域62またはファームウェア領域64(待機面側)に記憶された既存の操作表示装置用FWを更新する(S54)。プログラム更新部46は、操作表示装置14を再起動させ、ファームウェア領域62とファームウェア領域64の運用面/待機面を切り替えることにより、バージョンアップされた操作表示装置用FWを有効にする(S56)。ナビゲーション制御装置16から操作表示装置14への操作表示装置用FWの更新が決定されなければ(S50のN)、S52〜S56の処理をスキップする。
データ処理部42は、ファームウェア領域62またはファームウェア領域64(運用面側)に記憶された操作表示装置用FWに基づいて、ナビゲーション画面のデータを生成する。表示制御部44は、ナビゲーション画面をタッチスクリーン38に表示させる(S58)。
ナビゲーション制御装置16に適用されたナビ用FWのメジャーバージョンと、操作表示装置14に記憶されたナビ用FWのメジャーバージョンが一致し、かつ、操作表示装置14に適用された操作表示装置用FWのメジャーバージョンと、ナビゲーション制御装置16に記憶された操作表示装置用FWのメジャーバージョンが一致する場合(S44のN)、ナビ用FWのマイナーバージョンの異同および操作表示装置用FWのマイナーバージョンの異同に関わらずS58へ進み、通常のナビゲーション画面を表示させる。このように、不要なファームウェア更新処理をスキップするため、ファームウェア更新処理に要する時間(例えば20分〜30分)、ユーザを待たせてしまうことを回避できる。
図9(a)、図9(b)、図9(c)は、プログラム更新の例を示す。この例では、バージョンの3桁目をメジャーバージョンとし、2桁目と1桁目をマイナーバージョンとする。図9(a)の操作表示装置14に記憶されたファームウェアとナビゲーション制御装置16に記憶されたファームウェアは、メジャーバージョンが一致し、マイナーバージョンが相違する。この場合、ファームウェアの自動更新は行わない。
一方、図9(b)の操作表示装置14に記憶されたファームウェアとナビゲーション制御装置16に記憶されたファームウェアは、メジャーバージョンが相違する。そのため、図9(c)に示すように、操作表示装置14のプログラム送信部52は、自装置に記憶されたナビ用FW(バージョン201)をナビゲーション制御装置16へ送信する。ナビゲーション制御装置16のプログラム更新部46は、ナビ用FW(バージョン201)を、一旦更新プログラム領域66に格納した後、ファームウェア領域62またはファームウェア領域64に反映させる。
(第3実施例)
第3実施例のIVIシステム12の構成要素は、第1実施例と同様である(図1)。第3実施例のIVIシステム12は、複数種類のバスを介して接続された複数の電子機器間でファームウェアを更新する点で第1実施例と異なる。第3実施例において、ファームウェアの更新対象となる電子機器は、操作表示装置14、ナビゲーション制御装置16、アンプ18である。以下、第1実施例で説明済みの内容は再度の説明を適宜省略し、第1実施例と異なる点を主に説明する。
既述したように、IVIシステム12は、USB20を介してナビゲーション制御装置16と通信し、MOST22を介してアンプ18と通信する。第3実施例のIVIシステム12では、USB20とMOST22の両方に接続される操作表示装置14が、マスタ装置として、IVIシステム12を構成する各装置のファームウェア更新を集中的に管理する。変形例として、操作表示装置14以外の装置がマスタ装置としての機能を備えてもよい。第3実施例の操作表示装置14の機能ブロックは、第2実施例の操作表示装置14と同様である(図7)。
少なくとも操作表示装置14の工場出荷時、記憶部36の更新プログラム領域66には、ナビゲーション制御装置16の動作を規定したファームウェア(すなわちナビ用FW)と、アンプ18の動作を規定したファームウェア(以下「アンプ用FW」と呼ぶ。)とが格納される。同様に、工場出荷時のナビゲーション制御装置16の更新プログラム領域66には、操作表示装置用FWとアンプ用FWが格納される。また、工場出荷時のアンプ18の更新プログラム領域66には、操作表示装置用FWとナビ用FWが格納される。
以下、マスタ装置としての操作表示装置14の機能を説明する。バージョン取得部48は、ナビゲーション制御装置16に記憶された操作表示装置用FW、ナビ用FW、アンプ用FWそれぞれのバージョン情報をナビゲーション制御装置16から取得する。また、バージョン取得部48は、アンプ18に記憶された操作表示装置用FW、ナビ用FW、アンプ用FWそれぞれのバージョン情報をアンプ18から取得する。
判定部50は、操作表示装置14に記憶された操作表示装置用FWのバージョンと、ナビゲーション制御装置16に記憶された操作表示装置用FWのバージョンと、アンプ18に記憶されたアンプ用FWのバージョンの異同を判定する。判定部50は、操作表示装置14、ナビゲーション制御装置16、アンプ18のうち最も新しいバージョンの操作表示装置用FWを記憶する機器を、操作表示装置用FWの更新プログラムの提供元として決定する。
また、判定部50は、操作表示装置14に記憶されたナビ用FWのバージョンと、ナビゲーション制御装置16に記憶されたナビ用FWのバージョンと、アンプ18に記憶されたナビ用FWのバージョンの異同を判定する。判定部50は、操作表示装置14、ナビゲーション制御装置16、アンプ18のうち最も新しいバージョンのナビ用FWを記憶する機器を、ナビ用FWの更新プログラムの提供元として決定する。
また、判定部50は、操作表示装置14に記憶されたアンプ用FWのバージョンと、ナビゲーション制御装置16に記憶されたアンプ用FWのバージョンと、アンプ18に記憶されたアンプ用FWのバージョンの異同を判定する。判定部50は、操作表示装置14、ナビゲーション制御装置16、アンプ18のうち最も新しいバージョンのアンプ用FWを記憶する機器を、アンプ用FWの更新プログラムの提供元として決定する。
操作表示装置14のプログラム更新部46およびプログラム送信部52は、操作表示装置用FW、ナビ用FW、アンプ用FWのそれぞれについて、判定部50により決定された更新プログラムの提供元機器から他機器へ最新バージョンのファームウェアを反映させる処理を実行する。
図10は、第3実施例の操作表示装置14の動作を示すフローチャートである。車両10の電源がオンにされると、操作表示装置14(およびナビゲーション制御装置16、アンプ18)の電源がオンに切り替わる(S60)。バージョン取得部48は、ナビゲーション制御装置16に記憶された各ファームウェアのバージョン情報をナビゲーション制御装置16から取得し、アンプ18に記憶された各ファームウェアのバージョン情報をアンプ18から取得する(S62)。判定部50は、操作表示装置用FW、ナビ用FW、アンプ用FWそれぞれの最新バージョンを記憶する機器を特定する(S64)。
ナビ用FWの更新タイミング(例えば起動時または明示的な更新指示受付時)であり(S66のY)、アンプ18が最新バージョンのナビ用FWを記憶する場合(S68のY)、操作表示装置14のプログラム更新部46は、アンプ18からナビ用FWを取得する(S70)。プログラム送信部52は、取得されたナビ用FWをナビゲーション制御装置16へ転送する(S72)。操作表示装置14が最新バージョンのナビ用FWを記憶する場合(S68のN)(S74のY)、プログラム送信部52は、自装置の更新プログラム領域66に記憶されたナビ用FWをナビゲーション制御装置16へ送信する(S76)。ナビゲーション制御装置16が最新バージョンのナビ用FWを記憶する場合、すなわち、最新バージョンのナビ用FWが既にナビゲーション制御装置16に適用中の場合(S74のN)、ナビ用FWの更新処理を終了する。ナビ用FWの更新タイミングでなければ(S66のN)、S68〜S76をスキップする。
アンプ用FWの更新タイミングであり(S78のY)、ナビゲーション制御装置16が最新バージョンのアンプ用FWを記憶する場合(S80のY)、操作表示装置14のプログラム更新部46は、ナビゲーション制御装置16からアンプ用FWを取得する(S82)。プログラム送信部52は、取得されたアンプ用FWをアンプ18へ転送する(S84)。操作表示装置14が最新バージョンのアンプ用FWを記憶する場合(S80のN)(S86のY)、プログラム送信部52は、自装置の更新プログラム領域66に記憶されたアンプ用FWをアンプ18へ送信する(S88)。アンプ18が最新バージョンのアンプ用FWを記憶する場合、すなわち、最新バージョンのアンプ用FWが既にアンプ18に適用中の場合(S86のN)、アンプ用FWの更新処理を終了する。アンプ用FWの更新タイミングでなければ(S78のN)、S80〜S88をスキップする。
操作表示装置用FWの更新タイミングであり(S90のY)、ナビゲーション制御装置16またはアンプ18が最新バージョンの操作表示装置用FWを記憶する場合(S92のY)、操作表示装置14のプログラム更新部46は、ナビゲーション制御装置16またはアンプ18から最新バージョンの操作表示装置用FWを取得する(S94)。プログラム更新部46は、取得した操作表示装置用FWに基づいて、自機器が記憶する既存の操作表示装置用FWをバージョンアップし(S96)、再起動を行う(S98)。以降、データ処理部42は、バージョンアップされた操作表示装置用FWに基づいて、ナビゲーション画面を生成し、表示させる(S100)。操作表示装置14が最新バージョンの操作表示装置用FWを記憶する場合、すなわち、最新バージョンの操作表示装置用FWが既に自機器に適用中の場合(S92のN)、操作表示装置用FWの更新処理を終了する。操作表示装置用FWの更新タイミングでなければ(S90のN)、S92〜S98をスキップする。
図11(a)と図11(b)は、プログラム更新の例を示す。図11(a)に示すように、この例では、アンプ18に記憶されたファームウェアのバージョン(バージョン3)が、操作表示装置14に記憶されたファームウェアのバージョン(バージョン2)より新しく、かつ、ナビゲーション制御装置16に記憶されたファームウェアのバージョン(バージョン1)より新しい。したがって、マスタ装置である操作表示装置14の判定部50は、各ファームウェアの更新プログラムの提供元としてアンプ18を決定する。
図11(b)に示すように、操作表示装置14のプログラム更新部46は、アンプ18に記憶された操作表示装置用FW(バージョン3)とナビ用FW(バージョン3)をアンプ18から取得して、更新プログラム領域66に一旦格納する。実際には、アンプ18のプログラム送信部52が、自律的に操作表示装置用FW(バージョン3)とナビ用FW(バージョン3)を操作表示装置14へ送信し、操作表示装置14のプログラム更新部46は、それらのファームウェアを受信してもよい。
操作表示装置14のプログラム更新部46は、操作表示装置用FW(バージョン3)をファームウェア領域62またはファームウェア領域64に反映する。操作表示装置14のプログラム送信部52は、ナビ用FW(バージョン3)をナビゲーション制御装置16へ送信する。ナビゲーション制御装置16のプログラム更新部46は、ナビ用FW(バージョン3)を更新プログラム領域66に一旦格納した後、ファームウェア領域62またはファームウェア領域64に反映する。
多くの車両は、異なる性質を持つ複数種類のバス(通信経路)を備え、複数の車載装置のそれぞれは、処理対象となるデータの性質等に適合するバスに接続される。第3実施例の操作表示装置14によると、異なる種類のバスを介して複数の車載装置が連携するシステムにおいて、ファームウェアの自発更新を実現できる。なお、第3実施例で示したように、複数種類のバスのいずれにも接続される操作表示装置14をマスタ装置として設定し、複数の車載装置のバージョンを集約し、また、複数の車載装置間でのファームウェア更新を制御する処理を操作表示装置14に実行させることが効率的である。
以上、本発明を第1〜第3実施例をもとに説明した。これらの実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
第1変形例を説明する。第2実施例の操作表示装置14は、ユーザの操作に依存せず、自発的にプログラム更新を実行したが、変形例として、第1実施例の技術を適用し、ユーザの操作を条件としてプログラム更新を実行してもよい。例えば、判定部50は、ソフトウェア更新画面70の表示を指示する操作が入力された場合に、操作表示装置14に適用中の操作表示装置用FWのメジャーバージョンおよびマイナーバージョンと、ナビゲーション制御装置16に適用中のナビ用FWのメジャーバージョンおよびマイナーバージョンを示すソフトウェア更新画面70を表示させてもよい。
判定部50は、操作表示装置14に適用中の操作表示装置用FWのメジャーバージョンが、ナビゲーション制御装置16に記憶された操作表示装置用FWのメジャーバージョンより古い場合、または、ナビゲーション制御装置16に適用中のナビ用FWのメジャーバージョンが、操作表示装置14に記憶されたナビ用FWのバージョンより古い場合に確認画面72を表示させてもよい。そして、確認画面72に対してプログラム更新を指示する操作が入力された場合に、操作表示装置14に記憶された操作表示装置用FWまたはナビゲーション制御装置16に記憶されたナビ用FWを更新してもよい。
第2変形例を説明する。第3実施例の操作表示装置14は、ユーザの操作に依存せず、自発的にプログラム更新を実行したが、変形例として、第1実施例の技術を適用し、ユーザの操作を条件としてプログラム更新を実行してもよい。例えば、判定部50は、ソフトウェア更新画面70の表示を指示する操作が入力された場合に、操作表示装置14に適用中の操作表示装置用FW、ナビゲーション制御装置16に適用中のナビ用FW、アンプ18に適用中のアンプ用FWそれぞれのバージョンを示すソフトウェア更新画面70を表示させてもよい。
判定部50は、最新バージョンの操作表示装置用FWが操作表示装置14以外に記憶されていること、最新バージョンのナビ用FWがナビゲーション制御装置16以外に記憶されていること、最新バージョンのアンプ用FWがアンプ18以外に記憶されていることの少なくとも1つに該当する場合に確認画面72を表示させてもよい。そして、確認画面72に対してプログラム更新を指示する操作が入力された場合に、操作表示装置14(すなわちマスタ装置)は、最新バージョンの操作表示装置用FWを操作表示装置14に反映させる処理、最新バージョンのナビ用FWをナビゲーション制御装置16に反映させる処理、最新バージョンのアンプ用FWをアンプ18に反映させる処理の少なくとも1つを実行してもよい。
第3変形例を説明する。第3実施例の操作表示装置14に対して第2実施例の技術を適用してもよい。例えば、操作表示装置14の判定部50は、操作表示装置14、ナビゲーション制御装置16、アンプ18のそれぞれに記憶されたファームウェアのメジャーバージョンの異同を判定してもよい。操作表示装置14の判定部50は、各装置に記憶されたファームウェアのメジャーバージョンに違いがあれば、最新のメジャーバージョンのファームウェアを記憶する機器を、更新プログラムの提供元として決定してもよい。
第4変形例を説明する。第1実施例の操作表示装置14に対して、第2実施例の技術および第3実施例の技術を適用してもよい。例えば、判定部50は、ソフトウェア更新画面70の表示を指示する操作が入力された場合に、操作表示装置14に適用中の操作表示装置用FW、ナビゲーション制御装置16に適用中のナビ用FW、アンプ18に適用中のアンプ用FWそれぞれのメジャーバージョンおよびマイナーバージョンを示すソフトウェア更新画面70を表示させてもよい。
判定部50は、操作表示装置14、ナビゲーション制御装置16、アンプ18のそれぞれに記憶された操作表示装置用FWのメジャーバージョンに差異がある場合、操作表示装置14、ナビゲーション制御装置16、アンプ18のそれぞれに記憶されたナビ用FWのバージョンのメジャーバージョンに差異がある場合、または、操作表示装置14、ナビゲーション制御装置16、アンプ18のそれぞれに記憶されたアンプ用FWのメジャーバージョンに差異がある場合に確認画面72を表示させてもよい。そして、確認画面72に対してプログラム更新を指示する操作が入力された場合に、最新バージョンの操作表示装置用FWを操作表示装置14に反映させ、最新バージョンのナビ用FWをナビゲーション制御装置16に反映させ、または、最新バージョンのアンプ用FWをアンプ18に反映させてもよい。
上記第1〜第3実施例に適用可能な第5変形例を説明する。各実施例では言及していないが、操作表示装置14のプログラム送信部52は、ナビゲーション制御装置16のナビ用FWを更新させた後、自装置に適用中の操作表示装置用FWをナビゲーション制御装置16へ送信し、ナビゲーション制御装置16の更新プログラム領域66に記憶させてもよい。例えば、図6において、ナビゲーション制御装置16のファームウェア領域62またはファームウェア領域64のナビ用FWを更新後、操作表示装置14は、操作表示装置用FW(バージョン2)をナビゲーション制御装置16へ送信し、更新プログラム領域66に格納させてもよい。
同様に、図9において、ナビゲーション制御装置16のファームウェア領域62またはファームウェア領域64のナビ用FWを更新後、操作表示装置14は、操作表示装置用FW(バージョン201)をナビゲーション制御装置16へ送信し、更新プログラム領域66に格納させてもよい。同様に、図11において、操作表示装置14の操作表示装置用FWの更新と、ナビゲーション制御装置16のナビ用FWの更新後に、アンプ18に適用中のアンプ用FW(バージョン3)を、操作表示装置14の更新プログラム領域66、および、ナビゲーション制御装置16の更新プログラム領域66に格納してもよい。
第5変形例の構成によると、ファームウェア更新の完了時に、IVIシステム12を構成する個々の電子機器の更新プログラム領域66に、より新しいバージョンの他機器用ファームウェアを格納することができる。これにより、個々の電子機器を新たに別の電子機器と接続した場合に、新しいバージョンのファームウェアをその別の電子機器へ提供できるようになる。
上記第1〜第3実施例に適用可能な第6変形例を説明する。IVIシステム12を構成する各装置において、工場出荷時、記憶部36のファームウェア領域62(またはファームウェア領域64)に記憶される自機器用プログラムのバージョンと、更新プログラム領域66に記憶される他機器用プログラムのバージョンは同一であってもよい。なお、少なくともメジャーバージョンが同一であってもよい。本変形例では、互いに適合する自機器用プログラム(例えば操作表示装置用FW)と他機器用プログラム(例えばナビ用FW)には、同一のバージョンが付与される。この態様によると、機器間でのファームウェアのバージョン比較が簡易化され、ファームウェア更新を効率化できる。
上記の実施例および変形例に記載のプログラム更新技術は、適用範囲が車載機器に制限されず、他機器と連携してデータ処理を実行する様々な電子機器に適用可能である。特に、上記の実施例および変形例に記載のプログラム更新技術は、コスト的または技術的な理由でメモリサイズを増加させることが容易でない電子機器に好適である。
なお、実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
他機器と通信する通信部と、
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に前記他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第1領域とは異なる第2領域に記憶する記憶部と、
前記第1領域に記憶された自機器用プログラムに基づいて、前記他機器とのデータ処理を実行するデータ処理部と、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する取得部と、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された前記他機器用プログラムを更新させる送信部と、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第2領域に記憶させ、前記更新プログラムを用いて、前記第1領域に記憶された前記自機器用プログラムを更新する更新部と、
を備える電子機器。
この電子機器の構成によると、他機器用プログラムを記憶するメモリ領域を新たに設ける必要がなく、電子機器の製造コストの増加を抑制することができる。
[項目2]
操作者から第1の操作が入力されたことを条件として、前記第2領域に記憶された前記他機器用プログラムのバージョンと、前記他機器から取得された前記他機器用プログラムのバージョンとを表示させる表示制御部、をさらに備え、
前記送信部は、前記第2領域に記憶された前記他機器用プログラムのバージョンに対して前記他機器から取得された前記他機器用プログラムのバージョンが古い場合、前記操作者から第2の操作が入力されたことを条件として、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信する、
項目1に記載の電子機器。
この電子機器の構成によると、ユーザの判断を待たずに自動で他機器のプログラムを更新することを防止し、例えば、工場ライン上でプログラム更新に起因した遅延が発生することを回避できる。また、電源投入時にバージョン違いに基づくエラー表示を自動表示するのではなく、明示的なユーザの操作を条件としてバージョン情報を表示するため、ファームウェアのバージョン違いにより誤って不良品と判定されることを抑制できる。
[項目3]
前記取得部は、前記他機器に記憶された前記自機器用プログラムのバージョンを前記他機器からさらに取得し、
前記更新部は、前記他機器から取得された前記自機器用プログラムのバージョンに対して前記第1領域に記憶された前記自機器用プログラムのバージョンが古い場合、前記操作者から第3の操作が入力されたことを条件として、前記他機器に記憶された自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第1領域に記憶された前記自機器用プログラムを更新する、
項目2に記載の電子機器。
この電子機器の構成によると、ユーザの判断を待たずに自動で自機器のプログラムを更新することを防止し、例えば、工場ライン上でプログラム更新に起因した遅延が発生することを回避できる。
[項目4]
前記取得部は、前記他機器に記憶された前記他機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器から取得し、
前記送信部は、前記第2領域に記憶された前記他機器用プログラムのメジャーバージョンに対して前記他機器から取得された前記他機器用プログラムのメジャーバージョンが古い場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信する一方、前記第2領域に記憶された前記他機器用プログラムのメジャーバージョンと前記他機器から取得された前記他機器用プログラムのメジャーバージョンが一致する場合、前記第2領域に記憶された前記他機器用プログラムのマイナーバージョンに対して前記他機器から取得された前記他機器用プログラムのマイナーバージョンが古いときでも、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信しない、
項目1に記載の電子機器。
この電子機器の構成によると、本来不要なプログラムの更新を抑制し、ユーザの待ち時間を低減することができる。
[項目5]
前記取得部は、前記他機器に記憶された前記自機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器からさらに取得し、
前記更新部は、前記他機器から取得された前記自機器用プログラムのメジャーバージョンに対して前記第1領域に記憶された前記自機器用プログラムのメジャーバージョンが古い場合、前記他機器に記憶された前記自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第1領域に記憶された前記自機器用プログラムを更新する一方、前記他機器から取得された前記自機器用プログラムのメジャーバージョンと前記第1領域に記憶された前記自機器用プログラムのメジャーバージョンが一致する場合、前記他機器から取得された前記自機器用プログラムのマイナーバージョンに対して前記第1領域に記憶された前記自機器用プログラムのマイナーバージョンが古いときでも、前記第1領域に記憶された前記自機器用プログラムを更新しない、
項目4に記載の電子機器。
この電子機器の構成によると、本来不要なプログラムの更新を抑制し、ユーザの待ち時間を低減することができる。
[項目6]
決定部、をさらに備え、
前記通信部は、第1のバスを介して第1の他機器と通信し、第1のバスとは異なる第2のバスを介して第2の他機器と通信し、
前記第2領域には、前記第1の他機器の動作を規定した第1の他機器用プログラムと、前記第2の他機器の動作を規定した第2の他機器用プログラムとが記憶され、
前記取得部は、前記第1の他機器に記憶された前記自機器用プログラムと前記第1の他機器用プログラムと前記第2の他機器用プログラムのそれぞれのバージョンを前記第1の他機器から取得し、前記第2の他機器に記憶された前記自機器用プログラムと前記第1の他機器用プログラムと前記第2の他機器用プログラムのそれぞれのバージョンを前記第2の他機器から取得し、
前記決定部は、前記自機器用プログラムと前記第1の他機器用プログラムと前記第2の他機器用プログラムのそれぞれについて、最も新しいバージョンのプログラムを記憶する機器を更新プログラムの提供元として決定する、
項目1に記載の電子機器。
この電子機器の構成によると、異なる種類のバスを介して複数の電子機器が連携するシステムにおいて、更新プログラムの提供元を適切に決定することができる。
[項目7]
最も新しいバージョンの前記自機器用プログラムと前記第2の他機器用プログラムを前記第1の他機器が記憶する場合、
前記更新部は、前記第1の他機器に記憶された前記自機器用プログラムおよび前記第2の他機器用プログラムを前記第1の他機器から取得し、前記第1領域に記憶された前記自機器用プログラムを更新し、
前記送信部は、前記更新部により取得された前記第2の他機器用プログラムを前記第2の他機器へ送信する、
項目6に記載の電子機器。
この電子機器の構成によると、異なる種類のバスを介して複数の電子機器が連携するシステムにおいて、各機器のプログラムを適切に更新することを実現できる。
[項目8]
前記第2領域に記憶される前記自機器用プログラムのバージョンと前記他機器用プログラムのバージョンは同一である、
項目1から7のいずれかに記載の電子機器。
この電子機器の構成によると、自機器に記憶されたプログラムのバージョンと、他機器に記憶されたプログラムのバージョンを効率的に比較することができる。
[項目9]
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第1領域とは異なる第2領域に記憶する記憶部、を備える電子機器が、
前記第1領域に記憶された自機器用プログラムを用いて、前記他機器とのデータ処理を実行し、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得し、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させ、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第2領域に記憶させ、前記更新プログラムを用いて、前記第1領域に記憶された前記自機器用プログラムを更新する、
プログラム更新方法。
このプログラム更新方法によると、他機器用プログラムを記憶するメモリ領域を電子機器に新たに設ける必要がなく、電子機器の製造コストの増加を抑制することができる。
[項目10]
自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第1領域とは異なる第2領域に記憶する記憶部、を備える電子機器に、
前記第1領域に記憶された自機器用プログラムに基づく、前記他機器とのデータ処理と、
前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する処理と、
前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させる処理と、
外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第2領域に記憶させ、前記更新プログラムを用いて、前記第1領域に記憶された前記自機器用プログラムを更新する処理と、
を実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、他機器用プログラムを記憶するメモリ領域を電子機器に新たに設ける必要がなく、電子機器の製造コストの増加を抑制することができる。
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
10 車両、 14 操作表示装置、 16 ナビゲーション制御装置、 18 アンプ、 30 通信部、 36 記憶部、 42 データ処理部、 44 表示制御部、 46 プログラム更新部、 48 バージョン取得部、 50 判定部、 52 プログラム送信部。

Claims (10)

  1. 他機器と通信する通信部と、
    自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に前記他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第1領域とは異なる第2領域に記憶する記憶部と、
    前記第1領域に記憶された自機器用プログラムに基づいて、前記他機器とのデータ処理を実行するデータ処理部と、
    前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する取得部と、
    前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された前記他機器用プログラムを更新させる送信部と、
    外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第2領域に記憶させ、前記更新プログラムを用いて、前記第1領域に記憶された前記自機器用プログラムを更新する更新部と、
    を備える電子機器。
  2. 操作者から第1の操作が入力されたことを条件として、前記第2領域に記憶された前記他機器用プログラムのバージョンと、前記他機器から取得された前記他機器用プログラムのバージョンとを表示させる表示制御部、をさらに備え、
    前記送信部は、前記第2領域に記憶された前記他機器用プログラムのバージョンに対して前記他機器から取得された前記他機器用プログラムのバージョンが古い場合、前記操作者から第2の操作が入力されたことを条件として、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信する、
    請求項1に記載の電子機器。
  3. 前記取得部は、前記他機器に記憶された前記自機器用プログラムのバージョンを前記他機器からさらに取得し、
    前記更新部は、前記他機器から取得された前記自機器用プログラムのバージョンに対して前記第1領域に記憶された前記自機器用プログラムのバージョンが古い場合、前記操作者から第3の操作が入力されたことを条件として、前記他機器に記憶された自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第1領域に記憶された前記自機器用プログラムを更新する、
    請求項2に記載の電子機器。
  4. 前記取得部は、前記他機器に記憶された前記他機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器から取得し、
    前記送信部は、前記第2領域に記憶された前記他機器用プログラムのメジャーバージョンに対して前記他機器から取得された前記他機器用プログラムのメジャーバージョンが古い場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信する一方、前記第2領域に記憶された前記他機器用プログラムのメジャーバージョンと前記他機器から取得された前記他機器用プログラムのメジャーバージョンが一致する場合、前記第2領域に記憶された前記他機器用プログラムのマイナーバージョンに対して前記他機器から取得された前記他機器用プログラムのマイナーバージョンが古いときでも、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信しない、
    請求項1に記載の電子機器。
  5. 前記取得部は、前記他機器に記憶された前記自機器用プログラムのメジャーバージョンとマイナーバージョンを前記他機器からさらに取得し、
    前記更新部は、前記他機器から取得された前記自機器用プログラムのメジャーバージョンに対して前記第1領域に記憶された前記自機器用プログラムのメジャーバージョンが古い場合、前記他機器に記憶された前記自機器用プログラムを前記他機器から取得し、取得した前記自機器用プログラムを用いて前記第1領域に記憶された前記自機器用プログラムを更新する一方、前記他機器から取得された前記自機器用プログラムのメジャーバージョンと前記第1領域に記憶された前記自機器用プログラムのメジャーバージョンが一致する場合、前記他機器から取得された前記自機器用プログラムのマイナーバージョンに対して前記第1領域に記憶された前記自機器用プログラムのマイナーバージョンが古いときでも、前記第1領域に記憶された前記自機器用プログラムを更新しない、
    請求項4に記載の電子機器。
  6. 決定部、をさらに備え、
    前記通信部は、第1のバスを介して第1の他機器と通信し、第1のバスとは異なる第2のバスを介して第2の他機器と通信し、
    前記第2領域には、前記第1の他機器の動作を規定した第1の他機器用プログラムと、前記第2の他機器の動作を規定した第2の他機器用プログラムとが記憶され、
    前記取得部は、前記第1の他機器に記憶された前記自機器用プログラムと前記第1の他機器用プログラムと前記第2の他機器用プログラムのそれぞれのバージョンを前記第1の他機器から取得し、前記第2の他機器に記憶された前記自機器用プログラムと前記第1の他機器用プログラムと前記第2の他機器用プログラムのそれぞれのバージョンを前記第2の他機器から取得し、
    前記決定部は、前記自機器用プログラムと前記第1の他機器用プログラムと前記第2の他機器用プログラムのそれぞれについて、最も新しいバージョンのプログラムを記憶する機器を更新プログラムの提供元として決定する、
    請求項1に記載の電子機器。
  7. 最も新しいバージョンの前記自機器用プログラムと前記第2の他機器用プログラムを前記第1の他機器が記憶する場合、
    前記更新部は、前記第1の他機器に記憶された前記自機器用プログラムおよび前記第2の他機器用プログラムを前記第1の他機器から取得し、前記第1領域に記憶された前記自機器用プログラムを更新し、
    前記送信部は、前記更新部により取得された前記第2の他機器用プログラムを前記第2の他機器へ送信する、
    請求項6に記載の電子機器。
  8. 前記第1領域に記憶された前記自機器用プログラムのバージョンと、前記第2領域に記憶された前記他機器用プログラムのバージョンは同一である、
    請求項1から7のいずれかに記載の電子機器。
  9. 自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第1領域とは異なる第2領域に記憶する記憶部、を備える電子機器が、
    前記第1領域に記憶された自機器用プログラムを用いて、前記他機器とのデータ処理を実行し、
    前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得し、
    前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させ、
    外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第2領域に記憶させ、前記更新プログラムを用いて、前記第1領域に記憶された前記自機器用プログラムを更新する、
    プログラム更新方法。
  10. 自機器の動作を規定したコンピュータプログラムである自機器用プログラムを第1領域に記憶し、工場出荷時に通信相手となる他機器の動作を規定したコンピュータプログラムである他機器用プログラムを前記第1領域とは異なる第2領域に記憶する記憶部、を備える電子機器に、
    前記第1領域に記憶された自機器用プログラムに基づく、前記他機器とのデータ処理と、
    前記他機器に記憶された前記他機器用プログラムのバージョンを前記他機器から取得する処理と、
    前記他機器から取得された前記他機器用プログラムのバージョンが所定の条件を満たす場合、前記第2領域に記憶された前記他機器用プログラムを前記他機器へ送信することにより、前記他機器に記憶された他機器用プログラムを更新させる処理と、
    外部から入力された自機器用の更新プログラムを他機器用プログラムに代えて前記第2領域に記憶させ、前記更新プログラムを用いて、前記第1領域に記憶された前記自機器用プログラムを更新する処理と、
    を実行させるためのコンピュータプログラム。
JP2018028247A 2018-02-20 2018-02-20 電子機器、プログラム更新方法およびコンピュータプログラム Active JP6859282B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018028247A JP6859282B2 (ja) 2018-02-20 2018-02-20 電子機器、プログラム更新方法およびコンピュータプログラム
US16/279,490 US11029945B2 (en) 2018-02-20 2019-02-19 Electronic device, program update method, and non-transitory recording medium
CN201910127443.XA CN110175035A (zh) 2018-02-20 2019-02-20 电子设备、程序更新方法及计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018028247A JP6859282B2 (ja) 2018-02-20 2018-02-20 電子機器、プログラム更新方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019144842A true JP2019144842A (ja) 2019-08-29
JP6859282B2 JP6859282B2 (ja) 2021-04-14

Family

ID=67617804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018028247A Active JP6859282B2 (ja) 2018-02-20 2018-02-20 電子機器、プログラム更新方法およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US11029945B2 (ja)
JP (1) JP6859282B2 (ja)
CN (1) CN110175035A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302005B (zh) * 2023-05-11 2023-08-22 合肥智芯半导体有限公司 芯片、芯片升级方法、装置、电子设备及可读存储介质
CN117880789B (zh) * 2024-03-13 2024-05-03 四川九通智路科技有限公司 一种基于蓝牙的物联网随车调光系统远程信息升级方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010022175A (ja) * 2008-07-14 2010-01-28 Toshiba Schneider Inverter Corp インバータ制御システム,インバータ装置の周辺機器
JP2010068684A (ja) * 2008-09-12 2010-03-25 Toshiba Schneider Inverter Corp インバータ装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751681B2 (en) * 2001-06-18 2004-06-15 Sony Corporation System and method for providing automatic firmware updates and diagnostics for network attached storage devices
JP2005157885A (ja) 2003-11-27 2005-06-16 Dowango:Kk 携帯端末、アップデートシステム、アップデート方法およびアップデート用プログラム
CN100461108C (zh) * 2007-03-13 2009-02-11 中兴通讯股份有限公司 一种终端产品不中断业务在线升级版本的方法
KR101494343B1 (ko) * 2008-02-22 2015-02-23 삼성전자주식회사 인터넷 공유기의 펌웨어 업그레이드 장치 및 그 제어방법
JP5084853B2 (ja) * 2010-02-23 2012-11-28 三菱電機株式会社 ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
US20130042231A1 (en) * 2011-08-10 2013-02-14 Ford Global Technologies, Llc Methods and Apparatus for Software Updating
US10031737B2 (en) * 2012-02-16 2018-07-24 Microsoft Technology Licensing, Llc Downloading and distribution of applications and updates to multiple devices
CN104871135B (zh) * 2012-12-20 2018-03-13 Nec显示器解决方案株式会社 控制装置、显示装置、固件更新方法和固件更新程序
JP6185789B2 (ja) 2013-08-23 2017-08-23 矢崎エナジーシステム株式会社 車載ソフトウェア更新装置
CN103810010A (zh) * 2014-02-20 2014-05-21 联想(北京)有限公司 一种信息处理方法和第一电子设备终端
KR20150129972A (ko) * 2014-05-12 2015-11-23 에스케이플래닛 주식회사 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템
TWI569604B (zh) * 2015-01-21 2017-02-01 智邦科技股份有限公司 網路交換機系統及其操作方法
JP2016143318A (ja) 2015-02-04 2016-08-08 三菱電機株式会社 プログラム更新装置、プログラム更新システム、家電機器、通信アダプタ、コントローラ、プログラム更新方法、および、プログラム
JP6433844B2 (ja) * 2015-04-09 2018-12-05 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、中継装置、情報処理システム、およびソフトウェアアップデート方法
JP6602102B2 (ja) * 2015-08-21 2019-11-06 三菱電機株式会社 プログラム更新制御装置、情報家電機器、プログラム更新システム、プログラム更新方法およびプログラム
US20170242678A1 (en) * 2016-02-19 2017-08-24 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010022175A (ja) * 2008-07-14 2010-01-28 Toshiba Schneider Inverter Corp インバータ制御システム,インバータ装置の周辺機器
JP2010068684A (ja) * 2008-09-12 2010-03-25 Toshiba Schneider Inverter Corp インバータ装置

Also Published As

Publication number Publication date
US11029945B2 (en) 2021-06-08
JP6859282B2 (ja) 2021-04-14
US20190258477A1 (en) 2019-08-22
CN110175035A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
JP6665728B2 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
CN100474183C (zh) 识别设备软件和设备驱动程序间功能不一致的系统和方法
CN111506537A (zh) 车载系统和电子控制单元
JP2017157004A (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6390302B2 (ja) プログラム送信システム及びプログラム送信装置
EP4033351B1 (en) Vehicle control system and method for confirming software consistency
CN110244958B (zh) 用于更新车辆的标定数据的方法和装置
CN102141921A (zh) 一种终端设备系统升级方法及终端设备
JP6859282B2 (ja) 電子機器、プログラム更新方法およびコンピュータプログラム
US20140292816A1 (en) Computer program product, information processing method, and information processing apparatus
US9361219B2 (en) Information processing device, information processing method and program product
CN113805965B (zh) 一种外部插件安装的方法、装置、设备及可读介质
CN108984192A (zh) 信息处理设备、计算机可读介质和程序管理方法
US11449329B2 (en) Vehicle control device and program update system
CN108205588B (zh) 基于主从结构的数据同步方法及装置
CN114531431A (zh) 一种基于蓝牙的多设备ota升级方法、电子设备、存储介质和程序产品
US20170199733A1 (en) Method for terminal to update operating system, terminal and system
US11159303B1 (en) Communication system, list distribution station, communication method, and computer readable medium
US20220334820A1 (en) System and method for intermediate software upgrades for information handling systems
JP2015232815A (ja) 車載プログラムのアップデート装置
US20210019137A1 (en) Firmware update of components of a modular node
KR20150043732A (ko) 자동차 제어기의 소프트웨어 업데이트 시스템 및 방법
WO2020195034A1 (ja) 車載更新装置、更新処理システム、更新処理方法及び処理プログラム
JP2018180869A (ja) 書換えシステム、書換え装置及びコンピュータ
CN113791810B (zh) 基于zynq平台的远程升级方法、装置及系统

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210325

R150 Certificate of patent or registration of utility model

Ref document number: 6859282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150