JP4124410B2 - メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム - Google Patents
メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム Download PDFInfo
- Publication number
- JP4124410B2 JP4124410B2 JP2001290374A JP2001290374A JP4124410B2 JP 4124410 B2 JP4124410 B2 JP 4124410B2 JP 2001290374 A JP2001290374 A JP 2001290374A JP 2001290374 A JP2001290374 A JP 2001290374A JP 4124410 B2 JP4124410 B2 JP 4124410B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- information
- memory
- rom
- modules
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、システム監視下で行われるメモリ上のファイルシステムを書き換えるメモリの書換え方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【0002】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という)が一般的に知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
従来の複合機では、内部にプリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェア(汎用OSを含む)をそれぞれ別個に設ける構成となっており、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置を発明した。
【0004】
この画像形成装置によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【0005】
このような複合機は、複数のアプリケーションやプラットホームを構成する複数のコントロールサービスなどのプログラムがコントローラボード上のフラッシュメモリなどのROM(Read Only Memory)に予め組み込まれた状態で出荷されている。このため、複合機に設計変更や新たな機能の追加が生じた場合には、アプリケーションやコントロールサービスなどのプログラムを更新するために、これらのプログラムを記録したROMを更新する必要性が生じてくる。
【0006】
このようなROM更新の方法としては、従来は、各プログラムの更新データと、更新データでアプリケーションやコントロールサービスの既存のプログラムを書き換えるために実行する更新プログラムとを複合機の機種ごとに個別のフラッシュカードなどの更新用記録媒体に格納していた。そして、この更新対象プログラムが搭載されている複合機の機種に応じて更新用フラッシュカードを選択し、選択した更新用フラッシュカードを複合機の記録媒体制御装置に挿入した状態で複合機を電源投入する。このとき、複合機のブートローダによって更新用フラッシュカードに格納された更新プログラムが起動し、この更新プログラムによって更新用フラッシュカード上の更新データを読み出して、ROM上のアプリケーションやコントロールサービスの各プログラムを更新データで書き換えるという処理を行っていた。
【0007】
図10は、コントローラボード上のフラッシュメモリを、フラッシュカードを使って書き換える従来の技術を説明するための図である。組み込み系のソフトウェアを使用するシステムは、システムを構成するコントローラボード上のメモリマップにブートベクタを記憶させ、ブートベクタのアドレスにブートプログラムを配置してシステムプログラムの起動に使用している。また、コントローラボード上にはディップスイッチが設けられていて、コントローラボード上のフラッシュメモリなどのメモリを書き換える場合にはディップスイッチを切り換えることによってコントローラボード上にあるフラッシュメモリの領域とフラッシュカードの領域とを切り換えている。
【0008】
上記した従来技術は、ディップスイッチを切り換えるために工具を使ってコントローラボードのカバーをはずす作業が必要であるために切り換えの作業に手間がかかるという欠点があった。また、ディップスイッチ切り換えの作業中に本体が動かなくなる。さらにはメモリを切り換えることにチェック機構が存在しないために不正な書き換え、あるいは誤って意図しない書き換えがなされる可能性があった。
【0009】
上記した不具合を解決するため、フラッシュカードに記録されているモジュール情報とフラッシュメモリの情報(moduleinfo.txt)から取得したモジュール情報とを照合し、フラッシュメモリの情報に一致したフラッシュカードのモジュールだけを表示部に表示する技術がある。この技術において、ユーザは、表示されたモジュールを書き換える場合に入力部を操作して書き換えを実行する。なお、この技術では、フラッシュメモリの書き換えはモジュールと呼ばれる1ファイルシステムを単位として行っている。
【0010】
【発明が解決しようとする課題】
しかしながら、上記したフラッシュカードとフラッシュメモリとのモジュールの情報を照合する技術は、不正な書き換えを防止することができる一方でフラッシュメモリのモジュールを意図的に他のモジュールに書き換えることができない。そして、このためにコントローラボード上のフラッシュメモリの用途が固定してしまい、機能ごとに情報処理装置を用意しなければならないという不具合があった。
【0011】
また、フラッシュメモリのモジュールを別の機能を持ったモジュールに書き換えるには、フラッシュカードに記憶されたモジュールにフラッシュメモリのモジュール情報と一致する名前をつけることが考えられる。ただし、このようにした場合、自ら不正なフラッシュカードを作成することになる。さらに、モジュール情報と実際に記録されているモジュールデータが異なるフラッシュカードが作成されることになり、フラッシュカードの管理上不具合が生じる。
【0012】
さらに、従来の技術は、フラッシュカードに記憶されているモジュール同士に依存関係があるとき、一部のモジュールだけを書き換える可能性があった。依存関係がある複数のモジュールの一部だけを書き換えられた場合、システムは、不具合を生じることがある。
【0013】
本発明は、上記した点に鑑みてなされたものであり、コントロールボード上のモジュールを別の機能を持つモジュールに書き換えることができ、しかも不正な書き換えを防止できるメモリ書換え方法およびその方法をコンピュータに実行させるためのプログラムを提供することを第1の目的とする。
【0014】
また、本発明は、互いに依存関係にあるすべてのモジュールを一括してメモリに書込むことができ、システムに不具合が発生することを防止することができるメモリ書換え方法およびその方法をコンピュータに実行させるためのプログラムを提供することを第2の目的とする。
【0015】
さらに、本発明は、モジュールを書き換えている間に電源が切れて電力の供給が断たれた場合にも再度電力が供給されたときに互いに依存関係にあるすべてのモジュールを一括して書き換えることができるメモリ書換え方法およびその方法をコンピュータに実行させるためのプログラムを提供することを第3の目的とする。
【0016】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、請求項1に記載の発明にかかるメモリ書換え方法は、メモリに記憶されたモジュールを情報記録媒体に記録されているモジュールによって書き換えるメモリ書換え方法であって、前記情報記録媒体は、前記メモリに記憶された書き換えるモジュールのうち参照すべきモジュールについての情報を示す参照モジュール情報と、書き換えるモジュールであって前記参照モジュール情報におけるモジュールと名称が異なるモジュールの情報を示す書き換えモジュール情報とを記憶し、前記参照モジュール情報が示す前記参照すべきモジュールの情報と、前記メモリに記憶されているモジュールの情報とを照合する照合工程と、前記照合工程において前記参照モジュール情報が示す情報と前記メモリに記憶されているモジュールの情報とが合致した場合、合致した前記参照モジュール情報が示す前記参照すべきモジュールの名称を表示する表示工程と、前記表示工程において表示された前記参照すべきモジュールの名称と名称が異なる前記書き換えモジュール情報が入力された場合、前記書き換えモジュール情報が示すモジュールで前記メモリに記憶されたモジュールを書き換える書換え工程と、を含むことを特徴とする。
【0017】
この請求項1に記載の発明によれば、情報記録媒体は、メモリに記憶された書き換えるモジュールのうち参照すべきモジュールについての情報を示す参照モジュール情報と、書き換えるモジュールであって参照モジュール情報におけるモジュールと名称が異なるモジュールの情報を示す書き換えモジュール情報とを記憶し、参照モジュール情報が示す参照すべきモジュールの情報と、メモリに記憶されているモジュールの情報とを照合し、参照モジュール情報が示す情報とメモリに記憶されているモジュールの情報とが合致した場合、合致した参照モジュール情報が示す参照すべきモジュールの名称を表示し、表示された参照すべきモジュールの名称と名称が異なる書き換えモジュール情報が入力された場合、書き換えモジュール情報が示すモジュールでメモリに記憶されたモジュールを書き換える。
【0018】
請求項2に記載の発明にかかるメモリ書換え方法は、前記情報記録媒体が、記録されているモジュール間の依存関係に関する依存情報を有するとともに、前記メモリ内に記憶されているモジュールの情報と合致した情報の参照モジュールと依存関係がある依存モジュール群を前記依存情報に基づいて前記メモリに一括して書き込む依存ファイル書込み工程をさらに含むことを特徴とする。
【0019】
この請求項2に記載の発明によれば、情報記録媒体が、記録されているモジュール間の依存関係に関する依存情報を有するとともに、メモリ内に記憶されているモジュールの名称と合致した名称の参照モジュールと依存関係がある依存モジュール群を依存情報に基づいて前記メモリに一括して書き込む。
【0020】
請求項3に記載の発明にかかるメモリ書換え方法は、前記依存ファイル書込み工程は、前記依存モジュール群に関する情報を一時的に保存する一時保存工程をさらに含み、依存ファイル書込み工程中に電力の供給が断たれた場合、再開時には前記一時保存工程によって保存された前記依存モジュール群に関する情報に基づいて依存関係にあるモジュール群を前記メモリに一括して書き込む。
【0021】
この請求項3に記載の発明によれば、モジュールの依存関係に関する情報を一時的に保存することができる。そして、依存ファイル書込み工程中に電力の供給が断たれた場合、再開時には一時的に保存された依存モジュール群に関する情報に基づいて依存関係にあるモジュールメモリに一括して書き込む。
【0022】
請求項4に記載の発明にかかるメモリ書換え方法は、前記メモリがフラッシュメモリであることを特徴とする。
【0023】
この請求項4に記載の発明によれば、メモリをフラッシュメモリとすることができる。
【0024】
請求項5に記載の発明にかかるメモリ書換え方法は、前記情報記録媒体がフラッシュメモリを備えたカード式の情報記録媒体であるフラッシュカードであることを特徴とする。
【0025】
この請求項5に記載の発明によれば、情報記録媒体をフラッシュメモリを備えたカード式の情報記録媒体であるフラッシュカードとすることができる。
【0026】
請求項6に記載の発明にかかるプログラムは、コンピュータに、上記請求項1〜5のメモリ書換え方法のいずれか一つを実行させることを特徴とする。
【0027】
この請求項6に記載の発明によれば、コンピュータに、上記請求項1〜5のメモリ書換え方法のいずれか一つを実行させることができる。
【0028】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるメモリ書換え方法およびその方法をコンピュータに実行させるためのプログラムの好適な実施の形態を詳細に説明する。
【0029】
図1は、本発明が適用される画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ、ファクシミリなどのハードウェアリソース103などを有するとともに、プラットホーム120とアプリケーション130とから構成されるソフトウェア群110と電源投入時に実行される複合機起動部140とを備えている。
【0030】
複合機起動部140は、複合機100の電源投入時にまずはじめに実行され、上記各モジュールを起動モードに応じて実行するものである。ここで、起動モードには通常モードとROM更新モードがある。通常モードとは、複合機でコピー、プリント、スキャナ、ファクシミリなど通常の複合サービスを行うために起動するモードである。ROM更新モードとは、フラッシュメモリの更新を行うために複合機を起動するモードであり、ROM更新フラッシュカード207を挿入した状態で電源投入が行われた場合に複合機はROM更新モードで起動する。
【0031】
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0032】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
【0033】
汎用OS121は、UNIXなどの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0034】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御するという複合サービスを行う際に実行される通常モードスレッドと、かかるリソース管理を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0035】
具体的には、このSRM123の通常モードスレッドは、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0036】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御という複合サービスを行う際に実行される通常モードスレッドを有している。
【0037】
SCS122のプロセスは、さらに複合機100がROM更新モードで起動された場合にのみ起動されるROM更新モードスレッドを通常モードスレッドとは別個に有している。このROM更新モードスレッドは、複合機100がROM更新モードで起動されたときに、ROM更新フラッシュカード207に記録されている更新データの中から、複合機100で動作するアプリケーション、コントロールサービスの構成に応じた更新データを選定する処理を行う。
【0038】
ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御という複合サービスを行う際に実行される通常モードスレッドと、このようなエンジン制御を行わずに単に起動されるだけのROM更新モードスレッドを有している。
【0039】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などのコピー、プリンタ、ファクシミリおよびスキャナなどの複合サービスを行う際に実行される通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0040】
OCS126のプロセスは、オペレータと本体制御間の情報伝達手段となる操作パネル(オペレーションパネル)の制御という複合サービスを行う際に起動される通常モードスレッドと、かかる操作パネルの制御を行わず単に起動されるだけのROM更新モードスレッドを有している。
【0041】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するという複合サービスを行う際に起動される通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0042】
NCS128は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行うという複合サービスを行う際に実行される通常モードスレッドと、かかる機能を実行せずに単に起動されるだけのROM更新モードスレッドを有している。
【0043】
このように、ECS124、MCS125、OCS126、FCS127、NCS128、SRM123の各ROM更新モードスレッドはいずれも単に起動されるだけであるが、これは、ROM更新処理時に、複合機内部で動作するコントロールサービスの存在を示すために起動されるようになっている。SCS122のROM更新モードスレッドは、ROM更新処理時に更新データの選定処理を行うとともに、複合機内部で動作するコントロールサービスの存在を示すために起動されるようになっている。
【0044】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。
【0045】
図2は、図1に示した複合機のハードウェア構成図である。図2に示すように、この複合機は、CPU202、SDRAM203、SRAM208、フラッシュメモリ(フラッシュROM)204、フラッシュカードインタフェース部206およびHD205などをASIC201に接続したコントローラボード200と、オペレーションパネル210と、ファックスコントロールユニット(FCU)220と、USB230と、IEEE1394 240と、プリンタ250から構成されている。オペレーションパネル210はASIC201に直接接続され、FCU220、USB230、IEEE1394 240およびプリンタ250はPCIバスを介してASIC201に接続されている。
【0046】
また、オペレーションパネル210は、後述するように、フラッシュカード207に記憶されているモジュールのうち、フラッシュROM204に記憶されているモジュールと参照データが合致するモジュールを表示するための表示部210aを備えている。
【0047】
フラッシュカードインタフェース部206は、フラッシュカード207を挿入して、フラッシュカード207とデータのやりとりを行うインタフェースである。フラッシュカード207は、上述の各アプリ、各コントロールサービスおよびシステムリソースマネージャの各プログラムの更新データや更新先アドレスなどをファイルシステムとして格納するものである。
【0048】
SRAM208は、ROM更新中に電源が切れた場合に、処理復帰のために更新中の各種情報を蓄積する不揮発性メモリである。
【0049】
フラッシュメモリ(以下、「フラッシュROM」という)204には、上述の各アプリ、プラットホーム120を構成する各コントロールサービスやSRM123の各プログラムが格納されている。また、フラッシュROM204には、ファイルシステムとして管理されるモジュール(1つのモジュールは1つのファイルシステムでなる)が複数配置されている。CPU202は、フラッシュROM204を、マウントして使用している。
【0050】
次に、フラッシュメモリ204に記憶されたファイルシステム、フラッシュカード207のファイルシステムの各ブロックの構成について示す。モジュールで構成されるファイルシステムは、ファイルシステム情報、ディレクトリ(directory)情報、ファイル情報、パス情報、ファイルデータの5個のブロックで構成されており、ファイルシステム内のルート直下にはモジュール名とモジュールのバージョン名とが記録されたテキストファイル(moduleinfo.txt)が配置されている。
【0051】
Aフラッシュメモリ
1.ファイルシステム情報
struct rom_sblock {
unsigned long magic; チェック用のマジックナンバー
long time; ファイルシステムの作成日時 (1970/01/01 00:00:00 からの経過秒数)
unsigned long bsize; ファイルシステムのブロックサイズ ( 4096 )
unsigned long blocks; データ領域のブロック数
unsigned long files; 総ファイル数
unsigned long nrdirent; ディレクトリ情報の個数
unsigned long nrnode; ファイル情報の個数
unsigned long pathsize; パス情報の総サイズ
unsigned long data_offset; 先頭アドレスからデータ領域までのオフセット量};
【0052】
2.ディレクトリ情報
struct rom_dirent {
unsigned long name; ファイル名の文字列が、パス情報のどの位置にあるかを示すオフセット値
unsigned long rno; ファイルの番号
unsigned long seq; ディレクトリの中での、ファイルの順番を示す値};
【0053】
ディレクトリ情報は、ディレクトリ内に存在するファイルの数だけ、必ず連続して存在する。ファイルの順番seqは、ディレクトリの最初のエントリから降順に割り振られていて、最後のエントリは0となる。つまり、seqは、ディレクトリの中に残っているファイルの数を示す値となる。あるディレクトリ中にあるファイル(filename)が存在する場合のディレクトリ構造を、図3に例示する。
【0054】
3.ファイル情報(ファイル情報のテーブル)
ファイルシステム中のファイルは、各々以下の情報(ファイル情報)を持つ。ファイル情報は、ファイル番号(rno)順に配列されていて、ファイル番号をインデックスとして使用することによりファイル情報が簡単に取り出すことができる。
【0055】
struct romfs_rnode {
unsigned short mode UNIX(登録商標) ファイル互換のモード情報
unsigned short nlink このファイルへのハードリンクの数
unsigned long size ファイルのデータサイズ
unsigned long rno ファイルシステム内部のファイル番号
long ctime ファイルの作成日時情報 (1970/01/01 00:00:00 からの経過秒数)
unsigned long uid 所有者のユーザ番号
unsigned long gid グループ番号
unsigned long offset ファイルのデータの位置情報 (ファイルシステムのデータ領域の先頭からのオフセット、ただし、ディレクトリの場合には、ディレクトリ情報の中でのオフセット値)
};
【0056】
4.パス情報(ファイル名のテーブル)
パス情報には、ファイルシステム中に存在するすべてのファイル名の文字列が格納されている。すべての文字列は、NULL(==0x00)で終端される。各ファイルの文字列は、ファイルに該当するディレクトリ情報のnameポインタによって指定される。
【0057】
また、ファイルがシンボリックファイルの場合、ファイル情報のdata_offsetポインタが指す先のパス情報領域にシンボリックリンク先のファイル名が格納される。
【0058】
5.ファイルデータ
ファイルシステム中にあるすべてのデータは、ブロック単位で格納されている。このため、例えば、容量が1バイトだけのファイルであってもファイルシステムのデータ領域では1ブロック分(4096バイト)を占有する。
【0059】
Bフラッシュカード
次に、フラッシュカード207に記録されているデータについて説明する。図4は、フラッシュカード207に記憶されているデータの構造を示す図である。ROM更新フラッシュカード207には、図4に示すように、先頭のROMモニタ起動命令400と、カード識別番号401と、ヘッダ部402と、データ部403とから構成されるデータが記録されている。
【0060】
本実施の形態のフラッシュカード207は、記録されているファイルシステムの名称(例えばモジュールID)とは別に、参照すべきファイルシステムに関する参照データを有している。参照データについては、後に詳述するものとする。
【0061】
ROMモニタ起動命令400は、複合機の起動時に参照されて後述するROMモニタの起動を行うコマンドである。カード識別番号401は、フラッシュカード207の種類を識別するものであり、ROM更新カード用、言語カード用、編集カード用にそれぞれの識別番号が予め割り当てられている。この実施の形態1において使用するROM更新フラッシュカード207には、ROM更新カード用の固有の番号がカード識別番号401に記録されている。
【0062】
ヘッダ部402は、更新するモジュールごとのヘッダブロックに分かれており、各ヘッダブロックには次のヘッダブロックまでのオフセットである次ヘッダオフセットと、モジュールの更新データまでのオフセットである更新データオフセットと、更新データのサイズと、モジュールの識別情報であるモジュールIDと、そのモジュールのフラッシュROM204上での相対番地を示す更新先アドレスと、そのモジュールのサイズである更新先領域長とから構成される。
【0063】
ここで、モジュールは、MCS125、ECS124、NCS128などのコントロールサービス単位のプログラム、プリンタアプリ111、コピーアプリ112などのアプリ単位のプログラム、プリンタエンジン101,102、スキャナエンジンなどのエンジン単位のプログラムで更新可能となっている。また、更新データとは、これらのモジュールに対する変更プログラムのバイナリデータを圧縮形式にしたものである。
【0064】
以下に、ヘッダ部402に含まれるヘッダ情報を示す。
1.ヘッダ情報
struct card_header {
unsigned long magic; チェック用のマジックナンバー
unsigned long offset; モジュール情報へのオフセット量
};
【0065】
ヘッダ部402の後ろからはデータ部403が記録されており、データ部403には更新データがモジュールごとに格納されている。各モジュールの更新データは、フラッシュメモリ204のファイルデータを更新するデータであって、先頭がモジュールに対応するヘッダブロックの更新データオフセットにより参照できるようになっている。
【0066】
図5は、参照データ404のデータ構造を説明するための図である。図示したように、参照データ404は、複数のモジュール書換え情報と、モジュール書換え情報によってフラッシュROM204のモジュールを書き換える処理を実行するためのモジュール書換え指示情報で構成されている。モジュール書換え情報は、フラッシュROM204にあるモジュールを書き換える更新データを記憶したモジュール(書換えモジュール)に関する情報である。
【0067】
また、モジュール書換え指示補助情報は、フラッシュROM204に書き込まれているモジュールのうち参照すべきモジュールについての情報である参照モジュール指定指示情報と、依存関係があってフラッシュROM204に一括して書き込まれるモジュールの情報である書換えモジュール指定指示情報とを持っている。
【0068】
以下、図5に示した各情報の内容について記す。
2.モジュール情報
モジュール書換え情報とモジュール書換え指示情報は同一の構造を持っており、両者は、それぞれが有する識別情報によって識別される。
【0069】
2−1−1モジュール書換え情報
struct moduleinfo {
unsigned char module[16] 書き換えモジュール名unsigned char version[16] モジュールバージョン
unsigned long data_offset; 先頭アドレスからデータ領域までのオフセット量
unsigned long data_size; データ領域のサイズ
unsigned long compress; 圧縮情報
unsigned long dist_addr; 書き込み先アドレス
unsigned long dist_size; 書き込み先領域
unsigned long next_offset; 次のモジュール情報へのオフセット量
};
【0070】
2−2−1モジュール書換え指示情報
struct moduleinfo {
unsigned char module[16] 書き換え指示名称
unsigned char version[16] 未使用
unsigned long data_offset; モジュール書き換え指示情報から書き換え指示補助情報までのオフセット量
unsigned long data_size; 書き換え指示補助情報のサイズ(0x14)
unsigned long flag; 圧縮情報および識別情報、メニュー非表示情報
unsigned long dist_addr; 書き込み先アドレス(未使用)
unsigned long dist_size; 書き込み先領域(未使用)
unsigned long next_offset; 次のモジュール情報へのオフセット量
};
【0071】
識別情報と共に格納されているメニュー非表示情報は、フラッシュカード207に記憶されているモジュールとフラッシュROM204内のモジュールとの間でモジュール名、マウントアドレスの整合がとれた場合に書換えモジュール名を表示するか否かを判断する処理に使用される情報である。
【0072】
2−2−2.モジュール書き換え指示補助情報
struct moduleinfo_aux {
struct smoduleinfo *smi; 書き換え指示補助情報から参照モジュール指定指示情報へのポインタ
struct wmoduleinfo *wmi; 書き換え指示補助情報から書き換えモジュール指定指示情報へのポインタ
unsigned long flag; 未使用
};
【0073】
2−2−3.参照モジュール指定指示情報
struct smoduleinfo {
unsigned char module[16] 参照モジュール名
unsigned char version[16] モジュールバージョン
unsigned long rom_addr; 参照モジュールのアドレス
unsigned long rom_size; 参照モジュールのサイズ
unsigned long flag; 未使用
unsigned long next_offset; 次のモジュール情報へのオフセット量
};
【0074】
2−2−4.書き換えモジュール指定指示情報
struct wmoduleinfo {
unsigned char module[16] 書き換えモジュール名
unsigned long flag; 未使用
unsigned long next_offset; 次のモジュール情報へのオフセット量
};
【0075】
図6は、本実施の形態の複合機における複合機起動部140の構成を示すブロック図である。複合機起動部140は、図6に示すとおり、ROMモニタ610と、プログラム起動部620と、ROM更新モードスレッドを起動したSCS122と、ROM更新部630とから構成される。ROMモニタ610、プログラム起動部620、ROM更新部630もフラッシュROM204に記憶されている。
【0076】
ROMモニタ610は、ROM更新フラッシュカード207の先頭に記録されたROMモニタ起動命令を実行することにより起動され、ハードウェアの初期化、コントローラボードの診断、ソフトウェアの初期化、汎用OS121の起動などを行う。
【0077】
プログラム起動部620は、汎用OS121から呼び出されるものであり、起動モード設定部621と、サービス層起動部622と、アプリ起動部623と、アプリ起動情報設定部624とから構成される。起動モード設定部621は、ROM更新フラッシュカード207のカード識別番号のチェックを行って、通常モードまたはROM更新モードの起動モードの設定を行う。サービス層起動部622は、汎用OS121の起動情報を取得して、コントロールサービスを起動する。アプリ起動情報設定部624は、ROM更新モードの場合に実行され、各アプリの起動情報を取得して、取得したアプリ起動情報を環境変数に設定する。アプリ起動部623は、起動モードが通常モードである場合に実行され、各アプリの起動情報を取得して各アプリを起動する。
【0078】
SCS122のROM更新モードスレッドは、プログラム起動部620のサービス層起動部622によって他のコントロールサービスとともに起動される。SCS122のROM更新モードスレッドでは、複合機100で動作するコントロールサービスやアプリを判断して、ROM更新フラッシュカード207から複合機100の構成に応じた更新データを選定する。また、SCS122のROM更新モードスレッドは、ROM更新部630を起動して、ROM更新部630に対して選定した更新データの情報とともにROM更新命令を発する。
【0079】
ROM更新部630は、SCS122のROM更新モードスレッドにより起動され、SCS122からROM更新命令を受け取って、更新データでフラッシュROM204を書き換えるものである。ROM更新部630は、SCS122からのROM更新命令を解析するROM更新命令解読部631と、更新先アドレスと解析したROM更新命令に基づいてフラッシュROM204のプログラムを書き換えるROM更新処理部633と、ROM更新中の各種情報をSRAMへ格納するSRAM処理部632と、ROM更新処理中のユーザへの進捗表示を制御する表示制御部634とから構成される。
【0080】
以上述べた複合機起動部140は、以下のように動作する。すなわち、ROM更新命令解読部631は、参照モジュール指定指示情報を解析し、参照モジュール指定情報とフラッシュROM204に記憶されているファイルシステムの情報とを照合する。
【0081】
さらに、ROM更新命令解読部631は、照合の結果、参照モジュール指定指示情報のすべてがフラッシュROM204のファイルシステムと合致した場合、ファイルシステムを書換えることが可能なフラッシュカード207のモジュールをすべて表示部201aに表示する。このとき、書き換え可能なモジュールが複数あった場合、複数のモジュールを一括して書換可能なモジュール群としてモジュール郡としての別称とバージョン情報とを表示する。
【0082】
このとき、モジュール書換え指示情報のメニュー非表示情報において、依存関係にあるモジュールとして記述されているモジュールの情報を非表示とする。メニュー非表示情報で非表示に設定されている書換えモジュールは、他のモジュールと依存関係にあるモジュールであって、非表示とすることによって単体モジュールが誤って書き換えられることを防ぐことができる。
【0083】
ユーザは、表示部210aに表示された参照モジュールのうちから書き換えを希望するモジュールを選択する。ROM更新処理部633は、選択されたモジュールのモジュール情報にしたがってフラッシュROM204のファイルシステムを書き換える。このとき、ユーザが単一のモジュールを指定した場合、選択されたモジュールがモジュール情報にしたがってフラッシュROM204のモジュールに書込まれる。
【0084】
ただし、ユーザが表示されたモジュールを一括して書込むことを選択した場合、ROM更新命令解読部631は、書換えモジュール指定指示情報に基づいてフラッシュカードのモジュール情報から書き換えを行うモジュールを検索し、モジュールの書換えスケジュールを作成する。ROM更新処理部633は、作成されたスケジュールにしたがってフラッシュROM204のモジュールを書き換える。
【0085】
以上述べた処理において、他のモジュールと依存関係があるモジュール(依存モジュール)については予めメニュー非表示情報を非表示に設定しておけば、単体モジュールの書き誤りを防ぐことができる。
【0086】
さらに、本実施の形態は、モジュールを一括して書込む際には書換えモジュール指定指示情報に記述された書換えモジュールをフラッシュカード207から検索してモジュールの書換えスケジュールを作成する。このとき、フラッシュカード207のモジュール書換え指定指示情報として依存関係にあるモジュールの情報が記述されている。スケジュールは、スケジュールが表示部201aに表示されて書き込まれるモジュールと共に依存関係があるモジュールをも書きこむように作成される。そして、ROM更新処理部633は、スケジュールにしたがって順番にフラッシュROM204を書き換えることにより、関係するモジュールをフラッシュROM204に一括して書きこむことができる。
【0087】
さらに、本実施の形態のメモリ書換え方法では、モジュールを書き換える際に書換えスケジュールに関する情報をSRAM208に一時的に保存する。そして、依存モジュールの書き換え中に電力の供給が断たれた後再開したとき、SRAM208に保存されたスケジュールに基づいて書き換えを行っている。このため、書換えが中断したときにもスケジュールにしたがって依存関係にあるモジュールを一括して書きこむことができる。
【0088】
次に、以上述べた本実施の形態のメモリ書換え方法を、図7、図8にフローチャートとして示し、説明する。なお、図8は、図7に示した書換え処理サブルーチンを説明するためのフローチャートである。
【0089】
ユーザは、先ず、フラッシュカード207をフラッシュROM204を備える複合機のフラッシュカードインタフェース部206に挿入し、電源を入れる。プログラム起動部620は、システムを起動してフラッシュカード207のヘッダ情報にあるマジックナンバをチェックする。そして、チェックの結果、マジックナンバがモジュールの書き換えに適切なものか否か判断する(ステップS701)。マジックナンバが適切なものでない場合(ステップS701:No)、ROM更新部630が、SRAM208に書き換えのためのデータがあるか否か判断する(ステップS702)。
【0090】
ステップS702の判断の結果、データがあった場合には(ステップS702:Yes)、警告を発する指示を出力し(ステップS703)、処理を終了する。また、SRAM208にデータがない場合(ステップS702:No)、複合機100を通常モードで起動し(ステップS704)、処理を終了する。
【0091】
また、ステップS701の判断において、ヘッダ情報のマジックナンバが適切であると判断された場合(ステップS701:Yes)、複合機100のブートプログラムは、ヘッダ情報以降に記録されたモジュール情報をとり込んでROM更新モードに入る。なお、本実施の形態では、ROM更新モードを、書換え処理サブルーチンとして示し、説明する(ステップS705)。
【0092】
書換え処理サブルーチンでは、ROM更新部630が、SRAM208に書き換えモジュールのデータがあるか否か判断する(ステップS801)。この判断の結果、SRAM208にデータがない場合(ステップS801:No)、ROM更新部630は、フラッシュROM204上のファイルシステムとして管理されているモジュールをマウントしながらmoduleinfo.txtをチェックする(ステップS802)。このチェックにより、プログラム起動部620によって起動されたコントロールサービスにおいて、SCS122のROM更新モードスレッドがフラッシュカード207からフラッシュカード207にある参照モジュール指定情報を取得し、参照モジュールの名称、バージョン、アドレス(書込み先)、サイズを得る。
【0093】
次に、更新モードスレッドは、参照モジュール指定情報にあるモジュールとの名称、サイズ、バージョンといった情報が一致し、かつ書込み先のアドレスに一致するモジュールがフラッシュROM204にあるか否か判断する(ステップS803)。そして、一致するモジュールがない場合(ステップS803:No)、警告を発して処理を終了する。
【0094】
一方、ステップS803の判断の結果、フラッシュROM204に参照モジュール指定情報と一致するモジュールがある場合(ステップS803:Yes)、プログラム起動部620がフラッシュROM204を更新するメニューを起動する(ステップS805)。起動されたメニューにより、フラッシュROM204のモジュールと参照モジュール指定情報が一致するモジュールの名称、モジュールが複数ある場合にはすべてをまとめたモジュール群の別称とバージョンとが表示部210aに表示される。
【0095】
次に、SCS122は、ユーザが表示部210aに表示されたモジュールを確認し、オペレーションパネル210から複数のモジュールでなるモジュール群の別称を指定し、モジュール群を一括して書込む選択をしたか否か判断する(ステップS806)。この結果、モジュール群を書込むよう入力がなされなかったと判断すると(ステップS806:No)、プログラム起動部420が、複合機100を通常の起動モードに切り換える。
【0096】
また、表示されたモジュールを一括して書込む場合(ステップS806:Yes)、一括して書込まれるモジュールの別称をSRAM208に書込む(ステップS807)。そして、SCS122は、フラッシュカード207の書換えモジュール指定指示情報にある書換えモジュール名を検索し、モジュールの書換えスケジュールを作成する(ステップS808)。
【0097】
ステップS808で作成されたスケジュールは、書換えモジュールに依存するモジュールをも一括して書きこむように設定されていて、スケジュールにしたがってフラッシュROM204を書き換えることによって依存モジュールをも一括して書きこむことができる。
【0098】
次に、ROM更新部630は、ステップS807で作成されたスケジュールにしたがってフラッシュROM204にあるモジュールを書き換える(ステップS809)。また、書き換え終了後、一括して書込まれるモジュール群の別称をクリアし(ステップS810)、処理を終了する。なお、単一モジュールを書き換える場合には、SRAM208に記憶されている書換えモジュール名をクリアする。
【0099】
本実施の形態のメモリ書換え方法は、以上述べた処理によって依存関係があるモジュールを一括して書き換え、一部のモジュールだけが書き換えられるために発生するシステムの不具合を防ぐことができる。さらに、書換えモジュール指定指示情報に参照モジュールと名称が異なるモジュールを書込むことができるため、フラッシュROM204に異なるモジュールを書込むことができる。
【0100】
また、ステップS801において、SRAM208にデータがある場合(ステップS801:Yes)、別称が付されてSRAM208に記録された別称に対応するモジュールと同一のモジュール(別称モジュール)がフラッシュカード207に存在するか否か判断する(ステップS804)。判断の結果、別称モジュールがフラッシュカードにない場合(ステップS804:No)、警告を発して処理を終了する。なお、この警告は、別称モジュールを要求するメッセージを画像や音声によってユーザに送るものであってもよい。
【0101】
また、ステップS804において、別称モジュールがフラッシュカード207にあると判断された場合(ステップS804:Yes)、SCS122は、SRAM208に記録された別称に基づいて再び書換えスケジュールを作成する(ステップS808)。
【0102】
ステップS804、ステップS808の処理によれば、停電などによって情報処理装置への電力の供給が停止した場合にもSRAM208に記録されているモジュールの情報(別称)にしたがってフラッシュカード207から書換えモジュールを取得して再度書き換えのスケジュールを作成することができる。また、電源投入時、ステップS702に示したように先ずSRAM208に書き換えに関するデータがあるか否か判断することにより、再び電力が供給されたときに自動的にモジュールの書換え処理が継続でき、モジュールを一括して書き換えることができる。
【0103】
以上述べた実施の形態のメモリ書換え方法は、フラッシュカードにモジュールの識別名とは別の参照モジュール名を記憶させ、参照モジュール名と一致するモジュールをフラッシュROMに書きこむことができる。このため、モジュールの識別名とは別のモジュール名を持ったモジュールをフラッシュROMに書込むことができる。また、この際、フラッシュROMのモジュールのデータが参照モジュールのデータ(バージョン、アドレスなど)と一致することを書き換えの条件とすることによって不正な書き換えをも防止することができる。
【0104】
なお、以上、本実施の形態で説明したメモリ書換え方法は、あらかじめ用意されたプログラムをコンピュータで実行することにより実現される。このプログラムは、ハードディスク、フロッピーディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、上記記録媒体を介して、また伝送媒体として、インターネット等のネットワークを介して配布することができる。
【0105】
また、以下に、本実施の形態のメモリ書換え方法と従来技術との差異を明らかにするため、従来のメモリ書換え方法をフローチャートにして図9に示す。図9は、従来の技術の書換え処理サブルーチンにあたる処理を示すものである。図9に示した書換え処理サブルーチンでは、、ROM更新部630が、SRAM208に書き換えモジュールのデータがあるか否か判断する(ステップS901)。
【0106】
この判断の結果、SRAM208にデータがない場合(ステップS901:No)、ROM更新部630は、フラッシュROM204上のファイルシステムとして管理されているモジュールをマウントしながらmoduleinfo.txtをチェックする(ステップS902)。そして、更新モードスレッドが、フラッシュカード207にあるモジュールの名称と一致し、かつ書込み先のアドレスに一致するモジュールがフラッシュROM204にあるか否か判断する(ステップS903)。そして、一致するモジュールがない場合(ステップS903:No)、警告を発して処理を終了する。
【0107】
一方、ステップS903の判断の結果、フラッシュROM204にモジュール名が一致するモジュールがある場合(ステップS903:Yes)、プログラム起動部620がフラッシュROM204を更新するメニューを起動する(ステップS905)。起動されたメニューにより、フラッシュROM204のモジュールと名称が一致するモジュールの別称が表示部210aに表示される。
【0108】
次に、SCS122は、ユーザが表示部210aに表示されたモジュールを確認し、オペレーションパネル210からモジュールを一括して書き込む選択をしたか否か判断する(ステップS906)。この結果、モジュールを書き込むよう入力がなされなかったと判断すると(ステップS906:No)、プログラム起動部420が、複合機100を通常の起動モードに切り換える。
【0109】
また、表示されたモジュールを書き込む場合(ステップS906:Yes)、書き込まれるモジュールの名称をSRAM208に書き込む(ステップS907)。そして、SCS122は、ユーザが指定したモジュールによってフラッシュROM204を書き換える(ステップS908)。そして、書き換え終了後、SRAM208に記憶されている書換えモジュール名をクリアする(ステップS909)。
【0110】
【発明の効果】
以上説明したように、請求項1に記載の発明は、フラッシュメモリのモジュールを別の名称を持った別の機能のモジュールに書き換えることができ、しかも不正な書き換えを防止できるメモリ書換え方法を提供することができるという効果を奏する。
【0111】
請求項2に記載の発明は、互いに依存関係にあるすべてのモジュールをメモリに一括して書込むことができ、システムに不具合が発生することを防止することができるメモリ書換え方法を提供することができるという効果を奏する。
【0112】
請求項3に記載の発明は、モジュールを一括して書き換えている間に電源が切れて電力の供給が断たれた場合にも再度電力が供給されたときに互いに依存関係にあるすべてのモジュールを書き換えることができるメモリ書換え方法を提供することができるという効果を奏する。
【0113】
請求項4に記載の発明は、前記メモリをフラッシュメモリとすることによって、特にプログラムを組み込んだ状態で出荷され、後にアプリケーションやコントロールサービスなどのプログラムを更新する構成の画像形成装置に適したメモリ書換え方法を提供することができるという効果を奏する。
【0114】
請求項5に記載の発明は、情報記録媒体をフラッシュメモリを備えたカード式の情報記録媒体であるフラッシュカードとすることによって、特にプログラムを組み込んだ状態で出荷され、後にアプリケーションやコントロールサービスなどのプログラムを更新する構成の画像形成装置に適したメモリ書換え方法を提供することができるという効果を奏する。
【0115】
請求項6に記載の発明は、コンピュータに、上記請求項1〜5に記載のメモリ書換え方法のいずれか一つを実行させることができるプログラムを提供することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態が適用される複合機の構成を示すブロック図である。
【図2】図1に示した複合機のハードウェア構成図である。
【図3】図2に示したフラッシュメモリのディレクトリの構造を例示する図である。
【図4】図2に示したフラッシュカードに記憶されておるデータ構造を説明するための図である。
【図5】本発明の一実施の形態の参照データを説明するための図である。
【図6】図1に示した複合機起動部の構成を示すブロック図である。
【図7】本発明の一実施の形態のメモリ書換え方法を説明するためのフローチャートである。
【図8】本発明の一実施の形態のメモリ書換え方法を説明するための他のフローチャートである。
【図9】従来のメモリ書換え方法を説明するためのフローチャートである。
【図10】コントローラボード上のフラッシュメモリを、フラッシュカードを使って書き換える従来の技術を説明するための図である。
【符号の説明】
100 複合機
103 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
120 プラットホーム
122 SCS(更新モードスレッド)
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション
140 複合機起動部
200 コントローラボード
201 ASIC
202 CPU
203 SDRAM
204 フラッシュメモリ
206 フラッシュカードインタフェース部
207 フラッシュカード
208 SRAM
210 オペレーションパネル
210a 表示部
250 プリンタ
400 モニタ起動命令
401 カード識別番号
402 ヘッダ部
403 データ部
404 参照データ
420 プログラム起動部
610 ROMモニタ
620 プログラム起動部
621 起動モード設定部
622 サービス層起動部
623 アプリ起動部
624 アプリ起動情報設定部
630 更新部
631 更新命令解読部
632 SRAM処理部
633 ROM更新処理部
634 表示制御部
Claims (6)
- メモリに記憶されたモジュールを情報記録媒体に記録されているモジュールによって書き換えるメモリ書換え方法であって、
前記情報記録媒体は、前記メモリに記憶された書き換えるモジュールのうち参照すべきモジュールについての情報を示す参照モジュール情報と、書き換えるモジュールであって前記参照モジュール情報におけるモジュールと名称が異なるモジュールの情報を示す書き換えモジュール情報とを記憶し、
前記参照モジュール情報が示す前記参照すべきモジュールの情報と、前記メモリに記憶されているモジュールの情報とを照合する照合工程と、
前記照合工程において前記参照モジュール情報が示す情報と前記メモリに記憶されているモジュールの情報とが合致した場合、合致した前記参照モジュール情報が示す前記参照すべきモジュールの名称を表示する表示工程と、
前記表示工程において表示された前記参照すべきモジュールの名称と名称が異なる前記書き換えモジュール情報が入力された場合、前記書き換えモジュール情報が示すモジュールで前記メモリに記憶されたモジュールを書き換える書換え工程と、
を含むことを特徴とするメモリ書換え方法。 - 前記情報記録媒体が、記録されているモジュール間の依存関係に関する依存情報を有するとともに、前記メモリ内に記憶されているモジュールの名称と合致した名称の参照モジュールと依存関係がある依存モジュール群を前記依存情報に基づいて前記メモリに一括して書き込む依存ファイル書込み工程をさらに含むことを特徴とする請求項1に記載のメモリ書換え方法。
- 前記依存ファイル書込み工程は、前記依存モジュール群に関する情報を一時的に保存する一時保存工程をさらに含み、依存ファイル書込み工程中に電力の供給が断たれた場合、再開時には前記一時保存工程によって保存された前記依存モジュール群に関する情報に基づいて依存関係にあるモジュール群を前記メモリに一括して書き込むことを特徴とする請求項2に記載のメモリ書換え方法。
- 前記メモリがフラッシュメモリであることを特徴とする請求項1〜3のいずれか一つに記載のメモリ書換え方法。
- 前記情報記録媒体がフラッシュメモリを備えたカード式の情報記録媒体であるフラッシュカードであることを特徴とする請求項1〜4のいずれか一つに記載のメモリ書換え方法。
- コンピュータに、上記請求項1〜5のメモリ書換え方法のいずれか一つを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001290374A JP4124410B2 (ja) | 2001-09-25 | 2001-09-25 | メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001290374A JP4124410B2 (ja) | 2001-09-25 | 2001-09-25 | メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003099313A JP2003099313A (ja) | 2003-04-04 |
JP4124410B2 true JP4124410B2 (ja) | 2008-07-23 |
Family
ID=19112687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001290374A Expired - Fee Related JP4124410B2 (ja) | 2001-09-25 | 2001-09-25 | メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4124410B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200156A (ja) * | 2006-01-27 | 2007-08-09 | Seiko Epson Corp | 情報処理装置及び情報処理装置のフラッシュrom書換方法 |
JP4986123B2 (ja) * | 2006-10-18 | 2012-07-25 | 横河電機株式会社 | インテリジェント伝送器とそのソフトウェア更新方法 |
JP4983521B2 (ja) * | 2007-10-04 | 2012-07-25 | 富士通株式会社 | ソフトウェア更新検証装置、方法及びプログラム |
JP5679714B2 (ja) * | 2010-07-07 | 2015-03-04 | キヤノン株式会社 | 画像形成装置 |
JP5699732B2 (ja) * | 2011-03-25 | 2015-04-15 | 富士ゼロックス株式会社 | 情報処理装置、プログラム |
-
2001
- 2001-09-25 JP JP2001290374A patent/JP4124410B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003099313A (ja) | 2003-04-04 |
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 | |
US8094330B2 (en) | Image forming apparatus that can launch external applications selectively after shipment of the apparatus | |
JP4121333B2 (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
US8817295B2 (en) | Communication system and printer therefor | |
JP4704233B2 (ja) | 情報処理装置及びその制御方法 | |
JP4200067B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP5888443B2 (ja) | 画像形成装置,プログラム更新方法および記録媒体 | |
JP2004118237A (ja) | 画像形成装置およびアプリケーションインストール方法 | |
US20190265964A1 (en) | Electronic apparatus, updating method, and recording medium | |
US20050151987A1 (en) | Information processing apparatus, program recovery method, and recording medium storing a program for program recovery | |
JP4124410B2 (ja) | メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム | |
JP4512565B2 (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP4695348B2 (ja) | カード型メモリ、画像形成装置、画像形成装置起動方法 | |
JP5267624B2 (ja) | 情報処理装置、表示制御方法、プログラム、及び記録媒体 | |
JP2004046802A (ja) | 画像形成装置およびプログラム追加方法並びに記録媒体 | |
JP2006271005A (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP2009044742A (ja) | 画像処理装置、画像処理装置の動作方法及びプログラム | |
JP2004066809A (ja) | 画像形成装置およびプログラム起動方法 | |
JP2004192629A (ja) | 画像形成装置,プログラム起動方法及びプログラム起動プログラム | |
JP2005173888A (ja) | 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
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: 20080430 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080501 |
|
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: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |