JP5084853B2 - Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program - Google Patents

Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program Download PDF

Info

Publication number
JP5084853B2
JP5084853B2 JP2010037342A JP2010037342A JP5084853B2 JP 5084853 B2 JP5084853 B2 JP 5084853B2 JP 2010037342 A JP2010037342 A JP 2010037342A JP 2010037342 A JP2010037342 A JP 2010037342A JP 5084853 B2 JP5084853 B2 JP 5084853B2
Authority
JP
Japan
Prior art keywords
firmware
storage unit
update
stored
recovery
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.)
Active
Application number
JP2010037342A
Other languages
Japanese (ja)
Other versions
JP2011175352A (en
Inventor
史郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010037342A priority Critical patent/JP5084853B2/en
Publication of JP2011175352A publication Critical patent/JP2011175352A/en
Application granted granted Critical
Publication of JP5084853B2 publication Critical patent/JP5084853B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、ファームウエアを更新するファームウエア更新装置、通信を行う通信装置、コンピュータがプログラムを実行することにより機能を発揮する電子機器、ファームウエアを更新するファームウエア更新システム、ファームウエア更新方法及びコンピュータによって実行されるプログラムに関する。   The present invention relates to a firmware update device that updates firmware, a communication device that performs communication, an electronic device that exhibits a function when a computer executes a program, a firmware update system that updates firmware, a firmware update method, and The present invention relates to a program executed by a computer.

通信回線を介して基地局と接続される通信装置では、プログラムの機能追加、バグ対処等のため、ファームウエアを更新する必要性が生じる場合がある。ファームウエアを更新する手順としては、以下のような手順が考えられる。   In a communication apparatus connected to a base station via a communication line, it may be necessary to update the firmware in order to add a program function or deal with a bug. The following procedure can be considered as a procedure for updating the firmware.

まず、例えば基地局等から通信回線を介して、更新用の新しい版のファームウエアを通信装置にダウンロードし、通信装置内に既に記憶されている古い版のファームウエアを、更新用の新しい版のファームウエアに書き換える。この書き換えの後、通信装置が再起動されて、ファームウエアの更新が完了する。   First, for example, a new version of firmware for update is downloaded from the base station or the like to the communication device via the communication line, and the old version of firmware already stored in the communication device is updated to the new version for update. Rewrite to firmware. After this rewriting, the communication device is restarted to complete the firmware update.

これに関連して、更新されたファームウエアの不具合や、ダウンロード中のデータエラーにより、通信装置が再起動できなくなるのを防ぐシステムが提案されている(例えば、特許文献1、2参照)。これらのシステムでは、装置内に、リカバリ用のファームウエアを記憶する不揮発性メモリが設けられている。リカバリ用のファームウエアは、予め(例えば工場出荷時等に)この不揮発性メモリに書き込まれ保持されている。このリカバリ用のファームウエアは、実際に実行されるファームウエアとは、別の場所に保持されているので、上述のように、実際に実行されるファームウエアが更新されても、消去されることはない。   In relation to this, a system has been proposed that prevents the communication apparatus from being restarted due to a defect in the updated firmware or a data error during download (see, for example, Patent Documents 1 and 2). In these systems, a nonvolatile memory for storing recovery firmware is provided in the apparatus. The recovery firmware is written and held in advance in the nonvolatile memory (for example, at the time of factory shipment). This recovery firmware is stored in a different location from the firmware that is actually executed. As described above, even if the firmware that is actually executed is updated, it is erased. There is no.

通信装置が再起動できなくなると、実際に実行されるファームウエアが、リカバリ用のファームウエアに書き換えられた後、再起動されて運用状態になる。このようにして、通信装置が長時間に渡った運用停止状態になることが防止される。   When the communication device cannot be restarted, the firmware that is actually executed is rewritten with the firmware for recovery, and then restarted to enter the operating state. In this way, it is possible to prevent the communication device from being in an operation stop state for a long time.

特開2001−331327号公報JP 2001-331327 A 特開2002−333990号公報JP 2002-333990 A

しかしながら、上記特許文献1、2に開示されたシステムでは、リカバリ用のファームウエアを予め不揮発性メモリに書き込む工程が工場出荷前に必要となる。また、この書き込みのため、不揮発性メモリにファームウエアを書き込むための端子を通信装置のハードウェア基板上に設けておく必要がある。このため、通信装置の構造が複雑になり、生産工数や部品コストが増大する。   However, the systems disclosed in Patent Documents 1 and 2 require a process of writing recovery firmware in a nonvolatile memory in advance before shipment from the factory. For this writing, it is necessary to provide a terminal for writing firmware in the nonvolatile memory on the hardware board of the communication device. For this reason, the structure of a communication apparatus becomes complicated, and a production man-hour and parts cost increase.

また、上記特許文献1、2に開示されたシステムでは、実際に実行されるファームウエアとは異なるファームウエアが、リカバリ用のファームウエアとして人為的なミス等により誤って書き込まれる可能性がある。このようなミスを起こさないようにしようとすれば、ファームウエアの版管理が煩雑なものとなる。   In the systems disclosed in Patent Documents 1 and 2, firmware different from the firmware that is actually executed may be erroneously written as recovery firmware due to human error. If it is intended to prevent such mistakes, firmware version management becomes complicated.

この発明は、上記実情に鑑みてなされたものであり、生産工数、部品コスト及び版管理の煩雑さを増大させることなく、ファームウエアを更新することができるファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and provides a firmware update device, a communication device, and an electronic device that can update the firmware without increasing production man-hours, component costs, and complexity of plate management. An object is to provide a firmware update system, a firmware update method, and a program.

上記目的を達成するため、この発明に係るファームウエア更新装置において、第1の記憶部は、実行用のファームウエアを記憶する。第2の記憶部は、予備の記憶部であり、少なくとも2つのファームウエアを同時に記憶可能な容量を有する。制御部は、起動時に、第2の記憶部にファームウエアが記憶されていない場合に、第1の記憶部に記憶されたファームウエアを読み出して、第2の記憶部にリカバリ用のファームウエアとして書き込む。入力部は、更新用のファームウエアを入力する。制御部は、入力した更新用のファームウエアを、リカバリ用のファームウエアとは別に第2の記憶部に記憶し、第1の記憶部に記憶されたファームウエアを、第2の記憶部に記憶された更新用のファームウエアに更新して更新フラグをオンし、リセット後、更新フラグがオンであり、第1の記憶部に記憶されたファームウエアが正常に動作しない場合に、第1の記憶部に記憶されたファームウエアを、第2の記憶部に記憶されたリカバリ用のファームウエアに更新して更新フラグをオフし、リセット後、更新フラグがオンであり、第1の記憶部に記憶されたファームウエアが正常に動作している場合に、第2の記憶部に記憶された更新用のファームウエアを、第2の記憶部に記憶されたリカバリ用のファームウエアに変更して更新フラグをオフする。 In order to achieve the above object, in the firmware updating apparatus according to the present invention, the first storage unit stores firmware for execution. The second storage unit, Ri spare storage unit der, having at the same time capacity capable of storing at least two firmware. The control unit reads the firmware stored in the first storage unit when the firmware is not stored in the second storage unit at the time of startup, and stores the firmware as recovery firmware in the second storage unit. Write. The input unit inputs firmware for update. The control unit stores the input update firmware in the second storage unit separately from the recovery firmware, and stores the firmware stored in the first storage unit in the second storage unit. Updated to the updated firmware, the update flag is turned on, and after reset, the update flag is turned on, and the firmware stored in the first storage unit does not operate normally, the first storage The firmware stored in the storage unit is updated to the recovery firmware stored in the second storage unit and the update flag is turned off. After the reset, the update flag is turned on and stored in the first storage unit When the updated firmware is operating normally, the update firmware stored in the second storage unit is changed to the recovery firmware stored in the second storage unit, and the update flag is changed. The To.

この発明によれば、実行用のファームウエアに基づいてリカバリ用のファームウエアプログラムを自動生成するので、リカバリ用のファームウエアを記憶装置に書き込む工程や、書き込むための端子が不要となる。また、リカバリ用のファームウエアは実行中のファームウエアのコピーであるので、両ファームウエアの版の違いを考慮する必要がなくなる。この結果、生産工数、部品コスト及び版管理の煩雑さを増大させることなく、ファームウエアを更新することができる。   According to the present invention, since the recovery firmware program is automatically generated based on the execution firmware, the step of writing the recovery firmware to the storage device and the terminal for writing are not required. Further, since the recovery firmware is a copy of the firmware that is being executed, there is no need to consider the difference between the versions of the firmware. As a result, the firmware can be updated without increasing production man-hours, component costs, and complexity of plate management.

この発明の実施の形態1に係るファームウエア更新システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the firmware update system which concerns on Embodiment 1 of this invention. マイクロコンピュータのメモリ空間を示す図である。It is a figure which shows the memory space of a microcomputer. 図1の通信装置の起動処理のフローチャートである。It is a flowchart of the starting process of the communication apparatus of FIG. リカバリ用ファームウエア生成プログラムが転送され、実行される様子を示す図である。It is a figure which shows a mode that the firmware production | generation program for a recovery is transferred and executed. リカバリ用のファームウエアが生成される様子を示す図である。It is a figure which shows a mode that the firmware for recovery is produced | generated. 図1の通信装置のリカバリ判定処理のフローチャートである。It is a flowchart of the recovery determination process of the communication apparatus of FIG. 図1の通信装置のプログラム更新処理のフローチャートである。It is a flowchart of the program update process of the communication apparatus of FIG. 領域Bに更新用のファームウエアが記憶される様子を示す図である。FIG. 6 is a diagram illustrating a state in which update firmware is stored in an area B. ファームウエア更新プログラムが内部RAMに転送される様子を示す図である。It is a figure which shows a mode that a firmware update program is transferred to internal RAM. 内部不揮発性メモリに記憶されたファームウエアが、更新用のファームウエアに更新される様子を示す図である。It is a figure which shows a mode that the firmware memorize | stored in the internal non-volatile memory is updated to the firmware for an update. 更新用のファームウエアが、リカバリ用のファームウエアに切り替えられる様子を示す図である。It is a figure which shows a mode that the firmware for an update is switched to the firmware for a recovery. リカバリ実行プログラムが内部RAMに転送される様子を示す図である。It is a figure which shows a mode that a recovery execution program is transferred to internal RAM. 内部不揮発性メモリに記憶されたファームウエアが、リカバリ用のファームウエアに更新される様子を示す図である。It is a figure which shows a mode that the firmware memorize | stored in the internal non-volatile memory is updated to the firmware for recovery. この発明の実施の形態2に係るファームウエア更新システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the firmware update system which concerns on Embodiment 2 of this invention.

次に、この発明の実施の形態について、図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

実施の形態1.
まず、この発明の実施の形態1について説明する。
Embodiment 1 FIG.
First, a first embodiment of the present invention will be described.

図1には、この発明の実施の形態1に係るファームウエア更新システム100の全体構成が示されている。図1で示すように、ファームウエア更新システム100は、通信装置1と、サーバ2とを備えている。通信装置1は、基地局3に接続する。サーバ2は、通信回線網4に接続している。基地局3は、通信回線網4の基地局である。   FIG. 1 shows the overall configuration of a firmware update system 100 according to Embodiment 1 of the present invention. As shown in FIG. 1, the firmware update system 100 includes a communication device 1 and a server 2. The communication device 1 is connected to the base station 3. The server 2 is connected to the communication line network 4. The base station 3 is a base station of the communication network 4.

このファームウエア更新システム100は、通信装置1で実行されるファームウエアを更新するためのシステムである。更新用のファームウエアは、サーバ2から、通信回線網4を経由して基地局3に送信され、基地局3から通信装置1にダウンロードされる。   The firmware update system 100 is a system for updating firmware executed by the communication apparatus 1. The update firmware is transmitted from the server 2 to the base station 3 via the communication line network 4 and downloaded from the base station 3 to the communication device 1.

通信装置1内に図示されているのは、ファームウエアを更新するのに必要な構成であり、ファームウエア更新装置5ともいうべきものである。図1に示すように、通信装置1(ファームウエア更新装置5)は、マイクロコンピュータ10と、第2の記憶部としての不揮発性メモリ11と、通信コントローラ12と、を備える。   What is shown in the communication device 1 is a configuration necessary for updating the firmware, and should also be referred to as the firmware update device 5. As illustrated in FIG. 1, the communication device 1 (firmware update device 5) includes a microcomputer 10, a nonvolatile memory 11 as a second storage unit, and a communication controller 12.

マイクロコンピュータ10は、マルチタスク実行可能なコンピュータである。マイクロコンピュータ10は、第1の記憶部としての内部不揮発性メモリ15と、内部ランダムアクセスメモリ(RAM)16と、を内部に備える。   The microcomputer 10 is a computer capable of performing multitasking. The microcomputer 10 includes an internal nonvolatile memory 15 as a first storage unit and an internal random access memory (RAM) 16.

不揮発性メモリ11は、予備の記憶部である。不揮発性メモリ11には、ファームウエア20をそれぞれ記憶可能な2つの領域A、Bが設けられている。後述するように、この領域A、Bに、更新用のファームウエア20と、リカバリ用のファームウエア20とが、それぞれ記憶される。   The nonvolatile memory 11 is a spare storage unit. The non-volatile memory 11 is provided with two areas A and B in which firmware 20 can be stored. As will be described later, the update firmware 20 and the recovery firmware 20 are stored in the areas A and B, respectively.

通信コントローラ12は、基地局3との通信制御を行う。更新用のファームウエア20は、通信コントローラ12を介してダウンロードされる。すなわち、この通信コントローラ12が、更新用のファームウエア20を入力する入力部である。   The communication controller 12 performs communication control with the base station 3. The update firmware 20 is downloaded via the communication controller 12. That is, the communication controller 12 is an input unit for inputting firmware 20 for update.

図2には、マイクロコンピュータ10のメモリ空間が示されている。図2に示すように、マイクロコンピュータ10のメモリ空間には、内部不揮発性メモリ15と、内部RAM16と、不揮発メモリ11とが割り当てられている。   FIG. 2 shows a memory space of the microcomputer 10. As shown in FIG. 2, an internal nonvolatile memory 15, an internal RAM 16, and a nonvolatile memory 11 are allocated to the memory space of the microcomputer 10.

内部不揮発性メモリ15は、固定エリアと書換エリアとに分割されている。固定エリアでは、通信装置1のデータの書き換えが禁止されているエリアであり、書換エリアは、通信装置1の運用中にデータが書き換えられるエリアである。出荷状態において、固定エリアには、メインプログラム21と、ダウンロードプログラム22と、リカバリ用ファームウエア生成プログラム23と、リカバリ実行プログラム24と、ファームウエア更新プログラム25とが記憶されている。一方、書換エリアには、ファームウエア20が記憶されている。   The internal nonvolatile memory 15 is divided into a fixed area and a rewrite area. In the fixed area, rewriting of data of the communication device 1 is prohibited, and the rewriting area is an area in which data is rewritten during operation of the communication device 1. In the shipping state, a main program 21, a download program 22, a recovery firmware generation program 23, a recovery execution program 24, and a firmware update program 25 are stored in the fixed area. On the other hand, firmware 20 is stored in the rewrite area.

メインプログラム21は、リセット時からマイクロコンピュータ10によって実行されるプログラムである。ダウンロードプログラム22は、更新用のファームウエアをダウンロードするプログラムである。メインプログラム21とダウンロードプログラム22とは、それぞれの別のタスクである。   The main program 21 is a program executed by the microcomputer 10 from the time of reset. The download program 22 is a program for downloading update firmware. The main program 21 and the download program 22 are separate tasks.

リカバリ用ファームウエア生成プログラム23は、最初の起動時に、内部不揮発性メモリ15に記憶されたファームウエア20を、不揮発性メモリ11の領域Aに転送することにより、リカバリ用のファームウエア20を生成するプログラムである。リカバリ実行プログラム24は、不揮発性メモリ11に記憶されたリカバリ用のファームウエア20を、内部不揮発性メモリ15に記憶されたファームウエア20に上書きすることにより、リカバリ処理を実行するプログラムである。ファームウエア更新プログラム25は、マイクロコンピュータ10によって実際に実行されるファームウエア20を、ダウンロードされた更新用のファームウエア20に更新するプログラムである。   The recovery firmware generation program 23 generates the recovery firmware 20 by transferring the firmware 20 stored in the internal nonvolatile memory 15 to the area A of the nonvolatile memory 11 at the first startup. It is a program. The recovery execution program 24 is a program that executes recovery processing by overwriting the firmware 20 for recovery stored in the nonvolatile memory 11 with the firmware 20 stored in the internal nonvolatile memory 15. The firmware update program 25 is a program for updating the firmware 20 actually executed by the microcomputer 10 to the downloaded firmware 20 for update.

ファームウエア20は、出荷時点でのファームウエアであり、マイクロコンピュータ10によって実際に実行される最初のファームウエアである。   The firmware 20 is firmware at the time of shipment, and is the first firmware that is actually executed by the microcomputer 10.

マイクロコンピュータ10は、リセット後、メインプログラム21を実行することにより、不揮発性メモリ11にリカバリ用のファームウエア20が記憶済であるか否かを判定し、記憶済でなければ、リカバリ用ファームウエア生成用プログラム23を実行することにより、内部不揮発性メモリ15に記憶されたファームウエア20を読み出して、不揮発性メモリ11にリカバリ用のファームウエアとして書き込んで、リカバリ用のファームウエア20を生成する。   The microcomputer 10 determines whether or not the recovery firmware 20 has been stored in the nonvolatile memory 11 by executing the main program 21 after resetting. If not, the recovery firmware 20 By executing the generation program 23, the firmware 20 stored in the internal nonvolatile memory 15 is read out and written in the nonvolatile memory 11 as recovery firmware, thereby generating the recovery firmware 20.

また、マイクロコンピュータ10は、ダウンロードプログラム22を実行することにより、基地局3から更新用のファームウエア20がダウンロードされ、不揮発性メモリ11に記憶されると、ファームウエア更新プログラム25を実行することにより、内部不揮発性メモリ15に記憶されたファームウエア20を、更新用のファームウエア20に更新する。   Further, when the microcomputer 10 executes the download program 22 to download the update firmware 20 from the base station 3 and stores it in the nonvolatile memory 11, the microcomputer 10 executes the firmware update program 25. Then, the firmware 20 stored in the internal nonvolatile memory 15 is updated to the firmware 20 for update.

さらに、マイクロコンピュータ10は、メインプログラム21を実行することにより、ファームウエア20の更新後に、更新されたファームウエア20の正常動作チェックを行い、正常に動作していないと判定した場合には、リカバリ実行プログラム24を実行することにより、内部不揮発性メモリ15に記憶されたファームウエア20を、不揮発性メモリ11に記憶されたリカバリ用のファームウエア20に更新する。   Further, the microcomputer 10 executes the main program 21 to perform a normal operation check of the updated firmware 20 after updating the firmware 20, and if it is determined that the firmware 20 is not operating normally, recovery is performed. By executing the execution program 24, the firmware 20 stored in the internal nonvolatile memory 15 is updated to the recovery firmware 20 stored in the nonvolatile memory 11.

さらに、マイクロコンピュータ10は、メインプログラム21を実行することにより、ファームウエア20の更新後に、更新されたファームウエア20の正常動作チェックを行い、正常に動作していると判定した場合には、不揮発性メモリ11に記憶された更新用のファームウエア20を、不揮発性メモリ11に記憶されたリカバリ用のファームウエア20に変更する。   Further, the microcomputer 10 executes the main program 21 to perform a normal operation check of the updated firmware 20 after updating the firmware 20, and if it is determined that it is operating normally, the microcomputer 10 is nonvolatile. The update firmware 20 stored in the nonvolatile memory 11 is changed to the recovery firmware 20 stored in the nonvolatile memory 11.

メインプログラム21、ダウンロードプログラム22、リカバリ用ファームウエア生成プログラム23、リカバリ実行プログラム24及びファームウエア更新プログラム25は、マイクロコンピュータ10の内部不揮発性メモリ15の固定エリアに置かれているので、プログラム更新時に書き換えられる心配はない。すなわち、これらのプログラムについては、リカバリの際、プログラム更新失敗等により破壊され自己復活が不可能となることが防止されている。   Since the main program 21, the download program 22, the recovery firmware generation program 23, the recovery execution program 24, and the firmware update program 25 are placed in a fixed area of the internal nonvolatile memory 15 of the microcomputer 10, the program is updated. There is no worry about being rewritten. That is, these programs are prevented from being destroyed due to program update failure or the like during recovery and becoming impossible to self-recover.

リカバリ用ファームウエア生成プログラム23、リカバリ実行プログラム24及びファームウエア更新プログラム25は、内部不揮発性メモリ15へアクセスするプログラムであるため、マイクロコンピュータ10は、これらのプログラムを、内部RAM16に転送してから実行する。   Since the recovery firmware generation program 23, the recovery execution program 24, and the firmware update program 25 are programs that access the internal nonvolatile memory 15, the microcomputer 10 transfers these programs to the internal RAM 16. Run.

次に、この実施の形態に係る通信装置1(ファームウエア更新装置5)の動作について、図3乃至図13を参照して説明する。ここで、前提として、出荷の時点において、不揮発性メモリ11の領域A、Bは初期化されており、特定の初期値データ(例えば16進数で、0xFF等)が書き込まれているものとする。   Next, the operation of the communication apparatus 1 (firmware updating apparatus 5) according to this embodiment will be described with reference to FIGS. Here, it is assumed that the areas A and B of the nonvolatile memory 11 are initialized at the time of shipment, and specific initial value data (for example, hexadecimal number, 0xFF, etc.) is written.

まず、通信装置1の起動処理について説明する。図3には、起動処理のフローチャートが示されている。   First, the activation process of the communication device 1 will be described. FIG. 3 shows a flowchart of the activation process.

(起動処理)
通信装置1を起動すると、マイクロコンピュータ10にリセット信号が入力される。リセット信号が入力されたマイクロコンピュータ10は、内部不揮発性メモリ15に記憶されたメインプログラム21の実行を開始する。このメインプログラム21では、マイクロコンピュータ10は、まず、不揮発性メモリ11の領域A、Bにリカバリ用のファームウエア20が記憶済みであるか否かを判定する(ステップS1)。マイクロコンピュータ10は、領域A、Bから読み込んだデータが初期化データと一致するか否かにより、この判定を行う。出荷直後では、領域A、Bには、リカバリ用のファームウエア20が記憶されておらず、初期値データ(0xFF等)が書き込まれているので、この判定が否定される(ステップS1;No)。
(Start process)
When the communication device 1 is activated, a reset signal is input to the microcomputer 10. The microcomputer 10 to which the reset signal is input starts to execute the main program 21 stored in the internal nonvolatile memory 15. In the main program 21, the microcomputer 10 first determines whether or not the recovery firmware 20 has been stored in the areas A and B of the nonvolatile memory 11 (step S1). The microcomputer 10 makes this determination depending on whether the data read from the areas A and B matches the initialization data. Immediately after shipment, the recovery firmware 20 is not stored in the areas A and B, and initial value data (0xFF, etc.) is written, so this determination is negative (step S1; No). .

続いて、マイクロコンピュータ10は、リカバリ用ファームウエア生成プログラム23を、内部不揮発性メモリ15から内部RAM16に転送する(ステップS2)。内部不揮発性メモリ15に記憶されたプログラムの実行中は、内部不揮発性メモリ15にアクセスすることができないため、マイクロコンピュータ10は、図4に示すように、内部不揮発性メモリ15に記憶されたリカバリ用ファームウエア生成プログラム23を、内部RAM16に転送してから、内部RAM16に記憶されたリカバリ用ファームウエア生成プログラム23を実行するのである。   Subsequently, the microcomputer 10 transfers the recovery firmware generation program 23 from the internal nonvolatile memory 15 to the internal RAM 16 (step S2). Since the internal nonvolatile memory 15 cannot be accessed while the program stored in the internal nonvolatile memory 15 is being executed, the microcomputer 10 recovers the recovery stored in the internal nonvolatile memory 15 as shown in FIG. The recovery firmware generation program 23 is transferred to the internal RAM 16 and then the recovery firmware generation program 23 stored in the internal RAM 16 is executed.

続いて、マイクロコンピュータ10は、プログラムの実行位置を、内部不揮発性メモリ15のメインプログラム21上の現在の実行位置から、リカバリ用ファームウエア生成プログラム23の実行開始位置にジャンプさせて(図4参照)、内部RAM16に記憶されたリカバリ用ファームウエア生成プログラム23の実行を開始する(ステップS3)。   Subsequently, the microcomputer 10 jumps the execution position of the program from the current execution position on the main program 21 of the internal nonvolatile memory 15 to the execution start position of the recovery firmware generation program 23 (see FIG. 4). ), The execution of the recovery firmware generation program 23 stored in the internal RAM 16 is started (step S3).

