JP2005173888A - Information processor, method and program for restoring program, and recording medium - Google Patents

Information processor, method and program for restoring program, and recording medium Download PDF

Info

Publication number
JP2005173888A
JP2005173888A JP2003411680A JP2003411680A JP2005173888A JP 2005173888 A JP2005173888 A JP 2005173888A JP 2003411680 A JP2003411680 A JP 2003411680A JP 2003411680 A JP2003411680 A JP 2003411680A JP 2005173888 A JP2005173888 A JP 2005173888A
Authority
JP
Japan
Prior art keywords
program
update
screen
recovery
rom
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
JP2003411680A
Other languages
Japanese (ja)
Inventor
Hisanori Kawaura
久典 川浦
Fumiyuki Yoshida
文幸 吉田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003411680A priority Critical patent/JP2005173888A/en
Publication of JP2005173888A publication Critical patent/JP2005173888A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily solve problems that might be caused by an interruption during program updates, thereby restoring a device or a program. <P>SOLUTION: An information processor includes an update interruption determining means (step S11) for determining whether or not a program update by a program update means was interrupted the last time the information processor was started; an operating system starting means (step S12 or step S17) for starting a corresponding operating system according to the result of determination by the update interruption determining means (step S11); a first program restoration means for restoring programs stored in a program storage means; and a screen control means for performing control about a screen according to the operating system started by the operating system starting means. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体に関する。   The present invention relates to an information processing apparatus, a program recovery method, a program recovery program, and a recording medium.

従来、プリンタ、コピー、ファクシミリ、スキャナ等の装置はそれぞれ別筐体として配設されるのが一般的であった。しかし、最近では、これら各装置の機能を1つの筐体内に収納した画像形成装置が知られている。この画像形成装置は、1つの筐体内に表示部、印刷部及び撮像部等を設けると共に、プリンタ、コピー、スキャナ及びファクシミリ装置にそれぞれ対応する4種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナ及びファクシミリ装置として動作させるものである。   Conventionally, devices such as printers, copiers, facsimiles, scanners and the like are generally arranged as separate housings. However, recently, an image forming apparatus in which the functions of these devices are housed in a single housing is known. This image forming apparatus is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and four types of software corresponding to a printer, a copy, a scanner, and a facsimile device, respectively. Are operated as a printer, a copy, a scanner, and a facsimile apparatus.

このような従来の画像形成装置では、プリンタ、コピー、スキャナ及びファクシミリの各機能ごとにソフトウェアを組み込んだ書き換え不可能なROM(Read Only Memory)を搭載したコントローラボードを設け、複数の機能を実現する構成としていた。   In such a conventional image forming apparatus, a controller board equipped with a non-rewritable ROM (Read Only Memory) in which software is incorporated for each function of a printer, a copy, a scanner, and a facsimile is provided to realize a plurality of functions. Was configured.

したがって、従来の画像形成装置では、各機能の変更、追加等を行う場合に、機能追加又は機能変更を反映したプログラムを組み込んだ新たなROMを用意してROMごと交換するというハードウェア的な作業が必要であり、更新作業の労力が過大なものとなっていた。   Therefore, in the conventional image forming apparatus, when changing or adding each function, a hardware operation of preparing a new ROM incorporating a program reflecting the function addition or function change and replacing the ROM together. Was necessary, and the labor of the update work was excessive.

このため、最近の画像形成装置はフラッシュメモリのように電気的に内容の書き換えが可能なROMにプリンタ、コピー、スキャナ及びファクシミリの各機能を含むプログラムを組み込み、複数の機能を複合サービスとして実現している。   For this reason, recent image forming apparatuses incorporate a program that includes printer, copy, scanner, and facsimile functions into a ROM that can be electrically rewritten, such as a flash memory, and realize multiple functions as a combined service. ing.

このような画像形成装置は、各機能の変更、追加等を行う場合に、機能追加又は機能変更を行ったプログラムを更新データとしてフラッシュカードに記録し、このフラッシュカードを画像形成装置のフラッシュカードインタフェースに挿入した状態で画像形成装置を再起動する。   In such an image forming apparatus, when each function is changed or added, a program in which the function is added or changed is recorded as update data in a flash card, and this flash card is stored in the flash card interface of the image forming apparatus. And restarting the image forming apparatus.

このとき画像形成装置は、更新プログラムによって更新データをフラッシュカードから読み出し、読み出された更新データによってフラッシュメモリに記録されているプログラムが更新されるようになっている。このように、最近の画像形成装置では、電気的に書き換え可能というフラッシュメモリの特性を利用して、ソフトウェア的にROM更新を行っている。   At this time, the image forming apparatus reads the update data from the flash card by the update program, and the program recorded in the flash memory is updated by the read update data. As described above, in recent image forming apparatuses, the ROM update is performed in software by utilizing the characteristic of the flash memory that is electrically rewritable.

例えば特許文献1には、ソフトウェアの変更や追加に柔軟に対処することを課題とする技術が記載されている。   For example, Japanese Patent Laid-Open No. 2004-228561 describes a technology that has a problem of flexibly dealing with software changes and additions.

ところで、出願人は、表示部、印刷部及び撮像部等の画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピー、スキャナ及びファクシミリ等の各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットフォームを備えた画像形成装置を発明した(特許文献2参照。)。   By the way, the applicant has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit, and performs an application specific to each user service such as a printer, a copy, a scanner, and a facsimile. When providing a user service by interposing between these applications and hardware resources, management, execution control and image formation of hardware resources commonly required by at least two of the applications An image forming apparatus provided with a platform including various control services for processing has been invented (see Patent Document 2).

なお、ユーザサービスとはユーザに提供する画像形成に係るサービスをいう。また、コントロールサービスとはアプリケーションに画像形成に係るハードウェア資源を提供するサービスをいう。   The user service is a service related to image formation provided to the user. The control service refers to a service that provides hardware resources related to image formation to an application.

この画像形成装置によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットフォームを備えた構成とすることによって、通常の画像形成装置に比べて将来的なアプリケーションの追加やコントロールサービスの追加等のソフトウェア開発を容易に行うことができ、拡張性が高いものとなっている。このため、このような構成の画像形成装置では、機能追加や機能変更によるプログラム更新の必要性が従来の画像形成装置よりも非常に高くなってくる。   According to this image forming apparatus, a configuration including a hardware resource management, execution control, and image forming process that are commonly required by at least two applications is compared with a normal image forming apparatus. Therefore, software development such as future application addition and control service addition can be easily performed, and the scalability is high. For this reason, in the image forming apparatus having such a configuration, the necessity of program update due to function addition or function change is much higher than that of the conventional image forming apparatus.

例えば、画像形成装置の使用契約では、プリンタ、コピー、スキャナの機能のみを使用する契約で画像形成装置を導入し稼働していたが、使用契約の変更によりファクシミリ機能を追加して画像形成装置を使用する場合も考えられる。この場合、ファクシミリ機能の追加により、ファクシミリ用のアプリケーションの追加、及びこれに伴うプラットフォームの追加、変更が必要となってくる。   For example, in an image forming apparatus usage contract, an image forming apparatus was introduced and operated under a contract that uses only the functions of a printer, a copy, and a scanner. It can also be used. In this case, the addition of a facsimile function necessitates the addition of a facsimile application and the accompanying addition or change of a platform.

このような複数のアプリケーション及び共通的な処理を行うプラットフォームを備えた構成の画像形成装置の場合には、特にこのような機能変更、機能追加の要求が不定期に且つ頻繁に生じるケースが多い。このため、従来のプログラム更新方法のように、プログラム更新を行うごとにフラッシュカードを入手し、そのフラッシュカードから更新データを読み込んでROMに格納されたプログラムの更新を行うという作業では、不定期に且つ頻繁に生じるプログラム更新のニーズに迅速に対応できない。また、フラッシュカードを用いたプログラム更新方法では、更新作業が非常に煩雑となり、作業効率が悪いという問題がある。   In the case of an image forming apparatus having a configuration including a plurality of applications and a platform for performing common processing, there are many cases where such a request for function change and function addition occurs irregularly and frequently. Therefore, as in the conventional program update method, every time a program is updated, a flash card is obtained, and update data is read from the flash card and the program stored in the ROM is updated. In addition, it cannot respond quickly to frequent program update needs. In addition, the program update method using a flash card has a problem that the update work becomes very complicated and the work efficiency is poor.

したがって、出願人は、ネットワーク経由でプログラムの更新データを受信し、該更新データを用いてプログラム更新を行う画像形成装置、プログラム更新方法及び記録媒体を発明した(特許文献3参照。)。
特開2001−268306号公報 特開2002−82806号公報 特開2003−182191号公報
Accordingly, the applicant has invented an image forming apparatus, a program update method, and a recording medium that receive program update data via a network and perform program update using the update data (see Patent Document 3).
JP 2001-268306 A JP 2002-82806 A JP 2003-182191 A

しかしながら、例えば上述したネットワーク経由でプログラムの更新データを受信し、該更新データを用いてプログラム更新を行う画像形成装置では、プログラム更新中に停電やコンセント抜け、人為的電源OFF等が起こると、次回の画像形成装置の電源ONで、画像形成装置の機能の一部又は全てが使用不可能になってしまう問題があった。   However, for example, in an image forming apparatus that receives program update data via the above-described network and updates the program using the update data, the next time the program is updated, if a power failure, outlet disconnection, artificial power OFF occurs, etc. When the image forming apparatus is turned on, some or all of the functions of the image forming apparatus become unusable.

以下、プログラムの更新中断後に画像形成装置の機能の一部が使用不可能になった一例を、図1を用いて説明する。図1は、プログラムの更新中断後に画像形成装置の機能の一部が使用不可能になった一例を説明するための図である。なお、画像形成装置の構成の詳細は後述する図3等を用いて説明する。   Hereinafter, an example in which a part of the functions of the image forming apparatus becomes unusable after the program update is interrupted will be described with reference to FIG. FIG. 1 is a diagram for explaining an example in which some of the functions of the image forming apparatus become unusable after the program update is interrupted. Details of the configuration of the image forming apparatus will be described with reference to FIG.

図1(A)は、プラットフォームの更新前の画像形成装置の一例を示している。一方、図1(B)は、プラットフォームの更新中に、例えば人為的に電源OFFされ、再び起動した後の画像形成装置の一例を示している。   FIG. 1A shows an example of an image forming apparatus before the platform is updated. On the other hand, FIG. 1B shows an example of the image forming apparatus after the power is turned off artificially and restarted, for example, during the platform update.

図1(B)は、図1(A)と比べて、SRMと、SCSと、NCSと、は、v.1.00からv.1.10にプログラムが更新されているが、例えばプラットフォームを構成するプロセスの一つであるECSに係るプログラムの更新中に画像形成装置の電源がOFFされたため、図1(B)ではECSが起動されておらず、コピーアプリ及びプリンタアプリ等が使用不可能となっている。   In FIG. 1B, SRM, SCS, and NCS are different from those in FIG. 1.00 to v. Although the program has been updated to 1.10, for example, the ECS is activated in FIG. 1B because the power of the image forming apparatus was turned off during the update of the program related to ECS, which is one of the processes constituting the platform. The copy application, the printer application, and the like cannot be used.

また、例えば上述したネットワーク経由でプログラムの更新データを受信し、該更新データを用いてプログラム更新を行う画像形成装置では、プログラム更新後の画像形成装置で、更新を行ったプログラムと、更新を行わなかったプログラムと、の組み合わせ等が原因で画像形成装置の機能の一部又は全てが使用不可能又は動作が不安定となった場合も、画像形成装置を容易に復旧できない問題もあった。   Further, for example, in an image forming apparatus that receives program update data via the network and updates the program using the update data, the image forming apparatus after the program update performs the update with the updated program. Even when some or all of the functions of the image forming apparatus cannot be used or the operation becomes unstable due to a combination with a program that does not exist, there is a problem that the image forming apparatus cannot be easily restored.

以下、バージョンの不整合により画像形成装置の機能の一部が使用不可能になった一例を、図2を用いて説明する。図2は、バージョンの不整合により画像形成装置の機能の一部が使用不可能になった一例を説明するための図である。   Hereinafter, an example in which a part of the functions of the image forming apparatus cannot be used due to version mismatch will be described with reference to FIG. FIG. 2 is a diagram for explaining an example in which some of the functions of the image forming apparatus become unusable due to version mismatch.

図2(A)は、コピーアプリの更新前の画像形成装置の一例を示している。一方、図2(B)は、コピーアプリの更新後、コピーアプリv.2.00と、ECSv.1.00と、の組み合わせだと、コピーアプリが正常に動作しない一例を示している。   FIG. 2A illustrates an example of the image forming apparatus before the copy application is updated. On the other hand, FIG. 2B shows the copy application v. 2.00 and ECSv. A combination of 1.00 shows an example in which the copy application does not operate normally.

本発明は、上記の点に鑑みなされたもので、プログラムの更新に係り生じる問題を容易に解決し、装置及び/又はプログラムを復旧させることを目的とする。また、本発明は、装置及び/又はプログラムの復旧に係る画面を表示し、ユーザに情報を提供することを目的とする。   The present invention has been made in view of the above points, and it is an object of the present invention to easily solve problems associated with program update and restore the apparatus and / or program. Another object of the present invention is to display a screen related to restoration of an apparatus and / or program and provide information to a user.

そこで、上記問題を解決するため、本発明は、プログラムを記憶するプログラム記憶手段と、該プログラム記憶手段に記憶されているプログラムに係る更新データを受信する更新データ受信手段と、前記更新データに基づいて、前記プログラム記憶手段に記憶されている対応するプログラムを更新するプログラム更新手段と、を有する情報処理装置であって、当該情報処理装置が前回起動されていたときに、前記プログラム更新手段における前記プログラムの更新が中断されたかどうかを判定する更新中断判定手段と、前記更新中断判定手段における判定結果に応じて、対応するオペレーティングシステムを起動するオペレーティングシステム起動手段と、前記プログラム記憶手段に記憶されているプログラムを復旧する第一プログラム復旧手段と、前記オペレーティングシステム起動手段において起動されたオペレーティングシステムに応じて、画面に係る制御を行う画面制御手段と、を有することを特徴とする。   Therefore, in order to solve the above problem, the present invention is based on program storage means for storing a program, update data receiving means for receiving update data relating to the program stored in the program storage means, and the update data. An information processing apparatus having a program update means for updating a corresponding program stored in the program storage means, when the information processing apparatus has been activated last time, the program update means in the program update means Update interruption determination means for determining whether or not the program update has been interrupted, operating system activation means for activating a corresponding operating system in accordance with the determination result in the update interruption determination means, and stored in the program storage means The first program to restore the existing program And stage, in response to said operating system activated in the operating system boot device, and having a screen control means for performing control relating to the screen, the.

また、本発明は、プログラムを記憶するプログラム記憶手段と、該プログラム記憶手段に記憶されているプログラムに係る更新データを受信する更新データ受信手段と、前記更新データに基づいて、前記プログラム記憶手段に記憶されている対応するプログラムを更新するプログラム更新手段と、を有する情報処理装置であって、当該情報処理装置が前回起動されていたときに、前記プログラム記憶手段に記憶されているプログラムを復旧するため、リブートされたかどうかを判定するリブート判定手段と、前記リブート判定手段における判定結果に応じて、対応するオペレーティングシステムを起動するオペレーティングシステム起動手段と、前記プログラム記憶手段に記憶されているプログラムを復旧する第二プログラム復旧手段と、前記オペレーティングシステム起動手段において起動されたオペレーティングシステムに応じて、画面に係る制御を行う画面制御手段と、を有することを特徴とする。   The present invention also provides a program storage means for storing a program, an update data receiving means for receiving update data relating to the program stored in the program storage means, and the program storage means based on the update data. An information processing apparatus that updates a corresponding program stored therein, and restores the program stored in the program storage means when the information processing apparatus was last activated Therefore, a reboot determination unit that determines whether or not a reboot has occurred, an operating system activation unit that activates a corresponding operating system according to a determination result in the reboot determination unit, and a program stored in the program storage unit are restored Second program recovery means to Depending on the operating system activated in the operating system boot device, characterized by having a a screen control means for performing control related to the screen.

なお、プログラム記憶手段は、例えば後述するフラッシュメモリ204に対応する。   The program storage means corresponds to, for example, a flash memory 204 described later.

本発明によれば、プログラムの更新に係り生じる問題を容易に解決し、装置及び/又はプログラムを復旧させることができる。また、本発明によれば、装置及び/又はプログラムの復旧に係る画面を表示し、ユーザに情報を提供することができる。   According to the present invention, it is possible to easily solve a problem caused by updating a program and restore the apparatus and / or program. Further, according to the present invention, it is possible to display a screen related to the restoration of the apparatus and / or program and provide information to the user.

また、上記課題を解決するための手段として、プログラム復旧方法、プログラム復旧プログラム及び記録媒体としてもよい。   Further, as means for solving the above problems, a program recovery method, a program recovery program, and a recording medium may be used.

本発明によれば、プログラムの更新に係り生じる問題を容易に解決し、装置及び/又はプログラムを復旧させることができる。また、本発明によれば、装置及び/又はプログラムの復旧に係る画面を表示し、ユーザに情報を提供することができる。   According to the present invention, it is possible to easily solve a problem caused by updating a program and restore the apparatus and / or program. Further, according to the present invention, it is possible to display a screen related to the restoration of the apparatus and / or program and provide information to the user.

以下、本発明の実施の形態について図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図3は、画像形成装置(以下、複合機という)の構成を示すブロック図(その1)である。なお、図3では、後述するROMモニタ410によって、汎用OS121が起動された場合の複合機の構成の一例を示している。   FIG. 3 is a block diagram (No. 1) showing a configuration of an image forming apparatus (hereinafter referred to as a multifunction peripheral). FIG. 3 shows an example of the configuration of the multifunction machine when the general-purpose OS 121 is activated by the ROM monitor 410 described later.

図3に示すように、複合機100は、プロッタ101と、スキャナ102と、FCU(Fax Control Unit)103と、その他ハードウェアリソース104等を有すると共に、汎用OS(Operating System)121と、プラットフォーム120と、アプリケーション130と、から構成されるソフトウェア群110と、電源投入時に実行される複合機起動部140と、を備えている。   As shown in FIG. 3, the MFP 100 includes a plotter 101, a scanner 102, an FCU (Fax Control Unit) 103, other hardware resources 104, a general-purpose OS (Operating System) 121, and a platform 120. And a software group 110 composed of an application 130, and a multifunction machine starting unit 140 that is executed when the power is turned on.

