(57)【要約】【課題】外部ツールに対して必要な情報を提供する識別コードを用いて制御プログラムの書換えを行う場合であれ、対外部ツール転送用プログラムの変更や追加を伴うことなく好適なプログラムの書換えを行うことのできる車両用電子制御装置および制御プログラムの書換え方法を提供する。【解決手段】制御プログラムＰ１を書き換えるに際して、取得要求に応じて電子制御装置１０にて取得される識別コードが同電子制御装置１０と外部ツールＴとの間で授受され、この識別コードの授受に基づいて外部ツールＴから送られてくる書換え用のプログラムＷＰ１を用いて制御プログラムＰ１の少なくとも一部（制御データも含む）を書き換える。このとき識別コードの取得を、外部ツールＴから送られてくる識別コード取得プログラムＰ１２の実行のもとに行うようにする。【選択図】        図１
2006221274.tif 000002
【特許請求の範囲】
【請求項１】
車載装置を制御するための制御プログラムを不揮発に保持し、同制御プログラムの書換えに際しては、取得要求に応じて当該電子制御装置に係る識別コードを取得し、該取得される識別コードの授受に基づいて外部ツールから送られてくる書換え用のプログラムを用いて前記制御プログラムの少なくとも一部を書き換える車両用電子制御装置において、
前記識別コードの取得が、前記外部ツールから送られてくる識別コード取得プログラムの実行のもとに行われる
ことを特徴とする車両用電子制御装置。
【請求項２】
前記書換え用のプログラムは、前記識別コードが適正であることを条件に前記外部ツールから送られてくる
請求項１に記載の車両用電子制御装置。
【請求項３】
前記識別コードは、前記外部ツールに用意されている複数種の書換え用のプログラムのうちに、必要とする前記書換え用のプログラムを判別するものである
請求項１に記載の車両用電子制御装置。
【請求項４】
前記識別コードは、前記外部ツールに設けられた記憶装置のアドレス指定をもって、同記憶装置に記憶されている複数種のプログラムの中から必要とする前記書換え用のプログラムを判別、選択するものである
請求項１に記載の車両用電子制御装置。
【請求項５】
請求項４に記載の車両用電子制御装置において、
前記外部ツールから送られてくる書換え用のプログラムとは別の書換え用のプログラムをさらに不揮発に保持し、前記制御プログラムの書換えを、これら書換え用のプログラムの協働のもとに行う
ことを特徴とする車両用電子制御装置。
【請求項６】
前記外部ツールから送られてくる書換え用のプログラムは、前記制御プログラムの書換えに際して特にデータ通信に係る処理を担うものである
請求項５に記載の車両用電子制御装置。
【請求項７】
前記識別コードは、前記識別コード取得プログラムの実行に基づき生成、取得される
請求項１〜６のいずれか一項に記載の車両用電子制御装置。
【請求項８】
前記識別コードは適宜の記憶手段に記憶されるかたちで当該電子制御装置に保持され、前記識別コードの取得は、前記識別コード取得プログラムの実行に基づき前記記憶手段から同識別コードが読み出されるかたちで行われる
請求項１〜６のいずれか一項に記載の車両用電子制御装置。
【請求項９】
前記識別コードは、当該電子制御装置に搭載されているマイクロコンピュータの種類を識別するものである
請求項１〜８のいずれか一項に記載の車両用電子制御装置。
【請求項１０】
前記識別コード取得プログラムは、当該電子制御装置から発行される認証キーと前記外部ツールにて発行される認証キーとを照合して互いに合致していることを条件に前記外部ツールから送られてくる
請求項１〜９のいずれか一項に記載の車両用電子制御装置。
【請求項１１】
車両用電子制御装置に不揮発に記憶保持されている車載装置の制御プログラムを書き換えるに際して、取得要求に応じて前記車両用電子制御装置にて取得される当該電子制御装置に係る識別コードが同電子制御装置と外部ツールとの間で授受され、この識別コードの授受に基づいて前記外部ツールから送られてくる書換え用のプログラムを用いて前記制御プログラムの少なくとも一部を書き換える制御プログラムの書換え方法において、
前記識別コードの取得が、前記外部ツールから送られてくる識別コード取得プログラムの実行のもとに行われる
ことを特徴とする制御プログラムの書換え方法。
【請求項１２】
前記書換え用のプログラムは、前記識別コードが適正であることを条件に前記外部ツールから送られてくる
請求項１１に記載の制御プログラムの書換え方法。
【請求項１３】
前記識別コードは、前記外部ツールに用意されている複数種の書換え用のプログラムのうちに、必要とする前記書換え用のプログラムを判別するものである
請求項１１に記載の制御プログラムの書換え方法。
【請求項１４】
前記識別コードは、前記外部ツールに設けられた記憶装置のアドレス指定をもって、同記憶装置に記憶されている複数種のプログラムの中から必要とする前記書換え用のプログラムを判別、選択するものである
請求項１１に記載の制御プログラムの書換え方法。
【請求項１５】
請求項１４に記載の制御プログラムの書換え方法において、
前記外部ツールから送られてくる書換え用のプログラムとは別の書換え用のプログラムをさらに前記電子制御装置に用意し、前記制御プログラムの書換えを、これら書換え用のプログラムの協働のもとに行う
ことを特徴とする制御プログラムの書換え方法。
【請求項１６】
前記外部ツールから送られてくる書換え用のプログラムは、前記制御プログラムの書換えに際して特にデータ通信に係る処理を担うものである
請求項１５に記載の制御プログラムの書換え方法。
【請求項１７】
前記外部ツールに設けられた記憶装置には、前記制御プログラムの書換えに際して特にデータ通信に係る処理を担うプログラムと、前記制御プログラムの書換えに際して当該書換えに係る具体的な処理内容を指示するプログラムとが格納され、前記識別コードによるアドレス指定をもって、前記必要とする書換え用のプログラムとしてこれら２種類のプログラムのうちのいずれか１つもしくは両方が選択される
請求項１６に記載の制御プログラムの書換え方法。
【請求項１８】
前記識別コードは、前記識別コード取得プログラムの実行に基づき生成、取得される
請求項１１〜１７のいずれか一項に記載の制御プログラムの書換え方法。
【請求項１９】
前記識別コードは適宜の記憶手段に記憶されるかたちで前記電子制御装置に保持され、前記識別コードの取得は、前記識別コード取得プログラムの実行に基づき前記記憶手段から同識別コードが読み出されるかたちで行われる
請求項１１〜１７のいずれか一項に記載の制御プログラムの書換え方法。
【請求項２０】
前記識別コードは、前記電子制御装置に搭載されているマイクロコンピュータの種類を識別するものである
請求項１１〜１９のいずれか一項に記載の制御プログラムの書換え方法。
【請求項２１】
前記識別コード取得プログラムは、前記電子制御装置から発行される認証キーと前記外部ツールにて発行される認証キーとを照合して互いに合致していることを条件に前記外部ツールから送られてくる
請求項１１〜２０のいずれか一項に記載の制御プログラムの書換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、各種車載装置（車載機器等）を制御する車両用電子制御装置に関し、特に外部ツールを用いて行われる制御プログラムの書換えに際して有益な車両用電子制御装置、およびその制御プログラムの書換え方法に関する。
【背景技術】
【０００２】
近年、車両、特に各種車載機器の高機能化に伴い、例えばエンジンの運転を制御する電子制御装置をはじめ、変速機や空調装置、照明装置、ドア、ミラー等々を制御する数多くの電子制御装置が車両に搭載されている。これら電子制御装置は、制御対象に対応する制御プログラムを不揮発性のメモリに記憶させるかたちで保持し、この制御プログラムに含まれる制御データと共にセンサ等を通じて取り込まれるデータ等を用いて上記制御プログラムを実行する。そうしてこの実行に基づく制御として、各制御対象に対して所望とされる制御が行われることになる。
【０００３】
こうした電子制御装置にあって、上記制御プログラムのバージョンアップや修正等を行う場合には、例えば外部ツールから提供されるプログラム（書換え用プログラム）を用いて同制御プログラムの内容（制御データ等も含む）を書き換える必要が生じる。しかしながら、この種の電子制御装置に搭載されるマイクロコンピュータはその種類が１つではなく、例えばＲＯＭやＲＡＭ等の各種メモリに対するアクセス方法、または各メモリやバス幅等のサイズ、さらにはその他の構成等で分類されている。このため、その搭載にあたっては、要求される仕様等に応じて複数種のマイクロコンピュータの中から当該電子制御装置に搭載すべき１つが選択されることになる。また一方、制御プログラムの書換え（修正や更新）に用いられる上記書換え用プログラムは、通常、当該装置に搭載されるマイクロコンピュータの種類別に専用に用意される。このため、これに対応しない書換え用プログラムが当該電子制御装置に転送されてくるようなことがあると、制御プログラムの内容が誤って書き換えられたり、消去されたりすることが懸念される。
【０００４】
こうした実情から、従来、例えば特許文献１に記載のような電子制御装置およびその制御プログラムの書換え方法が提案されている。すなわちこの装置は、書換え対象とする制御プログラムと共に当該装置に係る適宜の識別コードを、不揮発性のメモリ（ここではフラッシュメモリ）に記憶させるかたちで保持している。こうした構成にあって、上記制御プログラムの書換えを行う場合には、まず、所定の操作に基づいて外部ツールから発せられる要求信号を、当該電子制御装置が受信する。次いで、この要求信号を受信した当該装置が、同信号に応答するかたちで上記不揮発メモリに格納されている識別コードを外部ツールへ送信する。そして、この識別コードを受け取った外部ツールが、同コードに基づき、書換え用プログラムを当該電子制御装置へ送信するか否か、を判断する。このように、この装置においては、識別コードを用いて自らに搭載されるマイクロコンピュータの種類を外部ツールへ知らせることにより、同ツールに用意されている書換え用プログラムがこれに対応しないときには、その書換え用プログラムが当該装置へ転送されないようになっている。こうして不正な書換えやデータ消去等が未然に防がれている。
【特許文献１】米国特許第５，２７８，７５９号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
また従来、書換え用プログラムの選択は、例えば車両の品番ごと、換言すればマイクロコンピュータの種類ごとに対応表などを作ってこれに基づき作業者が多くのプログラムの中から当該書換えに必要とされる書換え用プログラムを選択するようにして行われている。しかしながら、このような方法では、書換え用プログラムの数（種類）が増えてくるとその管理が非常に複雑になる上、作業者自身によって人為的に書換え用プログラムが選択されることになるため、信頼性に欠けるといった問題がある。
【０００６】
そこでこうした問題を解消すべく、同じく識別コードを用いるものとして、当該装置に搭載される可能性のあるマイクロコンピュータの種類の別に各々対応する書換え用プログラム（例えば専用、あるいは最適のプログラム）を外部ツールに用意し、その中から適宜のプログラムを自動選択する制御プログラムの書換え方法が考えられる。図５に、こうした方法に用いられる電子制御装置および外部ツールの一例についてその概略構成を模式的に示す。
【０００７】
同図５に示されるように、この電子制御装置３０にはマイクロコンピュータＭ３が搭載されており、このマイクロコンピュータＭ３は、大きくは、図示しないＣＰＵ（中央処理装置）や、例えばフラッシュメモリ等からなる不揮発性メモリ３１、さらには例えばＲＡＭ（ランダムアクセスメモリ）からなる作業用のメモリ３２等を備えて構成されている。そして、この電子制御装置３０は、車載装置を制御するための制御プログラム（ＡＰＬ：アプリケーション）Ｐ３と共に、自らに搭載されているマイクロコンピュータＭ３の種類に対応する識別コードＩＤ３（ここではＡとする）も、上記不揮発性メモリ３１に記憶させるかたちで保持している。さらにこれに加えて、同不揮発性メモリ３１には、主に外部ツールＴとの間での通信に用いられる対外部ツール転送用プログラム（インターフェース手段）Ｐ３１も格納されており、同プログラムＰ３１の一部として、識別コード取得プログラムＰ３２が設けられている。
【０００８】
一方、外部ツールＴは、この電子制御装置３０に不揮発に保持されている上記制御プログラムＰ３を書き換える際に用いられるもので、これを操作することによって同プログラム（制御データも含む）Ｐ３の書換えが行われる。そしてこの外部ツールＴにおいては、電子制御装置３０との通信を管理する制御プログラムＴＰと、同装置３０に搭載される可能性のあるマイクロコンピュータの種類別に各々対応する書換え用プログラムＷＰ１およびＷＰ２とが、適宜の記憶装置（図示略）に記憶保持されている。なおここで、書換え用プログラムＷＰ１およびＷＰ２は、それぞれ識別コードの種類（ＡおよびＢ）別に関連付けされている。
【０００９】
こうした構成にあって、上記制御プログラム（制御データも含む）Ｐ３の書換えを行う際には、まず、所定の操作に基づいて制御プログラムＴＰが実行されて上記外部ツールＴから発せられる要求信号（取得要求）を、当該電子制御装置３０が受信する。そして、この要求信号（取得要求）を受信した電子制御装置３０が、同信号を対外部ツール転送用プログラムＰ３１に基づき処理し、上記識別コード取得プログラムＰ３２の実行のもとに、上記不揮発性メモリ３１から識別コードＩＤ３を読み出してこれを応答信号の一部として外部ツールＴへ送信する。次いで、この識別コードＩＤ３を受け取った外部ツールＴが、自らの保持している書換え用プログラムＷＰ１およびＷＰ２の中から同識別コードＩＤ３（Ａ）に対応する書換え用プログラム（ここでは書換え用プログラムＷＰ１）を判別、選択し、これを電子制御装置３０へ向けて転送する。そうして外部ツールＴから送られてくる書換え用プログラムＷＰ１が上記作業用メモリ３２に格納されてこれが同メモリ３２上で実行されることにより、当該電子制御装置３０にて上記不揮発に保持される制御プログラムＰ３の書換え（修正や更新）が行われることになる。
【００１０】
このように、この電子制御装置３０においては、外部ツールＴにより、当該電子制御装置３０に搭載されるマイクロコンピュータＭ３の種類に対応する書換え用プログラムＷＰ１が提供されて、この書換え用プログラムＷＰ１の実行のもとに、上記不揮発性メモリ３１に格納されている制御プログラムＰ３の内容（制御データも含む）が書き換えられる。すなわち、こうした書換え方法によれば、各識別コードに対応する書換え用プログラムを外部ツールに予め用意しておくことで、いかなるマイクロコンピュータが採用されようともこれに柔軟に対応して適切なプログラムの書換えが行われるようになる。
【００１１】
以上説明したように、識別コードを用いることで、同コードに基づき書換え用プログラムの転送を中止して不正な書換えやデータ消去等を未然に防いだり、あるいは外部ツールに用意されたプログラムの中から当該電子制御装置に搭載されているマイクロコンピュータの種類に対応する書換え用プログラムを自動的に選択したりすることが可能になる。しかしながら、こうした識別コードを利用するものでは、識別コードを取得するためのプログラム（図５に例示した装置でいえば識別コード取得プログラムＰ３２）が必要になる。ところが車載電子制御装置を開発する当初においては、このような識別コードを用いることが想定されていなかったため、ほとんどの対外部ツール転送用プログラム（図５）には、こうした識別コードを取得するためのプログラムが実装されていない。しかも安全面での配慮から、同対外部ツール転送用プログラムに対し変更や追加を実施することができない実情にある。
【００１２】
この発明は、こうした実情に鑑みてなされたものであり、外部ツールへ必要な情報を提供する識別コードを用いて制御プログラムの書換えを行う場合であれ、対外部ツール転送用プログラムの変更や追加を伴うことなく好適なプログラムの書換えを行うことのできる車両用電子制御装置および制御プログラムの書換え方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
こうした目的を達成すべく、請求項１に記載の発明では、車載装置を制御するための制御プログラムを不揮発に保持し、同制御プログラムの書換えに際しては、取得要求に応じて当該電子制御装置に係る識別コードを取得し、該取得される識別コードの授受に基づいて外部ツールから送られてくる書換え用のプログラムを用いて前記制御プログラムの少なくとも一部を書き換える車両用電子制御装置として、前記識別コードの取得が、前記外部ツールから送られてくる識別コード取得プログラムの実行のもとに行われる構成とする。
【００１４】
また、請求項１１に記載の発明では、車両用電子制御装置に不揮発に記憶保持されている車載装置の制御プログラムを書き換えるに際して、取得要求に応じて前記車両用電子制御装置にて取得される当該電子制御装置に係る識別コードが同電子制御装置と外部ツールとの間で授受され、この識別コードの授受に基づいて前記外部ツールから送られてくる書換え用のプログラムを用いて前記制御プログラムの少なくとも一部を書き換える制御プログラムの書換え方法として、前記識別コードの取得が、前記外部ツールから送られてくる識別コード取得プログラムの実行のもとに行われるようにする。
【００１５】
このような構成あるいは方法によれば、電子制御装置側に識別コード取得プログラムを予め用意しておかなくとも、上記外部ツールから送られてくる識別コード取得プログラムの実行のもとに、書換え対象とする制御プログラムを保持する上記電子制御装置にて識別コードが取得されるようになる。そうしてこの識別コードを用いることで、同コードに基づき書換え用プログラムの転送を中止して不正な書換えやデータ消去等を未然に防いだり、あるいは外部ツールに用意されたプログラムの中から当該電子制御装置に搭載されているマイクロコンピュータの種類に対応する書換え用プログラムを自動的に選択したりすることなどが可能になることは前述したとおりである。すなわち、上記構成あるいは方法によれば、外部ツールに対して必要な情報を提供する識別コードを用いて制御プログラム（制御データも含む）の書換えを行う場合であれ、対外部ツール転送用プログラムの変更や追加を伴うことなく好適なプログラムの書換えを行うことができるようになる。
【００１６】
また、請求項２あるいは１２に記載の発明では、上記請求項１に記載の装置あるいは請求項１１に記載の方法において、前記書換え用のプログラムが、前記識別コードが適正であることを条件に前記外部ツールから送られてくるようにする。
【００１７】
こうした構成あるいは方法においては、上記外部ツールが、書換え対象とする制御プログラムを保持する上記電子制御装置から受け取った識別コードの適性、例えば予め定められたコードと一致するか否か等を判断して、同制御プログラムを書き換える際に必要となる書換え用プログラムを送信するか否かを決定する。このため、同識別コードに基づき書換え用プログラムの転送を中止して不正な書換えやデータ消去等を未然に防ぐことなどができるようになる。
【００１８】
また、請求項３あるいは１３に記載の発明では、上記請求項１に記載の装置あるいは請求項１１に記載の方法において、前記識別コードを、前記外部ツールに用意されている複数種の書換え用のプログラムのうちに必要とする前記書換え用のプログラムを判別するものとする。
【００１９】
こうした構成あるいは方法においては、上記外部ツールが、保持している複数種の書換え用プログラムの中から識別コードに対応する書換え用プログラムを選択してそれを識別コードに対する応答として上記電子制御装置へ向けて送信する。このため、各識別コードに対応する書換え用プログラムを外部ツールに予め用意しておくことで、例えば当該電子制御装置に搭載されるマイクロコンピュータの種類等に最適な（例えば専用の）書換え用プログラムをその中から選んで、あるいはその中に最適な書換え用プログラムがなければそのプログラムの転送を中止して、当該プログラムの書換え（修正や更新）をより好適なかたちで行うことができるようになる。
【００２０】
また、請求項４あるいは１４に記載の発明では、上記請求項１に記載の装置あるいは請求項１１に記載の方法において、前記識別コードを、前記外部ツールに設けられた記憶装置のアドレス指定をもって、同記憶装置に記憶されている複数種のプログラムの中から必要とする前記書換え用のプログラムを判別、選択するものとする。
【００２１】
このように前記識別コードを、アドレス指定をもって複数種のプログラムの中から必要とする書換え用プログラムを判別、選択するものとすれば、同一の記憶装置に複数種のプログラムが記憶されている場合であれ、当該プログラムの書換え（修正や更新）に必要とされる書換え用プログラムが自動的に判別、選択されるようになる。このため、多様な機種をもつ車両用電子制御装置にあっても、外部ツールに適宜のプログラム構成で複数種のプログラムを用意することによってそれら電子制御装置に柔軟に対応することが可能になり、ひいては当該プログラムの書換え（修正や更新）がその対象とする機種に適したかたちで行われるようになる。
【００２２】
そして、この請求項４に記載の装置あるいは請求項１４に記載の方法を前提として、請求項５あるいは１５に記載の発明では、前記外部ツールから送られてくる書換え用のプログラムとは別の書換え用のプログラムをさらに前記電子制御装置に用意し、前記制御プログラムの書換えを、これら書換え用のプログラムの協働のもとに行うようにする。
【００２３】
このように、当該書換えに用いる書換え用プログラムの一部をその書換えの対象とする制御プログラムを保持する電子制御装置側に予め用意しておけば、上記外部ツールからの供給によって得るべき書換え用プログラムの情報量（データ量）は自ずと少なくなる。すなわちこれにより、外部ツール側に用意しておくべき書換え用プログラムの情報量も少なくて済むようになり、同ツールにおける記憶領域の確保が容易になるとともに、同ツールに保持される各種プログラムの構成の簡素化が図られるようになる。
【００２４】
また、請求項６あるいは１６に記載の発明では、特にここで、前記外部ツールから送られてくる書換え用のプログラムを、前記制御プログラムの書換えに際して特にデータ通信に係る処理を担うものとする。
【００２５】
通常、プログラムの書換え（修正や更新）に際して用いられる書換え用プログラムは、大きくは、当該書換えに係る具体的な処理内容を指示する制御部（書換え用制御プログラム）と、特にデータ通信に係る処理を担う通信部（書換え用通信プログラム）とに分けられる。そしてこのうち、特にデータ通信に係る処理を担う書換え用通信プログラムは、当該電子制御装置に搭載されるマイクロコンピュータの種類などによらず、複数種の電子制御装置において共通に用いられるものである。このため、自己の機種に対応する書換え用制御プログラムを保持する電子制御装置に対しては、上記構成あるいは方法のように、各種装置に共通に用いられる書換え用通信プログラムだけを外部ツールにより供給すれば足りる。すなわち上記構成あるいは方法によれば、この種の電子制御装置の書換え用制御プログラムの分だけ外部ツールの記憶領域を空けて、複数種の電子制御装置に対応することを可能としながら前記外部ツールにおける記憶領域（未使用領域）の拡大を図ることができるようになる。
【００２６】
またこのとき、請求項１７に記載の発明によるように、前記外部ツールに設けられた記憶装置に、前記制御プログラムの書換えに際して特にデータ通信に係る処理を担うプログラム（書換え用通信プログラム）と、前記制御プログラムの書換えに際して当該書換えに係る具体的な処理内容を指示するプログラム（書換え用制御プログラム）とを格納しておき、前記識別コードによるアドレス指定をもって、前記必要とする書換え用のプログラムとしてこれら２種類のプログラムのうちのいずれか１つもしくは両方が選択されるようにすれば、対象とする装置が識別コードによって判別され、同コードに基づくアドレス指定をもってそれに適した書換え用のプログラムが選択されるようになる。すなわち、対象とする装置が自己の機種に対応する書換え用のプログラム（より正確には書換え用制御プログラム）を保持する電子制御装置であっても、またこれを保持しない電子制御装置であっても、対象とする各装置へ適切な書換え用プログラムが提供されるようになる。
【００２７】
また、請求項１〜６のいずれか一項に記載の装置あるいは請求項１１〜１７のいずれか一項に記載の方法において、前記識別コードの取得に関しては、例えば請求項７あるいは１８に記載の発明によるように、
・前記識別コードを、前記識別コード取得プログラムの実行に基づき生成、取得されるものとする。
あるいは請求項８あるいは１９に記載の発明によるように、
・前記識別コードを、適宜の記憶手段に記憶されるかたちで前記電子制御装置に保持されるものとし、前記識別コードの取得を、前記識別コード取得プログラムの実行に基づき前記記憶手段から同識別コードが読み出されるかたちで行うようにする。
といった態様をもってこれを行うことが、この種の車両用電子制御装置あるいは制御プログラムの書換え方法として特に有効である。
【００２８】
また、請求項９あるいは２０に記載の発明では、請求項１〜８のいずれか一項に記載の装置あるいは請求項１１〜１９のいずれか一項に記載の方法において、前記識別コードを、前記電子制御装置に搭載されているマイクロコンピュータの種類を識別するものとする。
【００２９】
前述したように、通常、制御プログラムの書換え（修正や更新）に用いられる上記書換え用プログラムは、当該電子制御装置に搭載されるマイクロコンピュータの種類別に専用に用意される。このため、これに対応しない書換え用プログラムが当該電子制御装置に転送されてくるようなことがあると、制御プログラムの内容が誤って書き換えられたり、消去されたりすることが懸念される。また、こうした書換え用プログラムを選択する際にも、従来、書換え用プログラムの数（種類）が増えてくるとその管理が非常に複雑になる、あるいは作業者自身によって人為的に書換え用プログラムが選択されることにより信頼性に欠ける、等々の問題が生じている。
【００３０】
この点、上記構成あるいは方法によれば、識別コードを用いることで、同コードに基づき当該電子制御装置に搭載されているマイクロコンピュータの種類に対応しない書換え用プログラムの転送を中止して不正な書換えやデータ消去等を未然に防いだり、あるいは外部ツールに用意されたプログラムの中から当該電子制御装置に搭載されているマイクロコンピュータの種類に最適な書換え用プログラムを自動的に選択したりすることが可能になる。
【００３１】
また、請求項１０あるいは２１に記載の発明では、請求項１〜９のいずれか一項に記載の装置あるいは請求項１１〜２０のいずれか一項に記載の方法において、前記識別コード取得プログラムが、前記電子制御装置から発行される認証キーと前記外部ツールにて発行される認証キーとを照合して互いに合致していることを条件に前記外部ツールから送られてくる構成あるいは方法とする。
【００３２】
このように、外部ツールを通じて当該電子制御装置に保持される制御プログラム（制御データも含む）を書き換えるに際し、同外部ツールによる電子制御装置へのアクセスをより高いセキュリティレベルをもって許可するようにすれば、当該電子制御装置に保持される制御プログラムに対する不正な書換えは好適に予防されるようになる。
【発明を実施するための最良の形態】
【００３３】
（第１の実施の形態）
以下、この発明に係る車両用電子制御装置およびその制御プログラムの書換え方法を具体化した第１の実施の形態について説明する。なお、ここでは一例として、車両に搭載されたエンジンの運転を制御する電子制御装置についてこの発明を具体化する。
【００３４】
まず、図１を参照しつつ、この実施の形態に係る車両用電子制御装置、並びに同装置と通信可能に接続される外部ツールの構成の概略について説明する。なお、この外部ツールは、車両のエンジンルーム等、適宜の箇所に設けられているコネクタを介して車両に搭載されている各種電子制御装置と電気的に接続されて、それら各電子制御装置の設定や制御情報の閲覧、さらには制御プログラム（制御データも含む）の書換え（修正や更新）等を行う際に用いられる機器である。そして、この実施の形態に係る電子制御装置に実装された制御プログラムの書換えも、この外部ツールを通じて行われるようになっている。
【００３５】
同図１に示されるように、この電子制御装置１０にはマイクロコンピュータＭ１が搭載されており、このマイクロコンピュータＭ１は、大きくは、図示しないＣＰＵ（中央処理装置）や、例えばフラッシュメモリ等からなる不揮発性メモリ１１、さらには例えばＲＡＭ（ランダムアクセスメモリ）からなる作業用のメモリ１２等を備えて構成されている。そして、この電子制御装置１０は、車載装置（ここではエンジン）を制御するための制御プログラム（ＡＰＬ：アプリケーション）Ｐ１を上記不揮発性メモリ１１に記憶させるかたちで保持している。またさらに、この不揮発性メモリ１１には、主に外部ツールＴとの間での通信に用いられる対外部ツール転送用プログラム（インターフェース手段）Ｐ１１が、その書換えを禁止された状態で、すなわち読み取ることのみ可能な状態で格納されている。
【００３６】
一方、外部ツールＴは、先に詳述したように、上記電子制御装置１０に不揮発に保持されている制御プログラムＰ１を書き換える際などに用いられるものであり、これを操作することによって同制御プログラム（制御データも含む）Ｐ１の書換えが行われる。そしてこの外部ツールＴにおいては、対象とする各電子制御装置との間の通信を管理する制御プログラムＴＰや、それら電子制御装置に搭載される可能性のあるマイクロコンピュータの種類（ここでは２種類）の別に各々対応する（ここでは専用の）書換え用プログラムＷＰ１およびＷＰ２が、適宜の記憶装置（図示略）に記憶保持されている。また、この実施の形態においては、これら書換え用プログラムＷＰ１およびＷＰ２に加えてさらに、識別コードを取得する際に用いられる識別コード取得プログラムＰ１２も、この図示しない記憶装置に格納されている。なおここで、書換え用プログラムＷＰ１およびＷＰ２は、それぞれ識別コードの種類（ＡおよびＢ）別に関連付けされている。また具体的には、これら書換え用プログラムＷＰ１およびＷＰ２は各々、制御プログラムの書換えに際して当該書換えに係る具体的な処理内容を指示する書換え用制御プログラムＷＰ１ａおよびＷＰ２ａと、制御プログラムの書換えに際して特にデータ通信に係る処理を担う書換え用通信プログラムＷＰ１ｂおよびＷＰ２ｂとにより構成されている。
【００３７】
次に、図２および図３を併せ参照して、これら電子制御装置１０および外部ツールＴによる制御プログラムの書換え方法の一態様について説明する。なお、図２は電子制御装置１０の処理手順を示すフローチャート、また図３は外部ツールＴの処理手順を示すフローチャートである。
【００３８】
図２に示すように、上記制御プログラム（制御データも含む）Ｐ１の書換えを行うにあたっては、まず、電子制御装置１０において、同装置のモードがプログラム書換えモードになっているか否かが判断される（ステップＳ１０１）。一般に、この種の電子制御装置は複数のモードをもっており、通常時には、例えばＡＰＬモードとして、上記制御プログラムＰ１に含まれる制御データと共にセンサ等を通じて取り込まれるデータ等を用いて、同制御プログラムＰ１の実行に基づいて制御対象とする車載装置（ここではエンジン）を制御している。そうして上記制御プログラムＰ１の書換えを行う際には、例えば作業者によるコマンド入力等を通じて当該電子制御装置１０のモードがプログラム書換えモードに変更される。このステップＳ１０１では、こうしたモードの変更を検知すべく、常に電子制御装置１０のモードがプログラム書換えモードであるか否かが判断されている。さらに詳しくは、この判断は上記対外部ツール転送用プログラムＰ１１の実行のもとに行われて、より具体的には、例えば作業用メモリ１２の所定領域が上記制御プログラムＰ１で埋まっているか否かをみることによって行われる。そうして、同領域が空であればプログラム書換えモード、またそうでなければＡＰＬモードと判断されて、その都度、プログラムカウンタが対応する値に変更される。
【００３９】
そうして、このステップＳ１０１でプログラム書換えモードになっていると判断されると、これに続くステップＳ１０２において当該電子制御装置１０は、外部ツールＴからのキー要求を待つ状態になる。
【００４０】
一方、外部ツールＴ側では、図３に示すように、例えば作業者による所定の操作に基づいて制御プログラムＴＰが実行されて上記キー要求待ち状態にある電子制御装置１０に対してキー要求が発せられる（ステップＳ２０１）。そしてこれに続くステップＳ２０２において、今度は外部ツールＴが待ち状態になる。
【００４１】
そして電子制御装置１０は、この外部ツールＴからのキー要求を受信すると、次にステップＳ１０３（図２）の処理として、自己の認証キー（第１のキー）を適宜の方法（例えば記憶装置からの読み出し、あるいは適宜の演算処理に基づく生成など）により取得してこれを外部ツールＴへ送信する。そしてこれに続くステップＳ１０４で、同電子制御装置１０は再び待ち状態になる。
【００４２】
また一方、外部ツールＴは、この認証キー（第１のキー）を受信すると、次にステップＳ２０３（図３）の処理として、自己の認証キー（第２のキー）を作成するとともに、これを電子制御装置１０へ送信する。そして、これに続くステップＳ２０４で、再び待ち状態となる。
【００４３】
次に、この認証キー（第２のキー）を受信した電子制御装置１０が、ステップＳ１０５（図２）において、対外部ツール転送用プログラムＰ１１の実行のもとに両者の認証キー（第１および第２のキー）を照合して互いに合致しているか否かを判定し、その判定結果（照合結果）を外部ツールＴへ送信する。そして、これに続くステップＳ１０６で、再び電子制御装置１０が待ち状態になる。
【００４４】
また外部ツールＴは、ステップＳ２０４（図３）において、受け取った判定結果（照合結果）の良否を判定して、問題なければ、すなわち両者の認証キーが合致していればステップＳ２０５へと進む。そして外部ツールＴは、このステップＳ２０５において、上記識別コード取得プログラムＰ１２（図１）を電子制御装置１０の作業用メモリ１２へ向けて転送することになる。
【００４５】
このように、この実施の形態においては、識別コード取得プログラムＰ１２が、電子制御装置１０から発行される認証キー（第１のキー）と外部ツールＴにて発行される認証キー（第２のキー）とを照合して互いに合致していることを条件に外部ツールＴから送られてくるようになっている。こうしてセキュリティレベルを高めることにより、上記制御プログラムＰ１に対する不正な書換えの予防が図られている。
【００４６】
さらに外部ツールＴは、これに続くステップＳ２０６（図３）において、制御プログラムＴＰ（図１）の実行のもとに発せられる要求信号（取得要求）を、電子制御装置１０へ向けて送信する。
【００４７】
また一方、電子制御装置１０は、作業用メモリ１２（図１）への上記識別コード取得プログラムＰ１２の転送が完了すると、ステップＳ１０７（図２）の処理として、同プログラムＰ１２を作業用メモリ１２上で実行して自身に搭載されているマイクロコンピュータＭ１の種類に対応する識別コード（ここではＡとする）を生成、取得する。この際、識別コードの生成には、例えばマイクロコンピュータＭ１のＣＰＵ（図示略）に用意されているマイクロコンピュータの種類を示すポート等が利用される。そうして続くステップＳ１０８で外部ツールＴからの上記要求信号（取得要求）を待っていてこれを受信すると、次のステップＳ１０９において、先のステップＳ１０７にて取得した識別コードを応答信号の一部として外部ツールＴへ送信する。
【００４８】
そして外部ツールＴは、ステップＳ２０７（図３）にて待っていた識別コードを受け取ると、続くステップＳ２０８〜Ｓ２１０において、自らが保持している書換え用プログラムＷＰ１およびＷＰ２（図１）の中から同識別コード（Ａ）に対応する書換え用プログラムを判別、選択する。すなわち、まずステップＳ２０８において、電子制御装置１０の識別コードが「Ａ」であると判断されると、続くステップＳ２０９において、同コードに対応する書換え用プログラムＷＰ１が選択されて、次のステップＳ２１１の処理として、この書換え用プログラムＷＰ１が電子制御装置１０へ向けて転送される。そうしてこの転送をもって、外部ツールＴの一連の処理（図３）が終了することになる。なお、同図３に示されるように、先のステップＳ２０２、Ｓ２０４、Ｓ２０７で待っているときに予め定められた時間を経過（タイムアウト）したり、あるいはステップＳ２０８で、受け取った識別コードが想定されている識別コード以外のものと判定されたりした場合も、この一連の処理は終了することになる。ただしこの場合は、その処理の終了に先立ち、ＮＧ（Ｎｏ  Ｇｏｏｄ＝異常）処理として、適宜の処理（例えばＮＧ情報の保存等）が行われるようになっている（ステップＳ２１２）。
【００４９】
一方、電子制御装置１０は、こうして送られてくる書換え用プログラムＷＰ１を、ステップＳ１１０（図２）にて作業用メモリ１２に格納するとともに、これを同メモリ１２上で起動（ステップＳ１１１）して、続くステップＳ１１２で、同プログラムＷＰ１の実行のもとに、制御プログラム（制御データも含む）Ｐ１の書換えを行う。そうしてこの書換えが無事に終わると、これに続くステップＳ１１３の処理として、ＷＤＣ（ウォッチドッククリア）の停止やＣＰＵのリセット等といった適宜の前処理を行った後、ＣＰＵを再起動する。そしてこの再起動をもって、電子制御装置１０の一連の処理（図２）も終了することになる。なお、同図２に示されるように、先のステップＳ１０２、Ｓ１０４、Ｓ１０６、Ｓ１０８、Ｓ１１０で待っているときに予め定められた時間を経過（タイムアウト）した場合も、この一連の処理は終了することになる。
【００５０】
このように、この電子制御装置１０においては、外部ツールＴにより、当該電子制御装置１０に搭載されるマイクロコンピュータＭ１の種類に対応する書換え用プログラムＷＰ１が提供されて、この書換え用プログラムＷＰ１の実行のもとに、不揮発性メモリ１１に格納されている制御プログラムＰ１の内容（制御データも含む）が書き換えられる。しかもここでは、識別コードの取得が、外部ツールＴから送られてくる識別コード取得プログラムＰ１２の実行のもとに行われる。こうした書換え方法によれば、電子制御装置１０側に識別コード取得プログラムＰ１２を予め用意しておかなくとも、すなわち対外部ツール転送用プログラムＰ１１の変更や追加を伴うことなく、外部ツールＴから送られてくる識別コード取得プログラムＰ１２の実行により上記識別コードの取得が可能になる。すなわち、当該電子制御装置１０に搭載されている不揮発性メモリ１１を変更（交換）することなく、外部ツールＴ内のプログラムの変更のみで多様な電子制御装置の機種（より正確にはこれに搭載されるマイクロコンピュータ）の種類にも対応することができるようになる。そうして、各識別コードに対応する書換え用プログラムＷＰ１およびＷＰ２を外部ツールＴに予め用意しておくことで、いかなるマイクロコンピュータが採用されようともこれに柔軟に対応して適切なプログラムの書換えが行われることになる。
【００５１】
以上説明したように、この実施の形態に係る車両用電子制御装置およびその制御プログラムの書換え方法によれば、以下のような多くの優れた効果が得られるようになる。
（１）制御プログラムＰ１を書き換えるに際して、取得要求に応じて電子制御装置１０にて取得される識別コードが同電子制御装置１０と外部ツールＴとの間で授受され、この識別コードの授受に基づいて外部ツールＴから送られてくる書換え用のプログラムＷＰ１を用いて制御プログラムＰ１の少なくとも一部（制御データも含む）を書き換える。こうした車両用電子制御装置およびその制御プログラムの書換え方法として、識別コードの取得が、外部ツールＴから送られてくる識別コード取得プログラムＰ１２の実行のもとに行われるようにした。これにより、対外部ツール転送用プログラムＰ１１の変更や追加を伴うことなく、識別コードを用いて好適なプログラムの書換えを行うことができるようになる。
【００５２】
（２）当該電子制御装置１０に搭載されるマイクロコンピュータＭ１の種類に最適な（ここでは専用の）書換え用プログラムを同識別コードに基づき、判別、選択し、また用意された書換え用プログラムの中に最適なものがなければ、すなわち識別コードが適正でなければそのプログラムの転送を中止するようにした。こうすることで、当該電子制御装置１０に搭載されているマイクロコンピュータＭ１の種類に対応する書換え用プログラムが自動的に選択されるようになり、ひいてはその選択の信頼性が大きく高められるようになる。さらに、書換え用プログラムの転送中止をもって不正な書換えやデータ消去等が未然に防がれるようにもなる。
【００５３】
（３）またこの識別コードを、当該電子制御装置１０に搭載されているマイクロコンピュータＭ１の種類を識別するものとしたことで、実用上特に重要な課題が解決されることになる。すなわち、この実施の形態に係る装置あるいは方法によれば、今実際に生じている問題、例えば書換え用プログラムの数（種類）が増えてくるとその管理が非常に複雑になる、あるいは作業者自身によって人為的に書換え用プログラムが選択されることにより信頼性に欠ける等といった問題が解消されることにもなる。
【００５４】
（４）さらにこの識別コードを、識別コード取得プログラムＰ１２の実行に基づき生成、取得されるものとした。これにより、予め記憶装置等に保管しておかなくとも、同識別コードを必要なときに取得することができるようになる。またこの識別コードは、例えばＣＰＵに用意されたポートレベルを読み取ることで容易に生成することができる。
【００５５】
（５）上記識別コード取得プログラムＰ１２は、電子制御装置１０から発行される認証キー（第１のキー）と外部ツールＴにて発行される認証キー（第２のキー）とを照合して互いに合致していることを条件に外部ツールＴから送られてくるようにした。このように、外部ツールＴを通じて実行される制御プログラム（制御データも含む）Ｐ１の書換えに際して、外部ツールＴによる電子制御装置１０へのアクセスをより高いセキュリティレベルをもって許可するようにすることで、制御プログラムＰ１に対する不正な書換えは好適に予防されるようになる。
【００５６】
（第２の実施の形態）
次に、図４を併せ参照して、この発明に係る車両用電子制御装置およびその制御プログラムの書換え方法を具体化した第２の実施の形態について説明する。なおここでは、この第２の実施の形態に係る装置と先の第１の実施の形態の装置（図１）とを対比しつつ、主に両者の違いについて詳述する。
【００５７】
まず、図４を参照しつつ、この実施の形態に係る車両用電子制御装置および外部ツールの構成の概略について説明する。なお、この図４に示す電子制御装置１０は、先の第１の実施の形態の電子制御装置１０（図１）である。また、この実施の形態に係る電子制御装置２０は、基本的には、第１の実施の形態の電子制御装置１０に準じた構成をもっているため、この図４には主に相違点を示す。
【００５８】
同図４に示すように、この電子制御装置２０もマイクロコンピュータＭ２を有して構成されている。また、このマイクロコンピュータＭ２が、大きくは、図示しないＣＰＵ（中央処理装置）や不揮発性メモリ、さらには例えばＲＡＭからなる作業用のメモリ２２等を備えて構成されていることも第１の実施の形態の装置と同様である。すなわちここでも、上記不揮発性メモリには、車載装置（ここではエンジン）を制御するための制御プログラムや、対外部ツール転送用プログラム（インターフェース手段）等が格納されている。ただしこの実施の形態においては、これに加えてさらに、例えばマスクＲＯＭ（リードオンリーメモリ）からなる不揮発性メモリ２１が設けられている。そうして、この実施の形態に係る電子制御装置２０は、この不揮発性メモリ２１に記憶させるかたちで、自身に搭載されているマイクロコンピュータＭ２の種類に対応する書換え用プログラムの、特に書換えに係る具体的な処理内容を指示する部分である書換え用制御プログラムＷＰ２ａを保持している。
【００５９】
一方、外部ツールＴは、対象とする各電子制御装置（ここでは電子制御装置１０および２０）との間の通信を管理する制御プログラムＴＰや、複数種のプログラムからなるプログラムＰ等を、適宜の記憶装置（図示略）に保持している。ここで、プログラムＰは、大きくは、
（ａ）識別コードを取得する際に用いられる識別コード取得プログラムＰ１２。
（ｂ）電子制御装置１０に搭載されているマイクロコンピュータＭ１の種類に対応する書換え用プログラムの、特に書換えに係る具体的な処理内容を指示する部分である書換え用制御プログラムＷＰ１ａ。
（ｃ）電子制御装置１０および２０のいずれにおいても用いられる書換え用プログラムで、制御プログラムの書換えに際しては特にデータ通信に係る処理を担う書換え用共通通信プログラムＷＰ３。
によって構成されている。そして、作業用メモリ（例えばＲＡＭ）に読み出されるときには、１つのメモリ領域（例えばＦＦＦＦ００００〜ＦＦＦＦＦＦＦＦ）にこれらプログラムがひと続きになって読み出されるようになっている。またここでも、上記書換え用制御プログラムＷＰ１ａに対しては、電子制御装置１０の識別コード（Ａ）が関連付けされている。
【００６０】
次に、これら電子制御装置１０および２０、並びに外部ツールＴによる制御プログラムの書換え方法の一態様について説明する。なお、先の第１の実施の形態と同様である部分についてはその説明を割愛する。
【００６１】
この実施の形態においても、識別コード取得プログラムＰ１２は、電子制御装置１０や電子制御装置２０から発行される認証キーと外部ツールＴにて発行される認証キーとを照合して互いに合致していることを条件に各電子制御装置へ送られるようになっている。すなわち、この実施の形態に係る電子制御装置２０についてその制御プログラムの書換えを行う場合も、上記認証の後に、外部ツールＴから当該電子制御装置２０の作業用メモリ２２の所定領域（ここでは領域ＦＦＦＦ００００〜ＦＦＦＦ３０００）へ識別コード取得プログラムＰ１２が送られることになる。そしてこの次に、同メモリ２２へ書換え用のプログラムが格納されることも同様である。ただしここでは、書換え用制御プログラムＷＰ２ａが、外部ツールＴからではなく、電子制御装置２０が自ら備える不揮発性メモリ２１から読み出されて（ダウンロードされて）、作業用メモリ２２の所定領域（ここでは領域ＦＦＦＦ３０００〜ＦＦＦＦ８０００）へと格納される。
【００６２】
そして次に、第１の実施の形態と同様、識別コード取得プログラムＰ１２の実行のもとに取得された識別コード（ここではＢ）が電子制御装置２０から外部ツールＴへと送られる。ただしここでは、これを受け取った外部ツールＴが、この識別コード（Ｂ）に基づくアドレスの指定によって、上記プログラムＰの中から必要とする書換え用のプログラム、すなわち書換え用共通通信プログラムＷＰ３を判別、選択する。具体的には、その識別コード（Ｂ）に割り当てられたアドレス、すなわち同プログラムＷＰ３の記憶されている領域に対応するアドレス（ここではＦＦＦＦ８０００〜ＦＦＦＦＦＦＦＦ）を指定することによって、外部ツールＴの作業用メモリ上に読み出されたプログラムＰの中から書換え用共通通信プログラムＷＰ３が選択される。
【００６３】
そうして、この選択された書換え用共通通信プログラムＷＰ３が作業用メモリ２２へ送信されることにより、漸く制御部および通信部の両者が揃い、同作業用メモリ２２上に１つの書換え用のプログラムが形成される。そして、これが同メモリ２２上で実行されることにより、上記書換え用のプログラムＷＰ２ａおよびＷＰ３の協働のもとに、この電子制御装置２０に不揮発に保持されている制御プログラム（制御データも含む）の書換えが行われることになる。
【００６４】
次に、同じ外部ツールＴを用いて電子制御装置１０の制御プログラムの書換えを行う場合について説明する。すなわちこの場合も、上記認証の後、外部ツールＴから電子制御装置１０の作業用メモリ１２の所定領域（ここでは領域ＦＦＦＦ００００〜ＦＦＦＦ３０００）へ識別コード取得プログラムＰ１２が送られる。そして次に、同メモリ１２へ書換え用のプログラムが格納されることになる。
【００６５】
そしてこの場合も、電子制御装置１０の識別コード（ここではＡ）を受け取った外部ツールＴが、この識別コード（Ａ）に基づくアドレスの指定によって、上記プログラムＰの中から必要とする書換え用のプログラム、すなわち書換え用制御プログラムＷＰ１ａおよび書換え用共通通信プログラムＷＰ３を判別、選択する。具体的には、その識別コード（Ａ）に割り当てられたアドレス、すなわちそれらプログラムＷＰ１ａおよびＷＰ３の記憶領域に対応するアドレス（ここではＦＦＦＦ３０００〜ＦＦＦＦＦＦＦＦ）を指定することによって、外部ツールＴの作業用メモリ上に読み出されたプログラムＰの中からそれらプログラムＷＰ１ａおよびＷＰ３が選択される。そうして、これら書換え用のプログラムＷＰ１ａおよびＷＰ３が作業用メモリ１２上で実行されることにより、この電子制御装置１０に不揮発に保持されている制御プログラム（制御データも含む）の書換えが行われることになる。
【００６６】
このように、この実施の形態においては、識別コードの取得が、外部ツールＴから送られてくる識別コード取得プログラムＰ１２の実行のもとに行われることに加え、さらに、外部ツールＴから送られてくる書換え用のプログラムＷＰ３とは別の書換え用のプログラムＷＰ２ａを当該電子制御装置２０に用意した。そうして、当該電子制御装置２０に不揮発に保持されている制御プログラムの書換えを、これら書換え用のプログラムＷＰ２ａおよびＷＰ３の協働のもとに行うようにした。これにより、外部ツールＴに電子制御装置２０の書換え用制御プログラムＷＰ２ａを用意する必要はなくなり、同外部ツールＴにおける記憶領域の確保が容易になるとともに、同外部ツールＴに保持される各種プログラムの構成の簡素化が図られるようになる。また、外部ツールＴから送られてくる書換え用のプログラムを、制御プログラムの書換えに際して特にデータ通信に係る処理を担う書換え用共通通信プログラムＷＰ３にしたことにより、こうして外部ツールＴにおける記憶領域の確保を容易としながらも、複数種の電子制御装置（ここでは電子制御装置１０および２０）に対応することが可能となる。
【００６７】
以上説明したように、この実施の形態に係る車両用電子制御装置およびその制御プログラムの書換え方法によれば、第１の実施の形態による前記（１）〜（５）の効果と同様の効果もしくはそれに準じた効果に加え、さらに次のような効果も得られるようになる。
【００６８】
（６）車両用電子制御装置およびその制御プログラムの書換え方法として、上記識別コードを、外部ツールＴに設けられた記憶装置（ここでは作業用メモリ）のアドレス指定をもって、同記憶装置に読み出された複数種のプログラム（プログラムＰ）の中から必要とする書換え用のプログラムを判別、選択するものとした。これにより、同一の記憶装置（ここでは作業用メモリ）に記憶されている複数種のプログラムの中から、当該プログラムの書換え（修正や更新）に必要とされる書換え用プログラムが自動的に判別、選択されるようになる。このため、多様な機種をもつ車両用電子制御装置（ここでは特にマイクロコンピュータの種類）にあっても、外部ツールＴに複数種のプログラム（ここでいうプログラムＰ）を用意することによってそれら電子制御装置に柔軟に対応することが可能になり、ひいては当該プログラムの書換えがその対象とする機種に適したかたちで行われるようになる。
【００６９】
（７）外部ツールＴから送られてくる書換え用のプログラムＷＰ３とは別の書換え用のプログラムＷＰ２ａをさらに当該電子制御装置２０に用意し、同電子制御装置２０に不揮発に保持されている制御プログラムの書換えを、これら書換え用のプログラムＷＰ２ａおよびＷＰ３の協働のもとに行うようにした。これにより、外部ツールＴ側に用意しておくべき書換え用プログラムの情報量（データ量）が少なくて済むようになり、同外部ツールＴにおける記憶領域の確保が容易になるとともに、同外部ツールＴに保持される各種プログラムの構成の簡素化が図られるようになる。
【００７０】
（８）さらにここで、外部ツールＴから送られてくる書換え用のプログラムを、制御プログラムの書換えに際して特にデータ通信に係る処理を担う書換え用共通通信プログラムＷＰ３とした。これにより、複数種の電子制御装置（ここでは電子制御装置１０および２０）に対応することを可能としながらも、電子制御装置２０の書換え用制御プログラムＷＰ２ａの分だけ外部ツールＴの記憶領域を空けて同外部ツールＴにおける記憶領域（未使用領域）の拡大を図ることができるようになる。
【００７１】
（９）またこのとき、外部ツールＴに設けられた記憶装置（ここでは作業用メモリ）には、制御プログラムの書換えに際して特にデータ通信に係る処理を担う書換え用共通通信プログラムＷＰ３と、制御プログラムの書換えに際して当該書換えに係る具体的な処理内容を指示する書換え用制御プログラムＷＰ１ａとを読み出しておく。そうして、識別コード（ＡまたはＢ）によるアドレス指定をもって、書換え用のプログラムとしてこれら２種類のプログラムのうちのいずれか１つもしくは両方が選択されるようにした。具体的には、電子制御装置１０に対応する識別コード（Ａ）のときは、これら書換え用制御プログラムＷＰ１ａおよび書換え用共通通信プログラムＷＰ３の両方が、また電子制御装置２０に対応する識別コード（Ｂ）のときは書換え用共通通信プログラムＷＰ３だけが選択されるようにした。これにより、対象とする装置が識別コードによって判別され、同コードに基づくアドレス指定をもって、対象とする各装置に適した書換え用のプログラムが選択されるようになる。すなわち、作業用メモリ２２に書換え用制御プログラムＷＰ２ａをダウンロードして同メモリ２２上でこれを実行する機能を備える電子制御装置２０であっても、またこうした機能をもたない電子制御装置１０であっても、これら対象とする各装置へ適切な書換え用プログラムが提供されるようになる。
【００７２】
（他の実施の形態）
なお、上記各実施の形態は、以下の態様をもって実施することもできる。
・上記第２の実施の形態においては、外部ツールＴの作業用メモリにプログラムＰを読み出してから同メモリ上のアドレスを指定することによってこのプログラムＰの中から必要とする書換え用のプログラムを判別、選択するようにした。しかしながら、このアドレス指定が作業用のメモリ上で行われることは必須ではなく、例えば他の記憶装置（ハードディスク等）に記憶されている状態でこのアドレスの指定が行われる構成もしくは方法であっても、前記（６）の効果と同様の効果もしくはそれに準じた効果は得られるようになる。
【００７３】
・上記各実施の形態では、電子制御装置１０もしくは２０から発行される認証キーと外部ツールＴにて発行される認証キーとを照合して互いに合致していることを条件に、上記識別コード取得プログラムＰ１２が外部ツールＴから送られてくるようにした。しかしながら、これは必須ではなく、セキュリティレベルが十分に確保されれば、こうした照合を行う必要はない。
【００７４】
・上記各実施の形態では、識別コードを、識別コード取得プログラムＰ１２の実行に基づき生成、取得されるものとした。しかしながらこれも必須ではなく、例えば図５に例示した装置のように、この識別コードを適宜の記憶装置（記憶手段）に格納しておき、上記識別コード取得プログラムＰ１２の実行に基づきその記憶装置から同コードが読み出される構成あるいは方法としてもよい。
【００７５】
・上記各実施の形態では、対象とする電子制御装置に搭載されているマイクロコンピュータの種類を識別する識別コードを採用し、そのマイクロコンピュータの種類に最適な書換え用プログラムを同コードに基づき判別、選択し、また外部ツールに用意された書換え用プログラムの中に最適なものがなければそのプログラムの転送を中止するようにした。しかしながら、これを適宜に変更した場合も前記（２）の効果に準じた効果は得られるようになる。例えば、外部ツールに用意されている複数種の書換え用のプログラムのうちに必要とする書換え用のプログラムを判別する識別コードを用いるようにすれば、少なくとも電子制御装置に搭載されているマイクロコンピュータの種類に対応する書換え用プログラムが自動的に選択されるようになり、その選択の信頼性は高められるようになる。また、識別コードが適正であることを条件に必要とする書換え用のプログラムが外部ツールから送られてくるようにすれば、少なくとも同識別コードに基づき正しくない書換え用プログラムの転送を中止することは可能になり、不正な書換えやデータ消去等を未然に防ぐことができるようになる。
【００７６】
・上記各実施の形態では、識別コードとして、対象とする電子制御装置に搭載されているマイクロコンピュータの種類を識別するものを採用した。しかしこれも必須ではなく、この識別コードは当該車両用電子制御装置に係るものであれば何を識別するものであってもよく、その範囲でこの発明は同様に適用することができる。
【００７７】
・上記各実施の形態において、制御プログラムを格納する不揮発性メモリ（例えば不揮発性メモリ１１）の種類は任意であり、例えばマスクＲＯＭ等も適宜採用することができる。要するに制御プログラムを不揮発に保持する電子制御装置であれば、この発明は同様に適用することができる。
【００７８】
・結局のところ、識別コードの取得が、外部ツールから送られてくる識別コード取得プログラムの実行のもとに行われる構成あるいは方法とすることで、識別コードを用いてプログラムの書換えを行う場合であれ、対外部ツール転送用プログラムの変更や追加を伴うことなく好適なプログラムの書換えを行うという所期の目的は達成されることになる。
【図面の簡単な説明】
【００７９】
【図１】この発明に係る車両用電子制御装置およびその制御プログラムの書換え方法の第１の実施の形態について、当該車両用電子制御装置およびその制御プログラムの書換えに際して用いられる外部ツールの構成の概略を模式的に示すブロック図。
【図２】同実施の形態に係る制御プログラムの書換え方法について、上記車両用電子制御装置の処理手順を示すフローチャート。
【図３】同実施の形態に係る制御プログラムの書換え方法について、上記外部ツールの処理手順を示すフローチャート。
【図４】この発明に係る車両用電子制御装置およびその制御プログラムの書換え方法の第２の実施の形態について、当該車両用電子制御装置およびその制御プログラムの書換えに際して用いられる外部ツールの構成の概略を模式的に示すブロック図。
【図５】従来の車両用電子制御装置およびその制御プログラムの書換え方法の一例について、当該車両用電子制御装置およびその制御プログラムの書換えに際して用いられる外部ツールの構成の概略を模式的に示すブロック図。
【符号の説明】
【００８０】
１０、２０…電子制御装置（車両用電子制御装置）、１１、２１…不揮発性メモリ、１２、２２…メモリ（作業用メモリ）、Ｍ１、Ｍ２…マイクロコンピュータ、Ｔ…外部ツール。
【図１】
2006221274.tif 000003
【図２】
2006221274.tif 000004
【図３】
2006221274.tif 000005
【図４】
2006221274.tif 000006
【図５】
2006221274.tif 000007