JP2007249360A - System and method for updating firmware - Google Patents

System and method for updating firmware Download PDF

Info

Publication number
JP2007249360A
JP2007249360A JP2006069145A JP2006069145A JP2007249360A JP 2007249360 A JP2007249360 A JP 2007249360A JP 2006069145 A JP2006069145 A JP 2006069145A JP 2006069145 A JP2006069145 A JP 2006069145A JP 2007249360 A JP2007249360 A JP 2007249360A
Authority
JP
Japan
Prior art keywords
update
program
application
updated
firmware
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
Application number
JP2006069145A
Other languages
Japanese (ja)
Inventor
Takao Sawada
孝雄 澤田
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings Ltd
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 Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP2006069145A priority Critical patent/JP2007249360A/en
Publication of JP2007249360A publication Critical patent/JP2007249360A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To update firmware reliably. <P>SOLUTION: A first update program 20d that is not to be updated, a second update program 22 that can be updated with the first update program 20d, and an application program 21 that can be updated with the second update program are stored in a nonvolatile memory 12. An arithmetic means connected to the nonvolatile memory receives an instruction to update the second update program 22 or application program 21, determines whether or not the settings of the second update program 22 must be changed for executing the update instruction, and if the settings do not need to be changed, updates the application program 21 with the second update program 22 or, if the settings must be changed, updates the second update program 22 with the first update program 20d and then updates the application program 21 with the updated second update program 22. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ファームウェア更新後に再度更新処理を実行することができるファームウェアの更新システムおよび更新方法に関する。   The present invention relates to a firmware update system and update method capable of executing update processing again after firmware update.

最近の組込み機器は、機能追加や性能向上や不具合の修正などの目的のために、ファームウェアを更新するための手段が提供されている製品が増えてきている。例えば、ファームウェアを更新するときに、マスクROMなどの書き換え可能な不揮発性メモリに予め記憶しているファームウェアの更新プログラムを用いて更新処理を行うことができるものがある。   In recent embedded devices, an increasing number of products are provided with means for updating firmware for purposes such as adding functions, improving performance, and correcting defects. For example, when updating firmware, there is one that can perform update processing using a firmware update program stored in advance in a rewritable nonvolatile memory such as a mask ROM.

ただし、上記の組込み機器では、記憶媒体やデータ形式に変更がある場合には、ファームウェアを更新するプログラム自身の変更が必要となる。その場合には、組込み装置の不揮発性メモリを交換する必要がある。   However, in the above-described embedded device, when the storage medium or the data format is changed, it is necessary to change the program itself for updating the firmware. In that case, it is necessary to replace the nonvolatile memory of the embedded device.

この問題を解決する技術として、例えば特許文献1の技術が知られている。この特許文献1によれば、ファームウェアの更新処理プログラムとその更新処理に必要な更新データとの2つのデータを一緒にして、このファームウェアを含む装置と通信可能な装置(以下、「上位装置」とよぶ)から、組込み機器の不揮発性メモリに送信している。特許文献1によれば、ファームウェアの更新処理に必要な更新データを参照しながらファームウェアの更新処理を実行できるので、記憶媒体やデータ形式の変更に対応することができる。   As a technique for solving this problem, for example, the technique of Patent Document 1 is known. According to this patent document 1, a device that can communicate with a device including this firmware (hereinafter referred to as a “higher-level device”) by combining two pieces of data, that is, a firmware update processing program and update data necessary for the update processing. To the non-volatile memory of the embedded device. According to Patent Literature 1, firmware update processing can be executed while referring to update data necessary for firmware update processing, so that it is possible to cope with changes in storage media and data formats.

しかしながら、特許文献1に記載された技術では、プログラムの更新に必要な更新データの上位装置との間で通信するのに必要な設定内容(例えば、通信プロトコル、通信処理、通信媒体)に変更にまで対応することはできない。また、特許文献1に記載された技術では、ファームウェアの更新後に不具合が生じた場合には、ファームウェアを再び更新することができないので、不揮発性メモリの物理的な交換が必要になることがある。この場合には、さらなるコスト負担を生じ、交換が完了するまで組込み装置を使用することができないという保守性にも問題を生じることになる。
特開2000−181719号公報
However, in the technique described in Patent Document 1, the setting contents (for example, communication protocol, communication processing, and communication medium) necessary for communication with the host device of update data necessary for program update are changed. Can not respond to. Further, in the technique described in Patent Document 1, if a problem occurs after updating the firmware, the firmware cannot be updated again, so that the nonvolatile memory may need to be physically replaced. In this case, a further cost burden is caused, and a problem arises in maintainability that the embedded device cannot be used until the replacement is completed.
JP 2000-181719 A

本発明は、ファームウェアの更新に関して設定内容の変更がある場合にも、ファームウェアの更新を確実に行えるようにするものである。   The present invention makes it possible to reliably update the firmware even when there is a change in the setting contents regarding the firmware update.

本発明は、不揮発性メモリ内のファームウェアの更新を確実に行うことができるファームウェア更新システムを提供する。具体的には、本発明は、更新対象でない第一更新プログラムと、該第1の更新プログラムによって更新される更新対象の第二更新プログラムと、該第二更新プログラムにより更新されうる更新対象の応用部プログラムとを記憶している不揮発性メモリと、該不揮発性メモリに接続された演算手段であって、前記第二更新プログラムまたは前記応用部プログラムの更新命令を受信し、該更新命令を実行するのに前記第二更新プログラムの更新処理の要否を判断するものである演算手段とを含んでなるファームウェア更新システムであって、
前記更新処理が不要な場合には、前記演算手段は、前記第二更新プログラムによって前記応用部プログラムの更新を実行し、
前記更新処理が必要な場合には、前記演算手段は、前記第一更新プログラムによって前記第二更新プログラムを更新し、更新した第二更新プログラムによって前記応用部プログラムの更新を実行するものである、ファームウェア更新システムを提供する。
The present invention provides a firmware update system capable of reliably updating firmware in a nonvolatile memory. Specifically, the present invention provides a first update program that is not an update target, a second update program that is an update target that is updated by the first update program, and an application of an update target that can be updated by the second update program. A non-volatile memory storing a section program, and arithmetic means connected to the non-volatile memory, receiving the update instruction of the second update program or the application section program and executing the update instruction And a firmware update system including calculation means for determining whether update processing of the second update program is necessary,
When the update process is unnecessary, the computing means executes the update of the application unit program by the second update program,
When the update process is necessary, the calculation means updates the second update program by the first update program, and executes the update of the application unit program by the updated second update program. Provide a firmware update system.

ここで、上記のファームウェア更新システムは、前記更新処理に対応する複数の第二更新プログラムを前記不揮発性メモリに記憶している態様であることや、上記のファームウェア更新システムの演算手段が、前記応用部プログラムまたは前記第二更新プログラムの更新が終了したことを表す終了通知を発生することをさらに含む態様であることが好ましい。   Here, the firmware update system is a mode in which a plurality of second update programs corresponding to the update process are stored in the nonvolatile memory, or the arithmetic unit of the firmware update system is configured to apply the application. It is preferable that the mode further includes generating an end notification indicating that the update of the part program or the second update program has ended.

また、本発明は、不揮発性メモリ内のファームウェアの更新を確実に行うファームウェア更新方法も提供する。具体的には、本発明は、更新対象でない第一更新プログラムと、該第1の更新プログラムによって更新される更新対象の第二更新プログラムと、該第二更新プログラムにより更新されうる更新対象の応用部プログラムとを不揮発性メモリに記憶するステップと、前記不揮発性メモリに接続された演算手段が、前記第二更新プログラムまたは前記応用部プログラムの更新命令を受信し、該更新命令を実行するのに前記第二更新プログラムの更新処理の要否を判断するステップと、前記更新処理が不要な場合には、前記演算手段は、前記第二更新プログラムによって前記応用部プログラムを更新し、前記更新処理が必要な場合には、前記演算手段は、前記第一更新プログラムによって前記第二更新プログラムを更新し、更新した第二更新プログラムによって前記応用部プログラムを更新するステップとを含んでなるファームウェア更新方法を提供する。   The present invention also provides a firmware update method for reliably updating the firmware in the nonvolatile memory. Specifically, the present invention provides a first update program that is not an update target, a second update program that is an update target that is updated by the first update program, and an application of an update target that can be updated by the second update program. A storage unit program stored in a non-volatile memory, and a calculation means connected to the non-volatile memory for receiving an update command for the second update program or the application program and executing the update command The step of determining whether the update process of the second update program is necessary, and when the update process is unnecessary, the calculation means updates the application section program by the second update program, and the update process If necessary, the computing means updates the second update program by the first update program, and updates the updated second update program. It provides a firmware update method comprising the steps of: updating the application part program by.

ここで、上記の前記不揮発性メモリに記憶するステップが、前記更新処理に対応する複数の第二更新プログラムを前記不揮発性メモリに記憶することをさらに含む態様であることや、前記演算手段が、前記応用部プログラムまたは前記第二更新プログラムの更新が終了したことを表す終了通知を発生するステップをさらに含む態様であることが好ましい。   Here, the step of storing in the non-volatile memory is an aspect further including storing a plurality of second update programs corresponding to the update processing in the non-volatile memory; It is preferable that the method further includes a step of generating an end notification indicating that the update of the application section program or the second update program has ended.

また、上記の終了通知を上位装置に送信するためのインタフェースをさらに含む態様であることがより好ましい。このようなインタフェースは、例えば、LANカードやシリアルコントローラなどの通信装置、または、フロッピー(登録商標)ディスクやCD/DVDやスマートメディアやUSBメモリやCFカードやSDカードなどの記憶媒体の読取装置を含みうる。   Further, it is more preferable that the interface further includes an interface for transmitting the end notification to the host device. Such an interface includes, for example, a communication device such as a LAN card or a serial controller, or a reading device for a storage medium such as a floppy disk, CD / DVD, smart media, USB memory, CF card, or SD card. May be included.

なお、上記のファームウェア更新システムまたは更新方法では、演算手段が1つの更新プログラムを用いて更新対象のプログラムの更新処理を実行しているが、これに限らず、例えば、複数のプログラムが連携して更新対象のプログラムの更新処理を実行することもできる。このように複数の更新プログラムや更新データが互いに連携して更新対象のプログラムを更新することも本願の更新処理に含みうる。本願では、このことを明らかにするために、以下、「第一更新処理プログラム」および「第二更新処理プログラム」という語を使用することがある。ここで、「第一更新処理プログラム」とは、更新対象のプログラムを更新するための「第一更新プログラム」と、この「第一更新プログラム」と連携して更新処理を行うそれ以外の更新プログラムまたは更新データとを含む。同様に、「第二更新処理プログラム」とは、更新対象のプログラムを更新するための「第二更新プログラム」と、この「第二更新プログラム」と連携して更新処理を行うそれ以外の更新プログラムまたは更新データとの両方を含む。   In the above firmware update system or update method, the calculation means executes the update process of the update target program using one update program. However, the present invention is not limited to this, and for example, a plurality of programs cooperate with each other. It is also possible to execute update processing of the program to be updated. In this way, the update process of the present application may include updating a program to be updated in cooperation with a plurality of update programs and update data. In the present application, in order to clarify this, hereinafter, the terms “first update processing program” and “second update processing program” may be used. Here, the “first update processing program” means a “first update program” for updating a program to be updated, and other update programs that perform update processing in cooperation with this “first update program” Or update data. Similarly, the “second update processing program” refers to a “second update program” for updating a program to be updated, and other update programs that perform update processing in cooperation with this “second update program” Or it includes both update data.

本発明によれば、更新対象である応用部プログラム(ファームウェアまたはアプリケーション)の更新に伴う不具合が発生した場合でも、不揮発性メモリの物理的な交換を行うことなく、更新対象でない第一更新プログラムを使用して応用部プログラムの更新処理を再び実行することができる。そのため、ファームウェアの更新処理を確実に行うことができる。
また、各種の通信プロトコルに対応した複数の第二更新プログラムを不揮発性メモリに記憶している態様においては、応用部プログラムの更新に伴う通信プロトコルや通信媒体の変更をデータ通信することなく演算手段が迅速に実行することができる。これに伴って本発明の実施に用いられる組込み装置を使用するユーザの利便性も向上する。
According to the present invention, the first update program that is not the update target can be obtained without performing a physical replacement of the nonvolatile memory even when a problem associated with the update of the application program (firmware or application) that is the update target occurs. It is possible to execute the update process of the application section program again by using it. Therefore, the firmware update process can be reliably performed.
In the aspect in which a plurality of second update programs corresponding to various communication protocols are stored in the non-volatile memory, the arithmetic means without changing the communication protocol and communication medium accompanying the update of the application program without data communication Can be performed quickly. In connection with this, the convenience of the user who uses the embedded device used for carrying out the present invention is also improved.

以下、発明の実施の形態について説明する。図1は、本発明の実施に用いられる組込み機器31または41のハードウェア構成の一例である。ここで、組込み機器31または41は、CPU10と、メモリ11と、書き換え可能な不揮発性メモリ(以下、「ROM」とよぶ)12と、上位装置とデータを通信するためのインタフェース13(以下、「外部I/F13」とよぶ)とを含んでなり、CPU10とメモリ11とROM12と外部I/F13とは、互いにバスで接続されている。上記の組込み装置31または41は、一例として携帯電話機などでありうる。   Hereinafter, embodiments of the invention will be described. FIG. 1 is an example of a hardware configuration of an embedded device 31 or 41 used for implementing the present invention. Here, the embedded device 31 or 41 includes a CPU 10, a memory 11, a rewritable nonvolatile memory (hereinafter referred to as “ROM”) 12, and an interface 13 (hereinafter referred to as “hereinafter referred to as“ ROM ”) for communicating data with a host device. The CPU 10, the memory 11, the ROM 12, and the external I / F 13 are connected to each other via a bus. The embedded device 31 or 41 may be a mobile phone as an example.

CPU10は、メモリ11またはROM12に記憶された各種のプログラムに従って、応用部プログラムなどのプログラムの更新処理を含む各種のデータ処理を行うことができる。メモリ11は、例えば、組込み機器31または41と通信する上位装置30からの更新データを一時的に記憶するために使用されうる。ROM12は、ファームウェアやファームウェアの更新のための各種プログラムを記憶している。外部I/F13は、上位装置30から更新すべきファームウェアに関する更新データを受信またはダウンロードするときに使用される。   The CPU 10 can perform various data processing including update processing of programs such as application program according to various programs stored in the memory 11 or the ROM 12. The memory 11 can be used, for example, to temporarily store update data from the host device 30 that communicates with the embedded device 31 or 41. The ROM 12 stores firmware and various programs for updating the firmware. The external I / F 13 is used when receiving or downloading update data relating to firmware to be updated from the host device 30.

次に、図2を参照して、本発明の実施に用いられる組込み機器31または41のROM12に記憶されているプログラムの構成を示す。ROM12は、更新対象外である基本部プログラム20と、更新対象である応用部プログラム21および第二更新プログラム22とを記憶している。   Next, referring to FIG. 2, a configuration of a program stored in the ROM 12 of the embedded device 31 or 41 used for implementing the present invention is shown. The ROM 12 stores a basic part program 20 that is not an update target, and an application part program 21 and a second update program 22 that are update targets.

基本部プログラム20は、更新対象外であるため、更新処理プログラムによってその内容を変更することができない。基本部プログラム20は、例えば、ブートローダ20aと、オペレーティングシステム(OS)20bと、デバイスドライバ20cと、第二更新プログラム22を更新するための更新処理プログラムである第一更新プログラム20dとを含みうる。
一方、応用部プログラム21および第二更新プログラム22は、いずれも更新対象となるプログラムであり、その内容を変更することができる。
Since the basic part program 20 is not subject to update, its contents cannot be changed by the update processing program. The basic unit program 20 can include, for example, a boot loader 20a, an operating system (OS) 20b, a device driver 20c, and a first update program 20d that is an update processing program for updating the second update program 22.
On the other hand, the application section program 21 and the second update program 22 are both programs to be updated, and their contents can be changed.

つまり、ROM12において、応用部プログラム21は第二更新プログラム22を用いて更新することができ、第二更新プログラム22は第一更新プログラム20dを用いて更新することができるように構成されている。応用部プログラム21は、第一更新プログラム20dを用いて更新することも可能でありうる。   That is, in the ROM 12, the application section program 21 can be updated using the second update program 22, and the second update program 22 can be updated using the first update program 20d. The application section program 21 may be able to be updated using the first update program 20d.

次に、図3の流れ図を参照して、組込み機器31または41のROM12の更新対象である応用部プログラム21に記憶されているアプリケーション21aを更新する仕方について説明する。
ステップS1では、第一更新プログラム20dと第二更新プログラム22とアプリケーション21aとがROM12に記憶されている。ステップS2では、演算手段であるCPU10が、アプリケーション21aの変更に関する更新命令を上位装置から受信する。ステップ3において、CPU10は、この更新命令が第二更新プログラムの設定内容の変更(更新処理)を必要とするか否かを判断する。このような設定内容の変更の一例としては、例えば、応用部プログラムの更新データを上位装置からダウンロードするときの通信プロトコルの変更などを含みうる。
Next, how to update the application 21a stored in the application section program 21 that is the update target of the ROM 12 of the embedded device 31 or 41 will be described with reference to the flowchart of FIG.
In step S1, the first update program 20d, the second update program 22, and the application 21a are stored in the ROM 12. In step S2, the CPU 10, which is a calculation means, receives an update command relating to the change of the application 21a from the host device. In step 3, the CPU 10 determines whether or not this update command requires a change (update process) of the setting contents of the second update program. An example of such a change in the setting contents may include, for example, a change in the communication protocol when the update data of the application unit program is downloaded from the higher-level device.

もし、上記の更新命令を実行するのに第二更新プログラムの設定内容の変更が不要な場合には、ステップS4〜S6に進む。ステップS4では、CPU10は、アプリケーション21aの更新に関する更新データをメモリ11に記憶させる。そして、ステップS5では、CPU10は、このメモリ11に記憶した更新データとROM12に予め記憶された第二更新プログラムとを用いて、アプリケーション21aを更新する。そして、ステップS6では、アプリケーション21aの更新が終了した旨の終了通知をCPU10が上位装置30に通信する。そして、アプリケーション21aの更新処理が終了する。   If it is not necessary to change the setting contents of the second update program to execute the above update command, the process proceeds to steps S4 to S6. In step S4, the CPU 10 stores update data related to the update of the application 21a in the memory 11. In step S <b> 5, the CPU 10 updates the application 21 a using the update data stored in the memory 11 and the second update program stored in advance in the ROM 12. In step S <b> 6, the CPU 10 communicates an end notification indicating that the update of the application 21 a has ended to the upper apparatus 30. Then, the update process of the application 21a ends.

一方、上記の更新命令を実行するのに第二更新プログラムの設定内容の変更が必要な場合には、ステップS7〜S9に進む。ステップS7では、CPU10は、第二更新プログラムを更新するための更新データをメモリ11に記憶させる。そして、CPU10は、この第二更新プログラムを更新するための更新データとROM12に予め記憶された第一更新プログラムとを用いて、第二更新プログラムの設定内容を更新する。第二更新プログラムの設定内容の更新が終了すると、ステップS8において、CPU10は、第二更新プログラムの設定内容の変更が終了した旨の終了通知を上位装置30に通信する。そして、ステップS9では、CPU10が、アプリケーション21aの更新データをメモリ11に記憶させる。そして、ステップS10では、CPU10が、この更新データと更新した第二更新プログラムとを用いて、アプリケーション21aを更新する。そして、上述したステップS6に戻り、アプリケーション21aの更新が終了した旨の終了通知をCPU10が上位装置30に通信し、アプリケーション21aの更新処理が終了する。   On the other hand, if it is necessary to change the setting contents of the second update program in order to execute the above update command, the process proceeds to steps S7 to S9. In step S <b> 7, the CPU 10 stores update data for updating the second update program in the memory 11. And CPU10 updates the setting content of a 2nd update program using the update data for updating this 2nd update program, and the 1st update program previously memorize | stored in ROM12. When the update of the setting contents of the second update program is completed, in step S8, the CPU 10 communicates an end notification indicating that the change of the setting contents of the second update program is completed to the higher-level device 30. In step S9, the CPU 10 stores the update data of the application 21a in the memory 11. In step S10, the CPU 10 updates the application 21a using the update data and the updated second update program. Then, the process returns to step S6 described above, and the CPU 10 communicates an end notification to the effect that the update of the application 21a is completed to the host device 30, and the update process of the application 21a ends.

次に、上記の更新命令を実行するのに第二更新プログラムの設定内容の変更が、応用部プログラムの更新データをダウンロードするときの通信プロトコルに関するものである場合を例として説明する。ここで、図4は通信プロトコルの変更が不要な場合の更新シーケンスであり、図5は通信プロトコルの変更が必要な場合の更新シーケンスである。   Next, a case will be described as an example where the change in the setting contents of the second update program is related to the communication protocol when downloading the update data of the application section program to execute the above update command. Here, FIG. 4 shows an update sequence when the change of the communication protocol is unnecessary, and FIG. 5 shows an update sequence when the change of the communication protocol is necessary.

最初に、更新データの通信プロトコルの変更が不要な場合について図4を参照して説明する。ここで、図4のS30〜S34は、図2のステップS4〜S6に対応している。ステップS30では、組込み機器31のCPU10が、応用部プログラム31aを更新する旨の更新要求を上位装置30から受信する。そして、ステップS31では、CPU10が、ROM12に記憶されている第二更新処理プログラム31bに従って処理を行う。ステップS32では、CPU10が、応用部ブログラム31aを更新するための更新データをダウンロードしてメモリ11に記憶させる。ここでは、通信経路の変更がないので、更新データをダウンロードするときの通信プロトコルは、それまでと同じプロトコル(通信プロトコルA)である。ステップS33では、CPU10が、メモリ11に記憶した更新データとROM12に記憶した第二更新プログラムとを用いて、応用部プログラムを更新する。応用部プログラムの更新が終了すると、ステップS34において、CPU10から上位装置30に対して更新が終了した旨の終了通知を行い、応用部プログラムの更新処理が完了する。   First, a case where there is no need to change the communication protocol of update data will be described with reference to FIG. Here, S30 to S34 in FIG. 4 correspond to steps S4 to S6 in FIG. In step S <b> 30, the CPU 10 of the embedded device 31 receives an update request for updating the application unit program 31 a from the higher-level device 30. In step S31, the CPU 10 performs processing according to the second update processing program 31b stored in the ROM 12. In step S <b> 32, the CPU 10 downloads update data for updating the application section program 31 a and stores it in the memory 11. Here, since there is no change in the communication path, the communication protocol when downloading the update data is the same protocol (communication protocol A) as before. In step S <b> 33, the CPU 10 updates the application unit program using the update data stored in the memory 11 and the second update program stored in the ROM 12. When the update of the application unit program is completed, in step S34, the CPU 10 notifies the host device 30 of the completion of the update, and the update process of the application unit program is completed.

次に、更新データの通信プロトコルの変更が必要な場合について図5を参照して説明する。ここで、図5のS40〜S43は、図2のステップS7の第一更新プログラムを用いた第二更新プログラムの更新に対応している。また、図5のS45〜S49は、図2のステップS8〜S10に対応している。   Next, a case where the update data communication protocol needs to be changed will be described with reference to FIG. Here, S40 to S43 in FIG. 5 correspond to the update of the second update program using the first update program in step S7 of FIG. Further, S45 to S49 in FIG. 5 correspond to steps S8 to S10 in FIG.

図5では、ステップS40において、組込み機器41のCPU10が、上位装置40から応用部プログラム41aを更新する旨の更新要求(通信プロトコルBへの変更を含む)を受信する。ここで、CPU10は、この更新要求が通信プロトコルAからBへの変更を伴うものであることを判断し、組込み機器41の第一更新処理プログラム41cに更新要求を行う。そして、ステップS41において、CPU10は、組込み機器41の第一更新処理プログラム41cを用いて、第二更新プログラム41bの設定内容を更新するための更新データを上位装置40から組込み機器41のメモリ11にダウンロードする。この更新データのダウンロードが終了すると、ステップS42において、CPU10は、メモリ11に記憶した更新データとROM12の第一更新処理プログラム41cとを用いて、第二更新プログラム41bの更新を行う。ステップS43では、第二更新プログラムの更新が終了すると必要に応じて上位装置40に終了通知を行い、ステップS44では、更新された第二更新処理プログラムを再起動する。   In FIG. 5, in step S <b> 40, the CPU 10 of the embedded device 41 receives an update request (including a change to the communication protocol B) from the host device 40 to update the application unit program 41 a. Here, the CPU 10 determines that this update request is accompanied by a change from the communication protocol A to B, and makes an update request to the first update processing program 41 c of the embedded device 41. In step S41, the CPU 10 uses the first update processing program 41c of the embedded device 41 to send update data for updating the setting contents of the second update program 41b from the higher-level device 40 to the memory 11 of the embedded device 41. to download. When the download of the update data is completed, in step S42, the CPU 10 updates the second update program 41b using the update data stored in the memory 11 and the first update processing program 41c of the ROM 12. In step S43, when the update of the second update program is completed, an end notification is sent to the host device 40 as necessary. In step S44, the updated second update processing program is restarted.

