(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】車両用電子制御装置及び書換えプログラム
(51)【国際特許分類】
G06F 8/654 20180101AFI20240717BHJP
B60R 16/02 20060101ALI20240717BHJP
【FI】
G06F8/654
B60R16/02 660U
(21)【出願番号】P 2021068430
(22)【出願日】2021-04-14
【審査請求日】2023-02-01
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】原田 雄三
【審査官】田中 幸雄
(56)【参考文献】
【文献】特開2018-173721(JP,A)
【文献】特開2021-24555(JP,A)
【文献】国際公開第2020/032199(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/654
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、
前記マイコンの内部であって前記不揮発性メモリ及び前記プロセッサとは別に設けられ、プログラムを実行可能な内部記憶部(33)と、を備え、
前記制御部は、諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、前記外部記憶部のメモリ領域を用い、
前記書換えプログラムを前記内部記憶部に複製して当該内部記憶部で実行させ、前記不揮発性メモリに格納されている書換え前のプログラムを前記外部記憶部に転送して書換え後のソフトウェアを当該外部記憶部で生成し、その生成した書換え後のソフトウェアを前記不揮発性メモリに書込むことで、前記不揮発性メモリに格納されているソフトウェアを書換える車両用電子制御装置。
【請求項2】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備え、
前記外部記憶部は、前記書換えプログラムが前記制御部により複製されることで当該書換えプログラムを実行可能であり、
前記制御部は、諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、
前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記外部記憶部に複製して当該外部記憶部で実行させ、前記外部記憶部に記憶されている前記リプログデータを前記不揮発性メモリに書込んで書換え後のソフトウェアを当該不揮発性メモリで生成することで、前記不揮発性メモリに格納されているソフトウェアを書換える車両用電子制御装置。
【請求項3】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備え、
前記外部記憶部は、前記書換えプログラムが前記制御部により複製されることで当該書換えプログラムを実行可能であり、
前記制御部は、
諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記外部記憶部に複製して当該外部記憶部で実行させ、前記不揮発性メモリに格納されている書換え前のプログラムを前記外部記憶部に転送して書換え後のソフトウェアを当該外部記憶部で生成し、その生成した書換え後のソフトウェアを前記不揮発性メモリに書込むことで、前記不揮発性メモリに格納されているソフトウェアを書換え
る車両用電子制御装置。
【請求項4】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備え、
アクティベート時に、前記外部記憶部に記憶されている前記リプログデータの前記不揮発性メモリへの書込みが可能であり、
前記制御部は、
諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行し、前記外部記憶部に記憶されている前記リプログデータを前記不揮発性メモリに書込んで書換え後のソフトウェアを当該不揮発性メモリで生成することで、前記不揮発性メモリに格納されているソフトウェアを書換え
る車両用電子制御装置。
【請求項5】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備え、
アクティベート時に、前記外部記憶部に記憶されている書換え後のソフトウェアの前記不揮発性メモリへの書込みが可能であり、
前記制御部は、
諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行し、書換え後のソフトウェアを前記外部記憶部で生成し、その生成した書換え後のソフトウェアを前記不揮発性メモリに書込むことで、前記不揮発性メモリに格納されているソフトウェアを書換え
る車両用電子制御装置。
【請求項6】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備え、
前記制御部は、
諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記第1コア及び前記第2コアのうち一方で実行し、前記不揮発性メモリの前記第1領域及び前記第2領域のうち前記書換えプログラムが格納されていないコアに対応するメモリ領域のソフトウェアを書換え、書換えプログラムを前記第1コア及び前記第2コアのうち他方で実行し、前記不揮発性メモリの前記第1領域及び前記第2領域のうち前記書換えプログラムが格納されていないコアに対応するメモリ領域のソフトウェアを書換えることで、前記不揮発性メモリに格納されているソフトウェアを書換え
る車両用電子制御装置。
【請求項7】
前記制御部は、
アクティベートの承諾を要求し、アクティベートが承諾されたことを条件とし、前記不揮発性メモリに格納されている前記ソフトウェアを書換える請求項1
から6の何れか一項に記載した車両用電子制御装置。
【請求項8】
前記制御部は、
車両走行中に、前記不揮発性メモリに格納されている前記ソフトウェアを書換える請求項1
から7の何れか一項に記載した車両用電子制御装置。
【請求項9】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備える車両用電子制御装置(13)の前記制御部に、
諸元データに基づいて自己のソフトウェアの書換えであるか否かを判定する第1手順と、
自己のソフトウェアの書換えであると前記第1手順により判定すると、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記内部記憶部に複製して当該内部記憶部で実行させ、前記不揮発性メモリに格納されている書換え前のプログラムを前記外部記憶部に転送して書換え後のソフトウェアを当該外部記憶部で生成し、その生成した書換え後のソフトウェアを前記不揮発性メモリに書込むことで、前記不揮発性メモリに格納されている前記ソフトウェアを書換える第2手順と、を実行させる書換えプログラム。
【請求項10】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備える車両用電子制御装置(13)の前記制御部に、
諸元データに基づいて自己のソフトウェアの書換えであるか否かを判定する第1手順と、
自己のソフトウェアの書換えであると前記第1手順により判定すると、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記外部記憶部に複製して当該外部記憶部で実行させ、前記外部記憶部に記憶されている前記リプログデータを前記不揮発性メモリに書込んで書換え後のソフトウェアを当該不揮発性メモリで生成することで、前記不揮発性メモリに格納されている前記ソフトウェアを書換える
第2手順と、を実行させる書換えプログラム。
【請求項11】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備える車両用電子制御装置(13)の前記制御部に、
諸元データに基づいて自己のソフトウェアの書換えであるか否かを判定する第1手順と、
自己のソフトウェアの書換えであると前記第1手順により判定すると、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記外部記憶部に複製して当該外部記憶部で実行させ、前記不揮発性メモリに格納されている書換え前のプログラムを前記外部記憶部に転送して書換え後のソフトウェアを当該外部記憶部で生成し、その生成した書換え後のソフトウェアを前記不揮発性メモリに書込むことで、前記不揮発性メモリに格納されている前記ソフトウェアを書換える第2手順と、を実行させる書換えプログラム。
【請求項12】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備える車両用電子制御装置(13)の前記制御部に、
諸元データに基づいて自己のソフトウェアの書換えであるか否かを判定する第1手順と、
自己のソフトウェアの書換えであると前記第1手順により判定すると、前記外部記憶部のメモリ領域を用い、
前記書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行し、前記外部記憶部に記憶されている前記リプログデータを前記不揮発性メモリに書込んで書換え後のソフトウェアを当該不揮発性メモリで生成することで、前記不揮発性メモリに格納されている前記ソフトウェアを書換える第2手順と、を実行させる書換えプログラム。
【請求項13】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備える車両用電子制御装置(13)の前記制御部に、
諸元データに基づいて自己のソフトウェアの書換えであるか否かを判定する第1手順と、
自己のソフトウェアの書換えであると前記第1手順により判定すると、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行し、書換え後のソフトウェアを前記外部記憶部で生成し、その生成した書換え後のソフトウェアを前記不揮発性メモリに書込むことで、前記不揮発性メモリに格納されている前記ソフトウェアを書換える第2手順と、を実行させる書換えプログラム。
【請求項14】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行する
制御部(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、を備え
る車両用電子制御装置(13)の前記制御部に、
諸元データに基づいて自己のソフトウェアの書換えであるか否かを判定する第1手順と、
自己のソフトウェアの書換えであると前記第1手順により判定すると、前記外部記憶部のメモリ領域を用い、前記書換えプログラムを前記第1コア及び前記第2コアのうち一方で実行し、前記不揮発性メモリの前記第1領域及び前記第2領域のうち前記書換えプログラムが格納されていないコアに対応するメモリ領域のソフトウェアを書換え、書換えプログラムを前記第1コア及び前記第2コアのうち他方で実行し、前記不揮発性メモリの前記第1領域及び前記第2領域のうち前記書換えプログラムが格納されていないコアに対応するメモリ領域のソフトウェアを書換えることで、前記不揮発性メモリに格納されている前記ソフトウェアを書換える第2手順と、を実行させる書換えプログラム。
【請求項15】
プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、前記ソフトウェアを書換えるための書換えプログラムを前記第1コア及び前記第2コアのうち少なくとも何れかで実行するプロセッサ(32)と、を有するマイコン(24)と、
前記マイコンの外部に設けられ、前記ソフトウェアを更新するためのリプログデータを一時的に記憶する外部記憶部(27)と、備え、
前記不揮発性メモリは、自己のメモリ領域と前記外部記憶部のメモリ領域とが疑似的な2面メモリとして用いられることで、前記ソフトウェアが書換えられる車両用電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両用電子制御装置及び書換えプログラムに関する。
【背景技術】
【0002】
近年、運転支援機能や自動運転機能等の車両制御の多様化に伴い、車両の電子制御装置(以下、ECU(Electronic Control Unit)と称する)に搭載される車両制御や診断等のプログラムやデータを含むソフトウェアの規模が増大している。又、機能改善等によるバージョンアップに伴い、ECUの動作に必要なソフトウェアを書換える(リプログする)機会も増えつつある。一方、通信ネットワークの進展等に伴い、コネクッテッドカーの技術も普及している。このような事情から、車両側にゲートウェイECUとして機能するCGW(Central Gate Way)が設けられ、CGWにおいて、センター装置からダウンロードしたリプログデータをECUに配信し、ECUのソフトウェアをOTA(Over The Air)により書換える技術が提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
CGWにおいては、ソフトウェアを書換えるための書換えプログラムを実行することで、ソフトウェアの書換えをECUに指示し、ECUの不揮発性メモリに格納されているソフトウェアを書換える。不揮発性メモリの構成として、フラッシュ面を1面で持つ1面メモリと、フラッシュ面を2面で持つ2面メモリとがある。2面メモリを有するマイクロコンピュータ(以下、2面マイコンと称する)は、車両走行中にソフトウェアを書換えたり、運用面の切換えに要するアクティベート時間を短縮したり、ソフトウェアを書戻すロールバックを行えたりする等のメリットを受ける。一方、これらのメリットを受けるには、メモリ領域の全体を常に2面に分離しておく必要があり、例えば16MByteの容量を持つ不揮発性メモリの場合、ソフトウェアのメモリ領域として活用するのは8MByteであり、半分のメモリ領域しか使えることができない。又、2面マイコンにおいて、ソフトウェアをメモリ領域の全体に配置し、疑似的な1面メモリを有するマイコンとして構成すると、メモリ容量の削減による低コスト化を図ったり、ソフトウェアの容量を増やしたりすることができるが、車両走行中にソフトウェアを書換えることができない等のデメリットを受ける。
【0005】
一方、CGWにおいても、高機能化や高速化の機能改善等によるバージョンアップに伴い、自己の動作に必要なソフトウェアを書換える(セルフリプログする)ことが要求されている。しかしながら、CGWに搭載されているマイコンが1面メモリを有するマイコン(以下、1面マイコンと称する)であると、1つのメモリ領域に書換えプログラムとソフトウェアとが共存しているので、ソフトウェアを書換えることができない。又、CGWに搭載されているマイコンが2面マイコンであっても上記したように疑似的な1面マイコンとして構成すると、この場合も、疑似的な1つのメモリ領域に書換えプログラムとソフトウェアとが共存するので、ソフトウェアを書換えることができない。
【0006】
本発明は、上記した事情に鑑みてなされたものであり、1面メモリの不揮発性メモリを搭載している構成、又は搭載している2面メモリの不揮発性メモリを疑似的な1面メモリとして使用している構成でも、自己のソフトウェアを適切に書換えることができる車両用電子制御装置及び書換えプログラムを提供することにある。
【課題を解決するための手段】
【0007】
請求項1に記載した発明によれば、マイコン(24)は、プログラムやデータを含むソフトウェアを格納可能であってメモリ領域として第1領域及び第2領域を含む不揮発性メモリ(31)と、第1コア及び第2コアを含み、ソフトウェアを書換えるための書換えプログラムを第1コア及び第2コアのうち少なくとも何れかで実行する制御部(32)と、マイコンの内部であって不揮発性メモリ及びプロセッサとは別に設けられ、プログラムを実行可能な内部記憶部(33)と、を有する。外部記憶部(27)は、マイコンの外部に設けられ、ソフトウェアを更新するためのリプログデータを一時的に記憶する。制御部は、諸元データに基づいて自己のソフトウェアの書換えであると判定した場合に、外部記憶部のメモリ領域を用い、書換えプログラムを内部記憶部に複製して当該内部記憶部で実行させ、不揮発性メモリに格納されている書換え前のプログラムを外部記憶部に転送して書換え後のソフトウェアを当該外部記憶部で生成し、その生成した書換え後のソフトウェアを不揮発性メモリに書込むことで、不揮発性メモリに格納されているソフトウェアを書換える。
【0008】
自己のソフトウェアを書換える際に、不揮発性メモリのメモリ領域と、マイコンの外部に設けられている外部記憶部のメモリ領域とを疑似的な2面メモリとして使用することで、書換えプログラムが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離することができる。書換えプログラムが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離した状態で、書換えプログラムを実行してソフトウェアを書換えることができる。これにより、1面メモリの不揮発性メモリを搭載している構成、又は搭載している2面メモリの不揮発性メモリを疑似的な1面メモリとして使用している構成でも、自己のソフトウェアを適切に書換えることができる。
【図面の簡単な説明】
【0009】
【
図14】第2実施形態を示し、処理の順序を説明する図
【
図16】第3実施形態を示し、処理の順序を説明する図
【
図18】第4実施形態を示し、処理の順序を説明する図
【発明を実施するための形態】
【0010】
以下、幾つかの実施形態について図面を参照して説明する。以下に示す各実施形態において、先行する実施形態で説明した内容に対応する部分には同一の参照符号を付し、重複する説明を省略することがある。
【0011】
(第1実施形態)
以下、第1実施形態について
図1から
図13を参照して説明する。車両用電子制御システムは、電子制御装置(以下、ECU(Electronic Control Unit)と称する)に搭載されている車両制御や診断等のソフトウェアをOTA(Over The Air)により書換え可能なシステムである。ソフトウェアは、車両制御や診断等の機能を実現するためのプログラムやデータを含み、アプリケーションと表現することもできる。本実施形態では、車両制御や診断等のソフトウェアを書換える場合について説明するが、例えば地図アプリや当該地図アプリで使用される地図データ等を書換える場合にも適用することができる。
【0012】
図1に示すように、車両用電子制御システム1は、通信ネットワーク2側のセンター装置3と、車両側の車両側システム4及び表示端末5とを有する。通信ネットワーク2は、例えば4G回線等による移動体通信ネットワーク、インターネット、WiFi(Wireless Fidelity)(登録商標)等を含んで構成される。
【0013】
表示端末5は、ユーザからの操作入力を受付ける機能や各種画面を表示する機能を有する端末であり、例えばユーザが携帯可能なスマートフォンやタブレット等の携帯端末6、車室内に配置されている車載ディスプレイ7である。携帯端末6は、移動体通信ネットワークの通信圏内であれば、通信ネットワーク2を介してセンター装置3とデータ通信可能である。車載ディスプレイ7は、車両側システム4に接続されており、ナビゲーション機能を兼用する構成であっても良い。又、車載ディスプレイ7は、ECUの機能を有する車載ディスプレイECUであっても良し、センターディスプレイやメータディスプレイ等への表示を制御する機能を有していても良い。
【0014】
ユーザは、車室外であって移動体通信ネットワークの通信圏内であれば、ソフトウェアの書換えに関与する各種画面を携帯端末6により確認しながら操作入力を行い、ソフトウェアの書換えに関与する手続きを可能である。ユーザは、車室内では、ソフトウェアの書換えに関与する各種画面を車載ディスプレイ7により確認しながら操作入力を行い、ソフトウェアの書換えに関与する手続きを可能である。即ち、ユーザは、車室外と車室内で携帯端末6と車載ディスプレイ7を使い分け、ソフトウェアの書換えに関与する手続きを可能である。
【0015】
センター装置3は、車両用電子制御システム1において通信ネットワーク2側のソフトウェアの更新機能を統括し、OTAセンターとして機能する。センター装置3は、ファイルサーバ8と、ウェブサーバ9と、管理サーバ10とを有し、各サーバ8~10が相互にデータ通信可能に構成されている。即ち、センター装置3は、機能毎に異なる複数のサーバを含んで構成されている。
【0016】
ファイルサーバ8は、センター装置3から車両側システム4に配信されるソフトウェアのファイルを管理するサーバである。ファイルサーバ8は、センター装置3から車両側システム4に配信されるソフトウェアの提供事業者であるサプライヤ等から提供されるリプログデータ、OEM(Original Equipment Manufacturer)から提供される諸元データ、車両側システム4から取得する車両状態等を管理する。ファイルサーバ8は、通信ネットワーク2を介して車両側システム4との間でデータ通信可能であり、車両側システム4からパッケージデータのダウンロード要求を受信すると、リプログデータと諸元データとが1つのファイルにパッケージ化されたパッケージデータを含むダウンロードデータを車両側システム4に送信する。ダウンロードデータは、圧縮されているzip形式のファイルを含む。尚、ファイルサーバ8は、車両側システム4からダウンロード要求を受信すると、リプログデータと諸元データとを別々のファイルとして車両側システム4に送信しても良い。
【0017】
ウェブサーバ9は、ウェブ情報を管理するサーバである。ウェブサーバ9は、携帯端末6等が有するウェブブラウザからの要求に応じて自己が管理するウェブデータを送信する。管理サーバ10は、ソフトウェアの書換えのサービスに登録しているユーザの個人情報、車両毎のソフトウェアの書換え履歴等を管理するサーバである。
【0018】
車両側システム4は、車両用マスタ装置11を有する。車両用マスタ装置11は、車両用電子制御システム1において車両側のソフトウェアの更新機能を統括し、OTAマスタとして機能する。車両用マスタ装置11は、DCM(Data Communication Module)12と、CGW(Central Gate Way)13とを有する。DCM12は、センター装置3との間で通信ネットワーク2を介してデータ通信を無線通信により行う。
【0019】
CGW13は、ゲートウェイECUとして機能し、車両用電子制御装置に相当する。DCM12とCGW13とは、第1バス14を介してデータ通信可能に接続されている。
図1では、DCM12と車載ディスプレイ7が同一の第1バス14に接続されている構成を例示しているが、DCM12と車載ディスプレイ7とが別々のバスに接続されている構成でも良い。又、DCM12の機能の一部又は全体をCGW13が有する構成でも良いし、CGW13の機能の一部又は全体をDCM12が有する構成でも良い。即ち、車両用マスタ装置11において、DCM12とCGW13との機能分担がどのように構成されていても良い。車両用マスタ装置11は、DCM12及びCGW13の2つのECUから構成されても良いし、DCM12の機能とCGW13の機能とを有する1つの統合ECUで構成されても良い。
【0020】
CGW13には、第1バス14に加え、第2バス15と、第3バス16と、第4バス17と、第5バス18とが車内側のバスとして接続されており、バス15~17を介して各種ECU19が接続されていると共に、バス18を介して電源管理ECU20が接続されている。
【0021】
第2バス15は、例えばボディ系ネットワークのバスである。第2バス15に接続されているECU19は、ボディ系の制御を行うECUである。ボディ系の制御を行うECUは、例えばドアのロック/アンロックを制御するドアECU、メータディスプレイへの表示を制御するメータECU、エアコンの駆動を制御するエアコンECU、ウィンドウの開閉を制御するウィンドウECU、車両の盗難防止のために駆動するセキュリティECU等である。
【0022】
第3バス16は、例えば走行系ネットワークのバスである。第3バス16に接続されているECU19は、走行系の制御を行うECUである。走行系の制御を行うECUは、例えばエンジンの駆動を制御するエンジンECU、ブレーキの駆動を制御するブレーキECU、自動変速機の駆動を制御するECT(Electronic Controlled Transmission)ECU、パワーステアリングの駆動を制御するパワーステアリングECU等である。
【0023】
第4バス17は、例えばマルチメディア系ネットワークのバスである。第4バス17に接続されているECU19は、マルチメディア系の制御を行うECUである。マルチメディア系の制御を行うECUは、例えばナビゲーションシステムを制御するためのナビゲーションECU、電子式料金収受システム(ETC(Electronic Toll Collection System、登録商標))を制御するETCECU等である。バス15~17は、ボディ系ネットワークのバス、走行系ネットワークのバス、マルチメディア系ネットワークのバス以外の系統のバスであっても良い。又、バスの本数やECU19の個数は例示した構成に限らない。
電源管理ECU20は、DCM12、CGW13、各種ECU19等に供給する電源を管理するECUである。
【0024】
CGW13には、第6バス21が車外側のバスとして接続されている。第6バス21には、サービスツールとして機能するツール23が着脱可能に接続されるDLC(Data Link Coupler)コネクタ22が接続されている。車内側のバス14~18及び車外側のバス21は、例えばCAN(Controller Area Network、登録商標)バスにより構成されており、CGW13は、CANのデータ通信規格や診断通信規格(UDS(Unified Diagnosis Services):ISO14229)にしたがってDCM12と、各種ECU19と、ツール23との間でデータ通信を行う。尚、DCM12とCGW13とがイーサーネットにより接続されていても良いし、DLCコネクタ22とCGW13とがイーサーネットにより接続されても良い。
【0025】
DCM12は、ファイルサーバ8からダウンロードデータをダウンロードすると、そのダウンロードしたダウンロードデータをCGW13に送信する。CGW13は、DCM12からダウンロードデータを受信すると、その受信したダウンロードデータを解凍してパッケージデータを取得し、その取得したパッケージデータからリプログデータ及び諸元データを取得する。
【0026】
CGW13は、ソフトウェアの書換え対象がECU19である場合には、リプログデータを書込むインストールを指示可能な条件が成立していることを条件とし、その取得したリプログデータのインストールをソフトウェアの書換え対象のECU19に指示する。インストールを指示可能な条件とは、インストールの承諾が得られていること、CGW13がDCM12を介してセンター装置3とデータ通信可能であること、車両状態がインストール可能な状態であること、書換え対象のECU19がインストール可能な状態であること、リプログデータが正常なデータであること等である。書換え対象のECU19は、CGW13からリプログデータのインストールが指示されると、リプログデータのインストールを実行する。
【0027】
CGW13は、書換え対象のECU19においてリプログデータのインストールが完了すると、インストール完了後のソフトウェアを有効とするアクティベートを指示可能な条件が成立していることを条件とし、アクティベートを書換え対象のECU19に指示する。アクティベートを指示可能な条件とは、アクティベートの承諾が得られていること、車両状態がアクティベート可能な状態であること、書換え対象のECU19がアクティベート可能な状態であること等である。書換え対象のECU19は、CGW13からアクティベートが指示されると、アクティベートを実行する。
【0028】
図2に示すように、CGW13は、電気的な機能ブロックとして、3個のマイクロコンピュータ(以下、マイコンと称する)24~26と、外部ストレージ27と、データ転送回路28と、電源回路29と、電源検出回路30とを有する。3個のマイコン24~26は、同一基板に実装されていても良いし異なる基板に実装されていても良い。第1マイコン24と第2マイコン25とはデータ通信可能に接続され、第2マイコン25と第3マイコン26とはデータ通信可能に接続されている。マイコン24~26は、仕様が互いに異なり、互いに連携してCGW13の動作を実現する。マイコン24~26は、それぞれ非遷移的実体的記憶媒体に格納されている各種制御プログラムを実行して各種処理を行い、連携してCGW13の動作を制御する。本実施形態では、CGW13に3個のマイコン24~26が搭載されている構成を例示しているが、CGW13に搭載されるマイコンのスペック、個数、組み合わせは、CGW13に要求される処理能力に応じて決定される。即ち、CGW13に比較的高い処理能力が要求される場合であれば、比較的高いスペックのマイコンが採用されたり、分散処理や並列処理を実現するために複数のマイコンが採用されたりする。
【0029】
外部ストレージ27は、マイコン24~26とは別に設けられ、第1マイコン24と専用線を介して直接的に接続され、当該第1マイコン24とデータ通信可能に接続されていると共に、第1マイコン24を介して第2マイコン25や第3マイコン26と間接的に接続され、第1マイコン24を介して第2マイコン25や第3マイコン26とデータ通信可能に接続されている。外部ストレージ27は、例えばeMMC(embedded Multi Media Card)、NorFlashであり、外部記憶部に相当する。外部ストレージ27は、センター装置3から配信されるパッケージデータを含むダウンロードデータを記憶可能な十分なメモリ容量を有する。外部ストレージ27は、例えば数GBの容量、具体的には、1GB、4GB、又は8GB等の容量を持つ。外部ストレージ27は、ECU19のソフトウェアを書換えるためのダウンロードデータ、CGW13のソフトウェアを書換えるためのダウンロードデータの何れも記憶可能である。又、外部ストレージ27は、車載センサにより収集される車両ログデータを記憶しても良いし、車載カメラにより撮影された画像データを記憶しても良い。
【0030】
データ転送回路28は、バス14~18,21との間のCANのデータ通信規格や診断通信規格に準拠したデータ通信を制御する。電源回路29は、バッテリ電源、アクセサリ電源、イグニッション電源を入力する。電源検出回路30は、電源回路29が入力する+B電源の電圧値、ACC電源の電圧値、IG電源の電圧値を検出し、これらの検出した電圧値を所定の電圧閾値と比較し、その比較結果をマイコン24~26に出力する。マイコン24~26は、電源検出回路30から入力する比較結果により、外部からCGW13に供給されている+B電源、ACC電源、IG電源が正常であるか異常であるかを判定する。
【0031】
図3に示すように、第1マイコン24は、第1ROM31と、第1プロセッサ32と、第1RAM33と、第1フラッシュメモリ34とを有する。第1ROM31は、フラッシュ面を2面で持つ2面メモリの構成であり、メモリ領域として第1領域31aと第2領域31bとを含む。第1プロセッサ32は、マルチコアの構成であり、第1コア32aと第2コア32bとを含む。第1マイコン24は、2面メモリの第1ROM31を有する2面マイコンである。
【0032】
第2マイコン25は、第2ROM35と、第2プロセッサ36と、第2RAM37と、第2フラッシュメモリ38とを有する。第2ROM35は、フラッシュ面を2面で持つ2面メモリの構成であり、メモリ領域として第1領域35aと第2領域35bとを含む。第2プロセッサ36は、マルチコアの構成であり、第1コア36aと第2コア36bとを含む。第2マイコン25も、第1マイコン24と同様に、2面メモリの第2ROM35を有する2面マイコンである。
【0033】
第3マイコン26は、第3ROM39と、第3プロセッサ40と、第3RAM41と、第3フラッシュメモリ42とを有する。第3ROM39は、フラッシュ面を1面で持つ1面メモリの構成であり、メモリ領域として第1領域39aを含む。第3プロセッサ40は、シングルコアの構成であり、第1コア40aを含む。第3マイコン26は、第1マイコン24及び第2マイコン25とは異なり、1面メモリの第3ROM39を有する1面マイコンである。
【0034】
CGW13は、上記したように書換え対象のECU19のソフトウェアを書換えることに加え、高機能化や高速化の機能改善等によるバージョンアップに伴い、自己の動作に必要なソフトウェアを書換える(セルフリプログする)ことが要求されている。CGW13は、OEMから提供される諸元データに基づいて書換え対象が自己であるか自己以外のECU19であるかを判定する。
【0035】
図4に示すように、OEMからCGW13に提供される諸元データには、グループ情報と、バス負荷テーブルと、バッテリ負荷と、リプログ時の車両状態と、シーン情報と、ECU情報とを含む。グループ情報は、ECU19の属するグループ及び書換え順序を示す情報であり、例えば第1グループ情報として、ECU(ID1)、ECU(ID2)、ECU(ID3)の順序でソフトウェアを書換える旨、第2グループ情報として、ECU(ID4)、ECU(ID5)、ECU(ID6)の順序でソフトウェアを書換える旨を規定している。バス負荷テーブルは、
図5に示すように、電源状態とバスの伝送許容量との対応関係を示すテーブルであり、バス毎の最大伝送許容量に対して伝送可能な車両制御データとリプログデータとの伝送量を規定している。
【0036】
バッテリ負荷は、車両において許容可能な車両バッテリのバッテリ残量の下限値を示す情報であり、割合を示す数値を規定している。リプログ時の車両状態は、車両状態がどのような状態で書換えを行うかを示す情報であり、全て駐車中、全て走行中、最適の何れかを規定している。シーン情報は、リプログのシーンを示す情報であり、リコール、ディーラー、工場用、機能更新通知、強制実行の何れかを規定している。
【0037】
ECU情報は、ECU19に関する情報であり、ECU_IDと、リプログ種別と、接続バスと、接続電源と、セキュリティアクセス鍵情報と、メモリ種別と、リプログ方法と、電源自己保持時間と、書換え面情報と、更新ソフトウェアバージョンと、更新ソフトウェア取得アドレスと、更新ソフトウェアサイズと、ロールバックソフトウェアバージョンと、ロールバックソフトウェア取得アドレスと、ロールバックソフトウェアサイズと、更新ソフトウェアデータ種別と、ロールバックソフトウェアデータ種別とを含む。
【0038】
リプログ種別は、書換え対象を示す情報であり、セルフリプログ、他ECUリプログの何れかを規定している。即ち、CGW13は、リプログ種別が「セルフリプログ」であるときには書換え対象が自己であると判定し、リプログ種別が「他ECUリプログ」であるときには書換え対象が自己以外のECU19であると判定する。即ち、諸元データは、CGW13に格納されているソフトウェアの書換えであるかECU19に格納されているソフトウェアの書換えであるかを特定可能な情報を含むデータ構造である。尚、CGW13は、リプログ種別の代わりにECU_IDの情報に基づいて「セルフリプログ」であるか「他ECUリプログ」であるかを判定しても良い。即ち、CGW13は、ECU_IDとしてCGW13に対応するECU_IDが指定されている場合は、書換え対象が自己であると判定し、ECU_IDとしてCGW13に対応するECU_ID以外のECU_IDが指定されている場合は、書換え対象が自己以外のECU19であると判定しても良い。
【0039】
接続バスは、書換え対象が接続されるバスを示す。接続電源は、書換え対象が接続される電源ラインを示す。セキュリティアクセス鍵情報は、リプログ種別が「他ECUリプログ」であるときに、CGW13がECU19にアクセスするための認証に用いる鍵情報を示し、乱数値又はユニークな情報、鍵パターン、復号演算パターンを含む。メモリ種別は、書換え対象に搭載されているメモリが1面メモリ、疑似2面メモリ、2面メモリの何れであるかを示す。リプログ方法は、電源自己保持による書換え又は電源制御による書換えの何れであるかを示す。電源自己保持時間は、リプログ方法が電源自己保持による書換えである場合に、電源自己保持を継続する時間を示す。書換え面情報は、何れの面が運用面であり、何れの面が非運用面であるかを示す。運用面は起動面とも称し、非運用面は書換え面とも称する。
【0040】
更新ソフトウェアバージョンは、更新ソフトウェアのバージョンを示す。更新ソフトウェア取得アドレスは、更新ソフトウェアのアドレスを示す。更新ソフトウェアサイズは、更新ソフトウェアのデータサイズを示す。ロールバックソフトウェアバージョンは、ロールバックソフトウェアのバージョンを示す。ロールバックソフトウェア取得アドレスは、ロールバックソフトウェアのアドレスを示す。ロールバックソフトウェアサイズは、ロールバックソフトウェアのデータサイズを示す。更新ソフトウェアデータ種別は、更新用のリプログデータが差分データ又は全データの何れの種別であるかを示す。ロールバックソフトウェアデータ種別は、ロールバック用のリプログデータが差分データ又は全データの何れの種別であるかを示す。尚、諸元データには、これらの情報の他に、システムで独自に定義した情報を含むことが可能である。
【0041】
以下、諸元データのリプログ種別が「セルフリプログ」であり、CGW13が自己のソフトウェアを書換える場合について説明する。ここでは、第1マイコン24の第1ROM31に格納されているソフトウェアを書換える場合について説明する。
図6に示すように、第1マイコン24において、第1ROM31の第1領域31aと第1プロセッサ32の第1コア32aとを含んで第1クラスタ43が構成される。第1ROM31の第2領域31bと第1プロセッサ32の第2コア32bとを含んで第2クラスタ44が構成される。第1RAM33を含んで第3クラスタ45が構成される。第1プロセッサ32は、制御部に相当する。第1RAM33は、内部記憶部に相当する。
【0042】
第2領域31bにはソフトウェアを書換えるための書換えプログラムであるOTAアプリが格納されている。第2コア32bは、リプログ種別が「他ECUリプログ」であり、書換え対象が自己以外のECU19であると判定すると、第2領域31bからOTAアプリを読込んで実行し、ソフトウェアの書換えを書換え対象のECU19に指示し、書換え対象のECU19のROMに格納されているソフトウェアを書換える。
【0043】
上記したように第1ROM31はメモリ領域として第1領域31aと第2領域31bとをする2面メモリの構成であるが、ソフトウェアをメモリ領域の全体に配置することで第1マイコン24を疑似的な1面マイコンとして構成すると、ソフトウェアの容量を増やすことができるが、車両走行中にソフトウェアを書換えることができない等のデメリットを受ける。そのため、車両走行中にソフトウェアを書換え可能とするには、セルフリプログ時以外の通常時では第2マイコン24を疑似的な1面マイコンとして動作させ、セルフリプログ時では第2マイコン24を2面マイコンとして動作させることが要求される。
【0044】
このような事情から、第2コア32bは、リプログ種別が「セルフリプログ」であり、書換え対象が自己であると判定すると、第2領域31bからOTAアプリを読込み、以下に説明する処理を行うことで、セルフリプログ時に第1ROM31のメモリ領域と外部ストレージ27のメモリ領域とを疑似的な2面メモリとして動作させる。この場合、書換え後のソフトウェアを第1ROM31で生成するパターンと、書換え後のソフトウェアを外部ストレージ27で生成するパターンとがある。
【0045】
(1)書換え後のソフトウェアを第1ROM31で生成するパターン
書換え後のソフトウェアを第1ROM31で生成するパターンについて
図7から
図10を参照して説明する。
第2コア32bは、ソフトウェアの書換えを規定するキャンペーン情報の有りを特定し、ユーザがダウンロードデータをダウンロードする旨の承諾を行ったことを特定すると、パッケージデータのダウンロード要求をCGW13からDCM12に送信させる(A1)。DCM12は、第2コア32bからパッケージデータのダウンロード要求を受信すると、その受信したパッケージデータのダウンロード要求をサーバ3に送信する(A2)。サーバ3は、DCM12からダウンロード要求を受信すると、ダウンロードする対象のパッケージデータを含むダウンロードデータを生成し、その生成したダウンロードデータのDCM12への送信を開始する(A3)。DCM12は、サーバ3からダウンロードデータを受信すると、その受信したダウンロードデータのCGW13への送信を開始する(A4)。
【0046】
第2コア32bは、DCM12からCGW13へのダウンロードデータの受信を判定すると、そのダウンロードデータの外部ストレージ27への転送を開始し(A5)、ダウンロードデータの外部ストレージ27への保存を開始する(S1)。第2コア32bは、ダウンロードの進捗状態を管理し(S2)、そのダウンロードデータの外部ストレージ27への保存を完了すると(S3)、ダウンロードデータを解凍してパッケージデータを取得し(S4)、その取得したパッケージデータからリプログデータ及び諸元データを取得する(S5)。
【0047】
第2コア32bは、諸元データを読込み、リプログ種別が「セルフリプログ」であると判定すると、アクティベート承諾要求をHMIに送信する(A6、第1手順に相当する)。この場合、アクティベート承諾要求はインストール承諾要求も兼ねている。HMIは、携帯端末6や車載ディスプレイ7であり、ユーザが携帯端末6や車載ディスプレイ7を操作し、アクティベートの承諾を行った旨を特定すると、アクティベート承諾をOTAアプリに送信する(A7)。この場合、アクティベート承諾はインストール承諾も兼ねている。
【0048】
第2コア32bは、HMIからアクティベート承諾を受信すると、アクティベート承諾を特定し(S6)、OTAアプリを第1RAM33に複製して第1RAM33で実行させる(A8)。第2コア32bは、アクティベートの実行条件の成立を待機し(S7)、アクティベートの実行条件の成立を判定すると(S7:YES)、外部ストレージ27からリプログデータを読込む(A9)。第2コア32bは、その読込んだリプログデータの第1ROM31の第1領域31a及び第2領域31bへの転送を開始し(A10)、リプログデータの第1ROM31の第1領域31a及び第2領域31bへの書込みを開始する(S8)。即ち、第2コア32bは、インストールの処理を開始する。
【0049】
第2コア32bは、書込みの進捗状態を管理し(S9)、リプログデータの第1ROM31の第1領域31a及び第2領域31bへの書込みを完了すると(S10)、アクティベート指示を第1ROM31に出力し、第1ROM31に格納されているソフトウェアを書換える(A11、第2手順に相当する)。上記した処理では、第1ROM31の第2領域31bに記憶されているOTAアプリが第2コア32bで実行されることでA1からA7が実行され、OTAアプリが第1RAM33に複製されて当該第1RAM33で実行されることでA8からA11が実行される。第1RAM33で実行されたOTAアプリは、外部ストレージ27のアドレスを取得することで、リプログデータのデータ転送を実行する。
【0050】
図10は、書換え後のソフトウェアを第1ROM31で生成するパターンの処理の順序を示している。処理1から処理4は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:OTAアプリを第1RAM33に複製して当該第1RAM33で実行させる。
処理3:アクティベートの実行条件が成立すると、外部ストレージ27からリプログデータを読込む。
処理4:リプログデータを第1ROM31に書込み、書換え後のソフトウェアを第1ROM31で生成する。
処理5:OTAアプリを第2コア32bで実行する(元に戻す)。
【0051】
(2)書換え後のソフトウェアを外部ストレージ27で生成するパターン
書換え後のソフトウェアを外部ストレージ27で生成するパターンについて
図11から
図13を参照して説明する。
第2コア32bは、HMIからアクティベート承諾を受信すると、アクティベート承諾を特定し(S6)、OTAアプリを第1RAM33に複製して第1RAM33で実行する(A8)。第2コア32bは、第1ROM31から書換え前のソフトウェアを読込み(A21)、その読込んだ書換え前のソフトウェアの外部ストレージ27への転送を開始し(A22)、書換え前のソフトウェアのリプログデータの外部ストレージ27への書込みを開始する(S21)。
【0052】
第2コア32bは、書込みの進捗状態を管理し(S22)、書換え前のソフトウェアの外部ストレージ27への書込みを完了すると(S23)、アクティベートの実行条件の成立を待機する(S24)。第2コア32bは、アクティベートの実行条件の成立を判定すると(S24:YES)、外部ストレージ27から書換え後のソフトウェアを読込み(A23)、その読込んだ書換え後のソフトウェアの第1ROM31への転送を開始し(A24)、書換え後のソフトウェアを第1ROM31への書込みを開始する(S25)。
【0053】
第2コア32bは、書込みの進捗状態を管理し(S26)、書換え後のソフトウェアの第1ROM31への書込みを完了すると(S27)、アクティベート指示を第1ROM31に出力し、第1ROM31に格納されているソフトウェアを書換える(A25、第2手順に相当する)。
【0054】
図13は、書換え後のソフトウェアを外部ストレージ27で生成するパターンの処理の順序を示している。処理1から処理6は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:OTAアプリを第1RAM33に複製して当該第1RAM33で実行させる。
処理3:第1ROM31から書換え前のソフトウェアを読込む。
処理4:書換え前のソフトウェアを外部ストレージ27に書込み、書換え後のソフトウェアを外部ストレージ27で生成する。
処理5:アクティベートの実行条件が成立すると、外部ストレージ27から書換え後のソフトウェアを読込む。
処理6:書換え後のソフトウェアを第1ROM31に書込む。
処理7:OTAアプリを第2コア32bで実行する(元に戻す)。
【0055】
CGW13において、ダウンロードデータを保存する外部ストレージ27を利用し、外部ストレージ27を一時的に非運用面として利用することで、フラッシュ面を2面で持つ第1ROM31に対し、セルフリプログ時に第1ROM31のメモリ領域と外部ストレージ27のメモリ領域とを疑似的な2面メモリとして動作させることができる。そのため、セルフリプログ時以外の通常時では、第1ROM31を疑似的な1面メモリとして動作させることで、メモリ容量の削減による低コスト化を図ったり、ソフトウェアの容量を増やしたりすることができる。セルフリプログ時では、第1ROM31のメモリ領域と外部ストレージ27のメモリ領域とを疑似的な2面メモリとして動作させることで、車両走行中にソフトウェアを書換えたり、運用面の切換えに要するアクティベート時間を短縮したり、ソフトウェアを書戻すロールバックを行えたりする等のメリットを受けることができる。
【0056】
以上は、第1マイコン24の内部において第1プロセッサ32が第1ROM31に格納されているソフトウェアを書換える場合を説明したが、第1マイコン24が別のマイコンと連携することで、第1マイコン24の第1プロセッサ32が別のマイコンのROMに格納されているソフトウェアを書換えることも可能である。例えば第1マイコン24が第2マイコン25と連携することで、第1マイコン24の第1プロセッサ32が第2マイコン25の第2ROM35に格納されているソフトウェアを書換えることも可能である。その場合、第1ROM31と同様に、フラッシュ面を2面で持つ第2ROM35に対し、セルフリプログ時に第2ROM35のメモリ領域と外部ストレージ27のメモリ領域とを疑似的な2面メモリとして動作させることができる。尚、本実施形態のようにセルフリプログの対象となり得るマイコンが複数の場合には、上記した諸元データのリプログ種別においてセルフリプログの対象となるマイコンを特定可能な情報が格納される。
【0057】
即ち、第2マイコン25においても、第1マイコン24と同様に、セルフリプログ時以外の通常時では、第2ROM35を疑似的な1面メモリとして動作させることで、メモリ容量の削減による低コスト化を図ったり、ソフトウェアの容量を増やしたりすることができる。セルフリプログ時では、第2ROM35のメモリ領域と外部ストレージ27のメモリ領域とを疑似的な2面メモリとして動作させることで、車両走行中にソフトウェアを書換えたり、運用面の切換えに要するアクティベート時間を短縮したり、ソフトウェアを書戻すロールバックを行えたりする等のメリットを受けることができる。
【0058】
又、第1マイコン24が第3マイコン26と連携することで、第1マイコン24の第1プロセッサ32が第3マイコン25の第3ROM39に格納されているソフトウェアを書換えることも可能である。更に、第2マイコン25の第2プロセッサ36が第1マイコン24の第1ROM31や第3マイコン26の第3ROM39に格納されているソフトウェアを書換えることも可能である。第3マイコン26の第3プロセッサ40が第1マイコン24の第1ROM31や第2マイコン25の第2ROM35に格納されているソフトウェアを書換えることも可能である。
【0059】
以上に説明したように第1実施形態によれば、次に示す作用効果を得ることができる。
CGW13において、ダウンロードデータを保存する外部ストレージ27を利用し、第1マイコン24のセルフリプログを行う場合に、第1ROM31のメモリ領域と、外部ストレージ27のメモリ領域とを疑似的な2面メモリとして使用することで、OTAアプリが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離した状態で、OTAアプリを実行してソフトウェアを書換えることができる。これにより、2面メモリの第1ROM24を疑似的な1面メモリとして使用している構成でも、自己のソフトウェアを適切に書換えることができる。
【0060】
又、OTAアプリを第1RAM33に複製して当該第1RAM33で実行させるようにした。外部ストレージ27がOTAアプリを実行可能であることや、アクティベート時に、外部ストレージ27に記憶されているリプログデータ又は書換え後のソフトウェアを第1ROM31に書込み可能であることを必要とせずに実現することができる。即ち、外部ストレージ27がOTAアプリを実行可能である構成や、アクティベート時に、外部ストレージ27に記憶されているリプログデータ又は書換え後のソフトウェアを第1ROM31に書込み可能である構成では、高コスト化や処理の複雑化が懸念されるが、そのような事態が生じることなく実現することができる。
【0061】
(第2実施形態)
以下、第2実施形態について
図14から
図15を参照して説明する。
第2実施形態は、外部ストレージ27がOTAアプリを実行可能であることが前提であり、第2コア32bは、OTAアプリを外部ストレージ27に複製して当該外部ストレージ27で実行させ、ソフトウェアを書換える。この場合も、書換え後のソフトウェアを第1ROM31で生成するパターンと、書換え後のソフトウェアを外部ストレージ27で生成するパターンとがある。
【0062】
図14は、書換え後のソフトウェアを第1ROM31で生成するパターンの処理の順序を示している。処理1から処理4は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:OTAアプリを外部ストレージ27に複製して当該外部ストレージ27で実行させる。
処理3:アクティベートの実行条件が成立すると、外部ストレージ27からリプログデータを読込む。
処理4:リプログデータを第1ROM31に書込み、書換え後のソフトウェアを第1ROM31で生成する。
処理5:OTAアプリを第2コア32bで実行する(元に戻す)。
【0063】
図15は、書換え後のソフトウェアを外部ストレージ27で生成するパターンの処理の順序を示している。処理1から処理6は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:OTAアプリを外部ストレージ27に複製して当該外部ストレージ27で実行させる。
処理3:第1ROM31から書換え前のソフトウェアを読込む。
処理4:書換え前のソフトウェアを外部ストレージ27に書込み、書換え後のソフトウェアを外部ストレージ27で生成する。
処理5:アクティベートの実行条件が成立すると、外部ストレージ27から書換え後のソフトウェアを読込む。
処理6:書換え後のソフトウェアを第1ROM31に書込む。
【0064】
第2実施形態によれば、上記した第1実施形態と同様に、第1ROM31のメモリ領域と、外部ストレージ27のメモリ領域とを疑似的な2面メモリとして使用することで、OTAアプリが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離した状態で、OTAアプリを実行してソフトウェアを書換えることができる。これにより、2面メモリの第1ROM24を疑似的な1面メモリとして使用している構成でも、自己のソフトウェアを適切に書換えることができる。
【0065】
(第3実施形態)
以下、第3実施形態について
図16から
図17を参照して説明する。
第3実施形態は、アクティベート時に、外部ストレージ27に記憶されているリプログデータ又は書換え後のソフトウェアを第1ROM31に書込み可能であることが前提であり、OTAアプリを第1RAM33や外部ストレージ27に複製せずに第2コア32bで実行し、ソフトウェアを書換える。この場合も、書換え後のソフトウェアを第1ROM31で生成するパターンと、書換え後のソフトウェアを外部ストレージ27で生成するパターンとがある。
【0066】
図16は、書換え後のソフトウェアを第1ROM31で生成するパターンの処理の順序を示している。処理1から処理3は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:アクティベートの実行条件が成立すると、外部ストレージ27からリプログデータを読込む。
処理3:リプログデータを第1ROM31に書込み、書換え後のソフトウェアを第1ROM31で生成する。
【0067】
図17は、書換え後のソフトウェアを外部ストレージ27で生成するパターンの処理の順序を示している。処理1から処理5は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:第1ROM31から書換え前のソフトウェアを読込む。
処理3:書換え前のソフトウェアを外部ストレージ27に書込み、書換え後のソフトウェアを外部ストレージ27で生成する。
処理4:アクティベートの実行条件が成立すると、外部ストレージ27から書換え後のソフトウェアを読込む。
処理5:書換え後のソフトウェアを第1ROM31に書込む。
【0068】
第3実施形態によれば、上記した第1実施形態と同様に、第1ROM31のメモリ領域と、外部ストレージ27のメモリ領域とを疑似的な2面メモリとして使用することで、OTAアプリが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離した状態で、OTAアプリを実行してソフトウェアを書換えることができる。これにより、2面メモリの第1ROM24を疑似的な1面メモリとして使用している構成でも、自己のソフトウェアを適切に書換えることができる。
【0069】
(第4実施形態)
以下、第4実施形態について
図18を参照して説明する。
第4実施形態は、第1から第3実施形態とは異なり、書換え後のソフトウェアを第1ROM31で生成するパターンだけである。
図18は、書換え後のソフトウェアを第1ROM31で生成するパターンの処理の順序を示している。処理1から処理5は次の通りである。
処理1:ダウンロードデータを外部ストレージ27に保存する。
処理2:アクティベートの実行条件が成立すると、外部ストレージ27から第1ROM31の第1領域31aに書込むリプログデータを読込む。
処理3:リプログデータを第1ROM31の第1領域31aに書込み、書換え後のソフトウェアを第1ROM31の第1領域31aで生成する。
処理4:アクティベートの実行条件が成立すると、外部ストレージ27から第1ROM31の第2領域31bに書込むリプログデータを読込む。
処理5:リプログデータを第1ROM31の第2領域31bに書込み、書換え後のソフトウェアを第1ROM31の第2領域31bで生成する。
【0070】
第4実施形態によれば、上記した第1実施形態と同様に、第1ROM31のメモリ領域と、外部ストレージ27のメモリ領域とを疑似的な2面メモリとして使用することで、OTAアプリが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離した状態で、OTAアプリを実行してソフトウェアを書換えることができる。これにより、2面メモリの第1ROM24を疑似的な1面メモリとして使用している構成でも、自己のソフトウェアを適切に書換えることができる。
【0071】
図19は、上記した第1から第4実施形態について、リプログデータの保存場所、書換え後のソフトウェアの生成場所、OTAアプリの配置場所を示している。
【0072】
尚、CGW13の構成として、第1マイコン24に代えて、第1マイコン24よりも高いスペックのマイコンが採用される構成でも良い。
図20に示すように、第1マイコン51は、例えばSoC(System-on-Chip)であり、第1ROMのメモリ領域として第1領域52aから第4領域52dを含み、第1プロセッサとして第1コア53aから第4コア53dを含む。第1領域52aと第1コア53aとを含んで第1クラスタ55が定義され、第2領域52bと第2コア53bとを含んで第2クラスタ56が定義され、第1RAM54aを含んで第3クラスタ57が定義される。第3領域52cと第3コア53cとを含んで第4クラスタ58が定義され、第4領域52dと第4コア53dとを含んで第5クラスタ59が定義され、第2RAM54bを含んで第6クラスタ60が定義される。第1クラスタ55、第2クラスタ56及び第3クラスタ57は、連携して高性能な演算部として機能し、第4クラスタ58、第5クラスタ59及び第6クラスタ60は、連携して中性能な演算部として機能する。この場合も、外部ストレージ27を利用し、第1マイコン51のセルフリプログを行う場合に、第1ROMのメモリ領域と、外部ストレージ27のメモリ領域とを疑似的な2面メモリとして使用することで、OTAアプリが存在するメモリ領域と、ソフトウェアが存在するメモリ領域とを分離した状態で、OTAアプリを実行してソフトウェアを書換えることができる
【0073】
(その他の実施形態)
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【0074】
ファイルサーバ8からダウンロードデータをダウンロードすることで、ソフトウェアを無線で書換える場合を例示したが、ツール23がDLCコネクタ22に接続され、ツール23から送信されるダウンロードデータをDLCコネクタ22を介してダウンロードすることで、ソフトウェアを有線で書換える場合にも適用することができる。
【0075】
本開示に記載の制御部及びそのパターンは、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部及びそのパターンは、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部及びそのパターンは、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていても良い。
【符号の説明】
【0076】
図面中、1は車両用電子制御システム、13は車両用電子制御装置、24はマイコン、27は外部ストレージ(外部記憶部)、31は第1ROM(不揮発性メモリ)、31aは第1領域、31bは第2領域、32は第1プロセッサ(制御部)、32aは第1コア、32bは第2コア、33は第1RAM(内部記憶部)である。