トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 情報処理装置及びそのメモリのアップデート方法
【発明者】 【氏名】濱本 昭彦
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】愛知 孝郎
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】桝本 和幸
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】諏訪 徹哉
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】河鍋 哲也
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】小野 光洋
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】後藤 史博
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】大島 真人
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【氏名】日比 真
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内

【要約】 【課題】制御ユニット内のメモリの更新における誤動作を防止する。

【解決手段】第1制御ユニット3000と、第1制御ユニット3000からの制御信号に基づいて電力供給が制御される第2制御ユニット3004とを有し、第1制御ユニット3000は、フラッシュROM3003aの内容を更新する際、そのフラッシュROM3003aの更新が完了するまでは制御信号線3023により第2制御ユニット3004をリセット状態にしておき、更新の完了後、制御信号線3023によりリセット状態を解除する。
【特許請求の範囲】
【請求項1】 第1制御ユニットと、前記第1制御ユニットからの制御信号に基づいて電力供給が制御される第2制御ユニットとを有し、前記第1制御ユニットは、前記第1制御ユニットに内蔵されたメモリの内容を更新する際、前記メモリの更新が完了するまでは前記制御信号により第2制御ユニットをリセット状態にしておき、前記更新の完了後、前記制御信号により前記リセット状態を解除するように制御することを特徴とする情報処理装置。
【請求項2】 前記第1制御ユニットは、電源投入時に所定のキースイッチが押下されていることを検知すると前記メモリの更新を開始することを特徴とする請求項1に記載の情報処理装置。
【請求項3】 前記メモリの更新の完了後に前記第1制御ユニット及び第2制御ユニットをソフトパワーオン状態に遷移させる手段を更に有することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】 前記ソフトパワーオン状態の後、前記メモリが更新されたことを表示する表示制御手段を更に有することを特徴とする請求項3に記載の情報処理装置。
【請求項5】 前記表示制御手段は更に、前記メモリの内容のバージョン情報を表示することを特徴とする請求項4に記載の情報処理装置。
【請求項6】 前記情報処理装置はプリンタ装置であり、前記第1制御ユニットは、前記プリンタ装置の主制御部を含み、前記第2制御ユニットはプリンタエンジンを含むことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】 第1制御ユニットと、前記第1制御ユニットからの制御信号に基づいて電力供給が制御される第2制御ユニットとを有する情報処理装置におけるメモリのアップデート方法であって、前記第1制御ユニットは、前記第1制御ユニットに内蔵されたメモリの内容を更新する際、前記メモリの更新が完了するまでは前記制御信号により第2制御ユニットをリセット状態にしておき、前記更新の完了後、前記制御信号により前記リセット状態を解除するように制御することを特徴とするメモリのアップデート方法。
【請求項8】 前記第1制御ユニットは、電源投入時に所定のキースイッチが押下されていることを検知すると前記メモリの更新を開始することを特徴とする請求項7に記載のメモリのアップデート方法。
【請求項9】 前記メモリの更新の完了後に前記第1制御ユニット及び第2制御ユニットをソフトパワーオン状態に遷移させる工程を更に有することを特徴とする請求項7又は8に記載のメモリのアップデート方法。
【請求項10】 前記ソフトパワーオン状態の後、前記メモリが更新されたことを表示する表示制御工程を更に有することを特徴とする請求項9に記載のメモリのアップデート方法。
【請求項11】 前記表示制御工程では更に、前記メモリの内容のバージョン情報を表示することを特徴とする請求項10に記載のメモリのアップデート方法。
【請求項12】 請求項7乃至11のいずれか1項に記載のメモリのアップデート方法を実行することを特徴とするプログラム。
【請求項13】 請求項7乃至11のいずれか1項に記載のメモリのアップデート方法を実行するプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、情報処理装置及びそのメモリのアップデート方法に関するものである。
【0002】
【従来の技術】近年、複数のモジュールで構成される情報処理装置では、短期間での開発や或いは、発売後の機能アップやバグ修正を備えて、フラッシュROMを内蔵したものが急速に普及している。
【0003】一方、環境に対する市場の関心も益々高まっており、待機時やオフ状態での消費電力をいかに小さくするかというさまざまな工夫も存在する。例えば、電源制御モジュールを中心に、各制御モジュール間を、複数の制御信号或いは、通信信号で接続し、電源制御モジュールの制御のもとに各機能モジュールが電源状態を遷移させていく方法である。
【0004】このような情報処理装置において、特にパワースイッチ周りの制御機能が含まれる制御モジュールの書き換えに関しては特に注意が必要であった。その理由は、その制御モジュールの書き換えが失敗すると、その装置の再度のパワーオンさえもできなくなる可能性があるためである。このためパワースイッチ周りの制御機能が含まれる制御モジュールのフラッシュROMの書き換えに関しては、主に開発段階に留まっており、ユーザには開放されていないのが一般的である。
【0005】
【発明が解決しようとする課題】前記のように、パワースイッチ周りの制御機能が含まれる制御モジュールの書き換え時の操作にはいくつかの制約があり、その最も大きな制約は、書き換え終了後にAC電源を抜き、しばらく経過したあと、再びAC電源を投入するといった操作を行う必要がある点、つまり、書き換え終了後には、ハードリセットが必要になることである。
【0006】また、制御モジュールの書き換え中であるか、或いは書き換えが完了したかの報知に関してはLED等への表示に限定されており、一般ユーザには開放するにはまだまだ不十分であった。
【0007】本発明は上記従来例に鑑みてなされたもので、制御ユニット内のメモリの更新における誤動作を防止した情報処理装置及びそのメモリのアップデート方法を提供することにある。
【0008】また本発明の目的は、メモリの内容が更新された場合に、電源投入時にその更新の有無、及びその内容に関する情報をユーザにより確認可能にした情報処理装置及びそのメモリのアップデート方法を提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するために本発明の情報処理装置は以下のような構成を備える。即ち、第1制御ユニットと、前記第1制御ユニットからの制御信号に基づいて電力供給が制御される第2制御ユニットとを有し、前記第1制御ユニットは、前記第1制御ユニットに内蔵されたメモリの内容を更新する際、前記メモリの更新が完了するまでは前記制御信号により第2制御ユニットをリセット状態にしておき、前記更新の完了後、前記制御信号により前記リセット状態を解除するように制御することを特徴とする。
【0010】上記目的を達成するために本発明の情報処理装置のメモリのアップデート方法は以下のような工程を備える。即ち、第1制御ユニットと、前記第1制御ユニットからの制御信号に基づいて電力供給が制御される第2制御ユニットとを有する情報処理装置におけるメモリのアップデート方法であって、前記第1制御ユニットは、前記第1制御ユニットに内蔵されたメモリの内容を更新する際、前記メモリの更新が完了するまでは前記制御信号により第2制御ユニットをリセット状態にしておき、前記更新の完了後、前記制御信号により前記リセット状態を解除するように制御することを特徴とする。
【0011】
【発明の実施の形態】以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。尚、本実施の形態では、PCカードスロットを有し、記録方法としてインクジェット方式を採用している記録装置(フォトダイレクトプリンタ装置)を例に挙げて説明する。しかし、本発明はこのような装置に限定されるものでなく、例えばパーソナルコンピュータのようなコンピュータ機器や、プリンタ装置等の入出力装置等にも適用可能である。
【0012】図1は、本発明の実施の形態に係るフォトダイレクトプリンタ装置1000の概観斜視図である。このフォトダイレクトプリンタは、ホストコンピュータ(PC)からデータを受信して印刷する、通常のPCプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを直接受信して印刷する機能を備えている。
【0013】図1において、本実施の形態に係るフォトダイレクトプリンタ装置1000の外殻をなす本体は、下ケース1001、上ケース1002、アクセスカバー1003及び排出トレイ1004の外装部材を有している。また、下ケース1001は、装置1000の略下半部を、上ケース1002は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ1004は、その一端部が下ケース1001に回動自在に保持され、その回動によって下ケース1001の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ1004を前面側へと回動させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ1004には、2枚の補助トレイ1004a,1004bが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を3段階に拡大、縮小させ得るようになっている。
【0014】アクセスカバー1003は、その一端部が上ケース1002に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー1003を開くことによって本体内部に収納されている記録ヘッドカートリッジ(不図示)あるいはインクタンク(不図示)等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー1003を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
【0015】また、上ケース1002の上面には、電源キー1005が押下可能に設けられている。また、上ケース1002の右側には、液晶表示部1006や各種キースイッチ等を備える操作パネル1010が設けられている。この操作パネル1010の構成は、図2参照して詳しく後述する。1007は自動給送部で、記録シートを装置本体内へと自動的に給送する。1008は紙間選択レバーで、記録ヘッドと記録シートとの間隔を調整するためのレバーである。1009はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード(PC)としては、例えばコンパクトフラッシュ(登録商標)メモリ、スマートメディア、メモリスティック等がある。1011はビューワ(液晶表示部)で、この装置本体に着脱可能であり、PCカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、1コマ毎の画像やインデックス画像などを表示するのに使用される。1012は後述するデジタルカメラを接続するための端子、1013は、パーソナルコンピュータ(PC)を接続するためのUSBバスコネクタを示す。
【0016】図2は、本実施の形態に係る操作パネル1010の概観図である。
【0017】図において、液晶表示部1006には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここでに表示される項目としては、印刷したい範囲の先頭写真番号、指定コマ番号(開始/−指定)、印刷を終了したい範囲の最後の写真番号(終了)、印刷部数(部数)、印刷に使用する用紙(記録シート)の種類(用紙種類)、1枚の用紙に印刷する写真の枚数設定(レイアウト)、印刷の品位の指定(品位)、撮影した日付を印刷するかどうかの指定(日付印刷)、写真を補正して印刷するかどうかの指定(画像補正)、印刷に必要な用紙枚数の表示(用紙枚数)等がある。これら各項目は、カーソルキー2001を用いて選択、或いは指定される。2002はモードキーで、このキー2002を押下する毎に、印刷の種類(インデックス印刷、全コマ印刷、1コマ印刷等)を切り替えることができ、これに応じてLED2003の対応するLEDが点灯される。2004はメンテナンスキーで、記録ヘッド1301のクリーニング等、プリンタのメンテナンスや印刷領域指定モードに入るためのキーである。2005は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。2006は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【0018】また、この操作パネル1010の上部には、押下可能な電源スイッチ(Powerスイッチ)2008及びレジュームスイッチ(Resume スイッチ)2007と、プリンタエンジン3004(図3)の動作状態を示す2色分のLED2009が配置されている。これらレジュームスイッチ2007,電源スイッチ2008からの各入力信号は、後述するASIC3001(図3)のスイッチI/Fモジュールの管理のもとにプリンタエンジン3004にも出力されている。
【0019】次に図3を参照して、本実施の形態に係るフォトダイレクトプリンタ装置1000の制御に係る主要部の構成を説明する。尚、この図3において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【0020】図3において、3000は制御部(制御基板)を示している。3001はASIC(専用カスタムLSI)を示している。3002はCPUで、後述する装置全体の各種制御処理及び、画像処理等を担当している。また、CPU3002の内部には、2次キャッシュとしても動作可能な64kバイトの内臓RAM(IRAM)3002aを併せもっている。3003はメモリで、CPU3002の制御プログラムを記憶する2MバイトのフラッシュROM(FlashROM)3003a、及び実行時のプログラムを記憶し、画像データなどを記憶するためのワークメモリとして機能する8MバイトのSDRAM3003bを有している。3004はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。3005はデジタルカメラ3012を接続するためのポートとしてのUSBバスコネクタである。3006はビューワ1011を接続するためのコネクタである。3008はUSBバスハブ(USB HUB)で、このプリンタ装置1000がPC3010からの画像データに基づいて印刷を行う際には、PC3010からのデータをそのままスルーし、USBバス3021を介してプリンタエンジン3004に出力する。これにより、接続されているPC3010は、プリンタエンジン3004と直接、データや信号のやり取りを行って印刷を実行することが出来る(一般的なPCプリンタとして機能する)。3009は電源コネクタで、電源3013により、商用ACから変換された直流電圧を入力している。PC3010は一般的なパーソナルコンピュータ、3011は前述したメモリカード(PCカード)、3012はデジタルカメラである。
【0021】尚、この制御部3000とプリンタエンジン3004との間の信号のやり取りは、前述したUSBバス3021又はIEEE1284バス3022を介して行われる。
【0022】更に、制御部3000とプリンタエンジン3004との間には、電源スイッチ2008及びレジュームスイッチ2007からの信号状態を示す2本のスイッチ信号線3023、及びプリンタエンジン3004内部の制御モジュール(CPUやASIC)をリセットするためのエンジンリセット信号線3024が接続されている。2本のスイッチ信号線3023のそれぞれは、操作パネル1010に配置されたレジュームスイッチ2007、電源スイッチ2008のそれぞれの押下状態に対応した信号を伝えるが、後述するASIC3001内部のスイッチI/F機能部の設定に応じて、これらスイッチ2007,2008の押下状態を直接プリンタエンジン3004に伝送する(スルーモード)か、或いは、制御部3000によってエミュレートした信号としてプリンタエンジン3004に伝送するか(CPUモード)を選択可能になっている。
【0023】図4は、ASIC3001の構成を示すブロック図で、この図4においても、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【0024】4001はPCカードインターフェース部で、装着されたPCカード3011に記憶されている画像データを読取ったり、或いはPCカード3011へのデータの書き込み等を行う。4002はIEEE1284インターフェース部で、プリンタエンジン3004との間のデータのやり取りを行う。このIEEE1284バスは、デジタルカメラ3012或いはPCカード3011に記憶されている画像データを印刷する場合に使用されるバスである。4003はUSBインターフェース部で、PC3010との間でのデータのやり取りを行う。4004はUSBホストインターフェース部で、デジタルカメラ3012との間でのデータのやり取りを行う。4005は操作パネル・インターフェース部で、操作パネル1010からの各種操作信号を入力したり、表示部1006への表示データの出力などを行う。4006はビューワ・インターフェース部で、ビューワ1011への画像データの表示を制御している。4007aは、上述したレジュームスイッチ2007や電源スイッチ2008及びLED2009等との間のインターフェースを制御するインターフェース部である。また4007bは、プリンタエンジン3004の各種スイッチとのインターフェースを制御するスイッチI/Fである。
【0025】4011は、プリンタエンジン3004のリセット制御を行うためのレジスタであり、リセットスタートした後、ASIC内の他のモジュールがASICによって自動的に初期化されるのと異なり、リセットスタート後も自動的には初期化されることはなく、完全に電力供給がなくなった時に初めて初期値に初期化される(電源リセット)。つまり、このレジスタの設定値を参照することにより、単純なリセットスタートであるのか、或いは電源3013のオン/オフ、即ち、AC電源の抜き挿しによるハードリセットであるかが判別することができる。4008はCPUインターフェース部で、CPU3002との間でのデータのやり取りの制御を行っている。4010はこれら各部を接続する内部バス(ASICバス)である。
【0026】上述したように本実施の形態に係るフォトダイレクトプリンタ装置1000では、CPU3002が、図3のメモリ3003に記憶された制御プログラムに従って、画像処理に加えて、装置の各部の制御をも実行している。
【0027】この制御プログラムは、機能モジュールごとにタスク化したマルチタスク形式で構成されており、そのタスク構成の主なものを示すと図5のようになる。
【0028】図5において、8000はシステムコントロールタスクで、各タスク間でのイベント発行、イベントの終了に伴うシーケンス制御や排他処理等、システム全体の調停を行っている。8001はキーイベントタスクを示し、操作パネル1010のキー操作に基づいて、押下されたキーの解析等を行う。8002はLCD表示部1006への表示タスクを示し、表示部1006におけるUI制御或はメッセージ表示要求等が発生した時点で起動され、表示部1006への表示制御を実行している。8003はPCカード3011への読み書きによるデータの入出力により起動されるタスクを示す。8004はUSBバスを介して接続されるPC3010からのデータ転送により起動されるUSBプリンタタスクで、USBのプリンタ割り込みにより起動され、PCプリンタとしての機能を実行する。8005は、システムコントロールタスク8000により起動され、ファームウェアの初期化を行う。またシステムコントロールタスク8000からのメッセージに応じて、下位タスクであるUSBコントロールタスク、USBバルクタスクの起動・終了を行う。擬似USBホストタスク8006は、USBタスクにより起動され、USBを介して接続されるデジタルカメラ3012からのデータの読込みや各種通信制御等を実行する。8007はファイルタスクで、ファイルのオープン、クローズ、リード、ライト等の入出力制御を行う。
【0029】8008はプリンタエンジン3004と接続されるセントロニクス・インターフェースから起動されるタスクで、印刷データのDMA送信、ステータス応答等を実行する。8009は画像処理タスクで、RGBデータを受取り、3D処理、四面体補完、色変換やスケーリング及び誤差拡散処理などによりYMCKデータを作成し、最終的にプリンタエンジン3004に出力するラスタイメージデータを作成する。8010はページ・クリエイトタスクで、JPEGデータを伸長して画像データに変換したり、或はBMP形式のデータからイメージデータを作成したり、或はHTML文書からイメージデータを作成するとともに、フォトデータの補正、階調補正等の画像処理やRGBデータの作成等を行っている。8011はビューワタスクで、ビューワ1011が接続されている状態で、ビューワ1011への表示制御を実行している。
【0030】次に、制御コードのメモリマップ上での配置について説明する。
【0031】図6は、IRAM3002a、フラッシュRAM3003a及びSDRAM3003bの間での制御データやプログラムのやり取りを説明するメモリマップ図である。
【0032】上述した制御コードは、電気的に書き換え可能な2MバイトのフラッシュROM3003aに格納されている。本実施の形態では、フラッシュROM3003aの2Mバイトの上位64kバイトにリセットスタート時に必要な特殊コードを記憶し、残りの(2M−64k)バイトに、図5を参照して説明した各タスクを実行するプログラムコードを格納している。
【0033】上述のリセットスタート時に必要な特殊コードは、1kバイトのローダ(Loader)部600、及び残り63kバイトのスタートアップ(StartUP)部601で構成される。制御部3000のリセットが解除されると、ハードウェアによって自動的に、フラッシュROM3003a先頭1kバイトのローダ部600が、CPU3002の内臓RAM(IRAM)の先頭1kバイトにコピーされる(図6の■で示す)。次に、フラッシュROM3003aの先頭から64kバイト、つまりは特殊コードをSDRAM3003bの先頭から64kバイトにコピーする(図6の■)。
【0034】また、フラッシュROM3003aに格納されたプログラムコードは、後述するスタートアップ処理でSDRAM3003bにコピーされる(図6の■)。その後、CPU3002はSDRAM3003bから、そのプログラムコードを読み込んで、そのプログラムコードに従った処理を実行することによって、各種タスクを実行して本実施の形態に係るプリンタ装置における制御処理を実行している。図6の■は、スタートアップ処理の後、SDRAM3003bのベクタテーブルをIRAM3002aにコピーする処理を示している。
【0035】次に前述の特殊コードと通常コードとの関連について図7以降のフローチャートを参照して説明する。
【0036】図7は、本実施の形態に係るフォトダイレクトプリンタ装置1000における全体的な処理の流れを示すフローチャートである。
【0037】この処理は、制御部3000がリセットされ、そのリセットが解除されることにより開始され、まずステップS701で、ハードウェアによって自動的に、フラッシュROM3003aの先頭から1kバイトに格納されているローダ部600が、CPU3002の内臓RAM(IRAM)3002aの先頭から1kバイトにコピーされる(図6の■)。そしてIRAM3002aの先頭番地から、ローダ部600のプログラムコードが実行される。次にステップS702に進み、ローダ部600のプログラムコードは、図8のローダ部600の制御フローチャートに示すように、CPU内臓レジスタの初期化を行い(S801)、次にIRAM3002aの残りエリア(64k−16k)バイトの初期化、及びIRAM3002aの下48kバイトを2次キャッシュとして使うためのCPU内臓レジスタの設定等を行う(S802)。
【0038】なお、IRAM3002aの先頭から1kバイトの後に続く32バイトの領域602(図6)は、後述するスタートアップ処理で判別されるパワーオン情報(通常モード、ファンクションチェックモード、工場モード、電気チェックモード、アップデートモード)を保持するための領域として確保されている。
【0039】次にステップS803に進み、ローダ部での最終処理として、フラッシュROM3003aの先頭から64kバイト、つまり特殊コードをSDRAM3003bの先頭から64kバイトにコピーする(図6の■)処理を実行して、ローダ部600による処理を終了する。
【0040】次に図7のステップS702に進み、IRAM3002aに記憶されているローダ部600から、SDRAM3003bに格納されているスタートアップ部601に分岐し、図9に示すスタートアップ部601のプログラムコードが実行される。
【0041】図9は、スタートアップ部601により実行される処理(ステップS702)を示すフローチャートである。
【0042】まずステップS901で、ASIC3001内部のエンジンリセットレジスタ4011(図4)を参照し、既にプリンタエンジン3004がリセット解除済みであるか否か、即ち、電源オンによりプリンタエンジン3004がリセットされているか否かを判定する。解除済みの場合はステップS902に進み、通常シーケンスとして、フラッシュROM3003aの残り、つまり通常コード部分をSDRAM3003bにコピーする(図6の■、S902)。そしてステップS903に進み、SDRAM3003bの先頭から64kバイトのアドレス(80010000h)に分岐する。ここには、通常ルーチン先頭アドレスであるC_INT00へのジャンプコード603(図6)が格納されている。これを実行することで、特殊コード部分の処理を終了し、通常コード部分に移行する(S903)。
【0043】一方、ステップS901で、リセット解除済みでない場合は、前述のレジュームスイッチ2007,電源スイッチ2008,及び制御部3000を実装している基板に設けられている特殊ピン(不図示)の設定状態に応じて、それぞれ対応する処理に進む。これら全てがオフの場合はステップS904に進み、通常のモードをセットしてステップS911に進む。特殊ピンがオンに設定されている場合はステップS905に進み、制御部3000のRAMチェックを行い、ステップS906で、機能チェックモードをセットしてステップS911に進む。電源スイッチ2008がオンの場合はステップS907に進み、工場での出荷モードをセットする。レジュームスイッチ2007と電源スイッチ2008が同時に押下されている場合はステップS908に進み、電気系統のチェックモードをセットする。またレジュームスイッチ2007のみがオンされている場合はステップS909に進み、フラッシュROM3003aのアップデートを行い、次にステップS910で、フラッシュROM3003aがアップデートされたことを示すアップデートモードをセットする。これらの処理が終了するとステップS911に進み、IRAM3002aのパワーオン情報602に、これらステップS904,S906,S907,S908,S908のいずれかでセットされたモード情報を格納してステップS902に進む。
【0044】これによりフラッシュROM3003aのアップデートを行う場合には、一旦、フォトダイレクトプリンタ装置1000をAC電源から切り離した後、レジュームスイッチ2007を押下したまま、ACコンセントをAC電源に接続して電源3013にAC電源を供給する。この場合、図9のスタートアップ処理において、ステップS901でプリンタエンジン3004のリセットが解除されておらず、レジュームスイッチ2007のみがオンであるためステップS909に進み、フラッシュROM3003aのアップデートが実行されることになる。
【0045】こうして図9に示すスタートアップ処理が終了するとステップS903でC_INT00にジャンプして図7のステップS703に進む。ここでは図6の■で示すように、ベクタテーブルをIRAM3002aにコピーし、次にステップS704で、OSカーネルを起動する。そしてステップS705に進み、イニシャライザ(Initializer)を実行する。
【0046】図10は、このイニシャライザ(Initializer)を説明するフローチャートである。
【0047】まずステップS1001で、ゲートアレイ(GA)による初期化を行なってプリンタエンジン3004のリセットを行う。次にステップS1002に進み、タスク・スケジューリング等のためのタイマをスタートさせ、ステップS1003で、エンジン信号の初期化処理を実行する。この処理は図11のフローチャートを参照して詳しく後述する。次にステップS1004に進み、IRAM3002aに記憶されているパワーオン情報を読み出して、機能チェックや電気チェック等のチェックモードがセットされているときはステップS1006に進み、それをチェックするチェッカープログラムを起動してチェッカー処理を実行する。それ以外の時はステップS1005に進み、その設定されているモードに対応してシステムコントロールタスクを起動する。
【0048】図11は、ステップS1003のエンジン信号の初期化処理を示すフローチャートである。
【0049】まずステップS1101で機能チェックモードかをみる。そうであれば何もせずにリターンする。そうでないときはステップS1102に進み、図4に示すスイッチI/F4007a,bをスルーモード(レジュームスイッチ2007,電源スイッチ2008からの信号をそのままプリンタエンジン3004に送るモード)にセットする。次にステップS1102に進み、プリンタエンジン3004のリセットが解除されているかを調べ、解除されていればステップS1105に進むが、そうでないときはステップS1103に進み、プリンタエンジン3004のリセットを解除し、ステップS1104で約2秒間待機する。次にステップS1105に進み、フラッシュROM3003aがアップデートされているかどうかをみる。そうでないときはそのままリターンするが、アップデートされている時はステップS1106に進み、図4に示すスイッチI/F4007a,bをCPUモード(電源スイッチ2008からの信号を制御部3000により処理してプリンタエンジン3004に送るモード)にセットする。次にステップS1107に進み、電源スイッチ2008が押下されたことを示す信号(信号線3023)をオンにし、ステップS1108で約50m秒間待機し、ステップS1109で電源スイッチ2008が押下されたことを示す信号(信号線3023)をオフにする。これによりプリンタエンジン3004に対して、電源スイッチ2008がオンされたことを通知する。そしてステップS1110に進み、再びステップS1102と同様にして、図4に示すスイッチI/F4007a,bをスルーモード(電源スイッチ2008からの信号をそのままプリンタエンジン3004に送るモード)にセットする。そしてステップS1111に進み、プリンタエンジン3004の電源がオンされるのを待ってリターンする。
【0050】このように、制御部3000のフラッシュROM3003aの内容が書換えられて、その内容が更新された場合は、そのアップデートの完了後、プリンタエンジン3004に対して電源をオンするように、電源オン信号が信号線3023を介して制御部3000からプリンタエンジン3004に送られて初めてプリンタエンジン3004が電源オン状態になる。
【0051】次に、このようにしてフラッシュROM3003aが書き換えられた後、その書き換えが行われたことを表示する処理について説明する。
【0052】図12は、図7のシステムコントロールタスクの処理を示すフローチャートである。
【0053】まずステップS1201で、各タスクを起動し、ステップS1202で、メッセージ(タスクイベント)の受信を待ち、ステップS1203で、セマフォを取得する。このメッセージがパワーオンメッセージの場合はステップS1204からステップS1205に進み、パワーオン情報によりフラッシュROM3003aがアップデートされているかをみる。アップデートされている時はステップS1206に進み、LCDディスプレイタスク(図7:LCD表示部1006への表示処理を行う)にアップデート・パワーオンメッセージを発行する。一方ステップS1205で、フラッシュROM3003aがアップデートされていない場合はステップS1207に進み、LCDディスプレイタスク(図7)にノーマル・パワーオンメッセージを発行する。そしてステップS1208に進み、各タスクにパワーオンメッセージを発行する。これにより各タスクはパワーオンモードに移行する。
【0054】またステップS1209で、ステップS1202で受取ったメッセージがパワーオフメッセージの場合はステップS1210に進み、各タスクにパワーオフメッセージを発行する。
【0055】またステップS1211で、パワーオフメッセージに対するパワーオフOK(ACK)の場合はステップS1213に進み、電源断の状態に移行してクロックを停止させる。ステップS1212では、ステップS1203で取得したセマフォを解放する。
【0056】図13は、LCDディスプレイタスクにおける処理を示すフローチャートである。
【0057】まずステップS1301で、メッセージ(タスクイベント)の受信を待ち、ステップS1302で、セマフォを取得する。このメッセージがアップデート・パワーオンメッセージの場合はステップS1303からステップS1304に進み、LCD表示部1006に、そのフラッシュROM3003aのバージョン情報を表示する。この状態を示したのが図14(A)である。図14(A)では、バージョンを示す情報1400(この例では、バージョン「1100」)が表示されている。
【0058】またステップS1305で、このメッセージがノーマル・パワーオンメッセージの場合はステップS1306に進み、LCD表示部1006に、図14(B)に示すような表示を行う。そしてステップS1307では、ステップS1302で取得したセマフォを解放する。
【0059】このように本実施の形態によれば、フラッシュROM3003aの内容が更新された場合には、その更新が行われたことをユーザに明示的に表示でき、さらには、そのアップデートされたバージョンに関する情報をも表示することができる。
【0060】(その他の実施の形態)本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0061】また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【0062】更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【0063】
【発明の効果】以上説明したように本発明によれば、制御ユニット内のメモリの更新における誤動作を防止できるという効果がある。
【0064】また本発明によれば、メモリの内容が更新された場合に、電源投入時にその更新の有無、及びその内容に関する情報をユーザにより確認可能となるという効果がある。
【出願人】 【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
【出願日】 平成14年5月14日(2002.5.14)
【代理人】 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳 (外3名)
【公開番号】 特開2003−330810(P2003−330810A)
【公開日】 平成15年11月21日(2003.11.21)
【出願番号】 特願2002−139062(P2002−139062)