リカバリ用ファームウエア生成プログラム23では、まず、マイクロコンピュータ10は、動作モードを特殊モードに設定し、内部不揮発性メモリ15を読込可能な状態とする(ステップS4)。   In the recovery firmware generation program 23, first, the microcomputer 10 sets the operation mode to the special mode, and makes the internal nonvolatile memory 15 readable (step S4).

続いて、マイクロコンピュータ10は、図5に示すように、ファームウエア20を内部不揮発性メモリ15から不揮発性メモリ11の領域Aに転送する(ステップS5)。マイクロコンピュータ10は、ファームウエア20を、内部不揮発性メモリ15から一定のサイズだけ読み込んで、不揮発性メモリ11の領域Aに書き込んでいく。マイクロコンピュータ10は、ファームウエア20のデータが不揮発性メモリ11の領域Aに全て書き込まれるまで、この転送を繰り返し実行する。これにより、図5に示すように、領域Aに、リカバリ用のファームウエア20が記憶される。   Subsequently, the microcomputer 10 transfers the firmware 20 from the internal nonvolatile memory 15 to the area A of the nonvolatile memory 11 as shown in FIG. 5 (step S5). The microcomputer 10 reads the firmware 20 from the internal nonvolatile memory 15 by a certain size and writes it into the area A of the nonvolatile memory 11. The microcomputer 10 repeatedly executes this transfer until all the data of the firmware 20 is written in the area A of the nonvolatile memory 11. As a result, the recovery firmware 20 is stored in the area A as shown in FIG.

