(57)【要約】【課題】  機器の起動時間を短縮することができ、かつ機器に記憶されている制御プログラムの状態に基づいて、適切な動作モードを起動することができる電子機器及びその制御方法を提供する。【解決手段】  機器自体を制御するための制御プログラムを格納する書換可能なフラッシュＲＯＭ２０２と、制御プログラムの書換処理の進捗管理情報を格納するＥＥＰＲＯＭ２０１を備え、動作モードとして少なくとも通常モードと制御プログラムの書換を行う書換モードを有する電子機器であって、フラッシュＲＯＭ２０２に格納される、少なくとも２ビットで構成される前記進捗管理情報を参照して、当該電子機器の動作モードを判定する。判定された動作モードで、当該電子機器の起動を制御する。【選択図】  図２
2005215893.tif 000002
【特許請求の範囲】
【請求項１】
機器自体を制御するための制御プログラムを格納する書換可能な第１不揮発性記憶媒体と、前記制御プログラムの書換処理の進捗管理情報を格納する第２不揮発性記憶媒体を備え、動作モードとして少なくとも通常モードと前記制御プログラムの書換を行う書換モードを有する電子機器であって、
前記第２不揮発性記憶媒体に格納される、少なくとも２ビットで構成される前記進捗管理情報を参照して、当該電子機器の動作モードを判定する判定手段と
前記判定手段で判定された動作モードで、当該電子機器の起動を制御する制御手段と
を備えることを特徴とする電子機器。
【請求項２】
前記判定手段は、前記進捗管理情報が所定ビット配列以外のビット配列である場合には、当該電子機器の動作モードを前記通常モードに判定する
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記第２不揮発性記憶媒体に記憶されている制御プログラムの更新用データを外部機器よりダウンロードするダウンロード手段と、
前記第２不揮発性記憶媒体に格納されている前記制御プログラムを、前記更新用データを用いて書き換える書換手段と
を更に備えることを備えることを特徴とする請求項１に記載の電子機器。
【請求項４】
前記進捗管理情報は、前記書換手段による書換を示す第１ビット配列、前記ダウンロード手段によるダウンロードの移行を示す第２ビット配列を少なくとも含む
ことを特徴とする請求項３に記載の電子機器。
【請求項５】
前記進捗管理情報を前記第１不揮発性メモリに設定する設定手段を更に備える
ことを特徴とする請求項３に記載の電子機器。
【請求項６】
前記設定手段は、前記書換手段による書換を実行する前に、前記書換を示す所定ビット配列を前記進捗管理情報として、前記第１不揮発性記憶媒体に設定する
ことを特徴とする請求項５に記載の電子機器。
【請求項７】
機器自体を制御するための制御プログラムを格納する書換可能な第１不揮発性記憶媒体と、前記制御プログラムの書換処理の進捗管理情報を格納する第２不揮発性記憶媒体を備え、動作モードとして少なくとも通常モードと前記制御プログラムの書換を行う書換モードを有する電子機器の制御方法であって、
前記第２不揮発性記憶媒体に格納される、少なくとも２ビットで構成される前記進捗管理情報を参照して、当該電子機器の動作モードを判定する判定工程と、
前記判定工程で判定された動作モードで、当該電子機器の起動を制御する制御工程と
を備えることを特徴とする電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器自体を制御するための制御プログラムを格納する書換可能な第１不揮発性記憶媒体と、前記制御プログラムの書換処理の進捗管理情報を格納する第２不揮発性記憶媒体を備え、動作モードとして少なくとも通常モードと前記制御プログラムの書換を行う書換モードを有する電子機器及びその制御方法に関するものである。
【背景技術】
【０００２】
電子機器の高機能化により、その電子機器を制御するための制御プログラムが巨大化しており、潜在的な不具合の可能性が高まっている。また、製品技術の進展が早まるにつれ、電子機器のコネクティビティが拡大している。
【０００３】
このような状況があることから、制御プログラムをフラッシュＲＯＭのような書換可能な不揮発性メモリに記憶し、製品の製造工程や発売後にも制御プログラムを容易に書換可能とした電子機器が広く開発されるようになった。
【０００４】
このような電子機器の１つであるプリンタでも、やはり高機能化に伴い、そのプリンタを制御するための制御プログラムが増大しつつあることと、デジタルカメラや携帯電話との直結が可能となるなどコネクティビティの向上により、上記と同様に、制御プログラムを書換可能な構成をとるものが発売されるようになった。
【０００５】
ここで、特に、ユーザによる電子機器の制御プログラムの全書換を必要とするダウンロード作業では、電子機器の通常動作を実行する通常モードとは異なる、制御プログラムの書換のみを行う書換専用モードを起動し、書換作業終了後には、通常モードでの再起動を行う一連の作業を自動化することで作業性の向上を図ることができる。この書換作業の進捗管理のために、従来より、ＳＲＡＭによる進捗管理情報の管理が行われている。
【０００６】
また、ＥＥＰＲＯＭの情報によりダウンロード処理が完了したか否かの判断を行なっている電子機器もある（特許文献１）。
【特許文献１】特開平０４−３１９７３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
プリンタのような電子機器では、通常、ＡＣ電源に接続されていることが期待できるためＳＲＡＭによる管理でも問題は発生しないが、稀に不慣れなオペレータが作業中断などを意図してＡＣ電源を切断する可能性がある。また、システムエラーにより書換作業が中断し、電源を切断する必要が発生することも考えられる。
【０００８】
これらの状態に陥った場合、ＳＲＡＭ上の進捗管理情報は揮発するため、書換作業の進捗がわからなくなる。
【０００９】
書換に失敗した場合には、電子機器の制御プログラムが不完全であるため、次の電源投入時には通常モードで起動してはならない。これは、通常モードで起動した場合、ハードウェアに障害をもたらすなどの不具合が発生する可能性があるからである。
【００１０】
ダウンロード処理は、幾つもの作業ステップで構成されているので、実際には、ダウンロード処理を中断した場合でも、制御プログラムが変更されていない場合がある。この状態であれば、通常モードでの起動が可能である。
【００１１】
しかしながら、ＥＥＰＲＯＭに格納されていても、ダウンロードが完了したか否かの情報だけでは、ダウンロードがどのステップまで実行されたのか判断はできないし、たとえ、電子機器の状態が通常モードでの起動が可能であっても、ユーザは通常モードでの使用の前にダウンロード処理を行わなければならない。
【００１２】
また、ＳＲＡＭによる進捗管理情報の管理を行っている電子機器では、制御プログラムが不完全である可能性を考慮し、ブート時には制御プログラムの格納領域の内容を全加算するチェックサムなどにより、制御プログラムの整合性をチェックする必要が発生する。
【００１３】
これは、ＥＥＰＲＯＭを備えた電子機器でも、一般に、ＥＥＰＲＯＭの出荷状態では全ビットが１にセットまたはリセットされていることが多いため、ＥＥＰＲＯＭに格納されている情報を誤って判断する可能性もある。
【００１４】
このため、従来の管理方法を実装した電子機器においては、このチェック作業が必要であるため、電子機器そのものの起動に時間がかかるという課題があった。
【００１５】
本発明は上記の課題に鑑みてなされたものであり、機器の起動時間を短縮することができ、かつ機器に記憶されている制御プログラムの状態に基づいて、適切な動作モードを起動することができる電子機器及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するための本発明による電子機器は以下の構成を備える。即ち、
機器自体を制御するための制御プログラムを格納する書換可能な第１不揮発性記憶媒体と、前記制御プログラムの書換処理の進捗管理情報を格納する第２不揮発性記憶媒体を備え、動作モードとして少なくとも通常モードと前記制御プログラムの書換を行う書換モードを有する電子機器であって、
前記第２不揮発性記憶媒体に格納される、少なくとも２ビットで構成される前記進捗管理情報を参照して、当該電子機器の動作モードを判定する判定手段と
前記判定手段で判定された動作モードで、当該電子機器の起動を制御する制御手段と
を備える。
【００１７】
また、好ましくは、前記判定手段は、前記進捗管理情報が所定ビット配列以外のビット配列である場合には、当該電子機器の動作モードを前記通常モードに判定する。
【００１８】
また、好ましくは、前記第２不揮発性記憶媒体に記憶されている制御プログラムの更新用データを外部機器よりダウンロードするダウンロード手段と、
前記第２不揮発性記憶媒体に格納されている前記制御プログラムを、前記更新用データを用いて書き換える書換手段と
を更に備える。
【００１９】
また、好ましくは、前記進捗管理情報は、前記書換手段による書換を示す第１ビット配列、前記ダウンロード手段によるダウンロードの移行を示す第２ビット配列を少なくとも含む。
【００２０】
また、好ましくは、前記進捗管理情報を前記第１不揮発性メモリに設定する設定手段を更に備える。
【００２１】
また、好ましくは、前記設定手段は、前記書換手段による書換を実行する前に、前記書換を示す所定ビット配列を前記進捗管理情報として、前記第１不揮発性記憶媒体に設定する。
【００２２】
上記の目的を達成するための本発明による電子機器の制御方法は以下の構成を備える。即ち、
機器自体を制御するための制御プログラムを格納する書換可能な第１不揮発性記憶媒体と、前記制御プログラムの書換処理の進捗管理情報を格納する第２不揮発性記憶媒体を備え、動作モードとして少なくとも通常モードと前記制御プログラムの書換を行う書換モードを有する電子機器の制御方法であって、
前記第２不揮発性記憶媒体に格納される、少なくとも２ビットで構成される前記進捗管理情報を参照して、当該電子機器の動作モードを判定する判定工程と、
前記判定工程で判定された動作モードで、当該電子機器の起動を制御する制御工程と
を備える。
【発明の効果】
【００２３】
本発明によれば、機器の起動時間を短縮することができ、かつ機器に記憶されている制御プログラムの状態に基づいて、適切な動作モードを起動することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２５】
本実施形態では、本発明を適用可能な好適な電子機器として、プリンタを例に挙げて説明する。
【００２６】
図１は本発明の実施形態のプリンタの構成を示す図である。
【００２７】
プリンタ１０１は、主走査方向に移動する印刷キャリッジ１０２を備え、印刷キャリッジ１０２上には、印刷ヘッド１０３とインクを収容するインクタンク１０４を備えている。紙送りローラ１０６は主走査方向に対する副走査方向、即ち、印刷用紙紙送り経路１０５の方向に印刷用紙を搬送し、印刷キャリッジ１０２は、主走査方向、即ち、カートリッジ移動経路１０７上を移動することで、印刷用紙全体への印刷動作が実現される。
【００２８】
尚、図１のプリンタの印刷方式としては、例えば、インクジェット方式や熱転写方式が挙げられるが、これに限定されず、例えば、レーザビーム方式のプリンタについても、本発明を適用することができる。
【００２９】
次に、プリンタ１０１の内部構成について、図２を用いて説明する。
【００３０】
図２は本発明の実施形態のプリンタの内部構成を示す図である。
【００３１】
プリンタ１０１は、書換可能な不揮発性記憶媒体であるＥＥＰＲＯＭ２０１、同じなく、書換可能な不揮発性記憶媒体であるフラッシュＲＯＭ２０２、インタフェース２０３（例えば、ＵＳＢインタフェース、ＩＥＥＥ１３９４インタフェース、無線ＬＡＮ、ネットワークインタフェース等）、ＲＡＭ２０４、ＣＰＵ２０５、バス２０６、マスクＲＯＭ２０７を備える。
【００３２】
特に、ＥＥＰＲＯＭ２０１には制御プログラムの書換作業に係る進捗管理情報が、また、フラッシュＲＯＭ２０２には制御プログラム（インタプリタ、ラスタライザ、レンダラ等）が格納されている。また、書換可能な不揮発性記憶媒体として、ＥＥＰＲＯＭ２０１及びフラッシュＲＯＭ２０２を例に挙げているが、同等の機能を有する記憶媒体であれば、これに限定されるものではない。
【００３３】
ここで、ＥＥＰＲＯＭ２０１に格納される進捗管理情報の種類について、図３を用いて説明する。
【００３４】
図３は本発明の実施形態の進捗管理情報の種類の一例を示す図である。
【００３５】
本実施形態では、進捗管理情報として、「初期値」、制御プログラムの書換中を示す「書換中」、制御プログラムをホストＰＣ３００からダウンロード（ＤＬ）する処理に移行する「ＤＬ移行」がある。
【００３６】
特に、これらの進捗管理情報は、図３に示すように、所定ビット数（本実施形態では、少なくとも２ビット）を用いて表現され、「初期値」にはビット配列「００」、「書換中」にはビット配列「０１」、「ＤＬ移行」にはビット配列「１０」を定義している。
【００３７】
プリンタ１０１のＣＰＵ２０５は、このＥＥＰＲＯＭ２０１に対する進捗管理情報の書換を制御するとともに、ＥＥＰＲＯＭ２０１の内容を参照して、プリンタ１０１の動作モード（本実施形態では、通常の起動を行う通常モードと、制御プログラムの書換を行う書換モードの少なくとも２種類の動作モードを有している）を判定する。
【００３８】
図２の説明に戻る。
【００３９】
マスクＲＯＭ２０７は書換不能な不揮発性メモリであり、プリンタ１０１を起動するための起動（ブート）プログラムと、ホストＰＣ３００から制御プログラムの更新用データをダウンロードするダウンロードプログラム、フラッシュＲＯＭ２０２上の制御プログラムを書き換えるための書換プログラム、進捗管理情報をＥＥＰＲＯＭ２０１に設定する進捗管理情報管理プログラムを格納している。
【００４０】
尚、マスクＲＯＭ２０７に格納されている各種プログラムは、その動作を実現する専用のハードウェアで実現されても良い。
【００４１】
プリンタ１０１を構成する各種構成要素は、バス２０６に接続され、相互にデータ通信を行なうことができる。また、上記の各種プリンタ構成要素に加えて、複数のモータドライバ等のプリンタ構成要素（不図示）が同一のバス２０６上に接続され、プリンタ１０１は、ＣＰＵ２０５と各種プリンタ構成要素と協働して印刷動作を実行する。
【００４２】
また、プリンタ１０１は、インタフェース２０３を介して、プリンタ１０１に対する印刷データを生成するホストＰＣ（パーソナルコンピュータ）３００と接続されている。
【００４３】
尚、ホストＰＣ３００は、汎用コンピュータに搭載される標準的な構成要素（例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等）を有している。
【００４４】
次に、このプリンタの動作モードを判定する動作モード判定処理について、図４を用いて説明する。
【００４５】
図４は本発明の実施形態のプリンタの動作モード判定処理を示すフローチャートである。このフローは、例えば、電源オンした場合、リセットされた場合に実行される。
【００４６】
起動シーケンスが開始すると、まず、ステップＳ１１で、ＣＰＵ２０５は、ＥＥＰＲＯＭ２０１の内容を参照して、動作モードが「書換中」であるか否かを判定する。「書換中」である場合（ステップＳ１１でＹＥＳ）、ステップＳ１３に進み、ＣＰＵ２０５は、動作モードを書換モードに決定し、マスクＲＯＭ２０７中の進捗管理情報管理プログラムによって、ＥＥＰＲＯＭ２０１に「初期値（００）」を書き込む。一方、「書換中」でない場合（ステップＳ１１でＮＯ）、ステップＳ１２に進む。
【００４７】
ステップＳ１２で、ＣＰＵ２０５は、ＥＥＰＲＯＭ２０１の内容を参照して、動作モードが「ダウンロード（ＤＬ）移行」であるか否かを判定する。「ＤＬ移行」である場合（ステップＳ１２でＹＥＳ）、ステップＳ１３に進み、動作モードを書換モードに決定し、マスクＲＯＭ２０７中の進捗管理情報管理プログラムによって、ＥＥＰＲＯＭ２０１に「初期値（００）」を書き込む。
【００４８】
一方、「ＤＬ移行」でない場合（ステップＳ１２でＮＯ）、ステップＳ１４に進み、ＣＰＵ２０５は、動作モードを通常モードに決定し、マスクＲＯＭ２０７中の進捗管理情報管理プログラムによって、ＥＥＰＲＯＭ２０１に「初期値（００）」を書き込む。
【００４９】
ここで、ＥＥＰＲＯＭ上の進捗管理情報の内、１ビットを動作モード判定に用いる場合、例えば、進捗管理情報の最下位ビットに１がセットされていた場合に「書換中」、第２ビットに１がセットされていた場合には「ＤＬ移行」と判定する処理系を想定すると、全ビットに１がセットされているような不定状態でも、動作モードを「書換中」と誤判定することになる。
【００５０】
一般に、ＥＥＰＲＯＭの出荷状態では全ビットが１にセットまたはリセットされていることが多いため、この誤判定は頻繁に発生する可能性がある。
【００５１】
即ち、生産の過程で初めて制御プログラムが実行された時には、書換モードの起動が指示されたかのような誤判定が発生し、誤った動作モードで起動する危険性があった。ここで、製品の組み立て前後に、予めＥＥＰＲＯＭの所定の位置に特定の情報を記録しておくことや、通常モードへの移行を指示するハードウェアの追加によって、この危険性を回避する対処方法も考えられるが、いずれの対処方法もコストアップの原因となるため、採用が困難である。
【００５２】
一方で、本実施形態の図４の処理を用いて、同じく製造工程で処理シーケンスを実行した場合も、初期化前のＥＥＰＲＯＭ２０１から進捗管理情報を読み込むこととなる。
【００５３】
しかしながら、本実施形態では、上述のような進捗管理情報の管理を実行することで、ＥＥＰＲＯＭ２０１に、「初期値」、「書換中」、「ＤＬ移行」のいずれでもない情報が書き込まれている場合、例えば、全ビットに１がセットされているような不定状態では、ステップＳ１１及びステップＳ１２のいずれも「ＮＯ」と判定され、ステップＳ１４へ進み、通常モードが起動することになる。
【００５４】
つまり、ＥＥＰＲＯＭ２０１に出荷状態で全ビットに１がセットされている場合でも、従来の構成とは異なり、通常モードで起動されることになる。また、ランダムな値がＥＥＰＲＯＭ２０１に書き込まれている場合でも進捗管理情報に定義するビット数を増やすことで、より動作モード判定の精度を向上させることができる。
【００５５】
このように、本実施形態では、書換が必要な場合には動作モードを必ず書換モードに決定し、そうでない場合には動作モードを通常モードに決定する。
【００５６】
また、動作モードの判定は、ＥＥＰＲＯＭ２０１内の所定数ビット（例えば、２ビット）を参照するだけでよいので、従来のように、制御プログラムの格納領域の内容を全加算するチェックサムを用いて制御プログラムの整合性をチェックした上で、動作モードを確定する場合に比べて、その処理時間を短縮することできる。その結果、機器自体の起動時間を短縮することができる。
【００５７】
次に、このプリンタ１０１の制御プログラムの書換処理について、図５を用いて説明する。
【００５８】
図５は本発明の実施形態のプリンタの制御プログラムの書換処理を示すフローチャートである。
【００５９】
尚、プリンタ１０１のように、ホストＰＣ３００と接続して使用されることを前提とする電子機器では、制御プログラムの書換処理は、ホストＰＣ３００からの書換指示情報（あるいはプリンタ１０１に構成されている専用ジャンパ、ディップスイッチ等の制御切替部からの書換指示情報）により起動し、起動後は書換モードに入り、ホストＰＣ３００から制御プログラムの更新用データ（あるいは更新用制御プログラム）をダウンロードして、更新用データに制御プログラムを書き換え、その後、通常モードで再起動することになる。
【００６０】
また、図５において、図４と同じ処理ステップには、同一のステップ番号を付加している。
【００６１】
まず、通常モードで動作中のプリンタ１０１は、制御プログラムの書換指示情報（例えば、ホストＰＣ３００から送信された特定のコマンド列、あるいはプリンタ１０１の制御切替部による特定な制御線への切替による指示）を受信すると、ステップＳ２１で、ＣＰＵ２０５は、ＥＥＰＲＯＭ２０１の進捗管理情報に「ＤＬ移行（１０）」を書き込む。その後、ステップＳ２２で、プリンタ１０１を起動する。
【００６２】
その後、上述の図４のステップＳ１１〜ステップＳ１４の処理を行うが、今回の場合は、ＥＥＰＲＯＭ２０１の進捗管理情報に「ＤＬ移行（１０）」がセットされているので、ステップＳ１３に進むことになる。
【００６３】
ステップＳ１３で、ＣＰＵ２０５は、動作モードを書換モードに決定し、マスクＲＯＭ２０７中の進捗管理情報管理プログラムによって、ＥＥＰＲＯＭ２０１の進捗管理情報に「初期値（００）」を書き込む。
【００６４】
ステップＳ２３で、ＣＰＵ２０５は、プリンタ１０１は書換モードに移行する。
【００６５】
ステップＳ２４で、ＣＰＵ２０５は、マスクＲＯＭ２０７中のダウンロードプログラムによって、制御プログラムの更新用データをホストＰＣ３００からダウンロードし、その更新用データの整合性をチェックする。整合性がとれている場合、更新用データに基づいて、制御プログラムを書き換えるためのメモリイメージ（更新用制御プログラム）を作成する。
【００６６】
ステップＳ２５で、ＣＰＵ２０５は、マスクＲＯＭ２０７中の進捗管理情報管理プログラムによって、ＥＥＰＲＯＭ２０１の進捗管理情報に「書換中（０１）」を書き込む。
【００６７】
ステップＳ２６で、ＣＰＵ２０５は、マスクＲＯＭ２０７中の書換プログラムによって、作成したメモリイメージによるＥＥＰＲＯＭ２０１上の制御プログラムの書換を実行する。
【００６８】
制御プログラムの書換が終了した場合、ステップＳ２７で、ＣＰＵ２０５は、マスクＲＯＭ２０７中の進捗管理情報管理プログラムによって、ＥＥＰＲＯＭ２０１の進捗管理情報に「初期値（００）」を書き込む。
【００６９】
その後、ステップＳ２２に戻り、プリンタ１０１を再起動すると、この場合は、ＥＥＰＲＯＭ２０１の進捗管理情報に「初期値（００）」がセットされているので、ステップＳ１１及びステップＳ１２を経て、ステップＳ１４に進み、制御プログラムの書換処理が終了する。この図５の処理が終了した後、記録動作のための準備処理が行われ、待機（スタンバイ）状態になる。
【００７０】
次に、図５の処理途中の電源断等によって、制御プログラムの書換処理が中断された場合の復帰方法について、説明する。
【００７１】
ステップＳ２２の再起動後に、制御プログラムの書換処理に影響を与え得る待ち時間について検討すると、この待ち時間には、ステップＳ２４における、ホストＰＣ３００からプリンタ１０１への更新用データのダウンロード開始待ちの期間、更新用データのダウンロード中の期間あるいはダウンロード後の更新用データに基づくメモリイメージの作成中の期間、また、あるいは、ステップＳ２６における、制御プログラムの書換中の期間等がある。
【００７２】
このような待ち時間において、ステップＳ２４の処理中に電源断が発生した場合は、この処理が一連の処理中の比較的早期の処理であるため、オペレータが制御プログラムの書換処理そのものをキャンセルしたものと推定できる。
【００７３】
この場合、オペレータは、次の起動時にはプリンタ１０１が通常モードで起動することを期待しているはずであり、また、制御プログラムの書換自体は実行されていない。そのため、このような場合は、通常モードで起動されることが好ましい。
【００７４】
以上のことを考慮して、本実施形態では、ステップＳ２４の処理中に電源断が発生した場合には、ＥＥＰＲＯＭ２０１の進捗管理情報には、ステップＳ１３によって「初期値（００）」が書き込まれているので、次に電源が投入された場合には、図４の制御フローにおいて、ステップＳ１１、１２、１４に進み、通常モードで起動することになる。このように、オペレータの意図どおりの起動が実現される。これにより、オペレータは、必要に応じて、再度、書換モードに移行させることも可能である。
【００７５】
一方、ステップＳ２６の処理中に電源断が発生した場合は、制御プログラムの書換が不完全な状態（書換途中の状態）であり、その後、再起動後に、そのままプリンタ１０１が通常モードで起動しようとすると、無効な命令が実行されるなどしてハードウェアに障害を与える等の不具合が発生する可能性がある。そのため、このような場合は、再起動後に、通常モードで起動されることは好ましくない。また、この状態からの復帰には、更新用データのダウンロードを正常に完了する必要があるため、プリンタ１０１は電源オン時や再起動時は自動的に書換モードを起動することが妥当である。
【００７６】
以上のことを考慮して、本実施形態では、ステップＳ２６の処理中に電源断が発生して、制御プログラムの書換処理が中断されてしまった場合の再起動後に通常モードで起動されることを禁止するために、ステップＳ２６の制御プログラムの書換を実行する前に、ステップＳ２５によって、ＥＥＰＲＯＭ２０１の進捗管理情報に「書換中（０１）」を書き込む。そのため、次に電源が投入された場合には、図４説明した制御フローにおいて、ステップＳ１１、１３と進み、書換モードで起動することができる。
【００７７】
つまり、本実施形態では、制御プログラムの書換処理が中断されて、制御プログラムが不正な状態で記録されているような状況では、通常モードで起動されることを禁止することができる。
【００７８】
以上のように、制御プログラムの書換処理が中断されるような異常な操作が発生した場合にも、次に起動する際の動作モードを適切な動作モードで起動することができる。
【００７９】
尚、上記実施形態では、プリンタ１０１は、外部機器であるホストＰＣ３００に接続され、ホストＰＣ３０３から制御プログラムの更新用データをダウンロードする構成としているが、これに限定されない。例えば、電子機器が、外部機器として、メモリカードやＣＤ−ＲＯＭ等の外部記憶装置に記憶された更新用データをダウンロードすることが可能な構成である場合には、この構成を用いて、制御プログラムの書換処理を実行することが可能である。
【００８０】
また、電子機器として、プリンタを例に挙げているが、このプリンタを内蔵する複写機、ファクシミリ装置等の電子機器についても、本発明を適用することが可能である。また、上記実施形態の図２に示すような機器自身の制御プログラムを書換可能な構成要素を有し、かつ外部機器から制御プログラムの更新用データをダウンロード可能な電子機器、例えば、スキャナ、デジタルカメラ、パーソナルコンピュータ、ネットワーク機器（ルータ、スイッチ、ハブ等）、携帯端末（ＰＤＡ、ノートパソコン等）等の電子機器についても、本発明を適用することが可能である。
【００８１】
以上説明したように、本発明によれば、ＥＥＰＲＯＭ２０１上に制御プログラムの書換作業の進捗状況を示す少なくとも２ビットの進捗管理情報管理し、起動時にこの進捗管理情報のみを参照して、プリンタ１０１の動作モードを決定する。これにより、プリンタ１０１の起動時間を短縮することができる。もちろん、ダウンロード処理の処理数に対応して、進捗管理情報を３ビットにしても構わない。
【００８２】
また、進捗管理情報として、書換モードを起動することを示す情報（所定ビット配列（本実施形態では、「０１」））以外の、動作モードを判定することが不能な情報（不正値）が設定されている場合には、常に、起動する動作モードを通常モードに決定するので、誤った動作モードで起動する危険性を確実に回避することができる。
【００８３】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８４】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００８５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００８７】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００９１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施形態のプリンタの構成を示す図である。
【図２】本発明の実施形態のプリンタの内部構成を示す図である。
【図３】本発明の実施形態の進捗管理情報の種類の一例を示す図である。
【図４】本発明の実施形態のプリンタの動作モード判定処理を示すフローチャートである。
【図５】本発明の実施形態のプリンタの制御プログラムの書換処理を示すフローチャートである。
【符号の説明】
【００９３】
１０１  プリンタ
１０２  印刷キャリッジ
１０３  印刷ヘッド
１０４  サブタンク
１０５  印刷用紙紙送り経路
１０６  紙送りローラ
１０７  カートリッジ移動経路
【図１】
2005215893.tif 000003
【図２】
2005215893.tif 000004
【図３】
2005215893.tif 000005
【図４】
2005215893.tif 000006
【図５】
2005215893.tif 000007