JP2013029939A - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP2013029939A
JP2013029939A JP2011164677A JP2011164677A JP2013029939A JP 2013029939 A JP2013029939 A JP 2013029939A JP 2011164677 A JP2011164677 A JP 2011164677A JP 2011164677 A JP2011164677 A JP 2011164677A JP 2013029939 A JP2013029939 A JP 2013029939A
Authority
JP
Japan
Prior art keywords
program
stored
storage unit
checksum
main program
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.)
Pending
Application number
JP2011164677A
Other languages
English (en)
Inventor
Tsuyoshi Terada
剛志 寺田
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2011164677A priority Critical patent/JP2013029939A/ja
Publication of JP2013029939A publication Critical patent/JP2013029939A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】プログラムが暴走した場合であっても暴走を自動的に検知して当該プログラムを容易に書き換える。
【解決手段】第1記憶部と、クリア信号の入力の都度時間計測を開始し直し、所定の検出時間が経過すると異常の発生を示す情報を第1記憶部に記憶し且つリセット信号を出力するウォッチドッグタイマと、所定タイミングでクリア信号を入力するメインプログラムとメインプログラムを書き換える書き換えプログラムとプログラムの実行を制御するブートプログラムとを記憶する第2記憶部と、制御部とを備え、ブートプログラムは、制御装置の起動時及びリセット信号が出力されたときに制御部によって実行され、第1記憶部に異常の発生を示す情報が記憶されていない場合、ウォッチドッグタイマにクリア信号を入力後、メインプログラムを実行し、異常の発生を示す情報が記憶されている場合、書き換えプログラムを実行する。
【選択図】図4

Description

