(57)【要約】【課題】簡単な操作でユーザモードと異なる第２のモード、たとえば工場モードを起動でき、第２モードのプログラムをプログラムメモリから排除し、プログラムメモリの容量を低減できるようにする。【解決手段】ユーザモードでは、スチルイメージクラスのＵＳＢデバイス、デジタルカメラ３０１の接続に用いるＵＳＢコネクタ１０８にマス・ストレージクラスのＵＳＢメモリ４０１が接続された時、このデバイス接続操作を第１の動作モードと異なる第２の動作モードの起動指令とみなして、ＵＳＢメモリ４０１から第２の動作モードを制御する第２の制御プログラムを読み出し、第２の制御プログラムをＲＡＭ１０３に記憶させ、実行することにより第２の動作モードを起動する。第２の動作モードとしては、製造／検査／修理のような、ベンダやサービスマンが取り扱う工場モードを実行することができる。【選択図】  図１
2007172391.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御プログラムにより制御される第１の動作モードにおいて、第１のデバイスクラスのＵＳＢデバイスの接続に用いられるＵＳＢインターフェースを有する電子機器の制御方法において、
前記ＵＳＢインターフェースに前記第１のデバイスクラスと異なる第２のデバイスクラスのＵＳＢデバイスが接続された時、このデバイス接続操作を前記第１の動作モードと異なる第２の動作モードの起動指令とみなして、前記ＵＳＢデバイスから第２の動作モードを制御する第２の制御プログラムを読み出し、前記第２の制御プログラムを記憶手段に記憶させ、実行することにより前記第２の動作モードを起動することを特徴とする電子機器の制御方法。
【請求項２】
請求項１に記載の電子機器の制御方法において、前記第１のデバイスクラスがスチルイメージクラス、前記第２のデバイスクラスがマス・ストレージクラスであることを特徴とする電子機器の制御方法。
【請求項３】
請求項１に記載の電子機器の制御方法において、前記ＵＳＢデバイスに記憶された制御プログラムが正当な第２の制御プログラムであるか否かを照合する手段を有し、前記ＵＳＢデバイスに記憶された制御プログラムが正当な第２の制御プログラムである場合のみ前記ＵＳＢデバイスに記憶された制御プログラムを第２の制御プログラムとして記憶手段に記憶させ、実行することを特徴とする電子機器の制御方法。
【請求項４】
請求項１に記載の電子機器の制御方法において、前記第１の動作モードが機器本来の動作を実行するユーザモードであり、前記第２の動作モードが製造、検査、検品、あるいは修理工程において作業者を支援する工場モードであることを特徴とする電子機器の制御方法。
【請求項５】
請求項１〜請求項４のいずれか１項に記載の電子機器の制御方法を実施する制御ソフトウェアを含むことを特徴とする電子機器の制御プログラム。
【請求項６】
請求項１〜請求項４のいずれか１項に記載の電子機器の制御方法を実施するハードウェアを含むことを特徴とする電子機器。
【請求項７】
請求項１〜請求項４のいずれか１項に記載の電子機器の制御方法を実施するハードウェアとして、前記第１の動作モードにおいてスチルイメージクラスのＵＳＢデバイスが接続され、前記第２の動作モードにおいてマス・ストレージクラスのＵＳＢメモリが接続される前記ＵＳＢインターフェースを有し、前記第１の動作モードにおいて接続されたＵＳＢデバイス中の画像データを記録出力することを特徴とする記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の制御プログラムにより制御される第１の動作モードにおいて、第１のデバイスクラスのＵＳＢデバイスの接続に用いられるＵＳＢインターフェースを有する電子機器の制御方法、電子機器の制御プログラム、電子機器、および記録装置に関するものである。
【背景技術】
【０００２】
従来より、ＣＰＵと制御プログラムによって制御される電子機器では、機器の通常動作を制御するアプリケーション用の制御プログラムの他に製造工程用の制御プログラムを用いる技術が知られている。
【０００３】
このうち、アプリケーション用の制御プログラムは、電子機器のユーザに提供され、ユーザの環境下で、すなわちユーザモードで動作し、機器本来の動作を制御するものである。
【０００４】
一方、工場モードの制御プログラムは、たとえば、製造、検査、検品、あるいは修理などの工程において、いわゆる工場モードで動作させ、機器のハードウェア／ソフトウェアの状態を検査するなどの目的に使用される。また、このような工場モードの制御プログラムは、それ自体で機器のハードウェア／ソフトウェアのチェックを実行したり、あるいは作業者の操作を支援する機能を有し、製造工程を簡潔にかつ確実に進めるために利用される。
【０００５】
このように、従来より、電子機器では第１の動作モードであるユーザモードの他に製造、検査、検品、あるいは修理などの用途で用いられる第２のモードを実装する構成が知られている。なお、このうち、第２のモードは、機器本来の動作を実行する第１モードと異なるものである、と捉えれば、上記の用途に限らず、たとえば、パワーユーザのための隠しコマンドを実行するモードなども含まれることになる。
【０００６】
これら第１モードおよび第２モードの制御プログラムは、両者ともにＲＯＭ等に代表されるプログラムメモリに記憶させ、そのまま出荷する構成が知られている。たとえば、インクジェットプリンタのような機器においてもこのような構成が取られている。
【特許文献１】特開平０９−３０５８３９号公報
【特許文献２】特開平１１−２４２５９６号公報
【特許文献３】特開２０００−１５５６７５号公報
【特許文献４】特開平６−１０５０３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここでは、第１および第２モードの制御プログラムが上記のユーザモードの制御プログラムと工場モードの制御プログラムである場合につき考察する。
【０００８】
上記のようにユーザモードの制御プログラムと工場モードの制御プログラムの双方をＲＯＭ化して製品に塔載する構成では、工場モードは一般ユーザには開放せず、特別な操作を行なわない限り起動しないような構成とするのが普通である。たとえば、誤まってユーザが実行してしまう可能性が低い極めて特殊な（かつ通常ユーザには知らせない）操作によってのみ工場モードを起動するような仕様とする必要があり、工場モードの起動操作が複雑になると言う欠点がある。これにより、時間短縮が求められる製造工程において、この種のモードの実装目的に反して操作に時間がかかってしまう、という問題が発生する。
【０００９】
さらに、ユーザ／工場モードの制御プログラムを一緒に格納する構成では、ユーザには必要のない工場モードの制御プログラムの分だけ余計にプログラムメモリの容量が必要であり、装置のコストアップに繋がるという欠点がある。また、当然ながら、製造工程に変更があって工場モードプログラムが変更になる場合も、たとえユーザモードに変更が無くても制御プログラム全体を作り直さなければならず、当然ＲＯＭも作り直しになる、という問題がある。
【００１０】
ここで、メモリ容量の問題に限れば、たとえばプログラムメモリに書き替え可能な不揮発性メモリ（フラッシュメモリ等）を用いて、製造工程では工場モードプログラムで動作させ、出荷時にユーザモードプログラムに書き替えるような構成により、メモリ容量を最小限に抑えることは可能である。
【００１１】
これについては、外部から制御プログラムのバージョンアップを行なう技術思想は既に存在し、ＰＣの周辺機器であれば、最も一般的な方法として、ＵＳＢ等のＰＣインターフェースを介して、ＰＣから新しい制御プログラムをダウンロードする方法が知られている。
【００１２】
しかし、この方法はそもそもＰＣが必要なため、制御プログラムを書き換えるためのシステムが高価になり、操作も複雑になるばかりでなく、書き換え動作に時間がかかってしまうため、製造工程には不向きである。
【００１３】
一方、ＰＣを用いないで制御プログラムをバージョンアップする方法も提案されていて、たとえばメモリカードを用いて制御プログラムをバージョンアップする構成が上記の特許文献１〜３で提案されている。しかしながら、これらの従来構成では、そもそもコストの高いフラッシュメモリのような書き換え可能な不揮発性メモリを使用することが前提となるという問題がある。また、メモリカードを使用する場合は、外部から制御プログラムを供給するためにはメモリカードインターフェースを設けなければならないという問題がある。
【００１４】
また、上記の特許文献４では、多種のアプリケーションをメモリカードに記憶しておき、必要なアプリケーションをそこから選択して装置内のＲＡＭにダウンロードして動作させることが提案されているが、この場合もメモリカードインターフェースが必要となるし、メモリカードに記憶された多種のアプリケーションから必要なアプリケーションを選択するための手段および操作が必要となるという問題がある。
【００１５】
以上のように、従来技術によると、プログラムデータの入出力のためだけにメモリカード等のインターフェースを設ける無駄が生じる。また、たとえメモリカードを他の用途でも使用できるとしてもカード内のファイルの識別手段および選択手段、選択操作等が必要になるという問題がある。
【００１６】
以上では、第１および第２モードの制御プログラムがユーザモードおよび工場モードの制御プログラムの場合につき考察したが、たとえば、操作性やメモリ容量に関する問題などは第２モードが他の用途のモードである電子機器であっても共通するものである。
【００１７】
本発明の課題は、上記の問題を解決し、簡単な操作でユーザモードと異なる第２のモード、たとえば工場モードを起動でき、これにより電子機器の製造／検査／修理のような工程を迅速に実施でき、第２モードのプログラムをプログラムメモリから排除し、プログラムメモリの容量を低減できるようにすることにある。
【課題を解決するための手段】
【００１８】
上記課題を解決するため、本発明においては、第１の制御プログラムにより制御される第１の動作モードにおいて、第１のデバイスクラスのＵＳＢデバイスの接続に用いられるＵＳＢインターフェースを有する電子機器の制御方法、電子機器の制御プログラム、電子機器、および記録装置において、前記ＵＳＢインターフェースに前記第１のデバイスクラスと異なる第２のデバイスクラスのＵＳＢデバイスが接続された時、このデバイス接続操作を前記第１の動作モードと異なる第２の動作モードの起動指令とみなして、前記ＵＳＢデバイスから第２の動作モードを制御する第２の制御プログラムを読み出し、前記第２の制御プログラムを記憶手段に記憶させ、実行することにより前記第２の動作モードを起動する構成を採用した。
【発明の効果】
【００１９】
上記構成によれば、ＵＳＢインターフェースへの第１のデバイスクラス（たとえばスチルイメージクラス）と異なる第２のデバイスクラス（たとえばマス・ストレージクラス）のＵＳＢデバイスの接続を第２の動作モードの起動指令として取り扱うようにしているので、極めて簡単な操作でユーザモードと異なる第２のモードを起動することができる。これにより、第２のモードとして、たとえば工場モードを容易に起動でき、電子機器の製造／検査／修理のような工程を迅速に実施できる。また、第２モードのプログラムを記憶手段に格納しておく必要がないので、記憶手段の容量を大きく低減できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の最良な実施の形態を、図面に示す実施例を用いて詳細に説明する。以下では、インクジェット記録装置に関する実施例を示す。
【実施例１】
【００２１】
図１は本発明を採用したインクジェット記録装置の要部の構成を示している。図１において符号１０１はインクジェット記録装置本体、１０２はインクジェット記録装置を制御するＣＰＵである。
【００２２】
ＣＰＵ１０２には、システムバス１０７を介して、ＲＡＭ１０３、ＲＯＭ（不揮発メモリ、あるいはフラッシュＲＯＭ）１０４、ＵＳＢホストコントローラ１０５、ＵＳＢデバイスコントローラ１０６が接続されている。
【００２３】
これらのうち、ＲＡＭ１０３は記録すべき画像データの記憶領域や、記録処理のために使用されるメモリである。
【００２４】
ＲＯＭ１０４は不揮発性メモリ、特にフラッシュＲＯＭのように書き変え可能なＲＯＭ素子から構成され、インクジェット記録装置全体を制御するための制御プログラムを記憶させるために用いる。
【００２５】
ＣＰＵ１０２はＲＯＭ１０４に記憶された、ユーザモードの制御プログラム（あるいは後述のＵＳＢメモリ４０１に格納された工場モードの制御プログラム）にしたがってインクジェット記録装置全体を制御する。これにより、ＣＰＵ１０２はインクジェット記録装置に接続されたＰＣ２０１、あるいはデジタルカメラ３０１から送られてくる画像データを不図示の記録部により記録する記録動作を制御する。
【００２６】
ＵＳＢホストコントローラ１０５はＵＳＢホストとして動作し、ＵＳＢコネクタ（ｔｙｐｅ−Ａ）１０８に接続されたＵＳＢデバイスと通信してデータの授受を行なう。
【００２７】
図１では、ＵＳＢコネクタ１０８に接続されるＵＳＢデバイスとしてデジタルカメラ３０１、およびＵＳＢメモリ４０１を例示してある。
【００２８】
通常、この種のデジタルカメラ３０１からダイレクトプリント可能なプリンタでは、ＵＳＢコネクタ１０８〜ＵＳＢホストコントローラ１０５に関しては、ドライバはスチルイメージクラスのみを実装しておけばよい。
【００２９】
しかし、本実施例ではデジタルカメラ３０１に加え、ＵＳＢメモリ４０１を接続できるようにする。このため、ＵＳＢホストコントローラ１０５のドライバとしては、スチルイメージクラス、およびマス・ストレージクラスに対応するドライバを実装しておく。
【００３０】
スチルイメージクラスのドライバは、ピクトブリッジ（http://www.cipa.jp/pictbridge/）規格を満足し、ＤＰＳ（Digital Photo Solution）およびＰＴＰ（Picture Transfer Protocol）レイヤから構成される。マス・ストレージクラスのドライバは、後述の工場モードのプログラムを入出力するために用いられ、たとえばＳＣＳＩなどのサブクラスが実装される。
【００３１】
すなわち、ＵＳＢコネクタ１０８〜ＵＳＢホストコントローラ１０５はピクトブリッジインターフェースとして構成するとともに、マス・ストレージクラスも接続できるＵＳＢインターフェースを構成する。
【００３２】
以上の構成において、ＵＳＢメモリ４０１には工場モードの制御プログラムを記憶させ、ＵＳＢコネクタ１０８にＵＳＢメモリ４０１を装着することにより、自動的に工場モードへの切り換えを行ない、ＣＰＵ１０２にＵＳＢメモリ４０１に格納された工場モード制御プログラムを実行する。
【００３３】
すなわち、本実施例においては、ＵＳＢインターフェースに第１のデバイスクラスであるスチルイメージクラスと異なる第２のデバイスクラス、マス・ストレージクラスのＵＳＢデバイス、ＵＳＢメモリ４０１を接続することができる。そして、ＵＳＢメモリ４０１の接続操作を第１の動作モードと異なる第２の動作モードの起動指令とみなして、ＵＳＢメモリ４０１から第２の動作モード、工場モードを制御する制御プログラムを読み出して実行することができる。
【００３４】
なお、上記のピクトブリッジ（http://www.cipa.jp/pictbridge/）は記録装置とデジタルカメラのような機器を接続するインターフェース規格である。ピクトブリッジ規格はＰＣ（パーソナルコンピュータ）のようなホスト機器を用いずに記録装置とデジタルカメラをＵＳＢインターフェースを介して直接接続し、画像の印刷などを行なうためのものである。
【００３５】
一方、ＵＳＢデバイスコントローラ１０６は、ＵＳＢケーブル２０２を介してＵＳＢコネクタ（Ｔｙｐｅ−Ｂ）１０９に接続されたＰＣ２０１とＵＳＢ通信してデータの授受を行なう。
【００３６】
図２は工場モード時のＲＡＭ１０３のメモリ空間の使用例を示している。図２の例では、ＲＡＭ１０３の容量が８Ｍバイトで、工場モードプログラムのデータ容量が２Ｍバイトとなっていて、ＵＳＢメモリ４０１に記憶されたプログラムコードは、１０００００ｈ番地から２ＦＦＦＦＦｈ番地に展開される。
【００３７】
なお、ＲＯＭ１０４に格納されたユーザモードの制御プログラムは、ＲＯＭ１０４のメモリ空間で実行するか、あるいは工場モードの制御プログラムと同様にＲＡＭ１０３のメモリ空間にロードされた上、実行される。
【００３８】
図１のインクジェット記録装置は、ＲＯＭ１０４に記憶されたユーザモードの制御プログラムによって動作中も、ＵＳＢコネクタ１０８へのＵＳＢデバイスの装着を検出している。ＵＳＢ機器では、このように、いわゆるホットスワップ操作に対応できなければならない。
【００３９】
そして、ＵＳＢデバイスとしてマス・ストレージクラスのＵＳＢメモリ４０１が挿入されると、ＣＰＵ１０２はＵＳＢメモリ４０１に記憶されたプログラムデータを読み出しＲＡＭ１０３に展開する。ＲＡＭ１０３へのプログラムデータ展開が終了すると、ＲＡＭ１０３に展開したプログラムエリアにジャンプして、ＲＡＭ１０３に記憶したプログラムコード、すなわち工場モードプログラムにしたがって動作する。
【００４０】
次に、上記のような工場モードへの移行制御を図３のフローチャートに沿って説明する。図３の制御手順は、装置のファームウェアとしてＲＯＭ１０４に格納しておくことができる。
【００４１】
以上では、便宜上、「ユーザモードの…」と、「工場モードの…」という修飾により、本来の動作を制御する第１モードの制御プログラムと、それ以外の製造／検査／修理工程の動作モードのようにベンダやサービスマンが取り扱う第２モードの制御プログラムを区別した。
【００４２】
しかしながら、これら「ユーザモード」、「工場モード」といった修飾により本発明の範囲が必要以上に限定的に解釈されるのを防ぐため、以下では上記のモードはそれぞれ第１のモード、および第２のモードとも記すことにする。たとえば、第２モードの制御プログラムは、必ずしもベンダやサービスマンのためのモードである必要はなく、ユーザが実行させる拡張モードの制御プログラムであってもよい。
【００４３】
まず、図３のステップＳ１０１でＵＳＢコネクタ１０８に何らかのＵＳＢデバイスが接続されると、ステップＳ１０２およびＳ１０４においてバスエニュメレーションによって、接続されたＵＳＢデバイスのデバイスクラスを確認する。
【００４４】
ステップＳ１０２において、検出されたＵＳＢデバイスのデバイスクラスがスチルイメージクラスであれば、デジタルカメラ（３０１）と判定してステップＳ１０３に進み、第１モードの動作として、ピクトブリッジモードの処理を行なう。ステップＳ１０３では、たとえばデジタルカメラに記憶された画像データの記録処理などが行なわれる。
【００４５】
また、検出されたＵＳＢデバイスのデバイスクラスがスチルイメージクラスでなければ、ステップＳ１０４でマス・ストレージクラスか否かを確認する。ここでデバイスがマス・ストレージクラスでなければ想定外のデバイスが接続されたことを意味するので、ステップＳ１１３でたとえばエラー表示を行って終了する。
【００４６】
ステップＳ１０４で、マス・ストレージクラスのＵＳＢデバイスを検出していれば、第２のモード、すなわち工場モードを実行するための操作と判定して、ステップＳ１０５において第２モードへの切り換えを行なう。
【００４７】
ステップＳ１０６では、ＵＳＢメモリ４０１に記憶された第２モード（工場モード）のプログラムファイルを読み出し、ＲＡＭ１０３の所定のエリア（図２）にプログラムコードとして展開する。図２の例では、ＲＡＭ１０３の１０００００ｈ番地から順次プログラムコードが記憶される。
【００４８】
なお、ＵＳＢメモリ４０１に格納しておくプログラムファイルは、既にプログラムコードに展開されたテキストデータ形式のファイルでもよいし、ｍｓｘファイル形式のＣＲＣチェックデータが付加されたパケット形式のものでもよい。その場合は、ＲＯＭ１０４に用意しておいたプログラムによって、単純なプログラムコードに戻してＲＡＭに展開する。
【００４９】
ステップＳ１０７ではＲＡＭ１０３に展開したデータが、正当なプログラムコードであるか否かを確認する。
【００５０】
このための手法としては、ＲＯＭ１０４に所定のアドレスに、所定のＩＤ値をあらかじめ設定しておき、ステップＳ１０６でＲＡＭ１０３に展開したデータの所定のアドレスに書き込まれた値と比較して、その値が所定のＩＤ値と一致すれば、プログラムコードであると判断する。
【００５１】
たとえば、図２のメモリマップにおいて、２ＦＦＦＦＥｈ番地と２ＦＦＦＦＦｈ番地をロードしたプログラムの確認用データアドレスとしておく。そして、正当な第２モードのプログラムの確認用データとしてはそれぞれ「３Ｂ」、「４Ｆ」の値を２ＦＦＦＦＥｈ番地と２ＦＦＦＦＦｈ番地に格納する、という規約にしておく。
【００５２】
したがって、ステップＳ１０７でこれらアドレスの値がそれぞれ「３Ｂ」、「４Ｆ」であればプログラムコードと判断して工場モードを実行するが、違った値だった場合はエラー終了する。
【００５３】
このように、ＲＡＭ１０３上に展開されるＩＤ値を照合する処理によれば、極めて容易に制御プログラムの正当性を判定することができる。
【００５４】
あるいは（さらに）、ＵＳＢメモリ４０１からロードしたプログラムが実行して良い正当なものかどうか確実に判断するため、正当なプログラムコード全体のチェックサムやＭＤ５値を算出し、あらかじめＲＯＭ１０４に格納しておいた値と比較するようにしてもよい。
【００５５】
なお、実行してよい正当なプログラムコードは単数である必要はなく、複数の種類であってよい。たとえば検品用、メンテナンス用、パワーユーザ用などに複数の第２モードの制御プログラムを用意し、これらの実行を許可するには、上記のようなＩＤ値、チェックサムやＭＤ５値は対応するプログラムごとに複数ＲＯＭ１０４に記憶させておけばよい。
【００５６】
ステップＳ１０７で、ＵＳＢメモリ４０１からロードしたプログラムが実行すべき（実行してよい）第２モードのプログラムコードであると判断した場合は、ステップＳ１０８に進む。ステップＳ１０８では、第２モードのプログラムを起動するため、ＲＡＭ１０３に展開したプログラムコードの所定のアドレスにジャンプする。この後、インクジェット記憶装置はＲＡＭ１０３に展開された第２モードのプログラムコードにしたがって動作する。
【００５７】
ステップＳ１０７でプログラムファイルが有効でなければ、間違ったファイルと判断してステップＳ１１３に進んでエラー表示を行ない、工場モードには移行せずに終了する。
【００５８】
なお、ステップＳ１０７でプログラムファイルが有効でない場合は、ステップＳ１１３のエラー処理に移行するかわりに単にＵＳＢメモリ４０１をマス・ストレージデバイスとして、アクセスする処理を行なうようにしてもよい。
【００５９】
ただし、単にＵＳＢメモリ４０１をユーザ用のメモリデバイスとしてインクジェット記憶装置に取り扱わせたい、という目的であれば、ＵＳＢメモリ４０１をスチルイメージクラスで実装すればよい。この場合はステップＳ１０２〜Ｓ１０３の第１モード（ピクトブリッジモード）でＵＳＢメモリ４０１を取り扱うことができる。
【００６０】
ステップＳ１０９では、第２モードの制御プログラムが実行され、これに応じてたとえば作業者によって製造工程に必要な操作が行なわれ、製造工程が進められる。
【００６１】
ステップＳ１１０では、第２モードの制御プログラムの処理を終了（たとえば全ての製造工程を終了）させるか否かを判断し、インクジェット記録装置は所定の操作によって、ステップＳ１１１に進み、第２モードの制御プログラムの終了状態（出荷状態）に移行する。
【００６２】
ステップＳ１１０の終了検出は、操作部への所定のキー入力の検出により行なってもよいし、あるいは実行すべき作業がすべて終了した時点で自動的に移行するように構成してもよい。また、ＵＳＢメモリがＵＳＢコネクタ１０８から抜かれたことを契機として、この終了検出を行なってもよい。
【００６３】
第２モードが終了（たとえばインクジェット記録装置の出荷セッティングが完了）したら、ステップＳ１１２で電源を遮断する。第２モードが製造工程のものであれば、これにより、装置は直ちに梱包待ちの状態になる。
【００６４】
以上のようにして、マス・ストレージデバイスとして実装され、所定の第２モードの制御プログラムを格納したＵＳＢメモリ４０１を挿入するだけで、他の操作を一切行なうことなく、極めて簡単に第２モードの制御プログラムを実行させることができる。
【００６５】
すなわち、ピクトブリッジのためのＵＳＢインターフェースにマス・ストレージデバイス実装のＵＳＢメモリを接続するだけで、他の操作を一切行なうことなく、極めて簡単に電子機器を第２モードに移行させることができる。
【００６６】
したがって、たとえば第２モードが工場モードの制御プログラムであるならば、特殊な操作により第２モードを起動する必要がなく、製造工程の作業（あるいは検査／修理の作業）は極めて容易になる。
【００６７】
本実施例によれば、ＲＯＭ１０４中に第２モードの制御プログラムを格納しておく必要がないから、この分、ＲＯＭ１０４のメモリ容量を節減でき、製造コストを低減できる。
【００６８】
なお、上記実施例ではＵＳＢメモリに記憶したデータがプログラムコードであるか否かを判定するために、ステップＳ１０７ではＲＡＭに展開したデータの所定のアドレスデータを確認した。しかし、ステップＳ１０６でＵＳＢメモリからファイルを読み出す前に、ＵＳＢメモリに記憶されたファイル形式が、プログラムコードを記憶したファイル形式か否かで判定するようにしてもよい。多くの実行形式のプログラムファイルはその先頭部分などが、ある一定の形式で構成されている（たとえば所定のマジックデータを含む、など）ため、このような構成により実行してよい正当なプログラムか否かを判定してもよい。
【００６９】
また、本実施例では、ピクトブリッジのためのＵＳＢインターフェースにマス・ストレージデバイス実装のＵＳＢメモリを接続すること自体が工場モードへの移行指令を意味している。このため、ユーザ環境で他の用途のマス・ストレージデバイスの接続を一切想定しなくてよい、という製品仕様であればステップＳ１０７の確認シーケンスを省略してしまう構成も考えられる。すなわち、本実施例ではＵＳＢ通信上必須な情報のみを用いて極めて容易に工場モードへの移行を決定することができる。
【００７０】
さらに、本実施例では、ＵＳＢインターフェース（ＵＳＢホストコントローラ１０５〜ＵＳＢコネクタ１０８）に関して実装しておくＵＳＢ通信ドライバも、スチルイメージクラスとマス・ストレージクラスのみに対応すればよいので、ＵＳＢドライバソフトウェアが簡単になる。
【００７１】
さらに、第２モード（たとえば工場モード）の制御プログラムに変更があったとしても、ユーザモードのプログラムメモリに影響を及ぼすことなく、第２モードの制御プログラムだけを変更できる。
【００７２】
また、第２モードの制御プログラムはＲＡＭ１０３に展開されるので、電源を遮断すればＲＡＭ１０３から自動的に消去されるためユーザモードには全く影響しない。
【００７３】
なお、本実施例では、ピクトブリッジモードか工場モードかの判定を、デバイスクラスによって行っているが、デバイスディスクリプタの他の情報、たとえばデバイスタイプによって判定してもよい。
【００７４】
また、上記の実施例では、第２モードは工場モードに限って説明してきたが、第２モードはユーザモードとは異なる動作をさせる場合にはすべてにおいて有効で、たとえば装置の保守点検用の制御プログラムを用意してＵＳＢメモリに記憶させておけば、市場においてサービスマンが簡単に保守点検を行なうことができるし、保守点検に必要なプログラムもユーザモードプログラムから削除することができる。もちろん、第２モードはパワーユーザのための拡張プログラムにより制御される動作モードであってもよい。
【００７５】
また、ＵＳＢメモリ４０１に格納しておく第２モードの制御プログラムを用いて、図３に示した制御手順を含みＲＯＭ１０４に格納された機器のファームウェアをアップデートできるように構成することもできる。
【００７６】
このためには、図３の制御手順を含む機器のファームウェアのバイナリイメージと、このバイナリイメージをＲＯＭ（当然この場合フラッシュメモリから構成する）１０４の所定領域に書き込む書き込みプログラムから第２モードの制御プログラムを構成し、ＵＳＢメモリ４０１を装着した時、上記書き込みプログラムを第２モードの制御プログラムとして起動することにより、ＲＯＭ１０４に格納された機器のファームウェアをアップデートすることができる。
【産業上の利用可能性】
【００７７】
本発明は電子機器製品の名称などによって限定を受けることなく、第１の制御プログラムにより制御される第１の動作モードにおいて、第１のデバイスクラスのＵＳＢデバイスの接続に用いられるＵＳＢインターフェースを有する電子機器において実施することができる。本発明の制御プログラム、特に図３の制御プログラムは前述のようにファームウェアとしてＲＯＭに格納しておく他、電子機器がネットワークインターフェースを有していれば、任意のサーバからネットワーク経由で供給することもできる。
【図面の簡単な説明】
【００７８】
【図１】本発明を採用したインクジェット記録装置の要部構成を示したブロック図である。
【図２】図１のＲＡＭのプログラム展開領域の例を示したメモリマップ図である。
【図３】図１のインクジェット記録装置の制御手順を示したフローチャート図である。
【符号の説明】
【００７９】
１０１  インクジェット記録装置
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  ＲＯＭ（不揮発性メモリ／フラッシュメモリ）
１０５  ＵＳＢホストコントローラ
１０６  ＵＳＢデバイスコントローラ
１０７  システムバス
１０８  ＵＳＢコネクタ（Ｔｙｐｅ−Ａ、ピクトブリッジインターフェース）
１０９  ＵＳＢコネクタ（Ｔｙｐｅ−Ｂ）
２０１  ＰＣ
２０２  ＵＳＢケーブル
３０１  デジタルカメラ
４０１  ＵＳＢメモリ
【図１】
2007172391.tif 000003
【図２】
2007172391.tif 000004
【図３】
2007172391.tif 000005