複合機起動部140は、複合機100の電源投入時にまず始めに実行され、後述する更新中断情報に更新情報が格納されていない場合及び/又は更新中断情報にメンテナンスフラグが格納されている場合、図3に示される汎用OS121や、プラットフォーム120、アプリケーション130を起動する。   The MFP activation unit 140 is first executed when the MFP 100 is turned on, and when update information is not stored in update suspension information described below and / or when a maintenance flag is stored in update suspension information, The general-purpose OS 121, the platform 120, and the application 130 shown in FIG.

プラットフォーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一又は複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、を有する。   The platform 120 interprets a processing request from the application 130 and generates a hardware resource acquisition request, and a system resource that manages one or a plurality of hardware resources and arbitrates the acquisition request from the control service. A manager (SRM) 123.

コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128と、から構成される。なお、プラットフォーム120は、あらかじめ定義された関数によりアプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。   The control service is formed of a plurality of service modules, and includes an SCS (system control service) 122, an ECS (engine control service) 124, an MCS (memory control service) 125, an OCS (operation panel control service) 126, and an FCS. (Fax Control Service) 127 and NCS (Network Control Service) 128. The platform 120 has an application program interface (API) that can receive a processing request from the application 130 using a predefined function.

汎用OS121は、UNIX(登録商標)等の汎用オペレーティングシステムであり、プラットフォーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。なお、図3に示される汎用OS121は、プロセスに通常モードスレッドと、ROM更新モードスレッドとが存在する場合、初め、各プロセスの通常モードスレッドを実行する。   The general-purpose OS 121 is a general-purpose operating system such as UNIX (registered trademark), and executes the software of the platform 120 and the application 130 in parallel as processes. Note that the general-purpose OS 121 illustrated in FIG. 3 first executes the normal mode thread of each process when the normal mode thread and the ROM update mode thread exist in the process.

MCS125は、メモリの制御を行うプロセスとして起動される。MCS125のプロセスは、画像メモリの取得及び解放、ハードディスク装置(HDD)の利用、画像データの圧縮及び伸張等のコピー、プリンタ、ファクシミリ及びスキャナ等の複合サービスを行う通常モードスレッドと、後述するリモートROM更新アプリ117によって更新データパケットから展開された更新データを格納する更新データ領域をSDRAM203等に確保する等の処理を行うROM更新モードスレッドと、を有している。   The MCS 125 is activated as a process for controlling the memory. The process of the MCS 125 includes normal mode threads for performing complex services such as acquisition and release of image memory, use of a hard disk drive (HDD), copying and compression of image data, printers, facsimiles, scanners, etc., and a remote ROM described later A ROM update mode thread that performs processing such as securing an update data area in the SDRAM 203 or the like for storing update data developed from the update data packet by the update application 117;

OCS126のプロセスは、オペレータと本体制御間の情報伝達手段となる操作パネル(オペレーションパネル1310)の制御を行う通常モードスレッドと、ROMの更新に係る情報等を操作パネル(オペレーションパネル1310)に表示する処理等を行うROM更新モードスレッドと、を有している。   The process of the OCS 126 displays a normal mode thread for controlling an operation panel (operation panel 1310) serving as information transmission means between the operator and the main body control, information on ROM update, and the like on the operation panel (operation panel 1310). A ROM update mode thread for performing processing and the like.

FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、複合送受信を行うためのAPIを提供する等の処理を行う通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドと、を有している。   The process of FCS 127 includes facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and complex transmission / reception. It has a normal mode thread that performs processing such as providing an API for performing, and a ROM update mode thread that is simply activated without executing such a function.

NCS128は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行ったりする等の処理を行う通常モードスレッドを有している。また、NCS128の通常モードスレッドでは、更に、ネットワークに接続された、例えば複合機開発元のホストコンピュータやアプリケーション開発元のサードベンダ等のリモートホストから、フラッシュメモリのROM更新データパケットを受信する。   The NCS 128 is a process for providing a service that can be used in common for applications that require network I / O. Data received from the network side according to each protocol is distributed to each application, and data from the application is networked. It has a normal mode thread that performs processing such as mediation when transmitting to the side. Further, in the normal mode thread of the NCS 128, the ROM update data packet of the flash memory is further received from a remote host such as a host computer of the multifunction device developer or a third vendor of the application developer connected to the network.

なお、NCS128のプロセスは、フラッシュメモリのROM更新データパケットに含まれる更新データを、後述するリモートROM更新アプリ117に渡す等の処理を行う、ROM更新モードスレッドも有している。   The NCS 128 process also has a ROM update mode thread for performing processing such as passing update data included in the ROM update data packet of the flash memory to the remote ROM update application 117 described later.

SRM123のプロセスは、SCS122と共にシステムの制御及びリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部等のエンジン、メモリ、HDDファイル、ホストI/O(セントロニクスI/F、IEEE1394 I/F、USB I/F、NIC I/F等)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する等の処理を行う通常モードスレッドと、かかるリソース管理を実行せずに単に起動されるだけのROM更新モードスレッドを有している。 具体的には、このSRM123の通常モードスレッドは、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123の通常モードスレッドは、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成等)を直接実施している。   The process of the SRM 123 performs system control and resource management together with the SCS 122. The SRM123 process uses the hardware resources of the scanner, printer, etc. engines, memory, HDD files, and host I / O (Centronics I / F, IEEE 1394 I / F, USB I / F, NIC I / F, etc.). It has a normal mode thread that performs processing such as arbitration and execution control according to a request from an upper layer to be used, and a ROM update mode thread that is simply activated without executing such resource management. Specifically, the normal mode thread of the SRM 123 determines whether the requested hardware resource is available (whether it is not used by another request), and if so, the requested hardware resource is requested. Tell the upper layer that the hardware resource is available. In addition, the normal mode thread of the SRM 123 performs use scheduling of hardware resources in response to a request from an upper layer, and directly requests contents (for example, paper conveyance and image forming operation, memory allocation, file generation, etc. by the printer engine). We are carrying out.

SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御等の処理を行う通常モードスレッドを有している。   The process of the SCS 122 has a normal mode thread that performs processing such as application management, operation unit control, system screen display, LED display, resource management, and interrupt application control.

また、SCS122の通常モードスレッドは、後述するリモートROM更新アプリ117からの要求に基づいて、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115や、ECS124、MCS125、OCS126、FCS127、NCS128等にROM更新モードスレッドの起動依頼を通知する。   Further, the normal mode thread of the SCS 122 is based on a request from the remote ROM update application 117 described later, the printer application 111, the copy application 112, the fax application 113, the scanner application 114, the net file application 115, the ECS 124, the MCS 125, and the OCS 126. , Notifies the ROM update mode thread activation request to FCS 127, NCS 128, and the like.

また、SCS122のプロセスは、ROM更新モードスレッドも有し、該ROM更新モードスレッドは、SDRAM203等に展開された更新データの中から、複合機100で動作するアプリケーション130、プラットフォーム120の構成に応じた更新データを選定する処理を行ったり、後述するROM更新部430を起動したりする処理を行う。   The process of the SCS 122 also has a ROM update mode thread. The ROM update mode thread corresponds to the configuration of the application 130 operating on the multifunction peripheral 100 and the platform 120 from the update data expanded in the SDRAM 203 or the like. A process of selecting update data or a process of starting a ROM update unit 430 described later is performed.

ECS124のプロセスは、プロッタ101、スキャナ102、FCU(Fax Control Unit)103、その他ハードウェアリソース104、のエンジンの制御等の処理を行う通常モードスレッドと、このようなエンジン制御を行わずに単に起動されるだけのROM更新モードスレッドと、を有している。   The process of the ECS 124 is simply started without performing such engine control, and a normal mode thread that performs processing such as engine control of the plotter 101, the scanner 102, the FCU (Fax Control Unit) 103, and other hardware resources 104. And a ROM update mode thread that can only be done.

このように、SRM123、ECS124、FCS127の各ROM更新モードスレッドはいずれも単に起動されるだけであるが、これは、ROM更新処理時に、複合機内部で動作するコントロールサービスの存在を示すために起動されるようになっている。一方、SCS122、MCS125、OCS126、NCS128の各ROM更新モードスレッドも、それぞれROM更新に必要な処理を行うと共に、複合機内部で動作するコントロールサービスの存在を示すために起動されるようになっている。   As described above, all the ROM update mode threads of the SRM 123, the ECS 124, and the FCS 127 are simply activated, but this is activated to indicate the existence of a control service that operates inside the MFP during the ROM update process. It has come to be. On the other hand, the ROM update mode threads of the SCS 122, MCS 125, OCS 126, and NCS 128 are also activated to indicate the existence of a control service that operates inside the multi-function peripheral and performs processing necessary for ROM update. .

アプリケーション130は、ページ記述言語(PDL)、PCL及びポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、NCS128によりネットワーク経由で受信した更新データパケットを更新データに展開し、その更新データをMCS125のROM更新モードスレッドによって確保されたSDRAM203等の更新データ領域に格納する処理等を行うリモートROM更新アプリ(以下、RRUアプリという)117と、を有している。   The application 130 includes a printer application 111 that is a printer application having a page description language (PDL), PCL, and PostScript (PS), a copy application 112 that is a copy application, and a fax application 113 that is a facsimile application. The scanner application 114 as a scanner application, the network file application 115 as a network file application, and the update data packet received via the network by the NCS 128 are expanded into update data, and the update data is read into the ROM update mode thread of the MCS 125. Remote ROM update application (hereinafter referred to as RRU application) 117 that performs processing to be stored in an update data area such as SDRAM 203 secured by , The has.

これらの各アプリも、プラットフォーム120と同様にそれぞれプロセスとして起動され、RRUアプリ117以外の各アプリは、各々上述したような処理を行う通常モードスレッドと、当該自身の存在を示すために起動されるROM更新モードスレッドと、を有する。   Each of these apps is also started as a process, like the platform 120, and each app other than the RRU app 117 is started to indicate a normal mode thread that performs the processing as described above and the presence of the app itself. ROM update mode thread.

以下、複合機100のハードウェア構成の一例を、図4を用いて説明する。図4は、複合機のハードウェア構成を示すブロック図である。   Hereinafter, an example of a hardware configuration of the multifunction peripheral 100 will be described with reference to FIG. FIG. 4 is a block diagram illustrating a hardware configuration of the multifunction machine.

図4に示すように、複合機100は、オペレーションパネル1310、FAXコントロールユニット(FCU)103、エンジン部1350(スキャナ102等が接続される)及びプロッタ101とコントローラ1300のASIC1301とをPCI(Peripheral ComPonent Interconnect)バス1309等で接続した構成となる。   As illustrated in FIG. 4, the multifunction peripheral 100 includes an operation panel 1310, a FAX control unit (FCU) 103, an engine unit 1350 (to which the scanner 102 and the like are connected), a plotter 101, and an ASIC 1301 of the controller 1300 connected to a PCI (Peripheral Component). An interconnect) bus 1309 is connected.

コントローラ1300は、ASIC1301にNVRAM208、SDRAM203、フラッシュメモリ204、HDD(Hard Disk Drive)1303等を接続すると共に、このASIC1301とCPU1304とをCPUチップセットのNB1305を介して接続している。このように、NB1305を介して接続する理由は、CPU1304自体のインターフェースが公開されていないためである。   The controller 1300 connects the NVRAM 208, SDRAM 203, flash memory 204, HDD (Hard Disk Drive) 1303, and the like to the ASIC 1301, and connects the ASIC 1301 and the CPU 1304 via the NB 1305 of the CPU chip set. Thus, the reason for connecting via the NB 1305 is that the interface of the CPU 1304 itself is not disclosed.

ここで、このASIC1301とNB1305は、単にPCIを介して接続されているのではなく、AGP1308を介して接続されている。このようにAGP1308を介して接続することとした理由は、この複合機100が図3に示したプラットフォーム120やアプリケーション130を形成する複数のプロセスを実行制御する関係上、これらを低速のPCIで接続したのでは、パフォーマンスが低下するからである。   Here, the ASIC 1301 and the NB 1305 are not connected via the PCI, but are connected via the AGP 1308. The reason for the connection via the AGP 1308 is that the MFP 100 is connected to the platform 120 and the application 130 shown in FIG. This is because performance decreases.

CPU1304は、複合機100の全体制御を行うものであり、具体的には、汎用OS121上でSRM123や、プラットフォーム120を形成するSCS122、ECS124、MCS125、OCS126、FCS127、NCS128をそれぞれプロセスとして起動して実行させると共に、アプリケーション130を形成するプリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、RRUアプリ117を起動して実行させる。なお、例えば、複合機100が後述する図10に示すような構成の場合、CPU1304は、汎用レスキューOS131上でSRM123や、プラットフォーム120を形成するSCS122、MCS125をそれぞれプロセスとして起動して実行させる。   The CPU 1304 controls the entire MFP 100. Specifically, the SRM 123 and the SCS 122, ECS 124, MCS 125, OCS 126, FCS 127, and NCS 128 forming the platform 120 are started as processes on the general-purpose OS 121, respectively. At the same time, the printer application 111, the copy application 112, the fax application 113, the scanner application 114, the net file application 115, and the RRU application 117 forming the application 130 are activated and executed. For example, when the MFP 100 has a configuration as shown in FIG. 10 described later, the CPU 1304 activates and executes the SRM 123, the SCS 122 and the MCS 125 forming the platform 120 as processes on the general-purpose rescue OS 131, respectively.

NB1305は、CPU1304と、システムメモリ1306と、SB1307と、NIC(Network Interface Card)1341と、USB(Universal Serial Bus)1330と、IEEE13941340と、セントロニクス1342と、ドライバI/F1343と、ASIC1301と、を接続するためのブリッジである。   The NB 1305 includes a CPU 1304, a system memory 1306, an SB 1307, a NIC (Network Interface Card) 1341, a USB (Universal Serial Bus) 1330, an IEEE 1394 1340, a Centronics 1342, a driver I / F 1343, an ASIC 1301, and an ASIC 1301. It is a bridge to do.

システムメモリ1306は、複合機の描画用メモリ等として用いるメモリであり、SB1307は、NB1305と周辺デバイスとを接続するためのブリッジである。SB1307は、コントローラ1300での時間を計測するRTC(Real Time Clock)を有する。また、SB1307は、内部にUSBホストを有し、例えば、USB接続のカメラを接続することで画像データを取り込むことが可能であり、また、他のUSBターゲットからデータを受け取ることも可能である。   A system memory 1306 is a memory used as a drawing memory or the like of the multifunction peripheral, and an SB 1307 is a bridge for connecting the NB 1305 and peripheral devices. The SB 1307 has an RTC (Real Time Clock) that measures time in the controller 1300. The SB 1307 has a USB host inside, and can capture image data by connecting a USB-connected camera, for example, and can also receive data from other USB targets.

ドライバI/F1343は、挿入された、プログラム又はアプリケーション等が格納されている記録媒体から、プログラム又はアプリケーション等を読み込んで、複合機100に搭載するのに用いるI/Fである。なお、例えば記録媒体としては、SDメモリカード、スマートメディア、マルチメディアカード、コンパクトフラッシュ(登録商標)等がある。   The driver I / F 1343 is an I / F that is used to read a program or application from an inserted recording medium in which the program or application is stored and mount the program or application on the multifunction peripheral 100. Examples of the recording medium include an SD memory card, smart media, multimedia card, and compact flash (registered trademark).

SDRAM203は、更新データパケットをネットワーク経由で受信したときに、受信した更新データパケットから展開される更新データを格納する更新データ領域が確保される不揮発性メモリである。   The SDRAM 203 is a non-volatile memory that secures an update data area for storing update data developed from the received update data packet when the update data packet is received via the network.

NVRAM208は、例えば後述する更新中断情報等を格納する不揮発性メモリである。   The NVRAM 208 is a non-volatile memory that stores, for example, update interruption information described later.

フラッシュメモリ(以下、フラッシュROMという)204には、上述の各アプリ、プラットフォームを構成する各コントロールサービスやSRM123の各プログラムが格納されている。複合機100は、これらの各プログラムがあらかじめフラッシュROM204に組み込まれた状態で出荷され、ROM更新データパケットの受信によって、フラッシュROM204のプログラムが更新されるという、リモートROM更新の処理が実行されるようになっている。   A flash memory (hereinafter referred to as “flash ROM”) 204 stores the above-described applications, the control services constituting the platform, and the programs of the SRM 123. The MFP 100 is shipped with each of these programs pre-installed in the flash ROM 204, and a remote ROM update process is executed in which the program in the flash ROM 204 is updated upon receipt of the ROM update data packet. It has become.

HDD1303は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積、文書の蓄積を行うストレージであり、オペレーションパネル1310は、操作者からの入力操作の受け付け並びに操作者に向けた表示を行う操作部である。   The HDD 1303 is a storage that stores image data, programs, font data, forms, and documents. The operation panel 1310 receives input operations from the operator and displays them for the operator. It is an operation part which performs.

ASIC1301には、NVRAM208及びSDRAM203等を接続するためのRAMインターフェースと、フラッシュROM204を接続するためのROMインターフェースと、HDD1303を接続するためのハードディスクインターフェースと、が設けられ、これらの記憶部に対して画像データの入出力を行う場合には、入出力先がRAMインターフェース又はROMインターフェース又はハードディスクインターフェースに切り替えられる。   The ASIC 1301 is provided with a RAM interface for connecting the NVRAM 208 and the SDRAM 203, a ROM interface for connecting the flash ROM 204, and a hard disk interface for connecting the HDD 1303. When inputting / outputting data, the input / output destination is switched to the RAM interface, ROM interface, or hard disk interface.

AGP1308は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリ1306に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。   The AGP 1308 is a bus interface for a graphics accelerator card that has been proposed for speeding up graphics processing. The AGP 1308 speeds up the graphics accelerator card by directly accessing the system memory 1306 with high throughput.

以下、リモートROM更新の全体処理の一例を、図5及び図6を用いて説明する。図5は、リモートROM更新の全体処理を説明するための図(その1)である。   Hereinafter, an example of the entire remote ROM update process will be described with reference to FIGS. FIG. 5 is a diagram (part 1) for explaining the entire process of remote ROM update.

図5に示されるように、複合機100が通常の複合サービスの動作を実行しているときは、通常モードスレッドと、ROM更新モードスレッドと、を有している各アプリ、各コントロールサービス等は、何れも通常モードスレッドを実行している。   As shown in FIG. 5, when the multifunction peripheral 100 is executing a normal composite service operation, each application, each control service, and the like having a normal mode thread and a ROM update mode thread are In both cases, a normal mode thread is executed.

この状態で、ネットワーク経由で複合機開発元のホストコンピュータやアプリケーション開発元のサードベンダのホストコンピュータ等のリモートホストから更新データパケットが送信されてくると、NCS128の通常モードスレッドは、更新データパケットを受信する(シーケンスSQ1。)。   In this state, when an update data packet is transmitted from a remote host such as the host computer of the multifunction device developer or the third vendor host computer of the application developer via the network, the normal mode thread of the NCS 128 transmits the update data packet. Receive (sequence SQ1).

NCS128の通常モードスレッドは、受信したパケットの内容を判断し、更新データパケットであると判定すると、ROMの更新データパケットを受信した旨をRRUアプリ117に通知する(シーケンスSQ2。)。   The normal mode thread of the NCS 128 determines the content of the received packet, and if it is determined that it is an update data packet, notifies the RRU application 117 that the ROM update data packet has been received (sequence SQ2).

NCS128の通常モードスレッドよりROMの更新データパケットを受信した旨を通知されたRRUアプリ117は、SCS122の通常モードスレッドに対して、ROM更新モードスレッドの移行依頼通知の発行を要求する(シーケンスSQ3。)。   The RRU application 117 that is notified that the ROM update data packet has been received from the normal mode thread of the NCS 128 requests the normal mode thread of the SCS 122 to issue a ROM update mode thread transition request notification (sequence SQ3). ).

RRUアプリ117よりROM更新モードスレッドの移行依頼通知の発行を要求されたSCS122の通常モードスレッドは、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、ECS124、MCS125、OCS126、FCS127、NCS128の各通常モードスレッドに対して、ROM更新モードスレッドの移行依頼を通知する(シーケンスSQ4。)。   The normal mode threads of the SCS 122 requested to issue the ROM update mode thread transition request notification from the RRU application 117 are the printer application 111, the copy application 112, the fax application 113, the scanner application 114, the net file application 115, the ECS 124, the MCS 125, A ROM update mode thread transfer request is notified to each of the OCS 126, FCS 127, and NCS 128 normal mode threads (sequence SQ4).

図6は、リモートROM更新の全体処理を説明するための図(その2)である。   FIG. 6 is a diagram (part 2) for explaining the entire process of remote ROM update.

図5のシーケンスSQ4によって、SCS122の通常モードスレッドより、ROM更新モードスレッドの移行依頼を通知されたプリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、ECS124、MCS125、OCS126、FCS127、NCS128は、図6に示されるようにそれぞれ通常モードスレッドからROM更新モードスレッドに移行する。   According to the sequence SQ4 of FIG. 5, the printer application 111, the copy application 112, the fax application 113, the scanner application 114, the net file application 115, the ECS 124, the MCS 125, which are notified of the transfer request of the ROM update mode thread from the normal mode thread of the SCS 122. The OCS 126, FCS 127, and NCS 128 each shift from the normal mode thread to the ROM update mode thread as shown in FIG.

また、RRUアプリ117は、更新データパケットを展開するのに必要な領域を得るために、MCS125のROM更新モードスレッドに対して、更新データ領域の確保を要求する(シーケンスSQ5。)。   Further, the RRU application 117 requests the ROM update mode thread of the MCS 125 to secure an update data area in order to obtain an area necessary for developing the update data packet (sequence SQ5).

RRUアプリ117より更新データ領域の確保を要求されたMCS125のROM更新モードスレッドは、例えば、SDRAM203上に更新データ領域を確保して、該更新データ領域の先頭アドレスと、該更新データ領域の領域サイズと、をRRUアプリ117に返す(シーケンスSQ6。)。   The ROM update mode thread of the MCS 125 requested to secure the update data area by the RRU application 117 secures the update data area on the SDRAM 203, for example, and the start address of the update data area and the area size of the update data area Are returned to the RRU application 117 (sequence SQ6).

MCS125のROM更新モードスレッドより、更新データ領域の先頭アドレスと、該更新データ領域の領域サイズと、を受け取ったRRUアプリ117は、ネットワーク情報を除去し、また圧縮形式のデータを伸張した更新データパケットを、MCS125のROM更新モードスレッドから通知された更新データ領域の先頭アドレスから展開する。   The RRU application 117, which has received the start address of the update data area and the area size of the update data area from the ROM update mode thread of the MCS 125, removes the network information and decompresses the compressed data packet. Are expanded from the start address of the update data area notified from the ROM update mode thread of the MCS 125.

以下、更新データ領域に展開された更新データパケットの一例を、図7を用いて説明する。図7は、複合機で受信した更新データパケットの展開後のデータ構造図である。   Hereinafter, an example of the update data packet expanded in the update data area will be described with reference to FIG. FIG. 7 is a data structure diagram after development of the update data packet received by the multifunction machine.

図7に示されるように、展開された更新データパケットは、ヘッダ部302と、データ部303と、を含む。   As shown in FIG. 7, the expanded update data packet includes a header portion 302 and a data portion 303.

ヘッダ部302は、更新するモジュールに対応するように、モジュールごとのヘッダブロックに分かれている。各ヘッダブロックには、次のヘッダブロックまでのオフセットである次ヘッダオフセットと、モジュールの更新データまでのオフセットである更新データオフセットと、更新データのサイズと、モジュールの識別情報であるモジュールIDと、該モジュールのフラッシュROM204上での相対番地を示す更新先アドレスと、該モジュールのサイズである更新先領域長と、を含む。   The header section 302 is divided into header blocks for each module so as to correspond to the module to be updated. Each header block includes a next header offset that is an offset to the next header block, an update data offset that is an offset to module update data, a size of the update data, a module ID that is module identification information, The update destination address indicating the relative address on the flash ROM 204 of the module and the update destination area length which is the size of the module are included.

データ部303は、更新データがモジュールごとに格納されている。なお、各モジュールの更新データの先頭は、モジュールに対応するヘッダブロックの更新データオフセットにより参照できるようになっている。   The data unit 303 stores update data for each module. The head of the update data of each module can be referred to by the update data offset of the header block corresponding to the module.

図6に戻り、RRUアプリ117は、更新データパケットを展開した更新データ領域の先頭アドレスをSCS122の通常モードスレッドに通知し、更新データの選定を依頼する(シーケンスSQ8。)。   Returning to FIG. 6, the RRU application 117 notifies the normal mode thread of the SCS 122 of the start address of the update data area in which the update data packet is expanded, and requests selection of update data (sequence SQ8).

RRUアプリ117より更新データの選定依頼を受け取ったSCS122の通常モードスレッドは、SCS122のROM更新モードスレッドを起動し、後述する図12に示すような処理を行い、更新データを選定する(シーケンスSQ9。)。   The normal mode thread of the SCS 122 that has received the update data selection request from the RRU application 117 activates the ROM update mode thread of the SCS 122, performs processing as shown in FIG. 12 to be described later, and selects update data (sequence SQ9). ).

また、SCS122のROM更新モードスレッドは、後述する図9に示すROM更新部430を起動し、後述する図13に示すようなROMの更新処理を行う(シーケンスSQ10。)。   Further, the ROM update mode thread of the SCS 122 activates a ROM update unit 430 shown in FIG. 9 described later, and performs a ROM update process as shown in FIG. 13 described later (sequence SQ10).

以下、複合機起動部140の構成の一例を、図8を用いて説明する。図8は、複合機起動部の構成の一例を示すブロック図である。   Hereinafter, an example of the configuration of the multifunction machine starting unit 140 will be described with reference to FIG. FIG. 8 is a block diagram illustrating an example of a configuration of the multifunction machine starting unit.

図8に示されるように、複合機起動部140は、ROMモニタ410と、プログラム起動部420と、を含む。   As illustrated in FIG. 8, the multifunction machine starting unit 140 includes a ROM monitor 410 and a program starting unit 420.

ROMモニタ410は、後述する更新中断情報に更新情報が格納されていない場合及び/又は更新中断情報にメンテナンスフラグが格納されていない場合、図3に示される汎用OS121を起動し、更新中断情報に更新情報が格納されている場合及び/又は更新中断情報にメンテナンスフラグが格納されている場合、後述する図10に示されるように、汎用レスキューOS131を起動する。   The ROM monitor 410 activates the general-purpose OS 121 shown in FIG. 3 when update information is not stored in update suspension information, which will be described later, and / or when a maintenance flag is not stored in update suspension information. When update information is stored and / or when a maintenance flag is stored in the update interruption information, the general-purpose rescue OS 131 is activated as shown in FIG.

プログラム起動部420は、汎用OS121又は汎用レスキューOS131より呼び出され、サービス層起動部422と、アプリ起動部423と、起動情報設定部424と、を含む。   The program activation unit 420 is called from the general-purpose OS 121 or the general-purpose rescue OS 131, and includes a service layer activation unit 422, an application activation unit 423, and an activation information setting unit 424.

サービス起動部422は、プログラム起動部420が汎用OS121より呼び出された場合は、汎用OS121の起動情報を取得して、プラットフォーム120を起動する。一方、サービス起動部422は、プログラム起動部420が汎用レスキューOS131より呼び出された場合は、汎用レスキューOS131の起動情報を取得して、後述する図10に示すように、例えばSRM123や、MCS125、SCS122等を含むプラットフォーム120を起動する。   When the program activation unit 420 is called from the general-purpose OS 121, the service activation unit 422 acquires the activation information of the general-purpose OS 121 and activates the platform 120. On the other hand, when the program activation unit 420 is called from the general-purpose rescue OS 131, the service activation unit 422 acquires the activation information of the general-purpose rescue OS 131 and, as illustrated in FIG. 10 described later, for example, the SRM 123, the MCS 125, and the SCS 122. And so on.

アプリ起動部423は、プログラム起動部420が汎用OS121より呼び出された場合に実行され、各アプリの起動情報を取得して各アプリを起動する。なお、後述する実施例4に示されるように、アプリ起動部423は、プログラム起動部420が汎用レスキューOS131より呼び出された場合であっても実行され、RRUアプリ117の起動情報を取得してRRUアプリ117を起動するようにしてもよい。   The application activation unit 423 is executed when the program activation unit 420 is called from the general-purpose OS 121, acquires activation information of each application, and activates each application. Note that, as shown in Example 4 described later, the application activation unit 423 is executed even when the program activation unit 420 is called from the general-purpose rescue OS 131, and acquires activation information of the RRU application 117 to obtain the RRU. The application 117 may be activated.

起動情報設定部424は、プラットフォーム120に含まれる各コントロールサービスやSRM123、アプリケーション130に含まれる各アプリのROM更新モードスレッドが実行されたときに起動され、各コントロールサービスや、SRM123及び各アプリの起動情報を取得して、取得した起動情報を環境変数に設定する。なお、起動情報設定部424は、後述する各コントロールサービスやSRM123、アプリケーション130に含まれる各アプリのレスキューモードスレッドが実行されたときにも起動され、各コントロールサービスや、SRM123及び各アプリの起動情報を取得して、取得した起動情報を環境変数に設定するようにしてもよい。   The activation information setting unit 424 is activated when the ROM update mode thread of each control service, SRM 123, and application 130 included in the platform 120 is executed. The activation information setting unit 424 activates each control service, SRM 123, and each application. Acquire information and set the acquired startup information in the environment variable. The activation information setting unit 424 is activated also when a rescue mode thread of each application included in each control service, SRM 123, and application 130 described later is executed, and activation information of each control service, SRM 123, and each application. May be acquired, and the acquired activation information may be set as an environment variable.

以下、SCS122に含まれるROM更新部430の一例を、後述する図9を用いて説明する。図9は、ROM更新部の構成の一例を示すブロック図である。   Hereinafter, an example of the ROM update unit 430 included in the SCS 122 will be described with reference to FIG. FIG. 9 is a block diagram illustrating an example of the configuration of the ROM update unit.

図9に示されるように、ROM更新部430は、更新情報格納部431と、領域データ蓄積部432と、ROM更新部433と、更新情報削除部434と、を含む。また、後述する実施例2、3、4の場合は、更に表示制御部435を含む。また、後述する実施例4の場合は、更に送信制御部436を含む。   As illustrated in FIG. 9, the ROM update unit 430 includes an update information storage unit 431, an area data storage unit 432, a ROM update unit 433, and an update information deletion unit 434. In the case of Examples 2, 3, and 4 to be described later, a display control unit 435 is further included. In the case of a fourth embodiment described later, a transmission control unit 436 is further included.

更新情報格納部431は、図7に示したようなモジュールIDや、更新先アドレス等の更新情報を更新中断情報に格納する。   The update information storage unit 431 stores the update information such as the module ID and the update destination address as shown in FIG. 7 in the update interruption information.

領域データ蓄積部432は、更新される領域のデータをHDD1303等の二次記憶装置に蓄積する。   The area data storage unit 432 stores the updated area data in a secondary storage device such as the HDD 1303.

ROM更新部433は、更新データに基づいて、該更新データに含まれるプログラムで、フラッシュROM204の対応するプログラムを更新する。   Based on the update data, the ROM update unit 433 updates the corresponding program in the flash ROM 204 with the program included in the update data.

更新情報削除部434は、更新情報格納部431が格納した更新情報を、更新中断情報から削除する。   The update information deletion unit 434 deletes the update information stored in the update information storage unit 431 from the update interruption information.

表示制御部435は、例えばOCS126が起動しているかどうかを判定し、OCS126が起動していると判定すると、フラッシュROM204の復旧中画面を作成し、OCS126を介してオペレーションパネル1310に表示したり、エラー画面を作成し、OCS126を介してオペレーションパネル1310に表示したりする。   For example, the display control unit 435 determines whether the OCS 126 is activated. If the OCS 126 is activated, for example, the display control unit 435 creates a recovery-in-progress screen of the flash ROM 204 and displays it on the operation panel 1310 via the OCS 126. An error screen is created and displayed on the operation panel 1310 via the OCS 126.

送信制御部436は、例えばNCS128が起動しているかどうかを判定し、NCS128が起動していると判定すると、フラッシュROM204の復旧に係る情報を、NCS128を介してネットワーク経由で、複合機開発元のホストコンピュータやアプリケーション開発元のサードベンダのホストコンピュータ等のリモートホストに送信する。   For example, the transmission control unit 436 determines whether or not the NCS 128 is activated. When the transmission control unit 436 determines that the NCS 128 is activated, the transmission control unit 436 transmits information related to the recovery of the flash ROM 204 via the NCS 128 via the network. It is sent to a remote host such as a host computer or a host computer of a third vendor of the application developer.

以下、ROMモニタ410によって、汎用レスキューOS131が起動された場合の複合機100の構成の一例を、図10を用いて説明する。図10は、複合機の構成を示すブロック図(その2)である。   Hereinafter, an example of the configuration of the multifunction peripheral 100 when the general-purpose rescue OS 131 is activated by the ROM monitor 410 will be described with reference to FIG. FIG. 10 is a block diagram (part 2) of the configuration of the multifunction machine.

図10に示されるように、汎用レスキューOS131が起動された場合は、SRM123と、MCS125と、SCS122と、のレスキューモードスレッドが実行される。   As shown in FIG. 10, when the general-purpose rescue OS 131 is activated, rescue mode threads of the SRM 123, the MCS 125, and the SCS 122 are executed.

SCS122のレスキューモードスレッドは、後述するようにレスキュー方法の判定を行い、該判定結果に基づいて、MCS125のレスキューモードスレッドを介してHDD1303等の二次記憶装置よりプログラムの更新に係る情報やデータを取得し、ROM更新部430を起動する。   The rescue mode thread of the SCS 122 performs a rescue method determination as will be described later, and based on the determination result, information and data related to program updates are received from the secondary storage device such as the HDD 1303 via the rescue mode thread of the MCS 125. The ROM update unit 430 is activated.

MCS125のレスキューモードスレッドは、SCS122のレスキューモードスレッドからの要求に基づいて、HDD1303等の二次記憶装置よりプログラムの更新に係る情報やデータを取得し、SCS122のレスキューモードスレッドに提供したり、ROM更新部430からの要求に基づいて、更新される領域のデータをHDD1303等の二次記憶装置に蓄積したりする。   Based on a request from the rescue mode thread of the SCS 122, the rescue mode thread of the MCS 125 acquires information and data related to the program update from the secondary storage device such as the HDD 1303 and provides the information or data to the rescue mode thread of the SCS 122, or the ROM Based on a request from the update unit 430, the data of the area to be updated is accumulated in a secondary storage device such as the HDD 1303.

以下、ブート時のOS切り替え処理を、図11を用いて説明する。図11は、ブート時のOS切り替え処理を説明するためのフローチャートである。   Hereinafter, the OS switching process at the time of boot will be described with reference to FIG. FIG. 11 is a flowchart for explaining the OS switching process at the time of booting.

複合機100は、電源が投入されると、ステップS10において、ROMモニタ410を起動する。   When the power is turned on, the multifunction device 100 activates the ROM monitor 410 in step S10.

ステップS10に続いてステップS11に進み、ROMモニタ410は、更新中断情報に更新情報が格納されているかどうかを判定する。ROMモニタ410は、更新中断情報に更新情報が格納されていると判定すると(ステップS11においてYES)、ステップS16に進み、更新中断情報に更新情報が格納されていないと判定すると(ステップS11においてNO)、ステップS12に進む。   Progressing to step S11 following step S10, the ROM monitor 410 determines whether update information is stored in the update interruption information. If ROM monitor 410 determines that update information is stored in update interruption information (YES in step S11), it proceeds to step S16 and determines that update information is not stored in update interruption information (NO in step S11). ), Go to step S12.

ステップS12では、ROMモニタ410が、汎用OS121を起動する。   In step S12, the ROM monitor 410 activates the general-purpose OS 121.

ステップS12に続いてステップS13に進み、ステップS12において起動された汎用OS121は、プログラム起動部420を起動する。   Progressing to step S13 following step S12, the general-purpose OS 121 activated in step S12 activates the program activation unit 420.

ステップS13に続いてステップS14に進み、プログラム起動部420に含まれるサービス起動部422は、プラットフォーム120を起動する。   Progressing to step S14 following step S13, the service activation unit 422 included in the program activation unit 420 activates the platform 120.

ステップS14に続いてステップS15に進み、プログラム起動部420に含まれるアプリ起動部423は、アプリケーション130を起動する。   Progressing to step S15 following step S14, the application activation unit 423 included in the program activation unit 420 activates the application 130.

