(57)【要約】【課題】割込みによって発生した異常処理中に、さらに例外が発生した場合でも、意図した形で異常処理を完遂できる情報処理装置および情報処理方法を提供する。【解決手段】処理を実行する実行部と、異常が発生した場合、前記異常に対処する処理を実行する異常処理部と、を備え、前記異常処理部は、前記異常に対処する第１〜第Ｎ異常処理（Ｎは２以上の自然数）を順次実行する順次処理部と、前記異常の発生回数に基づいて、前記第１〜第Ｎ異常処理の内第Ｋ異常処理（Ｋは１以上Ｎ以下の自然数）から開始するように前記順次処理部に指示する開始処理設定部と、を含む。【選択図】図１
2020052565.tif 000002
【特許請求の範囲】
【請求項１】
処理を実行する実行部と、
異常が発生した場合、前記異常に対処する処理を実行する異常処理部と、を備え、
前記異常処理部は、
前記異常に対処する第１〜第Ｎ異常処理（Ｎは２以上の自然数）を順次実行する順次処理部と、
前記異常の発生回数に基づいて、前記第１〜第Ｎ異常処理の内第Ｋ異常処理（Ｋは１以上Ｎ以下の自然数）から開始するように前記順次処理部に指示する開始処理設定部と、
を含む情報処理装置。
【請求項２】
前記順次処理部は、
前記情報処理装置の前記異常発生時の状態を保存する異常状態保存処理と、
前記情報処理装置をシャットダウンするための前処理を実行するシャットダウン前処理と、
前記情報処理装置をリセットするためのリセット処理との、
いずれか一つの処理を少なくとも行う
請求項１記載の情報処理装置。
【請求項３】
前記異常状態保存処理は、
前記異常発生時の状態として、少なくとも前記異常の発生回数を保存する処理である
請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置に対してリセット指示を行う外部リセット部をさらに備え、
前記順次処理部は、前記外部リセット部がリセット指示を発生させるための指示を行う外部リセット要求処理を有し、
前記開始処理設定部は、前記異常の回数が所定のしきい値以上であった場合、外部リセット要求処理から開始するように前記順次処理部に指示する
請求項１ないし３のいずれかに記載の情報処理装置。
【請求項５】
前記外部リセット部は、ウォッチドッグタイマであり、
前記外部リセット要求処理は、前記ウォッチドックタイマへのクリア指示を停止する処理である
請求項４記載の情報処理装置。
【請求項６】
記憶部をさらに備え、
前記記憶部は、
前記情報処理装置がリセットされる時にクリアされ、
前記異常処理部の処理が行われる時にインクリメントされるカウンタを有する
請求項１ないし５のいずれかに記載の情報処理装置。
【請求項７】
処理を実行する実行工程と、
異常が発生した場合、前記異常に対処する処理を行う異常処理工程と、を備え、
前記異常処理工程は、
前記異常に対処する第１〜第Ｎ異常処理（Ｎは２以上の自然数）を順次実行する順次処理工程と、
前記異常の発生回数に基づいて、前記第１〜第Ｎ異常処理の内第Ｋ異常処理（Ｋは１以上Ｎ以下の自然数）から開始するように前記順次処理部に指示する開始処理設定工程と、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法に関し、さらに詳しくは、異常発生時の情報処理に関する。
【背景技術】
【０００２】
車載装置をマイクロコンピュータ（以降マイコンと称す）によって制御する手法は従来広く知られている。制御において異常が発生した場合は、割込みの形でマイコンの処理を分岐させ、異常に対処する方法が従来技術としてある（特許文献１）。
【０００３】
ところでマイコンには、処理そのものにおいて所定の状態が発生すると、割込みと同様の形で処理を分岐させる機能がある。これはいわゆる例外とも呼ばれるもので、例えば以下のような状態が処理中に発生すると生じる。保護されたメモリ・レジスタ領域へのアクセス、ＥＣＣ（Error Check and Correct）エラー、スタックオーバーフロー、ゼロ除算などである。通常の処理においては、例外を発生させることで、処理の安全性を担保することができる。例えば不正なソフトウェアによる処理の乗っ取りなどを防ぐことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許５１６３８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような目的のため、例外は他の割込みとは異なり、発生を抑制することができない。したがって、いわゆる多重割り込みと同様に、割込み処理中においても例外が発生しうる。すると割込みによる異常処理の途中で、例外による異常処理に処理が分岐する。マイコンの制約などにより、割込みによる異常処理と、例外による異常処理とを、同じ処理にせざるを得ない場合だと、異常処理が無限ループに陥ってしまう課題があった。本発明の目的は、前述の課題に鑑みたもので、割込みによって発生した異常処理中に、さらに例外が発生した場合でも、意図した形で異常処理を完遂できる情報処理装置および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明による情報処理装置は、処理を実行する実行部と、異常が発生した場合、前記異常に対処する処理を実行する異常処理部と、を備え、前記異常処理部は、前記異常に対処する第１〜第Ｎ異常処理（Ｎは２以上の自然数）を順次実行する順次処理部と、前記異常の発生回数に基づいて、前記第１〜第Ｎ異常処理の内第Ｋ異常処理（Ｋは１以上Ｎ以下の自然数）から開始するように前記順次処理部に指示する開始処理設定部と、を含む。
【発明の効果】
【０００７】
本発明は、割込みによって発生した異常処理中に例外が発生した場合でも、意図した形で異常処理を完遂できる効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態による情報処理装置の構成を示す機能ブロック図である。
【図２】図１に示す異常処理部の処理を示すフローチャートである。
【図３】図２に示す処理において、異常状態保存処理で異常が発生した場合の異常処理部の処理の流れを例示したものである。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１０】
＜１．情報処理装置の構成＞
図１を用いて本実施の形態に係る情報処理装置の構成を説明する。情報処理装置1は、外部制御対象装置２に接続され、外部制御対象機器２の制御やデータの処理、異常処理を行う。例えば情報処理装置１を車載ＥＣＵ（Electronic Control Unit）として使用し、外部制御対象機器２として例えばミリ波レーダなどを接続する構成である。
【００１１】
情報処理装置1は、実行部１００と、異常処理部２００と、記憶部３００と、不揮発性記憶部４００と、外部リセット部５００と、を備える。
【００１２】
実行部１００は、割り当てられた所定の処理を実行する。実行部１００は、処理を実行するＣＰＵ（Central Processing Unit）、処理プログラムおよび処理データなどを格納するＲＡＭ（Random Access Memory）、およびＲＯＭ（Read Only Memory）などによって構成される。所定の処理とは情報処理装置１が行うべき、データ処理、機器制御、異常対処など、設計上要求される種々の処理である。このような処理は例えばプログラムの形で実行部１００に割当てられる。
【００１３】
異常処理部２００は、開始処理設定部２１０と、順次処理部２２０とを有する。異常処理部２００は、実行部１００に、異常に対処するための処理を割り当てて、実行部１００に異常に対処するための処理を実行させる。
【００１４】
開始処理設定部２１０は、異常処理部２００が実行された回数（異常発生回数３０１）に基づき、順次処理部２２０において実行が開始される処理（第Ｋ異常処理；Ｋは１以上Ｎ以下の自然数）を設定する。
【００１５】
順次処理部２２０は、第１〜第Ｎ異常処理（Ｎは２以上の自然数）を有する。順次処理部２２０は、実行部１００に、第１〜第Ｎ異常処理を割り当てて、実行部１００に処理を実行させる。第１異常処理から第Ｎ異常処理の順で順次実行され、異常に対処するための処理を行う。第１〜第Ｎ異常処理は、異常処理部２００において行われる異常に対処するための処理のうち、特に実体的な内容の処理である。実体的な内容の処理とは、割込みなどによって発生する本来対処したい異常に対して、本来行いたい内容の処理である。例えば、異常となった状態を保存する処理や、装置をリセットする処理などである。
【００１６】
なお、順次処理部２２０は、開始処理設定部２１０によって設定された処理（第Ｋ異常処理）から実行を開始させる。換言すれば、Ｋ＝１の場合は全ての第１〜第Ｎ異常処理が実行される。また、Ｋ＞１の場合は第１〜第Ｋ−１異常処理は実行されない。
【００１７】
本実施の形態では、第１〜第Ｎ異常処理として、異常状態保存処理２２１と、シャットダウン前処理２２２と、リセット処理２２３と、外部リセット要求処理２２４とを有する。つまり、第１〜４異常処理までを有する。本実施の形態では４つの異常処理としたが、５つ以上でも３つ以下であってもよい。
【００１８】
異常状態保存処理２２１は、第１異常処理である。異常が発生したときの状態を、不揮発性記憶部４００に記憶する処理である。異常が発生した時の状態とは、情報処理装置１自体や、外部制御対象装置２のステータスレジスタの内容などである。また、異常発生回数３０１を不揮発性記憶部４００に保存する。
【００１９】
シャットダウン前処理２２２は、第２異常処理である。情報処理装置１のリセット、および情報処理装置１を含む装置全体の電源をシャットダウンする前に、必要な処理を行う。例えば外部制御対象装置２を安全に停止させるための処理などである。
【００２０】
リセット処理２２３は、第３異常処理である。情報処理装置１をリセットする処理である。リセットとは、情報処理装置１の起動時に開始される処理から、強制的に処理を実行することである。リセット処理２２３は、実行部１００に特定の処理を行わせることでリセットを発生させる。
【００２１】
外部リセット要求処理２２４は、第４異常処理である。情報処理装置１に対して実行部１００の処理に依らないリセットを発生させることを要求する処理である。外部リセット要求処理２２４は、外部リセット部５００に対して情報処理装置１をリセットさせるための指示を行う。
【００２２】
記憶部３００は、前述のＲＡＭなどで構成される。処理プログラムや処理データが格納される領域である。特に異常発生回数３０１が記憶される。異常発生回数３０１は、具体的にはカウンタである。異常発生回数３０１は、情報処理装置１が初期化される時にクリアされる。異常発生回数３０１は、異常処理部２００における異常に対処する処理が実行を開始する時にインクリメント、つまり１加算される構成とするとよい。回数の持ち方は種々の方式があり、適宜選択するとよい。また記憶部３００は、多くの場合は揮発性の記憶域、つまり電源ＯＦＦ時に内容を失う記憶域として構成されるが、不揮発性でもよい。
【００２３】
不揮発性記憶部４００は、前述のＲＯＭなどで構成される。情報処理装置１に供給される電源が途絶しても記憶を保持し、特に書き込み可能なもので構成されている。つまりＲＯＭの中でも、データフラッシュ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＳＳＤ（Solid State Disk）などの半導体記憶機器、またＨＤＤ（Hard Disk Drive）などの磁気記憶機器などで構成される。不揮発性記憶部４００には、処理プログラム、機器の設定、前述の異常が発生したときの状態など、電源ＯＦＦ時でも保持が必要な内容が記憶される。
【００２４】
外部リセット部５００は、情報処理装置１に対してリセット指示を行う。前述のリセット処理２２３は実行部１００の処理によってリセットを発生させるのに対し、外部リセット部５００は、実行部１００の処理に関係なくリセットを発生させる。この観点、すなわちリセットの発生が実行部１００の処理内か、処理外か、の点において、本実施の形態では後者を「外部」リセットと呼ぶ。外部リセット部５００は、例えばウォッチドッグタイマなどで構成される。
【００２５】
＜２．異常処理の詳細＞
次に、図２を用いて異常処理の詳細について説明する。なお、図２は処理の一例を示すものである。以降説明する詳細に基づき、マイコンのプログラムセットや、必要な異常処理の内容、具体的には順次処理部の有する第１〜第Ｎ異常処理の数などに応じて柔軟に処理は構築されうる。
【００２６】
まず、情報処理装置１が起動（図中スタート）すると、初期化処理の１つとして、異常発生回数３０１を０に設定する（ステップＳ００１）。初期化処理とは情報処理装置１の起動時に行われる所定の処理である。例えばＲＡＭに読み込まれたプログラムに沿って実行部１００の設定を行う処理や、外部制御対象機器２に対して初期化を行う処理である。
【００２７】
その後、実行部１００は、読み込まれたプログラムに沿った所定の処理が割当てられ、通常処理（ステップＳ００２）を実行する。
【００２８】
なお実行部１００に割り当てられた処理の実行中は、割込みや例外による異常を監視する処理（ステップＳ００３）が常に行われている。図上では通常処理の後に異常を監視するフローとなっているが、異常を監視する処理（ステップＳ００３）自体は実行部１００の機能の一つとして処理の実行と同時に行われている。そのため、異常が発生していない場合（ステップＳ００３において異常発生なしの場合）とは、通常処理（ステップＳ００２）が中断されずに実行され続けていることとも言える。
【００２９】
一方、異常が発生した場合（Ｓ００３にて異常発生の場合）とは、実行部１００において割込みまたは例外が発生したことを意味する。通常処理（ステップＳ００２）が一旦中断され、異常処理に移る。この時、実行部１００は、中断時の動作状態を保存する（ステップＳ００４）。中断時の動作状態とは、例えばＣＰＵのレジスタやスタックの内容である。つまり、割込みや例外に対処する処理が終わった後に、元の処理を継続して実行するために必要な情報を保存する。
【００３０】
その後、異常処理部２００による異常処理が開始する（ステップＳ００５）。
【００３１】
異常処理が開始すると、まず異常発生回数３０１をインクリメント、つまり１を加算する（ステップＳ００６）。これにより、異常処理が実行された回数、換言すれば初期化処理後に異常が発生した回数が記録される。次に開始処理設定部２１０の処理が開始される。
【００３２】
開始処理設定部２１０は、まず異常発生回数３０１が４回以上か否かを判定する（ステップＳ００７）。４回以上であれば（ステップＳ００７においてＹｅｓ）、開始処理設定部２１０は、外部リセット要求処理２２４から順次処理部２２０の処理を開始するように設定する。つまりこの場合、Ｋ＝４として設定する。
【００３３】
異常発生回数３０１が４回未満であれば（ステップＳ００７においてＮｏ）、開始処理設定部２１０は、次は３回以上であるか否かを判定する（ステップＳ００８）。３回以上であれば（ステップＳ００８においてＹｅｓ）、開始処理設定部２１０は、シャットダウン前処理２２２から順次処理部２２０の処理を開始するように設定する。つまりこの場合、Ｋ＝２として設定する。
【００３４】
異常発生回数３０１が３回未満であれば（ステップＳ００８においてＮｏ）、開始処理設定部２１０は、異常状態保存処理２２１から順次処理部２２０の処理を開始するように設定する。つまりこの場合、Ｋ＝１として設定する。
【００３５】
本実施の形態では、開始処理設定部２１０の処理を、条件分岐として記載したが、マイコンのプログラムセットによっては分岐先をテーブルとして持つこともできる。つまり、開始処理設定部２１０は、異常発生回数と、処理を開始する第１〜Ｎ異常処理とを対応付けた組をテーブルとして持つこともできる。例えば、異常発生回数＝４と外部リセット要求処理２２４、異常発生回数＝３とシャットダウン前処理２２２、異常発生回数＝２と異常状態保存処理２２１、異常発生回数＝１と異常状態保存処理２２１、の組をテーブルとして用意する。すると開始処理設定部２１０は複数の条件分岐を経ずに異常発生回数３０１から直接Ｋ、すなわち処理を開始する第１〜Ｎ異常処理が決定できる。
【００３６】
以降は、順次処理部２２０の処理が実行される。前述の開始処理設定部２１０によって処理が開始される異常処理、つまり第Ｋ異常処理が確定している。つまり第１〜第Ｋ−１異常処理は、本来実行されないが、ここでは説明のため、第１異常処理、つまり異常状態保存処理を実行（ステップＳ００９）から順次説明を行う。
【００３７】
異常状態保存処理を実行（ステップＳ００９）は、異常状態保存処理２２１を実行する。すなわちステップＳ００９は、異常状態の保存を行う。異常が発生したときの情報処理装置１自体や、外部制御対象装置２の状態を不揮発性記憶部４００に記憶する処理である。ステップＳ００９では、併せて異常発生回数３０１を不揮発性記憶部４００に保存する。異常発生回数３０１を保存することで、後々解析を行う際に、異常処理部２００が正常に実行されたか否かを判断することができる。具体的には、保存された異常発生回数が１であれば、異常処理部２００は異常に対処する処理全体を通して、例外が発生しなかったということである。つまり、最も意図する形で処理を完遂できたと判断できる。
【００３８】
シャットダウン前処理を実行（ステップＳ０１０）は、シャットダウン前処理２２２を実行する。すなわちステップＳ０１０は、リセットや、情報処理装置１を含む装置全体の電源をシャットダウンする前に、必要になる処理を行う。シャットダウン前処理２２２は、具体的には情報処理装置１の設定などを不揮発性記憶部４００に記憶する処理や、外部制御対象装置２を安全に停止させるための処理などである。例えばミリ波レーダが外部制御対象装置２として接続されている場合を考える。この場合、シャットダウン前処理２２２（ステップＳ０１０）において、装置に対して適切な停止指令を送られる必要がある。例えば電波の停止確認などである。
【００３９】
リセット処理を実行（ステップＳ０１１）は、リセット処理２２３を実行する。すなわちステップＳ０１１情報処理装置１のリセットを行う。なお、ステップＳ０１１におけるリセットは、実行部１００に特定の処理を実行させることにより発生させる。このため、ソフトリセットとも呼ばれる。特定の処理とは、例えばＣＰＵの特定のレジスタに値を書き込む処理である。マイコンのプログラムセットなどによって方法は異なるため、実行方法方は適宜選択するとよい。ステップＳ０１１によってリセットが発生すると、起動時と同様に初期化処理が開始し、その一つとしてのステップＳ００１から再度処理が開始される。
【００４０】
外部リセット要求処理を実行（ステップＳ０１２）は、外部リセット要求処理２２４を実行する。すなわちステップＳ０１２は、情報処理装置１のリセットを外部から行うための要求を、外部リセット部５００に対して行う。本実施の形態では、外部リセット部５００としてウォッチドッグタイマを想定する。そのため、ステップＳ０１２は、ウォッチドッグタイマに対してクリア指示を行われないようにする処理である。具体的には、ステップＳ０１２はまず、実行部１００において禁止できる割込みを禁止する。これは多重割り込みの発生により、意図しないクリア指示が発生することを防ぐためである。その後、ステップＳ０１２は、クリア指示を行わない内容の無限ループを実行する。結果、例外などの禁止できない割込みによる意図しないクリア指示の発生を除けば、ウォッチドッグタイマに対するクリア指示は行われなくなる。所定の期間ウォッチドッグタイマに対してクリア指示が行われないと、ウォッチドッグタイマは情報処理装置１をリセットする。リセットが発生すると、起動時と同様に初期化処理が開始し、その一つとしてのステップＳ００１から再度処理が開始される。
【００４１】
なお、外部リセット部５００として何を用いるかによって、外部リセット要求処理２２４の処理内容は変化する。例えば、外部リセット部５００が情報処理装置１の電源供給を所定期間停止する構成である場合も考えられる。この場合、外部リセット要求処理２２４は、外部リセット部５００に対して電源供給を停止する指示を送るだけである。
【００４２】
ステップＳ０１１、ステップＳ０１２における処理の実行結果として、情報処理装置１はリセットされる。前述のリセットをもって、順次処理部２２０、ならびに異常処理部２００における異常に対処するための処理は終了する。
【００４３】
図３を用いて、異常処理中に例外が発生する場合について一例として説明する。図３は異常状態保存処理を実行（Ｓ００９）において例外が発生する場合の例である。情報処理装置１の起動後、図２の流れに沿ってステップが進み、起動後に最初に異常が発生し、異常処理部２００による異常処理が開始する時の状態を考える。つまり、図３のフローにおいて、ステップＳ００５から説明を行う。
【００４４】
ステップＳ００５は、異常処理部２００による異常処理を開始する。
【００４５】
ステップＳ００６では、初回の異常の発生のため、異常発生回数３０１は、初期化時にクリアされた値、具体的には０に１を加算した１になる。したがって、続くステップＳ００７およびステップＳ００８の条件分岐はともにＮｏの判定となる。したがって、開始処理設定部２１０は、Ｋ＝１、つまり、異常状態保存処理を実行（ステップＳ００９）から処理を開始するように設定する。順次処理部２２０は、ステップＳ００９から処理を開始する。
【００４６】
ここでステップＳ００９の処理中に例外が発生したとする。この例外の発生は、ソフト上にもともとあったバグや、処理データの異常によって発生したバグ、宇宙線などによるソフトエラーの発生による動作中のメモリ・プログラムの破壊など、様々な要因によって発生しうる。
【００４７】
なお、異常を監視する処理（ステップＳ００３）は前述のように実行部１００における処理の実行と同時に常に実行され続けている。つまり、異常を監視する処理（ステップＳ００３）は、ステップＳ００５〜ステップＳ０１２の処理中においても実行されている。したがって、異常処理部２００においても、例外が発生した場合は、通常処理（ステップＳ００２）において異常が発生した場合と同様に異常発生と判断され、ステップＳ００４に処理が移る。
【００４８】
ステップＳ００４と、ステップＳ００５との実行後、ステップＳ００６に処理が移る。ステップＳ００６では、２回目の異常発生のため、異常発生回数３０１は、前回値の１に１を加算して２となる。そのため、続くステップＳ００７およびステップＳ００８の条件分岐はともにＮｏの判定となる。したがって、開始処理設定部２１０は、Ｋ＝１、つまり、異常状態保存処理２２１から処理を開始するように設定する。順次処理部２２０は、ステップＳ００９から処理を開始する。
【００４９】
ステップＳ００９はこれで２回目の実行となる。換言すれば２回リトライを行うとも言える。ここで再度、ステップＳ００９の実行中に例外が発生したとする。すると処理はまたステップＳ００４に移る。
【００５０】
ステップＳ００４と、ステップＳ００５との実行後、ステップＳ００６に処理が移る。ステップＳ００６では、３回目の異常発生のため、異常発生回数３０１は、前回値の２に１を加算して３となる。そのため、続くステップＳ００７の条件分岐はＮｏの判定であるが、ステップＳ００８の条件分岐はＹｅｓの判定となる。したがって、開始処理設定部２１０は、Ｋ＝２、つまり、シャットダウン前処理を実行（ステップＳ０１０）から処理を開始するように設定する。順次処理部２２０は、ステップＳ０１０から実行を開始する。
【００５１】
シャットダウン前処理を実行（ステップＳ０１０）が無事終了すると、リセット処理を実行（ステップＳ０１１）が実行される。これにより情報処理装置１はリセットされる。以上のステップにより、異常処理部２００は無限ループに陥ることなく、意図した形で異常処理を完遂することができる。異常状態保存処理２２１は完遂できなかったが、２回のリトライを行って完遂できない場合は処理をスキップする、という本実施の形態における設計上の意図通りである。
【００５２】
また、図示しないが、ステップＳ０１０またはステップＳ０１１においても例外が発生した場合について同様に説明する。この場合は、前述のステップを異常発生回数３０１が４になるまで繰り返し、外部リセット要求処理を実行（ステップＳ０１２）の処理が開始される。以上のステップにより、情報処理装置１はリセットされ、異常処理部２００は意図した形で異常処理を完遂することができる。
【００５３】
一方、従来の構成の場合、開始処理設定部２１０、本実施の形態ではステップＳ００７およびステップＳ００８の条件分岐に相当する処理を有さない。またそれに伴いステップＳ００１およびステップＳ００６に相当する処理も有さない。つまり、異常状態保存処理を実行（ステップＳ００９）で例外が発生した場合は、ステップＳ００４からステップＳ００９を１周とする無限ループに陥る。このため、意図した形で異常処理を完遂することができない。
【００５４】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【００５５】
例えば、情報処理装置１は、すべてをマイコンの機能で構成し、マイコン単体において構成を完結させることもできる。一方で、機能ブロックごとにディスクリート部品として構成することもできる。
【００５６】
また開始処理設定部２１０が異常発生回数３０１に基づきどのように処理を開始する第Ｋ異常処理、すなわちＫの値を決定するかは適宜設定できる。本実施例では異常状態保存処理２２１を２回リトライすることを想定した条件であったが、他の異常処理のリトライ回数を適宜設定する形で設定することも可能である。
【００５７】
また本実施の形態では車載装置の制御用に用いることを想定したが、その限りではない。マイコンを利用した情報処理、制御を行う場合の異常処理に対して広く適用することができる
【符号の説明】
【００５８】
１  情報処理装置
２  外部制御対象装置
１００  実行部
２００  異常処理部
２１０  開始処理設定部
２２０  順次処理部
２２１  第１異常処理（異常状態保存処理）
２２２  第２異常処理（シャットダウン前処理）
２２３  第３異常処理（リセット処理）
２２４  第４異常処理（外部リセット要求処理）
３００  記憶部
３０１  異常発生回数
４００  不揮発性記憶部
５００  外部リセット部
【図１】
2020052565.tif 000003
【図２】
2020052565.tif 000004
【図３】
2020052565.tif 000005