JP4121333B2 - 画像形成装置,プログラム更新方法および記録媒体 - Google Patents
画像形成装置,プログラム更新方法および記録媒体 Download PDFInfo
- Publication number
- JP4121333B2 JP4121333B2 JP2002241389A JP2002241389A JP4121333B2 JP 4121333 B2 JP4121333 B2 JP 4121333B2 JP 2002241389 A JP2002241389 A JP 2002241389A JP 2002241389 A JP2002241389 A JP 2002241389A JP 4121333 B2 JP4121333 B2 JP 4121333B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- update
- update data
- identification information
- recording medium
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32561—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/04—Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
- H04N1/047—Detection, control or error compensation of scanning velocity or position
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- Control Or Security For Electrophotography (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の属する技術分野】
この発明は、画像形成装置,プログラム更新方法および記録媒体に係り、特に記憶部に格納されたプログラムを更新データで更新する画像形成装置,プログラム更新方法および記録媒体に関するものである。
【0002】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が一般的に知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
従来の複合機では、内部にプリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェア(汎用OSを含む)をそれぞれ別個に設ける構成となっており、各ソフトウェアの開発に多大の時間を要する。
【0004】
このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(特開2002−82806)を発明した。なお、ユーザサービスとはユーザに提供する画像形成に係るサービスをいう。また、コントロールサービスとはアプリケーションに画像形成に係るハードウェア資源を提供するサービスをいう。
【0005】
この画像形成装置によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【0006】
このような複合機は、複数のアプリケーションやプラットホームを構成する複数のコントロールサービスなどのプログラムがコントローラボード上のフラッシュメモリなどのROM(Read Only Memory)に予め組み込まれた状態で出荷されている。このため、複合機に設計変更や新たな機能の追加が生じた場合には、アプリケーションやコントロールサービスなどのプログラムを更新するために、これらのプログラムを記録したROMを更新する必要性が生じてくる。
【0007】
このようなプログラム更新方法の一例として、例えば特開平9−134307号公報,特開2002−99441号公報などがある。また、プログラム更新方法の他の一例として、各プログラムの更新データと、更新データでアプリケーションやコントロールサービスの既存のプログラムを更新するために実行する更新プログラムとを複合機の機種ごとに個別のフラッシュカードなどの更新用記録媒体に格納していた。
【0008】
そして、この更新対象プログラムが搭載されている複合機の機種に応じて更新用記録媒体を選択し、選択した更新用記録媒体を複合機の記録媒体制御装置に挿入した状態で複合機を電源投入する。
【0009】
このとき、複合機のブートローダによって更新用記録媒体に格納された更新プログラムが起動し、この更新プログラムによって更新用記録媒体上の更新データを読み出して、ROM上のアプリケーションやコントロールサービスの各プログラムを更新データで更新するという処理を行っていた。
【0010】
また、複合機の電源投入時にブートローダによって更新用記録媒体の更新プログラムが起動される処理は次のように行われていた。図19は、従来の複合機における電源投入時のフラッシュメモリおよびフラッシュカードのメモリマップを示す模式図である。
【0011】
図19に示すように、コントローラボード上に設けられたDIPスイッチのON,OFFを切り替えることによってコントローラボード上のフラッシュメモリの領域と更新用記録媒体の領域とが切り替わるようにしておく。
【0012】
また、DIPスイッチのOFF時にはブートベクタにフラッシュメモリ上の通常の起動プログラムを指すようにしておき、DIPスイッチのON時にはブートベクタに更新用記録媒体上の更新プログラムが配置されるようにしておく。これにより、プログラム更新時にDIPスイッチをONにして複合機の電源投入を行うことによって、ブートベクタに配置された更新プログラムが起動されることになる。
【0013】
【発明が解決しようとする課題】
複合機は、コピー、プリンタ、スキャナ、ファクシミリなどの複合サービスを提供するものではあるが、複合機のすべての機種において提供可能なサービスが統一されているわけではない。例えば、すべての機能が提供可能な機種やファクシミリ機能やコピー機能など一部の機能が制限された機種など種々のパターンがある。このため、汎用OS上で動作する複数アプリケーションや複数のコントロールサービスなども、提供可能な機能によって必然的に変わってくる。
【0014】
しかしながら、特開平9−134307号公報,特開2002−99441号公報に記載されているプログラム更新方法では、複合機の構成の相違に応じたプログラムの更新を行うことができないという問題がある。
【0015】
また、従来の複合機のプログラム更新方法では、上述のように更新用記録媒体を挿入して電源投入を行った場合、各アプリケーションや各コントロールサービスばかりか汎用OSの起動を行わずにただちに更新プログラムが実行されてしまうため、複合機の構成を認識することができず、構成の相違に応じたプログラムの更新を行うことができないという問題がある。
【0016】
例えば、ファックスアプリやファックスコントロールサービスなどファクシミリ通信関連のプログラムが存在しない構成の複合機に対して、すべてのプログラムの更新データを含む更新用記録媒体でプログラム更新処理を行った場合、ROM上で更新の必要のないプログラムまで更新してしまう可能性もあり、プログラム更新を行うことにより複合機に障害を生じさせてしまう場合がある。
【0017】
また、従来の複合機のプログラム更新方法では、更新データの他に更新プログラムも更新用記録媒体に含まれているため、更新用記録媒体の容量制限からプログラム更新を行う複合機の機種に応じたフラッシュカードを用意して使用しなければならない。
【0018】
このため、更新用記録媒体を複合機の機種ごとに管理しなければならず、またプログラム更新の際には異なる機種の更新用記録媒体を選択しないよう注意しなければならず、プログラム更新作業が煩雑になるという問題がある。
【0019】
さらに、従来の複合機におけるプログラム更新では、DIPスイッチをON状態にしてから電源投入を行う必要があるため、DIPスイッチが複合機本体内部に設けられている場合には、本体カバーを外してコントローラボードを引き出すことが必要となる。そして、このような作業の際、コントロールボードに接触することにより、ボードに損傷が生じてしまうおそれがある。
【0020】
この発明は上記に鑑みてなされたもので、画像形成装置の構成に応じて最適な更新データを選択してプログラム更新を行うことができる画像形成装置,プログラム更新方法および記録媒体を得ることを主な目的とする。この発明の別の目的は一種類の記録媒体で複数機種のプログラム更新に対応することができる画像形成装置,プログラム更新方法および記録媒体を得ることである。この発明の別の目的はプログラム更新作業に伴うハードウェア障害を防止することができる画像形成装置,プログラム更新方法および記録媒体を得ることである。
【0021】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置であって、前記プログラムの起動情報を取得する起動情報取得手段と、前記プログラムの更新データが記録された記録媒体から、前記プログラムのモジュール識別情報を取得するモジュール識別情報取得手段と、前記起動情報およびモジュール識別情報に基づいて、前記記録媒体から前記プログラムの少なくとも一部に対応した更新データを選定する更新データ選定手段と、記憶部に格納されている前記プログラムを前記選定された更新データで更新する更新手段とを有し、前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、前記システムコントロールサービスのプログラムは、前記更新データ選定手段として動作し、前記起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、前記起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする。
【0022】
この請求項1にかかる発明によれば、取得した起動情報およびモジュール識別情報に基づいて、記録媒体から更新データを選定し、更新手段によって記憶部に格納されているプログラムを前記選定された更新データによって更新することで、画像形成装置上の構成に応じて適切な更新データを選択してプログラム更新を行うことができる。
この請求項1にかかる発明によれば、更新データ選定手段が、更新データの選定処理を行うプログラム更新モードスレッドを含むプロセスとして動作することで、他の通常処理を行うスレッドと別スレッドで更新データの選定処理を実行することができる。このため、一つの更新データ選定手段のプロセスで、通常処理時とプログラム更新時との処理をスレッドで切り分けることができ、更新データの選定処理を行うプロセスを別途設ける必要がなく、プログラム更新処理時のプロセス切り替えに伴う処理の遅延を回避することができる。
この請求項1にかかる発明によれば、コントロールサービスのそれぞれが通常モードスレッドと、プログラム更新モードスレッドとを含むプロセスとして動作し、起動情報取得手段がプログラム更新処理時にコントロールサービスの各プログラム更新モードスレッドを起動することで、画像形成装置の構成の把握のためにコントロールサービスを起動させた場合でも、画像形成に係る処理を停止した状態でプログラム更新処理を行うことができる。このため、プログラム更新処理中に不要な機能が作動することによるプログラム更新処理の中断などを防止することができる。
【0023】
なお、本発明におけるプログラムの起動情報とは、プログラムを識別するものであり、プログラム名やプログラムIDなどを用いることができる。また、モジュール識別情報は、更新データで更新の対象となるプログラムを識別するものであり、プログラム名、プログラムIDなどを用いることができる。
【0024】
また、請求項2にかかる発明は、前記起動情報取得手段は、前記記録媒体を認識したときに前記記憶部に格納されている前記プログラムの起動情報を取得することを特徴とする。
【0025】
この請求項2にかかる発明によれば、記録媒体を認識したときに起動情報取得手段の処理を開始できる。
【0030】
また、請求項3にかかる発明は、前記モジュール識別情報取得手段は、記録媒体に固有の媒体識別情報に基づいて、前記記録媒体に更新データが記録されているか否かを判断し、前記記録媒体に更新データが記録されているときは前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする。
【0031】
この請求項3にかかる発明によれば、記録媒体に固有の媒体識別情報に基づいて、記録媒体に更新データが記録されているか否かを判断し、前記記録媒体に更新データが記録されているときはコントロールサービスのプログラム更新モードスレッドを起動することで、画像形成装置に記録媒体を入力すれば、プログラム更新モードで起動したシステムコントロールサービスによるプログラム更新処理が行われる。このため、従来のプログラム更新方法で行っていたDIPスイッチの切り替えを必要とせずにプログラム更新処理を実現することができる。
【0032】
また、請求項4にかかる発明は、前記システムコントロールサービスのプログラムのプログラム更新モードスレッドは、さらに記憶部に記憶されたファイルを検索して前記プログラムの起動情報を取得し、前記プログラムの起動情報に基づいて前記プログラムの更新データを選定することを特徴とする。
【0033】
この請求項4にかかる発明によれば、記憶部に記憶されたファイルを検索してプログラムの起動情報を取得し、システムコントロールサービスのプログラム更新モードスレッドがプログラムの起動情報に基づいてプログラムの更新データを選定することで、画像形成装置上で動作可能なプログラムを実際に実行することなく把握して、画像形成装置の構成に応じた適切な更新データを選択してプログラム更新を行うことができる。
【0034】
また、請求項5にかかる発明は、前記システムコントロールサービスのプログラムのプログラム更新モードスレッドは、前記記録媒体に記録されている全てのモジュール識別情報と前記プログラムの起動情報とを比較し、前記起動情報に一致する前記モジュール識別情報に対応した更新データを選定することを特徴とする。
【0035】
この請求項5にかかる発明によれば、システムコントロールサービスのプログラム更新モードスレッドが、記録媒体に記録されている全てのモジュール識別情報とプログラムの起動情報とを比較し、起動情報に一致するモジュール識別情報に対応した更新データを選定することで、記録媒体に記録された全てのモジュール識別情報の中から、画像形成装置の構成に応じた更新データを正確に選択することができ、画像形成装置の構成に応じた適切なプログラム更新を行うことができる。
【0036】
また、請求項6にかかる発明は、機種固有の機種識別情報を取得する機種識別情報取得手段をさらに有し、前記記録媒体は、前記プログラムのモジュール識別情報と前記プログラムの更新データとが対応づけられているとともに、前記モジュール識別情報ごとに前記プログラムを動作可能な画像形成装置の機種識別情報が記録されているものであり、前記システムコントロールサービスのプログラムのプログラム更新モードスレッドは、前記記録媒体に記録されている全ての前記モジュール識別情報と、前記プログラムの起動情報とを比較し、前記起動情報と一致するモジュール識別情報であって、前記機種識別情報取得手段により取得した機種識別情報に基づいて更新データを選定することを特徴とする。
【0037】
この請求項6にかかる発明によれば、システムコントロールサービスのプログラム更新モードスレッドが記録媒体に記録されている全てのモジュール識別情報と、プログラムの起動情報とを比較し、起動情報と一致するモジュール識別情報であって、機種識別情報取得手段により取得した機種識別情報に基づいて更新データを選定することで、画像形成装置の機種により動作可能なプログラムの配置が異なっている場合でも、一種類の記録媒体を複数機種の画像形成装置のプログラム更新に共有して用いることができる。
【0038】
また、請求項7にかかる発明は、前記記録媒体には、各モジュール識別情報ごとに前記更新データを書き込む記憶部の更新先領域が記録されており、前記更新手段は、前記プログラムを記憶部の更新先領域から前記選定された更新データで更新することを特徴とする。
【0039】
この請求項7にかかる発明によれば、記憶部の更新先領域を更新データで更新することで、記憶部に格納されているプログラムの配置や更新先を決定する処理が不要となり、正確かつ迅速なプログラム更新を行うことができる。
【0040】
また、請求項8にかかる発明は、前記記録媒体は、前記更新先領域を前記機種識別情報ごとに記録したものであることを特徴とする。
【0041】
この請求項8にかかる発明によれば、更新先領域が機種識別情報ごとに記録されているので、画像形成装置の機種により動作可能なプログラムの配置が異なっている場合でも、一種類の記録媒体を用いて複数機種の画像形成装置のプログラム更新を正確かつ迅速に行うことができる。
【0042】
また、請求項9にかかる発明は、前記更新手段は、さらに更新されたプログラムと前記更新データとを比較して同一性をチェックすることを特徴とする。
【0043】
この請求項9にかかる発明によれば、更新手段がさらに更新されたプログラムと更新データを比較して同一性をチェックすることで、プログラム更新時に生じたエラーを速やかに検出することができる。
【0044】
また、請求項10にかかる発明は、プログラム更新に関する更新情報を記憶する不揮発性記憶手段をさらに有し、前記更新手段は、前記プログラムの更新時に、前記更新情報を前記不揮発性記憶手段に格納するとともに、前記プログラムの更新前に前記不揮発性記憶手段に前記更新情報が格納されているか否かを判断し、更新情報が格納されている場合には、前記不揮発性記憶手段に格納されている更新情報に基づいて前記プログラムを更新することを特徴とする。
【0045】
この請求項10にかかる発明によれば、プログラムの更新時に、プログラム更新に関する更新情報を不揮発性記憶手段に格納し、プログラムの更新前に不揮発性記憶手段に更新情報が格納されていると判断した場合には、不揮発性記憶手段に格納されている更新情報に基づいてプログラムを更新することで、更新処理が途中で中断された場合でも、次回の起動時に更新情報を復帰させることができる。また、次回の起動時に前回の更新処理の中断時点から更新処理を再開することもでき、中断後のプログラム更新処理を速やかに復帰させることができる。
【0046】
また、請求項11にかかる発明は、プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置の記憶部に格納されたプログラムを更新データによって更新するプログラム更新方法において、前記プログラムの起動情報を取得する起動情報取得ステップと、前記プログラムの更新データが記憶された記録媒体から、前記プログラムのモジュール識別情報を取得するモジュール識別情報取得ステップと、前記起動情報およびモジュール識別情報に基づいて、前記記録媒体から前記プログラムのうちの少なくとも一部に対応した更新データを選定する更新データ選定ステップと、前記記憶部に格納されている前記プログラムを前記選定された更新データで更新する更新ステップとを有し、前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、前記システムコントロールサービスのプログラムは、前記更新ステップを行う更新データ選定手段として動作し、前記起動情報取得ステップを行う起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、前記起動情報取得ステップを行う起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする。
【0047】
この請求項11の発明によれば、取得した起動情報およびモジュール識別情報に基づいて記録媒体から更新データを選定した上で、記憶部に格納されているプログラムを選定された更新データによって更新することで、装置で動作するプログラムの構成に応じて適切な更新データを選択してプログラム更新を行うことができる。
【0048】
また、請求項12にかかる発明は、前記起動情報取得ステップは、さらに、前記記憶部に格納されているファイルを検索して前記プログラムの起動情報を取得することを特徴とする。
【0049】
この請求項12の発明によれば、記憶部に格納されているファイルを検索してプログラムの起動情報を取得し、モジュール識別情報およびプログラムの起動情報に基づいて記録媒体から更新データを選定することで、装置で動作可能なプログラムを実行せずに予め把握して、装置の構成に応じて適切な更新データのみを選択してプログラム更新を行うことができる。
【0050】
また、請求項13にかかる発明は、前記更新データ選定ステップは、前記記録媒体に記録された全てのモジュール識別情報と前記プログラムの起動情報とを比較して、前記起動情報と一致する前記モジュール情報に対応した更新データを選定することを特徴とする。
【0051】
この請求項13にかかる発明によれば、更新データ選定ステップにより記録媒体に記録された全てのモジュール識別情報とプログラムの起動情報とを比較して、起動情報と一致するモジュール情報に対応した更新データを選定することで、記録媒体に記録された全てのモジュール識別情報の中から、装置の構成に応じた更新データを正確に選択することができ、装置の構成に応じた適切なプログラム更新を行うことができる。
【0052】
また、請求項14にかかる発明は、前記プログラムを動作させる装置機種に固有の機種識別情報を取得する機種識別情報取得ステップをさらに含み、前記記録媒体は、前記プログラムのモジュール識別情報と前記プログラムの更新データとが対応づけられているとともに、前記モジュール識別情報ごとに前記プログラムを動作可能な機種の機種識別情報が記録されたものであり、前記更新データ選定ステップは、前記記録媒体に記録されている全ての前記モジュール識別情報と前記プログラムの起動情報と比較し、前記起動情報と一致するモジュール識別情報であって、前記機種識別情報取得ステップにより取得した機種識別情報に基づいて更新データを選定することを特徴とする。
【0053】
この請求項14にかかる発明によれば、更新データ選定ステップにより記録媒体に記録されている全てのモジュール識別情報とプログラムの起動情報とを比較して起動情報と一致するモジュール識別情報を抽出し、抽出したモジュール識別情報および機種識別情報取得ステップで取得した機種識別情報に基づいて更新データを選定することで、プログラム実行装置の機種により動作可能なプログラムが異なっている場合でも、一種類の記録媒体を複数機種の装置のプログラム更新に共有して用いることができる。
【0054】
なお、本発明における機種識別情報は、装置の機種を特定できるものであればよく、例えば機種名、機種IDなどを用いることができる。
【0055】
また、請求項15にかかる発明は前記プログラムは、プログラム更新に関する処理を実行するプログラム更新モードを有しており、前記起動情報取得ステップは、記録媒体に固有の媒体識別情報に基づいて前記記録媒体に更新データが記録されているか否かを判断し、前記記録媒体に更新データが記録されているときは前記プログラムを前記プログラム更新モードで起動することを特徴とする。
【0056】
この請求項15にかかる発明によれば、プログラム起動ステップにより記録媒体に固有の媒体識別情報を読み出して記録媒体に更新データが記録されているか否かを判断し、記録媒体に更新データが記録されているときはプログラムを、プログラム更新に関する処理を実行するプログラム更新モードで起動することで、装置の起動時に記録媒体を入力すれば、プログラム更新モードで起動したプログラムによるプログラム更新に関する処理が行われる。このため、従来のプログラム更新方法で行っていたDIPスイッチの切り替えを必要とせずにプログラム更新を行うことができる。
【0057】
また、請求項16にかかる発明は、前記更新データ選定ステップは、前記起動情報取得ステップにより前記プログラム更新モードで起動されたプログラムによって実行されることを特徴とする。
【0058】
この請求項16にかかる発明によれば、更新データ選定ステップが起動情報取得ステップによりROM更新モードで起動されたプログラムによって実行されるので、プログラムを更新データ選定処理用のプログラムと兼用してプログラムによるメモリ使用サイズが減少するとともに、更新処理速度の向上が図られる。
【0059】
また、請求項17にかかる発明は、前記記録媒体には、各モジュール識別情報ごとに前記更新データを書き込む記憶部の更新先領域が記録されており、前記更新ステップは、前記プログラムを記憶部の更新先領域から前記選定された更新データで更新することを特徴とする。
【0060】
この請求項17にかかる発明によれば、モジュール識別情報ごとに記録されている更新先領域を更新データで更新することで、記憶部のプログラムの配置や更新先を決定する処理が不要となり、正確かつ迅速なプログラム更新を行うことができる。
【0061】
また、請求項18にかかる発明は、前記記録媒体には、前記機種識別情報ごとに前記更新データを書き込む記憶部の更新先領域が記録されており、前記更新ステップは、前記プログラムを記憶部の更新先領域から前記選定された更新データで更新することを特徴とする。
【0062】
この請求項18にかかる発明によれば、機種識別情報ごとに記録されている更新先領域を更新データで更新することで、装置の機種により動作可能なプログラムの配置が異なっている場合でも、一種類の記録媒体を用いて複数機種の装置のプログラム更新を正確かつ迅速に行うことができる。
【0063】
また、請求項19にかかる発明は、前記更新ステップは、さらに更新されたプログラムと前記更新データとを比較して同一性をチェックすることを特徴とする。
【0064】
この請求項19にかかる発明によれば、さらに更新されたプログラムと更新データを比較して同一性をチェックすることで、プログラム更新時に生じたエラーを速やかに検出することができる。
【0065】
また、請求項20にかかる発明は、前記更新ステップは、前記プログラムの更新時に、プログラム更新に関する更新情報を不揮発性記憶手段に格納し、プログラムの更新前に前記不揮発性記憶手段に前記更新情報が格納されているか否かを判断し、前記更新情報が格納されている場合には、前記不揮発性記憶手段に格納されている更新情報に基づいて前記プログラムを更新することを特徴とする。
【0066】
この請求項20にかかる発明によれば、プログラムの更新時に、プログラム更新に関する更新情報を不揮発性記憶手段に格納し、プログラムの更新前に不揮発性記憶手段に更新情報が格納されていると判断した場合には、不揮発性記憶手段に格納されている更新情報に基づいてプログラムを更新することで、更新処理が途中で中断された場合でも、次回の起動時に更新情報を復帰させることができる。また、次回の起動時に前回の更新処理の中断時点から更新処理を再開することもでき、中断後のプログラム更新処理を速やかに復帰させることができる。
【0067】
また、請求項21にかかる発明は、プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置に、プログラムの起動情報を取得する起動情報取得手順と、前記プログラムの更新データが記憶された記録媒体から、前記プログラムのモジュール識別情報を取得するモジュール識別情報取得手順と、前記起動情報およびモジュール識別情報に基づいて、前記記録媒体から前記プログラムのうちの少なくとも一部に対応した更新データを選定する更新データ選定手順と、前記記憶部に格納されている前記プログラムを前記選定された更新データで更新する更新手順とを実行させ、前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、前記システムコントロールサービスのプログラムは、前記更新手順を行う更新データ選定手段として動作し、前記起動情報取得手順を行う起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、前記起動情報取得手順を行う起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とするように実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
また、請求項22にかかる発明は、プリンタ部またはスキャナ部の少なくとも一方を含み画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置であって、前記プログラムの起動情報を取得する起動情報取得手段と、前記プログラムの更新データが記録された記録媒体から自機の構成に応じた前記プログラムの更新データを選定する更新データ選定手段と、前記更新データ選定手段が選定した前記プログラムの更新データを取得し、記憶部に格納されている前記プログラムを前記取得した更新データで更新する更新手段を有し、前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、前記システムコントロールサービスのプログラムは、前記更新データ選定手段として動作し、前記起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、前記起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする。
また、請求項23にかかる発明は、プリンタ部またはスキャナ部の少なくとも一方を含み画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置の記憶部に格納されたプログラムを更新データによって更新するプログラム更新方法において、前記プログラムの起動情報を取得する起動情報取得ステップと、前記プログラムの更新データが記録された記録媒体から自機の構成に応じた前記プログラムの更新データを選定する更新データ選定ステップと、前記更新データ選定ステップで選定された前記プログラムの更新データを取得し、前記記憶部に格納されている前記プログラムを前記取得した更新データで更新する更新ステップとを有し、前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、前記システムコントロールサービスのプログラムは、前記更新データ選定ステップを行う更新データ選定手段として動作し、前記起動情報取得ステップを行う起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、前記起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする。
【0068】
本発明によれば、画像形成装置の構成に応じて最適な更新データを選択してプログラム更新を行うことができ、一種類の記録媒体で複数機種のプログラム更新に対応することができ、プログラム更新作業に伴うハードウェア障害を防止することが可能である。
【0069】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置およびプログラム更新方法の好適な実施の形態を詳細に説明する。
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ、ファクシミリなどのハードウェアリソース103などを有するとともに、プラットホーム120とアプリケーション130とから構成されるソフトウェア群110と、電源投入時に実行される複合機起動部140とを備えている。
【0070】
複合機起動部140は、複合機100の電源投入時にまずはじめに実行され、上記各モジュールを起動モードに応じて実行するものである。ここで、起動モードには通常モードとROM更新モードがある。通常モードとは、複合機でコピー、プリント、スキャナ、ファクシミリなど通常の複合サービスを行うために起動するモードである。ROM更新モードとは、記憶部の一例としてのフラッシュメモリの更新を行うために複合機を起動するモードであり、ROM更新フラッシュカード207を挿入した状態で電源投入が行われた場合に複合機はROM更新モードで起動する。
【0071】
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0072】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
【0073】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0074】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御するという複合サービスを行う際に実行される通常モードスレッドと、かかるリソース管理を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0075】
具体的には、このSRM123の通常モードスレッドは、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0076】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御という複合サービスを行う際に実行される通常モードスレッドを有している。
【0077】
SCS122のプロセスは、さらに複合機100がROM更新モードで起動された場合にのみ起動されるROM更新モードスレッドを通常モードスレッドとは別個に有している。このROM更新モードスレッドは、複合機100がROM更新モードで起動されたときに、ROM更新フラッシュカード207に記録されている更新データの中から、複合機100で動作するアプリケーション、コントロールサービスの構成に応じた更新データを選定する処理を行う。
【0078】
ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御という複合サービスを行う際に実行される通常モードスレッドと、このようなエンジン制御を行わずに単に起動されるだけのROM更新モードスレッドを有している。
【0079】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などのコピー、プリンタ、ファクシミリおよびスキャナなどの複合サービスを行う際に実行される通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0080】
OCS126のプロセスは、オペレータと本体制御間の情報伝達手段となる操作パネル(オペレーションパネル)の制御という複合サービスを行う際に起動される通常モードスレッドと、かかる操作パネルの制御を行わず単に起動されるだけのROM更新モードスレッドを有している。
【0081】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するという複合サービスを行う際に起動される通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0082】
NCS128は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行うという複合サービスを行う際に実行される通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0083】
このように、ECS124、MCS125、OCS126、FCS127、NCS128、SRM123の各ROM更新モードスレッドはいずれも単に起動されるだけであるが、これは、ROM更新処理時に、複合機内部で動作するコントロールサービスの存在を示すために起動されるようになっている。SCS122のROM更新モードスレッドは、ROM更新処理時に更新データの選定処理を行うとともに、複合機内部で動作するコントロールサービスの存在を示すために起動されるようになっている。
【0084】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。
【0085】
図2は、図1に示した実施の形態1の複合機のハードウェア構成図である。図2に示すように、この複合機100は、コントローラボード200と、オペレーションパネル210と、ファックスコントロールユニット(FCU)220と、USBデバイス230と、IEEE1394デバイス240と、ブルートゥースデバイス250と、エンジン部260から構成されている。
【0086】
図2のコントローラボード200は、ASIC201、CPU202、SDRAM203、フラッシュメモリ204、HDD205,フラッシュカードインタフェース部206,SRAM208およびネットワークインターフェースコントローラ209から構成されている。
【0087】
オペレーションパネル210は、ASIC201に直接接続されている。FCU220、USBデバイス230、IEEE1394デバイス240,ブルートゥースデバイス250およびエンジン部260は、PCIバスを介してASIC201に接続されている。
【0088】
ネットワークインターフェースコントローラ209は、ネットワーク271に接続されている他の機器とMACアドレスなどを用いて通信する。FCU220は電話網272に接続されている。また、USBデバイス230、IEEE1394デバイス240およびブルートゥースデバイス250は、他の端末273〜275に接続される。
【0089】
フラッシュカードインタフェース部206は、挿入されたフラッシュカード207とデータのやりとりを行うインタフェースである。フラッシュカード207は、本発明における記録媒体を構成するものであり、上述の各アプリ、各コントロールサービスおよびシステムリソースマネージャの各プログラムの更新データや更新先領域の一例としての更新先アドレスが格納されている。
【0090】
フラッシュメモリ204は、本発明における記憶部を構成するものである。なお、本発明における記憶部はフラッシュメモリ204に限るものでなく、SDRAM203、HDD205であってもよい。
【0091】
SRAM208は、ROM更新中に電源が切れた場合に、処理復帰のために更新中の各種情報を蓄積するバッテリを用いた不揮発性メモリであり、本発明における不揮発性記憶手段を構成する。
【0092】
フラッシュメモリ(以下、「フラッシュROM」という。)204には、上述の各アプリ、プラットホーム120を構成する各コントロールサービスやSRM123の各プログラムが格納されている。
【0093】
図3は、フラッシュカード207に格納されているデータの構造図である。フラッシュカード207には、図3に示すように、先頭のROMモニタ起動命令300と、カード識別番号301と、ヘッダ部302と、データ部303とから構成される。
【0094】
ROMモニタ起動命令300は、複合機100の起動時に参照されて後述するROMモニタの起動を行うコマンドである。カード識別番号301は、フラッシュカード207の種類を識別するものであり、ROM更新カード用、言語カード用、編集カード用にそれぞれの識別番号が予め割り当てられている。この実施の形態1において使用するフラッシュカード207には、ROM更新カード用の固有の番号がカード識別番号301に記録されている。
【0095】
ヘッダ部302は、更新するモジュールに対応するように、モジュールごとのヘッダブロックに分かれている。各ヘッダブロックには、次のヘッダブロックまでのオフセットである次ヘッダオフセットと、モジュールの更新データまでのオフセットである更新データオフセットと、更新データのサイズと、モジュールの識別情報であるモジュールIDと、そのモジュールのバージョンを表すバージョン情報と、そのモジュールのフラッシュROM204上での相対番地を示す更新先アドレスと、そのモジュールのサイズである更新先領域長とから構成される。
【0096】
ここで、モジュールは、MCS125、ECS124、NCS128などのコントロールサービス単位のプログラム、プリンタアプリ111、コピーアプリ112などのアプリ単位のプログラム、プリンタエンジン101,102、スキャナエンジンなどのエンジン単位のプログラムで更新可能となっている。また、更新データとは、これらのモジュールに対する変更プログラムのバイナリデータを圧縮形式にしたものである。
【0097】
ヘッダ部302に続いてデータ部303が記録されており、データ部303には更新データがモジュールごとに格納されている。各モジュールの更新データの先頭は、モジュールに対応するヘッダブロックの更新データオフセットにより参照できるようになっている。
【0098】
図4は、実施の形態1の複合機における複合機起動部の構成を示すブロック図である。実施の形態1の複合機100における複合機起動部140は、図4に示すとおり、ROMモニタ410と、プログラム起動部420と、ROM更新モードスレッドを起動したSCS122と、ROM更新部430とから構成される。ROMモニタ410、プログラム起動部420、ROM更新部430は、フラッシュROM204に記憶されている。
【0099】
ここで、プログラム起動部420は本発明における起動情報取得手段を、SCS122は本発明の更新データ選定手段を、ROM更新部430は本発明における更新手段をそれぞれ構成する。なお、本発明の更新データ選択手段はSCS122に限るものでなく、他のコントロールサービスやアプリの一部または全部の機能であってもよい。
【0100】
ROMモニタ410は、フラッシュROM204のブートベクタに記録されたROMモニタ起動命令を実行することにより起動され、ハードウェアの初期化、コントローラボードの診断、ソフトウェアの初期化、汎用OS121の起動などを行う。
【0101】
プログラム起動部420は、汎用OS121から呼び出されるものであり、起動モード設定部421と、サービス層起動部422と、アプリ起動部423と、アプリ起動情報設定部424とから構成される。
【0102】
起動モード設定部421は、フラッシュカード207のカード識別番号のチェックを行って、通常モードまたはROM更新モードの起動モードの設定を行う。サービス層起動部422は、汎用OS121の起動情報を取得して、コントロールサービスを起動する。アプリ起動情報設定部424は、ROM更新モードの場合に実行され、各アプリの起動情報を取得して、取得したアプリ起動情報を環境変数に設定する。アプリ起動部423は、起動モードが通常モードである場合に実行され、各アプリの起動情報を取得して各アプリを起動する。
【0103】
SCS122のROM更新モードスレッドは、プログラム起動部420のサービス層起動部422によって他のコントロールサービスとともに起動される。SCS122のROM更新モードスレッドでは、複合機100で動作するコントロールサービスやアプリを判断して、フラッシュカード207から複合機100の構成に応じた更新データを選定する。また、SCS122のROM更新モードスレッドは、ROM更新部430を起動して、ROM更新部430に対して選定した更新データの情報とともにROM更新命令を発する。
【0104】
ROM更新部430は、SCS122のROM更新モードスレッドにより起動され、SCS122からROM更新命令を受け取って、更新データでフラッシュROM204を更新するものである。ROM更新部430は、SCS122からのROM更新命令を解析するROM更新命令解読部431と、更新先アドレスと解析したROM更新命令に基づいてフラッシュROM204のプログラムを更新するROM更新処理部433と、ROM更新中の各種情報をSRAM208へ格納するSRAM処理部432と、ROM更新処理中のユーザへの進捗表示を制御する表示制御部434とから構成される。
【0105】
次にこのように構成された複合機100におけるROM更新処理について説明する。図5は、実施の形態1の複合機100におけるROM更新の全体の処理手順を示すフローチャートである。
【0106】
ステップS501では、ROM更新によりフラッシュROM204上のアプリやコントロールサービスなどのプログラムを更新するため、複合機100にフラッシュカード207をフラッシュカードインタフェース部206に挿入した状態で複合機100の電源投入を行う。
【0107】
ステップS501に続いてステップS502に進み、複合機100のブートプログラムは、フラッシュカード207の先頭レコードからROMモニタ起動命令を読み込んで実行し、これによりROMモニタ410が起動する。ステップS502に続いてステップS503に進み、ROMモニタ410はハードウェアおよびソフトウェアの初期化を行って、汎用OS121を起動する。
【0108】
ステップS504では、コントロールサービスなどのプログラムを起動させるためのプログラム起動部420が実行される。ステップS504に続いてステップS505に進み、プログラム起動部420はフラッシュカード207のチェックを行って起動モードを設定し、コントロールサービスを起動する。
【0109】
ステップS506では、起動したコントロールサービスの中でSCS122のROM更新モードスレッドが、フラッシュカード207内のデータ解析を行うとともに、複合機100で動作するプログラムをチェックして更新対象のプログラムを決定し、ROM更新部430を起動する。ROM更新部430では、SCS122で決定されたフラッシュROM204上のプログラムに対してフラッシュカード207の更新データによってROM更新を行う。
【0110】
以下に、ROMモニタ410、プログラム起動部420、SCS122およびROM更新部430で行われる処理について詳細に説明する。図6は、実施の形態1の複合機100において、ROMモニタ410で実行される処理の手順を示すフローチャートである。
【0111】
ステップS601では、ROMモニタ410が、まずハードウェアの初期化を行う。ステップS601に続いてステップS602に進み、ROMモニタ410はコントローラボードの診断処理を実行する。そして、ステップS602に続いてステップS603に進み、ROMモニタ410はソフトウェアの初期化処理を行う。ステップS603に続いてステップS604に進み、ROMモニタ410は最後に汎用OS121を起動する。
【0112】
図7は、実施の形態1の複合機100において、プログラム起動部420で実行される処理の手順を示すフローチャートである。ステップS701では、プログラム起動部420が、起動モード設定部421によって、フラッシュカード207のカード識別番号301を読み出して、マジックナンバーがあらかじめ定められたROM更新用のフラッシュカードの番号であるか否かをチェックする。
【0113】
カード識別番号301がROM更新用のフラッシュカードの番号である場合には、起動モード設定部421はステップS702に進み、起動モードをROM更新モードに設定して以下の処理を行う。
【0114】
ステップS702に続いてステップS703に進み、プログラム起動部420はサービス層起動部422によってフラッシュROM204のファイルシステムをマウントする。ステップS703に続いてステップS704に進み、サービス層起動部422はフラッシュROM204からSCS122,ECS124,MCS125などのコントロールサービスの起動情報を取得する。ステップS705では、ステップS704で取得した起動情報をサービス層起動部422が環境変数に設定する。ステップS705に続いてステップS706に進み、サービス層起動部422はSCS122、ECS124、MCS125などのコントロールサービスを汎用OS121上で起動する。このとき、各コントロールサービスはROM更新モードスレッドを起動する。
【0115】
ステップS707では、サービス層起動部422が、SCS122のROM更新モードスレッドが起動したら、起動したコントロールサービスのコントロールサービス起動情報を環境変数に設定する。
【0116】
ここで、コントロールサービス起動情報とは、起動したコントロールサービスのプロセスIDやモジュール名など、コントロールサービスのプログラムを識別するものであり、各コントロールサービスに固有の情報となっている。
【0117】
ステップS707に続いてステップS708に進み、プログラム起動部420はアプリ起動情報設定部424によって、フラッシュROM204のファイルシステムをマウントする。ステップS708に続いてステップS709に進み、アプリ起動情報設定部424はマウントしたファイルシステムを検索してアプリのプログラムを抽出し、複合機で起動されるアプリのアプリ起動情報を取得する。そして、ステップS710では、アプリ起動情報設定部424が、ステップS709で取得したアプリ起動情報を環境変数に設定する。
【0118】
ここで、アプリ起動情報とは、複合機100で動作可能なアプリを識別するアプリ固有の情報であり、アプリのモジュールID、モジュール名,バージョン情報などである。なお、ROM更新モードでは、コントロールサービスのみを起動し、アプリは起動しない。また、環境変数に設定されたコントロールサービス起動情報とアプリ起動情報は、SCS122へ受け渡される。このようにしてROM更新モードでのプログラム起動が行われる。
【0119】
ステップS701で、カード識別番号がROM更新用のフラッシュカードの番号以外の番号である場合には、起動モード設定部421はステップS711に進み、起動モードを通常モードに設定して以下の通常起動の処理を行う。
【0120】
ステップS711に続いてステップS712に進み、プログラム起動部420はサービス層起動部422によってフラッシュROM204のファイルシステムをマウントする。ステップS712に続いてステップS713に進み、サービス層起動部422はフラッシュROM204からSCS122,ECS124,MCS125などのコントロールサービスの起動情報を取得する。
【0121】
ステップS713に続いてステップS714に進み、サービス層起動部422はSCS122、ECS124、MCS125などのコントロールサービスを汎用OS121上で起動する。このとき、各コントロールサービスは通常モードスレッドを起動する。
【0122】
ステップS714に続いてステップS715に進み、SCS122が起動したら、プログラム起動部420はアプリ起動部423によって、フラッシュROM204のファイルシステムをマウントする。ステップS715に続いてステップS716に進み、アプリ起動部423はマウントしたファイルシステムから複合機100で起動されるアプリのアプリ起動情報を取得する。そして、ステップS717では、アプリ起動部423が、各アプリを起動する。
【0123】
図8および図9は、実施の形態1の複合機100において、SCS122のROM更新モードスレッドで実行される更新データの選定処理の手順を示すフローチャートである。
【0124】
ステップS801では、SCS122のROM更新モードスレッドが、SRAM208にモジュールIDやフラッシュROM204の更新先アドレスなどの更新情報がすでに記憶されているか否かを確認する。
【0125】
SRAM208に更新情報が記憶されていると判断した場合には、SCS122のROM更新モードスレッドはROM更新処理が中断された後の起動であると判断し、ステップS802に進む。ステップS802では、SCS122のROM更新モードスレッドが、SRAM208から更新情報を取得する。
【0126】
ステップS802に続いてステップS803に進み、SCS122のROM更新モードスレッドは、まずROM更新用のフラッシュカード207の最初のヘッダブロックを参照する。ステップS803に続いてステップS804に進み、SCS122のROM更新モードスレッドはヘッダブロックからモジュールIDを取得する。
【0127】
ステップS804に続いてステップS805に進み、SCS122のROM更新モードスレッドはヘッダブロックから取得したモジュールIDがステップS802でSRAM208から取得した更新情報に相当するか否かを判断する。
【0128】
ヘッダブロックから取得したモジュールIDが、SRAM208から取得した更新情報に該当する場合には、SCS122のROM更新モードスレッドはステップS806に進む。ステップS806では、SCS122のROM更新モードスレッドが、そのモジュールIDの更新データを選定し、さらにヘッダブロックから更新先アドレス、更新データオフセット、更新データサイズを取得する。
【0129】
ステップS806に続いてステップS807に進み、SCS122のROM更新モードスレッドはモジュールID、更新先アドレス、更新データオフセット、更新データサイズを一組とした更新情報を「更新対象」の変数等に設定し、ステップS809に進む。
【0130】
一方、ステップS805において、ヘッダブロックから取得したモジュールIDが、SRAM208から取得した更新情報に相当しない場合には、SCS122のROM更新モードスレッドは取得したモジュールIDの更新データを選定せず、ステップS809に進む。つまり、SCS122のROM更新モードスレッドはステップS806およびS807の処理は行わない。
【0131】
ステップS809では、SCS122のROM更新モードスレッドが、次ヘッダブロックオフセットを参照することにより、次のヘッダブロックが存在するか否かを判断する。次のヘッダブロックが存在する場合には、SCS122のROM更新モードスレッドはステップS810に進み、次のヘッダブロックを参照する。そして、SCS122のROM更新モードスレッドはステップS804からステップS807,ステップS809およびステップS810の処理を繰り返し行う。
【0132】
一方、次のヘッダブロックが存在しない場合には、SCS122のROM更新モードスレッドはステップS808に進む。つまり、すべてのヘッダブロックのモジュールIDについての更新データの選定が終了したら、SCS122のROM更新モードスレッドはROM更新部430を起動してROM更新命令を発行し、更新対象の変数を引き渡す。
【0133】
一方、SRAM208に更新情報が存在しない場合には、ROM更新部430はステップS811に進み、SCS122のROM更新モードスレッドは、まずROM更新用のフラッシュカード207の最初のヘッダブロックを参照する。ステップS811に続いてステップS812に進み、SCS122のROM更新モードスレッドはヘッダブロックからモジュールIDを取得する。
【0134】
ステップS812に続いてステップS813に進み、SCS122のROM更新モードスレッドはヘッダブロックから取得したモジュールIDが環境変数の中のコントロールサービスまたはアプリに相当するか否かを判断する。
【0135】
ヘッダブロックから取得したモジュールIDが、環境変数の中のコントロールサービスまたはアプリに相当する場合には、SCS122のROM更新モードスレッドはステップS814に進む。
【0136】
ステップS814では、SCS122のROM更新モードスレッドが、そのモジュールIDの更新データを選定し、さらにヘッダブロックから更新先アドレス、更新データオフセット、更新データサイズを取得する。
【0137】
ステップS814に続いてステップS815に進み、SCS122のROM更新モードスレッドはモジュールID、更新先アドレス、更新データオフセット、更新データサイズを一組とした更新情報を「更新対象」の変数等に設定し、ステップS816に進む。
【0138】
一方、ステップS813において、ヘッダブロックから取得したモジュールIDが、環境変数の中のコントロールサービスまたはアプリに相当しない場合には、SCS122のROM更新モードスレッドは取得したモジュールIDの更新データを選定せず、ステップS816に進む。つまり、SCS122のROM更新モードスレッドはステップS814およびS815の処理は行わない。
【0139】
ステップS816では、SCS122のROM更新モードスレッドが、次ヘッダブロックオフセットを参照することにより、次のヘッダブロックが存在するか否かを判断する。次のヘッダブロックが存在する場合には、SCS122のROM更新モードスレッドはステップS817に進み、次のヘッダブロックを参照する。そして、SCS122のROM更新モードスレッドはステップS812からステップS817までの処理を繰り返し行う。
【0140】
一方、次のヘッダブロックが存在しない場合には、SCS122のROM更新モードスレッドはステップS818に進む。つまり、すべてのヘッダブロックのモジュールIDについての更新データの選定が終了したら、SCS122のROM更新モードスレッドはROM更新部430を起動してROM更新命令を発行し、更新対象の変数を引き渡す。
【0141】
これにより、ROM更新用のフラッシュカード207で提供される更新データの中から、複合機100内に存在するモジュールの更新データが選定されることになる。
【0142】
図10は、実施の形態1の複合機100において、ROM更新部430で実行されるROM更新処理の手順を示すフローチャートである。
【0143】
ステップS902では、ROM更新部430が、SCS122から受け渡された更新対象の変数から最初の組の更新情報(モジュールID、バージョン情報、更新先アドレス、更新データオフセットおよび更新データサイズ)をSRAM208に格納してステップS903に進む。ステップS902の処理により、更新処理がエラー発生によって中断した場合でも次回の起動により更新処理を直ちに続行することができる。
【0144】
ステップS903では、ROM更新部430が、フラッシュカード207の先頭アドレスから更新データオフセットで示されるアドレスから更新データサイズ分のデータを更新データとして読み出し、この更新データでフラッシュROM204上の更新先アドレスから始まるモジュールを更新する。
【0145】
ステップS903に続いてステップS904に進み、ROM更新部430はフラッシュカード207の更新データと、ステップS903で更新したフラッシュROM204上のモジュールのデータとを比較して同一か否かのチェックを行う。同一でない場合には、ROM更新部430はステップS905に進み、更新処理が失敗した旨のエラーを表示してステップS903に進む。ROM更新部430は、再度更新処理を行う。更新データと更新したモジュールのデータとが同一である場合には、ROM更新部430は更新処理が成功したと判断し、ステップS906に進む。
【0146】
ステップS906では、ROM更新部430が、更新対象の変数に、次の更新情報の組が存在するか否かを判断する。存在する場合には、ROM更新部430はステップS902に進み、次の更新情報に対して、ステップS902からS905までの処理を行う。つまり、ROM更新部430はSCS122から引き渡されたすべての更新情報に対してステップS902からステップS906の処理を繰り返す。
【0147】
次の更新情報の組が存在しない場合には、ROM更新部430はステップS907に進み、SRAM208をクリアしてROM更新処理を終了する。つまり、ROM更新部430はSCS122から引き渡されたすべての更新対象のモジュールの更新が終了したら、SRAM208をクリアしてROM更新処理を終了する。
【0148】
このように実施の形態1の複合機100では、プログラム起動部420によって複合機100上でコントロールサービスを起動し、SCS122によって起動したすべてのコントロールサービスの起動情報と、起動可能な複数のアプリの起動情報とを取得する。そして、複合機100はROM更新用のフラッシュカード207に記録されているモジュール識別情報と取得した起動情報とを対比することにより、フラッシュカード207からコントロールサービスまたはアプリの更新データを選定している。
【0149】
したがって、複合機100は動作するコントロールサービスやアプリの構成に応じて常に最適な更新データを選択してROM更新処理を実行することができるので、更新の不要なコントロールサービスやアプリのプログラムを誤って更新してしまうことが防止される。
【0150】
また、実施の形態1の複合機100では、プログラム起動部420がフラッシュカード207のカード識別番号に基づいてROM更新用のフラッシュカードか否かを判断する。ROM更新用のフラッシュカード207であるとき、複合機100はSCS122のROM更新モードスレッドを起動してROM更新処理を行うので、複合機100の起動前にROM更新のための起動を行うべくDIPスイッチの切り替えを行うことが不要となる。このため、ROM更新作業時に、作業者がコントローラボード200に接触して損傷を引き起こす等の障害発生を防止することができる。
(実施の形態2)
実施の形態1の複合機100におけるROM更新処理では複合機100の機種ごとに更新データを用意したものではないため、機種ごとに個別のROM更新フラッシュカード207を用意する必要がある。
【0151】
そこで、この実施の形態2の複合機100では、一枚のROM更新用のフラッシュカード207で複数の機種のROM更新処理を行う。実施の形態2にかかる複合機100の機能的構成およびハードウェア構成は、図1および図2に示した実施の形態1の複合機100と同様であるので説明を省略する。
【0152】
図11は、実施の形態2の複合機100で使用するROM更新用のフラッシュカード207に格納されたデータの構造図である。フラッシュカード207は、実施の形態1と同様に、先頭のROMモニタ起動命令1000と、カード識別番号1001と、ヘッダ部1002と、データ部1003とから構成される。
【0153】
実施の形態2におけるフラッシュカード207のデータ構造が実施の形態1におけるデータ構造と異なる点は、ヘッダ部1002において一つの更新データに対して複数の機種識別情報、複数の更新先アドレスおよび複数の更新先領域長がある点である。
【0154】
すなわち、複数の機種の複合機100に共通するモジュールに対して、共通する更新データで更新を行う場合には、フラッシュカード207に、更新対象となるすべての複合機100の機種識別情報、その機種におけるフラッシュROM204上の更新先アドレスおよび更新先領域長をヘッダブロックに登録した構造となっている。
【0155】
実施の形態2の複合機100における複合機起動部140は、実施の形態1と同様に、ROMモニタ410と、プログラム起動部420と、SCS122のROM更新モードスレッドと、ROM更新部430とから構成される。ROMモニタ410は本発明における機種識別情報取得手段を、プログラム起動部420は本発明における起動情報取得手段を、SCS122は本発明の更新データ選定手段を、ROM更新部430は本発明における更新手段をそれぞれ構成する。
【0156】
実施の形態2の複合機100におけるプログラム起動部420とROM更新部430は、実施の形態1の複合機100の場合と同様の構成であるので説明を省略する。
【0157】
ROMモニタ410は、実施の形態1におけるROMモニタ410と同様に、ハードウェアの初期化、コントローラボードの診断、ソフトウェアの初期化、汎用OS121の起動などを行う他、さらに複合機100の機種識別情報を例えばフラッシュメモリ204から取得する。
【0158】
次にこのように構成された複合機100におけるROM更新処理について説明する。ROM更新の全体の処理手順は図5に示した実施の形態1の複合機100の場合と同様である。
【0159】
図12は、実施の形態2の複合機100において、ROMモニタ410で実行される処理の手順を示すフローチャートである。ステップS1101では、ROMモニタ410が、実施の形態1と同様に、ハードウェアの初期化を行う。ステップS1101に続いてステップS1102に進み、ROMモニタ410はコントローラボードの診断処理を行う。ステップS1102に続いてステップS1103に進み、ROMモニタ410はソフトウェアの初期化処理を行う。
【0160】
ステップS1103に続いてステップS1104に進み、ROMモニタ410は複合機100のフラッシュROM204に記録されている機種識別情報を取得する。機種識別情報とは、複合機の機種を特定するものであり、機種ごとに固有のデータとなっている。そして、ステップS1104に続いてステップS1105に進み、ROMモニタ410は汎用OS121を起動する。
【0161】
この後、実施の形態2の複合機100では実施の形態1と同様に、プログラム起動部420によってコントロールサービスの起動を行い、起動されたSCS122のROM更新モードスレッドによって次の処理を行う。
【0162】
図13は、実施の形態2の複合機において、SCS122のROM更新モードスレッドで実行される更新データ選定処理の手順を示すフローチャートである。ステップS1201では、SCS122のROM更新モードスレッドが、実施の形態1と同様に、ROM更新用のフラッシュカード207の先頭のヘッダブロックを参照する。ステップS1201に続いてステップS1202に進み、SCS122のROM更新モードスレッドはヘッダブロックからモジュールIDを取得する。
【0163】
ステップS1202に続いてステップS1203に進み、SCS122のROM更新モードスレッドは取得したモジュールIDが、プログラム起動部420から受け渡された環境変数のコントロールサービス起動情報およびアプリ起動情報にあるコントロールサービスまたはアプリのモジュールに該当するか否かをチェックする。
【0164】
取得したモジュールIDが、複合機100内部で動作するコントロールサービスまたはアプリに該当する場合には、SCS122のROM更新モードスレッドはステップS1204に進み、さらにROMモニタ410で取得した複合機100の機種識別情報が現在のモジュールIDのあるヘッダブロック内に登録されている機種識別情報に存在するか否かをチェックする。
【0165】
取得した機種識別情報がヘッダブロック内に存在する場合には、SCS122のROM更新モードスレッドはステップS1205に進み、そのヘッダブロックのモジュールIDの更新データを選定し、さらにヘッダブロックから更新先アドレス、更新データオフセット、更新データサイズを取得する。
【0166】
そして、ステップS1205に続いてステップS1206に進み、SCS122のROM更新モードスレッドは、このモジュールID、更新先アドレス、更新データオフセット、更新データサイズを一組の更新情報として「更新対象」の変数等に設定する。
【0167】
一方、SCS122のROM更新モードスレッドは、取得したモジュールIDが複合機100内部で動作するコントロールサービスまたはアプリに該当しない場合または取得した機種識別情報がヘッダブロック内に存在しない場合には、ステップS1207に進む。つまり、取得したモジュールIDが複合機100内部で動作するコントロールサービスまたはアプリに該当しない場合または取得した機種識別情報がヘッダブロック内に存在しない場合には、現在のモジュールIDに対応する更新データは選定せず、ステップS1204からステップS1206の処理は行わない。
【0168】
ついで、ステップS1207では、実施の形態1と同様に、SCS122のROM更新モードスレッドが、次のヘッダブロックが有るか否かを判断する。次のヘッダブロックが存在する場合には、SCS122のROM更新モードスレッドはステップS1208に進み、次のヘッダブロックを参照する。そして、SCS122のROM更新モードスレッドはステップS1202からステップS1207までの処理を繰り返し行う。
【0169】
一方、次のヘッダブロックが存在しない場合には、SCS122のROM更新モードスレッドはステップS1209に進む。つまり、すべてのヘッダブロックのモジュールIDについて、更新データの選定が終了したら、SCS122のROM更新モードスレッドはROM更新部430を起動してROM更新命令を発行し、更新対象の変数を引き渡す。
【0170】
これにより、ROM更新用のフラッシュカード207で提供される更新データの中から、複合機100の機種に応じて複合機100内部に存在するモジュールの更新データのみが選定される。
【0171】
このSCS122による更新データ選定処理の後、ROM更新部430によってROM更新処理が行われるが、このROM更新処理は、実施の形態1の複合機100の場合と同様であるので説明を省略する。
【0172】
このように実施の形態2の複合機100では、SCS122が、ROMモニタ410によってROM更新用のフラッシュカード207から取得した機種識別情報に基づき更新データを選定する。したがって、複合機100の機種により動作可能なコントロールサービスやアプリの配置が異なっている場合でも、一種類のROM更新用のフラッシュカード207を複数機種の複合機のROM更新に共有して用いることができる。
【0173】
このため、機種ごとに異なるROM更新用のフラッシュカード207を管理したり、機種ごとにROM更新の際に複数のフラッシュカード207から複合機100の構成にあったフラッシュカード207を選択するという作業が必要がなくなり、ROM更新作業の煩雑さを回避することができる。
(実施の形態3)
実施の形態1および2の複合機100におけるROM更新処理ではROM更新モードでコントロールサービスを起動しなければ複合機100の構成を判断することができなかった。
【0174】
そこで、この実施の形態3の複合機100では、コントロールサービスを起動することなく、複合機100の構成を判断する。実施の形態3にかかる複合機100の機能的構成およびハードウェア構成は、図1および図2に示した実施の形態1の複合機100と同様であるので説明を省略する。
【0175】
また、実施の形態3の複合機100で使用するROM更新用のフラッシュカード207に格納されたデータの構造は、図3および図11に示した実施の形態1または実施の形態2の複合機100と同様であるので説明を省略する。
【0176】
次にこのように構成された複合機100におけるROM更新処理について説明する。図14は、実施の形態3の複合機100におけるROM更新の全体の処理手順を示すフローチャートである。
【0177】
ステップS1301では、フラッシュカード207をフラッシュカードインタフェース部206に挿入された状態で複合機100の電源が投入される。ステップS1301に続いてステップS1302に進み、複合機100のブートプログラムは、フラッシュカード207の先頭レコードからROMモニタ起動命令を読み込んで実行し、ROMモニタ410を起動する。ステップS1302に続いてステップS1303に進み、ROMモニタ410はハードウェアおよびソフトウェアの初期化を行って、汎用OS121を起動する。
【0178】
ステップS1303に続いてステップS1304に進み、プログラム起動部420は起動モード設定部421によって、フラッシュカード207のカード識別番号301を読み出して、マジックナンバーがあらかじめ定められたROM更新用のフラッシュカード207の番号であるか否かをチェックする。
【0179】
カード識別番号301がROM更新用のフラッシュカード207の番号である場合には、起動モード設定部421はステップS1305に進む。ステップS1305では、プログラム起動部420が、サービス層起動部422およびアプリ起動部423によってフラッシュROM204のファイルシステムをマウントする。例えばフラッシュROM204のメモリ領域は、図15のように構成されている。
【0180】
図15は、フラッシュROMの一例のメモリ領域である。フラッシュROM204のメモリ領域は、ROMモニタ,OS,1つ以上のファイルシステム用の領域に分割されて管理される。また、ファイルシステムはファイルシステム情報,ディレクトリ情報,ファイル情報,ファイルデータ用の領域に分割されて管理される。1つ以上のファイルシステムは、複合機100を構成するサービス層,1つ以上のアプリに対応するものである。
【0181】
ステップS1305に続いてステップS1306に進み、サービス層起動部422およびアプリ起動部423はフラッシュROM204から後述するように起動情報を取得する。ステップS1306に続いてステップS1307に進み、サービス層起動部422およびアプリ起動部423は、ステップS1306で取得した起動情報を環境変数に設定する。
【0182】
ステップS1307に続いてステップS1308に進み、サービス層起動部422およびアプリ起動部423は次のファイルシステムが有るかを判断する。次のシステムファイルが存在する場合には、サービス層起動部422およびアプリ起動部423はステップS1305に進み、次のファイルシステムを参照する。そして、サービス層起動部422およびアプリ起動部423はステップS1305からステップS1307までの処理を繰り返し行う。一方、次のファイルシステムが存在しない場合には、サービス層起動部422およびアプリ起動部423はステップS1309に進む。
【0183】
ステップS1309では、ROM更新部430が起動される。ROM更新部430は、フラッシュROM204上のプログラムに対してフラッシュカード207の更新データによってROM更新を行う。
【0184】
ステップS1304で、カード識別番号がROM更新用のフラッシュカード207の番号以外の番号である場合には、起動モード設定部421はステップS1310に進む。ステップS1310では、プログラム起動部420が、サービス層起動部422およびアプリ起動部423によってHDD205のファイルシステムをマウントする。
【0185】
ステップS1310に続いてステップS1311に進み、サービス層起動部422はコントロールサービスを汎用OS121上で起動する。また、ステップS1311に続いてステップS1312に進み、アプリ起動部423はアプリを汎用OS121上で起動して処理を終了する。
【0186】
図16は、実施の形態3の複合機100において、ステップS1306で実行される起動情報取得処理の詳細な手順を示すフローチャートである。
【0187】
ステップS1401では、サービス層起動部422およびアプリ起動部423が、ステップS1305でマウントしたファイルシステムのルートディレクトリにて図17に表すような起動情報ファイル「version.txt」を検索する。
【0188】
図17は、起動情報ファイルの一例の構成図である。図17の起動情報ファイルは、モジュールID「SYSTEM」,バージョン情報「1.00」,次ファイルシステム情報「mount /mnt 0x650000」などを有している。なお、次ファイルシステム情報は、次のファイルシステムが格納されている領域の先頭アドレスなどを表している。したがって、次ファイルシステム情報を参照すれば、次のファイルシステムが存在するか否かを判断することができる。
【0189】
ステップS1401に続いてステップS1402に進み、サービス層起動部422およびアプリ起動部423はマウントしたファイルシステムのルートディレクトリに起動情報ファイル「version.txt」が存在するかを判断する。
【0190】
起動情報ファイルが存在すれば、サービス層起動部422およびアプリ起動部423はステップS1403に進み、起動情報ファイルを読み込んでステップS1404に進む。
【0191】
ステップS1404では、サービス層起動部422およびアプリ起動部423が、ステップS1403で読み込んだ起動情報ファイルからモジュールIDを取得する。例えば図17の起動情報ファイルの場合、サービス層起動部422およびアプリ起動部423はモジュールIDとして「SYSTEM」を取得する。
【0192】
ステップS1405では、サービス層起動部422およびアプリ起動部423が、ステップS1403で読み込んだ起動情報ファイルからバージョン情報を取得する。例えば図17の起動情報ファイルの場合、サービス層起動部422およびアプリ起動部423はバージョン情報として「1.00」を取得する。
【0193】
図16の起動情報取得処理を全てのファイルシステムについて繰り返し行うことにより、複合機100の構成に基づく起動情報を取得することができる。
【0194】
この起動情報を取得して環境変数を設定した後の更新データ選定処理およびROM更新処理は、実施の形態1の複合機100の場合と同様であるので説明を省略する。
【0195】
このように実施の形態3の複合機100では、フラッシュROM204に予め格納されている起動情報を取得して環境変数を設定することで、コントロールサービスを起動することなく、複合機100の構成を判断できる。
【0196】
したがって、複合機100は動作するコントロールサービスやアプリの構成に応じて常に最適な更新データを選択してROM更新処理を実行することができるので、更新の不要なコントロールサービスやアプリのプログラムを誤って更新することを防止できる。
【0197】
なお、図3および図11のROM更新用のフラッシュカード207はROM更新用のデータが格納される例を示しているが、ROM更新処理を実行するプログラムを格納しておくこともできる。
【0198】
図18は、複合機100で使用するROM更新用のフラッシュカード207に格納されたデータおよびプログラムの構造図である。図18のフラッシュカード207は、先頭のROMモニタ起動命令2000と、ヘッダブロックオフセット2001と、プログラム2002と、ヘッダ部2003と、データ部2004とから構成される。
【0199】
図18におけるフラッシュカード207のデータ構造が実施の形態1におけるデータ構造と異なる点は、ヘッダブロックまでのオフセットであるヘッダブロックオフセット2001およびROM更新処理を実行するプログラム2002がある点である。
【0200】
すなわち、複合機100はフラッシュカード207からROM更新処理に必要なプログラムおよびデータを取得してROM更新処理を自動的に行うことも可能である。
【0201】
本発明は、上記の実施例に限定されるものではなく、本発明の範囲内で種々の変形や変更が可能である。
【0202】
【発明の効果】
以上説明したように、発明によれば、画像形成装置の構成に応じて最適な更新データを選択してプログラム更新を行うことができ、一種類の記録媒体で複数機種のプログラム更新に対応することができ、プログラム更新作業に伴うハードウェア障害を防止することが可能である。
【図面の簡単な説明】
【図1】この発明の実施の形態1である複合機の構成を示すブロック図である。
【図2】実施の形態1の複合機のハードウェア構成図である。
【図3】ROM更新フラッシュカードのデータ構造図である。
【図4】実施の形態1の複合機における複合機起動部の構成を示すブロック図である。
【図5】実施の形態1の複合機におけるROM更新の全体の処理手順を示すフローチャートである。
【図6】実施の形態1の複合機において、ROMモニタで実行される処理の手順を示すフローチャートである。
【図7】実施の形態1の複合機において、プログラム起動部で実行される処理の手順を示すフローチャートである。
【図8】実施の形態1の複合機において、SCSのROM更新モードスレッドで実行される更新データ選定処理の手順を示すフローチャート(1/2)である。
【図9】実施の形態1の複合機において、SCSのROM更新モードスレッドで実行される更新データ選定処理の手順を示すフローチャート(2/2)である。
【図10】実施の形態1の複合機において、ROM更新部によるROM更新処理の手順を示すフローチャートである。
【図11】実施の形態2の複合機で使用するROM更新フラッシュカードのデータ構造図である。
【図12】実施の形態2の複合機において、ROMモニタで実行される処理の手順を示すフローチャートである。
【図13】実施の形態2の複合機において、SCSのROM更新モードスレッドで実行される更新データ選定処理の手順を示すフローチャートである。
【図14】実施の形態3の複合機におけるROM更新の全体の処理手順を示すフローチャートである。
【図15】フラッシュROMの一例のメモリ領域である。
【図16】実施の形態3の複合機で実行される起動情報取得処理の詳細な手順を示すフローチャートである。
【図17】起動情報ファイルの一例の構成図である。
【図18】複合機で使用するROM更新用のフラッシュカードに格納されたデータおよびプログラムの構造図である。
【図19】従来の複合機における電源投入時のフラッシュメモリおよびフラッシュカードのメモリマップを示す模式図である。
【符号の説明】
100 複合機
101 白黒ラインプリンタ
102 カラーラインプリンタ
103 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション
140 複合機起動部
200 コントローラボード
201 ASIC
202 CPU
203 SDRAM
204 フラッシュメモリ(フラッシュROM)
205 ハードディスク装置(HDD)
206 フラッシュカードインタフェース部
207 フラッシュカード
208 SRAM
209 ネットワークインターフェースコントローラ
210 オペレーションパネル
220 FCU
230 USBデバイス
240 IEEE1394デバイス
250 ブルートゥースデバイス
260 エンジン部
271 ネットワーク
272 電話網
410 ROMモニタ
420 プログラム起動部
421 起動モード設定部
422 サービス層起動部
423 アプリ起動部
424 アプリ起動情報設定部
430 ROM更新部
431 ROM更新命令解読部
432 SRAM処理部
433 ROM更新処理部
434 表示制御部
Claims (23)
- プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置であって、
前記プログラムの起動情報を取得する起動情報取得手段と、
前記プログラムの更新データが記録された記録媒体から、前記プログラムのモジュール識別情報を取得するモジュール識別情報取得手段と、
前記起動情報およびモジュール識別情報に基づいて、前記記録媒体から前記プログラムの少なくとも一部に対応した更新データを選定する更新データ選定手段と、
記憶部に格納されている前記プログラムを前記選定された更新データで更新する更新手段とを有し、
前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、
前記システムコントロールサービスのプログラムは、前記更新データ選定手段として動作し、
前記起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、
前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、
前記起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする画像形成装置。 - 前記起動情報取得手段は、前記記録媒体を認識したときに前記記憶部に格納されている前記プログラムの起動情報を取得することを特徴とする請求項1記載の画像形成装置。
- 前記モジュール識別情報取得手段は、記録媒体に固有の媒体識別情報に基づいて、前記記録媒体に更新データが記録されているか否かを判断し、前記記録媒体に更新データが記録されているときは前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする請求項1記載の画像形成装置。
- 前記システムコントロールサービスのプログラムのプログラム更新モードスレッドは、さらに記憶部に記憶されたファイルを検索して前記プログラムの起動情報を取得し、前記プログラムの起動情報に基づいて前記プログラムの更新データを選定することを特徴とする請求項1乃至3のいずれか一項記載の画像形成装置。
- 前記システムコントロールサービスのプログラムのプログラム更新モードスレッドは、前記記録媒体に記録されている全てのモジュール識別情報と前記プログラムの起動情報とを比較し、前記起動情報に一致する前記モジュール識別情報に対応した更新データを選定することを特徴とする請求項1乃至4いずれか一項記載の画像形成装置。
- 機種固有の機種識別情報を取得する機種識別情報取得手段をさらに有し、
前記記録媒体は、前記プログラムのモジュール識別情報と前記プログラムの更新データとが対応づけられているとともに、前記モジュール識別情報ごとに前記プログラムを動作可能な画像形成装置の機種識別情報が記録されているものであり、
前記システムコントロールサービスのプログラムのプログラム更新モードスレッドは、前記記録媒体に記録されている全ての前記モジュール識別情報と、前記プログラムの起動情報とを比較し、
前記起動情報と一致するモジュール識別情報であって、前記機種識別情報取得手段により取得した機種識別情報に基づいて更新データを選定することを特徴とする請求項1乃至5のいずれか一項記載の画像形成装置。 - 前記記録媒体には、各モジュール識別情報ごとに前記更新データを書き込む記憶部の更新先領域が記録されており、
前記更新手段は、前記プログラムを記憶部の更新先領域から前記選定された更新データで更新することを特徴とする請求項1乃至6のいずれか一項記載の画像形成装置。 - 前記記録媒体は、前記更新先領域を前記機種識別情報ごとに記録したものであることを特徴とする請求項7記載の画像形成装置。
- 前記更新手段は、さらに更新されたプログラムと前記更新データとを比較して同一性をチェックすることを特徴とする請求項1乃至8のいずれか一項記載の画像形成装置。
- プログラム更新に関する更新情報を記憶する不揮発性記憶手段をさらに有し、
前記更新手段は、前記プログラムの更新時に、前記更新情報を前記不揮発性記憶手段に格納するとともに、前記プログラムの更新前に前記不揮発性記憶手段に前記更新情報が格納されているか否かを判断し、更新情報が格納されている場合には、前記不揮発性記憶手段に格納されている更新情報に基づいて前記プログラムを更新することを特徴とする請求項1乃至9のいずれか一項記載の画像形成装置。 - プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置の記憶部に格納されたプログラムを更新データによって更新するプログラム更新方法において、
前記プログラムの起動情報を取得する起動情報取得ステップと、
前記プログラムの更新データが記憶された記録媒体から、前記プログラムのモジュール識別情報を取得するモジュール識別情報取得ステップと、
前記起動情報およびモジュール識別情報に基づいて、前記記録媒体から前記プログラムのうちの少なくとも一部に対応した更新データを選定する更新データ選定ステップと、
前記記憶部に格納されている前記プログラムを前記選定された更新データで更新する更新ステップとを有し、
前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、
前記システムコントロールサービスのプログラムは、前記更新ステップを行う更新データ選定手段として動作し、
前記起動情報取得ステップを行う起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、
前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、
前記起動情報取得ステップを行う起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とするプログラム更新方法。 - 前記起動情報取得ステップは、さらに、前記記憶部に格納されているファイルを検索して前記プログラムの起動情報を取得することを特徴とする請求項11記載のプログラム更新方法。
- 前記更新データ選定ステップは、前記記録媒体に記録された全てのモジュール識別情報と前記プログラムの起動情報とを比較して、前記起動情報と一致する前記モジュール情報に対応した更新データを選定することを特徴とする請求項11または12記載のプログラム更新方法。
- 前記プログラムを動作させる装置機種に固有の機種識別情報を取得する機種識別情報取得ステップをさらに含み、
前記記録媒体は、前記プログラムのモジュール識別情報と前記プログラムの更新データとが対応づけられているとともに、前記モジュール識別情報ごとに前記プログラムを動作可能な機種の機種識別情報が記録されたものであり、
前記更新データ選定ステップは、前記記録媒体に記録されている全ての前記モジュール識別情報と前記プログラムの起動情報と比較し、前記起動情報と一致するモジュール識別情報であって、前記機種識別情報取得ステップにより取得した機種識別情報に基づいて更新データを選定することを特徴とする請求項11乃至13のいずれか一項記載のプログラム更新方法。 - 前記プログラムは、プログラム更新に関する処理を実行するプログラム更新モードを有しており、
前記起動情報取得ステップは、記録媒体に固有の媒体識別情報に基づいて前記記録媒体に更新データが記録されているか否かを判断し、前記記録媒体に更新データが記録されているときは前記プログラムを前記プログラム更新モードで起動することを特徴とする請求項11乃至14いずれか一項記載のプログラム更新方法。 - 前記更新データ選定ステップは、前記起動情報取得ステップにより前記プログラム更新モードで起動されたプログラムによって実行されることを特徴とする請求項15記載のプログラム更新方法。
- 前記記録媒体には、各モジュール識別情報ごとに前記更新データを書き込む記憶部の更新先領域が記録されており、
前記更新ステップは、前記プログラムを記憶部の更新先領域から前記選定された更新データで更新することを特徴とする請求項11乃至16いずれか一項記載のプログラム更新方法。 - 前記記録媒体には、前記機種識別情報ごとに前記更新データを書き込む記憶部の更新先領域が記録されており、
前記更新ステップは、前記プログラムを記憶部の更新先領域から前記選定された更新データで更新することを特徴とする請求項14乃至17のいずれか一項記載のプログラム更新方法。 - 前記更新ステップは、さらに更新されたプログラムと前記更新データとを比較して同一性をチェックすることを特徴とする請求項11乃至18いずれか一項記載のプログラム更新方法。
- 前記更新ステップは、前記プログラムの更新時に、プログラム更新に関する更新情報を不揮発性記憶手段に格納し、プログラムの更新前に前記不揮発性記憶手段に前記更新情報が格納されているか否かを判断し、前記更新情報が格納されている場合には、前記不揮発性記憶手段に格納されている更新情報に基づいて前記プログラムを更新することを特徴とする請求項11乃至19いずれか一項記載のプログラム更新方法。
- プリンタ部またはスキャナ部の少なくとも一方を含む画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置に、
プログラムの起動情報を取得する起動情報取得手順と、
前記プログラムの更新データが記憶された記録媒体から、前記プログラムのモジュール識別情報を取得するモジュール識別情報取得手順と、
前記起動情報およびモジュール識別情報に基づいて、前記記録媒体から前記プログラムのうちの少なくとも一部に対応した更新データを選定する更新データ選定手順と、
前記記憶部に格納されている前記プログラムを前記選定された更新データで更新する更新手順とを実行させ、
前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、
前記システムコントロールサービスのプログラムは、前記更新手順を行う更新データ選定手段として動作し、
前記起動情報取得手順を行う起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、
前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、
前記起動情報取得手順を行う起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とするように実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。 - プリンタ部またはスキャナ部の少なくとも一方を含み画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置であって、
前記プログラムの起動情報を取得する起動情報取得手段と、
前記プログラムの更新データが記録された記録媒体から自機の構成に応じた前記プログラムの更新データを選定する更新データ選定手段と、
前記更新データ選定手段が選定した前記プログラムの更新データを取得し、記憶部に格納されている前記プログラムを前記取得した更新データで更新する更新手段を有し、
前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、
前記システムコントロールサービスのプログラムは、前記更新データ選定手段として動作し、
前記起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、
前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、
前記起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とする画像形成装置。 - プリンタ部またはスキャナ部の少なくとも一方を含み画像処理ハードウェアと、前記画像処理ハードウェアを利用して画像処理を行う1つ以上の画像処理アプリケーションのプログラムと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、前記1つ以上の画像処理アプリケーションのプログラムからアクセスされて共通に利用される1つ以上のプラットフォームのプログラムとを有する画像形成装置の記憶部に格納されたプログラムを更新データによって更新するプログラム更新方法において、
前記プログラムの起動情報を取得する起動情報取得ステップと、
前記プログラムの更新データが記録された記録媒体から自機の構成に応じた前記プログラムの更新データを選定する更新データ選定ステップと、
前記更新データ選定ステップで選定された前記プログラムの更新データを取得し、前記記憶部に格納されている前記プログラムを前記取得した更新データで更新する更新ステップとを有し、
前記プラットフォームのプログラムは、通常処理を行う通常モードスレッドと、前記記録媒体に記録されている更新データ群から更新データを選定する処理を行うプログラム更新モードスレッドとを含むプロセスとして動作するシステムコントロールサービスのプログラムが含まれ、
前記システムコントロールサービスのプログラムは、前記更新データ選定ステップを行う更新データ選定手段として動作し、
前記起動情報取得ステップを行う起動情報取得手段は、プログラム更新処理時に、前記システムコントロールサービスのプログラムの前記プログラム更新モードスレッドを起動することを特徴とし、
前記プラットフォームのプログラムのそれぞれは、通常処理を行う通常モードスレッドと、前記画像形成に係る処理を停止するプログラム更新モードスレッドとを含むプロセスとして動作し、
前記起動情報取得手段は、プログラム更新処理時に、前記プラットフォームのプログラムの各プログラム更新モードスレッドを起動することを特徴とするプログラム更新方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002241389A JP4121333B2 (ja) | 2001-08-27 | 2002-08-22 | 画像形成装置,プログラム更新方法および記録媒体 |
US10/227,308 US7327488B2 (en) | 2001-08-27 | 2002-08-26 | Image forming apparatus, program updating method and recording medium |
EP02255918A EP1292102B1 (en) | 2001-08-27 | 2002-08-27 | Image forming apparatus, program updating method and recording medium |
DE60211438T DE60211438T2 (de) | 2001-08-27 | 2002-08-27 | Bilderzeugungsgerät, Verfahren zum Aktualisieren von Programmen und Informationsaufzeichnungsmedium |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-257044 | 2001-08-27 | ||
JP2001257044 | 2001-08-27 | ||
JP2002241389A JP4121333B2 (ja) | 2001-08-27 | 2002-08-22 | 画像形成装置,プログラム更新方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003223386A JP2003223386A (ja) | 2003-08-08 |
JP4121333B2 true JP4121333B2 (ja) | 2008-07-23 |
Family
ID=26621074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002241389A Expired - Fee Related JP4121333B2 (ja) | 2001-08-27 | 2002-08-22 | 画像形成装置,プログラム更新方法および記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7327488B2 (ja) |
EP (1) | EP1292102B1 (ja) |
JP (1) | JP4121333B2 (ja) |
DE (1) | DE60211438T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008278535A (ja) * | 2001-08-27 | 2008-11-13 | Ricoh Co Ltd | 画像形成装置,プログラム更新方法および記録媒体 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3849971B2 (ja) * | 2000-03-16 | 2006-11-22 | 株式会社リコー | 劣化状態確認可能な製品 |
JP4083505B2 (ja) | 2001-08-27 | 2008-04-30 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
JP4121333B2 (ja) | 2001-08-27 | 2008-07-23 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
ITMI20021017A1 (it) * | 2002-05-14 | 2003-11-14 | Cit Alcatel | Gestione di differenti configurazioni e differenti livelli di funzionalita' in un apparato per reti di telecomunicazioni |
US7546296B2 (en) * | 2003-03-19 | 2009-06-09 | Ricoh Company, Ltd. | Information processing apparatus started from a program recorded on a recording medium with well-maintained security, and a recording medium storing such a program and a producing method of such a recording medium |
JP4296851B2 (ja) * | 2003-06-11 | 2009-07-15 | 富士ゼロックス株式会社 | 画像形成システム |
US7110917B2 (en) | 2003-11-14 | 2006-09-19 | Ricoh Company, Ltd. | Abnormality determining method, and abnormality determining apparatus and image forming apparatus using same |
JP2005196745A (ja) * | 2003-12-10 | 2005-07-21 | Ricoh Co Ltd | 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体 |
JP4695348B2 (ja) * | 2004-05-27 | 2011-06-08 | 株式会社リコー | カード型メモリ、画像形成装置、画像形成装置起動方法 |
JP4293083B2 (ja) * | 2004-07-27 | 2009-07-08 | ブラザー工業株式会社 | 多機能周辺装置 |
TWI295035B (en) * | 2004-10-12 | 2008-03-21 | Apacer Technology Inc | Complex compact flash card |
JP4759983B2 (ja) * | 2004-11-04 | 2011-08-31 | 船井電機株式会社 | ディスク装置のファームウェア書き換え方法、及びファームウェア書き換えプログラム |
JP2006146602A (ja) * | 2004-11-19 | 2006-06-08 | Murata Mach Ltd | 電子機器及び記憶媒体 |
JP4856444B2 (ja) * | 2005-03-07 | 2012-01-18 | 株式会社リコー | 情報処理装置及び情報処理方法 |
JP4546299B2 (ja) * | 2005-03-18 | 2010-09-15 | キヤノン株式会社 | 画像形成装置 |
JP2006256275A (ja) * | 2005-03-18 | 2006-09-28 | Canon Inc | 装置および画像形成装置 |
US8294948B2 (en) | 2005-04-06 | 2012-10-23 | Xerox Corporation | Image-based color printer fractal gamut extensions achieved with process set point adjustment |
US8711429B2 (en) * | 2005-04-06 | 2014-04-29 | Lalit K. Mestha | Systems and methods for printing images outside a normal color gamut in image forming devices |
US8599432B2 (en) | 2005-04-06 | 2013-12-03 | Xerox Corporation | Spot color printing with non-standard gamuts achieved with process set point adjustment |
JP5025192B2 (ja) * | 2005-09-16 | 2012-09-12 | 株式会社リコー | 機器、情報処理方法、情報処理プログラム、及び記録媒体 |
JP5025193B2 (ja) * | 2005-09-16 | 2012-09-12 | 株式会社リコー | 機器、情報処理方法、情報処理プログラム、及び記録媒体 |
US9141374B2 (en) | 2005-09-16 | 2015-09-22 | Ricoh Company, Ltd. | Image forming device, information processing method, information processing program, and recording medium |
JP4706022B2 (ja) * | 2005-12-14 | 2011-06-22 | 株式会社沖データ | 画像形成装置 |
JP2010231489A (ja) * | 2009-03-27 | 2010-10-14 | Nec Corp | マイクロコード書き換え方法 |
JP5333035B2 (ja) * | 2009-08-12 | 2013-11-06 | 株式会社リコー | リモート管理システム、管理装置、機器、プログラム更新方法、プログラム、及び記録媒体 |
JP5707061B2 (ja) * | 2010-06-08 | 2015-04-22 | 日置電機株式会社 | バージョンアップ用ファイルの自動判別装置及び自動判別方法 |
CN106612309B (zh) * | 2015-10-22 | 2019-09-06 | 北京国双科技有限公司 | 配置文件的更新方法、装置及*** |
JP7067057B2 (ja) * | 2017-12-27 | 2022-05-16 | ブラザー工業株式会社 | 電子機器 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3247791A1 (de) | 1981-12-25 | 1983-07-07 | Canon K.K., Tokyo | Bildverarbeitungseinrichtung |
US5093915A (en) | 1988-11-02 | 1992-03-03 | Xerox Corporation | Method for selectively loading bootable fiber to control apparatus based upon the corresponding bootable attributes |
US5752040A (en) | 1991-09-30 | 1998-05-12 | Canon Kabushiki Kaisha | Image processing apparatus which can update program |
JPH05274157A (ja) | 1992-03-25 | 1993-10-22 | Ricoh Co Ltd | 画像形成装置 |
JP3754730B2 (ja) | 1995-10-02 | 2006-03-15 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
JP3550834B2 (ja) | 1995-11-13 | 2004-08-04 | 株式会社デンソー | 自動車用電子制御装置のメモリ書換システム,自動車用電子制御装置及びメモリ書換装置 |
JPH09200403A (ja) | 1996-01-23 | 1997-07-31 | Toshiba Corp | 画像形成装置 |
US5778070A (en) | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
JPH10107979A (ja) | 1996-09-30 | 1998-04-24 | Toshiba Corp | 画像形成装置 |
JPH10171221A (ja) | 1996-10-08 | 1998-06-26 | Ricoh Co Ltd | 画像形成装置及び画像形成方法 |
JP3570701B2 (ja) | 1996-11-11 | 2004-09-29 | 株式会社リコー | 画像形成装置 |
JPH10198110A (ja) | 1996-11-18 | 1998-07-31 | Ricoh Co Ltd | カラー画像形成方法 |
US5875380A (en) | 1997-02-18 | 1999-02-23 | Ricoh Company, Ltd. | Image forming apparatus eliminating influence of fluctuation in speed of a conveying belt to correction of offset in color registration |
US6112046A (en) | 1997-06-20 | 2000-08-29 | Ricoh Company, Ltd. | Image forming apparatus having recycling of residual toner |
JPH1184873A (ja) | 1997-07-10 | 1999-03-30 | Ricoh Co Ltd | スクリューポンプ及び該スクリューポンプを用いたトナー移送装置 |
US5987298A (en) | 1998-02-02 | 1999-11-16 | Ricoh Company, Ltd. | Image forming apparatus including a toner recycling mechanism |
US6163669A (en) | 1998-05-29 | 2000-12-19 | Ricoh Company, Ltd. | Image forming apparatus |
DE19929009A1 (de) | 1998-06-25 | 2000-01-20 | Ricoh Kk | Entwicklerbehälter für einen Bilderzeugungsapparat und Verfahren zum Fördern eines Entwicklers |
US6122468A (en) | 1998-10-09 | 2000-09-19 | Ricoh Company, Ltd. | Method and apparatus for forming toner images |
US6295437B1 (en) | 1998-12-28 | 2001-09-25 | Ricoh Company, Ltd. | Apparatus and method for forming an image using a developing device capable of obtaining a high quality image |
JP3935666B2 (ja) | 1999-09-30 | 2007-06-27 | 株式会社リコー | ノズル、トナー移送装置および画像形成装置 |
JP2001166553A (ja) | 1999-12-13 | 2001-06-22 | Ricoh Co Ltd | カラー画像形成装置 |
JP2001265099A (ja) | 2000-03-17 | 2001-09-28 | Ricoh Co Ltd | 画像形成装置 |
JP2002082806A (ja) | 2000-07-05 | 2002-03-22 | Ricoh Co Ltd | 画像形成装置、画像形成方法およびプログラム |
JP2002091719A (ja) | 2000-07-11 | 2002-03-29 | Ricoh Co Ltd | 画像形成装置管理システムおよび画像形成装置管理方法とそれに使用する中央管理装置並びに画像形成装置 |
JP4351814B2 (ja) | 2000-07-21 | 2009-10-28 | 株式会社リコー | カラー画像形成装置 |
JP2002099441A (ja) | 2000-09-26 | 2002-04-05 | Mitsubishi Electric Corp | 通信端末装置及び通信端末装置の動作方法 |
JP4121333B2 (ja) | 2001-08-27 | 2008-07-23 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
JP4083505B2 (ja) * | 2001-08-27 | 2008-04-30 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
-
2002
- 2002-08-22 JP JP2002241389A patent/JP4121333B2/ja not_active Expired - Fee Related
- 2002-08-26 US US10/227,308 patent/US7327488B2/en not_active Expired - Fee Related
- 2002-08-27 EP EP02255918A patent/EP1292102B1/en not_active Expired - Fee Related
- 2002-08-27 DE DE60211438T patent/DE60211438T2/de not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008278535A (ja) * | 2001-08-27 | 2008-11-13 | Ricoh Co Ltd | 画像形成装置,プログラム更新方法および記録媒体 |
JP4589426B2 (ja) * | 2001-08-27 | 2010-12-01 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
DE60211438D1 (de) | 2006-06-22 |
EP1292102B1 (en) | 2006-05-17 |
US20030038968A1 (en) | 2003-02-27 |
EP1292102A2 (en) | 2003-03-12 |
JP2003223386A (ja) | 2003-08-08 |
DE60211438T2 (de) | 2007-05-16 |
EP1292102A3 (en) | 2003-05-21 |
US7327488B2 (en) | 2008-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4121333B2 (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
JP4083505B2 (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
JP4623469B2 (ja) | プリントサーバおよびプリントシステムおよびプリント方法およびプログラムおよび記録媒体 | |
JP4843187B2 (ja) | 画像形成装置 | |
JP4612912B1 (ja) | 情報処理装置、情報処理システムの制御方法およびプログラム | |
JP5888443B2 (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
JP4378300B2 (ja) | 印刷システム、印刷方法及びそのプログラム | |
US20050151987A1 (en) | Information processing apparatus, program recovery method, and recording medium storing a program for program recovery | |
JP4695348B2 (ja) | カード型メモリ、画像形成装置、画像形成装置起動方法 | |
JP4512565B2 (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP4900941B2 (ja) | 情報処理装置、その制御方法、プログラム及び情報処理システム | |
JP2008079340A (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
JP4124410B2 (ja) | メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム | |
JP5267624B2 (ja) | 情報処理装置、表示制御方法、プログラム、及び記録媒体 | |
RU2483464C2 (ru) | Устройство формирования изображения, способ управления для устройства формирования изображения и среда хранения | |
JP2017013313A (ja) | 画像形成装置、画像形成システム、その制御方法及びプログラム | |
JP4276885B2 (ja) | 画像形成装置およびパス指定方法 | |
JP2006271005A (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP2019031084A (ja) | 画像形成装置とその処理方法、プログラム | |
JP6399164B2 (ja) | 画像形成システム、その制御方法及びプログラム | |
JP2004048696A (ja) | 画像形成装置およびデータ処理方法 | |
JP6175925B2 (ja) | 画像形成装置とその処理方法、プログラム | |
JP2005173888A (ja) | 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070828 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071025 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080121 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080401 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080428 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110509 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120509 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120509 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130509 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130509 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |