(57)【特許請求の範囲】
【請求項１】
不揮発性メモリに記憶されたプログラムを実行する電子制御手段を備え、前記プログラムとして所定の制御のための制御プログラムを実行するか、または前記不揮発性メモリへの書込み処理を実行するかを前記電子制御手段に判別させるための判別プログラムを有する電子制御装置において、
前記制御プログラムは、前記不揮発性メモリの特定の記憶領域に記憶され、前記判別プログラムは、前記不揮発性メモリの前記特定の記憶領域とは異なる他の記憶領域に記憶され、また、前記制御プログラムの有無を前記電子制御手段に確認させるためのチェックプログラムが前記特定の記憶領域の所定のアドレスに記憶され、そして、前記電子制御手段は、前記判別プログラムを実行した結果により前記制御プログラムを実行すべきと判断したとき、前記チェックプログラムの有無を確認し、前記チェックプログラムが前記不揮発性メモリに記憶されていることを確認したとき、前記制御プログラムへ移行することを特徴とする電子制御装置。
【請求項２】
前記電子制御手段は、前記チェックプログラムによって前記不揮発性メモリの特定の領域に前記制御プログラムが書込まれてないと判定したとき、前記判別プログラムにおいて前記不揮発性メモリに前記書込み処理を開始するための待機状態とする請求項１に記載の電子制御装置。
【請求項３】
前記電子制御手段は、前記判別プログラムによって前記不揮発性メモリの特定の記憶領域に書込まれている前記チェックプログラムの有無が確認されると、前記判別プログラムの処理として前記チェックプログラムに対し前記制御プログラムの有無を確認し、前記制御プログラムが前記不揮発性メモリの特定の記憶領域に書込まれていることを確認したとき、前記判別処理プログラムの処理として前記制御プログラムへ移行することを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項４】
前記電子制御手段は、前記判別プログラムによって前記不揮発性メモリの特定の記憶領域に書込まれている前記チェックプログラムの有無が確認されると、前記チェックプログラムへ移行し、前記チェックプログラムを実行することで前記制御プログラムが前記不揮発性メモリの特定の記憶領域に書込まれていることを確認できたとき、前記チェックプログラムの処理として前記制御プログラムへ移行することを特徴とする請求項１または請求項２に記載の電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、書換可能な不揮発性メモリに記憶されているプログラムによる制御またはそのプログラム書換機能を有する電子制御装置に関するものである。
【０００２】
【従来の技術】
従来、所定の制御対象を制御する制御プログラムを記憶する書換可能な不揮発性メモリを有する電子制御装置に関連し、書換可能な不揮発性メモリに記憶されている制御プログラムに対する書換要求がないときには、その制御プログラムにジャンプして所定の制御を実行するものが知られている。
【０００３】
このとき、書換可能な不揮発性メモリに制御プログラムが何らかの理由で書込まれていなかったり、制御プログラムが途中までの不完全なものであると、電子制御装置によって制御プログラムが実行されても制御対象が正常に制御されないという不具合が生じることとなる。これに対処するため、書換可能な不揮発性メモリ内の特定のアドレスに制御プログラムが書込まれているか否かを表すデータを設け、このデータにより制御プログラムが書込まれていないと判定されたときには、書換可能な不揮発性メモリ内に制御プログラムと共に記憶されているブートプログラム（立上げプログラム）内で書換要求待ちとされるのである。
【０００４】
【発明が解決しようとする課題】
ところで、前述のものでは、所定の制御対象を制御する制御プログラムの有無を判定するために特定のアドレスに制御プログラムの有無を表すデータを持つだけであり、ブートプログラムはそのアドレスに対応するデータをチェックするだけでよいこととなる。しかし、制御プログラムはその固定された特定のアドレスに必ず自らの有無を表すデータを持つ必要があり、アドレス構成を変えることができない。
【０００５】
つまり、従来のアプリケーションプログラムの有無判定においては、アプリケーションプログラムの特定のアドレス、例えば、アプリケーションプログラムの最後尾に、特定のデータとして００ｈを置いておき、ブートプログラムがそのアドレスのデータを読んで００ｈかそれ以外であるかを判定することで、アプリケーションプログラムの有無を判定するような方法が用いられている。ここで、００ｈのｈは hexadecimal numeral（１６進数）を表し、００ｈ（１６進数）は８ビット（１バイト）が全て「０」の０（１０進数）のときである。
【０００６】
すると、アプリケーションプログラムが変更され、そのサイズが変化したときにはアプリケーションプログラムの有無を表すデータのアドレスも変化してしまうため、ブートプログラムも変更を余儀なくされるのである。また、アプリケーションプログラムの有無を表すデータがデータ有りとなっていても、それ以外の領域のプログラムが誤って部分的に変更されてしまっているときに、アプリケーションプログラムにジャンプするとやはりプログラムの暴走による誤動作が起こるのである。
【０００７】
したがって、制御プログラム自らの有無を表すデータが異常であるときには誤判定による書換コマンドの永久待ち状態、そのデータのみが残っていて他の部分のプログラムが消去されているときには制御対象が正常に制御されないという不具合が生じる。この点に関しては、制御プログラムの有無をより詳細に判定するロジックをブートプログラム内に設けることで対処することもできるが、一般に、二度と書換えが行われないブートプログラムが複雑かつ肥大化することに加え、異なる構成に対処するために異なる有無判定ロジックが必要な制御プログラムに対しては、フレキシブルに対応できないという不具合があった。
【０００８】
そこで、この発明はかかる不具合を解決するためになされたもので、書換可能な不揮発性メモリ内に所定の制御対象を制御する制御プログラム及びその有無判定ロジックを持ち、制御プログラムが書込まれているときのみ制御プログラムに移行することで制御対象を正常に制御可能な電子制御装置の提供を課題としている。
【０００９】
【課題を解決するための手段】
請求項１の電子制御装置によれば、書換可能な不揮発性メモリ内に格納された所定の制御のための制御プログラムを実行するか、または前記不揮発性メモリへの書込み処理を実行するかを前記電子制御手段に判別させるための判別プログラムによって、所定の制御対象を制御するための制御プログラムを実行すると判定されたときには、まず、制御プログラムを記憶するための記憶領域の所定のアドレス領域にチェックプログラムの有無を確認し、そのチェックプログラムが実行されたのち制御プログラムに移行される。このため、チェックプログラムの有無を確認し、そのチェックプログラムによって予め制御プログラムの有無が確認されたときのみ実際に制御プログラムに移行されることとなるため、制御プログラムがないときに誤って制御プログラムにジャンプされることがなくなり、プログラムの暴走による誤動作を防止することができる。また、制御プログラムの有無を確認するチェックプログラムが制御プログラムの記憶領域の所定のアドレスに設定されているため、制御プログラムが変更され、そのサイズが変化したとしても制御プログラムの有無を表すデータのアドレスが変化しないため、判別プログラムは単純で変更を要しない小さなものでよく、制御プログラムの変更に対してフレキシブルに対応することができる。
【００１０】
請求項２の電子制御装置では、書換可能な不揮発性メモリの記憶領域のチェックプログラムが実行され、その所定の記憶領域に制御プログラムが書込まれていなければ、判別プログラムによる処理のままで、制御プログラムが書込まれるまで待機状態となる。このため、制御プログラムがないときに誤って制御プログラムにジャンプされることがなくなり、プログラムの暴走による誤動作を防止することができる。
【００１１】
請求項３の電子制御装置では、前記判別プログラムを実行し、前記チェックプログラムの有無が確認されると、前記判別プログラムの処理として前記チェックプログラムに対し前記制御プログラムの有無を確認し、その所定の記憶領域に制御プログラムが書込まれていると判定され、判別プログラムにてその書込みが確認されたときのみ制御プログラムに移行される。このように、チェックプログラムによる処理で制御プログラムの有無を確認し、判別プログラムでその書込みが確認されたときのみ制御プログラムに移行されるので、所定の制御対象を正常に制御することができる。
【００１２】
請求項４の電子制御装置では、前記判別プログラムを実行し、前記チェックプログラムの有無が確認されると、前記チェックプログラムへ移行し、その所定の記憶領域に制御プログラムが書込まれていると判定されたときには、そのまま制御プログラムに移行される。このように、チェックプログラムによる処理で制御プログラムが存在するときには直接、制御プログラムに移行されるので、所定の制御対象を正常に制御することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて説明する。
【００１５】
図１は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載された内燃機関用電子制御装置の全体構成を示すブロック図である。
【００１６】
図１において、１０は内燃機関用電子制御装置（Electronic Control Unit;以下、単に、『ＥＣＵ』と記す）であり、ＥＣＵ１０には内燃機関２０の運転状態を検出する図示しない各種センサからのセンサ信号が入力される。これら各種センサからのセンサ信号はＥＣＵ１０内の入力回路１６により波形整形処理、Ａ／Ｄ変換処理等が実行されたのちマイクロコンピュータ１１に入力される。マイクロコンピュータ１１では入力回路１６からのセンサ信号に基づき内燃機関２０に対する最適な制御量が演算され、その演算結果としての制御信号が出力回路１７に出力される。そして、出力回路１７からの制御信号により内燃機関２０の図示しないイグナイタ、インジェクタ（燃料噴射弁）等のアクチュエータが駆動され、必要に応じて各種警告灯が点灯される。また、ＥＣＵ１０はマイクロコンピュータ１１内の内燃機関用制御プログラム及びデータを書換える際に接続されるメモリ書換機３０との間でデータ通信を行うための通信回路１８を備えている。
【００１７】
ＥＣＵ１０内のマイクロコンピュータ１１は、周知の中央処理装置としてＣＰＵ１２、プログラムやデータを格納するフラッシュＲＯＭ１３、各種データを格納するＲＡＭ１４、入力回路１６及び通信回路１８等からの信号を受取ると共に、出力回路１７に制御信号を出力するＩ／Ｏ（Input-Output）回路１５及びそれらを接続するバスライン等からなる論理演算回路として構成されている。なお、フラッシュＲＯＭ１３は一旦書込まれたプログラムやデータを消去し再度、書込可能なメモリ、即ち、書換可能な不揮発性メモリであり、ＥＥＰＲＯＭ等を用いることもできる。
【００１８】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているＥＣＵ１０内のマイクロコンピュータ１１のＣＰＵ１２におけるブートプログラムによる初期設定の処理手順を示す図２のフローチャートに基づいて説明する。なお、この初期設定ルーチンはマイクロコンピュータ１１内のＣＰＵ１２の起動毎に繰返し実行される。
【００１９】
図２において、まず、ステップＳ１０１で初期設定が実行されたのちステップＳ１０２に移行し、メモリ書換機３０が接続されているかが判定される。ステップＳ１０２の判定条件が成立せず、即ち、メモリ書換機３０が接続されていないときにはステップＳ１０３に移行する。ステップＳ１０３では、アプリケーションプログラムが有るかが判定される。ステップＳ１０３の判定条件が成立、即ち、アプリケーションプログラムが有るときにはステップＳ１０４に移行し、アプリケーションプログラムにジャンプされ、本ルーチンを終了する。
【００２０】
ここで、アプリケーションプログラムがフラッシュＲＯＭ１３に未だ書込まれていないときに、アプリケーションプログラムにジャンプしてしまうとそのものが存在しないためにプログラムの暴走による誤動作が起こることとなる。したがって、アプリケーションプログラムが有るときのみそのアプリケーションプログラムにジャンプすることが許可されるのである。
【００２１】
一方、ステップＳ１０３の判定条件が成立せず、即ち、アプリケーションプログラムが存在しないときにはステップＳ１０２に戻り、アプリケーションプログラムを書換えるメモリ書換機３０が接続されるまでループ状態で待機される。そして、ステップＳ１０２の判定条件が成立、即ち、メモリ書換機３０が接続されるとステップＳ１０５に移行し、プログラム書換要求があるときにはフラッシュＲＯＭ１３に対するフラッシュＲＯＭ書換処理が実行される。
【００２２】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で用いられているフラッシュＲＯＭ１３の内部構成について図３のブロック図を参照して説明する。
【００２３】
図３に示すように、フラッシュＲＯＭ１３内には例えば、フラッシュＲＯＭ書換プログラムをメモリ書換機３０から読出してフラッシュＲＯＭ書換処理を起動するためのブートプログラムを記憶するブートプログラム記憶領域１３１と内燃機関用制御プログラム及びデータ等からなるアプリケーションプログラムを記憶するアプリケーションプログラム記憶領域１３２とが形成され、更に、アプリケーションプログラム記憶領域１３２内の先頭にはアプリケーションプログラムの有無をチェックするためのチェックプログラムを記憶するチェックプログラム記憶領域１３２ａが形成され、それぞれの記憶領域は分離されている。
【００２４】
チェックプログラム記憶領域１３２ａに記憶されるチェックプログラムは、ブートプログラム記憶領域１３１に記憶されているブートプログラムから的確にアクセス可能とするために、チェックプログラム記憶領域１３２ａの先頭アドレスが固定されている。後述のように、ブートプログラムにてチェックプログラムの存在のみが確認されたのち、このチェックプログラムにてアプリケーションプログラムが存在し、かつ正常に書込まれているかがチェックされる。これにより、アプリケーションプログラム記憶領域１３２に記憶されるアプリケーションプログラムの形態が変わり、その有無のチェック方法を変える必要性が生じても、チェックプログラムを変更するのみでよく、ブートプログラムを変更する必要がないこととなる。
【００２５】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているＥＣＵ１０内のマイクロコンピュータ１１のＣＰＵ１２におけるブートプログラムによるアプリケーションプログラム有無判定の処理手順を示す図４のフローチャートに基づいて説明する。なお、このアプリケーションプログラム有無判定ルーチンはマイクロコンピュータ１１内のＣＰＵ１２にて初期設定毎に繰返し実行される。
【００２６】
図４において、ステップＳ２０１でチェックプログラムのある先頭アドレスがＦＦｈでなく、アプリケーションプログラムの有無を判定するチェックプログラムそのものが有るかが判定される。ここで、ＦＦｈ（１６進数）は８ビット（１バイト）が全て「１」の２５５（１０進数）のときである。一般に、フラッシュＲＯＭ１３の消去状態においてはセルの内容がＦＦｈとなり、また、プログラムの先頭アドレスがＦＦｈとならない等の理由から、プログラムのある先頭アドレスがＦＦｈであるか否かでその有無が判定できるのである。
【００２７】
ステップＳ２０１の判定条件が成立、即ち、フラッシュＲＯＭ１３内のチェックプログラム記憶領域１３２ａにおける先頭アドレスがＦＦｈでなく、チェックプログラムが有るときにはステップＳ２０２に移行し、チェックプログラムが存在しているため、そのチェックプログラムにアプリケーションプログラムの有無が問合わせられる。次にステップＳ２０３に移行して、ステップＳ２０２におけるチェックプログラムへの問合わせにより、アプリケーションプログラムが有るかが判定される。ここで、アプリケーションプログラムの有無としては、例えば、所定のアドレスが所定のデータであること、チェックサム値が一致すること等により判定することができる。本実施例では、アプリケーションプログラム内にチェックプログラムが存在しており、アプリケーションプログラムに合わせて変更することが可能であり、この際、ブートプログラムの変更は一切不要である。
【００２８】
そして、ステップＳ２０３の判定条件が成立、即ち、チェックプログラムからの回答がアプリケーションプログラム有りのときにはステップＳ２０４に移行し、アプリケーションプログラムにジャンプされ、本ルーチンを終了する。一方、ステップＳ２０１の判定条件が成立せず、即ち、チェックプログラムのある先頭アドレスがＦＦｈであり、チェックプログラムがないとき、またはステップＳ２０３の判定条件が成立せず、即ち、チェックプログラムからの回答がアプリケーションプログラムなしのときにはステップＳ２０５に移行し、メモリ書換機３０からのコマンドの待機状態とされる。
【００２９】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているＥＣＵ１０内のマイクロコンピュータ１１のＣＰＵ１２におけるブートプログラムによるアプリケーションプログラム有無判定の処理手順の変形例を示す図５及び図６のフローチャートに基づいて説明する。ここで、図５は、チェックプログラム有無判定の処理手順を示すフローチャートであり、図６は、図５のジャンプ先のチェックプログラムによるアプリケーションプログラム有無判定の処理手順を示すフローチャートである。なお、図５及び図６からなるアプリケーションプログラム有無判定ルーチンはマイクロコンピュータ１１内のＣＰＵ１２にて初期設定毎に繰返し実行される。
【００３０】
図５において、ステップＳ３０１でチェックプログラムのある先頭アドレスがＦＦｈでなく、アプリケーションプログラムの有無を判定するチェックプログラムそのものが有るかが判定される。ステップＳ３０１の判定条件が成立、即ち、フラッシュＲＯＭ１３内のチェックプログラム記憶領域１３２ａにおける先頭アドレスがＦＦｈでなく、チェックプログラムが有るときにはステップＳ３０２に移行し、チェックプログラムが存在しているため、そのチェックプログラムにジャンプされ、本ルーチンを終了する。
【００３１】
一方、ステップＳ３０１の判定条件が成立せず、即ち、フラッシュＲＯＭ１３内のチェックプログラム記憶領域１３２ａにおける先頭アドレスがＦＦｈであり、チェックプログラムがないときにはステップＳ３０３に移行し、メモリ書換機３０からのコマンドの待機状態とされる。
【００３２】
上述の図５のステップＳ３０２のジャンプ先のチェックプログラム処理として、図６のステップＳ３１１に移行し、アプリケーションプログラムが有るかが判定される。ここで、アプリケーションプログラムの有無としては、例えば、所定のアドレスが所定のデータであること、チェックサム値が一致すること等により判定することができる。本変形例でも、アプリケーションプログラム内にチェックプログラムが存在しており、アプリケーションプログラムに合わせて変更することが可能であり、この際、ブートプログラムの変更は一切不要である。
【００３３】
そして、ステップＳ３１１の判定条件が成立、即ち、アプリケーションプログラムが有るときにはステップＳ３１２に移行し、アプリケーションプログラムにジャンプされ、本ルーチンを終了する。一方、ステップＳ３１１の判定条件が成立せず、即ち、アプリケーションプログラムがないときには、上述の図５のステップＳ３０３に移行し、メモリ書換機３０からのコマンドの待機状態とされる。
【００３４】
このように、本実施例のＥＣＵ１０は、所定の制御対象としての内燃機関２０を制御する制御プログラムとしてのアプリケーションプログラムとそのアプリケーションプログラムの実行を開始する前に、アプリケーションプログラムを実行するかまたは内部の記憶領域への書込みを実行するかを判別する判別プログラムとしてのブートプログラムとをそれぞれのブートプログラム記憶領域１３１、アプリケーションプログラム記憶領域１３２に記憶すると共に、アプリケーションプログラムが書込まれていないときには、アプリケーションプログラムへの移行を禁止するチェックプログラムをアプリケーションプログラムを記憶するためのアプリケーションプログラム記憶領域１３２内の先頭アドレスのチェックプログラム記憶領域１３２ａに記憶する書換可能な不揮発性メモリとしてのフラッシュＲＯＭ１３と、フラッシュＲＯＭ１３に記憶されたアプリケーションプログラム、ブートプログラムまたはチェックプログラムに応じた処理を実行するマイクロコンピュータ１１にて達成される電子制御手段とを具備し、前記電子制御手段は、ブートプログラムによってアプリケーションプログラムを実行すると判定したときには、チェックプログラムの存在を確認し、チェックプログラムを実行したのちアプリケーションプログラムに移行するものである。
【００３５】
したがって、ＥＣＵ１０のマイクロコンピュータ１１によりフラッシュＲＯＭ１３内の判別プログラムとしてブートプログラム記憶領域１３１に記憶されたブートプログラムによって制御プログラムとしてアプリケーションプログラム記憶領域１３２に記憶されたアプリケーションプログラムを実行すると判定されたときには、まず、アプリケーションプログラム記憶領域１３２の先頭アドレスのチェックプログラム記憶領域１３２ａにチェックプログラムが存在することが確認され、そのチェックプログラムが実行されたのちアプリケーションプログラムに移行される。
【００３６】
このため、チェックプログラムが有り、そのチェックプログラムによって予めアプリケーションプログラムの有無が確認されたときのみ実際にアプリケーションプログラムに移行されることとなるため、アプリケーションプログラムがないときに誤ってアプリケーションプログラムにジャンプされることがなくなり、プログラムの暴走による誤動作を防止することができる。また、アプリケーションプログラムの有無を確認するチェックプログラムが記憶されるチェックプログラム記憶領域１３２ａがアプリケーションプログラムが記憶されるアプリケーションプログラム記憶領域１３２の先頭アドレスに設定されているため、アプリケーションプログラムが変更され、そのサイズが変化したとしてもアプリケーションプログラムの有無を表すデータのアドレスが変化しないため、ブートプログラムは単純で変更を要しない小さなものでよく、アプリケーションプログラムの変更に対してフレキシブルに対応することができる。
【００３７】
また、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、フラッシュＲＯＭ１３のチェックプログラム記憶領域１３２ａに記憶されたチェックプログラムにてフラッシュＲＯＭ１３のアプリケーションプログラム記憶領域１３２にアプリケーションプログラムが書込まれていないと判定したときには、フラッシュＲＯＭ１３のブートプログラム記憶領域１３１に記憶されたブートプログラムで待機状態を保持するものである。つまり、フラッシュＲＯＭ１３のチェックプログラム記憶領域１３２ａの先頭アドレスのチェックプログラムが実行され、アプリケーションプログラム記憶領域１３２にアプリケーションプログラムが書込まれていなければ、ブートプログラム記憶領域１３１に記憶されたブートプログラムの処理の途中で、メモリ書換機３０が接続されアプリケーションプログラムが書込まれるまで待機状態が保持される。このため、アプリケーションプログラムがないときに誤ってアプリケーションプログラムにジャンプされることがなくなり、プログラムの暴走による誤動作を防止することができる。
【００３８】
そして、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、フラッシュＲＯＭ１３のチェックプログラム記憶領域１３２ａに記憶されたチェックプログラムにてフラッシュＲＯＭ１３のアプリケーションプログラム記憶領域１３２にアプリケーションプログラムが書込まれていると判定し、フラッシュＲＯＭ１３のブートプログラム記憶領域１３１に記憶されたブートプログラムにてその結果を確認したときのみアプリケーションプログラムに移行するものである。つまり、フラッシュＲＯＭ１３のチェックプログラム記憶領域１３２ａの先頭アドレスのチェックプログラムが実行され、アプリケーションプログラム記憶領域１３２にアプリケーションプログラムが書込まれていると判定され、ブートプログラム記憶領域１３１に記憶されたブートプログラムの処理でその書込みが確認されたときのみブートプログラムによるアプリケーションプログラムへのジャンプが実行されアプリケーションプログラムに移行される。このため、アプリケーションプログラムが有るときのみアプリケーションプログラムにジャンプされることで、制御対象としての内燃機関２０を正常に制御することができる。
【００３９】
更に、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、チェックプログラムにてフラッシュＲＯＭ１３のアプリケーションプログラム記憶領域１３２にアプリケーションプログラムが書込まれていると判定したときには、直接、アプリケーションプログラムに移行するものである。つまり、フラッシュＲＯＭ１３のチェックプログラム記憶領域１３２ａの先頭アドレスのチェックプログラムが実行され、アプリケーションプログラム記憶領域１３２にアプリケーションプログラムが書込まれていると判定されたときには、そのままアプリケーションプログラムに移行される。このように、チェックプログラムによる処理でアプリケーションプログラムが有るときには直接、アプリケーションプログラムにジャンプされることで、制御対象としての内燃機関２０を正常に制御することができる。
【００４０】
また、本実施例のＥＣＵ１０のマイクロコンピュータ１１内のフラッシュＲＯＭ１３は、ブートプログラム、アプリケーションプログラム、チェックプログラムの全てを記憶すると共に、ブートプログラムとアプリケーションプログラム及びチェックプログラムとを互いに異なる記憶領域に記憶するものである。つまり、フラッシュＲＯＭ１３内のブートプログラム記憶領域１３１にブートプログラム、アプリケーションプログラム記憶領域１３２にアプリケーションプログラム及びその先頭アドレスのチェックプログラム記憶領域１３２ａにチェックプログラムがそれぞれ記憶されている。このため、フラッシュＲＯＭ１３内で変更の必要性のないブートプログラムが記憶されるブートプログラム記憶領域１３１とチェックプログラムが記憶されるチェックプログラム記憶領域１３２ａとの大きさが固定でき、アプリケーションプログラム記憶領域１３２におけるアプリケーションプログラムは自らの有無を表すデータを持つ必要がないためアドレス構成が変更自在であり、アプリケーションプログラムの大きさも自由に変更することができる。
【図面の簡単な説明】
【図１】  図１は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載されたＥＣＵの全体構成を示すブロック図である。
【図２】  図２は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているＥＣＵのマイクロコンピュータ内のＣＰＵにおける初期設定の処理手順を示すフローチャートである。
【図３】  図３は本発明の実施の形態の一実施例にかかる電子制御装置で用いられているフラッシュＲＯＭの内部構成を示すブロック図である。
【図４】  図４は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているＥＣＵのマイクロコンピュータ内のＣＰＵにおけるアプリケーションプログラム有無判定の処理手順を示すフローチャートである。
【図５】  図５は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているＥＣＵのマイクロコンピュータ内のＣＰＵにおけるチェックプログラム有無判定の処理手順の変形例を示すフローチャートである。
【図６】  図６は図５のジャンプ先のチェックプログラムによるアプリケーションプログラム有無判定の処理手順の変形例を示すフローチャートである。
【符号の説明】
１０  ＥＣＵ（内燃機関用電子制御装置）
１１  マイクロコンピュータ
１２  ＣＰＵ
１３  フラッシュＲＯＭ（書換可能な不揮発性メモリ）
２０  内燃機関
３０  メモリ書換機
【図１】
0003937598.tif 000002
【図２】
0003937598.tif 000003
【図３】
0003937598.tif 000004
【図４】
0003937598.tif 000005
【図５】
0003937598.tif 000006
【図６】
0003937598.tif 000007