転送が終了すると、マイクロコンピュータ10は、動作モードを特殊モードから通常モードに切り替え、自身を通常状態に戻す(ステップS6)。その後、マイクロコンピュータ10は、リセットをかけ、通信装置1を再起動する。   When the transfer is completed, the microcomputer 10 switches the operation mode from the special mode to the normal mode and returns itself to the normal state (step S6). Thereafter, the microcomputer 10 resets and restarts the communication device 1.

このように、このリカバリ用ファームウエア生成プログラム23を実行することにより、マイクロコンピュータ10によって実行されるファームウエア20に基づいて、リカバリ用のファームウエア20が領域Aに自動生成されるので、出荷時にリカバリ用ファームウエア20を別に記憶しておく必要はない。   As described above, by executing the recovery firmware generation program 23, the recovery firmware 20 is automatically generated in the area A based on the firmware 20 executed by the microcomputer 10. There is no need to store the recovery firmware 20 separately.

再起動後、マイクロコンピュータ10は、再び、内部不揮発性メモリ15に記憶されたメインプログラム21の実行を開始する。マイクロコンピュータ10は、まず、不揮発性メモリ11の領域A、Bにリカバリ用のファームウエア20が記憶済みであるか否かを判定する(ステップS1)。ここでは、領域Aに、リカバリ用のファームウエア20が記憶されているので、リカバリ用のファームウエア20が記憶済みであるとして(ステップS1;Yes)、マイクロコンピュータ10は、リカバリ判定処理を行う。   After restarting, the microcomputer 10 again starts executing the main program 21 stored in the internal nonvolatile memory 15. The microcomputer 10 first determines whether or not the recovery firmware 20 has been stored in the areas A and B of the nonvolatile memory 11 (step S1). Here, since the recovery firmware 20 is stored in the area A, assuming that the recovery firmware 20 has already been stored (step S1; Yes), the microcomputer 10 performs a recovery determination process.

リカバリ判定処理では、図6に示すように、マイクロコンピュータ10は、まず、ファームウエア20の更新が実施されたか否かを判定する(ステップS11)。ファームウエア20が更新実施済であるか否かは、後述するF/W更新フラグを参照して、判定される。この時点では、まだ、リカバリ用のファームウエア20が領域Aに記憶された直後の再起動であるので、ファームウエア20は更新されておらず、F/W更新フラグはセットされていないので(ステップS11;No)、マイクロコンピュータ10は、通常運転処理へ移行する。   In the recovery determination process, as shown in FIG. 6, the microcomputer 10 first determines whether or not the firmware 20 has been updated (step S11). Whether or not the firmware 20 has been updated is determined with reference to an F / W update flag described later. At this time, since the recovery firmware 20 is still restarted immediately after being stored in the area A, the firmware 20 has not been updated and the F / W update flag has not been set (step S11; No), the microcomputer 10 proceeds to normal operation processing.

ここで、通常運転処理中、ファームウエア20を更新する必要が生じると、マイクロコンピュータ10は、通常運転処理を中断して、図7に示すプログラム更新処理を実行する。このプログラム更新処理では、図7に示すように、まず、マイクロコンピュータ10は、ダウンロードプログラム22を実行することにより、基地局3から更新用のファームウエア20をダウンロードし、不揮発性メモリ11の領域Bに記憶する(ステップS21)。   Here, if the firmware 20 needs to be updated during the normal operation process, the microcomputer 10 interrupts the normal operation process and executes the program update process shown in FIG. In this program update process, as shown in FIG. 7, first, the microcomputer 10 executes the download program 22 to download the update firmware 20 from the base station 3, and the area B of the nonvolatile memory 11. (Step S21).

続いて、マイクロコンピュータ10は、更新用のファームウエア20のダウンロードが完了したか否かを判定する(ステップS22)。ダウンロードが完了していなければ(ステップS22;No)、マイクロコンピュータ10は、ダウンロードを続ける(ステップS21)。このようにして、図8に示すように、領域Bに更新用のファームウエアが記憶される。   Subsequently, the microcomputer 10 determines whether or not the download of the update firmware 20 has been completed (step S22). If the download is not completed (step S22; No), the microcomputer 10 continues the download (step S21). In this way, the update firmware is stored in the area B as shown in FIG.

ダウンロードが完了すると(ステップS22;Yes)、マイクロコンピュータ10は、図9に示すように、内部不揮発性メモリ15に記憶されたファームウエア更新プログラム25を、内部RAM16に転送する(ステップS23)。   When the download is completed (step S22; Yes), the microcomputer 10 transfers the firmware update program 25 stored in the internal nonvolatile memory 15 to the internal RAM 16 as shown in FIG. 9 (step S23).

続いて、マイクロコンピュータ10は、図9に示すように、内部RAM16に転送されたファームウエア更新プログラム25の実行を開始する(ステップS24)。   Subsequently, as shown in FIG. 9, the microcomputer 10 starts to execute the firmware update program 25 transferred to the internal RAM 16 (step S24).

このファームウエア更新プログラム25では、まず、マイクロコンピュータ10は、動作モードを特殊モードに設定し、内部不揮発性メモリ15を書込可能状態に設定する(ステップS25)。   In the firmware update program 25, first, the microcomputer 10 sets the operation mode to the special mode and sets the internal nonvolatile memory 15 to a writable state (step S25).

続いて、マイクロコンピュータ10は、図10に示すように、不揮発性メモリ11の更新用領域(領域B)に作成された更新用のファームウエア20を読み込んで、内部不揮発性メモリ15に書き込む(ステップS26)。この処理は、全ての更新用のファームウエア20が内部不揮発性メモリ15に記憶されるまで、繰り返し実行される。この結果、図10に示すように、内部不揮発性メモリ15に記憶されたファームウエア20が、更新用のファームウエア20に更新される。   Subsequently, the microcomputer 10 reads the update firmware 20 created in the update area (area B) of the nonvolatile memory 11 and writes it in the internal nonvolatile memory 15 as shown in FIG. S26). This process is repeatedly executed until all the update firmware 20 is stored in the internal nonvolatile memory 15. As a result, as shown in FIG. 10, the firmware 20 stored in the internal nonvolatile memory 15 is updated to the update firmware 20.

続いて、マイクロコンピュータ10は、F/W更新フラグをオンする(ステップS27)。さらに、マイクロコンピュータ10は、動作モードを通常モードに設定して、自身を通常状態に戻し(ステップS28)、リセットをかけ再起動する。   Subsequently, the microcomputer 10 turns on the F / W update flag (step S27). Further, the microcomputer 10 sets the operation mode to the normal mode, returns itself to the normal state (step S28), resets and restarts.

リセット後、図3に示すように、マイクロコンピュータ10は、リカバリ用のファームウエア20が記憶済か否かを判定し(ステップS1)、すでに記憶済であるので(ステップS1;Yes)、リカバリ判定処理(図6参照)に移行する。   After the reset, as shown in FIG. 3, the microcomputer 10 determines whether or not the recovery firmware 20 has been stored (step S1), and since it has already been stored (step S1; Yes), the recovery determination The process proceeds to processing (see FIG. 6).

図6に示すように、マイクロコンピュータ10は、ファームウエア20の更新が実施済みであるので(ステップS11;Yes)、マイクロコンピュータ10は、更新されたファームウエア20が正常に動作しているか否かを判定する(ステップS12)。例えば、ファームウエア20の主要機能をバッチ処理で実行するテストモード等を予め用意しておき、テストの結果が全て成功であれば正常に動作していると判定することができる。   As shown in FIG. 6, since the microcomputer 10 has been updated with the firmware 20 (step S11; Yes), the microcomputer 10 determines whether or not the updated firmware 20 is operating normally. Is determined (step S12). For example, a test mode or the like for executing the main function of the firmware 20 by batch processing is prepared in advance, and if all the test results are successful, it can be determined that it is operating normally.

ファームウエア20が正常に動作していると判定された場合(ステップS12;Yes)、マイクロコンピュータ10は、不揮発性メモリ11の更新用のファームウエア20を、リカバリ用のファームウエア20に変更する(ステップS13)。すなわち、図11に示すように、マイクロコンピュータ10は、領域Bに記憶されたファームウエア20をリカバリ用のファームウエア20に設定する。次回のプログラム更新時にリカバリが必要となったときは、領域Bに記憶されたファームウエア20が、リカバリ用として使用される。このようにすれば、正常動作確認済みの最新のファームウエア20をリカバリ用のファームウエア20とすることができる。   If it is determined that the firmware 20 is operating normally (step S12; Yes), the microcomputer 10 changes the firmware 20 for updating the nonvolatile memory 11 to the firmware 20 for recovery ( Step S13). That is, as shown in FIG. 11, the microcomputer 10 sets the firmware 20 stored in the area B as the recovery firmware 20. When recovery is required at the next program update, the firmware 20 stored in the area B is used for recovery. In this way, the latest firmware 20 whose normal operation has been confirmed can be used as the recovery firmware 20.

続いて、マイクロコンピュータ10は、通常運転処理に移行する。   Subsequently, the microcomputer 10 proceeds to normal operation processing.

一方、ファームウエア20が正常に動作していないと判定された場合(ステップS12;No)、更新されたファームウエア20に何等かの不具合があったものとみなせるので、マイクロコンピュータ10は、図12に示すように、リカバリ実行プログラム24を、内部不揮発性メモリ15から内部RAM16に転送し(ステップS14)、内部RAM16に記憶されたリカバリ実行プログラム24を実行する(ステップS15)。   On the other hand, if it is determined that the firmware 20 is not operating normally (step S12; No), the updated firmware 20 can be regarded as having some trouble, so the microcomputer 10 can be As shown, the recovery execution program 24 is transferred from the internal nonvolatile memory 15 to the internal RAM 16 (step S14), and the recovery execution program 24 stored in the internal RAM 16 is executed (step S15).

続いて、マイクロコンピュータ10は、動作モードを、通常モードから特殊モードに切り替え、内部不揮発性メモリ15を書込可能な状態に設定する(ステップS16)。   Subsequently, the microcomputer 10 switches the operation mode from the normal mode to the special mode, and sets the internal nonvolatile memory 15 to a writable state (step S16).

続いて、マイクロコンピュータ10は、図13に示すように、リカバリ用領域(ここでは、領域A)に作成されたリカバリ用のファームウエア20を読み込んで、内部不揮発性メモリ15に書き込む(ステップS17)。この処理は、全てのファームウエア20が全て書き込まれるまで繰り返し実施される。これにより、内部不揮発性メモリ15に記憶されたファームウエア20は、リカバリ用のファームウエア20に戻される。   Next, as shown in FIG. 13, the microcomputer 10 reads the recovery firmware 20 created in the recovery area (here, area A) and writes it in the internal nonvolatile memory 15 (step S17). . This process is repeated until all the firmware 20 is written. As a result, the firmware 20 stored in the internal nonvolatile memory 15 is returned to the recovery firmware 20.

続いて、マイクロコンピュータ10は、F/W更新フラグをオフする(ステップS18)。さらに、マイクロコンピュータ10は、動作モードを通常モードに設定して、自身を通常状態に戻し(ステップS19)、リセットをかけて、再起動する。   Subsequently, the microcomputer 10 turns off the F / W update flag (step S18). Further, the microcomputer 10 sets the operation mode to the normal mode, returns itself to the normal state (step S19), resets, and restarts.

図3に戻り、マイクロコンピュータ10は、リカバリ用のファームウエア20が記憶済みであるので(ステップS1;Yes)、リカバリ判定処理に移行する。そして、図6に示すように、F/W更新フラグがオフなので(ステップS11;No)、マイクロコンピュータ10は、通常運転に移行する。   Returning to FIG. 3, the microcomputer 10 has already stored the recovery firmware 20 (step S <b> 1; Yes), and thus proceeds to the recovery determination process. As shown in FIG. 6, since the F / W update flag is off (step S11; No), the microcomputer 10 shifts to normal operation.

実施の形態2.
次に、この発明の実施の形態2について説明する。
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described.

図14には、この実施の形態に係るファームウエア更新システム100の構成が示されている。図14に示すように、ファームウエア更新システム100は、通信装置1において、不揮発性メモリ11が、マイクロコンピュータ10内に設けられている点が、上記実施形態1に係るファームウエア更新システム100と異なる。   FIG. 14 shows the configuration of the firmware update system 100 according to this embodiment. As shown in FIG. 14, the firmware update system 100 is different from the firmware update system 100 according to the first embodiment in that the nonvolatile memory 11 is provided in the microcomputer 10 in the communication device 1. .

通信装置1(ファームウエア更新装置5)の動作は、上記実施形態と同じである。   The operation of the communication device 1 (firmware update device 5) is the same as that in the above embodiment.

なお、上記各実施の形態において、実行されるプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical Disk)等のコンピュータ読み取り可能な記録媒体に記憶して配布し、そのプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。   In each of the above embodiments, the program to be executed is computer-readable such as a flexible disk, a CD-ROM (Compact Disk Read-Only Memory), a DVD (Digital Versatile Disk), and an MO (Magneto-Optical Disk). A system that executes the above-described processing may be configured by storing and distributing the program in a recording medium and installing the program.

また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に記憶しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。   Further, the program may be stored in a disk device or the like included in a predetermined server device on a communication network such as the Internet, and may be downloaded, for example, superimposed on a carrier wave.

また、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に記憶して配布してもよく、また、ダウンロード等してもよい。   Further, when the above functions are realized by sharing an OS (Operating System) or when the functions are realized by cooperation between the OS and an application, only the part other than the OS may be stored in the medium and distributed. You may also download it.

なお、上記各実施の形態において、設定した数値は一例であり、適応する通信装置1に応じて適切に設定する必要があることはいうまでもない。   In each of the above embodiments, the set numerical value is an example, and needless to say, it is necessary to set appropriately according to the communication device 1 to which it is applied.

なお、上記各実施の形態では、通信装置1のファームウエアを更新する場合について説明したが、この発明はこれには限られない。この発明は、ゲーム機器やテレビジョン装置など、ファームウエアが実装されている電気機器であれば、適用が可能である。   In each of the above embodiments, the case of updating the firmware of the communication device 1 has been described, but the present invention is not limited to this. The present invention can be applied to any electrical device in which firmware is mounted, such as a game device or a television device.

この発明は、コンピュータがファームウエアを含むプログラムを実行することにより、その機能を発揮する電子機器などに好適である。   The present invention is suitable for an electronic device or the like that exhibits its function when a computer executes a program including firmware.

1 通信装置
2 サーバ
3 基地局
4 通信回線網
5 ファームウエア更新装置
10 マイクロコンピュータ
11 不揮発性メモリ
12 通信コントローラ
15 内部不揮発性メモリ
16 内部RAM
20 ファームウエア
21 メインプログラム
22 ダウンロードプログラム
23 リカバリ用ファームウエア生成プログラム
24 リカバリ実行プログラム
25 ファームウエア更新プログラム
100 ファームウエア更新システム
DESCRIPTION OF SYMBOLS 1 Communication apparatus 2 Server 3 Base station 4 Communication network 5 Firmware update apparatus 10 Microcomputer 11 Non-volatile memory 12 Communication controller 15 Internal non-volatile memory 16 Internal RAM
20 Firmware 21 Main Program 22 Download Program 23 Recovery Firmware Generation Program 24 Recovery Execution Program 25 Firmware Update Program 100 Firmware Update System

Claims (7)

実行用のファームウエアを記憶する第1の記憶部と、
予備の記憶部であり、少なくとも2つの前記ファームウエアを同時に記憶可能な容量を有する第2の記憶部と、
起動時に、前記第2の記憶部に前記ファームウエアが記憶されていない場合に、前記第1の記憶部に記憶された前記ファームウエアを読み出して、前記第2の記憶部にリカバリ用のファームウエアとして書き込む制御部と、
更新用の前記ファームウエアを入力する入力部と、
を備え
前記制御部は、
入力した更新用の前記ファームウエアを、リカバリ用の前記ファームウエアとは別に前記第2の記憶部に記憶し、
前記第1の記憶部に記憶された前記ファームウエアを、前記第2の記憶部に記憶された更新用の前記ファームウエアに更新して更新フラグをオンし、
リセット後、前記更新フラグがオンであり、前記第1の記憶部に記憶された前記ファームウエアが正常に動作しない場合に、前記第1の記憶部に記憶された前記ファームウエアを、前記第2の記憶部に記憶されたリカバリ用の前記ファームウエアに更新して前記更新フラグをオフし、
リセット後、前記更新フラグがオンであり、前記第1の記憶部に記憶された前記ファームウエアが正常に動作している場合に、前記第2の記憶部に記憶された更新用の前記ファームウエアを、前記第2の記憶部に記憶されたリカバリ用のファームウエアに変更して前記更新フラグをオフする、
ファームウエア更新装置。
A first storage unit for storing firmware for execution;
Spare storage unit der is, a second storage unit having at the same time capacity capable of storing at least two of said firmware,
When the firmware is not stored in the second storage unit at the time of startup, the firmware stored in the first storage unit is read out, and the recovery firmware is stored in the second storage unit A control unit to write as
An input unit for inputting the firmware for update;
Equipped with a,
The controller is
The inputted update firmware is stored in the second storage unit separately from the recovery firmware,
Updating the firmware stored in the first storage unit to the firmware for update stored in the second storage unit and turning on an update flag;
After the reset, when the update flag is on and the firmware stored in the first storage unit does not operate normally, the firmware stored in the first storage unit is changed to the second storage unit. Update to the firmware for recovery stored in the storage unit of, and turn off the update flag,
After the reset, when the update flag is on and the firmware stored in the first storage unit is operating normally, the update firmware stored in the second storage unit Is changed to the recovery firmware stored in the second storage unit and the update flag is turned off.
Firmware update device.
前記制御部には、
前記第1の記憶部及び前記第2の記憶部が組み込まれている、
ことを特徴とする請求項1に記載のファームウエア更新装置。
In the control unit,
The first storage unit and the second storage unit are incorporated,
The firmware updating apparatus according to claim 1, wherein:
請求項1又は2に記載のファームウエア更新装置を備える通信装置。 Communication device comprising a firmware update apparatus according to claim 1 or 2. 請求項1又は2に記載のファームウエア更新装置を備える電子機器。 Electronic device equipped with firmware update apparatus according to claim 1 or 2. 請求項1又は2に記載のファームウエア更新装置と、
通信回線網を介して、前記ファームウエア更新装置に更新用の前記ファームウエアを送信するサーバと、
を備えるファームウエア更新システム。
The firmware update device according to claim 1 or 2 ,
A server that transmits the firmware for update to the firmware update device via a communication network;
A firmware update system comprising:
ファームウエアを記憶する第1の記憶部と、
予備用の記憶部であり、少なくとも2つの前記ファームウエアを同時に記憶可能な容量を有する第2の記憶部と、
を備える電子機器のファームウエア更新方法において、
前記電子機器が、起動時に、前記第2の記憶部に前記ファームウエアが記憶されているか否かを判定する判定工程と、
前記電子機器が、前記判定工程において、前記第2の記憶部に前記ファームウエアが記憶されていないと判定された場合に、前記第1の記憶部に記憶された前記ファームウエアを読み出して、前記第2の記憶部にリカバリ用のファームウエアとして書き込むリカバリ用ファームウエア生成工程と、
前記電子機器が、入力した更新用の前記ファームウエアを、リカバリ用の前記ファームウエアとは別に前記第2の記憶部に記憶する更新用ファームウエア記憶工程と、
前記電子機器が、前記第1の記憶部に記憶された前記ファームウエアを、前記第2の記憶部に記憶された更新用の前記ファームウエアに更新して更新フラグをオンするファームウエア更新工程と、
前記電子機器が、リセット後、前記更新フラグがオンであり、前記第1の記憶部に記憶された前記ファームウエアが正常に動作しない場合に、前記第1の記憶部に記憶された前記ファームウエアを、前記第2の記憶部に記憶されたリカバリ用の前記ファームウエアに更新して前記更新フラグをオフする異常処理工程と、
前記電子機器が、リセット後、前記更新フラグがオンであり、前記第1の記憶部に記憶された前記ファームウエアが正常に動作している場合に、前記第2の記憶部に記憶された更新用の前記ファームウエアを、前記第2の記憶部に記憶されたリカバリ用のファームウエアに変更して前記更新フラグをオフする正常処理工程と、
を含むファームウエア更新方法。
A first storage unit for storing firmware;
A second storage unit which is a spare storage unit and has a capacity capable of storing at least two pieces of firmware simultaneously ;
In a method for updating firmware of an electronic device comprising:
A determination step of determining whether the firmware is stored in the second storage unit when the electronic device is activated;
In the determination step, when the electronic device determines that the firmware is not stored in the second storage unit, the electronic device reads the firmware stored in the first storage unit, and A recovery firmware generation step of writing the second storage unit as recovery firmware;
An update firmware storage step in which the electronic device stores the input update firmware in the second storage unit separately from the recovery firmware;
A firmware update step in which the electronic device updates the firmware stored in the first storage unit to the update firmware stored in the second storage unit and turns on an update flag; ,
The firmware stored in the first storage unit when the electronic device is reset and the update flag is on and the firmware stored in the first storage unit does not operate normally. Updating the firmware for recovery stored in the second storage unit and turning off the update flag,
The update stored in the second storage unit when the electronic device is reset and the update flag is on and the firmware stored in the first storage unit is operating normally. A normal processing step of turning off the update flag by changing the firmware for recovery to the recovery firmware stored in the second storage unit;
Firmware update method including
ファームウエアを記憶する第1の記憶部と、
予備用の記憶部であり、少なくとも2つの前記ファームウエアを同時に記憶可能な容量を有する第2の記憶部と、
を備える電子機器を制御するコンピュータによって実行されるプログラムにおいて、
起動時に、前記第2の記憶部に前記ファームウエアが記憶されているか否かを判定する判定手順と、
前記判定手順において、前記第2の記憶部に前記ファームウエアが記憶されていないと判定された場合に、前記第1の記憶部に記憶された前記ファームウエアを読み出して、前記第2の記憶部にリカバリ用のファームウエアとして書き込むリカバリ用ファームウエア生成手順と、
入力した更新用の前記ファームウエアを、リカバリ用の前記ファームウエアとは別に前記第2の記憶部に記憶する更新用ファームウエア記憶手順と、
前記第1の記憶部に記憶された前記ファームウエアを、前記第2の記憶部に記憶された更新用の前記ファームウエアに更新して更新フラグをオンするファームウエア更新手順と、
リセット後、前記更新フラグがオンであり、前記第1の記憶部に記憶された前記ファームウエアが正常に動作しない場合に、前記第1の記憶部に記憶された前記ファームウエアを、前記第2の記憶部に記憶されたリカバリ用の前記ファームウエアに更新して前記更新フラグをオフする異常処理手順と、
リセット後、前記更新フラグがオンであり、前記第1の記憶部に記憶された前記ファームウエアが正常に動作している場合に、前記第2の記憶部に記憶された更新用の前記ファームウエアを、前記第2の記憶部に記憶されたリカバリ用のファームウエアに変更して前記更新フラグをオフする正常処理手順と、
をコンピュータに実行させるプログラム。
A first storage unit for storing firmware;
A second storage unit which is a spare storage unit and has a capacity capable of storing at least two pieces of firmware simultaneously ;
In a program executed by a computer that controls an electronic device comprising:
A determination procedure for determining whether the firmware is stored in the second storage unit at the time of startup;
In the determination procedure, when it is determined that the firmware is not stored in the second storage unit, the firmware stored in the first storage unit is read, and the second storage unit Recovery firmware generation procedure to write as recovery firmware to
An update firmware storage procedure for storing the input update firmware in the second storage unit separately from the recovery firmware;
A firmware update procedure for updating the firmware stored in the first storage unit to the update firmware stored in the second storage unit and turning on an update flag;
After the reset, when the update flag is on and the firmware stored in the first storage unit does not operate normally, the firmware stored in the first storage unit is changed to the second storage unit. An abnormality processing procedure for updating the firmware for recovery stored in the storage unit and turning off the update flag;
After the reset, when the update flag is on and the firmware stored in the first storage unit is operating normally, the update firmware stored in the second storage unit Is changed to the recovery firmware stored in the second storage unit, and the normal processing procedure for turning off the update flag,
A program that causes a computer to execute.
JP2010037342A 2010-02-23 2010-02-23 Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program Active JP5084853B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010037342A JP5084853B2 (en) 2010-02-23 2010-02-23 Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010037342A JP5084853B2 (en) 2010-02-23 2010-02-23 Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program

