JP2008225882A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2008225882A
JP2008225882A JP2007063756A JP2007063756A JP2008225882A JP 2008225882 A JP2008225882 A JP 2008225882A JP 2007063756 A JP2007063756 A JP 2007063756A JP 2007063756 A JP2007063756 A JP 2007063756A JP 2008225882 A JP2008225882 A JP 2008225882A
Authority
JP
Japan
Prior art keywords
firmware
module
program
firmware module
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.)
Pending
Application number
JP2007063756A
Other languages
English (en)
Inventor
Nobuaki Takenaka
宣明 武仲
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007063756A priority Critical patent/JP2008225882A/ja
Publication of JP2008225882A publication Critical patent/JP2008225882A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】電子機器の実用性を損なうことなく、電子機器内のファームウェアの記憶容量を低減する。
【解決手段】電子機器(例えばプリンタ)の出荷当初、電子機器内のプログラムデバイス7には、必須機能を提供するための必須ファームウェアモジュール51〜63だけが格納されている。後に、ユーザが、必須機能以外の機能を提供するためのオプショナルファームウェアモジュール67〜75を、外部機器(例えばホストコンピュータ)に用意されたがオプショナルファームウェア群45の中から選んで、追加的に又は置換的に電子機器内のプログラムデバイス7に格納することができる。
【選択図】図2

Description