一方、ステップS16では、ROMモニタ410が、起動時情報にレスキューブートフラグを格納する。   On the other hand, in step S16, the ROM monitor 410 stores a rescue boot flag in the startup information.

ステップS16に続いてステップS17に進み、ROMモニタ410は、汎用レスキューOS131を起動する。   Progressing to step S17 following step S16, the ROM monitor 410 activates the general-purpose rescue OS 131.

ステップS17に続いてステップS18に進み、ステップS17において起動された汎用レスキューOS131は、プログラム起動部420を起動する。   Progressing to step S18 following step S17, the general-purpose rescue OS 131 activated in step S17 activates the program activation unit 420.

ステップS18に続いてステップS19に進み、プログラム起動部420に含まれるサービス起動部422は、起動時情報を参照し、レスキューブートフラグが格納されていると、レスキューモードオプションを付加して、プラットフォーム120を起動する。   Progressing to step S19 following step S18, the service activation unit 422 included in the program activation unit 420 refers to the activation time information, and if the rescue boot flag is stored, the rescue mode option is added and the platform 120 Start up.

ステップS19に続いてステップS20に進み、SCS122は、レスキューモードスレッドを起動する。   Proceeding to step S20 following step S19, the SCS 122 activates a rescue mode thread.

以下、図6のシーケンスSQ9において説明したSCS122のROM更新モードスレッドによる更新データの選定処理の一例を、図12を用いて説明する。図12は、SCSのROM更新モードスレッドで実行される更新データ選定処理を説明するためのフローチャート(その1)である。   Hereinafter, an example of update data selection processing by the ROM update mode thread of the SCS 122 described in the sequence SQ9 of FIG. 6 will be described with reference to FIG. FIG. 12 is a flowchart (part 1) for explaining update data selection processing executed by the SCS ROM update mode thread.

ステップS30において、SCS122のROM更新モードスレッドは、RRUアプリ117より通知された更新データパケットを展開した更新データ領域の先頭アドレスに基づいて、更新データの先頭のヘッダブロックをシークする。   In step S30, the ROM update mode thread of the SCS 122 seeks the header block at the head of the update data based on the head address of the update data area in which the update data packet notified from the RRU application 117 is expanded.

ステップS30に続いてステップS31に進み、SCS122のROM更新モードスレッドは、ヘッダブロックからモジュールIDを取得する。   Progressing to step S31 following step S30, the ROM update mode thread of the SCS 122 acquires the module ID from the header block.

ステップS31に続いてステップS32に進み、SCS122のROM更新モードスレッドは、ステップS31において取得したモジュールIDと、環境変数に設定されているプラットフォーム120又はアプリケーション130の起動情報に含まれるモジュールIDとを比較して、一致するかどうか判定する。   Progressing to step S32 following step S31, the ROM update mode thread of the SCS 122 compares the module ID acquired in step S31 with the module ID included in the startup information of the platform 120 or the application 130 set in the environment variable. Then, it is determined whether or not they match.

SCS122のROM更新モードスレッドは、ステップS31において取得したモジュールIDが、環境変数に設定されているプラットフォーム120又はアプリケーション130の起動情報に含まれるモジュールIDと一致すると判定すると(ステップS32においてYES)、ステップS33に進み、ステップS31において取得したモジュールIDが、環境変数に設定されているプラットフォーム120又はアプリケーション130の起動情報に含まれるモジュールIDと一致しないと判定すると(ステップS32においてNO)、ステップS35に進む。   If the ROM update mode thread of the SCS 122 determines that the module ID acquired in step S31 matches the module ID included in the startup information of the platform 120 or the application 130 set in the environment variable (YES in step S32), step In S33, if it is determined that the module ID acquired in Step S31 does not match the module ID included in the activation information of the platform 120 or the application 130 set in the environment variable (NO in Step S32), the process proceeds to Step S35. .

ステップS33では、SCS122のROM更新モードスレッドが、ヘッダブロックから、更新先アドレス、更新データオフセット、更新データサイズ等を取得する。   In step S33, the ROM update mode thread of the SCS 122 acquires an update destination address, an update data offset, an update data size, and the like from the header block.

ステップS33に続いてステップS34に進み、SCS122のROM更新モードスレッドは、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等を一組とした更新情報を更新対象の変数等に設定する。   Progressing to step S34 following step S33, the ROM update mode thread of the SCS 122 sets update information including a module ID, an update destination address, an update data offset, an update data size, and the like as a variable to be updated.

ステップS35では、SCS122のROM更新モードスレッドが、更新データパケットを展開した更新データ領域を参照し、次のヘッダブロックが存在するかどうかを判定する。SCS122のROM更新モードスレッドは、次のヘッダブロックが存在すると判定すると(ステップS35においてYES)、ステップS36に進み、次のヘッダブロックが存在しないと判定すると(ステップS35においてNO)、ステップS37に進む。   In step S35, the ROM update mode thread of the SCS 122 refers to the update data area in which the update data packet is expanded, and determines whether the next header block exists. If the ROM update mode thread of the SCS 122 determines that the next header block exists (YES in step S35), the process proceeds to step S36, and if it determines that the next header block does not exist (NO in step S35), the process proceeds to step S37. .

ステップS36では、SCS122のROM更新モードスレッドが、次のヘッダブロックをシークし、ステップS31からの処理を繰り返す。   In step S36, the ROM update mode thread of the SCS 122 seeks the next header block and repeats the processing from step S31.

一方、ステップS37では、SCS122のROM更新モードスレッドが、更新対象の変数等を参照し、更新情報が設定されているかどうかを判定する。SCS122のROM更新モードスレッドは、更新対象の変数等に更新情報が設定されていると判定すると(ステップS37においてYES)、ステップS38に進み、更新対象の変数等に更新情報が設定されていないと判定すると(ステップS37においてNO)、処理を終了する。   On the other hand, in step S37, the ROM update mode thread of the SCS 122 refers to the variables to be updated and determines whether update information is set. If the ROM update mode thread of the SCS 122 determines that the update information is set in the variable to be updated (YES in step S37), the process proceeds to step S38, and the update information is not set in the variable to be updated. If determined (NO in step S37), the process is terminated.

ステップS38では、SCS122のROM更新モードスレッドが、更新データパケットを展開した更新データ領域に格納されている対応する更新データを、HDD1303等の二次記憶装置に蓄積する。   In step S38, the ROM update mode thread of the SCS 122 accumulates the corresponding update data stored in the update data area where the update data packet is expanded in the secondary storage device such as the HDD 1303.

このように、更新データをHDD1303等の二次記憶装置に蓄積しておくことによって、例えプログラムの更新中に電源がOFFされても、HDD1303等の二次記憶装置に蓄積されている該更新データを用いて、プログラムの更新を再実行し、復旧することができる。   In this way, by storing the update data in the secondary storage device such as the HDD 1303, the update data stored in the secondary storage device such as the HDD 1303 even if the power is turned off during the program update. Can be used to re-execute and restore program updates.

ステップS38に続いて、ステップS39に進み、SCS122のROM更新モードスレッドは、SCS122のROM更新部430を起動する。   Progressing to step S39 following step S38, the ROM update mode thread of the SCS 122 activates the ROM update unit 430 of the SCS 122.

以下、SCS122のROM更新部430によるROM更新処理の一例を、図13を用いて説明する。図13は、SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その1)である。   Hereinafter, an example of ROM update processing by the ROM update unit 430 of the SCS 122 will be described with reference to FIG. FIG. 13 is a flowchart (part 1) for explaining the ROM update processing by the ROM update unit of the SCS.

ステップS50において、SCS122のROM更新部430は、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等の更新情報を更新中断情報に格納する。   In step S50, the ROM update unit 430 of the SCS 122 stores update information such as a module ID, an update destination address, an update data offset, and an update data size in the update interruption information.

ステップS50に続いてステップS51に進み、SCS122のROM更新部430は、更新データによって更新されるフラッシュROM204の対応する領域のデータを、HDD1303等の二次記憶装置に蓄積する。   Progressing to step S51 following step S50, the ROM update unit 430 of the SCS 122 accumulates data in a corresponding area of the flash ROM 204 updated by the update data in a secondary storage device such as the HDD 1303.

このように、更新される領域のデータをHDD1303等の二次記憶装置に蓄積しておくことによって、例えプログラムの更新中に電源がOFFされても、HDD1303等の二次記憶装置に蓄積されている該更新される領域のデータを用いて、プログラムの更新を行う前の状態に復旧することができる。   Thus, by storing the data of the area to be updated in the secondary storage device such as the HDD 1303, even if the power is turned off during the program update, the data is stored in the secondary storage device such as the HDD 1303. Using the data in the updated area, it is possible to restore the state before the program is updated.

ステップS51に続いてステップS52に進み、SCS122のROM更新部430は、更新データパケットを展開した更新データ領域から対応する更新データを読み出して、該更新データで、フラッシュROM204の更新先アドレスから書換えを行う。   Progressing to step S52 following step S51, the ROM update unit 430 of the SCS 122 reads the corresponding update data from the update data area in which the update data packet is expanded, and rewrites the update data from the update destination address of the flash ROM 204 with the update data. Do.

ステップS52に続いてステップS53に進み、SCS122のROM更新部430は、ステップS52において読み出した更新データと、ステップS52において書換えを行った後のフラッシュROM204の更新したモジュールのデータと、を比較して、正しく書換えが行われたかどうか判定する。SCS122のROM更新部430は、正しく書換えが行われたと判定すると(ステップS53においてYES)、ステップS55に進み、正しく書換えが行われなかったと判定すると(ステップS53においてNO)、ステップS54に進む。   Progressing to step S53 following step S52, the ROM update unit 430 of the SCS 122 compares the update data read in step S52 with the updated module data in the flash ROM 204 after rewriting in step S52. Then, it is determined whether or not rewriting has been performed correctly. If the ROM update unit 430 of the SCS 122 determines that the rewriting has been correctly performed (YES in step S53), the process proceeds to step S55. If the ROM updating unit 430 determines that the rewriting has not been performed correctly (NO in step S53), the process proceeds to step S54.

ステップS54では、SCS122のROM更新部430が、エラー処理を行う。例えば、SCS122のROM更新部430は、図12において説明したように、SCS122のROM更新モードスレッドから呼ばれた場合は、OCS126のROM更新モードスレッドを介して、エラー画面をオペレーションパネル1310に表示する。また、SCS122のROM更新部430は、後述するように、SCSのレスキューモードスレッドから呼ばれた場合は、エラー情報をHDD1303等に格納されているログファイルに格納する。   In step S54, the ROM update unit 430 of the SCS 122 performs error processing. For example, the ROM update unit 430 of the SCS 122 displays an error screen on the operation panel 1310 via the ROM update mode thread of the OCS 126 when called from the ROM update mode thread of the SCS 122 as described in FIG. . Further, as will be described later, the ROM update unit 430 of the SCS 122 stores error information in a log file stored in the HDD 1303 or the like when called from the SCS rescue mode thread.

一方、ステップS55では、SCS122のROM更新部430が、更新対象の変数等を参照し、次の更新情報が設定されているかどうかを判定する。SCS122のROM更新部430は、更新対象の変数等に次の更新情報が設定されていると判定すると(ステップS55においてYES)、ステップS50からの処理を繰り返し、更新対象の変数等に次の更新情報が設定されていないと判定すると(ステップS55においてNO)、ステップS56に進む。   On the other hand, in step S55, the ROM update unit 430 of the SCS 122 refers to the variable to be updated and determines whether the next update information is set. If the ROM update unit 430 of the SCS 122 determines that the next update information is set in the update target variable or the like (YES in step S55), the process from step S50 is repeated, and the update target variable or the like is updated next. If it is determined that the information is not set (NO in step S55), the process proceeds to step S56.

ステップS56では、SCS122のROM更新部430が、更新中断情報に格納されている更新情報を削除する。   In step S56, the ROM update unit 430 of the SCS 122 deletes the update information stored in the update interruption information.

以下、図11のステップS20において起動されたSCS122のレスキューモードスレッドによる更新データの選定処理の一例を、図14を用いて説明する。図14は、SCSのレスキューモードスレッドで実行される更新データ選定処理を説明するためのフローチャート(その1)である。   Hereinafter, an example of update data selection processing by the rescue mode thread of the SCS 122 activated in step S20 of FIG. 11 will be described with reference to FIG. FIG. 14 is a flowchart (No. 1) for explaining update data selection processing executed in the SCS rescue mode thread.

ステップS60において、SCS122のレスキューモードスレッドは、例えばHDD1303等に格納されている複合機100の定義ファイル等を参照して、予め設定されているレスキュー方法を選択する。SCS122のレスキューモードスレッドは、レスキュー方法として、「中断された更新を再実行する」を選択すると、ステップS63に進み、「更新を行う1つ前の状態に戻す」を選択すると、ステップS61に進む。   In step S60, the rescue mode thread of the SCS 122 selects a rescue method set in advance with reference to, for example, a definition file of the multifunction peripheral 100 stored in the HDD 1303 or the like. The rescue mode thread of the SCS 122 proceeds to step S63 when “Re-execute interrupted update” is selected as the rescue method, and proceeds to step S61 when “return to the previous state for update” is selected. .

ステップS61では、SCS122のレスキューモードスレッドが、図13のステップS51等において蓄積された、更新されるフラッシュROM204の領域のデータをHDD1303等の二次記憶装置より取得する。   In step S61, the rescue mode thread of the SCS 122 obtains the data of the updated area of the flash ROM 204 accumulated in step S51 of FIG. 13 from the secondary storage device such as the HDD 1303.

ステップS61に続いてステップS62に進み、SCS122のレスキューモードスレッドは、図13のステップS50等において格納された更新情報を更新中断情報から取得する。   Progressing to step S62 following step S61, the rescue mode thread of the SCS 122 acquires the update information stored in step S50 of FIG.

一方、ステップS63では、SCS122のレスキューモードスレッドが、図12のステップS38等において蓄積された更新データを、HDD1303等の二次記憶装置より取得する。   On the other hand, in step S63, the rescue mode thread of the SCS 122 acquires the update data accumulated in step S38 of FIG. 12 from the secondary storage device such as the HDD 1303.

ステップS63に続いてステップS64に進み、SCS122のレスキューモードスレッドは、ステップS63において取得した更新データの先頭のヘッダブロックをシークする。   Progressing to step S64 following step S63, the rescue mode thread of the SCS 122 seeks the header block at the head of the update data acquired in step S63.

ステップS64に続いてステップS65に進み、SCS122のレスキューモードスレッドは、ヘッダブロックからモジュールIDを取得する。   Progressing to step S65 following step S64, the rescue mode thread of the SCS 122 acquires the module ID from the header block.

ステップS65に続いてステップS66に進み、SCS122のレスキューモードスレッドは、ステップS65において取得したモジュールIDと、図13のステップS50等において格納された更新情報に含まれるモジュールIDと、が一致するかどうかを判定する。   Progressing to step S66 following step S65, the rescue mode thread of the SCS 122 determines whether the module ID acquired in step S65 matches the module ID included in the update information stored in step S50 of FIG. Determine.

SCS122のレスキューモードスレッドは、ステップS65において取得したモジュールIDと、図13のステップS50等において格納された更新情報に含まれるモジュールIDと、が一致すると判定すると(ステップS66においてYES)、ステップS67に進み、ステップS65において取得したモジュールIDと、図13のステップS50等において格納された更新情報に含まれるモジュールIDと、が一致しないと判定すると(ステップS66においてNO)、ステップS69に進む。   If the rescue mode thread of the SCS 122 determines that the module ID acquired in step S65 matches the module ID included in the update information stored in step S50 of FIG. 13 (YES in step S66), the process proceeds to step S67. If it is determined that the module ID acquired in step S65 does not match the module ID included in the update information stored in step S50 of FIG. 13 (NO in step S66), the process proceeds to step S69.

ステップS67では、SCS122のレスキューモードスレッドが、ヘッダブロックから、更新先アドレス、更新データオフセット、更新データサイズ等を取得する。   In step S67, the rescue mode thread of the SCS 122 acquires an update destination address, an update data offset, an update data size, and the like from the header block.

ステップS67に続いてステップS68に進み、SCS122のレスキューモードスレッドは、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等を一組とした更新情報を更新対象の変数等に設定する。   Progressing to step S68 following step S67, the rescue mode thread of the SCS 122 sets update information including a module ID, an update destination address, an update data offset, an update data size, and the like as a variable to be updated.

ステップS69では、SCS122のレスキューモードスレッドが、次のヘッダブロックが存在するかどうかを判定する。SCS122のレスキューモードスレッドは、次のヘッダブロックが存在すると判定すると(ステップS69においてYES)、ステップS70に進み、次のヘッダブロックが存在しないと判定すると(ステップS69においてNO)、ステップS71に進む。   In step S69, the rescue mode thread of the SCS 122 determines whether the next header block exists. If the rescue mode thread of the SCS 122 determines that the next header block exists (YES in step S69), the process proceeds to step S70, and if it determines that the next header block does not exist (NO in step S69), the process proceeds to step S71.

ステップS70では、SCS122のレスキューモードスレッドが、次のヘッダブロックをシークし、ステップS65からの処理を繰り返す。   In step S70, the rescue mode thread of the SCS 122 seeks the next header block and repeats the processing from step S65.

一方、ステップS71では、SCS122のレスキューモードスレッドが、更新対象の変数等を参照し、更新情報が設定されているかどうかを判定する。SCS122のレスキューモードスレッドは、更新対象の変数等に更新情報が設定されていると判定すると(ステップS71においてYES)、ステップS72に進み、更新対象の変数等に更新情報が設定されていないと判定すると(ステップS71においてNO)、処理を終了する。   On the other hand, in step S71, the rescue mode thread of the SCS 122 refers to a variable to be updated and determines whether update information is set. If the rescue mode thread of the SCS 122 determines that the update information is set in the update target variable or the like (YES in step S71), the process proceeds to step S72 and determines that the update information is not set in the update target variable or the like. Then (NO in step S71), the process ends.

ステップS72では、SCS122のレスキューモードスレッドが、SCS122のROM更新部430を起動する。   In step S <b> 72, the rescue mode thread of the SCS 122 activates the ROM update unit 430 of the SCS 122.

SCS122のレスキューモードスレッドによって起動されたSCS122のROM更新部430は、図13に示したような処理を行い、フラッシュROM204の更新を行う。   The ROM update unit 430 of the SCS 122 activated by the rescue mode thread of the SCS 122 performs the process shown in FIG. 13 and updates the flash ROM 204.

以下、複合機100のメモリ構造の一例を、図15を用いて説明する。図15は、メモリ構造の一例を示すための図である。   Hereinafter, an example of the memory structure of the multifunction peripheral 100 will be described with reference to FIG. FIG. 15 is a diagram for illustrating an example of a memory structure.

図15に示されるように、例えば、更新中断情報は、NVRAM空間に含まれ、ROM空間には、ROMモニタ410に対応するプログラムや、図10に示したようなソフトウェア群110のプログラムに対応するレスキューシステムや、図3に示したようなプラットフォーム120のプログラムに対応する通常システムや、各アプリのプログラムに対応するアプリ1、アプリ2等が含まれている。   As shown in FIG. 15, for example, the update interruption information is included in the NVRAM space, and the ROM space corresponds to a program corresponding to the ROM monitor 410 or a program of the software group 110 as shown in FIG. 10. A rescue system, a normal system corresponding to the program of the platform 120 as shown in FIG. 3, an application 1, an application 2, and the like corresponding to each application program are included.

以下、図15に示したように、更新中断情報をNVRAM空間に格納する場合の更新中断情報のレイアウトの一例を、図16を用いて説明する。図16は、更新中断情報をNVRAMに格納する場合の更新中断情報のレイアウトを説明するための図(その1)である。   Hereinafter, as shown in FIG. 15, an example of the layout of the update interruption information when the update interruption information is stored in the NVRAM space will be described with reference to FIG. FIG. 16 is a diagram (No. 1) for explaining the layout of the update interruption information when the update interruption information is stored in the NVRAM.

図16に示されるように、更新中断情報は、例えば16バイトのモジュールIDと、4バイトの更新先アドレスと、を含む。   As illustrated in FIG. 16, the update interruption information includes, for example, a 16-byte module ID and a 4-byte update destination address.

以下、HDD1303のディレクトリ及びファイル構成の一例を、図17を用いて説明する。図17は、HDDのディレクトリ及びファイル構成を説明するための図(その1)である。   Hereinafter, an example of the directory and file structure of the HDD 1303 will be described with reference to FIG. FIG. 17 is a diagram (part 1) for explaining the directory and file structure of the HDD.

図17に示されるように、HDD1303には、更新データを保持するディレクトリとしてbackupディレクトリを有し、該backupディレクトリには、更新データ及び/又は更新される領域のデータとしてbackup.binファイルが格納されている。   As shown in FIG. 17, the HDD 1303 has a backup directory as a directory for holding update data, and the backup directory includes backup.data as update data and / or data of an area to be updated. A bin file is stored.

以下、HDD1303のディレクトリ及びファイル構成の他の例を、図18を用いて説明する。図18は、HDDのディレクトリ及びファイル構成を説明するための図(その2)である。   Hereinafter, another example of the directory and file structure of the HDD 1303 will be described with reference to FIG. FIG. 18 is a diagram (part 2) for explaining the directory and file structure of the HDD.

図15及び図16に示したように、更新中断情報をNVRAM208に格納するのではなく、図18に示されるように更新中断情報を保持するディレクトリとして、romupdateディレクトリをHDD1303に設け、該romupdateディレクトリに、更新中断情報を含むファイルとして更新中断情報ファイルを格納するようにしてもよい。   As shown in FIGS. 15 and 16, instead of storing the update interruption information in the NVRAM 208, a ROM directory is provided in the HDD 1303 as a directory for holding the update interruption information as shown in FIG. The update interruption information file may be stored as a file including the update interruption information.

以下、更新中断情報ファイルの内容の一例を、図19を用いて説明する。図19は、更新中断情報ファイルの内容の一例を説明するための図である。   Hereinafter, an example of the contents of the update interruption information file will be described with reference to FIG. FIG. 19 is a diagram for explaining an example of the contents of the update interruption information file.

図19に示されるように、更新中断情報ファイルには、モジュールIDと、更新先アドレスと、が含まれている。   As illustrated in FIG. 19, the update interruption information file includes a module ID and an update destination address.

上述した実施例1では、例えば、図13のステップS52においてフラッシュROM204の更新中に複合機100の電源がOFFされても、次回、複合機100の電源がONされれば、汎用レスキューOS131が起動され、フラッシュROM204の更新を再開するか又はフラッシュROM204を更新前の状態に戻すことによって、プログラムを復旧させることができたが、複合機100のオペレーションパネル1310に何ら表示されないため、ユーザは、汎用レスキューOS131が起動され、プログラムの復旧(ROMのアップデート)が行われているのかどうか等知ることができない問題があった。   In the first embodiment described above, for example, even if the power of the multifunction device 100 is turned off during the update of the flash ROM 204 in step S52 of FIG. 13, if the power of the multifunction device 100 is turned on next time, the general-purpose rescue OS 131 is activated. The program can be restored by restarting the update of the flash ROM 204 or returning the flash ROM 204 to the state before the update, but nothing is displayed on the operation panel 1310 of the multi-function peripheral 100. There is a problem that it is impossible to know whether or not the rescue OS 131 is activated and the program is restored (ROM update).

したがって、実施例2では、汎用レスキューOS131が起動された場合も、オペレーションパネル1310にフラッシュROM204の更新に係る画面等を表示して、上記問題を解決する。なお、以下では、実施例1とは異なる点について説明を行い、実施例1と同じ点は説明を省略する。   Therefore, in the second embodiment, even when the general-purpose rescue OS 131 is activated, a screen related to the update of the flash ROM 204 is displayed on the operation panel 1310 to solve the above problem. In the following, points different from the first embodiment will be described, and description of the same points as the first embodiment will be omitted.

以下、ROMモニタ410によって、汎用レスキューOS131が起動された場合の複合機100の構成の他の例を、図20を用いて説明する。図20は、複合機の構成を示すブロック図(その3)である。   Hereinafter, another example of the configuration of the multifunction peripheral 100 when the general-purpose rescue OS 131 is activated by the ROM monitor 410 will be described with reference to FIG. FIG. 20 is a block diagram (part 3) illustrating the configuration of the multifunction machine.

図20に示される複合機100の構成は、実施例1の図10に示される複合機100の構成と比べて、OCS126のレスキューモードスレッドが含まれている。   The configuration of the multifunction device 100 illustrated in FIG. 20 includes a rescue mode thread of the OCS 126 as compared to the configuration of the multifunction device 100 illustrated in FIG. 10 according to the first embodiment.

OCS126のレスキューモードスレッドは、オペレータと本体制御間の情報伝達手段となる操作パネル(オペレーションパネル1310)の制御を行い、例えば後述する画面等を、オペレーションパネル1310に表示する。   The rescue mode thread of the OCS 126 controls an operation panel (operation panel 1310) serving as information transmission means between the operator and the main body control, and displays, for example, a screen described later on the operation panel 1310.

以下、実施例2におけるブート時のOS切り替え処理の一例を、図21を用いて説明する。図21は、ブート時のOS切り替え処理を説明するためのフローチャート(その2)である。   Hereinafter, an example of the OS switching process at the time of boot in the second embodiment will be described with reference to FIG. FIG. 21 is a flowchart (part 2) for explaining the OS switching process at the time of booting.

図21のステップS100からステップS109までの処理は、図11のステップS10からステップS19までの処理と同様である。   The process from step S100 to step S109 in FIG. 21 is the same as the process from step S10 to step S19 in FIG.

ステップS109に続いてステップS110に進み、OCS126のレスキューモードスレッドは、起動時画面をオペレーションパネル1310に表示する(図22参照。)。   Progressing to step S110 following step S109, the rescue mode thread of the OCS 126 displays a startup screen on the operation panel 1310 (see FIG. 22).

図22に示されるように、起動時の画面をオペレーションパネル1310に表示することによって、例えば、ユーザにレスキューモードで起動されていることを知らせることができる。   As shown in FIG. 22, by displaying a startup screen on the operation panel 1310, for example, the user can be informed that the startup is in the rescue mode.

ステップS110に続いてステップS111に進み、SCS122は、レスキューモードスレッドを起動する。   Proceeding to step S111 following step S110, the SCS 122 activates a rescue mode thread.

SCS122のレスキューモードスレッドは、図14に示したような処理を行い、SCS122のROM更新部430を起動する。   The rescue mode thread of the SCS 122 performs processing as shown in FIG. 14 and activates the ROM update unit 430 of the SCS 122.

以下、SCS122のROM更新部430によるROM更新処理の他の例を、図23を用いて説明する。図23は、SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その2)である。   Hereinafter, another example of ROM update processing by the ROM update unit 430 of the SCS 122 will be described with reference to FIG. FIG. 23 is a flowchart (part 2) for explaining the ROM update processing by the ROM update unit of the SCS.

ステップS120において、SCS122のROM更新部430は、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等の更新情報を更新中断情報に格納する。   In step S120, the ROM update unit 430 of the SCS 122 stores update information such as a module ID, an update destination address, an update data offset, and an update data size in the update interruption information.

ステップS120に続いてステップS121に進み、SCS122のROM更新部430は、更新データによって更新されるフラッシュROM204の対応する領域のデータを、HDD1303等の二次記憶装置に蓄積する。   Progressing to step S121 following step S120, the ROM update unit 430 of the SCS 122 accumulates data in the corresponding area of the flash ROM 204 updated by the update data in a secondary storage device such as the HDD 1303.

このように、更新される領域のデータをHDD1303等の二次記憶装置に蓄積しておくことによって、例えプログラムの更新中に電源がOFFされても、HDD1303等の二次記憶装置に蓄積されている該更新される領域のデータを用いて、フラッシュROM204を、プログラムの更新を行う前の状態に復旧することができる。   Thus, by storing the data of the area to be updated in the secondary storage device such as the HDD 1303, even if the power is turned off during the program update, the data is stored in the secondary storage device such as the HDD 1303. The flash ROM 204 can be restored to the state before the program is updated using the data in the updated area.

ステップS121に続いてステップS122に進み、SCS122のROM更新部430は、更新データパケットを展開した更新データ領域から対応する更新データを読み出して、該更新データで、フラッシュROM204の更新先アドレスから書換えを行う。   Progressing to step S122 following step S121, the ROM update unit 430 of the SCS 122 reads the corresponding update data from the update data area in which the update data packet is expanded, and rewrites the update data from the update destination address of the flash ROM 204 with the update data. Do.

ステップS122に続いてステップS123に進み、SCS122のROM更新部430は、OCS126のレスキューモードスレッドが起動されているかどうかを判定する。   Progressing to step S123 following step S122, the ROM update unit 430 of the SCS 122 determines whether or not the rescue mode thread of the OCS 126 is activated.

SCS122のROM更新部430は、OCS126のレスキューモードスレッドが起動されていると判定すると(ステップS123においてYES)、ステップS124に進み、OCS126のレスキューモードスレッドが起動されていないと判定すると(ステップS123においてNO)、ステップS125に進む。   If the ROM update unit 430 of the SCS 122 determines that the rescue mode thread of the OCS 126 is activated (YES in step S123), the process proceeds to step S124, and determines that the rescue mode thread of the OCS 126 is not activated (in step S123). NO), the process proceeds to step S125.

SCS122のROM更新部430は、例えば、環境変数等を参照し、OCS126のレスキューモードスレッドが起動されているかどうかを判定する。   The ROM update unit 430 of the SCS 122 determines whether or not the rescue mode thread of the OCS 126 is activated with reference to, for example, environment variables.

ステップS124では、SCS122のROM更新部430が、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310に復旧中画面を表示する(図24参照。)。   In step S124, the ROM update unit 430 of the SCS 122 displays a recovering screen on the operation panel 1310 via the rescue mode thread of the OCS 126 (see FIG. 24).

図24に示されるように、フラッシュROM204の復旧中の画面をオペレーションパネル1310に表示することによって、ユーザに、ROMをアップデートしている旨及びROMをアップデートしているため、電源を切らないで欲しい旨等、通知することができる。   As shown in FIG. 24, by displaying a screen during recovery of the flash ROM 204 on the operation panel 1310, the user should update the ROM and update the ROM, so do not turn off the power. You can be notified.

ステップS125では、SCS122のROM更新部430が、ステップS122において読み出した更新データと、ステップS122において書換えを行った後のフラッシュROM204の更新したモジュールのデータと、を比較して、正しく書換えが行われたかどうか判定する。SCS122のROM更新部430は、正しく書換えが行われたと判定すると(ステップS125においてYES)、ステップS128に進み、正しく書換えが行われなかったと判定すると(ステップS125においてNO)、ステップS126に進む。   In step S125, the ROM update unit 430 of the SCS 122 compares the update data read in step S122 with the updated module data in the flash ROM 204 after the rewrite in step S122, so that the rewrite is performed correctly. Judge whether or not. If the ROM updating unit 430 of the SCS 122 determines that the rewriting has been correctly performed (YES in step S125), the process proceeds to step S128. If the ROM updating unit 430 determines that the rewriting has not been performed correctly (NO in step S125), the process proceeds to step S126.

ステップS126では、SCS122のROM更新部430が、OCS126のレスキューモードスレッドが起動されているかどうかを判定する。   In step S126, the ROM update unit 430 of the SCS 122 determines whether the rescue mode thread of the OCS 126 is activated.

SCS122のROM更新部430は、OCS126のレスキューモードスレッドが起動されていると判定すると(ステップS126においてYES)、ステップS127に進み、OCS126のレスキューモードスレッドが起動されていないと判定すると(ステップS126においてNO)、処理を終了する。   When the ROM update unit 430 of the SCS 122 determines that the rescue mode thread of the OCS 126 is activated (YES in step S126), the ROM update unit 430 proceeds to step S127 and determines that the rescue mode thread of the OCS 126 is not activated (in step S126). NO), the process is terminated.

ステップS127では、SCS122のROM更新部430が、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310にエラー画面を表示する(図25参照。)。   In step S127, the ROM update unit 430 of the SCS 122 displays an error screen on the operation panel 1310 via the rescue mode thread of the OCS 126 (see FIG. 25).

図25に示されるように、エラー時の画面をオペレーションパネル1310に表示することによって、ユーザにROMのアップデート中にエラーが生じたので、サービスセンターに連絡する必要がある旨等、通知することができる。   As shown in FIG. 25, an error screen is displayed on the operation panel 1310 to notify the user that an error has occurred during ROM update and that the service center needs to be contacted. it can.

一方、ステップS128では、SCS122のROM更新部430が、更新対象の変数等を参照し、次の更新情報が設定されているかどうかを判定する。SCS122のROM更新部430は、更新対象の変数等に次の更新情報が設定されていると判定すると(ステップS128においてYES)、ステップS120からの処理を繰り返し、更新対象の変数等に次の更新情報が設定されていないと判定すると(ステップS128においてNO)、ステップS129に進む。   On the other hand, in step S128, the ROM update unit 430 of the SCS 122 refers to the variable to be updated and determines whether the next update information is set. If the ROM update unit 430 of the SCS 122 determines that the next update information is set in the update target variable or the like (YES in step S128), the process from step S120 is repeated, and the update target variable or the like is updated next. If it is determined that the information is not set (NO in step S128), the process proceeds to step S129.

ステップS129では、SCS122のROM更新部430が、更新中断情報に格納されている更新情報を削除する。   In step S129, the ROM update unit 430 of the SCS 122 deletes the update information stored in the update interruption information.

上述した実施例1及び実施例2では、フラッシュROM204の更新が中断された場合の復旧方法等について説明を行ったが、以下、実施例3及び実施例4では、フラッシュROM204の更新後、更新を行ったプログラムと、更新を行わなかったプログラムと、の組み合わせ等が原因で複合機100の機能の一部又は全てが使用不可能又は動作が不安定となった場合の復旧方法等について説明を行う。なお、以下では、実施例1及び実施例2と異なる点について説明を行い、実施例1及び実施例2と同じ点は説明を省略する。   In the above-described first and second embodiments, the recovery method when the update of the flash ROM 204 is interrupted has been described. However, in the third and fourth embodiments, the update is performed after the flash ROM 204 is updated. A description will be given of a recovery method and the like when a part or all of the functions of the multifunction peripheral 100 are unusable or unstable due to a combination of a program that has been performed and a program that has not been updated. . Hereinafter, differences from the first and second embodiments will be described, and the same points as the first and second embodiments will not be described.

以下、ROMモニタ410によって、汎用レスキューOS131が起動された場合の複合機100の構成の他の例を、図26を用いて説明する。図26は、複合機の構成を示すブロック図(その4)である。   Hereinafter, another example of the configuration of the multifunction machine 100 when the general-purpose rescue OS 131 is activated by the ROM monitor 410 will be described with reference to FIG. FIG. 26 is a block diagram (part 4) illustrating the configuration of the multifunction machine.

図26に示される複合機100の構成は、実施例2の図20に示される複合機100の構成と比べてNCS128のレスキューモードスレッドと、RRUアプリ117と、が含まれている。   The configuration of the MFP 100 shown in FIG. 26 includes an NCS 128 rescue mode thread and an RRU application 117 as compared to the configuration of the MFP 100 shown in FIG.

NCS128のレスキューモードスレッドは、ネットワークに接続された、例えば複合機開発元のホストコンピュータやアプリケーション開発元のサードベンダ等から、フラッシュメモリのROM更新データパケットを受信する。   The rescue mode thread of the NCS 128 receives a ROM update data packet of the flash memory connected to the network, for example, from a host computer of a multifunction device developer or a third vendor of an application developer.

また、RRUアプリ17は、上述したように、NCS128によりネットワーク経由で受信した更新データパケットを更新データに展開し、その更新データをMCS125のレスキューモードスレッドによって確保されたSDRAM203等の更新データ領域に格納する処理等を行う。   Further, as described above, the RRU application 17 expands the update data packet received via the network by the NCS 128 into update data, and stores the update data in an update data area such as the SDRAM 203 secured by the rescue mode thread of the MCS 125. The processing to do is performed.

以下、実施例3におけるブート時のOS切り替え処理の一例を、図27を用いて説明する。図27は、ブート時のOS切り替え処理を説明するためのフローチャート(その3)である。   Hereinafter, an example of the OS switching process at the time of boot in the third embodiment will be described with reference to FIG. FIG. 27 is a flowchart (part 3) for explaining the OS switching process at the time of booting.

複合機100は、電源が投入されると、ステップS200において、ROMモニタ410を起動する。   When the power is turned on, the multifunction peripheral 100 activates the ROM monitor 410 in step S200.

ステップS200に続いてステップS201に進み、ROMモニタ410は、更新中断情報にメンテナンスフラグが格納されているかどうかを判定する。ROMモニタ410は、更新中断情報にメンテナンスフラグが格納されていると判定すると(ステップS201においてYES)、ステップS210に進み、更新中断情報にメンテナンスフラグが格納されていないと判定すると(ステップS201においてNO)、ステップS202に進む。   Progressing to step S201 following step S200, the ROM monitor 410 determines whether a maintenance flag is stored in the update interruption information. If ROM monitor 410 determines that the maintenance flag is stored in the update interruption information (YES in step S201), it proceeds to step S210 and determines that the maintenance flag is not stored in the update interruption information (NO in step S201). ), The process proceeds to step S202.

ステップS202では、ROMモニタ410が、汎用OS121を起動する。   In step S202, the ROM monitor 410 activates the general-purpose OS 121.

ステップS202に続いてステップS203に進み、ROMモニタ410は、ステップS202において起動された汎用OS121が正常に起動したかどうかを判定する。ROMモニタ410は、汎用OS121が正常に起動したと判定すると(ステップS203においてYES)、ステップS204に進み、汎用OS121が正常に起動しなかったと判定すると(ステップS203においてNO)、ステップS208に進む。   Progressing to step S203 following step S202, the ROM monitor 410 determines whether or not the general-purpose OS 121 started in step S202 has started normally. If the ROM monitor 410 determines that the general-purpose OS 121 has started normally (YES in step S203), the process proceeds to step S204. If the ROM monitor 410 determines that the general-purpose OS 121 has not started normally (NO in step S203), the process proceeds to step S208.

ステップS204では、汎用OS121がプログラム起動部420を起動する。   In step S <b> 204, the general-purpose OS 121 activates the program activation unit 420.

ステップS204に続いてステップS205に進み、プログラム起動部420に含まれるサービス起動部422は、プラットフォーム120を起動する。   Progressing to step S205 following step S204, the service activation unit 422 included in the program activation unit 420 activates the platform 120.

ステップS205に続いてステップS206に進み、プログラム起動部420に含まれるアプリ起動部423は、アプリケーション130を起動する。   Progressing to step S206 following step S205, the application activation unit 423 included in the program activation unit 420 activates the application 130.

ステップS206に続いてステップS207に進み、プログラム起動部420は、ステップS205及びステップS206において起動したプラットフォーム120及びアプリケーション130の起動すべき全てのプログラムが正常起動したかどうかを判定する。プログラム起動部420は、ステップS205及びステップS206において起動したプラットフォーム120及びアプリケーション130の起動すべき全てのプログラムが正常起動したと判定すると(ステップS207においてYES)、処理を終了し、ステップS205及びステップS206において起動したプラットフォーム120及びアプリケーション130の起動すべき全てのプログラムが正常起動しなかったと判定すると(ステップS207においてNO)、ステップS208に進む。   Progressing to step S207 following step S206, the program activation unit 420 determines whether or not all the programs to be activated by the platform 120 and the application 130 activated in steps S205 and S206 have been activated normally. If the program activation unit 420 determines that all the programs to be activated by the platform 120 and the application 130 activated in steps S205 and S206 have been activated normally (YES in step S207), the program is terminated, and steps S205 and S206 are completed. If it is determined that all the programs to be started by the platform 120 and the application 130 that have been started in step S1 have not started normally (NO in step S207), the process proceeds to step S208.

ステップS208では、ROMモニタ410又はプログラム起動部420が、メンテナンスフラグを更新中断情報に格納する。   In step S208, the ROM monitor 410 or the program activation unit 420 stores the maintenance flag in the update interruption information.

ステップS208に続いてステップS209に進み、ROMモニタ410又はプログラム起動部420は、複合機100をリブートする。   Progressing to step S209 following step S208, the ROM monitor 410 or the program activation unit 420 reboots the multi-function device 100.

一方、ステップS210では、ROMモニタ410が、起動時情報にレスキューブートフラグを格納する。   On the other hand, in step S210, the ROM monitor 410 stores a rescue boot flag in the startup information.

ステップS210に続いてステップS211に進み、ROMモニタ410は、汎用レスキューOS131を起動する。   Progressing to step S211 following step S210, the ROM monitor 410 activates the general-purpose rescue OS 131.

ステップS211に続いてステップS212に進み、ステップS211において起動された汎用レスキューOS131は、プログラム起動部420を起動する。   Progressing to step S212 following step S211, the general-purpose rescue OS 131 activated in step S211 activates the program activation unit 420.

ステップS212に続いてステップS213に進み、プログラム起動部420に含まれるサービス起動部422は、起動時情報を参照し、レスキューブートフラグが格納されていると、レスキューモードオプションを付加して、プラットフォーム120を起動する。   In step S213 following step S212, the service activation unit 422 included in the program activation unit 420 refers to the activation time information. If the rescue boot flag is stored, the service activation unit 422 adds a rescue mode option to the platform 120. Start up.

ステップS213に続いてステップS214に進み、OCS126のレスキューモードスレッドは、後述する図28に示される復旧メニュー画面をオペレーションパネル1310に表示する。なお、以下では、後述する図28(A)の画面において、ユーザに「行う」を選択されたものとして説明を行う。   Progressing to step S214 following step S213, the rescue mode thread of the OCS 126 displays a recovery menu screen shown in FIG. 28 described later on the operation panel 1310. In the following description, it is assumed that “perform” is selected by the user on the screen shown in FIG.

ステップS214に続いてステップS215に進み、OCS126のレスキューモードスレッドは、後述する図28(B)の画面において選択された復旧内容(復旧方法)に従いメンテナンス内容フラグを更新中断情報に格納する。   Progressing to step S215 following step S214, the rescue mode thread of the OCS 126 stores the maintenance content flag in the update interruption information according to the recovery content (recovery method) selected on the screen of FIG.

ステップS215に続いてステップS216に進み、SCS122は、後述する図29に示すようなメンテナンス内容フラグチェック処理を行う。   Progressing to step S216 following step S215, the SCS 122 performs a maintenance content flag check process as shown in FIG. 29 described later.

以下、復旧メニュー画面の一例を、図28を用いて説明する。図28は、復旧メニュー画面を示すための図である。   Hereinafter, an example of the recovery menu screen will be described with reference to FIG. FIG. 28 is a diagram for showing a recovery menu screen.

図28(A)に示されるように、OCS126のレスキューモードスレッドは、初めに、普及作業を行うかどうかの選択画面をオペレーションパネル1310に表示する。OCS126のレスキューモードスレッドは、ユーザが「行う」を選択したと判定すると、図28(B)に示されるような復旧内容の選択画面をオペレーションパネル1310に表示し、ユーザが「行わない」を選択したと判定すると、図28(C)に示されるような復旧作業を中止する旨を表す画面をオペレーションパネル1310に表示する。   As shown in FIG. 28A, the rescue mode thread of the OCS 126 first displays on the operation panel 1310 a selection screen as to whether or not to perform the dissemination work. When the rescue mode thread of the OCS 126 determines that the user has selected “perform”, the recovery content selection screen as shown in FIG. 28B is displayed on the operation panel 1310, and the user selects “not perform”. If it is determined that the restoration work has been performed, a screen indicating that the restoration work is to be stopped as shown in FIG.

以下、SCS122によるメンテナンス内容フラグチェック処理の一例を、図29を用いて説明する。図29は、SCSによるメンテナンス内容フラグチェック処理を説明するためのフローチャートである。   Hereinafter, an example of the maintenance content flag check process by the SCS 122 will be described with reference to FIG. FIG. 29 is a flowchart for explaining maintenance content flag check processing by the SCS.

ステップS220において、SCS122は、図27のステップS215において更新中断情報に格納されたメンテナンス内容フラグをチェックする。SCS122は、メンテナンス内容フラグをチェックして、図28の画面(B)においてユーザが復旧内容として「リモートホストより更新データパケットを送信する。」を選択したと判定すると、ステップS222に進み、図28の画面(B)においてユーザが復旧内容として「機器に蓄積されているソフトウェアに戻す。」を選択したと判定すると、ステップS221に進む。   In step S220, the SCS 122 checks the maintenance content flag stored in the update interruption information in step S215 of FIG. When the SCS 122 checks the maintenance content flag and determines that the user has selected “send update data packet from remote host” as the recovery content on the screen (B) of FIG. 28, the process proceeds to step S222, and FIG. If it is determined on the screen (B) that the user has selected “return to software stored in the device” as the recovery content, the process proceeds to step S221.

ステップS221では、SCS122が、SCS122のレスキューモードスレッドを起動する。   In step S221, the SCS 122 activates the rescue mode thread of the SCS 122.

一方、ステップS222では、SCS122が、RRUアプリ117より更新データの選定依頼を受け取ったかどうかを判定する。SCS122は、RRUアプリ117より更新データの選定依頼を受け取ったと判定すると(ステップS222においてYES)、ステップS223に進み、RRUアプリ117より更新データの選定依頼を受け取っていないと判定すると(ステップS222においてNO)、ステップS222の処理を繰り返す。   On the other hand, in step S222, the SCS 122 determines whether an update data selection request has been received from the RRU application 117. If SCS 122 determines that an update data selection request has been received from RRU application 117 (YES in step S222), it proceeds to step S223, and determines that no update data selection request has been received from RRU application 117 (NO in step S222). ), The process of step S222 is repeated.

ステップS223では、SCS122が、SCS122のROM更新モードスレッドを起動する。   In step S223, the SCS 122 activates the ROM update mode thread of the SCS 122.

なお、図29において説明を省略したが、ステップS220においてSCS122が図28の画面(B)においてユーザが復旧内容として「リモートホストより更新データパケットを送信する。」を選択したと判定した場合、OCS126のレスキューモードスレッドは、オペレーションパネル1310に受信待機中画面を表示するようにしてもよい(図30参照。)。   Although omitted from FIG. 29, if the SCS 122 determines in step S220 that the user has selected “send update data packet from remote host” as the recovery content on the screen (B) of FIG. The rescue mode thread may display a reception standby screen on the operation panel 1310 (see FIG. 30).

以下、図29のステップS221において起動されたSCS122のレスキューモードスレッドで実行される更新データ選定処理の一例を、図31を用いて説明する。図31は、SCSのレスキューモードスレッドで実行される更新データ選定処理を説明するためのフローチャートである。   Hereinafter, an example of update data selection processing executed in the rescue mode thread of the SCS 122 activated in step S221 of FIG. 29 will be described with reference to FIG. FIG. 31 is a flowchart for explaining update data selection processing executed in the SCS rescue mode thread.

ステップS230においてSCS122のレスキューモードスレッドは、HDD1303等より正常動作する出荷時のプログラムを取得する。   In step S230, the rescue mode thread of the SCS 122 acquires a shipping program that operates normally from the HDD 1303 or the like.

ステップS230に続いてステップS231に進み、SCS122のレスキューモードスレッドは、HDD1303等より正常動作する出荷時のプログラムのモジュールIDや、更新先アドレス、更新データサイズ等のモジュール情報を取得する。   Progressing to step S231 following step S230, the rescue mode thread of the SCS 122 obtains module information such as a module ID, an update destination address, and an update data size of a shipping program operating normally from the HDD 1303 or the like.

ステップS231に続いてステップS232に進み、SCS122のレスキューモードスレッドは、SCS122のROM更新部430を起動する。   Progressing to step S232 following step S231, the rescue mode thread of the SCS 122 activates the ROM update unit 430 of the SCS 122.

図31に示したように、出荷時のプログラムを取得し、SCS122のROM更新部430を起動して、フラッシュメモリ204を更新することによって、プログラムを正常に動作していた出荷時の状態に戻すことができる。   As shown in FIG. 31, the program at the time of shipment is acquired, the ROM update unit 430 of the SCS 122 is activated, and the flash memory 204 is updated to return the program to the state at the time of shipment that was operating normally. be able to.

以下、図29のステップS223において起動されたSCS122のROM更新モードスレッドで実行される更新データ選定処理の一例を、図32を用いて説明する。図32は、SCSのROM更新モードスレッドで実行される更新データ選定処理を説明するためのフローチャート(その2)である。   Hereinafter, an example of update data selection processing executed in the ROM update mode thread of the SCS 122 activated in step S223 of FIG. 29 will be described with reference to FIG. FIG. 32 is a flowchart (part 2) for explaining the update data selection process executed by the SCS ROM update mode thread.

ステップS240において、SCS122のROM更新モードスレッドは、RRUアプリ117より通知された更新データパケットを展開した更新データ領域の先頭アドレスに基づいて、更新データの先頭のヘッダブロックをシークする。   In step S240, the ROM update mode thread of the SCS 122 seeks the header block at the beginning of the update data based on the start address of the update data area in which the update data packet notified from the RRU application 117 is expanded.

ステップS240に続いてステップS241に進み、SCS122のROM更新モードスレッドは、ヘッダブロックからモジュールIDを取得する。   Progressing to step S241 following step S240, the ROM update mode thread of the SCS 122 acquires the module ID from the header block.

ステップS241に続いてステップS242に進み、SCS122のROM更新モードスレッドは、ヘッダブロックから、更新先アドレス、更新データオフセット、更新データサイズ等を取得する。   Progressing to step S242 following step S241, the ROM update mode thread of the SCS 122 acquires an update destination address, an update data offset, an update data size, and the like from the header block.

ステップS242に続いてステップS243に進み、SCS122のROM更新モードスレッドは、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等を一組とした更新情報を更新対象の変数等に設定する。   Progressing to step S243 following step S242, the ROM update mode thread of the SCS 122 sets update information including a module ID, an update destination address, an update data offset, an update data size, and the like as a variable to be updated.

ステップS243に続いてステップS244に進み、SCS122のROM更新モードスレッドは、次のヘッダブロックが存在するかどうかを判定する。SCS122のROM更新モードスレッドは、次のヘッダブロックが存在すると判定すると(ステップS244においてYES)、ステップS245に進み、次のヘッダブロックが存在しないと判定すると(ステップS244においてNO)、ステップS246に進む。   Progressing to step S244 following step S243, the ROM update mode thread of the SCS 122 determines whether or not the next header block exists. If the ROM update mode thread of the SCS 122 determines that the next header block exists (YES in step S244), the process proceeds to step S245, and if it determines that the next header block does not exist (NO in step S244), the process proceeds to step S246. .

ステップS245では、SCS122のROM更新モードスレッドが、次のヘッダブロックをシークし、ステップS241からの処理を繰り返す。   In step S245, the ROM update mode thread of the SCS 122 seeks the next header block and repeats the processing from step S241.

ステップS246では、SCS122のROM更新モードスレッドが、更新対象の変数等を参照し、更新情報が設定されているかどうかを判定する。SCS122のROM更新モードスレッドは、更新対象の変数等に更新情報が設定されていると判定すると(ステップS246においてYES)、ステップS247に進み、更新対象の変数等に更新情報が設定されていないと判定すると(ステップS246においてNO)、処理を終了する。   In step S246, the ROM update mode thread of the SCS 122 refers to a variable to be updated and determines whether update information is set. If the ROM update mode thread of the SCS 122 determines that update information is set in the update target variable or the like (YES in step S246), the process proceeds to step S247, and update information is not set in the update target variable or the like. If determined (NO in step S246), the process is terminated.

ステップS247では、SCS122のROM更新モードスレッドが、更新データパケットを展開した更新データ領域に格納されている対応する更新データを、HDD1303等の二次記憶装置に蓄積する。   In step S247, the ROM update mode thread of the SCS 122 accumulates the corresponding update data stored in the update data area in which the update data packet is expanded in the secondary storage device such as the HDD 1303.

ステップS247に続いてステップS248に進み、SCS122のROM更新モードスレッドは、SCS122のROM更新部430を起動する。   Proceeding to step S248 following step S247, the ROM update mode thread of the SCS 122 activates the ROM update unit 430 of the SCS 122.

図29及び図32に示したように、リモートホストより更新データを取得して、SCS122のROM更新モードスレッド及びSCS122のROM更新部430を起動して、フラッシュメモリ204を更新することによって、プログラムを修正することができる。   As shown in FIG. 29 and FIG. 32, the update data is acquired from the remote host, the ROM update mode thread of the SCS 122 and the ROM update unit 430 of the SCS 122 are activated, and the flash memory 204 is updated to update the program. It can be corrected.

以下、SCS122のROM更新部430によるROM更新処理の他の例を、図33を用いて説明する。図33は、SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その3)である。   Hereinafter, another example of ROM update processing by the ROM update unit 430 of the SCS 122 will be described with reference to FIG. FIG. 33 is a flowchart (No. 3) for explaining the ROM update process by the ROM update unit of the SCS.

ステップS250において、SCS122のROM更新部430は、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等の更新情報を更新中断情報に格納する。   In step S250, the ROM update unit 430 of the SCS 122 stores update information such as a module ID, an update destination address, an update data offset, and an update data size in the update interruption information.

ステップS250に続いてステップS251に進み、SCS122のROM更新部430は、更新データによって更新されるフラッシュROM204の対応する領域のデータを、HDD1303等の二次記憶装置に蓄積する。   Progressing to step S251 following step S250, the ROM update unit 430 of the SCS 122 accumulates data in a corresponding area of the flash ROM 204 updated by the update data in a secondary storage device such as the HDD 1303.

ステップS251に続いてステップS252に進み、SCS122のROM更新部430は、更新データパケットを展開した更新データ領域から対応する更新データを読み出して、該更新データで、フラッシュROM204の更新先アドレスから書換えを行う。   Progressing to step S252 following step S251, the ROM update unit 430 of the SCS 122 reads the corresponding update data from the update data area in which the update data packet is expanded, and rewrites the update data from the update destination address of the flash ROM 204 with the update data. Do.

ステップS252に続いてステップS253に進み、SCS122のROM更新部430は、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310に復旧中画面を表示する(図24参照。)。   Progressing to step S253 following step S252, the ROM update unit 430 of the SCS 122 displays a recovery screen on the operation panel 1310 via the rescue mode thread of the OCS 126 (see FIG. 24).

ステップS253に続いてステップS254に進み、SCS122のROM更新部430は、ステップS252において読み出した更新データと、ステップS252において書換えを行った後のフラッシュROM204の更新したモジュールのデータと、を比較して、正しく書換えが行われたかどうか判定する。SCS122のROM更新部430は、正しく書換えが行われたと判定すると(ステップS254においてYES)、ステップS256に進み、正しく書換えが行われなかったと判定すると(ステップS254においてNO)、ステップS255に進む。   Progressing to step S254 following step S253, the ROM update unit 430 of the SCS 122 compares the update data read in step S252 with the updated module data in the flash ROM 204 after rewriting in step S252. Then, it is determined whether or not rewriting has been performed correctly. If the ROM update unit 430 of the SCS 122 determines that the rewriting has been performed correctly (YES in step S254), the process proceeds to step S256. If the ROM updating unit 430 determines that the rewriting has not been performed correctly (NO in step S254), the process proceeds to step S255.

ステップS255では、SCS122のROM更新部430が、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310にエラー画面を表示する(図25参照。)。   In step S255, the ROM update unit 430 of the SCS 122 displays an error screen on the operation panel 1310 via the rescue mode thread of the OCS 126 (see FIG. 25).

一方、ステップS256では、SCS122のROM更新部430が、更新対象の変数等を参照し、次の更新情報が設定されているかどうかを判定する。SCS122のROM更新部430は、更新対象の変数等に次の更新情報が設定されていると判定すると(ステップS256においてYES)、ステップS250からの処理を繰り返し、更新対象の変数等に次の更新情報が設定されていないと判定すると(ステップS256においてNO)、ステップS257に進む。   On the other hand, in step S256, the ROM update unit 430 of the SCS 122 refers to a variable to be updated and determines whether the next update information is set. If the ROM update unit 430 of the SCS 122 determines that the next update information is set in the update target variable or the like (YES in step S256), the process from step S250 is repeated, and the update target variable or the like is updated next. If it is determined that the information is not set (NO in step S256), the process proceeds to step S257.

ステップS257では、SCS122のROM更新部430が、更新中断情報に格納されている更新情報を削除する。   In step S257, the ROM update unit 430 of the SCS 122 deletes the update information stored in the update interruption information.

なお、SCS122のROM更新部430は、実施例2の図23に示したようにOCS126のレスキューモードスレッドが起動されているかどうかを判定する処理を行い、OCS126のレスキューモードスレッドが起動されていたら、ステップS253やステップS255の処理を行うようにしてもよい。図33では説明の簡略化のため、OCS126のレスキューモードスレッドが起動されているものとして説明を行っている。   Note that the ROM update unit 430 of the SCS 122 performs processing for determining whether or not the rescue mode thread of the OCS 126 is activated as illustrated in FIG. 23 of the second embodiment, and if the rescue mode thread of the OCS 126 is activated, You may make it perform the process of step S253 or step S255. In FIG. 33, for the sake of simplification of explanation, it is assumed that the rescue mode thread of the OCS 126 is activated.

以下、複合機100が正常起動した後から、正常に動作していないアプリケーション130等が存在して、レスキューモードに移行する場合の処理の一例を、図34を用いて説明する。図34は、正常起動後からのレスキューモード移行処理を説明するためのフローチャートである。   Hereinafter, an example of processing in the case where there is an application 130 or the like that is not operating normally after the MFP 100 is normally activated and the mode is shifted to the rescue mode will be described with reference to FIG. FIG. 34 is a flowchart for explaining the rescue mode transition processing after normal startup.

ステップS260において、OCS126の通常モードスレッドは、オペレーションパネル1310に表示している画面(図35参照)のレスキューボタンが押下されたかどうかを判定する。OCS126の通常モードスレッドは、オペレーションパネル1310に表示している画面のレスキューボタンが押下されたと判定すると(ステップS260においてYES)、ステップS261に進み、レスキューボタンが押下されていないと判定すると(ステップS260においてNO)、ステップS260の処理を繰り返す。   In step S260, the normal mode thread of the OCS 126 determines whether or not the rescue button on the screen (see FIG. 35) displayed on the operation panel 1310 has been pressed. If the normal mode thread of the OCS 126 determines that the rescue button on the screen displayed on the operation panel 1310 has been pressed (YES in step S260), the process proceeds to step S261 and determines that the rescue button has not been pressed (step S260). NO), the process of step S260 is repeated.

ステップS261では、OCS126の通常モードスレッドが、レスキューモード移行の確認画面をオペレーションパネル1310に表示する(図36参照。)。   In step S261, the normal mode thread of the OCS 126 displays a confirmation screen for entering the rescue mode on the operation panel 1310 (see FIG. 36).

ステップS261に続いてステップS262に進み、OCS126の通常モードスレッドは、図36のレスキューモード移行確認画面の実行ボタンが押下されたかどうかを判定する。OCS126の通常モードスレッドは、図36のレスキューモード移行確認画面の実行ボタンが押下されたと判定すると(ステップS262においてYES)、ステップS263に進み、中止ボタンが押下さたと判定すると(ステップS262においてNO)、図35に示した画面をオペレーションパネル1310に表示し、ステップS260からの処理を繰り返す。   Progressing to step S262 following step S261, the normal mode thread of the OCS 126 determines whether or not the execution button on the rescue mode transition confirmation screen of FIG. 36 has been pressed. If the normal mode thread of OCS 126 determines that the execute button on the rescue mode transition confirmation screen of FIG. 36 has been pressed (YES in step S262), the process proceeds to step S263, and if it is determined that the cancel button has been pressed (NO in step S262). The screen shown in FIG. 35 is displayed on the operation panel 1310, and the processing from step S260 is repeated.

ステップS263では、OCS126の通常モードスレッドより、レスキューモード移行確認画面の実行ボタンが押下された旨を通知された、例えばSCS122の通常モードスレッドが、メンテナンスフラグを更新中断情報に格納する。   In step S263, the normal mode thread of the OCS 126 notified that the execution button on the rescue mode transition confirmation screen has been pressed, for example, the normal mode thread of the SCS 122 stores the maintenance flag in the update interruption information.

ステップS263に続いてステップS264に進み、例えばSCS122の通常モードスレッドより通知を受けたROMモニタ410又はプログラム起動部420は、複合機100をリブートする。   Progressing to step S264 following step S263, for example, the ROM monitor 410 or the program activation unit 420 that has received the notification from the normal mode thread of the SCS 122 reboots the multi-function device 100.

図34に示す処理によってリブートされた複合機100は、図27に示したような処理を行う。   The multifunction peripheral 100 rebooted by the process shown in FIG. 34 performs the process as shown in FIG.

以下、更新中断情報をNVRAM空間に格納する場合の更新中断情報のレイアウトの他の例を、図37を用いて説明する。図37は、更新中断情報をNVRAMに格納する場合の更新中断情報のレイアウトを説明するための図(その2)である。   Hereinafter, another example of the layout of the update interruption information when the update interruption information is stored in the NVRAM space will be described with reference to FIG. FIG. 37 is a diagram (No. 2) for explaining the layout of the update interruption information when the update interruption information is stored in the NVRAM.

図37に示されるように、更新中断情報は、例えば16バイトのモジュールIDと、4バイトの更新先アドレスと、1バイトのメンテナンスフラグと、1バイトのメンテナンス内容フラグと、を含む。   As shown in FIG. 37, the update interruption information includes, for example, a 16-byte module ID, a 4-byte update destination address, a 1-byte maintenance flag, and a 1-byte maintenance content flag.

なお、図18及び図19に示したように、更新中断情報をHDD1303に格納する場合、メンテナンスフラグやメンテナンス内容フラグを、例えば更新中断情報ファイルに含めるようにしてもよい。   As shown in FIGS. 18 and 19, when the update interruption information is stored in the HDD 1303, a maintenance flag or a maintenance content flag may be included in the update interruption information file, for example.

以下、HDD1303のディレクトリ及びファイル構成の他の例を、図38を用いて説明する。図38は、HDDのディレクトリ及びファイル構成を説明するための図(その3)である。   Hereinafter, another example of the directory and file structure of the HDD 1303 will be described with reference to FIG. FIG. 38 is a diagram (No. 3) for explaining the directory and file structure of the HDD.

図38に示されるように、HDD1303には、正常動作する出荷時のデータ(プログラム)を保持するディレクトリとしてstoreディレクトリを有し、該storeディレクトリには、アプリケーション130やプラットフォーム120等を構成する各モジュールに対応する、正常動作する出荷時のデータ(プログラム)と、前記モジュールに係るモジュール情報ファイルと、が格納されている。   As shown in FIG. 38, the HDD 1303 has a store directory as a directory for storing normally operating shipping data (programs), and each module constituting the application 130, the platform 120, and the like is stored in the store directory. The data (program) at the time of shipment corresponding to the above and the module information file related to the module are stored.

以下、モジュール情報ファイルの一例として、正常動作する出荷時のプリンタアプリのモジュール情報ファイルの内容の一例を、図39を用いて説明する。図39は、正常動作する出荷時のプリンタアプリのモジュール情報ファイルの内容の一例を説明するための図である。   Hereinafter, as an example of the module information file, an example of the contents of the module information file of the printer application at the time of shipment that operates normally will be described with reference to FIG. FIG. 39 is a diagram for explaining an example of the contents of the module information file of the printer application at the time of shipment that operates normally.

図39に示されるように、モジュール情報ファイルには、モジュールIDと、更新先アドレスと、モジュールのサイズと、が含まれる。   As shown in FIG. 39, the module information file includes a module ID, an update destination address, and a module size.

なお、実施例3の図28(B)において、「機器に蓄積されているソフトウェアに戻す。」のみを表示又は選択可能とした場合は、図26に示した複合機100の構成において、NCS128のレスキューモードスレッドや、RRUアプリ117は、含まれなくてもよい。   In FIG. 28B of the third embodiment, when only “return to the software stored in the device” can be displayed or selected, the NCS 128 in the configuration of the multifunction peripheral 100 shown in FIG. The rescue mode thread and the RRU application 117 may not be included.

上述した実施例3では、図33に示したように、SCS122のROM更新部430が、復旧情報を、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310に、復旧中画面として表示した。しかしながら、復旧情報を、オペレーションパネル1310に表示すると共に、SCS122のROM更新部430が、復旧情報を、NCS128のレスキューモードスレッドを介して、リモートホストに送信するようにしてもよい。   In the third embodiment described above, as illustrated in FIG. 33, the ROM update unit 430 of the SCS 122 displays the recovery information on the operation panel 1310 as a recovery-in-progress screen via the rescue mode thread of the OCS 126. However, the recovery information may be displayed on the operation panel 1310, and the ROM update unit 430 of the SCS 122 may transmit the recovery information to the remote host via the rescue mode thread of the NCS 128.

以下、SCS122のROM更新部430によるROM更新処理の他の例を、図40を用いて説明する。図40は、SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その4)である。   Hereinafter, another example of ROM update processing by the ROM update unit 430 of the SCS 122 will be described with reference to FIG. FIG. 40 is a flowchart (part 4) for explaining the ROM update process by the ROM update unit of the SCS.

ステップS300において、SCS122のROM更新部430は、モジュールID、更新先アドレス、更新データオフセット、更新データサイズ等の更新情報を更新中断情報に格納する。   In step S300, the ROM update unit 430 of the SCS 122 stores update information such as a module ID, an update destination address, an update data offset, and an update data size in the update interruption information.

ステップS300に続いてステップS301に進み、SCS122のROM更新部430は、更新データによって更新されるフラッシュROM204の対応する領域のデータを、HDD1303等の二次記憶装置に蓄積する。   Progressing to step S301 following step S300, the ROM update unit 430 of the SCS 122 accumulates the data in the corresponding area of the flash ROM 204 updated by the update data in a secondary storage device such as the HDD 1303.

ステップS301に続いてステップS302に進み、SCS122のROM更新部430は、更新データパケットを展開した更新データ領域から対応する更新データを読み出して、該更新データで、フラッシュROM204の更新先アドレスから書換えを行う。   Progressing to step S302 following step S301, the ROM update unit 430 of the SCS 122 reads the corresponding update data from the update data area in which the update data packet is expanded, and rewrites the update data from the update destination address of the flash ROM 204 with the update data. Do.

ステップS302に続いてステップS303に進み、SCS122のROM更新部430は、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310に復旧中画面を表示する(図24参照。)。   Progressing to step S303 following step S302, the ROM update unit 430 of the SCS 122 displays a recovery screen on the operation panel 1310 via the rescue mode thread of the OCS 126 (see FIG. 24).

ステップS303に続いてステップS304に進み、SCS122のROM更新部430は、NCS128のレスキューモードスレッドが起動されているかどうかを判定する。   Progressing to step S304 following step S303, the ROM update unit 430 of the SCS 122 determines whether or not the rescue mode thread of the NCS 128 is activated.

SCS122のROM更新部430は、NCS128のレスキューモードスレッドが起動されていると判定すると(ステップS304においてYES)、ステップS305に進み、NCS128のレスキューモードスレッドが起動されていないと判定すると(ステップS304においてNO)、ステップS306に進む。   If the ROM update unit 430 of the SCS 122 determines that the rescue mode thread of the NCS 128 is activated (YES in step S304), the process proceeds to step S305, and determines that the rescue mode thread of the NCS 128 is not activated (in step S304). NO), the process proceeds to step S306.

SCS122のROM更新部430は、例えば、環境変数等を参照し、NCS128のレスキューモードスレッドが起動されているかどうかを判定する。   The ROM update unit 430 of the SCS 122 determines whether or not the rescue mode thread of the NCS 128 is activated with reference to, for example, environment variables.

ステップS305では、SCS122のROM更新部430が、NCS128のレスキューモードスレッドを介して、リモートホストに復旧情報を送信する。   In step S305, the ROM update unit 430 of the SCS 122 transmits the recovery information to the remote host via the rescue mode thread of the NCS 128.

ステップS306では、SCS122のROM更新部430が、ステップS302において読み出した更新データと、ステップS302において書換えを行った後のフラッシュROM204の更新したモジュールのデータと、を比較して、正しく書換えが行われたかどうか判定する。SCS122のROM更新部430は、正しく書換えが行われたと判定すると(ステップS306においてYES)、ステップS308に進み、正しく書換えが行われなかったと判定すると(ステップS306においてNO)、ステップS307に進む。   In step S306, the ROM update unit 430 of the SCS 122 compares the update data read in step S302 with the updated module data in the flash ROM 204 after the rewrite in step S302, and the correct rewrite is performed. Judge whether or not. If the ROM update unit 430 of the SCS 122 determines that the rewriting has been correctly performed (YES in step S306), the process proceeds to step S308. If the ROM updating unit 430 determines that the rewriting has not been performed correctly (NO in step S306), the process proceeds to step S307.

ステップS307では、SCS122のROM更新部430が、OCS126のレスキューモードスレッドを介して、オペレーションパネル1310にエラー画面を表示する(図25参照。)。   In step S307, the ROM update unit 430 of the SCS 122 displays an error screen on the operation panel 1310 via the rescue mode thread of the OCS 126 (see FIG. 25).

一方、ステップS308では、SCS122のROM更新部430が、更新対象の変数等を参照し、次の更新情報が設定されているかどうかを判定する。SCS122のROM更新部430は、更新対象の変数等に次の更新情報が設定されていると判定すると(ステップS308においてYES)、ステップS300からの処理を繰り返し、更新対象の変数等に次の更新情報が設定されていないと判定すると(ステップS308においてNO)、ステップS309に進む。   On the other hand, in step S308, the ROM update unit 430 of the SCS 122 refers to the variable to be updated and determines whether the next update information is set. If the ROM update unit 430 of the SCS 122 determines that the next update information is set in the variable to be updated (YES in step S308), the process from step S300 is repeated to update the variable to be updated next. If it is determined that the information is not set (NO in step S308), the process proceeds to step S309.

ステップS309では、SCS122のROM更新部430が、更新中断情報に格納されている更新情報を削除する。   In step S309, the ROM update unit 430 of the SCS 122 deletes the update information stored in the update interruption information.

なお、SCS122のROM更新部430は、実施例2の図23に示したようにOCS126のレスキューモードスレッドが起動されているかどうかを判定する処理を行い、OCS126のレスキューモードスレッドが起動されていたら、ステップS303やステップS307の処理を行うようにしてもよい。図40では説明の簡略化のため、OCS126のレスキューモードスレッドが起動されているものとして説明を行っている。   Note that the ROM update unit 430 of the SCS 122 performs processing for determining whether or not the rescue mode thread of the OCS 126 is activated as illustrated in FIG. 23 of the second embodiment, and if the rescue mode thread of the OCS 126 is activated, You may make it perform the process of step S303 or step S307. In FIG. 40, for the sake of simplification of description, it is assumed that the rescue mode thread of the OCS 126 is activated.

以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.