次に、更新された第二更新プログラム41bを用いて、応用部プログラム41aの更新を行う。なお、図5のステップS45〜S49は、図4のステップS30〜S34に近似しているが、応用部プログラムの更新データの通信経路が通信プロトコルAではなく通信プロトコルBである点で異なっている。
まず、ステップS45では、組込み機器41のCPU10が、応用部プログラム41aを更新する旨の更新要求を上位装置40から受信する。そして、ステップS46では、CPU10が、ROM12に記憶された更新した第二更新処理プログラム41bに従う処理を行う。ステップS47では、CPU10が、応用部ブログラム41aを更新するための更新データをダウンロードして、メモリ11に記憶させる。この更新データをダウンロードするときの通信プロトコルは、更新した第二更新プログラムにより実行されるので通信プロトコルAではなく通信プロトコルBである。ステップS48では、CPU10が、メモリ11に記憶した更新データとROM12に記憶した更新した第二更新プログラムとを用いて、応用部プログラムを更新する。応用部プログラムの更新が終了すると、ステップS49において、CPU10から上位装置40に対して更新が終了した旨の終了通知を行い、応用部プログラムの更新処理が完了する。
Next, the application section program 41a is updated using the updated second update program 41b. Steps S45 to S49 in FIG. 5 are similar to steps S30 to S34 in FIG. 4, but differ in that the communication path of the update data of the application program is communication protocol B instead of communication protocol A. .
First, in step S45, the CPU 10 of the embedded device 41 receives an update request for updating the application unit program 41a from the host device 40. In step S46, the CPU 10 performs processing according to the updated second update processing program 41b stored in the ROM 12. In step S47, the CPU 10 downloads update data for updating the application program 41a and stores it in the memory 11. The communication protocol for downloading the update data is not the communication protocol A but the communication protocol B because it is executed by the updated second update program. In step S <b> 48, the CPU 10 updates the application section program using the update data stored in the memory 11 and the updated second update program stored in the ROM 12. When the update of the application unit program is completed, in step S49, the CPU 10 notifies the host device 40 of the completion of the update, and the update process of the application unit program is completed.

図5に示すように、本願の実施に用いられる組込み機器41によれば、更新対象である第二更新プログラムの設定内容(通信プロトコル)を変更し、更新した設定内容で応用部プログラムの更新を行うことができる。
また、更新対象である第二更新プログラムの更新に、更新対象外である第一更新プログラムを使用しているので、例えば、更新対象である応用部プログラムや第二更新プログラムに更新に伴う不具合が発生したとしても、CPU10が、更新対象外である第一更新プログラムを使用して応用部プログラムに対する更新処理を再び実行することができる。そのため、本願の組込み機器によれば、更新において不具合が発生した場合であっても、物理的なROMの交換をすることなく修復を行うことができるのでコスト面や保守面において優れている。
As shown in FIG. 5, according to the embedded device 41 used in the implementation of the present application, the setting content (communication protocol) of the second update program to be updated is changed, and the application program is updated with the updated setting content. It can be carried out.
In addition, since the first update program that is not the update target is used for the update of the second update program that is the update target, for example, there is a problem associated with the update in the application program or the second update program that is the update target. Even if it occurs, the CPU 10 can execute the update process for the application program again using the first update program that is not the update target. Therefore, according to the embedded device of the present application, even if a problem occurs in the update, the repair can be performed without exchanging the physical ROM, so that the cost and maintenance are excellent.

なお、図5では、CPU10が、メモリ11に記憶した更新データとROM12に記憶した第一更新プログラムとを用いて、第二更新プログラムの更新処理を実行しているが、その代わりに、第一更新プログラムのみを用いて第二更新プログラムの更新を実行することもできる。また、CPU10が、第二更新プログラムと応用部プログラムの更新データとを用いて応用部プログラムを更新しているが、その代わりに、第二更新プログラムと応用部プログラムとが連携し、応用部プログラムの更新データを用いて、応用部プログラムの更新処理を実行することもできる。   In FIG. 5, the CPU 10 executes the update process of the second update program using the update data stored in the memory 11 and the first update program stored in the ROM 12. The update of the second update program can be executed using only the update program. In addition, the CPU 10 updates the application unit program using the second update program and the update data of the application unit program. Instead, the second update program and the application unit program cooperate to apply the application unit program. The update process of the application section program can also be executed using the update data.

また、図6を参照して、更新対象である第二更新プログラムとして複数のプログラムを記憶したファームウェア構成例を示す。図6は、第二更新プログラム22の設定内容のうち、通信プロトコルの変更に関する複数のプログラムを示している。具体的には、第二更新プログラム22は、HTTP+CGIやFTPなどのインターネット標準プロトコルに関する更新プログラム22aおよび22bと、TCP/IPを利用した独自通信プロトコルAおよびBに関する更新プログラム22cおよび22dと、シリアル通信プロトコルに関する更新プログラム22eと、リムーバブルメモリを経由した場合の更新プログラム22fとを含む。このように第二更新プログラムの設定内容をROM12に予め記憶させているので、応用部プログラムの更新時に更新データを送信する必要がなくなる。
なお、この第二更新プログラムの設定内容や記憶しておくべき更新データの個数や種類については、組込み装置の用途・機能やデータ設置場所や運用形態などに応じて個別に選択されるべきものであり、上記の内容に限定されない。
6 shows a firmware configuration example in which a plurality of programs are stored as the second update program to be updated. FIG. 6 shows a plurality of programs related to the change of the communication protocol among the setting contents of the second update program 22. Specifically, the second update program 22 includes update programs 22a and 22b related to Internet standard protocols such as HTTP + CGI and FTP, update programs 22c and 22d related to original communication protocols A and B using TCP / IP, serial communication An update program 22e related to the protocol and an update program 22f when the program passes through the removable memory are included. Since the setting contents of the second update program are stored in advance in the ROM 12 in this way, it is not necessary to transmit update data when updating the application program.
The setting contents of this second update program and the number and type of update data to be stored should be selected individually according to the purpose / function of the embedded device, the data installation location, the operation mode, etc. Yes, it is not limited to the above contents.

