JP4708088B2 - 障害復旧方法およびマイクロコンピュータ - Google Patents
障害復旧方法およびマイクロコンピュータ Download PDFInfo
- Publication number
- JP4708088B2 JP4708088B2 JP2005144140A JP2005144140A JP4708088B2 JP 4708088 B2 JP4708088 B2 JP 4708088B2 JP 2005144140 A JP2005144140 A JP 2005144140A JP 2005144140 A JP2005144140 A JP 2005144140A JP 4708088 B2 JP4708088 B2 JP 4708088B2
- Authority
- JP
- Japan
- Prior art keywords
- stored
- storage device
- identifier
- microcomputer
- volatile storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は障害復旧方法およびマイクロコンピュータに関し、特に障害発生から復旧するマイクロコンピュータの障害復旧方法およびマイクロコンピュータに関する。
従来、マイクロコンピュータの異常検出には、ウォッチドッグ信号を利用したものがある。例えば、マイクロコンピュータから出力されるウォッチドッグ信号を、ウォッチドッグ監視IC(Integrated Circuit)で監視する。ウォッチドッグ監視ICは、マイクロコンピュータから一定時間ウォッチドッグ信号が出力されなくなると、マイクロコンピュータをリセットするようにする。
なお、異常が発生したとき、実行されていた処理(プロセス)の記録をするとともに、その処理を取り除いて再立ち上げすることを可能にした自動障害復旧方式がある(例えば、特許文献1参照)。また、CPU(Central Processing Unit)が暴走した場合のコンピュータの被害を最小にとどめるとともに、CPUに負荷がかからない暴走検知機能つきコンピュータがある(例えば、特許文献2参照)。
特開平6−35737号公報
特開平11−161548号公報
しかし、異常個所の処理を取り除いてもその処理が再び呼ばれることもあり、この場合、その処理が存在しないために処理が中断してしまう場合もある。
本発明はこのような点に鑑みてなされたものであり、異常が発生したときの処理の履歴を記憶し、リセットによる再立ち上げ後、その処理が呼ばれたときにはその処理のフェールセーフを実行し、処理を続行できる障害復旧方法およびマイクロコンピュータを提供することを目的とする。
本発明はこのような点に鑑みてなされたものであり、異常が発生したときの処理の履歴を記憶し、リセットによる再立ち上げ後、その処理が呼ばれたときにはその処理のフェールセーフを実行し、処理を続行できる障害復旧方法およびマイクロコンピュータを提供することを目的とする。
本発明では上記問題を解決するために、障害発生から復旧するマイクロコンピュータの障害復旧方法において、実行しようとする処理に付与されている識別子を取得し、電源がバックアップされた揮発性記憶装置および書き換え可能な不揮発性記憶装置に前記識別子が記憶されていない場合、前記処理の識別子を前記揮発性記憶装置に記憶して前記処理を実行し、前記揮発性記憶装置および前記不揮発性記憶装置の一方または両方に前記識別子が記憶されている場合、前記処理のフェールセーフを実行し、前記マイクロコンピュータの出力するウォッチドッグ信号を監視するウォッチドッグ監視装置によってリセットされた場合、前記処理の実行を開始する前に前記揮発性記憶装置に記憶されている前記識別子を前記不揮発性記憶装置に記憶する、ことを特徴とする障害復旧方法が提供される。
このような障害復旧方法によれば、処理を実行しようとするとき、その処理に付与されている識別子を取得し、電源がバックアップされた揮発性記憶装置に記憶してから実行する。ウォッチドッグ監視装置によるリセットがあった場合、揮発性記憶装置に記憶されている識別子を不揮発性記憶装置に記憶する。そして、揮発性記憶装置または不揮発性記憶装置に記憶されている識別子の処理を実行しようとする場合、その処理のフェールセーフを実行する。
本発明の障害復旧方法では、処理を実行しようとするとき、その処理に付与されている識別子を取得し、電源がバックアップされた揮発性記憶装置に記憶してから実行する。ウォッチドッグ監視装置によるリセットがあった場合、揮発性記憶装置に記憶されている識別子を不揮発性記憶装置に記憶する。そして、揮発性記憶装置または不揮発性記憶装置に記憶されている識別子の処理を実行しようとする場合、その処理のフェールセーフを実行するようにした。これによって、異常が発生したときの処理が呼ばれても、そのフェールセーフを実行することにより、処理を続行することができる。
以下、本発明の原理を図面を参照して詳細に説明する。
図1は、マイクロコンピュータの障害復旧方法の概要を説明する図である。図に示すようにマイクロコンピュータ1は、識別子取得手段2、処理実行手段3、記憶手段4、揮発性記憶装置5、および不揮発性記憶装置6を有している。マイクロコンピュータ1は、ウォッチドッグ監視装置8と接続され、ウォッチドッグ信号をウォッチドッグ監視装置8に出力する。ウォッチドッグ監視装置8は、マイクロコンピュータ1から一定時間ウォッチドッグ信号が出力されない場合、マイクロコンピュータ1をリセットする。マイクロコンピュータ1は、処理7a,7b,〜,7nを実行する。処理7a,7b,〜,7nには、それぞれを区別する識別子が付与されている。
図1は、マイクロコンピュータの障害復旧方法の概要を説明する図である。図に示すようにマイクロコンピュータ1は、識別子取得手段2、処理実行手段3、記憶手段4、揮発性記憶装置5、および不揮発性記憶装置6を有している。マイクロコンピュータ1は、ウォッチドッグ監視装置8と接続され、ウォッチドッグ信号をウォッチドッグ監視装置8に出力する。ウォッチドッグ監視装置8は、マイクロコンピュータ1から一定時間ウォッチドッグ信号が出力されない場合、マイクロコンピュータ1をリセットする。マイクロコンピュータ1は、処理7a,7b,〜,7nを実行する。処理7a,7b,〜,7nには、それぞれを区別する識別子が付与されている。
識別子取得手段2は、実行しようとする処理7a,7b,〜,7nの識別子を取得する。
処理実行手段3は、電源Vddがバックアップされた揮発性記憶装置5および書き換え可能な不揮発性記憶装置6に、取得した識別子が記憶されていない場合、その処理の識別子を揮発性記憶装置5に記憶してからその処理を実行する。また、処理実行手段3は、揮発性記憶装置5および不揮発性記憶装置6の一方または両方に、取得した識別子が記憶されている場合、その処理のフェールセーフを実行する。
処理実行手段3は、電源Vddがバックアップされた揮発性記憶装置5および書き換え可能な不揮発性記憶装置6に、取得した識別子が記憶されていない場合、その処理の識別子を揮発性記憶装置5に記憶してからその処理を実行する。また、処理実行手段3は、揮発性記憶装置5および不揮発性記憶装置6の一方または両方に、取得した識別子が記憶されている場合、その処理のフェールセーフを実行する。
記憶手段4は、マイクロコンピュータ1がウォッチドッグ監視装置8によってリセットされた場合、処理7a,7b,〜,7nの実行を開始する前に、揮発性記憶装置5に記憶されている識別子を不揮発性記憶装置6に記憶する。
このように、処理7a,7b,〜,7nを実行しようとするときに、その処理に付与されている識別子を取得し、電源Vddがバックアップされた揮発性記憶装置5に記憶してから実行する。ウォッチドッグ監視装置8によるリセットがあった場合、揮発性記憶装置5に記憶されている識別子を不揮発性記憶装置6に記憶する。そして、揮発性記憶装置5または不揮発性記憶装置6に記憶されている識別子の処理を実行しようとする場合、その処理のフェールセーフを実行するようにした。これによって、異常が発生した処理が呼ばれても、そのフェールセーフを実行することにより、処理を続行することができる。
次に、本発明の実施の形態を図面を参照して詳細に説明する。
図2は、マイクロコンピュータの異常検出を説明する図である。図にはマイクロコンピュータ10およびウォッチドッグ監視IC20が示してある。マイクロコンピュータ10は、プログラムによって、例えば、4msの反転するウォッチドッグ信号WDをウォッチドッグ監視IC20に出力する。図に示すマイクロコンピュータ10は車両に搭載され、例えば、エンジン制御や車両制御などの処理を行う。
図2は、マイクロコンピュータの異常検出を説明する図である。図にはマイクロコンピュータ10およびウォッチドッグ監視IC20が示してある。マイクロコンピュータ10は、プログラムによって、例えば、4msの反転するウォッチドッグ信号WDをウォッチドッグ監視IC20に出力する。図に示すマイクロコンピュータ10は車両に搭載され、例えば、エンジン制御や車両制御などの処理を行う。
ウォッチドッグ監視IC20は、マイクロコンピュータ10から出力されるウォッチドッグ信号WDを監視し、一定時間(例えば、100ms)ウォッチドッグ信号WDが反転して出力されない場合、マイクロコンピュータ10にリセット信号RSTを出力する。すなわち、マイクロコンピュータ10は、ソフトウェアまたはハードウェアの異常によってウォッチドッグ信号WDを出力できなくなった場合、ウォッチドッグ監視IC20によってリセットされる。
マイクロコンピュータ10は、ウォッチドッグ監視IC20によりリセットされると、リセットされたときに実行していた処理をリジェクトし、その処理に対応するフェールセーフ処理を実行する。そして、マイクロコンピュータ10は以後、IG(イグニッションスイッチ)オンにより動作を開始した場合、リジェクトした処理が呼ばれたときは、その処理に対応するフェールセーフ処理を呼び出し実行する。
なお、ウォッチドッグ監視IC20の代わりに、マイクロコンピュータを利用してもよい。例えば、マイクロコンピュータによってマイクロコンピュータ10のウォッチドッグ信号WDを監視し、マイクロコンピュータ10をリセットするようにしてもよい。
次に、マイクロコンピュータ10のハードウェア構成について説明する。図3は、マイクロコンピュータのハードウェア構成例を示した図である。図に示すようにマイクロコンピュータ10は、CPU11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、EEPROM(Electrically Erasable Programmable Read-only Memory)14、およびI/Oレジスタ15を有している。
マイクロコンピュータ10は、CPU11によって装置全体が制御されている。CPU11には、バスを介してROM12、RAM13、EEPROM14、およびI/Oレジスタ15が接続されている。
RAM13には、CPU11に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。RAM13およびEEPROM14には、CPU11による処理に必要な各種データが保存される。ROM12には、OSやアプリケーションプログラムが格納される。
マイクロコンピュータ10は、ウォッチドッグ監視IC20を含む他の装置と接続されている。CPU11は、I/Oレジスタ15を介して、外部の装置とデータのやり取りをすることができる。以上のようなハードウェア構成によって、リセットが発生したときに実行していた処理をリジェクトし、フェールセーフ処理を実行することが可能となる。
なお、RAM13は、IGがオフされても(電源がオフされても)データを保持するSRAM(Static RAM)と、IGがオフされるとデータが消去されるNRAM(Normal RAM)とによって構成されている。SRAMは、例えば、車両に搭載されたバッテリによるバックアップ電圧が供給され、IGがオフされたときでも、データを保持するようになっている。
次に、RAM13のSRAMに記憶される情報について説明する。図4は、SRAMの記憶領域を示した図である。図に示すようにRAM13のSRAM13aは、初期化発生確認変数が記憶される初期化発生確認変数領域13aa、処理実行記憶変数が記憶される処理実行記憶変数領域13ab、およびバッテリ脱着履歴変数が記憶されるバッテリ脱着履歴変数領域13acを有している。その他の領域には、IGがオフされても保持する必要のある変数が記憶される。
次に、EEPROM14に記憶される情報について説明する。図5は、EPROMの記憶領域を示した図である。図に示すようにEEPROM14は、処理実行記憶変数が記憶される処理実行履歴変数領域14aを有している。処理実行履歴変数領域14aは、複数の処理実行記憶変数を記憶できるように複数設けられる。
次に、マイクロコンピュータ10の動作についてフローチャートを用いて説明する。図6は、IGがオフされたときのマイクロコンピュータの動作を示したフローチャートである。マイクロコンピュータ10のCPU11は、IGがオフされると、図のフローチャートの処理を実行し、エンジン制御および車両制御の処理を終了する。
ステップS1において、CPU11は、SRAM13aの初期化発生確認変数およびバッテリ脱着履歴変数に特定の値を格納する。初期化発生確認変数およびバッテリ脱着履歴変数の特定の値は、例えば、16進数の5AA5とする。ステップS2において、CPU11は、SRAM13aの処理実行記憶変数を、例えば、0にクリアする。
すなわち、CPU11は、ウォッチドッグ監視IC20によりリセットされることなくIGオフによって処理が終了される場合、SRAM13aの初期化発生確認変数およびバッテリ脱着履歴変数に特定の値の5AA5を格納し、処理実行記憶変数を0にクリアして処理を終了する。ウォッチドッグ監視IC20によりリセットされた場合は、IGオフによって行われるステップS1,S2の処理は行われないため、SRAM13aの初期化発生確認変数およびバッテリ脱着履歴変数には、5AA5が記憶されることがなく、また、処理実行記憶変数は0にクリアされることがない。
次に、IGオンまたはリセット後のマイクロコンピュータ10の動作について説明する。図7は、IGオンまたはリセット後のマイクロコンピュータの動作を示したフローチャートである。マイクロコンピュータ10のCPU11は、IGがオンされたとき、または、リセット信号RSTが入力され再動作するとき、図のフローチャートの処理を実行して、エンジン制御および車両制御の様々な処理(プロセス)を開始する。
ステップS11において、CPU11は、エンジン制御および車両制御の処理に必要な初期化処理を行う。
ステップS12において、CPU11は、バッテリの脱着履歴があるか判断する。CPU11は、SRAM13aのバッテリ脱着履歴変数を参照して、バッテリの脱着があったか判断する。
ステップS12において、CPU11は、バッテリの脱着履歴があるか判断する。CPU11は、SRAM13aのバッテリ脱着履歴変数を参照して、バッテリの脱着があったか判断する。
リセットによらず処理を終了した場合、つまり、IGをオフして処理を終了した場合、図6で示したステップS1の処理によって、SRAM13aのバッテリ脱着履歴変数には、5AA5が記憶されているはずである。一方、バッテリが脱着されると、SRAM13aへのバックアップ電圧の供給が絶たれ、SRAM13aの内容は不定となり、バッテリ脱着履歴変数の値は不定となる。よって、CPU11は、SRAM13aのバッテリ脱着履歴変数によって(5AA5であるか否かによって)、バッテリの脱着があったか判断することができる。なお、SRAM13aが不定になっても、バッテリ脱着履歴変数の値は、5AA5になる可能性が非常に少ないことを前提としている。CPU11は、バッテリの脱着があれば、ステップS13の処理へ進む。バッテリの脱着がなければ、ステップS14の処理へ進む。
ステップS13において、CPU11は、SRAM13aの初期化発生確認変数に5AA5を格納する。CPU11は、図のフローチャートの処理を終了し、エンジン制御および車両制御に必要な処理を実行する。
ステップS14において、CPU11は、EEPROM14の処理実行履歴変数領域14aに記憶されている処理実行履歴変数を読み出す。
ステップS15において、CPU11は、読み出した処理実行履歴変数が各処理に付与されている識別子を示しているか判断する。CPU11は、読み出した処理実行履歴変数が各処理に付与されている識別子を示している場合、以前、その識別子が示す処理の実行中にリセット信号RSTが入力されたと判断できる(後述詳細)。CPU11は、読み出した処理実行履歴変数が各処理に付与されている識別子を示している場合、図のフローチャートの処理を終了し、エンジン制御および車両制御の処理を実行する。読み出した処理実行履歴変数が各処理に付与されている識別子を示していない場合、ステップS16の処理へ進む。
ステップS15において、CPU11は、読み出した処理実行履歴変数が各処理に付与されている識別子を示しているか判断する。CPU11は、読み出した処理実行履歴変数が各処理に付与されている識別子を示している場合、以前、その識別子が示す処理の実行中にリセット信号RSTが入力されたと判断できる(後述詳細)。CPU11は、読み出した処理実行履歴変数が各処理に付与されている識別子を示している場合、図のフローチャートの処理を終了し、エンジン制御および車両制御の処理を実行する。読み出した処理実行履歴変数が各処理に付与されている識別子を示していない場合、ステップS16の処理へ進む。
ステップS16において、CPU11は、SRAM13aの初期化発生確認変数に5AA5が記憶されているか判断する。CPU11は、SRAM13aの初期化発生確認変数によって、つまり、5AA5が記憶されていたかによって、リセットされたのか、前回の処理の終了がIGオフによって終了したか判断できる。CPU11は、5AA5の初期化発生確認変数がSRAM13aに記憶されていない場合、ステップS17の処理へ進む。5AA5の初期化発生確認変数がSRAM13aに記憶されている場合、ステップS18の処理へ進む。
ステップS17において、CPU11は、SRAM13aに記憶されている処理実行記憶変数を、処理実行履歴変数としてEEPROM14に記憶する。
処理実行記憶変数には、後述するがエンジン制御および車両制御の処理に付与されている識別子が格納される。この識別子の処理実行記憶変数への格納は、CPU11がエンジン制御および車両制御の処理を実行するときに行われる。すなわち、SRAM13aに記憶される処理実行記憶変数は、CPU11によって実行されている処理の識別子が格納されていることになる。よって、リセット信号RSTによってマイクロコンピュータ10がリセットされ、CPU11がステップS17の処理を実行すると、EEPROM14には、リセット発生時に実行していた処理の識別子が記憶されることになる。CPU11は、ステップS17の処理を終えると、図のフローチャートの処理を終了し、エンジン制御および車両制御の様々な処理を実行する。
処理実行記憶変数には、後述するがエンジン制御および車両制御の処理に付与されている識別子が格納される。この識別子の処理実行記憶変数への格納は、CPU11がエンジン制御および車両制御の処理を実行するときに行われる。すなわち、SRAM13aに記憶される処理実行記憶変数は、CPU11によって実行されている処理の識別子が格納されていることになる。よって、リセット信号RSTによってマイクロコンピュータ10がリセットされ、CPU11がステップS17の処理を実行すると、EEPROM14には、リセット発生時に実行していた処理の識別子が記憶されることになる。CPU11は、ステップS17の処理を終えると、図のフローチャートの処理を終了し、エンジン制御および車両制御の様々な処理を実行する。
ステップS18において、CPU11は、初期化発生確認変数を、例えば、0にクリアする。これによって、IGをオフする前に、リセット信号RSTによりリセットされると、初期化発生確認変数は、図6のステップS1に示した処理によって5AA5が格納されることはなく0のままであり、リセット後のステップS16の処理では、ステップS17の処理へ進むことになる。一方、リセットではなく、IGオフによって処理が終了した場合は、初期化発生確認変数には、5AA5が格納されており、IGオンによってステップS16の処理が実行されると、ステップS18へ進むことになる。このようにして、IGオンまたはリセットによる動作が開始される。
次に、エンジン制御および車両制御の処理を実行するときのマイクロコンピュータ10の動作について説明する。図8は、処理を実行するときのマイクロコンピュータの動作を示したフローチャートである。CPU11は、以下のステップに従って、呼び出した処理を実行する。
ステップS21において、CPU11は、実行しようとする処理の識別子を取得する。識別子は、処理ごとに応じて付与されている。例えば、処理Aには、識別子A_IDが付与され、処理Bには、識別子B_IDが付与されている。
ステップS22において、CPU11は、SRAM13aに記憶されている処理実行記憶変数が、取得した識別子と一致するか判断する。また、EEPROM14に記憶されている、複数ある処理実行履歴変数に、取得した識別子と一致するものがあるか判断する。CPU11は、処理実行記憶変数および処理実行履歴変数に、取得した識別子と一致するものがなければ、ステップS23の処理へ進む。処理実行記憶変数または処理実行履歴変数に、取得した識別子と一致するものがあれば、ステップS25の処理へ進む。すなわち、実行しようとする処理に、異常が発生したという履歴がSRAM13aまたはEEPROM14に残っている場合、ステップS25の処理へ進む。
ステップS23において、CPU11は、ステップS21で取得した識別子をSRAM13aの処理実行記憶変数に格納する。これによって、CPU11は、図7のステップS16で説明したように初期化発生確認変数が5AA5でない場合、つまり、リセット信号RSTによって動作が開始された場合、ステップS17へ進み、SRAM13aに記憶されている処理実行記憶変数をEEPROM14に処理実行履歴変数として記憶する。すなわち、リセットされたときに実行していた処理の識別子が、EEPROM14に記憶され、異常が発生したときの処理の履歴がEEPROM14に残ることになる。なお、EEPROM14は、複数の処理実行履歴変数領域14aを有しており、CPU11は、処理ごとに識別子の履歴を記憶する。
ステップS24において、CPU11は、呼び出した処理を実行する。ステップS25において、CPU11は、呼び出す処理に対応するフェールセーフ処理を実行する。
このようにマイクロコンピュータ10は、処理を実行しようとするときに、その処理に付与されている識別子を取得し、電源がバックアップされたSRAM13aに記憶してから実行する。ウォッチドッグ監視IC20によるリセットがあった場合、SRAM13aに記憶されている識別子をEEPROM14に記憶する。そして、SRAM13aまたはEEPROM14に記憶されている識別子の処理を実行しようとする場合、その処理のフェールセーフを実行するようにした。これによって、異常が発生した処理が呼ばれても、そのフェールセーフを実行することにより、処理を続行することができる。
このようにマイクロコンピュータ10は、処理を実行しようとするときに、その処理に付与されている識別子を取得し、電源がバックアップされたSRAM13aに記憶してから実行する。ウォッチドッグ監視IC20によるリセットがあった場合、SRAM13aに記憶されている識別子をEEPROM14に記憶する。そして、SRAM13aまたはEEPROM14に記憶されている識別子の処理を実行しようとする場合、その処理のフェールセーフを実行するようにした。これによって、異常が発生した処理が呼ばれても、そのフェールセーフを実行することにより、処理を続行することができる。
なお、ステップS22からステップS25への処理移行条件として、処理ごとに重み付けを設けるようにしてもよい。例えば、処理実行履歴変数には、識別子の格納回数も含めて格納するようにする。具体的には、処理Aの識別子が3回処理実行履歴変数に格納された場合、3回という情報も処理実行履歴変数に含めて格納する。CPU11は、ステップS22の処理において、処理Aが基幹制御に関わる処理であるとすると、識別子A_IDの格納が3回あった場合に、ステップS25の処理へ進むようにする。処理Aが基幹制御に関わらない処理ならば、識別子A_IDの格納が1回あった場合に、ステップS25の処理へ進むようにする。なお、処理ごとの重み付け(識別子の格納回数の上限)は、例えば、EEPROM14に記憶されており、CPU11は、EEPROM14に記憶されている処理の重み付けと、処理実行履歴変数の格納回数とを比較して、ステップS23またはステップS25の処理へ進むかの判断をする。
1 マイクロコンピュータ
2 識別子取得手段
3 処理実行手段
4 記憶手段
5 揮発性記憶装置
6 不揮発性記憶装置
7a,7b,〜,7n 処理
8 ウォッチドッグ監視装置
Vdd 電源
2 識別子取得手段
3 処理実行手段
4 記憶手段
5 揮発性記憶装置
6 不揮発性記憶装置
7a,7b,〜,7n 処理
8 ウォッチドッグ監視装置
Vdd 電源
Claims (7)
- 障害発生から復旧するマイクロコンピュータの障害復旧方法において、
実行しようとする処理に付与されている識別子を取得し、
電源がバックアップされた揮発性記憶装置および書き換え可能な不揮発性記憶装置に前記識別子が記憶されていない場合、前記処理の識別子を前記揮発性記憶装置に記憶して前記処理を実行し、
前記揮発性記憶装置および前記不揮発性記憶装置の一方または両方に前記識別子が記憶されている場合、前記処理のフェールセーフを実行し、
前記マイクロコンピュータの出力するウォッチドッグ信号を監視するウォッチドッグ監視装置によってリセットされた場合、前記処理の実行を開始する前に前記揮発性記憶装置に記憶されている前記識別子を前記不揮発性記憶装置に記憶する、
ことを特徴とする障害復旧方法。 - 前記マイクロコンピュータの動作終了時、前記揮発性記憶装置に設けられた所定の領域に終了コードを記憶し、
前記マイクロコンピュータの動作開始時、前記処理の実行を開始する前に、前記領域に特定コードを記憶し、
前記マイクロコンピュータの動作開始時、前記特定コードの前記領域への記憶の前に、前記領域に記憶されているコードによって、前記ウォッチドッグ監視装置によってリセットされたか否か判断することを特徴とする請求項1記載の障害復旧方法。 - 前記領域に前記特定コードが記憶されている場合、前記ウォッチドッグ監視装置によってリセットされたと判断することを特徴とする請求項2記載の障害復旧方法。
- 前記電源は、車両に搭載されるバッテリにより供給されることを特徴とする請求項1記載の障害復旧方法。
- 前記マイクロコンピュータの動作終了時、前記揮発性記憶装置に設けられた所定の領域にバッテリ履歴コードを記憶し、
前記マイクロコンピュータの動作開始時、前記処理の実行を開始する前に、前記領域に記憶されている前記バッテリ履歴コードによって、前記バッテリの脱着の有無を判断することを特徴とする請求項4記載の障害復旧方法。 - 前記識別子の前記不揮発性記憶装置に記憶される回数を、前記識別子ごとに前記不揮発性記憶装置に記憶し、
前記回数が所定以上の場合に、前記処理のフェールセーフを実行することを特徴とする請求項1記載の障害復旧方法。 - 障害発生から復旧するマイクロコンピュータにおいて、
実行しようとする処理に付与されている識別子を取得する識別子取得手段と、
電源がバックアップされた揮発性記憶装置および書き換え可能な不揮発性記憶装置に前記識別子が記憶されていない場合、前記処理の識別子を前記揮発性記憶装置に記憶して前記処理を実行し、前記揮発性記憶装置および前記不揮発性記憶装置の一方または両方に前記識別子が記憶されている場合、前記処理のフェールセーフを実行する処理実行手段と、
当該マイクロコンピュータの出力するウォッチドッグ信号を監視するウォッチドッグ監視装置によってリセットされた場合、前記処理の実行を開始する前に前記揮発性記憶装置に記憶されている前記識別子を前記不揮発性記憶装置に記憶する記憶手段と、
を有することを特徴とするマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005144140A JP4708088B2 (ja) | 2005-05-17 | 2005-05-17 | 障害復旧方法およびマイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005144140A JP4708088B2 (ja) | 2005-05-17 | 2005-05-17 | 障害復旧方法およびマイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006323494A JP2006323494A (ja) | 2006-11-30 |
JP4708088B2 true JP4708088B2 (ja) | 2011-06-22 |
Family
ID=37543148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005144140A Expired - Fee Related JP4708088B2 (ja) | 2005-05-17 | 2005-05-17 | 障害復旧方法およびマイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4708088B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5962697B2 (ja) | 2014-03-26 | 2016-08-03 | 株式会社デンソー | 電子制御装置 |
JP5985121B1 (ja) | 2015-07-30 | 2016-09-06 | 三菱電機株式会社 | プログラム実行装置及びプログラム実行システム及びプログラム実行方法 |
JP7472817B2 (ja) | 2021-02-12 | 2024-04-23 | 株式会社デンソー | データ処理システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01267739A (ja) * | 1988-04-20 | 1989-10-25 | Hitachi Ltd | デイジタル演算処理装置 |
JPH04268931A (ja) * | 1991-02-25 | 1992-09-24 | Mazda Motor Corp | 機器の制御方法および装置 |
JPH0635737A (ja) * | 1992-07-15 | 1994-02-10 | Matsushita Electric Works Ltd | 自動障害復旧方式 |
JP4472803B2 (ja) * | 1999-05-10 | 2010-06-02 | ヤマハ発動機株式会社 | プログラム制御装置のリセット判別方法 |
JP4727896B2 (ja) * | 2001-06-27 | 2011-07-20 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | システムの機能性の監視方法,その監視装置,メモリ素子,コンピュータプログラム |
JP4288999B2 (ja) * | 2003-04-18 | 2009-07-01 | 株式会社デンソー | 処理装置 |
-
2005
- 2005-05-17 JP JP2005144140A patent/JP4708088B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006323494A (ja) | 2006-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8280579B2 (en) | Memory management apparatus | |
US20040158702A1 (en) | Redundancy architecture of computer system using a plurality of BIOS programs | |
JPH11316687A (ja) | 自動リカバリ・システム | |
JPH0820965B2 (ja) | プログラムの実行を続行する方法 | |
JPH063586B2 (ja) | 計算モジュールの監視方法 | |
JP4708088B2 (ja) | 障害復旧方法およびマイクロコンピュータ | |
JP5041290B2 (ja) | プログラマブルコントローラおよびその異常時復旧方法 | |
US20070050612A1 (en) | Boot program update and restoration system and method thereof | |
JP2004046453A (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JP2004338883A (ja) | エレベーターの制御装置 | |
JPH10307726A (ja) | 起動エラー時におけるファームウェアリカバリ方式 | |
KR20230004235A (ko) | 제어 장치, 제어 방법, 및 프로그램 | |
JP2002149437A (ja) | ソフトウェア再起動方法 | |
JP2009520290A (ja) | 耐故障性があるプロセッサシステム | |
JP2004054616A (ja) | ファームウェア自動修復機能を有する情報処理装置 | |
JP5095241B2 (ja) | データ処理装置及びプログラム起動方法 | |
JP2009025967A (ja) | 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム | |
JP2000132462A (ja) | プログラム自己修復方式 | |
JP6952006B2 (ja) | 車両用電子制御装置及び起動方法 | |
JP2000163274A (ja) | 電子機器およびromデータ監視プログラムを記録した記録媒体 | |
JP2574938B2 (ja) | システム起動方式 | |
JP2014035729A (ja) | 車両用制御装置 | |
JP2002063044A (ja) | 演算装置及びプログラム書き換え方法 | |
JPS62281781A (ja) | 故障情報モニタリング方法 | |
JP3451489B2 (ja) | Ram内容破壊対応処理方法及びプログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110316 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140325 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |