(57)【要約】【課題】車両構成に応じて適正な適合データが書き込まれたか否かを確認するために適合データの識別情報を読み出す工数を低減する車載電子制御装置を提供する。【解決手段】ＥＣＵ１０のフラッシュメモリ３０の記憶領域４０、５０、６０に、ブートプログラムと制御プログラムと適合データとがそれぞれ書き込まれている。制御プログラム用の記憶領域５０の最後の固定アドレスに、識別情報６２のアドレスが識別情報アドレス５２として書き込まれている。識別情報６２は、車両構成に応じて異なる適合データを識別するために、車両構成毎に設定されている。ブートプログラムを実行することによりＣＰＵ２０は、パーソナルコンピュータ１００から識別情報の読み出し要求を受信すると、制御プログラム用の記憶領域５０の固定アドレスに記憶されている識別情報アドレス５２を読み出し、識別情報アドレス５２から識別情報６２を読み出す。【選択図】図２
2010113409.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムと、車両制御を実施する制御プログラムと、車両構成に基づいて設定され前記制御プログラムが参照する適合データとを記憶している不揮発性メモリと、
前記ブートプログラムを実行する処理手段と、
を備える車載電子制御装置において、
前記制御プログラムおよび前記適合データは、それぞれ前記不揮発性メモリとして書き換え可能な不揮発性メモリの所定の記憶領域に記憶されており、前記ブートプログラムは前記書き換え可能な不揮発性メモリに前記適合データを書き込む書き込み処理を実施し、
前記適合データ用の前記記憶領域には前記適合データを識別するための識別情報が記憶されており、前記制御プログラム用の前記記憶領域の特定位置には前記識別情報が記憶されている識別情報アドレスが記憶されており、前記ブートプログラムには前記特定位置を示す固定アドレスが設定されており、
前記処理手段は、前記ブートプログラムを実行することにより、前記固定アドレスから前記識別情報アドレスを読み出し、読み出した前記識別情報アドレスから前記識別情報を読み出す、
ことを特徴とする車載電子制御装置。
【請求項２】
前記識別情報アドレスは、前記制御プログラム用の前記記憶領域の先頭または最後に記憶されていることを特徴とする請求項１に記載の車載電子制御装置。
【請求項３】
前記処理手段は、前記適合データ用の前記記憶領域から読み出した前記識別情報に基づき、前記適合データ用の前記記憶領域に車両構成に応じた適正な適合データが書き込まれたか否かを判定することを特徴とする請求項１または２に記載の車載電子制御装置。
【請求項４】
前記処理手段は、前記適合データ用の前記記憶領域に車両構成に応じた適正な適合データが書き込まれたか否かを、前記ブートプログラムを実行することにより判定することを特徴とする請求項３に記載の車載電子制御装置。
【請求項５】
前記適合データ用の前記記憶領域に車両構成に応じた適正な適合データが書き込まれたか否かを判定する外部装置に前記識別情報を送信する通信手段をさらに備えることを特徴とする請求項１または２に記載の車載電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御を実施する制御プログラムと、車両構成に基づいて設定された適合データとを不揮発性メモリに記憶している車載電子制御装置に関する。
【背景技術】
【０００２】
従来、車両の駆動制御、ブレーキ制御、車体制御等の種々の車両制御の各機能または複数の機能の組み合わせに対応して、電子制御装置が製造されている。また、車両の構成は、車種が異なればもちろんのこと、同一車種であってもオプション品の有無等によって異なっている。しかし、車両構成に基づいて設定され各機能の車両制御を実施するために制御プログラムが参照する適合データは車両構成に応じて異なるものの、同一機能の車両制御であれば、適合データ以外の部分の電子制御装置は共通のものを使用できる。
【０００３】
そこで、電子制御装置の製造会社において、異なる車両構成に対して共通の電子制御装置を製造し、電子制御装置を車両に組み付ける車両製造会社において、車両構成の特性に応じて適合された適合データを電子制御装置に書き込むことが知られている（例えば、特許文献１参照。）。
【０００４】
この場合、電子制御装置の製造会社において、車両構成の違いに関わらず、車両製造会社で適合データを書き込むための共通のブートプログラムと車両制御を実施する共通の制御プログラムとを不揮発性メモリに記憶しておくことが考えられる。車両製造会社では、パーソナルコンピュータ等の外部装置から電子制御装置に通信を介して適合データを送信するとともに適合データの書き込みを指令する。すると、電子制御装置の製造会社で予め不揮発性メモリに記憶されているブートプログラムが不揮発性メモリに適合データを書き込む書き込み処理を実施する。
【０００５】
このように、車両構成の違いに関わらず共通なブートプログラムおよび制御プログラムと、車両構成に基づいて設定された適合データとを、電子制御装置の製造会社と車両製造会社とで分けて書き込むことにより、車両製造会社では適合データ以外の不揮発性メモリへの書き込み工数を短縮できる。
【０００６】
ただし、共通なブートプログラムおよび制御プログラムと適合データとの不揮発性メモリへの書き込みを分けて実施する場合、適合データを書き込む車両製造会社では、車両構成に応じた適正な適合データが電子制御装置に書き込まれたかを確認する必要がある。この場合、適合データの記憶領域に車両構成に応じて設定された適合データを識別するための識別情報を書き込んでおき、適合データの書き込みが終了したときに電子制御装置から識別情報を読み出し、読み出した識別情報が該当する車両の識別情報と一致するかを確認することが考えられる。
【特許文献１】特開２００４−４２８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、制御プログラムまたは適合データのバージョン変更にともなう制御プログラムまたは適合データの書換え等に対応して、制御プログラムおよび適合データを再コンパイルすると、適合データの記憶領域に書き込まれ記憶される識別情報のアドレスが変化することがある。制御プログラムは適合データとともにコンパイルされるので、適合データの記憶領域に書き込まれた識別情報のアドレスを知っている。一方、ブートプログラムは、適合データの記憶領域に書き込まれた識別情報のアドレスを知ることはできない。そこで、識別情報の読み出し処理を制御プログラムが実行すれば、識別情報が記憶されているアドレスが変化しても適合データの記憶領域から正しく識別情報を読み出すことはできる。
【０００８】
しかしながら、ブートプログラムが適合データの書き込み処理を実施してから制御プログラムが識別情報を読み出すためには、電子制御装置をリセットし、ブートプログラムによる適合データの書き込みモードから制御プログラムによる識別情報の読み出しモードに処理を移行する必要がある。このように、適合データの識別情報を読み出すために電子制御装置をリセットするので、適正な適合データが書き込まれたか否かを確認するために適合データの識別情報を読み出す工数が増加するという問題がある。
【０００９】
本発明は、上記問題を解決するためになされたものであり、車両構成に応じて適正な適合データが書き込まれたか否かを確認するために適合データの識別情報を読み出す工数を低減する車載電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１から５に記載の発明によると、ブートプログラムと、車両制御を実施する制御プログラムと、車両構成に基づいて設定され制御プログラムが参照する適合データとが不揮発性メモリに記憶されている。制御プログラムおよび適合データは、それぞれ不揮発性メモリとして書き換え可能な不揮発性メモリの所定の記憶領域に記憶されており、ブートプログラムは書き換え可能な不揮発性メモリに適合データを書き込む書き込み処理を実施する。適合データ用の記憶領域には適合データを識別するための識別情報が記憶されており、制御プログラム用の記憶領域の特定位置には識別情報が記憶されている識別情報アドレスが記憶されており、ブートプログラムには制御プログラム用の記憶領域の特定位置を示す固定アドレスが設定されている。処理手段は、ブートプログラムを実行することにより、固定アドレスから識別情報アドレスを読み出し、読み出した識別情報アドレスから識別情報を読み出す。
【００１１】
これにより、ブートプログラムは、適合データを識別する識別情報が記憶されている適合データ用の記憶領域のアドレスを直接知ることはできなくても、ブートプログラムに設定された固定アドレスから制御プログラム用の記憶領域の固定アドレスに記憶されている識別情報アドレスを読み出し、読み出した識別情報アドレスから識別情報を読み出せる。ブートプログラムは、不揮発性メモリに適合データを書き込んだ状態で引き続き識別情報を読み出すことができるので、ブートプログラムが不揮発性メモリへの適合データの書き込み処理を実施してから、制御プログラムに識別情報を読み出させるために車載電子制御装置をリセットする必要がない。したがって、車両構成に応じて適正な適合データを書き込んだか否かを確認するために適合データの識別情報を読み出す工数を低減できる。そして、読み出された識別情報に基づいて車両構成に応じて適正な適合データが書き込まれたか否かを判定した結果、適正な適合データが書き込まれていない場合には、不正書き込みの通知等の適切な処置を実施できる。
【００１２】
また、例えば制御プログラムまたは適合データのバージョン変更に伴う制御プログラムまたは適合データの書換え等に対応して、制御プログラムおよび適合データを再コンパイルして適合データの記憶領域に書き込まれる識別情報の位置が変化しても、制御プログラム用の記憶領域に記憶されている識別情報アドレスには、識別情報が記憶される位置を示すアドレスが設定される。したがって、適合データ用の記憶領域において識別情報が記憶される位置が変化しても、ブートプログラムは、固定アドレスから識別情報アドレスを読み出し、読み出した識別情報アドレスから識別情報を読み出すことができる。
【００１３】
ところで、適合データの識別情報が記憶されているアドレスを示す識別情報アドレスは、車両制御を実施する制御プログラムの流れとは関係のないデータであるから、制御プログラム用の記憶領域において制御プログラムの途中に識別情報アドレスが記憶されると、制御プログラムの処理の流れが妨げられる。
【００１４】
そこで、請求項２に記載の発明によると、識別情報アドレスは、制御プログラム用の記憶領域の先頭または最後に記憶されている。
【００１５】
これにより、制御プログラム用の記憶領域に記憶されている識別情報アドレスが制御プログラムの処理の流れを妨げることを防止できる。また、バージョン変更等により制御プログラムが変化しても、識別情報アドレスが制御プログラムの処理の流れを妨げることを防止できる。
【００１６】
請求項３に記載の発明によると、車載電子制御装置の処理手段は、適合データ用の記憶領域から読み出した識別情報に基づき、適合データ用の記憶領域に車両構成に応じた適正な適合データが書き込まれたか否かを判定する。
【００１７】
このように車載制御装置側で適正な適合データが書き込まれたか否かを判定するので、不正な適合データが書き込まれた場合に、車載電子制御装置自身で不正を認識し適切なフェイルセーフ処理を実施できる。例えば、車両の始動を禁止したり、不正に書き込まれた適合データを消去する等のフェイルセーフ処理が考えられる。
【００１８】
ところで、書き込まれた適合データの適正判定が終了しておらず車載電子制御装置を車両に搭載する前の状態では、車載電子制御装置には他の装置、センサ等は接続されていない。したがって、適正な適合データが書き込まれたか否かを車載制御装置において判定する場合、その判定を制御プログラムが実施すると、例えば接続されていない他装置からの受信データ、あるいは接続されていないセンサの信号を制御プログラムが診断して異常と誤判定する恐れがある。
【００１９】
このような誤判定を避けるためには、受信データおよびセンサの信号として異常とならないダミー受信データおよびダミー信号を設定するか、あるいは、適正な適合データが書き込まれたか否かだけを判定し、その他の制御を実行しない判定プログラムを制御プログラムに追加する必要がある。しかし、車載電子制御装置に対しダミー受信データおよびダミー信号を設定することは煩雑である。また、通常制御では実行しない判定プログラムの追加は制御プログラムの容量を増加するので望ましくない。
【００２０】
そこで、請求項４に記載の発明によると、ブートプログラムが識別情報を読み出し、ブートプログラムが車両構成に応じた適正な適合データが書き込まれたか否かを判定する。
【００２１】
これにより、車両構成に応じた適正な適合データが書き込まれたか否かを電子制御装置で判定するときに制御プログラムが実行されないので、例えば、制御プログラムが他装置から受信する受信データ、ならびに制御プログラムで検出するセンサの信号を異常と誤判定することを防止するための設定等を省略できる。さらに、通常制御では使用されない適正判定プログラムを制御プログラムに追加する必要がないので、制御プログラムの容量の増加を防止できる。
【００２２】
請求項５に記載の発明によると、車両構成に応じた適正な適合データが適合データ用の記憶領域に書き込まれたか否かを判定する外部装置に車載電子制御装置の通信手段から識別情報を送信する。
【００２３】
つまり、適合データの適正判定を車載電子制御装置と通信する外部装置が実行する。これにより、適合データの適正判定プログラムを車載電子制御装置の不揮発性メモリに記憶する必要がないので、不揮発性メモリの残容量の減少を防止できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施形態を図に基づいて説明する。
【００２５】
図２に示す車載電子制御装置としてのＥＣＵ(Electronic Control Unit)１０は、車両に搭載され、車両の駆動制御、ブレーキ制御、車体制御等の種々の車両制御の各制御または複数の制御の組み合わせを実施する電子制御装置である。
【００２６】
ＥＣＵ１０は、ＣＰＵ２０、フラッシュメモリ３０、通信インタフェース７０、図示しないＲＡＭ、ＲＯＭ等を中心とするマイクロコンピュータにより構成されている。ＥＣＵ１０は、駆動制御、ブレーキ制御、車体制御等のそれぞれ同じ機能の車両制御を実施する場合、車種の違い、あるいは同一車種であってもオプション品の有無等により車両構成が異なっても、同一機能の車両制御においては基本的に同じ制御プログラムを搭載する。そして、ＥＣＵ１０は、車両構成の違いについては、制御プログラムが参照する特性マップ等の適合データで対応する。そして、制御プログラムおよび適合データのバージョン変更への対応、あるいは車両運転中の学習等により適合データを更新できるように、制御プログラムおよび適合データをフラッシュメモリ３０等の書換え可能な不揮発性メモリに記憶することが知られている。
【００２７】
図１に、ＥＣＵ１０へのプログラムおよびデータの書込み手順を示す。ＥＣＵ１０の製造会社では、制御プログラムおよび適合データのソースコードをコンパイルしてオブジェクトファイルを生成する。この場合、車両構成に応じて適合データの実際の値を車両製造会社で書き込むために、適合データのソースコードは各データの記憶アドレスを制御プログラムに知らせるためのダミーコードであっても良い。ＥＣＵ１０の製造会社は、制御プログラムのオブジェクトファイルをフラッシュメモリ３０に書き込む場合、ブートプログラムのオブジェクトファイルと一緒にパーソナルコンピュータ等の書き込みツールで書き込んでもよいし、予めフラッシュメモリに書き込んでおいたブートプログラムにより制御プログラムを書き込んでもよい。ブートプログラムはフラッシュメモリ３０の先頭アドレスから書き込まれる。フラッシュメモリ３０に書き込まれたブートプログラムは、車両製造会社において車両構成に応じた適合データをフラッシュメモリ３０に書き込む書き込み処理を実施するために使用される。ＥＣＵ製造会社は、ブートプログラムおよび制御プログラムをフラッシュメモリ３０に書き込んだ状態で、車両製造会社にＥＣＵ１０を納入する。本実施形態では、ブートプログラムがフラッシュメモリ３０に記憶されるので、バージョン変更等でブートプログラムの書き換えが必要となった場合に、ブートプログラムを容易に書き換えることができる。
【００２８】
図２の（Ａ）に示すように、車両製造会社では、納入されたＥＣＵ１０にパーソナルコンピュータ（ＰＣ）１００等の外部装置を接続し、車両構成に応じた適合データを通信手段としての通信インタフェース７０を介してＥＣＵ１０に送信する。ＥＣＵ１０は、処理手段としてのＣＰＵ２０がブートプログラムを実行することにより、受信した適合データをフラッシュメモリ３０に書き込む。
【００２９】
次に、ブートプログラムと制御プログラムと適合データとがそれぞれ所定の記憶領域４０、５０、６０に書き込まれた状態のフラッシュメモリ３０を図２の（Ｂ）に示す。
【００３０】
制御プログラム用の記憶領域５０の最後、つまり記憶位置が変化しない特定位置に、車両製造会社で書き込まれた適合データの種類を識別するための識別情報６２のアドレスが識別情報アドレス５２として書き込まれている。制御プログラムおよび適合データをコンパイルしたときに、適合データ用の記憶領域６０に記憶されている識別情報６２のアドレスが識別情報アドレス５２に設定される。このように、制御プログラム用の記憶領域５０の特定位置に識別情報アドレス５２が記憶されるので、制御プログラムのバージョン変更にともなう制御プログラムの書き換え等に対応して制御プログラムを再コンパイルしても、制御プログラム用の記憶領域５０において識別情報アドレス５２が記憶されるアドレスは変化しない。
【００３１】
識別情報６２は、車両構成に応じて異なる適合データを識別するために、車両構成毎に数桁の整数で表されている。識別情報６２は、車両製造会社において車両構成に応じて該当するＥＣＵ１０のフラッシュメモリ３０に適合データを書き込むときに、適合データとともに書き込まれる。尚、制御プログラムまたは適合データのバージョン変更にともなう制御プログラムまたは適合データの書き換え等に対応して、制御プログラムおよび適合データを再コンパイルすると、適合データの記憶領域に書き込まれ記憶される識別情報のアドレスは変化することがある。
【００３２】
ブートプログラムは、適合データ用の記憶領域６０に記憶されている識別情報６２のアドレスは知らない。一方、制御プログラム用の記憶領域５０において識別情報アドレス５２が記憶されている特定位置を示すアドレスは固定であり変化しないので、識別情報アドレス５２が記憶されている特定位置を示すアドレスを固定アドレスとして予めブートプログラムに設定できる。本実施形態では、識別情報アドレス５２は、固定アドレスとして制御プログラムの記憶領域５０の最後に記憶されている。したがって、ブートプログラムは、制御プログラムの記憶領域５０の最後に記憶されている識別情報アドレス５２を読み出し、識別情報アドレス５２から識別情報６２を読み出すことができる。
【００３３】
（適合データ適正判定）
次に、車両構成に応じて該当するＥＣＵ１０のフラッシュメモリ３０に適正な適合データが書き込まれたか否かを判定する適合データの適正判定について説明する。
【００３４】
図３および図４のフローチャートにおいて、ＥＣＵ１０と外部装置であるＰＣ１００とは通信により指令およびデータを送受信している。図３および図４のフローチャートにおいて、「Ｓ」はステップを表している。図３の適正判定ルーチンでは、車両構成に応じて適正な適合データがＥＣＵ１０に書き込まれたか否かの判定をＰＣ１００側で実施する。一方、図４の適正判定ルーチンでは、車両構成に応じて適正な適合データがＥＣＵ１０に書き込まれたか否かの判定をＥＣＵ１０側で実施する。
【００３５】
［ＰＣ１００側で適正判定］
まず、図３の適正判定ルーチンにおけるＥＣＵ１０側の処理とＰＣ１００側の処理とを別々に説明する。
【００３６】
（ＥＣＵ１０側での処理）
Ｓ３００においてＥＣＵ１０は、ＰＣ１００から電源を供給されると、フラッシュメモリ３０の先頭アドレスから処理を開始する。つまり、ＥＣＵ１０は、ブートプログラムモードで起動する。ＥＣＵ１０は、ブートプログラムモードで起動してから所定時間以内に何らかの指令を受け取らないと、制御プログラムに処理を移行する。
【００３７】
ＥＣＵ１０は、所定時間以内にＰＣ１００から適合データの書き込み要求を受信すると、Ｓ３０２において、ＰＣ１００から送信された適合データを適合データ用の記憶領域６０に書き込む。適合データの書き込みが終了すると、ＥＣＵ１０は、ＰＣ１００から識別情報６２の読み出し要求を受信するまで待機する。
【００３８】
ＰＣ１００から識別情報６２の読み出し要求を受信すると、Ｓ３０４においてＥＣＵ１０は、制御プログラム用の記憶領域５０の最後の固定アドレスから識別情報アドレス５２を読み出し、適合データ用の記憶領域に記憶されている識別情報６２を識別情報アドレス５２から読み出す。そして、ＥＣＵ１０は、読み出した識別情報６２をＰＣ１００に送信する。識別情報６２をＰＣ１００に送信すると、ＥＣＵ１０は本ルーチンを終了し、待機状態となる。
【００３９】
（ＰＣ１００側での処理）
Ｓ３１０においてＰＣ１００は、ＥＣＵ１０への電源供給を開始する。そして、Ｓ３１２、Ｓ３１４においてＰＣ１００は、適合データの書き込み要求と、車両構成に応じて該当するＥＣＵ１０に書き込むべき適合データとをＥＣＵ１０に送信する。適合データには、適合データを識別するための識別情報６２が識別情報アドレス５２の示すアドレスの位置に設定されている。
【００４０】
ところで、ＰＣ１００がＥＣＵ１０に適合データを送信する場合、誤って送信すべき種類の適合データと異なる適合データがＰＣ１００に設定され、そのままＥＣＵ１０に送信されることが起こりえるので、車両構成に応じて適正な適合データが該当するＥＣＵ１０に書き込まれたか否かを確認する必要がある。そこで、ＥＣＵ１０に適合データを送信してから所定時間が経過するか、あるいはＥＣＵ１０から書き込み終了の通知を受信すると、Ｓ３１６においてＰＣ１００は、識別情報６２の読み出し要求をＥＣＵ１０に送信し、ＥＣＵ１０から識別情報６２を受信するまで待機する。
【００４１】
ＥＣＵ１０から識別情報６２を受信すると、Ｓ３１８においてＰＣ１００は、車両構成に応じて該当するＥＣＵ１０に書き込むべき適正な適合データの識別情報と、ＥＣＵ１０から受信した識別情報６２とが一致するかを判定する。
【００４２】
適正な適合データの識別情報と、ＥＣＵ１０から受信した識別情報６２とが一致する場合（Ｓ３１８：Ｙｅｓ）、Ｓ３２０においてＰＣ１００は、車両構成に応じて適正な適合データが該当するＥＣＵ１０に正常に書き込まれたと判定し、Ｓ３２４において判定結果が正常であることを表示して本ルーチンを終了する。
【００４３】
適正な適合データの識別情報と、ＥＣＵ１０から受信した識別情報６２とが一致しない場合（Ｓ３１８：Ｎｏ）、Ｓ３２２においてＰＣ１００は、車両構成に応じた適正な適合データとは異なる適合データが該当するＥＣＵ１０に異常に書き込まれたと判定し、Ｓ３２４において判定結果が異常であることを表示して本ルーチンを終了する。
【００４４】
図３の訂正判定ルーチンでは、ＥＣＵ１０のブートプログラムが適合データの識別情報６２を読み出してから、車両構成に応じて適正な適合データが書き込まれたか否かの判定をＰＣ１００側で実行することにより、ＥＣＵ１０のフラッシュメモリ３０に適合データに対する適正判定のプログラムを記憶する必要がない。これにより、フラッシュメモリ３０の残容量の減少を防止できる。
【００４５】
［ＥＣＵ１０側で適正判定］
次に、図４の適正判定ルーチンにおけるＥＣＵ１０側の処理とＰＣ１００側の処理とを図３と同様に別々に説明する。
【００４６】
（ＥＣＵ１０側での処理）
Ｓ３３０においてＥＣＵ１０は、ＰＣ１００から電源を供給されると、フラッシュメモリ３０の先頭アドレスから処理を開始する。つまり、ＥＣＵ１０は、ブートプログラムモードで起動する。ＥＣＵ１０は、ブートプログラムモードで起動してから所定時間以内に何らかの指令を受け取らないと、制御プログラムに処理を移行する。
【００４７】
ＥＣＵ１０は、所定時間以内にＰＣ１００から適合データの書き込み要求を受信すると、Ｓ３３２において、ＰＣ１００から送信された適合データを適合データ用の記憶領域６０に書き込む。適合データの書き込みが終了すると、ＥＣＵ１０は、識別情報６２の適正判定要求と、車両構成に応じて該当するＥＣＵ１０にＰＣ１００が送信すべき適正な適合データの識別情報とを、ＰＣ１００から受信するまで待機する。
【００４８】
ＰＣ１００から識別情報６２の適正判定要求と適正判定を実施するための識別情報とを受信すると、Ｓ３３４においてＥＣＵ１０は、制御プログラム用の記憶領域５０の最後の固定アドレスから識別情報アドレス５２を読み出し、適合データ用の記憶領域６０に記憶されている識別情報６２を識別情報アドレス５２から読み出す。
【００４９】
Ｓ３３６においてＥＣＵ１０は、読み出した識別情報６２と、ＰＣ１００から受信した適正な適合データの識別情報とが一致するかを判定する。
【００５０】
読み出した識別情報６２と、ＰＣ１００から受信した適正な適合データの識別情報とが一致する場合（Ｓ３３６：Ｙｅｓ）、Ｓ３３８においてＥＣＵ１０は、車両構成に応じて適正な適合データをフラッシュメモリ３０に正常に書き込んだと判定する。そして、Ｓ３４４においてＥＣＵ１０は、ＰＣ１００に書き込みが正常終了したことを通知し、本ルーチンを終了して待機状態になる。
【００５１】
読み出した識別情報６２と、ＰＣ１００から受信した適正な適合データの識別情報とが一致しない場合（Ｓ３３６：Ｎｏ）、Ｓ３４０においてＥＣＵ１０は、車両構成に応じた適正な適合データとは異なる適合データをフラッシュメモリ３０に異常に書き込んだと判定する。そして、Ｓ３４２においてＥＣＵ１０は、適合データの異常書き込みに対するフェイルセーフ処理を実施する。フェイルセーフ処理として、ＥＣＵ１０は、例えば適合データの異常書き込みをフラグ等でフラッシュメモリ３０に記憶しておき、次回の起動時にエンジンの始動を禁止するか、あるいは、フラッシュメモリ３０に書き込んだ適合データを消去する等の適切な処理を実施する。
【００５２】
Ｓ３４２でフェイルセーフ処理を実施すると、Ｓ３４４においてＥＣＵ１０は、ＰＣ１００に書き込みが異常終了したことを通知し、本ルーチンを終了して待機状態になる。
【００５３】
（ＰＣ１００側での処理）
Ｓ３５０においてＰＣ１００は、ＥＣＵ１０への電源供給を開始する。そして、Ｓ３５２、Ｓ３５４においてＰＣ１００は、適合データの書き込み要求と適合データとをＥＣＵ１０に送信する。適合データには、適合データを識別するための識別情報６２が識別情報アドレス５２の示すアドレスの位置に設定されている。
【００５４】
前述したように、ＰＣ１００がＥＣＵ１０に適合データを送信する場合、誤って送信すべき種類の適合データと異なる適合データがＰＣ１００に設定され、そのままＥＣＵ１０に送信されることが起こりえるので、車両構成に応じて適正な適合データが該当するＥＣＵ１０に書き込まれたか否かを確認する必要がある。
【００５５】
そこで、ＥＣＵ１０に適合データを送信してから所定時間が経過するか、あるいはＥＣＵ１０から書き込み終了の通知を受信すると、Ｓ３５６、Ｓ３５８においてＰＣ１００は、適正な適合データが書き込まれたかを判定する適正判定要求と、車両構成に応じて該当するＥＣＵ１０に書き込むべき適正な適合データの識別情報と、をＥＣＵ１０に送信し、ＥＣＵ１０から書き込み結果を受信するまで待機する。
【００５６】
ＥＣＵ１０から書き込み結果を受信すると、ＰＣ１００は、ディスプレイ等に書き込み結果を表示し、本ルーチンを終了する。
【００５７】
図４の適正判定ルーチンでは、ＥＣＵ１０のブートプログラムが適合データの識別情報６２を読み出してから、車両構成に応じて適正な適合データが書き込まれたか否かの判定をＥＣＵ１０側で実行することにより、不正な適合データが書き込まれた場合、前述したように、エンジンの始動を禁止するか、あるいは、フラッシュメモリ３０に書き込んだ適合データを消去する等の適切なフェイルセーフ処理を実施できる。
【００５８】
以上説明した上記実施形態では、車両構成に応じた適合データの種類を示す識別情報６２が、制御プログラムの記憶領域５０における最後である固定アドレスに記憶されている。これにより、ブートプログラムは、バージョン変更等により適合データの構成が変化しても、制御プログラムの記憶領域５０における固定アドレスから識別情報アドレス５２を読み出し、識別情報アドレス５２から識別情報６２を読み出すことができる。その結果、識別情報６２を読み出すためにＥＣＵ１０をリセットしてブートプログラムモードから制御プログラムモードに移行させる必要がないので、識別情報６２の読み出し工数を低減できる。
【００５９】
［他の実施形態］
上記実施形態では、車両構成に応じて適正な適合データが書き込まれたか否かをＥＣＵ１０側で判定する場合、ＣＰＵ２０がブートプログラムを実行して識別情報６２を読み出してから、ブートプログラムによりそのまま適合データの適正を判定した。これに対し、ＣＰＵ２０がブートプログラムを実行して識別情報６２を読み出してから、ＣＰＵ２０が制御プログラムを実行して適合データの適正を判定してもよい。
【００６０】
上記実施形態では、制御プログラム用の記憶領域５０の最後である固定アドレスに識別情報アドレス５２を記憶した。これに対し、識別情報アドレス５２が記憶される制御プログラム用の記憶領域５０におけるアドレスは、ブートプログラムに予め設定できる固定アドレスであればどこでもよい。ただし、制御プログラムの処理の流れを妨げないように、識別情報アドレス５２は、制御プログラム用の記憶領域５０の最後でなければ最初に記憶されることが望ましい。
【００６１】
また、上記実施形態では、制御プログラムおよび適合データと同じフラッシュメモリ３０にブートプログラムを記憶した。これに対し、制御プログラムおよび適合データが記憶されているフラッシュメモリ３０ではなく、不揮発性メモリとしてＲＯＭにブートプログラムを記憶しておいてもよい。
【００６２】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【図面の簡単な説明】
【００６３】
【図１】本実施形態によるフラッシュメモリへの書き込み手順を示す模式図。
【図２】ＥＣＵおよびフラッシュメモリの構成を示す模式図。
【図３】ＥＣＵおよび外部装置での適正判定ルーチンを示すフローチャート。
【図４】ＥＣＵおよび外部装置での他の適正判定ルーチンを示すフローチャート。
【符号の説明】
【００６４】
１０：ＥＣＵ（車載電子制御装置）、２０：ＣＰＵ（処理手段）、３０：フラッシュメモリ（書換え可能な不揮発性メモリ）、４０：ブートプログラム用の記憶領域、５０：制御プログラム用の記憶領域、５２：識別情報アドレス、６０：適合データ用の記憶領域、６２：識別情報、７０：通信インタフェース（通信手段）、１００：パーソナルコンピュータ（外部装置）
【図１】
2010113409.tif 000003
【図２】
2010113409.tif 000004
【図３】
2010113409.tif 000005
【図４】
2010113409.tif 000006