(57)【要約】【課題】プリンタにおいて、ファームウェアメモリ及びメインメモリのメモリサイズを減らす。【解決手段】プリンタのファームウェアメモリ１４は、印刷動作を行うための印刷ファームウェア５１を格納している。印刷ファームウェア５１は、断片的に区切って圧縮した複数の断片圧縮ファームウェア６１〜６９から成る。また、ファームウェアメモリ１４は、識別ファームウェア５２と、解凍ファームウェア５３とを格納している。デバイスドライバは、印刷を行うのに必要な断片圧縮ファームウェア６１〜６９の識別番号をプリンタに送信し、プリンタは、デバイスドライバから受信した識別番号が示す断片圧縮ファームウェア６１〜６９を識別ファームウェア５２を用いて特定し、その断片圧縮ファームウェア６１〜６９を解凍ファームウェア５３を用いて解凍してメインメモリに展開する。【選択図】図２
2008055795.tif 000002
【特許請求の範囲】
【請求項１】
印刷用紙に画像を印刷するための印刷手段と、ファームウェアを実行して前記印刷手段による印刷動作を含む本装置の動作を制御する制御手段と、前記制御手段がファームウェアを実行するためにファームウェアが展開されて、前記制御手段がファームウェアを実行するための作業領域として用いられる、記憶内容を保持するのに電源のバックアップが必要とされる揮発性メモリから成るメインメモリと、本装置の動作を制御するためのファームウェアが格納されている、記憶内容を保持するのに電源のバックアップが必要とされない不揮発性メモリから成るファームウェアメモリとを備え、
本装置による印刷動作をコンピュータからの操作により行うためのデバイスドライバがコンピュータにインストールされ、該デバイスドライバからの印刷要求に基いて印刷動作を行うプリンタにおいて、
前記メインメモリは、ＤＲＡＭから成り、
前記ファームウェアメモリは、フラッシュＲＯＭから成り、前記印刷手段により印刷動作を行うためのファームウェアを機能毎に断片的に区切って圧縮した複数の断片圧縮ファームウェアと、この断片圧縮ファームウェアを識別するための識別ファームウェアと、前記断片圧縮ファームウェアの圧縮を解凍するための解凍ファームウェアとを格納しており、
前記デバイスドライバは、本装置に印刷要求を行うときに、この印刷要求において画像を印刷するための印刷命令及び印刷データと、これら印刷命令及び印刷データによる印刷動作を行うのに必要な断片圧縮ファームウェアの識別番号と、を示したコマンドリストを本装置に送信し、
前記制御手段は、
前記デバイスドライバから受信したコマンドリスト内の各識別番号が示す各断片圧縮ファームウェアを、前記ファームウェアメモリに格納している識別ファームウェアに基いて特定すると共に、この特定した各断片圧縮ファームウェアを、前記ファームウェアメモリに格納している解凍ファームウェアに基いて解凍して、前記メインメモリに展開し、
前記メインメモリに展開したファームウェアに基いて、前記デバイスドライバから受信したコマンドリスト内の印刷命令及び印刷データによる印刷動作を行い、
その後、前記メインメモリに展開したファームウェアを、前記デバイスドライバから次の印刷要求を受ける前に消去する、ことを特徴とするプリンタ。
【請求項２】
印刷用紙に画像を印刷するための印刷手段と、ファームウェアを実行して前記印刷手段による印刷動作を含む本装置の動作を制御する制御手段と、前記制御手段がファームウェアを実行するためにファームウェアが展開されて、前記制御手段がファームウェアを実行するための作業領域として用いられる、記憶内容を保持するのに電源のバックアップが必要とされる揮発性メモリから成るメインメモリと、本装置の動作を制御するためのファームウェアが格納されている、記憶内容を保持するのに電源のバックアップが必要とされない不揮発性メモリから成るファームウェアメモリとを備え、
本装置による印刷動作を外部機器からの操作により行うためのデバイスドライバが外部機器にインストールされ、該デバイスドライバからの印刷要求に基いて印刷動作を行うプリンタにおいて、
前記ファームウェアメモリは、前記印刷手段により印刷動作を行うためのファームウェアを断片的に区切って圧縮した複数の断片圧縮ファームウェアを格納しており、
前記デバイスドライバは、本装置に印刷要求を行うときに、この印刷要求による印刷動作を行うのに必要な断片圧縮ファームウェアの識別番号を本装置に送信し、
前記制御手段は、
前記デバイスドライバから受信した識別番号が示す断片圧縮ファームウェアを解凍して前記メインメモリに展開し、
前記メインメモリに展開したファームウェアに基いて、前記デバイスドライバからの印刷要求による印刷動作を行う、ことを特徴とするプリンタ。
【請求項３】
前記制御手段は、前記デバイスドライバからの印刷要求による印刷動作を行った後、前記メインメモリに展開したファームウェアを、前記デバイスドライバから次の印刷要求を受ける前に消去する、ことを特徴とする請求項２に記載のプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷用紙に画像を印刷するプリンタに関するものである。
【背景技術】
【０００２】
従来から、プリンタは、パーソナルコンピュータ等の外部機器に接続して使用され、外部機器にインストールされているデバイスドライバからの印刷要求に基いて、印刷部により印刷用紙に画像を印刷することが多い。この場合、プリンタの動作は、制御部によって制御され、制御部は、ファームウェアを実行することにより、印刷部により印刷用紙に画像を印刷する印刷動作等のプリンタの各種動作を制御するようになっている。
【０００３】
このようなプリンタでは、ファームウェア及びそれに付随するデータがメインメモリ（制御部がファームウェアを実行するための作業領域として用いられるメモリ）に展開され、制御部は、メインメモリから順次ファームウェアの命令及びそれに付随するデータを読込んで、その命令を実行することにより、ファームウェアを実行するようになっている。
【０００４】
メインメモリは、一般的に、記憶内容を保持するのに電源のバックアップが必要とされる例えばＤＲＡＭ等の揮発性メモリから成っており、プリンタの電源が断たれると、メインメモリに展開されたファームウェア及びそれに付随するデータは、保持されずに消去されてしまう。このため、ファームウェア及びそれに付随するデータは、プリンタの電源が投入されていないときでも保持されるように、記憶内容を保持するのに電源のバックアップが必要とされない例えばフラッシュＲＯＭ等の不揮発性メモリから成るファームウェアメモリに格納されており、プリンタの電源が投入されたときに、ファームウェアメモリから読出されてメインメモリに展開されるようになっている。
【０００５】
一方、標準的に使用するエミュレーションプログラムのみをＲＯＭに格納しておき、普段は必要とされる機会が少ないエミュレーションプログラムについては、必要な場合にコンピュータからダウンロードして、ＲＡＭに格納するようにしたプリンタが知られている（例えば特許文献１参照）。また、ユーザが通常使用するファームウェアのみをフラッシュメモリに格納しておくと共に、他の多くのファームウェアをコンピュータに保持させておき、フラッシュメモリに格納されていないファームウェアについては、それらのファームウェアを使用する必要が生じたときに、コンピュータから読み出してフラッシュメモリに格納するようにしたプリンタが知られている（例えば特許文献２参照）。また、エミュレーション用の複数のファームウェアをコンピュータに保持させておき、最適なエミュレーション用のファームウェアをコンピュータからダウンロードしてＥＥＰＲＯＭに格納するようにしたプリンタが知られている（例えば、特許文献３参照）。
【特許文献１】特開２００２−８６８４９号公報
【特許文献２】特開平１１−１６１４４２号公報
【特許文献３】特開平８−１２３６３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上述した従来のプリンタにおいては、フラッシュＲＯＭ等の不揮発性メモリから成るファームウェアメモリに格納されているファームウェアは、圧縮されておらず、また、プリンタの各種動作を制御するものであり、そのサイズが大きい。このため、ファームウェアメモリは、メモリサイズ（記憶容量）の大きいものが必要となり、コストが高くなる。また、ファームウェアメモリに格納されているファームウェアは、機能毎に断片的に区切られておらず、ファームウェアの全体が一括してメインメモリに展開されるようになっている。このため、メインメモリも、メモリサイズの大きいものが必要となり、コストが高くなる。なお、上述した特許文献１乃至特許文献３に開示の内容を適用したとしても、上記の問題を解決することはできない。
【０００７】
本発明は、上記課題を解決するためになされたものであり、ファームウェアメモリ及びメインメモリのメモリサイズを減らすことができるプリンタを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために請求項１の発明は、印刷用紙に画像を印刷するための印刷手段と、ファームウェアを実行して印刷手段による印刷動作を含む本装置の動作を制御する制御手段と、制御手段がファームウェアを実行するためにファームウェアが展開されて、制御手段がファームウェアを実行するための作業領域として用いられる、記憶内容を保持するのに電源のバックアップが必要とされる揮発性メモリから成るメインメモリと、本装置の動作を制御するためのファームウェアが格納されている、記憶内容を保持するのに電源のバックアップが必要とされない不揮発性メモリから成るファームウェアメモリとを備え、本装置による印刷動作をコンピュータからの操作により行うためのデバイスドライバがコンピュータにインストールされ、該デバイスドライバからの印刷要求に基いて印刷動作を行うプリンタにおいて、メインメモリは、ＤＲＡＭから成り、ファームウェアメモリは、フラッシュＲＯＭから成り、印刷手段により印刷動作を行うためのファームウェアを機能毎に断片的に区切って圧縮した複数の断片圧縮ファームウェアと、この断片圧縮ファームウェアを識別するための識別ファームウェアと、断片圧縮ファームウェアの圧縮を解凍するための解凍ファームウェアとを格納しており、デバイスドライバは、本装置に印刷要求を行うときに、この印刷要求において画像を印刷するための印刷命令及び印刷データと、これら印刷命令及び印刷データによる印刷動作を行うのに必要な断片圧縮ファームウェアの識別番号と、を示したコマンドリストを本装置に送信し、制御手段は、デバイスドライバから受信したコマンドリスト内の各識別番号が示す各断片圧縮ファームウェアを、ファームウェアメモリに格納している識別ファームウェアに基いて特定すると共に、この特定した各断片圧縮ファームウェアを、ファームウェアメモリに格納している解凍ファームウェアに基いて解凍して、メインメモリに展開し、メインメモリに展開したファームウェアに基いて、デバイスドライバから受信したコマンドリスト内の印刷命令及び印刷データによる印刷動作を行い、その後、メインメモリに展開したファームウェアを、デバイスドライバから次の印刷要求を受ける前に消去するものである。
【０００９】
請求項２の発明は、印刷用紙に画像を印刷するための印刷手段と、ファームウェアを実行して印刷手段による印刷動作を含む本装置の動作を制御する制御手段と、制御手段がファームウェアを実行するためにファームウェアが展開されて、制御手段がファームウェアを実行するための作業領域として用いられる、記憶内容を保持するのに電源のバックアップが必要とされる揮発性メモリから成るメインメモリと、本装置の動作を制御するためのファームウェアが格納されている、記憶内容を保持するのに電源のバックアップが必要とされない不揮発性メモリから成るファームウェアメモリとを備え、本装置による印刷動作を外部機器からの操作により行うためのデバイスドライバが外部機器にインストールされ、該デバイスドライバからの印刷要求に基いて印刷動作を行うプリンタにおいて、ファームウェアメモリは、印刷手段により印刷動作を行うためのファームウェアを断片的に区切って圧縮した複数の断片圧縮ファームウェアを格納しており、デバイスドライバは、本装置に印刷要求を行うときに、この印刷要求による印刷動作を行うのに必要な断片圧縮ファームウェアの識別番号を本装置に送信し、制御手段は、デバイスドライバから受信した識別番号が示す断片圧縮ファームウェアを解凍してメインメモリに展開し、メインメモリに展開したファームウェアに基いて、デバイスドライバからの印刷要求による印刷動作を行うものである。
【００１０】
請求項３の発明は、請求項２に記載のプリンタにおいて、制御手段は、デバイスドライバからの印刷要求による印刷動作を行った後、メインメモリに展開したファームウェアを、デバイスドライバから次の印刷要求を受ける前に消去するものである。
【発明の効果】
【００１１】
請求項１の発明によれば、印刷動作を行うためのファームウェアは、断片的に区切って圧縮された複数の断片圧縮ファームウェアとしてファームウェアメモリに格納されており、コンピュータにインストールされているデバイスドライバから印刷要求があったときに、その印刷要求による印刷動作を行うのに必要な断片圧縮ファームウェアがファームウェアメモリから読出されて解凍されてメインメモリに展開される。そして、このメインメモリに展開されたファームウェアに基いて、デバイスドライバからの印刷要求による印刷動作が行われる。つまり、ファームウェアメモリには、印刷動作を行うためのファームウェアが圧縮された状態で格納されており、これにより、ファームウェアメモリのメモリサイズを減らすことができ、コストダウンを図ることができる。また、メインメモリには、デバイスドライバからの印刷要求による印刷動作を行うのに必要なファームウェアだけが展開され、これにより、メインメモリのメモリサイズを減らすことができ、コストダウンを図ることができる。しかも、印刷動作を行うためにメインメモリに展開されたファームウェアは、次の印刷要求を受ける前に消去され、これにより、メインメモリのメモリサイズをより減らすことができる。
【００１２】
請求項２の発明によれば、印刷動作を行うためのファームウェアは、断片的に区切って圧縮された複数の断片圧縮ファームウェアとしてファームウェアメモリに格納されており、外部機器にインストールされているデバイスドライバから印刷要求があったときに、その印刷要求による印刷動作を行うのに必要な断片圧縮ファームウェアがファームウェアメモリから読出されて解凍されてメインメモリに展開される。そして、このメインメモリに展開されたファームウェアに基いて、デバイスドライバからの印刷要求による印刷動作が行われる。つまり、ファームウェアメモリには、印刷動作を行うためのファームウェアが圧縮された状態で格納されており、これにより、ファームウェアメモリのメモリサイズを減らすことができ、コストダウンを図ることができる。また、メインメモリには、デバイスドライバからの印刷要求による印刷動作を行うのに必要なファームウェアだけが展開され、これにより、メインメモリのメモリサイズを減らすことができ、コストダウンを図ることができる。
【００１３】
請求項３の発明によれば、印刷動作を行うためにメインメモリに展開されたファームウェアは、次の印刷要求を受ける前に消去され、これにより、メインメモリのメモリサイズをより減らすことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を具体化した実施形態によるプリンタについて図面を参照して説明する。図１は、プリンタの構成を示す。プリンタ１は、外部機器であるＰＣ（パーソナルコンピュータ）２に接続して使用され、ＰＣ２を操作することにより、その操作を受けて印刷用紙に画像を印刷する装置である。ＰＣ２には、プリンタ１による印刷動作をＰＣ２からの操作により行うためのデバイスドライバ２０がインストールされ、プリンタ１は、ＰＣ２にインストールされたデバイスドライバ２０からの印刷要求に基いて、印刷動作を行うようになっている。
【００１５】
プリンタ１は、ファームウェアを実行してプリンタ１の動作を制御するＣＰＵ等からなる制御部１１と、印刷用紙に画像を印刷するための印刷部１２と、メインメモリ１３と、ファームウェアメモリ１４と、ＵＳＢ通信部１５と、バッファメモリ１６と、電源接続部１７と、パワーボタン１８と、ＬＥＤ１９等を備える。
【００１６】
印刷部１２は、印刷用紙を搬送する用紙搬送機構と、印刷用紙にインクを噴射して画像を印刷するための印刷ヘッドと、印刷ヘッドを印刷用紙の搬送方向と直交する方向に移動させるヘッド移動機構等を備えている。印刷部１２は、制御部１１による制御のもと、用紙搬送機構により印刷用紙を搬送する動作と、ヘッド移動機構により印刷ヘッドを移動させつつ、印刷ヘッドからインクを噴射する動作とを繰り返すことにより、印刷用紙に画像を印刷するようになっている。
【００１７】
メインメモリ１３は、制御部１１がファームウェアを実行するための作業領域として用いられるメモリである。メインメモリ１３は、記憶内容を保持するのに電源のバックアップが必要とされる例えばＤＲＡＭ等の揮発性メモリから成っている。メインメモリ１３には、制御部１１がファームウェアを実行するために、ファームウェア及びそれに付随するデータが展開（記憶）される。制御部１１は、メインメモリ１３に展開されたファームウェアの命令及びそれに付随するデータを順次読込んで、その命令を実行することにより、ファームウェアを実行する。メインメモリ１３に展開されたファームウェア及びそれに付随するデータは、プリンタ１の電源が断たれたときに、電源が供給されなくなることによって自動的に消去される。
【００１８】
ファームウェアメモリ１４は、プリンタ１の動作を制御するためのファームウェア及びそれに付随するデータを、プリンタ１の電源が投入されていないときでも保持（記憶）しておくためのメモリである。ファームウェアメモリ１４は、記憶内容を保持するのに電源のバックアップが必要とされない例えばフラッシュＲＯＭ等の不揮発性メモリから成っている。ファームウェアメモリ１４には、プリンタ１の動作を制御するためのファームウェア及びそれに付随するデータが予め格納（記憶）されている。ファームウェアメモリ１４に格納されているファームウェア及びそれに付随するデータは、プリンタ１の電源が断たれて電源が供給されなくなったときでも消去されずに保持される。
【００１９】
ＵＳＢ通信部１５は、ＰＣ２とＵＳＢ通信を行うものであり、ＵＳＢケーブルを介してＰＣ２が接続されるようになっている。ＵＳＢ通信部１５は、制御部１１による制御のもと、ＵＳＢケーブルを介してＰＣ２との間で各種データの送受信を行う。バッファメモリ１６は、ＵＳＢ通信部１５とＰＣ２との間でデータを送受信する際に、それら送受信するデータを一時的に保存するためのメモリである。バッファメモリ１６は、制御部１１による制御のもと、データを保存、消去する。
【００２０】
電源接続部１７は、外部から電力の供給を受けるためのものであり、ＡＣアダプタ３０が接続されるようになっている。ＡＣアダプタ３０は、商用ＡＣ電源４０から供給される電力をプリンタ１の動作に必要なＤＣ電源に変換するものである。ＡＣアダプタ３０が電源接続部１７に接続されることにより、プリンタ１を動作させるための電力がＡＣアダプタ３０から電源接続部１７に供給される。電源接続部１７に供給された電力は、制御部１１による制御のもと、プリンタ１各部に供給される。
【００２１】
パワーボタン１８は、プリンタ１の電源をオン／オフするためのものであり、ユーザにより押下操作されるようになっている。パワーボタン１８の押下操作は、制御部１１により検出され、制御部１１は、パワーボタン１８の押下操作を受けて、電源接続部１７からプリンタ１各部への電力の供給／遮断を制御する。ＬＥＤ１９は、プリンタ１の動作状態を示すものであり、制御部１１による制御のもと、プリンタ１の動作状態に応じて点灯動作を行う。
【００２２】
このような構成のプリンタ１は、上述のように、ＰＣ２に接続して使用される。また、上述のように、ＰＣ２には、デバイスドライバ２０がインストールされ、プリンタ１は、デバイスドライバ２０からの印刷要求に基いて、印刷動作を行うようになっている。
【００２３】
デバイスドライバ２０は、ＰＣ２における操作を受けて、プリンタ１に対して印刷要求を行うようになっており、プリンタ１に対して印刷要求を行うときに、画像を印刷するための印刷命令及び印刷データを含む一連の各種データから成るコマンドリストをプリンタ１に送信する。プリンタ１は、デバイスドライバ２０から送信されるコマンドリスト内の各種データに基いて、印刷部１２により印刷動作を行って、印刷用紙に画像を印刷する。
【００２４】
また、プリンタ１は、プリンタ１の動作を制御するためのファームウェアとして、圧縮した複数のファームウェアをファームウェアメモリ１４に格納しており、デバイスドライバ２０からの印刷要求に基いて印刷動作を行うとき、その印刷要求による印刷動作を行うのに必要なファームウェアのみを解凍してメインメモリ１３に展開し、そのメインメモリ１３に展開したファームウェアに基いて印刷動作を行うようになっている。
【００２５】
図２は、上記ファームウェアメモリ１４が格納しているファームウェアを示す。ファームウェアメモリ１４は、プリンタ１の動作を制御するためのファームウェアとして、印刷ファームウェア５１と、識別ファームウェア５２と、解凍ファームウェア５３等を予め格納している。
【００２６】
印刷ファームウェア５１は、印刷部１２により印刷動作を行うためのファームウェアであり、機能毎に断片的に区切って圧縮した複数の断片圧縮ファームウェア６１〜６９（給紙ファームウェア６１、改行ファームウェア６２、排出ファームウェア６３、Ｃｍｄ解析−１ファームウェア６４、Ｃｍｄ解析−２ファームウェア６５、・・・、データ処理ファームウェア６９）により構成されている。
【００２７】
給紙ファームウェア６１は、印刷用紙を給紙するためのファームウェアを圧縮したファームウェアである。改行ファームウェア６２は、印刷用紙を搬送して印刷用紙上の画像印刷位置を改行するためのファームウェアを圧縮したファームウェアであり、排出ファームウェア６３は、印刷用紙を排出するためのファームウェアを圧縮したファームウェアである。Ｃｍｄ解析−１ファームウェア６４及びＣｍｄ解析−２ファームウェア６５は、ＰＣ２から送信されるコマンドリスト内の印刷命令を解析するためのファームウェアを圧縮したファームウェアである。データ処理ファームウェア６９は、ＰＣ２から送信されるコマンドリスト内の印刷データを処理するためのファームウェアを圧縮したファームウェアである。
【００２８】
識別ファームウェア５２は、印刷ファームウェア５１を構成する断片圧縮ファームウェア６１〜６９（すなわち給紙ファームウェア６１、改行ファームウェア６２、排出ファームウェア６３、Ｃｍｄ解析−１ファームウェア６４、Ｃｍｄ解析−２ファームウェア６５、・・・、データ処理ファームウェア６９）を識別するためのファームウェアである。
【００２９】
解凍ファームウェア５３は、印刷ファームウェア６１を構成する断片圧縮ファームウェア６１〜６９（すなわち給紙ファームウェア６１、改行ファームウェア６２、排出ファームウェア６３、Ｃｍｄ解析−１ファームウェア６４、Ｃｍｄ解析−２ファームウェア６５、・・・、データ処理ファームウェア６９）の圧縮を解凍するためのファームウェアである。
【００３０】
図３は、上記デバイスドライバ２０が印刷要求を行うときに送信するコマンドリストを示す。コマンドリスト８０は、上述のように画像を印刷するための印刷命令及び印刷データを含む一連の各種データから成り、ファームウェア展開個数データ８１と、印刷制御用データ８２と、エンドコードデータ８３とにより構成されている。
【００３１】
ファームウェア展開個数データ８１は、デバイスドライバ２０からの印刷要求による印刷動作を行うのに必要な（すなわちメインメモリ１３に展開する必要のある）断片圧縮ファームウェア６１〜６９の個数を示すデータである。ファームウェア展開個数データ８１が示す断片圧縮ファームウェア６１〜６９の個数は、印刷内容によって異なるものとなる。このファームウェア展開個数データ８１は、コマンドリストの先頭に設けられ、コマンドリストの始まりを示すデータを兼ねる。
【００３２】
印刷制御用データ８２は、デバイスドライバ２０からの印刷要求において画像を印刷するためのデータであり、ファームウェア展開個数データ８１の次に設けられる。印刷制御用データ８２は、例えば印刷動作における要素的動作（給紙動作、印刷ヘッドによる１スワスの印刷動作、改行動作、排出動作等）毎に、複数に分けて設けられる。各印刷制御用データ８２は、ファームウェア識別番号データ９１と、コマンド長データ９２と、コマンドデータ９３とにより構成されている。
【００３３】
ファームウェア識別番号データ９１は、コマンドデータ９３を実行するのに必要な（すなわちメインメモリ１３に展開する必要のある）断片圧縮ファームウェア６１〜６９の識別番号を示すデータである。コマンド長データ９２は、コマンドデータ９３の長さを示すデータである。コマンドデータ９３は、画像を印刷するための印刷命令及び印刷データを含んだデータである。印刷命令とは、例えば、給紙、印刷ヘッドによる１スワスの印刷、改行、排出等の印刷動作を制御するための命令である。印刷データとは、例えば、ビットマップデータ、フォントデータ、書式データ、印刷解像度等の印刷内容を示すデータや、印刷開始位置、印刷方向（印刷ヘッドの移動方向）、印刷終了位置、改行幅等の印刷動作を制御するためのデータである。印刷制御用データ８２の個数、及び各印刷制御用データ８２の内容は、印刷内容によって異なるものとなる。
【００３４】
エンドコードデータ８３は、コマンドリストの終わりを示すデータであり、コマンドリストの最後尾に設けられる。エンドコードデータ８３は、予め定められた値（例えば１６進数表記で「ｘ５５ＡＡ００ＦＦ」）が用いられる。
【００３５】
デバイスドライバ２０は、印刷要求を行うとき、このようなコマンドリスト（すなわち、印刷要求において画像を印刷するための印刷命令及び印刷データと、これら印刷命令及び印刷データによる印刷動作を行うのに必要な断片圧縮ファームウェア６１〜６９の識別番号と、を示したコマンドリスト）８０をプリンタ１に送信する。
【００３６】
プリンタ１は、デバイスドライバ２０からコマンドリスト８０を受信すると（すなわち印刷要求を受けると）、そのコマンドリスト８０に基いて、デバイスドライバ２０からの印刷要求による印刷動作を行う。つまり、プリンタ１の制御部１１は、受信したコマンドリスト８０内の各ファームウェア識別番号データ９１が示す断片圧縮ファームウェア６１〜６９の識別番号を基に、それら各識別番号が示す各断片圧縮ファームウェア６１〜６９を、ファームウェアメモリ１４に格納している識別ファームウェア５２を用いて特定する。また、制御部１１は、これら特定した各断片圧縮ファームウェア６１〜６９を、ファームウェアメモリ１４に格納している解凍ファームウェア５３を用いて解凍して、その解凍したファームウェアをメインメモリ１３に展開する。
【００３７】
そして、制御部１１は、このメインメモリ１３に展開したファームウェアに基いて、デバイスドライバ２０から受信したコマンドリスト８０内の各コマンドデータ９３が示す印刷命令及び印刷データによる印刷動作を行う。その後、制御部１１は、メインメモリ１３に展開したファームウェアを、デバイスドライバ２０から次の印刷要求を受ける前（例えばコマンドリスト８０内の全てのコマンドデータ９３による印刷動作を終えたとき）に消去する。
【００３８】
このように、上記構成のプリンタ１によれば、印刷動作を行うための印刷ファームウェア５１は、断片的に区切って圧縮された複数の断片圧縮ファームウェア６１〜６９としてファームウェアメモリ１４に格納されており、ＰＣ２にインストールされているデバイスドライバ２０から印刷要求があったとき、ファームウェアメモリ１４に格納されている断片圧縮ファームウェア６１〜６９のうち、その印刷要求による印刷動作を行うのに必要なものがファームウェアメモリ１４から読出されて解凍されてメインメモリ１３に展開される。そして、このメインメモリ１３に展開されたファームウェアに基いて、デバイスドライバ２０からの印刷要求による印刷動作が行われる。
【００３９】
つまり、ファームウェアメモリ１４には、印刷動作を行うための印刷ファームウェア５１が圧縮された状態で格納されており、これにより、ファームウェアメモリ１４のメモリサイズを減らすことができ、コストダウンを図ることができる。また、メインメモリ１３には、デバイスドライバ２０からの印刷要求による印刷動作を行うのに必要なファームウェアだけが展開され、これにより、メインメモリ１３のメモリサイズを減らすことができ、コストダウンを図ることができる。しかも、印刷動作を行うためにメインメモリ１３に展開されたファームウェアは、次の印刷要求を受ける前に消去され、これにより、メインメモリ１３のメモリサイズをより減らすことができる。
【００４０】
なお、本発明は、上記実施形態の構成に限られず、種々の変形が可能である。例えば、メインメモリ１３に展開したファームウェアの消去は、コマンドリスト８０内の全てのコマンドデータ９３による印刷動作を終えたときに限られず、コマンドリスト８０の各コマンドデータ９３による印刷動作を終える毎に行ってもよく、また、デバイスドライバ２０から次の印刷要求を受けたときに、その印刷要求による印刷動作を開始する前に行ってもよい。メインメモリ１３は、ＤＲＡＭに限られず、他の揮発性メモリから成っていてもよい。ファームウェアメモリ１４は、フラッシュＲＯＭに限られず、他の不揮発性メモリから成っていてもよい。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態に係るプリンタの概略構成を示す電気的ブロック構成図。
【図２】同プリンタのファームウェアメモリが格納しているファームウェアを示す図。
【図３】同プリンタに接続されるＰＣにインストールされるデバイスドライバが印刷要求を行うときに送信するコマンドリストを示す図。
【符号の説明】
【００４２】
１    プリンタ
２    ＰＣ（パーソナルコンピュータ）（外部機器）
１１    制御部
１２    印刷部
１３    メインメモリ
１４    ファームウェアメモリ
１５    ＵＳＢ通信部
１６    バッファメモリ
１７    電源接続部
１８    パワーボタン
１９    ＬＥＤ
２０    デバイスドライバ
３０    ＡＣアダプタ
４０    商用ＡＣ電源
５１    印刷ファームウェア
５２    識別ファームウェア
５３    解凍ファームウェア
６１    給紙ファームウェア（断片圧縮ファームウェア）
６２    改行ファームウェア（断片圧縮ファームウェア）
６３    排出ファームウェア（断片圧縮ファームウェア）
６４    Ｃｍｄ解析−１ファームウェア（断片圧縮ファームウェア）
６５    Ｃｍｄ解析−２ファームウェア（断片圧縮ファームウェア）
６９    データ処理ファームウェア（断片圧縮ファームウェア）
８０    コマンドリスト
８１    ファームウェア展開個数データ
８２    印刷制御用データ
８３    エンドコードデータ
９１    ファームウェア識別番号データ
９２    コマンド長データ
９３    コマンドデータ
【図１】
2008055795.tif 000003
【図２】
2008055795.tif 000004
【図３】
2008055795.tif 000005