JP6314859B2 - 電子制御装置及びソフトウェア書き換えシステム - Google Patents

電子制御装置及びソフトウェア書き換えシステム Download PDF

Info

Publication number
JP6314859B2
JP6314859B2 JP2015014314A JP2015014314A JP6314859B2 JP 6314859 B2 JP6314859 B2 JP 6314859B2 JP 2015014314 A JP2015014314 A JP 2015014314A JP 2015014314 A JP2015014314 A JP 2015014314A JP 6314859 B2 JP6314859 B2 JP 6314859B2
Authority
JP
Japan
Prior art keywords
data
processing unit
write
error
area
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.)
Active
Application number
JP2015014314A
Other languages
English (en)
Other versions
JP2016139305A (ja
Inventor
健史 淺井
健史 淺井
康志 神田
康志 神田
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2015014314A priority Critical patent/JP6314859B2/ja
Publication of JP2016139305A publication Critical patent/JP2016139305A/ja
Application granted granted Critical
Publication of JP6314859B2 publication Critical patent/JP6314859B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Description

本発明は、電子制御装置のソフトウェアを書き換える技術に関する。
例えば、車両に搭載される電子制御装置として、電気的にデータの消去及び書き込みが可能な不揮発性メモリ(以下、書き換え可能不揮発性メモリともいう)に、制御対象を制御するためのプログラムやデータからなるソフトウェアを格納するものがある。そして、この種の電子制御装置では、外部装置である書き換えツール(メモリ書換機)によって、書き換え可能不発性メモリ内のソフトウェアを書き換えることができるようにしている。具体的には、電子制御装置の処理部は、書き換えツールからの消去命令に従い、書き換え可能不揮発性メモリにおける書き換え対象領域のデータ(詳しくは、ソフトウェアを構成するデータ)を消去し、その消去後の書き換え対象領域に、書き換えツールからの書き込みデータを書き込む(例えば、特許文献1参照)。
そして、書き換え可能不揮発性メモリとしては、フラッシュメモリが知られている。
従来のフラッシュメモリは、消去後は「1」の状態であり、「1」から「0」へ状態を変えられる特徴を持つ。このため、フラッシュメモリの書き換え対象領域に記憶されているデータ(ソフトウェア)を書き換える際には、書き換え対象領域のデータを消去してから、その書き換え対象領域に「1」または「0」を書き込むことで所望のデータ列を作成することとなる。また、フラッシュメモリの書き換え対象領域のうち、書き込み可能領域としたい領域には、「1」を書き込むようにする。書き込み可能領域は、電子制御装置の動作中において、例えば故障情報や制御に関する履歴情報など、電源供給が遮断されても保存しておきたいデータを、書き込んで保存するための記憶領域である。
特開平7−119538号公報
近年、フラッシュメモリとして、消去状態が「1」ではなく「不定」であるフラッシュメモリ(以下、新フラッシュメモリともいう)が登場した。新フラッシュメモリでは、消去後の「不定」から「1」または「0」を書き込むことでデータ列を作成することとなる。このため、書き換え対象領域のうち、書き込み可能領域については、消去状態である「不定」のままにする必要がある。
このような新フラッシュメモリにおいて、書き換え対象領域の中に書き込み可能領域を作るため(つまり、その領域を「不定」のままにするため)には、消去後に該当領域に何も書き込まないようにすれば良い。しかし、従来のソフトウェア書き換えシステムでは、書き換え対象領域全体に「1」か「0」を書き込む仕組みであるため、新フラッシュメモリの書き換え対象領域における任意の領域を「不定」のまま残すことができない。よって、書き込み可能領域を作ることができない。
そこで、例えば、書き換えツールから電子制御装置へ、消去後未書き込みのまま(換言すれば「不定」のまま)にすべき記憶領域を示す専用の位置情報が送信され、電子制御装置は、フラッシュメモリにおける消去後の書換え対象領域のうち、その位置情報が示す記憶領域に対しては書き込みを行わないようにすることが考えられる。
しかし、書き換えツールから電子制御装置へ上記専用の位置情報を送信する手法は、市場に既に流通している書き換えツールのロジック変更を招くため、実施するのが困難である。
そこで、本発明は、書き換えツールから、消去後未書き込みのままにすべき記憶領域を示す専用の位置情報を送信することなく、消去状態が「不定」である新フラッシュメモリの書き換え対象領域に、書き込み可能領域を作ることが可能な電子制御装置の提供、を目的としている。
第1発明の電子制御装置は、データの消去及び書き込みが可能で、記憶領域の一部又は全部が書き換え対象領域になっている不揮発性メモリと、外部の書き換えツールから送信されてくる指令に応じて、不揮発性メモリにおける書き換え対象領域のデータを消去する消去手段と、書き換えツールから、書き換え対象領域に書き込むべきデータとして送信されてくる書き込みデータを、消去手段によってデータの消去が行われた前記書き換え対象領域に書き込む書込制御手段と、を備える。
そして、書込制御手段は、書き込みデータを所定のデータ量ずつにした処理単位データのそれぞれについて、エラーチェックを行い、そのエラーチェックでエラー無しと判定した処理単位データを、前記書き換え対象領域のうち、その処理単位データに対応する領域に書き込むようになっている。更に、書込制御手段は、前記エラーチェックでエラー有りと判定した場合には、そのエラー有りと判定した処理単位データの前記書き換え対象領域への書き込みを行わずに、前記書き換え対象領域のうち、そのエラー有りと判定した処理単位データに対応する領域を未書き込み状態にしたまま、次の処理単位データについてのエラーチェックを実施する。
この電子制御装置によれば、書き換えツールから送信される書き込みデータのうち、書き込み可能領域としたい領域に対応する書き込みデータについては、エラーチェックでエラー有りと判定されるようにしておけば良い。そのようにすれば、不揮発性メモリにおける書き換え対象領域のうち、書き込み可能領域としたい領域を、消去後未書き込みのままにすることができる。そして、前記不揮発性メモリが、前述の新フラッシュメモリであれば、書き込み可能領域としたい領域を、消去後未書き込みの状態である「不定」のままにすることができる。よって、書き換えツールから、消去後未書き込みのままにすべき記憶領域を示す専用の位置情報を送信することなく、新フラッシュメモリの書き換え対象領域に書き込み可能領域を作ることができる。
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
実施形態のソフトウェア書き換えシステムを表す構成図である。 フラッシュメモリを説明する第1の説明図である。 フラッシュメモリを説明する第2の説明図である。 書き換えシーケンスを説明する説明図である。 消去処理を表すフローチャートである。 書込制御処理を表すフローチャートである。 実施形態の作用を説明する説明図である。
以下に、本発明が適用された実施形態のソフトウェア書き換えシステムについて説明する。
図1に示すように、実施形態のソフトウェア書き換えシステム11は、車両に搭載された電子制御装置(以下、ECUという)13と、ECU13に通信線14を介して接続される外部装置としての書き換えツール15とを備える。尚、ECUは、「Electronic Control Unit」の略である。
ECU13は、例えば、車両のエンジンを制御するECUである。書き換えツール15は、例えば、マイクロコンピュータを主要部とした専用の装置あるいはパーソナルコンピュータである。車両において、ECU13は通信線14に常時接続されている。そして、書き換えツール15は、車両に装備されたコネクタ(図示省略)を介して通信線14に接続される。
ECU13は、当該ECU13の動作を司るCPU(中央処理装置)17と、CPU17が実行するプログラムやプログラムの実行時に参照されるデータからなるソフトウェアを格納するフラッシュメモリ19と、CPU17による演算結果を記憶するRAM21と、を備える。そして、CPU17とフラッシュメモリ19とRAM21は、バス23を介して接続されている。更に、ECU13は、通信線14に接続された書き換えツール15を含む他の装置とCPU17が通信するための通信回路25も備える。
フラッシュメモリ19は、データの消去及び書き込みが可能な不揮発性メモリ(書き換え可能不揮発性メモリ)であるが、この例では、消去状態が「不定」となる新フラッシュメモリである。図2に示すように、フラッシュメモリ19では、数キロバイト程度の記憶領域であるブロック(ブロック1,ブロック2,…ブロックN)毎に、データの消去が行われ、そのブロックよりも小さい数バイト程度の書き込み単位毎に、データの書き込みが行われる。そして、図3に示すように、フラッシュメモリ19では、消去後のビット値が、「0」と「1」との何れにも決まらない「不定」となる。尚、「不定」の場合、例えば、ビット値が読み出せないか、読み出す度に違う値が読み出される。また、フラッシュメモリ19は、指定領域が未書き込み領域か書き込み済み領域かを、ソフトウェアによって問い合わせると、回答をする機能を有しているが、そのような機能がないものでも良い。
図1に示すように、フラッシュメモリ19には、書き換え対象領域31と、書き換え禁止領域32とが設けられている。
書き換え対象領域31は、1つ以上のブロックからなる。そして、書き換え対象領域31には、制御対象(この例ではエンジン)を制御するためのプログラム及びデータからなるソフトウェアが格納されるが、その書き換え対象領域31の一部は、書き込み可能領域33として用いられる。書き込み可能領域33は、ECU13の動作中において、例えば故障情報やエンジンの制御に関する履歴情報など、当該ECU13への電源供給が遮断されても保存しておきたいデータを、書き込んで保存するための記憶領域である。
書き換え禁止領域32には、書き換え対象領域31のデータ(詳しくは、ソフトウェアを構成するデータ)を書き換えるためのソフトウェアであるリプログソフト35が記憶されている。そして、リプログソフト35は、書き換え対象領域31に対する消去や書き込みを制御するためのフラッシュ制御部37と、書き換えツール15との通信を制御するための通信制御部38と、ベリファイ部39と、を備える。ベリファイ部39は、書き換え対象領域31に書き込むべきデータとして書き換えツール15から送信されてくる書き込みデータ41が、正常か否かを判定するエラーチェックを行うための部分である。
また、図1に示すように、書き換えツール15からECU13へは、書き換え対象領域31に書き込むべきデータである書き込みデータ41と共に、その書き込みデータ41と比較されるベリファイデータ42も送信される。
書き込みデータ41とベリファイデータ42のデータ量は、互いに同じであると共に、書き換え対象領域31のサイズとも同じである。そして、書き込みデータ41は、書き換え対象領域31の先頭アドレスから、前述の書き込み単位毎に順番に書き込まれるようになっている。尚、書き込みデータ41及びベリファイデータ42のデータ量は、書き換え対象領域31のサイズより小さくても良い。
また、本実施形態において、書き換えツール15から送信する書き込みデータ41とベリファイデータ42のうち、書き換え対象領域31において消去後「不定」のままにしたい領域に対応する部分については、両方のデータ41,42が不一致で且つ特定の関係となるように事前に加工される。消去後「不定」のままにしたい領域とは、消去後未書き込みのままにしたい領域であって、書き込み可能領域33としたい領域のことである。この例では、書き込みデータ41とベリファイデータ42のうち、消去後「不定」のままにしたい領域に対応する部分(図1のベリファイデータ42において、ハッチングを付した部分)は、両方のデータ41,42が、特定の関係としてビット反転の関係となるように加工される。
一方、書き換えツール15に対する書き込みデータ41及びベリファイデータ42の設定は、例えばユーザが所定の記憶媒体を介して行う。この場合のユーザとは、書き換えツール15を用いて上記書き換え対象領域31内のソフトウェアを書き換えようとする人のことである。
次に、ソフトウェア書き換えシステム11における書き換えシーケンスについて説明する。
図4における〈1〉,〈2〉,〈3〉に示すように、ユーザは、事前に用意されている書き換えデータ40から、書き込みデータ41とベリファイデータ42を作成する。
書き換えデータ40は、書き換え対象領域31に書き込む予定の書き込みデータ41と同じものである。
このため、ユーザは、書き換えデータ40と同じデータを、書き込みデータ41として作成する。また、ユーザは、書き換えデータ40(=書き込みデータ41)のうち、書き換え対象領域31において消去後「不定」のままにしたい領域(即ち、書き込み可能領域33にしたい領域)に対応する部分を、ビット反転させる。そして、ユーザは、そのビット反転の加工を行った後の書き換えデータ40を、ベリファイデータ42とする。尚、ビット反転させる部分のデータ単位量であって、書き込み可能領域33とする領域の単位は、本実施形態では、フラッシュメモリ19の書き込み単位であるが、書き込み単位の2以上の整数倍であっても良い。また、図4に示すベリファイデータ42において、「~d」と記載したハッチングの部分は、書き込みデータ41に対してビット反転されている部分を表している。そして、このことは、後述する図7についても同様である。また、変形例として、書き換えデータ40と同じデータをベリファイデータ42とし、上記ビット反転の加工を行った後の書き換えデータ40を、書き込みデータ41としても良い。一方、書き込みデータ41及びベリファイデータ42を作成する主体は、ユーザ以外のデータ提供者やデータ加工処理装置でも良い。
図4における〈4〉に示すように、ユーザは、書き込みデータ41とベリファイデータ42を、例えばCDROMやメモリカード等の記憶媒体を介して、書き換えツール15に設定する。そして、ユーザは、書き換えツール15に対して、開始指令を与える。
図4における〈5〉に示すように、書き換えツール15は、ユーザによって開始指令が与えられると、ECU13に消去コマンドを送信する。
すると、ECU13において、CPU17は、リプログソフト35を実行することにより、図4における〈6〉に示すように、消去処理を行う。CPU17は、消去処理では、図4における〈7〉に示すように、リプログソフト35中の消去命令に従って、フラッシュメモリ19における書き換え対象領域31のデータを全て消去する。すると、書き換え対象領域31の記憶内容は全て「不定」になる。尚、CPU17は、図5に示すように、消去処理では、書き換え対象領域31のデータを、前述のブロック毎に消去する(S105)。
書き換え対象領域31のデータ消去が完了すると、図4における〈8〉に示すように、書き換えツール15は、ECU13に書き込みコマンドを送信し、その後、ECU13に書き込みデータ41を送信する。
すると、ECU13において、CPU17は、リプログソフト35を実行することにより、図4における〈9〉に示すように、書き換えツール15からの書き込みデータ41を受信してRAM21に格納する。
ECU13において書き込みデータ41のRAM21への格納が完了すると、図4における〈10〉に示すように、書き換えツール15は、ECU13にベリファイコマンドを送信し、その後、ECU13にベリファイデータ42を送信する。
すると、ECU13において、CPU17は、リプログソフト35を実行することにより、書き換えツール15からのベリファイデータ42を受信してRAM21に格納し、図4における〈11〉に示すように、書き込みデータ41のエラーチェックの処理として、ベリファイ処理を行う。
ベリファイ処理は、一致/不一致の比較チェックを行う処理である。CPU17は、ベリファイ処理では、書き換えツール15からの書き込みデータ41とベリファイデータ42とを、フラッシュメモリ19の書き込み単位毎に比較する。そして、CPU17は、ベリファイデータ42と一致したと判定した書き込み単位の書き込みデータ41を、図4における〈12〉に示すように、リプログソフト35中の書き込み命令に従って、フラッシュメモリ19の書き換え対象領域31に書き込む。
そして、CPU17は、書き換え対象領域31へのデータの書き込みが全て完了すると、図4における〈13〉に示すように、書き換えツール15へ書き換え完了通知を送信する。すると、書き換えツール15は、図4における〈14〉に示すように、ユーザに対して書き換え完了を通知する。
次に、ECU13のCPU17が行う書込制御処理について図6を用い説明する。尚、書込制御処理は、図4における〈9〉,〈11〉,〈12〉の動作を実現する処理である。
CPU17は、書き換えツール15からの書き込みコマンドを受信すると、図6の書込制御処理を開始する。
そして、CPU17は、書込制御処理を開始すると、S110にて、書き換えツール15から送信されてくる書き込みデータ41を受信してRAM21に格納する。その後、CPU17は、書き換えツール15からのベリファイコマンドを受信すると、S120にて、書き換えツール15から送信されてくるベリファイデータ42を受信してRAM21に格納する。
CPU17は、次のS130では、書き換えツール15から受信した書き込みデータ41とベリファイデータ42とのそれぞれについて、先頭から書き込み単位ずつ切り出す処理を行う。尚、このS130の処理が実行される毎に、書き込み単位の書き込みデータ41とベリファイデータ42とが、1組切り出される。
そして、CPU17は、S140にて、今回のS130で切り出した書き込み単位の書き込みデータ41とベリファイデータ42とについて、ベリファイ処理(比較チェック)を行う。つまり、S130で切り出した書き込み単位の書き込みデータ41とベリファイデータ42とが、一致しているか否かを判定する。そして、書き込み単位の両方のデータ41,42が一致していれば(S140:YES)、今回のS130で切り出した書き込み単位の書き込みデータ41にエラーは無いと判定して、S150に進む。
CPU17は、S150では、今回のS130で切り出した書き込み単位の書き込みデータ41を、書き換え対象領域31に書き込む。そして、CPU17は、次のS160にて、書き換え対象領域31における書き込み位置を、S130で切り出すデータ量の分だけ(この例では、書き込み単位の分だけ)進める。尚、書き換え対象領域31における書き込み位置の初期値は、書き換え対象領域31の先頭アドレスである。
そして、CPU17は、次のS170にて、書き換え対象領域31の全てについて処理を終了したか否かを判定する。具体的には、S160で進めた書き込み位置が、書き換え対象領域31の最終アドレスに達したか否かを判定する。
CPU17は、S170にて、書き換え対象領域31の全てについて処理を終了したと判定した場合には、当該書込制御処理を終了するが、書き換え対象領域31の全てについて処理を未だ終了していないと判定した場合には、S130に戻る。
また、CPU17は、上記S140にて、今回のS130で切り出した書き込み単位の書き込みデータ41とベリファイデータ42とが、一致していないと判定した場合には、今回のS130で切り出した書き込み単位の書き込みデータ41にエラーが有ると判定して、S180に進む。
CPU17は、S180では、今回のS130で切り出した書き込み単位の書き込みデータ41とベリファイデータ42とが、特定の関係(この例ではビット反転の関係)になっているか否かを判定する。そして、CPU17は、今回のS130で切り出した書き込み単位の書き込みデータ41とベリファイデータ42とが、特定の関係になっていると判定した場合には(S180:YES)、S150の処理を行うことなくS160に進む。つまり、今回のS130で切り出した書き込み単位の書き込みデータ41を、書き換え対象領域31に書き込むことなく、書き換え対象領域31における書き込み位置を書き込み単位の分だけ進め、次のS130で切り出される書き込み単位の書き込みデータ41について上記S140での判定を行う。よって、書き換え対象領域31のうち、今回のS130で切り出した書き込み単位の書き込みデータ41に対応する領域(つまり、その書き込み単位の書き込みデータ41が書き込まれる予定であった領域)は、消去後未書き込みのままになる。
一方、CPU17は、S180にて、今回のS130で切り出した書き込み単位の書き込みデータ41とベリファイデータ42とが、特定の関係になっていないと判定した場合には、S190に進む。そして、CPU17は、S190では、ベリファイ異常と判定して、そのまま当該書込制御処理を終了する。ベリファイ異常は、書き換えツール15から受信した書き込みデータ41が異常であることを意味する。そして、ベリファイ異常と判定された場合、書込制御処理は異常終了することとなる。
以上のような書込制御処理により、図7に示すように、書き込みデータ41のうち、ベリファイデータ42と一致するデータについては、書き換え対象領域31への書き込みが実施される(S140:YES→S150)。これに対して、書き込みデータ41のうち、ベリファイデータ42と不一致で且つビット反転の関係にあるデータ(以下、特定エラーデータという)については、書き換え対象領域31への書き込みが実施されない。そして、書き換え対象領域31のうち、その特定エラーデータに対応する領域は、未書き込みのままとなる(S140:NO→S180:YES→S160)。また、書き込み単位の書き込みデータ41とベリファイデータ42とが、不一致で、且つ、ビット反転の関係でなければ、ベリファイ異常と判定されて、書き換え対象領域31への書き込みが中止される(S140:NO→S180:NO→S190)。
本実施形態では、S130で切り出される書き込み単位の書き込みデータ41が、「書き込みデータ41を所定のデータ量ずつにした処理単位データ」に相当している。また、S130で切り出される書き込み単位のベリファイデータ42が、「ベリファイデータ42のうち、処理単位データに対応する部分である部分ベリファイデータ」に相当している。そして、S140の判定(比較チェック)が、処理単位データのそれぞれについて行われるエラーチェックに相当している。
つまり、書込制御処理では、書き込みデータ41を所定のデータ量ずつにした処理単位データのそれぞれについて、エラーチェックを行っている(S130,S140)。そして、エラーチェックでエラー無しと判定した処理単位データを、書き換え対象領域31のうち、その処理単位データに対応する領域に書き込むようになっている(S140:YES→S150,S160)。一方、エラーチェックでエラー有りと判定した場合には(S140:NO)、エラー有りと判定した処理単位データと、それに対応する部分ベリファイデータとが特定の関係であるか否かを判定する(S180)。そして、特定の関係であれば、エラー有りと判定した処理単位データの書き換え対象領域31への書き込みを行わずに、書き換え対象領域31のうち、エラー有りと判定した処理単位データに対応する領域を未書き込み状態にしたまま、次の処理単位データについてのエラーチェックを実施する(S180:YES→S160→S170:NO→S130→S140)。また、エラーチェックでエラー有りと判定し、且つ、処理単位データと部分ベリファイデータとが特定の関係でなければ(S140:NO→S180:NO)、ベリファイ異常と判断して、書き換え対象領域31への書き込みを中止する(S190→異常終了)。
本実施形態のECU13によれば、書き換えツール15から送信される書き込みデータ41のうち、書き込み可能領域33としたい領域に対応するデータについては、図6のS140で「NO」と判定され、且つ、図6のS180で「YES」と判定されるようにしておけば良い。そのようにすれば、フラッシュメモリ19における書き換え対象領域31のうち、書き込み可能領域33としたい領域を、消去後未書き込みのまま(つまり「不定」のまま)にすることができる。よって、書き換えツール15から、消去後未書き込みのままにすべき記憶領域を示す専用の位置情報を送信することなく、フラッシュメモリ19の書き換え対象領域31に書き込み可能領域を33作ることができる。
また、本実施形態では、書き込みデータ41のエラーチェックとして、前述の処理単位データと部分ベリファイデータとが一致しているか否かを判定して、不一致ならばエラー有りと判定する比較チェックを用いている。このため、エラーチェックの処理が簡単であるという利点がある。
尚、本実施形態では、図6のS140で「NO」と判定した場合(即ち、エラーチェックでエラー有りと判定した場合)に、更にS180の判定を行うようになっているが、そのS180を削除して、S140で「NO」と判定した場合にそのままS160へ進むように変形しても良い。
但し、S180を設ければ、書き込み可能領域33を作るために故意に発生させたエラーなのか、本当のエラー(例えばノイズ等によるデータ化け)なのかを区別することができるし、本当のエラーである場合には、書き込みの処理を中止して、無駄な書き込みを実施することを防ぐことができる。
[変形例1]
前述した特定の関係は、ビット反転の関係に限らず、例えばデータ41,42同士を加算すると、予め定められた所定値になる、といった関係等でも良い。
[変形例2]
前述した処理単位データのデータ量(図6のS130で切り出すデータの量)は、書き込み単位に限らず、例えば書き込み単位の2以上の整数倍でも良い。
[変形例3]
書き込みデータ41のエラーチェックとしては、前述の比較チェックに限らず、他の方式のチェックでも良い。例えば、下記のように変形しても良い。
書き換えツール15は、書き込みデータ41を所定の変換規則でデータ変換し、そのデータ変換後の書き込みデータ41をECU13へ送信する。データ変換としては、例えば圧縮化や暗号化などが考えられる。また、この例の場合、ベリファイデータ42の送信は不要である。
ECU13において、CPU17は、書き換えツール15から受信した書き込みデータ41を、上記変換規則に対応した復元規則に基づいて、元のデータに復元する。そして、CPU17は、復元後の書き込みデータ41について、図6のS130以降と同様の処理を行えば良い。
その場合、図6のS130では、復元後の書き込みデータ41について、先頭から所定の処理単位ずつ(例えば書き込み単位ずつ)切り出す処理を行う。そして、S140では、S130で切り出した処理単位の書き込みデータ41について、例えばサムチェックやCRC(Cyclic Redundancy Check)等のエラーチェックを行い、エラー無しと判定したならS150に進むが、エラー有りと判定したならS160へ進む。
このように変形しても、書き換え対象領域31のうち、エラー有りと判定された処理単位の書き込みデータ41に対応する領域は、消去後未書き込みの「不定」となり、書き込み可能な領域となる。よって、書き換えツール15から送信される書き込みデータ41のうち、書き込み可能領域33としたい領域に対応するデータについては、エラー有りと判定されるようにしておけば良い。
[変形例4]
書き換え対象領域31は、フラッシュメモリ19の一部の記憶領域に限らず、全部の記憶領域であっても良い。また、フラッシュメモリ19は、新フラッシュメモリに限らず、消去状態が「1」である従来のフラッシュメモリでも良い。つまり、ECU13によれば、フラッシュメモリ19が、新フラッシュメモリと従来のフラッシュメモリとの何れであっても、書き換え対象領域31内に書き込み可能領域33を作成することができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。例えば、上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述したECU13や当該ECU13を構成要素とするソフトウェア書き換えシステム11の他、当該ECU13としてコンピュータを機能させるためのプログラムや、このプログラムを記録した媒体や、ソフトウェア書き換え方法など、種々の形態で本発明を実現することもできる。
15…書き換えツール、13…ECU(電子制御装置)、17…CPU、19…フラッシュメモリ、31…書き換え対象領域、41…書き込みデータ

Claims (4)

  1. データの消去及び書き込みが可能で、記憶領域の一部又は全部が書き換え対象領域(31)になっている不揮発性メモリ(19)と、
    外部の書き換えツール(15)から送信されてくる指令に応じて、前記不揮発性メモリにおける前記書き換え対象領域のデータを消去する消去手段(17,S105)と、
    前記書き換えツールから、前記書き換え対象領域に書き込むべきデータとして送信されてくる書き込みデータ(41)を、前記消去手段によってデータの消去が行われた前記書き換え対象領域に書き込む書込制御手段(17,S110〜S190)と、を備え、
    前記書込制御手段は、
    前記書き込みデータを所定のデータ量ずつにした処理単位データのそれぞれについて、エラーチェックを行い、前記エラーチェックでエラー無しと判定した前記処理単位データを、前記書き換え対象領域のうち、その処理単位データに対応する領域に書き込むようになっており、
    更に、前記書込制御手段は、
    前記エラーチェックでエラー有りと判定した場合には、そのエラー有りと判定した前記処理単位データの前記書き換え対象領域への書き込みを行わずに、前記書き換え対象領域のうち、そのエラー有りと判定した前記処理単位データに対応する領域を未書き込み状態にしたまま、次の前記処理単位データについての前記エラーチェックを実施すること、
    を特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記書き換えツールから当該電子制御装置へは、前記書き込みデータと共に、その書き込みデータと比較されるベリファイデータ(42)が送信されるようになっており、
    前記エラーチェックは、
    前記処理単位データと、前記ベリファイデータのうち、その処理単位データに対応する部分である部分ベリファイデータとが、一致しているか否かを判定して、不一致ならばエラー有りと判定するチェック(S140)であること、
    を特徴とする電子制御装置。
  3. 請求項2に記載の電子制御装置において、
    前記書込制御手段は、
    前記エラーチェックでエラー有りと判定した場合には、更に、エラー有りと判定した前記処理単位データと前記部分ベリファイデータとが特定の関係であるか否かを判定し(S180)、前記処理単位データと前記部分ベリファイデータとが特定の関係であれば、前記書き換え対象領域のうち、エラー有りと判定した前記処理単位データに対応する領域を未書き込み状態にしたまま、次の前記処理単位データについての前記エラーチェックを実施するが、前記処理単位データと前記部分ベリファイデータとが特定の関係でなければ、異常と判断して動作を終了すること(S190)、
    を特徴とする電子制御装置。
  4. 請求項1ないし請求項3の何れか1項に記載の電子制御装置(13)と、
    前記電子制御装置の前記不揮発性メモリ(19)における前記書き換え対象領域(31)に記憶されているソフトウェアを書き換えるために前記電子制御装置と通信する書き換えツール(15)と、
    を備えるソフトウェア書き換えシステム。
JP2015014314A 2015-01-28 2015-01-28 電子制御装置及びソフトウェア書き換えシステム Active JP6314859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015014314A JP6314859B2 (ja) 2015-01-28 2015-01-28 電子制御装置及びソフトウェア書き換えシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015014314A JP6314859B2 (ja) 2015-01-28 2015-01-28 電子制御装置及びソフトウェア書き換えシステム

Publications (2)

Publication Number Publication Date
JP2016139305A JP2016139305A (ja) 2016-08-04
JP6314859B2 true JP6314859B2 (ja) 2018-04-25

Family

ID=56560274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015014314A Active JP6314859B2 (ja) 2015-01-28 2015-01-28 電子制御装置及びソフトウェア書き換えシステム

Country Status (1)

Country Link
JP (1) JP6314859B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157624B2 (en) 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory
JP7467088B2 (ja) 2019-12-03 2024-04-15 キヤノン株式会社 情報処理装置、情報処理装置の処理方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305394A (ja) * 1996-05-17 1997-11-28 Tamura Electric Works Ltd 電子機器
JP2014182571A (ja) * 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
JP6166098B2 (ja) * 2013-05-13 2017-07-19 サイプレス セミコンダクター コーポレーション 半導体メモリおよび半導体メモリの動作方法

Also Published As

Publication number Publication date
JP2016139305A (ja) 2016-08-04

Similar Documents

Publication Publication Date Title
WO2018016199A1 (ja) データ書き換え装置、データ書き換えプログラム
JP5843674B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
TW201329707A (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
JP6314859B2 (ja) 電子制御装置及びソフトウェア書き換えシステム
US20180165012A1 (en) Memory device, controller, host apparatus, data processing system, computer-readable non-transitory recording medium, operation method of memory device, and operation method of host apparatus
JP3981268B2 (ja) 不揮発性メモリ及びそのデータ更新方法
JP5660521B2 (ja) 不揮発性半導体記憶装置およびメモリ管理方法
JP4776462B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP4060245B2 (ja) メモリ管理装置およびこれを備えたicカード
US7353348B2 (en) Nonvolatile memory and card reader provided with the same
JP4266742B2 (ja) フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム
JP6233134B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
JP4950730B2 (ja) 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード
JP4868979B2 (ja) 携帯可能電子装置およびicカード
JP2006107363A (ja) 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法
JP2007041798A (ja) 情報処理装置及び情報処理装置のメモリ書き換え方法
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
US10379875B2 (en) Solid state storage device and program loading method thereof
JP6039036B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
JP4601968B2 (ja) データ整合性検査を省けるicカードおよびicカード用プログラム
JP2016048443A (ja) マイクロコンピュータ
JP6217664B2 (ja) マイコン装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R151 Written notification of patent or utility model registration

Ref document number: 6314859

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151