(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165411
(43)【公開日】2024-11-28
(54)【発明の名称】電子制御装置
(51)【国際特許分類】
G06F 8/65 20180101AFI20241121BHJP
B60R 16/02 20060101ALN20241121BHJP
【FI】
G06F8/65
B60R16/02 660U
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023081592
(22)【出願日】2023-05-17
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】中井 将貴
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA39
5B376GA08
(57)【要約】
【課題】外部からソフトウェアを書き換え可能な複数のマイクロコンピュータを備える電子制御装置について、ソフトウェアの書き換え処理の完了後に、ソフトウェアが正常に書き換えられたか否かを精度良く確認できるようにした技術案を提供する。
【解決手段】外部からソフトウェアを書き換え可能な複数のマイクロコンピュータ20,30を備える電子制御装置10は、複数の前記マイクロコンピュータにより制御される複数の制御領域について、それぞれ識別番号が設定されており、複数の前記マイクロコンピュータに対するソフトウェアの書き換え処理の完了後に前記識別番号が整合しているか否かを確認する確認処理部41と、前記確認処理部により前記識別番号が整合していることが確認された場合に、ソフトウェアが正常に書き換えられたと判定する判定処理部42と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
外部からソフトウェアを書き換え可能な複数のマイクロコンピュータ(20,30)を備える電子制御装置であって、
複数の前記マイクロコンピュータにより制御される複数の制御領域について、それぞれ識別番号が設定されており、
複数の前記マイクロコンピュータに対するソフトウェアの書き換え処理の完了後に前記識別番号が整合しているか否かを確認する確認処理部(41)と、
前記確認処理部により前記識別番号が整合していることが確認された場合に、ソフトウェアが正常に書き換えられたと判定する判定処理部(42)と、
を備える電子制御装置。
【請求項2】
複数の前記制御領域として第1制御領域および第2制御領域を有し、
前記第1制御領域について前記第2制御領域に影響する変更が加えられた場合に、前記第1制御領域の識別番号が更新されるとともに、前記第2制御領域において前記第1制御領域の識別番号として保持されている数値が更新後の前記第1制御領域の識別番号に更新される請求項1に記載の電子制御装置。
【請求項3】
前記第1制御領域は、複数の前記マイクロコンピュータのうち第1マイクロコンピュータに設けられ、
前記第2制御領域は、複数の前記マイクロコンピュータのうち第2マイクロコンピュータに設けられており、
前記第1マイクロコンピュータの前記第1制御領域について前記第2マイクロコンピュータの前記第2制御領域に影響する変更が加えられた場合に、前記第1マイクロコンピュータの前記第1制御領域の識別番号が更新されるとともに、前記第2マイクロコンピュータの前記第2制御領域において前記第1制御領域の識別番号として保持されている数値が更新後の前記第1制御領域の識別番号に更新される請求項2に記載の電子制御装置。
【請求項4】
前記確認処理部により前記識別番号が整合していないことが確認された場合に、書き換え後のソフトウェアを書き換え前のソフトウェアに戻すロールバック処理を実行するロールバック処理部(43)を備える請求項1に記載の電子制御装置。
【請求項5】
前記確認処理部により前記識別番号が整合していないことが確認された場合に、ソフトウェアの書き換え処理を再度実行するリトライ処理部(44)を備える請求項1に記載の電子制御装置。
【請求項6】
前記確認処理部により前記識別番号が整合していないことが確認された場合に、書き換え後のソフトウェアを書き換え前のソフトウェアに戻すロールバック処理を実行するロールバック処理部(43)と、
前記確認処理部により前記識別番号が整合していないことが確認された場合に、ソフトウェアの書き換え処理を再度実行するリトライ処理部(44)と、
を備え、
前記リトライ処理部は、前記ロールバック処理部による前記ロールバック処理の完了後にソフトウェアの書き換え処理を再度実行する請求項1に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータを備える電子制御装置に関する。
【背景技術】
【0002】
例えば車両などに搭載される電子制御装置は、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータを備えている(例えば、特許文献1,2を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-175947号公報
【特許文献2】特開2012-242900号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のマイクロコンピュータに対するソフトウェアの書き換え処理を行った場合、その書き換え処理の完了後に、ソフトウェアが正常に書き換えられたか否かを確認することで信頼性の向上を図ることができる。
【0005】
本開示は、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータを備える電子制御装置について、ソフトウェアの書き換え処理の完了後に、ソフトウェアが正常に書き換えられたか否かを精度良く確認できるようにした技術案を提供する。
【課題を解決するための手段】
【0006】
本開示に係る電子制御装置10は、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータ20,30を備える電子制御装置であって、複数の前記マイクロコンピュータにより制御される複数の制御領域について、それぞれ識別番号が設定されており、複数の前記マイクロコンピュータに対するソフトウェアの書き換え処理の完了後に前記識別番号が整合しているか否かを確認する確認処理部41と、前記確認処理部により前記識別番号が整合していることが確認された場合に、ソフトウェアが正常に書き換えられたと判定する判定処理部42と、を備える。
【0007】
本開示によれば、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータ20,30を備える電子制御装置10について、ソフトウェアの書き換え処理の完了後にソフトウェアが正常に書き換えられたか否かを、複数の制御領域にそれぞれ設定されている識別番号が整合しているか否かに基づいて精度良く確認することができる。
【図面の簡単な説明】
【0008】
【
図1】本開示の一実施形態に係る電子制御装置の構成例を概略的に示すブロック図
【
図2】本開示の一実施形態に係る電子制御装置の制御系の構成例を概略的に示すブロック図
【
図3】本開示の一実施形態に係る電子制御装置による制御例を説明するものであって、ソフトウェアの書き換え処理の完了後において識別番号が整合している状態を例示する図
【
図4】本開示の一実施形態に係る電子制御装置による制御例を説明するものであって、ソフトウェアの書き換え処理の完了後において識別番号が整合していない状態を例示する図
【
図5】本開示の一実施形態に係る電子制御装置による制御フローを例示するフローチャート
【
図6】本開示の一実施形態に係る電子制御装置による識別番号チェック処理を例示するフローチャート
【発明を実施するための形態】
【0009】
以下、本開示の電子制御装置に係る一実施形態について図面を参照しながら説明する。
図1に例示する電子制御装置10は、ECU(Electronic Control Unit)などと称されるものであり、例えば車両などに搭載される。本実施形態では、電子制御装置10は、動力源としてエンジンとモータを備える車両、いわゆる「ハイブリッド車両」に搭載されているものとする。電子制御装置10は、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータ20,30を備えている。
【0010】
マイクロコンピュータ20は、この場合、ハイブリッド車両の駆動を制御可能に構成されているHEVマイコン(HEV:Hybrid Electric Vehicle)である。以下、マイクロコンピュータ20を単に「マイコン20」と称する場合がある。マイクロコンピュータ30は、この場合、ハイブリッド車両のエンジン点火に必要な燃料噴射を制御可能に構成されているEFIマイコン(EFI:Electronic Fuel Injection)である。以下、マイクロコンピュータ30を単に「マイコン30」と称する場合がある。
【0011】
マイコン20は、複数、この場合、少なくとも2つのバンク20A,20Bを備えている。バンク20Aおよびバンク20Bには、それぞれ各種のソフトウェアを書き込み可能である。バンク20Aおよびバンク20Bのうち外部からソフトウェアの書き換え処理が行われているバンクは、非稼働面となり、外部からの書き換え処理の完了後に稼働面となる。よって、マイコン20は、例えばバンク20Aに対し外部からソフトウェアの書き換え処理が行われている間は、バンク20Aが非稼働面となり、バンク20Bが稼働面となる構成である。
【0012】
マイコン30は、複数、この場合、少なくとも2つのバンク30A,30Bを備えている。バンク30Aおよびバンク30Bには、それぞれ各種のソフトウェアを書き込み可能である。バンク30Aおよびバンク30Bのうち外部からソフトウェアの書き換え処理が行われているバンクは、非稼働面となり、外部からの書き換え処理の完了後に稼働面となる。よって、マイコン30は、例えばバンク30Aに対し外部からソフトウェアの書き換え処理が行われている間は、バンク30Aが非稼働面となり、バンク30Bが稼働面となる構成である。
【0013】
マイコン20には、当該マイコン20により制御される多数の制御領域が割り当てられている。制御領域は、マイコン20が制御を担当する制御対象や制御項目などと定義することもできる。本実施形態では、マイコン20には、システム制御領域、走行制御領域、イモビライザ制御領域、四輪駆動制御領域、補機制御領域が割り当てられている。
【0014】
システム制御領域は、電子制御装置10が実現する制御システム全体の制御を担う領域である。走行制御領域は、電子制御装置10が搭載されている車両の走行全般の制御を担う領域である。イモビライザ制御領域は、電子制御装置10が搭載されている車両のイモビライザシステムの制御を担う領域である。イモビライザシステムは、周知の通り、電子的なキーの照合によりエンジンの始動などを制御するシステム、いわゆる盗難防止システムである。四輪駆動制御領域は、電子制御装置10が搭載されている車両の四輪駆動による走行の制御を担う領域である。補機制御領域は、電子制御装置10が搭載されている車両が実装している各種の補機の制御を担う領域である。補機は、例えば、エンジンを作動させるために必要な機器類であり、オイルポンプ、ウォータポンプ、オルタネータ、ラジエータなどが該当する。なお、補機は、これらに限られるものではない。
【0015】
マイコン20により制御される多数の制御領域には、それぞれ識別番号が設定されている。この場合、システム制御領域の識別番号として例えば数値「1」が設定され、走行制御領域の識別番号として例えば数値「2」が設定され、イモビライザ制御領域の識別番号として例えば数値「3」が設定され、四輪駆動制御領域の識別番号として例えば数値「4」が設定され、補機制御領域の識別番号として例えば数値「5」が設定されている。
【0016】
マイコン30には、当該マイコン30により制御される多数の制御領域が割り当てられている。制御領域は、マイコン30が制御を担当する制御対象や制御項目などと定義することもできる。本実施形態では、マイコン30には、EOBD制御領域(EOBD:Engine On-Board Diagnostics)、ばね上制振領域が割り当てられている。
【0017】
EOBD制御領域は、電子制御装置10が搭載されている車両のエンジンについて故障を診断可能に構成されている車載式故障診断システムの制御を担う領域である。ばね上制振領域は、電子制御装置10が搭載されている車両のうち主としてサスペンションよりも上側における振動の制御を担う領域である。
【0018】
マイコン30により制御される多数の制御領域には、それぞれ関連性が強い制御領域に設定されている識別番号が保持されている。この場合、EOBD制御領域には、当該EOBD制御領域に関連性が強いイモビライザ制御領域の識別番号である例えば数値「3」が保持されている。ばね上制振領域には、当該ばね上制振領域に関連性が強い補機制御領域の識別番号である例えば数値「5」が保持されている。
【0019】
図2に例示するように、電子制御装置10は、制御プログラムを実行することにより、確認処理部41、判定処理部42、ロールバック処理部43、リトライ処理部44をソフトウェアにより仮想的に実現している。確認処理部41、判定処理部42、ロールバック処理部43、リトライ処理部44は、ハードウェアにより実現されていてもよいし、ソフトウェアとハードウェアの組み合わせにより実現されていてもよい。
【0020】
確認処理部41は、確認処理を実行可能である。確認処理は、複数のマイクロコンピュータ20,30に対するソフトウェアの書き換え処理の完了後に識別番号が整合しているか否かを確認する処理である。
【0021】
判定処理部42は、判定処理を実行可能である。判定処理は、確認処理部41により識別番号が整合していることが確認された場合に、ソフトウェアが正常に書き換えられたと判定する処理である。また、判定処理は、確認処理部41により識別番号が整合していることが確認されなかった場合に、ソフトウェアが正常に書き換えられなかったと判定する処理である。
【0022】
ロールバック処理部43は、ロールバック処理を実行可能である。ロールバック処理は、確認処理部41により識別番号が整合していないことが確認された場合に、書き換え後のソフトウェアを書き換え前のソフトウェアに戻す処理である。
【0023】
リトライ処理部44は、リトライ処理を実行可能である。リトライ処理は、確認処理部41により識別番号が整合していないことが確認された場合に、ソフトウェアの書き換え処理を再度実行する処理である。本実施形態では、リトライ処理部44は、ロールバック処理部43によるロールバック処理の完了後にソフトウェアの書き換え処理を再度実行するように構成されている。
【0024】
次に、上述した確認処理、判定処理、ロールバック処理、リトライ処理を含む電子制御装置10による制御フローの一例について説明する。本実施形態では、マイコン20が第1マイクロコンピュータの一例であり、当該マイコン20に設けられている各種の制御領域がそれぞれ第1制御領域の一例であるものとする。また、マイコン30が第2マイクロコンピュータの一例であり、当該マイコン30に設けられている各種の制御領域がそれぞれ第2制御領域の一例であるものとする。
【0025】
電子制御装置10は、当該電子制御装置10の外部からソフトウェアの書き換え命令を受信すると、まず、バンク20A,30Aに書き込まれている書き換え前のソフトウェアの複製をバンク20B,バンク30Bに保存する。そして、電子制御装置10は、バンク20A,30Aに書き込まれているソフトウェアに対し書き換え処理を実行する。つまり、電子制御装置10は、バンク20A,30Aに書き込まれている旧バージョンのソフトウェアを新バージョンのソフトウェアに書き換える。
【0026】
この書き換え処理の完了後においては、ソフトウェアが正常に書き換えられた場合と、ソフトウェアが正常に書き換えられなかった場合と、が発生し得る。
【0027】
図3には、書き換え処理の完了後においてソフトウェアが正常に書き換えられた場合を例示している。この場合、ソフトウェアの書き換え処理により、マイコン20のイモビライザ制御領域について、マイコン30のEOBD制御領域に影響する変更が加えられている。そのため、マイコン20のバンク20Aのソフトウェアは、イモビライザ制御領域の識別番号が数値「3」から数値「6」に更新されたソフトウェアに書き換えられている。また、マイコン30のバンク30Aのソフトウェアは、EOBD制御領域においてイモビライザ制御領域の識別番号として保持している数値「3」が数値「6」に更新されたソフトウェアに書き換えられている。
【0028】
ソフトウェアの書き換え処理の完了後において、確認処理部41は、マイコン20のイモビライザ制御領域に保持されている識別番号と、マイコン30のEOBD制御領域に保持されているイモビライザ制御領域の識別番号と、が整合しているか否かを確認する。この場合、マイコン20のイモビライザ制御領域に保持されている識別番号である数値「6」と、マイコン30のEOBD制御領域に保持されているイモビライザ制御領域の識別番号である数値「6」と、が一致つまり整合している。そのため、判定処理部42は、マイコン20およびマイコン30に対するソフトウェアの書き換え処理が正常に完了したと判定する。
【0029】
図4には、書き換え処理の完了後においてソフトウェアが正常に書き換えられなかった場合を例示している。この場合、ソフトウェアの書き換え処理により、マイコン20の補機制御領域について、マイコン30のばね上制振制御に影響する変更が加えられている。そのため、マイコン20のバンク20Aのソフトウェアは、補機制御領域の識別番号が数値「5」から数値「7」に更新されたソフトウェアに書き換えられている。このとき、マイコン30のバンク30Aのソフトウェアは、ばね上制振制御領域において補機制御領域の識別番号として保持されている数値「5」が更新後の補機制御領域の識別番号である数値「7」に更新されたソフトウェアに書き換えられていれば、正しくソフトウェアが書き換えられたと判定することができる。しかしながら、
図4の例では、何らかのエラーが発生したため、マイコン30のばね上制振制御領域において補機制御領域の識別番号として保持されている数値「5」が、本来あるべきである数値「7」に更新されておらずそのままになっている。
【0030】
この状況においては、マイコン20の補機制御領域に保持されている識別番号である数値「7」と、マイコン30のばね上制振領域に保持されている補機制御領域の識別番号である数値「5」と、が整合しておらず不一致となっている。そのため、確認処理部41は、マイコン20の補機制御領域に保持されている識別番号と、マイコン30のばね上制振領域に保持されている補機制御領域の識別番号と、が整合していることを確認することができない。よって、判定処理部42は、マイコン20およびマイコン30に対するソフトウェアの書き換え処理が正常に完了していないと判定する。
【0031】
リトライ処理部44は、確認処理部41により識別番号が整合していないことが確認された場合には、電子制御装置10が搭載されている車両が動作中であるか否かを確認する。電子制御装置10が搭載されている車両が動作中であるか否かは、例えば、車両のイグニッションスイッチのオン状態/オフ状態に基づいて確認することができる。つまり、車両のイグニッションスイッチがオン状態であれば車両が動作中であると判断することができる。一方、車両のイグニッションスイッチがオフ状態であれば車両が動作中でないと判断することができる。
【0032】
リトライ処理部44は、車両が動作中でない場合には、上述したリトライ処理を例えば即座に開始する。リトライ処理部44は、確認処理部41により識別番号が整合していることが確認されるまでリトライ処理を繰り返す。リトライ処理部44は、リトライ処理を所定回数繰り返しても確認処理部41により識別番号が整合していることが確認されなかった場合には、例えばエラー報知処理を実行する。
【0033】
リトライ処理部44は、車両が動作中である場合には、ロールバック処理部43により上述したロールバック処理を例えば即座に開始する。これにより、電子制御装置10は、書き換え前のソフトウェアに基づいて動作中の車両を制御することができる。そして、リトライ処理部44は、その後、車両が動作中でない状態になると、上述したリトライ処理を例えば即座に開始する。リトライ処理部44は、確認処理部41により識別番号が整合していることが確認されるまでリトライ処理を繰り返す。リトライ処理部44は、リトライ処理を所定回数繰り返しても確認処理部41により識別番号が整合していることが確認されなかった場合には、例えばエラー報知処理を実行する。
【0034】
リトライ処理を繰り返す回数は、適宜変更して設定することができる。エラー報知処理は、例えばナビゲーション装置などといった車両に搭載されている機器類からの音声出力や画面表示などにより、ソフトウェアの書き換えが正常に行われなかったことを使用者に報知する処理である。
【0035】
次に、上述した電子制御装置10による制御フローの一例について、
図5に例示するフローチャートを参照しながら説明する。電子制御装置10は、外部からソフトウェアの書き換え命令を受信すると、書き換え前のソフトウェアの複製を保存して、マイクロコンピュータ20,30に対するソフトウェアの書き換え処理を開始する。
【0036】
電子制御装置10は、ソフトウェアの書き換え処理を完了すると(ステップA1)、識別番号チェック処理を実行する(ステップA2)。
図6に例示するように、識別番号チェック処理は、複数のマイクロコンピュータ20,30に設けられている全ての制御領域の識別番号について、整合しているか否か、換言すれば、不整合が発生していないか否かを確認する全制御領域チェック処理となっている。
【0037】
より詳細に説明すると、電子制御装置10は、関連性の強い制御領域間で識別番号の不整合が発生しているか否かを確認する(ステップB1)。電子制御装置10は、全ての制御領域のうち1つでも識別番号の不整合が発生している場合(ステップB1にて「YES」)には、その不整合が発生している制御領域を記憶して(ステップB2)、この識別番号チェック処理を終了する。電子制御装置10は、全ての制御領域について識別番号の不整合が発生していない場合(ステップB1にて「NO」)には、この識別番号チェック処理を終了する。
【0038】
図5に例示するように、電子制御装置10は、識別番号チェック処理の結果、全ての制御領域について識別番号の不整合が発生していない場合(ステップA3にて「NO」)には、この制御フローを終了する。電子制御装置10は、識別番号チェック処理の結果、全ての制御領域のうち1つでも識別番号の不整合が発生している場合(ステップA3にて「YES」)には、車両が動作中であるか否かを確認する(ステップA4)。
【0039】
電子制御装置10は、車両が動作中である場合(ステップA4にて「YES」)には、書き換え後のソフトウェアが書き換え前のソフトウェアにロールバックつまり戻されたか否かを確認する(ステップA5)。電子制御装置10は、書き換え後のソフトウェアが書き換え前のソフトウェアにロールバックされた場合(ステップA5にて「YES」)には、この制御フローを終了する。
【0040】
電子制御装置10は、書き換え後のソフトウェアが書き換え前のソフトウェアにロールバックされていない場合(ステップA5にて「NO」)には、上述したロールバック処理を実行する(ステップA6)。電子制御装置10は、ロールバック処理を完了すると、書き換え後のソフトウェアが書き換え前のソフトウェアにロールバックしたことを記憶して(ステップA7)、ステップA4に移行する。
【0041】
電子制御装置10は、車両が動作中でない場合(ステップA4にて「NO」)には、上述したリトライ処理を実行する(ステップA8)。このリトライ処理において、電子制御装置10は、識別番号の不整合が発生していない制御領域を含む全ての制御領域について書き換え処理を再実行するようにしてもよいし、少なくとも識別番号の不整合が発生している制御領域について書き換え処理を再実行するようにしてもよい。識別番号の不整合が発生している制御領域は、
図6のステップB2において記憶した情報に基づいて特定することができる。
【0042】
なお、電子制御装置10は、書き換え後のソフトウェアを書き換え前のソフトウェアにロールバック(ステップA5にて「YES」)して、この制御フローを終了した後においては、車両が動作中でないことを条件に、ステップA8と同様のリトライ処理を実行可能である。
【0043】
本開示に係る電子制御装置10によれば、複数のマイクロコンピュータ20,30により制御される複数の制御領域について、それぞれ識別番号が設定されている。電子制御装置10は、複数のマイクロコンピュータ20,30に対するソフトウェアの書き換え処理の完了後に、確認処理部41により、識別番号が整合しているか否かを確認する。電子制御装置10は、確認処理部41により識別番号が整合していることが確認された場合には、判定処理部42により、ソフトウェアが正常に書き換えられたと判定する。
【0044】
この構成例によれば、外部からソフトウェアを書き換え可能な複数のマイクロコンピュータ20,30を備える電子制御装置10について、ソフトウェアの書き換え処理の完了後にソフトウェアが正常に書き換えられたか否かを、複数の制御領域にそれぞれ設定されている識別番号が整合しているか否かに基づいて精度良く確認することができる。
【0045】
電子制御装置10によれば、マイクロコンピュータ20の制御領域についてマイクロコンピュータ30の制御領域に影響する変更が加えられた場合には、マイクロコンピュータ20、マイクロコンピュータ30にはそれぞれ制御領域の識別番号が更新されたソフトウェアが書き込まれる。この構成例によれば、一方のマイクロコンピュータ20の制御領域に発生した識別番号の変更を他のマイクロコンピュータ30に保持されている識別番号に確実に反映させることができる。これにより、ソフトウェアの書き換え処理の完了後において複数のマイクロコンピュータ20,30間で識別番号が整合している状態を一層形成しやすくすることができる。
【0046】
電子制御装置10によれば、確認処理部41により識別番号が整合していないことが確認された場合には、ロールバック処理部43により、書き換え後のソフトウェアを書き換え前のソフトウェアに戻す。この構成例によれば、ソフトウェアの書き換え処理の完了後において識別番号の不整合が発生している場合、つまり、ソフトウェアが正常に書き換えられていない場合には、書き換え前のソフトウェアに基づいて電子制御装置10による車両制御を継続することができる。
【0047】
電子制御装置10によれば、確認処理部41により識別番号が整合していないことが確認された場合には、リトライ処理部44により、ソフトウェアの書き換え処理を再度実行する。この構成例によれば、ソフトウェアの書き換え処理の完了後において識別番号の不整合が発生している場合、つまり、ソフトウェアが正常に書き換えられていない場合には、ソフトウェアの書き換え処理を再度実行することにより、識別番号が整合した状態、つまり、ソフトウェアが正常に書き換えられた状態の実現を図ることができる。
【0048】
ソフトウェアの書き換え処理の完了後に識別番号の不整合が発生している場合であって、且つ、車両が動作中である場合には、その書き換え後のソフトウェアに基づく車両制御の継続は避けるべきである。
【0049】
電子制御装置10によれば、ロールバック処理部43によるロールバック処理の完了後に、リトライ処理部44によるソフトウェアの書き換え処理を再度実行する。この構成例によれば、ソフトウェアの書き換え処理の完了後において識別番号の不整合が発生している場合、つまり、ソフトウェアが正常に書き換えられていない場合には、まずは、書き換え前のソフトウェアにロールバックして電子制御装置10による車両制御を継続することができる。そして、ソフトウェアの再書き換え処理は、ソフトウェアのロールバック処理の完了後であって車両が動作中ではない状態となったことを条件に開始することができ、電子制御装置10による車両制御に影響を及ぼすことなくソフトウェアの再書き換えを行うことができる。
【0050】
なお、本開示は、上述した一実施形態に限定されず、その要旨を逸脱しない範囲において、適宜、変形や拡張などを行うことができる。例えば、マイコン20に割り当てられる制御領域は、上述した制御領域に限られず、その他の制御領域であってもよい。マイコン30に割り当てられる制御領域も、上述した制御領域に限られず、その他の制御領域であってもよい。
【0051】
電子制御装置10が備えるマイクロコンピュータは、HEVマイコンやEFIマイコンに限られず、その他のマイクロコンピュータであってもよい。電子制御装置10が備えるマイクロコンピュータは、2つに限られず、3つ以上の複数であってもよい。本実施形態において示した識別番号の数値は、あくまでも例示であり、適宜変更して設定することができる。
【0052】
なお、本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【0053】
また、本開示に記載の制御部およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部およびその手法は、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記憶媒体に記憶されていても良い。
【符号の説明】
【0054】
図面において、10は電子制御装置、20はマイクロコンピュータ(第1マイクロコンピュータ)、30はマイクロコンピュータ(第2マイクロコンピュータ)、41は確認処理部、42は判定処理部、43はロールバック処理部、44はリトライ処理部を示す。