JP2008225763A - Update method for firmware, program and electronic equipment - Google Patents
Update method for firmware, program and electronic equipment Download PDFInfo
- Publication number
- JP2008225763A JP2008225763A JP2007062092A JP2007062092A JP2008225763A JP 2008225763 A JP2008225763 A JP 2008225763A JP 2007062092 A JP2007062092 A JP 2007062092A JP 2007062092 A JP2007062092 A JP 2007062092A JP 2008225763 A JP2008225763 A JP 2008225763A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- recorded
- new firmware
- new
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は電子機器に係り、特にファームウェアが更新可能な電子機器に関する。 The present invention relates to an electronic device, and more particularly to an electronic device whose firmware can be updated.
デジタルカメラ、携帯電話、ポータブルコンピュータ、携帯音楽プレーヤー、PDA等の電子機器では、機器の機能を向上させるために、ファームウェアを更新することが一般的に行われている。ここで、ファームウェアとは、電子機器を制御するためのプログラムであり、一般には電子機器内の不揮発性メモリに記録されている。 In an electronic device such as a digital camera, a mobile phone, a portable computer, a portable music player, and a PDA, the firmware is generally updated in order to improve the function of the device. Here, the firmware is a program for controlling the electronic device, and is generally recorded in a non-volatile memory in the electronic device.
ファームウェアの更新方法として、特許文献1には、電子機器に装填されたメモリカードからアップデート用のファームウェアを自動的に検出し、電子機器内に記録されたファームウェアをその検出されたファームウェアに書き換えることで、ファームウェアを更新する方法が提案されている。この特許文献1に記載されたファームウェアの更新方法では、電子機器内のファームウェア専用のメモリに記録されたファームウェアと電子機器に装填されたメモリカードに記録されたアップデート用のファームウェアの新旧を比較し、アップデート用のファームウェアが電子機器内に記録されたファームウェアより新しい場合には、電子機器内に記録されたファームウェアを消した後で、アップデート用のファームウェアを電子機器内の専用のメモリに記録して、ファームウェアの更新を行う。
しかしながら、上記特許文献1の方法では以下のような欠点があった。すなわち、特許文献1の方法では、ファームウェア専用のメモリにファームウェアを記録しているために、そのファームウェア専用のメモリに記録されているファームウェアをあらかじめ消した後で新しいファームウェアを書き込む必要がある。そのため、あらかじめ新しいファームウェアの一部が破損している等で新しいファームウェアを用いて電子機器が起動できなかった場合には、あらかじめ記録されていたファームウェアが消されてしまっているために、その電子機器が使用できなくなるという問題がある。 However, the method of Patent Document 1 has the following drawbacks. That is, in the method of Patent Document 1, since firmware is recorded in a memory dedicated to firmware, it is necessary to write new firmware after deleting the firmware recorded in the memory dedicated to the firmware in advance. Therefore, if the electronic device cannot be started up using the new firmware because part of the new firmware has been damaged in advance, the pre-recorded firmware has been erased. There is a problem that cannot be used.
また、ファームウェアを専用のメモリに記録しているため、画像、音等の各種データを機器内部に記録するには、ファームウェアを記録させるメモリとは別のメモリを機器内部に用意しなくてはいけないという問題がある。 Also, since the firmware is recorded in the dedicated memory, in order to record various data such as images and sounds inside the device, it is necessary to prepare a memory inside the device that is different from the memory that records the firmware. There is a problem.
本発明はこのような事情に鑑みてなされたもので、ファームウェア専用のメモリを使用せず、ファームウェアを容易に更新することができ、かつ、新しいファームウェアに問題があった場合には以前のファームウェアに容易に戻すことができるファームウェアの更新方法、プログラム及び電子機器を提供することを目的とする。 The present invention has been made in view of such circumstances, and it is possible to easily update the firmware without using firmware dedicated memory, and to replace the previous firmware when there is a problem with the new firmware. It is an object to provide a firmware update method, a program, and an electronic device that can be easily returned.
請求項1に記載の電池駆動機器は、前記目的を達成するために、各種データが読み書きされる不揮発性メモリにファームウェアが記録された電子機器のファームウェア更新方法において、更新する新しいファームウェアを取得するステップと、前記不揮発性メモリにあらかじめ記録されているファームウェアが前記不揮発性メモリに記録された状態で、前記新しいファームウェアを前記不揮発性メモリの連続した空き領域に記録するステップと、を含むことを特徴とする。 The battery-operated device according to claim 1, in order to achieve the object, a step of acquiring new firmware to be updated in a firmware update method for an electronic device in which firmware is recorded in a nonvolatile memory in which various data are read and written. And recording the new firmware in a continuous free area of the non-volatile memory in a state in which the firmware pre-recorded in the non-volatile memory is recorded in the non-volatile memory. To do.
請求項1に記載のファームウェアの更新方法によれば、不揮発性メモリに各種データ及びファームウェアを記録する電子機器において、不揮発性メモリにあらかじめ記録されているファームウェアが不揮発性メモリに記録された状態で、電子機器の外部から取得した新しいファームウェアを不揮発性メモリの連続した空き領域に記録する。これにより、旧ファームウェアから新しいファームウェアに更新する場合には、ファームウェアのメモリ領域の先頭クラスタを変更させればよいため、ファームウェアを容易に更新することができる。また、新しいファームウェアに問題があった場合には以前のファームウェアに容易に戻すことができる。 According to the firmware update method of claim 1, in the electronic apparatus that records various data and firmware in the nonvolatile memory, the firmware recorded in advance in the nonvolatile memory is recorded in the nonvolatile memory, New firmware obtained from outside the electronic device is recorded in a continuous free area of the nonvolatile memory. As a result, when the old firmware is updated to the new firmware, it is only necessary to change the top cluster in the firmware memory area, so that the firmware can be easily updated. Also, if there is a problem with the new firmware, it can be easily restored to the previous firmware.
請求項2に記載のファームウェア更新方法は、前記目的を達成するために、請求項1に記載のファームウェア更新方法において、前記新しいファームウェアを前記不揮発性メモリの連続した空き領域に記録するステップでは、前記不揮発性メモリをデフラグした後で前記新しいファームウェアを前記不揮発性メモリの連続した空き領域に保存することを特徴とする。 In order to achieve the object, the firmware update method according to claim 2 is the firmware update method according to claim 1, wherein the new firmware is recorded in a continuous free area of the nonvolatile memory. After the non-volatile memory is defragmented, the new firmware is stored in a continuous free area of the non-volatile memory.
請求項2に記載のファームウェア更新方法によれば、不揮発性メモリをデフラグした後で新しいファームウェアを不揮発性メモリの連続した空き領域に保存することで、電子機器の外部から受信した新しいファームウェアを、ファームウェアがあらかじめ記録されている不揮発性メモリの連続した空き領域に記録する。これにより、不揮発性メモリに新しいファームウェアを記録するための連続した空き領域がない場合においても、新しいファームウェアを不揮発性メモリに記録することができる。また、新しいファームウェアに問題があった場合には以前のファームウェアに容易に戻すことができる。 According to the firmware update method of claim 2, the new firmware received from the outside of the electronic device is stored in the firmware by storing the new firmware in a continuous free area of the nonvolatile memory after defragmenting the nonvolatile memory. Is recorded in a continuous free area of a non-volatile memory recorded in advance. Thus, even when there is no continuous free space for recording new firmware in the nonvolatile memory, the new firmware can be recorded in the nonvolatile memory. Also, if there is a problem with the new firmware, it can be easily restored to the previous firmware.
請求項3に記載のファームウェア更新方法は、前記目的を達成するために、各種データが読み書きされる不揮発性メモリにファームウェアが記録された電子機器のファームウェア更新方法において、更新する新しいファームウェアを取得するステップと、前記不揮発性メモリにあらかじめ記録されているファームウェアが前記不揮発性メモリに記録された状態で、前記新しいファームウェアを前記不揮発性メモリに保存するステップと、前記不揮発性メモリをデフラグするステップと、を含むことを特徴とする。 The firmware update method according to claim 3, wherein, in order to achieve the above object, in the firmware update method for an electronic device in which firmware is recorded in a nonvolatile memory in which various data are read and written, a step of acquiring new firmware to be updated And storing the new firmware in the non-volatile memory in a state where the firmware pre-recorded in the non-volatile memory is recorded in the non-volatile memory, and defragmenting the non-volatile memory. It is characterized by including.
請求項3に記載のファームウェア更新方法によれば、不揮発性メモリに各種データ及びファームウェアを記録する電子機器において、新しいファームウェアを不揮発性メモリに保存した後で不揮発性メモリをデフラグすることで、電子機器の外部から受信した新しいファームウェアを、ファームウェアがあらかじめ記録されている不揮発性メモリに連続して記録する。これにより、旧ファームウェアから新しいファームウェアに更新する場合には、ファームウェアのメモリ領域の先頭クラスタを変更させればよいため、ファームウェアを容易に更新することができる。また、新しいファームウェアに問題があった場合には以前のファームウェアに容易に戻すことができる。また、不揮発性メモリに新しいファームウェアを記録するための連続した空き領域がない場合においても、新しいファームウェアを不揮発性メモリに記録することができる。 According to the firmware update method of claim 3, in the electronic device that records various data and firmware in the nonvolatile memory, the electronic device is configured to defragment the nonvolatile memory after storing the new firmware in the nonvolatile memory. The new firmware received from the outside is continuously recorded in the nonvolatile memory in which the firmware is recorded in advance. As a result, when the old firmware is updated to the new firmware, it is only necessary to change the top cluster in the firmware memory area, so that the firmware can be easily updated. Also, if there is a problem with the new firmware, it can be easily restored to the previous firmware. Further, even when there is no continuous free space for recording new firmware in the nonvolatile memory, the new firmware can be recorded in the nonvolatile memory.
請求項4に記載のファームウェア更新方法は、前記目的を達成するために、請求項1に記載のファームウェア更新方法において、前記新しいファームウェアを起動ファームウェアに設定するステップと、前記電子機器を前記新しいファームウェアで起動するステップと、前記新しいファームウェアが正常に動作するか判定するステップと、を更に含み、前記新しいファームウェアが正常に動作するか判定するステップにおいて、前記新しいファームウェアが正常に動作した場合には、前記不揮発性メモリにおける前記あらかじめ記録されているファームウェアが保存されている領域を各種データを記録する領域として開放し、前記新しいファームウェアが正常に動作しなかった場合には、前記あらかじめ記録されているファームウェアを起動ファームウェアに再設定することを特徴とする。 In order to achieve the above object, a firmware update method according to claim 4 is the firmware update method according to claim 1, wherein the new firmware is set as a startup firmware, and the electronic device is replaced with the new firmware. A step of determining whether or not the new firmware operates normally. In the step of determining whether or not the new firmware operates normally, when the new firmware operates normally, The area where the pre-recorded firmware is stored in the nonvolatile memory is released as an area for recording various data. If the new firmware does not operate normally, the pre-recorded firmware is Start-up Characterized by resetting the firmware.
請求項4に記載のファームウェア更新方法によれば、不揮発性メモリに新しいファームウェアを記録した後で、新しいファームウェアを起動ファームウェアに設定して、電子機器を起動させる。そして、電子機器が正常に起動した場合には、新しいファームウェアが正常と判断し、古いファームウェアを消して、その領域を各種データを記録する領域として開放する。また、電子機器が正常に起動しなかった場合には、新しいファームウェアが正常でないと判断し、古いファームウェアを起動ファームウェアに再設定する。これにより、電子機器が正常に起動した場合には、ファームウェア専用のメモリを使用しないために、古いファームウェアを消すことにより古いファームウェアが記録されていた領域を各種データを記録する領域として開放することができる。そのため、メモリを有効に使うことができる。また、電子機器が正常に起動しなかった場合には、ファームウェアのメモリ領域の先頭クラスタを元に戻せばよい、すなわち、以前のファームウェアに容易に戻すことができる。そのため、どのような場合においても、電子機器を起動させることができ、機器が動作しなくなることを防ぐことができる。 According to the firmware update method of the fourth aspect, after the new firmware is recorded in the non-volatile memory, the new firmware is set as the startup firmware and the electronic device is started. When the electronic device starts up normally, it is determined that the new firmware is normal, the old firmware is erased, and the area is released as an area for recording various data. If the electronic device does not start up normally, it is determined that the new firmware is not normal, and the old firmware is reset as the startup firmware. As a result, when the electronic device starts up normally, the memory dedicated to the firmware is not used, so the area where the old firmware was recorded can be released as an area for recording various data by deleting the old firmware. it can. Therefore, the memory can be used effectively. If the electronic device does not start normally, the first cluster in the firmware memory area may be restored, that is, it can be easily restored to the previous firmware. Therefore, in any case, the electronic device can be activated and the device can be prevented from becoming inoperable.
請求項5に記載のファームウェア更新方法は、前記目的を達成するために、請求項4に記載のファームウェア更新方法において、前記電子機器を前記新しいファームウェアを起動ファームウェアに設定して起動させるステップでは、ウオッチドッグタイマーを起動してから前記新しいファームウェアを起動ファームウェアに設定し、前記新しいファームウェアが正常に動作するか判定するステップでは、前記ウオッチドッグタイマーがタイムアップしなかった場合には前記新しいファームウェアが正常に動作したと判断し、前記ウオッチドッグタイマーがタイムアップした場合には前記新しいファームウェアが正常に動作しなかったと判断することを特徴とする。 In order to achieve the above object, a firmware update method according to claim 5 is a firmware update method according to claim 4, wherein the electronic device is started by setting the new firmware as a startup firmware and starting the electronic device. In the step of setting the new firmware as the startup firmware after starting the dog timer and determining whether the new firmware operates normally, if the watchdog timer does not time out, the new firmware is normally It is determined that the firmware has been operated, and when the watchdog timer has timed out, it is determined that the new firmware did not operate normally.
請求項5に記載のファームウェア更新方法によれば、ウオッチドッグタイマーを起動させてから新しいファームウェアで電子機器を起動させ、前記ウオッチドッグタイマーがタイムアップしなかった場合には前記新しいファームウェアが正常に動作したと判断し、前記ウオッチドッグタイマーがタイムアップした場合には前記新しいファームウェアが正常に動作しなかったと判断する。これにより、新しいファームウェアが正常に動作するかどうかを自動的に知ることができる。 According to the firmware update method of claim 5, when the watchdog timer is started, the electronic device is started with the new firmware, and when the watchdog timer does not time out, the new firmware operates normally. If the watchdog timer expires, it is determined that the new firmware did not operate normally. Thereby, it is possible to automatically know whether the new firmware operates normally.
請求項6に記載のファームウェア更新方法は、前記目的を達成するために、請求項4に記載のファームウェア更新方法において、前記電子機器を前記新しいファームウェアを起動ファームウェアに設定して起動させるステップでは、所定の信号入力を割り込みに設定してから前記新しいファームウェアを起動ファームウェアに設定し、前記新しいファームウェアが正常に動作するか判定するステップでは、前記新しいファームウェアの動作終了までに前記割り込みが入らない場合には前記新しいファームウェアが正常に動作したと判断し、前記新しいファームウェアの動作中に前記割り込みが入る場合には前記新しいファームウェアが正常に動作しなかったと判断することを特徴とする。 In order to achieve the above object, a firmware update method according to claim 6 is the firmware update method according to claim 4, wherein the electronic device is started by setting the new firmware as a startup firmware and starting the electronic device. In the step of setting the new signal to be the boot firmware after setting the signal input of the interrupt to the boot firmware and determining whether the new firmware operates normally, if the interrupt does not enter before the operation of the new firmware is completed It is determined that the new firmware has operated normally, and if the interrupt is input during the operation of the new firmware, it is determined that the new firmware has not operated normally.
請求項6に記載のファームウェア更新方法によれば、所定の信号入力を割り込みに設定してから新しいファームウェアで電子機器を起動させ、新しいファームウェアの動作終了までに割り込みが入らない場合には新しいファームウェアが正常に動作したと判断し、新しいファームウェアの動作中に割り込みが入る場合には新しいファームウェアが正常に動作しなかったと判断する。これにより、電子機器の操作者がファームウェアの更新の可否を判断し、電子機器に指示をすることができる。 According to the firmware update method of the sixth aspect, the electronic device is started with the new firmware after setting the predetermined signal input to the interrupt, and if the interrupt does not occur before the end of the operation of the new firmware, the new firmware is If it is determined that the firmware operates normally and an interrupt occurs during the operation of the new firmware, it is determined that the new firmware did not operate normally. Thus, the operator of the electronic device can determine whether the firmware can be updated and can instruct the electronic device.
請求項7に記載のプログラムは、前記目的を達成するために、請求項1乃至6のいずれかに記載のファームウェアの更新方法を演算装置に実行させることを特徴とする。 According to a seventh aspect of the present invention, there is provided a program for causing a computing device to execute the firmware update method according to any one of the first to sixth aspects in order to achieve the object.
請求項8に記載の電子機器は、前記目的を達成するために、各種データが読み書きされる不揮発性メモリにファームウェアが記録された電子機器において、前記不揮発性メモリに記録された請求項7に記載のプログラムを前記不揮発性メモリから前記プログラムを読み出して実行する演算装置を備えたことを特徴とする。 The electronic device according to claim 8 is recorded in the non-volatile memory in an electronic device in which firmware is recorded in a non-volatile memory from which various data are read and written in order to achieve the object. And an arithmetic unit that reads the program from the nonvolatile memory and executes the program.
本発明によれば、ファームウェア用のメモリを使用せず、ファームウェアを容易に更新することができ、かつ、新しいファームウェアに問題があった場合には以前のファームウェアに容易に戻すことができる。 According to the present invention, the firmware can be easily updated without using the firmware memory, and if there is a problem with the new firmware, the previous firmware can be easily restored.
以下、添付図面に従って本発明に係るカメラを実施するための最良の形態について詳細に説明する。 The best mode for carrying out a camera according to the present invention will be described below in detail with reference to the accompanying drawings.
<第1の実施の形態>
図1は本発明に係る電子機器の一実施形態を示す正面斜視図であり、図2はその背面斜視図である。この電子機器は、レンズを通った光を撮像素子で受け、デジタル信号に変換して記録メディアに記録するデジタルカメラである。
<First Embodiment>
FIG. 1 is a front perspective view showing an embodiment of an electronic apparatus according to the present invention, and FIG. 2 is a rear perspective view thereof. This electronic device is a digital camera that receives light passing through a lens with an imaging device, converts the light into a digital signal, and records the signal on a recording medium.
デジタルカメラ10のカメラボディ12は、横長の四角い箱状に形成されており、その正面には、図1に示すように、撮影レンズ13、フラッシュ16、AF補助光ランプ18等が設けられており、上面には、シャッターボタン22、モードレバー24、電源ボタン26等が設けられている。また、側面には、USB用コネクタ15と開閉自在なスロットカバー11が設けられている。スロットカバー11の内側には、メモリカードを装着するためのメモリカードスロット14が設けられている。
The
一方、カメラボディ12の背面には、図2に示すように、モニタ28、ズームボタン30、再生ボタン32、ファンクションボタン34、十字ボタン36、MENU/OKボタン38、DISP/BACKボタン40等が設けられている。
On the other hand, as shown in FIG. 2, a
なお、図示しない底面には、三脚ネジ穴と内側にバッテリを収納するための開閉自在なバッテリカバーとが設けられている。 Note that a bottom surface (not shown) is provided with a tripod screw hole and an openable / closable battery cover for housing the battery inside.
レンズ13は、沈胴式のズームレンズで構成されており、電源ボタン26によってデジタルカメラ10の電源をONすることにより、カメラボディ12から繰り出される。なお、レンズ13のズーム機構や沈胴機構については、公知の技術なので、ここでは、その具体的な構成についての説明は省略する。
The
メモリカードスロット14は、撮影した被写体の画像データ、音声データ等の各種データ、ファームウェアが記録されているメモリカードを装着するための接続部である。
The
USB用コネクタ15は、パーソナルコンピュータ、プリンタ等の外部機器との間での信号伝達をするためUSB用ケーブルを接続するための接続部である。
The
フラッシュ16は、たとえばキセノン管を光源として構成されており、その発光量を調整可能に形成されている。なお、キセノン管の他、高輝度のLEDを光源としたフラッシュを用いることもできる。
The
AF補助光ランプ18は、たとえば高輝度LEDで構成されており、AF時に必要に応じて発光される。
The AF auxiliary
シャッターボタン22は、いわゆる「半押し」と「全押し」とからなる二段ストローク式のスイッチで構成されている。デジタルカメラ10は、このシャッターボタン22を半押しすると撮影準備処理、すなわち、AE(Automatic Exposure:自動露出)、AF(Auto Focus:自動焦点合わせ)、AWB(Automatic White Balance:自動ホワイトバランス)の各処理を行い、全押しすると、画像の撮影・記録処理を行う。
The
モードレバー24は、デジタルカメラ10の撮影モードを設定する撮影モード設定手段として機能し、このモードダイヤルの設定位置により、デジタルカメラ10の撮影モードが様々なモードに設定される。例えば、絞り、シャッタースピード等がデジタルカメラ10によって自動的に設定される「オート撮影モード」、動画撮影を行う「動画撮影モード」、人物撮影に適した「人物撮影モード」、動体撮影に適した「スポーツ撮影モード」、風景の撮影に適した「風景撮影モード」、夕景及び夜景の撮影に適した「夜景撮影モード」、絞りの目盛りを撮影者が設定し、シャッタースピードをデジタルカメラ10が自動的に設定する「絞り優先撮影モード」、シャッタースピードを撮影者が設定し、絞りの目盛りをデジタルカメラ10が自動的に設定する「シャッタースピード優先撮影モード」、絞り、シャッタースピード等を撮影者が設定する「マニュアル撮影モード」等である。
The
電源ボタン26は、デジタルカメラ10の電源をON/OFFするのに用いられ、所定時間(たとえば、2秒)押下されることにより、デジタルカメラ10の電源がON/OFFされる。
The
モニタ28は、カラー表示が可能な液晶ディスプレイで構成されている。このモニタ28は、再生モード時に撮影済み画像を表示するための画像表示パネルとして利用されるとともに、各種設定操作を行なう際のユーザインターフェース表示パネルとして利用される。また、撮影モード時には、必要に応じてスルー画像が表示されて、画角確認用の電子ファインダとして利用される。
The
ズームボタン30は、撮影レンズ13のズーム操作に用いられ、望遠側へのズームを指示するズームテレボタンと、広角側へのズームを指示するズームワイドボタンとで構成されている。
The
再生ボタン32は、再生モードへの切り替え指示に用いられる。すなわち、デジタルカメラ10は、撮影中、この再生ボタン32が押されると、再生モードに切り替えられる。また、電源OFFの状態でこの再生ボタン32が押されると、再生モードの状態でデジタルカメラ10が起動する。
The
ファンクションボタン34は、撮影及び再生機能の各種設定画面の呼び出しに用いられる。すなわち、撮影時にこのファンクションボタン34が押されると、モニタ28に画像サイズ(記録画素数)、感度等の設定画面が表示され、再生時にこのファンクションボタン34が押されると、モニタ28に画像の消去、プリント予約(DPOF)の設定画面等が表示される。
The
十字ボタン36は、上下左右4方向の指示を入力する方向指示手段として機能し、たとえば、メニュー画面でメニュー項目の選択などに使用される。
The
MENU/OKボタン38は、各モードの通常画面からメニュー画面への遷移を指示するボタン(MENUボタン)として機能するととともに、選択内容の確定、処理の実行等を指示するボタン(OKボタン)として機能する。
The MENU /
DISP/BACKボタン40は、モニタ28の表示内容の切り替え指示(DISP機能)に用いられるとともに、入力操作のキャンセル等の指示(BACK機能)に用いられ、デジタルカメラ10の設定状態に応じて割り当てられる機能が切り替えられる。
The DISP /
図3は、本実施の形態のデジタルカメラ10の電気的構成を示すブロック図である。
FIG. 3 is a block diagram showing an electrical configuration of the
同図に示すように、デジタルカメラ10は、CPU110、操作部(シャッターボタン22、モードレバー24、電源ボタン26、ズームボタン30、再生ボタン32、ファンクションボタン34、十字ボタン36、MENU/OKボタン38、DISP/BACKボタン40等)112、フラッシュROM114、RAM116、VRAM120、撮影光学系124、撮影光学系駆動制御部126、撮像素子128、タイミングジェネレータ130、アナログ信号処理部132、A/Dコンバータ134、画像入力コントローラ136、画像信号処理部138、圧縮伸張処理部140、USBI/F142、メディアコントローラ146、表示制御部148、AE/AWB検出部152、AF検出部154、フラッシュ制御部156、AF補助光ランプ制御部158等で構成されている。
As shown in the figure, the
CPU110は、デジタルカメラ10の全体の動作を統括制御する制御手段として機能するとともに、各種の演算処理を行う演算手段として機能し、操作部112からの入力に基づき所定の制御プログラムに従ってデジタルカメラ10の各部を制御する。
The
フラッシュROM114には、このCPU110が実行する制御プログラムであるファームウェア、制御に必要な各種データ、カメラ設定値、撮影された画像データ等が記録されている。なお、後述するように、撮影された画像データは、通常メモリカードに記録されるが、ユーザーが選択した場合、メモリカードが装填されていない場合、メモリカードの容量が不足した場合等にはフラッシュROM114に記録される。
The
RAM116は、CPU110の作業用領域として利用されるとともに、画像データの一時記憶領域として利用され、VRAM120は、表示用の画像データ専用の一時記憶領域として利用される。
The
撮影光学系124は、撮影レンズ13、絞り、シャッタを含み、各構成要素は、モータ等のアクチュエータで構成される駆動部124Aに駆動されて動作する。たとえば、撮影レンズ13を構成するフォーカスレンズ群は、フォーカスモータに駆動されて前後方向に移動し、ズームレンズ群は、ズームモータに駆動されて前後方向に移動する。また、絞りは、絞りモータに駆動されて拡縮し、シャッタは、シャッタモータに駆動されて開閉する。
The photographic
撮影光学系駆動制御部126は、CPU110からの指令に応じて撮影光学系124の駆動部124Aを制御し、撮影レンズ13、絞り、シャッタの動作を制御する。
The photographing optical system
撮像素子128は、たとえば、所定のカラーフィルタ配列のカラーCCDで構成されており、撮影光学系124によって結像された被写体の画像を電子的に撮像する。
The
タイミングジェネレータ(TG)130は、CPU110からの指令に応じて、この撮像素子128を駆動するためのタイミング信号を出力する。
A timing generator (TG) 130 outputs a timing signal for driving the
アナログ信号処理部132は、撮像素子128から出力された画像信号に対して相関二重サンプリング処理(撮像素子の出力信号に含まれるノイズ(特に熱雑音)等を軽減することを目的として、撮像素子の1画素毎の出力信号に含まれるフィードスルー成分レベルと画素信号成分レベルとの差をとることにより正確な画素データを得る処理)を行い、増幅して出力する。
The analog
A/Dコンバータ134は、アナログ信号処理部132から出力されたR、G、Bのアナログの画像信号をデジタルの画像信号に変換する。
The A /
画像入力コントローラ136は、所定容量のラインバッファを内蔵しており、CPU110からの指令に従い、A/Dコンバータ134から出力された1画像分の画像信号を蓄積して、RAM116に記録する。
The
画像信号処理部138は、同時化回路(単板CCDのカラーフィルタ配列に伴う色信号の空間的なズレを補間して色信号を同時式に変換する処理回路)、ホワイトバランス補正回路、ガンマ補正回路、輪郭補正回路、輝度・色差信号生成回路等を含み、CPU110からの指令に従い、入力された画像信号に所要の信号処理を施して、輝度データ(Yデータ)と色差データ(Cr,Cbデータ)とからなる画像データ(YUVデータ)を生成する。
The image
圧縮伸張処理部140は、CPU110からの指令に従い、入力された画像データに所定形式の圧縮処理を施し、圧縮画像データを生成する。また、CPU110からの指令に従い、入力された圧縮画像データに所定形式の伸張処理を施し、非圧縮の画像データを生成する。
The compression /
USBI/F142は、CPU110からの指令に従い、USBコネクタ15を介して接続されている外部機器から転送されたコマンドの検出、外部機器に対してデータの読み/書きの制御を行なう。なお、USBI/F142で検出されたコマンドはCPU110に供給される。
The USB I /
メディアコントローラ146は、CPU110からの指令に従い、メモリカードスロット14に装填されたメモリカード144に対してデータの読み/書きを制御する。
The
表示制御部148は、CPU110からの指令に従い、モニタ28への表示を制御する。すなわち、CPU110からの指令に従い、入力された画像信号をモニタ28に表示するための映像信号(たとえば、NTSC信号やPAL信号、SCAM信号)に変換してモニタ28に出力するとともに、所定の文字、図形情報をモニタ28に出力する。
The
AE/AWB検出回路152は、CPU110からの指令に従い、入力された画像信号からAE制御及びAWB制御に必要な物理量を算出する。たとえば、AE制御に必要な物理量として、1画面を複数のエリア(たとえば16×16)に分割し、分割したエリアごとにR、G、Bの画像信号の積算値を算出する。CPU110は、このAE/AWB検出回路152から得た積算値に基づいて被写体の明るさ(被写体輝度)を検出し、撮影に適した露出値(撮影EV値)を算出する。そして、算出した撮影EV値と所定のプログラム線図から絞り値とシャッタ速度を決定する。また、AWB制御に必要な物理量として、1画面を複数のエリア(例えば、16×16)に分割し、分割したエリアごとにR、G、Bの画像信号の色別の平均積算値を算出する。CPU110は、得られたRの積算値、Bの積算値、Gの積算値から分割エリアごとにR/G及びB/Gの比を求め、求めたR/G、B/Gの値のR/G、B/Gの色空間における分布等に基づいて光源種判別を行う。そして、判別された光源種に適したホワイトバランス調整値に従って、たとえば各比の値がおよそ1(つまり、1画面においてRGBの積算比率がR:G:B≒1:1:1)になるように、ホワイトバランス調整回路のR、G、B信号に対するゲイン値(ホワイトバランス補正値)を決定する。
The AE /
AF検出回路154は、CPU110からの指令に従い、入力された画像信号からAF制御に必要な物理量を算出する。本実施の形態のデジタルカメラ10では、撮像素子128から得られる画像のコントラストによりAF制御が行われ(いわゆるコントラストAF)、AF検出回路154は、入力された画像信号から画像の鮮鋭度を示す焦点評価値を算出する。CPU110は、このAF検出回路154で算出される焦点評価値が極大となる位置を検出し、その位置にフォーカスレンズ群を移動させる。すなわち、フォーカスレンズ群を至近から無限遠まで所定のステップで移動させ、各位置で焦点評価値を取得し、得られた焦点評価値が最大の位置を合焦位置として、その位置にフォーカスレンズ群を移動させる。
The
フラッシュ制御部156は、CPU110からの指令に従い、フラッシュ16の発光を制御する。
The
AF補助光ランプ制御部158は、CPU110からの指令に従い、AF補助光ランプ18の発光を制御する。すなわち、CPU110は、AF時に被写体が暗いと判断すると、あるいは、被写体のコントラストが低いと判断すると、AF補助光ランプ制御部158を介してAF補助光ランプ18を発光させ、被写体にAF補助光を照射させてAF制御を実行する。
The AF auxiliary light
次に、以上のように構成された本実施の形態のデジタルカメラ10の作用について説明する。
Next, the operation of the
まず、デジタルカメラ10の撮影、記録動作及び再生動作について説明する。
First, photographing, recording operation, and reproduction operation of the
電源ボタン26を押下し、デジタルカメラ10の電源を投入すると、デジタルカメラ10は、撮影モードの下で起動する。
When the
まず、撮影光学系駆動制御部126を介して撮影光学系124の駆動部124Aが駆動され、撮影レンズ13が所定位置まで繰り出される。そして、撮影レンズ13が所定位置まで繰り出されると、撮像素子128によってスルー画像用の撮影が行われ、モニタ28にスルー画像が表示される。すなわち、撮像素子128で連続的に画像が撮像され、その画像信号が連続的に処理されて、スルー画像用の画像データが生成される。生成された画像データは、VRAM120を介して順次表示制御部148に加えられ、表示用の信号形式に変換されて、モニタ28に出力される。これにより、撮像素子128で捉えた画像がモニタ28にスルー表示される。撮影者は、このモニタ28に表示されたスルー画像を見て構図を決定し、シャッターボタン22を半押しする。
First, the driving
シャッターボタン22が半押しされると、CPU110にS1ON信号が入力される。CPU110は、このS1ON信号に応動して、撮影準備処理、すなわち、AE、AF、AWBの各処理を実行する。
When the
まず、撮像素子128から出力された画像信号をアナログ信号処理部132、A/Dコンバータ134、画像入力コントローラ136を介してRAM116に取り込み、AE/AWB検出部152及びAF検出部154に加える。
First, the image signal output from the
AE/AWB検出部152は、入力された画像信号からAE制御及びAWB制御に必要な物理量を算出し、CPU110に出力する。CPU110は、このAE/AWB検出部152からの出力に基づき、絞り値とシャッタースピードを決定するとともに、ホワイトバランス補正値を決定する。同時に、検出された被写体輝度より、フラッシュの発光が必要かどうかを判断する。フラッシュ16の発光が必要と判断された場合には、フラッシュ16をプリ発光させ、その反射光に基づいて本撮影時のフラッシュ16の発光量を決定する。
The AE /
また、AF検出部154は、入力された画像信号からAF制御に必要な物理量を算出し、CPU110に出力する。CPU110は、このAF検出部154からの出力に基づき撮影光学系駆動制御部126を介して撮影光学系124の駆動部124Aの駆動を制御し、フォーカスレンズの移動を制御して、撮影レンズ13のピントを主要被写体に合わせる。この際、CPU110は、必要に応じてAF補助光ランプ20を発光させて、AF制御を実行する。
Further, the
撮影者は、モニタ28に表示されるスルー画像を見て撮影レンズ13のピント状態等を確認し、撮影を実行する。すなわち、シャッターボタン22を全押しする。
The photographer confirms the focus state of the photographing
シャッターボタン22が全押しされると、CPU110にS2ON信号が入力される。CPU110は、このS2ON信号に応動して、撮影、記録処理を実行する。
When the
まず、上記のAE処理で求めた絞り値、シャッタースピードで撮像素子128を露光し、記録用の画像を撮像する。この際、フラッシュ16を発光させる場合は、フラッシュ発光制御部156を介して、プリ発光の結果から求めたフラッシュ16の発光量に基づいてフラッシュ16を発光させる。
First, the
撮像素子128から出力された記録用の画像信号は、アナログ信号処理部132、A/Dコンバータ134を介して画像入力コントローラ136に取り込まれ、RAM116に格納される。RAM116に格納された画像信号は、CPU110の制御の下、画像信号処理部138に加えられる。画像信号処理部138は、入力された画像信号に所定の信号処理を施して、輝度データと色差データとからなる画像データ(YUVデータ)を生成する。
The recording image signal output from the
画像信号処理部138で生成された画像データは、一旦RAM116に格納されたのち、圧縮伸張処理部140に加えられる。圧縮伸張処理部140は、入力された画像データに対して所定の圧縮処理を施し、圧縮画像データを生成する。
The image data generated by the image
圧縮された画像データは、RAM116に格納され、所定フォーマットの静止画像ファイル(たとえば、Exif)として、メディアコントローラ146を介してメモリカード144に記録される。なお、メモリカード144に画像ファイルが保存可能な空き領域が無い場合や、操作者が選択した場合等には、RAM116に格納された画像データは、所定フォーマットの静止画像ファイル(たとえば、Exif)としてフラッシュROM114に保存される。なお、フラッシュROM114に画像データを保存する場合には、画像データは複数のクラスタ、通常は連続した複数のクラスタに保存される。
The compressed image data is stored in the
このようにしてメモリカード144又はフラッシュROM114に記録された画像データは、デジタルカメラ10のモードを再生モードに設定することにより、モニタ28に再生表示される。再生モードへの移行は、再生ボタン32を押下することにより行われる。
The image data recorded in the
再生ボタン32が押下されると、CPU110は最後に記録された画像ファイルの圧縮画像データを読み出す。最後に記録された画像ファイルがメモリカード144に記録されている場合には、CPU110は、メディアコントローラ146を介してメモリカード144に最後に記録された画像ファイルの圧縮画像データを読み出す。最後に記録された画像ファイルがフラッシュROM114に記録されている場合には、CPU110は直接フラッシュROM114から画像ファイルの圧縮画像データが読み取り可能である。
When the
メモリカード144又はフラッシュROM114から読み出された圧縮画像データは、圧縮伸張処理部140に加えられ、非圧縮の画像データとされたのちVRAM120に加えられる。そして、VRAM120から表示制御部148を介してモニタ28に出力される。これにより、メモリカード144又はフラッシュROM114に記録されている画像が、モニタ28に再生表示される。
The compressed image data read from the
画像のコマ送りは、十字ボタン36の左右のキー操作で行なわれ、右キーが操作されると、次の画像ファイルがメモリカード160から読み出され、モニタ28に再生表示される。また、十字ボタン36の左キーが操作されると、一つ前の画像ファイルがメモリカード144又はフラッシュROM114から読み出され、モニタ28に再生表示される。
Image frame advance is performed by operating the left and right keys of the
モニタ28に再生表示された画像を確認しながら、必要に応じて、メモリカード144又はフラッシュROM114に記録された画像を消去することができる。画像の消去は、画像がモニタ28に再生表示された状態でファンクションボタン34が押下されることによって行われる。
While confirming the image reproduced and displayed on the
ファンクションボタン34が押下されると、CPU110は表示制御部148を介して、モニタ28に「この写真を消去してよろしいですか」等の画像消去を伝えるメッセージを画像に重ねて表示する。MENU/OKボタン38が押下されると、その画像の消去が行われる。画像データがメモリカード144に記録されている場合には、CPU110はメディアコントローラ146を介してメモリカード144に記録された画像ファイルを消去する。画像データがフラッシュROM114に記録されている場合には、CPU110は直接フラッシュROM114から画像ファイルが消去可能である。
When the
以上のように、デジタルカメラ10は画像の撮影、記録及び再生を行う。
As described above, the
さて、本実施の形態のデジタルカメラ10では、ファームウェアのアップデートを行うことができるようにされており、これにより機能の追加、向上が図れるようにしている。このファームウェアのアップデート処理は、デジタルカメラ10を所定のアップデートモードに設定することで実行される。なお、アップデートモードの設定は、例えば、DISP/BACKボタン40を押しながら電源ボタン26を押すことで行われる。
Now, in the
以下、このファームウェアのアップデート処理における処理手順について説明する。 Hereinafter, a processing procedure in the firmware update process will be described.
図4は、ファームウェアのアップデート処理での処理の流れを示すフローチャートである。なお、以下の処理はCPU110によって行われる。
FIG. 4 is a flowchart showing a process flow in the firmware update process. The following processing is performed by the
メモリカードスロット14に更新用のファームウェアが記録されたメモリカード144を装填した状態で上記アップデートモードの設定を行うと、デジタルカメラ10の電源が入り、フラッシュROM114に記録されている起動プログラムが実行される(ステップS10)。
When the update mode is set with the
起動プログラムが実行されると、メディアコントローラ146によってメモリカード144のアクセステストが行われ、メモリカード144が装填されているか否かが確認される(ステップS12)。
When the activation program is executed, the
メモリカード144が検出されなかった場合には、処理が終了される。
If the
一方、メモリカード144が検出された場合には、メモリカード144にファームウェアが記録されているかどうかが確認される(ステップS14)。
On the other hand, if the
メモリカード144にファームウェアが記録されていない場合には、処理が終了される。
If no firmware is recorded on the
一方、メモリカード144にファームウェアが記録されている場合には、メモリカード144に記録されたファームウェアのバージョン情報が読み出され、フラッシュROM114に記録されたファームウェアのバージョン情報に基づいて、ファームウェアの新旧が比較判定される(ステップS16)。
On the other hand, when the firmware is recorded on the
メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより古い場合には、処理が終了される。
If the firmware version recorded on the
一方、メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより新しい場合には、フラッシュROM114に、メモリカード144に記録された更新用のファームウェア(新ファームウェア)を書き込むのに十分な連続した空き領域(空きクラスタ)があるかどうかが判断される(ステップS18)。
On the other hand, when the firmware version recorded on the
新ファームウェアを書き込むのに十分な連続した空きクラスタがない場合には、表示制御部148によって、「アップロードできません。画像データを削除してからもう一度アップデートしてください。」等のエラー表示がモニタ28に表示される(ステップS22)。
If there are not enough consecutive free clusters to write the new firmware, the
一方、新ファームウェアを書き込むのに十分な連続した空きクラスタがある場合(図5(a)参照)には、フラッシュROM114の連続した空きクラスタに新ファームウェアが書き込まれる(ステップS20)。そして、新ファームウェアの書き込みが完了したと判断されるまで、上記処理が継続される(ステップS24)。フラッシュROM114に新ファームウェアの書き込みが終了した場合には、図5(b)に示すように、フラッシュROM114にあらかじめ記録されているファームウェア(旧ファームウェア)と新ファームウェアとが、連続したクラスタにそれぞれ記録されている。
On the other hand, when there are continuous free clusters sufficient to write new firmware (see FIG. 5A), the new firmware is written into the continuous free clusters in the flash ROM 114 (step S20). Then, the above process is continued until it is determined that the writing of the new firmware has been completed (step S24). When the writing of the new firmware to the
フラッシュROM114にファームウェアの書き込みが終了したら、ファームウェアの開始アドレスが旧ファームウェアの開始アドレス(図5(b)m)から新ファームウェアの開始アドレス(図5(b)n)へ変更される(ステップS26)。そして、ウオッチドッグタイマーが10秒で設定された(ステップS28)状態で、デジタルカメラ10が再起動される(ステップS30)。
When the writing of the firmware to the
ここで、ファームウェアの開始アドレスはフラッシュROM114内のカメラ設定値に書き込まれており、CPU110は、カメラ設定値に書き込まれている開始アドレスを取得してからデジタルカメラ10を起動する。そのため、ファームウェアの開始アドレスを変更すると、起動ファームウェアが旧ファームウェアから新ファームウェアに変更され、デジタルカメラ10が新ファームウェアを起動ファームウェアに設定した状態で再起動される。
Here, the start address of the firmware is written in the camera setting value in the
なお、本実施例ではウオッチドッグタイマーを10秒で設定しているが、これに限らない。 In this embodiment, the watchdog timer is set to 10 seconds, but the present invention is not limited to this.
デジタルカメラ10を再起動した後で、ウオッチドッグタイマーがタイムアップしたかどうかが判断される(ステップS32)。新ファームウェアが正常に動作している場合には、ウオッチドッグタイマーがタイムアップする前に新ファームウェアがウオッチドッグタイマーをリセットするため、ウオッチドッグタイマーがタイムアップすることはないが、新ファームウェアが正常に動作していない場合には、新ファームウェアがウオッチドッグタイマーをリセットしないため、ウオッチドッグタイマーがオーバーフローして、タイムアップする。
After restarting the
ウオッチドッグタイマーがタイムアップした場合、すなわち新ファームウェアでデジタルカメラ10が起動できない場合には、ファームウェアの開始アドレスが元に戻されて、旧ファームウェアが起動ファームウェアに再設定された状態で、デジタルカメラ10が再起動される(ステップS34)。これにより、新ファームウェアに問題があった場合においても、機器が動作しなくなることを防ぐことができる。
When the watchdog timer expires, that is, when the
ウオッチドッグタイマーがタイムアップしなかった場合には、以下の方法で自己診断をすることにより、新ファームウェアによってデジタルカメラ10が正常に起動したかどうかが判断される(ステップS36〜S37)。すなわち、ファームウェアのハッシュ値が算出され(ステップS36)、この算出値がファームウェアのハッシュ値と一致するかどうかが判断される(ステップS37)。
If the watchdog timer has not expired, a self-diagnosis is performed by the following method to determine whether or not the
ステップS36で算出された算出値とファームウェアのハッシュ値とが一致しない場合(ステップS37でNO)、すなわちデジタルカメラ10が正常に起動しなかった場合には、ウオッチドッグタイマーがタイムアップしたがどうかを判断するステップ(ステップS32)へ戻る。
If the calculated value calculated in step S36 does not match the hash value of the firmware (NO in step S37), that is, if the
一方、ステップS36で算出された算出値とファームウェアのハッシュ値とが一致した場合(ステップS37でYES)、すなわちデジタルカメラ10が正常に起動した場合には、デジタルカメラ10が再起動される前に設定したウオッチドッグタイマーが停止される(ステップS38)。そして、図5(c)に示すように、フラッシュROM114の旧ファームウェアが消去され、旧ファームウェアが記録されていた領域が各種データ保存用の空きクラスタとして開放される(ステップS40)。これにより、メモリを有効に使うことができる。
On the other hand, if the calculated value calculated in step S36 matches the hash value of the firmware (YES in step S37), that is, if the
なお、ステップS34において、起動ファームウェアを旧ファームウェアに戻した後で、不具合があった新ファームウェアを消去し、フラッシュROM114の新ファームウェアが記録されていた領域を各種データ保存用の空きクラスタとして開放するようにしてもよい(図5(d)参照)。
In step S34, after the boot firmware is returned to the old firmware, the defective new firmware is erased, and the area where the new firmware is recorded in the
本実施の形態によれば、旧ファームウェアから新ファームウェアに更新する場合には、ファームウェアのメモリ領域の先頭クラスタを変更させればよいため、ファームウェアを容易に更新することができる。また、デジタルカメラが正常に起動した場合において、ファームウェア専用のメモリを使用しないために、旧ファームウェアを消すことにより旧ファームウェアが記録されていた領域を各種データ用の空きクラスタとして開放することができる。そのために、メモリを有効に使うことができる。また、デジタルカメラが正常に起動しなかった場合において、ファームウェアのメモリ領域の先頭クラスタを新ファームウェアから旧ファームウェアに再設定することで、起動ファームウェアを旧ファームウェアに容易に戻すことができるため、どのような場合においてもデジタルカメラを起動させることができ、機器が動作しなくなることを防ぐことができる。また、再起動前にウオッチドッグタイマーを設定することで、新しいファームウェアが正常に動作するかどうかを自動的に知ることができる。 According to the present embodiment, when updating from old firmware to new firmware, it is only necessary to change the top cluster in the memory area of the firmware, so that the firmware can be easily updated. In addition, when the digital camera is normally activated, the memory dedicated to the firmware is not used, so that the area where the old firmware is recorded can be released as an empty cluster for various data by deleting the old firmware. Therefore, the memory can be used effectively. In addition, if the digital camera does not start normally, the startup firmware can be easily returned to the old firmware by resetting the first cluster in the firmware memory area from the new firmware to the old firmware. Even in such a case, the digital camera can be activated, and the device can be prevented from not operating. In addition, by setting the watchdog timer before restarting, it is possible to automatically know whether the new firmware operates normally.
なお、本実施の形態では、メモリカードに記録されている新ファームウェアをフラッシュROMに記録することでファームウェアの更新を行ったが、PC等の外部機器とUBS(Universal Serial Bus)ケーブルで接続し、そのケーブルを経由して、外部機器に記録されている新ファームウェアをフラッシュROMに記録することでファームウェアの更新を行ってもよい。この場合は、本実施の形態のステップS12〜S18の処理の代わりに、以下の処理が行われる。 In this embodiment, the firmware is updated by recording the new firmware recorded on the memory card in the flash ROM, but it is connected to an external device such as a PC by a UBS (Universal Serial Bus) cable, The firmware may be updated by recording new firmware recorded in the external device in the flash ROM via the cable. In this case, the following processing is performed instead of the processing in steps S12 to S18 of the present embodiment.
外部機器からUSBケーブル及びUSBコネクタ15を介してファームウェア転送のコマンドを受けると、USBI/F142にてそのコマンドを検出してCPU110に供給する。コマンドが供給されると、CPU110は、ファームウェアのバージョンとフラッシュROM114の状態を調べ、条件を満たす(送信されるファームウェアのバージョンが新しく、かつフラッシュROM114にそのファームウェアが記録できる連続した空きクラスタがある)場合には、送信される新ファームウェアをフラッシュROM114の連続した空きクラスタに記録する。なお、上記条件を満たさない場合における処理は、ファームウェアがメモリカード144に記録されている場合と同様である。
When a firmware transfer command is received from an external device via the USB cable and the
<第2の実施の形態>
上記第1の実施の形態のデジタルカメラでは、フラッシュROMにファームウェアが連続して記録可能な空きクラスタがある場合に、ファームウェアをフラッシュROMの空きクラスタに連続して記録するが、ファームウェアをフラッシュROMへ記録する方法は、これに限定されるものではない。
<Second Embodiment>
In the digital camera according to the first embodiment, when there is an empty cluster in which the firmware can be continuously recorded in the flash ROM, the firmware is continuously recorded in the empty cluster of the flash ROM. However, the firmware is stored in the flash ROM. The recording method is not limited to this.
本実施の形態のデジタルカメラは、フラッシュROMをデフラグしてから連続した空きクラスタにファームウェアを記録するものである。図6は、本実施の形態におけるファームウェアアップデートモードでの処理の流れを示すフローチャートである。 The digital camera of the present embodiment records firmware in a continuous free cluster after defragmenting the flash ROM. FIG. 6 is a flowchart showing the flow of processing in the firmware update mode in the present embodiment.
メモリカードスロット14に更新用のファームウェアが記録されたメモリカード144を装填した状態で上記アップデートモードの設定を行うと、デジタルカメラ10aの電源が入り、フラッシュROM114に記録されている起動プログラムが実行される(ステップS10)。
When the update mode is set with the
起動プログラムが実行されると、メディアコントローラ146によってメモリカード144のアクセステストが行われ、メモリカード144が装填されているか否かが確認される(ステップS12)。
When the activation program is executed, the
メモリカード144が検出されなかった場合には、処理が終了される。
If the
一方、メモリカード144が検出された場合には、メモリカード144にファームウェアが記録されているかどうかが確認される(ステップS14)。
On the other hand, if the
メモリカード144にファームウェアが記録されていない場合には、処理が終了される。
If no firmware is recorded on the
一方、メモリカード144にファームウェアが記録されている場合には、メモリカード144に記録されたファームウェアのバージョン情報が読み出され、フラッシュROM114に記録されたファームウェアのバージョン情報に基づいて、ファームウェアの新旧が比較判定される(ステップS16)。
On the other hand, when the firmware is recorded on the
メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより古い場合には、処理が終了される。
If the firmware version recorded on the
一方、メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより新しい場合には、フラッシュROM114がデフラグされる(ステップS42)。前述のように、フラッシュROM114に画像データを保存する場合には、画像データは複数のクラスタ、通常は連続した複数のクラスタに保存される。しかし、連続して画像データが保存されていたとしても、ある画像が消去された場合には、連続して保存された一部のみが消去されるため、空きクラスタが連続せず分割された状態になる。そのため、フラッシュROM114をデフラグして、図7(a)’に示すように、クラスタを綺麗に並べ替える。
On the other hand, if the firmware version recorded on the
デフラグ終了後に、フラッシュROM114に、メモリカード144に記録された更新用のファームウェア(新ファームウェア)を書き込むのに十分な連続した空きクラスタがあるかどうかが判断される(ステップS18)。
After the completion of the defragmentation, it is determined whether there are enough continuous free clusters to write the update firmware (new firmware) recorded in the
新ファームウェアを書き込むのに十分な連続した空きクラスタがない場合には、表示制御部148によって、「アップロードできません。画像データを削除してからもう一度アップデートしてください。」等のエラー表示がモニタ28に表示される(ステップS22)。
If there are not enough consecutive free clusters to write the new firmware, the
一方、新ファームウェアを書き込むのに十分な連続した空きクラスタがある場合(図7(a)’参照)には、フラッシュROM114の連続した空きクラスタに新ファームウェアが書き込まれる(ステップS20)。そして、新ファームウェアの書き込みが完了したと判断されるまで、上記処理が継続される(ステップS24)。フラッシュROM114に新ファームウェアの書き込みが終了した場合には、図7(b)に示すように、フラッシュROM114にあらかじめ記録されているファームウェア(旧ファームウェア)と新ファームウェアとが、連続したクラスタにそれぞれ記録されている。
On the other hand, when there are enough continuous free clusters to write new firmware (see FIG. 7A '), the new firmware is written into the continuous free clusters in the flash ROM 114 (step S20). Then, the above process is continued until it is determined that the writing of the new firmware has been completed (step S24). When the writing of the new firmware to the
フラッシュROM114にファームウェアの書き込みが終了したら、ファームウェアの開始アドレスが旧ファームウェアの開始アドレス(図7(b)m)から新ファームウェアの開始アドレス(図7(b)n)へ変更される(ステップS26)。そして、ウオッチドッグタイマーが10秒で設定された(ステップS28)状態で、デジタルカメラ10aが再起動される(ステップS30)。
When the writing of the firmware to the
ここで、ファームウェアの開始アドレスはフラッシュROM114内のカメラ設定値に書き込まれており、CPU110は、カメラ設定値に書き込まれている開始アドレスを取得してからデジタルカメラ10aを起動する。そのため、ファームウェアの開始アドレスを変更すると、起動ファームウェアが旧ファームウェアから新ファームウェアに変更され、デジタルカメラ10aが新ファームウェアを起動ファームウェアに設定した状態で再起動される。
Here, the start address of the firmware is written in the camera setting value in the
なお、本実施例ではウオッチドッグタイマーを10秒で設定しているが、これに限らない。 In this embodiment, the watchdog timer is set to 10 seconds, but the present invention is not limited to this.
デジタルカメラ10aを再起動した後で、ウオッチドッグタイマーがタイムアップしたかどうかが判断される(ステップS32)。新ファームウェアが正常に動作している場合には、ウオッチドッグタイマーがタイムアップする前に新ファームウェアがウオッチドッグタイマーをリセットするため、ウオッチドッグタイマーがタイムアップすることはないが、新ファームウェアが正常に動作していない場合には、新ファームウェアがウオッチドッグタイマーをリセットしないため、ウオッチドッグタイマーがオーバーフローして、タイムアップする。 After restarting the digital camera 10a, it is determined whether or not the watchdog timer has expired (step S32). If the new firmware is operating normally, the new firmware will reset the watchdog timer before the watchdog timer expires, so the watchdog timer will not time out, but the new firmware will If not, the new firmware does not reset the watchdog timer, so the watchdog timer overflows and times up.
ウオッチドッグタイマーがタイムアップした場合、すなわち新ファームウェアでデジタルカメラ10aが起動できない場合には、ファームウェアの開始アドレスが元に戻されて、旧ファームウェアが起動ファームウェアに再設定された状態で、デジタルカメラ10aが再起動される(ステップS34)。これにより、新ファームウェアに問題があった場合においても、機器が動作しなくなることを防ぐことができる。 When the watchdog timer expires, that is, when the digital camera 10a cannot be activated with the new firmware, the digital camera 10a is restored with the start address of the firmware restored and the old firmware reset to the activated firmware. Is restarted (step S34). Thereby, even when there is a problem with the new firmware, it is possible to prevent the device from becoming inoperable.
ウオッチドッグタイマーがタイムアップしなかった場合には、自己診断をすることで、新ファームウェアによってデジタルカメラ10aが正常に起動したかどうかが判断される(ステップS36)。 If the watchdog timer does not expire, it is determined whether the digital camera 10a has been normally activated by the new firmware by performing a self-diagnosis (step S36).
デジタルカメラ10aが正常に起動しなかった場合には、ウオッチドッグタイマーがタイムアップしたがどうかを判断するステップ(ステップS32)へ戻る。 If the digital camera 10a does not start up normally, the process returns to the step of determining whether the watchdog timer has timed up (step S32).
一方、デジタルカメラ10aが正常に起動した場合には、デジタルカメラ10aが再起動される前に設定したウオッチドッグタイマーが停止される(ステップS38)。そして、図7(c)に示すように、フラッシュROM114の旧ファームウェアが消去され、旧ファームウェアが記録されていた領域が各種データ保存用の空きクラスタとして開放される(ステップS40)。これにより、メモリを有効に使うことができる。
On the other hand, when the digital camera 10a is normally started, the watch dog timer set before the digital camera 10a is restarted is stopped (step S38). Then, as shown in FIG. 7C, the old firmware in the
なお、ステップS34において、起動ファームウェアを旧ファームウェアに戻した後で、不具合があった新ファームウェアを消去し、フラッシュROM114の新ファームウェアが記録されていた領域を各種データ保存用の空きクラスタとして開放するようにしてもよい(図7(d)参照)。
In step S34, after the boot firmware is returned to the old firmware, the defective new firmware is erased, and the area where the new firmware is recorded in the
本実施の形態によれば、新ファームウェアをフラッシュROMに書き込む前にデフラグをすることで、フラッシュROMに新ファームウェアを記録するための連続した空きクラスタがない場合においても、新ファームウェアをフラッシュROMに記録することができる。 According to the present embodiment, by defragmenting the new firmware before writing it into the flash ROM, the new firmware is recorded in the flash ROM even when there is no continuous free cluster for recording the new firmware in the flash ROM. can do.
<第3の実施の形態>
上記第1の実施の形態のデジタルカメラでは、フラッシュROMにファームウェアが連続して記録可能な空き領域がある場合に、ファームウェアをフラッシュROMの空きクラスタに連続して記録するものであり、上記第2の実施の形態のデジタルカメラでは、フラッシュROMをデフラグしてから、連続した空きクラスタにファームウェアを記録するものであるが、ファームウェアをフラッシュROMへ記録する方法は、これらに限定されるものではない。
<Third Embodiment>
In the digital camera according to the first embodiment, when there is an empty area in which the firmware can be continuously recorded in the flash ROM, the firmware is continuously recorded in the empty cluster of the flash ROM. In the digital camera according to the embodiment, the flash ROM is defragmented and then the firmware is recorded in continuous empty clusters. However, the method of recording the firmware in the flash ROM is not limited to these.
本実施の形態のデジタルカメラは、フラッシュROMにファームウェアを記録してからデフラグするものである。図8は、本実施の形態におけるファームウェアアップデートモードでの処理の流れを示すフローチャートである。 The digital camera of the present embodiment records the firmware in the flash ROM and defragments it. FIG. 8 is a flowchart showing a flow of processing in the firmware update mode according to the present embodiment.
メモリカードスロット14に更新用のファームウェアが記録されたメモリカード144を装填した状態で上記アップデートモードの設定を行うと、デジタルカメラ10bの電源が入り、フラッシュROM114に記録されている起動プログラムが実行される(ステップS10)。
When the update mode is set with the
起動プログラムが実行されると、メディアコントローラ146によってメモリカード144のアクセステストが行われ、メモリカード144が装填されているか否かが確認される(ステップS12)。
When the activation program is executed, the
メモリカード144が検出されなかった場合には、処理が終了される。
If the
一方、メモリカード144が検出された場合には、メモリカード144にファームウェアが記録されているかどうかを確認する(ステップS14)。
On the other hand, when the
メモリカード144にファームウェアが記録されていない場合には、処理が終了される。
If no firmware is recorded on the
一方、メモリカード144にファームウェアが記録されている場合には、メモリカード144に記録されたファームウェアのバージョン情報が読み出され、フラッシュROM114に記録されたファームウェアのバージョン情報に基づいて、ファームウェアの新旧が比較判定される(ステップS16)。
On the other hand, when the firmware is recorded on the
メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより古い場合には、処理が終了される。
If the firmware version recorded on the
一方、メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより新しい場合には、フラッシュROM114にファームウェアが全て記録できる分の空きクラスタがあるかどうかが判断される(ステップS19)。
On the other hand, if the firmware version recorded on the
ファームウェアが全て記録できる分の空きクラスタが無い場合には、表示制御部148によって、「アップロードできません。画像データを削除してからもう一度アップデートしてください。」等のエラー表示がモニタ28に表示される(ステップS22)。
If there are no free clusters that can be recorded by the firmware, the
一方、ファームウェアが全て記録できる分の空きクラスタがある場合には、フラッシュROM114の空きクラスタに新ファームウェアが書き込まれる(ステップ44)。そして、新ファームウェアの書き込みが完了したと判断されるまで、上記処理が継続される(ステップS46)。 On the other hand, if there is an empty cluster that can record all the firmware, the new firmware is written to the empty cluster in the flash ROM 114 (step 44). Then, the above process is continued until it is determined that the writing of the new firmware has been completed (step S46).
新ファームウェアの書き込みが完了した後(図9(b)参照)で、新ファームウェアがフラッシュROM114の連続したクラスタに記録されているかどうかが判断される(ステップS48)。 After the writing of the new firmware is completed (see FIG. 9B), it is determined whether or not the new firmware is recorded in the continuous cluster of the flash ROM 114 (step S48).
新ファームウェアがフラッシュROM114の連続したクラスタに記録されている場合は、ファームウェアの開始アドレスが旧ファームウェアの開始アドレス(図9(b)’m)から新ファームウェアの開始アドレス(図9(b)’n)へ変更される(ステップS26)。
When the new firmware is recorded in the continuous cluster of the
一方、新ファームウェアがフラッシュROM114の連続したクラスタに記録されていない場合(図9(b)参照)は、新ファームウェアがフラッシュROM114の連続したクラスタに記録された状態(図9(b)’参照)になるように、フラッシュROM114がデフラグされる(ステップS50)。その後、ファームウェアの開始アドレスが旧ファームウェアの開始アドレス(図9(b)’m)から新ファームウェアの開始アドレス(図9(b)’n)へ変更される(ステップS26)。
On the other hand, when the new firmware is not recorded in the continuous cluster of the flash ROM 114 (see FIG. 9B), the new firmware is recorded in the continuous cluster of the flash ROM 114 (see FIG. 9B ′). Thus, the
そして、ウオッチドッグタイマーが10秒で設定された(ステップS28)状態で、デジタルカメラ10bが再起動される(ステップS30)。ここで、ファームウェアの開始アドレスはフラッシュROM114内のカメラ設定値に書き込まれており、CPU110は、カメラ設定値に書き込まれている開始アドレスを取得してからデジタルカメラ10bを起動する。そのため、ファームウェアの開始アドレスを変更すると、起動ファームウェアが旧ファームウェアから新ファームウェアに変更され、デジタルカメラ10bが新ファームウェアを起動ファームウェアに設定した状態で再起動される。
Then, the digital camera 10b is restarted (step S30) with the watchdog timer set in 10 seconds (step S28). Here, the start address of the firmware is written in the camera setting value in the
なお、本実施例ではウオッチドッグタイマーを10秒で設定しているが、これに限らない。 In this embodiment, the watchdog timer is set to 10 seconds, but the present invention is not limited to this.
デジタルカメラ10bを再起動した後で、ウオッチドッグタイマーがタイムアップしたかどうかが判断される(ステップS32)。新ファームウェアが正常に動作している場合には、ウオッチドッグタイマーがタイムアップする前に新ファームウェアがウオッチドッグタイマーをリセットするため、ウオッチドッグタイマーがタイムアップすることはないが、新ファームウェアが正常に動作していない場合には、新ファームウェアがウオッチドッグタイマーをリセットしないため、ウオッチドッグタイマーがオーバーフローして、タイムアップする。 After restarting the digital camera 10b, it is determined whether or not the watchdog timer has expired (step S32). If the new firmware is operating normally, the new firmware resets the watchdog timer before the watchdog timer times out, so the watchdog timer will not time out, but the new firmware If not, the new firmware does not reset the watchdog timer, so the watchdog timer overflows and times up.
ウオッチドッグタイマーがタイムアップした場合、すなわち新ファームウェアでデジタルカメラ10bが起動できない場合には、ファームウェアの開始アドレスが元に戻されて、旧ファームウェアが起動ファームウェアに再設定された状態で、デジタルカメラ10bが再起動される(ステップS34)。これにより、新ファームウェアに問題があった場合においても、機器が動作しなくなることを防ぐことができる。 When the watchdog timer expires, that is, when the digital camera 10b cannot be started with the new firmware, the digital camera 10b is restored with the start address of the firmware restored and the old firmware reset to the startup firmware. Is restarted (step S34). Thereby, even when there is a problem with the new firmware, it is possible to prevent the device from becoming inoperable.
ウオッチドッグタイマーがタイムアップしなかった場合には、自己診断をすることで、新ファームウェアによってデジタルカメラ10bが正常に起動したかどうかが判断される(ステップS36)。 If the watchdog timer has not expired, it is determined whether the digital camera 10b has been normally activated by the new firmware by performing a self-diagnosis (step S36).
デジタルカメラ10bが正常に起動しなかった場合には、ウオッチドッグタイマーがタイムアップしたがどうかを判断するステップ(ステップS32)へ戻る。 If the digital camera 10b does not start up normally, the process returns to the step of determining whether the watchdog timer has timed up (step S32).
一方、デジタルカメラ10bが正常に起動した場合には、デジタルカメラ10bが再起動される前に設定したウオッチドッグタイマーが停止される(ステップS38)。そして、図9(c)に示すように、フラッシュROM114の旧ファームウェアが消去され、旧ファームウェアが記録されていた領域が各種データ保存用の空きクラスタとして開放される(ステップS40)。これにより、メモリを有効に使うことができる。
On the other hand, when the digital camera 10b is normally started, the watch dog timer set before the digital camera 10b is restarted is stopped (step S38). Then, as shown in FIG. 9C, the old firmware in the
なお、ステップS34において、起動ファームウェアを旧ファームウェアに戻した後で、不具合があった新ファームウェアを消去し、フラッシュROM114の新ファームウェアが記録されていた領域を各種データ保存用の空きクラスタとして開放するようにしてもよい(図9(d)参照)。
In step S34, after the boot firmware is returned to the old firmware, the defective new firmware is deleted, and the area where the new firmware in the
本実施の形態によれば、まず、新ファームウェアをフラッシュROMに記録するため、フラッシュROMに新ファームウェアを記録するための連続した空きクラスタがない場合においても、新ファームウェアをフラッシュROMに記録することができる。また、新ファームウェアの書き込みが完了した後で、新ファームウェアがフラッシュROMの連続したクラスタに記録されているかどうか調べるため、新ファームウェアがフラッシュROMの連続したクラスタに記録されている場合にはフラッシュROMをデフラグする必要がないため、ファームウェアのアップデートに必要な時間を短縮することができる。 According to the present embodiment, since new firmware is first recorded in the flash ROM, the new firmware can be recorded in the flash ROM even when there is no continuous free cluster for recording the new firmware in the flash ROM. it can. Also, after the new firmware has been written, in order to check whether the new firmware is recorded in a continuous cluster of flash ROMs, if the new firmware is recorded in a continuous cluster of flash ROMs, Since there is no need to defragment, the time required for firmware update can be shortened.
<第4の実施の形態>
上記第1の実施の形態のデジタルカメラでは、ウオッチドッグタイマーを設定することで、新ファームウェアで起動させたときに不具合がないかどうか判断したが、新ファームウェアで再起動させたときに不具合がないかどうか判断する方法は、これに限定されるものではない。たとえば、操作者が判断、指示するようにしてもよい。
<Fourth embodiment>
In the digital camera of the first embodiment, the watchdog timer is set to determine whether or not there is a problem when the new firmware is started. However, there is no problem when the new firmware is restarted. The method of determining whether or not is not limited to this. For example, the operator may determine and give instructions.
本実施の形態のデジタルカメラは、操作者が特定の操作をすることで、新ファームウェアで起動させたときに不具合がないかどうか判断するものである。図10は、本実施の形態におけるファームウェアアップデートモードでの処理の流れを示すフローチャートである。 The digital camera according to the present embodiment is configured to determine whether or not there is a problem when the operator performs a specific operation to start up with the new firmware. FIG. 10 is a flowchart showing the flow of processing in the firmware update mode in the present embodiment.
メモリカードスロット14に更新用のファームウェアが記録されたメモリカード144を装填した状態で上記アップデートモードの設定を行うと、デジタルカメラ10cの電源が入り、フラッシュROM114に記録されている起動プログラムが実行される(ステップS10)。
When the update mode is set with the
起動プログラムが実行されると、メディアコントローラ146によってメモリカード144のアクセステストが行われ、メモリカード144が装填されているか否かが確認される(ステップS12)。
When the activation program is executed, the
メモリカード144が検出されなかった場合には、処理が終了される。
If the
一方、メモリカード144が検出された場合には、メモリカード144にファームウェアが記録されているかどうかが確認される(ステップS14)。
On the other hand, if the
メモリカード144にファームウェアが記録されていない場合には、処理が終了される。
If no firmware is recorded on the
一方、メモリカード144にファームウェアが記録されている場合には、メモリカード144に記録されたファームウェアのバージョン情報が読み出され、フラッシュROM114に記録されたファームウェアのバージョン情報に基づいて、ファームウェアの新旧が比較判定される(ステップS16)。
On the other hand, when the firmware is recorded on the
メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより古い場合には、処理が終了される。
If the firmware version recorded on the
一方、メモリカード144に記録されたファームウェアのバージョンがフラッシュROM114に記録されたファームウェアのバージョンより新しい場合には、フラッシュROM114に、メモリカード144に記録された更新用のファームウェア(新ファームウェア)を書き込むのに十分な連続した空き領域(空きクラスタ)があるかどうかが判断される(ステップS18)。
On the other hand, when the firmware version recorded on the
新ファームウェアを書き込むのに十分な連続した空きクラスタがない場合には、表示制御部148によって、「アップロードできません。画像データを削除してからもう一度アップデートしてください。」等のエラー表示がモニタ28に表示される(ステップS22)。
If there are not enough consecutive free clusters to write the new firmware, the
一方、新ファームウェアを書き込むのに十分な連続した空きクラスタがある場合(図5(a)参照)には、フラッシュROM114の連続した空きクラスタに新ファームウェアが書き込まれる(ステップS20)。そして、新ファームウェアの書き込みが完了したと判断されるまで、上記処理が継続される(ステップS24)。フラッシュROM114に新ファームウェアの書き込みが終了した場合には、図5(b)に示すように、フラッシュROM114にあらかじめ記録されているファームウェア(旧ファームウェア)と新ファームウェアとが、連続したクラスタにそれぞれ記録されている。
On the other hand, when there are continuous free clusters sufficient to write new firmware (see FIG. 5A), the new firmware is written into the continuous free clusters in the flash ROM 114 (step S20). Then, the above process is continued until it is determined that the writing of the new firmware has been completed (step S24). When the writing of the new firmware to the
フラッシュROM114にファームウェアの書き込みが終了したら、ファームウェアの開始アドレスが旧ファームウェアの開始アドレス(図5(b)m)から新ファームウェアの開始アドレス(図5(b)n)へ変更される(ステップS26)。
When the writing of the firmware to the
その後、DISP/BACKボタン40が接続されたポートが割り込みに設定され(ステップS52)、表示制御部148を介して、モニタ28に「正常に動作しない場合はDISP/Backボタンを押してください」等のメッセージが表示される(ステップS54)。これにより、正常に動作しない場合にDISP/Backボタンを押すことを操作者に伝えることができる。
Thereafter, the port to which the DISP /
その後、デジタルカメラ10cが再起動される(ステップS30)。ここで、ファームウェアの開始アドレスはフラッシュROM114内のカメラ設定値に書き込まれており、CPU110は、カメラ設定値に書き込まれている開始アドレスを取得して起動する。そのため、ファームウェアの開始アドレスを変更すると、起動ファームウェアが旧ファームウェアから新ファームウェアに変更され、デジタルカメラ10cが新ファームウェアを起動ファームウェアに設定した状態で再起動される。
Thereafter, the digital camera 10c is restarted (step S30). Here, the start address of the firmware is written in the camera setting value in the
デジタルカメラ10cを再起動した後で、DISP/Backボタン40が押されたかどうかが判断される(ステップS56)。
After the digital camera 10c is restarted, it is determined whether or not the DISP /
DISP/Backボタン40が押された場合には、新ファームウェアではデジタルカメラ10cが起動できないと判断される。そのため、ファームウェアの開始アドレスが元に戻されて、旧ファームウェアが起動ファームウェアに再設定された状態で、デジタルカメラ10cが再起動される(ステップS34)。これにより、新ファームウェアに問題があった場合においても、機器が動作しなくなることを防ぐことができる。
When the DISP /
一方、DISP/Backボタン40が押されなかった場合には、自己診断をすることで、新ファームウェアによりデジタルカメラ10cが正常に起動したかどうかが判断される(ステップS36)。
On the other hand, if the DISP /
デジタルカメラ10cが正常に起動しなかった場合には、DISP/Backボタン40が押されたかどうかを判断するステップ(ステップS56)へ戻る。
If the digital camera 10c does not start normally, the process returns to the step of determining whether the DISP /
一方、デジタルカメラ10cが正常に起動した場合には、デジタルカメラ10cを再起動させる前に設定したDISP/BACKボタン40が接続されたポートの割り込みが停止される(ステップS58)。そして、図5(c)に示すように、フラッシュROM114の旧ファームウェアが消去され、旧ファームウェアが記録されていた領域が各種データ保存用の空きクラスタとして開放される(ステップS40)。これにより、メモリを有効に使うことができる。
On the other hand, when the digital camera 10c is normally activated, the interrupt of the port to which the DISP /
なお、ステップS34において、起動ファームウェアを旧ファームウェアに戻した後で、不具合があった新ファームウェアを消去し、フラッシュROM114の新ファームウェアが記録されていた領域を各種データ保存用の空きクラスタとして開放するようにしてもよい(図5(d)参照)。
In step S34, after the boot firmware is returned to the old firmware, the defective new firmware is deleted, and the area where the new firmware in the
本実施の形態によれば、新ファームウェアが正常に動作しているかどうかを操作者が判断し、不具合があった場合にはデジタルカメラに指示をすることで、不具合があった場合にもデジタルカメラを起動させることができ、機器が動作しなくなることを防ぐことができる。 According to the present embodiment, the operator determines whether or not the new firmware is operating normally, and instructs the digital camera if there is a malfunction. Can be activated, and the device can be prevented from becoming inoperable.
なお、本発明の適用は、デジタルカメラに限定されるものではなく、カメラつき携帯電話機やビデオカメラ等の撮像装置、携帯音楽プレーヤー、PDA等のファームウェアがアップデート可能な電子機器にも同様に適用することができる。 Note that the application of the present invention is not limited to a digital camera, and is similarly applied to an electronic device capable of updating firmware such as an imaging device such as a mobile phone with a camera or a video camera, a portable music player, or a PDA. be able to.
10、10a、10b、10c…デジタルカメラ、12…カメラボディ、14…メモリカードスロット、15…USB用コネクタ、26…電源ボタン、28…モニタ、40…DISP/BACKボタン、110…CPU、114…フラッシュROM、116…RAM、142…USBI/F、144…メモリカード、146…メディアコントローラ、148…表示制御部
DESCRIPTION OF
Claims (8)
更新する新しいファームウェアを取得するステップと、
前記不揮発性メモリにあらかじめ記録されているファームウェアが前記不揮発性メモリに記録された状態で、前記新しいファームウェアを前記不揮発性メモリの連続した空き領域に記録するステップと、
を含むことを特徴とするファームウェアの更新方法。 In the firmware update method for electronic devices in which firmware is recorded in a nonvolatile memory from which various data are read and written,
Obtaining new firmware to update; and
Recording the new firmware in a continuous free area of the non-volatile memory, with the firmware pre-recorded in the non-volatile memory being recorded in the non-volatile memory;
A method for updating firmware, comprising:
更新する新しいファームウェアを取得するステップと、
前記不揮発性メモリにあらかじめ記録されているファームウェアが前記不揮発性メモリに記録された状態で、前記新しいファームウェアを前記不揮発性メモリに保存するステップと、
前記不揮発性メモリに保存された前記新しいファームウェアが前記不揮発性メモリに連続して保存されているか判定するステップと、
前記新しいファームウェアが前記不揮発性メモリに連続して保存されているか判定するステップにおいて、前記新しいファームウェアが前記不揮発性メモリに連続して保存されていないと判定された場合には、前記不揮発性メモリをデフラグするステップと、
を含むことを特徴とするファームウェアの更新方法。 In the firmware update method for electronic devices in which firmware is recorded in a nonvolatile memory from which various data are read and written,
Obtaining new firmware to update; and
Storing the new firmware in the non-volatile memory in a state where the firmware pre-recorded in the non-volatile memory is recorded in the non-volatile memory;
Determining whether the new firmware stored in the non-volatile memory is continuously stored in the non-volatile memory;
In the step of determining whether or not the new firmware is continuously stored in the nonvolatile memory, if it is determined that the new firmware is not continuously stored in the nonvolatile memory, the nonvolatile memory is stored in the nonvolatile memory. Defragmenting, and
A method for updating firmware, comprising:
前記電子機器を前記新しいファームウェアで起動するステップと、
前記新しいファームウェアが正常に動作するか判定するステップと、
を更に含み、
前記新しいファームウェアが正常に動作するか判定するステップにおいて、前記新しいファームウェアが正常に動作した場合には、前記不揮発性メモリにおける前記あらかじめ記録されているファームウェアが保存されている領域を各種データを記録する領域として開放し、前記新しいファームウェアが正常に動作しなかった場合には、前記あらかじめ記録されているファームウェアを起動ファームウェアに再設定することを特徴とする請求項1、2又は3に記載のファームウェアの更新方法。 Setting the new firmware as boot firmware;
Activating the electronic device with the new firmware;
Determining whether the new firmware operates normally;
Further including
In the step of determining whether or not the new firmware operates normally, if the new firmware operates normally, various data are recorded in an area where the previously recorded firmware is stored in the nonvolatile memory. The firmware of claim 1, 2 or 3, wherein the firmware is released as an area, and when the new firmware does not operate normally, the pre-recorded firmware is reset as startup firmware. Update method.
前記新しいファームウェアが正常に動作するか判定するステップでは、前記ウオッチドッグタイマーがタイムアップしなかった場合には前記新しいファームウェアが正常に動作したと判断し、前記ウオッチドッグタイマーがタイムアップした場合には前記新しいファームウェアが正常に動作しなかったと判断することを特徴とする請求項4に記載のファームウェアの更新方法。 In the step of starting the electronic device by setting the new firmware as the startup firmware, starting the watch dog timer and then setting the new firmware as the startup firmware,
In the step of determining whether or not the new firmware operates normally, it is determined that the new firmware has operated normally when the watchdog timer has not timed up, and when the watchdog timer has timed out The firmware update method according to claim 4, wherein the new firmware is determined not to operate normally.
前記新しいファームウェアが正常に動作するか判定するステップでは、前記新しいファームウェアの動作終了までに前記割り込みが入らない場合には前記新しいファームウェアが正常に動作したと判断し、前記新しいファームウェアの動作中に前記割り込みが入る場合には前記新しいファームウェアが正常に動作しなかったと判断することを特徴とする請求項4に記載のファームウェアの更新方法。 In the step of starting the electronic device by setting the new firmware as a startup firmware, a predetermined signal input is set as an interrupt, and then the new firmware is set as a startup firmware.
In the step of determining whether or not the new firmware operates normally, it is determined that the new firmware has operated normally if the interrupt is not received by the end of the operation of the new firmware, and the new firmware operates during the operation of the new firmware. 5. The firmware update method according to claim 4, wherein when an interrupt is input, it is determined that the new firmware does not operate normally.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007062092A JP2008225763A (en) | 2007-03-12 | 2007-03-12 | Update method for firmware, program and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007062092A JP2008225763A (en) | 2007-03-12 | 2007-03-12 | Update method for firmware, program and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008225763A true JP2008225763A (en) | 2008-09-25 |
Family
ID=39844325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007062092A Pending JP2008225763A (en) | 2007-03-12 | 2007-03-12 | Update method for firmware, program and electronic equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008225763A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128885A (en) * | 2008-11-28 | 2010-06-10 | Fujitsu Ltd | Update processing program for storage system, update processing method, and storage system |
EP2315117A1 (en) | 2009-10-16 | 2011-04-27 | Fujitsu Limited | Information processing apparatus and firmware updating method |
JP2017078940A (en) * | 2015-10-20 | 2017-04-27 | セイコーエプソン株式会社 | Electronic device and control method thereof |
JP2017228077A (en) * | 2016-06-22 | 2017-12-28 | 富士通株式会社 | Electronic equipment, firmware update method, and computer program |
WO2018150820A1 (en) * | 2017-02-17 | 2018-08-23 | 日立オートモティブシステムズ株式会社 | Information processing device |
JP2020038395A (en) * | 2019-12-03 | 2020-03-12 | 株式会社 ミックウェア | Map information system, map information processing device, map information processing method, and program |
WO2023008161A1 (en) * | 2021-07-27 | 2023-02-02 | パナソニックIpマネジメント株式会社 | Air conditioner firmware updating method, air conditioner equipped with firmware updating method, and program |
-
2007
- 2007-03-12 JP JP2007062092A patent/JP2008225763A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128885A (en) * | 2008-11-28 | 2010-06-10 | Fujitsu Ltd | Update processing program for storage system, update processing method, and storage system |
EP2315117A1 (en) | 2009-10-16 | 2011-04-27 | Fujitsu Limited | Information processing apparatus and firmware updating method |
US8631399B2 (en) | 2009-10-16 | 2014-01-14 | Fujitsu Limited | Information processing apparatus and firmware updating method |
JP2017078940A (en) * | 2015-10-20 | 2017-04-27 | セイコーエプソン株式会社 | Electronic device and control method thereof |
JP2017228077A (en) * | 2016-06-22 | 2017-12-28 | 富士通株式会社 | Electronic equipment, firmware update method, and computer program |
WO2018150820A1 (en) * | 2017-02-17 | 2018-08-23 | 日立オートモティブシステムズ株式会社 | Information processing device |
JPWO2018150820A1 (en) * | 2017-02-17 | 2019-07-18 | 日立オートモティブシステムズ株式会社 | Information processing device |
JP2020038395A (en) * | 2019-12-03 | 2020-03-12 | 株式会社 ミックウェア | Map information system, map information processing device, map information processing method, and program |
WO2023008161A1 (en) * | 2021-07-27 | 2023-02-02 | パナソニックIpマネジメント株式会社 | Air conditioner firmware updating method, air conditioner equipped with firmware updating method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4481842B2 (en) | Imaging apparatus and control method thereof | |
JP2008225763A (en) | Update method for firmware, program and electronic equipment | |
JP4333394B2 (en) | Camera device, imaging method and program thereof | |
JP4999306B2 (en) | Imaging apparatus, imaging method, and program | |
JP2009033223A (en) | Imaging apparatus | |
JP2004165780A (en) | Electronic camera | |
JP2006345402A (en) | Image file information display device with date sorting function, image file information display method and imaging apparatus | |
JP2008035243A (en) | Imaging device | |
JP3999681B2 (en) | Digital camera | |
JP5522214B2 (en) | Camera device and through image display method | |
JP2002051238A (en) | Electronic camera | |
JP4948011B2 (en) | Imaging apparatus, control method therefor, computer program, and storage medium | |
JP4860495B2 (en) | Imaging device | |
JP5109996B2 (en) | Camera device, through image display method and program thereof | |
JP4498169B2 (en) | Image processing apparatus and control method thereof | |
JP2005311493A (en) | Camera | |
JP4401974B2 (en) | Imaging apparatus and control method thereof | |
JP2007219822A (en) | Imaging apparatus | |
KR101314827B1 (en) | Method for controlling digital photographing apparatus, and digital photographing apparatus adopting the method | |
JP4865202B2 (en) | File transfer apparatus, program, and computer-readable recording medium | |
JP2007213231A (en) | Image processor | |
JP2004193642A (en) | Digital camera | |
JP2009141978A (en) | Camera apparatus, through-image display method ,and program therefor | |
JP2003255427A (en) | Camera | |
JP2005117119A (en) | Digital camera |