(57)【要約】      （修正有）【課題】不揮発性メモリに、正当性のあるリプログラミングソフトが存在しない状態を防ぐことができる電子制御装置を提供する。【解決手段】電子制御装置の不揮発性メモリに記憶されたリプログラミングソフト２０を含むプログラムを、ＣＰＵによりリプログラミングソフト２０を実行して書き換えるに当たり、旧リプログラミングソフトの書込手段２１により、新リプログラミングソフトを不揮発性メモリに書込んだのち、新リプログラミングソフトの判定手段２２により、自身の正当性を判定する。正当性が判定された場合に、新リプログラミングソフトの消去手段２３により、旧リプログラミングソフトを不揮発性メモリから消去する。【選択図】図２
2018181167.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、
上記リプログラミングソフトは、
他のリプログラミングソフトを上記不揮発性メモリに書込む書込手段と、
自リプログラミングソフトの正当性を判定する判定手段と、
この判定手段により正当性が判定された場合に、他のリプログラミングソフトを上記不揮発性メモリから消去する消去手段とを含み、
第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、
上記第一のリプログラミングソフトの書込手段により、上記第二のリプログラミングソフトを上記不揮発性メモリに書込んだのち、
上記第二のリプログラミングソフトの上記判定手段により、上記第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第二のリプログラミングソフトの消去手段により、上記第一のリプログラミングソフトを上記不揮発性メモリから消去することを特徴とする電子制御装置。
【請求項２】
上記第一のリプログラミングソフトから上記第二のリプログラミングソフトへの書き換えに続いて、上記第二のリプログラミングソフトが第三のリプログラミングソフトに書き換えられる場合には、
上記第二のリプログラミングソフトの書込手段により、上記第三のリプログラミングソフトを上記不揮発性メモリの消去された上記第一のリプログラミングソフトのアドレスに書込んだのち、
上記第三のリプログラミングソフトの上記判定手段により、上記第三のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第三のリプログラミングソフトの消去手段により、上記第二のリプログラミングソフトを上記不揮発性メモリから消去することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
上記判定手段は、自リプログラミングソフトの消去手段で上記不揮発性メモリに書き込まれているアプリケーションソフトの一部を消去することにより、自リプログラミングソフトの正当性を判定することを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項４】
上記判定手段は、上記不揮発性メモリの一部に、自リプログラミングソフトの書込手段による書き込み処理を実施することにより、自リプログラミングソフトの正当性を判定することを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項５】
上記リプログラミングソフトは、管理情報を有し、
上記第二のリプログラミングソフトの判定手段は、上記第一のリプログラミングソフトと上記第二のリプログラミングソフトの管理情報の整合性を判定することにより、上記第二のリプログラミングソフトの正当性を判定することを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項６】
上記リプログラミングソフトは、管理情報を有し、
上記第三のリプログラミングソフトの判定手段は、上記第二のリプログラミングソフトと上記第三のリプログラミングソフトの管理情報の整合性を判定することにより、上記第三のリプログラミングソフトの正当性を判定することを特徴とする請求項２に記載の電子制御装置。
【請求項７】
上記判定手段は、自リプログラミングソフトの消去手段で上記不揮発性メモリに書込まれている他のリプログラミングソフトを消去する処理により、自リプログラミングソフトの正当性を判定することを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項８】
上記消去手段は、自リプログラミングソフトの判定手段により、自リプログラミングソフトに正当性がないと判定された場合には、他のリプログラミングソフトの消去を行なわないことを特徴とする請求項１から請求項７のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不揮発性メモリのアプリケーションソフトおよびリプログラミングソフトを含む全てのプログラムを書き換える電子制御装置に関するものである。
【背景技術】
【０００２】
従来より、プログラムの書き換えにおいて、プログラムが格納された不揮発性メモリを電子制御装置（以下、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ））に搭載したままのオンボード状態で書き換えることが実施されている。
プログラムの書き換えは、不揮発性メモリに書き込まれたアプリケーションソフトを書き換える場合や不揮発性メモリに書き込まれたアプリケーションソフト及びリプログラミングソフトを含む全てのプログラムを書き換える場合がある。
プログラムの書き換えは、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信等を用いて行われる。通信状態や電源状態によってリプログラミングソフトの書き換えが失敗すると不揮発性メモリに書き込まれるリプログラミングソフトが未完成で、再びＣＡＮ通信等を用いたプログラムの書き換えができなくなるという問題がある。
【０００３】
特許文献１には、揮発性メモリの容量の増大を抑制し、かつ不揮発性メモリの全ての領域のプログラム書き換えを実行するために、不揮発性メモリに書き込まれているリプログラミングソフトを起動し、起動したリプログラミングソフトとは異なる領域に新たなリプログラミングソフトを書き込むことで、通信状態や電源状態が異常であり、新たなリプログラミングソフトの書き込みが失敗した場合において、起動したリプログラミングソフトが不揮発性メモリに存在しているため、再度、プログラムの書き換えが可能とする技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２４７８号公報（第５〜８頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、通信状態や電源状態に異常がなく正常にリプログラミングソフトが書き込まれた場合であっても、新たに書き込んだリプログラミングソフトに正当性がない場合、プログラムの書き換えができなくなる。
正当性がないリプログラミングソフトとは、リプログラミングソフトに不具合が存在する場合や、通信仕様やマイコン仕様が外部装置と異なっている場合等において、ＣＡＮ通信等を用いて、再度プログラムの書き換えができないリプログラミングソフトを指す。
正当性がないリプログラミングソフトを起動して、旧リプログを削除した場合、正当性のあるリプログラミングソフトが不揮発性メモリから存在しなくなり、プログラムの書き換えができなくなるという問題がある。
【０００６】
この発明は、上述のような課題を解決するためになされたものであり、不揮発性メモリに、正当性のあるリプログラミングソフトが存在しない状態を防ぐことができる電子制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係わる電子制御装置においては、プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、リプログラミングソフトは、他のリプログラミングソフトを不揮発性メモリに書込む書込手段と、自リプログラミングソフトの正当性を判定する判定手段と、この判定手段により正当性が判定された場合に、他のリプログラミングソフトを不揮発性メモリから消去する消去手段とを含み、第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、第一のリプログラミングソフトの書込手段により、第二のリプログラミングソフトを不揮発性メモリに書込んだのち、第二のリプログラミングソフトの判定手段により、第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、第二のリプログラミングソフトの消去手段により、第一のリプログラミングソフトを不揮発性メモリから消去するものである。
【発明の効果】
【０００８】
この発明によれば、プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、リプログラミングソフトは、他のリプログラミングソフトを不揮発性メモリに書込む書込手段と、自リプログラミングソフトの正当性を判定する判定手段と、この判定手段により正当性が判定された場合に、他のリプログラミングソフトを不揮発性メモリから消去する消去手段とを含み、第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、第一のリプログラミングソフトの書込手段により、第二のリプログラミングソフトを不揮発性メモリに書込んだのち、第二のリプログラミングソフトの判定手段により、第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、第二のリプログラミングソフトの消去手段により、第一のリプログラミングソフトを不揮発性メモリから消去するので、正当性がないリプログラミングソフトを書き込んだ場合でも、再度プログラムの書き換えができるようになる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１による電子制御装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態１による電子制御装置のリプログラミングソフトを示す構成図である。
【図３】この発明の実施の形態１による電子制御装置の不揮発性メモリに記憶されたデータの状態を示す概念図である。
【図４】この発明の実施の形態１による電子制御装置のプログラム書き換え処理を示すフローチャートである。
【図５】この発明の実施の形態１による電子制御装置のプログラム書き換え処理を示す図４につづくフローチャートである。
【図６】この発明の実施の形態１による電子制御装置のプログラム書き換え処理を示す図５につづくフローチャートである。
【図７】この発明の実施の形態２による電子制御装置の不揮発性メモリに記憶されたデータの状態を示す概念図である。
【図８】この発明の実施の形態２による電子制御装置のプログラム書き換え処理を示すフローチャートである。
【図９】この発明の実施の形態２による電子制御装置のプログラム書き換え処理を示す図８につづくフローチャートである。
【図１０】この発明の実施の形態２による電子制御装置のプログラム書き換え処理を示す図９につづくフローチャートである。
【発明を実施するための形態】
【００１０】
実施の形態１．
以下、本発明の実施の形態を図に基づいて説明する。
図１は、この発明の実施の形態１による電子制御装置のハードウェア構成を示すブロック図である。
図１において、電子制御装置１は、次のように構成されている。
不揮発性メモリ１２には、アプリケーションソフトおよびリプログラミングソフトが書き込まれている。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１は、不揮発性メモリ１２のリプログラミングソフトにしたがい、不揮発性メモリ１２に書込まれたデータの書き換え処理を実行する。
揮発性メモリ１３は、外部装置から送られてくるデータを一時的に記憶する。
【００１１】
図２は、この発明の実施の形態１による電子制御装置のリプログラミングソフトを示す構成図である。
図２において、リプログラミングソフト２０は、次のような構成である。
書込手段２１は、他のリプログラミングソフトを不揮発性メモリ１２に書込む。判定手段２２は、自リプログラミングソフト２０が正当なものであるかどうかの正当性を判定する。消去手段２３は、判定手段２２により自リプログラミングソフト２０の正当性が判定された場合に、他のリプログラミングソフトを不揮発性メモリ１２から消去する。
【００１２】
図３は、この発明の実施の形態１による電子制御装置の不揮発性メモリの状態を示す図である。
図３は、書換え前の状態を示す図３（ａ）から、図３（ｂ）、図３（ｃ）、図３（ｄ）、図３（ｅ）、図３（ｆ）の状態を経由して、書換え後の状態である図３（ｇ）と、順次推移する様子を示している。
図３（ａ）は、書換え前の不揮発性メモリに記憶されたデータの状態を示す図、図３（ｂ）は、不揮発性メモリのアプリの一部が消去された状態を示す図、図３（ｃ）は、不揮発性メモリの新リプログ（第二のリプログラミングソフト）が書き込まれた状態を示す図、図３（ｄ）は、不揮発性メモリのアプリの一部が消去された状態を示す図、図３（ｅ）は、不揮発性メモリの正当性確認用データが書き込まれた状態を示す図、図３（ｆ）は、不揮発性メモリの正当性確認用データと旧リプログ（第一のリプログラミングソフト）が消去された状態を示す図、図３（ｇ）は、不揮発性メモリの新たなアプリが書き込まれた状態を示す図である。
【００１３】
次に、動作について説明する。
まず図３（ａ）は、プログラム書き換え処理を行う前の不揮発性メモリの状態を表しており、不揮発性メモリにアプリケーションソフト（以下、アプリと称す）と旧リプログラミングソフト（以下、リプログラミングソフトをリプログと称す）が書き込まれている。
次に、図４〜図６により、プログラム書き換え処理について説明する。
図４に示すように、外部装置からリプログ書き換え要求が送信され、それをＣＰＵ１１が受信すると、アプリから旧リプログにエントリーして、旧リプログを起動する。以上がステップＳ１０、ステップＳ２０である。
【００１４】
ステップＳ２０の後、図３（ｂ）に示すように、ＣＰＵ１１はアプリの一部を消去する。本実施の形態１では、新リプログを書き換えるために必要な分だけ、アプリの一部を消去する。以上がステップＳ３０である。
【００１５】
ステップＳ３０の後、ＣＰＵ１１は新リプログのダウンロード要求を外部装置に送信する。以上がステップＳ４０である。
【００１６】
ステップＳ４０の後、ＣＰＵ１１は新リプログのダウンロードを開始する。以上がステップＳ５０である。
【００１７】
ステップＳ５０にて、ＣＰＵ１１は新リプログが１ブロック分ダウンロードされるまで、新リプログをダウンロードする。以上がステップＳ６０である。
【００１８】
新リプログが１ブロック分ダウンロードされると、ＣＰＵ１１はその１ブロック分の新リプログを、ステップＳ３０でアプリの一部を消去した領域（図３（ｂ）に示す空き領域）に書き込む。以上がステップＳ７０である。
【００１９】
ステップＳ７０の後、書き込みが正常に終了したか否かを判定する。ＣＰＵ１１は正常に終了していないと判定した場合、エラー処理を行い、正常に終了したと判定した場合、ステップＳ９０に移行する。以上がステップＳ８０である。
【００２０】
ステップＳ９０に移行すると、ＣＰＵ１１は新リプログの全データが書き込まれたか否かを判定する。ＣＰＵは新リプログの全データが書き込まれていないと判定した場合、新リプログの全データが書き込まれるまで、ステップＳ４０からステップＳ９０を順次繰り返す。
これに対して、図３（ｃ）に示すように、すべての新リプログが書き込まれると、ＣＰＵ１１は新リプログの全データが書き込まれたと判定して、ステップＳ１００に移行する。以上がステップＳ９０である。
【００２１】
ステップＳ１００に移行すると、ＣＰＵ１１は新リプログの書き込み完了通知を外部装置に送信する。以上がステップＳ１００である。
なお、ＣＰＵ１１は、上述のステップＳ３０からステップＳ１００を、旧リプログにしたがって行う。
【００２２】
次に、図５のフローチャートに移り、ステップＳ１００の後、ＣＰＵ１１は新リプログを起動させる。以上がステップＳ１１０である。
【００２３】
ステップＳ１１０の後、図３（ｄ）に示すように、ＣＰＵ１１はアプリの一部を消去する。実施の形態１では、新リプログの正当性を確認するための正当性確認用データを書き換えるために必要な分だけ、アプリの一部を消去する。以上がステップＳ１２０である。
【００２４】
ステップＳ１２０の後、ＣＰＵ１１は正当性確認用データのダウンロード要求を外部装置に送信する。以上がステップＳ１３０である。
【００２５】
ステップＳ１３０の後、ＣＰＵ１１は正当性確認用データのダウンロードを開始する。以上がステップＳ１４０である。
【００２６】
ステップＳ１４０にて、ＣＰＵ１１は正当性確認用データが１ブロック分ダウンロードされるまで、正当性確認用データをダウンロードする。以上がステップＳ１５０である。
【００２７】
正当性確認用データが、１ブロック分ダウンロードされると、図３（ｅ）に示すようにＣＰＵ１１はその１ブロック分の正当性確認用データを、ステップＳ１２０でアプリの一部を消去した領域（図３（ｄ）に示す空き領域）に書き込む。以上がステップＳ１６０である。
なお、ＣＰＵ１１は、上述のステップＳ１２０からステップＳ１６０を、新リプログにしたがって行う。
【００２８】
ステップＳ１６０の後、新リプログから、新リプログの管理情報を読み出す。以上がステップＳ１７０である。
【００２９】
ステップＳ１７０の後、旧リプログから、旧リプログの管理情報を読み出す。以上がステップＳ１８０である。
【００３０】
ステップＳ１８０の後、新リプログの正当性の有無を判定する。
この正当性の判定は、ステップＳ１２０の処理が正常である場合、またはステップＳ１４０からステップＳ１６０の処理が正常である場合、またはステップＳ１７０とステップＳ１８０の処理から読み出した管理情報に含まれるマイコンの種類やアドレス情報等から、新リプログに正当性があると判定する。
このアドレス情報には、アプリの記憶された領域の先頭アドレスと終了アドレスが含まれ、これらを比較することで、新リプログの正当性を判定する。
新リプログに正当性があると判定された場合、ステップＳ２００に移行し、正当性がないと判定した場合、ステップＳ２１０に移行する。以上がステップＳ１９０である。
【００３１】
ステップＳ２００に移行すると、ＣＰＵ１１は新リプログ正当性ありの通知を外部装置に送信する。以上がステップＳ２００である。
【００３２】
ステップＳ２００の後、ＣＰＵ１１は新リプログにしたがい、図３（ｆ）に示すように正当性確認用データ領域および旧リプログの領域を消去する。以上がステップＳ２２０である。
【００３３】
ステップＳ２１０に移行すると、ＣＰＵ１１は新リプログ正当性なしの通知を外部装置に送信する。以上がステップＳ２１０である。
ステップＳ２１０の後、エラー処理を行う。
【００３４】
次に、図６のフローチャートに移る。
ステップＳ２２０の後、ＣＰＵ１１はアプリのダウンロード要求を外部装置に送信する。以上がステップＳ２３０である。
【００３５】
ステップＳ２３０の後、ＣＰＵ１１はアプリのダウンロードを開始する。以上がステップＳ２４０である。
【００３６】
ステップＳ２４０にて、ＣＰＵ１１はアプリが１ブロック分ダウンロードされるまで、アプリをダウンロードする。以上がステップＳ２５０である。
【００３７】
アプリの１ブロック分ダウンロードが完了すると、ＣＰＵ１１はその１ブロック分のアプリを、空き領域に書き込む。以上がステップＳ２６０である。
【００３８】
ステップＳ２６０の後、書き込みが正常に終了したか否かを判定する。ＣＰＵ１１は正常に終了していないと判定した場合、エラー処理を行い、正常に終了したと判定した場合、ステップＳ２８０に移行する。以上がステップＳ２７０である。
【００３９】
ステップＳ２８０に移行すると、ＣＰＵ１１はアプリの全データが書き込まれたか否かを判定する。ＣＰＵ１１はアプリの全データが書き込まれていないと判定した場合、アプリの全データが書き込まれるまで、ステップＳ２３０からステップＳ２８０を順次繰り返す。
これに対して、図３（ｇ）に示すように、すべてのアプリが書き込まれると、ＣＰＵ１１はアプリの全データが書き込まれたと判定して、ステップＳ２９０に移行する。以上がステップＳ２８０である。
【００４０】
ステップＳ２９０に移行すると、ＣＰＵ１１はアプリの書き込み完了通知を外部装置に送信する。以上がステップＳ２９０である。
以上のステップを経ることで、図３（ｇ）に示すように、新リプログとアプリが書き込まれた状態となる。
これにより、新リプログに正当性がないと判定した場合、新リプログを消去し、旧リプログを使用して、プログラムの書き換えを行うことができる。
【００４１】
実施の形態１によれば、新リプログを書き込んだ後、旧リプログを消去する前に、新リプログに正当性があることを確認するので、正当性がないリプログラミングソフトを起動して、旧リプログを削除することはなく、正当性のあるリプログラミングソフトが不揮発性メモリから存在しなくなる状態を防ぐことができる。
【００４２】
実施の形態２．
図７は、この発明の実施の形態２による電子制御装置の不揮発性メモリに記憶されたデータの状態を示す概念図である。
図７は、図３（ｆ）から、図７（ａ）、図７（ｂ）、図７（ｃ）、図７（ｄ）の状態を経由して、書換え後の状態である図７（ｅ）と、順次推移する様子を示している。
図７（ａ）は、最新リプログが書き込まれた状態を示す図、図７（ｂ）は、アプリの一部が消去された状態を示す図、図７（ｃ）は、正当性確認用データが書き込まれた状態を示す図、図７（ｄ）は、最新リプログ以外が消去された状態を示す図、図７（ｅ）は、新たなアプリが書き込まれた状態を示す図である。
【００４３】
次に、動作について説明する。
実施の形態１では、元々、アプリが書き込まれていた領域に新リプログが書き込まれ、旧リプログが書き込まれていた領域にアプリが書き込まれる。そのため、アプリが書き込まれるアドレス、および、新リプログが書き込まれるアドレスが変更となる。
【００４４】
実施の形態２は、アドレスの変更を抑制するために、アプリが書き込まれていた領域に新リプログを書き込み、新リプログに従って、旧リプログを消去した図３（ｆ）の状態の後に、旧リプログが書き込まれていた領域に最新リプログ（第三のリプログラミングソフト）を書き込む方法についてのものである。
この場合、最新リプログに従って、新リプログを消去した後に、新リプログが書き込まれていた領域にアプリを書き込む処理を行なう。
【００４５】
以下、実施の形態１の図５のステップＳ２２０の後に、図８、図９のステップＳ３００からステップＳ４９０を追加するアドレスの変更を抑制する処理について説明する。
【００４６】
まず、図８について説明する。
図５のステップＳ２２０の後、不揮発性メモリが図３（ｆ）に示す状態から、ＣＰＵ１１は新リプログを起動させる。以上がステップＳ３００である。
【００４７】
ステップＳ３００の後、ＣＰＵ１１は最新リプログのダウンロード要求を外部装置に送信する。以上がステップＳ３１０である。
【００４８】
ステップＳ３１０の後、ＣＰＵ１１は最新リプログのダウンロードを開始する。以上がステップＳ３２０である。
【００４９】
ステップＳ３２０にて、ＣＰＵ１１は最新リプログが１ブロック分ダウンロードされるまで、最新リプログをダウンロードする。以上がステップＳ３３０である。
【００５０】
最新リプログの１ブロック分ダウンロードが完了すると、ＣＰＵ１１はその１ブロック分の最新リプログを、空き領域に書き込む。以上がステップＳ３４０である。
【００５１】
ステップＳ３４０の後、書き込みが正常に終了したか否かを判定する。ＣＰＵ１１は正常に終了していないと判定した場合、エラー処理を行い、正常に終了したと判定した場合、ステップＳ３６０に移行する。以上がステップＳ３５０である。
【００５２】
ステップＳ３６０に移行すると、ＣＰＵ１１は最新リプログの全データが書き込まれたか否かを判定する。ＣＰＵ１１は最新リプログの全データが書き込まれていないと判定した場合、最新リプログの全データが書き込まれるまで、ステップＳ３１０からステップＳ３６０を順次繰り返す。
これに対して、図７（ａ）に示すように、すべての最新リプログが書き込まれると、ＣＰＵ１１は最新リプログの全データが書き込まれたと判定して、ステップＳ３７０に移行する。以上がステップＳ３６０である。
【００５３】
ステップＳ３７０に移行すると、ＣＰＵ１１は最新リプログの書き込み完了通知を外部装置に送信する。以上がステップＳ３７０である。
【００５４】
次に、図９のフローチャートに移る。
図８のステップＳ３７０の後、ＣＰＵ１１は最新リプログを起動させる。以上がステップＳ３８０である。
【００５５】
ステップＳ３８０の後、図７（ｂ）に示すように、ＣＰＵ１１はアプリの一部を消去する。
実施の形態２では、正当性を確認するための正当性確認用データを書き換えるために必要な分だけ、アプリの一部を消去する。以上がステップＳ３９０である。
【００５６】
ステップＳ３９０の後、ＣＰＵ１１は正当性確認用データのダウンロード要求を外部装置に送信する。以上がステップＳ４００である。
【００５７】
ステップＳ４００の後、ＣＰＵ１１は正当性確認用データのダウンロードを開始する。以上がステップＳ４１０である。
【００５８】
ステップＳ４１０にて、ＣＰＵ１１は正当性確認用データが１ブロック分ダウンロードされるまで、正当性確認用データをダウンロードする。以上がステップＳ４２０である。
【００５９】
正当性確認用データが１ブロック分ダウンロードされると、図７（ｃ）に示すように、ＣＰＵ１１はその１ブロック分の正当性確認用データを、ステップＳ３９０でアプリの一部を消去した領域（図７（ｂ）に示す上側の空き領域）に書き込む。以上がステップＳ４３０である。
なお、ＣＰＵ１１は上述のステップＳ３９０からステップＳ４３０を、最新リプログにしたがって行う。
【００６０】
ステップＳ４３０の後、最新リプログの管理情報を読み出す。以上がステップＳ４４０である。
【００６１】
ステップＳ４４０の後、新リプログの管理情報を読み出す。以上がステップＳ４５０である。
【００６２】
ステップＳ４５０の後、最新リプログの正当性の有無を判定する。
この正当性の判定は、ステップＳ３９０の処理が正常である場合、またはステップＳ４１０からステップＳ４３０の処理が正常である場合、またはステップＳ４４０とステップＳ４５０の処理から読み出した管理情報に含まれるマイコンの種類やアドレス情報等から、最新リプログに正当性があると判定する。
このアドレス情報には、アプリの記憶された領域の先頭アドレスと終了アドレスが含まれ、これらを比較することで、最新リプログの正当性を判定する。
最新リプログに正当性があると判定した場合、ステップＳ４７０に移行し、正当性がないと判定した場合、ステップＳ４８０に移行する。以上がステップＳ４６０である。
【００６３】
ステップＳ４７０に移行すると、ＣＰＵ１１は最新リプログ正当性ありの通知を外部装置に送信する。以上がステップＳ４７０である。
【００６４】
ステップＳ４７０の後、ＣＰＵ１１は最新リプログにしたがい、図７（ｄ）に示すように正当性確認用データ領域、アプリ領域および新リプログの領域を消去する。以上がステップＳ４９０である。
【００６５】
ステップＳ４８０に移行すると、ＣＰＵ１１は最新リプログ正当性なしの通知を外部装置に送信する。以上がステップＳ４８０である。
ステップＳ４８０の後、エラー処理を行う。
【００６６】
ステップＳ４９０の後、図１０のフローチャートにしたがい、ステップＳ２３０からステップＳ２９０を実施する。
なお、図１０のステップＳ２３０からステップＳ２９０の各ステップの処理は、図６のステップＳ２３０からステップＳ２９０の各ステップの処理と同じ処理である。
ステップＳ２９０の後、図７（ｅ）に示すように、最新リプログとアプリが書き込まれた状態となる。
【００６７】
実施の形態２によれば、旧リプログが書き込まれていた領域に最新リプログを書き込むので、リプログのアドレスの変更を行なう必要がない。
【００６８】
以上、実施の形態１、２について説明したが、上述した内容に制限されることなく、本発明の趣旨を逸脱しない範囲において、様々な変更が可能である。
たとえば、リプログの消去する領域に関して、実施の形態に制限されることなく一部または全部にしても良い。
また、正当性を判定する手段は、実施の形態１、２で述べたものに制限されることなく、消去処理、書き込み処理の領域を１ブロック以外にすること等であっても良い。
また、正当性がないと判定した場合、旧リプログを消去せず、不揮発性メモリに記憶されている状態であれば、プログラム書き換え前の状態まで復元させなくても、プログラムの書き換えが実施可能であれば問題はない。
【００６９】
なお、実施の形態２では、旧リプログ、新リプログ、最新リプログは、すべて異なるリプロプログラミングソフトとして説明したが、旧リプログと新リプログが同じリプログラミングソフト、または、新リプログと最新リプログが同じリプログラミングソフトの場合であっても、実施の形態２に含まれるものとする。
また、新リプログが旧リプログを複写したリプログラミングソフト、または、最新リプログが新リプログを複写したリプログラミングソフトの場合も、実施の形態２の趣旨から逸脱しない。
【００７０】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００７１】
１  電子制御装置、１１  ＣＰＵ、１２  不揮発性メモリ、１３  揮発性メモリ、
２０  リプログラミングソフト、２１  書込手段、２２  判定手段、２３  消去手段
【図１】
2018181167.tif 000003
【図２】
2018181167.tif 000004
【図３】
2018181167.tif 000005
【図４】
2018181167.tif 000006
【図５】
2018181167.tif 000007
【図６】
2018181167.tif 000008
【図７】
2018181167.tif 000009
【図８】
2018181167.tif 000010
【図９】
2018181167.tif 000011
【図１０】
2018181167.tif 000012
【手続補正書】
【提出日】平成30年3月5日(2018.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、
上記リプログラミングソフトは、
他のリプログラミングソフトを上記不揮発性メモリに書込む書込手段と、
自リプログラミングソフトの正当性を判定する判定手段と、
この判定手段により正当性が判定された場合に、他のリプログラミングソフトを上記不揮発性メモリから消去する消去手段とを含み、
上記判定手段は、上記不揮発性メモリに書き込まれているアプリケーションソフトの一部を、自リプログラミングソフトの消去手段で消去することにより、自リプログラミングソフトの正当性を判定し、
第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、
上記第一のリプログラミングソフトの書込手段により、上記第二のリプログラミングソフトを上記不揮発性メモリに書込んだのち、
上記第二のリプログラミングソフトの上記判定手段により、上記第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第二のリプログラミングソフトの消去手段により、上記第一のリプログラミングソフトを上記不揮発性メモリから消去することを特徴とする電子制御装置。
【請求項２】
プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、
上記リプログラミングソフトは、
他のリプログラミングソフトを上記不揮発性メモリに書込む書込手段と、
自リプログラミングソフトの正当性を判定する判定手段と、
この判定手段により正当性が判定された場合に、他のリプログラミングソフトを上記不揮発性メモリから消去する消去手段とを含み、
上記判定手段は、上記不揮発性メモリの一部に、自リプログラミングソフトの書込手段による書き込み処理を実施することにより、自リプログラミングソフトの正当性を判定し、
第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、
上記第一のリプログラミングソフトの書込手段により、上記第二のリプログラミングソフトを上記不揮発性メモリに書込んだのち、
上記第二のリプログラミングソフトの上記判定手段により、上記第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第二のリプログラミングソフトの消去手段により、上記第一のリプログラミングソフトを上記不揮発性メモリから消去することを特徴とする電子制御装置。
【請求項３】
プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、
上記リプログラミングソフトは、
他のリプログラミングソフトを上記不揮発性メモリに書込む書込手段と、
自リプログラミングソフトの正当性を判定する判定手段と、
この判定手段により正当性が判定された場合に、他のリプログラミングソフトを上記不揮発性メモリから消去する消去手段とを含み、
第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、
上記第一のリプログラミングソフトの書込手段により、上記第二のリプログラミングソフトを上記不揮発性メモリに書込んだのち、
上記第二のリプログラミングソフトの上記判定手段により、上記第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第二のリプログラミングソフトの消去手段により、上記第一のリプログラミングソフトを上記不揮発性メモリから消去するとともに、
上記リプログラミングソフトは、管理情報を有し、
上記第二のリプログラミングソフトの判定手段は、上記第一のリプログラミングソフトと上記第二のリプログラミングソフトの管理情報の整合性を判定することにより、上記第二のリプログラミングソフトの正当性を判定することを特徴とする電子制御装置。
【請求項４】
上記第一のリプログラミングソフトから上記第二のリプログラミングソフトへの書き換えに続いて、上記第二のリプログラミングソフトが第三のリプログラミングソフトに書き換えられる場合には、
上記第二のリプログラミングソフトの書込手段により、上記第三のリプログラミングソフトを上記不揮発性メモリの消去された上記第一のリプログラミングソフトのアドレスに書込んだのち、
上記第三のリプログラミングソフトの上記判定手段により、上記第三のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第三のリプログラミングソフトの消去手段により、上記第二のリプログラミングソフトを上記不揮発性メモリから消去することを特徴とする請求項１から請求項３のいずれか一項に記載の電子制御装置。
【請求項５】
プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、
上記リプログラミングソフトは、
他のリプログラミングソフトを上記不揮発性メモリに書込む書込手段と、
自リプログラミングソフトの正当性を判定する判定手段と、
この判定手段により正当性が判定された場合に、他のリプログラミングソフトを上記不揮発性メモリから消去する消去手段とを含み、
第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、
上記第一のリプログラミングソフトの書込手段により、上記第二のリプログラミングソフトを上記不揮発性メモリに書込んだのち、
上記第二のリプログラミングソフトの上記判定手段により、上記第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第二のリプログラミングソフトの消去手段により、上記第一のリプログラミングソフトを上記不揮発性メモリから消去し、
上記第一のリプログラミングソフトから上記第二のリプログラミングソフトへの書き換えに続いて、上記第二のリプログラミングソフトが第三のリプログラミングソフトに書き換えられる場合には、
上記第二のリプログラミングソフトの書込手段により、上記第三のリプログラミングソフトを上記不揮発性メモリの消去された上記第一のリプログラミングソフトのアドレスに書込んだのち、
上記第三のリプログラミングソフトの上記判定手段により、上記第三のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、上記第三のリプログラミングソフトの消去手段により、上記第二のリプログラミングソフトを上記不揮発性メモリから消去するとともに、
上記リプログラミングソフトは、管理情報を有し、
上記第三のリプログラミングソフトの判定手段は、上記第二のリプログラミングソフトと上記第三のリプログラミングソフトの管理情報の整合性を判定することにより、上記第三のリプログラミングソフトの正当性を判定することを特徴とする電子制御装置。
【請求項６】
上記消去手段は、自リプログラミングソフトの判定手段により、自リプログラミングソフトに正当性がないと判定された場合には、他のリプログラミングソフトの消去を行なわないことを特徴とする請求項１から請求項５のいずれか一項に記載の電子制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
この発明に係わる電子制御装置においては、プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、リプログラミングソフトは、他のリプログラミングソフトを不揮発性メモリに書込む書込手段と、自リプログラミングソフトの正当性を判定する判定手段と、この判定手段により正当性が判定された場合に、他のリプログラミングソフトを不揮発性メモリから消去する消去手段とを含み、判定手段は、不揮発性メモリに書き込まれているアプリケーションソフトの一部を、自リプログラミングソフトの消去手段で消去することにより、自リプログラミングソフトの正当性を判定し、第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、第一のリプログラミングソフトの書込手段により、第二のリプログラミングソフトを不揮発性メモリに書込んだのち、第二のリプログラミングソフトの判定手段により、第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、第二のリプログラミングソフトの消去手段により、第一のリプログラミングソフトを不揮発性メモリから消去するものである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
この発明によれば、プログラムを書き換えるリプログラミングソフトを含む不揮発性メモリのプログラムを、ＣＰＵによりリプログラミングソフトを実行して書き換える電子制御装置であって、リプログラミングソフトは、他のリプログラミングソフトを不揮発性メモリに書込む書込手段と、自リプログラミングソフトの正当性を判定する判定手段と、この判定手段により正当性が判定された場合に、他のリプログラミングソフトを不揮発性メモリから消去する消去手段とを含み、判定手段は、不揮発性メモリに書き込まれているアプリケーションソフトの一部を、自リプログラミングソフトの消去手段で消去することにより、自リプログラミングソフトの正当性を判定し、第一のリプログラミングソフトが第二のリプログラミングソフトに書き換えられる場合には、第一のリプログラミングソフトの書込手段により、第二のリプログラミングソフトを不揮発性メモリに書込んだのち、第二のリプログラミングソフトの判定手段により、第二のリプログラミングソフトの正当性を判定し、正当性が判定された場合に、第二のリプログラミングソフトの消去手段により、第一のリプログラミングソフトを不揮発性メモリから消去するので、正当性がないリプログラミングソフトを書き込んだ場合でも、再度プログラムの書き換えができるようになる。