なお、本明細書に記載した実施形態は、本発明の単なる例示であり、これに限定されるものではないことに注意されたい。つまり、上記の実施形態に対して、さらなる変更または修正を行うことができる。このような変更または修正された実施形態は、本明細書によって開示される範囲内にすべて包含されるものであり、特許請求の範囲によって保護されるものである。   It should be noted that the embodiments described in the present specification are merely examples of the present invention, and the present invention is not limited thereto. In other words, further changes or modifications can be made to the above-described embodiment. All such variations or modifications are intended to be included within the scope disclosed by this specification and protected by the following claims.

本発明の実施に用いられる組込み機器のハードウェア構成例の概略図である。It is the schematic of the hardware structural example of the embedded apparatus used for implementation of this invention. 図1の組込み機器の不揮発性メモリ(ROM)内のファームウェアの構成図である。It is a block diagram of the firmware in the non-volatile memory (ROM) of the embedded apparatus of FIG. 本発明の実施に用いられる組込み機器を備えたシステムにおいて、応用部プログラム内のアプリケーションの更新方法の概要を説明するための流れ図である。It is a flowchart for demonstrating the outline | summary of the update method of the application in an application part program in the system provided with the embedded apparatus used for implementation of this invention. 通信プロトコルなどの設定内容の変更が不要な場合の応用部プログラムの更新シーケンスを示すラダー図である。It is a ladder diagram showing an update sequence of an application section program when there is no need to change setting contents such as a communication protocol. 通信プロトコルなどの設定内容の変更が必要な場合の応用部プログラムの更新シーケンスを示すラダー図である。It is a ladder diagram showing an update sequence of an application program when it is necessary to change setting contents such as a communication protocol. 第二更新プログラムを複数用意した場合のファームウェアの構成図である。It is a block diagram of firmware when a plurality of second update programs are prepared.

符号の説明Explanation of symbols

10 演算手段(CPU)
11 メモリ
12 不揮発性メモリ(ROM)
13 インタフェース
20 基本部プログラム
21 応用部プログラム
22 第二更新プログラム
10 Calculation means (CPU)
11 Memory 12 Non-volatile memory (ROM)
13 Interface 20 Basic part program 21 Application part program 22 Second update program

Claims (6)

更新対象でない第一更新プログラムと、該第1の更新プログラムによって更新される更新対象の第二更新プログラムと、該第二更新プログラムにより更新されうる更新対象の応用部プログラムとを記憶している不揮発性メモリと、
該不揮発性メモリに接続された演算手段であって、前記第二更新プログラムまたは前記応用部プログラムの更新命令を受信し、該更新命令を実行するのに前記第二更新プログラムの更新処理の要否を判断するものである演算手段と
を含んでなるファームウェア更新システムであって、
前記設定内容の変更が不要な場合には、前記演算手段は、前記第二更新プログラム(22、31b)によって前記応用部プログラムの更新を実行し、
前記設定内容の変更が必要な場合には、前記演算手段は、前記第一更新プログラムによって前記第二更新プログラムを更新し、更新した第二更新プログラムによって前記応用部プログラムの更新を実行するものである、ファームウェア更新システム。
A non-volatile storage that stores a first update program that is not an update target, a second update program that is an update target that is updated by the first update program, and an application program that is an update target that can be updated by the second update program Sex memory,
Computation means connected to the non-volatile memory, which receives the update instruction of the second update program or the application section program, and whether the update process of the second update program is necessary to execute the update instruction A firmware update system comprising a computing means for determining
When the setting content does not need to be changed, the calculation means updates the application section program using the second update program (22, 31b).
When the setting content needs to be changed, the calculation means updates the second update program by the first update program, and updates the application unit program by the updated second update program. There is a firmware update system.
前記更新処理に対応する複数の第二更新プログラムを前記不揮発性メモリに記憶している請求項1に記載のファームウェア更新システム。   The firmware update system according to claim 1, wherein a plurality of second update programs corresponding to the update process are stored in the nonvolatile memory. 前記演算手段が、前記応用部プログラムまたは前記第二更新プログラムの更新が終了したことを表す終了通知を発生することをさらに含む請求項1または2に記載のファームウェア更新システム。   3. The firmware update system according to claim 1, further comprising generating an end notification indicating that the update of the application section program or the second update program is ended. 更新対象でない第一更新プログラムと、該第1の更新プログラムによって更新される更新対象の第二更新プログラムと、該第二更新プログラムにより更新されうる更新対象の応用部プログラムとを不揮発性メモリに記憶するステップと、
前記不揮発性メモリに接続された演算手段が、前記第二更新プログラムまたは前記応用部プログラムの更新命令を受信し、該更新命令を実行するのに前記第二更新プログラムの更新処理の要否を判断するステップと、
前記設定内容の変更が不要な場合には、前記演算手段は、前記第二更新プログラムによって前記応用部プログラムを更新し、前記設定内容の変更が必要な場合には、前記演算手段は、前記第一更新プログラムによって前記第二更新プログラムを更新し、更新した第二更新プログラムによって前記応用部プログラムを更新するステップと
を含んでなるファームウェア更新方法。
The first update program that is not the update target, the second update program that is the update target that is updated by the first update program, and the application program that is the update target that can be updated by the second update program are stored in the nonvolatile memory. And steps to
The arithmetic means connected to the non-volatile memory receives the update instruction of the second update program or the application section program, and determines whether the update process of the second update program is necessary to execute the update instruction. And steps to
When the change of the setting contents is unnecessary, the calculation means updates the application section program by the second update program, and when the setting contents need to be changed, the calculation means Updating the second update program with one update program, and updating the application program with the updated second update program.
前記不揮発性メモリに記憶するステップが、前記更新処理に対応する複数の第二更新プログラムを前記不揮発性メモリに記憶することをさらに含む請求項4に記載のファームウェア更新方法。   The firmware update method according to claim 4, wherein the step of storing in the nonvolatile memory further includes storing a plurality of second update programs corresponding to the update process in the nonvolatile memory. 前記演算手段が、前記応用部プログラムまたは前記第二更新プログラムの更新が終了したことを表す終了通知を発生するステップをさらに含む請求項4または5に記載のファームウェア更新方法。   The firmware update method according to claim 4 or 5, further comprising a step of generating an end notification indicating that the update of the application section program or the second update program has ended.
JP2006069145A 2006-03-14 2006-03-14 System and method for updating firmware Pending JP2007249360A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006069145A JP2007249360A (en) 2006-03-14 2006-03-14 System and method for updating firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006069145A JP2007249360A (en) 2006-03-14 2006-03-14 System and method for updating firmware

Publications (1)

Publication Number Publication Date
JP2007249360A true JP2007249360A (en) 2007-09-27

Family

ID=38593623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006069145A Pending JP2007249360A (en) 2006-03-14 2006-03-14 System and method for updating firmware

Country Status (1)

Country Link
JP (1) JP2007249360A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014093075A (en) * 2012-10-31 2014-05-19 Inventec Pudong Technology Corp Rack for simultaneously updating basic input/output system and method thereof
JP2016103261A (en) * 2014-11-13 2016-06-02 富士電機株式会社 Firmware downloading method and firmware built-in device
JP2019220076A (en) * 2018-06-22 2019-12-26 京セラドキュメントソリューションズ株式会社 Remote management system and auxiliary installer

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302197A (en) * 1994-04-28 1995-11-14 Casio Comput Co Ltd User program setting method
JP2000341758A (en) * 1999-05-28 2000-12-08 Kenwood Corp Portable telephone set
JP2001005646A (en) * 1999-06-22 2001-01-12 Mitsubishi Materials Corp Computer system and its recording medium
JP2001331379A (en) * 2000-05-22 2001-11-30 Nec Microsystems Ltd Method and device for rewriting flash memory update program
JP2003108396A (en) * 2001-09-27 2003-04-11 Toshiba Corp Software update system and method thereof
JP2005128894A (en) * 2003-10-24 2005-05-19 Sanyo Electric Co Ltd Nonvolatile memory rewriting device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302197A (en) * 1994-04-28 1995-11-14 Casio Comput Co Ltd User program setting method
JP2000341758A (en) * 1999-05-28 2000-12-08 Kenwood Corp Portable telephone set
JP2001005646A (en) * 1999-06-22 2001-01-12 Mitsubishi Materials Corp Computer system and its recording medium
JP2001331379A (en) * 2000-05-22 2001-11-30 Nec Microsystems Ltd Method and device for rewriting flash memory update program
JP2003108396A (en) * 2001-09-27 2003-04-11 Toshiba Corp Software update system and method thereof
JP2005128894A (en) * 2003-10-24 2005-05-19 Sanyo Electric Co Ltd Nonvolatile memory rewriting device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014093075A (en) * 2012-10-31 2014-05-19 Inventec Pudong Technology Corp Rack for simultaneously updating basic input/output system and method thereof
JP2016103261A (en) * 2014-11-13 2016-06-02 富士電機株式会社 Firmware downloading method and firmware built-in device
JP2019220076A (en) * 2018-06-22 2019-12-26 京セラドキュメントソリューションズ株式会社 Remote management system and auxiliary installer
JP7107019B2 (en) 2018-06-22 2022-07-27 京セラドキュメントソリューションズ株式会社 Remote management system and auxiliary installer

Similar Documents

Publication Publication Date Title
US9864599B2 (en) Firmware update method in two-chip solution for secure terminal
US20160266894A1 (en) Systems and methods for live upgrade and update of firmware on an embedded networking device
JP2009125271A (en) Online game system and online game program
JP2006331394A (en) Program version management method, program and printing system
WO2019207729A1 (en) Industrial computer, industrial computer system, operating system update method, and program
JP6485152B2 (en) Multi-CPU system and CPU upgrade method
JP2024015111A (en) Software update device, update control method, update control program, and ota master
JP2007249360A (en) System and method for updating firmware
JP5800685B2 (en) Information processing apparatus and server, control method, program, and recording medium
JP6813381B2 (en) Programmable logic controller
JP6912163B2 (en) Firmware boot device, firmware boot method, and firmware boot program
JP6386302B2 (en) Patch application system, patch application program, patch providing apparatus, and patch application method
JP5419123B2 (en) Electronic device system and firmware update method
JP7156995B2 (en) update system
JP2022168516A (en) Ota master, method, and program
JP5734139B2 (en) Peripheral device, peripheral device control method, and firmware download system
JP5760618B2 (en) Management apparatus and management method
JP2011120177A5 (en)
JP2007042038A (en) Device and method for controlling terminal equipment
JP2019133407A (en) Firmware update system and firmware update method
WO2024053107A1 (en) Robot control system, control device, computer program, and update processing method for control software
CN109947454B (en) Data processing method and system
KR20100073236A (en) Intergration upgeade method and apparatus for multiple model nevigation device and computer readable recording medium therefor
JP2007193501A (en) Firmware download device
JP7316078B2 (en) Information processing device and function execution method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111118