(57)【要約】【課題】プログラム更新対象の電子制御装置の記憶プログラムを更新支援できるようにした車両用電子制御装置、及び制御プログラムを提供する。【解決手段】電子制御装置の制御部がフラッシュＲＯＭの裏面の記憶領域Ｒｂを圧縮して情報格納可能領域Ｒｂａを確保し、更新対象の電子制御装置内の既存のプログラムＭ５ｂとセンタ装置から取得する差分ファイルＭ４ｂを情報格納可能領域Ｒｂａに一時的に記憶させる。すなわち、フラッシュＲＯＭの裏面の記憶領域Ｒｂのうちの情報格納可能領域Ｒｂａは、更新対象の電子制御装置の既存のプログラムＭ５ｂのバックアップ領域として用いられる。【選択図】図９
2014191574.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの更新対象となる電子制御装置（２１，２２）はプログラムを記憶する第１記憶部（２１ａ，２２ａ）を備え、前記第１記憶部（２１ａ，２２ａ）はプログラム書換処理時のバックアップメモリ領域を確保不能であり、
センタ装置（１７）は前記更新対象の電子制御装置（２１，２２）の第１記憶部（２１ａ，２２ａ）に記憶されるプログラムの更新データを送信する装置であるときに、
前記更新対象の電子制御装置（２１ａ，２２ａ）の第１記憶部（２１ａ，２２ａ）のプログラムを更新支援する車両用電子制御装置（１）であって、
前記更新対象となる電子制御装置（２１，２２）との間で通信可能にする通信制御部（１０）と、
通常時に表面の第１記憶領域（Ｒａ）及び裏面の第２記憶領域（Ｒｂ）に同一プログラムをミラーリングしてそれぞれ記憶する第２記憶部（４）と、
前記第２記憶部（４）の第１及び第２記憶領域（Ｒａ及びＲｂ）の記憶内容を制御する制御部（２）と、を備え、
前記制御部（２）は、
前記第１及び第２の記憶領域（Ｒａ及びＲｂ）の何れかの記憶領域に記憶されミラーリングされた何れかの情報を圧縮する圧縮手段（１０１）と、
前記圧縮手段（１０１）により圧縮された圧縮記憶領域以外に確保された情報格納可能領域（Ｒｂａ）について、前記更新対象の電子制御装置（２１，２２）のプログラム（Ｍ５ｂ）および前記センタ装置（１７）から送信されるプログラムの更新用データ（Ｍ４ｂ）を一時的に格納するための領域として記憶制御する記憶制御手段（１０２）と、
前記記憶制御手段（１０２）により記憶制御される前記電子制御装置（２１，２２）のプログラム（Ｍ５ｂ）及び前記プログラムの更新用データ（Ｍ４ｂ）を用いてプログラムを更新指示する更新指示手段（１０３）と、を備えることを特徴とする車両用電子制御装置。
【請求項２】
請求項１記載の車両用電子制御装置（１）の制御部（２）に、
第１及び第２の記憶領域（Ｒａ及びＲｂ）の何れかの記憶領域に記憶されミラーリングされた何れかの情報を圧縮する手順と、
圧縮された記憶領域以外に確保された情報格納可能領域（Ｒｂａ）を、更新対象の電子制御装置（２１，２２）のプログラム（Ｍ５ｂ）および前記センタ装置（１７）から送信されるプログラムの更新用データ（Ｍ４ｂ）を一時的に格納するための領域として記憶制御する手順と、
を実行させることを特徴とする車両用電子制御装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センタ装置から送信されるプログラムを書込むことでプログラムを更新する車両用電子制御装置、及び制御プログラムに関する。
【背景技術】
【０００２】
この種の車両用電子制御装置（ＥＣＵ：Electronic Control Uni）は、従来、外部の機器がプログラムの更新データを電子制御装置に書込むことでプログラムを更新する。また、車両外部に設置された遠隔のセンタ装置がネットワークを通じてプログラムを更新する技術が提供されている。
【０００３】
このような場合、ユーザがプログラム更新中に車両電源を遮断する操作を行ってしまうとプログラムの更新処理を失敗してしまう。そこで、プログラム更新失敗を防ぐため不揮発性記憶手段を備え、当該不揮発性記憶手段が同じプログラムを２重化して記憶する。すると、プログラム更新処理中に電源が遮断されたときでも、不揮発性記憶手段に記憶されたプログラムを用いて復旧できるようになる（例えば、特許文献１参照）。
【０００４】
この特許文献１記載の装置は、更新用にプログラムを表面、裏面に２重化して不揮発的に記憶させ起動時にプログラムの整合性をチェックしている。装置が整合性をチェックするときにはバージョン情報の等否を判定すると共に、プログラム領域のチェックサムの計算値が保存されたチェックサムと等しいか否か判定する。プログラム領域のチェックサムの計算値が両面共に正常であり、表面および裏面のバージョンが同一であれば、表面のプログラムを使用し、バージョンが異なっていれば新たなバージョンのプログラムで古いバージョンのプログラムを書換えている。
【０００５】
また、装置がプログラム更新中に電源遮断などの影響に応じて当該プログラムの記憶異常を生じたときには、更新中のプログラム領域とは異なる他の面のプログラム領域からプログラムを読込み、記憶異常を生じた面にプログラムを書込む。すると、正常なプログラムを保持できる。これにより、何れか一面のプログラムに異常を生じたとしても、正常なプログラムに復旧させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２７００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、電子制御装置が自身のプログラムを書換処理するときにバックアップメモリ領域を備えていないときにはこの方法を採用できない。また、バックアップメモリ領域を増設することなくメモリを効率的に活用することが望まれている。
【０００８】
発明者らは、車両用の電子制御装置は車両用ネットワークを通じて他の電子制御装置と接続されているため、他の電子制御装置に搭載される記憶部を一時的に利用する方法を考えた。しかし、この種の記憶部は表面および裏面に常に同一情報をミラーリングするようになっており、一方の面に障害を生じたときに他方の面をコピー利用することで情報を復帰できる。このため電子制御装置の記憶部を有効利用できない。
【０００９】
本発明の目的は、更新指示を行う電子制御装置の記憶部を有効活用できるようにし、プログラム更新対象の電子制御装置の記憶プログラムを更新支援できるようにした車両用電子制御装置、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、プログラム更新対象となる電子制御装置がプログラムを記憶する第１記憶部を備え、この第１記憶部はプログラム書換処理時のバックアップメモリ領域を確保不能であり、センタ装置は更新対象の電子制御装置の第１記憶部に記憶されるプログラムの更新データを送信する装置であることを前提とし、更新対象の電子制御装置の第１記憶部のプログラムを更新支援する車両用電子制御装置を対象としている。
【００１１】
請求項１記載の発明によれば、通信制御部は更新対象の電子制御装置との間で通信可能になっており、第２記憶部は通常時に表面の第１記憶領域及び裏面の第２記憶領域に同一プログラムをミラーリングしてそれぞれ記憶する。
【００１２】
そして、制御部の圧縮手段は、第１及び第２の記憶領域の何れかの記憶領域に記憶されミラーリングされた何れかの情報を圧縮し、記憶制御手段は、圧縮手段により圧縮された圧縮記憶領域以外に確保された情報格納可能領域について、更新対象の電子制御装置のプログラムおよびセンタ装置から送信されるプログラムの更新用データを一時的に格納するための領域として記憶制御する。
【００１３】
すると、更新指示手段が、記憶制御手段により記憶制御される電子制御装置のプログラム及びプログラムの更新用データを用いてプログラムを更新指示すると、プログラム更新対象の電子制御装置の記憶プログラムを更新できる。
【００１４】
したがって、例えば、プログラム更新対象の電子制御装置がプログラム書換処理時のバックアップ領域を備えず少量の領域しか確保できない場合であり、更新指示を行う電子制御装置の記憶部が表面及び裏面に同一情報をミラーリングするようになっていたとしても、当該電子制御装置の記憶部を有効活用でき、プログラム更新対象の電子制御装置の記憶プログラムを更新支援できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の電気的構成を概略的に示す機能ブロック図
【図２】通常時の表面および裏面の記憶領域の内容を概略的に示す説明図
【図３】全体処理の流れを概略的に示すフローチャート
【図４】プログラムチェック処理の流れを概略的に示すフローチャート
【図５】プログラム領域の圧縮処理の流れを概略的に示すフローチャート
【図６】裏面の記憶領域を圧縮処理した後の表面および裏面の記憶領域の内容を概略的に示す説明図
【図７】更新前のプログラムの吸出処理と差分ファイルのダウンロード処理の流れを概略的に示すフローチャート
【図８】差分ファイルのダウンロード後の表面および裏面の記憶領域の内容を概略的に示す説明図
【図９】更新前のプログラムをバックアップした後の表面および裏面の記憶領域の内容を概略的に示す説明図
【図１０】プログラム更新処理の流れを概略的に示すフローチャート
【図１１】制御部内の電気的構成を機能的に示す説明図
【発明を実施するための形態】
【００１６】
以下、車両用電子制御装置によるプログラム更新システムの一実施形態について図面を参照しながら説明する。図１は車両用電子制御装置の全体構成を機能ブロックで示す。
車両用電子制御装置１は、制御部２と、記憶部４と、信号入力部５と、ＧＰＳ測位部６と、無線通信部７と、タイマ管理部８と、電源制御部９と、車両ＬＡＮ制御部１０とを備える。信号入力部５は各種センサから信号を入力する。ＧＰＳ測位部６は、外部のＧＰＳ衛星２５のＧＰＳ信号を受信し現在位置を特定する。タイマ管理部８は各種の時間を計測する。制御部２はＣＰＵ２ａを主として構成され、記憶部４に記憶される制御プログラムを実行することで、車両用電子制御装置１の動作全般を制御する。
【００１７】
記憶部４は、ＲＯＭ１１、ＲＡＭ１２、フラッシュＲＯＭ１３、ＥＥＰＲＯＭ１４などの各種記憶領域を備えている。このうちＲＯＭ１１には、制御部２が実行する制御プログラムが予め記憶されている。ＲＡＭ１２は各種情報を一時的に読出／書込するためのメモリとなる。
【００１８】
また、フラッシュＲＯＭ１３は、図２に示すように表面の記憶領域Ｒａ、裏面の記憶領域Ｒｂを有し、これらの表面及び裏面の記憶領域Ｒａ、Ｒｂには、それぞれ電子制御装置１の車両用通信機（以下ＤＣＭと称す：Data Communication Module）のプログラムが記憶されている。
【００１９】
これらの表面及び裏面の記憶領域Ｒａ、Ｒｂには、通常同一のバージョン情報Ｍ１ａ、Ｍ１ｂがそれぞれ記憶されると共に、ＤＣＭのプログラム本体のプログラムＭ２ａ、Ｍ２ｂ、及び、チェックサムＭ３ａ、Ｍ３ｂがそれぞれ記憶されている。
【００２０】
制御部２は、表面および裏面の記憶領域ＲａおよびＲｂのプログラムが正常に記憶されているか否かについて、それぞれのチェックサムＭ３ａ、Ｍ３ｂを用いて検査できる。この図２に示すように、ＤＣＭの通信機能のプログラム等Ｍ１ａ〜Ｍ３ａ、Ｍ１ｂ〜Ｍ３ｂは、これらの表面及び裏面の記憶領域Ｒａ、Ｒｂのほぼ全てに記憶されている。
【００２１】
また、このＤＣＭの通信機能のプログラムＭ２ａ及びＭ２ｂは重要度の高いプログラムであり表面及び裏面に双方同一のプログラム（情報）がミラーリングされている。ミラーリングする理由は、一方の面に障害（クラッシュ）を生じたときに他方の面をコピー利用できるようにしてプログラムデータの損失を防ぐためである。
【００２２】
なお、制御部２及び記憶部４内の電気的構成を機能的に示すと図１１のように表すことができる。図１には各電気的構成ブロックを機能的に表しているが、近年の集積回路装置にはＣＰＵ２ａの内部に記憶部４（ＲＯＭ１１、ＲＡＭ１２、フラッシュＲＯＭ１３、ＥＥＰＲＯＭ１４）が搭載されている。このため、これら図１１に図示した機能はハードウェア的に一体のものでも別体のものでも適用可能となる。
【００２３】
図１に示すように、電子制御装置１は、無線通信部７を用いて、基地局１５及び通信網（無線／有線の通信網含む）１６を通じて車両サービスセンタ（以下センタ装置と称す）１７に接続されている。制御部２はフラッシュＲＯＭ１３に記憶されたプログラムを実行することでセンタ装置１７との間で通信する。
【００２４】
電源制御部９は、車両バッテリ１８に接続されておりバッテリ電圧を変換して電子制御装置１の中の各ブロックに電源供給する。電子制御装置１の車両ＬＡＮ制御部１０は車両用ＬＡＮ１９に接続されている。
【００２５】
車両用ＬＡＮ１９には、ナビゲーション制御ＥＣＵ（Electronic Control Unit）２０、ドアロック制御ＥＣＵ２１、エンジン制御ＥＣＵ２２、などの各種ＥＣＵの他、アラーム装置２３を介してホーン２４が接続されている。各ＥＣＵ２０〜２２はマイクロコンピュータ（図示せず）を備え、車両用ＬＡＮ１９に接続して各ＥＣＵ２０〜２２と通信するための車両ＬＡＮインタフェースを備える。
【００２６】
ナビゲーション制御ＥＣＵ２０は、ユーザに目的地までの経路情報などをナビゲーションするナビゲーション機能を備える。ドアロック制御ＥＣＵ２１は、車両ドアのロック／アンロックを制御する機能を備え、エンジン制御ＥＣＵ２２はエンジンを制御する機能を備える。
【００２７】
この中で、ナビゲーション制御ＥＣＵ２０は各種のマルチメディア情報を扱うため外部メモリやＨＤＤなどの大容量記憶装置による記憶部２０ａを接続して構成されている。しかし、例えばドアロック制御ＥＣＵ２１、エンジン制御ＥＣＵ２２には、それぞれ必要最小限の記憶容量の記憶部２１ａ、２２ａしか備えられていない場合があり、バックアップ領域を備えていないことがある。
【００２８】
例えば、このような少量の記憶領域しか備えていないＥＣＵ２１、２２が、センタ装置１７から送信されるアップデートプログラム（更新用データ相当）などを当該ＥＣＵ２１、２２内にインストールするときには、既存のプログラムに上書きする手法が考えられる。しかし、電子制御装置１とセンタ装置１７との通信処理が無線通信環境の悪化により一時的に途絶したり、インストール処理時にフリーズしたりすると、既存のプログラムも破損してしまうことになる。この場合、車両用プログラムが破棄されると好ましくない。
【００２９】
そこで、本実施形態では、以下の処理を行うことでこの不具合を解消し、電子制御装置１が、プログラム更新対象ＥＣＵ２１、２２の記憶部２１ａ、２２ａ内のプログラムを更新支援できるようにしている。
【００３０】
図３はプログラム更新時の全体動作をフローチャートにより概略的に示すもので、制御部２のＲＯＭ１１には、この動作を行うためのプログラムが記憶されている。以下、例えば、ドアロック制御ＥＣＵ２１をプログラム更新対象ＥＣＵとして説明を行う。
【００３１】
図３に示すように、まず制御部２は表面及び裏面の記憶領域Ｒａ、Ｒｂのプログラムをチェックする（Ｓ１）。そして制御部２はこれらの記憶領域のうち例えば裏面の記憶領域Ｒｂを圧縮する（Ｓ２）。そして制御部２は、更新対象の電子制御装置２１のプログラム更新用データをダウンロードして情報格納可能領域（後述の図６のＲｂａ参照）に記憶させ、電子制御装置２から更新前のプログラムを吸出して情報格納可能領域Ｒｂａに記憶させる（Ｓ３）。その後、制御部２はプログラムを更新する（Ｓ４）。以下これらの処理の詳細について、図４〜図１１を参照しながら説明する。
【００３２】
図４はステップＳ１のプログラムチェックの流れを概略的に表している。この処理では、表面の記憶領域Ｒａに正常にプログラムが記憶されているか、裏面の記憶領域Ｒｂに正常にプログラムが記憶されているか、さらに、バージョン情報Ｍ１ａ、Ｍ１ｂが表面と裏面とで同一であるか（すなわち正常にミラーリングされているか）を判定する。まず、制御部２は、表面及び裏面の記憶領域Ｒａ、Ｒｂに記憶されたプログラムをそれぞれチェックする（Ｓ１１）。
【００３３】
図２に示したように、フラッシュＲＯＭ１３の表面及び裏面の記憶領域Ｒａ、Ｒｂには、ＤＣＭのプログラムＭ２ａ、Ｍ２ｂがそれぞれ記憶されているが、ここで制御部２は、これらの表面および裏面の記憶プログラムＭ２ａ、Ｍ２ｂについて、それぞれのチェックサムＭ３ａ、Ｍ３ｂを用いて表面及び裏面のプログラムＭ２ａ、Ｍ２ｂを独立にチェックする。
【００３４】
このとき、図４のステップＳ１１に示すように、表面も裏面もその記憶プログラムＭ２ａ、Ｍ２ｂのチェックが共に正常であると判定されれば（Ｓ１２：ＹＥＳ）、バージョン情報Ｍ１ａ、Ｍ１ｂが同一であるか否かを判定し（Ｓ１３）、この双方の条件を満たしていれば（Ｓ１２、Ｓ１３で共にＹＥＳ）このルーチンを抜ける。しかし、制御部２は、ステップＳ１２において両面正常ではないと判定したときには、片面異常であるか否かを判定する（Ｓ１６）。
【００３５】
制御部２はＳ１５において片面異常であると判定されたときには、正常と判定された面（正常面：例えば裏面）から異常と判定された面（異常面：例えば表面）に書込み（コピー）する（Ｓ１７）。するとバージョン情報Ｍ１ａ、Ｍ１ｂも表面と裏面で同一となり、このルーチンを抜ける。またステップＳ１６において、制御部２は、片面異常ではなく（Ｓ１６：ＮＯ）、両面異常であると判定したときにはダイアグ出力して異常終了することになる。
【００３６】
また、制御部２は、両面の記憶領域Ｒａ、Ｒｂ共に正常であると判定されたときには（Ｓ１２：ＹＥＳ）、バージョン情報Ｍ１ａ、Ｍ１ｂが同一であるか否か判定し、同一でなければ（Ｓ１３：ＮＯ）、裏面のバージョンが特別なバージョン（例えば「ＦＦ」）となっているか否かを判定する（Ｓ１４）。
【００３７】
すなわちステップＳ１４では、更新対象となる電子制御装置２１がプログラムを更新中であるか否かを判定し、更新中であればそのまま保持しこのルーチンを抜ける。しかし、裏面の記憶領域Ｒｂのバージョンが特別なバージョン（例えば「ＦＦ」）となっていなければ、新たなバージョンのプログラムをコピーする（Ｓ１５）。そしてこのルーチンを抜ける。これによりプログラムのチェックルーチンを終了する。
【００３８】
電子制御装置１が、センタ装置１７からプログラム更新指示を受付け、プログラム更新対象の電子制御装置２１のプログラムを更新支援するときには、後述するように裏面の記憶領域Ｒｂのバージョン情報Ｍ１ｂが特別なバージョン（例えば「ＦＦ」）に書き換えられる。この特別なバージョン情報は、通常時には使用されることなく、しかもプログラム更新中（裏面の記憶領域Ｒｂが圧縮面に設定）であることを示すバージョンに予め定められている。
【００３９】
したがって、プログラム更新中にはバージョン情報Ｍ１ａとＭ１ｂとが表面と裏面とで同一となることはなく、Ｓ１３でＮＯ、Ｓ１４でＹＥＳと判定され、このプログラムチェックルーチンを抜ける。しかし、裏面のバージョンが特別なバージョンから変更されると、ステップＳ１５において新しいバージョンのプログラムがコピーされることになり、表面と裏面の記憶プログラムのバージョン情報Ｍ１ａとＭ１ｂとが同一となる。
【００４０】
図５は図３のステップＳ２について記憶領域の圧縮処理を概略的に示す。図５に示すように、電子制御装置１は、センタ装置１７からプログラム更新の指示があると（Ｓ２１：ＹＥＳ）、制御部２は、裏面のプログラムのバージョン情報Ｍ１ｂが前述の特別なバージョンに変更されていなければ（Ｓ２２：ＮＯ）、裏面のプログラムのバージョン情報Ｍ１ｂを前述の特別なバージョン情報に変更する（Ｓ２３）。
【００４１】
これにより、電子制御装置１の制御部２は、更新対象の電子制御装置２１のプログラムを更新中であり、しかも裏面の記憶領域Ｒｂが圧縮された面であることを認識できる。そして、制御部２は、フラッシュＲＯＭ１３の裏面の記憶領域Ｒｂが圧縮されているか判定し（Ｓ２４）、圧縮されていなければ（Ｓ２４：ＮＯ）、裏面の記憶領域Ｒｂを圧縮する（Ｓ２５）。そしてこのルーチンを抜ける。
【００４２】
図６は圧縮後の表面および裏面の記憶領域Ｒａ、Ｒｂの内容を概略的に示している。図６には、裏面の記憶領域Ｒｂに記憶されるバージョン情報に符号Ｍ１ｂａ、圧縮後のＤＣＭのプログラムに符号Ｍ２ｂａ、チェックサムに符号Ｍ３ｂａを付して示している。
【００４３】
圧縮後には裏面のＤＣＭのプログラムＭ２ｂが圧縮される（圧縮後のＤＣＭのプログラムＭ２ｂａ参照）。ＤＣＭのプログラムは、通常状態では裏面の記憶領域Ｒｂの大半を占めるため、圧縮されると記憶領域Ｒｂ内の保持領域を大幅に削減できる。したがって、たとえ元プログラムが裏面の記憶領域Ｒｂの全てに記憶されていたとしても、圧縮処理を施すことにより情報格納可能領域Ｒｂａを確保できる。
【００４４】
図７は図３のステップＳ３の処理を概略的に示す。この図３のステップＳ３の処理は、更新対象の電子制御装置２１のプログラム更新用データとなる差分ファイルを情報格納可能領域Ｒｂａに記憶させ、更新対象の電子制御装置２１から更新前のプログラムを情報格納可能領域Ｒｂａに吸出し、バックアップ記憶させるルーチンを示している。
【００４５】
図７に示すように、制御部２は、センタ装置１７からプログラム更新用データとなる差分ファイルをダウンロードしたか確認し、ダウンロード済でなければ（Ｓ３１：ＮＯ）、差分ファイルをダウンロードする（Ｓ３２）。ここで、差分ファイルのダウンロードを正常に完了したか否か確認する（Ｓ３３）。
【００４６】
電子制御装置１はセンタ装置１７との間で通信網１６を通じて接続されているため、電波環境の変化等に応じてダウンロード途中で通信中断されてしまう可能性がある。このため、ステップＳ３３において差分ファイルのダウンロードが正常に完了したか否かを確認する。
【００４７】
ここで、制御部２は正常に完了したと判定すれば（Ｓ３３：ＹＥＳ）、ステップＳ３４の処理に移る。図８は正常に差分ファイルをダウンロード完了したときの表面および裏面の記憶領域Ｒａ及びＲｂの内容を概略的に示しており、図６に示す記憶内容に比較して差分ファイルＭ４ｂが裏面の記憶領域Ｒｂに追加記憶されている。
【００４８】
制御部２は、ステップＳ３４において更新対象の電子制御装置２１のプログラムを情報格納可能領域Ｒｂａに吸出し済かを判定し吸出済でなければ（Ｓ３４：ＮＯ）、更新対象の電子制御装置２１の現在のプログラム（すなわち更新前のプログラム）を吸出す（Ｓ３５）。
【００４９】
図９は更新対象の電子制御装置２１のプログラムが情報格納可能領域Ｒｂａに吸出された後の表面および裏面の記憶領域Ｒａ、Ｒｂの内容を概略的に示す。この図９に示すように、図８に示す記憶内容に比較して、更新対象の電子制御装置２１の更新前のプログラムＭ５ｂが裏面の記憶領域Ｒｂにバックアップされている。
【００５０】
他方、制御部２は、ステップＳ３３において更新対象の電子制御装置２１のプログラムの差分ファイルＭ４ｂを例えば所定時間経過してもダウンロード完了できなければ（Ｓ３３：ＮＯ）、複数の第１所定回数を超えるまで試行し（Ｓ３６）、ダウンロード回数が第１所定回数を超える（Ｓ３６：ＮＯ）まで繰り返す。
【００５１】
すなわち、通信環境が悪化しても第１所定回数を超えるまで試行を繰り返し、プログラムを結局ダウンロード完了できなければ、ダウンロードを中断して裏面の記憶領域Ｒｂのバージョン情報Ｒ１ｂを更新前のバージョンに戻し（Ｓ３７）、裏面の記憶領域Ｒｂの圧縮状態を元に戻す。すなわち、表面及び裏面の記憶領域Ｒａ、Ｒｂの内容はそれぞれ図２に示すように元の内容に戻る。そして、制御部２は、ダウンロード試行を中断したことをセンタ装置１７にダイアグ通知し（Ｓ３８）異常終了する。
【００５２】
図１０は図３のステップＳ４の処理を概略的に示す。この図３のステップＳ４は、更新対象の電子制御装置２１のプログラムを更新する処理を示している。図１０に示すように、制御部２は、吸い出された更新対象の電子制御装置２１のプログラムと差分ファイルとを用いて、新しい更新プログラムを作成しＲＡＭ１２に展開する（Ｓ４１）。
【００５３】
そして、制御部２は、ＲＡＭ１２に展開された新しい更新プログラムを、車両ＬＡＮ制御部１０を通じて更新対象の電子制御装置２１に書込む（Ｓ４２）。そして制御部２は更新対象の電子制御装置２１に正常に書込み終了したか否かを判定し（Ｓ４３）、正常に書込み終了していれば（Ｓ４３：ＹＥＳ）、裏面の記憶領域Ｒｂの圧縮状態を元に戻すと共に、裏面の記憶領域Ｒｂのバージョン情報Ｍ１ｂをプログラム更新前のバージョンに戻して（Ｓ４４）終了する。
【００５４】
他方、制御部２は、車両ＬＡＮ制御部１０による更新対象の電子制御装置２１との通信接続環境が悪化するなどの理由から、ステップＳ４３においてプログラムの更新処理が正常に終了したか確認したとしても、異常終了と判定する場合がある（Ｓ４３：ＮＯ）。このような場合には、制御部２は、プログラムの更新書込回数の上限値（第２所定回数）を規定し、これらの複数の第２所定回数（規定値）を超える（Ｓ４５：ＮＯ）まで試行を繰り返す。
【００５５】
制御部２は、試行を繰り返した結果、プログラムを更新できなければ（Ｓ４５：ＮＯ）、吸い出された更新対象の電子制御装置２１の更新前のプログラムをそのままＲＡＭ１２に展開し（Ｓ４６）、この更新前のプログラムを更新対象の電子制御装置２１に書き戻す（Ｓ４７）。
【００５６】
そして、制御部２はプログラムの書込みを正常に終了したか否かを判定し（Ｓ４８）、正常に終了していれば（Ｓ４８：ＹＥＳ）、ステップＳ４４において裏面の記憶領域Ｒｂの圧縮状態を元に戻すと共に裏面の記憶領域Ｒｂのバージョン情報Ｍ１ｂをプログラム更新前のバージョンに戻して終了する。
【００５７】
制御部２は、車両ＬＡＮ制御部１０による更新対象の電子制御装置２１との通信接続が悪化するなどの理由から、ステップＳ４９においてプログラムの更新処理が正常に終了したか確認したとしても異常終了と判定する場合がある（Ｓ４８：ＮＯ）。このような場合には、制御部２は、更新前のプログラムの書込回数の上限値（第３所定回数）を規定し、これらの複数の第３所定回数を超える（Ｓ４９：ＹＥＳ）まで試行を繰り返す。
【００５８】
制御部２は、試行を繰り返した結果、更新前のプログラムを再書込できなければ（Ｓ４９：ＮＯ）、再書込不能である旨をセンタ装置１７に通知する（Ｓ５０）。
その後、制御部２は、ステップＳ４４に移行し、自身の電子制御装置１の裏面の記憶領域Ｒｂの圧縮状態を元に戻すと共に裏面の記憶領域Ｒｂのバージョン情報Ｒ１ｂをプログラム更新前のバージョンに戻して終了する。このようにしてプログラムの更新処理が行われる。
【００５９】
以上説明したように、本実施形態によれば、電子制御装置１の制御部２が、無線通信部７を用いて外部のセンタ装置１７との間で通信処理を行い、センタ装置１７から差分ファイルを取得してプログラムを更新するときに次のような手順で行っている。
【００６０】
電子制御装置１の制御部２がフラッシュＲＯＭ１３の裏面の記憶領域Ｒｂを圧縮して情報格納可能領域（使用可能領域）Ｒｂａを確保し、更新対象の電子制御装置２１内の既存のプログラムＭ５ｂとセンタ装置１７から取得する差分ファイルＭ４ｂを情報格納可能領域Ｒｂａに一時的に記憶させる。すなわち、フラッシュＲＯＭ１３の裏面の記憶領域Ｒｂのうち情報格納可能領域Ｒｂａは、更新対象の電子制御装置２１の既存のプログラムＭ５ｂのバックアップ領域として機能する。
【００６１】
その後、制御部２は、既存のプログラムＭ５ｂと差分ファイルＭ４ｂとを用いて新しい更新プログラムを作成し更新対象の電子制御装置２１に書込む。そして制御部２はフラッシュＲＯＭ１３の裏面の記憶領域Ｒｂの圧縮状態を元に戻す。
【００６２】
これにより、更新対象の電子制御装置２１がたとえバックアップ領域を確保できない場合であっても、電子制御装置１の裏面の記憶領域Ｒｂを一時的に開放して有効活用することでバックアップ領域が確保されるようになり、更新対象の電子制御装置２１のプログラムを新しいプログラムに更新できる。
【００６３】
また、無線通信環境の悪化などの影響、車両ＬＡＮ制御部１０による電子制御装置１と２０〜２３との間の通信環境の悪化などの影響に応じてプログラムの更新を失敗したときには、制御部２は更新前のプログラムを更新対象の電子制御装置２１内に復旧させることができる。これにより信頼性を向上できる。
【符号の説明】
【００６４】
図面中、１は電子制御装置（車両用電子制御装置）、２は制御部、１０は車両ＬＡＮ制御部（通信制御部）、４は記憶部（第２記憶部）、１７は車両サービスセンタ（センタ装置）、２１ａ，２２ａは記憶部（第１記憶部）、２１はドアロック制御ＥＣＵ（更新対象の電子制御装置）、２２はエンジン制御ＥＣＵ（更新対象の電子制御装置）、１０１は圧縮手段、１０２は記憶制御手段、１０３は更新指示手段、Ｒｂａは情報格納可能領域、Ｒ５ｂは電子制御装置のプログラム、Ｍ４ｂは差分ファイル（更新用データ）、Ｍ５ｂは更新前のプログラム（更新対象の電子制御装置のプログラム）、を示す。
【図１】
2014191574.tif 000003
【図２】
2014191574.tif 000004
【図３】
2014191574.tif 000005
【図４】
2014191574.tif 000006
【図５】
2014191574.tif 000007
【図６】
2014191574.tif 000008
【図７】
2014191574.tif 000009
【図８】
2014191574.tif 000010
【図９】
2014191574.tif 000011
【図１０】
2014191574.tif 000012
【図１１】
2014191574.tif 000013