(57)【要約】【課題】  通常起動時にもＷブートを実行可能にしたプリンタ、スキャナ等の情報処理機器、情報処理機器の起動方法及び情報処理機器の起動プログラムを提供する。【解決手段】  プリンタ１は、フラッシュＲＯＭ１１内に起動用のブートプログラムとして、電源投入時の基本ブート処理を実行する基本ブートプログラムと、基本ブートプログラムの実行後に起動処理を実行する２つのＷブートプログラムと、を備えている。プリンタ１では、ＤＩＰスイッチ１４によりＷブートプログラムのうち何れか一方が選択されて実行された後に前記メインプログラムが実行される。【選択図】  図２
2005327102.tif 000002
【特許請求の範囲】
【請求項１】
起動用のブートプログラム、及び起動後の通常モードにおける各種処理を実行するメインプログラムを記憶したフラッシュＲＯＭと、
前記フラッシュＲＯＭ内の前記ブートプログラム及び前記メインプログラムを実行するＣＰＵと、を備えた情報処理機器であって、
前記起動用のブートプログラムは、
電源投入時の基本ブート処理を実行する基本ブートプログラムと、
前記基本ブートプログラムの実行後に起動処理を実行する２つのＷブートプログラムと、を備え、
前記Ｗブートプログラムのうち何れか一方が選択されて実行された後に前記メインプログラムが実行されることを特徴とする情報処理機器。
【請求項２】
前記Ｗブートプログラムのうち何れか一方を選択するＤＩＰスイッチを備え、前記ＤＩＰスイッチにより選択されたＷブートプログラムにより起動処理が行われることを特徴とする請求項１に記載の情報処理機器。
【請求項３】
前記２つのＷブートプログラムは、互いに同一または略同等の起動処理を実行することを特徴とする請求項１または２に記載の情報処理機器。
【請求項４】
前記２つのＷブートプログラムは、互いに異なるモードの起動処理を実行することを特徴とする請求項１または２に記載の情報処理機器。
【請求項５】
プリンタであることを特徴とする請求項１〜４の何れか１項に記載の情報処理機器。
【請求項６】
スキャナであることを特徴とする請求項１〜４の何れか１項に記載の情報処理機器。
【請求項７】
電源投入後に基本ブート処理を実行するステップと、
前記基本ブート処理の実行後に、２つのＷブートプログラムの一方を選択するステップと、
前記Ｗブートプログラムの一方を実行するステップと、
前記Ｗブートプログラムの一方の実行後にメインプログラムが実行するステップと、を備えたことを特徴とする情報処理機器の制御方法。
【請求項８】
ＤＩＰスイッチにより前記Ｗブートプログラムの一方を選択することを特徴とする請求項７に記載の情報処理機器の制御方法。
【請求項９】
前記２つのＷブートプログラムは、互いに同一または略同等の起動処理を実行することを特徴とする請求項７または８に記載の情報処理機器の制御方法。
【請求項１０】
前記２つのＷブートプログラムは、互いに異なるモードの起動処理を実行することを特徴とする請求項７または８に記載の情報処理機器の制御方法。
【請求項１１】
電源投入後に基本ブート処理を実行するステップと、
前記基本ブート処理の実行後に、２つのＷブートプログラムの一方を選択するステップと、
前記Ｗブートプログラムの一方を実行することにより起動処理を行うステップと、
前記Ｗブートプログラムの一方の実行後にメインプログラムが実行することにより通常モードを実行するステップと、コンピュータに実行させることを特徴とする情報処理機器用プログラム。
【請求項１２】
ＤＩＰスイッチにより前記Ｗブートプログラムの一方を選択することを特徴とする請求項１１に記載の情報処理機器用プログラム。
【請求項１３】
前記２つのＷブートプログラムは、互いに同一または略同等の起動処理を実行することを特徴とする請求項１１または１２に記載の情報処理機器用プログラム。
【請求項１４】
前記２つのＷブートプログラムは、互いに異なるモードの起動処理を実行することを特徴とする請求項１１または１２に記載の情報処理機器用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、スキャナ等の情報処理機器に関する。
【背景技術】
【０００２】
プリンタ、スキャナ等の情報処理機器は、内部に設けられたフラッシュROM内にファームウェアが記憶されており、このファームウェアを実行することにより起動処理を行い、ホストコンピュータと通信を行いながら動作するように構成されていることが一般的である。通常、ファームウェアは、初期の起動処理を行うブートプログラムと、ブートプログラム実行後の各種処理を行うメインプログラムとからなり、それぞれフラッシュROM内に記憶されている。
【０００３】
プリンタ、スキャナ等の情報処理機器を動作させる場合には、まずブートプログラムを実行して基本ブート処理を実行する。この基本ブート処理は、電源投入後のＣＰＵの初期化、スタックの初期化、ＲＡＭのチェック、ゲートアレイレジスタのチェック等が実行される。
【０００４】
そして、基本ブート処理が実行されると、メモリ書換モードでなければ、メインプログラムが記憶されているフラッシュＲＯＭ内のメインセクタのチェックサムが検証される。そして、チェックサムが正常であれば、メインプログラムが実行されプリンタ、スキャナとしての動作が確立される。
【０００５】
一方、メモリ書換モードの場合には、メモリ書換モード用のプログラムが記憶されたセクタのチェックサムが確認された後に、メモリ書換モード用のプログラムが実行される。ここで、プリンタ、スキャナ等の情報処理機器の中には、メモリ書換モード用のプログラムがフラッシュＲＯＭ内の２つのセクタにそれぞれ独立して記憶されたものもある（例えば、特許文献１参照）。
【０００６】
この２つのセクタ内にそれぞれメモリ書換モード用のプログラムが記憶された、いわゆるＷブート処理が可能なプリンタ、スキャナ等の情報処理機器は、２つのＷブートセクタのうち最も新しく更新された方のセクタ内にあるプログラムが実行されて、メモリ書換モードが起動されてメインプログラム等のプログラムを書き換えるとともに、メモリ書換モード用のプログラムを書き換える場合には、２つのＷブートセクタのうち実行されなかったプログラムが記憶されているＷブートセクタに新たなプログラムが書き込まれるように構成されている。
このように少なくとも３個のブートセクタを有したフラッシュＲＯＭを用いると、１回のダウンロード作業にて、フラッシュＲＯＭの所定のセクタを書き換えることが可能であり、効率的にフラッシュＲＯＭ内をアップデートすることができる。
【０００７】
【特許文献１】特開平２００４―１３８５４
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載のＷブート方法は、メモリ書換モードにおける処理において実行されるものである。したがって、メモリ書換モード以外の通常モードの起動動作においては、基本ブート処理の後に２つのＷブートセクタのうち最も新しく更新された方のセクタ内にあるプログラムが実行されて、メインプログラムが実行されるのみであり、２つのＷブートセクタのうち、特定ブートセクタを選択する事はできなかった。よって、従来のプリンタは、通常起動時にはＷブート処理によって何ら処理が改善されることはなく、機能拡張等を行うことはできなかった。
【０００９】
本発明は、上記を鑑みてなされたものであり、メモリ書換モード時に実行されるＷブート処理を拡張して通常起動時にもＷブートを実行可能にしたプリンタ、スキャナ等の情報処理機器、情報処理機器の起動方法及び情報処理機器の起動プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）  起動用のブートプログラム、及び起動後の通常モードにおける各種処理を実行するメインプログラムを記憶したフラッシュＲＯＭと、
前記フラッシュＲＯＭ内の前記ブートプログラム及び前記メインプログラムを実行するＣＰＵと、を備えた情報処理機器であって、
前記起動用のブートプログラムは、
電源投入時の基本ブート処理を実行する基本ブートプログラムと、
前記基本ブートプログラムの実行後に起動処理を実行する２つのＷブートプログラムと、を備え、
前記Ｗブートプログラムのうち何れか一方が選択されて実行された後に前記メインプログラムが実行されることを特徴とする情報処理機器。
（２）  前記Ｗブートプログラムのうち何れか一方を選択するＤＩＰスイッチを備え、前記ＤＩＰスイッチにより選択されたＷブートプログラムにより起動処理が行われることを特徴とする（１）に記載の情報処理機器。
（３）  前記２つのＷブートプログラムは、互いに同一または略同等の起動処理を実行することを特徴とする（１）または（２）に記載の情報処理機器。
（４）  前記２つのＷブートプログラムは、互いに異なるモードの起動処理を実行することを特徴とする（１）または（２）に記載の情報処理機器。
（５）  プリンタであることを特徴とする（１）〜（４）の何れか１項に記載の情報処理機器。
（６）  スキャナであることを特徴とする（１）〜（４）の何れか１項に記載の情報処理機器。
（７）  電源投入後に基本ブート処理を実行するステップと、
前記基本ブート処理の実行後に、２つのＷブートプログラムの一方を選択するステップと、
前記Ｗブートプログラムの一方を実行するステップと、
前記Ｗブートプログラムの一方の実行後にメインプログラムが実行するステップと、を備えたことを特徴とする情報処理機器の制御方法。
（８）  ＤＩＰスイッチにより前記Ｗブートプログラムの一方を選択することを特徴とする（７）に記載の情報処理機器の制御方法。
（９）  前記２つのＷブートプログラムは、互いに同一または略同等の起動処理を実行することを特徴とする（７）または（８）に記載の情報処理機器の制御方法。
（１０）  前記２つのＷブートプログラムは、互いに異なるモードの起動処理を実行することを特徴とする（７）または（８）に記載の情報処理機器の制御方法。
（１１）  電源投入後に基本ブート処理を実行するステップと、
前記基本ブート処理の実行後に、２つのＷブートプログラムの一方を選択するステップと、
前記Ｗブートプログラムの一方を実行することにより起動処理を行うステップと、
前記Ｗブートプログラムの一方の実行後にメインプログラムが実行することにより通常モードを実行するステップと、コンピュータに実行させることを特徴とする情報処理機器用プログラム。
（１２）  ＤＩＰスイッチにより前記Ｗブートプログラムの一方を選択することを特徴とする（１１）に記載の情報処理機器用プログラム。
（１３）  前記２つのＷブートプログラムは、互いに同一または略同等の起動処理を実行することを特徴とする（１１）または（１２）に記載の情報処理機器用プログラム。
（１４）  前記２つのＷブートプログラムは、互いに異なるモードの起動処理を実行することを特徴とする（１１）または（１２）に記載の情報処理機器用プログラム。
【発明の効果】
【００１１】
本発明によれば、２つのＷブートプログラムの何れか一方を介してブート処理を完了し、その後メインプログラムを実行するように構成しているので、一方のＷブートプログラムが壊れていても、他方のＷブートプログラムに切り替えて実行することにより、プリンタを通常モードで正常動作させることが可能である。したがって、２つのＷブートプログラムの一方が、書換時等に何らかの理由により起動しなくなったとしても、プリンタが使用不可能になるといったことが無い。したがって、プリンタが使用不可能になるといった最悪の事態を考慮することなく、プリンタのファームウェアのアップデートを試みることができる。
【００１２】
本発明によれば、例えばＤＩＰスイッチを使って双方のＷブートプログラムを切り替えることが可能である。
【００１３】
また、第１Ｗブートプログラムと第２Ｗブートプログラムとが全く同じプログラムである場合に、一方のＷブートプログラムをアップデートにより書き換える場合には、他方のＷブートプログラムが書換前のプログラムとして残るため、アップデート終了後に書換前と書換後の双方の動作を比較しながら、アップデート後の動作確認を行うことができる。
【００１４】
また、本発明では、２つのＷブートプログラム間に機能格差を設け、プリンタの機能の幅を拡張することができる。したがって、より幅広いユーザのニーズに臨機応変に対応しやすくなり、プリンタの汎用性をよりいっそう高めることが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明にかかる情報処理機器の実施の形態について説明する。以下の説明では、情報処理機器として、プリンタを例に挙げて説明を行う
【００１６】
図１は、本実施形態のプリンタの一例を示す斜視図である。
本実施形態のプリンタ１は、例えば、ロール紙Ｐに印字を行うタイプのプリンタである。図１では、ロール紙排出口３から印字済みのロール紙Ｐが排出されているプリンタが図示されているが、これに限られることはなく、小切手等のスリップ紙に印字を行うプリンタであっても構わない。以下、ロール紙Ｐ、スリップ紙等をまとめて単に用紙と呼ぶ。
【００１７】
プリンタ１は、ホストコンピュータ１００と通信ケーブル１１０を介して通信可能に接続されている。ホストコンピュータ１００としては、本体部１０１と、入力部と表示部を兼ねたタッチパネル１０３とを備えたディスプレイ１０２とが一体構成されたものが例示される。ホストコンピュータ１００は、プリンタ１に各種コマンドを送信してプリンタ１の各種動作を制御するとともに、コマンド形式で印字データを送信してプリンタ１に印字を実行させる。
【００１８】
図２は、プリンタ１の制御回路の主要部を示すブロック図である。
本実施形態のプリンタ１内部には、一括して消去可能な複数のセクタを備えた書き換えが可能な不揮発性メモリであるフラッシュＲＯＭ１１と、読み書きが可能である揮発性メモリであるＲＡＭ１２と、プリンタ１の制御を実行するＣＰＵ１３と、ユーザによりオン／オフ切り替え可能に設けられ、後述するＷブート処理時に実行するＷブートプログラムを選択するためのＤＩＰスイッチ１４とが互いに電気的に接続され相互間を信号送信可能に構成されている。
【００１９】
プリンタ１の起動時には、フラッシュＲＯＭ１１内のファームウェアが読み出されてＣＰＵ１３により実行され起動処理が行われ、プリンタ１がホストコンピュータ１００と通信可能となり、プリンタとしての各種機能を実行可能となる。
【００２０】
図３は、フラッシュＲＯＭ１１内のセクタとセクタ内に記憶されたプログラムの状態を示す模式図である。
フラッシュＲＯＭ１１は、図３に示すように、基本ブート領域２１と、第１Ｗブート領域２２と、第２Ｗブート領域２３と、メインプログラム領域２４と、データ格納領域２５と、未使用領域２６とを備えている。これらの領域は、単数または複数のセクタによって構成されており、セクタ単位でデータの一括消去を実行可能である。
【００２１】
本実施形態のフラッシュＲＯＭ１１には、ファームウェアとして、基本ブート領域２１に記憶された「基本ブートプログラム」と、第１Ｗブート領域２２に記憶された「第１Ｗブートプログラム」と、第２Ｗブート領域２３に記憶された「第２Ｗブートプログラム」と、メインプログラム領域２４に記憶された「メインプログラム」とから構成されている。以下、本実施形態では、説明の簡略化のため、メモリ書換モードについては説明を省略し、プリンタとしての通常動作を実行する通常モードに焦点を当てて説明する。
【００２２】
基本ブート領域２１に記憶された基本ブートプログラムは、プリンタ１を起動するための最低限の機能を実行させるブートプログラムである。例えば、プリンタ１を起動させるための必要最低限の機能が実行される。ここで行われる必要最適源の機能としては、例えば、ＣＰＵ１３の初期化、スタックの初期化等の各種初期化、ＲＡＭ１２のチェック、ゲートアレイレジスタのチェック等の各種チェック、起動モードの判定等の各種判定等が挙げられる。この基本ブートプログラムが実行されることにより基本ブート処理が実行される。
【００２３】
第１Ｗブート領域２２に記憶された第１Ｗブートプログラムは、基本ブートプログラムが実行されたのち、メインプログラムが実行されるまで間の中間処理となるブート処理を実行するためのプログラムである。この中間処理として実行される処理の例としては、例えば、プリンタ１を起動させるための最低限の機能以外の起動時における処理であり、通信インタフェースの種別判定、各通信インタフェースに対応した処理、各種ステータスコマンドに対応した処理等が挙げられる。
【００２４】
一方、第２Ｗブート領域２３に記憶された第２Ｗブートプログラムは、基本ブートプログラムが実行されたのち、メインプログラムが実行されるまで間の中間処理となるブート処理を実行するためのプログラムである。本実施形態では、第２Ｗブート領域２３に記憶された第２Ｗブートプログラムは、第１Ｗブート領域２２に記憶された第１Ｗブートプログラムと同一、または何れか一方がバージョンの新しい基本的に同一の目的動作を実行するためのプログラムである。
【００２５】
本実施形態では、第１ブート領域２２に記憶された第１Ｗブートプログラムと第２ブート領域２３に記憶された第２Ｗブートプログラムは、ＤＩＰスイッチ１４のオン／オフに応じて選択的に実行されるように構成されている。
【００２６】
例としては、ＤＩＰスイッチ１４がオンである場合、ＣＰＵ１３は基本ブート処理後に第１Ｗブートプログラムを実行し、一方、ＤＩＰスイッチ１４がオフである場合、ＣＰＵ１３は基本ブート処理後に第２Ｗブートプログラムを実行し、基本ブート処理後の残りのブート処理を実行する。
【００２７】
このように、本実施形態では、基本ブート処理とその後のブート処理を含めたブート処理全体を実行するプログラムとして、３つのブートプログラムが与えられており、基本ブート処理を実行した後に、第１Ｗブートプログラムと第２Ｗブートプログラムの何れか一方が選択的に実行される。
【００２８】
第１Ｗブートプログラムと第２Ｗブートプログラムの何れか一方が選択的に実行された後には、メインプログラム領域２４内に記憶されたメインプログラムが実行される。メインプログラムは、ホストコンピュータ１００との通信を介してプリンタ１を制御するためのプログラムである。このメインプログラムは、データ格納領域２５に記憶された各種設定値を参照しながら、プリンタ１による印刷動作を制御したり、ホストコンピュータ１００と通信を行ったりする。
【００２９】
図４は、本実施形態におけるプリンタ１の起動処理の流れをまとめたフローチャートである。以下、図４に示すフローチャートを用いて、再度起動処理の流れをまとめる。
【００３０】
まず、プリンタ１の電源１が投入されると、フラッシュＲＯＭ１１内の基本ブート領域に保存された基本ブートプログラムが読み出されて実行されることにより、例えば、プリンタ１を起動させるための必要最低限の機能として、ＣＰＵ１３の初期化、スタックの初期化等の各種初期化、ＲＡＭ１２のチェック、ゲートアレイレジスタのチェック等の各種チェック、起動モードの判定等の各種判定等が実行される（ステップＳ１）。
【００３１】
そして、次に、ＤＩＰスイッチ１４の状態が確認され、ＤＩＰスイッチ１４がオンであるかどうかが確認される（ステップS２）。ここで、ＤＩＰスイッチ１４がオンであれば、ステップＳ３に移行し、第１Ｗブートプログラムが読み出されて実行される。第１Ｗブートプログラムの実行が終了すると起動処理が終了し、続いてメインプログラムが実行される。
【００３２】
一方、ＤＩＰスイッチ１４がオフであれば、ステップＳ４に移行し、第２Ｗブートプログラムが読み出されて実行される。第２Ｗブートプログラムの実行が終了すると起動処理が終了し、続いてメインプログラムが実行される。
このように、本実施形態によれば、基本ブート処理を実行した後に、第１Ｗブートプログラムと第２Ｗブートプログラムの何れか一方が選択的に実行され、そして第１Ｗブートプログラムが実行された場合であっても、第２Ｗブートプログラムが実行された場合であっても、最終的にはメインプログラムが実行されて、プリンタ１がホストコンピュータ１００からの指示に応じて動作可能な状態となる。
【００３３】
本実施形態では、第１Ｗブートプログラムと第２Ｗブートプログラムの何れか一方を介してブート処理を完了し、その後メインプログラムを実行するように構成しているので、一方のＷブートプログラムが壊れていても、ＤＩＰスイッチを切り替えることにより、他方のＷブートプログラムを実行して、プリンタ１を通常モードで正常動作させることが可能である。したがって、第１Ｗブートプログラムと第２Ｗブートプログラムの一方の書換時等に何らかの理由により一方のＷブートプログラムが起動しなくなってしまっても、プリンタ１が使用不可能になるといったことが無い。したがって、プリンタ１が使用不可能になるといった最悪の事態を考慮することなく、プリンタ１のファームウェアのアップデートを試みることができる。
【００３４】
また、第１Ｗブートプログラムと第２Ｗブートプログラムとが全く同じプログラムである場合に、一方のＷブートプログラムをアップデートにより書き換える場合には、他方のＷブートプログラムが書換前のプログラムとして残るため、アップデート終了後に書換前と書換後の双方の動作を比較しながら、アップデート後の動作確認を行うことができる。
【００３５】
なお、上記実施形態では、ＤＩＰスイッチ１４の状態をみて第１Ｗブートプログラムと第２Ｗブートプログラムの何れか一方を実行するとして説明を行ったが、これに限られることはなく、例えば、第１Ｗブートプログラムと第２Ｗブートプログラムの更新履歴を確認し、最も新しく更新されたＷブートプログラムを優先的に実行させるように構成してもよい。この場合であっても、ＤＩＰスイッチ１４の設定によっては、強制的に第１Ｗブートプログラムと第２ＷブートプログラムのうちＤＩＰスイッチ１４が指定するＷブートプログラムによって、起動させるようにしてもよい。
【００３６】
次に、本実施形態のプリンタ１の処理の変形例について説明する。
図５は、チェックサムを参照しながら第１Ｗブートプログラムと第２Ｗブートプログラムを切り替える場合の処理の流れを示すフローチャートである。次に、図５を参照しながら、本実施形態におけるプリンタ１の起動処理の流れを、チェックサムを参照しながら切り替え可能に構成した場合について説明する。
【００３７】
第１Ｗブート領域２２及び第２Ｗブート領域２３には、それぞれチェックサムが記憶されている。このチェックサムは、第１Ｗブート領域２２及び第２Ｗブート領域２３のデータの信頼性を確認するための値である。このチェックサムを用いると、不具合が発生していた場合にＤＩＰスイッチを切り替えることなく、プリンタ１を起動させることが可能となる。
【００３８】
まず、プリンタ１の電源１が投入されると、フラッシュＲＯＭ１１内の基本ブート領域に保存された基本ブートプログラムが読み出されて実行されることにより、例えば、プリンタ１を起動させるための必要最低限の機能として、ＣＰＵ１３の初期化、スタックの初期化等の各種初期化、ＲＡＭ１２のチェック、ゲートアレイレジスタのチェック等の各種チェック、起動モードの判定等の各種判定等が実行される（ステップＳ１１）。
【００３９】
そして、次に、ＤＩＰスイッチ１４の状態が確認され、ＤＩＰスイッチ１４がオンであるかどうかが確認される（ステップS１２）。ここで、ＤＩＰスイッチ１４がオンであれば、ステップＳ３に移行し、第１Ｗブートプログラムのデータのサムを算出し、予め記憶しているチェックサムと同じかどうか照合する（ステップＳ１３）。ここで、データのサムとチェックサムが一致すれば、第１Ｗブートプログラムを実行して、起動処理を続行する（ステップＳ１４）。そして、第１Ｗブートプログラムの実行が終了すると起動処理が終了し、続いてメインプログラムが実行される。
【００４０】
一方、ステップＳ１３において、チェックサムの照合結果があわなければ、ステップＳ
１６に移行し、第２Ｗブートプログラムのデータのサムを算出し、予め記憶しているチェックサムと同じかどうか照合する。ここで、データのサムとチェックサムが一致すれば、第２Ｗブートプログラムの実行して、起動処理を続行する（ステップＳ１７）。そして、第２Ｗブートプログラムの実行が終了すると起動処理が終了し、続いてメインプログラムが実行される。
【００４１】
また一方、ステップＳ１２において、ＤＩＰスイッチ１４がオフであれば、ステップＳ１５に移行し、第２Ｗブートプログラムのデータのサムを算出し、予め記憶しているチェックサムと同じかどうか照合する。ここで、データのサムとチェックサムが一致すれば、第２Ｗブートプログラムの実行して、起動処理を続行する（ステップＳ１８）。そして、第２Ｗブートプログラムの実行が終了すると起動処理が終了し、続いてメインプログラムが実行される。
【００４２】
一方、ステップＳ１５において、チェックサムの照合結果があわなければ、ステップＳ
１９に移行し、第１Ｗブートプログラムのデータのサムを算出し、予め記憶しているチェックサムと同じかどうか照合する。ここで、データのサムとチェックサムが一致すれば、第１Ｗブートプログラムを実行して、起動処理を続行する（ステップＳ２０）。そして、第１Ｗブートプログラムの実行が終了すると起動処理が終了し、続いてメインプログラムが実行される。
【００４３】
ステップＳ１６またはステップＳ１９において、チェックサムの照合結果があわなければ、第１Ｗブートプログラムと第２Ｗブートプログラムの双方に何らかのエラーがあると考えられる。この場合には、第１Ｗブートプログラムまたは第２Ｗブートプログラムによる処理の続行を中断し、エラー終了する。
【００４４】
このように、本実施形態によれば、基本ブート処理を実行した後に、第１Ｗブートプログラムと第２Ｗブートプログラムの何れか一方が選択的に実行され、そして第１Ｗブートプログラムまたは第２Ｗブートプログラムの何れかに問題がある場合には、自動的に他方のＷブートプログラムを実行することにより、ブート処理を継続する。そして、最終的にはメインプログラムが実行されて、プリンタ１がホストコンピュータ１００からの指示に応じて動作可能な状態となる。このように構成することにり、ユーザの手を全く煩わせることなく、プリンタ１を非常に高い確率で正常に起動することが可能となる。
【００４５】
なお、上記説明では、第１Ｗブート領域２２に記憶された第１Ｗブートプログラムは、第２Ｗブート領域２３に記憶された第２Ｗブートプログラムと同一、または何れか一方がバージョンの新しい基本的に同一の目的動作を実行するためのプログラムであると説明を行ったが、これに限られることはなく、各Ｗブート領域に記憶されるプログラムに積極的に機能格差を設け、ニーズに応じてこれらのＷブートプログラムの一方をユーザに選択させるように構成してもよい。
【００４６】
このような機能格差の例としては、次のようなものが挙げられる。
【００４７】
１）高速起動モードと通常起動モード
一方の高速起動用のＷブートプログラムは、必ずしも必要でないと考えられるチェック動作（外部ＲＡＭチェック等）を省略する。これにより、他方の通常起動用のＷブートプログラムよりもブート処理全体の処理時間を短縮し、速やかに起動させる。素早い起動が求められるユーザには、高速起動用のＷブートプログラムにより高速モードで起動してもらい、動作環境の不具合をなるべく取り除きたいユーザには、チェック動作を省かない通常起動用のＷブートプログラムを実行することにより通常モードで起動してもらう。
【００４８】
２）デバッグモードと通常起動プログラム
一方のＷブートプログラムに、メンテナンス用のデバッグモードを用意する。このように構成することにより、プリンタ１に何らかの不具合が発生した場合には、この一方のＷブートプログラムで起動することによりデバッグモードでプリンタを動作させ、オペレータが詳細なプリンタ１の状況を調べられるような環境を提供する。
【００４９】
３）機能制限モードと通常起動プログラム
一方のＷブートプログラムを実行することにより、通常起動プログラムに比べて実行できる機能を制限した機能制限モードでプリンタ１を起動させるようにする。このように構成することで、特定のスイッチを無効化して不正操作を防止したり、将来使用する予定はあるが現時点では使用しない機能を実行不可能にすることにより、プリンタ１の誤作動を防止する。この場合、通常起動プログラムには、機能制限はない。
【００５０】
４）機能拡張モードと通常起動プログラム
一方のＷブートプログラムを実行することにより、規格外の高速印字モードや特殊装飾印字機能等を実現させる。
【００５１】
このように、本実施形態では、２つのＷブートプログラムを第１Ｗブート領域２２と第２Ｗブート領域２３に記憶しているので、第１Ｗブート領域２２に記憶された第１Ｗブートプログラムと、第２Ｗブート領域２３に記憶された第２Ｗブートプログラムとに機能格差を設け、プリンタ１の機能の幅を拡張することができる。したがって、より幅広いユーザのニーズに臨機応変に対応しやすくなり、プリンタ１の汎用性をよりいっそう高めることが可能となる。
【００５２】
なお、上記説明では、プリンタを例に説明を行ったが、上記Ｗブートプログラムの適用範囲は、プリンタに限定されず、例えばスキャナ等に適用することも可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明にかかる実施形態のプリンタの一例を示す斜視図である。
【図２】プリンタの制御回路の主要部を示すブロック図である。
【図３】フラッシュＲＯＭ内のセクタとセクタ内に記憶されたプログラムの状態を示す模式図である。
【図４】プリンタの起動処理の流れをまとめたフローチャートである。
【図５】プリンタの起動処理の変形例の流れをまとめたフローチャートである。
【符号の説明】
【００５４】
１・・プリンタ  １１・・フラッシュメモリ  １２・・ＲＡＭ  １３・・ＣＰＵ  １４・・ＤＩＰスイッチ  １００・・ホストコンピュータ  １０１・・本体部  １０２・・ディスプレイ
【図１】
2005327102.tif 000003
【図２】
2005327102.tif 000004
【図３】
2005327102.tif 000005
【図４】
2005327102.tif 000006
【図５】
2005327102.tif 000007