(57)【要約】【課題】  デジタルカメラのシステムの信頼性を確保しつつ、起動性を向上させること。【解決手段】  被写体を撮影して画像データを出力するデジタルカメラであって、デジタルカメラの動作に必要なソフトウエアを記憶すると共に、その初期化結果を示すデータを記憶するシステムメモリ（１８）と、前記データの信頼性に関する情報を提供するパワーオンリセット信号発生回路（２５）と、前記ソフトウエア及び前記データに基づいてデジタルカメラを制御する全体制御ＣＰＵ（８）とを有し、起動時に、全体制御ＣＰＵはパワーオンリセット信号発生回路からの情報に基づいて前記データの信頼性を判断し、信頼性が低い場合には、前記データを用いることなくソフトウエアの初期化動作及びデジタルカメラを動作させる為のハードウエアの初期化動作を行い、信頼性が高い場合には、前記データを用いることによりソフトウエアの初期化動作の少なくとも一部を省略すると共にハードウエアの初期化動作を行う。【選択図】  図１
2006013908.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影して画像データを出力するデジタルカメラであって、
前記デジタルカメラの動作に必要なソフトウエアを記憶すると共に、前記ソフトウエアの初期化結果を示すデータを記憶する、不揮発性メモリ手段と、
前記データの信頼性に関する情報を提供する情報提供手段と、
前記ソフトウエア及び前記データに基づいて、前記デジタルカメラを制御する制御手段とを有し、
前記デジタルカメラの起動時に、前記制御手段は、前記情報提供手段からの情報に基づいて前記データの信頼性を判断し、信頼性が低い場合には、前記不揮発性メモリ手段に記憶されたデータを用いることなくソフトウエアの初期化動作及び前記デジタルカメラを動作させる為のハードウエアの初期化動作を行う第１のモードを実行し、信頼性が高い場合には、前記不揮発性メモリ手段に記憶されたデータを用いることによりソフトウエアの初期化動作の少なくとも一部を省略すると共にハードウエアの初期化動作を行う第２のモードを実行することを特徴とするデジタルカメラ。
【請求項２】
前記情報提供手段は、前記デジタルカメラの電源がオフにされてから次に電源がオンされるまでの間に、前記デジタルカメラの電源として用いる電池が交換された場合に当該情報を提供し、前記制御手段は、電池が交換された場合には前記第１のモードを実行し、電池が交換されていない場合には前記第２のモードを実行することを特徴とする請求項１に記載のデジタルカメラ。
【請求項３】
前記情報提供手段は、前記デジタルカメラの電源がオフにされている時間を計測する計時手段であって、前記制御手段は、前記計時手段により計測された時間が所定時間よりも長い場合には前記第１のモードを実行し、短い場合には前記第２のモードを実行することを特徴とする請求項１に記載のデジタルカメラ。
【請求項４】
前記情報提供手段は、異常状態を検出し、当該情報を記憶する異常状態検出手段であって、前記制御手段は、前記異常状態検出手段から前記情報が提供された場合には前記第１のモードを実行し、提供されない場合には前記第２のモードを実行することを特徴とする請求項１に記載のデジタルカメラ。
【請求項５】
前記不揮発性メモリ手段は初期化結果を示すデータを複数箇所に記憶し、前記情報提供手段は、前記複数箇所に記憶されたデータを比較して、一致したか否かを示す情報を出力し、前記制御手段は、データが不一致の場合には前記第１のモードを実行し、一致した場合には前記第２のモードを実行することを特徴とする請求項１に記載のデジタルカメラ。
【請求項６】
前記情報提供手段は、初期化結果を示すデータのチェックサムを算出して前記不揮発性メモリ手段に格納すると共に、前記デジタルカメラの起動時に前記データのチェックサムを算出し、前記制御手段は、前記デジタルカメラの起動時に算出したチェックサムと前記前記不揮発性メモリ手段に格納されたチェックサムとを比較して、不一致の場合には前記第１のモードを実行し、一致した場合には前記第２のモードを実行することを特徴とする請求項１に記載のデジタルカメラ。
【請求項７】
前記不揮発性メモリ手段は、ＭＲＡＭまたはＦＲＡＭであることを特徴とする請求項１乃至６のいずれかに記載のデジタルカメラ。
【請求項８】
デジタルカメラの動作に必要なソフトウエアを記憶すると共に、前記ソフトウエアの初期化結果を示すデータを記憶する、不揮発性メモリ手段と、前記ソフトウエア及び前記データに基づいて、前記デジタルカメラを制御する制御手段とを有し、被写体を撮影して画像データを出力するデジタルカメラの制御方法であって、
前記データの信頼性に関する情報を提供する情報提供工程と、
前記デジタルカメラの起動時に、前記情報提供工程からの情報に基づいて前記データの信頼性を判断する判断工程と、
前記判断工程により信頼性が低いと判断された場合には、前記データを用いることなくソフトウエアの初期化動作及び前記デジタルカメラを動作させる為のハードウエアの初期化動作を行う第１のモードを実行し、前記判断工程により信頼性が高いと判断された場合には、前記データを用いてソフトウエアの初期化動作の少なくとも一部を省略すると共にハードウエアの初期化動作を行う第２のモードを実行する初期化工程と
を有することを特徴とする制御方法。
【請求項９】
前記情報提供工程では、前記デジタルカメラの電源がオフにされてから次に電源がオンされるまでの間に、前記デジタルカメラの電源として用いる電池が交換された場合に当該情報を提供し、前記判断工程では、電池が交換された場合には信頼性が低いと判断し、電池が交換されていない場合には信頼性が高いと判断することを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記情報提供工程では、前記デジタルカメラの電源がオフにされている時間を計測し、前記判断工程では、計測された時間が所定時間よりも長い場合には信頼性が低いと判断し、短い場合には信頼性が高いと判断することを特徴とする請求項８に記載の制御方法。
【請求項１１】
前記情報提供工程では、異常状態を検出して当該情報を記憶し、前記判断工程では、前記情報提供工程において前記情報が提供された場合には信頼性が低いと判断し、提供されない場合には信頼性が高いと判断することを特徴とする請求項８に記載の制御方法。
【請求項１２】
初期化結果を示すデータを前記不揮発性メモリ手段に複数箇所に格納する工程を更に有し、
前記情報提供工程では、前記複数箇所に記憶されたデータを比較して、一致したか否かを示す情報を出力し、前記判断工程では、データが不一致の場合には信頼性が低いと判断し、一致した場合には信頼性が高いと判断することを特徴とする請求項８に記載の制御方法。
【請求項１３】
初期化結果を示すデータのチェックサムを算出して前記不揮発性メモリ手段に格納する工程を更に有し、
前記情報提供工程では、前記デジタルカメラの起動時に前記データのチェックサムを算出し、前記判断工程では、前記デジタルカメラの起動時に算出したチェックサムと前記前記不揮発性メモリ手段に格納されたチェックサムとを比較して、不一致の場合には信頼性が低いと判断し、一致した場合には信頼性が高いと判断することを特徴とする請求項８に記載の制御方法。
【請求項１４】
前記不揮発性メモリ手段は、ＭＲＡＭまたはＦＲＡＭであることを特徴とする請求項８乃至１３のいずれかに記載の制御方法。
【請求項１５】
請求項８乃至１４のいずれかに記載の制御方法を実現するためのプログラムコードを有することを特徴とする情報処理装置が実行可能なプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶したことを特徴とする情報処理装置が読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルスチルカメラやデジタルビデオカメラ等のデジタルカメラ及びその制御方法に関し、特にオペレーティングシステム（ＯＳ）やユーザープログラム、このプログラムを実行する為のデータ等を記憶する為のメモリとして、ＭＲＡＭやＦＲＡＭと呼ばれる高速アクセス可能な不揮発性メモリをシステムメモリとして使用したデジタルカメラに関する。
【背景技術】
【０００２】
従来から一般的に使用されているデジタルカメラのシステムメモリとしては、ＦＬＡＳＨメモリと呼ばれる不揮発性メモリが用いられる。図２１に、ＦＬＡＳＨメモリを用いた従来のデジタルカメラの構成の一例を示す。内部は大きく分けて、カメラブロックを制御する為のカメラ制御系と、画像処理やＰＣ周辺機器との接続を司るデジタル制御系の２つに分けられる。
【０００３】
図２１において、撮像光学系３及びシャッター２を通して入射する被写体像が撮像素子１で結像し、所定の電気信号として出力される。撮像光学系３は、カメラ制御ＣＰＵ９からの指示によって所定のズーム動作やフォーカス動作を行わせる為のレンズ駆動部１０を介して、撮像素子１への適切な光を導くように配置されている。
【０００４】
一方シャッター２は、同様にカメラ制御ＣＰＵ９からの指示によってシャッター駆動部１１を介して駆動制御され、実際の撮像素子１への露光を制御する構成となっている。
【０００５】
撮像素子１は一定の同期信号を出力する同期信号発生部（ＳＳＧ）７からの信号に基づいて動作するタイミングジェネレータ（ＴＧ）６からのタイミング制御信号（水平駆動パルス及び垂直駆動パルス）に基づいて動作し、その画像信号出力はＡＦＥ４（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ  Ｐｒｏｃｅｓｓｏｒ）に入力してここで適切なサンプリング動作とＡ／Ｄ変換動作を行ってデジタル信号に変換した後、デジタル信号処理部（ＤＳＰ）５に入力する構成となっている。
【０００６】
ＤＳＰ５はＡＦＥ４からのデジタル信号を入力して、この画像データに対して実際の絵作りを行う為の画像処理を行ったり、その画像処理した結果に対していわゆるＪＰＥＧ圧縮等の画像圧縮を施すといった動作を行うが、実際には撮影した画像データの入力速度に対して画像処理が追いつかない場合を想定して、外部に接続されたバッファメモリ１４に対して一時的に画像データを取り込んで記憶する為のメモリコントロール手段も内蔵している。
【０００７】
従って通常の動作では、一旦撮影した画像データをバッファメモリ１４に記憶した後、バッファメモリ１４から画像データを読み出して所定の画像処理を行い、次いでＪＰＥＧ圧縮を行ってその結果を再びバッファメモリ１４に書き戻すという動作を行う。
【０００８】
また、バッファメモリ１４に記憶した最終画像データを全体制御ＣＰＵ８が読み出して、所定のファイル情報を付加しながら、カードコントローラ１５を介してカードメモリ１６に記憶する。カードコントローラ１５は様々な規格のカードメモリ（例えば、コンパクトフラッシュ（登録商標）カード、ＳＤカード等）に対応してその物理的な制御や論理的な制御を司る為のものであり、システムバスを介してＤＳＰ５及び全体制御ＣＰＵ８等と繋がっている。
【０００９】
ＤＳＰ５はＴＦＴコントローラ１２を介してＴＦＴモニター１３に撮影画像等を表示する為のビデオコントロール機能を有しており、バッファメモリ１４またはカードメモリ１６に記憶してある画像の一部若しくは縮小画像を、このビデオコントロール機能を使って表示する。
【００１０】
全体制御ＣＰＵ８は上記デジタル信号処理全般を制御する為のものであり、このＣＰＵ８はシステムメモリ３０（ＦＬＡＳＨメモリ）及びＲＯＭ２６（ＦＬＡＳＨメモリやマスクＲＯＭ）に記憶したＯＳやユーザープログラムに基づいて動作を実行する。
【００１１】
更には上記システムバス上に配置されたＰＣ接続コントローラ１７は、外部にあるＰＣ１９との接続を確立する為に所定のプロトコルに従ってデータをやり取りするものであり、バッファメモリ１４やカードメモリ１６のデータをこのＰＣ接続コントローラ１７を介して外部ＰＣ１９に転送制御する。
【００１２】
このようにカメラ部を制御するカメラ制御ＣＰＵ９、及び主として画像処理やＰＣ周辺機器といったデジタル部を制御する全体制御ＣＰＵ８とは互いに所定の通信手段を介してタイミングや情報のやり取りを行い、カメラの撮影シーケンス動作に応じて適切な処理を行うように動作している。
【００１３】
また、本システムでは全体のシステムへ電力を供給する為のメイン電源２０とメイン電源が無い時のバックアップ用としてのバックアップ電源２１が存在し、ダイオード２２並びにダイオード２３を使った逆流防止回路を経てリアルタイムクロック発生回路２４への電力供給を行っている。
【００１４】
この場合、メイン電源２０が無い場合でもバックアップ電源２１により常にリアルタイムクロック発生回路２４への電源が供給されているので、どのような場合でも常にその時の時間情報を把握する事は可能である。
【００１５】
一方、メイン電源２０が投入された場合にのみ信号を出力するパワーオンリセット信号発生回路２５の信号は、カメラ制御ＣＰＵ９及び全体制御ＣＰＵ８の両方に入力しており、メイン電源２０の投入状態を把握することができる。
【００１６】
上述したように、システムメモリ３０としてＦＬＡＳＨメモリを使用したデジタルカメラの起動制御動作では、カメラの電源がシステムに投入される度にＦＬＡＳＨメモリに記憶されたＯＳやユーザープログラムを起動した上で、そのＯＳやユーザープログラムの実行過程における初期化データを、ＣＰＵ内部に存在するＳＲＡＭ若しくは外部に存在するＳＤＲＡＭといった揮発性メモリに毎回設定していた。
【００１７】
このカメラの起動制御動作の中では、まず最初にＯＳ自体の内部モジュール（通常圧縮されている場合がある）を解凍した上で初期のパラメータを設定して各リソースの初期化動作を行い、次いでＯＳの管理下で動作実行するユーザープログラムの中で使用する様々なミドルウェアーに対して、初期パラメータを設定して各リソースの初期化動作を行うようにしている。
【００１８】
また、上記動作に続いてＣＰＵ内部のハードウェアやＣＰＵの外部に接続されている周辺デバイスを制御する為のいわゆるデバイスドライバーに関しての初期化動作を行うようにしている。
【００１９】
【特許文献１】特開２００３−１８９１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、上記従来例で使用していたＦＬＡＳＨメモリの場合、アクセス速度が非常に遅く、このＦＬＡＳＨメモリからプログラムを直接実行させようとした場合は、ＣＰＵの動作速度が思ったように上がらないという問題点がある。
【００２１】
この問題点を簡単に解決する方法としては、カメラの機動制御時にＦＬＡＳＨメモリに記憶したＯＳやユーザープログラムといったＣＰＵが実行する為のインストラクションそのものを初めにＦＬＡＳＨメモリからＳＤＲＡＭに全て転送し、転送完了後にこのＳＤＲＡＭ上のデータをＣＰＵが実行する方法が一般的に使用されているが、この場合全てのデータをＦＬＡＳＨメモリからＳＤＲＡＭにコピーする為の時間が数１００ｍＳＥＣから１秒近くにもなる関係上、実際の起動開始からプログラムの実行開始迄のタイムラグが非常に長くなってしまう。
【００２２】
更に、この動作の後にＯＳ自体の内部モジュールの初期化やユーザープログラムのミドルウェア等の初期化動作といったソフトウェア部品の初期化動作、続いてＣＰＵ内部の回路や周辺デバイスを駆動制御する為のデバイスドライバーといったハードウェア部品の初期化動作も行うため、その時間も数１００ｍＳＥＣ規模で時間を要してしまう。
【００２３】
上記の場合、予めＯＳやユーザープログラムの初期化動作の結果をＦＬＡＳＨメモリに書き込んでおけば、次の動作開始時にはこの初期化動作の一部に関しては省略する事が可能ではあるが、この場合にはデータによってその都度書き込む値が変わる場合もあって、その際は特定のＦＬＡＳＨメモリへの書き換えの頻度が高くなってしまう為、想定される電源ＯＮ／ＯＦＦの回数分ＦＬＡＳＨメモリへの書き換えを行うと、メモリ自体の信頼性が失われる恐れがある。
【００２４】
上記問題点を解決する為の方法としてまず考えられるのが、ＦＬＡＳＨメモリよりもアクセス速度の速いＭＲＡＭ(Magnetoresistive Random Access Memory)やＦＲＡＭ(Ferroelectric Random Access Memory)といった不揮発性メモリを、ＦＬＡＳＨメモリの代わりに使用する方法である。
【００２５】
このＭＲＡＭやＦＲＡＭといったメモリは、トランジスターのゲート部に磁性体や誘電体といった新規の材料を使うことにより、ＳＲＡＭやＳＤＲＡＭと同程度レベルのアクセス速度が可能であると共に、書き換え回数も１０１０回〜１０１５回というようにほぼ無制限に近い数字の達成が可能となると言われている。
【００２６】
しかし、現状のプロセス過程の中では未だ歩留まりの改善が必要とされている事から、全てのメモリ（例えば撮影時のバッファメモリ等）を置き換えるだけのサイズが実用化されている訳ではなく、システム上のある限定した用途に使用する事が実現されているに過ぎない。
【００２７】
また、ＭＲＡＭやＦＲＡＭの長期保存信頼性が現状では必ずしも充分とは言えない点（例えば何年間も厳しい環境で放置された場合）や、システム上の不具合等による事故を想定した場合（例えばデータの書き換え時に電池を抜いたような場合）は、以前の動作にて初期化したデータでシステムを立ち上げると、データそのものが不定になっている可能性が高い為に、それ以降のシステムが正常に動作しなくなってしまう恐れがあるといった問題点がある。
【００２８】
本発明は上記問題点を鑑みてなされたものであり、デジタルカメラのシステムの信頼性を確保しつつ、起動性を向上させることを目的とする。
【課題を解決するための手段】
【００２９】
上記目的を達成するために、被写体を撮影して画像データを出力する本発明のデジタルカメラは、前記デジタルカメラの動作に必要なソフトウエアを記憶すると共に、前記ソフトウエアの初期化結果を示すデータを記憶する、不揮発性メモリ手段と、前記データの信頼性に関する情報を提供する情報提供手段と、前記ソフトウエア及び前記データに基づいて、前記デジタルカメラを制御する制御手段とを有し、前記デジタルカメラの起動時に、前記制御手段は、前記情報提供手段からの情報に基づいて前記データの信頼性を判断し、信頼性が低い場合には、前記不揮発性メモリ手段に記憶されたデータを用いることなくソフトウエアの初期化動作及び前記デジタルカメラを動作させる為のハードウエアの初期化動作を行う第１のモードを実行し、信頼性が高い場合には、前記不揮発性メモリ手段に記憶されたデータを用いることによりソフトウエアの初期化動作の少なくとも一部を省略すると共にハードウエアの初期化動作を行う第２のモードを実行する。
【００３０】
また、前記デジタルカメラの動作に必要なソフトウエアを記憶すると共に、前記ソフトウエアの初期化結果を示すデータを記憶する、不揮発性メモリ手段と、前記ソフトウエア及び前記データに基づいて、前記デジタルカメラを制御する制御手段とを有し、被写体を撮影して画像データを出力するデジタルカメラの本発明の制御方法は、前記データの信頼性に関する情報を提供する情報提供工程と、前記デジタルカメラの起動時に、前記情報提供工程からの情報に基づいて前記データの信頼性を判断する判断工程と、前記判断工程により信頼性が低いと判断された場合には、前記データを用いることなくソフトウエアの初期化動作及び前記デジタルカメラを動作させる為のハードウエアの初期化動作を行う第１のモードを実行し、前記判断工程により信頼性が高いと判断された場合には、前記データを用いてソフトウエアの初期化動作の少なくとも一部を省略すると共にハードウエアの初期化動作を行う第２のモードを実行する初期化工程とを有する。
【発明の効果】
【００３１】
上記構成によれば、デジタルカメラのシステムの信頼性を確保しつつ、起動性を向上させることが可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
【００３３】
＜第１の実施形態＞
図１は本発明の第１の実施形態におけるデジタルカメラの全体構成を示すブロック図である。図１に示す本第１の実施形態の構成は、図２１でシステムメモリとしてＦＬＡＳＨメモリを用いているのに対し、ＭＲＡＭまたはＦＲＡＭを用いる所が異なる。
【００３４】
従って、本第１の実施形態における全体制御ＣＰＵ８は、デジタル信号処理全般を制御する為のものであり、このＣＰＵ８はシステムメモリ１８（ＭＲＡＭやＦＲＡＭ）及びＲＯＭ２６（ＦＬＡＳＨメモリやマスクＲＯＭ）に記憶したＯＳやユーザープログラムに基づいて動作を実行する。
【００３５】
図１に示すシステムでは、カメラ制御ＣＰＵ９と全体制御ＣＰＵ８から成る大きく２つの制御ブロックから構成されているが、通常カメラ制御ＣＰＵ９のプログラムサイズは多くても数１００ｋバイトレベルの容量で充分であり、この場合内蔵のＲＯＭ（マスクＲＯＭやＦＬＡＳＨメモリ）で動作を行っている。一方、デジタル部の制御を行う全体制御ＣＰＵ８のプログラムサイズはＯＳを含めると数Ｍバイト単位となる事から、内蔵のＲＯＭで動作を行うのは現実的ではなく、本第１の実施形態のように外部にＦＬＡＳＨメモリ等のＲＯＭ２６若しくはシステムメモリ１８としてＭＲＡＭ（またはＦＲＡＭ）を接続するのが現実的な方法である。
【００３６】
図２は全体制御ＣＰＵ８の内部構成を示すブロック図であり、この中には実際の演算処理や各周辺回路への制御信号を出力するＣＰＵコア５０、外部のメモリへのアクセスを回避して極力ＣＰＵコア５０を高速に動作させる為のキャッシュ５１、また、キャッシュ５１に接続されると共に、外部メモリデバイスやＩ／Ｏデバイスのような周辺デバイスのタイミング等やアクセスをコントロールする為のメモリコントローラ５２が存在し、このメモリコントローラ５２には、図１で説明したバッファメモリ１４、カードコントローラ１５、ＰＣ接続コントローラ１７、システムメモリ１８、ＲＯＭ２６が接続するような構成となっている。
【００３７】
また、割込みコントローラ５３は内部及び外部のデバイスからの割込み信号を選択して、必要な信号をＣＰＵコア５０へ伝達する機能を有している。内部信号としては通信Ｉ／Ｆ５４からの信号とタイマー５５からの信号、また、外部信号としてＤＳＰ５、カメラ制御ＣＰＵ９からのリクエスト信号、ＴＦＴコントローラ１２からの信号、カードコントローラ１５からの信号、ＰＣ接続コントローラ１７からの信号が入力し、所定の優先度並びに所定のマスク機能（割込み禁止機能）に従って割込み制御を実行する。
【００３８】
通信Ｉ／Ｆ５４は主として、カメラ制御ＣＰＵ９との情報交換並びにタイミングのやり取りを行うＩ／Ｆブロック、ＴＧ６に対してデータを設定する為のＩ／Ｆブロック、ＡＦＥ４に対してデータを設定する為のＩ／Ｆブロック、ＴＦＴコントローラ１２に対してデータを設定する為のＩ／Ｆブロックから構成されている。
【００３９】
タイマー５５は、内部的にここではタイマーＡ〜Ｆの６個のタイマーを有しており、それぞれ最初の起動制御時の初期化動作の中でどの役割に対して機能を持たせるかのリソースの割り当てを行ってから、随時動作を行うようになっている。
【００４０】
以上が本第１の実施形態におけるデジタルカメラのハード構成であるが、システムメモリ１８としてＭＲＡＭやＦＲＡＭといった高速アクセスが可能な不揮発性メモリを使用した構成がとられている。
【００４１】
次に、図１の全体制御ＣＰＵ８の初期動作について、図３〜図１６を参照して説明を行う。
【００４２】
図３では初めにステップＳ１００にて、図１に示すメイン電源２０である電池の交換時に発生するパワーオンリセット信号の状態を、パワーオンリセット信号発生回路２５の出力から検出し、パワーオンリセット信号が検出されない場合は通常の起動動作としてそのままステップＳ１０７へ進むが、パワーオンリセット信号が検出された場合は電池交換後の最初の動作であると判断して、ステップＳ１０１以降のソフトウェアに対する初期化動作を実行する。
【００４３】
ステップＳ１０１ではＣＰＵ８内部の割込みリソースに対する初期化動作を開始する。ここで、この動作に関して図４に示す割込み初期化シーケンスのフローチャートを参照して説明する。
【００４４】
初めにステップＳ１３０では図２の割込みコントローラ５３に関わる動作として、内部的な割込み１に関わるリソースをＤＳＰ５からの信号に振り向けるようにリソース配置を行う。同様にステップＳ１３１では内部的な割込み２に関わるリソースをカメラ制御ＣＰＵ９からの信号に振り向けるようにリソース配置を行い、続いてステップＳ１３２では内部的な割込み３に関わるリソースをＣＰＵ内部のタイマー５５からの信号に振り向けるようにリソース配置を行い、ステップＳ１３３では内部的な割込み４に関わるリソースをＣＰＵ内部の通信Ｉ／Ｆからの信号に振り向けるようにリソース配置を行い、ステップＳ１３４では内部的な割込み５に関わるリソースをＴＦＴコントローラ１２からの信号に振り向けるようにリソース配置を行い、ステップＳ１３５では内部的な割込み６に関わるリソースをカードコントローラ１５からの信号に振り向けるようにリソース配置を行い、ステップＳ１３６では内部的な割込み７に関わるリソースをＰＣ接続コントローラ１７からの信号に振り向けるようにリソース配置を行う。
【００４５】
以上のように、各割込みリソースに対しては、ＣＰＵ８内部の周辺回路と外部接続された外部デバイスそれぞれに対して、初期化シーケンスの中でリソース確保の為の動作設定を行う。
【００４６】
次にステップＳ１０２ではＣＰＵ内部のタイマーリソースに対する初期化動作を開始する。この動作に関して図５に示すタイマーリソース初期化シーケンスのフローチャートを参照して説明する。
【００４７】
初めにステップＳ１５０では図２のタイマー５５の内、タイマーＡを全体管理用、つまりＣＰＵ８内部の異常動作等を監視する為の時間設定用としてリソース配置を行い、次にステップＳ１５１でタイマーＢを通信管理用つまりＣＰＵ８内部の通信Ｉ／Ｆ５４の通信モニター用としての時間設定手段としてリソース配置を行い、ステップＳ１５２ではタイマーＣをＤＳＰ５の撮影制御の時間管理用としてリソース配置を行い、ステップＳ１５３ではタイマーＤをＤＳＰ５の現像制御の時間管理用としてリソース配置を行い、ステップＳ１５４ではタイマーＥをカードコントローラ１５のアクセス時間管理用としてリソース配置を行い、ステップＳ１５５ではタイマーＦをＰＣ接続コントローラ１７の接続時間管理用としてリソース配置を行う。
【００４８】
以上のようにタイマー５５内部のタイマーＡ〜Ｆの６個のタイマーそれぞれに対して、各周辺デバイスの管理用としての役割を与えるようにリソース初期化を行う。
【００４９】
続いてステップＳ１０３ではＣＰＵ８内部の通信Ｉ／Ｆ５４を使った通信マネージャに関しての初期化を開始する。この動作に関しては図６に示す通信マネージャ初期化シーケンスのフローチャートを参照して説明する。
【００５０】
通信マネージャとは、各通信Ｉ／Ｆブロックを使用した場合の他のデバイスとの情報交換を実行する為の制御モジュールであり、まずステップＳ１７０では内部シリアルＩ／ＦブロックＡをカメラ制御ＣＰＵ９との通信を行うカメラシリアル通信モジュールとして動作させるようにリソース配置を行い、続いてステップＳ１７１では内部シリアルＩ／ＦブロックＢをＴＧ６の内部設定用シリアル通信モジュールとして動作させるようにリソース配置を行い、ステップＳ１７２では内部シリアル通信Ｉ／ＦブロックＣをＡＦＥ４の内部設定用シリアル通信モジュールとして動作させるようにリソース配置を行い、ステップＳ１７３では内部シリアル通信Ｉ／ＦブロックＤをＴＦＴコントローラ１２の内部設定用シリアル通信モジュールとして動作させるようにリソース配置を行う。
【００５１】
以上のように、通信Ｉ／Ｆ５４の内部ブロックをそれぞれＣＰＵ外部の各周辺デバイスとの通信用として使用するように、全体制御ＣＰＵ８内部の各通信モジュールの初期化を行う。
【００５２】
続いてステップＳ１０４ではＣＰＵ８内部のメモリコントローラ５２を使ったメモリマネージャに関しての初期化を開始する。この動作に関しては図７に示すメモリマネージャ初期化シーケンスのフローチャートを参照して説明する。
【００５３】
このメモリマネージャは主としてバッファメモリ１４とシステムメモリ１８のメモリの使い方を制御する為のものである。まずステップＳ１９０ではＣＰＵ８内部のキャッシュ５１を使う場合のリソースとしての初期化を行って、どのモジュールに対してどのようなキャッシュ制御を行うかどうかの設定を行い、続いてステップＳ１９１では撮影画像をバッファメモリ１４に一時的に記憶する場合のメモリ管理に関してのリソース配置を行い、ステップＳ１９２では撮影済みの画像を現像処理する場合のバッファメモリ１４の使い方に関してのリソース配置を行い、ステップＳ１９３では現像処理を完了した画像データをファイルとしてカードメモリ１６に記憶する場合や、カードメモリ１６に記憶した画像ファイルを読み出してバッファメモリ１４に展開する場合のメモリ管理に関してのリソース配置を行い、ステップＳ１９４では撮影画像をＴＦＴモニター１３に表示する場合のＶＲＡＭとしての使い方に関して、バッファメモリ１４のメモリ管理に関してのリソース配置を行う。
【００５４】
以上のようにバッファメモリ１４及びシステムメモリ１８の使い方に関して、メモリ管理方法を決定する為のメモリマネージャ初期化動作を行う。
【００５５】
次にステップＳ１０５ではＣＰＵ８内部のファイル管理を行うファイルマネージャの初期化動作を行うう。この方法に関しては図８に示すファイルマネージャ初期化シーケンスのフローチャートを参照して説明を行う。
【００５６】
ファイルマネージャはバッファメモリ１４やシステムメモリ１８上に記憶した画像や設定データ等をファイル情報として管理する為のリソース全般に関わるものであり、初めにステップＳ２１０ではファイルシステムの初期化動作を行い、次にステップＳ２１１では実際にファイル制御の出入口としての役割を果たすファイルＩ／Ｏの初期化動作を行い、次にステップＳ２１２では実際に撮影画像をＴＦＴモニター１３に表示させるような特別なサムネイル画像等をファイル情報として管理する場合のリソース初期化動作を行う。
【００５７】
以上のように実際に画像データを含む各種データを一連のファイルとして制御する為に、ファイルマネージャを制御する為の各種リソースの初期化を行う。
【００５８】
次にステップＳ１０６ではＣＰＵ８内部の表示管理を行うディスプレイマネージャの初期化動作を行う。この方法に関しては図９に示すディスプレイマネージャ初期化シーケンスのフローチャートを参照して説明する。
【００５９】
ディスプレイマネージャは実際にＴＦＴモニター１３を使ってＧＵＩや撮影画像の表示をコントロールするものであり、初めにステップＳ２３０でＧＵＩを制御する為の各種リソースの初期化を行い、次にステップＳ２３１ではＧＵＩで使用する各種フォント情報を実際にモニター上に表示可能な形に展開し、ステップＳ２３２ではＴＦＴモニター１３上で各種ウィンドウを制御する為の各種リソースを制御する為の初期化を行い、ステップＳ２３３ではフォント情報以外の表示系に関してビットマップ展開を行う。
【００６０】
以上のようにメイン電源交換後の最初のパワーオンリセット動作では、ステップＳ１０１〜Ｓ１０６においてＣＰＵ８内部での動作を実行し、ＯＳやユーザープログラム上のミドルウェアで使用する為の各モジュールのリソース配置と初期化動作シーケンスを実行することになる。
【００６１】
ここまでがソフトウェア部品の初期化動作であるが、完了後は、図３のステップＳ１０７以降において、通常のカメラの起動動作で実行するＣＰＵ８内部の回路や周辺デバイスを駆動制御する為のデバイスドライバーといったハードウェア部品の初期化動作を開始する。
【００６２】
ステップＳ１０７では、システムメモリ１８に記憶してあるＣＰＵ８内部及び外部周辺デバイスの初期設定情報をＣＰＵコア５０が読み出して、その情報を基に各デバイスの初期化動作を開始する。
【００６３】
図１０はシステムメモリ１８の内部マップ情報を示したものであり、先頭からＯＳ領域、ユーザープログラム領域、ＯＳ及びユーザープログラム内で使用するミドルウェア等のリソース設定用データ領域、ＣＰＵ８内部及び外部の周辺ハードウェアのドライバー部分で使用する初期化データとしての各個体調整データ領域並びに共通の固定データ領域から構成されている。
【００６４】
デバイスドライバーの初期化動作として、初めにステップＳ１０８にてＤＳＰ５の内部初期化動作を行う。この動作に関しては図１１に示すＤＳＰ初期化動作シーケンスのフローチャートを参照して説明する。
【００６５】
図１１では、まずステップＳ３００にて、ＳＳＧ７との接続信号に同期して実際に撮像素子１からの撮像データを取り込む為のタイミング制御ブロックに対する初期化動作を行い、次にステップＳ３０１ではバッファメモリ１４に対して実際の撮影画像を記憶したり、読み出して現像処理したりする為のメモリコントロールの為のメモリコントローラ部分の初期化動作を行い、ステップＳ３０２では実際に撮像素子１からのデータを取り込む場合のキャプチャーコントロール部分に対する各種パラメータの初期設定を行い、ステップＳ３０３では撮影した画像データに対して実際の画像処理を行ういわゆる現像処理を実行する際の各種パラメータの初期設定を行い、ステップＳ３０４では撮影画像をＴＦＴコントローラ１２及びＴＦＴモニター１３を介して実際に表示する場合のメモリ制御を行うビデオコントローラ部分に対しての初期化動作を行う。
【００６６】
次にステップＳ１０９では、図２の通信Ｉ／Ｆ５４内部にある内部シリアルＩ／ＦブロックＡ〜Ｄのハードウェア的初期設定動作を行うが、この動作に関しては図１２に示すシリアル通信部初期化シーケンスのフローチャートを参照して説明する。
【００６７】
まず初めに、内部シリアルＩ／ＦブロックＡに関してはカメラ制御ＣＰＵとのシリアル通信用に既にリソースが割り当てられているが、ステップＳ３２０で内部のカメラ通信用送信バッファをクリアし、次いでステップＳ３２１でカメラ通信用受信バッファをクリアする。
【００６８】
次にステップＳ３２２ではカメラ通信用の通信レートをどの程度とするかを設定し、ステップＳ３２３でカメラ制御ＣＰＵ９からのＲＥＡＤＹ信号を検出する迄待機した後、ステップＳ３２４でカメラ通信割込みフラグをクリアし、ステップＳ３２５でシリアル通信割込み許可を与える。続いてステップＳ３２６で、ＴＧ６内部の動作設定用にリソースが割り当てられている内部シリアルＩ／ＦブロックＢに対してＴＧ通信用送信バッファをクリアし、次にステップＳ３２７でＴＧ通信用に通信レートを設定する。更にステップＳ３２８で、ＡＦＥ４内部の動作設定用にリソースが割り当てられている内部シリアルＩ／ＦブロックＣに対してＡＦＥ通信用送信バッファをクリアーし、次にステップＳ３２９でＡＦＥ通信用に通信レートを設定する。ステップＳ３３０で、ＴＦＴコントローラ１２内部の動作設定用にリソースが割り当てられている内部シリアルＩ／ＦブロックＤに対してＴＦＴコントローラ通信用送信バッファをクリアーし、次にステップＳ３３１でＴＦＴコントローラ通信用に通信レートを設定する。
【００６９】
再び図３のフローチャートにおいて、今度はステップＳ１１０で撮影制御系の初期化動作を行う。この動作に関して図１３のフローチャートを参照して説明する。
【００７０】
まず初めにＴＧ６の内部設定用レジスタに対して初期値を設定するが、ステップＳ３４０ではＴＧ通信用送信バッファに対して初期値を設定し、ステップＳ３４１でこのデータをＴＧ６に対して設定する為のＴＧ通信を開始する。ステップＳ３４２ではこのＴＧ通信が完了したかどうかの判定を行い、通信が完了したことを検出した時点で、ステップＳ３４３で全データの通信が完了したかどうかの判定を行って、未だ全データの通信が完了していない場合は再度ステップＳ３４０へ戻り、上記動作を繰り返す事で全てのデータ通信を行う。ステップＳ３４３で全データの通信が完了したことを検出すると、次にステップＳ３４４へ進んでここではＡＦＥ４への通信を行う為にＡＦＥ通信用送信バッファに対して初期値を設定する。
【００７１】
ステップＳ３４５で実際に通信を開始し、ステップＳ３４６でこのＡＦＥ４への通信が完了したかどうかの判定を行った後、通信が完了したことを検出した時点で今度はステップＳ３４７で全データの通信が完了したかどうかの判定を行って、未だ全データの通信が完了していない場合は再度ステップＳ３４４へ戻り、上記動作を繰り返す事で全てのデータ通信を行う。ステップＳ３４７で全データの通信が完了したことを検出すると、全ての撮影制御系の初期化動作が完了する。
【００７２】
再び図３においてステップＳ１１１ではカードコントローラ１５の初期化動作を行う。この動作に関しては図１４のフローチャートを参照して説明する。
【００７３】
まずステップＳ３６０ではカードコントローラ１５の内部レジスタに対して初期値を設定し、続いてステップＳ３６１で全データの設定が完了したかどうかの判定を行い、全データの設定が完了した時点でステップＳ３６２へ進み、ここでカードコントローラ１５の内部初期化を開始する。ステップＳ３６３では内部初期化が完了したかどうかの判定を行い、内部初期化完了信号を検出した時点で上記動作を完了する。
【００７４】
再び図３のフローに戻り、今度はステップＳ１１２にてＰＣ接続コントローラ１７の初期化動作を開始する。この動作に関しては図１５のフローチャートを参照して説明する。
【００７５】
まずステップＳ３８０ではＰＣ接続コントローラ１７の内部レジスタに対して初期値を設定し、続いてステップＳ３８１で全データの設定が完了したかどうかの判定を行い、全データの設定が完了した時点でステップＳ３８２へ進み、ここでＰＣ接続コントローラ１７の内部初期化を開始する。ステップＳ３８３では内部初期化が完了したかどうかの判定を行い、内部初期化完了信号を検出した時点で上記動作を完了する。
【００７６】
再び図３のフローに戻り、今度はステップＳ１１３にてＴＦＴコントローラ１２の初期化動作を開始する。この動作に関しては図１６のフローチャートを使って説明を行う。
【００７７】
まずステップＳ４００ではＴＦＴコントローラ１２の通信用送信バッファに対して初期値を設定し、続いてステップＳ４０１にてＴＦＴコントローラ１２に対して通信を開始する。ステップＳ４０２ではＴＦＴコントローラ１２への通信が完了したかどうかの判定を行い、通信完了を検出した時点でステップＳ４０３へ進み、ここで全データの通信が完了したかどうかの判定を行う。未だ全データの通信が完了していない場合は、ステップＳ４００へ戻り上記動作を繰り返すが、全データの通信が完了した時点でこの動作を完了する。
【００７８】
以上が全体制御ＣＰＵ８の内部回路並びに外部の周辺回路のハードウェアを制御する為のデバイスドライバーの初期化動作である。
【００７９】
このデバイスドライバーの各初期化動作が完了した後は、まずステップＳ１１４でカメラ制御ＣＰＵ９が撮影の為の準備動作が完了しているかどうかの判定を行い、ここで撮影準備動作が完了している事を検出した場合は、次にステップＳ１１５へ進んでカードコントローラ１５を介して実際にカードメモリ１６が装着されているかどうかの判定を行う。カードメモリ１６が実際に装着されている場合は、ステップＳ１１６にてカードのＦＡＴ情報を介して実際のディレクトリー等の情報をサーチして、各ファイルの状態を検出し、ステップＳ１１７に進む。ステップＳ１１５でカードメモリ１６が装着されていない場合には、ステップＳ１１７に直接進む。
【００８０】
次にステップＳ１１７では実際にＰＣ接続コントローラ１７を介してＰＣ１９が接続されているかどうかの検出を行う。ＰＣ１９が接続されていない場合はそのままステップＳ１１９へ進むが、ＰＣ１９が接続されていることを検出した場合はステップＳ１１８で実際のログイン処理を開始する。
【００８１】
このログイン処理はＰＣ１９とカメラ本体が実際の通信を介して画像の送受信を行う場合や、ＰＣ１９からカメラ内部の機能をリモートでコントロールする場合の動作に関して、所定の手続きを事前に決定しておく為のものであり、ログイン後は最終的なログオフを行う迄の間カメラとＰＣは接続状態を維持する。
【００８２】
この所定のログイン処理を完了すると、ステップＳ１１９にて実際の画像キャプチャー即ち撮影動作を開始する為の全ての条件が成立しているかどうかの判定を行い、撮影動作が可能であればステップＳ１２０で実際の撮影動作を開始する。
【００８３】
このように本第１の実施形態では、撮影者がカメラのレリーズ釦等の操作を行って実際の撮影を開始するような場合、メイン電源である電池を投入した後の最初の動作である場合には、内部的にパワーオンリセット信号を発生させる事で、ＭＲＡＭやＦＲＡＭで構成されているシステムメモリに既に設定されている内部リソースを使用せず、実際にＲＯＭに記憶してあるＯＳやユーザープログラムのミドルウェア等のソフトウェアに対する初期化動作を行って、その結果を新たに上記システムメモリに設定する。
【００８４】
また、このソフトウェアの初期化動作を完了した後に、このリソースデータを使って実際のＣＰＵ内部の回路や外部の周辺回路であるハードウェアを駆動制御する為のデバイスドライバーの初期設定を行うが、この動作は前述したように毎回電源投入毎に行う。
【００８５】
上述したように、本第１の実施形態によれば、ＣＰＵの動作を実行させる為のＯＳやユーザープログラム、更にはこのＯＳやユーザープログラムの初期化動作にて行うリソース用のデータ、また、ＣＰＵ内部の回路や外部に接続された周辺デバイスの動作ばらつきを調整する為のデータの少なくとも一部若しくは全部を、システムメモリとして用いる不揮発性メモリであるＭＲＡＭやＦＲＡＭに記憶するようにすることで、通常のカメラ起動時の起動制御において毎回全ての初期化動作を行う必要が無くなり、従来必要であった起動時の初期化動作にかかるタイムロスを解消することが可能となるため、カメラに要求される機動性を向上することができる。
【００８６】
また、電源投入時にシステムの判定を行い、カメラの電池が交換された後、最初の動作である場合にはシステム的に頻繁に書き換えを行うようなデータを含む一連のプログラム実行時の初期化データに関しては、内容自体の信頼性が疑わしいものとして、通常の従来から行われていた起動制御動作を全て実行するようにすることで、ＭＲＡＭやＦＲＡＭを使用した場合であっても、システムとしての信頼性を確保することができる。
【００８７】
＜第２の実施形態＞
本発明の第２の実施形態について説明する。
【００８８】
図１のリアルタイムクロック発生回路２４はメイン電源２０が切られている場合でもバックアップ電源２１から電源が供給されるため、メイン電源２０が切られている期間の時間を計測する事が可能である。従って、本第２の実施形態では、メイン電源２０が切られている期間が長い場合に、通常の従来から行われていた起動制御動作を全て行い、短い場合にはシステムメモリ１８として用いられているＭＲＡＭやＦＲＡＭに記憶されたデータを用いることで通常のカメラ起動時の初期化動作の一部を行わないようにする。
【００８９】
図１７は、本第２の実施形態における全体制御ＣＰＵ８の初期動作を示すフローチャートである。まず、ステップＳ５００でメイン電源２０が切られている期間Ｔoffと、予め設定した所定時間Ｔthとを比較し、所定時間ＴthよりもＴoffが長ければ、システムメモリ１８のデータそのものの信頼性が低い可能性があるのでステップＳ１０１〜Ｓ１０６のソフトウェアリソースの初期化動作を行ってからステップＳ１０７に進み、短い場合にはステップＳ１０１〜Ｓ１０６の処理を行わずにステップＳ１０７に直接進んでハードウェアのデバイスドライバーの初期化動作を行う。なお、ステップＳ１０１〜Ｓ１２０の処理は、第１の実施形態で図３〜図９及び図１１〜図１６を参照して説明した処理と同様であるので、ここでは説明を省略する。また、所定時間Ｔthは、経験的に、ＭＲＡＭやＦＲＡＭの保存信頼性が低下するよりも短い時間に設定する。
【００９０】
このように本第２の実施形態では、撮影者がカメラの電源を投入した際に、ＭＲＡＭやＦＲＡＭで構成されているシステムメモリに既に設定されている内部リソースを使用して初期化動作の少なくとも一部を省略すると共に、長時間メイン電源が切られたまま放置されていた場合には、システムメモリに既に設定されている内部リソースを使用せず、ＲＯＭに記憶してあるＯＳやユーザープログラムのミドルウェア等のソフトウェアに対する初期化動作を行って、その結果を新たにシステムメモリに設定することにより、デジタルカメラのシステムの信頼性を確保しつつ、起動性を向上させることができる。
【００９１】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。
【００９２】
図１８は、本第３の実施形態におけるデジタルカメラの全体構成を示すブロック図であって、図１のリアルタイムクロック発生回路２４の代わりにシステムバス異常検出回路３４を設置した例を示したものである。
【００９３】
システムバス異常検出回路３４は図１９に示すように、システムバスの状態を定期的にモニターするシステムバスモニター５５０、所定時間間隔で時間を計測するタイマー５５１、システムバスに異常があった場合にその状態を内部レジスターに記憶する異常状態記憶回路５５２、メイン電源が切られてバックアップ電源に切り替わったことを検出する低電圧検出回路５５３から構成される。
【００９４】
ここで例えばシステムメモリ１８へのアクセス中にメイン電源２０が切れたような場合は、システムメモリ１８へのアクセス中に異常動作が発生した事になるので、システムメモリ１８自体のデータが破壊されてしまう可能性がある。
【００９５】
そこで上記のシステムバスモニター５５０がシステムメモリ１８へのアクセス状態を検出した時点で、タイマー５５１が所定時間を計測し、更に低電圧検出回路５５３が電圧の低下を検出した場合の結果に基づき、システムの異常状態を異常状態記憶回路５５２に記憶する。
【００９６】
次にメイン電源２０が投入された場合には、図２０のフローチャートに示すようにステップＳ６００にてシステムの異常状態を検出し、システムバス異常検出回路３４が異常であるという信号を出力している場合には、システムメモリ１８に記憶したデータが破壊されている可能性が高い為、ステップＳ１０１〜Ｓ１０６のソフトウェアリソースの初期化動作を行ってからステップＳ１０７に進み、異常であることを示す信号が出力されていなければ、ステップＳ１０１〜Ｓ１０６の処理を行わずにステップＳ１０７に直接進んでハードウェアのデバイスドライバーの初期化動作を行う。なお、ステップＳ１０１〜Ｓ１２０の処理は、第１の実施形態で図３〜図９及び図１１〜図１６を参照して説明した処理と同様であるので、ここでは説明を省略する。
【００９７】
このように本第３の実施形態では、撮影者がカメラの電源を投入した際に、ＭＲＡＭやＦＲＡＭで構成されているシステムメモリに既に設定されている内部リソースを使用して初期化動作の少なくとも一部を省略すると共に、その前の動作時に異常状態でシステムを終了させた場合には、システムメモリに既に設定されている内部リソースを使用せず、ＲＯＭに記憶してあるＯＳやユーザープログラムのミドルウェア等のソフトウェアに対する初期化動作を行って、その結果を新たにシステムメモリに設定することにより、デジタルカメラのシステムの信頼性を確保しつつ、起動性を向上させることができる。
【００９８】
なお、ＭＲＡＭやＦＲＡＭなどのシステムメモリ１８に記憶された初期化結果を示すデータの信頼性を判断する方法は、上述した他に、例えば、システムメモリにソフトウエアの初期化結果を複数箇所に全く同じ値を記憶しておく方法がある。この場合はメイン電源投入時に上記複数の箇所に記憶したデータが一致するかどうかを判定し、一致すればデータの信頼性があると判断し、違っていればデータの信頼性が疑わしいと判断する。
【００９９】
また、初期化データのチェックサム（単純に初期化したデータを数値的に1個ずつ加算してその結果を別の領域に記憶）を電源投入時に再度計算し、事前に記憶してあるデータとの比較を行って、違っていた場合に初期化データの信頼性が疑わしいと判断するようにしてもよい。
【０１００】
＜他の実施形態＞
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、磁気テープ、不揮発性のメモリカード、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、光ディスク、光磁気ディスク、ＭＯなどが考えられる。また、ＬＡＮ（ローカル・エリア・ネットワーク）やＷＡＮ（ワイド・エリア・ネットワーク）などのコンピュータネットワークを、プログラムコードを供給するために用いることができる。
【０１０１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１の実施形態におけるデジタルカメラの全体構成を示すブロック図である。
【図２】図１に示す全体制御ＣＰＵの内部構成を示すブロック図である。
【図３】本発明の第１の実施形態における全体制御ＣＰＵの初期動作全体の流れを示すフローチャートである。
【図４】割込みリソースの初期化シーケンスを示すフローチャートである。
【図５】タイマーリソースの初期化シーケンスを示すフローチャートである。
【図６】通信マネージャの初期化シーケンスを示すフローチャートである。
【図７】メモリマネージャの初期化シーケンスを示すフローチャートである。
【図８】ファイルマネージャの初期化シーケンスを示すフローチャートである。
【図９】ディスプレイマネージャの初期化シーケンスを示すフローチャートである。
【図１０】システムメモリのメモリマップ構成図である。
【図１１】ＤＳＰの初期化シーケンスを示すフローチャートである。
【図１２】シリアル通信部の初期化シーケンスを示すフローチャートである。
【図１３】撮影制御系の初期化シーケンスを示すフローチャートである。
【図１４】カードコントローラ部の初期化シーケンスを示すフローチャートである。
【図１５】ＰＣ接続コントローラ部の初期化シーケンスを示すフローチャートである。
【図１６】ＴＦＴコントローラ部の初期化シーケンスを示すフローチャートである。
【図１７】本発明の第２の実施形態における全体制御ＣＰＵの初期動作全体の流れを示すフローチャートである。
【図１８】本発明の第３の実施形態におけるデジタルカメラの全体構成を示すブロック図である。
【図１９】図１８に示すシステムバス異常検出回路の内部構成を示すブロック図である。
【図２０】本発明の第３の実施形態における全体制御ＣＰＵの初期動作全体の流れを示すフローチャートである。
【図２１】従来のデジタルカメラの全体構成を示すブロック図である。
【符号の説明】
【０１０３】
１  撮像素子
２  シャッター
３  撮像光学系
４  ＡＦＥ
５  デジタル信号処理部
６  タイミングジェネレータ
７  同期信号発生部
８  全体制御ＣＰＵ
９  カメラ制御ＣＰＵ
１０  レンズ駆動部
１１  シャッター駆動部
１２  ＴＦＴコントローラ
１３  ＴＦＴモニター
１４  バッファメモリ
１５  カードコントローラ
１６  カードメモリ
１７  ＰＣ接続コントローラ
１８  システムメモリ（ＭＲＡＭ、ＦＲＡＭ）
１９  ＰＣ
２０  メイン電源
２１  バックアップ電源
２２、２３  ダイオード
２４  リアルタイムクロック発生回路
２５  パワーオンリセット信号発生回路
２６  ＲＯＭ
【図１】
2006013908.tif 000003
【図２】
2006013908.tif 000004
【図３】
2006013908.tif 000005
【図４】
2006013908.tif 000006
【図５】
2006013908.tif 000007
【図６】
2006013908.tif 000008
【図７】
2006013908.tif 000009
【図８】
2006013908.tif 000010
【図９】
2006013908.tif 000011
【図１０】
2006013908.tif 000012
【図１１】
2006013908.tif 000013
【図１２】
2006013908.tif 000014
【図１３】
2006013908.tif 000015
【図１４】
2006013908.tif 000016
【図１５】
2006013908.tif 000017
【図１６】
2006013908.tif 000018
【図１７】
2006013908.tif 000019
【図１８】
2006013908.tif 000020
【図１９】
2006013908.tif 000021
【図２０】
2006013908.tif 000022
【図２１】
2006013908.tif 000023