(57)【要約】【課題】電子制御装置の状態を考慮することなくプログラムを書き換えることができる技術を提供【解決手段】ＥＣＵ１は、エンジンＥＧを制御するための制御プログラムを記憶する記憶領域が設けられ、記憶内容の書き換えが可能なフラッシュＲＯＭ３と、フラッシュＲＯＭ３に記憶された制御プログラムに従って処理を行うように構成された演算ユニット２１とを備え、リモートセンタからリプログ要求を受信した場合には、フラッシュＲＯＭ３に記憶された制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置であって、フラッシュＲＯＭ３の記憶領域は、互いに領域が重複しないように予め設定された第１記憶領域３１および第２記憶領域３２に分割され、演算ユニット２１が制御プログラムを読み込む記憶領域と、書換処理によって制御プログラムの内容を書き換える記憶領域とが異なる。【選択図】図１
2013254264.tif 000002
【特許請求の範囲】
【請求項１】
所定の制御対象を制御するための制御プログラムを記憶する記憶領域が設けられ、記憶内容の書き換えが可能な不揮発性メモリ（３）と、
前記不揮発性メモリに記憶された前記制御プログラムに従って処理を行うように構成された演算部（２１）とを備え、
予め設定された書換条件が成立した場合には、前記不揮発性メモリに記憶された前記制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置（１）であって、
前記不揮発性メモリの前記記憶領域は、互いに領域が重複しないように予め設定された複数の分割記憶領域（３１，３２）に分割され、
前記制御プログラムに従って処理を行うために前記演算部が前記制御プログラムを読み込む前記分割記憶領域である読込用分割記憶領域と、前記書換処理によって前記制御プログラムの内容を書き換える前記分割記憶領域である書換用分割記憶領域とが異なる
ことを特徴とする電子制御装置。
【請求項２】
前記制御プログラムに従って処理を行うために前記演算部が前記制御プログラムを読み込む前記不揮発性メモリの前記記憶領域として、前記複数の分割記憶領域のうちの何れか１つを選択して切り替えることができる読込切替手段（２３）と、
前記書換処理によって前記制御プログラムの内容を書き換える前記記憶領域として、前記複数の分割記憶領域のうちの何れか１つを選択して切り替えることができる書換切替手段（２４）とを備え、
前記書換切替手段は、前記複数の分割記憶領域のうち、前記読込切替手段が選択しているのとは異なる前記分割記憶領域を選択することにより、前記読込用分割記憶領域と前記書換用分割記憶領域とを異ならせ、
前記読込切替手段は、前記書換処理による前記制御プログラムの書き換えが完了した後に、前記書換処理により書き換えられた前記制御プログラムの内容に応じて予め設定された読込切替条件が成立すると、前記書換処理により前記制御プログラムが書き換えられた前記分割記憶領域を選択するための切り替えを行う
ことを特徴とする請求項１に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶したプログラムを書き換え可能な電子制御装置に関する。
【背景技術】
【０００２】
従来、例えば自動車のエンジンやトランスミッション等を制御する電子制御装置として、電気的に記憶内容の書き換え（詳しくは、データの消去および書き込み）が可能なフラッシュメモリやＥＥＰＲＯＭ等の書換可能不揮発性メモリを備え、その書換可能不揮発性メモリに記憶された制御プログラムを書き換え可能なものが知られている。
【０００３】
この種の電子制御装置が搭載された車両では、車両の所有者がカーディーラに車両を持ち込み、カーディーラの作業者が専用の書換装置を用いて書換作業を行うことにより、制御プログラムを書き換えることが一般的である（例えば、特許文献１を参照）。
【０００４】
しかし将来的には、以下の（１），（２），（３）に示すような状況に変化すると考えられる。
（１）車両とネットワークとが様々な形で接続されていく。
【０００５】
（２）個人ではなく団体が管理してユーザがシェアする車両が増えていく。
（３）電子制御装置に記憶されるプログラムが高度に複雑化した構造となり、セキュリティ等の問題からプログラムのアップデートが随時必要となる。
【０００６】
このような状況に変化した場合において、プログラムの書き換え（以下、リプログともいう）が必要となる度にカーディーラに車両を持ち込むことは、ユーザ利便性およびセキュリティリスク等から考えにくく、遠隔地からリプログを行うというニーズが発生すると考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２２０５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
遠隔地からリプログを行う場合において、ユーザ利便性の向上とリプログミスの防止とを考慮すると、現在の車両状態（例えば、車両走行中、車両停止中）および任意の状態変化（例えば、ＩＧオフからＩＧオン）によらずにリプログを行うことが望ましい。
【０００９】
しかし、車両が走行中である場合にはプログラムがオンタイムで実行されており、プログラムの実行中にリプログを行うと、プログラムの暴走を招く可能性がある。
例えば、「Ａ→Ｂ→Ｃ」という一連の処理において、「Ａ」,「Ｃ」が用いるデータ［Ｄ１］が同一であるという条件に基づいてプログラムが設計されている場合において、「Ｂ」の処理実行中のタイミングで［Ｄ１］をリプログして書き換えてしまうと、「Ｃ」の処理の結果が正しくならない。この結果プログラムが暴走するといったことが考えられる。
【００１０】
また、車両の状態変化を予め予測することは難しく、状態変化過渡におけるリプログはデータ破損等を引き起こす可能性がある。
例えば、ＩＧオンからＩＧオフとなるような状態変化において、ＩＧオフ時はマイコンへの電源供給を停止する電子制御装置（以下、ＥＣＵともいう）がある。このようなＥＣＵにおいて、リプログ途中にＩＧオフになり、マイコンへの電源供給が停止すると、リプログ処理自体が停止するだけでなく書き換え途中のデータが破損し、その結果、次回のＩＧオン以降にＥＣＵが正しく動作しなくなってしまうことが考えられる。
【００１１】
本発明は、こうした問題に鑑みてなされたものであり、電子制御装置の状態を考慮することなくプログラムを書き換えることができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するためになされた請求項１に記載の発明は、所定の制御対象を制御するための制御プログラムを記憶する記憶領域が設けられ、記憶内容の書き換えが可能な不揮発性メモリと、不揮発性メモリに記憶された制御プログラムに従って処理を行うように構成された演算部とを備え、予め設定された書換条件が成立した場合には、不揮発性メモリに記憶された制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置であって、不揮発性メモリの記憶領域は、互いに領域が重複しないように予め設定された複数の分割記憶領域に分割され、制御プログラムに従って処理を行うために演算部が制御プログラムを読み込む分割記憶領域である読込用分割記憶領域と、書換処理によって制御プログラムの内容を書き換える分割記憶領域である書換用分割記憶領域とが異なることを特徴とする。
【００１３】
このように構成された電子制御装置では、制御プログラムに従って処理を行うために演算部が制御プログラムを読み込む分割記憶領域（読込用分割記憶領域）から読み込まれた制御プログラムに従った処理を演算部が実行している最中に書換処理が行われても、読込用分割記憶領域に記憶されている制御プログラムが書き換えられることがない。このため、制御プログラムの実行中であっても制御プログラムを書き換えることができる。
【００１４】
また、書換処理が行われている最中に電子制御装置への電源供給が停止した場合であっても、書換処理によって制御プログラムの内容を書き換える分割記憶領域（書換用分割記憶領域）における書換処理を電源供給の再開後に再度行うようにすればよく、読込用分割記憶領域に記憶されている制御プログラムのデータが破損することはないため、電子制御装置への電源供給が停止されるか否かを考慮することなく、制御プログラムを書き換えることができる。
【００１５】
以上より、請求項１に記載の電子制御装置によれば、電子制御装置の状態を考慮することなく制御プログラムを書き換えることができる。
また、請求項１に記載の電子制御装置において、請求項２に記載のように、制御プログラムに従って処理を行うために演算部が制御プログラムを読み込む不揮発性メモリの記憶領域として、複数の分割記憶領域のうちの何れか１つを選択して切り替えることができる読込切替手段と、書換処理によって制御プログラムの内容を書き換える記憶領域として、複数の分割記憶領域のうちの何れか１つを選択して切り替えることができる書換切替手段とを備え、書換切替手段は、複数の分割記憶領域のうち、読込切替手段が選択しているのとは異なる分割記憶領域を選択することにより、読込用分割記憶領域と書換用分割記憶領域とを異ならせ、読込切替手段は、書換処理による制御プログラムの書き換えが完了した後に、書換処理により書き換えられた制御プログラムの内容に応じて予め設定された読込切替条件が成立すると、書換処理により制御プログラムが書き換えられた分割記憶領域を選択するための切り替えを行うようにしてもよい。
【００１６】
このように構成された電子制御装置では、書換処理による制御プログラムの書き換えが完了した後に、書換処理により書き換えられた制御プログラムの内容に応じた適切なタイミングで、不揮発性メモリの記憶領域から読み込む制御プログラムを切り替えることができる。このため、実行する制御プログラムを切り替えることに起因した不具合の発生を抑制することができる。例えば、制御プログラムのうち書換処理の前後で内容が異なる部分の処理が実行されていないことを読込切替条件とするとよい。これにより、演算部が実行中のプログラムの内容がプログラム実行中に変わってしまうことに起因した不具合の発生を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】ＥＣＵ１の構成を示すブロック図である。
【図２】リプログ処理を示すフローチャートである。
【図３】プログラム切替処理を示すフローチャートである。
【図４】プログラムの書き換え前の状態を説明するためのブロック図である。
【図５】プログラムの書き換え後の状態を説明するためのブロック図である。
【発明を実施するための形態】
【００１８】
以下に本発明の実施形態を図面とともに説明する。
本実施形態の電子制御装置（以下、ＥＣＵという）１は、車両に搭載され、図１に示すように、車両のエンジンＥＧの制御を行う。
【００１９】
ＥＣＵ１は、ＣＰＵ（中央演算装置）２、フラッシュＲＯＭ３、ＲＡＭ４、入出力回路５、および通信インターフェース６と、これらを相互に接続するバス７とを備える。
フラッシュＲＯＭ３は、ＣＰＵ２によって実行されるプログラムを格納するための不揮発性メモリであり、第１記憶領域３１と第２記憶領域３２とが設けられている。
【００２０】
ＲＡＭ４は、ＣＰＵ２の演算結果等を一時格納するための揮発性メモリである。
入出力回路５は、エンジンＥＧの運転状態を検出する様々なセンサからの信号を入力して波形処理を行うとともに、ＣＰＵ２からの制御信号に応じて、エンジンＥＧに取り付けられた点火装置やインジェクタ等の電気負荷へ駆動信号を出力する。
【００２１】
通信インターフェース（以下、通信Ｉ／Ｆという）６は、車内ＬＡＮ１１を介して、車両に搭載された各種機器との間でデータ通信を行う。そして、車内ＬＡＮ１１には、車両の外部に設置されたリモートセンタ（不図示）との間で無線通信を行う無線通信機１２が接続されている。
【００２２】
リモートセンタは、車両の所有者がカーディーラに車両を持ち込むことなく、フラッシュＲＯＭ３に記憶されているプログラムをアップデートすることを可能にするために設置されている。そしてリモートセンタは、プログラムのアップデートが必要になったときに、車両に搭載された無線通信機１２との間で無線通信を行うことにより、新しいプログラムを構成するデータをＥＣＵ１に送信する。
【００２３】
ＣＰＵ２は、フラッシュＲＯＭ３に記憶されたプログラムに基づいて各種処理を実行する。またＣＰＵ２は、入出力回路５を介して入力される各種信号に基づいて制御演算を行い、その演算結果に基づき、点火装置やインジェクタ等の電気負荷へ入出力回路５を介して駆動信号を出力することにより、エンジンＥＧの制御に関係する電気負荷を制御する。例えばＣＰＵ２は、インジェクタの開弁タイミングおよび開弁時間を演算し、その演算結果に基づいて、インジェクタを駆動するための駆動信号を出力することにより、エンジンＥＧへの燃料噴射を制御する。
【００２４】
またＣＰＵ２は、プログラムを実行するための演算ユニット２１と、演算ユニット２１が利用するデータを格納するための複数のレジスタから構成されるレジスタ群２２とを備え、所定の処理プログラムに基づいて処理を実行する。そして、レジスタ群２２のレジスタ内に、使用情報格納領域２２１と、リプログ完了フラグ２２２が設けられる。
【００２５】
使用情報格納領域２２１には、ＣＰＵ２上において現時点で実行中のプログラムが格納された記憶領域を示す情報が格納される。リプログ完了フラグ２２２は、リプログが完了したときにセットされるフラグである。
【００２６】
さらにＣＰＵ２は、使用プログラム切替ユニット２３と、リプログ先変更ユニット２４とを備える。
使用プログラム切替ユニット２３は、第１記憶領域３１および第２記憶領域３２の何れか一方に記憶されているプログラムにアクセスできるように、フラッシュＲＯＭ３にアクセスするためのアドレスを変換する機能を有するハードウェアであり、演算ユニット２１からプログラム切替指令が入力すると、プログラム切替動作を実行する。具体的には、第１記憶領域３１にアクセスするように使用プログラム切替ユニット２３がアドレス変換を行っている状態でプログラム切替指令が入力すると、その後、第２記憶領域３２にアクセスするためのアドレス変換を行うように切り替わり、その後、更にプログラム切替指令が入力すると、第１記憶領域３１にアクセスするためのアドレス変換を行うように切り替わる。
【００２７】
リプログ先変更ユニット２４は、フラッシュＲＯＭ３内において書き換え対象となる記憶領域（すなわち、第１記憶領域３１および第２記憶領域３２の何れか）のプログラムを書き換えるときに、書き換え対象となる記憶領域にプログラムが書き込まれるようにアドレスを変換する機能を有するハードウェアである。具体的には、リプログ先変更ユニット２４は、第１記憶領域３１を示す情報が使用情報格納領域２２１に格納されている場合には、第２記憶領域３２にプログラムが書き込まれるようにアドレスを変換し、第２記憶領域３２を示す情報が使用情報格納領域２２１に格納されている場合には、第１記憶領域３１にプログラムが書き込まれるようにアドレスを変換する。
【００２８】
このように構成されたＥＣＵ１の演算ユニット２１が実行するリプログ処理とプログラム切替処理の手順を図２と図３を用いて説明する。このリプログ処理およびプログラム切替処理は、ＣＰＵ２の動作中に繰り返し実行される処理である。
【００２９】
まず、リプログ処理が実行されると、演算ユニット２１は、図２に示すように、まずＳ１０にて、無線通信機１２を介して取得したデータに基づいて、リモートセンタからリプログ要求を受信したか否かを判断する。ここで、リプログ要求を受信していないと判断した場合には（Ｓ１０：ＮＯ）、リプログ処理を一旦終了する。一方、リプログ要求を受信した場合には（Ｓ１０：ＹＥＳ）、Ｓ２０にて、リプログ完了フラグ２２２がセットされているか否かを判断する。
【００３０】
ここで、リプログ完了フラグ２２２がセットされている場合には（Ｓ２０：ＹＥＳ）、リプログ処理を一旦終了する。一方、リプログ完了フラグ２２２がクリアされている場合には（Ｓ２０：ＮＯ）、Ｓ３０にて、無線通信機１２を介してリモートセンタから送信される新たなプログラムをフラッシュＲＯＭ３に書き込む書換処理を行う。なお、書換処理の途中で、何らかの原因（例えば、突然のエンスト等による電源の遮断、受信データ途絶による書き換え用データの欠落など）で書換エラーが発生した場合には、書換処理が再度行われる。リプログによりプログラムが正しく書き込むことができたか否かを判断するために、リプログ完了フラグ２２２がセットされているか否かを確認するようにしてもよいし、プログラムが正しく書き込めたか否かを判断する専用の方法（例えば、何処まで書き込みをしたか等を定期的にチェックする）を採用するようにしてもよい。
【００３１】
またリプログ先変更ユニット２４は、書き換え対象となる記憶領域にプログラムが書き込まれるようにアドレスを変換するため、書き換え対象となる記憶領域が第１記憶領域３１および第２記憶領域３２の何れかであるかを演算ユニット２１側で把握しておく必要はない。
【００３２】
そして、Ｓ３０の書換処理が完了すると、Ｓ４０にて、リプログ完了フラグ２２２をセットして、リプログ処理を一旦終了する。
また、プログラム切替処理が実行されると、演算ユニット２１は、図３に示すように、まずＳ１１０にて、リプログ完了フラグ２２２がセットされているか否かを判断する。ここで、リプログ完了フラグ２２２がクリアされている場合には（Ｓ１１０：ＮＯ）、プログラム切替処理を一旦終了する。一方、リプログ完了フラグ２２２がセットされている場合には（Ｓ１１０：ＹＥＳ）、Ｓ１２０にて、予め設定されたプログラム切替条件が成立したか否かを判断する。
【００３３】
このプログラム切替条件は、安全にプログラムを切り替えることができる状態であることを示す条件として、書換処理により書き換えられたプログラムの内容に応じて予め設定されている。例えば、書換処理により書き換えられたプログラムが動作していないときの状態をプログラム切替条件として設定するとよい。例えば、フラッシュＲＯＭ３に記憶されたプログラムのうち、車速が所定値以上の時には実行されないプログラム（例えば、アイドリングストップに関連したプログラム）が書き換えられた場合には、プログラム切替条件として、「車速が所定値（例えば５０ｋｍ／ｈ）以上であること」とするとよい。また、その他のプログラム切替条件として、「車速が所定値以下であるときに所定の操作部材（例えばシフトレバー）が操作されたこと」、および「車両が充電状態であること」等が挙げられる。
【００３４】
ここで、プログラム切替条件が成立していない場合には（Ｓ１２０：ＮＯ）、プログラム切替処理を一旦終了する。一方、プログラム切替条件が成立している場合には（Ｓ１２０：ＹＥＳ）、Ｓ１３０にて、演算ユニット２１から使用プログラム切替ユニット２３に対してプログラム切替指令を出力する。これにより、使用プログラム切替ユニット２３は、使用するプログラムの記憶領域を切り替え、切替が完了すると切替完了通知を出力する。
【００３５】
その後Ｓ１４０にて、使用プログラム切替ユニット２３からの切替完了通知が入力するまで待機し、切替完了通知が入力すると、使用情報格納領域２２１に、切り替え後に実行されるプログラムが記憶されている記憶領域を示す情報を格納するとともに、Ｓ１５０にて、リプログ完了フラグ２２２をクリアし、プログラム切替処理を一旦終了する。
【００３６】
次に、リプログ先の変更と、使用プログラムの切り替えの手順を図４および図５を用いて説明する。
まず、図４に示すように、演算ユニット２１が、第１記憶領域３１に記憶されているプログラムを用いて処理を実行しているとする。すなわち、使用プログラム切替ユニット２３は、演算ユニット２１が第１記憶領域３１にアクセスするようにアドレス変換を行っている状態である。このとき、第１記憶領域３１を示す情報が使用情報格納領域２２１に格納されるとともに、リプログ完了フラグ２２２はクリアされている。またリプログ先変更ユニット２４は、第２記憶領域３２にプログラムが書き込まれるようにアドレス変換を行う。
【００３７】
その後、リモートセンタからリプログ要求を受信すると、リプログ完了フラグ２２２はクリアされているため、書換処理により、新たなプログラムがフラッシュＲＯＭの第２記憶領域３２に書き込まれる。
【００３８】
そして、プログラムの書き込みが完了すると、図５に示すように、リプログ完了フラグ２２２がセットされる。その後、プログラム切替条件が成立すると、使用プログラム切替ユニット２３は、演算ユニット２１が第２記憶領域３２にアクセスするようにアドレス変換を行う状態となり、第２記憶領域３２を示す情報が使用情報格納領域２２１に格納される。これにより、リプログ完了フラグ２２２がクリアされるとともに、リプログ先変更ユニット２４は、第１記憶領域３１にプログラムが書き込まれるようにアドレス変換を行う状態となる。
【００３９】
このように構成されたＥＣＵ１は、エンジンＥＧを制御するための制御プログラムを記憶する記憶領域が設けられ、記憶内容の書き換えが可能なフラッシュＲＯＭ３と、フラッシュＲＯＭ３に記憶された制御プログラムに従って処理を行うように構成された演算ユニット２１とを備え、リモートセンタからリプログ要求を受信した場合には、フラッシュＲＯＭ３に記憶された制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置であって、フラッシュＲＯＭ３の記憶領域は、互いに領域が重複しないように予め設定された第１記憶領域３１および第２記憶領域３２に分割され、制御プログラムに従って処理を行うために演算ユニット２１が制御プログラムを読み込む記憶領域と、書換処理によって制御プログラムの内容を書き換える記憶領域とが異なる。
【００４０】
これにより、演算ユニット２１が制御プログラムを読み込む記憶領域から読み込まれた制御プログラムに従った処理を演算ユニット２１が実行している最中に書換処理が行われても、演算ユニット２１が制御プログラムを読み込む記憶領域に記憶されている制御プログラムが書き換えられることがない。このため、制御プログラムの実行中であっても制御プログラムを書き換えることができる。
【００４１】
また、書換処理が行われている最中にＥＣＵ１への電源供給が停止した場合であっても、書換処理によって制御プログラムの内容を書き換える記憶領域における書換処理を電源供給の再開後に再度行うようにすればよく、演算ユニット２１が制御プログラムを読み込む記憶領域に記憶されている制御プログラムのデータが破損することはないため、ＥＣＵ１への電源供給が停止されるか否かを考慮することなく、制御プログラムを書き換えることができる。
【００４２】
以上より、ＥＣＵ１によれば、ＥＣＵ１の状態を考慮することなく制御プログラムを書き換えることができる。
またＥＣＵ１は、演算ユニット２１が制御プログラムを読み込むフラッシュＲＯＭ３の記憶領域として、第１記憶領域３１および第２記憶領域３２のうちの何れか１つを選択して切り替えることができる使用プログラム切替ユニット２３と、書換処理によって制御プログラムの内容を書き換える記憶領域として、第１記憶領域３１および第２記憶領域３２のうちの何れか１つを選択して切り替えることができるリプログ先変更ユニット２４とを備え、リプログ先変更ユニット２４は、第１記憶領域３１および第２記憶領域３２のうち、使用プログラム切替ユニット２３が選択しているのとは異なる記憶領域を選択し、使用プログラム切替ユニット２３は、書換処理による制御プログラムの書き換えが完了した後に、書換処理により書き換えられたプログラムの内容に応じて予め設定されたプログラム切替条件が成立すると、書換処理により制御プログラムが書き換えられた記憶領域を選択するための切り替えを行う。
【００４３】
これにより、書換処理による制御プログラムの書き換えが完了した後に、書換処理により書き換えられた制御プログラムの内容に応じた適切なタイミングで、フラッシュＲＯＭ３の記憶領域から読み込む制御プログラムを切り替えることができる。このため、実行する制御プログラムを切り替えることに起因した不具合の発生を抑制することができる。本実施形態では、書換処理により書き換えられたプログラムが動作していないときの状態をプログラム切替条件として設定しているため、演算ユニット２１が実行中のプログラムの内容がプログラム実行中に変わってしまうことに起因した不具合の発生を抑制することができる。
【００４４】
以上説明した実施形態において、フラッシュＲＯＭ３は本発明における不揮発性メモリ、演算ユニット２１は本発明における演算部、Ｓ１０の処理の判断条件は本発明における書換条件、第１記憶領域３１および第２記憶領域３２は本発明における分割記憶領域、使用プログラム切替ユニット２３は本発明における読込切替手段、リプログ先変更ユニット２４は本発明における書換切替手段、プログラム切替条件は本発明における読込切替条件である。
【００４５】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、互いに領域が重複しないように予め設定された２つの記憶領域（第１記憶領域３１と第２記憶領域３２）がフラッシュＲＯＭ３内に設けられているものを示したが、互いに領域が重複しない３つ以上の記憶領域をフラッシュＲＯＭ３内に設けるようにしてもよい。
【００４６】
また上記実施形態では、１つのフラッシュＲＯＭ３内に第１記憶領域３１と第２記憶領域３２が設けられているものを示したが、第１記憶領域３１と第２記憶領域３２をそれぞれ異なるフラッシュＲＯＭ内に設けるようにしてもよい。
【００４７】
また上記実施形態では、使用プログラム切替ユニット２３とリプログ先変更ユニット２４がハードウェアで実装されているものを示したが、ソフトウェアを用いて実装してもよいし、ハードウェアとソフトウェアの両方を用いて実装してもよい。
【００４８】
また上記実施形態では、使用情報格納領域２２１とリプログ完了フラグ２２２がレジスタ群２２のレジスタ内に設けられているものを示したが、専用のハードウェアを用いて設けるようにしてもよい。
【００４９】
また上記実施形態では、使用情報格納領域２２１に格納する情報を変更（Ｓ１４０）した後に、リプログ完了フラグ２２２の内容を変更（Ｓ１５０）するものを示したが、リプログ完了フラグ２２２の内容を変更した後に、使用情報格納領域２２１に格納する情報を変更するようにしてもよい。
【符号の説明】
【００５０】
１…ＥＣＵ、３…フラッシュＲＯＭ、２１…演算ユニット、２３…使用プログラム切替ユニット、２４…リプログ先変更ユニット、３１…第１記憶領域、３２…第２記憶領域
【図１】
2013254264.tif 000003
【図２】
2013254264.tif 000004
【図３】
2013254264.tif 000005
【図４】
2013254264.tif 000006
【図５】
2013254264.tif 000007