本発明は、制御装置に関し、特に、当該制御装置において暴走するプログラムを書き換える技術に関する。
従来から、フラッシュメモリ等の記憶部にプログラムが正常に記憶されているか否かを判断する方法として、例えば、プログラムを構成しているバイナリデータを1バイト毎のブロックに分割し、当該分割されたブロックの論理和を算出する等、予め定められた算出方法でチェックサムを算出し、当該チェックサムとプログラムとを記憶部に記憶することが知られている。そして、記憶部に記憶されているプログラムを読み出した場合に、上記と同じ算出方法でチェックサムを算出し、当該算出したチェックサムが記憶部に記憶されているチェックサムと一致するか否かによって、記憶部にプログラムが正常に記憶されているか否かを判断することが知られている。
更に、上記方法において、チェックサムが偶然一致することによって、誤ってプログラムが正常に記憶されていると判断されることを防止するために、例えば下記特許文献1には、プログラムの末尾に予め定められたロード完了マーク(特定の文字列)を含ませておき、プログラムの記憶時には当該ロード完了マークをフラッシュメモリに記憶する技術が記載されている。そして、フラッシュメモリにロード完了マークが記憶され、且つ、上記のようにチェックサムが一致することを判断することによって、プログラムが正常に記憶されているものと判断する技術が記載されている。
特開平11−015672号公報
しかしながら、上記の従来技術では、プログラムが正常に記憶されているか否かを判断することはできても、正常に記憶されていると判断されたプログラムを実行した場合に、当該プログラムが暴走することなく動作することを保障することはできない。このため、プログラムが暴走した場合には、当該暴走したことをユーザが検知して、電源を切る等して、当該プログラムの暴走を強制的に停止した後、専用冶具等を用いて記憶部に記憶されているプログラムを書き換える等の手間が必要であった。
本発明は、このような事情に鑑みてなされたものであり、記憶部に記憶されているプログラムが暴走した場合であっても、当該暴走を自動的に検知して当該プログラムを容易に書き換えることができる制御装置を提供することを目的とする。
本発明に係る制御装置は、第1記憶部と、クリア信号が入力される度に時間の計測を開始し直し、当該計測を開始し直した時間から予め定められた検出時間が経過すると、異常の発生を示す情報を前記第1記憶部に記憶し、且つ、リセット信号を出力するウォッチドッグタイマと、予め定められたタイミングで前記ウォッチドッグタイマに前記クリア信号を入力する処理が実装されたメインプログラムと、前記メインプログラムを書き換える処理が実装された書き換えプログラムと、前記メインプログラム及び前記書き換えプログラムの実行を制御する処理が実装されたブートプログラムと、を記憶する第2記憶部と、前記第2記憶部に記憶された各種プログラムを実行する制御部と、を備え、前記ブートプログラムは、当該制御装置の起動時、及び、前記ウォッチドッグタイマによって前記リセット信号が出力されたときに、前記制御部によって実行され、前記第1記憶部に前記異常の発生を示す情報が記憶されていない場合は、前記ウォッチドッグタイマに前記クリア信号を入力した後に前記メインプログラムを実行し、一方、前記第1記憶部に前記異常の発生を示す情報が記憶されている場合は、前記書き換えプログラムを実行するように実装されている。
この構成によれば、制御部は、制御装置の起動時にブートプログラムを実行することによって、第1記憶部に異常の発生を示す情報が記憶されているか否かを確認し、第1記憶部に異常の発生を示す情報が記憶されていない場合は、ウォッチドッグタイマにクリア信号を入力した後にメインプログラムを実行する。
ここで、何らかの異常が発生して当該メインプログラムが暴走すると、メインプログラムからウォッチドッグタイマにクリア信号が入力されなくなる。そして、ウォッチドッグタイマは、当該メインプログラムの実行前にブートプログラムによってクリア信号が入力された時点から、予め定められた検出時間が経過すると、異常の発生を示す情報を第1記憶部に記憶し、且つ、リセット信号を出力する。
そして、制御部は、当該リセット信号が出力されたときに、ブートプログラムを実行することによって、第1記憶部に異常の発生を示す情報が記憶されているか否かを確認し、この場合、第1記憶部に異常の発生を示す情報が記憶されているため、書き換えプログラムを実行する。これによって、当該暴走したメインプログラムが書き換えられる。
つまり、この構成によれば、制御部がブートプログラムを実行することによって、第2記憶部に記憶されていたメインプログラムが暴走した場合であっても、ユーザに手間を取らせることなく、第1記憶部に記憶された異常の発生を示す情報を用いて当該メインプログラムの暴走を自動的に検知することができる。
そして、当該メインプログラムの暴走を検知した場合に、制御部が書き換えプログラムを実行することによって、専用冶具等を用いてユーザが当該メインプログラムを書き換える等の手間をかけることなく、容易に当該メインプログラムを書き換えることができる。
また、前記ブートプログラムは、前記制御部によって実行されると、先ず、当該ブートプログラムが前記第2記憶部に正常に記憶されているか否かを判断し、正常に記憶されていないと判断した場合には、当該ブートプログラムを終了するように実装されていることが好ましい。
この構成によれば、正常に記憶されていないブートプログラムが実行されることによって、当該ブートプログラムが暴走する虞を事前に回避することができる。
また、前記第2記憶部には、前記ブートプログラムを構成しているバイナリデータを用いて予め定められた算出方法で算出されたチェックサムであるブートプログラムチェックサムが予め記憶されており、前記ブートプログラムは、前記第2記憶部に記憶されている前記ブートプログラムを構成しているバイナリデータを用いて、前記予め定められた方法でチェックサムを算出し、当該算出したチェックサムと前記第2記憶部に予め記憶されている前記ブートプログラムチェックサムとが一致するか否かによって、当該ブートプログラムが前記第2記憶部に正常に記憶されているか否かを判断するように実装されていることが好ましい。
この構成によれば、第2記憶部に記憶されているブートプログラムチェックサムを用いて、第2記憶部に記憶されているブートプログラムが、予め記憶されていた状態から書き換えられているか否かを判断することができる。これによって、ブートプログラムが第2記憶部に正常に記憶されているか否かを適切に判断することができる。
また、前記ブートプログラムは、前記メインプログラムの実行前に、前記メインプログラムが前記第2記憶部に正常に記憶されているか否かを判断し、正常に記憶されていないと判断した場合には、前記書き換えプログラムを実行するように実装されていることが好ましい。
この構成によれば、正常に記憶されていないメインプログラムが実行されることによって、当該メインプログラムが暴走する虞を事前に回避することができる。
また、前記第2記憶部には、前記メインプログラムを構成しているバイナリデータを用いて予め定められたチェックサム算出方法で算出されたチェックサムであるメインプログラムチェックサムが予め記憶されており、前記ブートプログラムは、前記第2記憶部に記憶されている前記メインプログラムを構成しているバイナリデータを用いて、前記予め定められたチェックサム算出方法でチェックサムを算出し、当該算出したチェックサムと前記第2記憶部に予め記憶されている前記メインプログラムチェックサムとが一致するか否かによって、前記メインプログラムが前記第2記憶部に正常に記憶されているか否かを判断するように実装されていることが好ましい。
この構成によれば、第2記憶部に記憶されているメインプログラムチェックサムを用いて、第2記憶部に記憶されているメインプログラムが、予め記憶されていた状態から書き換えられているか否かを判断することができる。これによって、メインプログラムが第2記憶部に正常に記憶されているか否かを適切に判断することができる。
本発明によれば、記憶部に記憶されているプログラムが暴走した場合であっても、当該暴走を自動的に検知して当該プログラムを容易に書き換えることができる制御装置を提供することが可能になる。
本発明に係る制御装置を備えた複合機の構成の一例を示す構成図。 複合機の電気的構成の一例を示すブロック図。 本発明に係る第2記憶部の一例としてのフラッシュメモリに記憶されているデータの一例を示す説明図。 ブートプログラムが実行されることによるメインプログラム及び書き換えプログラムの実行制御の一例を示すフローチャート。
以下、本発明に係る制御装置を備えた、例えば、コピー、プリンタ、スキャナ及びファクシミリの機能を有する複合機を図面に基づいて説明する。
図1に示すように、複合機1は、本体部100、本体部100の上に配置された原稿読取部200、原稿読取部200の上に配置された原稿給送部300、本体部100の上部前面に配置された操作部400、及び本体部100の用紙搬出側(図中の左側)に配置された用紙後処理部500を備えている。
原稿給送部300は、原稿載置部301、給紙ローラ303、原稿搬送部305及び原稿排出部307を備えている。
給紙ローラ303は、原稿載置部301にセットされた原稿を1枚ずつ繰り出す。原稿搬送部305は、繰り出された原稿を原稿読取部200に搬送する。原稿は、原稿読取部200で読み取られて原稿排出部307に排出される。
原稿読取部200は、CCD(Charge Coupled Device)センサ及び露光ランプ等を搭載したキャリッジ201、ガラス等の透明部材により構成された原稿台203、及び原稿読取スリット205を備えている。
原稿台203に載置された原稿を読み取る場合、キャリッジ201を原稿台203の長手方向に移動させながらCCDセンサにより原稿を読み取る。これに対して、原稿給送部300から給送された原稿を読み取る場合、キャリッジ201を原稿読取スリット205と対向する位置に移動させて、原稿給送部300から送られてきた原稿を、原稿読取スリット205を通してCCDセンサにより読み取る。CCDセンサは読み取った原稿を画像データとして出力する。
本体部100は、用紙貯留部101、画像形成部103及び定着部105を備えている。
用紙貯留部101は、本体部100の最下部に配置され、用紙の束を貯留する用紙トレイ107を備えている。用紙トレイ107に貯留された用紙の束において、最上位の用紙がピックアップローラ109の駆動により、用紙搬送部111へ向けて繰り出される。用紙は、用紙搬送部111を通って、画像形成部103へ搬送される。
画像形成部103は、搬送されてきた用紙にトナー画像を形成する。画像形成部103は、感光体ドラム113、露光部115、現像部117及び転写部119を備えている。
露光部115は、画像データ(原稿読取部200から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等)に対応する光を生成し、一様に帯電された感光体ドラム113の周面に照射する。これにより、感光体ドラム113の周面には画像データに対応する静電潜像が形成される。
この状態で感光体ドラム113の周面に現像部117からトナーを供給することにより、感光体ドラム113の周面には、画像データに対応するトナー画像が形成される。このトナー画像は、転写部119によって上記の用紙貯留部101から搬送されてきた用紙に転写される。
トナー画像が転写された用紙は、定着部105に送られる。定着部105において、トナー画像と用紙に熱と圧力が加えられて、トナー画像を用紙に定着させる。これにより、用紙への画像の印刷が完了する。この印刷済用紙に対して後処理がされる場合、印刷済用紙は本体部100の用紙排出口121から用紙後処理部500へ送られる。これに対して後処理がされない場合、印刷済用紙は排紙トレイ123に排紙される。
用紙後処理部500では、印刷済用紙に対して、ソート、ステープル、パンチ、中綴じ等の後処理がされる。用紙後処理部500は、用紙搬入口501、用紙搬送部503、用紙搬出口505及びスタックトレイ507等を備える。用紙搬送部503は用紙排出口121から用紙搬入口501に搬入された印刷済用紙を順次搬送し、後処理がされた印刷済用紙を用紙搬出口505からスタックトレイ507へ搬出する。スタックトレイ507は用紙搬出口505から搬出された上記用紙の集積枚数に応じて矢印方向に上下動可能な構成を有する。
操作部400は、操作キー部401と表示部403を備える。表示部403はタッチパネル機能を有しており、ソフトキーを含む画面が表示される。ユーザは画面を見ながらソフトキーを操作することによって、コピー等の機能の実行に必要な設定等をする。
操作キー部401はハードキーからなる操作キーを備えており、具体的にはヘルプキー405、スタートキー407、テンキー409及び機能切換キー411等を備える。
ヘルプキー405は、ヘルプ画面を表示部403に表示させるキーである。ヘルプ画面とはスキャナ、ファクシミリ、プリンタ、コピー等の機能に関する操作方法が表示された画面である。スタートキー407は、コピー、ファクシミリ送信等の動作を開始させるキーである。テンキー409は、コピー部数、ファクシミリ番号等の数字を入力するキーである。機能切換キー411は、コピーキー及び送信キー等を備えており、コピー機能、送信機能等を相互に切り替えるキーである。コピーキーを操作すれば、コピーの初期画面が表示部403に表示される。送信キーを操作すれば、ファクシミリ送信及びメール送信の初期画面が表示部403に表示される。
続いて、複合機1の電気的構成について説明する。図2に示すように、複合機1は、本体部100、原稿読取部200、原稿給送部300、操作部400、用紙後処理部500、USBメモリー等の記憶媒体6を複合機1に接続するための外部インターフェイス(外部I/F)600、通信部700、及び制御装置2が、バスによって接続された構成を有する。
制御装置2は、割込レジスタ25、フラッシュメモリ21、RAM(Random Access Memory)22、コアCPU(Central Processing Unit)23、及び、ウォッチドッグタイマ24がバスによって接続されたマイクロコンピュータとして構成されている。
割込レジスタ25(本発明に係る第1記憶部の一例)は、後述するコアCPU23に向けて出力された割り込み信号が示す情報を記憶するレジスタである。尚、割込レジスタ25に記憶される情報の具体例については後述する。
フラッシュメモリ21(本発明に係る第2記憶部の一例)は、装置各部100,200,300,400,500,600,700の動作を制御する処理が実装された制御プログラムを記憶する。フラッシュメモリ21は、制御装置2を停止した後に再起動した場合であっても、記憶されている情報が損失されない、所謂、不揮発性メモリとして構成されている。尚、フラッシュメモリ21は、制御装置2が停止された後であっても、常時電源が供給されるRAMによって構成されていてもよい。
RAM22は、制御プログラムの実行時に一時的にデータを保管する。
コアCPU23(本発明に係る制御部の一例)は、フラッシュメモリ21から制御プログラムを読み出して実行することによって、装置各部100,200,300,400,500,600,700に必要な制御を行う。
ウォッチドッグタイマ24は、コアCPU23からクリア信号CLRが入力された時点を開始時刻として、内部に設けられたタイマを用いて当該開始時刻からの経過時間を計測する。そして、ウォッチドッグタイマ24は、計測中の経過時間が予め内部のレジスタに記憶された検出時間に到達すると、コアCPU23が暴走して応答しなくなる異常な状態になったものとして、当該異常の発生を示すリセット信号RSTをコアCPU23に向けて出力する。
また、ウォッチドッグタイマ24は、コアCPU23が暴走して応答しなくなる異常な状態にあることを示すリセットフラグ(本発明に係る異常の発生を示す情報の一例)RFLGを割込レジスタ25に記憶する。
尚、ウォッチドッグタイマ24は、計測中の経過時間が検出時間に到達するまでの間に、コアCPU23からクリア信号CLRが入力された場合は、当該クリア信号CLRが入力された時点を新たな開始時刻として、当該新たな開始時刻からの経過時間を計測する。つまり、ウォッチドッグタイマ24は、コアCPU23からクリア信号CLRが入力される度に、経過時間の計測を開始し直すように構成されている。
続いて、フラッシュメモリ21に記憶されている制御プログラムについて説明する。例えば、図3に示すように、フラッシュメモリ21には、ブートプログラムBPを構成しているバイナリデータと、ブートプログラムチェックサムBPCと、メインプログラムMPを構成しているバイナリデータと、メインプログラムチェックサムMPCと、書き換えプログラムWPを構成しているバイナリデータと、が記憶されている。
ブートプログラムBPは、メインプログラムMP及び書き換えプログラムWPの実行を制御する処理を実行するプログラムである。ブートプログラムBPは、例えば、フラッシュメモリ21における予め区分けされた先頭の領域に記憶されており、制御装置2の起動時及びウォッチドッグタイマ24によってリセット信号RSTが出力された場合に、コアCPU23によって実行される。尚、ブートプログラムBPによるメインプログラムMP及び書き換えプログラムWPの実行制御の詳細については後述する。
ブートプログラムチェックサムBPCは、例えば、ブートプログラムBPを構成しているバイナリデータを1バイトを単位とする複数のブロックに分割し、当該分割された複数のブロックの論理和によって算出された、いわゆるチェックサムである。尚、チェックサムの算出方法(本発明に係る予め定められた算出方法)は、これに限定する趣旨ではなく、例えば当該分割された複数のブロックの排他的論理和によって算出するものであってもよい。
ブートプログラムBPを構成しているバイナリデータ及びブートプログラムチェックサムBPCは、フラッシュメモリ21にデータを書き込むための専用冶具を用いて、ユーザによる操作によって予め記憶されている。
メインプログラムMPは、装置各部100,200,300,400,500,600,700間で相互に制御信号を入出力させる処理等、装置各部100,200,300,400,500,600,700の動作を統括的に制御する処理を実行するプログラムである。また、メインプログラムMPは、予め定められたタイミングでウォッチドッグタイマ24にクリア信号CLRを入力する処理を実行するように実装されている。
メインプログラムチェックサムMPCは、例えば、メインプログラムMPを構成しているバイナリデータを、1バイトを単位とする複数のブロックに分割し、当該分割された複数のブロックの論理和によって算出された、いわゆるチェックサムである。
尚、メインプログラムチェックサムMPCの算出方法(本発明に係る予め定められたチェックサム算出方法)は、これに限定する趣旨ではなく、例えば当該分割された複数のブロックの排他的論理和によって算出するものであってもよい。また、上記のブートプログラムチェックサムBPCの算出方法と、同じ算出方法、又は、異なる算出方法の何れであってもよい。
書き換えプログラムWPは、フラッシュメモリ21に記憶されているメインプログラムMP及びメインプログラムチェックサムMPCを書き換える処理を実行するプログラムである。
例えば、コアCPU23は、書き換えプログラムWPの実行を開始すると、外部I/F600を介して記憶媒体6に記憶されているメインプログラムを構成しているバイナリデータを取得して、上記のチェックサムの算出方法によって、当該バイナリデータを用いてチェックサムを算出し、当該算出したチェックサムをRAM22に一時記憶する。
次に、コアCPU23は、フラッシュメモリ21に記憶されているメインプログラムMPを構成しているバイナリデータを削除した後、記憶媒体6から取得したバイナリデータを新たなメインプログラムMPを構成しているバイナリデータとしてフラッシュメモリ21に記憶する。
これとともに、コアCPU23は、フラッシュメモリ21に記憶されているメインプログラムチェックサムMPCを削除した後、RAM22に一時記憶したチェックサムを、新たなメインプログラムチェックサムMPCとしてフラッシュメモリ21に記憶する。
このようにして、コアCPU23は、書き換えプログラムWPを実行することによって、メインプログラムMP及びメインプログラムチェックサムMPCを書き換える。
以下では、ブートプログラムBPが実行されることによるメインプログラムMP及び書き換えプログラムWPの実行制御の流れについて説明する。
図4に示すように、制御装置2が起動されると、コアCPU23は、フラッシュメモリ21に記憶されているブートプログラムBPを読み出し、ブートプログラムBPの実行を開始する(S1)。
コアCPU23は、ブートプログラムBPを実行することによって、先ず、上記のブートプログラムチェックサムBPCの算出方法によって、フラッシュメモリ21に記憶されているブートプログラムBPのバイナリデータを用いてチェックサムを算出する。そして、当該算出したチェックサムが、フラッシュメモリ21に記憶されているブートプログラムチェックサムBPCと一致するか否かによって、当該ブートプログラムBPがフラッシュメモリ21に正常に記憶されているか否かを判断する(S2)。
このようにして、フラッシュメモリ21に記憶されているブートプログラムチェックサムBPCを用いて、ブートプログラムBPが予め記憶されていた状態から書き換えられているか否かを判断することによって、ブートプログラムBPがフラッシュメモリ21に正常に記憶されているか否かを適切に判断することができる。
コアCPU23は、当該算出したチェックサムがフラッシュメモリ21に記憶されているブートプログラムチェックサムBPCと一致しない場合、ブートプログラムBPが何らかの原因で書き換えられて、フラッシュメモリ21に正常に記憶されていないものと判断し(S2;NO)、当該ブートプログラムBPの実行を終了する。これによって、正常に記憶されていないブートプログラムが実行されることによって、当該ブートプログラムが暴走する虞を事前に回避することができる。
図4に戻り、コアCPU23は、当該算出したチェックサムがフラッシュメモリ21に記憶されているブートプログラムチェックサムBPCと一致する場合には、ブートプログラムBPが書き換えられることなく、フラッシュメモリ21に正常に記憶されているものと判断し(S2;YES)、割込レジスタ25にリセットフラグRFLGが記憶されているか否かを確認する(S3)。
割込レジスタ25にリセットフラグRFLGが記憶されていない場合(S3;NO)、コアCPU23は、上記のメインプログラムチェックサムMPCの算出方法によって、フラッシュメモリ21に記憶されているメインプログラムMPのバイナリデータを用いてチェックサムを算出する。そして、当該算出したチェックサムがフラッシュメモリ21に記憶されているメインプログラムチェックサムMPCと一致するか否かによって、メインプログラムMPがフラッシュメモリ21に正常に記憶されているか否かを判断する(S4)。
このようにして、フラッシュメモリ21に記憶されているメインプログラムチェックサムMPCを用いて、メインプログラムMPが予め記憶されていた状態から書き換えられているか否かを判断することによって、メインプログラムMPがフラッシュメモリ21に正常に記憶されているか否かを適切に判断することができる。
コアCPU23は、当該算出したチェックサムがフラッシュメモリ21に記憶されているメインプログラムチェックサムMPCと一致しない場合、メインプログラムMPがフラッシュメモリ21に正常に記憶されていないものと判断し(S4;NO)、フラッシュメモリ21に記憶されている書き換えプログラムWPを読み出して、書き換えプログラムWPの実行を開始する(S8)。
コアCPU23は、書き換えプログラムWPを実行することによって、例えば、外部I/F600を介して、記憶媒体6に記憶されたメインプログラムを構成しているバイナリデータを取得し(S9)、当該取得したバイナリデータを用いて、上記のメインプログラムチェックサムBPCの算出方法でチェックサムを算出し、当該算出したチェックサムをRAM22に一時記憶する(S10)。
次に、コアCPU23は、フラッシュメモリ21に記憶されているメインプログラムMPを構成しているバイナリデータを削除した後、ステップS9で取得したバイナリデータを新たなメインプログラムMPを構成しているバイナリデータとしてフラッシュメモリ21に記憶する(S11)。
そして、コアCPU23は、フラッシュメモリ21に記憶されているメインプログラムチェックサムMPCを削除した後、ステップS10でRAM22に一時記憶したチェックサムを、新たなメインプログラムチェックサムMPCとしてフラッシュメモリ21に記憶する(S12)。
そして、コアCPU23は、割込レジスタ25に記憶されているリセットフラグRFLGを削除した後(S13)、フラッシュメモリ21に記憶されているブートプログラムBPを読み出し、ブートプログラムBPの実行を開始する(S1)。尚、書き換えプログラムWPは、ステップS13の後、制御装置2を停止するように実装されていてもよい。
このように、コアCPU23がブートプログラムBPを実行することによって、ステップS4において、メインプログラムMPがフラッシュメモリ21に正常に記憶されていないものと判断した場合に(S4;NO)、書き換えプログラムWPの実行を開始して(S8)、正常に記憶されていないメインプログラムを実行することを回避し、当該メインプログラムが暴走する虞を事前に回避することができる。
また、コアCPU23が書き換えプログラムWPを実行することによって、ユーザがフラッシュメモリ21にデータを書き込むための専用冶具を用いて当該メインプログラムを書き換える等の手間をかけることなく、容易に当該メインプログラムを書き換えることができる。
図4に戻り、コアCPU23は、ブートプログラムBPを実行することによって、ステップS4において、算出したチェックサムがフラッシュメモリ21に記憶されているメインプログラムチェックサムMPCと一致する場合には、メインプログラムMPがフラッシュメモリ21に正常に記憶されているものと判断する(S4;YES)。そして、ウォッチドッグタイマ24にクリア信号CLRを入力した後(S5)、フラッシュメモリ21に記憶されているメインプログラムMPを読み出し、メインプログラムMPの実行を開始する(S6)。
その後、例えば、当該メインプログラムMPが暴走する等して、クリア信号CLRがウォッチドッグタイマ24に入力されないまま、予め定められた検出時間が経過すると、ウォッチドッグタイマ24によって、割込レジスタ25にリセットフラグRFLGが記憶されるとともに、コアCPU23に向けてリセット信号RSTが出力される(S7;YES)。この場合、コアCPU23によって、フラッシュメモリ21に記憶されているブートプログラムBPが読み出されて実行される(S1)。
これに続いて、ステップS2において肯定の判断がなされ(S2;YES)、ステップS3が実行された場合は、割込レジスタ25にリセットフラグRFLGが記憶されているため(S3;YES)、コアCPU23は、フラッシュメモリ21に記憶されている書き換えプログラムWPを読み出して、書き換えプログラムWPの実行を開始する(S8)。
このように、コアCPU23がブートプログラムBPを実行することによって、フラッシュメモリ21に記憶されていたメインプログラムMPが暴走した場合(S7;YES)であっても、ユーザに手間を取らせることなく、割込レジスタ25に記憶されたリセットフラグRFLGを用いて、当該メインプログラムMPの暴走を自動的に検知することができる。
そして、このように、メインプログラムMPの暴走を検知した場合には、コアCPU23が書き換えプログラムWPを実行することによって、ユーザがフラッシュメモリ21にデータを書き込むための専用冶具を用いて当該メインプログラムMPを書き換える等の手間をかけることなく、容易に当該メインプログラムMPを書き換えることができる。
尚、本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施形態では、本発明に係る制御装置を複合機1に適用する例について説明したが、これに限らず、本発明に係る制御装置は、カラー画像形成用のカラープリンタや、スキャナ装置、ファクシミリ装置、プリンタ装置及びコピー装置に適用してもよい。また、本発明に係る制御装置は、上記のようなマイクロコンピュータで構成される形態に限らず、例えば、パーソナルコンピュータで構成されていてもよい。
また、上記実施形態において図1乃至図4に示した構成及び設定は単なる一例に過ぎず、本発明を当該実施形態に限定する趣旨ではない。
例えば、図3に示す、ブートプログラムチェックサムBPCがフラッシュメモリ21に記憶されない構成であり、これに合わせて、ブートプログラムBPは、図4に示すステップS2の処理を実行しない簡易な構成であってもよい。
また、図3に示す、メインプログラムチェックサムMPCがフラッシュメモリ21に記憶されない構成であり、これに合わせて、ブートプログラムBPは、図4に示すステップS4の処理を実行しない簡易な構成であり、また、書き換えプログラムWPは、図4に示すステップS10及びステップS12の処理を実行しない簡易な構成であってもよい。
1 複合機
2 制御装置
21 フラッシュメモリ(第2記憶部)
23 コアCPU(制御部)
24 ウォッチドッグタイマ
25 割込レジスタ(第1記憶部)
BP ブートプログラム
BPC ブートプログラムチェックサム
CLR クリア信号
MP メインプログラム
MPC メインプログラムチェックサム
RST リセット信号
RFLG リセットフラグ(異常の発生を示す情報)
WP 書き換えプログラム

Claims (5)

  1. 第1記憶部と、
    クリア信号が入力される度に時間の計測を開始し直し、当該計測を開始し直した時間から予め定められた検出時間が経過すると、異常の発生を示す情報を前記第1記憶部に記憶し、且つ、リセット信号を出力するウォッチドッグタイマと、
    予め定められたタイミングで前記ウォッチドッグタイマに前記クリア信号を入力する処理が実装されたメインプログラムと、前記メインプログラムを書き換える処理が実装された書き換えプログラムと、前記メインプログラム及び前記書き換えプログラムの実行を制御する処理が実装されたブートプログラムと、を記憶する第2記憶部と、
    前記第2記憶部に記憶された各種プログラムを実行する制御部と、
    を備え、
    前記ブートプログラムは、当該制御装置の起動時、及び、前記ウォッチドッグタイマによって前記リセット信号が出力されたときに、前記制御部によって実行され、前記第1記憶部に前記異常の発生を示す情報が記憶されていない場合は、前記ウォッチドッグタイマに前記クリア信号を入力した後に前記メインプログラムを実行し、一方、前記第1記憶部に前記異常の発生を示す情報が記憶されている場合は、前記書き換えプログラムを実行するように実装されている制御装置。
  2. 前記ブートプログラムは、前記制御部によって実行されると、先ず、当該ブートプログラムが前記第2記憶部に正常に記憶されているか否かを判断し、正常に記憶されていないと判断した場合には、当該ブートプログラムを終了するように実装されている請求項1に記載の制御装置。
  3. 前記第2記憶部には、前記ブートプログラムを構成しているバイナリデータを用いて予め定められた算出方法で算出されたチェックサムであるブートプログラムチェックサムが予め記憶されており、
    前記ブートプログラムは、前記第2記憶部に記憶されている前記ブートプログラムを構成しているバイナリデータを用いて、前記予め定められた方法でチェックサムを算出し、当該算出したチェックサムと前記第2記憶部に予め記憶されている前記ブートプログラムチェックサムとが一致するか否かによって、当該ブートプログラムが前記第2記憶部に正常に記憶されているか否かを判断するように実装されている請求項2に記載の制御装置。
  4. 前記ブートプログラムは、前記メインプログラムの実行前に、前記メインプログラムが前記第2記憶部に正常に記憶されているか否かを判断し、正常に記憶されていないと判断した場合には、前記書き換えプログラムを実行するように実装されている請求項1から3の何れか一項に記載の制御装置。
  5. 前記第2記憶部には、前記メインプログラムを構成しているバイナリデータを用いて予め定められたチェックサム算出方法で算出されたチェックサムであるメインプログラムチェックサムが予め記憶されており、
    前記ブートプログラムは、前記第2記憶部に記憶されている前記メインプログラムを構成しているバイナリデータを用いて、前記予め定められたチェックサム算出方法でチェックサムを算出し、当該算出したチェックサムと前記第2記憶部に予め記憶されている前記メインプログラムチェックサムとが一致するか否かによって、前記メインプログラムが前記第2記憶部に正常に記憶されているか否かを判断するように実装されている請求項4に記載の制御装置。
