(57)【要約】【課題】プログラムのアップデートを効率的かつ短時間で行うことができるようにする。【解決手段】フラッシュＲＯＭ４に記憶されている書き込み用プログラムＢを用いて、書き込み用プログラムＡをダウンロードし、フラッシュＲＯＭ３に書き込み、プログラムＡおよび登録データＡをダウンロードしてフラッシュＲＯＭ３に書き込む。ダウンロード途中の電源ＯＦＦや、転送エラーの発生などによりダウンロードが異常終了した場合、フラッシュＲＯＭ４の書き込み用プログラム等をフラッシュＲＯＭ３にコピーすることにより、フラッシュＲＯＭ３を元に戻す。また、ダウンロードが正常終了した場合、フラッシュＲＯＭ３にダウンロードした書き込み用プログラム等をフラッシュＲＯＭ４にコピーしてアップデートする。【選択図】図２ 
2005103828.tif 000002
【特許請求の範囲】
【請求項１】
データとプログラムを記憶する第１の記憶手段と、
データと前記プログラムを記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されている前記プログラムを用いて、前記データおよび前記プログラムの少なくともいずれか一方を所定の外部機器からダウンロードし、前記第１の記憶手段に記憶させるダウンロード手段と、
前記ダウンロードが正常終了したとき、前記外部機器からダウンロードされ、前記第１の記憶手段に記憶された前記データおよび前記プログラムの少なくともいずれか一方を前記第２の記憶手段にコピーすることにより、前記第２の記憶手段によって記憶されている前記データおよび前記プログラムの少なくともいずれか一方をアップデートするアップデート手段と、
前記ダウンロードが異常終了したとき、前記第２の記憶手段によって記憶されている前記データおよび前記プログラムの少なくともいずれか一方を前記第１の記憶手段にコピーすることにより、前記第１の記憶手段によって記憶されている前記データおよび前記プログラムの少なくともいずれか一方を元に戻す復元手段と
を備えることを特徴とするプリンタ。
【請求項２】
前記アップデート手段は、前記第１の記憶手段によって記憶されている前記プログラムと、前記第２の記憶手段によって記憶されている前記プログラムが一致するか否かを判定する判定手段をさらに備え、
前記判定手段により、前記第１の記憶手段によって記憶されている前記プログラムと、前記第２の記憶手段によって記憶されている前記プログラムが一致していないと判定されたとき、前記第１の記憶手段によって記憶されている前記プログラムを前記第２の記憶手段にコピーする
ことを特徴とする請求項１に記載のプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタに関し、特に、プリンタを制御するソフトウェアをダウンロードしてバージョンアップを行うプリンタに関する。
【背景技術】
【０００２】
従来、バーコードを印字するプリンタは、図４に示すように、１つのフラッシュＲＯＭ３０を備えており、このプリンタを制御するファームソフトウェア（書き込み用プログラム等）のバージョンアップ（アップデート）は、例えば、プリンタに接続されたパーソナルコンピュータ等からダウンロードして、上記フラッシュＲＯＭ３０に書き込むことにより行っていた。このとき、フラッシュＲＯＭ３０に記憶されている書き込み用プログラムを一旦ＲＡＭにコピーして実行するようにしていた。
また、例えば、書き換え可能なフラッシュＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ａｎｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）の一部を書き換え不可のブート領域とし、この領域にプログラムのダウンロードを実行するプログラムを、また、それ以外の領域に装置各部の制御プログラムをそれぞれ格納しておき、制御プログラムの書き換え途中に、電源ＯＦＦが発生しても、ブート領域のダウンロード実行プログラムが失われないようにし、ダウンロードに失敗したかどうかや、どこまでやって失敗したかを保持しておくことにより、最新の制御プログラムをダウンロードするプリンタなどの機器において、ダウンロード中に電源ＯＦＦが発生した場合にも、再度の電源ＯＮ時に当該ダウンロードを自動的に再開し、完結させることができるようにしたものがある。
【特許文献１】特開２００２−１７５１９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術では、ダウンロードの最中に電源が切断されたり、書き込み途中で転送エラーが発生するなどしてフラッシュＲＯＭの書き込み不良となる場合があった。その場合、フラッシュＲＯＭは制御基板にはんだ付けされているため、基板交換が必要となる場合があるという問題があった。
また、ダウンロード中に電源ＯＦＦが発生した場合にも、再度の電源ＯＮ時に当該ダウンロードを自動的に再開し、完結させることができるようにしたものがあるが、この場合でも、ブート領域のダウンロード実行プログラムを同様の方法でバージョンアップすることはできないという問題があった。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、プログラムやデータのアップデートを効率的かつ短時間で行うことができるようにするものである。
【課題を解決するための手段】
【０００５】
請求項１に記載のプリンタは、データとプログラムを記憶する第１の記憶手段と、データとプログラムを記憶する第２の記憶手段と、第２の記憶手段に記憶されているプログラムを用いて、データおよびプログラムの少なくともいずれか一方を所定の外部機器からダウンロードし、第１の記憶手段に記憶させるダウンロード手段と、ダウンロードが正常終了したとき、外部機器からダウンロードされ、第１の記憶手段に記憶されたデータおよびプログラムの少なくともいずれか一方を第２の記憶手段にコピーすることにより、第２の記憶手段によって記憶されているデータおよびプログラムの少なくともいずれか一方をアップデートするアップデート手段と、ダウンロードが異常終了したとき、第２の記憶手段によって記憶されているデータおよびプログラムの少なくともいずれか一方を第１の記憶手段にコピーすることにより、第１の記憶手段によって記憶されているデータおよびプログラムの少なくともいずれか一方を元に戻す復元手段とを備えることを特徴とする。
また、アップデート手段は、第１の記憶手段によって記憶されているプログラムと、第２の記憶手段によって記憶されているプログラムが一致するか否かを判定する判定手段をさらに備え、判定手段により、第１の記憶手段によって記憶されているプログラムと、第２の記憶手段によって記憶されているプログラムが一致していないと判定されたとき、第１の記憶手段によって記憶されているプログラムを第２の記憶手段にコピーするようにすることができる。
【発明の効果】
【０００６】
本発明のプリンタによれば、プログラムのダウンロード時にエラーが発生した場合でも、プログラムを簡単に復元することができる。また、データやプログラムをダウンロードするプログラムを一旦ＲＡＭ上にコピーすることなく、データやプログラムのダウンロードおよびアップデートを実行することができ、処理時間を短縮することができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本発明の一実施の形態の構成例を示すブロック図である。同図に示すように、本実施の形態であるプリンタ１００は、後述するフラッシュＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）３およびフラッシュＲＯＭ４のいずれかに記憶されているプログラムに従って各種処理を実行し、各部を制御するＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１と、ＣＰＵ１が各種処理を実行する上で必要となる各種データを記憶するＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）２と、ＣＰＵ１が実行する各種処理に対応するプログラムを記憶するフラッシュＲＯＭ３およびフラッシュＲＯＭ４と、所定の用紙を搬送する図示せぬ搬送機構を駆動するパルスモータ６と、パルスモータ６を制御するモータ制御部５と、用紙に印字を行うサーマルヘッド８と、サーマルヘッド８を制御する印字制御部７と、所定の光を出射する発光部と、その発光部から出射された光の反射光を受光する受光部とを有し、受光部によって受光された光の強度に対応する信号を出力する反射センサ１０と、反射センサ１０を制御し、反射センサ１０から出力された信号をデジタルのデータに変換して位置検出データとしてＣＰＵ１に供給する位置センサ制御部９と、所定の光を出射する発光部と、その発光部と対向して配置され、発光部から出射された光を受光する受光部とを有し、受光部によって受光された光の強度に対応する信号を出力する透過センサ１２と、透過センサ１２を制御し、透過センサ１２から出力された信号をデジタルのデータに変換して剥離検出データとしてＣＰＵ１に供給する剥離センサ制御部１１と、各種情報を表示する表示器１４と、表示器１４に表示すべき各種情報に対応する制御信号を表示器１４に供給して表示器１４を制御する表示制御部１３と、各種データやコマンドを入力するためのキーボード１６と、キーボード１６から入力された各種データやコマンドに対応する操作データをＣＰＵ１に供給するキー制御部１５と、所定の用紙に印字された文字や図形等を読み取り、読み取った文字や図形等に対応するデータを出力するスキャナ１８と、スキャナ１８を制御し、スキャナ１８によって読み取られたデータをＣＰＵ１に供給するスキャナ制御部１７と、ＰＣ（パーソナルコンピュータ）２００等の外部機器が接続されるインターフェイス２０と、インターフェイス２０を制御し、インターフェイス２０を介して接続された外部機器との間でデータの送受信を行う外部インターフェイス制御部１９と、各部に電力を供給するバッテリーまたは電源２１とを備えている。
【０００８】
フラッシュＲＯＭ３には、図２に示すように、プログラムＡと、登録データＡと、書き込み用プログラムＡが記憶されている。また、フラッシュＲＯＭ４には、プログラムＢと、登録データＢと、書き込み用プログラムＢが記憶されている。ここで、プログラムＡは通常の動作時に用いられる通常動作用プログラムであり、プログラムＢはバックアップ用のプログラムである。登録データＡは通常の動作時に用いられる登録データであり、登録データＢはバックアップ用の登録データである。また、書き込み用プログラムＡは通常の動作時に用いられる書き込み用プログラムであり、書き込み用プログラムＢはバックアップ用の書き込み用プログラムである。
【０００９】
次に、図３のフローチャートを参照して、本実施の形態の動作について説明する。まず最初に、ステップＳ１において、ＣＰＵ１により、後述するダウンロード正常終了フラグの値に基づいて、ダウンロードが正常に終了したか否かが判定される。ダウンロードが正常に終了したと判定された場合、ダウンロード正常終了フラグには値０が設定され、ダウンロードが異常終了したと判定された場合、ダウンロード正常終了フラグには値１が設定されている。
【００１０】
従って、ダウンロード正常終了フラグの値が１であり、ダウンロードが異常終了したと判定された場合、ステップＳ５に進む。ステップＳ５においては、フラッシュＲＯＭ４に記憶されているバックアップ用のブートルーチン（書き込み用プログラム）ＢがフラッシュＲＯＭ３にコピーされ、フラッシュＲＯＭ３に正常にダウンロードされなかったブートルーチンＡが元に戻される。次に、ステップＳ６において、ダウンロード正常終了フラグの値が０に設定される。その後、ステップＳ１に戻り、ステップＳ１以降の処理が繰り返し実行される。
【００１１】
一方、ステップＳ１において、ダウンロード正常終了フラグの値が０であり、ダウンロードが正常に終了したと判定された場合、ステップＳ２に進む。ステップＳ２においては、フラッシュＲＯＭ３にダウンロードされたブートルーチンＡと、フラッシュＲＯＭ４に記憶されているバックアップ用のブートルーチンＢとが比較され、相違箇所があるか否かが調べられる。
【００１２】
次に、ステップＳ３において、ブートルーチンＡとブートルーチンＢとが一致しているか否か、即ち、正常にダウンロードされたブートルーチンＡが、バージョンアップされたものであるか否かが判定される。ブートルーチンＡとブートルーチンＢは最初は同一のルーチンである。ブートルーチンＢを使用してブートルーチンＡを正常にダウンロードした場合、ブートルーチンＡとブートルーチンＢとが一致しないとき、ダウンロードされたブートルーチンＡはバージョンアップされたものであるということになる。
【００１３】
従って、ステップＳ３において、ブートルーチンＡとブートルーチンＢが一致していないと判定された場合、ブートルーチンＡがフラッシュＲＯＭ３に正常にダウンロードされ、アップデート（更新）されたと判定され、ステップＳ４に進む。ステップＳ４においては、フラッシュＲＯＭ３に記憶されている全データをフラッシュＲＯＭ４にコピーし、フラッシュＲＯＭ４に記憶されている全データをアップデートする。その後、通常処理に移行する。
【００１４】
一方、ステップＳ３において、ブートルーチンＡとブートルーチンＢが一致していると判定された場合、ブートルーチンＡがアップデートされていないと判定され、ステップＳ７に進む。ステップＳ７においては、プリンタがダウンロードモードに設定されているか否かが判定される。ダウンロードモードに設定されていないと判定された場合、通常処理に移行する。一方、ダウンロードモードに設定されていると判定された場合、ステップＳ８に進む。
【００１５】
ステップＳ８においては、ダウンロードデータ（各種プログラム、登録データ、書き込み用プログラム（ブートルーチン）等）が受信され、フラッシュＲＯＭ３に書き込まれる。即ち、ＰＣ２００から、インターフェイス２０を介して、外部インターフェイス制御部１９の制御によって受信されたダウンロードデータがＣＰＵ１に供給される。そして、ＣＰＵ１は、外部インターフェイス制御部１９より供給されたダウンロードデータをフラッシュＲＯＭ３に書き込む。
【００１６】
次に、ステップＳ９において、ダウンロードデータのフラッシュＲＯＭ３への書き込みが正常終了したか否かが判定される。その結果、ダウンロードデータのフラッシュＲＯＭ３への書き込みが正常終了したと判定された場合、ステップＳ１０に進み、ダウンロード正常終了フラグに値０が設定される。一方、ダウンロードデータのフラッシュＲＯＭ３への書き込みが正常終了しなかったと判定された場合、ステップＳ１１に進み、ダウンロード正常終了フラグに値１が設定される。
【００１７】
ステップＳ１０の処理またはステップＳ１１の処理が終了すると、ステップＳ１２に進む。ステップＳ１２においては、ＣＰＵ１により、ダウンロード終了メッセージを表示するための表示データが作成され、表示制御部１３に供給される。表示制御部１３は、ＣＰＵ１から供給された表示データに基づいて表示器１４を制御する。これにより、表示器１４にダウンロード終了メッセージが表示される。その後、ダウンロードモードが解除され、ステップＳ１に戻り、ステップＳ１以降の処理が繰り返し実行される。
【００１８】
このように、本実施の形態では、２つのフラッシュＲＯＭ３，４を備えるようにしたので、フラッシュＲＯＭ４に記憶されている書き込み用プログラムを用いて、フラッシュＲＯＭ３の書き込み用プログラムをアップデートしたり、他のプログラムやデータをダウンロードしてアップデートすることができる。同様に、フラッシュＲＯＭ３に記憶されている書き込み用プログラムを用いて、フラッシュＲＯＭ４の書き込み用プログラムをアップデートしたり、他のプログラムやデータをダウンロードしてアップデートすることができる。その場合、書き込み用プログラムを一旦ＲＡＭ２に展開することなく、書き込み用プログラムを実行することができる。また、ダウンロード中にエラーが発生したり、ダウンロードの途中で電源がＯＦＦされたりした場合でも、フラッシュＲＯＭ３，４のいずれか一方に記憶されている正常なデータを他方にコピーすることにより、簡単にデータをリカバリすることができる。
【００１９】
なお、上記実施の形態の構成および動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
【図面の簡単な説明】
【００２０】
【図１】本発明のプリンタの一実施の形態の構成例を示すブロック図である。
【図２】図１の実施の形態を構成する２つのフラッシュＲＯＭに記憶されるデータを示す図である。
【図３】図１の実施の形態の動作を説明するためのフローチャートである。
【図４】従来のプリンタを構成する１つのフラッシュＲＯＭに記憶されるデータを示す図である。
【符号の説明】
【００２１】
１  ＣＰＵ
２  ＲＡＭ
３，４  フラッシュＲＯＭ
５  モータ制御部
６  パルスモータ
７  印字制御部
８  サーマルヘッド
９  位置センサ制御部
１０  反射センサ
１１  剥離センサ制御部
１２  透過センサ
１３  表示制御部
１４  表示部
１５  キー制御部
１６  キーボード
１７  スキャナ制御部
１８  スキャナ
１９  外部インターフェイス制御部
２０  インターフェイス
１００  プリンタ
２００  ＰＣ
【図１】
2005103828.tif 000003
【図２】
2005103828.tif 000004
【図３】
2005103828.tif 000005
【図４】
2005103828.tif 000006