Publications (2)

Publication Number Publication Date
JP2011175352A JP2011175352A (en) 2011-09-08
JP5084853B2 true JP5084853B2 (en) 2012-11-28

Family

ID=44688162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010037342A Active JP5084853B2 (en) 2010-02-23 2010-02-23 Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program

Country Status (1)

Country Link
JP (1) JP5084853B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5871644B2 (en) * 2012-02-07 2016-03-01 株式会社Nttファシリティーズ RESTART CONTROL SYSTEM, RESTART CONTROL METHOD, AND PROGRAM
JP6750340B2 (en) * 2016-06-22 2020-09-02 富士通株式会社 Electronic device, firmware update method, and computer program
JP6859282B2 (en) * 2018-02-20 2021-04-14 パナソニック株式会社 Electronic devices, program update methods and computer programs
JP6918994B2 (en) * 2020-01-09 2021-08-11 レノボ・シンガポール・プライベート・リミテッド Information processing device and information processing method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3329841B2 (en) * 1991-10-18 2002-09-30 株式会社日立製作所 Network system and its software management method
JPH10307726A (en) * 1997-05-02 1998-11-17 Nec Corp System for firmware recovery at time of start error
JP2003330722A (en) * 2002-05-09 2003-11-21 Matsushita Electric Ind Co Ltd Remote download system and method therefor
JP2005327003A (en) * 2004-05-13 2005-11-24 Toshiba Tec Corp Disk recovery method
JP2008027004A (en) * 2006-07-18 2008-02-07 Ricoh Co Ltd Information apparatus and its program updating method
JP2008084291A (en) * 2006-08-28 2008-04-10 Fujitsu Ltd Storage apparatus, control method, and control device
JP2009020697A (en) * 2007-07-11 2009-01-29 Murata Mach Ltd Image forming apparatus

Also Published As

Publication number Publication date
JP2011175352A (en) 2011-09-08

Similar Documents

Publication Publication Date Title
JP4810172B2 (en) Control device, version upgrade method, and program
KR100415371B1 (en) Computer
WO2022007656A1 (en) Bootloader software updating method and apparatus, embedded controller, and storage medium
JP2000357095A (en) Method and device for downloading software to embedded system
JP2017157004A (en) System, method, and computer program for updating programs
JP4279902B2 (en) Digital television broadcast receiving apparatus and digital television broadcast receiving program acquisition method
KR20070039841A (en) Digital tv and upgrade method of bootloader for the same
JP5084853B2 (en) Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program
JP2001331327A (en) Electronic equipment
JP6074064B2 (en) Electronics
US20140258699A1 (en) Boot fault tolerant device and method thereof
JP2011095952A (en) Method for updating firmware and electronic equipment
CN111026417A (en) Embedded equipment upgrading method and embedded equipment
JP2022142263A (en) Information processing apparatus and information processing program
CN110688135A (en) Program flashing method, device and medium for controller
JP2010218103A (en) Electronic apparatus
JP2019008693A (en) Vehicle-purpose electronic control unit
JP2006072982A (en) Data processing apparatus and firmware update method
JP2002175193A (en) Device and method for rewriting program
US11768669B2 (en) Installing application program code on a vehicle control system
KR20070060448A (en) Device and method for upgradin system using two step bootloader
JP5158883B2 (en) Firmware update method and firmware update apparatus
JP2022024904A (en) Firmware updating system and firmware updating method
JP6149624B2 (en) Firmware execution apparatus, firmware execution method, computer program, and computer apparatus
JP2004272629A (en) Device for programmable controller, and programmable updating method and program starting method for the same

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R150 Certificate of patent or registration of utility model

Ref document number: 5084853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250