(57)【要約】【課題】バックアップ用に記憶領域を設けずに、車両用ソフトウェアの更新が正常にできなかった場合であっても、車両を退避走行させることができるソフトウェア管理装置を提供する。【解決手段】車両１０の走行に対する重要度が最も高い旧第１分離ソフトが記憶された第１記憶領域１２１とは異なる旧第３分離ソフトが記憶された第３記憶領域１２３に、新第１分離ソフトを上書き記憶させるので、記憶容量を全く増やすことなく、新第１分離ソフトの更新が完了するまで、旧第１分離ソフトを保存しておくことができる。したがって、記憶容量を増やすことなく、ソフトウェアの更新が正常にできなかった場合であっても、車両１０を走行させることができる。【選択図】図１
2010137643.tif 000002
【特許請求の範囲】
【請求項１】
車両を制御するための車両用ソフトウェアを記憶する車両ソフト記憶領域と、
前記車両ソフト記憶領域に記憶された車両用ソフトウェアにしたがって前記車両を制御する車両制御手段と、
前記車両ソフト記憶領域に記憶された車両用ソフトウェアを、新バージョンの車両用ソフトウェアに更新するソフトウェア更新手段と、を備え、
前記車両用ソフトウェアは、前記車両の走行に対する重要度に応じて段階的に分離ソフトウェアに分離され、
前記新バージョンの車両用ソフトウェアは、前記分離ソフトウェアにそれぞれ対応する新分離ソフトウェアに分離されており、
前記車両ソフト記憶領域には、前記分離ソフトウェアが、それぞれ異なる記憶領域に記憶されており、
前記ソフトウェア更新手段は、前記車両ソフト記憶領域の中で、前記重要度が最も高い前記分離ソフトウェアが記憶された記憶領域とは異なる記憶領域に、前記重要度が最も高い新分離ソフトウェアを上書き記憶させ、前記重要度が最も高い新分離ソフトウェアの記憶が正常に完了してから、前記新分離ソフトウェアが記憶された記憶領域とは異なる記憶領域に、他の前記新分離ソフトウェアを順次上書き記憶させ、
前記車両制御手段は、前記分離ソフトウェアの更新に異常があった場合には、上書き記憶されていない更新前の前記重要度が最も高い分離ソフトウェアまたは上書き記憶が正常に行われた前記重要度が最も高い新分離ソフトウェアのいずれかを用いて、前記車両を制御することを特徴とするソフトウェア管理装置。
【請求項２】
前記車両用ソフトウェアは、前記重要度が連続する分離ソフトウェア間においてデータの仲介を行う通常モードと、前記重要度が下位の分離ソフトウェアの状態にかかわらず、前記重要度が上位の分離ソフトウェアに対して、フェールセーフ値または無効値を出力するフェールセーフモードと、のいずれか一方のモードをとる仲介ソフトウェアを含み、
前記ソフトウェア更新手段は、前記新分離ソフトウェアを上書き記憶させる前に、前記新分離ソフトウェアを上書き記憶させる記憶領域に記憶されている分離ソフトウェアと、該分離ソフトウェアに対して重要度が上位の分離ソフトウェアと、の間を仲介する前記仲介ソフトウェアのモードを、前記フェールセーフモードに切り替えることを特徴とする請求項１に記載のソフトウェア管理装置。
【請求項３】
前記ソフトウェア更新手段は、前記上書き記憶する記憶領域を、記憶されている前記分離ソフトウェアの前記重要度が低い順に選択し、前記上書き記憶させる新分離ソフトウェアを、前記重要度が高い順に選択することを特徴とする請求項１または請求項２に記載のソフトウェア管理装置。
【請求項４】
前記車両制御手段は、前記ソフトウェア更新手段が、前記重要度が最も高い前記分離ソフトウェアが記憶された記憶領域に、新分離ソフトウェアを上書き記憶させる際には、前記車両の制御を、前記重要度が最も高い新分離ソフトウェアによる制御に切り替えてから、前記上書き記憶を行うことを特徴とする請求項１から請求項３のいずれか１項に記載のソフトウェア管理装置。
【請求項５】
前記ソフトウェア更新手段は、前記重要度が最も高い分離ソフトウェアを除く前記分離ソフトウェアにおいて、更新対象の前記分離ソフトウェアが記憶された記憶領域におけるアドレスを用いた処理が行われる場合には、前記新分離ソフトウェアを、前記更新対象の分離ソフトウェアが記憶された記憶領域と同一の記憶領域に、上書き記憶させることを特徴とする請求項１から請求項４のいずれか１項に記載のソフトウェア管理装置。
【請求項６】
前記車両用ソフトウェアは、それぞれ略同等の記憶容量の前記分離ソフトウェアに分離されていることを特徴とする請求項１から請求項５のいずれか１項に記載のソフトウェア管理装置。
【請求項７】
前記ソフトウェア更新手段による前記分離ソフトウェアの更新に異常があった場合に、前記分離ソフトウェアの更新異常を報知する報知手段を備えたことを特徴とする請求項１から請求項６のいずれか１項に記載のソフトウェア管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用ソフトウェアのバージョンアップを行うソフトウェア管理装置に関する。
【背景技術】
【０００２】
従来、車両が市場に出回った後に、車両を制御するための車両用ソフトウェアに問題（例えば、バグ）が発見されたり、バージョンアップを行う（以下、更新という）場合には、車両をディーラーまで持ち込んで、整備された環境の中で専門家が車両用ソフトウェアの更新を行っていた。この専門家は、車両用ソフトウェアの更新用ソフトウェアを実行することにより、車両用ソフトウェアを更新させることができる。
【０００３】
また、近年の通信技術の発達に伴い、上記車両用ソフトウェアの更新用ソフトウェアを基地局から無線通信で送信し、車両で直接受信させる車両制御装置の制御ソフト変更装置およびその方法が提案されている（例えば、特許文献１参照）。
【０００４】
この車両制御装置の制御ソフト変更装置およびその方法は、地域の天候状況などの環境条件に応じて制御特性が最適となるような、車両制御装置の更新用ソフトウェア（特許文献１では、制御ソフトの修正情報）を無線基地局から送信する。車両では、上記更新用ソフトウェアを受信し、車両用ソフトウェアを更新することにより、車両制御装置の制御特性をリアルタイムに修正することができるようにしている。
【０００５】
一方、車両用ソフトウェアの更新を行うと、新しくなった車両用ソフトウェアに問題が発生する可能性がある。例えば、車両で更新用ソフトウェアを受信する際に、通信に異常があり、更新用ソフトウェアの一部が受信できず、更新用ソフトウェアが完全な形で受信できないという場合が考えられる。また、更新用ソフトウェアそのものに不具合がある場合等が、考えられる。
【０００６】
また、新バージョンの車両用ソフトウェアのダウンロード開始前に、旧バージョンの車両用ソフトウェアをバックアップ用記憶部に保存する車載端末用プログラムの復旧方式が提案されている（例えば、特許文献２参照）。
【０００７】
この車載端末用プログラムの復旧方式は、新バージョンの車両用ソフトウェアを起動した後、車両用ソフトウェアに問題が発生した場合、使用していた車両用ソフトウェアを保存してある旧バージョンの車両用ソフトウェアに復旧することにより、車両の制御を継続することができるようにしている。
【特許文献１】特開２００２−１４４９８３号公報
【特許文献２】特開２０００−２０７６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に記載されたものにおいては、ドライバ自身が車両用ソフトウェアの更新を行うことが前提とされ、このような場合、ディーラーにおける整備された環境の中で専門家が車両用ソフトウェアの更新を行う場合と異なり、想定し得ないトラブルが発生する可能性がある。このように、更新用ソフトウェアが完全な形で受信できなかったり、更新用ソフトウェアそのものに不具合がある場合等には、車両用ソフトウェアの更新を正常に行うことができず、車両をディーラー等に移動させることができなくなってしまうおそれがあった。
【０００９】
また、上記特許文献２に記載されたものにおいては、使用する車両用ソフトウェアと同等のバックアップ用の記憶領域を、車両用ソフトウェアの復旧のためだけに、常に用意しておかなければならないという問題があった。
【００１０】
本発明は、このような従来の問題を解決するためになされたもので、バックアップ用に記憶領域を設けずに、車両用ソフトウェアの更新が正常にできなかった場合であっても、車両をディーラー等に移動させるための退避走行を行うことができるソフトウェア管理装置を提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明に係るソフトウェア管理装置は、上記課題を解決するため、（１）車両を制御するための車両用ソフトウェアを記憶する車両ソフト記憶領域と、前記車両ソフト記憶領域に記憶された車両用ソフトウェアにしたがって前記車両を制御する車両制御手段と、前記車両ソフト記憶領域に記憶された車両用ソフトウェアを、新バージョンの車両用ソフトウェアに更新するソフトウェア更新手段と、を備え、前記車両用ソフトウェアは、前記車両の走行に対する重要度に応じて段階的に分離ソフトウェアに分離され、前記新バージョンの車両用ソフトウェアは、前記分離ソフトウェアにそれぞれ対応する新分離ソフトウェアに分離されており、前記車両ソフト記憶領域には、前記分離ソフトウェアが、それぞれ異なる記憶領域に記憶されており、前記ソフトウェア更新手段は、前記車両ソフト記憶領域の中で、前記重要度が最も高い前記分離ソフトウェアが記憶された記憶領域とは異なる記憶領域に、前記重要度が最も高い新分離ソフトウェアを上書き記憶させ、前記重要度が最も高い新分離ソフトウェアの記憶が正常に完了してから、前記新分離ソフトウェアが記憶された記憶領域とは異なる記憶領域に、他の前記新分離ソフトウェアを順次上書き記憶させ、前記車両制御手段は、前記分離ソフトウェアの更新に異常があった場合には、上書き記憶されていない更新前の前記重要度が最も高い分離ソフトウェアまたは上書き記憶が正常に行われた前記重要度が最も高い新分離ソフトウェアのいずれかを用いて、前記車両を制御することを特徴とした構成を有している。
【００１２】
この構成により、車両の走行に対する重要度が最も高い分離ソフトウェアが記憶された記憶領域とは異なる車両ソフト記憶領域に、重要度が最も高い新分離ソフトウェアを上書き記憶させるので、車両用ソフトウェアを記憶する記憶容量を全く増やすことなく、重要度が最も高い更新前の分離ソフトウェアまたは更新後の新分離ソフトウェアを常に記憶させておくことができる。したがって、車両用ソフトウェアを記憶する記憶容量を増やすことなく、ソフトウェアの更新が正常にできなかった場合であっても、重要度が最も高い更新前の分離ソフトウェアまたは更新後の新分離ソフトウェアのどちらかによって、車両を走行させることができる。
【００１３】
また、本発明に係るソフトウェア管理装置は、上記（１）に記載のソフトウェア管理装置において、（２）前記車両用ソフトウェアは、前記重要度が連続する分離ソフトウェア間においてデータの仲介を行う通常モードと、前記重要度が下位の分離ソフトウェアの状態にかかわらず、前記重要度が上位の分離ソフトウェアに対して、フェールセーフ値または無効値を出力するフェールセーフモードと、のいずれか一方のモードをとる仲介ソフトウェアを含み、前記ソフトウェア更新手段は、前記新分離ソフトウェアを上書き記憶させる前に、前記新分離ソフトウェアを上書き記憶させる記憶領域に記憶されている分離ソフトウェアと、該分離ソフトウェアに対して重要度が上位の分離ソフトウェアと、の間を仲介する前記仲介ソフトウェアのモードを、前記フェールセーフモードに切り替えることを特徴とした構成を有している。なお、フェールセーフ値とは、車両が安全に作動するための値のことをいう。
【００１４】
この構成により、重要度が連続して高い分離ソフトウェアには、フェールセーフ値または無効値が出力されるので、上書きされる重要度が下位側の分離ソフトウェアからデータの入力がなくなっても、重要度が上位側の分離ソフトウェアに悪影響を及ぼすことがなく、重要度が上位側の分離ソフトウェアによって車両を走行させることができる。
【００１５】
さらに、本発明に係るソフトウェア管理装置は、上記（１）または（２）に記載のソフトウェア管理装置において、（３）前記ソフトウェア更新手段は、前記上書き記憶する記憶領域を、記憶されている前記分離ソフトウェアの前記重要度が低い順に選択し、前記上書き記憶させる新分離ソフトウェアを、前記重要度が高い順に選択することを特徴とした構成を有している。
【００１６】
この構成により、重要度が低い分離ソフトウェアから上書きにより消去され、重要度が高い新分離ソフトウェアから更新されるので、重要度が高い分離ソフトウェアを常に多く存在させることができ、車両用ソフトウェアの更新中に分離ソフトウェアの正常動作可能な領域を増大させることができる。
【００１７】
さらに、本発明に係るソフトウェア管理装置は、上記（１）から（３）のいずれかに記載のソフトウェア管理装置において、（４）前記車両制御手段は、前記ソフトウェア更新手段が、前記重要度が最も高い前記分離ソフトウェアが記憶された記憶領域に、新分離ソフトウェアを上書き記憶させる際には、前記車両の制御を、前記重要度が最も高い新分離ソフトウェアによる制御に切り替えてから、前記上書き記憶を行うことを特徴とした構成を有している。
【００１８】
この構成により、重要度が最も高い分離ソフトウェアが記憶された記憶領域に他の新分離ソフトウェアを上書き記憶させる際には、車両の制御を、重要度が最も高い新分離ソフトウェアによる制御に切り替えてから行うので、重要度が最も高い更新前の分離ソフトウェアまたは更新後の新分離ソフトウェアのいずれかによって車両の制御を行うことができ、常に車両の走行を可能にすることができる。
【００１９】
さらに、本発明に係るソフトウェア管理装置は、上記（１）から（４）のいずれかに記載のソフトウェア管理装置において、（５）前記ソフトウェア更新手段は、前記重要度が最も高い分離ソフトウェアを除く前記分離ソフトウェアにおいて、更新対象の前記分離ソフトウェアが記憶された記憶領域におけるアドレスを用いた処理が行われる場合には、前記新分離ソフトウェアを、前記更新対象の分離ソフトウェアが記憶された記憶領域と同一の記憶領域に、上書き記憶させることを特徴とした構成を有している。
【００２０】
この構成により、新分離ソフトウェアを、更新対象の分離ソフトウェアが記憶された記憶領域と同一の記憶領域に上書き記憶させるので、分離ソフトウェアの更新の前後で、記憶領域におけるアドレスを同一とすることができ、記憶領域におけるアドレスを用いた処理の変更を行うことなく、分離ソフトウェアの更新を行うことができる。
【００２１】
さらに、本発明に係るソフトウェア管理装置は、上記（１）から（５）のいずれかに記載のソフトウェア管理装置において、（６）前記車両用ソフトウェアは、それぞれ略同等の記憶容量の前記分離ソフトウェアに分離されていることを特徴とした構成を有している。
【００２２】
この構成により、すべての分離ソフトウェアが略同等の記憶容量となるとともに、上書きされる分離ソフトウェアと、上書きする新分離ソフトウェアと、がそれぞれ略同等の記憶容量となるので、新分離ソフトウェアの上書きにより無駄な記憶領域が発生することを防止するとともに、１つの分離ソフトウェアの更新時における最大の負荷を、記憶容量が等しくないときの最大の負荷と比べて、最も小さくすることができる。
【００２３】
さらに、本発明に係るソフトウェア管理装置は、上記（１）から（６）のいずれかに記載のソフトウェア管理装置において、（７）前記ソフトウェア更新手段による前記分離ソフトウェアの更新に異常があった場合に、前記分離ソフトウェアの更新異常を報知する報知手段を備えたことを特徴とした構成を有している。
【００２４】
この構成により、分離ソフトウェアの更新に異常があったことが報知されるので、ドライバに対して、ソフトウェアの更新による異常を認識させ、走行する場合の注意を喚起するとともに、早期の復旧を促すことができる。
【発明の効果】
【００２５】
本発明によれば、車両の走行に対する重要度が低いソフトウェアが記憶された記憶領域に、重要度が高いソフトウェアの更新を行うことにより、記憶容量を全く増やすことなく、ソフトウェアの更新中に不具合が発生しても、車両を走行させることができるソフトウェア管理装置を提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について、図面を参照して説明する。  
まず、構成について説明する。  
図１は、本発明の実施の形態におけるソフトウェア管理装置を搭載した車両の概略ブロック構成図である。
【００２７】
図１に示すように、車両１０は、基地局２０から各種ソフトウェアおよびデータを受信する通信部３０と、ソフトウェアの切り替えが行われたことを報知する報知部４０と、動力源としてのエンジン９１と、動力を伝達するとともに変速比を変換するトランスミッション９２と、車両１０全体を制御するための車両用電子制御ユニット（以下、ＥＣＵという）１００と、を備えている。
【００２８】
通信部３０は、新バージョンの車両用ソフトウェアを基地局２０から受信するようになっている。  
ここで、車両用ソフトウェアは、車両１０を制御するためのソフトウェアである。また、車両用ソフトウェアは、エンジン制御ソフト、ブレーキ制御ソフト、安全制御ソフト、トランスミッション制御ソフト、潤滑・冷却制御ソフト、ナビゲーションソフト、空調制御ソフト等を含むものであり、エンジンやトランスミッション等をそれぞれ制御し、車両１０の快適な走行を実現させるようになっている。さらに、車両用ソフトウェアは、車両１０の走行に対する重要度に応じて段階的に分離された複数の分離ソフトウェアから構成されるようになっている。
【００２９】
また、新バージョンの車両用ソフトウェアとは、後述するＥＣＵ１００の記憶領域１２０に記憶された車両用ソフトウェアのバグの修正や機能追加等が行われた車両用ソフトウェアである。本実施の形態においては、この新バージョンの車両用ソフトウェアは、基地局２０のサーバに記憶されているものとする。
【００３０】
さらに、新バージョンの車両用ソフトウェアは、基地局２０の外部のサーバに記憶されていてもよく、この場合、基地局２０は、新バージョンの車両用ソフトウェアが記憶されたサーバと、車両１０と、のデータ送受信における中継局となる。
【００３１】
また、本実施の形態では、車両用ソフトウェアを、車両１０の走行に対する重要度に応じて段階的に３つの分離ソフトウェアに分割したものとし、車両１０の走行に最も重要なソフトウェアから第１の分離ソフトウェア（以下、第１分離ソフトという）、第２の分離ソフトウェア（以下、第２分離ソフトという）、第３の分離ソフトウェア（以下、第３分離ソフトという）とする。
【００３２】
また、車両用ソフトウェアは、重要度が連続する分離ソフトウェア間においてデータの仲介を行う仲介ソフトウェアを含んでいる。この仲介ソフトウェアは、重要度が連続する分離ソフトウェア間においてデータの仲介を行う通常モードと、重要度が下位の分離ソフトウェアの状態にかかわらず、重要度が上位の分離ソフトウェアに対して、フェールセーフ値または無効値を出力するフェールセーフモードと、のいずれか一方のモードをとるようになっている。なお、フェールセーフ値とは、車両１０が安全に作動するための値のことをいう。
【００３３】
さらに、仲介ソフトウェアは、仲介部ａおよび仲介部ｂを有しており、仲介部ａは、重要度が連続する第１分離ソフトと第２分離ソフトとの間のデータの仲介を行うようになっており、仲介部ｂは、重要度が連続する第２分離ソフトと第３分離ソフトとの間のデータの仲介を行うようになっている。
【００３４】
また、例えば、分離ソフトウェアは、以下のように、第１分離ソフト、第２分離ソフトおよび第３分離ソフトに機能を分離している。第１分離ソフトは、エンジン制御ソフトとして車両１０を走行させるための最低限のエンジン駆動を行うための機能、ブレーキ制御ソフトとしてブレーキ制御を行うための機能および安全制御ソフトとして安全制御を行うための機能を有している。第２分離ソフトは、トランスミッション制御ソフトとして車両１０の変速制御を行うための機能を有している。第３分離ソフトは、ナビゲーションソフトとしてナビゲーション制御を行うための機能および空調制御ソフトとして空調制御を行うための機能を有している。
【００３５】
さらに、具体的には、第１分離ソフトは、エンジン制御における燃料噴射制御において、エンジンの状態に応じて基本噴射時間を演算する機能、エンジン制御における点火時期制御において、エンジンの状態に応じて基本点火時間を演算する機能等を有している。また、第２分離ソフトは、エンジン制御における燃料噴射制御において、基本噴射時間に各センサーの信号による補正を加え、適切な燃料噴射を行う機能、エンジン制御における点火時期制御において、基本点火時間に各センサーの信号による補正を加え、適切な点火を行う機能、トランスミッション制御における変速制御において、車速とアクセル開度に応じて変速段を切り替える機能、車両ごとのハード上のばらつきを学習して、アクセル開度によるスロットル開度の調節量や変速制御時の油圧調節量等の制御を行う機能等を有している。また、第３分離ソフトは、スイッチの押下によりエンジントルクを制御して、車速を一定に保つクルーズ制御の機能、ナビゲーション（ナビ）システムから受け渡された情報に基づいて変速段を切り替えるナビ協調制御の機能、エアコン（エアコンディショナー）制御を行う機能等を有している。
【００３６】
さらに、トルクコンバータ（トルコン）を備えた車両用ソフトウェアにおいては、トランスミッション制御におけるトルコン制御において、第１分離ソフトは、エンジン側の入力軸と、変速機側の出力軸と、をロックアップクラッチにより直結制御するロックアップ制御がないが、第２分離ソフトは、ロックアップ制御があり、第３分離ソフトは、ロックアップクラッチに微妙な滑りを安定して継続させるフレックスロックアップ制御が設けられている。
【００３７】
なお、上記分離ソフトウェアの各種機能は、単なる例示で、その他必要な機能が存在することは、いうまでもない。また、上記分離ソフトウェアの分類は、単なる例示で、必要に応じて適宜変更される。
【００３８】
また、本実施の形態においては、後述する車両用ソフトウェア更新処理において、仲介部ａおよび仲介部ｂをそれぞれ更新するようにしているが、仲介部ａおよび仲介部ｂの更新を行わないものとしてもよい。さらに、仲介部ａと仲介部ｂは、２つに分離されたものでなく、１つの仲介部であってもかまわない。
【００３９】
報知部４０は、後述するソフトウェア更新部１５０によりソフトウェアの更新に異常があったことおよび後述する車両制御部１３０が車両１０を制御するソフトウェアの切り替えが行われたことを報知するようになっている。例えば、報知部４０は、表示パネルを有し、ソフトウェア更新部１５０による第２分離ソフトの更新に異常があった場合、表示パネルに「第２分離ソフトの更新に失敗しました」と表示して、ドライバに知らせるようになっている。また、報知部４０は、スピーカを有し、車両制御部１３０が車両１０を制御するソフトウェアを更新前の分離ソフトウェアから更新後の分離ソフトウェアに切り替えたとき、スピーカから「新しい制御ソフトウェアによる走行に切り替えられました」と音声を出力し、ドライバに知らせるようになっている。すなわち、報知部４０は、本発明における報知手段を構成している。
【００４０】
エンジン９１は、ガソリンまたは軽油等の炭化水素系の燃料と空気との混合気を、シリンダの燃焼室内で燃焼させることによって動力を出力するようになっている。  
トランスミッション９２は、エンジン９１により出力された動力を、複数の摩擦係合要素の係合および解放を行うことにより、変速比を変換し、図示しない駆動軸に伝達するようになっている。
【００４１】
ＥＣＵ１００は、中央演算処理装置としてのＣＰＵ（Central Processing Unit）と、書き換え可能な不揮発性のメモリからなるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）と、一時的にデータを記憶するＲＡＭ（Random Access Memory）と、入出力インターフェース回路と、を備えている。
【００４２】
また、ＥＣＵ１００は、各種ソフトウェアおよびデータを記憶する記憶領域１２０と、車両１０を制御する車両制御部１３０と、記憶領域１２０に記憶された車両用ソフトウェアを更新するソフトウェア更新部１５０と、を備えている。
【００４３】
記憶領域１２０は、車両用ソフトウェアおよび各種データを記憶するようになっている。また、記憶領域１２０は、第１記憶領域１２１、第２記憶領域１２２、第３記憶領域１２３、第４記憶領域１２４ａ、１２４ｂを有している。また、第１記憶領域１２１、第２記憶領域１２２、第３記憶領域１２３、第４記憶領域１２４ａ、１２４ｂには、第１分離ソフト、第２分離ソフト、第３分離ソフト、仲介部ａ、仲介部ｂが、それぞれ記憶されるようになっている。すなわち、記憶領域１２０は、本発明における車両ソフト記憶領域を構成している。
【００４４】
また、新バージョンの車両用ソフトウェアは、車両用ソフトウェアの分離ソフトウェアにそれぞれ対応する新分離ソフトウェアに分離されている。ここで、第１記憶領域１２１、第２記憶領域１２２、第３記憶領域１２３、第４記憶領域１２４ａ、１２４ｂに、それぞれ記憶された第１分離ソフト、第２分離ソフト、第３分離ソフト、仲介部ａ、仲介部ｂを、それぞれ旧第１分離ソフト、旧第２分離ソフト、旧第３分離ソフト、旧仲介部ａ、旧仲介部ｂという。また、旧第１分離ソフト、旧第２分離ソフト、旧第３分離ソフト、旧仲介部ａ、旧仲介部ｂにそれぞれ対応する新バージョンの車両用ソフトウェアの新分離ソフトウェアおよび新仲介ソフトウェアを、新第１分離ソフト、新第２分離ソフト、新第３分離ソフト、新仲介部ａ、新仲介部ｂという。
【００４５】
また、記憶領域１２０は、書き換え可能な不揮発性のメモリの記憶領域であって、例えば、ＥＥＰＲＯＭの記憶領域となっている。また、記憶領域１２０は、外部記憶装置の中では高速・大容量という特徴を持つハードディスク（Hard Disk）の記憶領域とすることもできるが、ハードディスクは、振動や熱が発生すると安定に使用することができないため、ＥＥＰＲＯＭのほうが好ましい。
【００４６】
車両制御部１３０は、記憶領域１２０に記憶された車両用ソフトウェアにしたがってエンジン９１、トランスミッション９２等車両１０全体を制御するようになっている。また、車両制御部１３０は、仲介部ａを介して第１分離ソフトと第２分離ソフトのデータの仲介を行い、仲介部ｂを介して第２分離ソフトと第３分離ソフトのデータの仲介を行うことにより、車両用ソフトウェアを実行するようになっている。さらに、車両制御部１３０は、分離ソフトウェアの更新に異常があった場合には、上書き記憶されていない旧第１分離ソフト、または、この旧第１分離ソフトに対応する上書き記憶が正常に行われた新第１分離ソフトを実行することによって、車両１０を制御するようになっている。すなわち、車両制御部１３０は、本発明における車両制御手段を構成している。
【００４７】
ソフトウェア更新部１５０は、記憶領域１２０に記憶された車両用ソフトウェアを、新バージョンの車両用ソフトウェアに更新するようになっている。また、ソフトウェア更新部１５０は、旧第１分離ソフトウェアが記憶された第１記憶領域１２１とは異なる第３記憶領域１２３に、新第１分離ソフトを上書き記憶させ、新第１分離ソフトの記憶が正常に完了してから、他の新第２分離ソフトおよび新第３分離ソフトを、新第１分離ソフトが記憶された第３記憶領域１２３とは異なる第２記憶領域１２２および第１記憶領域１２１に順次上書き記憶させるようになっている。すなわち、ソフトウェア更新部１５０は、本発明におけるソフトウェア更新手段を構成している。
【００４８】
次に、動作について説明する。  
図２、図３は、本発明の実施の形態に係るソフトウェア管理装置における車両用ソフトウェア更新処理のフローチャートである。また、図４、図５に、本発明の実施の形態に係る記憶領域の領域使用のイメージ図を示し、合わせて説明する。
【００４９】
車両用ソフトウェア更新処理では、まず、ＥＣＵ１００は、基地局２０から通信部３０により、新第１分離ソフト、新第２分離ソフトおよび新第３分離ソフトを有する新バージョンの車両用ソフトウェアを受信させる（ステップＳ１１）。また、ＥＣＵ１００は、基地局２０から通信部３０により、新第１分離ソフト、新第２分離ソフトおよび新第３分離ソフトをそれぞれ個別に受信させてもよい。
【００５０】
ここで、ＥＣＵ１００は、新バージョンの車両用ソフトウェア、あるいは、新第１分離ソフト、新第２分離ソフトおよび新第３分離ソフトを、基地局２０から受信しながら、以下に示す更新処理を行ってもよい。また、ＥＣＵ１００は、新第１分離ソフト、新第２分離ソフトおよび新第３分離ソフトを、それぞれの記憶処理のたびに、基地局２０から受信するようにしてもよい。
【００５１】
次に、ＥＣＵ１００は、旧仲介部ｂをフェールセーフモードに切り替える（ステップＳ１２）。ここで、フェールセーフモードにおいて、旧仲介部ｂは、旧第３分離ソフトから旧第２分離ソフトへの出力値を、フェールセーフ値または無効値として出力する。また、フェールセーフ値とは、車両１０が安全に作動するための値のことをいう。これにより、ＥＣＵ１００は、旧第２分離ソフトの処理において、旧第３分離ソフトの処理に影響されず、車両１０を安全に制御することができる。したがって、ＥＣＵ１００は、旧第３分離ソフトよりも車両１０の走行に対する重要度が高い旧第１分離ソフトおよび旧第２分離ソフトのみの処理によって、車両１０の制御を行うことができる。
【００５２】
また、このとき、ＥＣＵ１００は、報知部４０から旧第３分離ソフトの処理が切り離され、旧第１分離ソフトおよび旧第２分離ソフトのみの処理による車両１０の制御に切り替えられたことを報知させる。以下、ＥＣＵ１００は、各分離ソフトへの出力制御をフェールセーフモードに切り替えさせるたびに、報知部４０から分離ソフト別の処理による車両１０の制御に切り替えられたことを報知させるが、各処理での説明は省略する。
【００５３】
次に、ＥＣＵ１００は、新第１分離ソフトを、旧第３分離ソフトが記憶されている第３記憶領域１２３に書き込み、記憶させる（ステップＳ１３）。ここで、ＥＣＵ１００は、車両１０の制御を、旧第１分離ソフトおよび旧第２分離ソフトのみの処理によって、行っているので、旧第３分離ソフトに新第１分離ソフトを上書きしても、車両１０の制御に影響を及ぼすことなく、分離ソフトウェアの更新を行うことができる。
【００５４】
次いで、ＥＣＵ１００は、新第１分離ソフトの書き込み処理を開始したら、書き込みエラーのチェックを行い（ステップＳ１４）、書き込みエラーがなく、新第１分離ソフトの第３記憶領域１２３への書き込みが完了したか否かを判定する（ステップＳ１５）。
【００５５】
新第１分離ソフトの第３記憶領域１２３への書き込み処理中に、書き込みエラーが発生した場合（ステップＳ１４でＹＥＳと判定）には、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）の書き込みに、失敗したことを、報知部４０により、ドライバに警告させ（ステップＳ４１）、本車両用ソフトウェア更新処理を終了する。
【００５６】
例えば、報知部４０が表示パネルを有しているとき、表示パネル上に、「新バージョンの車両用ソフトウェア（もしくは、新第１分離ソフト）の書き込みに失敗しました」と表示して、ドライバに知らせるようにする。また、報知部４０がスピーカを有しているとき、スピーカから音声により、「新バージョンの車両用ソフトウェア（もしくは、新第１分離ソフト）の書き込みに失敗しました」と出力して、ドライバに知らせるようにする。  
したがって、ドライバに対して、新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）の書き込みに失敗したことを認識させ、車両１０を早期にディーラーに持ち込むことを促すことができる。
【００５７】
一方、書き込みエラーがなく（ステップＳ１４でＮＯと判定）、新第１分離ソフトの第３記憶領域１２３への書き込みが完了した場合（ステップＳ１５でＹＥＳと判定）には、ＥＣＵ１００は、旧仲介部ａをフェールセーフモードに切り替える（ステップＳ１６）。
【００５８】
ここで、フェールセーフモードにおいて、旧仲介部ａは、上記旧仲介部ｂにおけるフェールセーフモードと同様に、旧第２分離ソフトから旧第１分離ソフトへの出力値を、フェールセーフ値または無効値として出力する。これにより、ＥＣＵ１００は、旧第１分離ソフトの処理において、旧第２分離ソフトの制御に影響されず、制御を行うことができる。したがって、ＥＣＵ１００は、旧第２分離ソフトよりも車両１０の走行に対する重要度が高い旧第１分離ソフトのみの処理によって、車両１０の制御を行うことができる。
【００５９】
次に、ＥＣＵ１００は、新第２分離ソフトを、旧第２分離ソフトが記憶されている第２記憶領域１２２に書き込み、記憶させる（ステップＳ１７）。ここで、ＥＣＵ１００は、新第２分離ソフトを、旧第２分離ソフトと同一の第２記憶領域１２２に書き込むので、第２分離ソフトウェアの更新の前後で、第２記憶領域１２２におけるアドレスを同一とすることができ、第２記憶領域１２２におけるアドレスを用いた処理の変更を行うことなく、第２分離ソフトウェアの更新を行うことができる。
【００６０】
例えば、車両ごとのハード上のばらつきを学習して、アクセル開度によるスロットル開度の調節量や変速制御時の油圧調節量の制御を行う場合、これらのソフトウェアは、車両ごとの測定値や制御値が記憶された記憶領域１２０のアドレスを直接アクセスするようになっている。したがって、この車両ごとの測定値や制御値が記憶されたアドレスが変わった場合には、対象のソフトウェアが正しく上記車両ごとの測定値や制御値を読み込むことができなくなるため、個別にソフトウェアの修正が必要となってしまう。しかしながら、本実施の形態のように、新第２分離ソフトを旧第２分離ソフトと同一の第２記憶領域１２２に記憶し、上記車両ごとの測定値や制御値を同一アドレスに記憶すれば、上記車両ごとの測定値や制御値は正しく読み込まれるので、ソフトウェアの修正を行うことなく、ソフトウェアの更新処理以外に新たな処理を追加する必要はない。
【００６１】
次いで、ＥＣＵ１００は、新第２分離ソフトの書き込み処理を開始したら、書き込みエラーのチェックを行い（ステップＳ１８）、書き込みエラーがなく、新第２分離ソフトの第２記憶領域１２２への書き込みが完了したか否かを判定する（ステップＳ１８）。
【００６２】
新第２分離ソフトの第２記憶領域１２２への書き込み処理中に、書き込みエラーが発生した場合（ステップＳ１８でＹＥＳと判定）には、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）の書き込みに、失敗したことを、報知部４０により、ドライバに警告させ（ステップＳ４２）、本車両用ソフトウェア更新処理を終了する。
【００６３】
報知部４０による報知方法については、上記ステップＳ４１において説明した方法と、同様に行うことができる。したがって、ドライバに対して、新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）の書き込みに失敗したことを認識させ、車両１０を早期にディーラーに持ち込むことを促すことができる。
【００６４】
一方、書き込みエラーがなく（ステップＳ１８でＮＯと判定）、新第２分離ソフトの第２記憶領域１２２への書き込みが完了した場合（ステップＳ１９でＹＥＳと判定）には、ＥＣＵ１００は、第４記憶領域１２４ｂに記憶されている旧仲介部ｂを、新仲介部ａに更新し、この新仲介部ａをフェールセーフモードに切り替える（ステップＳ２０）。
【００６５】
ここで、フェールセーフモードにおいて、新仲介部ａは、上記旧仲介部ｂにおけるフェールセーフモードおよび上記旧仲介部ａにおけるフェールセーフモードと同様の処理を行う。したがって、ＥＣＵ１００は、新第１分離ソフトのみの処理によって、車両１０の制御を行うことができる。
【００６６】
次に、ＥＣＵ１００は、第１記憶領域１２１に記憶されている旧第１分離ソフトによる車両１０の制御から、第３記憶領域１２３に記憶されている新第１分離ソフトによる車両１０の制御に、切り替える（ステップＳ２１）。また、このとき、ＥＣＵ１００は、報知部４０から元の車両用ソフトウェアから新バージョンの車両用ソフトウェアに車両１０の制御が切り替えられたことを報知させる。また、ＥＣＵ１００は、新バージョンの車両用ソフトウェアに車両１０の制御が切り替えられたことを報知させるが、まだ完全な切り替えではなく、新第１分離ソフトによる車両１０の制御であることも同時に報知させる。
【００６７】
次いで、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）による車両１０の制御において、エラーが発生したか否かの判定を行う（ステップＳ２２）。  
新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）において、エラーが発生した場合（ステップＳ２２でＹＥＳと判定）には、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）の処理においてエラーが発生したことを、報知部４０により、ドライバに警告させる（ステップＳ４３）。
【００６８】
例えば、報知部４０が表示パネルを有しているとき、表示パネル上に、「新バージョンの車両用ソフトウェア（もしくは、新第１分離ソフト）の処理にエラーがあります」と表示して、ドライバに知らせるようにする。また、報知部４０がスピーカを有しているとき、スピーカから音声により、「更新前の車両用ソフトウェア（もしくは、旧第１分離ソフト）の処理に戻します」と出力して、ドライバに知らせるようにする。
【００６９】
したがって、ドライバに対して、新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）の処理にエラーが発生したことを認識させ、車両１０を早期にディーラーに持ち込むことを促すことができる。
【００７０】
続いて、ＥＣＵ１００は、第３記憶領域１２３に記憶されている新第１分離ソフトによる車両１０の制御から、第１記憶領域１２１に記憶されている旧第１分離ソフトによる車両１０の制御に戻して（ステップＳ４４）、本車両用ソフトウェア更新処理を終了する。
【００７１】
一方、新バージョンの車両用ソフトウェア（詳しくは、新第１分離ソフト）において、エラーがない場合（ステップＳ２２でＮＯと判定）には、ＥＣＵ１００は、第４記憶領域１２４ａに記憶されている旧仲介部ａを、新仲介部ｂに更新し、この新仲介部ｂをフェールセーフモードに切り替える（ステップＳ２３）。ＥＣＵ１００は、この段階では、新仲介部ａにおいてフェールセーフモードを行っているので、第２記憶領域１２２に記憶された新第２分離ソフトの処理内容は、第３記憶領域１２３に記憶された新第１分離ソフトの処理に反映されず、新第１分離ソフトのみの処理によって、車両１０の制御を行っている。
【００７２】
次に、ＥＣＵ１００は、第４記憶領域１２４ｂに記憶されている新仲介部ａをフェールセーフモードから通常モードに切り替える（ステップＳ２４）。ＥＣＵ１００は、この新仲介部ａをフェールセーフモードから通常モードに切り替えることにより、第２記憶領域１２２に記憶された新第２分離ソフトの処理内容が、第３記憶領域１２３に記憶された新第１分離ソフトの処理に反映され、新第１分離ソフトおよび新第２分離ソフトの処理によって、車両１０の制御を行うことができるようになる。
【００７３】
次いで、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）による車両１０の制御において、エラーが発生したか否かの判定を行う（ステップＳ２５）。
【００７４】
新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）において、エラーが発生した場合（ステップＳ２５でＹＥＳと判定）には、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）の処理においてエラーが発生したことを、報知部４０により、ドライバに警告させる（ステップＳ４５）。
【００７５】
報知部４０による報知方法については、上記ステップＳ４３において説明した方法と、同様に行うことができる。したがって、ドライバに対して、新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）の処理にエラーが発生したことを認識させ、車両１０を早期にディーラーに持ち込むことを促すことができる。
【００７６】
続いて、ＥＣＵ１００は、第４記憶領域１２４ｂに記憶されている新仲介部ａをフェールセーフモードに戻して（ステップＳ４６）、本車両用ソフトウェア更新処理を終了する。これにより、ＥＣＵ１００は、新第２分離ソフトによる処理を切り離し、新第１分離ソフトの処理のみによって、車両１０の制御を行うことができるようになる。
【００７７】
一方、新バージョンの車両用ソフトウェア（詳しくは、新第２分離ソフト）において、エラーがない場合（ステップＳ２５でＮＯと判定）には、ＥＣＵ１００は、新第３分離ソフトを、旧第１分離ソフトが記憶されている第１記憶領域１２１に書き込み、記憶させる（ステップＳ２６）。ここで、ＥＣＵ１００は、車両１０の制御を、旧第１分離ソフトによる処理から、新第１分離ソフト（詳しくは、この段階では、新第１分離ソフトおよび新第２分離ソフトによる処理）に切り替えているので、旧第１分離ソフトに新第３分離ソフトを上書きしても、車両１０の制御に影響を及ぼすことなく、分離ソフトウェアの更新を行うことができる。
【００７８】
次いで、ＥＣＵ１００は、新第３分離ソフトの書き込み処理を開始したら、書き込みエラーのチェックを行い（ステップＳ２７）、書き込みエラーがなく、新第３分離ソフトの第１記憶領域１２１への書き込みが完了したか否かを判定する（ステップＳ２８）。
【００７９】
新第３分離ソフトの第１記憶領域１２１への書き込み処理中に、書き込みエラーが発生した場合（ステップＳ２７でＹＥＳと判定）には、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）の書き込みに、失敗したことを、報知部４０により、ドライバに警告させ（ステップＳ４７）、本車両用ソフトウェア更新処理を終了する。
【００８０】
報知部４０による報知方法については、上記ステップＳ４１および上記ステップＳ４２において説明した方法と、同様に行うことができる。したがって、ドライバに対して、新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）の書き込みに失敗したことを認識させ、車両１０を早期にディーラーに持ち込むことを促すことができる。
【００８１】
一方、書き込みエラーがなく（ステップＳ２７でＮＯと判定）、新第３分離ソフトの第１記憶領域１２１への書き込みが完了した場合（ステップＳ２８でＹＥＳと判定）には、ＥＣＵ１００は、第４記憶領域１２４ａに記憶されている新仲介部ｂをフェールセーフモードから通常モードに切り替える（ステップＳ２９）。ＥＣＵ１００は、この新仲介部ｂをフェールセーフモードから通常モードに切り替えることにより、第１記憶領域１２１に記憶された新第３分離ソフトの処理内容が、第２記憶領域１２２に記憶された新第２分離ソフトの処理に反映され、新第１分離ソフト、新第２分離ソフトの処理および新第３分離ソフトの処理、すなわち、新バージョンの車両用ソフトウェアによって、車両１０の制御を行うことができるようになる。
【００８２】
次いで、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）による車両１０の制御において、エラーが発生したか否かの判定を行う（ステップＳ３０）。
【００８３】
新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）において、エラーが発生した場合（ステップＳ３０でＹＥＳと判定）には、ＥＣＵ１００は、新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）の処理においてエラーが発生したことを、報知部４０により、ドライバに警告させる（ステップＳ４８）。
【００８４】
報知部４０による報知方法については、上記ステップＳ４３および上記ステップＳ４５において説明した方法と、同様に行うことができる。したがって、ドライバに対して、新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）の処理にエラーが発生したことを認識させ、車両１０を早期にディーラーに持ち込むことを促すことができる。
【００８５】
続いて、ＥＣＵ１００は、第４記憶領域１２４ａに記憶されている新仲介部ｂをフェールセーフモードに戻して（ステップＳ４９）、本車両用ソフトウェア更新処理を終了する。これにより、ＥＣＵ１００は、新第３分離ソフトによる処理を切り離し、新第１分離ソフトおよび新第２分離ソフトの処理のみによって、車両１０の制御を行うことができるようになる。
【００８６】
一方、新バージョンの車両用ソフトウェア（詳しくは、新第３分離ソフト）において、エラーがない場合（ステップＳ３０でＮＯと判定）には、ＥＣＵ１００は、報知部４０により、車両用ソフトウェアが正常に更新されたことを報知させる（ステップＳ３１）。
【００８７】
以上の処理により、記憶容量を全く増やすことなく、車両用ソフトウェアを更新することができるとともに、更新中にエラーが発生しても、正常に動作する分離ソフトウェアを用いて車両１０を走行させることができる。
【００８８】
このように、本実施の形態に係るソフトウェア管理装置は、車両１０の走行に対する重要度が最も高い旧第１分離ソフトが記憶された第１記憶領域１２１とは異なる重要度が最も低い旧第３分離ソフトが記憶された第３記憶領域１２３に、重要度が最も高い新第１分離ソフトを上書き記憶させるので、車両用ソフトウェアを記憶する記憶領域１２０の記憶容量を全く増やすことなく、重要度が最も高い旧第１分離ソフトまたは新第１分離ソフトを常に記憶させておくことができる。したがって、車両用ソフトウェアを記憶する記憶領域１２０の記憶容量を増やすことなく、ソフトウェアの更新が正常にできなかった場合であっても、重要度が最も高い旧第１分離ソフトまたは新第１分離ソフトのどちらかによって、車両１０を走行させることができる。
【００８９】
また、本実施の形態に係るソフトウェア管理装置は、旧第３分離ソフトが上書きされる前には、旧仲介部ｂによって旧第２分離ソフトに対して、旧第２分離ソフトが上書きされる前には、旧仲介部ａによって旧第１分離ソフトに対して、フェールセーフ値または無効値が出力されるので、旧第３分離ソフトおよび旧第２分離ソフトからデータの入力がなくなっても、旧第２分離ソフトおよび旧第１分離ソフトの処理に悪影響を及ぼすことがなく、重要度が上位側の分離ソフトウェアによって車両１０を走行させることができる。
【００９０】
さらに、本実施の形態に係るソフトウェア管理装置は、重要度が低い分離ソフトウェアから、すなわち、旧第３分離ソフト、旧第２分離ソフト、旧第１分離ソフトの順に上書きされて、重要度が高い新分離ソフトウェアから、すなわち、新第１分離ソフト、新第２分離ソフト、新第３分離ソフトの順に更新されるので、重要度が高い分離ソフトウェアを常に多く存在させることができ、車両用ソフトウェアの更新中に分離ソフトウェアの正常動作可能な領域を増大させることができる。
【００９１】
さらに、本実施の形態に係るソフトウェア管理装置は、重要度が最も高い旧第１分離ソフトが記憶された第１記憶領域１２１に、新第３分離ソフトを上書き記憶させる際には、車両１０の制御を、重要度が最も高い新第１分離ソフトによる制御に切り替えてから行うので、重要度が最も高い旧第１分離ソフトまたは新第１分離ソフトのいずれかによって車両１０の制御を行うことができ、常に車両１０の走行を可能にすることができる。
【００９２】
さらに、本実施の形態に係るソフトウェア管理装置は、新第２分離ソフトを、旧第２分離ソフトが記憶された第２記憶領域１２２と同一の領域に上書き記憶させるので、旧第２分離ソフトと新第２分離ソフトの更新の前後で、第２記憶領域１２２におけるアドレスを同一とすることができ、第２記憶領域１２２におけるアドレスを用いた処理の変更を行うことなく、旧第２分離ソフトから新第２分離ソフトへの更新を行うことができる。
【００９３】
さらに、本実施の形態に係るソフトウェア管理装置は、車両用ソフトウェアを同等の記憶容量となる分離ソフトウェアに分割しているので、上書きされる分離ソフトウェアと、上書きする分離ソフトウェアと、がそれぞれ同等の記憶容量となり、分離ソフトウェアの上書きにより無駄な記憶領域が発生することを防止するとともに、１つの分離ソフトウェアの更新時における最大の負荷を、記憶容量が等しくないときの最大の負荷と比べて、最も小さくすることができる。
【００９４】
例えば、第１分離ソフトが小さく、第３分離ソフトが大きい場合、旧第１分離ソフトの領域に新第３分離ソフトを書き込む必要があるため、旧第１分離ソフトの領域を必要以上に大きく取っておかなければならず、無駄な記憶領域を必要としてしまう。また、このとき、記憶容量の大きな新第３分離ソフトを更新するため、ＥＣＵ１００の負荷が大きくなってしまう。さらに、旧第３分離ソフトの記憶された領域に、新第１分離ソフトを書き込んだとき、容量の大きな第３分離ソフトの処理が止まってしまうにもかかわらず、容量の小さな第１分離ソフトの処理しか有効にさせることができない。
【００９５】
さらに、本実施の形態に係るソフトウェア管理装置は、新第１分離ソフト、新第２分離ソフトおよび新第３分離ソフトの書き込みエラーがあった場合には、異常があったことが報知されるので、ドライバに対して、ソフトウェアの更新による異常を認識させ、走行する場合の注意を喚起するとともに、早期の復旧を促すことができる。
【００９６】
なお、本実施の形態においては、車両用ソフトウェアを３つの分離ソフトウェアに分割した場合について説明したが、これに限らず、車両用ソフトウェアをいくつに分割した場合であっても、同様の処理を行うことができる。この場合も上述したソフトウェア管理装置と同様の効果が得られる。
【００９７】
また、本実施の形態においては、仲介部ａおよび仲介部ｂの更新を行うようにしているが、上述したように、仲介部ａおよび仲介部ｂの更新を行わないようにすることもできる。さらに、仲介部ａと仲介部ｂとは、１つの仲介部であってもよい。また、それぞれの分離ソフトウェアおよび仲介部の記憶領域の配置についても、本実施の形態の配置位置に限らず、どのような配置位置であっても構わない。
【００９８】
さらに、本実施の形態においては、新バージョンの車両用ソフトウェアは、基地局２０のサーバに記憶されており、車両１０のＥＣＵ１００が、通信部３０により基地局２０のサーバに記憶された新バージョンの車両用ソフトウェアを受信する場合について説明したが、これに限らず、新バージョンの車両用ソフトウェアは、ＤＶＤ（Digital Versatile Disc）等の記録メディアに記憶されたものであり、車両１０に記録メディアの読み取り装置を設けて、ＥＣＵ１００は、新バージョンの車両用ソフトウェアが記憶された記録メディアを車両１０に設けた記録メディアの読み取り装置から読み取って、読み取った新バージョンの車両用ソフトウェアにより、記憶領域１２０に記憶された車両用ソフトウェアを更新するようにしてもよい。この場合も上述したソフトウェア管理装置と同様の効果が得られる。
【００９９】
以上説明したように、本発明に係るソフトウェア管理装置は、車両の走行に対する重要度が低いソフトウェアが記憶された記憶領域に、重要度が高いソフトウェアの更新を行うことにより、ソフトウェアの更新中に不具合が発生しても、記憶容量を全く増やすことなく、車両を走行させることができるという効果を有し、車両用ソフトウェアのバージョンアップを行うソフトウェア管理装置等として有用である。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施の形態におけるソフトウェア管理装置を搭載した車両の概略ブロック構成図である。
【図２】本発明の実施の形態に係るソフトウェア管理装置における車両用ソフトウェア更新処理のフローチャートである。
【図３】本発明の実施の形態に係るソフトウェア管理装置における車両用ソフトウェア更新処理のフローチャートである。
【図４】本発明の実施の形態に係る記憶領域の領域使用のイメージ図である。
【図５】本発明の実施の形態に係る記憶領域の領域使用のイメージ図である。
【符号の説明】
【０１０１】
１０  車両
２０  基地局
３０  通信部
４０  報知部（報知手段）
９１  エンジン
９２  トランスミッション
１００  ＥＣＵ
１２０  記憶領域（車両ソフト記憶領域）
１２１  第１記憶領域
１２２  第２記憶領域
１２３  第３記憶領域
１２４ａ、１２４ｂ  第４記憶領域
１３０  車両制御部（車両制御手段）
１５０  ソフトウェア更新部（ソフトウェア更新手段）
【図１】
2010137643.tif 000003
【図２】
2010137643.tif 000004
【図３】
2010137643.tif 000005
【図４】
2010137643.tif 000006
【図５】
2010137643.tif 000007