JP2006268176A - フラッシュeepromのデータ正否判定方法 - Google Patents
フラッシュeepromのデータ正否判定方法 Download PDFInfo
- Publication number
- JP2006268176A JP2006268176A JP2005082451A JP2005082451A JP2006268176A JP 2006268176 A JP2006268176 A JP 2006268176A JP 2005082451 A JP2005082451 A JP 2005082451A JP 2005082451 A JP2005082451 A JP 2005082451A JP 2006268176 A JP2006268176 A JP 2006268176A
- Authority
- JP
- Japan
- Prior art keywords
- flash eeprom
- data
- identification information
- electronic control
- control device
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、識別情報間に挟まれたデータ空間内のデータの正否を判定可能とする。
【解決手段】まず、データ検証領域の先頭位置の先頭識別情報が期待値であるかどうかを判定する(ステップS1)。先頭識別情報が期待値であれば、データ検証領域の末尾位置の末尾識別情報が期待値であるかどうかを判定する(ステップS2)。末尾識別情報も期待値であれば、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する(ステップS3)。先頭識別情報と末尾識別情報とが同一内容であれば、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しいと判定する(ステップS4)。それ以外の場合には、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しくないと判定する(ステップS5)。
【選択図】 図3
【解決手段】まず、データ検証領域の先頭位置の先頭識別情報が期待値であるかどうかを判定する(ステップS1)。先頭識別情報が期待値であれば、データ検証領域の末尾位置の末尾識別情報が期待値であるかどうかを判定する(ステップS2)。末尾識別情報も期待値であれば、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する(ステップS3)。先頭識別情報と末尾識別情報とが同一内容であれば、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しいと判定する(ステップS4)。それ以外の場合には、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しくないと判定する(ステップS5)。
【選択図】 図3
Description
本発明はフラッシュEEPROM(Electrically Erasable and Programmable Read-Only Memory)のデータ正否判定方法に関し、詳しくは、フラッシュEEPROM内の領域のデータの正否を判定するフラッシュEEPROMのデータ正否判定方法に関する。
従来から、例えば車両のエンジンやトランスミッション等の制御対象機器を制御する電子制御装置では、電気的に記憶内容の書換えが可能なフラッシュEEPROMに制御プログラム(詳しくは、制御プログラムを構成する命令コードやそのプログラムで参照される固定の制御データ)を格納しておき、電子制御装置の市場への供給後でも、フラッシュEEPROM内の制御プログラムをオンボード(すなわち、車両等に電子制御装置を搭載したままの状態)にて書換え可能に構成したものがある(例えば、特許文献1,特許文献2,特許文献3参照)。
この種のプログラム書換え機能を有する電子制御装置は、通常制御モード時には、フラッシュEEPROMに格納された制御プログラムに従ってエンジン等の制御対象機器を制御するが、別途接続される外部装置としてのフラッシュEEPROM書換え装置から書換え要求信号を受信するなどして書換え条件が成立したと判定すると、自電子制御装置の動作モードを通常制御モードからフラッシュEEPROM書換えモードに移行させて、フラッシュEEPROM内の制御プログラムをフラッシュEEPROM書換え装置から送信されてくる新たな制御プログラムに書き換える書換え処理を行なう。そして、このような電子制御装置によれば、何等かの原因で制御対象機器の動作内容(制御内容)を変更しなければならない場合に、制御プログラムを簡単に変更することができる。例えば、制御プログラムをバージョンアップする場合等がある。
ところが、フラッシュEEPROMは、データの書換え処理に際して、1つのブロック内のデータを一括消去し、しかる後にブロック内にデータを順次書き込まなければならないという特性がある。すなわち、データの書換え処理は、ブロック内のデータの一括消去処理と順次書込み処理との2つ処理からなる。このため、フラッシュEEPROMのブロック内のデータの一括消去または順次書込みの途中で何らかの原因により書換え処理が中断された場合、フラッシュEEPROMのブロック内のデータが不完全なものとなる可能性があった。
そこで、従来の電子制御装置には、フラッシュEEPROMのデータのチェックサムによる第1段階の判定と、フラッシュEEPROMのデータと他のメモリのデータとの一致を見る第2段階の判定とを併用して、データ異常の検出精度を向上させるようにしたものがあった(例えば、特許文献4参照)。
なお、電子制御装置に特有の技術ではないが、2つのフラッシュEEPROMに保持されているデータの一致を判定することにより、フラッシュEEPROMの正常性を判定する技術が知られていた(例えば、特許文献5参照)。また、フラッシュEEPROMの同一ブロック(セクタ)内にチェック用エリアを設けて、フラッシュEEPROMの障害を検出する技術も知られていた(例えば、特許文献6参照)。
ところで、制御プログラムの書換えに際しては、電子制御装置が扱う通信規約(プロトコル)とフラッシュEEPROM書換え装置が扱う通信規約とが一致していないと、電子制御装置,フラッシュEEPROM書換え装置間の通信が成立をしないため、電子制御装置が通信規約を確認できるようにする必要がある。しかし、通信規約は電子制御装置とフラッシュEEPROM書換え装置との組み合わせの関係で変わることがあるため、従来の電子制御装置では、フラッシュEEPROM上に予め必要とする通信制御情報(電子制御装置名、通信規約等)を記憶させ、その通信制御情報を電子制御装置自身が読み出して、フラッシュEEPROM書換え装置との通信を行なう方法を採用している。これにより、電子制御装置は、複数の通信規約に対応することも可能となる。
特開平11−141394号公報
特開平11−175331号公報
特開2001−265601号公報
特開2002−334024号公報
特開2001−307498号公報
特開2003−150458号公報
従来の電子制御装置では、制御プログラムがフラッシュEEPROMの複数ブロックに跨って格納されており、各ブロック内の制御プログラムのデータの書換えは各ブロック単位で行なわれている。このため、一部または全部のブロックの一括消去または順次書込みの途中で何らかの原因により書換え処理が中断されていたが、全体の制御プログラムの書換え処理は完了したような場合、フラッシュEEPROMの制御プログラムが不完全なものとなる可能性があった。
特に、従来の電子制御装置では、フラッシュEEPROM上にフラッシュEEPROM書換え装置との通信に必要な通信制御情報(電子制御装置名,通信規約等)を予め記憶させ、その通信制御情報を電子制御装置自身が読み出して、フラッシュEEPROM書換え装置との通信を行なう方法を採用していたので、上記通信制御情報を記憶した領域で書換え処理の中断等が起こっていた場合には、制御プログラムの書換えに際して、電子制御装置がフラッシュEEPROMから読み出した通信制御情報(電子制御装置名,通信規約等)とフラッシュEEPROM書換え装置が扱う通信制御情報(電子制御装置名,通信規約等)とが一致しなくなり、電子制御装置,フラッシュEEPROM書換え装置間の通信が成立をしないため、制御プログラムの書換え処理ができなくなるという問題があった。
また、従来の電子制御装置には、フラッシュEEPROMの特定の領域内のデータの正否を判定できる仕組みがなく、フラッシュEEPROMにデータの正否を判定したい領域(以下、データ検証領域という)があっても、そのデータ検証領域内のデータだけについての正否判定は行なうことができないという問題があった。このため、フラッシュEEPROMのデータ検証領域内のデータの正否判定を行なう場合には、フラッシュEEPROM全体のデータの正否判定を行なわなければならないという不都合があった。
さらに、従来の電子制御装置では、フラッシュEEPROMの特定の領域内のデータの正否を判定できる仕組みがないので、フラッシュEEPROMに格納された制御プログラムの一部だけを修正する場合であっても、フラッシュEEPROMに格納された制御プログラム全体を書き換える必要があり、電子制御装置とフラッシュEEPROM書き換え装置とを接続する通信回線の回線速度によっては制御プログラムの書換え処理に長時間を要するとともに制御プログラムの書換え作業が面倒であるという問題もあった。
本発明の目的は、フラッシュEEPROMにあるデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、先頭位置の識別情報と末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、識別情報間に挟まれたデータ空間内のデータが正しいと判定するようにしたフラッシュEEPROMのデータ正否判定方法を提供することにある。
請求項1記載のフラッシュEEPROMのデータ正否判定方法は、フラッシュEEPROMのデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、前記先頭位置の識別情報と前記末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、前記識別情報間に挟まれたデータ空間内のデータが正しいと判定することを特徴とする。請求項1記載のフラッシュEEPROMのデータ正否判定方法によれば、データの正否を判定したいデータ検証領域の先頭位置に格納した識別情報と期待値とを比較したり、末尾位置に格納した識別情報と期待値とを比較したりするばかりではなく、先頭位置に格納した識別情報と末尾位置に格納した識別情報との一致をも確認するようにしたことにより、識別情報間に挟まれたデータ空間内のデータの正否をより正確に判定することができる。特に、フラッシュEEPROMのブロック内のデータの一括消去または順次書込みの途中で何らかの原因により書換え処理が中断された場合等にも、フラッシュEEPROMのブロック内のデータが不完全なものとなったことを確実に判定することができる。
請求項2記載のフラッシュEEPROMのデータ正否判定方法は、請求項1記載のフラッシュEEPROMのデータ正否判定方法において、前記データ検証領域が、フラッシュEEPORM内のブロックであることを特徴とする。請求項2記載のフラッシュEEPROMのデータ正否判定方法によれば、データの正否を判定したいデータ検証領域をフラッシュEEPORM内のブロックとしたことにより、フラッシュEEPORMのブロック単位にデータの正否を判定できるという利点がある。また、フラッシュEEPROM内の任意の1つのブロックについてだけでも、ブロック内のデータの正否を判定することが可能となるという利点がある。
請求項3記載のフラッシュEEPROMのデータ正否判定方法は、請求項2記載のフラッシュEEPROMのデータ正否判定方法において、フラッシュEEPORM内のすべてのブロックの先頭位置および末尾位置に同一内容の識別情報を格納することを特徴とする。請求項3記載のフラッシュEEPROMのデータ正否判定方法によれば、フラッシュEEPORMの一部のデータが正しければ良いのではなく、フラッシュEEPORMの全てのデータが正しくなければならないような場合には、フラッシュEEPORM全体のデータの正否を判定することができる。
請求項4記載のフラッシュEEPROMのデータ正否判定方法は、請求項3記載のフラッシュEEPROMのデータ正否判定方法において、前記ブロックの先頭位置および末尾位置に格納される同一内容の識別情報が、ブロック毎に異なることを特徴とする。請求項4記載のフラッシュEEPROMのデータ正否判定方法によれば、フラッシュEEPORM内の各ブロックの先頭領域および末尾領域にブロック毎に異なる識別情報を格納するようにしたので、ブロック毎に先頭位置の識別情報および末尾位置の識別情報が異なる期待値と比較されることになり、ブロック毎のデータの正否をより正確に判定することができる。
請求項5記載のフラッシュEEPROMのデータ正否判定方法は、請求項1ないし請求項4のいずれか1項に記載のフラッシュEEPROMのデータ正否判定方法において、前記識別情報間に挟まれたデータ空間内のデータが、電子制御装置名および通信規約を含むことを特徴とする。請求項5記載のフラッシュEEPROMのデータ正否判定方法によれば、フラッシュEEPROMのデータの正否を判定したいデータ検証領域に電子制御装置名および通信規約が格納されている場合に、当該データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納し、先頭位置の識別情報が期待値であり、かつ末尾位置の識別情報が期待値であるとともに、先頭位置の識別情報と末尾位置の識別情報とが一致することを確認することで、フラッシュEEPROMに格納された電子制御装置名および通信規約が正しいことをより正確に判定することができ、正しいと判定された電子制御装置名および通信規約を用いて、電子制御装置はフラッシュEEPROM書換え装置と通信可能な方法で確実に通信を行なうことができる。
フラッシュEEPROMのデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、先頭位置の識別情報と末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、識別情報間に挟まれたデータ空間内のデータが正しいと判定するようにした。
以下、本発明の実施例について図面を参照しながら詳細に説明する。
図1は、本発明の実施例1に係るフラッシュEEPROMのデータ正否判定方法が適用される電子制御装置が配設された電子制御システムの構成を示すブロック図である。この電子制御システムは、複数種類の電子制御装置1A,1B,…,1Nを備えている。例えば、車両のエンジンの燃料噴射等を制御するためのエンジン制御用電子制御装置,車両のドアの開閉,ロック等を制御するためのボデー制御用電子制御装置,車両のブレーキ操作時における車輪のロックを防止するためのブレーキ制御用電子制御装置,車両の加速途中での車輪の空転を防止するためのトラクション制御用電子制御装置,車両を定速走行させるための定速走行制御用電子制御装置等である。
電子制御装置1A,1B,…,1Nは、互いに通信回線5を介して接続されている。通信回線5としては、いわゆる車載LAN(Local Area Network)があり、具体的には、CAN(Car Area Network),Safe−by Wire,FlexRay等が想定される。また、通信回線5には、コネクタ4が設けられており、コネクタ4には、フラッシュEEPROM書換え装置10が着脱自在に接続されるようになっている。
電子制御装置1Aは、自電子制御装置1Aの制御対象機器(エンジン等)を制御するための処理を行なうマイクロコンピュータ2と、外部装置としてのフラッシュEEPROM書換え装置10との間でデータ通信を行なう通信制御装置3とを含んで構成されている。なお、他の電子制御装置1B,…,1Nも、電子制御装置1Aと同様に構成されていることはいうまでもない。
マイクロコンピュータ2は、プログラムを実行するCPU(Central Processing Unit)21と、CPU21によって実行されるプログラムを記憶するフラッシュEEPROM23と、CPU21による演算結果等を一時的に記憶するRAM(Random Access Memory)24と、入力回路(図示せず),出力回路(図示せず),および通信制御装置3との間で信号やデータをやり取りするI/O(Input/Output)25と、各種レジスタ(図示せず)等を備えている。
フラッシュEEPROM23は、ブロック単位に電気的に記憶内容の一括消去および順次書込みが可能なEEPROMである。フラッシュEEPROM23には、フラッシュEEPROM書換え専用プログラム231と、制御対象機器を制御するための制御プログラム232とがあらかじめ書き込まれている。なお、書換え専用プログラム232は、フラッシュEEPEOMに書き込む場合と、書換えが不可能なマスクROMに書き込んでおく場合とがあるが、図1は、フラッシュEEPROM23に書き込んだ場合の例である。
図2は、フラッシュEEPROM23において、データの正否を判定したいデータ検証領域の一例を示す図である。このデータ検証領域は、先頭位置に格納された先頭識別情報と、末尾位置に格納された末尾識別情報と、先頭識別情報,末尾識別情報間のデータ空間とから構成されている。先頭識別情報と末尾識別情報とは、同一内容である。データ空間には、検証対象となるデータが書き込まれている。本実施例1では、電子制御装置名,通信規約等の通信制御情報が書き込まれているものとする。なお、データ検証領域は、フラッシュEEPROM23のブロックのサイズである必要はかならずしもない。このように、フラッシュEEPROM23のデータ検証領域に検証対象のデータを書き込む際に、当該データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納するようにしたのは、先頭位置の先頭識別情報と末尾位置の末尾識別情報とが一致し、かつ期待値であることを確認することで、先頭識別情報,末尾識別情報間に挟まれたデータ空間内のデータ(特に、電子制御装置名,通信規約等の通信制御情報)が正しく書き込まれていると推定することができるからである。
電子制御装置1Aには、フラッシュEEPROM23に書き込まれている制御プログラム232を新たな内容に書き換える際に、コネクタ4および通信回線5を介してフラッシュEEPROM書換え装置10が接続される。電子制御装置1AとフラッシュEEPROM書換え装置10との接続は、両者のコネクタ4を介して互いの通信回線5が信号的に接続されることにより行なわれる。すなわち、コネクタ4同士が連結されると、電子制御装置1Aのマイクロコンピュータ2は、通信回線5および通信制御装置3を介してフラッシュEEPROM書換え装置10とシリアルデータ通信可能になる。
フラッシュEEPROM書換え装置10は、図示しないマイクロコンピュータや制御プログラム格納媒体等を内蔵する外部装置であって、操作メニューやエラーメッセージなどを表示するディスプレイや電子制御装置1A等のフラッシュEEPROM23のデータ書換えをなどを指令するための操作スイッチ(キーボード)等を備えるものである。
フラッシュEEPROM書換え装置10と電子制御装置1A(マイクロコンピュータ2)とが通信を行なって、マイクロコンピュータ2に内蔵されたフラッシュEEPROM23の制御プログラム232を書き換える。通信回線5には、複数の電子制御装置1A,1B,…,1Nが接続されているため、通信制御情報(電子制御装置1A,1B,…,1Nの名称,通信規約等)をフラッシュEEPROM23に組み込み、制御プログラム232の書換え処理時にその通信制御情報を利用して書換えを実現している。
図3は、本発明の実施例1に係るフラッシュEEPROMのデータ正否判定方法の処理手順を示すフローチャートである。フラッシュEEPROM23のデータ検証領域内のデータの正否を判定する場合、まず、当該データ検証領域の先頭位置に格納されている先頭識別情報を読み出して、先頭識別情報が期待値であるかどうかを判定する(ステップS1)。先頭識別情報が期待値であれば、当該データ検証領域の末尾位置に格納されている末尾識別情報を読み出して、末尾識別情報が期待値であるかどうかを判定する(ステップS2)。末尾識別情報も期待値であれば、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する(ステップS3)。先頭識別情報と末尾識別情報とが同一内容であれば、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しいと判定する(ステップS4)。それ以外の場合には、当該データ空間内のデータが正しくないと判定する(ステップS5)。
図4は、本実施例1に係るフラッシュEEPROMのデータ正否判定方法を、電子制御装置1Aの制御プログラム232の書換え処理に適用した場合のフローチャートである。詳しくは、フラッシュEEPROM23のデータ検証領域(ブロック単位であるか否かは問わない)に同一内容の識別情報を挟んで通信制御情報(電子制御装置名,通信規約等)を格納しておき、電子制御装置1Aが、本実施例1に係るフラッシュEEPROMのデータ正否判定方法により通信制御情報(電子制御装置名,通信規約等)の正否を判定してから、制御プログラム232の書換え処理を開始するようにした場合の動作を示すフローチャートである。
次に、このように構成された実施例1に係るフラッシュEEPROMのデータ正否判定方法が適用される電子制御装置1Aの動作について説明する。ここでは、図4のフローチャートの場合を例にとって説明する。
車両のイグニッションスイッチがオンされるなどして、電子制御装置1Aにおいて、電源回路(図示せず)からマイクロコンピュータ2へのリセット信号が解除されると、CPU21が、まず、フラッシュEEPROM23内の制御プログラム232の実行を開始する。
次に、CPU21は、制御プログラム232により、初期化処理を行なった後、通常制御モードで制御対象機器を制御するための制御処理を行なう(ステップS101)。このため、CPU21は、フラッシュEEPROM書換え装置10から制御プログラム232の書換えを指示する制御プログラム書換え要求が電子制御装置1Aに送信されてこない限り、通常制御モードで制御対象機器の制御処理を継続する。
電子制御装置1Aが通常制御モードでの動作中に、フラッシュEEPROM書換え装置10は、電子制御装置1Aの制御プログラム232を書き換えるために、制御プログラム書換え要求を通信回線5を介して電子制御装置1Aに送信する(ステップS102)。
電子制御装置1Aでは、CPU21が、制御プログラム232により、自電子制御装置1Aに対する制御プログラム書換え要求を受信したかどうかを判定している(ステップS103)。
CPU21は、自電子制御装置1Aに対する制御プログラム書換え要求を受信していないと判定した場合には(ステップS103:No)、ステップS101に制御を戻す。
CPU21は、電子制御装置1Aに対する制御プログラム書換え要求を受信したと判定した場合には(ステップS103:Yes)、制御プログラム232からフラッシュEEPROM書換え専用プログラム231にジャンプすることにより(ステップS104)、通常制御モードからフラッシュEEPROM書換えモードに移行する。
フラッシュEEPROM書換えモードに移行すると、CPU21は、フラッシュEEPROM書換え専用プログラム231により、フラッシュEEPROM23の制御プログラム232の書換え処理の準備として、制御プログラム書換え要求により書換えを要求されたフラッシュEEPROM23のデータ検証領域の先頭位置に格納された先頭識別情報が期待値であるかどうかを判定する(ステップS105)。
先頭識別情報が期待値に一致していなければ(ステップS105:No)、CPU21は、フラッシュEEPROM書換え専用プログラム231により、フラッシュEEPROM23のデータ検証領域のデータが検証対象の通信制御情報(電子制御装置名,通信規約等)でないと判定し、ステップS110に制御を移す。
先頭識別情報が期待値に一致していれば(ステップS105:Yes)、CPU21は、フラッシュEEPROM書換え専用プログラム231により、フラッシュEEPROM23のデータ検証領域の末尾位置に格納された末尾識別情報が期待値であるかどうかを判定する(ステップS106)。
末尾識別情報が期待値に一致していなければ(ステップS106:No)、CPU21は、フラッシュEEPROM書換え専用プログラム231により、先頭識別情報がフラッシュEEPROM23に書き込まれてから末尾識別情報がフラッシュEEPROM23に書き込まれるまでの期間に書込みエラー等が発生していて、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータである通信制御情報(電子制御装置名,通信規約等)が正しくないと判定し、ステップS110に制御を移す。
末尾識別情報も期待値に一致していれば(ステップS106:Yes)、CPU21は、フラッシュEEPROM書換え専用プログラム231により、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する(ステップS107)。
先頭識別情報と末尾識別情報とが同一内容でなければ(ステップS107:No)、CPU21は、フラッシュEEPROM書換え専用プログラム231により、先頭識別情報がフラッシュEEPROM23に書き込まれてから末尾識別情報がフラッシュEEPROM23に書き込まれるまでの期間に書込みエラー等が発生していて、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータである通信制御情報(電子制御装置名,通信規約等)が正しくないと判定し、ステップS110に制御を移す。
先頭識別情報と末尾識別情報とが同一内容であれば(ステップS107:Yes)、CPU21は、フラッシュEEPROM書換え専用プログラム231により、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータである通信制御情報(電子制御装置名,通信規約等)が正しいと判定し、データ空間内のデータである通信制御情報(電子制御装置名,通信規約等)を読み出して、それに従った通信方法でフラッシュEEPROM書換え装置10と通信を開始する(ステップS108)。
通信が開始されると、フラッシュEEPROM書換え装置10が自身の制御プログラム格納媒体に書き込まれている制御プログラム232のデータを順次送信してくるので、CPU21は、フラッシュEEPROM書換え専用プログラム231により、受信した制御プログラム232のデータを、フラッシュEEPROM23の該当する領域に順次書き込むことによって制御プログラム232の書換え処理を実行する(ステップS109)。詳しくは、フラッシュEEPROM書換え装置10から送信されてくる制御プログラム書換え要求に従い、フラッシュEEPROM23の該当ブロックを一括消去した後に、フラッシュEEPROM書換え装置10から送信されてくる制御プログラム232のデータをフラッシュEEPROM23の該当ブロックに順次書き込んでいく処理をブロック毎に繰り返して書換え処理を実行する。
そして、フラッシュEEPROM23の制御プログラム232の書換え処理が完了すると、CPU21は、フラッシュEEPROM書換え専用プログラム231から制御プログラム232にジャンプして、フラッシュEEPROM書換えモードから通常制御モードに復帰する。
一方、ステップS110では、CPU21は、フラッシュEEPROM23の制御プログラム232の書換え処理の準備を停止し、その状態を継続する。これにより、一定時間後に、ウォッチドックタイマ(図示せず)によりエラー処理が行なわれる。
本実施例1によれば、フラッシュEEPROM23のデータ検証領域に通信制御情報(電子制御装置名,通信規約等)を格納するとともに、当該データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納したことにより、先頭識別情報が期待値であり、かつ末尾識別情報が期待値であるとともに、先頭識別情報と末尾識別情報とが一致することを確認することで、フラッシュEEPROM23に格納された通信制御情報(電子制御装置名,通信規約等)が正しいことをより正確に判定することができ、正しいと判定された通信制御情報(電子制御装置名,通信規約等)を用いて、電子制御装置1Aは、フラッシュEEPROM書換え装置10と通信可能な方法で確実に通信を行なうことができる。
また、本実施例1によれば、データ検証領域がフラッシュEEPROM23の一部であっても、フラッシュEEPROM23全体のデータ検証を行なうことなしに、データ検証領域のデータの正しさを判定することが可能となる。
ところで、上記実施例1の動作の説明では、フラッシュEEPROM23の不特定サイズのデータ検証領域に格納された通信制御情報(電子制御装置名,通信規約等)の正否を判定する場合を例にとって説明したが、データ検証領域をフラッシュEEPROM23のブロック(以下、データ検証ブロックという)にとり、当該データ検証ブロックの先頭位置および末尾位置に同一内容の識別情報を格納することもできる。このようにすれば、データ検証ブロック全体のデータの正否判定も高速に行えるようになる。
また、上記実施例1の動作の説明では、フラッシュEEPROM23に設けられるデータ検証領域が1箇所であるように説明したが、データ検証領域は1箇所に限られず、またフラッシュEEPROM23の全てのブロックをデータ検証ブロックとしてフラッシュEEPROM23全体のデータの正否を検証することもできる。
図5は、本発明の実施例2に係るフラッシュEEPROMのデータ正否判定方法が適用されるフラッシュEEPROM23のメモリマップである。本実施例2に係るフラッシュEEPROMのデータ正否判定方法は、フラッシュEEPROM23全体の各ブロックをデータ検証領域(データ検証ブロック)とするものであり、各データ検証ブロックの先頭位置および末尾位置には同一内容の識別情報が格納されている。
また、データ検証ブロックの先頭位置および末尾位置に格納される同一内容の識別情報は、異なるデータ検証ブロックでは異なる内容になっている。例えば、各データ検証ブロックの順番を示す情報(例えば、ブロック番号)等のデータ検証ブロックに固有な値を含めるようにするとよい。このようにすれば、データ検証ブロック毎に先頭識別情報および末尾識別情報が異なる期待値と比較されることになり、データ検証ブロック毎のデータの正否をより正確に判定することができる。
なお、本実施例2に係るフラッシュEEPROMのデータ正否判定方法が適用されるフラッシュEEPROM23を配設する電子制御装置は、図1に示した電子制御装置1Aと同様に構成されているので、図示およびその詳しい説明を省略する。
このような実施例2に係るフラッシュEEPROMのデータ正否判定方法では、図3に示したデータ正否判定処理が、フラッシュEEPROM23の各データ検証ブロックに対して繰り返し実行される。
本実施例2によれば、特定のデータ検証ブロックではなく、フラッシュEEPROM23の全てのブロックの先頭位置および末尾位置に同一内容の識別情報を格納したことにより、ブロッフラッシュEEPROM23全体に書き込まれたデータが正しく書き込まれているかどうかを検証することができる。
以上、本発明の各実施例について説明したが、これらはあくまでも例示にすぎず、本発明はこれらに限定されるものではなく、特許請求の範囲の趣旨を逸脱しない限りにおいて、当業者の知識に基づく種々の変更が可能である。
例えば、本発明のフラッシュEEPROMのデータ正否判定方法では、データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納するようにしたが、データ検証領域の中間位置に同一内容の第3の識別情報,第4の識別情報,…等を追加格納するようにしてもよい。このようにすれば、これらの識別情報を用いて、制御プログラムのデータ正否判定をさらに正確に行なうことが可能になる。
また、本発明のフラッシュEEPROMのデータ正否判定方法は、フラッシュEEPROMを含む一般的な電子回路において、フラッシュEEPROMのデータの正否を判定する場合にも同様に適用可能である。
さらに、本発明のフラッシュEEPROMのデータ正否判定方法は、フラッシュEEPROMのデータ検証領域のみならず、マイクロコンピュータに存在するあらゆるデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することで、あらゆるデータについてデータ正否判定を行なうこともできる。
1A,1B,…,1N 電子制御装置
2 マイクロコンピュータ
3 通信制御装置
4 コネクタ
5 通信回線
10 フラッシュEEPROM書換え装置
21 CPU
23 フラッシュEEPROM
24 RAM
25 I/O
231 フラッシュEEPROM書換え専用プログラム
232 制御プログラム
S1〜S5 ステップ
2 マイクロコンピュータ
3 通信制御装置
4 コネクタ
5 通信回線
10 フラッシュEEPROM書換え装置
21 CPU
23 フラッシュEEPROM
24 RAM
25 I/O
231 フラッシュEEPROM書換え専用プログラム
232 制御プログラム
S1〜S5 ステップ
Claims (5)
- フラッシュEEPROMのデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、前記先頭位置の識別情報と前記末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、前記識別情報間に挟まれたデータ空間内のデータが正しいと判定することを特徴とするフラッシュEEPROMのデータ正否判定方法。
- 前記データ検証領域が、フラッシュEEPORM内のブロックである請求項1記載のフラッシュEEPROMのデータ正否判定方法。
- フラッシュEEPORM内のすべてのブロックの先頭位置および末尾位置に同一内容の識別情報を格納する請求項2記載のフラッシュEEPROMのデータ正否判定方法。
- 前記ブロックの先頭位置および末尾位置に格納される同一内容の識別情報が、ブロック毎に異なる請求項3記載のフラッシュEEPROMのデータ正否判定方法。
- 前記識別情報間に挟まれたデータ空間内のデータが、電子制御装置名および通信規約を含む請求項1ないし請求項4のいずれか1項に記載のフラッシュEEPROMのデータ正否判定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005082451A JP2006268176A (ja) | 2005-03-22 | 2005-03-22 | フラッシュeepromのデータ正否判定方法 |
US11/384,822 US20060218340A1 (en) | 2005-03-22 | 2006-03-21 | Data validity determining method for flash EEPROM and electronic control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005082451A JP2006268176A (ja) | 2005-03-22 | 2005-03-22 | フラッシュeepromのデータ正否判定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268176A true JP2006268176A (ja) | 2006-10-05 |
Family
ID=37036538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005082451A Withdrawn JP2006268176A (ja) | 2005-03-22 | 2005-03-22 | フラッシュeepromのデータ正否判定方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060218340A1 (ja) |
JP (1) | JP2006268176A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165729A (ja) * | 2006-12-07 | 2008-07-17 | Denso Corp | マイクロコンピュータ |
JP2011245817A (ja) * | 2010-05-31 | 2011-12-08 | Fujitsu Component Ltd | プリンタおよびプリンタの制御方法 |
JP2013140427A (ja) * | 2011-12-28 | 2013-07-18 | Daihatsu Motor Co Ltd | 車載用記憶処理装置 |
JP2014075036A (ja) * | 2012-10-04 | 2014-04-24 | Denso Corp | フラッシュメモリのデータ処理方法、及び、このデータ処理用のプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886136B2 (en) * | 2004-05-21 | 2011-02-08 | Samsung Electronics Co., Ltd. | Computer system, method, and medium for switching operating system |
JP4692231B2 (ja) * | 2005-11-04 | 2011-06-01 | 株式会社デンソー | 車両用の電子制御装置 |
US7934050B2 (en) * | 2006-12-07 | 2011-04-26 | Denso Corporation | Microcomputer for flash memory rewriting |
JP4722194B2 (ja) * | 2009-04-13 | 2011-07-13 | 本田技研工業株式会社 | 車両のための書き換えシステム |
JP6217664B2 (ja) | 2015-02-10 | 2017-10-25 | トヨタ自動車株式会社 | マイコン装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5394327A (en) * | 1992-10-27 | 1995-02-28 | General Motors Corp. | Transferable electronic control unit for adaptively controlling the operation of a motor vehicle |
JP3093541B2 (ja) * | 1993-11-19 | 2000-10-03 | 富士通株式会社 | プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム |
US6718397B1 (en) * | 2000-01-05 | 2004-04-06 | Yijun Zhao | Network adapter for providing initialization and protocol translation between a microprocessor and a network interface |
-
2005
- 2005-03-22 JP JP2005082451A patent/JP2006268176A/ja not_active Withdrawn
-
2006
- 2006-03-21 US US11/384,822 patent/US20060218340A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165729A (ja) * | 2006-12-07 | 2008-07-17 | Denso Corp | マイクロコンピュータ |
JP4743182B2 (ja) * | 2006-12-07 | 2011-08-10 | 株式会社デンソー | マイクロコンピュータ |
JP2011245817A (ja) * | 2010-05-31 | 2011-12-08 | Fujitsu Component Ltd | プリンタおよびプリンタの制御方法 |
JP2013140427A (ja) * | 2011-12-28 | 2013-07-18 | Daihatsu Motor Co Ltd | 車載用記憶処理装置 |
JP2014075036A (ja) * | 2012-10-04 | 2014-04-24 | Denso Corp | フラッシュメモリのデータ処理方法、及び、このデータ処理用のプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20060218340A1 (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006268176A (ja) | フラッシュeepromのデータ正否判定方法 | |
US7493455B2 (en) | Memory writing device for an electronic device | |
JP4325691B2 (ja) | 車両制御装置のためのメモリ読み出しシステム | |
JP2007507016A (ja) | シリアルインターフェイスを介したフラッシュプログラミングによる電子制御装置のソフトウェアアップデート方法およびこれに対応する状態自動装置 | |
US8036786B2 (en) | On-vehicle control apparatus | |
CN110809755A (zh) | 电子控制*** | |
US8190321B2 (en) | Electronic control unit with permission switching | |
JPH11238005A (ja) | 電子制御装置及び制御システム | |
US20010027524A1 (en) | Method of detecting manipulation of a programable memory device of a digital controller | |
JP2001123874A (ja) | 電子制御装置のプログラム書換システム及びメモリ書換装置 | |
JP4973642B2 (ja) | 車載電子制御装置 | |
US7934050B2 (en) | Microcomputer for flash memory rewriting | |
JP2003337748A (ja) | 電子制御装置 | |
JP3093541B2 (ja) | プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム | |
CN117130915A (zh) | 控制器刷写方法及*** | |
JPH0633828A (ja) | 車載用電子制御装置 | |
US11169828B2 (en) | Electronic control unit and method for verifying control program | |
JP2009026183A (ja) | 自動車用電子制御装置 | |
JPH11280536A (ja) | 電子制御装置及び電子制御システム | |
JP2007015643A (ja) | 車両用電子制御装置 | |
JP2005338955A (ja) | 電子制御装置 | |
JP2012118904A (ja) | 情報処理装置 | |
JPH09293028A (ja) | 半導体記憶装置 | |
US20100083073A1 (en) | Data processing apparatus, memory controlling circuit, and memory controlling method | |
JP4534731B2 (ja) | 電子制御装置及びその識別コード生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070612 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090317 |