JP2002063044A - 演算装置及びプログラム書き換え方法 - Google Patents

演算装置及びプログラム書き換え方法

Info

Publication number
JP2002063044A
JP2002063044A JP2000249456A JP2000249456A JP2002063044A JP 2002063044 A JP2002063044 A JP 2002063044A JP 2000249456 A JP2000249456 A JP 2000249456A JP 2000249456 A JP2000249456 A JP 2000249456A JP 2002063044 A JP2002063044 A JP 2002063044A
Authority
JP
Japan
Prior art keywords
program
area
rewriting
areas
flash memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000249456A
Other languages
English (en)
Inventor
Hideki Kuriyama
英己 栗山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000249456A priority Critical patent/JP2002063044A/ja
Publication of JP2002063044A publication Critical patent/JP2002063044A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 フラッシュメモリに格納されたプログラムの
書き換えが不完全な状態で終了しても元の状態に復旧で
き、フラッシュメモリのプログラムの書き換えを容易か
つ確実に行えること。 【解決手段】 フラッシュメモリ1にプログラムを格納
するエリアを、起動時に自己診断する基本プログラムを
格納する基本エリア10と、書き換えプログラムを格納
する2つのエリアA11、エリアB12と、各エリア
A,Bのチェックサム値を格納するサムエリアA11
1、B121で構成し、プログラムの書き換えはエリア
A11に対し行い、書き換え終了時にサムエリアA11
1のチェックサム値を更新する。電源立ち上げ時に基本
プログラムは、エリアA11のチェックサムを行い、照
合結果が異なる場合、書き換え異常と判断しエリアB1
2をエリアA11に複写して書き換え前の状態に自己復
旧させる。照合結果が正しい場合エリアA11のプログ
ラムをエリアB12に複写する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
にプログラムを格納し、このプログラムを書き換える演
算装置及びプログラム書き換え方法に関する。
【0002】
【従来の技術】フラッシュメモリをプログラム格納エリ
アとして用いる場合において、書き換え時に停電等が生
じて書き換えが正常に行えず異常終了すると、元のプロ
グラムを破壊して復旧できなくなる。
【0003】これを防ぐために、従来は、例えば、書き
換えが行えないエリアやROM等に書き換え専用のプロ
グラムを格納し、この書き換えプログラムによりフラッ
シュメモリ上の運用プログラムの書き換えを行ってい
た。
【0004】
【発明が解決しようとする課題】しかしながら、上記方
法の場合、上述した特定の方法、あるいは特定のインタ
フェースを用いなければ書き換えが行えず、書き換え方
法の変更、及び新たなインタフェースの追加ができなか
った。
【0005】本発明は、このような従来の問題を解決す
るものであり、フラッシュメモリに格納されたプログラ
ムの書き換えが不完全な状態で終了しても元の状態に復
旧でき、フラッシュメモリのプログラムの書き換えを容
易かつ確実に行える演算装置及びプログラム書き換え方
法の提供を目的としている。
【0006】
【課題を解決するための手段】本発明は上記目的を達成
するためになされたものであり、フラッシュメモリにプ
ログラムを格納し演算処理を実行させる演算装置であっ
て、フラッシュメモリ内の記憶エリアを少なくとも2分
割し、一方のエリアに対する新プログラムの書き換え異
常時には、他方のエリアに格納されている旧プログラム
の実行により自己復旧させることを特徴としている。こ
のような構成によれば、フラッシュメモリがエリア分割
され、プログラムを2つ格納可能であり、一方のエリア
に対して新プログラムを書き換える際に、停電などによ
り新プログラムの書き換えが失敗した場合には、他方の
エリアに格納されている旧プログラムの実行により、元
の状態に復旧することができる。
【0007】また、本発明は、一方のエリアに対する新
プログラムの書き換えの正常に終了時には、他方のエリ
アに一方の新プログラムを複写させる。このような構成
によれば、書き換え正常終了の状態で、2つのエリアに
いずれも新プログラムが格納され、以後、一方のエリア
に対する新プログラム書き換え異常時に、1つ前のプロ
グラムを用いた自己復旧が可能となる。
【0008】また、本発明は、フラッシュメモリには、
自己復旧のための診断機能を有しプログラムを書き換え
るための書き換えプログラムを格納する基本エリアを備
えている。このような構成によれば、フラッシュメモリ
に設けられた書き換えプログラムの実行でプログラムの
書き換えが行われるため、書き換え手段やインタフェー
スの変更に対応できるようになる。
【0009】また、本発明の方法は、フラッシュメモリ
にプログラムを格納し演算処理を実行させる演算装置の
プログラム書き換え方法であって、フラッシュメモリ内
の記憶エリアを少なくとも2分割して、一方のエリアに
対して新プログラムの書き換えを実行し、一方のエリア
のプログラム書き換えの正常終了時には、該一方のエリ
アのプログラムを他方のエリアに複写し、一方のエリア
のプログラムの書き換え異常時には、他方のエリアに記
憶されている旧プログラムの実行により自己復旧させる
ことを特徴とする。このような構成によれば、フラッシ
ュメモリをエリア分割してプログラムを2つ格納させ、
一方のエリアに対して新プログラムを書き換えるものと
し、停電などにより新プログラムの書き換えが失敗した
場合には、他方のエリアに格納されている基本エリアに
より旧プログラムが複写され、元の状態に復旧すること
ができる。
【0010】
【発明の実施の形態】図1は本発明の演算装置の一実施
形態を示すブロック図である。この演算装置は、プログ
ラムを格納するフラッシュメモリ1と、中央演算装置
(CPU)2と、CPU2の演算実行時にワーク領域と
して使用される揮発性メモリ3と、書き換えデータを投
入するインタフェース4で構成される。
【0011】フラッシュメモリ1は、基本エリア10、
エリアA11、エリアB12に分割される。基本エリア
10には、電源立ち上げ時やCPU2のリセット時に起
動される基本プログラムが格納される。エリアA11、
エリアB12には同一の運用プログラムが格納される。
エリアA、エリアBには、それぞれのエリアのチェック
サム値を格納するサムエリアA111とB121が設け
られる。
【0012】CPU2は、フラッシュメモリ1に格納さ
れた基本プログラムの起動後、運用プログラムの実行に
基づき所定の演算処理を実行する。また、電源立ち上げ
等によりリセットされた場合、基本エリア10に格納さ
れた基本プログラムが有する自己診断処理に基づきエリ
アAのチェックサムを実行する。また、バージョンアッ
プやバグ修正などによる運用プログラムの書き換えは、
インターフェース4を介して投入される運用プログラム
をエリアAに対して行う。そして、エリアAの運用プロ
グラムの書き換え処理が完了した時点でサムエリアA1
11を新規の運用プログラムのチェックサム値に更新
し、書き換え処理を終了させ、リセットする。なお、エ
リアBについては、以下に説明するが、書き換え異常と
判断した際に、このエリアBに格納されている運用プロ
グラムをエリアAに複写するために用いられる。
【0013】次に、図2は、運用プログラムの書き換え
状態の判断処理を示すフローチャートである。電源立ち
上げやリセット時が実行されると、基本エリア10に格
納された基本プログラムは自己診断処理に基づきエリア
Aのチェックサムを読み出す(S1)。このチェックサ
ムが正しくない場合(S2−NO)、リセット前に行っ
たエリアAに対する運用プログラムの書き換えが異常終
了したものと判断し、エリアBの内容(旧運用プログラ
ム)をエリアAに複写し、リセット状態に戻る(S
3)。これにより、次の電源投入(あるいはリセット)
後にはエリアAの旧運用プログラムが実行される。即
ち、エリアAの運用プログラムの書き換えが失敗し、プ
ログラムを破壊した場合であってもフラッシュメモリ1
を書き換え処理前の状態に自動的に戻すことができる。
【0014】一方、自己診断処理によりエリアAのチェ
ックサムが正しい場合(S2−YES)、エリアAとエ
リアBの内容(運用プログラム)を比較する(S4)。
比較結果が異なる場合(S5ーNO)、リセット前に行
った書き換え処理が正常に行われたものと判断し、エリ
アAの内容をエリアBに複写し、リセット状態に戻る
(S6)。この複写は、エリアAのプログラムが正常に
書き換えられた事を示す。これにより、次の電源投入
(あるいはリセット)後にはエリアAに書き換えられた
新規の運用プログラムが実行される。また、エリアBに
はこの新規の運用プログラムがバックアップされた形と
なる。
【0015】また、自己診断処理によりエリアAのチェ
ックサムが正しく(S2−YES)、エリアAとエリア
Bの内容(運用プログラム)を比較し(S4)、その比
較結果が同一の場合には(S5−YES)、エリアAの
運用プログラムを実行する。
【0016】
【発明の効果】本発明によれば、フラッシュメモリにプ
ログラム書き換え用の基本プログラムと、2つのエリア
を設けてそれぞれ同一のプログラムを格納させ、また、
一方のエリアでのプログラム書き換えに失敗しプログラ
ムを破壊した場合でもエリアを書き換え処理前の状態に
自動的に戻すことができる。
【0017】また、書き換えプログラムをフラッシュメ
モリ内に置くことにより、書き換え手順の変更や将来追
加されるインタフェースに対応することができる。
【図面の簡単な説明】
【図1】本発明の演算装置の一実施形態を示すブロック
【図2】同装置の書き換え処理の手順を示すフローチャ
ート
【符号の説明】
1 フラッシュメモリ 2 CPU 3 メモリ 4 書き換えインタフェース 11 エリアA 12 エリアB 111 サムエリアA 121 サムエリアB

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 フラッシュメモリにプログラムを格納し
    演算処理を実行させる演算装置であって、 前記フラッシュメモリ内の記憶エリアを少なくとも2分
    割し、一方のエリアに対する新プログラムの書き換え異
    常時には、他方のエリアに格納されている旧プログラム
    の実行により自己復旧させることを特徴とする演算装
    置。
  2. 【請求項2】 前記一方のエリアに対する前記新プログ
    ラムの書き換えの正常に終了時には、他方のエリアに前
    記一方の新プログラムを複写させる請求項1記載の演算
    装置。
  3. 【請求項3】 前記フラッシュメモリには、前記自己復
    旧のための診断機能を有し前記プログラムを書き換える
    ための書き換えプログラムを格納する基本エリアを備え
    た請求項1,2のいずれかに記載の演算装置。
  4. 【請求項4】 フラッシュメモリにプログラムを格納し
    演算処理を実行させる演算装置のプログラム書き換え方
    法であって、 前記フラッシュメモリ内の記憶エリアを少なくとも2分
    割して、一方のエリアに対して新プログラムの書き換え
    を実行し、 前記一方のエリアのプログラム書き換えの正常終了時に
    は、該一方のエリアのプログラムを他方のエリアに複写
    し、 前記一方のエリアのプログラムの書き換え異常時には、
    他方のエリアに記憶されている旧プログラムの実行によ
    り自己復旧させることを特徴とするプログラム書き換え
    方法。
JP2000249456A 2000-08-21 2000-08-21 演算装置及びプログラム書き換え方法 Pending JP2002063044A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000249456A JP2002063044A (ja) 2000-08-21 2000-08-21 演算装置及びプログラム書き換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000249456A JP2002063044A (ja) 2000-08-21 2000-08-21 演算装置及びプログラム書き換え方法

Publications (1)

Publication Number Publication Date
JP2002063044A true JP2002063044A (ja) 2002-02-28

Family

ID=18739191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000249456A Pending JP2002063044A (ja) 2000-08-21 2000-08-21 演算装置及びプログラム書き換え方法

Country Status (1)

Country Link
JP (1) JP2002063044A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008041337A1 (ja) * 2006-10-04 2010-02-04 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータに読み取り可能な記録媒体
JP2012008575A (ja) * 2011-07-08 2012-01-12 Seiko Epson Corp 画像表示装置、画像表示装置の起動制御方法、起動制御プログラム、および、当該起動制御プログラムをコンピュータ読取可能に記録した記録媒体
JP2015022450A (ja) * 2013-07-18 2015-02-02 富士通株式会社 書き込み制御プログラム及び方法
EP3057101A1 (en) * 2015-02-10 2016-08-17 Toyota Jidosha Kabushiki Kaisha Microcomputer apparatus, program rewriting system and rewriting program
US9430340B2 (en) 2013-07-01 2016-08-30 Lapis Semiconductor Co., Ltd. Information processing device and semiconductor device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008041337A1 (ja) * 2006-10-04 2010-02-04 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータに読み取り可能な記録媒体
JP5016604B2 (ja) * 2006-10-04 2012-09-05 パイオニア株式会社 情報処理装置および情報処理方法
JP2012008575A (ja) * 2011-07-08 2012-01-12 Seiko Epson Corp 画像表示装置、画像表示装置の起動制御方法、起動制御プログラム、および、当該起動制御プログラムをコンピュータ読取可能に記録した記録媒体
US9430340B2 (en) 2013-07-01 2016-08-30 Lapis Semiconductor Co., Ltd. Information processing device and semiconductor device
JP2015022450A (ja) * 2013-07-18 2015-02-02 富士通株式会社 書き込み制御プログラム及び方法
EP3057101A1 (en) * 2015-02-10 2016-08-17 Toyota Jidosha Kabushiki Kaisha Microcomputer apparatus, program rewriting system and rewriting program
CN105868119A (zh) * 2015-02-10 2016-08-17 丰田自动车株式会社 微机装置
CN105868119B (zh) * 2015-02-10 2018-11-06 丰田自动车株式会社 微机装置

Similar Documents

Publication Publication Date Title
US9792105B2 (en) Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
TW446864B (en) Automatic BIOS backup method
US7275153B2 (en) Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader
US20100169709A1 (en) System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
US20050033954A1 (en) Computer system having BIOS with multiple memory block
US6483746B2 (en) Electronic apparatus
JP3886539B2 (ja) オペレーティングシステムをロードする方法
JP2875842B2 (ja) プログラマブルコントローラ
WO2016155524A1 (zh) 一种系统安全升级的方法和装置
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
US20070050612A1 (en) Boot program update and restoration system and method thereof
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP2002063044A (ja) 演算装置及びプログラム書き換え方法
CN112579338B (zh) 一种设备的启动方法、系统及存储介质
WO2019064644A1 (ja) 電子制御装置及び制御プログラム検証方法
JP4708088B2 (ja) 障害復旧方法およびマイクロコンピュータ
JP3219082B2 (ja) データ格納方法
JP2000235483A (ja) 情報処理装置
JPH03136153A (ja) マイクロコントローラ
JP2011150383A (ja) ファームウェア書き込み方法
JPH1040177A (ja) プログラムチェック方式
CN115454825A (zh) 固件检测方法、装置、计算机设备和存储介质
JP2004110220A (ja) プログラムの更新方法
JPH02159654A (ja) プログラム再起動方式