本発明は、一般には、プリンタのような電子機器に関し、特に、その電子機器に内蔵される或る程度に固定的なコンピュータプログラムつまりファームウェアのメンテナンスのための技術に関する。
電子機器には、それがもつ種々の機能のための種々のファームウェアが内蔵される。コンピュータ周辺機器の一つであるプリンタを例にとると、プリンタには、多くの印刷制御言語(例えば、プリンタメーカ独自言語、PostScript(登録商標)等の標準的ページ記述言語、エミュレータなど)、ネットワーク通信機能、種々のオプションデバイス(例えばハードディスクドライブ)との制御・通信機能、複数種類のホストインターフェース機能など、非常に多くの機能が搭載される。それらの機能を行うために非常に多くのファームウェアモジュールがプリンタに内蔵される。
特許文献1には、通信インタフェース用のファームウェアの書き換えに関する技術が開示されている。この従来技術によれば、機器に装着される通信インタフェースが新しいものに取り換えられた場合、機器内の古い通信インタフェース用のファームウェアが、自動的に新しい通信インタフェース用のファームウェアに書き換えられる。
特開2002−324016号公報
電子機器に内蔵されるファームウェアモジュールの種類やサイズは、電子機器の機能の多様化と高度化に伴い増大している。従って、それら多数のファームウェアモジュールを記憶するために必要なプログラムデバイス(典型的には、フラッシュメモリのような書換可能不揮発性半導体メモリ)の容量も年々増大している。ところが、大容量のプログラムデバイスは高価である為、この事がプリンタのコストアップの大きな要因となる。
従って、本発明の目的は、電子機器の実用性を損なうことなく、電子機器内のファームウェアの記憶容量を低減することにある。
本発明に従う電子機器は、前記電子機器に搭載可能な全ての機能のうちの一部の所定の複数種類の機能を提供するための所定の複数のファームウェアモジュールを初期的に格納し、前記初期格納されたファームウェアモジュールの合計サイズより大きい容量を持つ書き換え可能な記録媒体であるプログラムデバイスと、前記初期格納されたファームウェアモジュールとは別の種類の1以上のファームウェアモジュールを外部から受け、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納し、且つ、前記プログラムデバイスに既に追加的に格納されたファームウェアモジュールを削除するファームウェアメンテナンス手段とを備える。
この電子機器によれば、電子機器に搭載可能な全ての機能中の一部の機能のファームウェアモジュールがプログラムデバイスに格納されるから、プログラムデバイスの容量を全ファームウェアモジュールの合計サイズより小さくすることができる。プログラムデバイスの容量は、初期格納されたファームウェアモジュールの合計サイズよりは大きく、初期的に空エリアがあるので、後に必要に応じて、初期格納されたファームウェアモジュール以外のファームウェアモジュールをその空エリアに格納することができる。
好適な実施形態では、前記初期格納されたファームウェアモジュールは、前記電子機器の所定の必須機能を提供するための必須ファームウェアモジュールであり、前記別の種類1以上のファームウェアモジュールは、前記電子機器の前記必須機能とは別の1以上の種類のオプショナルな機能をそれぞれ提供するための1以上のオプショナルファームウェアである。さらに、前記必須ファームウェアモジュール中の少なくとも一つのファームウェアモジュールは、それと代替性のある所定の1種類以上のオプショナル機能をそれぞれ提供するための所定の少なくとも1つのオプショナルファームウェアモジュールと置換されることができる置換可能必須ファームウェアモジュールである。そして、前記ファームウェアメンテナンス手段は、前記所定の少なくとも1つのオプショナルファームウェアモジュールを外部から受けて、前記プログラムデバイス内の前記置換可能必須ファームウェアモジュールを、前記受けた所定のオプショナルファームウェアモジュールで置換するファームウェア置換手段を有する。
例えば、この電子機器が外部装置と通信するための複数種類の通信インタフェース装置を備える場合、前記置換可能必須ファームウェアモジュールは、前記複数種類のインタフェース装置の中の1種類のインタフェース装置を制御するためのインタフェース制御プログラムであってよく、前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールは、前記複数種類のインタフェース装置の中の他の少なくとも1種類のインタフェース装置を制御するための少なくとも1つのインタフェース制御プログラムであってよい。
あるいは、例えば、この電子機器が、印刷ジョブデータを外部から受けて印刷を行うプリンタである場合、前記置換可能必須ファームウェアモジュールが、前記印刷ジョブデータで使用され得る複数種類の印刷言語の中の1種類の印刷言語を解釈するための印刷言語制御プログラムであってよく、また、前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールが、前記複数種類の印刷言語の中の他の少なくとも1種類の印刷言語をそれぞれ解釈するための少なくとも1つの印刷言語制御プログラムであってよい。
このような構成により、電子機器に、代替可能な複数の機能が搭載可能である場合、それら複数の機能のファームウェアモジュールの全てをプログラムデバイスに格納する必要はなく、少なくとも1つ又は少数の良く利用する機能のファームウェアモジュールだけを格納しておくことができるから、プログラムデバイスの容量が節約できる。
また、好適な実施形態では、この電子機器は、前記1以上のオプショナルファームウェアモジュール及び前記置換可能必須ファームウェアモジュールを格納した外部記憶装置と通信可能である。そして、前記ファームウェアメンテナンス手段は、前記外部記憶装置からいずれかのオプショナルファームウェアモジュール又はいずれかの置換可能必須ファームウェアモジュールを受けて、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納する手段を有する。
この構成によれば、外部記憶装置内にオプショナルファームウェアモジュールだけでなく置換可能必須ファームウェアモジュールも格納されていて、そこからいずれかのファームウェアモジュールを受けてプログラムデバイスに格納できる。それゆえ、プログラムデバイス内の置換可能必須ファームウェアモジュールを、外部記憶装置からの代替性のあるオプショナルファームウェアモジュールと置換することだけでなく、そのような置換を行った後に、逆方向に置換をして再び置換可能必須ファームウェアモジュールをプログラムデバイスに戻すこともできる。
好適な実施形態では、この電子機器は、前記別の種類の1以上のファームウェアモジュールを格納した外部記憶装置と通信可能である。そして、前記ファームウェアメンテナンス手段は、前記プログラムデバイスと前記外部記憶装置とを調べて、前記外部記憶装置内の1以上のファームウェアモジュールと置換可能な1以上のファームウェアモジュールを、前記プログラムデバイスからピップアップし、前記プログラムデバイスからピックアップされたい1以上のファームウェアモジュールと置換可能である1以上のファームウェアモジュールを、前記外部記憶装置からピックアップする手段と、前記外部記憶装置からピックアップされた1以上のファームウェアモジュールの中から、ユーザに1つのファームウェアモジュールを選択させる手段と、前記ユーザ選択された1つのファームウェアモジュールで、前記プログラムデバイスからピックアップされた1以上のファームウェアモジュール中の、前記ユーザ選択された1つのファームウェアモジュールと代替可能な1つのファームウェアモジュールを、前記ユーザ選択された1つのファームウェアモジュールで置換する手段とを有する。
この構成によれば、ファームウェアメンテナンス手段が、プログラムデバイスと外部記憶装置とを調べて、互いに置換可能なファームウェアモジュールの組をピックアップし、そのピックアップされたものの中から、ユーザが置換対象のファームウェアモジュールを選択することができる。それゆえ、特にファームウェアモジュールの種類が多い場合に、ユーザの操作が楽でかつ間違いが少ない。
好適な実施形態では、この電子機器は、前記プログラムデバイスの記憶エリアの中で、前記ファームウェアモジュールが格納されてないエリアを、前記ファームウェアモジュールの格納とは別の目的に使用する空エリア管理手段を更に備える。これにより、空エリアを有効活用して、電子機器の性能を高めることができる。
好適な実施形態では、この電子機器は、ホスト装置の周辺デバイスであり、前記ホスト装置に前記電子機器のためのデバイスドライバがインストールされるときに、前記ファームウェア置換手段が動作するようになっている。これにより、周辺デバイスとしてのこの電子機器を利用する環境をセットアップするときに、電子機器内のファームウェアを、初期格納されたファームウェアモジュールの組み合わせより適切な組み合わせへとセットアップできるので、ユーザにとり使い易い。
本発明によれば、電子機器の実用性を損なうことなく、電子機器内のファームウェアの記憶容量が低減できる。
図1は、本発明に従う電子機器の一実施形態であるプリンタとホストコンピュータを有するプリントシステムの全体構成を示す。
図1に示すように、プリントシステム100は、プリンタ1と、これに通信可能に接続されたホストコンピュータ3とを備える。プリンタ1は、CPU5、プログラムデバイス7、コントロールパネル9、印刷エンジン11、エンジンコントローラ23、及びホスト装置との通信用の複数種類の通信インタフェース装置15、17、19などを備える。
プログラムデバイス7は、例えばフラッシュメモリのような書換え可能な不揮発性メモリであり、そこには、複数のファームウェアモジュールが記憶されるが、それらの具体例は後に説明する。CPU5は、プログラムデバイス7からファームウェアモジュールをロードしそれを実行することにより、プリンタ1の各部の動作を制御する。コントロールパネル9は、ユーザが手動でプリンタ1を操作したり、プリンタ1からのユーザ向けのメッセージを表示したりするための装置である。印刷エンジン11は、用紙へ液状または粉状のインクを付着させて画像を印刷する動作を行うための機構及び回路である。エンジンコントローラ13は、CPU5から印刷データを受けて印刷エンジン11を駆動し制御する回路である。
複数種類の通信インタフェース装置15、17、19は、それぞれ、ホストコンピュータ3やその他の周辺デバイスと通信するためのものである。この実施形態では、一例として、1種類の通信インタフェース装置15のみがホストコンピュータ3との接続で使用されているが、残りのインタフェース17、19は使用されていない。
ホストコンピュータ3、汎用的なコンピュータ、デジタルカメラあるいはその他の情報処理機器であってよく、CPU21、RAM23、ROM25、ストレージ装置27、及びプリンタ1のような外部の電子機器との通信用の複数種類のインタフェース装置31、33、35などを備える。複数種類のインタフェース装置31、33、35のうち、この実施形態では、一つのインタフェース装置31がプリンタ1との接続に使用されている。
ストレージ装置27は、例えばハードディスクドライブであり、そこには、CPU21により実行されたり、あるいはプリンタ1へ送信されたりすることになる、各種のプログラムが格納されている。それらのプログラムの代表は、オペレーティングシステム及び各種アプリケーションプログラムであるが、いずれも図示省略されている。さらに、プリンタ1に関連するプログラムとして、プリンタドライバ41、ファームウェアセットアッププログラム43及びオプショナルファームウェアモジュール群45が、ストレージ装置27に格納される。プリンタドライバ41、ファームウェアセットアッププログラム43及びオプショナルファームウェアモジュール群45は、プリンタ1に付属するCD−ROMのような外部記録媒体、あるいは、プリンタメーカが提供する広域ネットワーク上のダウンロードサイトなどから、ホストコンピュータ3に供給される。
プリンタドライバ41は、CPU21に実行されることで、主に、アプリケーションプログラムから文書データを受けて印刷ジョブデータを作成し、その印刷ジョブデータをプリンタ1に送る処理を行う。ファームウェアセットアッププログラム43は、CPU21に実行されることで、本発明の原理に従って、プリンタ1のプログラムデバイス7にユーザ所望のファームウェアモジュールを追加したり、消去したり、或いは置換したりすることをプリンタ1に命令し、かつ、追加されるファームウェアモジュールをオプションファームウェアモジュール群45から選んでプリンタ1へ送信する。オプションファームウェアモジュール群45は、プリンタ1のプログラムデバイス7に追加されたり、消去されたり、或いは置換されたりすることができる複数のファームウェアモジュールの集まりであり、その具体例は後述する。
ファームウェアセットアッププログラム43の実行は、ユーザが任意の時に行えるようになっていてもよいし、プリンタドライバ41がインストールされるときに、自動的に行われるようになっていてもよい。後者の場合、プリンタ1を使用する環境をセットアップするときに、プリンタ1内のファームウェアのセットアップ(ユーザにとって最適と思われるファームウェアモジュールのプリンタ1へのセットアップ)が行えるので便利である。プログラム43とオプションファームウェアモジュール群45は、必ずしも、ストレージ装置27にインストールされてなくてもよく、例えばプリンタドライバ41をインストールするためのプリンタ1に付属のCD−ROMのような外部記録媒体に格納されていて、実行時にはそこからCPU21にロードされるようになっていてもよい。
図2は、図1に示されたプリントシステム1において、プリンタ1内のファームウェアを追加、消去、置換するための機能的構成をより具体的に示す。
図2において、ファームウェアセットアッププロセス81とは、図1に示したファームウェアセットアッププログラム43がホストコンピュータ1により実行されることで行われる制御プロセスである。また、ファームウェアメンテナンスプロセス83とは、プリンタ1のプログラムデバイス7に格納されたファームウェアモジュールの一つである後述のファームウェアメンテナンスプログラム59が、プリンタ1で実行されることにより行われる制御プロセスである。ホストコンピュータ1で、ファームウェアセットアッププログラム43が起動されてファームウェアセットアッププロセス81が開始されると、ファームウェアセットアッププロセス81はプリンタ1に命じてファームウェアメンテナンスプログラム59を起動させ、ファームウェアメンテナンスプロセス83が開始するようになっている。
図2に示されるように、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とが、互いに連携して、ホストコンピュータ3内のオプショナルファームウェアモジュール群45中から任意のファームウェアモジュールを選択して、選択されたファームウェアモジュールを、プリンタ1内のプログラムデバイス7に書き込むことができる。それだけでなく、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とは、互いに連携して、プログラムデバイス7から不要なファームウェアモジュールを削除したり、或いは、プログラムデバイス7内の或るファームウェアモジュールを、オプショナルファームウェアモジュール群45中の代替可能なファームウェアモジュールで置換したりすることができる。
ところで、プリンタ1の工場出荷時において、プリンタ1内のプログラムデバイス7には、図2に例示されるような所定の複数のプログラムモジュール51〜63が、初期的に格納されている。これらの初期格納されたプログラムモジュール51〜63は、プリンタ1に必須な(必須と考えられる)所定の機能(以下、「必須機能」といい、例えば、印刷機能、ホストコンピュータとの通信機能、ユーザインタフェース(コントロールパネル)の機能、及び、本発明の原理に従ったファームウェアをメンテナンスする機能など)をそれぞれ実現するためのファームウェアモジュールであり、これらを以下、「必須ファームウェアモジュール」という。
プログラムデバイス7の容量は、望ましくは、初期格納された必須プログラムモジュール51〜63の合計サイズより大きく、その容量中の余った分の領域は、ユーザエリア65として管理される。ユーザエリア64は、ファームウェア以外のデータ又はプログラム、例えば、ユーザが任意に入力したフォントデータ、文書フォームデータ、または、ホストコンピュータ3などから入力された印刷ジョブデータなどのユーザデータを記憶するために利用可能である。
必須ファームウェアモジュールが提供する必須機能は、プリンタ1に搭載可能な全部の機能ではなく、そのうちの一部にすぎない。必須機能以外のオプショナルな機能を提供するためのファームウェアモジュール67、69、71〜77は、プログラムデバイス7に初期的には格納されておらず、代わりに、オプショナルファームウェアモジュール群45に含まれており、後に、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とを通じて、プログラムデバイス7に追加的に又は置換的に格納することができるようになっている。ユーザエリア65のサイズは、このような後の追加的又は置換的なモジュール格納によって変化する。
この実施形態では、プログラムデバイス7に初期格納された必須ファームウェアモジュールには、例えば、プリンタOS(プリンタのオペレーティングシステム)51、プリンタ1に搭載された所定デバイス用のデバイスドライバ群53、コントロールパネル制御プログラム55、所定周辺機器の制御用やその他の所定必須機能用のプログラム57、ファームウェアメンテナンスプログラム59などが含まれる。ここで、ファームウェアメンテナンスプログラム59は、プリンタ1のCPU5により実行されることで、上述したファームウェアメンテナンスプロセス83を行うものである。ファームウェアメンテナンスプロセス83は、ホストコンピュータ3におけるファームウェアセットアッププログラム43の実行によって行われるファームウェアセットアッププロセス81と連携して、プログラムデバイス7内のファームウェアモジュールの追加、削除及び置換の動作を行う。
プログラムデバイス7に初期格納された必須ファームウェアモジュールには、さらに、少なくとも1種類(または最低限必要な小数種類)の印刷制御言語プログラム61と、少なくとも1種類(または最低限必要な小数種類)のホスト通信インタフェース制御プログラム63が含まれる。印刷制御言語(印刷ジョブデータで使用される言語)には複数種類のもの(例えば、プリンタ1のメーカが独自に定義した印刷制御言語、PostScript(登録商標)のような標準的なページ記述言語、及び各種のエミュレータなど)があるが、このうちプリンタ1で最もよく使われる1種類(または最低限必要な種類)の言語(例えば、プリンタ1のメーカが独自に定義した印刷制御言語)を解釈する印刷制御言語プログラム61が、必須ファームウェアモジュールとして初期格納されている。また、ホスト通信用のインタファースにも複数種類のもの(例えば、図1に示した複数種類のインタフェース15〜19であり、例えば、パラレルインタフェース、USB、ネットワークインタフェースなど)があるが、その中で、プリンタ1で最もよく使われる1種類(または最低限必要な種類)の通信インタフェース(例えば、図1に示した1種類の通信インタフェース装置15であり、例えばUSB)の制御プログラム63が、必須ファームウェアモジュールとして初期格納されている。
ここで、印刷制御言語プログラム61は、これと代替性をもつ別種類のオプショナルな印刷言語制御機能を提供するオプショナルな印刷制御言語プログラムと置換されることができる。その理由は、プリンタ1に搭載可能な全ての種類の印刷制御言語が必ずしも使用できなければならないわけではなく、ユーザが利用する少なくとも1種類のプリンタ制御言語が使用できれば、プリンタの必要条件を満たすからである。必須ファームウェアモジュールとしての印刷制御言語プログラム61、及びこれと代替性のある他種類のオプショナルな印刷制御言語プログラム67、69は、オプショナルファームウェアモジュール群45に含まれており、後に、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とを通じて、プログラムデバイス7に追加的に又は置換的に格納することができ、また、置換や追加をした後に元へ戻すこともできるようになっている。
これと同様に、通信インタフェース制御プログラム63も、これと代替性をもつ別種類のオプショナルな通信インタフェース機能を提供するオプショナルな通信インタフェース制御プログラムと置換されることができる。その理由は、プリンタ1に搭載可能な全ての種類の通信インタフェースが必ずしも使用できなければならないわけではなく、ユーザが利用する少なくとも1種類の通信インタフェースが使用できれば、プリンタの必要条件を満たすからである。必須ファームウェアモジュールとしての通信インタフェース制御プログラム63、及びこれと代替性のある他種類のオプショナルな印刷制御言語プログラム71、75は、オプショナルファームウェアモジュール群45に含まれており、後に、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とを通じて、プログラムデバイス7に追加的に又は置換的に格納することができ、また、置換や追加をした後に元へ戻すこともできるようになっている。
プログラムデバイス7に初期格納された必須ファームウェアモジュールのうち、印刷制御言語プログラム61と通信インタフェース制御プログラム63のように、それと代替性のある他の種類のファームウェアモジュールによって置換され得るものを、以下、「置換可能必須ファームウェアモジュール」という。これに対し、プリンタOS51、デバイスドライバ群53、コントロールパネル制御プログラム55、周辺機器制御プログラム57及びファームウェアメンテナンスプログラム59のように、他の種類のファームウェアモジュールで置換し得ない必須ファームウェアモジュールを、以下、「絶対必須ファームウェアモジュール」という。
他方、ホストコンピュータ3に格納されたオプショナルファームウェアモジュール群45には、上述したように、プログラムデバイス7に追加的に又は置換的に格納することができる複数のオプショナルなファームウェアモジュール67〜77が含まれており、これらを以下、「オプショナルファームウェアモジュール」という。これらのオプショナルファームウェアモジュールの中には、既に説明したオプショナルな印刷制御言語プログラム65、69及びオプショナルな通信インタフェース制御プログラム71、73の他に、付加的な機能をプリンタ1に提供するためのファームウェアモジュールとして、ネットワークOS75及びハードディスク制御プログラム77がある。ネットワークOS75は、追加機能としてのLANなどのネットワークでの通信機能を提供するオペレーシングシステムである。ハードディスク制御プログラム77は、追加機能としてハードディスクドライブ使用機能を提供するためのデバイスドライバである。
さらに、上述した置換可能必須ファームウェアモジュールである印刷制御言語プログラム61と通信インタフェース制御プログラム63も、オプショナルファームウェアモジュール群45に含まれている。その理由は、その必須ファームウェアモジュールが別の代替性のあるオプショナルファームウェアモジュールに置換にされた後に、再びその必須ファームウェアモジュールを格納することができるようにするためである。
このようなオプショナルファームウェアモジュール群45中から、ユーザが利用したい一部のオプショナルファームウェアモジュールだけを選択して、プログラムデバイス7に置換的又は追加的に格納することが、プログラムデバイス7の容量を超えない範囲内で可能である。もし、プログラムデバイス7の容量が、全ての必須及びオプショナルファームウェアモジュールの合計のサイズ以上に大きければ、全ての必須及びオプショナルファームウェアモジュールをプログラムデバイス7に格納することが可能である。図3は、全ての必須及びオプショナルオプショナルファームウェアモジュールがプログラムデバイス7に格納された状態を示している。従来技術によれば、プログラムデバイスの容量は、全てのファームウェアモジュールを収容できるよう大きく、プログラムデバイスは初期的に図3に示すように、全てのファームウェアモジュールを格納した状態になっている。これに対し、本実施形態によれば、必須ファームウェアモジュールだけが初期的にプログラムデバイス7に格納されており、後に、ユーザが必要と考えるオプショナルファームウェアモジュールを選択的にプログラムデバイス7に追加的又は置換的に格納すればよい。そのため、プログラムデバイス7の容量は、全てのファームウェアモジュールの合計サイズより小さく、必須ファームウェアモジュールの合計サイズより大きい適当値に選ぶことができ、プログラムデバイス7の容量とコストの増大を抑えることができる。加えて、プログラムデバイス7に格納されるファームウェアモジュールの数を極力少なくすれば、ユーザエリア65として使用できる容量が増えるから、プリンタ1のパフォーマンスの向上が期待できる。
なお、図2及び図3を参照して上に説明した各種のファームウェアモジュールの具体例は、本発明の説明のための簡単な例を示したにすぎず、本発明の実施品では、これらの例示とは異なる種類の或いはより多くの種類のファームウェアモジュールが、必須ファームウェアモジュール又はオプショナルファームウェアモジュールとして採用され得る。
図4は、図2に示したファームウェアセットアッププロセス81の流れを示す。
図4に示すように、ステップS1で、ファームウェアセットアッププロセス81は、ファームウェアメンテナンスプロセス83を通じて、プリンタ1内のプログラムデバイス7を調べて、そこに現在格納されている置換可能なファームウェアモジュールと消去可能なファームウェアモジュールの全てをピックアップし、また、プログラムデバイス7の空エリアサイズ(ユーザエリア65のサイズ)を把握し、ピックアップされた置換可能なファームウェアモジュールと消去可能なファームウェアモジュールのリスト(以下、「実装リスト」という)と、把握された空エリアサイズとを、ホストコンピュータ1のディスプレイスクリーン(図示省略)に表示する。ここで、置換可能なファームウェアモジュールとは、プログラムデバイス7内の置換可能必須ファームウェアモジュールと、置換可能必須ファームウェアモジュールを置換してプログラムデバイス7に格納されたオプショナルファームウェアモジュールである。消去可能なファームウェアモジュールとは、プログラムデバイス7に追加的に格納されたオプショナルファームウェアモジュールである。
ステップS2で、ファームウェアセットアッププロセス81は、ホストコンピュータ1内のオプショナルファームウェアモジュール群45を調べて、そこに含まれる置換可能必須及びオプショナルファームウェアモジュールの全てをピックアップし、ピックアップされたファームウェアモジュールのリスト(以下、「オプションリスト」という)を、ホストコンピュータ1のディスプレイスクリーン(図示省略)に、上述した実装リストと並べて表示する。
ステップS3で、ファームウェアセットアッププロセス81は、行いたい操作の種類(置換、追加または削除)をユーザに選択させる。ユーザ選択された操作種類が「置換」であったならば(ステップS11)、制御はステップ12へ進み、「追加」であったならば(ステップS21)、制御はステップ22へ進み、また、「削除」であったならば(ステップS31)、制御はステップS32へ進む。
ステップS11で「置換」が選択された場合、ステップS12で、ファームウェアセットアッププロセス81は、ユーザに、表示された実装リスト中の上記ステップS2でピックアップされた置換可能なファームウェアモジュールの中から、削除したいファームウェアモジュール(以下、「削除モジュール」という)を選択させる。ステップS13で、ファームウェアセットアッププロセス81は、ユーザ選択された削除モジュールと機能的に置換可能(代替性のある)であって且つプログラムデバイス7の空エリアサイズの範囲内で(つまり、空きエリアサイズを超えずに)その置換が行えるようなサイズをもつファームウェアモジュール(以下「置換可能モジュール」という)、を、表示されたオプションリスト中で選択し表示する。ステップS14で、ファームウェアセットアッププロセス81は、ユーザに、表示された置換可能モジュール中から、削除モジュールと置換したいアームウェアモジュール(以下、「置換モジュール」という)を選択させる。
ステップS15で、ファームウェアセットアッププロセス81は、ストレージ装置27のオプショナルファームウェア群45から置換モジュールを読み出し、そして、置換命令と、削除モジュールの識別情報と、読み出された置換モジュールとを、プリンタ1(ファームウェアメンテナンスプロセス83)へ送信する。
他方、ステップS21で「追加」が選択された場合、ステップS22で、ファームウェアセットアッププロセス81は、プログラムデバイス7の空エリアサイズの範囲内で(つまり、空きエリアサイズを超えずに)追加可能であるようなサイズをもつファームウェアモジュール(以下、「追加可能モジュール」という)を、表示されたオプションリスト中で選択し表示する。ステップS23で、ファームウェアセットアッププロセス81は、ユーザに、追加したいファームウェアモジュール(以下、「追加モジュール」と言う)を、表示された追加可能モジュール中から選択させる。
ステップS24で、ファームウェアセットアッププロセス81は、追加モジュールをストレージ装置41内のオプショナルファームウェア群45から読み出し、追加命令と、読み出された追加モジュールとを、プリンタ1(ファームウェアメンテナンスプロセス83)へ送信する。
また、ステップS31で「削除」が選択された場合、ステップS32で、ファームウェアセットアッププロセス81は、ユーザに、表示された実装リスト中の上記ステップS2でピックアップされた削除可能なファームウェアモジュールの中から、削除モジュールを選択させる。そして、ステップS33で、削除命令と、削除モジュールの識別情報とを、プリンタ1(ファームウェアメンテナンスプロセス83)へ送信する。
図5は、図2に示されたファームウェアメンテナンスプロセス83の流れを示す。これは、上述したファームウェアセットアッププロセス81と連携するプロセスである。
図5に示すように、ステップS41で、ファームウェアメンテナンスプロセス83は、ホストコンピュータ1(ファームウェアセットアッププロセス81)から、置換、追加又は削除命令と、それに付随するパラメータ又はデータ(すなわち、置換モジュールまたは追加モジュールと、もしあれば、削除モジュールの識別情報)とを受信する。ステップS42で、ファームウェアメンテナンスプロセス83は、プログラムデバイス7に対して、命じられた置換、追加又は削除を実行する。すなわち、置換命令を受けた場合には、受けた識別情報に該当する削除モジュールをプログラムデバイス7から削除し、そして、受けた置換モジュールをプログラムデバイス7に書き込む。また、追加命令を受けた場合には、受けた追加モジュールをプログラムデバイス7に書き込む。また、削除命令を受けた場合には、受けた識別情報に該当する削除モジュールをプログラムデバイス7から削除する。
ステップS43で、ファームウェアメンテナンスプロセス83は、置換、追加又は削除が行われた後のプログラムデバイス7内の空エリアの場所とサイズを調べ、以後、その空エリアをユーザエリア65として利用できるように管理する。
以上、本発明の好適な実施形態を説明したが、上記実施形態は本発明の説明のための例示にすぎず、本発明の範囲を上記実施形態にのみ限定する趣旨ではない。従って、本発明は、その要旨を逸脱することなしに、上記実施形態とは異なる態様でも、実施することができる。
例えば、上述した実施形態においてホストコンピュータ3で実行されるファームウェアセットアッププログラム43が提供するファームウェアモジュールの置換/追加/消去のための機能が、プリンタ1内のファームウェアメンテナンスプログラム59によって行われえるようになっていて、それにより、ホストコンピュータ3を用いなくても、プリンタ1だけで、ファームウェアモジュールの置換/追加/消去が行えるようになっていてもよい。その場合、オプショナルファームウェアモジュール群45は、外部記録媒体、ホストコンピュータ又はネットワーク上のダウンロードサイトなどの外部装置から、プリンタ1に提供されるようになっていてよい。
また、上述した実施形態では、プログラムデバイス7は、書き換え可能な不揮発性メモリ、例えばフラッシュメモリであるが、別の種類の書き換え可能な記録媒体、例えば書き換え可能な不揮発性メモリの一つであるハードディスクドライブ、或いは、書き換え可能なメモリの一つであるRAMなどであってもよい。
本発明に従う電子機器の一実施形態であるプリンタとホストコンピュータを有するプリントシステムの全体構成を示すブロック図。 図1に示されたプリントシステム1において、プリンタ1内のファームウェアを追加、消去、置換するための機能的構成をより具体的に示したブロック図。 全てのファームウェアモジュールが格納されたプログラムデバイス7の状態を示すブロック図。 図2に示したファームウェアセットアッププロセス81の流れを示す図。 図2に示したファームウェアメンテナンスプロセス83の流れを示す図。
符号の説明
100 プリントシステム、 1 プリンタ、 3 ホストコンピュータ、 5 CPU、 7 プログラムデバイス、 15、17、19 通信インタフェース、 43 ファームウェアセットアッププログラム、 45 オプショナルファームウェアモジュール群、 51、53、55、57、59 (絶対)必須ファームウェアモジュール、 61、63 (置換可能)必須ファームウェアモジュール、 67、69、71、73、75、77 オプショナルファームウェアモジュール、 65 ユーザエリア。