プログラムの更新中断後に画像形成装置の機能の一部が使用不可能になった一例を説明するための図である。FIG. 10 is a diagram for explaining an example in which some of the functions of the image forming apparatus become unusable after the program update is interrupted. バージョンの不整合により画像形成装置の機能の一部が使用不可能になった一例を説明するための図である。FIG. 4 is a diagram for explaining an example in which some of the functions of the image forming apparatus are disabled due to version mismatch. 複合機の構成を示すブロック図(その1)である。FIG. 2 is a block diagram (part 1) illustrating a configuration of a multifunction machine. 複合機のハードウェア構成を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration of a multifunction machine. リモートROM更新の全体処理を説明するための図(その1)である。FIG. 6 is a diagram (part 1) for describing the entire process of remote ROM update; リモートROM更新の全体処理を説明するための図(その2)である。It is FIG. (2) for demonstrating the whole process of remote ROM update. 複合機で受信した更新データパケットの展開後のデータ構造図である。FIG. 10 is a data structure diagram after development of an update data packet received by the multi-function peripheral. 複合機起動部の構成の一例を示すブロック図である。3 is a block diagram illustrating an example of a configuration of a multifunction machine starting unit. FIG. ROM更新部の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of a ROM update part. 複合機の構成を示すブロック図(その2)である。FIG. 3 is a block diagram (part 2) illustrating the configuration of the multifunction machine. ブート時のOS切り替え処理を説明するためのフローチャートである。It is a flowchart for demonstrating OS switching processing at the time of booting. SCSのROM更新モードスレッドで実行される更新データ選定処理を説明するためのフローチャート(その1)である。It is a flowchart (the 1) for demonstrating the update data selection process performed with the ROM update mode thread | sled of SCS. SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その1)である。It is a flowchart (the 1) for demonstrating the ROM update process by the ROM update part of SCS. SCSのレスキューモードスレッドで実行される更新データ選定処理を説明するためのフローチャート(その1)である。It is a flowchart (the 1) for demonstrating the update data selection process performed with the rescue mode thread | sled of SCS. メモリ構造の一例を示すための図である。It is a figure for showing an example of a memory structure. 更新中断情報をNVRAMに格納する場合の更新中断情報のレイアウトを説明するための図(その1)である。FIG. 11 is a diagram (part 1) for describing a layout of update interruption information when update interruption information is stored in NVRAM; HDDのディレクトリ及びファイル構成を説明するための図(その1)である。FIG. 3 is a diagram (part 1) for explaining a directory and file structure of an HDD. HDDのディレクトリ及びファイル構成を説明するための図(その2)である。FIG. 6 is a diagram (part 2) for explaining the directory and file structure of the HDD; 更新中断情報ファイルの内容の一例を説明するための図である。It is a figure for demonstrating an example of the content of the update interruption information file. 複合機の構成を示すブロック図(その3)である。FIG. 6 is a block diagram (part 3) illustrating the configuration of the multifunction machine. ブート時のOS切り替え処理を説明するためのフローチャート(その2)である。It is a flowchart (the 2) for demonstrating OS switching processing at the time of boot. 起動時画面を示すための図である。It is a figure for showing a screen at the time of starting. SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その2)である。It is a flowchart (the 2) for demonstrating the ROM update process by the ROM update part of SCS. 復旧中画面を示すための図である。It is a figure for showing the in-restoration screen. エラー画面を示すための図である。It is a figure for showing an error screen. 複合機の構成を示すブロック図(その4)である。FIG. 10 is a block diagram (part 4) illustrating the configuration of the multifunction machine. ブート時のOS切り替え処理を説明するためのフローチャート(その3)である。12 is a flowchart (part 3) for describing OS switching processing at the time of booting; 復旧メニュー画面を示すための図である。It is a figure for showing a recovery menu screen. SCSによるメンテナンス内容フラグチェック処理を説明するためのフローチャートである。It is a flowchart for demonstrating the maintenance content flag check process by SCS. 受信待機中画面を示すための図である。It is a figure for showing a reception waiting screen. SCSのレスキューモードスレッドで実行される更新データ選定処理を説明するためのフローチャートである。It is a flowchart for demonstrating the update data selection process performed with the rescue mode thread | sled of SCS. SCSのROM更新モードスレッドで実行される更新データ選定処理を説明するためのフローチャート(その2)である。It is a flowchart (the 2) for demonstrating the update data selection process performed with the ROM update mode thread | sled of SCS. SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その3)である。It is a flowchart (the 3) for demonstrating the ROM update process by the ROM update part of SCS. 正常起動後からのレスキューモード移行処理を説明するためのフローチャートである。It is a flowchart for demonstrating the rescue mode transfer process after normal starting. 正常起動後の画面を示すための図である。It is a figure for showing the screen after normal starting. レスキューモード移行確認画面を示すための図である。It is a figure for showing a rescue mode transfer confirmation screen. 更新中断情報をNVRAMに格納する場合の更新中断情報のレイアウトを説明するための図(その2)である。FIG. 10 is a diagram (part 2) for explaining the layout of update interruption information when update interruption information is stored in NVRAM; HDDのディレクトリ及びファイル構成を説明するための図(その3)である。FIG. 6 is a third diagram for explaining the directory and file structure of the HDD; 正常動作する出荷時のプリンタアプリのモジュール情報ファイルの内容の一例を説明するための図である。It is a figure for demonstrating an example of the content of the module information file of the printer application at the time of shipment which operates normally. SCSのROM更新部によるROM更新処理を説明するためのフローチャート(その4)である。It is a flowchart (the 4) for demonstrating the ROM update process by the ROM update part of SCS.

符号の説明Explanation of symbols

100 複合機
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
117 リモートROM更新アプリ(RRUアプリ)
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
131 汎用レスキューOS
410 ROMモニタ
420 プログラム起動部
422 サービス層起動部
423 アプリ起動部
424 起動情報設定部
430 ROM更新部
431 更新情報格納部
432 領域データ蓄積部
433 ROM更新部
434 更新情報削除部
435 表示制御部
436 送信制御部
100 MFP 111 Printer application 112 Copy application 113 Fax application 114 Scanner application 115 Net file application 117 Remote ROM update application (RRU application)
121 General-purpose OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
131 General-purpose rescue OS
410 ROM monitor 420 Program activation unit 422 Service layer activation unit 423 Application activation unit 424 Activation information setting unit 430 ROM update unit 431 Update information storage unit 432 Area data storage unit 433 ROM update unit 434 Update information deletion unit 435 Display control unit 436 Transmission Control unit

Claims (27)

プログラムを記憶するプログラム記憶手段と、該プログラム記憶手段に記憶されているプログラムに係る更新データを受信する更新データ受信手段と、前記更新データに基づいて、前記プログラム記憶手段に記憶されている対応するプログラムを更新するプログラム更新手段と、を有する情報処理装置であって、
当該情報処理装置が前回起動されていたときに、前記プログラム更新手段における前記プログラムの更新が中断されたかどうかを判定する更新中断判定手段と、
前記更新中断判定手段における判定結果に応じて、対応するオペレーティングシステムを起動するオペレーティングシステム起動手段と、
前記プログラム記憶手段に記憶されているプログラムを復旧する第一プログラム復旧手段と、
前記オペレーティングシステム起動手段において起動されたオペレーティングシステムに応じて、画面に係る制御を行う画面制御手段と、
を有することを特徴とする情報処理装置。
Program storage means for storing a program, update data receiving means for receiving update data relating to the program stored in the program storage means, and corresponding correspondence stored in the program storage means based on the update data An information processing apparatus having program update means for updating a program,
An update interruption determination means for determining whether or not the update of the program in the program update means was interrupted when the information processing apparatus was activated last time;
An operating system activation unit that activates a corresponding operating system according to a determination result in the update interruption determination unit;
First program recovery means for recovering a program stored in the program storage means;
Screen control means for controlling the screen according to the operating system started by the operating system start means;
An information processing apparatus comprising:
前記画面は、前記プログラム記憶手段に記憶されているプログラムを復旧中である旨を表す復旧中画面であることを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the screen is a recovering screen indicating that the program stored in the program storage unit is being recovered. 前記画面は、前記プログラム記憶手段に記憶されているプログラムの復旧が失敗した旨を表すエラー画面であることを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the screen is an error screen indicating that restoration of a program stored in the program storage unit has failed. 前記画面は、前記オペレーティングシステムが起動されている旨を表す起動時画面であることを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the screen is a startup screen indicating that the operating system is started. プログラムを記憶するプログラム記憶手段と、該プログラム記憶手段に記憶されているプログラムに係る更新データを受信する更新データ受信手段と、前記更新データに基づいて、前記プログラム記憶手段に記憶されている対応するプログラムを更新するプログラム更新手段と、を有する情報処理装置であって、
当該情報処理装置が前回起動されていたときに、前記プログラム記憶手段に記憶されているプログラムを復旧するため、リブートされたかどうかを判定するリブート判定手段と、
前記リブート判定手段における判定結果に応じて、対応するオペレーティングシステムを起動するオペレーティングシステム起動手段と、
前記プログラム記憶手段に記憶されているプログラムを復旧する第二プログラム復旧手段と、
前記オペレーティングシステム起動手段において起動されたオペレーティングシステムに応じて、画面に係る制御を行う画面制御手段と、
を有することを特徴とする情報処理装置。
Program storage means for storing a program, update data receiving means for receiving update data relating to the program stored in the program storage means, and corresponding correspondence stored in the program storage means based on the update data An information processing apparatus having program update means for updating a program,
A reboot determination unit that determines whether the information processing apparatus has been rebooted in order to restore the program stored in the program storage unit when the information processing apparatus was previously activated;
In response to the determination result in the reboot determination unit, an operating system activation unit that activates a corresponding operating system;
Second program recovery means for recovering the program stored in the program storage means;
Screen control means for controlling the screen according to the operating system started by the operating system start means;
An information processing apparatus comprising:
前記画面は、ユーザに、前記プログラム記憶手段に記憶されているプログラムの復旧を行うかどうかを選択させる選択画面であることを特徴とする請求項5記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the screen is a selection screen that allows a user to select whether or not to restore a program stored in the program storage unit. 前記画面は、ユーザに、前記プログラム記憶手段に記憶されているプログラムの復旧内容を選択させる復旧内容選択画面であることを特徴とする請求項5記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the screen is a recovery content selection screen that allows a user to select a recovery content of a program stored in the program storage unit. 前記画面は、復旧作業を中止するため、サービスセンターへ連絡して欲しい旨を表す復旧中止画面であることを特徴とする請求項5記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the screen is a recovery stop screen indicating that the service center is desired to stop the recovery work. 前記画面は、前記更新データの受信待機中である旨を表す受信待機中画面であることを特徴とする請求項5記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the screen is a reception waiting screen indicating that the update data is waiting to be received. 前記画面は、当該情報処理装置の正常起動後の画面であることを特徴とする請求項5記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the screen is a screen after the information processing apparatus is normally activated. 前記画面は、ユーザに、前記プログラム記憶手段に記憶されているプログラムの復旧を行う復旧様式に移行する旨を確認させる復旧様式移行確認画面であることを特徴とする請求項5記載の情報処理装置。   6. The information processing apparatus according to claim 5, wherein the screen is a recovery mode transition confirmation screen for allowing the user to confirm that the mode is shifted to a recovery mode for recovering the program stored in the program storage unit. . 前記画面は、前記プログラム記憶手段に記憶されているプログラムを復旧中である旨を表す復旧中画面であることを特徴とする請求項5記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the screen is a recovering screen indicating that the program stored in the program storage unit is being recovered. 前記画面は、前記プログラム記憶手段に記憶されているプログラムの復旧が失敗した旨を表すエラー画面であることを特徴とする請求項5記載の情報処理装置。   6. The information processing apparatus according to claim 5, wherein the screen is an error screen indicating that restoration of a program stored in the program storage unit has failed. 前記情報処理装置は、画像を形成する画像形成装置であることを特徴とする請求項1乃至13何れか一項記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the information processing apparatus is an image forming apparatus that forms an image. プログラム記憶手段に記憶されているプログラムに係る更新データを受信する更新データ受信段階と、前記更新データ受信段階において受信した前記更新データに基づいて、前記プログラム記憶手段に記憶されている対応するプログラムを更新するプログラム更新段階と、を有する情報処理装置におけるプログラム復旧方法であって、
当該情報処理装置が前回起動されていたときに、プログラムの更新が中断されたかどうかを判定する更新中断判定段階と、
前記更新中断判定段階における判定結果に応じて、対応するオペレーティングシステムを起動するオペレーティングシステム起動段階と、
前記オペレーティングシステムが起動されている旨を表す起動時画面を表示する起動時画面表示段階と、
前記プログラム記憶手段に記憶されているプログラムを復旧する第一プログラム復旧段階と、
を有することを特徴とするプログラム復旧方法。
An update data receiving stage for receiving update data relating to a program stored in the program storage means, and a corresponding program stored in the program storage means based on the update data received in the update data receiving stage A program recovery method in an information processing apparatus having a program update stage to be updated,
An update interruption determination stage for determining whether the update of the program was interrupted when the information processing apparatus was activated last time;
In response to the determination result in the update interruption determination step, an operating system startup step of starting the corresponding operating system,
A startup screen display stage for displaying a startup screen indicating that the operating system has been started; and
A first program recovery stage for recovering the program stored in the program storage means;
A program recovery method comprising:
前記プログラム記憶手段に記憶されているプログラムを復旧中である旨を表す復旧中画面を表示する復旧中画面表示段階を更に有することを特徴とする請求項15記載のプログラム復旧方法。   16. The program restoration method according to claim 15, further comprising a restoring screen display step of displaying a restoring screen indicating that the program stored in the program storage means is being restored. 前記プログラム記憶手段に記憶されているプログラムの復旧が失敗した旨を表すエラー画面を表示するエラー画面表示段階を更に有することを特徴とする請求項15記載のプログラム復旧方法。   16. The program recovery method according to claim 15, further comprising an error screen display step of displaying an error screen indicating that the recovery of the program stored in the program storage means has failed. プログラム記憶手段に記憶されているプログラムに係る更新データを受信する更新データ受信段階と、前記更新データ受信段階において受信した前記更新データに基づいて、前記プログラム記憶手段に記憶されている対応するプログラムを更新するプログラム更新段階と、を有する情報処理装置におけるプログラム復旧方法であって、
当該情報処理装置が前回起動されていたときに、前記プログラム記憶手段に記憶されているプログラムを復旧するため、リブートされたかどうかを判定するリブート判定段階と、
前記リブート判定段階における判定結果に応じて、対応するオペレーティングシステムを起動するオペレーティングシステム起動段階と、
前記プログラム記憶手段に記憶されているプログラムを復旧する第二プログラム復旧段階と、
ユーザに、前記プログラム記憶手段に記憶されているプログラムの復旧を行うかどうかを選択させる選択画面を表示する選択画面表示段階と、
を有することを特徴とするプログラム復旧方法。
An update data receiving stage for receiving update data relating to a program stored in the program storage means, and a corresponding program stored in the program storage means based on the update data received in the update data receiving stage A program recovery method in an information processing apparatus having a program update stage to be updated,
A reboot determination stage for determining whether the information processing apparatus has been rebooted in order to restore the program stored in the program storage means when the information processing apparatus was last activated;
In response to the determination result in the reboot determination step, an operating system start step for starting the corresponding operating system,
A second program recovery stage for recovering the program stored in the program storage means;
A selection screen display step for displaying a selection screen for allowing the user to select whether or not to restore the program stored in the program storage means;
A program recovery method comprising:
ユーザに、前記プログラム記憶手段に記憶されているプログラムの復旧内容を選択させる復旧内容選択画面を表示する復旧内容選択画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   19. The program recovery method according to claim 18, further comprising a recovery content selection screen display step of displaying a recovery content selection screen for allowing a user to select a recovery content of a program stored in the program storage means. 復旧作業を中止するため、サービスセンターへ連絡して欲しい旨を表す復旧中止画面を表示する復旧中止画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   19. The program recovery method according to claim 18, further comprising a recovery cancellation screen display step for displaying a recovery cancellation screen indicating that the service center is desired to be canceled in order to cancel the recovery operation. 前記更新データの受信待機中である旨を表す受信待機中画面を表示する受信待機中画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   19. The program recovery method according to claim 18, further comprising a reception standby screen display step of displaying a reception standby screen indicating that the update data is waiting to be received. 前記情報処理装置の正常起動後の画面を表示する正常起動後画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   19. The program restoration method according to claim 18, further comprising a screen display step after normal startup for displaying a screen after normal startup of the information processing apparatus. ユーザに、前記プログラム記憶手段に記憶されているプログラムの復旧を行う復旧様式に移行する旨を確認させる復旧様式移行確認画面を表示する復旧様式移行確認画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   The system further comprises a recovery mode transition confirmation screen display step for displaying a recovery mode transition confirmation screen for allowing the user to confirm the transition to the recovery mode for recovering the program stored in the program storage means. Item 19. The program recovery method according to Item 18. 前記プログラム記憶手段に記憶されているプログラムを復旧中である旨を表す復旧中画面を表示する復旧中画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   19. The program restoration method according to claim 18, further comprising a restoring screen display step of displaying a restoring screen indicating that the program stored in the program storage means is being restored. 前記プログラム記憶手段に記憶されているプログラムの復旧が失敗した旨を表すエラー画面を表示するエラー画面表示段階を更に有することを特徴とする請求項18記載のプログラム復旧方法。   19. The program recovery method according to claim 18, further comprising an error screen display step of displaying an error screen indicating that the recovery of the program stored in the program storage means has failed. 請求項15乃至請求項25何れか一項記載のプログラム復旧方法をコンピュータに実行させるためのプログラム復旧プログラム。   A program recovery program for causing a computer to execute the program recovery method according to any one of claims 15 to 25. 請求項26記載のプログラム復旧プログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program recovery program according to claim 26 is recorded.
JP2003411680A 2003-12-10 2003-12-10 Information processor, method and program for restoring program, and recording medium Pending JP2005173888A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003411680A JP2005173888A (en) 2003-12-10 2003-12-10 Information processor, method and program for restoring program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003411680A JP2005173888A (en) 2003-12-10 2003-12-10 Information processor, method and program for restoring program, and recording medium

Publications (1)

Publication Number Publication Date
JP2005173888A true JP2005173888A (en) 2005-06-30

Family

ID=34732351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003411680A Pending JP2005173888A (en) 2003-12-10 2003-12-10 Information processor, method and program for restoring program, and recording medium

Country Status (1)

Country Link
JP (1) JP2005173888A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878065A (en) * 2023-02-16 2023-03-31 青岛意想意创技术发展有限公司 Control method and device for interactive system composed of interactive display units

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816408A (en) * 1994-06-29 1996-01-19 Mitsubishi Electric Corp Information processor
JP2002333990A (en) * 2001-03-05 2002-11-22 Omron Corp Program updating device and its method
JP2003228490A (en) * 2002-02-04 2003-08-15 Sanyo Electric Co Ltd Terminal equipment connected to network, and network system using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816408A (en) * 1994-06-29 1996-01-19 Mitsubishi Electric Corp Information processor
JP2002333990A (en) * 2001-03-05 2002-11-22 Omron Corp Program updating device and its method
JP2003228490A (en) * 2002-02-04 2003-08-15 Sanyo Electric Co Ltd Terminal equipment connected to network, and network system using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878065A (en) * 2023-02-16 2023-03-31 青岛意想意创技术发展有限公司 Control method and device for interactive system composed of interactive display units

Similar Documents

Publication Publication Date Title
US10277767B2 (en) Image forming apparatus including a device that updates stored program based on updating data which is selected based on program that is started or startable
US8760700B2 (en) Method, apparatus, and computer product for managing image formation resources
US8305603B2 (en) Job processing apparatus coordinating update of software used in job execution and control method thereof
JP2002082806A (en) Device and method for forming image and program
JP5888443B2 (en) Image forming apparatus, program update method, and recording medium
JP2005196745A (en) Information processing device, program recovery method, program recovery program, and recording medium
JP4695348B2 (en) CARD-TYPE MEMORY, IMAGE FORMING DEVICE, AND IMAGE FORMING DEVICE STARTING METHOD
JP4512565B2 (en) Image forming apparatus and application installation method
JP4001531B2 (en) Image forming apparatus
JP2005173888A (en) Information processor, method and program for restoring program, and recording medium
JP2008079340A (en) Image forming apparatus, program updating method and recording medium
JP2006103290A (en) Image formation device
JP2003256151A (en) Data transfer method, and interface control module, device control module, and image formation device using the data transfer method
JP2002326428A (en) Imaging apparatus
JP2006027277A (en) Image forming apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080924