(57)【要約】【課題】システムイメージ全体を再構築することなく、ファイル単位での更新を可能にする車両用装置を提供する。【解決手段】実施形態の車両用装置１は、制御部２と、制御部２が利用するシステムイメージ１０を読み込み専用で記憶している不揮発性メモリであるフラッシュメモリ３と、フラッシュメモリ３から読み出されたシステムイメージ１０が展開される揮発性メモリであるメインメモリ４と、制御部２がシステムイメージ１０に含まれているファイル１１にアクセスする際、実際のアクセス先を書き換え可能な領域に格納されている更新用ファイル１２とするためのシンボリックリンク１３を生成する生成部９と、を備える。【選択図】図１
2020190932.tif 000002
【特許請求の範囲】
【請求項１】
制御部（２）と、
前記制御部が利用するシステムイメージ（１０）を読み込み専用で記憶している不揮発性メモリ（２）と、
前記不揮発性メモリから読み出された前記システムイメージが展開される揮発性メモリ（３）と、
前記制御部が前記システムイメージに含まれているファイル（１１）にアクセスする際、実際のアクセス先を書き換え可能な領域に格納されている更新用ファイル（１２）とするためのシンボリックリンクを生成する生成部（９）と、を備える車両用装置。
【請求項２】
前記不揮発性メモリは、書き換え可能なものであり、
前記更新用ファイルは、前記不揮発性メモリに格納されている請求項１記載の車両用装置。
【請求項３】
前記システムイメージには、前記更新用ファイルのシンボリックリンクを生成するためのスクリプト（１４）が含まれており、
前記生成部は、前記スクリプトに従って、前記更新用ファイルの格納およびシンボリックリンクの生成を行う請求項１または２記載の車両用装置。
【請求項４】
前記不揮発性メモリには、前記更新用ファイルのシンボリックリンクを生成するためのスクリプト（１４）が記憶されており、
前記生成部は、前記スクリプトに従って、前記更新用ファイルの格納およびシンボリックリンクの生成を行うとともに、前記制御部の指示に基づいて前記スクリプトを更新する請求項１または２記載の車両用装置。
【請求項５】
前記システムイメージは、前記制御部上で複数のオペレーティングシステム（５Ａ、５Ｂ）が動作する仮想化環境を構築するものである請求項１から４のいずれか一項記載の車両用装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用装置に関する。
【背景技術】
【０００２】
従来、制御部が利用するシステムイメージをいわゆるフラッシュＲＯＭのような不揮発性メモリに記憶しておき、起動時にメインメモリのような揮発性メモリに展開することによってオペレーティングシステムの起動完了までの時間を短縮することが提案されている（例えば、特許文献１参照）。以下、オペレーティングシステムをＯＳと称する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２９９４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、近年の車両用装置は、ＯＳを搭載することにより、複数の機能が集約化されている。そのため、上記したシステムイメージを採用することにより、車両用装置の起動を高速化することができると考えられる。
【０００５】
しかしながら、システムイメージは、読み込み専用で不揮発性メモリに記憶されており、メインメモリに展開された状態においても読み込み専用となっている。そのため、例えばシステムイメージ内の一部のファイルを更新あるいは差し替えたい場合であっても、システムイメージ全体を再構築する必要があった。
そこで、システムイメージ全体を再構築することなく、ファイル単位での更新を可能にする車両用装置を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明では、車両用装置（１）は、制御部（２）と、制御部が利用するシステムイメージ（１０）を読み込み専用で記憶している不揮発性メモリ（２）と、不揮発性メモリから読み出されたシステムイメージが展開される揮発性メモリ（３）と、制御部がシステムイメージに含まれているファイル（１１）にアクセスする際、実際のアクセス先を書き換え可能な領域に格納されている更新用ファイル（１２）とするためのシンボリックリンクを生成する生成部（９）と、を備える。
【０００７】
これにより、制御部（２）がシステムイメージ（１０）に含まれているファイル（１１）にアクセスする際、実際のアクセス先が、書き換え可能な領域に格納されている更新用ファイル（１２）となる。したがって、実質的にファイル（１２）を書き替えた状態と同様の制御を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態における車両用装置の構成を模式的に示す図
【図２】起動時のシーケンスの一例を示す図
【図３】第２実施形態における車両用装置の構成を模式的に示す図
【図４】通常動作時のシーケンスの一例を示す図
【発明を実施するための形態】
【０００９】
以下、複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一の符号を付して説明する。
【００１０】
（第１実施形態）
以下、第１実施形態について説明する。図１に示すように、車両に搭載される車両用装置１は、制御部２、フラッシュメモリ３、およびメインメモリ４などを備えている。制御部２は、図示しないＣＰＵ等を有するいわゆるマイクロコンピュータで構成されている。この制御部に２は、例えば２つのオペレーティングシステム５が動作する仮想化環境が構築されている。以下、オペレーティングシステム５をＯＳ５と称する。
【００１１】
本実施形態の場合、ＯＳ５ＡはいわゆるリアルタイムＯＳを採用しており、ＯＳ５Ｂは汎用ＯＳを採用している。各ＯＳ５上では、車両用装置１の各種の機能を実現するためのアプリケーション６が動作する。ＯＳ５Ａ上で動作するアプリケーション６は、例えばメータディスプレイ７に、車両の走行や安全に関わる情報を提示する処理などを行う。また、ＯＳ５Ｂ上で動作するアプリケーション６は、例えばセンターディスプレイ８にナビゲーション画面などのマルチメディア系の処理などを行う。
【００１２】
つまり、車両用装置１は、従来では複数の装置を用いて行われていた処理を集約したものとなっている。なお、図１では簡略化のために１つのアプリケーション６を示しているが、各ＯＳ５上では、複数の機能を実現するための複数のアプリケーション６が動作する。また、各ＯＳ５が図示しないハイパーバイザ上で動作する構成、あるいは、例えばＯＳ５Ａが備えるハイパーバイザ機能上でＯＳ５Ｂが動作する構成とすることができる。
【００１３】
また、各ＯＳ５上には、生成部９が設けられている。生成部９は、詳細は後述するが、制御部２がシステムイメージ１０に含まれているファイル１１にアクセスする際、実際のアクセス先がフラッシュメモリ３のような書き換え可能な領域に格納されている更新用ファイル１２となるようにするためのシンボリックリンク１３を生成する。
【００１４】
これらのＯＳ５やアプリケーション６などのプログラムは、フラッシュメモリ３に記憶されているシステムイメージ１０を読み込んでメインメモリ４に展開することにより、動作可能になる。このとき、システムイメージ１０には、ＯＳ５のカーネルやアプリケーション６、ドライバなどが含まれている。
【００１５】
このシステムイメージ１０は、制御部２が利用するいわゆるファイルシステムをイメージ化したものである。そして、システムイメージ１０には、複数のファイル１１と、後述するスクリプト１４とが含まれている。なお、図１では３つのファイル１１Ａ、ファイル１１Ｂおよびファイル１１Ｃを示しているが、ファイル１１の数はこれに限定されない。また、起動時におけるフラッシュメモリ３からのシステムイメージ１０の読み込み、および、読み込んだシステムイメージ１０のメインメモリ４への展開は、図示しないブートローダによって行われる。
【００１６】
フラッシュメモリ３は、例えばＥｍｂｅｄｄｅｄ Ｍｕｌｔｉ Ｍｅｄｉａ Ｃａｒｄなどの不揮発性メモリで構成されている。このフラッシュメモリ３自体は電気的に書き換え可能であるものの、システムイメージ１０は、読み込み専用で制御部２からアクセスされる。つまり、フラッシュメモリ３は、制御部２が利用するシステムイメージ１０を読み込み専用で記憶している。また、フラッシュメモリ３には、システムイメージ１０以外のデータ、例えばブートローダや後述する更新用ファイル１２を格納する領域が確保されている。この更新用ファイル１２は、書き換え可能になっている。
【００１７】
メインメモリ４は、いわゆるＲＡＭであり、揮発性メモリで構成されている。このメインメモリ４には、フラッシュメモリ３から読み込まれたシステムイメージ１０が展開される。ただし、展開されたシステムイメージ１０は、制御部２から読み込み専用で制御部２からアクセスされる。換言すると、システムイメージ１０は、メインメモリ４に展開された状態であっても、各ファイル１１を更新することができない構成となっている。
【００１８】
次に、上記した構成の作用について説明する。
車両用装置１は、上記したようにＯＳ５を動作させ、複数の機能が集約化されている。このとき、システムイメージ１０を採用することによって、車両用装置１の起動を高速化することができると考えられる。
【００１９】
その一方で、システムイメージ１０は、メインメモリ４に展開された状態においても読み込み専用となっている。そのため、例えばシステムイメージ１０内の一部のファイル１１を更新あるいは差し替えたい場合であっても、システムイメージ１０全体を再構築する必要がある。そして、各種の機能が集約された車両用装置１においては、開発時に各機能の動作確認を行う必要があるものの、例えば１つのパラメータを変更した場合であってもシステムイメージ１０全体の再構築が必要になり、開発時の効率が著しく低下するおそれがあった。
【００２０】
そこで、車両用装置１では、以下のようにして、システムイメージ１０全体を再構築することなくファイル１１単位での更新を可能にしている。以下、車両用装置１の起動時におけるシーケンスとともに説明する。なお、以下では、説明の簡略化のために、車両用装置１を主体にして説明する。
【００２１】
図２に示すように、車両用装置１は、起動すると、ステップＳ１においてフラッシュメモリ３からシステムイメージ１０を読み込み、ステップＳ２においてメインメモリ４に展開する。そして、車両用装置１は、展開されたシステムイメージ１０を利用して、ステップＳ３においてＯＳ５のカーネルを起動する。カーネルが起動すると、車両用装置１は、例えばフラッシュメモリのような基本的なデバイスへのアクセスが可能になる。そのため、車両用装置１は、ステップＳ４においてフラッシュメモリ３をマウントする。なお、マウントは、ＯＳ５からフラッシュメモリ３をアクセス可能にするための処理である。
【００２２】
続いて、車両用装置１は、ステップＳ５においてスクリプト１４を読み込む。このスクリプト１４は、更新対象となるファイル１１のシンボリックリンク１３を作成するプログラムであり、予めシステムイメージ１０に組み込まれている。例えば開発者であれば更新対象とするファイル１１を把握していると考えられることから、そのファイル１１を対象とするスクリプト１４を作成することができる。そして、最初にスクリプト１４を組み込んだシステムイメージ１０を構築しておけば、それ以降はシステムイメージ１０の再構築は基本的に必要なくなる。
【００２３】
さて、図１に示すように、システムイメージ１０に含まれるファイル１１Ａ、ファイル１１Ｂおよびファイル１１Ｃのうち、ファイル１１Ｂとファイル１１Ｃが更新対象であったとする。このとき、スクリプト１４には、ファイル１１Ｂとファイル１１Ｃのシンボリックリンク１３を作成するプログラムが記述がされている。
【００２４】
スクリプト１４の記述やシンボリックリンク１３の作成は一般的な技術であるため詳細な説明は省略するが、スクリプト１４には、システムイメージ１０のファイル１１Ｂをアクセスする際に実際のアクセス先となるのは更新用ファイル１２Ｂであること、および、システムイメージ１０のファイル１１Ｃをアクセスする際に実際のアクセス先となるのは更新用ファイル１２Ｃであることが記載されている。
【００２５】
そして、車両用装置１は、その記述に従って、それぞれのシンボリックリンク１３Ｂおよびシンボリックリンク１３Ｃを作成する。これにより、ファイル１１Ｂにアクセスする際には矢印Ｆ１にて示すようにシンボリックリンク１３Ｂが参照され、実際のアクセス先が矢印Ｆ２にて示すように更新用ファイル１２Ｂとなる。
【００２６】
同様に、ファイル１１Ｃにアクセスする際には矢印Ｆ３にて示すようにシンボリックリンク１３Ｃが参照され、実際のアクセス先が矢印Ｆ４にて示すように更新用ファイル１２Ｃとなる。なお、制御部２は、シンボリックリンク１３によって示された更新用ファイル１２が存在しない場合には、システムイメージ１０に含まれているオリジナルのファイル１１を参照する構成とすることができる。
【００２７】
続いて、車両用装置１は、各ファイル１１を読み込む。このとき、車両用装置１は、例えばシンボリックリンク１３が作成されていないファイル１１Ａについては、ステップＳ６において、システムイメージ１０からファイル１１Ａを読み込む。
【００２８】
これに対して、車両用装置１は、シンボリックリンク１３が作成されているファイル１１Ｂについては、アクセス先が更新用ファイル１２Ｂとなっていることから、ステップＳ７において、書き換え可能な領域に格納されている更新用ファイル１２Ｂを読み込む。同様に、車両用装置１は、シンボリックリンク１３が作成されているファイル１１Ｃについても、ステップＳ８において、書き換え可能な領域に格納されている更新用ファイル１２Ｃを読み込む。
そして、車両用装置１は、必要とする全てのファイル１１を読み込むと、ステップＳ９においてシステムの起動が完了することから、通常動作へ移行する。
【００２９】
このように、車両用装置１は、システムイメージ１０に含まれているファイル１１のうち、更新対象となるファイル１１については、シンボリックリンク１３を作成することにより書き換え可能な領域に格納されている更新用ファイル１２を実際のアクセス先にしている。これにより、システムイメージ１０を再構築することなく、ファイル１１Ｂおよびファイル１１Ｃを疑似的に書き換えることが可能になる。また、車両用装置１を再起動しても、更新用ファイル１２は保持されるため、更新内容を維持することが可能になる。
【００３０】
以上説明した車両用装置１によれば、次のような効果を得ることができる。
車両用装置１は、制御部２と、制御部２が利用するシステムイメージ１０を読み込み専用で記憶している不揮発性メモリであるフラッシュメモリ３と、フラッシュメモリ３から読み出されたシステムイメージ１０が展開される揮発性メモリであるメインメモリ４と、システムイメージ１０に含まれているファイル１１の代わりにアクセスされるものであって、書き換え可能な領域に格納されている更新用ファイル１２へのシンボリックリンク１３を生成する生成部９と、を備える。
【００３１】
このような構成とすることにより、制御部２つまりはＯＳ５からのアクセス先が、書き換え可能な更新用ファイル１２に設定され、その更新用ファイル１２を更新することにより、システムイメージ１０に含まれているファイル１１を疑似的に更新することが可能になる。つまり、実質的にファイル（１２）を書き替えた状態と同様の制御を行うことができる。したがって、システムイメージ１０全体を再構築することなく、ファイル１１単位での更新が可能になる。
【００３２】
また、開発時には何度もファイル１１の更新が必要になることが想定されるが、システムイメージ１０全体を再構築することなくファイル１１単位での更新が可能になることから、開発の効率を大きく向上させることができる。
また、ファイル１１の更新が必要なければシンボリックリンク１３を削除すればよいことから、オリジナルのファイル１１を容易に参照することができる。
【００３３】
また、更新用ファイル１２は、書き換え可能なフラッシュメモリ３に格納されている。そのため、車両用装置１を再起動する必要がある場合であっても、更新用ファイル１２およびその更新内容を維持することができる。
【００３４】
また、システムイメージ１０には更新用ファイル１２のシンボリックリンク１３を生成するスクリプト１４が含まれており、生成部９は、スクリプト１４に従って、更新用ファイル１２の格納およびシンボリックリンク１３の生成を行う。これにより、車両用装置１の起動時から更新用ファイル１２を利用することができる。このため、例えば開発時のデバッグに極めて有意となる。
【００３５】
また、システムイメージ１０は、制御部２上で複数のオペレーティングシステム５が動作する仮想化環境を構築するものである。仮想化環境の場合、多種多様な機能が実装されており、それに伴って更新が必要なファイル１１も増えると想定される。そのような場合であっても、システムイメージ１０全体を再構築することなくファイル１１単位での更新が可能になることから、開発の効率を飛躍的に向上させることができる。
【００３６】
（第２実施形態）
以下、第２実施形態について説明する。第２実施形態では、第１実施形態と異なるスクリプト１４の格納手法、および、通常動作時における更新用ファイル１２の追加手法について説明する。
【００３７】
第１実施形態ではスクリプト１４をシステムイメージ１０に組み込む例を説明した。その場合、意図しないファイル１１を変更してしまうおそれを低減できるものの、更新対象のファイル１１が増えた場合にはシステムイメージ１０の再構築が必要になるおそれがある。
【００３８】
そこで、本実施形態の車両用装置１は、図３に示すように、フラッシュメモリ３に、システムイメージ１０とは別体でスクリプト１４を書き換え可能に記憶している。そして、車両用装置１は、図４に示すように、通常動作時において、ステップＳ１１において、制御部２からファイル１１の更新指示があると、ステップＳ２において、更新用ファイル１２をフラッシュメモリ２上に作成する。例えば、車両用装置１は、フラッシュメモリ３に更新用ファイル１２Ａを作成する。この場合、簡易的にはシステムイメージ１０に含まれているファイル１１Ａをフラッシュメモリ３にコピーすることにより、更新用ファイル１２Ａの原型を作成することができる。
【００３９】
続いて、車両用装置１は、ステップＳ１３において更新用ファイル１２Ａ用のシンボリックリンク１３Ａを作成するとともに、ステップＳ１４においてスクリプト１４を更新する。これにより、新たに更新が必要となったファイル１１を疑似的に更新することができる。
【００４０】
このように、フラッシュメモリ３には更新用ファイル１２のシンボリックリンク１３を生成するスクリプト１４を記憶し、そのスクリプト１４に従って更新用ファイル１２の格納およびシンボリックリンク１３Ａの生成を行い、制御部２からの指示に基づいてスクリプト１４を更新する構成によっても、システムイメージ１０全体を再構築することなく、ファイル１１単位での更新が可能になるなど、第１実施形態と同様の効果を得ることができる。
【００４１】
また、フラッシュメモリ３にスクリプト１４を記憶するため、車両用装置１を再起動してもそのデータが消えることがない。また、第１実施形態で説明したように、システムイメージ１０にスクリプト１４を組み込んでシンボリックリンク１３Ｂ、シンボリックリンク１３Ｂなどを作成する手法と、本実施形態のようにフラッシュメモリ３にスクリプト１４を記憶して制御部２の動作中に更新対象のファイル１１を追加あるいは削除する手法とを共用する構成とすることもできる。
【００４２】
各実施形態では開発時の効率に注目して説明したが、製品化後のファイル１１の更新用に各実施形態で説明した手法を採用することができる。また、いわゆるファームウェアアップデートに対して各実施形態で説明した手法を採用することにより、万が一不具合があったとしても、フラッシュメモリ３に記憶しているシステムイメージ１０はそのまま残ることから、車両用装置１が起動しなくなることを防止できる。
【００４３】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に含まれるものである。
【００４４】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【符号の説明】
【００４５】
図面中、１は車両用装置、２は制御部、３はフラッシュメモリ（不揮発性メモリ）、４はメインメモリ（揮発性メモリ）、５はオペレーティングシステム、９は生成部、１０はシステムイメージ、１１はファイル、１２は更新用ファイル、１３はシンボリックリンク、１４はスクリプトを示す。
【図１】
2020190932.tif 000003
【図２】
2020190932.tif 000004
【図３】
2020190932.tif 000005
【図４】
2020190932.tif 000006