JP4535316B2 - 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム - Google Patents

端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム Download PDF

Info

Publication number
JP4535316B2
JP4535316B2 JP2004092824A JP2004092824A JP4535316B2 JP 4535316 B2 JP4535316 B2 JP 4535316B2 JP 2004092824 A JP2004092824 A JP 2004092824A JP 2004092824 A JP2004092824 A JP 2004092824A JP 4535316 B2 JP4535316 B2 JP 4535316B2
Authority
JP
Japan
Prior art keywords
cpu
exception
terminal
reset
stack
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
Application number
JP2004092824A
Other languages
English (en)
Other versions
JP2005284329A (ja
Inventor
雅彦 今野
和幸 佐藤
健嗣 小島
公介 種田
清志 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004092824A priority Critical patent/JP4535316B2/ja
Publication of JP2005284329A publication Critical patent/JP2005284329A/ja
Application granted granted Critical
Publication of JP4535316B2 publication Critical patent/JP4535316B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Description

本発明は、CPUで制御を行う端末の暴走を防止する端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラムに関するものである。
従来,PC(パソコン)やPDA、携帯電話機などの端末において、静電気などによる内部のプロセッサ(CPU)に対する予期せぬ誤動作を防止するために、筐体や基板のグランドを強化したり、電源制御回路へのノイズ除去回路を追加したり、更に、プログラム暴走によりRAM上のデータが消えても、復旧できるようにハードディスクや不揮発半導体にデータを保持したりするようにしている。
また、端末にFLASHメモリやSDカードを接続し、これら専用の手順によるデータの読み出し書き込むを行うのでメモリ上のデータ破壊される可能性が低い。しかし、特に、端末の外部バスにバックアップ電池つきのSRAMを使用した場合には、FLASHメモリなどと異なり専用の手順が不要でCPUが簡単にアクセスでき、予期せぬ誤動作によりメモリ上のデータが破壊されて、障害発生する。このため、通常は、予期せぬ誤動作(例えばデータアポート例外(許可されていない領域をアクセス)、未定義命令例外(未定義アドレスモードを指定しようとしたときに発生する例外)、プリフェッチアボート(無効命令を実行しようとしたときに発生する例外))を検出して端末をリセットして最初からブートしてメモリ上のデータ破壊などを防止するようにしている。
また、データ処理装置の動作開始時にハードウェア的な初期化動作において、動作モード情報を自動的に読み込み、当該動作モードを内部のレジスタ手段に自動的に取り込んで、当該モード設定に必要であった外部設定端子を少なくする技術がある(特許文献1)。
特開平08−063445号公報
上述したバックアップ電池付のメモリを装置の外部バスなどに接続して使用した場合には、予期せぬ誤動作が単に発生した場合には、これら予期せぬ誤動作を検出して例外としてCPUに割り込みで通知し、CPUが装置リセットして再起動することで端末を正常復帰させることができる。
しかし、予期せぬ誤動作が発生して装置リセットして例外処理を行い再起動し、例えば上記例外を検出するためのOSが起動する前に当該誤動作が連続発生した場合などには、例外を検出する機能が動作せず、予期せぬ動作する(例えばスタップポインタが不正な値になってメモリ上のデータを破壊する)という問題があった。
また、装置リセットされて例外処理時に、予期せぬ誤動作が連続した場合などに暴走して外部メモリ上のデータを破壊してしまうという問題があった。
また、予期せぬ誤動作が連続して発生した場合などに、外部バスが不安定になって外部パス依存のプログラムが暴走してしまうという問題もあった。
また、端末の外部バスに接続されたメモリについて、システムが不安定な場合に当該メモリ上のデータが破壊されてしまう問題もあった。
また、上述した特許文献1では、何らかの異常発生や更に連続異常発生時が考慮されていなく、しかも単に動作モードの設定を自動で行って外部設定端子数を削減するのみで、スタックポインタなどの再設定を行って異常発生を未然に防止することができないという問題があった。
本発明は、これらの問題を解決するため、端末で例外発生時の例外処理の先頭でCPU基本設定(チップセレクト/スタックポインタなど)を再設定したり、当該CPU基本設定をアセンブラで書いて外部メモリへのアクセスを最小限にしたり、外部バス依存のプログラム暴走を回避するためにハードとソフトによる再リセットを可能にしたり、外部バスに接続されるメモリを必要なときのみソフトからアクセス可能な回路を設けたりするようにしている。
従って、CPUを含む端末の静電気等による予期せぬ誤動作が連続しても当該端末の暴走を防止し、システムの安定性の向上を図ることを目的としている。
本願発明は、CPUを含む端末の静電気等による予期せぬ誤動作が連続しても当該端末の暴走を防止し、システムの安定性の向上を図ることが可能となる。
本発明は、端末で例外発生時の例外処理の先頭でCPU基本設定(チップセレクト/スタックポインタなど)を再設定したり、当該CPU基本設定をアセンブラで書いて外部メモリへのアクセスを最小限にしたり、外部バス依存のプログラム暴走を回避するためにハードとソフトによる再リセットを可能にしたり、外部バスに接続されるメモリを必要なときのみソフトからアクセス可能な回路を設けたりし、CPUを含む端末の静電気等による予期せぬ誤動作が連続しても当該端末の暴走を防止し、システムの安定性の向上を実現した。
図1は、本発明のシステム構成図を示す。
図1において、システムLSI1は、CPU11がプログラムに従い各種処理を実行するものであって、ここでは、CPU11,CPUリセット制御回路12、MMU13,WDタイマ14、ソフトRST回路15、ブートROM17、キャッシュメモリ19、内蔵RAM20、制御レジスタ群21などから構成されるものである。
CPU11は、プロセッサ(マイクロプロセッサ)であって、CPUリセット制御回路12からのCPUリセット信号でリセットされて再起動したり、メモリ(MMU13,ブートROM17,内蔵RAM20,更に、外部接続の不揮発RAM4,揮発RAM5,不揮発ROM6など)から読み込んだプログラムに従い、各種初期設定した後、ソフトウェアによる業務処理などを行うものである。
CPUリセット制御回路12は、例外(例えば、(1)電源リセット、(2)WDリセット、(3)ソフトリセットなどによる例外)の信号が入力されたときに、CPUリセット信号をCPU11に出力して当該CPU11をリセットするものである。
MMU13は、メモリのアクセスなどを管理するものである。
WDタイマ14は、ソフトウェアから所定時間毎のリセットがされなく、ソフトウェアが動作しなくなって所定時間経過したときに例外((2)WDTリセット)の信号をCPUリセット制御回路12に出力するものである。
ソフトRST回路15は、ソフトウェアからRST(リセット)してCPUリセット制御回路12に例外((3)ソフトリセット)の信号を出力するものであって、制御レジスタ16などを内部に持つものである。
制御レジスタ16は、各種状態を設定するものであって、ここでは、ソフトウェアが例外(異常発生してCPU11のリセットするという例外)を発生させたいときにリセットする制御レジスタであって、リセットされると(3)ソフトリセット信号をCPUリセット制御回路12に出力し、CPU11をリセットするためのものである。
ブートROM17は、CPU11がブートするときに使用するプログラム(ブート処理プログラム)をROM(読み出し専用メモリ)に書き込んだものであって、ブート処理18などから構成されるものである。
ブート処理18は、CPU11がブートROM17からプログラムを読み込んで行われる処理(ブート処理)である。
キャッシュメモリ19は、データ、プログラムなどを記憶するものである。
内蔵RAM20は、データやプログラムを格納したり、読み出したりなどするメモリである。
制御レジスタ群21は、各種制御レジスタであって、ここでは、WDTフラグ22を設定するものである。
WDTフラグ22は、WDT(ウオッチ ドッグ タイマ)がタイムオーバしたとき(ソフトウェアから所定時間毎にリセットがなく、当該ソフトウェアが動作しなくなったことが検出されたとき)に設定するフラグである。
電源RSTデバイス3は、LSIシステム1の電源をリセットするデバイス(例えば電源リセットスイッチ)などであって、電源リセットされると(1)電源リセット信号をCPUリセット制御回路12に出力するものである。
不揮発RAM4は、CPU11の外部バスに接続されたバックアップ電池つきのRAM(メモリ)である。
揮発RAM5は、CPU11の外部バスに接続されたRAM(メモリ)である。
不揮発ROM6は、読み出し専用のROMであって、ここでは、CPU11が外部バスを経由して当該不揮発ROM6内のプログラムを読み込んで実行しバス不定区間ソフトウェアリセット処理7、CPU基本設定再設定処理8として動作するものである。
バス不定区間ソフトウェアリセット処理7は、バス不定区間とならないようにソフトウェアでリセットするものである(図3、図4参照)。
CPU基本設定再設定処理8は、CPU基本設定を再設定するものである(図3参照)。
LCD9は、液晶表示デバイスである。
各種デバイス10は、各種の入出力などのデバイスである。
次に、図2のタイムチャートを用いて図1の構成の全体の動作を説明する。
図2は、本発明のシステム立ち上げ時のタイムチャートを示す。ここでは、横軸(横側)は時間tを表し、縦軸は(a)ソフトウェア処理、(b)アドレスバスがアクセスするメモリ(FlASH ROM,BOOT ROMなど)を表し、(c)データバスはアクセスするデータの様子を示し、(d)CPUリセットはCPU11がリセットされる様子を示す。
図2において、(a)ソフトウェア処理は、CPU11が電源投入され起動されて処理開始するときの処理の内容の流れを右方向に記載したように、
・通常処理
・(1)CPU基本設定再設定処理(図3参照)
・(2)CPU例外処理(図3、図4参照)
・(3)BOOT処理(図4参照)
・(4)バス不定区間ソフトウェアリセット処理(図4)
・(3)BOOT処理(図4参照)
・(4)バス不定区間ソフトウェアリセット処理(図4)
・通常処理
のように遷移する。これに対応して、(b)アドレスバスが図示のようにFlash ROM(図1の不揮発ROM6),BOOT ROM(ブートROM17)から読み出したプログラムに従い、(1)から(4)、更に、通常処理を順次実行する。
また、(c)のデータバスはそれぞれのメモリにアクセスしてプログラム、データなどを読み出したりなどする。
また、(d)CPUリセットは、図示では、ソフトウェアリセット(図4の(4)ソフトウェアリセット)が実行される様子(タイミング)を示す。
以下順次詳細に説明する。
図3は、本発明の例外処理のフェールセーフ概要説明図を示す。
図3において、S1は、静電気などによりCPUにリセットがかかり、クロックサイクル/チップセレクト領域が初期状態に戻る、スタックポインタのずれなどが発生する。
S2は、S1により、(2)CPU例外が発生する。CPU例外としては、
・アボート例外:データアクセスが許可されていない空間にアクセスした時に発生する例外。
・未定義例外:未定義アドレシングモードまたは違法な組合せのアドレッシングモードを指定した時に発生する例外。
・プリフェッチアボート例外:CPU11が無効な命令を実行しようとした時に発生する例外。
などがある。
S3は、(1)CPU基本設定再設定処理を示し、S31、S32から構成されるものである。尚、(1)CPU基本設定再設定処理を行うプログラムについて、アセンブラ言語で記述し、スタック領域へのアクセスを行わない処理とすることにより、不要な外部メモリへのアクセスを最小限とし、不安定な状態における外部メモリへのアクセスによる異常発生やメモリのデータ破壊を防止する。
S31は、クロックサイクル、チップセレクト領域の設定を行う。
S32は、スタックポインタの設定を行う。これらS31、S32は、異常発生(例外発生)し、ブート処理の前にクロックサイクル、チップセレクト領域の設定、更に、スタックポインタの設定を行い、たとえ異常が連続発生しても、常にBOOT処理の前でクロックサイクル、チップセレクト、スタックポインタの設定を行い、例外が連続発生してスタックが積み重なり、スタック領域をオーバーして不揮発ユーザデータを破壊して暴走する事態を防止することが可能となる(図6とその説明参照)。
S4は、スタック退避する。これは、CPU11の現在状態を表すスタックの内容を退避する。
S5は、エラーLOG取得する。これは、S4でCPU11の現在状態を退避した後、各種ステータス、データなどを外部メモリなどに保存する。
S6は、スタック復旧する。S4で退避した内容を復旧する。
S7は、リスタートする。これにより、CPU11はブート処理などを開始する。
以上によって、静電気などでCPU例外が発生すると、CPU11はS31、S32の(1)CPU基本設定再設定処理でクロックサイクル、チップセレクタ領域の設定、スタックポインタの設定をブート処理の前で当該例外発生毎に行うことで、例外が連続して発生しても、常に次のBOOT処理に進むときにはクロックサイクル、チップセレクト領域の設定、スタックポインタの設定が初期値に再設定されるため、従来のようにスタックが積み重なってスタック領域をオーバーしてデータ領域をアクセスてデータ破壊を完全に防止することが可能となる。この際に、(1)CPU基本設定再設定処理をアセンブラ記述で外部メモリを可及的にアクセスしないようにして当該外部メモリの不安定による異常発生(データ破壊)を最小限に低減することが可能となる。
図4は、本発明の障害発生時の処理ルート(BOOT〜FLASH)のフローチャートを示す。
図4において、S11は、障害発生(WDTオーバーフロー)あるいはCPU例外が発生を契機に、S12以降の処理を実行する。
S12は、BOOT処理を行う。これは、既述した図2の通常処理、(1)CPU基本設定再設定処理、(2)CPU例外処理(S11)に続く(3)BOOT処理を行う(図1のブートROM17からブートプログラムを読み込んで既知のブート処理を行う)。そして、S13以降の処理に進む。
S13は、FLASH ROMへジャンプする。そして、CPU11がFLASH ROM6からプログラムを読み込んで当該プログラムに従い、S14以降の処理を実行する((4)バス不定区間ソフトウェアリセット処理などを実行する)。
S14は、WDTフラグ22がセットされている(WDタイマがタイムオーバーしている)か判別する。YESの場合には、WDTタイマ14がタイムオーバーしてCPU例外が発生したと判明したので、S15以降の処理を実行する。一方、S14のNOの場合には、WTDフラグ22がOFFで、CPU例外が発生したと判明したので、S15からS17をスキップし、S18に進む。
S15は、S14のYESでWTDフラグ22がONで、WTDオーバーのCPU例外が発生したと判明したので、WDTフラグをクリアする。
S16は、電池つきRAM(不揮発RAM4)の特定番地(a)にデータ”0xFF00 55AA”をライトして当該WTDフラグ=ONの旨を記録しておく。
S17は、(4)ソフトリセットを行う。これにより、図1のソフトRST15内の制御レジスタ16がONにセットされ、CPUリセット制御回路12を経由し、CPU11がリセットされる(ソフトウェアリセットという)。そして、S12に戻り、2回目にはS14でWDTフラグがOFF(S15でWTDフラグをクリアしたのでOFF)で、S18に進む。
以上のS11からS17により、WDTフラグ=ONのとき(WDTリセット発生時)には、当該WTDリセットによるハードウェアで1回のリセット、更に、S16でソフトウェアリセットで1回のリセットが行われ、結果として、ハードウェアおよびソフトウェアで1回づつのリセットを行い、システムがスタック状態になるなどの事態を更に最小限に低減することが可能となる。
S18は、電池つきRAM(不揮発RAM4)の特定番地(b)=0xFF00 55AA か判別する。これは、前回にCPU11を起動したときには、電池つきRAM(不揮発RAM4)の特定番地(b)=0xFF00 55AAに書き込まれているので、YESとなり、S19で電池つきRAM(不揮発RAM4)の特定番地(b)=0xFFFF FFFFに書き込んで、S17でソフトウェアリセットを行い、次のS18のときに当該S18NOとなり、S20に進む。これにより、CPU例外のときにソフトウェアリセットが必ず実行されることとなる。
S20は、電池つきRAM(不揮発RAM4)の特定番地(b)=0xFF00 55AAに書き込む。
S21は、WDTリセット信号をインアクティブに設定する(動作状態に設定する)。以降はWDTタイ14によるソフトウェアの動作状態が監視され、所定時間経過してもリセットされないと、WDTリセット(CPU例外)が発生する。
S22は、電池つきRAM(不揮発RAM4)の特定番地(a)=0xFF00 55AAか判別する。YESの場合には、S16で特定番地(a)=OxFF00 55AAに書き込み、WDTフラグ=ONの状態が記憶されいたので、ソフトウェア障害発生とし、デバッグ処理起動する。一方、NOの場合には、WDTフラグ=OFFと判明したので、FLASH ROM上の処理続行し、通常の処理を実行し、CPU11を立ち上げ、ソフトウェアによる業務処理実行可能にする。
以上によって、障害発生時にハードウェアによるリセットに加えてソフトウェアによるソフトリセット(S17)を確実に実行し、システムがスタック状態になるなどを防止してシステム安定性をより向上させることが可能となる。
図5は、本発明のRAMチップ・セレクトのガード回路例を示す。ここで、システムLSI1,CPU11,CPUリセット制御回路12、MMU13,ソフトRST制御レジスタ15、電源RSTデバイス3、不揮発RAM(バックアップ電池つき)4は、図1の同一番号と同じであるので説明を省略する。
図5において、アドレスでコーダ23は、CPU11からのアドレスバス上のアドレスをデコードし、不揮発RAM4をアクセスする、WE(ライトイネーブル)信号、CS(チップセレクト)信号を生成するものであって、OR回路24経由でCS信号を不揮発RAM4に入力するものである。これにより、
・ソフトウェアが不揮発RAM4の使用時には、ソフトRST制御レジスタ15にON(例えば1)を書き込むと、OR回路24がアドレスでコーダ23からのCS信号をそのままスルーで通過させて不揮発RAM4に入力してアクセスできるが、
・ソフトウェアが不揮発RAM4の不使用時には、ソフトRST制御レジスタ15にOFF(例えば0)を書き込むと、OR回路24がアドレスでコーダ23からのCS信号を抑止し、不揮発RAM4に伝達できず、アクセス不可となり、データ破壊を防止できる。
・電源投入中、CPUリセット中は、CPUリセット制御回路12からソフトRST制御レジスタ15を強制的にOFFにし、OR回路によりCS信号を抑止し、不揮発RAM4のアクセスを不可にし、データ破壊を防止できる。
従って、電源投入中、CPUリセット中、更に、ソフトウェアが不揮発RAM4へのアクセスが必要となりソフトRST制御レジスタ15にONを設定しない限り、不揮発RAM4へのアクセスを不可とし、システムの不安定状態のときの当該不揮発RAM(電池バックアップ付)4のデータ破壊を防止し、システムの安定性を向上させることが可能となる。
尚、図6を用い、問題発生のメカニズムを簡単に説明する。
図6において、S31は、静電気などによりCPUがリセットされ、クロックサイクル/チップセレクト領域が初期状態に戻る、スタックポインタのずれなどが発生する。
S32は、S31によって、CPU例外が発生する。例外としては、アボート例外、未定義例外、プリフェッチアボートなどが発生する。
S33は、スタック退避する。この際、静電気の影響でメモリの設定が異常のままになり正常にスタック退避できないことが発生する場合がある。
S34は、エラーLOG取得する。
S35は、スタック復旧する。これにより、S33で退避した元の状態に、CPU11の状態が戻ることとなる。しかし、S36で2バイトずれたアドレスに戻り、アドレスとして復旧させるため、また例外が発生する(その他の退避データはスタックに積み上げられる)。これにより、S37に記載するように、例外が連続して発生するためスタックが積み重なり、スタック領域をオーバーして不揮発ユーザデータを破棄する。例えばS38に記載したように、スタック領域をオーバーし、連続して例外が発生したことでスタックが積み重なり、不揮発ユーザーデータ領域に積み上げてしまいデータ破壊が発生する。
以上のように、例外が連続して発生すると、リスタート処理までたどりつくことができなく(S39)、スタックが積み重なりスタック領域をオーバーしてユーザ領域のデータを破壊する事態が発生する問題点があった。本願発明は、既述した図3で連続して例外発生してもその都度、(1)CPU基本設定再設定処理(S31、S32)でクロックサイクル、チップセレクト領域の設定、スタックポインタの設定を行い、スタックが積み重なる事態を無くし、システムの安定性を大幅に向上させることができる。
(付記1)
CPUで制御を行う端末の暴走を防止する端末フェールセーフシステムにおいて、
前記端末で予期せぬ障害が発生して検出された例外の通知を受けるCPUと、
前記CPUが前記通知に従い該当ROMから例外処理を行うプログラムを読み込んだときに当該プログラムの先頭あるいは先頭の近傍でCPU基本設定の設定を行い、当該例外処理が繰り返されたときに常にCPU基本設定を繰り返して暴走を防止する手段とを備え、
当例外処理を行った後にCPUのスタック退避、エラーログ取得、スタック復旧、リスタートすることを特徴とする端末フェールセーフシステム。
(付記2)
前記CPU基本設定を行う際に、外部メモリへのアクセスを最小限にしたことを特徴とする付記1記載の端末フェールセーフシステム。
(付記3)
CPUで制御を行う端末の暴走を防止する端末フェールセーフシステムにおいて、
前記端末で予期せぬ障害が発生して検出された例外の通知を受けるCPUと、
前記CPUが前記通知に従いROMから読み取ったプログラムに従いハードウェアから例外通知と判明したときにソフトウェアリセットすると共に併せて当該ハードウェアからの例外通知および他の例外通知のときのいずれでもソフトウェアリセットする手段と
を備え、
ハードウェアからの例外通知およびソフトウェアからの例外通知されたときの両方でソフトウェアリセットして暴走を防止することを特徴とする端末フェールセーフシステム。
(付記4)
前記CPUの外部バスに接続されたメモリについて、ソフトウェアから当該メモリをアクセスするときにメモリのアクセスを可にし、アクセスしないときにアクセス不可にする回路を設けたことを特徴とする付記1から付記3のいずれかに記載の端末フェールセーフシステム。
(付記5)
CPUで制御を行う端末の暴走を防止する端末フェールセーフ方法において、
前記端末で予期せぬ障害が発生して検出された例外をCPUに通知するステップと、
前記CPUが前記通知に従い該当ROMから例外処理を行うプログラムを読み込んだときに当該プログラムの先頭あるいは先頭の近傍でCPU基本設定の設定を行い、当該例外処理が繰り返されたときに常にCPU基本設定を繰り返して暴走を防止するステップとを有し、
当例外処理を行った後にCPUのスタック退避、エラーログ取得、スタック復旧、リスタートすることを特徴とする端末フェールセーフ方法。
(付記6)
CPUで制御を行う端末の暴走を防止する端末フェールセーフ方法において、
前記端末で予期せぬ障害が発生して検出された例外をCPUに通知するステップと、
前記CPUが前記通知に従いROMから読み取ったプログラムに従いハードウェアから例外通知と判明したときにソフトウェアリセットすると共に併せて当該ハードウェアからの例外通知および他の例外通知のときのいずれでもソフトウェアリセットするステップと
を有し、
ハードウェアからの例外通知およびソフトウェアからの例外通知されたときの両方でソフトウェアリセットして暴走を防止することを特徴とする端末フェールセーフ方法。
(付記7)
端末で予期せぬ障害が発生して検出された例外の通知をCPUに通知する手段と、
前記CPUが前記通知に従い該当ROMから例外処理を行うプログラムを読み込んだときに当該プログラムの先頭あるいは先頭の近傍でCPU基本設定の設定を行い、当該例外処理が繰り返されたときに常にCPU基本設定を繰り返して暴走を防止する手段と
して機能させ、例外処理を行った後にCPUのスタック退避、エラーログ取得、スタック復旧、リスタートさせるための端末フェールセーフプログラム。
本発明は、端末で例外発生時の例外処理の先頭でCPU基本設定(チップセレクト/スタックポインタなど)を再設定したり、当該CPU基本設定をアセンブラで書いて外部メモリへのアクセスを最小限にしたり、外部バス依存のプログラム暴走を回避するためにハードとソフトによる再リセットを可能にしたり、外部バスに接続されるメモリを必要なときのみソフトからアクセス可能な回路を設けたりし、CPUを含む端末の静電気等による予期せぬ誤動作が連続しても当該端末の暴走を大幅に改善することが可能となる。
本発明のシステム構成図である。 本発明のシステム立ち上げ時のタイムチャートである。 本発明の例外処理のフェールセーフ概要説明図である。 本発明の障害発生時の処理ルートのフローチャートである。 本発明のRAMチップ・セレクトのガード回路例である。 問題発生のメカニズムである。
符号の説明
1:システムLSI
11:CPU
12:CPUリセット制御回路
13:MMU
14:WDタイマ
15:ソフトRST回路
16:制御レジスタ
17:ブートROM
18:ブート処理
19:キャッシュメモリ
20:内蔵RAM
21:制御レジスタ群
22:WDGフラグ
3:電源RSTデバイス
4:不揮発RAM(バックアップ電池つき)
5:揮発RAM
6:不揮発ROM(FLASH ROM)
7:バス不定区間ソフトウェアリセット処理
8:CPU基本設定再設定処理
9:LCD
10:各種デバイス
31:外部バス
24:OR回路

Claims (4)

  1. CPUで制御を行う端末の暴走を防止する端末フェールセーフシステムにおいて、
    前記端末で予期せぬ障害が発生して検出された例外の通知を受けるCPUと、
    前記CPUが前記通知に従い例外処理を行うプログラム読み込みに基づく、当該例外処理を行うことに先立って、CPU基本設定の設定を行う手段とを備え、
    当該例外処理を行った後にCPUのスタック退避、エラーログ取得、スタック復旧、リスタートの順番で実行することを特徴とする端末フェールセーフシステム。
  2. 前記CPU基本設定は、CPUのクロックサイクルとチップセレクト領域およびスタックポインタの設定であることを特徴とする請求項1に記載の端末フェールセーフシステム。
  3. CPUで制御を行う端末の暴走を防止する端末フェールセーフ方法において、
    前記端末で予期せぬ障害が発生して検出された例外をCPUに通知するステップと、
    前記CPUが前記通知に従い例外処理を行うプログラム読み込みに基づく、当該例外処理を行うことに先立って、CPU基本設定の設定を行うステップとを有し、
    当該例外処理を行った後にCPUのスタック退避、エラーログ取得、スタック復旧、リスタートの順番で実行することを特徴とする端末フェールセーフ方法。
  4. コンピュータに、
    端末で予期せぬ障害が発生して検出された例外をCPUに通知する手段と、
    前記CPUが前記通知に従い例外処理を行うプログラム読み込みに基づく、当該例外処理を行うことに先立って、CPU基本設定の設定を行う手段と、を備え、
    当該例外処理を行った後にCPUのスタック退避、エラーログ取得、スタック復旧、リスタートの順番で機能させるための端末フェールセーフプログラム。
JP2004092824A 2004-03-26 2004-03-26 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム Expired - Fee Related JP4535316B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004092824A JP4535316B2 (ja) 2004-03-26 2004-03-26 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004092824A JP4535316B2 (ja) 2004-03-26 2004-03-26 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム

Publications (2)

Publication Number Publication Date
JP2005284329A JP2005284329A (ja) 2005-10-13
JP4535316B2 true JP4535316B2 (ja) 2010-09-01

Family

ID=35182693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004092824A Expired - Fee Related JP4535316B2 (ja) 2004-03-26 2004-03-26 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム

Country Status (1)

Country Link
JP (1) JP4535316B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007110955A1 (ja) * 2006-03-29 2007-10-04 Fujitsu Limited 携帯端末装置、状態監視方法および状態監視プログラム
JP2009230511A (ja) * 2008-03-24 2009-10-08 Juki Corp ミシンの制御装置
JP5940280B2 (ja) * 2011-10-28 2016-06-29 株式会社三共 遊技機
JP6129380B2 (ja) * 2016-05-17 2017-05-17 株式会社三共 遊技機
US10585755B2 (en) 2016-11-29 2020-03-10 Ricoh Company, Ltd. Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3357514B2 (ja) * 1995-09-20 2002-12-16 シャープ株式会社 暴走検出復帰方式

Also Published As

Publication number Publication date
JP2005284329A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
JP5418597B2 (ja) リセット方法及び監視装置
JP5575338B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
US6012154A (en) Method and apparatus for detecting and recovering from computer system malfunction
CN107003864B (zh) 恢复片上系统设备
US20060107031A1 (en) Portable terminal
TWI357574B (en) Method and device to prevent the bios boot failure
CN100375049C (zh) 一种基本输入输出系统芯片的恢复方法
TW200847021A (en) Automatic backup, restore and update BIOS computer system
US20160041860A1 (en) Microcomputer and microcomputer system
JP4535316B2 (ja) 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム
JP2008033890A (ja) マイクロコンピュータシステム
WO2000054133A1 (fr) Dispositif de traitement de donnees, procede de sauvegarde/chargement de donnees et support de memorisation de donnees
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP4635993B2 (ja) 起動診断方式、起動診断方法およびプログラム
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
JP2000099372A (ja) コンピュータシステム
JP2000235483A (ja) 情報処理装置
JP2003150449A (ja) 携帯電話装置
JP7166231B2 (ja) 情報処理装置及び情報処理システム
JP4543505B2 (ja) マイクロコンピュータの制御方法及び異常監視装置
CN117093399A (zh) 系统启动方法、片上系统、计算机设备及存储介质
JP2014067214A (ja) エラーチェック装置及びプログラム
JP2003122575A (ja) 情報処理装置
JP2003242046A (ja) 情報処理装置、情報処理装置の動作方法及びプログラム
JP2007058505A (ja) 情報処理装置および情報処理装置起動方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100609

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees