JP2016099937A - Method for back-up activation processing - Google Patents
Method for back-up activation processing Download PDFInfo
- Publication number
- JP2016099937A JP2016099937A JP2014238753A JP2014238753A JP2016099937A JP 2016099937 A JP2016099937 A JP 2016099937A JP 2014238753 A JP2014238753 A JP 2014238753A JP 2014238753 A JP2014238753 A JP 2014238753A JP 2016099937 A JP2016099937 A JP 2016099937A
- Authority
- JP
- Japan
- Prior art keywords
- program
- checksum
- update
- area
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明の実施形態は、バックアップ起動処理方法に関する。 Embodiments described herein relate generally to a backup activation processing method.
プログラムのアップデート中に電源供給が断たれてしまうと、書込みに失敗し、二度と起動できなくなる。これを回避するために、一般的に、Flash ROMに、バックアップ用のプログラムも書き込んでおく手法が採用されている。 If the power supply is interrupted while updating the program, writing will fail and it will not be possible to start again. In order to avoid this, a method of writing a backup program in the Flash ROM is generally adopted.
係る従来手法は、プログラムのアップデート中に電源の瞬断などの異常発生により、最後まで書込み完了できない場合には効果を発揮する。 Such a conventional method is effective when writing cannot be completed to the end due to an abnormality such as a momentary power interruption during program update.
ところが、書込み以降に、静電気等によってFlash ROMのプログラム領域が破損してしまった場合には、バックアッププログラムは有効とならず、二度と起動できなくなる、という問題があった。 However, if the program area of the Flash ROM is damaged due to static electricity or the like after writing, the backup program is not effective and cannot be started again.
通常、起動用のプログラム領域に破損が発生した場合、ブート処理はプログラム領域の破損を検知することができずに、起動用のプログラムを実行し、暴走する恐れがある。 Normally, when the activation program area is damaged, the boot process cannot detect the corruption of the program area and executes the activation program and may run away.
本発明が解決しようとする課題は、プログラムのアップデート後に、起動用プログラム格納領域の異常があっても、バックアップ用プログラムを活用可能とするバックアップ起動処理方法を提供することである。 The problem to be solved by the present invention is to provide a backup activation processing method that makes it possible to utilize a backup program even if there is an abnormality in the activation program storage area after updating the program.
実施形態のバックアップ起動処理方法は、アップデート用プログラムを格納するためのプログラム領域を、第1のプログラム領域と第2のプログラム領域に設定するステップと、前記第1のプログラム領域に前記アップデート用プログラムの書込みの際、第1のプログラム領域用チェックサムを、前記第1のプログラム領域のアップデート管理領域に格納するステップと、前記第2のプログラム領域に前記アップデート用プログラムの書込みの際、第2のプログラム領域用チェックサムを、前記第2のプログラム領域のアップデート管理領域に格納するステップと、ブートプログラムで、通常の起動用のプログラム処理の際のチェックサムを計算するステップと、計算して得られたチェックサムと、各前記アップデート管理領域に格納した前記チェックサムとを比較するステップと、一方の前記アップデート管理領域に格納した前記チェックサムに対する比較結果が不一致の場合、他方の前記アップデート管理領域に格納されている前記アップデート用プログラムを使用して起動するステップとを備える。 The backup activation processing method according to the embodiment includes a step of setting a program area for storing an update program in a first program area and a second program area, and the update program is stored in the first program area. A step of storing a checksum for the first program area in the update management area of the first program area at the time of writing, and a second program at the time of writing the update program in the second program area A step of storing the area checksum in the update management area of the second program area, and a step of calculating a checksum at the time of normal boot program processing by the boot program. Checksum and before storing in each update management area When the comparison result for the checksum stored in one of the update management areas is inconsistent with the step of comparing the checksum, the update program stored in the other update management area is activated. Steps.
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.
本実施形態においては、起動時に通常用のプログラム領域に異常がないかチェックサムを利用して確認し、異常の場合にはバックアップ用のプログラムを起動するものである。 In this embodiment, a checksum is used to check whether there is an abnormality in the normal program area at the time of activation, and a backup program is activated if there is an abnormality.
図1は、プログラム各領域のチェックサム格納後のFlash ROMの配置例を示す図である。図1に示すように、プログラムの書込みの際、プログラム領域:A面、プログラム領域:B面に対応させて、各面の管理領域中に、A面用チェックサム、B面用チェックサムを格納しておく。プログラムのアップデート用プログラムを格納するためのプログラム領域を、第1のプログラム領域:A面と第2のプログラム領域:B面に設定する。例えば、プログラム領域A面に書込むアップデート用プログラムと、プログラム領域B面に書込むアップデート用プログラムとは、同じバージョンであってもよい。あるいは、プログラム領域A面に書込むアップデート用プログラムは、プログラム領域B面に書込むアップデート用プログラムよりも1つ前のバージョンであってもよい。後述するように、バージョンの管理は、アップデート管理領域に対するアップデートの回数で行うのが好適である。 FIG. 1 is a diagram illustrating an arrangement example of the Flash ROM after storing the checksum of each program area. As shown in FIG. 1, when writing a program, the checksum for A side and the checksum for B side are stored in the management area of each side corresponding to the program area: A side and the program area: B side. Keep it. Program areas for storing program update programs are set in a first program area: A side and a second program area: B side. For example, the update program written on the program area A side and the update program written on the program area B side may be the same version. Alternatively, the update program to be written on the program area A side may be a version before the update program to be written on the program area B side. As will be described later, the version management is preferably performed by the number of updates to the update management area.
図2は、ブート時に起動用プログラム(A面の場合)のチェックサム計算後のFlash ROMの配置例を示す図である。図2に示すように、ブートプログラムにて、起動用プログラムのチェックサムを計算する。 FIG. 2 is a diagram illustrating an arrangement example of the Flash ROM after the checksum calculation of the startup program (in the case of the A side) at the time of booting. As shown in FIG. 2, the boot program calculates the checksum of the startup program.
図3は、計算したチェックサムとアップデート管理領域内のチェックサム(A面の場合)の比較を表すFlash ROMの配置例を示す図である。図3に示すように、チェックサムの一致を確認する。 FIG. 3 is a diagram showing an arrangement example of the Flash ROM that represents a comparison between the calculated checksum and the checksum in the update management area (in the case of A side). As shown in FIG. 3, a checksum match is confirmed.
<アップデート処理>
図4は、プログラム領域A面のアップデート処理の流れを示すフローチャートである。
<Update process>
FIG. 4 is a flowchart showing the flow of the update process of the program area A surface.
まず、アップデート用のデータを取得する(ステップS401)。 First, update data is acquired (step S401).
次に、チェックサムのデータを取得する(ステップS402)。 Next, checksum data is acquired (step S402).
続いて、アップデート用のデータからチェックサムを算出する(ステップS403)。 Subsequently, a checksum is calculated from the update data (step S403).
次に、算出したチェックサムとチェックサムデータが等しいか否かを判定する(ステップS404)。 Next, it is determined whether or not the calculated checksum is equal to the checksum data (step S404).
等しければ(ステップS404でYes)、A面のプログラム領域を書き換える(ステップS405)。 If they are equal (Yes in step S404), the program area on side A is rewritten (step S405).
次に、A面の管理領域にチェックサムを格納する(ステップS406)。 Next, the checksum is stored in the management area of side A (step S406).
続いて、A面のアップデート管理領域を書き換える(ステップS407)。 Subsequently, the A-side update management area is rewritten (step S407).
次に、ソフトウェアをリセット(ステップS408)した後、ブート処理へ移行する。 Next, after resetting the software (step S408), the process proceeds to boot processing.
一方、ステップS404でNo(算出したチェックサムとチェックサムデータが等しくない)であれば、アップデート処理を終了する。 On the other hand, if No in step S404 (the calculated checksum and the checksum data are not equal), the update process is terminated.
プログラム領域B面も同様の処理を行う。 The same processing is performed on the program area B surface.
<ブート処理>
次に、ブート処理について説明する。図5は、ブート処理の流れを示すフローチャートである。
<Boot process>
Next, the boot process will be described. FIG. 5 is a flowchart showing the flow of the boot process.
まず、A面のアップデート管理領域を確認する(ステップS501)。 First, the update management area on side A is confirmed (step S501).
次に、アップデート時に格納されたA面用チェックサムを管理領域から取得する(ステップS502)。 Next, the A-side checksum stored at the time of update is acquired from the management area (step S502).
続いて、B面のアップデート管理領域を確認する(ステップS503)。 Subsequently, the B side update management area is confirmed (step S503).
次に、アップデート時に格納されたB面用チェックサムを管理領域から取得する(ステップS504)。 Next, the B-side checksum stored at the time of update is acquired from the management area (step S504).
次に、A面のアップデート回数がB面のアップデート回数よりも多いか否かを判定する(ステップS505)。 Next, it is determined whether or not the number of updates on side A is greater than the number of updates on side B (step S505).
A面のアップデート回数がB面のアップデート回数よりも多ければ(ステップS505でYes)、A面を起動プログラム領域に設定する(ステップS506)。 If the number of updates on side A is greater than the number of updates on side B (Yes in step S505), side A is set as the startup program area (step S506).
続いて、A面のチェックサムを算出する(ステップS507)。 Subsequently, the checksum of the A surface is calculated (step S507).
次に、取得したA面用チェックサムと算出したA面のチェックサムが等しいか否かを判定する(ステップS508)。 Next, it is determined whether or not the acquired A-side checksum is equal to the calculated A-side checksum (step S508).
等しければ(ステップS508でYes)、起動プログラム領域の先頭へジャンプする。 If they are equal (Yes in step S508), the process jumps to the top of the startup program area.
一方、等しくなければ(ステップS508でNo)、B面のチェックサムを算出する(ステップS509)。 On the other hand, if they are not equal (No in step S508), the checksum of side B is calculated (step S509).
続いて、取得したB面用チェックサムと算出したB面のチェックサムが等しいか否かを判定する(ステップS510)。 Subsequently, it is determined whether or not the acquired B-side checksum is equal to the calculated B-side checksum (step S510).
等しければ(ステップS510でYes)、起動プログラム領域の先頭へジャンプする。 If they are equal (Yes in step S510), the process jumps to the top of the startup program area.
一方、等しくなければ(ステップS510でNo)、ブートエラーとなる。 On the other hand, if they are not equal (No in step S510), a boot error occurs.
A面のアップデート回数がB面のアップデート回数よりも多くなければ(ステップS505でNo)、B面を起動プログラム領域に設定する(ステップS511)。 If the number of updates on side A is not greater than the number of updates on side B (No in step S505), side B is set as the activation program area (step S511).
続いて、B面のチェックサムを算出する(ステップS512)。 Subsequently, a checksum of the B surface is calculated (step S512).
次に、取得したB面用チェックサムと算出したB面のチェックサムが等しいか否かを判定する(ステップS513)。 Next, it is determined whether or not the acquired B-side checksum is equal to the calculated B-side checksum (step S513).
等しければ(ステップS513でYes)、起動プログラム領域の先頭へジャンプする。 If they are equal (Yes in step S513), the process jumps to the top of the startup program area.
一方、等しくなければ(ステップS513でNo)、A面のチェックサムを算出する(ステップS514)。 On the other hand, if they are not equal (No in step S513), the checksum of the A side is calculated (step S514).
続いて、取得したA面用チェックサムと算出したA面のチェックサムが等しいか否かを判定する(ステップS515)。 Subsequently, it is determined whether or not the acquired A-side checksum is equal to the calculated A-side checksum (step S515).
等しければ(ステップS515でYes)、起動プログラム領域の先頭へジャンプする。 If they are equal (Yes in step S515), the process jumps to the top of the startup program area.
一方、等しくなければ(ステップS515でNo)、ブートエラーとなる。 On the other hand, if they are not equal (No in step S515), a boot error occurs.
本実施形態によれば、アップデート後に、起動用プログラム格納領域の異常があっても、バックアップ用プログラムを起動用プログラムとして活用することができる。 According to the present embodiment, the backup program can be used as the startup program even if there is an abnormality in the startup program storage area after the update.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
Claims (4)
前記第1のプログラム領域に前記アップデート用プログラムの書込みの際、第1のプログラム領域用チェックサムを、前記第1のプログラム領域のアップデート管理領域に格納するステップと、
前記第2のプログラム領域に前記アップデート用プログラムの書込みの際、第2のプログラム領域用チェックサムを、前記第2のプログラム領域のアップデート管理領域に格納するステップと、
ブートプログラムで、通常の起動用のプログラム処理の際のチェックサムを計算するステップと、
計算して得られたチェックサムと、各前記アップデート管理領域に格納した前記チェックサムとを比較するステップと、
一方の前記アップデート管理領域に格納した前記チェックサムに対する比較結果が不一致の場合、他方の前記アップデート管理領域に格納されている前記アップデート用プログラムを使用して起動するステップとを備えるバックアップ起動処理方法。 Setting program areas for storing program update programs in a first program area and a second program area;
Storing the first program area checksum in the update management area of the first program area when the update program is written to the first program area;
Storing the second program area checksum in the update management area of the second program area when the update program is written to the second program area;
In the boot program, calculating a checksum during normal startup program processing;
Comparing the checksum obtained by calculation with the checksum stored in each of the update management areas;
A backup activation processing method comprising: a step of using the update program stored in the other update management area when the comparison result for the checksum stored in the one update management area does not match.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014238753A JP2016099937A (en) | 2014-11-26 | 2014-11-26 | Method for back-up activation processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014238753A JP2016099937A (en) | 2014-11-26 | 2014-11-26 | Method for back-up activation processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016099937A true JP2016099937A (en) | 2016-05-30 |
Family
ID=56077903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014238753A Pending JP2016099937A (en) | 2014-11-26 | 2014-11-26 | Method for back-up activation processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016099937A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825405A (en) * | 2019-10-24 | 2020-02-21 | 苏州海鹏科技有限公司 | Inverter program updating method |
-
2014
- 2014-11-26 JP JP2014238753A patent/JP2016099937A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825405A (en) * | 2019-10-24 | 2020-02-21 | 苏州海鹏科技有限公司 | Inverter program updating method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10701084B2 (en) | Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices | |
CN106775610B (en) | Electronic equipment starting method and electronic equipment | |
JP5831271B2 (en) | Method and system for starting refresh operation of semiconductor nonvolatile memory device | |
JP2018037059A5 (en) | ||
US8812910B2 (en) | Pilot process method for system boot and associated apparatus | |
CN111078662B (en) | Block chain data storage method and device | |
CN103761124B (en) | Embedded Linux system for protection supervisory equipment starts method | |
CN104572206A (en) | Application program self updating and backup recovery method | |
JP2012058879A (en) | Operating system boot management device | |
US20180373524A1 (en) | Serial bootloading of power supplies | |
JP6482211B2 (en) | Information processing apparatus, control method thereof, and program | |
US8930318B1 (en) | Systems and methods for handling interruptions while updating of an electronic device | |
WO2015184732A1 (en) | Bootstrap storage method, bootstrap fault recovery method and device, and computer storage medium | |
JP2013257690A5 (en) | Image forming apparatus | |
US20140258699A1 (en) | Boot fault tolerant device and method thereof | |
JP2016099937A (en) | Method for back-up activation processing | |
CN105814545A (en) | Electronic device | |
CN104184614B (en) | A kind of configuration rollback method and device | |
JP6258824B2 (en) | Communication device and communication device log storage method | |
JP2016110503A (en) | Micro controller | |
WO2021012170A1 (en) | Firmware booting method and device, and computer-readable storage medium | |
JP2014099097A (en) | Information processing device, information processing method, and computer program | |
JP6025165B2 (en) | Update system for control program of semiconductor manufacturing equipment | |
JP6635195B2 (en) | Information processing apparatus and application management method | |
JP6011687B1 (en) | Storage device and control method thereof |