JP2002108724A - Romのデータチェック方法 - Google Patents

Romのデータチェック方法

Info

Publication number
JP2002108724A
JP2002108724A JP2000303091A JP2000303091A JP2002108724A JP 2002108724 A JP2002108724 A JP 2002108724A JP 2000303091 A JP2000303091 A JP 2000303091A JP 2000303091 A JP2000303091 A JP 2000303091A JP 2002108724 A JP2002108724 A JP 2002108724A
Authority
JP
Japan
Prior art keywords
rom
checksum
time
main
processing
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
JP2000303091A
Other languages
English (en)
Inventor
Takenari Nakano
剛成 中野
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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries 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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2000303091A priority Critical patent/JP2002108724A/ja
Publication of JP2002108724A publication Critical patent/JP2002108724A/ja
Pending legal-status Critical Current

Links

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 メイン周期の空き時間を有効に使用し、メイ
ン周期を崩さない最短時間でチェックサムによるチェッ
クを完了する。 【解決手段】 繰り返し実行されるメイン処理中の通常
処理を除く空き時間に、チェックサムの加算演算を実行
する。そして、メイン周期が経過する度に、チェックサ
ムの中途の値及びそのチェックサムの加算に使われたR
OM領域の開始アドレスをRAMに記憶しつつ、繰り返
し実行されるメイン処理中の空き時間に細切れにチェッ
クサムの加算を行う。全てのROM領域についてチェッ
クサムの加算が終了した時点で、チェックサムの正誤判
断を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロコンピ
ュータ(以下「マイコン」と略称する)内の不揮発性メ
モリやPROM,EEPROM及びFLASH−ROM
等を含むROMのデータチェック方法に関する。
【0002】
【従来の技術】従来、ROMのデータ書き込み時におけ
るデータチェック方法として、チェックサムを使用して
ROMのデータをチェックすることが行われていた。
【0003】チェックサムとは、チェックしたいROM
の記憶領域の先頭アドレスから終了アドレスまでのRO
M値を加算して合計した値をいい、全記憶領域の加算結
果とROM上に予め格納しておいた正しいチェックサム
値とを比較することによって、ROM内に格納されてい
る値の異常を発見することが可能となる。
【0004】かかるチェックサムの計算は、通常、メイ
ン処理が行われる前のイニシャル処理などに行われる
が、イニシャルに時間がとれない場合は、メイン処理に
負荷がかからないようにチェックサムの計算を行う。
【0005】この場合、メイン処理を一定周期でループ
させたい場合は、割り込みなどの処理時間や最大負荷を
考慮し、一周期時間内に全処理(通常処理及びチェック
サムの計算)が終わるようにしなければならない。その
ためチェックサムの計算は、「1周期時間」から「最大
負荷時の通常処理1周期処理時間」を差し引いた残りの
時間内に計算が確実に終わるチェックサム計算領域を算
出し、これを1周期分の計算量とする。このチェックサ
ム計算領域毎にROMを区切り、メインループがROM
を区切った回数だけ通過するとチェックサムの計算が完
了し、予めROMに格納しておいた値と比較することで
チェックサムによるROMチェックができる。
【0006】
【発明が解決しようとする課題】上記のようなチェック
サムの計算方法の場合、通常処理の最大負荷の見積もり
を間違って少なめに設定した場合、実際チェックサム計
算を行うと1周期の設定時間を超えてしまい、メイン周
期タイミングで動作する処理全てに影響が出てしまうこ
とがある。また、逆に最大負荷を多めに見積もると、チ
ェックサム計算は少しずつしか進まないため、ROMチ
ェックが遅くなってしまい、ROM値異常の場合にRO
Mチェック完了前に暴走などを引き起こすことが考えら
れる。
【0007】そこで、この発明の課題は、メイン周期の
空き時間を有効に使用でき、且つ、メイン周期を崩さな
い最短時間でチェックサムによるチェックを完了できる
ROMのデータチェック方法を提供することにある。
【0008】
【課題を解決するための手段】上記課題を解決すべく、
請求項1に記載の発明は、通常処理を含むメイン処理を
所定のメイン周期で繰り返し実行する場合に、ROMの
データチェックを行うROMのデータチェック方法であ
って、前記メイン処理の開始時に計時を開始するととも
に通常処理を開始する第一工程と、前記計時の結果が、
前記通常処理に要する通常処理時間に達した時点で、開
始アドレスをインクリメントしながら前記各開始アドレ
スについてチェックサムの加算を繰り返し実行する第二
工程と、前記計時の結果が前記メイン周期に達した時点
で、その時点のチェックサムの中途の値及びそのチェッ
クサムの加算に使用したROM領域の前記開始アドレス
を所定の記憶部に格納した後、チェックサムの繰り返し
行われていた加算を中断し、計時を初期化する工程とを
備え、前記第一工程ないし第三工程が、前記開始アドレ
スが所定の終了アドレスに一致するまで繰り返される一
方、前記開始アドレスが終了アドレスに一致していた場
合に、第二工程及び第三工程がスキップされるととも
に、チェックサムの値が正常か否かを判断するものであ
る。
【0009】
【発明の実施の形態】{実施の形態1} <構成>図1はこの発明の一の実施の形態に係るROM
のデータチェック方法を含んだ全体処理を示すフローチ
ャート、図2はROMのデータチェック方法の全体処理
を示すフローチャートである。
【0010】このROMのデータチェック方法は、図1
の如く、メイン処理S1が行われる前のイニシャル処理
S2に十分な時間をとることができない場合において、
その後に繰り返し実行されるメイン処理S1内において
当該メイン処理S1内の通常処理S3に負荷がかからな
いようにチェックサムの計算処理S4を行うものであっ
て、設定したメイン周期時間内に通常処理S3が終了し
たときに、次のメイン処理S1までの残り時間でチェッ
クサムの計算処理S4を行い、次周期が始まる直前に、
最後に計算したROMアドレスを所定のメモリ領域に格
納して、次周期の通常処理S3に移行するようにし、こ
れを繰り返すことによってチェックサムの計算処理S4
を最終的に完了するようにしたものである。
【0011】ここで、メイン処理S1のループの周期
(以下「メイン周期」と称す)をAとし、通常処理S3
の処理時間(以下「通常処理時間」と称す)をBとする
と、残りの時間(A−B)間でチェックサムの計算処理
S4を行い、経過時間がメイン周期Aに到達した時点
で、次のメイン処理S1のループに移行するようにして
いる。
【0012】尚、メイン処理S1が繰り返し実行される
際に、このメイン処理S1の通常処理S3が開始される
たびに所定のタイマーが計時を行い、この計時結果と、
予め定められているメイン周期A及び通常処理時間Bと
を比較し、タイマーの計時結果が通常処理時間Bに一致
した時点でチェックサムの計算処理を開始し、タイマー
の計時結果がメイン周期Aに一致した時点で、最後に計
算したROMアドレスを所定のメモリ領域に格納すると
ともに、タイマーの計時を初期化して、次周期の通常処
理S3に移行するようになっている。
【0013】このときチェックサムの計算処理S4は図
2のように行う。
【0014】まず、ステップS01において、チェック
サムを演算しているROM領域のROMアドレスが最終
アドレスでないか否かを検知する。そして、最終アドレ
スであったと判断した場合は、ステップS02に進み、
その時点のチェックサムの値と、予めROM内に格納し
ておいた正しいチェックサム値とを比較し、両者が一致
していると判断した場合はステップS03で通常処理に
戻す。一方、ステップS02の時点でのチェックサムの
値が正しいチェックサム値と異なっていた場合、ステッ
プS04に進んで所定のエラー処理を行う。
【0015】また、ステップS01において、チェック
サムを演算しているROM領域のROMアドレスが最終
でない場合は、ステップS05に進む。
【0016】ステップS05では、まず現在のメイン処
理S1内での経過時間をタイマーの計時結果に基づいて
検知し、経過時間がメイン周期A未満であるか否かを判
断する。そして、経過時間がメイン周期A未満と判断し
た場合は、ステップS06においてチェックサムの計算
処理S4の開始アドレスをインクリメントし、そのアド
レス値のデータを所定のRAM上のチェックサム値に加
算して更新する(ステップS07)。しかる後、再びス
テップS01に戻り、ROMアドレスが最終アドレスに
なるまでまたは経過時間がメイン周期Aに達するまで、
以上の各ステップS01〜S07を繰り返す。
【0017】また、上記のステップS05において、メ
イン処理S1での経過時間がメイン周期A以上経過した
場合は、ステップS08に進み、その時点のチェックサ
ムの計算処理S4の開始アドレスをRAM(記憶部)に
格納した後、チェックサムの計算処理S4を中断する。
そして、ステップS03に移行し、次のメイン処理S1
の周期において、再び通常処理(図1中のステップS
3)を実行する。そして、通常処理S3が終了した後、
図2中のステップS01からの処理を再び実行する。こ
のときの図2中のステップS06及びステップS07で
は、RAMに格納しておいた最新の開始アドレス及びチ
ェックサムの値を用いて、開始アドレスから開始アドレ
ス加算(S06)及びチェックサムの加算(S07)を
続行するようにする。
【0018】以上のように、メイン処理S1のメイン周
期Aの空き時間にチェックサムの計算処理S4を行って
いるので、メイン周期Aの空き時間を有効に使用でき
る。しかも、メイン周期Aを崩さない最短時間でチェッ
クサムによるチェックを完了できるので、電源ON直後
から通常処理S3までのイニシャル処理S2に時間をか
けることができないシステム等においては、最短時間で
ROMのチェックを完了することができる。
【0019】
【発明の効果】請求項1に記載の発明によれば、メイン
処理のメイン周期の空き時間にチェックサムの計算処理
を行っているので、メイン周期の空き時間を有効に使用
できる。しかも、メイン周期を崩さない最短時間でチェ
ックサムによるチェックを完了できるので、電源ON直
後から通常処理までのイニシャル処理に時間をかけるこ
とができないシステム等においては、最短時間でROM
のチェックを完了することができる。
【図面の簡単な説明】
【図1】イニシャル処理及びメイン処理を含む全体処理
の手順を示すフローチャートである。
【図2】この発明の一の実施の形態に係るROMのデー
タチェック方法を示すフローチャートである。
【符号の説明】
A メイン周期 B 通常処理時間 S1 メイン処理 S2 イニシャル処理 S3 通常処理 S4 計算処理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中野 剛成 愛知県名古屋市南区菊住1丁目7番10号 株式会社ハーネス総合技術研究所内 Fターム(参考) 5B018 GA03 HA13 JA21 NA04 QA02 5B062 AA08 CC01 JJ05

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 通常処理を含むメイン処理を所定のメイ
    ン周期で繰り返し実行する場合に、ROMのデータチェ
    ックを行うROMのデータチェック方法であって、 前記メイン処理の開始時に計時を開始するとともに通常
    処理を開始する第一工程と、 前記計時の結果が、前記通常処理に要する通常処理時間
    に達した時点で、開始アドレスをインクリメントしなが
    ら前記各開始アドレスについてチェックサムの加算を繰
    り返し実行する第二工程と、 前記計時の結果が前記メイン周期に達した時点で、その
    時点のチェックサムの中途の値及びそのチェックサムの
    加算に使用したROM領域の前記開始アドレスを所定の
    記憶部に格納した後、チェックサムの繰り返し行われて
    いた加算を中断し、計時を初期化する工程とを備え、 前記第一工程ないし第三工程が、前記開始アドレスが所
    定の終了アドレスに一致するまで繰り返される一方、前
    記開始アドレスが終了アドレスに一致していた場合に、
    第二工程及び第三工程がスキップされるとともに、チェ
    ックサムの値が正常か否かを判断することを特徴とする
    ROMのデータチェック方法。
JP2000303091A 2000-10-03 2000-10-03 Romのデータチェック方法 Pending JP2002108724A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000303091A JP2002108724A (ja) 2000-10-03 2000-10-03 Romのデータチェック方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000303091A JP2002108724A (ja) 2000-10-03 2000-10-03 Romのデータチェック方法

Publications (1)

Publication Number Publication Date
JP2002108724A true JP2002108724A (ja) 2002-04-12

Family

ID=18784341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000303091A Pending JP2002108724A (ja) 2000-10-03 2000-10-03 Romのデータチェック方法

Country Status (1)

Country Link
JP (1) JP2002108724A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249343A (ja) * 2006-03-14 2007-09-27 Nec Corp 障害監視装置、クラスタシステム及び障害監視方法
JP2008210096A (ja) * 2007-02-26 2008-09-11 Auto Network Gijutsu Kenkyusho:Kk 電子制御ユニットのメモリチェックシステム
JP2009151384A (ja) * 2007-12-18 2009-07-09 Ricoh Co Ltd リカバリー制御装置、制御方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2009199424A (ja) * 2008-02-22 2009-09-03 Denso Corp マイクロコンピュータ
JP2011178305A (ja) * 2010-03-02 2011-09-15 Hitachi Automotive Systems Ltd 車載制御装置
JP2011221751A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 情報処理装置および情報処理方法
CN102722421A (zh) * 2010-12-17 2012-10-10 奇瑞汽车股份有限公司 车用控制器非易失存储器内容的校验方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249343A (ja) * 2006-03-14 2007-09-27 Nec Corp 障害監視装置、クラスタシステム及び障害監視方法
JP2008210096A (ja) * 2007-02-26 2008-09-11 Auto Network Gijutsu Kenkyusho:Kk 電子制御ユニットのメモリチェックシステム
JP2009151384A (ja) * 2007-12-18 2009-07-09 Ricoh Co Ltd リカバリー制御装置、制御方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2009199424A (ja) * 2008-02-22 2009-09-03 Denso Corp マイクロコンピュータ
JP2011178305A (ja) * 2010-03-02 2011-09-15 Hitachi Automotive Systems Ltd 車載制御装置
JP2011221751A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 情報処理装置および情報処理方法
CN102722421A (zh) * 2010-12-17 2012-10-10 奇瑞汽车股份有限公司 车用控制器非易失存储器内容的校验方法

Similar Documents

Publication Publication Date Title
US7975188B2 (en) Restoration device for BIOS stall failures and method and computer program product for the same
US20090217090A1 (en) Method, operating system and computing hardware for running a computer program
WO2009046284A1 (en) Firmware image update and management
JP6692763B2 (ja) 制御装置および制御プログラム更新方法
JP5861438B2 (ja) 制御装置及び処理監視方法
CN113110891B (zh) 固态硬盘的固件加载方法、装置、计算机设备及存储介质
JPH08263282A (ja) Romプログラム処理装置のための分岐制御システム
JP2002108724A (ja) Romのデータチェック方法
JP6723941B2 (ja) 制御装置および制御プログラム更新方法
WO2012055275A1 (zh) 一种嵌入式***中控制应用程序启动的方法和装置
CN115237647A (zh) 固件异常修复方法、装置、电子设备及计算机存储介质
JPH0561724A (ja) 初期化情報再設定方式
CN113176934A (zh) 嵌入式超高时钟精度定时任务执行方法和嵌入式操作***
CN109189457B (zh) 智能惯导传感***的固件升级***及方法
TW201837708A (zh) 開機啟動資料有效性技術
CN110069272B (zh) 逻辑文件升级的方法和电子设备
US10691465B2 (en) Method for synchronization of system management data
CN110716823A (zh) 用于连续验证器件状态完整性的***和方法
JP6708596B2 (ja) 電子制御装置及び制御プログラム検証方法
CN116126379A (zh) 一种bios固件升级方法、装置、设备及存储介质
CN109766126B (zh) 多核固件加载方法、装置、计算机设备及存储介质
JP2012073900A (ja) 監視装置、及び電子制御システム
KR20210151498A (ko) 차량 업데이트 시스템 및 방법
JP2002041493A (ja) マイクロコンピュータ
JP5095241B2 (ja) データ処理装置及びプログラム起動方法