(57)【要約】【課題】電子機器へのプログラム書き込みの確実性を向上可能なプログラム書込装置、電子機器、プログラム書込方法およびそのプログラムを提供する。【解決手段】ＰＣ２は、電子機器としての印刷装置１に旧プログラムが存在するか否かを判定するプログラム判定部２１０と、印刷装置１に旧プログラムが存在すると判定された場合、印刷装置１を初期化する初期化制御部２２０と、印刷装置１の初期化完了後、印刷装置１に新プログラムを書き込む書き込み制御部２６０と、を備える。【選択図】図３
2018169784.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に旧プログラムが存在するか否かを判定するプログラム判定部と、
前記電子機器に前記旧プログラムが存在すると判定された場合、前記電子機器を初期化する初期化制御部と、
前記電子機器の初期化完了後、前記電子機器に新プログラムを書き込む書き込み制御部と、を備えることを特徴とするプログラム書込装置。
【請求項２】
前記電子機器のハードウェア構成を判定するハードウェア判定部と、
記憶領域に存在する複数の前記新プログラム中から、前記電子機器のハードウェア構成に対応する１以上の前記新プログラムを抽出するプログラム抽出部と、
前記プログラム抽出部により抽出された１以上の前記新プログラムの中から、書き込み対象となる新プログラムを選択するための選択画面を表示する表示制御部と、を備え、
前記書き込み制御部は、前記選択画面にて選択された前記新プログラムを前記電子機器に書き込むことを特徴とする請求項１に記載のプログラム書込装置。
【請求項３】
前記書き込み制御部は、前記新プログラムの書き込み前に、当該新プログラムのアップデートデータが存在するか否かを判定し、前記アップデートデータが存在すると判定した場合、前記アップデートデータにより前記新プログラムをアップデートして、前記電子機器に書き込むことを特徴とする請求項１または２に記載のプログラム書込装置。
【請求項４】
前記書き込み制御部は、前記アップデートデータが存在すると判定した場合、前記電子機器のハードウェア構成に基づき、アップデート後の新プログラムを前記電子機器に書き込み可能か否かを判定し、書き込み可能と判定した場合、アップデート後の新プログラムを、前記電子機器に書き込むことを特徴とする請求項３に記載のプログラム書込装置。
【請求項５】
前記初期化制御部による初期化前に、前記電子機器に登録されている登録データを読み出す登録データ読み出し部と、
読み出した前記登録データが記憶されるデータ記憶部と、を備えることを特徴とする請求項１ないし４のいずれか１項に記載のプログラム書込装置。
【請求項６】
プログラム書込装置と通信可能な電子機器であって、
前記プログラム書込装置との通信中、自装置のハードウェア構成を示す固定信号を出力する固定信号出力部と、
前記プログラム書込装置の初期化制御に基づき、自装置を初期化する初期化実行部と、
自装置の初期化完了後、前記プログラム書込装置により前記固定信号に基づく新プログラムが書き込まれるプログラム記憶部と、を備えることを特徴とする電子機器。
【請求項７】
プログラム書込装置と、電子機器と、を含むプログラム書込システムであって、
前記プログラム書込装置は、
前記電子機器に旧プログラムが存在するか否かを判定するプログラム判定部と、
前記電子機器に前記旧プログラムが存在すると判定された場合、前記電子機器を初期化する初期化制御部と、
前記電子機器の初期化完了後、前記電子機器に新プログラムを書き込む書き込み制御部と、を備えることを特徴とするプログラム書込システム。
【請求項８】
プログラム書込装置が、
電子機器に旧プログラムが存在するか否かを判定するステップと、
前記電子機器に前記旧プログラムが存在すると判定された場合、前記電子機器を初期化するステップと、
前記電子機器の初期化完了後、前記電子機器に新プログラムを書き込むステップと、を実行することを特徴とするプログラム書込方法。
【請求項９】
プログラム書込装置に、請求項８に記載のプログラム書込方法における各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器にプログラムを書き込むプログラム書込装置、電子機器、プログラム書込方法およびそのプログラムに関する。
【背景技術】
【０００２】
従来、この種の技術として、特許文献１が知られている。特許文献１には、ホストコンピューターが、印刷装置に対してファームウェアモジュールの追加、置換、削除を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２２５８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に記載のホストコンピューターは、ファームウェアモジュールの置換を行う場合、印刷装置に対し、置換命令と、削除モジュールの識別情報と、置換モジュールと、を送信する。ところが、この方法では、操作ミス、または何らかの不具合により削除モジュールの一部が印刷装置内に残ってしまい、置換モジュールの書き込みが正常に実行できないおそれがある。
一方、印刷装置等、電子機器の製造業者は、ユーザーの用途に対応する機能を備えた、すなわち、用途ごとにそれぞれ異なるプログラムを実装した、多種の製品を製造するのが一般的である。そのため、製造業者は多種の製品をラインアップすることとなり、個々の電子機器の製造コストが増大するという課題があった。
他方、電子機器を使用するユーザーは、使用する用途ごとに異なる機能を備えた、複数種類の電子機器を購入しなければならないという課題があった。
【０００５】
本発明は、上記の問題点に鑑み、電子機器へのプログラム書き込みの確実性を向上可能なプログラム書込装置、電子機器、プログラム書込方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のプログラム書込装置は、電子機器に旧プログラムが存在するか否かを判定するプログラム判定部と、電子機器に旧プログラムが存在すると判定された場合、電子機器を初期化する初期化制御部と、電子機器の初期化完了後、電子機器に新プログラムを書き込む書き込み制御部と、を備えることを特徴とする。
【０００７】
本発明のプログラム書込システムは、プログラム書込装置と、電子機器と、を含むプログラム書込システムであって、プログラム書込装置は、電子機器に旧プログラムが存在するか否かを判定するプログラム判定部と、電子機器に旧プログラムが存在すると判定された場合、電子機器を初期化する初期化制御部と、電子機器の初期化完了後、電子機器に新プログラムを書き込む書き込み制御部と、を備えることを特徴とする。
【０００８】
本発明のプログラム書込方法は、プログラム書込装置が、電子機器に旧プログラムが存在するか否かを判定するステップと、電子機器に旧プログラムが存在すると判定された場合、電子機器を初期化するステップと、電子機器の初期化完了後、電子機器に新プログラムを書き込むステップと、を実行することを特徴とする。
【０００９】
本発明のプログラムは、プログラム書込装置に、上記のプログラム書込方法における各ステップを実行させることを特徴とする。
【００１０】
本発明の構成によれば、電子機器に旧プログラムが存在する場合、電子機器を初期化するため、旧プログラムが存在しない状態で新プログラムを書き込むことができる。これにより、旧プログラムの一部が残った状態で書き込みを行うことに伴う不具合を回避でき、新プログラムを書き込む際の確実性を向上できる。また、新プログラムは、旧プログラムとの整合性を考慮する必要がないため、開発が容易である。さらに、電子機器側は、プログラム書き換え用としてのネットワーク通信機能が不要であるため、装置構成の簡素化および低廉化を図ることができる。
また、電子機器のプログラムを書き換え可能であるため、電子機器の製造業者は、多種の製品をラインアップする必要がなくなり、個々の電子機器の製造コストを低減することができる。他方、電子機器を使用するユーザーは、使用する用途ごとに異なる機能を備えた、複数種類の電子機器を購入する必要がなくなるため、電子機購入に係る負担を抑えることができる。
【００１１】
上記のプログラム書込装置において、電子機器のハードウェア構成を判定するハードウェア判定部と、記憶領域に存在する複数の新プログラム中から、電子機器のハードウェア構成に対応する１以上の新プログラムを抽出するプログラム抽出部と、プログラム抽出部により抽出された１以上の新プログラムの中から、書き込み対象となる新プログラムを選択するための選択画面を表示する表示制御部と、を備え、書き込み制御部は、選択画面にて選択された新プログラムを電子機器に書き込むことを特徴とする。
【００１２】
本発明の構成によれば、複数の新プログラムの中から、電子機器のハードウェア構成に適した１以上の新プログラムを抽出し、抽出した１以上の新プログラムを選択肢とした選択画面を表示するため、ユーザーは、書き込み対象となる新プログラムを容易に選択することができる。
【００１３】
上記のプログラム書込装置において、書き込み制御部は、新プログラムの書き込み前に、当該新プログラムのアップデートデータが存在するか否かを判定し、アップデートデータが存在すると判定した場合、アップデートデータにより新プログラムをアップデートして、電子機器に書き込むことを特徴とする。
【００１４】
本発明の構成によれば、新プログラムのアップデートデータが存在する場合、アップデート後の新プログラムを電子機器に書き込むため、新プログラムを書き込んだ後にアップデートを行う手間を軽減できる。
【００１５】
上記のプログラム書込装置において、書き込み制御部は、アップデートデータが存在すると判定した場合、電子機器のハードウェア構成に基づき、アップデート後の新プログラムを電子機器に書き込み可能か否かを判定し、書き込み可能と判定した場合、アップデート後の新プログラムを、電子機器に書き込むことを特徴とする。
【００１６】
本発明の構成によれば、アップデート後の新プログラムを電子機器に書き込み可能である場合のみ書き込みを行うため、不要な書き込み処理を省略できると共に、無理な書き込みによる不具合の発生を防止できる。
【００１７】
上記のプログラム書込装置において、初期化制御部による初期化前に、電子機器に登録されている登録データを読み出す登録データ読み出し部と、読み出した登録データが記憶されるデータ記憶部と、を備えることを特徴とする。
【００１８】
本発明の構成によれば、電子機器に登録されている登録データを読み出し、プログラム書込装置で利用することができる。
なお、データ記憶部に記憶した登録データを、再度電子機器に書き込み可能としてもよい。
【００１９】
本発明の電子機器は、プログラム書込装置と通信可能な電子機器であって、プログラム書込装置との通信中、自装置のハードウェア構成を示す固定信号を出力する固定信号出力部と、プログラム書込装置の初期化制御に基づき、自装置を初期化する初期化実行部と、自装置の初期化完了後、プログラム書込装置により固定信号に基づく新プログラムが書き込まれるプログラム記憶部と、を備えることを特徴とする。
【００２０】
本発明の構成によれば、電子機器は、自装置のハードウェア構成を示す固定信号を出力するため、電子機器のソフトウェアに不具合が生じた場合でも、プログラム書込装置側で、電子機器のハードウェア構成を判定することができる。また、これにより、電子機器は、自装置のハードウェア構成に対応した新プログラムを取得することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るプログラム書込システムのハードウェア構成を示すブロック図である。
【図２】ダウンロードされたプログラムの一例を示す図である。
【図３】プログラム書込システムの機能構成を示すブロック図である。
【図４】ＰＣによるプログラム書き込み処理の流れを示すフローチャートである。
【図５】初期化操作画面の表示例を示す図である。
【図６】書き込み操作画面の表示例を示す図である。
【発明を実施するための形態】
【００２２】
以下、添付の図面を参照して、本発明のプログラム書込装置、電子機器、プログラム書込方法およびそのプログラムについて説明する。本実施形態では、「プログラム書込装置」として、パーソナルコンピューター（以下、「ＰＣ」と表記する）２を採用した場合を例示する。
【００２３】
図１は、本発明の一実施形態に係るプログラム書込システムＳＹのハードウェア構成を示すブロック図である。プログラム書込システムＳＹは、本願における電子機器としての印刷装置１と、当該印刷装置１にプログラムを書き込むＰＣ２と、を含む。印刷装置１とＰＣ２は、無線通信４０を介して接続される。また、ＰＣ２は、インターネット等のネットワークＮＷを介して、プログラムサーバー３と接続される。プログラムサーバー３は、ＰＣ２にプログラムを提供するためのサーバーである。
【００２４】
なお、印刷装置１とＰＣ２は、無線通信４０ではなく、有線接続されてもよいし、ネットワーク接続されてもよい。また、ＰＣ２とプログラムサーバー３は、ネットワーク接続ではなく、１対１で接続されてもよい。
【００２５】
印刷装置１は、ハードウェア構成として、ＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、フラッシュメモリー１３、無線通信モジュール１４、信号出力用ＩＣ（Integrated Circuit）１５および印刷機構１６を備える。印刷装置１の一例として、印刷媒体としての巻回されたテープ状部材に印刷を行い、テープ片にカットするテープ印刷装置を挙げることができる。後述する、本実施形態における印刷装置１のハードウェア構成（装置構成）の該当分野は、テープ印刷装置の用途分野に基づくものである。
【００２６】
ＣＰＵ１１は、印刷装置１内の各部と信号の入出力を行い、各種演算処理を行う。ＲＡＭ１２は、揮発性の記憶領域であり、ＣＰＵ１１のワークエリアとして用いられる。フラッシュメモリー１３は、書き換え可能且つ不揮発性の記憶領域であり、印刷装置１のファームウェアや登録データを記憶する。本実施形態では、このフラッシュメモリー１３の書き換えを行うことで、旧プログラムから新プログラムへのプログラム置換を行う。なお、旧プログラムとは、印刷装置１に既に書き込まれているプログラムであり、新プログラムとは、印刷装置１に新たに書き込まれるプログラムを指す。
【００２７】
無線通信モジュール１４は、無線通信４０を介してＰＣ２と通信するための通信モジュールである。信号出力用ＩＣ１５は、印刷装置１のハードウェア構成を示す固定信号を出力する集積回路である。固定信号は、無線通信モジュール１４を介してＰＣ２に出力される。また、固定信号は、ハードウェア構成を一義的に特定可能な信号であり、プログラム置換によって変化するものではない。つまり、印刷装置１の工場出荷時後、固定信号の書き換えはできない。本実施形態では、固定信号により、印刷装置１のハードウェア構成（装置構成）が、「Home（家庭用）」、「Office（業務用）」、「Industry（産業用）」、「Peripheral（周辺機器）」のいずれに該当するかを示すものとする。
【００２８】
印刷機構１６は、印刷データに基づき、用紙等の印刷媒体に印刷を行う。なお、印刷データは、自装置（印刷装置１）で生成されてもよいし、外部装置（ＰＣ２などのホストコンピューター）で生成されてもよい。後者の場合、印刷装置１は、外部装置から印刷データを取得して印刷を行う。また、印刷機構１６は、インクジェット方式、電子写真方式、熱転写方式など、印刷方式を問わない。
【００２９】
一方、ＰＣ２は、ハードウェア構成として、無線通信モジュール２１、ＣＰＵ２２、ＲＡＭ２３、ＲＯＭ（Read Only Memory）２４、ネットワーク通信モジュール２５、ＨＤＤ（Hard disk drive）２６、キーボード２７、マウス２８およびディスプレー２９を備える。
【００３０】
無線通信モジュール２１は、無線通信４０を介して印刷装置１と通信する。ＣＰＵ２２は、ＰＣ２内の各部と信号の入出力を行い、各種演算処理を行う。ＲＡＭ２３は、ＣＰＵ２２のワークエリアとして用いられる。ＲＯＭ２４は、各種制御プログラムおよび制御データを記憶する。ネットワーク通信モジュール２５は、ネットワークＮＷを介してプログラムサーバー３と通信する。
【００３１】
ＨＤＤ２６は、補助記憶装置であり、ＯＳ（Operating System）４１や専用アプリケーション４２等を記憶する。専用アプリケーション４２は、後述するプログラム書き込み処理を実現するためのアプリケーションである。また、ＨＤＤ２６は、ダウンロード領域４３を有する。ダウンロード領域４３は、プログラムサーバー３からダウンロードしたプログラムを記憶する。本実施形態では、図２に示す１０個のプログラム（プログラムＩＤ「1」〜「10」）が、ダウンロード領域４３に記憶されているものとする。なお、ダウンロード領域４３は、「記憶領域」の一例である。
【００３２】
図２では、例えば、プログラムＩＤ「1」のプログラムは、ハードウェア構成が「Home」の印刷装置１に対応可能なファームウェア（ファームウェア名「AAA.program」）であり、印刷装置１をプリンター「AAA」として動作させるものであることを意味する。また、例えば、プログラムＩＤ「5」のプログラムは、ハードウェア構成が「Office」の印刷装置１に対応可能なファームウェア（ファームウェア名「EEE.program」）であり、印刷装置１をプリンター「EEE」として動作させるものであることを意味する。
【００３３】
図１の説明に戻る。キーボード２７およびマウス２８は、ユーザーが各種操作を行うための操作手段として用いられる。また、ディスプレー２９は、初期化操作画面Ｄ１（図４参照）や書き込み操作画面Ｄ２（図５参照）など、各種情報を表示する。
【００３４】
次に、図３を参照し、プログラム書込システムＳＹの機能構成を説明する。
印刷装置１は、機能構成として、初期化実行部１１０、固定信号出力部１２０およびプログラム記憶部１３０を備える。
【００３５】
初期化実行部１１０は、ＰＣ２の初期化制御に基づき、自装置（印刷装置１）を初期化する。この初期化により、フラッシュメモリー１３内のプログラムおよびデータが消去される。
【００３６】
固定信号出力部１２０は、ＰＣ２との通信中、信号出力用ＩＣ１５により自装置のハードウェア構成を示す固定信号を繰り返し出力する。
【００３７】
プログラム記憶部１３０は、ＰＣ２から書き込まれたプログラムをフラッシュメモリー１３に記憶する。プログラム記憶部１３０には、初期化実行部１１０により印刷装置１の初期化が完了された後、ＰＣ２により固定信号に基づくプログラム（印刷装置１のハードウェア構成に対応したプログラム）が書き込まれる。
【００３８】
一方、ＰＣ２は、機能構成として、プログラム判定部２１０、初期化制御部２２０、ハードウェア判定部２３０、プログラム抽出部２４０、表示制御部２５０および書き込み制御部２６０を備える。なお、これらの機能は、いずれも専用アプリケーション４２によって実現される。
【００３９】
プログラム判定部２１０は、印刷装置１のフラッシュメモリー１３に、旧プログラムが存在するか否か（既にプログラムが書き込まれているか否か）を判定する。例えば、ＰＣ２がフラッシュメモリー１３の状態を問い合わせる問い合わせ信号を印刷装置１に送信し、プログラム判定部２１０が、その応答信号に基づいて、旧プログラムが存在するか否かを判定すればよい。
【００４０】
初期化制御部２２０は、プログラム判定部２１０により、印刷装置１に旧プログラムが存在すると判定された場合、印刷装置１を初期化する（初期化実行部１１０に初期化を実行させる）。なお、印刷装置１を初期化するための初期化プログラムは、専用アプリケーション４２に含まれる。本実施形態では、プログラム判定部２１０により、印刷装置１に旧プログラムが存在すると判定された場合、初期化操作画面Ｄ１（図４参照）を表示し、当該初期化操作画面Ｄ１にて、ユーザーにより初期化指示操作が行われた場合、初期化を行う。
【００４１】
ハードウェア判定部２３０は、固定信号出力部１２０により出力された固定信号に基づき、印刷装置１のハードウェア構成を判定する。
【００４２】
プログラム抽出部２４０は、ハードウェア判定部２３０の判定結果に基づき、ダウンロード領域４３に存在する複数の新プログラム中から印刷装置のハードウェア構成に対応する１以上の新プログラムを抽出する。例えば、印刷装置１のハードウェア構成が「Home」と判定された場合、図２に示す１０個のプログラムの中から、ハードウェア構成「Home」に対応するプログラムＩＤ「1」〜「4」のプログラムを抽出する。
【００４３】
表示制御部２５０は、プログラム抽出部２４０により抽出された１以上の新プログラムの中から、書き込み対象となる新プログラムをユーザーが選択するための選択画面を表示する。本実施形態の表示制御部２５０は、選択画面として、書き込み操作画面Ｄ２（図５参照）を表示する。書き込み操作画面Ｄ２では、プログラム抽出部２４０により抽出された１以上の新プログラムに対応する１以上の選択肢をプリンター選択欄５６に表示する。
【００４４】
書き込み制御部２６０は、初期化制御部２２０による印刷装置１の初期化完了後、書き込み操作画面Ｄ２にて選択された新プログラムを印刷装置１に書き込む。
【００４５】
次に、図４および図５を参照し、初期化操作画面Ｄ１および書き込み操作画面Ｄ２について説明する。図４に示す初期化操作画面Ｄ１は、ＰＣ２が印刷装置１との通信確立後、印刷装置１に旧プログラムが存在すると判定した場合に表示される画面である。
【００４６】
初期化操作画面Ｄ１は、印刷装置情報表示領域５１と、デリートボタン５２と、閉じるボタン５３と、を表示する。印刷装置情報表示領域５１には、印刷装置１のハードウェア構成と、動作プリンター名（印刷装置１がどのプリンターとして動作しているかを示す情報）と、ファームウェア名と、が表示される。なお、ハードウェア構成は、印刷装置１から出力されている固定信号に基づいて判定した情報であり、動作プリンター名およびファームウェア名は、ＰＣ２が印刷装置１に問い合わせを行うことにより取得した情報である。初期化操作画面Ｄ１において、デリートボタン５２が押下されると、ＰＣ２は、印刷装置１の初期化を開始する。また、デリートボタン５２が押下されることなく閉じるボタン５３が押下されると、印刷装置１の初期化を行うことなく、初期化操作画面Ｄ１を非表示にする。
【００４７】
一方、図５に示す書き込み操作画面Ｄ２は、ＰＣ２が印刷装置１との通信確立後、印刷装置１に旧プログラムが存在しないと判定した場合、または印刷装置１の初期化完了後に表示される画面である。
【００４８】
書き込み操作画面Ｄ２は、ハードウェア表示欄５５と、プリンター選択欄５６と、ファームウェア表示欄５７と、ＯＫボタン５８と、閉じるボタン５９と、を表示する。ハードウェア表示欄５５は、ハードウェア判定部２３０により判定された印刷装置１のハードウェア構成を示すハードウェア名を表示する。つまり、「Home」、「Office」、「Industry」、「Peripheral」のいずれかを表示する。
【００４９】
プリンター選択欄５６は、プログラム抽出部２４０により抽出された１以上の新プログラムに対応する１以上の選択肢を表示する。例えば、ハードウェア表示欄５５に「Home」と表示されている場合、動作プリンター名「AAA」、「BBB」、「CCC」、「DDD」を選択肢として表示する（図２参照）。また、ユーザーは、表示されたこれらの選択肢の中から、書き込み対象となる新プログラムを選択する。
【００５０】
ファームウェア表示欄５７は、プリンター選択欄５６で選択された動作プリンターに対応するファームウェア名を表示する。例えば、プリンター選択欄５６でプリンター「AAA」が選択された場合、ファームウェア名「AAA.program」を表示する。書き込み操作画面Ｄ２において、ＯＫボタン５８が押下されると、ＰＣ２は、印刷装置１へのプログラムの書き込みを開始する。また、プリンター選択欄５６でＯＫボタン５２が押下されることなく閉じるボタン５９が押下されると、印刷装置１へのプログラムの書き込みを行うことなく、書き込み操作画面Ｄ２を非表示にする。
【００５１】
次に、図６のフローチャートを参照し、ＰＣ２によるプログラム書き込み処理の流れを説明する。なお、ＰＣ２のダウンロード領域４３には、プログラムサーバー３から既にプログラムがダウンロードされているものとする。
【００５２】
ＰＣ２は、印刷装置１と接続されると（Ｓ０１：Ｙｅｓ）、印刷装置１内に旧プログラムが存在するか否かを判定する（Ｓ０２）。旧プログラムが存在すると判定した場合は（Ｓ０２：Ｙｅｓ）、初期化操作画面Ｄ１を表示する（Ｓ０３）。初期化操作画面Ｄ１において初期化が指示された場合（デリートボタン５２が押下された場合）は（Ｓ０４：Ｙｅｓ）、印刷装置１を初期化し（Ｓ０５）、書き込み操作画面Ｄ２を表示する（Ｓ０６）。また、初期化操作画面Ｄ１において初期化が指示されない場合は（Ｓ０４：Ｎｏ）、プログラム書き込み処理を終了する。
【００５３】
一方、ＰＣ２は、印刷装置１内に旧プログラムが存在しないと判定した場合（Ｓ０２：Ｎｏ）、初期化操作画面Ｄ１の表示および印刷装置１の初期化を行うことなく、書き込み操作画面Ｄ２を表示する（Ｓ０６）。また、ＰＣ２は、印刷装置１から出力されている固定信号に基づいてハードウェア構成を判定し、ダウンロード領域４３に、印刷装置１のハードウェア構成に該当するプログラムがあるか否かを判定する（Ｓ０７）。印刷装置１のハードウェア構成に該当するプログラムがあると判定した場合は（Ｓ０７：Ｙｅｓ）、書き込み操作画面Ｄ２のハードウェア表示欄５５にハードウェア名を表示し（Ｓ０８）、ダウンロード領域４３に記憶されているプログラムの中から、印刷装置１のハードウェア構成に対応するプログラムを抽出する（Ｓ０９）。なお、Ｓ０８またはＳ０９の後に、Ｓ０６を実行してもよい。例えば、Ｓ０９の後にＳ０６を実行する場合は、ハードウェア表示欄５５にハードウェア名が表示され、且つプリンター選択欄５６が選択可能状態となった書き込み操作画面Ｄ２を表示する。
【００５４】
その後、書き込み操作画面Ｄ２のプリンター選択欄５６において、プログラム（動作プリンター名）が選択されると（Ｓ１０：Ｙｅｓ）、そのプログラム（選択された動作プリンター名に対応するファームウェア）を印刷装置１に書き込み（Ｓ１１）、プログラム書き込み処理を終了する。また、ダウンロード領域４３に、印刷装置１のハードウェア構成に該当するプログラムがないと判定した場合（Ｓ０７：Ｎｏ）、またはプリンター選択欄５６においてプログラムが選択されなかった場合（Ｓ１０：Ｎｏ）、プログラムの書き込みを行うことなく、プログラム書き込み処理を終了する。
【００５５】
以上説明したとおり、本実施形態に係るプログラム書込システムＳＹによれば、ＰＣ２により電子機器としての印刷装置１のファームウェアを書き換え可能であるため、印刷装置１の機能の入れ替えを容易に行うことができる。これにより、製造業者は、電子機器の製品種類を削減でき、ひいては個々の電子機器の製造コストを低減することができる。また、これにより、ユーザーは、１台の電子機器で種々の機能を使用可能となるため、複数種類の電子機器を購入する必要がない。
【００５６】
また、ＰＣ２は、印刷装置１に旧プログラムが存在すると判定した場合、印刷装置１を初期化するため、旧プログラムが存在しない状態で印刷装置１に新プログラムを書き込むことができる。これにより、旧プログラムの一部が残った状態で書き込みを行うことに伴う不具合を回避でき、新プログラムを書き込む際の確実性を向上できる。また、新プログラムは、旧プログラムとの整合性を考慮する必要がないため、開発が容易である。
【００５７】
また、ＰＣ２から印刷装置１にプログラムを書き込む構成であるため、印刷装置１側は、プログラム書き換え用のネットワーク通信機能が不要であると共に、書き換えプログラムを記憶しておく必要がないため、装置構成の簡素化および低廉化を図ることができる。また、ネットワーク接続の必要がないため、ネットワーク接続可能な環境か否かにかかわらず、印刷装置１のプログラム書き換えを行うことができる。
【００５８】
また、ＰＣ２は、ダウンロード領域４３内に存在する複数の新プログラムの中から、印刷装置１のハードウェア構成に適した１以上の新プログラムを抽出し、抽出した１以上の新プログラムをプリンター選択欄５６の選択肢として表示するため、ユーザーは、書き込み対象となる新プログラムを容易に選択することができる。
【００５９】
また、印刷装置１は、ＰＣ２との通信中、自装置のハードウェア構成を示す固定信号を繰り返し出力する構成であるため、仮に印刷装置１のソフトウェアに不具合が生じた場合でも、ＰＣ２側で印刷装置１のハードウェア構成を正確に判定することができる。また、これにより、ＰＣ２は、印刷装置１のハードウェア構成に適した新プログラムを書き込むことができる。
【００６０】
なお、上記の実施形態に限らず、以下の変形例を採用可能である。
［変形例１］
ＰＣ２は、書き込み制御部２６０により、新プログラムの書き込み前に、当該新プログラムのアップデートデータが存在するか否かを判定し、アップデートデータが存在すると判定した場合、アップデートデータにより新プログラムをアップデートして、印刷装置１に書き込む構成としてもよい。この構成によれば、新プログラムのアップデートデータが存在する場合、アップデート後の新プログラムを印刷装置１に書き込むため、新プログラムを書き込んだ後に印刷装置１のプログラムアップデートを行う手間を軽減できる。なお、アップデートデータの存在の有無は、ダウンロード領域４３、プログラムサーバー３、プログラムサーバー３以外の外部装置、のうち少なくとも１つを対象として判定することが考えられる。
【００６１】
［変形例２］
ＰＣ２は、書き込み制御部２６０により、新プログラムのアップデートデータが存在すると判定した場合、印刷装置１のハードウェア構成に基づき、アップデート後の新プログラムを印刷装置１に書き込み可能か否かを判定し、書き込み可能と判定した場合に、アップデート後の新プログラムを、印刷装置１に書き込む構成としてもよい。例えば、印刷装置１のフラッシュメモリー１３の記憶容量が、アップデート後の新プログラムを記憶可能であるか否かを判定し、記憶可能であると判定した場合に書き込みを行うことで、アップデート後の新プログラムを書き込んだときに、データ量がフラッシュメモリー１３の記憶容量をオーバーしてしまうといった不具合を防止できる。
また、例えば印刷装置１のハードウェア構成が、アップデートデータに対応可能か否かを判定し、対応可能でない場合はアップデート後の新プログラムの書き込みを行わないことで、不要な書き込み処理を省略できる。なお、この場合、アップデートを行っていない新プログラム（アップデートデータを含まない新プログラム）の書き込みが可能であるか否かを判定し、可能である場合は、新プログラムのみの書き込みを行ってもよい。
【００６２】
［変形例３］
ＰＣ２の機能構成（図３参照）に、初期化制御部２２０による初期化前に、印刷装置１（フラッシュメモリー１３）に登録されている登録データを読み出す登録データ読み出し部（図示省略）と、読み出した登録データが記憶されるデータ記憶部（図示省略）と、を追加してもよい。登録データとしては、記号やイラストなどの登録画像、文字列、印刷フォームなどが考えられる。この構成によれば、印刷装置１に登録されている登録データを読み出し、ＰＣ２で利用することができる。
また、さらなる変形例として、データ記憶部に記憶した登録データを、再度印刷装置１に書き込み可能としてもよい。例えば、動作プリンター「AAA」用のプログラムから他の動作プリンター用のプログラムへの入れ替えを行う際に、「AAA」用の登録データを読み出して記憶しておく。後に、動作プリンター「AAA」用のプログラムに再度入れ替えを行う際、データ記憶部内における「AAA」用の登録データの有無を判定し、「AAA」用の登録データが存在する場合、当該登録データを動作プリンター「AAA」用のプログラムと共に書き込む構成としてもよい。
【００６３】
［変形例４］
プログラム抽出部２４０により、ダウンロード領域４３、プログラムサーバー３、プログラムサーバー３以外の外部装置、のうち少なくとも１つに存在する複数の新プログラム中から新プログラムを抽出してもよい。つまり、ダウンロード領域４３、プログラムサーバー３、プログラムサーバー３以外の外部装置、のうち少なくとも１つを「記憶領域」としてもよい。
【００６４】
［変形例５］
本実施形態を、印刷装置１以外の電子機器へのプログラム書き込みに適用してもよい。また、ＰＣ２以外の情報処理装置（タッチセンサー付きディスプレーを備えたタブレット端末など）により、プログラムの書き込みを行ってもよい。
【００６５】
［変形例６］
印刷装置１のハードウェア構成として、表示手段や操作手段を設けてもよい。この場合、様々なプログラムに対応可能とするため、表示手段や操作手段をタッチセンサー付きディスプレーで実現してもよい。
【００６６】
［変形例７］
ＰＣ２により、印刷装置１をどのプリンターとして動作させるかを変更するためのプログラムではなく、機能追加用のプログラムを書き込んでもよい。例えば、言語対応プログラム、印刷機能（用紙切断機能を含む）プログラム、編集機能(文字フォント変更機能を含む)プログラムなどが考えられる。
【００６７】
［変形例８］
図６に示したフローチャートにおいて、Ｓ０３およびＳ０４を省略してもよい。すなわち、ＰＣ２が、印刷装置１に旧プログラムが存在すると判定した場合、ユーザーの指示を必要とすることなく印刷装置１の初期化を行ってもよい。
また、Ｓ０９で抽出したプログラムが１つのみの場合、Ｓ１０を省略してもよい。すなわち、ＰＣ２が、印刷装置１のハードウェア構成に適した新プログラムを特定できた場合、ユーザーの指示を必要とすることなく新プログラムの書き込みを行ってもよい。
また、Ｓ０９で抽出されたプログラムに、ユーザーが所望するプログラムが含まれていない場合、ユーザーが書き込み対象となるプログラムを検索・指定可能としてもよい。この場合、ＰＣ２は、ユーザーによって指定されたプログラムを印刷装置１に書き込む。
また、Ｓ０７の判定を、Ｓ０３の前に行ってもよい。この場合、印刷装置１のハードウェア構成に該当するプログラムがダウンロード領域４３にあるか否かを示す情報を、初期化操作画面Ｄ１に表示した上で、初期化指示を行うか否かの判断をユーザーに委ねればよい。
【００６８】
［変形例９］
上記の実施形態および変形例に示したＰＣ２のハードウェア構成を用いて、図３に示したＰＣ２の各機能部を実現するプログラムを提供してもよい。また、そのプログラムを各種記録媒体（ＣＤ−ＲＯＭ、フラッシュメモリーカード等）に格納して提供してもよい。すなわちコンピューターを、ＰＣ２の各機能部として機能させるためのプログラム、およびそれを記録した記録媒体も、本発明の権利範囲に含まれる。また、ＰＣ２の各機能部の少なくとも一部をクラウドコンピューティングで実現するなど、本発明の要旨を逸脱しない範囲で、適宜変更が可能である。
【符号の説明】
【００６９】
１…印刷装置（電子機器）、２…ＰＣ（プログラム書込装置）、１１０…初期化実行部、１２０…固定信号出力部、１３０…プログラム記憶部、２１０…プログラム判定部、２２０…初期化制御部、２３０…ハードウェア判定部、２４０…プログラム抽出部、２５０…表示制御部、２６０…書き込み制御部、ＳＹ…プログラム書込システム
【図１】
2018169784.tif 000003
【図２】
2018169784.tif 000004
【図３】
2018169784.tif 000005
【図４】
2018169784.tif 000006
【図５】
2018169784.tif 000007
【図６】
2018169784.tif 000008