(57)【要約】【課題】複数のスナップショットを保持することなく、電源投入時の実行モードを素早く切換えるように起動すること。【解決手段】起動装置１は、プログラムの実行時に使用される揮発性メモリ１４と、複数のモードのうち実行すべきモードを判別するための判別プログラムを実行する直前に揮発性メモリ１４が保持する第１情報の複製を保持する第１不揮発性メモリ１７と、電源投入に応じて、第１不揮発性メモリ１７に保持される複製に基づいて揮発性メモリ１４に第１情報を再現する第１再現手段１６と、を備える。【選択図】図１
2012133558.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行時に使用される揮発性メモリと、
複数のモードのうち実行すべきモードを判別するための判別プログラムを実行する直前に前記揮発性メモリが保持する第１情報の複製を保持する第１不揮発性メモリと、
電源投入に応じて、前記第１不揮発性メモリに保持される前記複製に基づいて前記揮発性メモリに前記第１情報を再現する第１再現手段と、
を備えることを特徴とする起動装置。
【請求項２】
請求項１に記載の起動装置において、
前記電源投入の直後に前記第１不揮発性メモリに保持される前記複製が正常か否かを判定する判定手段をさらに備え、
前記第１再現手段は、前記判定手段によって正常判定された場合に前記揮発性メモリに前記第１情報を再現することを特徴とする起動装置。
【請求項３】
請求項２に記載の起動装置において、
オペレーションシステムプログラムを保持する第２不揮発性メモリと、
前記判定手段によって否定判定された場合に前記第２不揮発性メモリに保持される前記オペレーションシステムプログラムに基づいて前記判別プログラムを実行する直前の第２情報を前記揮発性メモリに再現する第２再現手段と、
をさらに備えることを特徴とする起動装置。
【請求項４】
請求項３に記載の起動装置において、
前記第１不揮発性メモリが保持する前記複製を前記第２再現手段によって再現された前記第２情報によって更新する更新手段をさらに備えることを特徴とする起動装置。
【請求項５】
請求項２に記載の起動装置において、
前記判定手段によって否定判定された場合にその旨を知らせる報知手段をさらに備えることを特徴とする起動装置。
【請求項６】
請求項１〜５のいずれか一項に記載の起動装置において、
前記判別プログラムは、モード設定操作部材の設定状態を判別する処理、またはモード設定処理を実行するプログラムを含むことを特徴とする起動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動装置に関する。
【背景技術】
【０００２】
オペレーションシステム（以降OSと呼ぶ）の高機能化に伴い、該OSの起動に要する時間が長くなっている。そこで、起動時間を短くするために、OSの起動後に復帰すべきプログラム位置を設定し、起動時にそのプログラム位置へ速やかに復帰させる技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２４９４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、複数の動作モードに対応させて、プログラムの複数の実行状態（レジスタの内容およびOSにより管理されるメモリの内容などのメモリが保持する情報であって、スナップショットと呼ばれる）をそれぞれ不揮発性メモリに保持させていたので、多くの不揮発性メモリ領域を費やすという問題があった。
【課題を解決するための手段】
【０００５】
本発明による起動装置は、プログラムの実行時に使用される揮発性メモリと、複数のモードのうち実行すべきモードを判別するための判別プログラムを実行する直前に揮発性メモリが保持する第１情報の複製を保持する第１不揮発性メモリと、電源投入に応じて、第１不揮発性メモリに保持される複製に基づいて揮発性メモリに第１情報を再現する第１再現手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
本発明による起動装置では、複数のスナップショットを保持することなく、電源投入時の実行モードを素早く切換えるように起動できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施の形態による電子カメラの構成例を説明するブロック図である。
【図２】不揮発性メモリ記憶する内容を説明する図である。
【図３】電源オン時にＣＰＵが起動する処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明を実施するための形態について説明する。図１は、本発明の一実施の形態による電子カメラ１の構成例を説明するブロック図である。図１において、電子カメラ１は、撮影光学系１１と、撮像素子１２と、画像処理部１３と、ＳＤＲＡＭ１４と、ＬＣＤモニタ１５と、ＣＰＵ１６と、不揮発性メモリ１７と、カードインターフェース(I/F)１８と、通信インターフェース(I/F)１９と、操作部材２０とを備える。
【０００９】
ＣＰＵ１６、不揮発性メモリ１７、カードインターフェース１８、通信インターフェース１９、画像処理部１３、ＳＤＲＡＭ１４およびＬＣＤモニタ１５は、それぞれがバス２５を介して接続されている。
【００１０】
撮影光学系１１は、ズームレンズやフォーカシングレンズを含む複数のレンズ群で構成され、被写体像を撮像素子１２の受光面に結像させる。なお、図１を簡単にするため、撮影光学系１１を単レンズとして図示している。
【００１１】
撮像素子１２は、受光素子が受光面に二次元配列されたＣＭＯＳイメージセンサなどによって構成される。撮像素子１２は、撮影光学系１１を通過した光束による像を光電変換し、デジタル画像信号を生成する。デジタル画像信号は、画像処理部１３に入力される。画像処理部１３は、デジタル画像データに対して各種の画像処理（色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整処理など）を施す。
【００１２】
ＬＣＤモニタ１５は液晶パネルなどによって構成される。ＬＣＤモニタ１５は、ＣＰＵ１６からの指示に応じて画像や操作アイコン、メニュー画面などを表示する。ＳＤＲＡＭ１４は、電源オフ時に記憶内容を保持しない揮発性メモリである。ＳＤＲＡＭ１４は、画像処理部１３による画像処理の前工程や後工程でのデジタル画像データを一時的に記憶する他、ＣＰＵ１６によるプログラム実行時に用いられる。不揮発性メモリ１７は、フラッシュメモリなどによって構成される。電源オフ時に記憶内容を保持するので、ＣＰＵ１６が実行するプログラムや、後述するスナップショットと呼ばれる複製データを記憶する。
【００１３】
ＣＰＵ１６は、不揮発性メモリ１７が記憶するプログラムを実行することにより、電子カメラ１が行う動作を制御する。ＣＰＵ１６は、ＡＦ（オートフォーカス）動作制御や、自動露出（ＡＥ）演算も行う。ＡＦ動作は、たとえば、スルー画像のコントラスト情報に基づいてフォーカシングレンズ（不図示）の合焦位置を求める。スルー画像は、レリーズ操作前に撮像素子１２によって所定の時間間隔（たとえば６０コマ／毎秒）で繰り返し取得されるモニタ用画像のことをいう。
【００１４】
カードインターフェース１８はコネクタ（不図示）を有し、該コネクタにメモリカードなどの記憶媒体３０が接続される。カードインターフェース１８は、接続された記憶媒体３０に対するデータの書き込みや、記憶媒体３０からのデータの読み込みを行う。記憶媒体３０は、半導体メモリを内蔵したメモリカード、またはハードディスクドライブなどで構成される。
【００１５】
通信インターフェース１９は、たとえば、不図示のコネクタに接続された外部機器との間でTCP/IPプロトコルを用いた通信を行う。この通信により、外部機器からのコマンドやデータを受信したり、記憶媒体３０が記憶している画像データや音声データなどを外部機器へ送信したりする。操作部材２０は、レリーズボタンやメニュースイッチなどを含む。操作部材２０は、撮影操作、モード切替え操作やアイコン選択操作など、各操作に応じた操作信号をＣＰＵ１６へ送出する。
【００１６】
本実施形態の電子カメラ１は、電源オン操作された場合にＣＰＵ１６が行う起動処理に特徴を有するので、起動時の処理を中心に以降の説明を行う。図２は、不揮発性メモリ１７が記憶する内容を説明する図である。図２において、高速起動プログラムの領域には、ＣＰＵ１６が高速起動するための起動プログラムを記憶する。
【００１７】
ブートローダーの領域には、ＣＰＵ１６が起動時に実行する内容を記述するプログラムを記憶する。ＣＰＵ１６は、このブートローダー領域に記述されるプログラムに基づいて、通常の電源オン時に高速起動プログラムを実行する（後述するステップＳ１４０）。また、ＣＰＵ１６は、電子カメラ１の製造時や後述するスナップショットの異常を判定した時には、ブートローダー領域に記述されるプログラムに基づいて、高速起動プログラムの代わりにOS転送プログラムを実行する（後述するステップＳ３０）。OS転送プログラムは、OSの内容（カーネル）をＳＤＲＡＭ１４の所定領域に展開するためのプログラムである。
【００１８】
OSの領域には、ＣＰＵ１６が実行するオペレーションシステムプログラムを記憶する。アプリケーションプログラムの領域には、ＣＰＵ１６が実行するアプリケーションプログラムを記憶する。本実施形態のアプリケーションプログラムは、モード判定プログラムと、各モード処理プログラムとを含む。モード判定プログラムは、操作部材２０からのモード切替え操作信号に基づいて動作モードを判定するためのプログラムである。モード処理プログラムは、判定された動作モードの処理を行うためのプログラムである。モード処理プログラムには、たとえば、撮影処理プログラムと、再生処理プログラムと、メニュー処理プログラムと、通信処理プログラムとが含まれる。
【００１９】
撮影処理プログラムは、「撮影処理」モードにおいて撮影を行うためのプログラムである。再生処理プログラムは、「再生処理」モードにおいてＬＣＤモニタ１５に再生画像を表示するためのプログラムである。メニュー処理プログラムは、「メニュー処理」モードにおいてＬＣＤモニタ１５に操作メニューを表示し、表示しているメニュー項目に対応する操作部材２０からの操作信号を受け付けるためのプログラムである。通信処理プログラムは、「通信処理」モードにおいて外部機器との間で通信するためのプログラムである。
【００２０】
データ領域には、上述した各プログラムの実行に必要な情報を記憶する。スナップショットの領域には、プログラム実行時にＳＤＲＡＭ１４の所定領域に設定されるレジスタの内容、およびOSにより管理されるＳＤＲＡＭ１４の内容の「複製」を記憶する。不揮発性メモリ１７に対する上記「複製」の記録は、電子カメラ１の製造時やスナップショットの異常を判定した際にＣＰＵ１６が行う。ＣＰＵ１６は、上述した高速起動プログラムを実行する際に、スナップショットの領域に記憶されている「複製」を用いてレジスタの設定情報やOSにより管理する情報をＳＤＲＡＭ１４上に再現する。
【００２１】
図３は、電源オン時（操作部材２０からオン操作信号が入力される）にＣＰＵ１６が起動する処理の流れを説明するフローチャートである。図３のステップＳ１０において、ＣＰＵ１６はブートローダー処理を行う。具体的には、ＣＰＵ１６がブートローダープログラムを起動してステップＳ２０へ進む。ステップＳ２０において、ＣＰＵ１６は、スナップショットが正常か否かを判定する。一般に、不揮発性メモリ１７が正常に記憶内容を保持する場合には、当該不揮発性メモリ１７の記憶内容は変化しない。そこでＣＰＵ１６は、上記「複製」を不揮発性メモリ１７に記録する際にチェックサムを設けておくことにより、当該チェックサムを用いて異常の有無を判定する。
【００２２】
ＣＰＵ１６は、不揮発性メモリ１７のスナップショット領域から読出した「複製」のデータ列を構成する数値の和が、不揮発性メモリ１７の当該スナップショット領域に「複製」を記録した際のデータ列を構成する数値の和と一致しない場合に、ステップＳ２０を否定判定（異常判定）してステップＳ３０へ進む。ここで、製造後最初の起動時のように、不揮発性メモリ１７のスナップショット領域に「複製」が記録される前である場合にも、データ列を構成する数値の和が一致しないのでステップＳ２０を否定判定する。一方、ＣＰＵ１６は、上記和が一致する場合にステップＳ２０を肯定判定（正常判定）してステップＳ１４０へ進む。
【００２３】
ステップＳ２０を肯定判定したＣＰＵ１６は、正常判定時の起動処理として高速起動プログラムを実行する。ステップＳ１４０において、ＣＰＵ１６は、不揮発性メモリ１７のスナップショットの領域に記憶される上記「複製」を利用して高速起動プログラムを起動し、ステップＳ８０へ進む。高速起動プログラムを起動すると、後述するステップＳ３０〜ステップＳ７０までの処理をしなくても、ステップＳ３０〜ステップＳ７０の処理を実行した場合と同様のレジスタやOSによる管理情報がＳＤＲＡＭ１４上に再現される。
【００２４】
ステップＳ２０を否定判定したＣＰＵ１６は、異常判定時の起動処理としてステップＳ３０〜ステップＳ７０までの処理を行う、ステップＳ３０において、ＣＰＵ１６は、OS転送プログラムを実行してステップＳ４０へ進む。ステップＳ４０において、ＣＰＵ１６は、OSプログラムの起動を開始させてステップＳ５０へ進む。ステップＳ５０において、ＣＰＵ１６はドライバの初期化を行ってステップＳ６０へ進む。初期化は、ドライバにおけるパラメータなどの設定内容をあらかじめ定められた初期状態にすることをいう。
【００２５】
ステップＳ６０において、ＣＰＵ１６は、モード判定プログラムを起動してステップＳ７０へ進む。ステップＳ７０において、ＣＰＵ１６は、不揮発性メモリ１７のスナップショットの領域にスナップショットを作成する。具体的には、上述したステップＳ３０〜ステップＳ６０の処理を行うことにより、ＣＰＵ１６はＳＤＲＡＭ１４にレジスタ情報を記録するとともに、OSプログラムによってＳＤＲＡＭ１４を使用する。ＣＰＵ１６は、モード判定プログラムを実行してモード判定する直前においてＳＤＲＡＭ１４が記憶する内容の「複製」を不揮発性メモリ１７におけるスナップショットの領域に更新記録して、ステップＳ８０へ進む。
【００２６】
ステップＳ８０において、ＣＰＵ１６はモード判定を行う。ＣＰＵ１６は、「撮影処理」を判定した場合にステップＳ９０へ進む。ＣＰＵ１６は、「再生処理」を判定した場合にステップＳ１００へ進む。ＣＰＵ１６は、「メニュー処理」を判定した場合にステップＳ１１０へ進む。ＣＰＵ１６は、「通信処理」を判定した場合にステップＳ１２０へ進む。
【００２７】
ステップＳ９０において、ＣＰＵ１６は、 撮影処理プログラムを起動してステップＳ１３０へ進む。ステップＳ１００において、ＣＰＵ１６は、再生処理プログラムを起動してステップＳ１３０へ進む。ステップＳ１１０において、ＣＰＵ１６は、メニュー処理プログラムを起動してステップＳ１３０へ進む。ステップＳ１２０において、ＣＰＵ１６は、通信処理プログラムを起動してステップＳ１３０へ進む。
【００２８】
ステップＳ１３０において、ＣＰＵ１６は、電源オフか否かを判定する。ＣＰＵ１６は、操作部材２０からオフ操作信号が入力されるとステップＳ１３０を肯定判定し、所定の電源オフ処理を行って図３による処理を終了する。ＣＰＵ１６は、操作部材２０からオフ操作信号が入力されない場合にはステップＳ１３０を否定判定し、ステップＳ８０へ戻る。ステップＳ８０へ戻る場合は、上述した処理を繰り返す。
【００２９】
以上説明した実施形態によれば、次の作用効果が得られる。
（１）電子カメラ１は、プログラムの実行時に使用されるＳＤＲＡＭ１４と、複数のモードのうち実行すべきモードを判別するための判別プログラムを実行する直前にＳＤＲＡＭ１４が保持する内容の複製（スナップショット）を保持する不揮発性メモリ１７と、電源投入に応じて、不揮発性メモリ１７に保持される複製に基づいてＳＤＲＡＭ１４に上記内容を再現するＣＰＵ１６とを備えるようにしたので、複数のスナップショットを保持することなしに、電源投入時の実行モードを素早く切換えるように起動できる。
【００３０】
（２）上記（１）の電子カメラ１において、電源投入の直後に不揮発性メモリ１７に保持される複製が正常か否かを判定するＣＰＵ１６をさらに備え、ＣＰＵ１６は、上記正常判定した場合にＳＤＲＡＭ１４に上記内容を再現する。これにより、複製が正常でない場合には、ＳＤＲＡＭ１４に誤った再現をすることを防止できる。
【００３１】
（３）上記（２）の電子カメラ１において、オペレーションシステムプログラムを保持する不揮発性メモリ１７と、ＣＰＵ１６によって否定判定された場合に不揮発性メモリ１７に保持されるオペレーションシステムプログラムに基づいて判別プログラムを実行する直前のＳＤＲＡＭ１４が保持する内容をＳＤＲＡＭ１４に再現するＣＰＵ１６と、をさらに備えるようにした。これにより、複製が正常でない場合には、上記スナップショットを作り直すことができる。すなわち、オペレーションシステムプログラムを実行して、上記判別プログラムを実行する直前のＳＤＲＡＭ１４が保持する内容を取得する。
【００３２】
（４）上記（３）の電子カメラ１において、不揮発性メモリ１７が保持する複製を再現された内容によって更新するＣＰＵ１６をさらに備えるようにしたので、上記正常でない複製を作り直した内容によって更新することができる。
【００３３】
（変形例１）
電子カメラ１の製造時において、最初に不揮発性メモリ１７のスナップショットの領域へ「複製」を記録する場合、不揮発性メモリ１７に対する他のプログラム（たとえば、高速起動プログラムやアプリケーションプログラムなど）を記録する際に一緒に「複製」を記録（インストール）するようにしてもよい。
【００３４】
（変形例２）
上記実施形態のステップＳ６０（図３）において起動するモード判定プログラムは、たとえば、操作部材２０を構成するモード設定ダイヤルからの操作位置を示す信号に基づいて「撮影処理」、「再生処理」、「メニュー処理」、および「通信処理」を判定するものでもよい。
【００３５】
（変形例３）
また、ステップＳ６０（図３）において起動するモード判定プログラムは、ＬＣＤモニタ１５に表示させたアイコンと、ＬＣＤモニタ１５の表示面に積層したタッチ操作部材からのタッチ位置検出信号とに基づいて「撮影処理」、「再生処理」、「メニュー処理」、および「通信処理」を判定してもよい。ＣＰＵ１６は、たとえば、カメラを象ったアイコン、右向き三角形を象ったアイコン、工具を象ったアイコン、およびアンテナを象ったアイコンをそれぞれＬＣＤモニタ１５に表示させておく。ＣＰＵ１６は、操作部材２０を構成するタッチ操作部材からの検出信号が示すタッチ位置に表示しているアイコンに対応する動作モードを判定する。
【００３６】
（変形例４）
上記実施形態のステップＳ７０（図３）において、スナップショットの領域へ「複製」を更新記録する際に、ＬＣＤモニタ１５にメッセージを表示させることによって スナップショットの異常を判定した旨をユーザーへ知らせるようにしてもよい。ＣＰＵ１６は、たとえば、「異常を検出したので修復します。」をＬＣＤモニタ１５に表示させる。
【００３７】
（変形例５）
上記実施形態のステップＳ７０（図３）において、スナップショットの領域へ「複製」を更新記録することなく、ＬＣＤモニタ１５にメッセージを表示させることによって スナップショットの異常を判定した旨をユーザーへ知らせるようにしてもよい。ＣＰＵ１６は、たとえば、「異常を検出しました。修復を行いますか？」をＬＣＤモニタ１５に表示させる。ＣＰＵ１６は、ユーザー操作（たとえば、スナップショットスイッチの操作）によって修復を指示する操作信号が操作部材２０から入力された場合に、スナップショットの領域へ「複製」を更新記録する。
【００３８】
（変形例６）
上記実施形態のステップＳ７０（図３）において、スナップショットの領域へ「複製」を更新記録することなく、ＬＣＤモニタ１５にメッセージを表示させることによって 警告表示のみを行うようにしてもよい。ＣＰＵ１６は、たとえば、「異常を検出しました。サービスセンターまでお持ち下さい。」をＬＣＤモニタ１５に表示させる。
【００３９】
（変形例７）
電子カメラ１を例に説明したが、OSを搭載する電子機器であれば、カメラ以外の他の機器にも本発明を適用することができる。
【００４０】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。
【符号の説明】
【００４１】
１…電子カメラ
１２…撮像素子
１４…ＳＤＲＡＭ
１５…ＬＣＤモニタ
１６…ＣＰＵ
１７…不揮発性メモリ
１９…通信インターフェース
【図１】
2012133558.tif 000003
【図２】
2012133558.tif 000004
【図３】
2012133558.tif 000005