Claims (8)

  1. 前記電子機器に搭載可能な全ての機能のうちの一部の所定の複数種類の機能を提供するための所定の複数のファームウェアモジュールを初期的に格納し、前記初期格納されたファームウェアモジュールの合計サイズより大きい容量を持つ書き換え可能な記録媒体であるプログラムデバイスと、
    前記初期格納されたファームウェアモジュールとは別の種類の1以上のファームウェアモジュールを外部から受け、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納し、且つ、前記プログラムデバイスに既に追加的に格納されたファームウェアモジュールを削除するファームウェアメンテナンス手段と
    を備えた電子機器。
  2. 請求項1に記載の電子機器において、
    前記初期格納されたファームウェアモジュールは、前記電子機器の所定の必須機能を提供するための必須ファームウェアモジュールであり、
    前記別の種類の1以上のファームウェアモジュールは、前記電子機器の前記必須機能とは別の1以上の種類のオプショナルな機能をそれぞれ提供するための1以上のオプショナルファームウェアであり、
    前記必須ファームウェアモジュール中の少なくとも一つのファームウェアモジュールは、それと代替性のある所定の1種類以上のオプショナル機能をそれぞれ提供するための所定の少なくとも1つのオプショナルファームウェアモジュールと置換されることができる置換可能必須ファームウェアモジュールであり、
    前記ファームウェアメンテナンス手段は、
    前記所定の少なくとも1つのオプショナルファームウェアモジュールを外部から受けて、前記プログラムデバイス内の前記置換可能必須ファームウェアモジュールを、前記受けた所定のオプショナルファームウェアモジュールで置換するファームウェア置換手段を有する
    電子機器。
  3. 請求項2に記載の電子機器において、
    外部装置と通信するための複数種類の通信インタフェース装置を備え、
    前記置換可能必須ファームウェアモジュールが、前記複数種類のインタフェース装置の中の1種類のインタフェース装置を制御するためのインタフェース制御プログラムであり、
    前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールが、前記複数種類のインタフェース装置の中の他の少なくとも1種類のインタフェース装置を制御するための少なくとも1つのインタフェース制御プログラムである、
    電子機器。
  4. 請求項2に記載の電子機器において、
    前記電子機器は、印刷ジョブデータを外部から受けて印刷を行うプリンタであり、
    前記置換可能必須ファームウェアモジュールが、前記印刷ジョブデータで使用され得る複数種類の印刷言語の中の1種類の印刷言語を解釈するための印刷言語制御プログラムであり、
    前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールが、前記複数種類の印刷言語の中の他の少なくとも1種類の印刷言語をそれぞれ解釈するための少なくとも1つの印刷言語制御プログラムである、
    電子機器。
  5. 請求項2に記載の電子機器において、
    前記電子機器は、前記1以上のオプショナルファームウェアモジュール及び前記置換可能必須ファームウェアモジュールを格納した外部記憶装置と通信可能であり、
    前記ファームウェアメンテナンス手段は、
    前記外部記憶装置からいずれかのオプショナルファームウェアモジュール又はいずれかの置換可能必須ファームウェアモジュールを受けて、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納する手段を有する
    電子機器。
  6. 請求項1に記載の電子機器において、
    前記電子機器は、前記別の種類の1以上のファームウェアモジュールを格納した外部記憶装置と通信可能であり、
    前記ファームウェアメンテナンス手段は、
    前記プログラムデバイスと前記外部記憶装置とを調べて、前記外部記憶装置内の1以上のファームウェアモジュールと置換可能な1以上のファームウェアモジュールを、前記プログラムデバイスからピップアップし、前記プログラムデバイスからピックアップされたい1以上のファームウェアモジュールと置換可能である1以上のファームウェアモジュールを、前記外部記憶装置からピックアップする手段と、
    前記外部記憶装置からピックアップされた1以上のファームウェアモジュールの中から、ユーザに1つのファームウェアモジュールを選択させる手段と、
    前記ユーザ選択された1つのファームウェアモジュールで、前記プログラムデバイスからピックアップされた1以上のファームウェアモジュール中の、前記ユーザ選択された1つのファームウェアモジュールと代替可能な1つのファームウェアモジュールを、前記ユーザ選択された1つのファームウェアモジュールで置換する手段と
    を有する
    電子機器。
  7. 請求項1に記載の電子機器において、
    前記プログラムデバイスの記憶エリアの中で、前記ファームウェアモジュールが格納されてないエリアを、前記ファームウェアモジュールの格納とは別の目的に使用する空エリア管理手段を更に備えた電子機器。
  8. 請求項1に記載の電子機器において、
    前記電子機器は、ホスト装置の周辺デバイスであり、
    前記ホスト装置に前記電子機器のためのデバイスドライバがインストールされるときに、前記ファームウェア置換手段が動作するようになっている電子機器。
