(57)【要約】【課題】電子制御装置のプログラムを書き換えるプログラム書き換え装置において、旧プログラムで使用していたデータを、新プログラムにてより確実に使用できるようにする。【解決手段】ＥＥＰＲＯＭ２２に記憶されているデータを取得し（Ｓ１）、旧データテーブルと新データテーブルとの比較に基づいて、ＥＥＰＲＯＭ２２から取得した制御データの値を、新プログラムで使用できるように変換するデータ変換処理を実行し（Ｓ５）、データ変換処理後のデータをＥＥＰＲＯＭ２２に書き込む（Ｓ８〜Ｓ１７）。【選択図】図４
2010015265.tif 000002
【特許請求の範囲】
【請求項１】
電子制御装置が制御対象機器を制御するためにその電子制御装置に記憶されているプログラムであって、その電子制御装置が備えている不揮発性メモリに対してデータを読み書きするためのデータテーブルを有しており、そのデータテーブルによってデータの値に関する特性および制限の少なくとも一方が定められているプログラム、を書き換えるプログラム書き換え装置であって、
前記不揮発性メモリに記憶されているデータを取得し、
書き換え前のプログラムが有しているデータテーブルと書き換え後のプログラムが有しているデータテーブルとの比較に基づいて、前記不揮発性メモリから取得したデータの値を、書き換え後のプログラムで使用できるように変換するデータ変換処理を実行し、
データ変換処理後のデータを前記不揮発性メモリに書き込むことを特徴とするプログラム書き換え装置。
【請求項２】
請求項１において、
前記データ変換処理として、データの要求精度の変換処理、オフセット値の変換処理、有効範囲内への変換処理、ビット割付変更処理のうちの少なくともいずれか一つを行なうことを特徴とするプログラム書き換え装置。
【請求項３】
請求項１または２において、
前記不揮発性メモリの故障判定をデータ格納領域別に行う故障判定手段を備え、
その故障判定手段によって故障と判定された場合には、データ格納領域を変更した後に、前記データ変換処理後のデータをデータ格納領域を指定して前記電子制御装置へ送信し、そのデータを前記電子制御装置が備えている不揮発性メモリへ書き込ませる書き込み処理を実行することを特徴とするプログラム書き換え装置。
【請求項４】
請求項３において、
前記故障判定手段は、前記データ変換処理後のデータをデータ格納領域を指定して前記電子制御装置へ送信し、そのデータを前記電子制御装置が備えている不揮発性メモリへ書き込ませる書き込み処理を行なった後、前記電子制御装置が書き込んだデータを前記電子制御装置から受信し、前記電子制御装置へ送信したデータと前記電子制御装置から受信したデータとの一致を判定することで、前記不揮発性メモリのデータ格納領域の故障判定を行うことを特徴とするプログラム書き換え装置。
【請求項５】
請求項３において、
前記故障判定手段は、前記電子制御装置が書き換え前のプログラムを実行中に前記不揮発性メモリのデータ格納領域別に実行している故障判定の結果を受信し、その受信した故障判定の結果に基づいて、前記不揮発性メモリのデータ格納領域の故障判定を行うことを特徴とするプログラム書き換え装置。
【請求項６】
請求項５において、
前記故障判定手段は、
前記電子制御装置から受信した故障判定の結果において故障と判定されているデータ格納領域に対しては、
前記データ変換処理後のデータをデータ格納領域を指定して前記電子制御装置へ送信し、そのデータを前記電子制御装置が備えている不揮発性メモリへ書き込ませる書き込み処理を行なった後、前記電子制御装置が書き込んだデータを前記電子制御装置から受信し、前記電子制御装置へ送信したデータと前記電子制御装置から受信したデータとの一致を判定することで、データ格納領域が故障しているか否かの再判定を行うことを特徴とするプログラム書き換え装置。
【請求項７】
請求項６において、
前記故障判定手段が再判定を行った結果も、データ格納領域が故障しているとの判定結果であった場合に、その旨を報知する報知手段をさらに備えていることを特徴とするプログラム書き換え装置。
【請求項８】
請求項７において、
前記再判定は、前記書き込み処理、および、それに続く一致判定を複数に設定された所定回数行ない、不一致と判定された回数が所定回数となった場合に、データ格納領域が故障と判定するものであり、
前記報知手段は、不一致と判定された回数も報知することを特徴とするプログラム書き換え装置。
【請求項９】
請求項３乃至６のいずれか１項において、
データ格納領域を変更して前記書き込み処理を実行する場合、書き換え後のプログラムが有しているデータテーブルに基づいて未使用のデータ格納領域を決定し、その決定した未使用のデータ格納領域にデータ格納先を変更して書き込み処理を行なうことを特徴とするプログラム書き換え装置。
【請求項１０】
請求項９において、
前記未使用のデータ格納領域がない場合、故障と判定されたデータ格納領域に書き込もうとしていたデータよりも重要度の低いデータがあるか否かを、書き換え後のプログラムが有しているデータテーブルに基づいて判定し、重要度の低いデータがある場合には、その重要度の低いデータに対して割り当てられていたデータ格納領域にデータ格納先を変更して書き込み処理を行なうことを特徴とするプログラム書き換え装置。
【請求項１１】
請求項１乃至１０のいずれか１項において、
前記不揮発性メモリに記憶されている複数のデータを、書き換え後のプログラムで使用できるように並べ替える並べ替え処理も行なった後に、データを前記不揮発性メモリに書き込むことを特徴とするプログラム書き換え装置。
【請求項１２】
電子制御装置が制御対象機器を制御するためにその電子制御装置に記憶されているプログラムであって、その電子制御装置が備えている不揮発性メモリに対してデータを読み書きするためのデータテーブルを有しており、そのデータテーブルによってデータの値に関する特性および制限の少なくとも一方が定められているプログラム、を書き換えるプログラム書き換え方法であって、
前記不揮発性メモリに記憶されているデータを取得し、
書き換え前のプログラムが有しているデータテーブルと書き換え後のプログラムが有しているデータテーブルとの比較に基づいて、前記不揮発性メモリから取得したデータの値を、書き換え後のプログラムで使用できるように変換するデータ変換処理を実行し、
データ変換処理後のデータを前記不揮発性メモリに書き込むことを特徴とするプログラム書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置のプログラムを書き換えるプログラム書き換え装置およびプログラム書き換え方法に関する。
【背景技術】
【０００２】
例えば自動車のエンジンやトランスミッション等の制御対象機器を制御するための電子制御装置が広く知られている。この電子制御装置はプログラムを記憶しており、このプログラムを実行することで制御対象機器に対する制御を実行する。
【０００３】
また、電子制御装置では学習制御が広く行われており、学習制御によって得られた学習値や、ハードウェアの個体差の影響を無くすための補正値を用いて、電子制御装置は制御対象機器を制御する。これら学習値や補正値は、電源がオフされたときでも記憶保持され続ける必要があるため、不揮発性メモリに記憶されている。
【０００４】
そして、プログラム実行時には、不揮発性メモリとマイコンとが通信することで、学習値等のデータの読み書きを実施している。データの書き込み方法は、マイコンから不揮発性メモリへ、書き込みたいデータのアドレスを送信後、そのアドレスのデータを送信することによって行う。データの読み込み方法は、マイコンから不揮発性メモリへ、読み出したいデータのアドレスを送信後、そのアドレスのデータを受信することによって行う。このように、不揮発性メモリのデータの格納先アドレスはマイコンが管理している。具体的には、マイコンが実行するプログラムに、不揮発性メモリのデータの格納先アドレスが定められている。
【０００５】
ところで、電子制御装置が記憶している上記プログラムは、市場への供給後に書き換える必要が生じることがある。この書き換えのための装置として、プログラム書き換え装置が知られている。プログラム書き換え装置は、新プログラムを記憶しており、その新プログラムを電子制御装置へ書き込む。
【０００６】
上述のようにプログラムは書き換える必要が生じることがあるが、その一方で、前述の不揮発性メモリに記憶されているデータは、プログラムの書き換え後でも引き続き使用したい場合が多い。そのため、書き換え後のプログラム（すなわち新プログラム）は、通常、データ格納先アドレスを変更しないように設計している。
【０００７】
しかしながら、やむを得ずデータ格納先アドレスを変更することも考えられる。そこで、特許文献１のプログラム書き換え装置は、不揮発性メモリに記憶されているデータを読み出し、格納先アドレスが新プログラムに適合するように並べ替え、並べ替えた後のデータを不揮発性メモリに書き込むことができるようになっている。
【特許文献１】特開２００３−２５６２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
新プログラムにて用いるデータと、書き換え前のプログラム（以下、旧プログラム）にて用いるデータとで、格納先アドレスが変更になったのみであれば、特許文献１に記載の技術を用いることで、新プログラムでも、書き換え前のデータを継続使用することができる。しかし、データの要求精度が変更になった場合には、データそのものを新プログラムにて使用できるように変換する必要があるなど、不揮発性メモリに記憶されているデータを新プログラムでも使用できるようにするためには、データそのものを変換しなければならない場合がある。しかしながら、前述のように、特許文献１の技術はデータの並べ替えを行っているのみであるので、新プログラムに適合させるためにデータを変換しなければならない場合には対応することができず、結果として、不揮発性メモリのデータを新プログラムにて正常に使用できない可能性があった。
【０００９】
また、不揮発性メモリの一部の領域が故障している場合にも、不揮発性メモリのデータを新プログラムにて正常に使用できない可能性があるが、前述のように、特許文献１の技術はデータの並べ替えを行っているのみである。そのため、不揮発性メモリの一部の領域が故障していたとしても、新プログラムにてその故障領域を使用しようとしてしまう。その結果、不揮発性メモリのデータを新プログラムにて正常に使用できず、フェイルセーフ値や不正値となってしまうことがあり、電子制御装置全体を交換しなければならない恐れもあった。
【００１０】
本発明は、この事情に基づいて成されたものであり、その目的とするところは、電子制御装置のプログラムを書き換えるプログラム書き換え装置またはプログラム書き換え方法において、旧プログラムで使用していたデータを、新プログラムにてより確実に使用できるようにすることにある。
【課題を解決するための手段】
【００１１】
その目的を達成するための請求項１記載の発明は、電子制御装置が制御対象機器を制御するためにその電子制御装置に記憶されているプログラムであって、その電子制御装置が備えている不揮発性メモリに対してデータを読み書きするためのデータテーブルを有しており、そのデータテーブルによってデータの値に関する特性および制限の少なくとも一方が定められているプログラム、を書き換えるプログラム書き換え装置であって、
前記不揮発性メモリに記憶されているデータを取得し、
書き換え前のプログラムが有しているデータテーブルと書き換え後のプログラムが有しているデータテーブルとの比較に基づいて、前記不揮発性メモリから取得したデータの値を、書き換え後のプログラムで使用できるように変換するデータ変換処理を実行し、
データ変換処理後のデータを前記不揮発性メモリに書き込むことを特徴とする。
【００１２】
このように、本発明のプログラム書き換え装置は、旧プログラム（書き換え前のプログラム）が有しているデータテーブルと新プログラム（書き換え後のプログラム）が有しているデータテーブルとの比較に基づいて、不揮発性メモリから取得したデータの値を新プログラムで使用できるように変換するので、新プログラムでも、不揮発性メモリに記憶されているデータを使用できるようになる。そのため、プログラムの書き換えに伴って電子制御装置全体を交換しなければならないという事態を抑制できる。
【００１３】
ここで、データテーブルによって定められている特性としては、データの要求精度、オフセット値、ビット割付等があり、データテーブルによって定められている制限としては、有効範囲がある。そのため、上記データ変換処理としては、データの要求精度の変換処理、オフセット値の変換処理、有効範囲内への変換処理、ビット割付変更処理があり、請求項２は、これら４つの処理のうちの少なくともいずれか一つを行なうことを特徴とする。
【００１４】
請求項３は、前記不揮発性メモリの故障判定をデータ格納領域別に行う故障判定手段を備え、その故障判定手段によって故障と判定された場合には、データ格納領域を変更した後に、前記データ変換処理後のデータをデータ格納領域を指定して前記電子制御装置へ送信し、そのデータを前記電子制御装置が備えている不揮発性メモリへ書き込ませる書き込み処理を実行することを特徴とする。
【００１５】
このようにすれば、故障と判定されたアドレスとは異なるデータ格納領域にデータが格納されることになるので、不揮発性メモリの一部の領域が故障している場合にも、不揮発性メモリのデータを新プログラムにて正常に使用できるようになる。
【００１６】
上記故障判定手段は、例えば、請求項４または５のようにして、不揮発性メモリのデータ格納領域の故障判定を行う。その請求項４は、請求項３において、前記故障判定手段は、前記データ変換処理後のデータをデータ格納領域を指定して前記電子制御装置へ送信し、そのデータを前記電子制御装置が備えている不揮発性メモリへ書き込ませる書き込み処理を行なった後、前記電子制御装置が書き込んだデータを前記電子制御装置から受信し、前記電子制御装置へ送信したデータと前記電子制御装置から受信したデータとの一致を判定することで、前記不揮発性メモリのデータ格納領域の故障判定を行うことを特徴とする。
【００１７】
また、請求項５は、前記電子制御装置が書き換え前のプログラムを実行中に前記不揮発性メモリのデータ格納領域別に実行している故障判定の結果を受信し、その受信した故障判定の結果に基づいて、前記不揮発性メモリのデータ格納領域の故障判定を行うことを特徴とする。
【００１８】
一般に、電子制御装置は、プログラムを実行中にデータ格納領域別に故障判定を実行している。上記請求項５は、電子制御装置が実行している上記故障判定結果を利用するものであり、請求項５のようにすることで、故障判定のためにプログラム書き換え装置が行なう処理を少なくすることができる。
【００１９】
また、請求項６は、請求項５において、前記故障判定手段は、前記電子制御装置から受信した故障判定の結果において故障と判定されているデータ格納領域に対しては、前記データ変換処理後のデータをデータ格納領域を指定して前記電子制御装置へ送信し、そのデータを前記電子制御装置が備えている不揮発性メモリへ書き込ませる書き込み処理を行なった後、前記電子制御装置が書き込んだデータを前記電子制御装置から受信し、前記電子制御装置へ送信したデータと前記電子制御装置から受信したデータとの一致を判定することで、データ格納領域が故障しているか否かの再判定を行うことを特徴とする。
【００２０】
このようにすれば、プログラム書き換え装置にてデータ格納領域が故障しているか否かの再判定を行っているので、実際には故障していないにもかかわらず、電子制御装置が実行した故障判定では誤って故障と判定されてしまったデータ格納領域を、故障していないと判定し直して書き込みを行うことが可能になる。そのため、不揮発性メモリを継続して使用できる可能性が高くなり、ひいては、その不揮発性メモリを備えている電子制御装置の交換を抑制することができる。しかも、電子制御装置から受信した故障判定の結果において正常と判定されているアドレスについてはこの再判定は行わないので、判定時間も短くなる。
【００２１】
また、請求項７は、請求項６において、前記故障判定手段が再判定を行った結果も、データ格納領域が故障しているとの判定結果であった場合に、その旨を報知する報知手段をさらに備えていることを特徴とする。
【００２２】
このようにすれば、このプログラム書き換え装置の使用者は、電子制御装置の交換等、何らかの対応をとる必要があることを確実に知ることができる。
【００２３】
また、請求項８は、請求項７において、前記再判定は、前記書き込み処理、および、それに続く一致判定を複数に設定された所定回数行ない、不一致と判定された回数が所定回数となった場合に、データ格納領域が故障と判定するものであり、前記報知手段は、不一致と判定された回数も報知することを特徴とする。
【００２４】
このように、不一致と判定された回数も報知するようにすれば、たとえば、故障とは判定されなかったが、不一致と判定された回数が多い場合には、データ格納領域を変更して使用することを検討する、あるいは、データの重要度を考慮するとそのまま使用して問題ないと判断する等、柔軟な対応が可能となる。
【００２５】
また、請求項９は、請求項３乃至６のいずれか１項において、データ格納領域を変更して前記書き込み処理を実行する場合、書き換え後のプログラムが有しているデータテーブルに基づいて未使用のデータ格納領域を決定し、その決定した未使用のデータ格納領域にデータ格納先を変更して書き込み処理を行なうことを特徴とする。
【００２６】
書き込み処理を再度実行する場合のデータ格納領域としては、この請求項９のように、未使用のデータ格納領域とすることが好ましい。しかし、未使用のデータ格納領域がない場合には、請求項１０のように、故障と判定されたデータ格納領域に書き込もうとしていたデータよりも重要度の低いデータがあるか否かを、書き換え後のプログラムが有しているデータテーブルに基づいて判定し、重要度の低いデータがある場合には、その重要度の低いデータに対して割り当てられていたデータ格納領域にデータ格納先を変更して書き込み処理を行なうことが好ましい。
【００２７】
このようにすれば、重要度が高いデータについては、プログラム書き換え後も継続して使用し続けることができる可能性がより向上する。
【００２８】
また、請求項１１は、請求項１乃至１０のいずれか１項において、前記不揮発性メモリに記憶されている複数のデータを、書き換え後のプログラムで使用できるように並べ替える並べ替え処理も行なった後に、データを前記不揮発性メモリに書き込むことを特徴とする。この請求項１１は、データ変換処理に加えて、前述の特許文献１と同様の並べ替え処理を行うものであり、このようにすることで、新プログラムでも、不揮発性メモリに記憶されているデータを使用できる可能性がより向上する。
【００２９】
また、前記目的を達成するための請求項１２記載の発明は、電子制御装置が制御対象機器を制御するためにその電子制御装置に記憶されているプログラムであって、その電子制御装置が備えている不揮発性メモリに対してデータを読み書きするためのデータテーブルを有しており、そのデータテーブルによってデータの値に関する特性および制限の少なくとも一方が定められているプログラム、を書き換えるプログラム書き換え方法であって、
前記不揮発性メモリに記憶されているデータを取得し、
書き換え前のプログラムが有しているデータテーブルと書き換え後のプログラムが有しているデータテーブルとの比較に基づいて、前記不揮発性メモリから取得したデータの値を、書き換え後のプログラムで使用できるように変換するデータ変換処理を実行し、
データ変換処理後のデータを前記不揮発性メモリに書き込むことを特徴とする。
【００３０】
この請求項１２に記載のプログラム書き換え方法の作用効果は請求項１に記載のプログラム書き換え装置と同様であるので説明を省略する。
【発明を実施するための最良の形態】
【００３１】
（第１実施形態）
以下、本発明の実施形態を図面に基づいて説明する。図１は、本発明の実施形態となるプログラム書き換え装置１と、そのプログラム書き換え装置１によって書き換えられるプログラムを記憶している電子制御装置（以下、ＥＣＵ）２とを示す図である。
【００３２】
ＥＣＵ２は、たとえば、車両に搭載されたエンジン制御ＥＣＵである。そして、このＥＣＵ２とプログラム書き換え装置１とは、ＣＡＮ通信線等の通信線３によって互いに通信可能に接続されている。
【００３３】
ＥＣＵ２は、マイコン２１およびＥＥＰＲＯＭ２２を備えている。その他に、図示しないが、入出力インターフェース、通信回路等を備えている。マイコン２１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えており、このＲＯＭに、制御対象機器（本実施形態ではエンジン）を制御するための制御プログラムが記憶されている。なお、このＲＯＭは、フラッシュＲＯＭなど、内部に記憶されている制御プログラムが書き換え可能なＲＯＭである。
【００３４】
ＥＥＰＲＯＭ２２は、請求項の不揮発性メモリに相当するものであり、マイコン２１が制御プログラムを実行する際に利用する各種の制御データを記憶している。前述の制御プログラムは、制御データの値に関する特性、制限、格納領域等を制御データ毎に定めるＥＥＰＲＯＭデータテーブルを有している。マイコン２１は、制御プログラムが有しているこのＥＥＰＲＯＭデータテーブルを参照しつつ、ＥＥＰＲＯＭ２２に記憶されている制御データの管理を行っている。なお、制御データの値に関する特性には、たとえば、その値の要求精度、オフセット値、ビット割付が含まれる。また、制御データの値に関する制限には、たとえば、許容最小値および許容最大値が含まれる。
【００３５】
次にプログラム書き換え装置１について説明する。図１に示すように、プログラム書き換え装置１はマイコン１１を有している。その他に、図示しないが、記憶装置や通信回路等を有している。
【００３６】
マイコン１１の内部のＲＡＭあるいは記憶装置の記憶領域には、図２に示すように、旧プログラムデータ領域４、新プログラムデータ領域５、適合済みデータ領域６が設けられている。なお、この他に、ＥＣＵ２に記憶されている旧制御プログラムを新制御プログラムに書き換えるための書き換えプログラムを記憶する領域、後述するデータ変換処理を行なうためのプログラムを記憶している領域、後述するＥＥＰＲＯＭ適合処理を行なうためのプログラムを記憶している領域が設けられている。
【００３７】
旧プログラムデータ領域４には、ＥＥＰＲＯＭデータ退避エリア４１と、ＥＥＰＲＯＭデータテーブル退避エリア４２とが設けられている。ＥＥＰＲＯＭデータ退避エリア４１は、ＥＥＰＲＯＭ２２に記憶されている制御データを一時的に記憶しておく領域である。ＥＥＰＲＯＭデータテーブル退避エリア４２は、旧制御プログラムが有しているＥＥＰＲＯＭデータテーブルを一時的に記憶しておく領域である。
【００３８】
新プログラムデータ領域５には、新制御プログラム５１が記憶されている。この新制御プログラム５１は、新制御プログラム５１を実行して行なう制御に用いる新ＥＥＰＲＯＭデータテーブル５２を有している。
【００３９】
適合済みデータ領域６は、ＥＥＰＲＯＭデータ復元エリア６１が設けられているとともに、後述するＥＥＰＲＯＭ適合処理が行われたＥＥＰＲＯＭデータテーブル６２および新制御プログラム６３が記憶される領域である。
【００４０】
ここで、ＥＥＰＲＯＭデータテーブルの一例を図３に示す。図３に示すＥＥＰＲＯＭデータテーブルでは、ＩＤ番号(ID No.)によって特定される制御データ毎に、データ格納先アドレス、データ内容、初期値、最小値（ＭＩＮ）、最大値（ＭＡＸ）、データの要求精度を定めているＬＳＢ（Least Significant Bit）、オフセット値、ビット割付、検査結果、重要度が記憶されている。なお、検査結果とは、ＥＣＵ２が旧プログラムを実行中に各データ格納先アドレスに対して行った故障判定検査の結果を示している。
【００４１】
図４は、制御プログラムを書き換える際にプログラム書き換え装置１のマイコン１１およびＥＣＵ２のマイコン２１が実行する制御を示すフローチャートである。
【００４２】
制御プログラムを書き換える際には、まず、ＥＣＵ２は、ステップＳ２１にて、エンジン制御を停止する。次いで、ステップＳ２２に進んで、自身が記憶しているＥＥＰＲＯＭデータテーブルをプログラム書き換え装置１へ出力するとともに、ＥＥＰＲＯＭ２２に記憶されている全制御データもプログラム書き換え装置１へ出力する。
【００４３】
プログラム書き換え装置１は、ステップＳ１にて、ＥＣＵ２から送信されてきたＥＥＰＲＯＭデータテーブルおよび全制御データを、図２に示した旧プログラムデータ領域４に退避（すなわち記憶）する。
【００４４】
続いてプログラム書き換え装置１は、ステップＳ２乃至Ｓ７に示すデータ変換処理を実行する。ステップＳ２では、再使用必要な制御データか否かを判断する。なお、ステップＳ２乃至Ｓ６は制御データ別に行う。再使用必要か否かは、ステップＳ１でＥＣＵ２から取得したＥＥＰＲＯＭデータテーブル（以下、旧ＥＥＰＲＯＭデータテーブル）と、新プログラムデータ領域５に記憶されている新ＥＥＰＲＯＭデータテーブル５２とを比較することで行い、同一のデータ内容がある場合には、再使用必要な制御データであると判断する。このステップＳ２の判断が肯定判断である場合には次のステップＳ３へ進み、否定判断である場合には後述するステップＳ７へ進む。
【００４５】
ステップＳ３では、退避データがあるか否かを判断する。この判断は、新旧のＥＥＰＲＯＭデータテーブルの対比に基づいて再使用必要であると判断した制御データが、前述のステップＳ１にてＥＣＵ２から出力されてきたか否かで判断する。退避データがあると判断した場合には次のステップＳ４へ進み、退避データがないと判断した場合には後述するステップＳ７へ進む。
【００４６】
ステップＳ４では、新旧のＥＥＰＲＯＭデータテーブルに差異があるか否かを判断する。データ格納先アドレス、データ内容、初期値等、ＥＥＰＲＯＭデータテーブルに定められている複数の項目のうちの一つでも内容に差異がある場合にはステップＳ４を肯定判断する。ステップＳ４が肯定判断となった場合には次のステップＳ５を実行し、否定判断となった場合にはステップＳ６を直接実行する。
【００４７】
ステップＳ５では、新旧のＥＥＰＲＯＭデータテーブルに差異がある項目に関する退避データ値の変換を行う。次に、このデータ値の変換処理について具体的に説明する。まず、最小値（ＭＩＮ）に差異があるために必要となる変換処理について図５を用いて説明する。
【００４８】
図５の例は、データ内容「ＰＣＶゲイン」の例である。旧ＥＥＰＲＯＭデータテーブルにおけるＭＩＮ、ＭＡＸは、図５（Ａ）に示すように、それぞれ「0x04E1」、「0x078B」に定められている。この旧ＥＥＰＲＯＭデータテーブルを用いているときのデータ値は、当然、このＭＩＮとＭＡＸとの間の値となっており、図５の例では、「0x0500」である。
【００４９】
図５（Ａ）、（Ｂ）においてハッチング部分は、ＭＡＸ／ＭＩＮ範囲外領域であり、データ値がこの領域にある場合、読み込み不良と判断して、ＳＲＡＭリフレッシュ処理をした後、ＥＥＰＲＯＭ２２からデータ値を再読み込みする処理を実行する。しかし、図５（Ａ）の場合、データ値はＭＩＮとＭＡＸとの間の値であるので、リフレッシュ処理、再読み込み処理は実行しない。
【００５０】
一方、新ＥＥＰＲＯＭデータテーブルにおけるＭＩＮ、ＭＡＸは、図５（Ｂ）に示すように、それぞれ「0x0550」、「0x078B」に定められている。従って、ＭＩＮは変更されている。そのため、データ値「0x0500」は、新ＥＥＰＲＯＭデータテーブルではＭＩＮよりも小さい値となってしまい、リフレッシュ処理、再読み込み処理を実施し続けてしまう。
【００５１】
そこで、この場合には、有効範囲内への変換処理、すなわち、新ＥＥＰＲＯＭデータテーブルに定められているＭＩＮとＭＡＸとの間に変換する処理を行う。具体的には、データ値をＭＩＮ、すなわち「0x0550」に変換する。
【００５２】
次に、ＬＳＢが変更になったために必要となる変換処理、すなわち、データの要求精度の変換処理について図６を用いて説明する。図６の例は、データ内容「噴射量補正」の例である。
【００５３】
図６に示すように、旧ＥＥＰＲＯＭデータテーブルにおけるＬＳＢは「5/256」、新ＥＥＰＲＯＭデータテーブルにおけるＬＳＢは「5/128」に定められている。なお、図６の例は、ＭＡＸも変更になっている。また、退避データ値は「0x7FFF」である。この場合に行う要求精度の変換処理は次の式１で示すものになる。なお、適合データとは、変換処理後のデータを意味する。
（式１）  適合データ＝0x7FFF×5/256÷5/128＝0x7FFF×1/2＝0x4000
なお、適合データ「0x4000」は、ＭＩＮとＭＡＸとの間であるので、前述の有効範囲内への変換処理は不要である。
【００５４】
次に、オフセット値の変換処理について説明する。たとえば、旧ＥＥＰＲＯＭデータテーブルではオフセットが４０であるとし、新ＥＥＰＲＯＭデータテーブルではオフセットが２０であるとする。この場合、オフセット値は２０減少していることになる。そこで、オフセット値の変換処理として、データ値−２０を行う。
【００５５】
次に、ビット割付変更処理について説明する。図７は、ビット割付が変更になっているデータテーブルを例示している。図７の例は、データ内容が「異常種類」であり、旧ＥＥＰＲＯＭデータテーブルでは、ビット割付は、bit0に水温センサ、bit1にアクセルセンサがそれぞれ割り付けられている。また、退避データ値は「0x01」である。一方、新ＥＥＰＲＯＭデータテーブルでは、ビット割付は、bit0にアクセルセンサ、bit1に水温センサがそれぞれ割り付けられている。すなわち、旧ＥＥＰＲＯＭデータテーブルでbit0に割り付けられていた内容が新ＥＥＰＲＯＭデータテーブルではbit1に割り付けられており、旧ＥＥＰＲＯＭデータテーブルでbit1に割り付けられていた内容が新ＥＥＰＲＯＭデータテーブルではbit0に割り付けられている。
【００５６】
ここで、１６進数の退避データ値「0x01」を２進数で記述すると「0000 0001」となり、ビット割付の変更に対応してbit0とbit1とを入れ替えると「0000 0010」となる。これを１６進数にすると「0x02」となる。ビット割付変更処理は、このように、ビット割付の変更に対応してデータ値を変更する処理である。
【００５７】
図４の説明に戻り、ステップＳ６では、適合済みデータを適合済みデータ領域６のＥＥＰＲＯＭデータ復元エリア６１に記憶する。この適合済みデータとは、ステップＳ５を実行した場合にはそのステップＳ５で変換した退避データ値であり、ステップＳ４が否定判断となった場合には、ステップＳ１で退避した制御データである。
【００５８】
上記ステップＳ６を実行した場合、または、ステップＳ２またはＳ３が否定判断であった場合にはステップＳ７を実行する。このステップＳ７では、ステップＳ２〜Ｓ６を実行した制御データが最終の制御データか否か判断する。このステップＳ７が否定判断である場合には、残りの制御データについて、ステップＳ２以下を順次実行する。
【００５９】
ステップＳ７が肯定判断となった場合にはステップＳ８へ進む。ステップＳ８〜Ｓ１６はＥＥＰＲＯＭ適合処理であり、請求項の故障判定手段および書き込み処理に相当するものである。
【００６０】
まず、ステップＳ８では、適合済みデータ領域６のＥＥＰＲＯＭデータ復元エリア６１に記憶されている適合済みデータを新ＥＥＰＲＯＭデータテーブルに記述されているデータ格納先アドレスを指定してＥＣＵ２へ送信する。なお、このステップＳ８も制御データ別に行う。
【００６１】
上記ステップＳ８をプログラム書き換え装置１が実行することにより、ＥＣＵ２は適合済みデータを受信する（ステップＳ２３）。その後、ＥＣＵ２は、受信した適合済みデータを、ＥＥＰＲＯＭ２２の指定されたデータ格納先アドレスへ書き込む（ステップＳ２４）。そして、続くステップＳ２５では、ステップＳ２４で書き込んだ制御データをＥＥＰＲＯＭ２２から読み込み、ステップＳ２６では、ステップＳ２５で読み込んだ制御データ（以下、ＥＥＰＲＯＭ読み込みデータ、または、単に読み込みデータという）をプログラム書き換え装置１へ送信する。
【００６２】
ＥＣＵ２がステップＳ２６を実行すると、プログラム書き換え装置１はＥＥＰＲＯＭ読み込みデータを受信する（ステップＳ９）。そして、ステップＳ１０では、書き込み要求データ（すなわちステップＳ８で送信した適合済みデータ）と、ステップＳ９で受信した読み込みデータとが一致するか否かを判断する。
【００６３】
この判断が肯定判断である場合にはステップＳ１１へ進む。一方、ステップＳ１０が否定判断となった場合にはステップＳ１３へ進む。ステップＳ１３では、再書き込み回数がリトライ許可回数よりも多いか否かを判断する。このステップＳ１３が否定判断となった場合にはステップＳ８に戻り、適合済みデータを再度、送信する。ステップＳ１３における再書き込み回数とは、ステップＳ８の実行回数である。また、リトライ許可回数は予め設定された定数である。
【００６４】
ステップＳ１３が肯定判断となった場合には、書き込もうとしているデータ格納領域が故障していると判断したことになり、この場合には、ステップＳ１４へ進む。ステップＳ１４では、ＥＥＰＲＯＭ２２に空き領域があるか否かを判断する。この判断は、新ＥＥＰＲＯＭデータテーブルからデータ内容が（空き）となっている領域（データ格納先アドレス）を探すものである。
【００６５】
ステップＳ１４が肯定判断となった場合には、ステップＳ１５へ進み、新ＥＥＰＲＯＭデータテーブルにおいて、現在、送信しようとしている適合済みデータのデータ格納先アドレスをステップＳ１４で見つけた空き領域のアドレスに変更する。そして、この変更後の新ＥＥＰＲＯＭデータテーブルを適合済みデータ領域６にＥＥＰＲＯＭデータテーブル６２として記憶する。なお、以後、ステップＳ１４、Ｓ１５を実行する際には、適合済みデータ領域６のＥＥＰＲＯＭデータテーブル６２を用いる。
【００６６】
続くステップＳ１６では、新制御プログラム５１内のアドレス情報を、ステップＳ１５で変更した空き領域アドレスに変更する。そして、この変更後の新制御プログラムを適合済みデータ領域６に新制御プログラム６３として記憶する。なお、以後、ステップＳ１６を実行する際には、適合済みデータ領域６の新制御プログラム６３を変更する。ステップＳ１６を実行した後は、ステップＳ８へ戻る。
【００６７】
ステップＳ１４が否定判断となった場合には、ステップＳ１７へ進む。この場合には、空き領域が存在せず、アドレスを変更して書き込み要求を行うことができない。そこで、ステップＳ１７では異常を通知する。このステップＳ１７が報知手段に相当する処理である。ステップＳ１７を実行後はステップＳ１１へ進む。
【００６８】
ステップＳ１１では、最終の制御データか否かを判断する。最終の制御データではない場合、すなわち否定判断の場合には、ステップＳ８へ戻る。一方、肯定判断となった場合にはステップＳ１２へ進む。
【００６９】
ステップＳ１２では、新プログラムへの書き換え処理を行う。具体的には、適合済みデータ領域６に記憶されているＥＥＰＲＯＭデータテーブル６２、新制御プログラム６３をＥＣＵ２へ送信する。この後、ＥＣＵ２はＥＥＰＲＯＭデータテーブル６２、新制御プログラム６３を受信し、ＥＥＰＲＯＭデータテーブルおよび制御プログラムを受信したものに更新する（ステップＳ２８）。
【００７０】
以上、説明した本実施形態のプログラム書き換え装置１は、旧プログラム（書き換え前のプログラム）が有しているＥＥＰＲＯＭデータテーブルと新プログラム（書き換え後のプログラム）が有しているＥＥＰＲＯＭデータテーブルとの比較に基づいて、ＥＥＰＲＯＭ２２に記憶されている制御データの値を新プログラムで使用できるように変換するので、新プログラムでも、ＥＥＰＲＯＭ２２に記憶されている制御データを使用できるようになる。そのため、プログラムの書き換えに伴ってＥＣＵ全体を交換しなければならないという事態を抑制できる。
【００７１】
また、本実施形態のプログラム書き換え装置１は、書き込み要求データとＥＣＵ２からの読み込みデータとの一致判定を行うことで、データ格納領域毎に故障判定を行っており、故障判定された場合には、データ格納領域を変更して書き込みを行っている。従って、ＥＥＰＲＯＭ２２の一部の領域が故障している場合にも、ＥＥＰＲＯＭ２２の制御データを新プログラムにて正常に使用できるようになる。
【００７２】
（第２実施形態）
次に、本発明の第２実施形態を説明する。第２実施形態では、プログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理として、図４のステップＳ８〜Ｓ１６に代えて図８に示す処理を実行する点、および、ＥＣＵ２は図４のステップＳ２３〜Ｓ２７を実行しない点が、第１実施形態と相違する。その他は、第１実施形態と同じである。
【００７３】
一般に、ＥＣＵが実行するプログラムにおいてメモリを利用する場合、そのプログラムにはメモリの故障判定を行う機能を備えている。本実施形態の旧プログラムおよび新プログラムも、プログラムを実行中にＥＥＰＲＯＭ２２の各データ格納領域の故障判定を行う機能を備えている。第２実施形態では、旧プログラムを実行中にＥＣＵ２が行ったＥＥＰＲＯＭ２２のデータ格納領域の故障判定結果（以下、検査結果ともいう）を利用する。
【００７４】
まず、ステップＳ３１では、次のステップＳ３２にて書き込み要求を行おうとしているデータ格納領域の検査結果がＯＫか否かを判断する。この検査結果は、このステップＳ３１を実行する際にＥＣＵ２から受信しても良いし、ステップＳ３１を実行する前に予め全てのデータ格納先アドレスの検査結果を受信しておいてもよい。
【００７５】
ステップＳ３１が肯定判断である場合にはステップＳ３２へ進む。ステップＳ３２は、図４のステップＳ８と同じ処理であり、適合済みデータ領域６のＥＥＰＲＯＭデータ復元エリア６１に記憶されている適合済みデータを新ＥＥＰＲＯＭデータテーブルに記述されているデータ格納先アドレスを指定してＥＣＵ２へ送信する。
【００７６】
一方、ステップＳ３１が否定判断である場合にはステップＳ３３へ進む。ステップＳ３３は、図４のステップＳ１４と同じ処理であり、ＥＥＰＲＯＭ２２に空き領域があるか否かを判断する。
【００７７】
ステップＳ３３が否定判断である場合にはステップＳ３６へ進み、肯定判断である場合にはステップＳ３４、Ｓ３５を実行する。これらステップＳ３４、Ｓ３５は、図４のステップＳ１５、Ｓ１６と同じ処理であり、ステップＳ３４では、新ＥＥＰＲＯＭデータテーブルにおいて、現在、送信しようとしている適合済みデータのデータ格納先アドレスをステップＳ３３で見つけた空き領域アドレスに変更する。
【００７８】
そして、ステップＳ３５では、新制御プログラム５１内のアドレス情報を、ステップＳ３４で変更した空き領域アドレスに変更する。そして、この変更後の新制御プログラムを適合済みデータ領域６に新制御プログラム６３として記憶する。このステップＳ３５を実行した場合にも、次に前述のステップＳ３２を実行する。
【００７９】
ステップＳ３２を実行した場合、または、ステップＳ３３が否定判断となった場合にはステップＳ３６を実行する。ステップＳ３６では、最終の制御データか否かを判断する。最終の制御データではない場合、すなわち否定判断の場合には、ステップＳ３１へ戻る。一方、肯定判断となった場合には、図４のステップＳ１２を実行する。
【００８０】
この第２実施形態では、ＥＣＵ２が実行している故障判定結果を利用しているので、故障判定のためにプログラム書き換え装置１が行なう処理を少なくすることができる。
【００８１】
（第３実施形態）
次に、本発明の第３実施形態を説明する。第３実施形態では、プログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理として図９に示す処理を実行する点が第１実施形態と相違する。その他は、第１実施形態と同じである。
【００８２】
図９において、ステップＳ４１、Ｓ４２、Ｓ４３、Ｓ４８、Ｓ４９、Ｓ４ａは、それぞれ、図８のステップＳ３１、Ｓ３２、Ｓ３６、Ｓ３３、Ｓ３４、Ｓ３５と同じ処理である。従って、図９に示すＥＥＰＲＯＭ適合処理は、図８のものに対して、ステップＳ４４〜Ｓ４７が追加されている処理である。そこで、この追加されている処理を中心に以下説明する。
【００８３】
ステップＳ４４〜Ｓ４７の処理は、ＥＣＵ２における故障判定で故障と判定しているデータ格納領域に対して再検査を行う処理である。まず、ステップＳ４１において検査結果がＯＫでない場合には、ステップＳ４４へ進み、適合済みデータ領域６のＥＥＰＲＯＭデータ復元エリア６１に記憶されている適合済みデータを新ＥＥＰＲＯＭデータテーブルに記述されているデータ格納先アドレスを指定してＥＣＵ２へ送信する。
【００８４】
このステップＳ４４をプログラム書き換え装置１が実行することにより、ＥＣＵ２は適合済みデータを受信し、図４に示すステップＳ２３〜Ｓ２６の処理を実行して、ＥＥＰＲＯＭ読み込みデータをプログラム書き換え装置１へ送信する。
【００８５】
そして、プログラム書き換え装置１は、ステップＳ４５にて、ＥＥＰＲＯＭ読み込みデータを受信し、続く、ステップＳ４６では、書き込み要求データ（すなわちステップＳ４４で送信した適合済みデータ）と、ステップＳ４５で受信した読み込みデータとが一致するか否かを判断する。
【００８６】
この判断が肯定判断である場合にはステップＳ４３へ進む。一方、ステップＳ４６が否定判断となった場合にはステップＳ４７へ進む。ステップＳ４７では、再書き込み回数がリトライ許可回数よりも多いか否かを判断する。このステップＳ４７が否定判断となった場合にはステップＳ４４に戻り、適合済みデータを再度、送信する。ステップＳ４７における再書き込み回数とは、ステップＳ４４の実行回数である。また、リトライ許可回数は予め設定された定数である。
【００８７】
ステップＳ４７が肯定判断となった場合には、書き込もうとしているデータ格納領域が故障していると判断したことになり、この場合には、ステップＳ４８以下を実行する。
【００８８】
以上、説明した第３実施形態では、プログラム書き換え装置１にてデータ格納領域が故障しているか否かの再判定を行っているので、実際には故障していないにもかかわらず、ＥＣＵ２が実行した故障判定では誤って故障と判定されてしまったデータ格納領域を、故障していないと判定し直して書き込みを行うことが可能になる。そのため、ＥＥＰＲＯＭ２２を継続して使用できる可能性が高くなり、ひいては、そのＥＥＰＲＯＭ２２を備えているＥＣＵ２の交換を抑制することができる。しかも、ＥＣＵ２から受信した故障判定の結果において正常と判定されているアドレスについてはこの再判定は行わないので、判定時間も短くなる。
【００８９】
（第４実施形態）
次に、本発明の第４実施形態を説明する。第４実施形態では、プログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理として図９に示す処理を実行する点が第１〜３実施形態と相違する。
【００９０】
図１０に示すＥＥＰＲＯＭ適合処理は、図９に示すＥＥＰＲＯＭ適合処理に対して、ステップＳ５ｂが追加されている点が図９と相違するのみであり、ステップＳ５１〜Ｓ５９、Ｓ５ａは、それぞれ、図９のステップＳ４１〜４９、Ｓ４ａと同じ処理である。
【００９１】
ステップＳ５ｂは、ステップＳ５８が否定判断となった場合に実行する。この場合には、空き領域アドレスが存在せず、アドレスを変更して書き込み要求を行うことができない。そこで、ステップＳ５ｂでは異常を通知する。なお、このステップＳ５ｂは報知手段に相当する処理である。
【００９２】
この第４実施形態のように、異常が通知されると、このプログラム書き換え装置１の使用者は、ＥＣＵ２の交換等、何らかの対応をとる必要があることを確実に知ることができる。
【００９３】
（第５実施形態）
次に、本発明の第５実施形態を説明する。第５実施形態では、プログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理として図１１に示す処理を実行する点が第１〜４実施形態と相違する。
【００９４】
図１１に示すＥＥＰＲＯＭ適合処理は、図４に示すＥＥＰＲＯＭ適合処理において、ステップＳ１７に代えて、ステップＳ６４〜Ｓ６ｅを実行する点が図４に示すＥＥＰＲＯＭ適合処理と相違するのみであり、ステップＳ６１〜Ｓ６３、Ｓ６５、Ｓ６６〜Ｓ６９は、それぞれ、図４のステップＳ８〜１０、Ｓ１１、Ｓ１３〜Ｓ１６と同じ処理である。
【００９５】
ステップＳ６４は、ステップＳ６３が肯定判断となった場合、または、ステップＳ６７が否定判断となった場合に実行する。そのステップＳ６４では、再書き込み回数が何回であったかを判断する。０回である場合には、直接、ステップＳ６５へ進む。従って、０回の場合には通知は行われない。再書き込み回数が１回〜リトライ許可回数であれば、ステップＳ６ａ、６ｂ・・・を実行して、再書き込み回数に応じたメッセージを通知する。再書き込み回数が「リトライ許可回数＋１」回であればステップＳ６ｃを実行する。
【００９６】
ステップＳ６ｃでは、ＥＥＰＲＯＭ２２の空き領域へ設定完了したか否かを判断する。この判断は、ステップＳ６７が肯定判断となり、空き領域を新たなデータ格納領域として再書き込みを行うことによりステップＳ６３が肯定判断となったか否かを判断するものである。
【００９７】
ステップＳ６ｃが肯定判断である場合には、ステップＳ６ｄへ進み、「リトライ回数＋１」回用のメッセージを通知する。一方、ステップＳ６ｃが否定判断である場合は、空き領域が存在せず、アドレスを変更して書き込み要求を行うことができない場合である。そこで、ステップＳ６ｅで異常を通知する。
【００９８】
この第５実施形態のように、再書き込み回数（すなわち不一致と判定された回数）も報知するようにすれば、たとえば、故障とは判定されなかったが、再書き込み回数が多い場合には、データ格納領域を変更して使用することを検討する、あるいは、データの重要度を考慮するとそのまま使用して問題ないと判断する等、柔軟な対応が可能となる。
【００９９】
（第６実施形態）
次に、本発明の第６実施形態を説明する。第６実施形態では、プログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理として図１２に示す処理を実行する点が第１〜５実施形態と相違する。
【０１００】
図１２に示すＥＥＰＲＯＭ適合処理は、図４に示すＥＥＰＲＯＭ適合処理において、ステップＳ１７に代えて、ステップＳ６４〜Ｓ６ｅを実行する点が図４に示すＥＥＰＲＯＭ適合処理に対してステップＳ７９、Ｓ７ｂ〜７ｄが追加されている点が相違するのみであり、ステップＳ７１〜Ｓ７８、Ｓ７ａは、それぞれ、図４のステップＳ８〜１１、Ｓ１３〜Ｓ１７と同じ処理である。
【０１０１】
ステップＳ７９は、ステップＳ７６が否定判断となった場合に実行する。そのステップＳ７９では、書き込みデータ（書き込もうとしている制御データ）より低い重要度の制御データが無いかを判断する。この判断は、新ＥＥＰＲＯＭデータテーブルにおける「重要度」を参照して、書き込もうとしている制御データよりも重要度が低い制御データがあるか否かを判断するものである。この判断が肯定判断の場合、すなわち、書き込もうとしている制御データよりも低い重要度の制御データが無い場合にはステップＳ７ａにてＥＥＰＲＯＭ異常を通知する。
【０１０２】
一方、ステップＳ７９が否定判断である場合、すなわち、書き込もうとしている制御データよりも低い重要度の制御データが格納されているデータ格納領域が有る場合には、ステップＳ７ｂにて、該当領域に書き込み可能か否かをさらに判断する。この判断は、該当領域が書き込もうとしている制御データを格納可能なサイズか否かを判断するものである。上記ステップＳ７ｂの判断が肯定判断である場合にはステップＳ７ｃへ進み、否定判断である場合にはステップＳ７ａへ進む。
【０１０３】
この第６実施形態のようにすれば、重要度が高い制御データについては、プログラム書き換え後も継続して使用し続けることができる可能性がより向上する。その結果、その重要度が高い制御データが使用できないことに起因するＥＣＵ２の交換を抑制できる。
【０１０４】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、次の実施形態も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
【０１０５】
たとえば、前述の実施形態では、前述の実施形態では、制御データの並べ替えは行っていなかったが、ＥＥＰＲＯＭデータ退避エリア４１に退避した制御データを、新ＥＥＰＲＯＭデータテーブルを参照して、並べ替えた後に、前述の実施形態のデータ変換処理を行ってもよい。
【０１０６】
また、前述の実施形態では、不揮発性メモリとしてＥＥＰＲＯＭを用いていたが、ＭＲＡＭ（Magnetic RAM）等の不揮発性RAMやバックアップＲＡＭを不揮発性メモリとして用いてもよい。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施形態となるプログラム書き換え装置１と、そのプログラム書き換え装置１によって書き換えられるプログラムを記憶しているＥＣＵ２とを示す図である。
【図２】マイコン１１の内部のＲＡＭあるいは記憶装置の記憶領域の構成を示す図である。
【図３】ＥＥＰＲＯＭデータテーブルの一例を示す図である。
【図４】制御プログラムを書き換える際にプログラム書き換え装置１のマイコン１１およびＥＣＵ２のマイコン２１が実行する制御を示すフローチャートである。
【図５】最小値（ＭＩＮ）に差異があるために必要となる変換処理を説明する図である。
【図６】データの要求精度の変換処理を説明する図である。
【図７】ビット割付が変更になっているデータテーブルを例示する図である。
【図８】第２実施形態においてプログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理を示すフローチャートである。
【図９】第３実施形態においてプログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理を示すフローチャートである。
【図１０】第４実施形態においてプログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理を示すフローチャートである。
【図１１】第５実施形態においてプログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理を示すフローチャートである。
【図１２】第６実施形態においてプログラム書き換え装置１が行なうＥＥＰＲＯＭ適合処理を示すフローチャートである。
【符号の説明】
【０１０８】
１：プログラム書き換え装置、      ２：ＥＣＵ、      ３：通信線、      ４：旧プログラムデータ領域、      ５：新プログラムデータ領域、      ６：適合済みデータ領域、      ２１：マイコン、      ２２：ＥＥＰＲＯＭ、      ４１：ＥＥＰＲＯＭデータ退避エリア、      ４２：ＥＥＰＲＯＭデータテーブル退避エリア、      ５１：新制御プログラム、      ５２：ＥＥＰＲＯＭデータテーブル、      ６１：ＥＥＰＲＯＭデータ復元エリア、      ６２：ＥＥＰＲＯＭデータテーブル、      ６３：新制御プログラム
【図１】
2010015265.tif 000003
【図２】
2010015265.tif 000004
【図３】
2010015265.tif 000005
【図４】
2010015265.tif 000006
【図５】
2010015265.tif 000007
【図６】
2010015265.tif 000008
【図７】
2010015265.tif 000009
【図８】
2010015265.tif 000010
【図９】
2010015265.tif 000011
【図１０】
2010015265.tif 000012
【図１１】
2010015265.tif 000013
【図１２】
2010015265.tif 000014