(57)【要約】【課題】ファームウェアを書き換えることにより、書き換えたファームウェアの実行に供される設定値を設定できるようにすることを目的とする。【解決手段】印刷を実行するプリンター１であって、書換前ファームウェアを記憶する記憶部１５と、設定値が付加された書換用ファームウェアを受信するインターフェース部１４と、記憶部１５が記憶する書換前ファームウェアを、インターフェース部１４により受信した書換用ファームウェアに書き換え、設定値を記憶部１５の付加設定値データ領域に記憶する制御部１０と、を備え、設定値は、書換用ファームウェアの実行に供されるものであり、制御部１０は、再起動する際、付加設定値データ領域に記憶された設定値を、記憶部１５の設定領域に書き込む。【選択図】図１
2018001702.tif 000002
【特許請求の範囲】
【請求項１】
印刷を実行する印刷装置であって、
第１ファームウェアを記憶する記憶部と、
設定値が付加された第２ファームウェアを受信する通信部と、
前記記憶部が記憶する前記第１ファームウェアを、前記通信部により受信した前記第２ファームウェアに書き換え、前記設定値を前記記憶部の第１特定領域に記憶する制御部と、を備え、
前記設定値は、前記第２ファームウェアの実行に供されるものであり、
前記制御部は、
起動する際、前記第１特定領域に記憶された前記設定値を、前記記憶部の設定領域に書き込む、
印刷装置。
【請求項２】
前記制御部は、
起動する際、前記第１特定領域に記憶された前記設定値が初期値か否かを判別し、
前記初期値でない場合、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込み、書き込み後、前記第１特定領域の前記設定値を前記初期値にし、
前記初期値である場合、前記第１特定領域に記憶された前記設定値の前記設定領域への書き込みを実行しない、
請求項１に記載の印刷装置。
【請求項３】
前記制御部は、
前記記憶部が記憶する前記第１ファームウェアを、前記第２ファームウェアに書き換える際に、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込んだ否かを管理するフラグを前記記憶部の第２特定領域に記憶し、
起動する際、前記第２特定領域に記憶された前記フラグの状態を判別し、
前記フラグがオンの場合、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込み、書き込み後、前記フラグをオフにし、
前記フラグがオフの場合、前記第１特定領域に記憶された前記設定値の前記設定領域への書き込みを実行しない、
請求項１に記載の印刷装置。
【請求項４】
前記設定値は、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込んだか否かを管理するフラグを含み、
前記制御部は、
起動する際、前記第１特定領域に記憶された前記設定値に含まれるフラグの状態を判別し、
前記フラグがオンの場合、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込み、書き込み後、前記フラグをオフにし、
前記フラグがオフの場合、前記第１特定領域に記憶された前記設定値の前記設定領域への書き込みを実行しない、
請求項１に記載の印刷装置。
【請求項５】
前記第２ファームウェアは、書き換え前の前記第１ファームウェアに対し、新たな前記設定値が追加されており、
前記制御部は、起動する際、前記第１特定領域に記憶された新たな前記設定値を、前記設定領域に書き込む、
請求項１から４のいずれか一項に記載の印刷装置。
【請求項６】
前記制御部は、
前記記憶部の前記第２ファームウェアを読み出して実行し、前記設定領域に書き込まれた前記設定値に基づき、前記印刷装置の各部を制御する
請求項１から５のいずれか一項に記載の印刷装置。
【請求項７】
第１ファームウェアを記憶する記憶部と、設定値が付加された第２ファームウェアを受信する通信部と、前記記憶部が記憶する前記第１ファームウェアを、前記通信部により受信した前記第２ファームウェアに書き換え、前記設定値を前記記憶部の第１特定領域に記憶する制御部と、を備える印刷装置の制御方法であって、
前記設定値は、前記第２ファームウェアの実行に供されるものであり、
前記制御部は、起動する際、前記第１特定領域に記憶された前記設定値を、前記記憶部の設定領域に書き込む、
印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、及び、印刷装置の制御方法に関する。
【背景技術】
【０００２】
従来、ファームウェアを書き換えに係わる技術が知られている（例えば、特許文献１参照）。特許文献１では、ファームウェアの書き換え中に電源のオフが発生した場合、再度の電源のオン時にファームウェアの書き換えを自動的に再開し完結させる装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１７５１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に記載のような装置は、ファームウェア、及び、設定値を記憶し、設定値を参照しつつファームウェアを実行することにより、設定値を利用した動作を実行する。特許文献１では、ファームウェアの書き換えに際し、設定値の設定について考慮しておらず、書き換えたファームウェアの実行に供する設定値を利用した動作が実行できない場合がある。
そこで、本発明は、ファームウェアを書き換えることにより、書き換えたファームウェアの実行に供される設定値を設定できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、印刷を実行する印刷装置であって、第１ファームウェアを記憶する記憶部と、設定値が付加された第２ファームウェアを受信する通信部と、前記記憶部が記憶する前記第１ファームウェアを、前記通信部により受信した前記第２ファームウェアに書き換え、前記設定値を前記記憶部の第１特定領域に記憶する制御部と、を備え、前記設定値は、前記第２ファームウェアの実行に供されるものであり、前記制御部は、起動する際、前記第１特定領域に記憶された前記設定値を、前記記憶部の設定領域に書き込む。
本発明によれば、起動する際、第１特定領域に記憶された設定値を、記憶部の設定領域に書き込むため、記憶部が記憶するファームウェアを書き換えることにより、書き換えたファームウェアの実行に供される設定値を設定できる。
【０００６】
また、本発明は、前記制御部は、起動する際、前記第１特定領域に記憶された前記設定値が初期値か否かを判別し、前記初期値でない場合、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込み、書き込み後、前記第１特定領域の前記設定値を前記初期値にし、前記初期値である場合、前記第１特定領域に記憶された前記設定値の前記設定領域への書き込みを実行しない。
本発明によれば、第１特定領域に記憶された設定値が初期値である場合に、設定領域に設定値を書き込み、書き込み後、第１特定領域に記憶された設定値を初期値にし、設定値が初期値である場合に、設定領域への設定値の書き込みを実行しないため、設定値の設定領域への書き込み後、起動する度に、設定領域に設定値が書き込まれることを防止できる。
【０００７】
また、本発明は、前記制御部は、前記記憶部が記憶する前記第１ファームウェアを、前記第２ファームウェアに書き換える際に、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込んだ否かを管理するフラグを前記記憶部の第２特定領域に記憶し、起動する際、前記第２特定領域に記憶された前記フラグの状態を判別し、前記フラグがオンの場合、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込み、書き込み後、前記フラグをオフにし、前記フラグがオフの場合、前記第１特定領域に記憶された前記設定値の前記設定領域への書き込みを実行しない。
本発明によれば、第２特定領域に記憶されたフラグがオンの場合に、設定領域に設定値を書き込み、書き込み後、フラグをオフにし、フラグがオフの場合に、設定領域への設定値の書き込みを実行しないため、設定値の設定領域への書き込み後、起動する度に、設定領域に設定値が書き込まれることを防止できる。
【０００８】
また、本発明は、前記設定値は、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込んだか否かを管理するフラグを含み、前記制御部は、起動する際、前記第１特定領域に記憶された前記設定値に含まれるフラグの状態を判別し、前記フラグがオンの場合、前記第１特定領域に記憶された前記設定値を前記設定領域に書き込み、書き込み後、前記フラグをオフにし、前記フラグがオフの場合、前記第１特定領域に記憶された前記設定値の前記設定領域への書き込みを実行しない。
本発明によれば、設定値に含まれるフラグがオンの場合に、設定領域に設定値を書き込み、書き込み後、フラグをオフにし、フラグがオフの場合に、設定領域への設定値の書き込みを実行しないため、設定値の設定領域への書き込み後、起動する度に、設定領域に設定値が書き込まれることを防止できる。
【０００９】
また、本発明は、前記第２ファームウェアは、書き換え前の前記第１ファームウェアに対し、新たな前記設定値が追加されており、前記制御部は、起動する際、前記第１特定領域に記憶された新たな前記設定値を、前記設定領域に書き込む。
本発明によれば、起動する際、新たな設定値を設定領域に書き込むため、ファームウェアに新しい機能を追加する場合でも、当該機能を実行するための設定値を設定できる。
【００１０】
また、本発明は、前記制御部は、前記記憶部の前記第２ファームウェアを読み出して実行し、前記設定領域に書き込まれた前記設定値に基づき、前記印刷装置の各部を制御する。
本発明によれば、印刷装置は、設定領域に書き込まれた設定値に基づき、印刷装置の各部を制御するため、書き換えたファームウェアの実行に供する設定値を利用して動作できる。
【００１１】
上記課題を解決するため、本発明は、第１ファームウェアを記憶する記憶部と、設定値が付加された第２ファームウェアを受信する通信部と、前記記憶部が記憶する前記第１ファームウェアを、前記通信部により受信した前記第２ファームウェアに書き換え、前記設定値を前記記憶部の第１特定領域に記憶する制御部と、を備える印刷装置の制御方法であって、前記設定値は、前記第２ファームウェアの実行に供されるものであり、前記制御部は、起動する際、前記第１特定領域に記憶された前記設定値を、前記記憶部の設定領域に書き込む。
本発明によれば、起動する際、第１特定領域に記憶された設定値を、記憶部の設定領域に書き込むため、記憶部が記憶するファームウェアを書き換えることにより、書き換えたファームウェアの実行に供される設定値を設定できる。
【図面の簡単な説明】
【００１２】
【図１】プリンターの構成を示すブロック図。
【図２】プリンターの動作を示すフローチャート。
【図３】第１実施形態に係る記憶領域の一例を示す図。
【図４】書き込み処理におけるプリンターの動作を示すフローチャート。
【図５】書き込み処理後の記憶領域の一例を示す図。
【図６】第２実施形態に係る記憶領域の一例を示す図。
【図７】書き込み処理におけるプリンターの動作を示すフローチャート。
【図８】書き込み処理後の記憶領域の一例を示す図。
【図９】第３実施形態に係る記憶領域の一例を示す図。
【図１０】書き込み処理におけるプリンターの動作を示すフローチャート。
【図１１】書き込み処理後の記憶領域の一例を示す図。
【発明を実施するための形態】
【００１３】
＜第１実施形態＞
まず、第１実施形態について説明する。
図１は、本実施形態に係わるプリンター１（印刷装置）の構成を示すブロック図である。
【００１４】
プリンター１は、印刷ヘッド１１１を備え、印刷ヘッド１１１に形成されたノズルからインクを吐出して、印刷媒体にドットを形成するインクジェット式プリンターである。
【００１５】
図１に示すように、プリンター１は、制御部１０と、印刷部１１と、入力部１２と、表示部１３と、インターフェース部１４（通信部）と、記憶部１５と、を備える。
【００１６】
制御部１０は、ＣＰＵや、ＲＯＭ、ワークエリアとして機能するＲＡＭ、その他の周辺回路を備え、記憶部１５に記憶されたファームウェア１５１を読み出して実行することにより、プリンター１の各部を制御する。
【００１７】
印刷部１１は、印刷媒体にインクを吐出してドットを形成することにより画像や文字等を印刷する印刷ヘッド１１１や、この印刷ヘッド１１１を走査させるキャリッジ、印刷媒体を所定の方向に搬送する搬送ローラー等の印刷に係わる装置や機構等を備える。印刷部１１は、制御部１０の制御で、印刷に係わる装置や機構等を制御して、印刷媒体に印刷を実行する。
【００１８】
入力部１２は、プリンター１に設けられた各種スイッチに接続され、スイッチに対する操作を検出し、検出結果を制御部１０に出力する。
【００１９】
表示部１３は、プリンター１に設けられたＬＥＤに接続され、制御部１０の制御で、ＬＥＤに対して制御信号を出力して、ＬＥＤを所定の態様で点灯／消灯させる。また、表示部１３は、液晶表示パネル等の表示パネルを設け、表示パネルに各種情報を表示する構成としてもよい。
【００２０】
インターフェース部１４は、制御部１０の制御で、ホストコンピューター１００との間で、所定の規格に準拠した通信を実行する。
【００２１】
記憶部１５は、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）やフラッシュメモリー等の半導体記憶素子、或いは、ハードディスク等の記憶媒体を備え、各種データを書き換え可能に不揮発的に記憶する。また、記憶部１５は、ファームウェア１５１と設定値データ１５２とを記憶する。ファームウェア１５１は、プリンター１を制御するプログラムである。設定値データ１５２は、プリンター１の設定に係わる設定項目に対応する設定値が、複数、集合したデータである。設定値とは、ファームウェア１５１の実行に際して利用される設定や、条件等の具体的な値のことであり、例えば、設定項目として印刷速度が存在する場合の印刷速度の値（例えば、高速、中速、及び、低速のうちいずれかを示す値）等である。設定値の具体的な他の例については後述する。
【００２２】
ホストコンピューター１００には、プリンター１を制御するためのプリンタードライバーがインストールされる。プリンター１により印刷媒体に印刷を実行する際、ホストコンピューター１００は、プリンタードライバーを読み出して実行することにより、プリンター１を制御するための制御コマンドを生成し、プリンター１に出力する。制御コマンドが入力されたプリンター１は、順次、制御コマンドを読み出して実行することにより、印刷部１１を制御して、印刷媒体への印刷に係る各種動作を、順次、実行する。
【００２３】
ところで、プリンター１は、工場出荷後等の市場への導入後において、ファームウェア１５１の書き換えが行われる場合がある。ファームウェア１５１の書き換えとは、機能の追加や、プログラムの修正等を目的として行われるファームウェア１５１のバージョンアップのことである。しかしながら、プリンター１は、ファームウェア１５１の書き換えが行われても、設定値データ１５２が含む各設定値が書き換わらないように構成される場合がある。これは、プリンター１が、ファームウェア１５１の書き換えで、設定値データ１５２が、ファームウェア１５１の書き換えと共に、書き換わらないようにするためである。また、プリンター１は、設定値が異ならされ、異なる設定値に基づきプリンター１に機能差がつけられ、機能差に応じた態様で市場に導入される場合がある。そのため、設定値は、一般に公開されておらず、ユーザーの操作等により変更不可能となっている場合がある。つまり、設定値は、工場出荷時において、変更可能とされている場合がある。
【００２４】
また、プリンター１は、工場等で製造され、製造したプリンターを出荷する国や導入する店舗等に仕向けられる。以下の説明において、製造したプリンター１を仕向ける対象となる出荷国や店舗等を仕向け先と表現する。プリンター１は、工場等で製造される際、仕向け先ごとに異なるファームウェアが実装されず、同じファームウェアが実装される場合がある。そのため、プリンター１は、仕向け先にて、ファームウェアの書き換えを行い、仕向け先に応じた設定にされることが望まれる。しかしながら、前述した通り、プリンター１は、工場出荷後、すなわち、市場への導入後に設定値を変更することができない場合がある。そのため、プリンター１は、ファームウェア１５１の書き換えても、書き換えたファームウェア１５１の実行に供する設定値を設定できない場合があり、仕向け先に応じた設定に基づく動作を実行できない場合がある。
【００２５】
そこで、本実施形態のプリンター１は、以下に示す動作を実行する。
【００２６】
図２は、プリンター１の動作を示すフローチャートである。
【００２７】
プリンター１の制御部１０は、記憶部１５が記憶するファームウェア１５１の書き換えの指示があったか否かを判別する（ステップＳＡ１）。例えば、制御部１０は、インターフェース部１４により、ホストコンピューター１００からデータとしての書き換え用のファームウェア（以下、「書換用ファームウェア」と表現する）（第２ファームウェア）を受信した場合、ファームウェア１５１の書き換えの指示があったと判別する。
【００２８】
以下の説明において、書き換え前のファームウェア１５１を書換前ファームウェア（第１ファームウェア）と表現する。また、書き換え後のファームウェア１５１を書換後ファームウェアと表現する。なお、書換後ファームウェアは、書換用ファームウェアにて書き換えたファームウェアであるため、第２ファームウェアに相当する。
【００２９】
制御部１０は、ファームウェア１５１の書き換えの指示があったと判別した場合（ステップＳＡ１：ＹＥＳ）、ファームウェア１５１の書き換えを実行する（ステップＳＡ２）。
【００３０】
ここで、ファームウェア１５１の書き換えについて説明する。
制御部１０は、記憶部１５が記憶する書換前ファームウェアに含まれるブートプログラムを、制御部１０が備えるＲＡＭへ退避する。ブートプログラムとは、各種ブート処理を行うプログラムであり、少なくとも、記憶部１５におけるデータの書き換え（データの消去、及び、データの書き込み）に係わる処理を行う機能を有する。
次いで、制御部１０は、ＲＡＭに退避させたブートプログラムを読み出して実行することにより、書換前ファームウェアを記憶部から消去する。
次いで、制御部１０は、記憶部１５に、ホストコンピューター１００から受信した書換用ファームウェアを書き込む。本実施形態では、書換用ファームウェアに、少なくとも、設定値データが付加されており、制御部１０は、記憶部１５に書換用ファームウェアを書き込むと共に、付加された設定値データを記憶部１５に書き込む。
【００３１】
以下の説明で、書換用ファームウェアに付加された設定値データを付加設定値データと表現する。
【００３２】
図３は、書換後ファームウェアを記憶する記憶部１５の記憶領域ＫＡの一例を示す図である。図３の例に示す記憶領域ＫＡは、後述する書き込み処理の実行前の記憶領域ＫＡである。すなわち、図３に示す設定領域ＳＡ（後述）に記憶される設定値は、書換前ファームウェアの実行に供される設定値である。
【００３３】
図３に示すように、記憶部１５の記憶領域ＫＡは、プリンター１の設定に係わる設定項目に対応する設定値を複数記憶する領域である設定領域ＳＡを有する。つまり、設定領域ＳＡは、設定値データ１５２を記憶する。制御部１０は、設定領域ＳＡに記憶される各種設定値に基づいてファームウェア１５１を実行し、設定された各種動作を実行する。
【００３４】
本実施形態では、設定領域ＳＡは、以下に示す設定項目に対する設定値を少なくとも記憶する。
すなわち、設定領域ＳＡは、印刷速度を示す設定項目（以下、「印刷速度設定項目」と表現する）に対応する設定値（以下、「印刷速度設定値」と表現する）を記憶する。印刷速度設定値は、印刷速度を示す値であり、例えば、高速、中速、及び、低速のうちいずれかを示す値である。図３の例では、印刷速度設定値は、「１１００１１００」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ１に記憶される。
【００３５】
また、設定領域ＳＡは、印刷媒体の搬送速度を示す設定項目（以下、「搬送速度設定項目」と表現する）に対応する設定値（以下、「搬送速度設定値」と表現する）を記憶する。搬送速度設定値は、搬送速度を示す値であり、例えば、高速、中速、及び、低速のうちいずれかを示す値である。図３の例では、搬送速度設定値は、「１１００００１１」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ２に記憶される。
【００３６】
また、設定領域ＳＡは、強力クリーニングの分割の有無を示す設定項目（以下、「分割設定項目」と表現する）に対する設定値（以下、「分割設定値」と表現する）を記憶する。強力クリーニングとは、印刷ヘッド１１１のノズルに溜まっているインクを強制的に吸引するクリーニングより、長い期間（例えば、６分）、高い負圧によってノズルに溜まるインクがノズルから強制的に吸引される動作である。強力クリーニングの分割とは、強力クリーニングの一連の動作の分割を示す。例えば、強力クリーニングを２分割する場合、分割した１の強力クリーニングで消費されるインク量は、分割前の強力クリーニングで消費されるインク量の半分である。また、分割した１の強力クリーニングの実行期間は、分割前の強力クリーニングの実行期間の半分の期間である。分割設定値は、強力クリーニングの分割の有無のいずれかを示す値である。図３の例では、分割設定値は、「００００１１１１」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ３に記憶される。
【００３７】
また、設定領域ＳＡは、強力クリーニングの実行時において音の発生の有無を示す設定項目（以下、「音設定項目」と表現する）に対する設定値（以下、「音設定値」と表現する）を記憶する。音設定値は、強力クリーニングの実行時において音の発生の有無のいずれかを示す値である。図３の例では、音設定値は、「１１１１１１１１」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ４に記憶される。
【００３８】
また、設定領域ＳＡは、印刷媒体に印刷される文字や画像等の解像度を示す設定項目（以下、「解像度設定項目」と表現する）に対する設定値（以下、「解像度設定値」と表現する）を記憶する。解像度設定値は、解像度を示す値であり、例えば、高解像度、中解像度、及び、低解像度のうちいずれかを示す値である。図３の例では、解像度設定値は、「１００１１１１０」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ５に記憶される。
【００３９】
また、設定領域ＳＡは、印刷媒体に印刷する文字のフォントデータを示す設定項目（以下、「フォント設定項目」と表現する）に対する設定値（以下、「フォント設定値」と表現する）を記憶する。フォント設定値は、フォントデータを示す値であり、例えば、日本語のフォントデータや、英語のフォントデータ等の複数のフォントデータのうち１のフォントデータを示す値である。フォントデータとは、文字を印刷媒体に印刷可能な態様で表現する実データのことである。図３の例では、フォント設定値は、「００００１０００」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ６に記憶される。
【００４０】
また、設定領域ＳＡは、印刷媒体の幅を示す設定項目（以下、「幅設定項目」と表現する）に対する設定値（以下、「幅設定値」と表現する）を記憶する。幅設定値は、印刷媒体の幅を示す値であり、例えば、５８ｍｍ（ミリメートル）、及び、８０ｍｍのうちいずれかを示す値である。図３の例では、幅設定値は、「０１０００１１１」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ７に記憶される。
【００４１】
また、設定領域ＳＡは、プリンター１が無線通信する場合において使用するチャンネルを示す設定項目（以下、「チャンネル設定項目」と表現する）に対する設定値（以下、「チャンネル設定値」と表現する）を記憶する。チャンネル設定値は、使用するチャンネルを示す値であり、例えば、２．４ＧＨｓ−２．５ＧＨｓの中心周波数における複数のチャンネルのうち１のチャンネル（例えば、１ｃｈ）を示す値である。図３の例では、解像度設定値は、「００００００００」の８ビットの値であり、設定領域ＳＡのアドレスＡＤ８に記憶される。この「００００００００」のチャンネル設定値については、後述する。
【００４２】
図３に示すように、記憶部１５の記憶領域ＫＡは、ファームウェア１５１を記憶するファームウェア領域ＦＡを有する。また、図３に示すように、記憶部１５の記憶領域ＫＡは、付加設定値データを記憶する付加設定値データ領域ＳＤＡ（第１特定領域）を有する。
【００４３】
制御部１０は、書換前ファームウェアを書換用ファームウェアに書き換える際、記憶領域ＫＡに書換用ファームウェアを記憶するためのファームウェア領域ＦＡと、付加設定値データを記憶するための付加設定値データ領域ＳＤＡとを確保する。そして、制御部１０は、確保したファームウェア領域ＦＡと付加設定値データ領域ＳＤＡとにそれぞれ対応するデータを記憶する。すなわち、制御部１０は、ファームウェア領域ＦＡに書換用ファームウェアを記憶し、付加設定値データ領域ＳＤＡに付加設定値データを記憶する。
【００４４】
図３の例では、付加設定値データ領域ＳＤＡは、アドレスＡＤ１１に「１０１０１０１０」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１２に「１０００００１０」の８ビットの搬送速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１３に「０１０１０１０１」の８ビットの分割設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１４に「１１１１１１１１」の８ビットの音設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１５に「１００１１００１」の８ビットの解像度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１６に「０１１１０１１１」の８ビットのフォント設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１７に「０１１００１１０」の８ビットの幅設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１８に「１１１１００００」の８ビットのチャンネル設定値を記憶する。
【００４５】
図３に示すように、記憶部１５の記憶領域ＫＡは、アドレス管理情報を記憶するアドレス管理領域ＡＡを有する。アドレス管理情報は、設定項目ごとに、設定項目を示す情報と、設定領域ＳＡにおける設定値を記憶するアドレスと、設定値のビット数とが対応付いた情報を有する。
本実施形態の場合、例えば、アドレス管理情報は、印刷速度設定項目の場合、印刷速度設定項目を示す情報と、印刷速度設定値を記憶するアドレス（図３の場合、アドレスＡＤ１）を示す情報と、印刷速度設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、搬送速度設定項目の場合、搬送速度設定項目を示す情報と、搬送速度設定値を記憶するアドレス（図３の場合、アドレスＡＤ２）を示す情報と、搬送速度設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、分割設定項目の場合、分割設定項目を示す情報と、分割設定値を記憶するアドレス（図３の場合、アドレスＡＤ３）を示す情報と、分割設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、音設定項目の場合、音設定項目を示す情報と、音設定値を記憶するアドレス（図３の場合、アドレスＡＤ４）を示す情報と、音設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、解像度設定項目の場合、解像度設定項目を示す情報と、解像度設定値を記憶するアドレス（図３の場合、アドレスＡＤ５）を示す情報と解像度設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、フォント設定項目の場合、フォント設定項目を示す情報と、フォント設定値を記憶するアドレス（図３の場合、アドレスＡＤ６）を示す情報とフォント設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、幅設定項目の場合、幅設定項目を示す情報と、幅設定値を記憶するアドレス（図３の場合、アドレスＡＤ７）を示す情報と、幅設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
また、例えば、アドレス管理情報は、チャンネル設定項目の場合、チャンネル設定項目を示す情報と、チャンネル設定値を記憶するアドレス（図３の場合、アドレスＡＤ８）を示す情報と、チャンネル設定値のビット数（図３の場合、８ビット）を示す情報とが対応付いた情報を有する。
【００４６】
図２のフローチャートの説明に戻り、制御部１０は、書換用ファームウェアを記憶部１５に書き込むと、プリンター１の再起動（起動）を実行する（ステップＳＡ３）。
【００４７】
次いで、制御部１０は、再起動する際に、付加設定値データ領域ＳＤＡに記憶された設定値を、設定領域ＳＡに書き込む処理である書き込み処理を実行する（ステップＳＡ４）。
【００４８】
図４は、第１実施形態に係る書き込み処理におけるプリンターの動作を示すフローチャートである。
【００４９】
制御部１０は、付加設定値データ領域ＳＤＡに記憶された設定値の中から、設定領域ＳＡへの書き込みの対象となる１の設定値を特定する（ステップＳＢ１）。
【００５０】
ここで、書換後ファームウェアは、付加設定値データ領域ＳＤＡに記憶される設定値のそれぞれについて、設定項目を示す情報と、設定値が記憶されるアドレスを示す情報と、設定値のビット数を示す情報とが対応づいた情報を有する。
【００５１】
本実施形態では、書換後ファームウェアは、印刷速度項目を示す情報と、印刷速度設定値を記憶するアドレスを示す情報と、印刷速度設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１１に、印刷速度設定値を示す「１０１０１０１０」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、搬送速度設定項目を示す情報と、搬送速度設定値を記憶するアドレスを示す情報と、搬送速度設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１２に、搬送速度設定値を示す「１０００００１０」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、分割設定項目を示す情報と、分割設定値を記憶するアドレスを示す情報と、分割設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１３に、分割設定値を示す「０１０１０１０１」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、音設定項目を示す情報と、音設定値を記憶するアドレスを示す情報と、音設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１４に、音設定値を示す「１１１１１１１１」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、解像度設定項目を示す情報と、解像度設定値を記憶するアドレスを示す情報と、解像度設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１５に、解像度設定値を示す「１００１１００１」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、フォント設定項目を示す情報と、フォント設定値を記憶するアドレスを示す情報と、フォント設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１６に、フォント設定値を示す「０１１１０１１１」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、幅設定項目を示す情報と、幅設定値を記憶するアドレスを示す情報と、幅設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１７に、幅設定値を示す「０１１００１１０」の８ビットの設定値が記憶されることを示す情報を有する。
また、書換後ファームウェアは、チャンネル設定項目を示す情報と、チャンネル設定値を記憶するアドレスを示す情報と、チャンネル設定値のビット数を示す情報とが対応づいた情報を有する。図３の場合、書換後ファームウェアは、付加設定値データ領域ＳＤＡにおいて、アドレスＡＤ１８に、チャンネル設定値を示す「１１１１００００」の８ビットの設定値が記憶されることを示す情報を有する。
【００５２】
制御部１０は、書換後ファームウェアを実行することにより、書換後ファームウェアが有するアドレスを示す情報と設定値のビット数を示す情報とを参照することにより、設定領域ＳＡへの書き込みの対象となる１の設定値を、付加設定値データ領域ＳＤＡに記憶された設定値の中から特定する。
【００５３】
次いで、制御部１０は、ステップＳＢ１で特定した設定値がＮＵＬＬ値（初期値）か否かを判別する（ステップＳＢ２）。制御部１０は、ＮＵＬＬ値であると判別した場合（ステップＳＢ２：ＹＥＳ）、書き込み処理を終了するか否かを判別する（ステップＳＢ５）。例えば、制御部１０は、ステップＳＢ１で特定した設定値が「００００００００」である場合、ＮＵＬＬ値であると判別する。
【００５４】
次いで、制御部１０は、書き込み処理を終了すると判別した場合（ステップＳＢ５：ＹＥＳ）、書き込み処理を終了する。制御部１０は、付加設定値データ領域ＳＤＡが記憶する設定値のすべてについて、設定領域ＳＡへの書き込みの対象となったと判別した場合、書き込み処理を終了すると判別する。一方、制御部１０は、書き込み処理を終了しないと判別した場合（ステップＳＢ５：ＮＯ）、処理をステップＳＢ１に戻す。例えば、制御部１０は、設定領域ＳＡへの書き込みの対象となっていない設定値がある場合、書き込み処理を終了しないと判別する。
【００５５】
一方、制御部１０は、ステップＳＢ１で特定した設定値がＮＵＬＬ値でないと判別した場合（ステップＳＢ２：ＮＯ）、ステップＳＢ１で特定した設定値を、設定領域ＳＡにおいて対応するアドレスに書き込む（ステップＳＢ３）。対応するアドレスとは、設定項目が対応するアドレスを示す。
【００５６】
例えば、制御部１０が、付加設定値データ領域ＳＤＡのアドレスＡＤ１１の設定値を特定した場合、設定値が「１０１０１０１０」であることからＮＵＬＬ値でないため、アドレスＡＤ１１の設定値を設定領域ＳＡのアドレスＡＤ１に書き込む。つまり、制御部１０は、アドレスＡＤ１１が記憶する印刷速度設定値を特定した場合、設定領域ＳＡにおいて印刷速度設定値を記憶するアドレスＡＤ１に、アドレスＡＤ１１が記憶する印刷速度設定値を書き込む。例えば、制御部１０は、アドレス管理情報を参照することにより、印刷速度設定値を記憶するアドレスＡＤ１を示す情報が取得でき、アドレスＡＤ１１に記憶される印刷速度設定値をアドレスＡＤ１に書き込む。
【００５７】
次いで、制御部１０は、設定領域ＳＡに設定値の書き込むと、書き込みの対象となった設定値をＮＵＬＬ値にする（ステップＳＢ４）。例えば、制御部１０は、アドレスＡＤ１１の「１０１０１０１０」を示す印刷速度設定値を設定領域ＳＡに書き込むと、「１０１０１０１０」を「００００００００」にする。
【００５８】
次いで、制御部１０は、書き込み処理を終了するか否かを判別する（ステップＳＢ５）。
【００５９】
図５は、書換後ファームウェアを記憶する記憶部１５の記憶領域ＫＡの一例を示す図である。図５の例に示す記憶領域ＫＡは、書き込み処理の実行後の記憶領域ＫＡである。すなわち、図５に示す設定領域ＳＡに記憶される設定値は、書換後ファームウェアの実行に供される設定値である。
【００６０】
図５と図３とを比較して明らかな通り、制御部１０は、書き込み処理を実行することにより、書換用ファームウェアに付加された設定値のそれぞれを、設定領域ＳＡに書き込む。
すなわち、制御部１０は、アドレスＡＤ１に「１０１０１０１０」を書き込むことにより、印刷速度設定値を「１１００１１００」から「１０１０１０１０」にする。
また、制御部１０は、アドレスＡＤ２に「１０００００１０」を書き込むことにより、搬送速度設定値を「１１００００１１」から「１０００００１０」にする。
また、制御部１０は、アドレスＡＤ３に「０１０１０１０１」を書き込むことにより、分割設定値を「００００１１１１」から「０１０１０１０１」にする。
また、制御部１０は、アドレスＡＤ４に「１１１１１１１１」を書き込むことにより、音設定値を「１１１１１１１１」から「１１１１１１１」にする。
また、制御部１０は、アドレスＡＤ５に「１００１１００１」を書き込むことにより、解像度設定値を「１００１１１１０」から「１００１１００１」にする。
また、制御部１０は、アドレスＡＤ６に「０１１１０１１１」を書き込むことにより、フォント設定値を「００００１０００」から「０１１１０１１１」にする。
また、制御部１０は、アドレスＡＤ７に「０１１００１１０」を書き込むことにより、幅設定値を「０１０００１１１」から「０１１００１１０」にする。
また、制御部１０は、アドレスＡＤ８に「１１１１００００」を書き込むことにより、チャンネル設定値を「００００００００」から「１１１１００００」にする。
【００６１】
また、図５と図３とを比較して明らかな通り、制御部１０は、書き込み処理を実行することにより、付加設定値データ領域ＳＤＡに記憶される設定値のそれぞれをＮＵＬＬ値にする。なお、本実施形態では、ＮＵＬＬ値として、「００００００００」を例示する。
【００６２】
このように、再起動する際、付加設定値データ領域ＳＤＡに記憶された設定値を、設定領域ＳＡに書き込むため、記憶部１５が記憶するファームウェア１５１を書き換えることにより、書換後ファームウェアの実行に供される設定値を設定領域ＳＡに設定できる。つまり、制御部１０は、書換後ファームウェアを実行することにより、書換後ファームウェアの実行に供する設定値に基づく動作を実行できる。
【００６３】
また、制御部１０は、付加設定値データ領域ＳＤＡに記憶された設定値がＮＵＬＬ値である場合に、設定領域ＳＡに設定値を書き込み、書き込み後、付加設定値データ領域ＳＤＡに記憶された設定値をＮＵＬＬ値にする。そのため、制御部１０は、起動する際、付加設定値データ領域ＳＤＡの設定値がＮＵＬＬ値である場合に、設定領域ＳＡへの設定値の書き込みを実行しないため、設定値のそれぞれが設定領域ＳＡへ書き込まれた後、プリンター１が起動する度に、再度、設定値のそれぞれが設定領域ＳＡに書き込まれることを防止できる。
【００６４】
ここで、本実施形態では、記憶部１５の記憶領域ＫＡにおいて、特定のアドレスに特定の設定項目に対する設定値を記憶する構成とされない場合を例示する。このように構成されるのは、記憶部１５が備えるＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）やフラッシュメモリー等の半導体記憶素子、或いは、ハードディスク等の記憶媒体の劣化を防止するため、何回も書き換えが行われることを防止するためである。上述したように、プリンター１が起動する度に、再度、設定値のそれぞれが設定領域ＳＡに書き込まれることを防止できるため、記憶媒体の劣化を防止することができる。
【００６５】
また、書き込み後、付加設定値データ領域ＳＤＡに記憶された設定値をＮＵＬＬ値にすることにより、以下の効果も奏する。
ここで、仮に、ＮＵＬＬ値にしない構成とすると、すなわち、起動する際、何度も設定領域ＳＡに書き込む構成とする。この構成の場合において、例えば、プリンター１が、製造された工場等に戻り入れされ、工場等において設定領域ＳＡに対して設定値の設定が行われたとする。この場合、プリンター１の起動時に、戻り入れされた工場用にて設定された設定値が、付加設定値データ領域ＳＤＡに記憶される設定値に書き換えられる事態が発生する。上述のように、設定領域ＳＡへの書き込み後、書き込んだ設定値をＮＵＬＬ値にすることで、プリンターが起動する度に、設定領域ＳＡの設定値を書き換えることがなく、上述した事態の発生を防止できる。
【００６６】
前述した通り、本実施形態では、少なくとも、設定領域ＳＡに対して、印刷速度設定値、搬送速度設定値、分割設定値、音設定値、解像度設定値、フォント設定値、幅設定値、及び、チャンネル設定値の書き込みを実行する場合を例示する。
【００６７】
制御部１０は、書換用ファームウェアに印刷速度設定値が付加されている場合、設定領域ＳＡに、当該印刷速度設定値を書き込む。したがって、例えば、工場出荷後に仕向け先に導入されたプリンター１に対して、制御部１０は、ファームウェア１５１を書き換えることにより、印刷速度を設定できる。つまり、制御部１０は、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先ごとの印刷速度の設定が可能となる。また、印刷速度設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、印刷速度設定値が示す印刷速度で印刷を実行できる。
【００６８】
また、制御部１０は、書換用ファームウェアに搬送速度設定値が付加されている場合、設定領域ＳＡに、当該搬送速度設定値を書き込む。したがって、印刷速度設定値と同様、例えば、工場出荷後に仕向け先に導入されたプリンター１に対して、制御部１０は、ファームウェア１５１を書き換えることにより、搬送速度を設定できる。つまり、制御部１０は、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先ごとの搬送速度の設定が可能となる。また、搬送速度設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、搬送速度設定値が示す搬送速度で印刷を実行できる。
【００６９】
また、制御部１０は、書換用ファームウェアに分割設定値が付加されている場合、設定領域ＳＡに、当該分割設定値を書き込む。したがって、例えば、工場出荷後に仕向け先に導入されたプリンター１に対して、制御部１０は、ファームウェア１５１を書き換えることにより、分割設定値を設定できる。前述した通り、分割設定値は、強力クリーニングの一連の動作の分割の有無を示す設定値である。また、強力クリーニングは、少なくとも、クリーニングより、動作する期間が長い。そのため、例えば、強力クリーニングの実行中、プリンター１による印刷が実行できないため、クリーニングより長い期間、プリンター１を使用する業務等が停止することになり、プリンター１の仕向け先によっては、強力クリーニングの分割が望まれる場合がある。そこで、制御部１０は、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先に応じた強力クリーニングの分割の有無の設定が可能となる。また、分割設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、分割設定値が示す強力クリーニングの分割の有無に基づく強力クリーニングの分割を実行できる。
【００７０】
また、制御部１０は、書換用ファームウェアに音設定値が付加されている場合、設定領域ＳＡに、当該音設定値を書き込む。したがって、例えば、工場出荷後に仕向け先に導入されたプリンター１に対して、制御部１０は、ファームウェア１５１を書き換えることにより、音設定値を設定できる。前述した通り、音設定値は、強力クリーニングの実行時において音の発生の有無のいずれかを示す値である。前述した通り、強力クリーニングは、クリーニングより動作を実行する期間が長い。そのため、強力クリーニングの実行中、音をあえて発生させることにより、制御部１０は、強力クリーニングを実行していることをユーザーに対して報知でき、ユーザーが強力クリーニングを実行していないと誤認識することを防止する。しかしながら、例えば、銀行等において、強力クリーニングの実行中、強力クリーニングを実行していることを示す音の発生が望まれないことがある。そこで、制御部１０は、ファームウェア１５１を書き換えることにより、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先に応じた強力クリーニングの実行時における音の発生の有無が設定可能となる。また、音設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、音設定値が示す強力クリーニングの実行時の音の有無に基づく音の発生を実行できる。なお、当該音の発生は、モーター等を駆動させることにより、実行される。
【００７１】
また、制御部１０は、書換用ファームウェアに解像度設定値が付加されている場合、設定領域ＳＡに、付加された解像度設定値を書き込む。したがって、例えば、工場出荷後に市場に導入されたプリンター１に対して、制御部１０は、ファームウェア１５１を書き換えることにより、解像度設定値を設定できる。前述した通り、解像度設定値は、印刷媒体に印刷される画像等の解像度を示す値である。解像度は、高かければ高いほど、消費されるインク量が多く、低ければ低いほど、消費されるインク量が少ない。そのため、仕向け先によっては、消費されるインク量が多くとも解像度を上げたいと望む場合があり、また、解像度を下げてでも消費されるインク量を少なくしたいと望む場合がある。そこで、制御部１０は、ファームウェア１５１を書き換えることにより、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先に応じた解像度の設定が可能となる。また、解像度設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、解像度設定値が示す解像度で印刷を実行できる。
【００７２】
また、制御部１０は、書換用ファームウェアにフォント設定値が付加されている場合、設定領域ＳＡに、付加されたフォント設定値を書き込む。前述した通り、フォント設定値は、フォントデータを示す値であり、例えば、日本語のフォントデータや、英語のフォントデータ等の複数のフォントデータのうち１のフォントデータを示す値である。プリンター１は、仕向け先によって、印刷媒体に印刷する文字の言語が異なる場合がある。そのため、プリンター１は、仕向け先に応じた言語にて、印刷媒体に文字等を印刷することが望まれる。また、プリンター１は、プリンターが記憶する複数のフォントデータのすべてをＲＡＭに展開して、印刷媒体に文字等を印刷する構成であると、記憶領域の大きいＲＡＭが必要になり、また、印刷に係る処理負荷が増大する。そのため、プリンター１は、ＲＡＭに展開するフォントデータを、仕向け先に応じたフォントデータとすることが望まれる。そこで、制御部１０は、ファームウェア１５１を書き換えることにより、工場出荷後の仕向け先のプリンター１に対して、仕向け先に応じたフォントデータの設定が可能となる。また、フォント設定値を、ファームウェアを書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、フォント設定値が示すフォントデータで印刷を実行できる。
【００７３】
また、制御部１０は、書換用ファームウェアに幅設定値が付加されている場合、設定領域ＳＡに付加された幅設定値を書き込む。幅設定値は、印刷媒体の幅を示す値であり、例えば、５８ｍｍ（ミリメートル）、及び、８０ｍｍのうちいずれかを示す値である。プリンター１を使用する仕向け先、特に、国によって、印刷媒体の幅が異なる場合がある。例えば、日本においては、５８ｍｍの幅の印刷媒体が使用される。また、例えば、日本以外の国では、８０ｍｍの幅の印刷媒体が使用される場合がある、そこで、制御部１０は、ファームウェアを書き換えることにより、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先に応じた印刷媒体の幅の設定が可能となる。また、幅設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、幅設定値が示す印刷媒体の幅に基づいて、設定された幅の印刷媒体で印刷を実行できる。
【００７４】
また、制御部１０は、書換用ファームウェアにチャンネル設定値が付加されている場合、設定領域ＳＡに、付加されたチャンネル設定値を書き込む。チャンネル設定値は、使用するチャンネルを示す値であり、例えば、２．４ＧＨｓ−２．５ＧＨｓの中心周波数における複数のチャンネルのうち１のチャンネル（例えば、１ｃｈ）を示す値である。チャンネルは、国によって、使用可能なチャンネルと、使用不可能なチャンネルとがある。例えば、２．４ＧＨｓ−２．５ＧＨｓの中心周波数におけるチャンネルの場合、日本では、１ｃｈから１３ｃｈのいずれもが使用可能であるが、北米では、１ｃｈから１１ｃｈのいずれかが使用可能であり、１２ｃｈ、及び、１３ｃｈについては使用不可能である。そこで、制御部１０は、ファームウェア１５１を書き換えることにより、工場出荷後に仕向け先に導入されたプリンター１に対して、仕向け先に応じたチャンネルの設定が可能となる。また、チャンネル設定値を、ファームウェア１５１を書き換えることにより書き換えるため、制御部１０は、書換後ファームウェアを実行することにより、チャンネル設定値が示すチャンネルで通信できる。
【００７５】
前述したように、図３において、書き込み処理の実行前の設定領域ＳＡのアドレスＡＤ８に記憶されるチャンネル設定値は、「００００００００」である。本実施形態では、この「００００００００」は、書換前ファームウェアにおいて実行していない機能の設定値である場合を例示する。すなわち、書換前ファームウェアにおいては、無線に係るチャンネルを設定する機能がない場合を例示する。この例の場合、制御部１０は、書換前ファームウェアを実行しても、無線通信におけるチャンネルの設定を実行しない。ここで、図３及び図５に示すように、書換用ファームウェアにチャンネル設定値を示す「１１１１００００」が付加されており、制御部１０は、書換前ファームウェアを書換用ファームウェアに書き換えることで、設定領域ＳＡのチャンネル設定値を記憶するアドレスＡＤ８に「１１１１００００」を記憶する。つまり、書換用ファームウェアには、書換前ファームウェアに対して、新たな設定値、すなわち、チャンネル設定値が追加されているおり、制御部１０は、新たに追加されたチャンネル設定値を設定領域ＳＡにアドレスＡＤ８に記憶する。これにより、制御部１０は、チャンネル設定値を設定領域ＳＡに記憶するため、書換後ファームウェアを実行することにより、無線通信に係るチャンネルの設定ができる。つまり、制御部１０は、ファームウェアをバージョンアップすることにより、新たに追加されたチャンネル設定値に基づき、バージョンアップ前に実行できないチャンネルの設定が実行できる。
【００７６】
以上、説明したように、プリンター１（印刷装置）は、書換前ファームウェア（第１ファームウェア）を記憶する記憶部１５と、設定値が付加された書換用ファームウェア（第２ファームウェア）を受信するインターフェース部１４（通信部）と、記憶部１５が記憶する書換前ファームウェアを、インターフェース部１４により受信した書換用ファームウェアに書き換え、設定値を記憶部１５の付加設定値データ領域ＳＤＡ（第１特定領域）に記憶する制御部１０と、を備える。設定値は、書換用ファームウェアの実行に供されるものである。制御部１０は、再起動（起動）する際、付加設定値データ領域ＳＤＡに記憶された設定値を、記憶部１５の設定領域ＳＡに書き込む。
【００７７】
これにより、制御部１０は、起動する際、付加設定値データ領域ＳＤＡに記憶された設定値を、記憶部１５の設定領域ＳＡに書き込むため、記憶部１５が記憶するファームウェアを書き換えることにより、書換後ファームウェアの実行に供される設定値を設定できる。
【００７８】
また、制御部１０は、起動する際、付加設定値データ領域ＳＤＡに記憶された設定値がＮＵＬＬ値（初期値）か否かを判別し、ＮＵＬＬでない場合、付加設定値データ領域ＳＤＡに記憶された設定値を設定領域ＳＡに書き込む。制御部１０は、書き込み後、付加設定値データ領域ＳＤＡの設定値をＮＵＬＬ値にし、ＮＵＬＬ値である場合、付加設定値データ領域ＳＤＡに記憶された設定値の設定領域ＳＡへの書き込みを実行しない。
【００７９】
これにより、付加設定値データ領域ＳＤＡに記憶された設定値がＮＵＬＬ値である場合に、設定領域ＳＡに設定値を書き込む。制御部１０は、書き込み後、付加設定値データ領域ＳＤＡに記憶された設定値をＮＵＬＬ値にし、設定値がＮＵＬＬ値である場合に、設定領域ＳＡへの設定値の書き込みを実行しないため、設定値の設定領域ＳＡへの書き込み後、起動する度に、設定領域ＳＡに設定値が書き込まれることを防止できる。
【００８０】
また、書換用ファームウェアは、書換前ファームウェアに対し、新たな設定値が追加される。制御部１０は、起動する際、付加設定値データ領域ＳＤＡに記憶された新たな設定値を、設定領域ＳＡに書き込む。
【００８１】
これにより、制御部１０は、起動する際、新たな設定値を設定領域ＳＡに書き込むため、ファームウェアに新しい機能を追加する場合でも、当該機能を実行するための設定値を設定できる。
【００８２】
また、制御部１０は、記憶部１５の書換用ファームウェアにて書き換えた書換後ファームウェアを読み出して実行し、設定領域ＳＡに書き込まれた設定値に基づき、プリンター１の各部を制御する。
【００８３】
これにより、プリンター１は、設定領域ＳＡに書き込まれた設定値に基づき、プリンター１の各部を制御するため、書換後ファームウェアの実行に供する設定値を利用して動作できる。
【００８４】
＜第２実施形態＞
次に、第２実施形態について説明する。
第２実施形態においてプリンター１の構成は、第１実施形態と同じである。そのため、プリンター１の構成については、詳細な説明を省略する。
【００８５】
第２実施形態では、第１実施形態と比較して、ファームウェアの書き換え後の記憶領域ＫＡと、書き込み処理とが異なる。
【００８６】
第２実施形態において、記憶部１５の記憶領域ＫＡは、付加設定値データ領域ＳＤＡに記憶される設定値のそれぞれについて、設定領域ＳＡに書き込んだか否かを管理するフラグを記憶するフラグ記憶領域ＦＫＡ（第２特定領域）を記憶する。
【００８７】
図６は、第２実施形態における書換後ファームウェアを記憶する記憶部１５の記憶領域ＫＡの一例を示す図である。図６では、第２実施形態における書き込み処理を実行する前の記憶領域ＫＡを例示する。また、図６では、設定領域ＳＡ、及び、付加設定値データ領域ＳＤＡにおいて、図３と同様の設定値が記憶される場合を例示する。
【００８８】
図６と図３とを比較して明らかな通り、第２実施形態では、記憶部１５の記憶領域ＫＡは、フラグ記憶領域ＦＫＡを有する。フラグ記憶領域ＦＫＡは、付加設定値データ領域ＳＤＡが記憶する設定値のそれぞれについて、設定領域ＳＡに書き込んだか否かを管理するフラグを記憶する。
【００８９】
図６の場合、フラグ記憶領域ＦＫＡは、アドレスＡＤ１１が記憶する設定値である「１０１０１０１０」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ１を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１２が記憶する設定値である「１０００００１０」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ２を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１３が記憶する設定値である「０１０１０１０１」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ３を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１４が記憶する設定値である「１１１１１１１１」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ４を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１５が記憶する設定値である「１００１１００１」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ５を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１６が記憶する設定値である「０１１１０１１１」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ６を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１７が記憶する設定値である「０１１００１１０」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ７を記憶する。
また、フラグ記憶領域ＦＫＡは、アドレスＡＤ１８が記憶する設定値である「１１１１００００」が設定領域ＳＡに書き込まれたか否かを管理するフラグＦ８を記憶する。
【００９０】
図６では、フラグ記憶領域ＦＫＡが記憶する各フラグの状態は、「１」である。本実施形態では、フラグの状態が「１」（フラグの状態がオン）である場合、設定領域ＳＡへの設定値の書き込みを行っていないこと示す。また、フラグの状態が「０」（フラグの状態がオフ）である場合、設定領域ＳＡへの設定値の書き込みを行っていることを示す。
【００９１】
これらフラグは、書換用ファームウェアに、設定値データと共に付加されており、ファームウェア１５１を書き換える際に、フラグ記憶領域ＦＫＡに記憶される。したがって、これらフラグが書換用ファームウェアに付加される構成の場合、制御部１０は、書換前ファームウェアを書換用ファームウェアに書き換える際、記憶領域ＫＡに、ファームウェア領域ＦＡ、及び、付加設定値データ領域ＳＤＡとともに、フラグ記憶領域ＦＫＡも確保する。
【００９２】
図７は、第２実施形態の書き込み処理におけるプリンター１の動作を示すフローチャートである。
【００９３】
制御部１０は、付加設定値データ領域ＳＤＡに記憶された設定値の中から、設定領域ＳＡへの書き込みの対象となる１の設定値を特定する（ステップＳＣ１）。
【００９４】
制御部１０は、書換後ファームウェアを実行することにより、書換後ファームウェアが有する、アドレスを示す情報と設定値のビット数を示す情報とを参照することにより、設定領域ＳＡへの書き込みの対象となる１の設定値を、付加設定値データ領域ＳＤＡに記憶された設定値の中から特定する。
【００９５】
次いで、制御部１０は、ステップＳＣ１で特定した設定値に対応するフラグの状態が「１」であるか否かを判別する（ステップＳＣ２）。例えば、図６の場合、制御部１０は、ステップＳＣ１で特定した設定値がアドレスＡＤ１１の「１０１０１０１０」である場合、フラグＦ１の状態が「１」であるか否かを判別する。
【００９６】
制御部１０は、ステップＳＣ１で特定した設定値に対応するフラグの状態が「１」でない、すなわち、フラグの状態が「０」であると判別した場合（ステップＳＣ２：ＮＯ）、書き込み処理を終了するか否かを判別する（ステップＳＣ５）。
【００９７】
次いで、制御部１０は、書き込み処理を終了すると判別した場合（ステップＳＣ５：ＹＥＳ）、書き込み処理を終了する。制御部１０は、付加設定値データ領域ＳＤＡが記憶する設定値のすべてについて、設定領域ＳＡへの書き込みの対象となったと判別した場合、すなわち、フラグ記憶領域ＦＫＡが記憶するフラグのすべての状態が「０」である場合、書き込み処理を終了すると判別する。一方、制御部１０は、書き込み処理を終了しないと判別した場合（ステップＳＢ５：ＮＯ）、処理をステップＳＣ１に戻す。例えば、制御部１０は、設定領域ＳＡへの書き込みの対象となっていない設定値がある場合、すなわち、フラグ記憶領域ＦＫＡが記憶するフラグのすべての状態が「０」でない場合、書き込み処理を終了しないと判別する。
【００９８】
一方、制御部１０は、ステップＳＣ１で特定した設定値に対応するフラグの状態が「１」であると判別した場合（ステップＳＣ２：ＹＥＳ）、ステップＳＣ１で特定した設定値を、設定領域ＳＡにおいて対応するアドレスに書き込む（ステップＳＣ３）。
【００９９】
次いで、制御部１０は、設定領域ＳＡに設定値の書き込むと、書き込みの対象となった設定値に対応するフラグの状態を「０」にする（ステップＳＣ４）。例えば、図６の場合、制御部１０は、アドレスＡＤ１１の「１０１０１０１０」を示す印刷速度設定値を設定領域ＳＡに書き込むと、フラグＦ１の状態を「１」から「０」にする。
【０１００】
次いで、制御部１０は、書き込み処理を終了するか否かを判別する（ステップＳＣ５）。
【０１０１】
図８は、第２実施形態における書換後ファームウェアを記憶する記憶部１５の記憶領域ＫＡの一例を示す図である。図８の例に示す記憶領域ＫＡは、書き込み処理の実行後の記憶領域ＫＡである。すなわち、図８に示す設定領域ＳＡに記憶される設定値は、書換後ファームウェアの実行に供される設定値である。
【０１０２】
図８と図６とを比較して明らかな通り、制御部１０は、書き込み処理を実行することにより、書き込み用のファームウェアに付加された設定値のそれぞれを、設定領域ＳＡに書き込む。
【０１０３】
また、図８と図６とを比較して明らかな通り、制御部１０は、書き込み処理を実行することにより、フラグ記憶領域ＦＫＡに記憶されるフラグのすべてについて、フラグの状態を「０」にする。
【０１０４】
このように、再起動する際、付加設定値データ領域ＳＤＡに記憶された設定値を、設定領域ＳＡに書き込むため、記憶部１５が記憶するファームウェア１５１を書き換えることにより、書換後ファームウェアの実行に供される設定値を設定領域ＳＡに設定できる。つまり、制御部１０は、書換後ファームウェアの実行に供する設定値を設定に基づく動作を実行できる。
【０１０５】
また、第２実施形態において、制御部１０は、フラグ記憶領域ＦＫＡに記憶されたフラグの状態が「１」である場合に、設定領域ＳＡに、付加設定値データ領域ＳＤＡに記憶される設定値を書き込み、書き込み後、書き込みの対象となった設定値に対応するフラグの状態を「０」にする。そのため、制御部１０は、起動する際、フラグの状態が「０」である場合、フラグに対応する設定値の設定領域ＳＡへの書き込みを実行しないため、設定値のそれぞれが設定領域ＳＡへ書き込まれた後、プリンター１が起動する度に、再度、設定値のそれぞれが設定領域ＳＡに書き込まれることを防止できる。つまり、第１実施形態と同様の効果を奏することができる。
【０１０６】
以上、説明したように、制御部１０は、記憶部１５が記憶する書換前ファームウェアを、書換用ファームウェアに書き換える際に、付加設定値データ領域ＳＤＡに記憶された設定値を設定領域ＳＡに書き込んだ否かを管理するフラグを記憶部のフラグ記憶領域ＦＫＡ（第２特定領域）に記憶する。制御部１０は、起動する際、フラグ記憶領域ＦＫＡに記憶されたフラグの状態を判別し、フラグの状態が「１」（フラグがオン）の場合、付加設定値データ領域ＳＤＡに記憶された設定値を設定領域ＳＡに書き込み、書き込み後、フラグの状態を「０」（フラグがオフ）にし、フラグの状態「０」の場合、付加設定値データ領域ＳＤＡに記憶された設定値の設定領域ＳＡへの書き込みを実行しない。
【０１０７】
これにより、制御部１０は、フラグ記憶領域ＦＫＡに記憶されたフラグの状態が「１」の場合に、設定領域ＳＡに設定値を書き込み、書き込み後、フラグの状態を「０」にし、フラグの状態が「０」の場合に、設定領域ＳＡへの設定値の書き込みを実行しないため、設定値の設定領域ＳＡへの書き込み後、起動する度に、設定領域ＳＡに設定値が書き込まれることを防止できる。
【０１０８】
＜第３実施形態＞
次に、第３実施形態について説明する。
第３実施形態においてプリンター１の構成は、第１実施形態と同じである。そのため、プリンター１の構成については、詳細な説明を省略する。
【０１０９】
第３実施形態では、第２実施形態と比較して、書換用ファームウェアに付加される設定値がフラグを含む。また、第３実施形態では、第１実施形態及び第２実施形態と比較して、書き込み処理が異なる。
【０１１０】
図９は、第３実施形態における、書換後ファームウェアを記憶する記憶部１５の記憶領域ＫＡの一例を示す図である。図９の例に示す記憶領域ＫＡは、第３実施形態における書き込み処理の実行前の記憶領域ＫＡである。すなわち、図９に示す設定領域ＳＡに記憶される設定値は、書換前ファームウェアの実行に供される設定値である。
【０１１１】
図９の例では、設定領域ＳＡには、図３と同様の設定値が記憶される。
【０１１２】
また、図９の例では、付加設定値データ領域ＳＤＡは、アドレスＡＤ１１に「１０１０１０１０」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１２に「１０００００１０」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１３に「１１０１０１０１」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１４に「１１１１１１１１」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１５に「１００１１００１」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１６に「１１１１０１１１」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１７に「１１１００１１０」の８ビットの印刷速度設定値を記憶する。
また、付加設定値データ領域ＳＤＡは、アドレスＡＤ１８に「１１１１００００」の８ビットの印刷速度設定値を記憶する。
【０１１３】
第３実施形態では、書換用ファームウェアに付加される設定値は、付加設定値データ領域ＳＤＡに記憶される設定値のそれぞれについて、設定領域ＳＡに書き込んだか否かを管理するフラグを含む。
【０１１４】
本実施形態では、設定値の先頭のビットがフラグである場合を例示する。
すなわち、アドレスＡＤ１１の「１０１０１０１０」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１２の「１０００００１０」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１３の「１１０１０１０１」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１４の「１１１１１１１１」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１５の「１００１１００１」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１６の「１１１１０１１１」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１７の「１１１００１１０」のうち、先頭の「１」がフラグに相当する。
また、アドレスＡＤ１８の「１１１１００００」のうち、先頭の「１」がフラグに相当する。
【０１１５】
前述した通り、本実施形態では、フラグの状態が「１」である場合、設定領域ＳＡへの設定値の書き込みを行っていないこと示す。また、フラグの状態が「０」である場合、設定領域ＳＡへの設定値の書き込みを行っていることを示す。
【０１１６】
第３実施形態では、フラグを含む設定値が付加された書換用ファームウェアを、ファームウェア１５１を書き換えることで、記憶領域ＫＡに記憶する。
【０１１７】
図１０は、第３実施形態の書き込み処理におけるプリンター１の動作を示すフローチャートである。
【０１１８】
制御部１０は、付加設定値データ領域ＳＤＡに記憶された設定値の中から、設定領域ＳＡへの書き込みの対象となる１の設定値を特定する（ステップＳＤ１）。
【０１１９】
次いで、制御部１０は、ステップＳＤ１で特定した設定値が含むフラグの状態が「１」であるか否かを判別する（ステップＳＤ２）。例えば、図９の場合、制御部１０は、ステップＳＤ１で特定した設定値がアドレスＡＤ１１の「１０１０１０１０」である場合、先頭のフラグの状態が「１」であるか否かを判別する。
【０１２０】
制御部１０は、ステップＳＤ１で特定した設定値が含むフラグの状態が「１」でない、すなわち、フラグの状態が「０」であると判別した場合（ステップＳＤ２：ＮＯ）、書き込み処理を終了するか否かを判別する（ステップＳＤ５）。
【０１２１】
次いで、制御部１０は、書き込み処理を終了すると判別した場合（ステップＳＤ５：ＹＥＳ）、書き込み処理を終了する。制御部１０は、付加設定値データ領域ＳＤＡが記憶する設定値のすべてについて、設定領域ＳＡへの書き込みの対象となったと判別した場合、すなわち、付加設定値データ領域ＳＤＡが記憶する設定値が含むフラグについて、すべてのフラグの状態が「０」である場合、書き込み処理を終了すると判別する。一方、制御部１０は、書き込み処理を終了しないと判別した場合（ステップＳＤ５：ＮＯ）、処理をステップＳＤ１に戻す。例えば、制御部１０は、設定領域ＳＡへの書き込みの対象となっていない設定値がある場合、すなわち、フラグの状態が「０」でない場合、書き込み処理を終了しないと判別する。
【０１２２】
一方、制御部１０は、ステップＳＤ１で特定した設定値が含むフラグの状態が「１」であると判別した場合（ステップＳＤ２：ＹＥＳ）、ステップＳＤ１で特定した設定値を、設定領域ＳＡにおける対応するアドレスに書き込む（ステップＳＤ３）。
【０１２３】
次いで、制御部１０は、設定領域ＳＡに設定値の書き込むと、書き込みの対象となった設定値が含むフラグの状態を「０」にする（ステップＳＤ４）。例えば、図９の場合、制御部１０は、アドレスＡＤ１１の「１０１０１０１０」を示す印刷速度設定値を設定領域ＳＡに書き込むと、当該印刷速度設定が含むフラグの状態を「１」から「０」にする。つまり、この場合、図９の場合、制御部１０は、アドレスＡＤ１１の「１０１０１０１０」を「００１０１０１０」にする。
【０１２４】
次いで、制御部１０は、書き込み処理を終了するか否かを判別する（ステップＳＤ５）。
【０１２５】
図１１は、第３実施形態における書換後ファームウェアを記憶する記憶部１５の記憶領域ＫＡの一例を示す図である。図１１の例に示す記憶領域ＫＡは、書き込み処理の実行後の記憶領域ＫＡである。すなわち、図１１に示す設定領域ＳＡに記憶される設定値は、書換後ファームウェアの実行に供される設定値である。
【０１２６】
図１１と図９とを比較して明らかな通り、制御部１０は、書き込み処理を実行することにより、書換用ファームウェアに付加された設定値のそれぞれを、設定領域ＳＡに書き込む。
すなわち、制御部１０は、アドレスＡＤ１に「１０１０１０１０」を書き込むことにより、印刷速度設定値を「１１００１１００」から「１０１０１０１０」にする。
また、制御部１０は、アドレスＡＤ２に「１０００００１０」を書き込むことにより、搬送速度設定値を「１１００００１１」から「１０００００１０」にする。
また、制御部１０は、アドレスＡＤ３に「１１０１０１０１」を書き込むことにより、分割設定値を「００００１１１１」から「１１０１０１０１」にする。
また、制御部１０は、アドレスＡＤ４に「１１１１１１１１」を書き込むことにより、音設定値を「１１１１１１１１」から「１１１１１１１」にする。
また、制御部１０は、アドレスＡＤ５に「１００１１００１」を書き込むことにより、解像度設定値を「１００１１１１０」から「１００１１００１」にする。
また、制御部１０は、アドレスＡＤ６に「１１１１０１１１」を書き込むことにより、フォント設定値を「００００１０００」から「１１１１０１１１」にする。
また、制御部１０は、アドレスＡＤ７に「１１１００１１０」を書き込むことにより、幅設定値を「０１０００１１１」から「１１１００１１０」にする。
また、制御部１０は、アドレスＡＤ８に「１１１１００００」を書き込むことにより、チャンネル設定値を「００００００００」から「１１１１００００」にする。
【０１２７】
また、図１１と図９とを比較して明らかな通り、制御部１０は、書き込み処理を実行することにより、付加設定値データ領域ＳＤＡが記憶する設定値が含むフラグのすべてについて、フラグの状態を「０」にする。
すなわち、制御部１０は、アドレスＡＤ１１について、「１０１０１０１０」が含むフラグの状態を「０」にし、「００１０１０１０」にする。
また、制御部１０は、アドレスＡＤ１２について、「１０００００１０」が含むフラグの状態を「０」にし、「００００００１０」にする。
また、制御部１０は、アドレスＡＤ１３ついて、「１１０１０１０１」が含むフラグの状態を「０」にし、「０１１０１０１０」にする。
また、制御部１０は、アドレスＡＤ１４ついて、「１１１１１１１１」が含むフラグの状態を「０」にし、「０１１１１１１１」にする。
また、制御部１０は、アドレスＡＤ１５ついて、「１００１１００１」が含むフラグの状態を「０」にし、「０００１１００１」にする。
また、制御部１０は、アドレスＡＤ１６ついて、「１１１１０１１１」が含むフラグの状態を「０」にし、「０１１１０１１１」にする。
また、制御部１０は、アドレスＡＤ１７ついて、「１１１００１１０」が含むフラグの状態を「０」にし、「０１１００１１０」にする。
また、制御部１０は、アドレスＡＤ１８ついて、「１１１１００００」が含むフラグの状態を「０」にし、「０１１１００００」にする。
【０１２８】
このように、再起動する際、付加設定値データ領域ＳＤＡに記憶された設定値を、設定領域ＳＡに書き込むため、記憶部１５が記憶するファームウェア１５１を書き換えることにより、書換後ファームウェアの実行に供される設定値を設定領域ＳＡに設定できる。つまり、制御部１０は、書換後ファームウェアの実行に供する設定値を設定に基づく動作を実行できる。
【０１２９】
また、制御部１０は、付加設定値データ領域ＳＤＡに記憶された設定値が含むフラグの状態が「１」である場合に、設定領域ＳＡに、設定値を書き込み、書き込み後、書き込みの対象となった設定値が含むフラグの状態を「０」にする。そのため、制御部１０は、起動する際、設定値が含むフラグの状態が「０」である場合、当該フラグに対応する設定値の設定領域ＳＡへの書き込みを実行しないため、プリンター１が起動する度に、再度、設定値のそれぞれが設定領域ＳＡに書き込まれることを防止できる。つまり、第１実施形態、及び、第２実施形態と同様の効果を奏することができる。
【０１３０】
以上、説明したように、設定値は、付加設定値データ領域ＳＤＡに記憶された設定値を設定領域ＳＡに書き込んだか否かを管理するフラグを含む。制御部１０は、起動する際、付加設定値データ領域ＳＤＡに記憶された設定値に含まれるフラグの状態を判別し、フラグの状態が「１」の場合、付加設定値データ領域ＳＤＡに記憶された設定値を設定領域ＳＡに書き込む。制御部１０は、書き込み後、フラグの状態を「０」にし、フラグの状態が「０」の場合、付加設定値データ領域ＳＤＡに記憶された設定値の設定領域ＳＡへの書き込みを実行しない。
【０１３１】
これにより、制御部１０は、設定値に含まれるフラグの状態が「１」の場合に、設定領域ＳＡに設定値を書き込み、書き込み後、フラグの状態を「０」にし、フラグの状態が「０」の場合に、設定領域ＳＡへの設定値の書き込みを実行しないため、設定値の設定領域ＳＡへの書き込み後、起動する度に、設定領域ＳＡに設定値が書き込まれることを防止できる。
【０１３２】
なお、上述した各実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形及び応用が可能である。
【０１３３】
例えば、上述した実施形態では、ホストコンピューター１００からインターフェース部１４により書換用ファームウェアを受信する場合を例示した。しかしながら、書換用ファームウェアの受信の態様は、ホストコンピューター１００からの受信に限定されず、ＵＳＢメモリー等の記憶媒体を介して受信する構成でもよい。この場合、インターフェース部１４は、記憶媒体が接続可能な構成とされる。
【０１３４】
また、例えば、上述した実施形態では、印刷速度設定値、搬送速度設定値、分割設定値、音設定値、解像度設定値、フォント設定値、幅設定値、及び、チャンネル設定値のそれぞれについて、８ビットの設定値を例示した。しかしながら、８ビットの設定値に限定されず、１６ビットでも、さらにビット数の多い設定値でもよい。
【０１３５】
また、上述した実施形態では、印刷速度設定項目、搬送速度設定項目、分割設定項目、音設定項目、解像度設定項目、フォント設定項目、幅設定項目、及び、チャンネル設定項目を記憶する構成例示した。しかしながら、これら設定項目に限定されず、さらに多くの設定項目に対応する設定値を記憶する構成でもよい。
【０１３６】
また、上述した第１実施形態では、設定領域ＳＡに書き込んだ付加設定値データ領域ＳＤＡが記憶する設定値を、「００００００００」にする構成を例示した。しかしながら、設定領域ＳＡに書き込んだ当該設定値を消去する構成でもよい。この場合、アドレスＡＤ１１〜アドレスＡＤ１８には設定値が記憶されない。
【０１３７】
また、例えば、上述した実施形態において、プリンター１をインクジェット式のプリンターとして例示したが、これに限定されない。例えば、サーマルプリンターや、ドットインパクトプリンター、レーザープリンター等の他のプリンターでも本発明を適応できる。なお、プリンター１がインクジェット式のプリンターでない場合、強力クリーニングに係る設定項目（分割設定項目、及び、音設定項目）に対応する設定値を、記憶部１５が記憶しない構成となる。
【０１３８】
また、例えば、上述したプリンター１の制御方法（印刷装置の制御方法）が、プリンター１が備えるコンピューターを用いて実現される場合、本発明を、上記制御方法を実現するためにコンピューターが実行するプログラム、このプログラムを前記コンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、プリンター１が備える内部記憶装置であるＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ等の不揮発性記憶装置であってもよい。
【０１３９】
また、例えば、図２、図４、図７、及び、図１０の処理単位は、プリンター１の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。プリンター１の処理は、処理内容に応じて、されに多くの処理単位に分割してもよい。また、１つの処理単位がさらに多くの処理を含むように分割してもよい。
【０１４０】
また、図１に示した各機能部は機能的構成を示すものであって、具体的な実装形態は特に限定されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、プリンター１の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【符号の説明】
【０１４１】
１…プリンター（印刷装置）、１０…制御部、１１…印刷部、１２…入力部、１４…インターフェース部（通信部）、１５…記憶部、１００…ホストコンピューター、１１１…印刷ヘッド、１５１…ファームウェア、１５２…設定値データ、ＦＫＡ…フラグ記憶領域（第２特定領域）、ＳＤＡ…付加設定値データ領域（第１特定領域）、ＳＡ…設定領域。
【図１】
2018001702.tif 000003
【図２】
2018001702.tif 000004
【図３】
2018001702.tif 000005
【図４】
2018001702.tif 000006
【図５】
2018001702.tif 000007
【図６】
2018001702.tif 000008
【図７】
2018001702.tif 000009
【図８】
2018001702.tif 000010
【図９】
2018001702.tif 000011
【図１０】
2018001702.tif 000012
【図１１】
2018001702.tif 000013