JP2007063756A 2007-03-13 2007-03-13 電子機器 Pending JP2008225882A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007063756A JP2008225882A (ja) 2007-03-13 2007-03-13 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007063756A JP2008225882A (ja) 2007-03-13 2007-03-13 電子機器

Publications (1)

Publication Number Publication Date
JP2008225882A true JP2008225882A (ja) 2008-09-25

Family

ID=39844425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007063756A Pending JP2008225882A (ja) 2007-03-13 2007-03-13 電子機器

Country Status (1)

Country Link
JP (1) JP2008225882A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050037A1 (en) * 2008-10-27 2010-05-06 Kabushiki Kaisha Sato Chishiki Zaisan Kenkyusyo Label printer api using program scripting language

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050037A1 (en) * 2008-10-27 2010-05-06 Kabushiki Kaisha Sato Chishiki Zaisan Kenkyusyo Label printer api using program scripting language
JP2012507060A (ja) * 2008-10-27 2012-03-22 サトーホールディングス株式会社 プログラムスクリプト言語を用いたラベルプリンタapi
CN102202904B (zh) * 2008-10-27 2014-12-31 株式会社佐藤知识财产研究所 使用程序脚本语言的标识打印机api
US9870522B2 (en) 2008-10-27 2018-01-16 Sato Holdings Kabushiki Kaisha Label printer API using LUA program scripting language

Similar Documents

Publication Publication Date Title
US8612969B2 (en) Electronic device
JP6274857B2 (ja) メモリ制御装置、メモリ制御方法、およびプログラム
JP6543122B2 (ja) 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム
JP2008139916A (ja) 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
US20080002236A1 (en) Image forming apparatus
JP2014010498A (ja) 記憶装置
US20100211699A1 (en) Wireless access apparatus with firmware upgrading function and the method thereof
US8179554B2 (en) Printer, control method of a printer and computer-readable recording medium
JP2006202117A (ja) 処理装置およびそのファームウェアダウンロード方法。
JP6431279B2 (ja) 印刷装置、印刷装置の制御方法
JP2008059238A (ja) 通信システム及びそれに使用するプリンタ
JP2008225888A (ja) 電子機器
US20090185218A1 (en) Printing System, Printing Device and Printing Device Maintenance Method
JP2009151386A (ja) 画像処理装置
JP5025514B2 (ja) 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP2008225882A (ja) 電子機器
JP2009009323A (ja) 設定装置、電子機器、及び設定プログラム
KR100503484B1 (ko) 화상형성장치
JP2003246123A (ja) 印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラム
JP2013186634A (ja) 情報処理装置
JP2008059360A (ja) プリンタ
JP2007233781A (ja) 画像出力装置および画像出力プログラム
JP2017123017A (ja) 電子機器およびプログラム更新方法
JP6214390B2 (ja) メモリ制御装置、メモリ制御方法、およびプログラム
JP2019142095A (ja) 画像形成装置