JP2011164677A 2011-07-27 2011-07-27 制御装置 Pending JP2013029939A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011164677A JP2013029939A (ja) 2011-07-27 2011-07-27 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011164677A JP2013029939A (ja) 2011-07-27 2011-07-27 制御装置

Publications (1)

Publication Number Publication Date
JP2013029939A true JP2013029939A (ja) 2013-02-07

Family

ID=47786941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011164677A Pending JP2013029939A (ja) 2011-07-27 2011-07-27 制御装置

Country Status (1)

Country Link
JP (1) JP2013029939A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024038747A1 (ja) * 2022-08-19 2024-02-22 パナソニックIpマネジメント株式会社 処理装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01191944A (ja) * 1988-01-27 1989-08-02 Toshiba Corp チェックサム生成方法
JPH1115672A (ja) * 1997-06-23 1999-01-22 Brother Ind Ltd データ格納状態判定方法及び装置
JP2001007860A (ja) * 1999-05-26 2001-01-12 Agilent Technol Inc 特殊データ・パケットにタグ付けする方法及び特殊データ・パケット検出方法
JP2002333990A (ja) * 2001-03-05 2002-11-22 Omron Corp プログラム更新装置およびプログラム更新方法
JP2004295815A (ja) * 2003-03-28 2004-10-21 Mitsubishi Electric Corp リモート監視装置
JP2006209417A (ja) * 2005-01-27 2006-08-10 Mitsubishi Electric Corp 更新用データ送信システム及び送信側装置及び受信側装置及び更新用データ送信方法
JP2008269591A (ja) * 2007-03-28 2008-11-06 Ricoh Co Ltd 書類画像を認証するための装置、方法及びコンピュータプログラム
JP2009142566A (ja) * 2007-12-17 2009-07-02 Daiichi Shokai Co Ltd 遊技機
JP2009194641A (ja) * 2008-02-14 2009-08-27 Sharp Corp ファクシミリ装置
JP2010186220A (ja) * 2009-02-10 2010-08-26 Nisca Corp マイクロプロセッサの監視装置及びマイクロプロセッサの監視方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01191944A (ja) * 1988-01-27 1989-08-02 Toshiba Corp チェックサム生成方法
JPH1115672A (ja) * 1997-06-23 1999-01-22 Brother Ind Ltd データ格納状態判定方法及び装置
JP2001007860A (ja) * 1999-05-26 2001-01-12 Agilent Technol Inc 特殊データ・パケットにタグ付けする方法及び特殊データ・パケット検出方法
JP2002333990A (ja) * 2001-03-05 2002-11-22 Omron Corp プログラム更新装置およびプログラム更新方法
JP2004295815A (ja) * 2003-03-28 2004-10-21 Mitsubishi Electric Corp リモート監視装置
JP2006209417A (ja) * 2005-01-27 2006-08-10 Mitsubishi Electric Corp 更新用データ送信システム及び送信側装置及び受信側装置及び更新用データ送信方法
JP2008269591A (ja) * 2007-03-28 2008-11-06 Ricoh Co Ltd 書類画像を認証するための装置、方法及びコンピュータプログラム
JP2009142566A (ja) * 2007-12-17 2009-07-02 Daiichi Shokai Co Ltd 遊技機
JP2009194641A (ja) * 2008-02-14 2009-08-27 Sharp Corp ファクシミリ装置
JP2010186220A (ja) * 2009-02-10 2010-08-26 Nisca Corp マイクロプロセッサの監視装置及びマイクロプロセッサの監視方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024038747A1 (ja) * 2022-08-19 2024-02-22 パナソニックIpマネジメント株式会社 処理装置

Similar Documents

Publication Publication Date Title
JP6184361B2 (ja) 画像処理システム、画像処理装置、情報処理装置、画像処理方法
US9749488B2 (en) Image reading apparatus that reads by intended read size and image processing apparatus
JP5873832B2 (ja) 電子機器
JP2013029939A (ja) 制御装置
JP2010050891A (ja) 画像形成装置
JP6049676B2 (ja) 画像形成装置、画像形成方法
JP6237573B2 (ja) 画像形成装置及び画像形成方法
JP6010001B2 (ja) 画像形成装置
JP7077789B2 (ja) 画像形成装置
JP5588951B2 (ja) 割り込み制御回路
JP6835033B2 (ja) 表示処理装置、画像形成装置、表示処理方法、及び表示処理プログラム
JP6398952B2 (ja) 画像形成装置、画像形成装置の制御方法
JP6264138B2 (ja) 画像形成装置
JP6060137B2 (ja) 画像処理装置
JP5439400B2 (ja) 画像形成装置
JP7135417B2 (ja) 画像形成装置
JP6572852B2 (ja) 画像形成装置及び画像形成方法
JP6604314B2 (ja) 画像読取装置、画像形成装置、画像読取方法
JP6299883B2 (ja) 表示装置、画像形成装置、及び表示方法
JP5921503B2 (ja) 情報処理装置、画像処理装置
JP6393927B2 (ja) 画像形成装置およびプログラム
JP2014071718A (ja) 画像形成装置
JP6369326B2 (ja) 画像形成装置、画像形成システム、画像形成制御方法及びプログラム
JP2010002558A (ja) 画像形成装置
JP2023065190A (ja) 画像形成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140916