(57)【特許請求の範囲】
【請求項１】
外部に接続される機器から受信したデータの処理を行う情報処理装置において、
プログラムを記憶するメモリと、電力を遮断してから再度電力が供給されたときに行うハードリセット処理であるか、電力を遮断せずに行うリセット処理であるかを判別可能な情報を保持するレジスタとを有し、前記プログラムに従って前記外部に接続される機器とのデータの送受信を行う第１制御ユニットと、
電力を供給する制御信号を前記第１制御ユニットから受信することで電力が供給され、前記第１制御ユニットを介して受信したデータを処理する第２制御ユニットとを有し、
前記レジスタに記憶されている情報がハードリセット処理を示している場合、前記第１制御ユニットは、前記メモリに記憶されたプログラムを更新し、前記プログラムの更新が完了してから、前記第２制御ユニットに電力を供給する制御信号を送信するよう制御することを特徴とする情報処理装置。
【請求項２】
前記第２制御ユニットは、電源オン状態とする前記制御信号を受信すると電源がオン状態とされることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１制御ユニットは、前記レジスタに保持されている情報に基づいて、前記第２制御ユニットが前記ハードリセット処理を行っているリセット状態であるか否かを判定し、前記リセット状態の解除後に前記第２制御ユニットに電力を供給する制御信号を送信することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１制御ユニットは、前記メモリに記憶されたプログラムを更新する間、前記第２制御ユニットのリセット状態を解除しないことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１制御ユニットは、電源投入時に所定のキースイッチが押下されていることを検知すると前記メモリに記憶されたプログラムの更新を開始することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記メモリに記憶されたプログラムの更新の完了後に前記第１制御ユニット及び第２制御ユニットをソフトパワーオン状態に遷移させる手段を更に有することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記ソフトパワーオン状態の後、前記メモリに記憶されたプログラムが更新されたことを表示する表示制御手段を更に有することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記表示制御手段は更に、前記メモリに記憶されたプログラムのバージョン情報を表示することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置はプリンタ装置であり、前記第１制御ユニットは、前記プリンタ装置の主制御部を含み、前記第２制御ユニットはプリンタエンジンを含むことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
プログラムを記憶するメモリと、電力を遮断してから再度電力が供給されたときに行うハードリセット処理であるか、電力を遮断せずに行うリセット処理であるかを判別可能な情報を保持するレジスタとを有し、前記プログラムに従って外部に接続される機器とのデータの送受信を行う第１制御ユニットと、電力を供給する制御信号を前記第１制御ユニットから受信することで電力が供給され、前記第１制御ユニットを介して受信したデータを処理する第２制御ユニットとを有し、外部に接続される機器から受信したデータの処理を行う情報処理装置におけるメモリのアップデート方法であって、
前記レジスタに記憶されている情報がハードリセット処理を示している場合、前記メモリに記憶されたプログラムを更新し、前記プログラムの更新が完了してから、前記第１制御ユニットから前記第２制御ユニットに電力を供給する制御信号を送信するよう制御する工程を備えることを特徴とする情報処理装置におけるメモリのアップデート方法。
【請求項１１】
前記制御する工程は、前記第１制御ユニットのレジスタに保持されている情報に基づいて、前記第２制御ユニットが前記ハードリセット処理を行っているリセット状態であるか否かを判定し、前記リセット状態の解除後に前記第２制御ユニットに電力を供給する制御信号を送信することを特徴とする請求項１０に記載の情報処理装置におけるメモリのアップデート方法。
【請求項１２】
前記制御する工程は、前記メモリに記憶されたプログラムを更新する間、前記第２制御ユニットのリセットを解除しないことを特徴とする請求項１１に記載の情報処理装置におけるメモリのアップデート方法。
【請求項１３】
前記第１制御ユニットは、電源投入時に所定のキースイッチが押下されていることを検知すると前記メモリに記憶されたプログラムの更新を開始することを特徴とする請求項１０乃至１２のいずれか１項に記載の情報処理装置におけるメモリのアップデート方法。
【請求項１４】
前記メモリに記憶されたプログラムの更新の完了後に前記第１制御ユニット及び第２制御ユニットをソフトパワーオン状態に遷移させる工程を更に有することを特徴とする請求項１０乃至１３のいずれか１項に記載の情報処理装置におけるメモリのアップデート方法。
【請求項１５】
前記ソフトパワーオン状態の後、前記メモリに記憶されたプログラムが更新されたことを表示する表示制御工程を更に有することを特徴とする請求項１４に記載の情報処理装置におけるメモリのアップデート方法。
【請求項１６】
外部に接続される機器から受信したデータに基づいて記録を行う記録装置であって、
プログラムを記憶するメモリと、前記プログラムに従って前記外部に接続される機器とのデータの送受信を制御するＣＰＵとを有する制御ユニットと、
前記制御ユニットを介して受信したデータの記録を行うプリンタエンジンと、
商用ＡＣ電源と接続されて前記制御ユニット及び前記プリンタエンジンに電力を供給する電源ユニットと、
前記電源ユニットからの電力供給が停止した後、前記電源ユニットからの電力供給が開始されたときに前記メモリに記憶されたプログラムの更新が指示されているかどうかを判定する判定手段と、
前記判定手段により前記プログラムの更新が指示されていると判定した場合に前記プログラムを更新する更新手段とを有し、
前記制御ユニットは、前記更新手段による前記プログラムの更新が完了してから、前記プリンタエンジンに対して電源投入を示す制御信号を送信するよう制御することを特徴とする記録装置。
【請求項１７】
前記更新手段はフラッシュＲＯＭに記憶されているプログラムを前記メモリに格納して更新することを特徴とする請求項１６に記載の記録装置。
【請求項１８】
前記更新手段により前記メモリに記憶されたプログラムが更新されたことを表示する更新表示手段を更に有することを特徴とする請求項１６又は１７に記載の記録装置。
【請求項１９】
前記判定手段は、前記電源ユニットからの電力供給が開始されたときに所定のスイッチが押下されていると前記メモリに記憶されたプログラムの更新が指示されたと判定することを特徴とする請求項１６乃至１８のいずれか１項に記載の記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及びそのメモリのアップデート方法と記録装置に関するものである。
【０００２】
【従来の技術】
近年、複数のモジュールで構成される情報処理装置では、短期間での開発や或いは、発売後の機能アップやバグ修正を備えて、フラッシュＲＯＭを内蔵したものが急速に普及している。
【０００３】
一方、環境に対する市場の関心も益々高まっており、待機時やオフ状態での消費電力をいかに小さくするかというさまざまな工夫も存在する。例えば、電源制御モジュールを中心に、各制御モジュール間を、複数の制御信号或いは、通信信号で接続し、電源制御モジュールの制御のもとに各機能モジュールが電源状態を遷移させていく方法である。
【０００４】
このような情報処理装置において、特にパワースイッチ周りの制御機能が含まれる制御モジュールの書き換えに関しては特に注意が必要であった。その理由は、その制御モジュールの書き換えが失敗すると、その装置の再度のパワーオンさえもできなくなる可能性があるためである。このためパワースイッチ周りの制御機能が含まれる制御モジュールのフラッシュＲＯＭの書き換えに関しては、主に開発段階に留まっており、ユーザには開放されていないのが一般的である。
【０００５】
【発明が解決しようとする課題】
前記のように、パワースイッチ周りの制御機能が含まれる制御モジュールの書き換え時の操作にはいくつかの制約があり、その最も大きな制約は、書き換え終了後にＡＣ電源を抜き、しばらく経過したあと、再びＡＣ電源を投入するといった操作を行う必要がある点、つまり、書き換え終了後には、ハードリセットが必要になることである。
【０００６】
また、制御モジュールの書き換え中であるか、或いは書き換えが完了したかの報知に関してはＬＥＤ等への表示に限定されており、一般ユーザには開放するにはまだまだ不十分であった。
【０００７】
本発明は上記従来例に鑑みてなされたもので、第１制御ユニット内のメモリに記憶されたプログラムの更新における誤動作を防止した情報処理装置及びそのメモリのアップデート方法と記録装置を提供することにある。
【０００８】
また本発明の目的は、メモリに記憶されたプログラムの内容が更新された場合に、電源投入時にその更新の有無、及びその内容に関する情報をユーザにより確認可能にした情報処理装置及びそのメモリのアップデート方法と記録装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために本発明の情報処理装置は以下のような構成を備える。即ち、  外部に接続される機器から受信したデータの処理を行う情報処理装置において、
プログラムを記憶するメモリと、電力を遮断してから再度電力が供給されたときに行うハードリセット処理であるか、電力を遮断せずに行うリセット処理であるかを判別可能な情報を保持するレジスタとを有し、前記プログラムに従って前記外部に接続される機器とのデータの送受信を行う第１制御ユニットと、
電力を供給する制御信号を前記第１制御ユニットから受信することで電力が供給され、前記第１制御ユニットを介して受信したデータを処理する第２制御ユニットとを有し、
前記レジスタに記憶されている情報がハードリセット処理を示している場合、前記第１制御ユニットは、前記メモリに記憶されたプログラムを更新し、前記プログラムの更新が完了してから、前記第２制御ユニットに電力を供給する制御信号を送信するよう制御することを特徴とする。
上記目的を達成するために本発明の記録装置は以下のような構成を備える。即ち、
外部に接続される機器から受信したデータに基づいて記録を行う記録装置であって、
プログラムを記憶するメモリと、前記プログラムに従って前記外部に接続される機器とのデータの送受信を制御するＣＰＵとを有する制御ユニットと、
前記制御ユニットを介して受信したデータの記録を行うプリンタエンジンと、
商用ＡＣ電源と接続されて前記制御ユニット及び前記プリンタエンジンに電力を供給する電源ユニットと、
前記電源ユニットからの電力供給が停止した後、前記電源ユニットからの電力供給が開始されたときに前記メモリに記憶されたプログラムの更新が指示されているかどうかを判定する判定手段と、
前記判定手段により前記プログラムの更新が指示されていると判定した場合に前記プログラムを更新する更新手段とを有し、
前記制御ユニットは、前記更新手段による前記プログラムの更新が完了してから、前記プリンタエンジンに対して電源投入を示す制御信号を送信するよう制御することを特徴とする。
【００１０】
上記目的を達成するために本発明の情報処理装置のメモリのアップデート方法は以下のような工程を備える。即ち、
プログラムを記憶するメモリと、電力を遮断してから再度電力が供給されたときに行うハードリセット処理であるか、電力を遮断せずに行うリセット処理であるかを判別可能な情報を保持するレジスタとを有し、前記プログラムに従って外部に接続される機器とのデータの送受信を行う第１制御ユニットと、電力を供給する制御信号を前記第１制御ユニットから受信することで電力が供給され、前記第１制御ユニットを介して受信したデータを処理する第２制御ユニットとを有し、外部に接続される機器から受信したデータの処理を行う情報処理装置におけるメモリのアップデート方法であって、
前記レジスタに記憶されている情報がハードリセット処理を示している場合、前記メモリに記憶されたプログラムを更新し、前記プログラムの更新が完了してから、前記第１制御ユニットから前記第２制御ユニットに電力を供給する制御信号を送信するよう制御する工程を備えることを特徴とする。
【００１１】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。尚、本実施の形態では、ＰＣカードスロットを有し、記録方法としてインクジェット方式を採用している記録装置（フォトダイレクトプリンタ装置）を例に挙げて説明する。しかし、本発明はこのような装置に限定されるものでなく、例えばパーソナルコンピュータのようなコンピュータ機器や、プリンタ装置等の入出力装置等にも適用可能である。
【００１２】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置１０００の概観斜視図である。このフォトダイレクトプリンタは、ホストコンピュータ（ＰＣ）からデータを受信して印刷する、通常のＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを直接受信して印刷する機能を備えている。
【００１３】
図１において、本実施の形態に係るフォトダイレクトプリンタ装置１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、装置１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回動自在に保持され、その回動によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回動させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を３段階に拡大、縮小させ得るようになっている。
【００１４】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）あるいはインクタンク（不図示）等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
【００１５】
また、上ケース１００２の上面には、電源キー１００５が押下可能に設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構成は、図２参照して詳しく後述する。１００７は自動給送部で、記録シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、記録ヘッドと記録シートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュメモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、この装置本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するための端子、１０１３は、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢバスコネクタを示す。
【００１６】
図２は、本実施の形態に係る操作パネル１０１０の概観図である。
【００１７】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここでに表示される項目としては、印刷したい範囲の先頭写真番号、指定コマ番号（開始／−指定）、印刷を終了したい範囲の最後の写真番号（終了）、印刷部数（部数）、印刷に使用する用紙（記録シート）の種類（用紙種類）、１枚の用紙に印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要な用紙枚数の表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキー２００２を押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、記録ヘッド１３０１のクリーニング等、プリンタのメンテナンスや印刷領域指定モードに入るためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００１８】
また、この操作パネル１０１０の上部には、押下可能な電源スイッチ（Powerスイッチ）２００８及びレジュームスイッチ（Resume スイッチ）２００７と、プリンタエンジン３００４（図３）の動作状態を示す２色分のＬＥＤ２００９が配置されている。これらレジュームスイッチ２００７，電源スイッチ２００８からの各入力信号は、後述するＡＳＩＣ３００１（図３）のスイッチＩ／Ｆモジュールの管理のもとにプリンタエンジン３００４にも出力されている。
【００１９】
次に図３を参照して、本実施の形態に係るフォトダイレクトプリンタ装置１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２０】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示している。３００２はＣＰＵで、後述する装置全体の各種制御処理及び、画像処理等を担当している。また、ＣＰＵ３００２の内部には、２次キャッシュとしても動作可能な６４ｋバイトの内臓ＲＡＭ（ＩＲＡＭ）３００２ａを併せもっている。３００３はメモリで、ＣＰＵ３００２の制御プログラムを記憶する２ＭバイトのフラッシュＲＯＭ（FlashROM）３００３ａ、及び実行時のプログラムを記憶し、画像データなどを記憶するためのワークメモリとして機能する８ＭバイトのＳＤＲＡＭ３００３ｂを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ３０１２を接続するためのポートとしてのＵＳＢバスコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢバスハブ(USB HUB)で、このプリンタ装置１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢバス３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することが出来る（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１３により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラである。
【００２１】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢバス３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００２２】
更に、制御部３０００とプリンタエンジン３００４との間には、電源スイッチ２００８及びレジュームスイッチ２００７からの信号状態を示す２本のスイッチ信号線３０２３、及びプリンタエンジン３００４内部の制御モジュール（ＣＰＵやＡＳＩＣ）をリセットするためのエンジンリセット信号線３０２４が接続されている。２本のスイッチ信号線３０２３のそれぞれは、操作パネル１０１０に配置されたレジュームスイッチ２００７、電源スイッチ２００８のそれぞれの押下状態に対応した信号を伝えるが、後述するＡＳＩＣ３００１内部のスイッチＩ／Ｆ機能部の設定に応じて、これらスイッチ２００７，２００８の押下状態を直接プリンタエンジン３００４に伝送する（スルーモード）か、或いは、制御部３０００によってエミュレートした信号としてプリンタエンジン３００４に伝送するか（ＣＰＵモード）を選択可能になっている。
【００２３】
図４は、ＡＳＩＣ３００１の構成を示すブロック図で、この図４においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００２４】
４００１はＰＣカードインターフェース部で、装着されたＰＣカード３０１１に記憶されている画像データを読取ったり、或いはＰＣカード３０１１へのデータの書き込み等を行う。４００２はＩＥＥＥ１２８４インターフェース部で、プリンタエンジン３００４との間のデータのやり取りを行う。このＩＥＥＥ１２８４バスは、デジタルカメラ３０１２或いはＰＣカード３０１１に記憶されている画像データを印刷する場合に使用されるバスである。４００３はＵＳＢインターフェース部で、ＰＣ３０１０との間でのデータのやり取りを行う。４００４はＵＳＢホストインターフェース部で、デジタルカメラ３０１２との間でのデータのやり取りを行う。４００５は操作パネル・インターフェース部で、操作パネル１０１０からの各種操作信号を入力したり、表示部１００６への表示データの出力などを行う。４００６はビューワ・インターフェース部で、ビューワ１０１１への画像データの表示を制御している。４００７ａは、上述したレジュームスイッチ２００７や電源スイッチ２００８及びＬＥＤ２００９等との間のインターフェースを制御するインターフェース部である。また４００７ｂは、プリンタエンジン３００４の各種スイッチとのインターフェースを制御するスイッチＩ／Ｆである。
【００２５】
４０１１は、プリンタエンジン３００４のリセット制御を行うためのレジスタであり、リセットスタートした後、ＡＳＩＣ内の他のモジュールがＡＳＩＣによって自動的に初期化されるのと異なり、リセットスタート後も自動的には初期化されることはなく、完全に電力供給がなくなった時に初めて初期値に初期化される（電源リセット）。つまり、このレジスタの設定値を参照することにより、単純なリセットスタートであるのか、或いは電源３０１３のオン／オフ、即ち、ＡＣ電源の抜き挿しによるハードリセットであるかが判別することができる。４００８はＣＰＵインターフェース部で、ＣＰＵ３００２との間でのデータのやり取りの制御を行っている。４０１０はこれら各部を接続する内部バス（ＡＳＩＣバス）である。
【００２６】
上述したように本実施の形態に係るフォトダイレクトプリンタ装置１０００では、ＣＰＵ３００２が、図３のメモリ３００３に記憶された制御プログラムに従って、画像処理に加えて、装置の各部の制御をも実行している。
【００２７】
この制御プログラムは、機能モジュールごとにタスク化したマルチタスク形式で構成されており、そのタスク構成の主なものを示すと図５のようになる。
【００２８】
図５において、８０００はシステムコントロールタスクで、各タスク間でのイベント発行、イベントの終了に伴うシーケンス制御や排他処理等、システム全体の調停を行っている。８００１はキーイベントタスクを示し、操作パネル１０１０のキー操作に基づいて、押下されたキーの解析等を行う。８００２はＬＣＤ表示部１００６への表示タスクを示し、表示部１００６におけるＵＩ制御或はメッセージ表示要求等が発生した時点で起動され、表示部１００６への表示制御を実行している。８００３はＰＣカード３０１１への読み書きによるデータの入出力により起動されるタスクを示す。８００４はＵＳＢバスを介して接続されるＰＣ３０１０からのデータ転送により起動されるＵＳＢプリンタタスクで、ＵＳＢのプリンタ割り込みにより起動され、ＰＣプリンタとしての機能を実行する。８００５は、システムコントロールタスク８０００により起動され、ファームウェアの初期化を行う。またシステムコントロールタスク８０００からのメッセージに応じて、下位タスクであるＵＳＢコントロールタスク、ＵＳＢバルクタスクの起動・終了を行う。擬似ＵＳＢホストタスク８００６は、ＵＳＢタスクにより起動され、ＵＳＢを介して接続されるデジタルカメラ３０１２からのデータの読込みや各種通信制御等を実行する。８００７はファイルタスクで、ファイルのオープン、クローズ、リード、ライト等の入出力制御を行う。
【００２９】
８００８はプリンタエンジン３００４と接続されるセントロニクス・インターフェースから起動されるタスクで、印刷データのＤＭＡ送信、ステータス応答等を実行する。８００９は画像処理タスクで、ＲＧＢデータを受取り、３Ｄ処理、四面体補完、色変換やスケーリング及び誤差拡散処理などによりＹＭＣＫデータを作成し、最終的にプリンタエンジン３００４に出力するラスタイメージデータを作成する。８０１０はページ・クリエイトタスクで、ＪＰＥＧデータを伸長して画像データに変換したり、或はＢＭＰ形式のデータからイメージデータを作成したり、或はＨＴＭＬ文書からイメージデータを作成するとともに、フォトデータの補正、階調補正等の画像処理やＲＧＢデータの作成等を行っている。８０１１はビューワタスクで、ビューワ１０１１が接続されている状態で、ビューワ１０１１への表示制御を実行している。
【００３０】
次に、制御コードのメモリマップ上での配置について説明する。
【００３１】
図６は、ＩＲＡＭ３００２ａ、フラッシュＲＡＭ３００３ａ及びＳＤＲＡＭ３００３ｂの間での制御データやプログラムのやり取りを説明するメモリマップ図である。
【００３２】
上述した制御コードは、電気的に書き換え可能な２ＭバイトのフラッシュＲＯＭ３００３ａに格納されている。本実施の形態では、フラッシュＲＯＭ３００３ａの２Ｍバイトの上位６４ｋバイトにリセットスタート時に必要な特殊コードを記憶し、残りの（２Ｍ−６４ｋ）バイトに、図５を参照して説明した各タスクを実行するプログラムコードを格納している。
【００３３】
上述のリセットスタート時に必要な特殊コードは、１ｋバイトのローダ（Loader）部６００、及び残り６３ｋバイトのスタートアップ（StartUP）部６０１で構成される。制御部３０００のリセットが解除されると、ハードウェアによって自動的に、フラッシュＲＯＭ３００３ａ先頭１ｋバイトのローダ部６００が、ＣＰＵ３００２の内臓ＲＡＭ（ＩＲＡＭ）の先頭１ｋバイトにコピーされる（図６の▲１▼で示す）。次に、フラッシュＲＯＭ３００３ａの先頭から６４ｋバイト、つまりは特殊コードをＳＤＲＡＭ３００３ｂの先頭から６４ｋバイトにコピーする（図６の▲２▼）。
【００３４】
また、フラッシュＲＯＭ３００３ａに格納されたプログラムコードは、後述するスタートアップ処理でＳＤＲＡＭ３００３ｂにコピーされる（図６の▲３▼）。その後、ＣＰＵ３００２はＳＤＲＡＭ３００３ｂから、そのプログラムコードを読み込んで、そのプログラムコードに従った処理を実行することによって、各種タスクを実行して本実施の形態に係るプリンタ装置における制御処理を実行している。図６の▲４▼は、スタートアップ処理の後、ＳＤＲＡＭ３００３ｂのベクタテーブルをＩＲＡＭ３００２ａにコピーする処理を示している。
【００３５】
次に前述の特殊コードと通常コードとの関連について図７以降のフローチャートを参照して説明する。
【００３６】
図７は、本実施の形態に係るフォトダイレクトプリンタ装置１０００における全体的な処理の流れを示すフローチャートである。
【００３７】
この処理は、制御部３０００がリセットされ、そのリセットが解除されることにより開始され、まずステップＳ７０１で、ハードウェアによって自動的に、フラッシュＲＯＭ３００３ａの先頭から１ｋバイトに格納されているローダ部６００が、ＣＰＵ３００２の内臓ＲＡＭ（ＩＲＡＭ）３００２ａの先頭から１ｋバイトにコピーされる（図６の▲１▼）。そしてＩＲＡＭ３００２ａの先頭番地から、ローダ部６００のプログラムコードが実行される。次にステップＳ７０２に進み、ローダ部６００のプログラムコードは、図８のローダ部６００の制御フローチャートに示すように、ＣＰＵ内臓レジスタの初期化を行い（Ｓ８０１）、次にＩＲＡＭ３００２ａの残りエリア（６４ｋ−１６ｋ）バイトの初期化、及びＩＲＡＭ３００２ａの下４８ｋバイトを２次キャッシュとして使うためのＣＰＵ内臓レジスタの設定等を行う（Ｓ８０２）。
【００３８】
なお、ＩＲＡＭ３００２ａの先頭から１ｋバイトの後に続く３２バイトの領域６０２（図６）は、後述するスタートアップ処理で判別されるパワーオン情報（通常モード、ファンクションチェックモード、工場モード、電気チェックモード、アップデートモード）を保持するための領域として確保されている。
【００３９】
次にステップＳ８０３に進み、ローダ部での最終処理として、フラッシュＲＯＭ３００３ａの先頭から６４ｋバイト、つまり特殊コードをＳＤＲＡＭ３００３ｂの先頭から６４ｋバイトにコピーする（図６の▲２▼）処理を実行して、ローダ部６００による処理を終了する。
【００４０】
次に図７のステップＳ７０２に進み、ＩＲＡＭ３００２ａに記憶されているローダ部６００から、ＳＤＲＡＭ３００３ｂに格納されているスタートアップ部６０１に分岐し、図９に示すスタートアップ部６０１のプログラムコードが実行される。
【００４１】
図９は、スタートアップ部６０１により実行される処理（ステップＳ７０２）を示すフローチャートである。
【００４２】
まずステップＳ９０１で、ＡＳＩＣ３００１内部のエンジンリセットレジスタ４０１１（図４）を参照し、既にプリンタエンジン３００４がリセット解除済みであるか否か、即ち、電源オンによりプリンタエンジン３００４がリセットされているか否かを判定する。解除済みの場合はステップＳ９０２に進み、通常シーケンスとして、フラッシュＲＯＭ３００３ａの残り、つまり通常コード部分をＳＤＲＡＭ３００３ｂにコピーする（図６の▲２▼、Ｓ９０２）。そしてステップＳ９０３に進み、ＳＤＲＡＭ３００３ｂの先頭から６４ｋバイトのアドレス（８００１００００ｈ）に分岐する。ここには、通常ルーチン先頭アドレスであるＣ＿ＩＮＴ００へのジャンプコード６０３（図６）が格納されている。これを実行することで、特殊コード部分の処理を終了し、通常コード部分に移行する（Ｓ９０３）。
【００４３】
一方、ステップＳ９０１で、リセット解除済みでない場合は、前述のレジュームスイッチ２００７，電源スイッチ２００８，及び制御部３０００を実装している基板に設けられている特殊ピン（不図示）の設定状態に応じて、それぞれ対応する処理に進む。これら全てがオフの場合はステップＳ９０４に進み、通常のモードをセットしてステップＳ９１１に進む。特殊ピンがオンに設定されている場合はステップＳ９０５に進み、制御部３０００のＲＡＭチェックを行い、ステップＳ９０６で、機能チェックモードをセットしてステップＳ９１１に進む。電源スイッチ２００８がオンの場合はステップＳ９０７に進み、工場での出荷モードをセットする。レジュームスイッチ２００７と電源スイッチ２００８が同時に押下されている場合はステップＳ９０８に進み、電気系統のチェックモードをセットする。またレジュームスイッチ２００７のみがオンされている場合はステップＳ９０９に進み、フラッシュＲＯＭ３００３ａのアップデートを行い、次にステップＳ９１０で、フラッシュＲＯＭ３００３ａがアップデートされたことを示すアップデートモードをセットする。これらの処理が終了するとステップＳ９１１に進み、ＩＲＡＭ３００２ａのパワーオン情報６０２に、これらステップＳ９０４，Ｓ９０６，Ｓ９０７，Ｓ９０８，Ｓ９０８のいずれかでセットされたモード情報を格納してステップＳ９０２に進む。
【００４４】
これによりフラッシュＲＯＭ３００３ａのアップデートを行う場合には、一旦、フォトダイレクトプリンタ装置１０００をＡＣ電源から切り離した後、レジュームスイッチ２００７を押下したまま、ＡＣコンセントをＡＣ電源に接続して電源３０１３にＡＣ電源を供給する。この場合、図９のスタートアップ処理において、ステップＳ９０１でプリンタエンジン３００４のリセットが解除されておらず、レジュームスイッチ２００７のみがオンであるためステップＳ９０９に進み、フラッシュＲＯＭ３００３ａのアップデートが実行されることになる。
【００４５】
こうして図９に示すスタートアップ処理が終了するとステップＳ９０３でC_INT00にジャンプして図７のステップＳ７０３に進む。ここでは図６の▲３▼で示すように、ベクタテーブルをＩＲＡＭ３００２ａにコピーし、次にステップＳ７０４で、ＯＳカーネルを起動する。そしてステップＳ７０５に進み、イニシャライザ（Initializer）を実行する。
【００４６】
図１０は、このイニシャライザ（Initializer）を説明するフローチャートである。
【００４７】
まずステップＳ１００１で、ゲートアレイ（ＧＡ）による初期化を行なってプリンタエンジン３００４のリセットを行う。次にステップＳ１００２に進み、タスク・スケジューリング等のためのタイマをスタートさせ、ステップＳ１００３で、エンジン信号の初期化処理を実行する。この処理は図１１のフローチャートを参照して詳しく後述する。次にステップＳ１００４に進み、ＩＲＡＭ３００２ａに記憶されているパワーオン情報を読み出して、機能チェックや電気チェック等のチェックモードがセットされているときはステップＳ１００６に進み、それをチェックするチェッカープログラムを起動してチェッカー処理を実行する。それ以外の時はステップＳ１００５に進み、その設定されているモードに対応してシステムコントロールタスクを起動する。
【００４８】
図１１は、ステップＳ１００３のエンジン信号の初期化処理を示すフローチャートである。
【００４９】
まずステップＳ１１０１で機能チェックモードかをみる。そうであれば何もせずにリターンする。そうでないときはステップＳ１１０２に進み、図４に示すスイッチＩ／Ｆ４００７ａ，ｂをスルーモード（レジュームスイッチ２００７，電源スイッチ２００８からの信号をそのままプリンタエンジン３００４に送るモード）にセットする。次にステップＳ１１０２に進み、プリンタエンジン３００４のリセットが解除されているかを調べ、解除されていればステップＳ１１０５に進むが、そうでないときはステップＳ１１０３に進み、プリンタエンジン３００４のリセットを解除し、ステップＳ１１０４で約２秒間待機する。次にステップＳ１１０５に進み、フラッシュＲＯＭ３００３ａがアップデートされているかどうかをみる。そうでないときはそのままリターンするが、アップデートされている時はステップＳ１１０６に進み、図４に示すスイッチＩ／Ｆ４００７ａ，ｂをＣＰＵモード（電源スイッチ２００８からの信号を制御部３０００により処理してプリンタエンジン３００４に送るモード）にセットする。次にステップＳ１１０７に進み、電源スイッチ２００８が押下されたことを示す信号（信号線３０２３）をオンにし、ステップＳ１１０８で約５０ｍ秒間待機し、ステップＳ１１０９で電源スイッチ２００８が押下されたことを示す信号（信号線３０２３）をオフにする。これによりプリンタエンジン３００４に対して、電源スイッチ２００８がオンされたことを通知する。そしてステップＳ１１１０に進み、再びステップＳ１１０２と同様にして、図４に示すスイッチＩ／Ｆ４００７ａ，ｂをスルーモード（電源スイッチ２００８からの信号をそのままプリンタエンジン３００４に送るモード）にセットする。そしてステップＳ１１１１に進み、プリンタエンジン３００４の電源がオンされるのを待ってリターンする。
【００５０】
このように、制御部３０００のフラッシュＲＯＭ３００３ａの内容が書換えられて、その内容が更新された場合は、そのアップデートの完了後、プリンタエンジン３００４に対して電源をオンするように、電源オン信号が信号線３０２３を介して制御部３０００からプリンタエンジン３００４に送られて初めてプリンタエンジン３００４が電源オン状態になる。
【００５１】
次に、このようにしてフラッシュＲＯＭ３００３ａが書き換えられた後、その書き換えが行われたことを表示する処理について説明する。
【００５２】
図１２は、図７のシステムコントロールタスクの処理を示すフローチャートである。
【００５３】
まずステップＳ１２０１で、各タスクを起動し、ステップＳ１２０２で、メッセージ（タスクイベント）の受信を待ち、ステップＳ１２０３で、セマフォを取得する。このメッセージがパワーオンメッセージの場合はステップＳ１２０４からステップＳ１２０５に進み、パワーオン情報によりフラッシュＲＯＭ３００３ａがアップデートされているかをみる。アップデートされている時はステップＳ１２０６に進み、ＬＣＤディスプレイタスク（図７：ＬＣＤ表示部１００６への表示処理を行う）にアップデート・パワーオンメッセージを発行する。一方ステップＳ１２０５で、フラッシュＲＯＭ３００３ａがアップデートされていない場合はステップＳ１２０７に進み、ＬＣＤディスプレイタスク（図７）にノーマル・パワーオンメッセージを発行する。そしてステップＳ１２０８に進み、各タスクにパワーオンメッセージを発行する。これにより各タスクはパワーオンモードに移行する。
【００５４】
またステップＳ１２０９で、ステップＳ１２０２で受取ったメッセージがパワーオフメッセージの場合はステップＳ１２１０に進み、各タスクにパワーオフメッセージを発行する。
【００５５】
またステップＳ１２１１で、パワーオフメッセージに対するパワーオフＯＫ（ＡＣＫ）の場合はステップＳ１２１３に進み、電源断の状態に移行してクロックを停止させる。ステップＳ１２１２では、ステップＳ１２０３で取得したセマフォを解放する。
【００５６】
図１３は、ＬＣＤディスプレイタスクにおける処理を示すフローチャートである。
【００５７】
まずステップＳ１３０１で、メッセージ（タスクイベント）の受信を待ち、ステップＳ１３０２で、セマフォを取得する。このメッセージがアップデート・パワーオンメッセージの場合はステップＳ１３０３からステップＳ１３０４に進み、ＬＣＤ表示部１００６に、そのフラッシュＲＯＭ３００３ａのバージョン情報を表示する。この状態を示したのが図１４（Ａ）である。図１４（Ａ）では、バージョンを示す情報１４００（この例では、バージョン「１１００」）が表示されている。
【００５８】
またステップＳ１３０５で、このメッセージがノーマル・パワーオンメッセージの場合はステップＳ１３０６に進み、ＬＣＤ表示部１００６に、図１４（Ｂ）に示すような表示を行う。そしてステップＳ１３０７では、ステップＳ１３０２で取得したセマフォを解放する。
【００５９】
このように本実施の形態によれば、フラッシュＲＯＭ３００３ａの内容が更新された場合には、その更新が行われたことをユーザに明示的に表示でき、さらには、そのアップデートされたバージョンに関する情報をも表示することができる。
【００６０】
（その他の実施の形態）
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【００６２】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【００６３】
【発明の効果】
以上説明したように本発明によれば、制御ユニット内のメモリの更新における誤動作を防止できるという効果がある。
【００６４】
また本発明によれば、メモリの内容が更新された場合に、電源投入時にその更新の有無、及びその内容に関する情報をユーザにより確認可能となるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るフォトダイレクトプリンタ装置の概観斜視図である。
【図２】本実施の形態に係るフォトダイレクトプリンタ装置の操作パネルの概観図である。
【図３】本実施の形態に係るフォトダイレクトプリンタ装置の制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るフォトダイレクトプリンタ装置のＡＳＩＣの構成を示すブロック図である。
【図５】本実施の形態に係るフォトダイレクトプリンタ装置の制御プログラムにおいて機能モジュールごとにタスク化されたマルチタスク構成を説明する図である。
【図６】本実施の形態に係るフォトダイレクトプリンタ装置におけるメモリアップを説明する図である。
【図７】本発明の実施の形態に係るフォトダイレクトプリンタ装置における全体的な処理の流れを説明する図である。
【図８】本実施の形態に係るフォトダイレクトプリンタ装置におけるローダ部の処理を示すフローチャートである。
【図９】図７のステップＳ７０２のスタートアップ処理を説明するフローチャートである。
【図１０】図７のステップＳ７０５の初期化処理を説明するフローチャートである。
【図１１】図１０のステップＳ１００３のエンジン信号初期化処理を説明するフローチャートである。
【図１２】図７に示すシステムコントロールタスクの処理を説明するフローチャートである。
【図１３】図７に示すＬＣＤディスプレイタスクの処理を説明するフローチャートである。
【図１４】フラッシュＲＯＭのアップデートに応じて変更される電源投入時の表示例を説明する図で、（Ａ）はアップデートが行われた場合を示し、（Ｂ）はそれ以外の場合を示している。
【図１】
0003907520.tif 000002
【図２】
0003907520.tif 000003
【図３】
0003907520.tif 000004
【図４】
0003907520.tif 000005
【図５】
0003907520.tif 000006
【図６】
0003907520.tif 000007
【図７】
0003907520.tif 000008
【図８】
0003907520.tif 000009
【図９】
0003907520.tif 000010
【図１０】
0003907520.tif 000011
【図１１】
0003907520.tif 000012
【図１２】
0003907520.tif 000013
【図１３】
0003907520.tif 000014
【図１４】
0003907520.tif 000015