JP2017004212A - リプログラミングシステム - Google Patents

リプログラミングシステム Download PDF

Info

Publication number
JP2017004212A
JP2017004212A JP2015116707A JP2015116707A JP2017004212A JP 2017004212 A JP2017004212 A JP 2017004212A JP 2015116707 A JP2015116707 A JP 2015116707A JP 2015116707 A JP2015116707 A JP 2015116707A JP 2017004212 A JP2017004212 A JP 2017004212A
Authority
JP
Japan
Prior art keywords
variable
update
data
reprogramming
control software
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.)
Granted
Application number
JP2015116707A
Other languages
English (en)
Other versions
JP6464038B2 (ja
Inventor
裕介 増田
Yusuke Masuda
裕介 増田
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2015116707A priority Critical patent/JP6464038B2/ja
Publication of JP2017004212A publication Critical patent/JP2017004212A/ja
Application granted granted Critical
Publication of JP6464038B2 publication Critical patent/JP6464038B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】制御ソフトウェアを更新することにともなってバックアップデータ記憶領域上におけるバックアップデータの構成が変化した場合であっても、バックアップデータの同一性を維持して引き継ぐ技術を提供する。【解決手段】本発明に係るリプログラミングシステムは、バックアップデータ内の変数毎に更新前後の格納先アドレスに関する差分を特定し、その特定した差分毎に前記変数の格納先アドレスを更新する。【選択図】図1

Description

本発明は、車両の動作を制御する処理を記述した制御ソフトウェアを更新する技術に関する。
車両の動作を制御する車両制御装置は、電気的に記憶内容を書き換えることができるフラッシュメモリやEEPROM(Electrically Erasable Programmable Read Only Memory)などのような不揮発性メモリを備え、同メモリ内に制御ソフトウェアを格納している。制御ソフトウェアは、エンジンや変速機などの車両が備える機器を制御する処理を実装している。下記特許文献1は、外部装置からの要求に応じて、制御ソフトウェアを書き換える技術について記載している。
車両制御装置は、制御ソフトウェアを実行することによって更新されるデータのうち、車両制御装置に対する電源供給が停止されても継続して保存すべきデータを、EEPROMなどの書き換え可能な不揮発性メモリ内に永続化して記憶する。例えば学習値や故障診断結果などのデータがこれに該当する。以下、このようなデータのことをバックアップデータと呼ぶ。
制御ソフトウェアを更新するとき、更新の前後においてバックアップデータの値を同一に維持するため、バックアップデータを格納する不揮発性メモリ上のアドレスは、一般に特定のアドレスに固定されている。例えば不揮発性メモリ上のあるアドレス範囲内はバックアップデータを格納する記憶領域として固定され、当該記憶領域にはその他データを格納しないようにしている。以下ではこの記憶領域のことをバックアップデータ記憶領域と呼ぶ。
特開2002−149432号公報
制御ソフトウェアの更新にともない、機能が追加、変更、削除され、それにともないバックアップデータも追加、変更、削除される。制御ソフトウェアの更新後においても既存のバックアップデータ内の変数値を引き継ぐ場合(例えばこれまでの学習結果を記録した変数値を引き継ぐ場合など)、更新前の永続化データ内における変数が更新後においても同じ変数を参照するように配慮する必要がある。
バックアップデータの単純追加であれば、バックアップデータ記憶領域における既存バックアップデータの配置を変更せず、追加分のバックアップデータを未使用領域へ配置することにより、既存バックアップデータの変数値をそのまま引き継ぐことができる。これに対しバックアップデータを変更または削除した場合は、特定のアドレスに格納された変数が、変更前後において互いに異なる変数を指し示す可能性がある。このようなバックアップデータを更新後の制御ソフトウェアにおいて用いると、制御ソフトウェアが意図しない動作を発生させる可能性がある。
上記のような状況を回避するための手段として、制御ソフトウェアの更新前後においてバックアップデータの構成に差異がある場合、バックアップデータ記憶領域を初期化することが考えられる。しかし、バックアップデータは個々の車両制御装置固有の情報を蓄積しているので、可能な限り初期化せず更新前の値を引き継ぐことが望ましい。
本発明は、上記のような課題に鑑みてなされたものであり、制御ソフトウェアを更新することにともなってバックアップデータ記憶領域上におけるバックアップデータの構成が変化した場合であっても、バックアップデータの同一性を維持して引き継ぐ技術を提供することを目的とする。
本発明に係るリプログラミングシステムは、バックアップデータ内の変数毎に更新前後の格納先アドレスに関する差分を特定し、その特定した差分毎に前記変数の格納先アドレスを更新する。
本発明に係るリプログラミングシステムによれば、制御ソフトウェアの更新前後においてバックアップデータの構成が異なる場合であっても、更新前のバックアップデータを効率的に引き継ぐことができる。
リプログラミングシステム100の構成図である。 構成テーブル141のテーブル構成とデータ例を示す図である。 従来のリプログラミングシステムが制御ソフトウェアを更新する処理を説明するフローチャートである。 ECU110が保持している制御ソフトウェア151をリプログラミングシステム100が更新する処理を説明するフローチャートである。 ステップS404の詳細を説明するフローチャートである。 パラメータテーブル142のテーブル構成とデータ例を示す図である。 ステップS506の詳細を説明するフローチャートである。
<リプログラミングシステムの構成>
図1は、本発明に係るリプログラミングシステム100の構成図である。リプログラミングシステム100は、車両制御装置(Electronic Control Unit:ECU)110が実行する制御ソフトウェアを更新するためのシステムであり、リプログラミング装置130、バックアップデータデータベース140、制御ソフトウェアデータベース150を備える。
ECU110は、車両の動作を制御する処理を実装した制御ソフトウェアを実行することにより当該車両の動作を制御する装置である。ECU110は、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、EEPROM114、通信回路115を備える。
CPU111は、ROM112が格納している制御ソフトウェアを実行する演算装置である。以下では記載の便宜上、CPU111が実行するソフトウェアを動作主体として説明する場合があるが、実際にそれらソフトウェアを実行するのはCPU111である。RAM113は、CPU111が使用するデータを一時的に保存するメモリデバイスである。EEPROM114は、バックアップデータを格納するバックアップデータ記憶領域を有し、同領域内にバックアップデータを格納している。通信回路115は、通信線160を介して他のECU110と通信する。
CPU111は、必要に応じて他のECU110と通信してデータを取得し、制御ソフトウェアを実行することにより車両の動作を制御する。CPU111は、制御ソフトウェアを実行する際に、EEPROM114が格納しているバックアップデータをRAM113上へ読み出し、これを更新する。制御ソフトウェアを終了するとき(あるいはECU110をシャットダウンするときなど適当なタイミング)、CPU111はRAM113上のバックアップデータをEEPROM114へ書き戻す。EEPROM114はECU110に対する電源供給が遮断されてもデータを保持するので、バックアップデータは永続的に保存される。
リプログラミング装置130は、コネクタ120を介して当該車両に接続され、ROM112が格納している制御ソフトウェアを更新するようCPU111に対して指示する。ROM112は、制御ソフトウェアを更新する処理を記述した書き換えソフトウェアをさらに格納しており、CPU111はリプログラミング装置130から更新指示および制御ソフトウェアの新版を受け取ると、書き換えソフトウェアを実行することによりROM112上の制御ソフトウェアを更新する。
リプログラミング装置130は、制御ソフトウェアを更新する際に、EEPROM114内のバックアップデータを、必要に応じて、更新後の制御ソフトウェアの仕様にしたがい更新する。
バックアップデータデータベース140は、EEPROM114上におけるバックアップデータの配置と各バックアップデータの詳細に関する情報を保持するデータベースであり、構成テーブル141とパラメータテーブル142を格納している。
構成テーブル141は、バックアップデータのEEPROM114上における格納先アドレスを記述した構成データを、後述する構成ID毎に保持するデータテーブルである。構成テーブル141の詳細については後述の図2で改めて説明する。
パラメータテーブル142は、バックアップデータ内に含まれる各変数の属性パラメータを記述したパラメータデータを、後述する各変数のリビジョンごとに保持するデータテーブルである。パラメータテーブルの詳細については後述の図6で改めて説明する。
制御ソフトウェアデータベース150は、ROM112へ書き込む制御ソフトウェア151を格納したデータベースである。制御ソフトウェア151は、バックアップデータのバージョン番号に相当する構成ID152を内部的に保持している。CPU111は、制御ソフトウェア151をROM112に対して書き込む際に、例えば構成ID152を特定のアドレス上に配置する。当該アドレスを読み出すことにより、ECU110が保持している制御ソフトウェア151の現行の構成ID152を取得することができる。
図2は、構成テーブル141のテーブル構成とデータ例を示す図である。構成テーブル141は、バックアップデータ内の各変数のリビジョン(バージョン番号)毎に、EEPROM114上における格納先アドレスを記述している。構成ID152が異なればバックアップデータ内に含まれる変数も異なる場合があるので、構成テーブル141は構成ID152毎(すなわち後述の構成IDフィールド1411毎)に設けることができる。
構成テーブル141は、構成IDフィールド1411、アドレスフィールド1412、変数IDフィールド1413、変数リビジョンフィールド1414を有する。
構成IDフィールド1411は、制御ソフトウェアデータベース150が格納している各制御ソフトウェア151の構成ID152を保持する。アドレスフィールド1412は、構成IDフィールド1411によって特定されるバックアップデータ内に含まれる各変数がEEPROM114上において格納されるアドレスを保持する。変数IDフィールド1413は、各変数を識別するIDである。変数リビジョンフィールド1414は、各変数のリビジョンを保持する。
<従来技術における制御ソフトウェアの更新動作>
図3は、従来のリプログラミングシステムが制御ソフトウェアを更新する処理を説明するフローチャートである。以下図3の各ステップについて説明する。
(図3:ステップS301)
書き換えソフトウェアは、リプログラミング装置130からの指示に従い、ROM112に対して制御ソフトウェアを書き込む。
(図3:ステップS302)
リプログラミング装置130の使用者は、制御ソフトウェア151の更新前後それぞれに対応するバックアップデータが互換性を有するか否かを判断する。互換性が無いと判断した場合はステップS303へ進み、互換性があると判断した場合は本フローチャートを終了する。
(図3:ステップS303)
リプログラミング装置130の使用者は、バックアップデータを初期化する。ここでいう初期化とは、既存のバックアップデータが蓄積している変数値などを消去することを指す。すなわち、互換性の無いバックアップデータを制御ソフトウェアが参照することがないように、バックアップデータはすべて初期化される。
ステップS302におけるバックアップデータの互換性の判断は、リプログラミング装置130の使用者によってマニュアル操作により実施される。したがって、本来バックアップデータを初期化すべきところ、これが実施されず、制御ソフトウェアが意図しない動作を起こす可能性がある。
また従来のリプログラミングシステムは、バックアップデータの構成要素(バックアップデータ内に含まれる各変数など)のうちどの部分が互換性を有しているかを判断していない。したがって、更新前後に係るバックアップデータのうち一部のみが互換性を有していない場合であっても、その全体を初期化する必要がある。したがって、それまでの動作過程において蓄積した当該車両制御装置固有のバックアップデータは、制御ソフトウェアの更新によって初期化され、引き継がれない。
そこで本発明は、バックアップデータの互換性を判断するとともに、互換性を有していない部分については更新後のバックアップデータの仕様に応じて変換を施すことにより、更新前のバックアップデータの変数値を引き継ぐ技術を提供する。
<本発明における制御ソフトウェアの更新動作>
図4は、ECU110が保持している制御ソフトウェア151をリプログラミングシステム100が更新する処理を説明するフローチャートである。以下図4の各ステップについて説明する。
(図4:ステップS401)
リプログラミング装置130は、ECU110が保持している制御ソフトウェア151の構成ID152を取得するとともに、更新版の制御ソフトウェア151(これからEEPROM114に対して書き込もうとしている制御ソフトウェア151)の構成ID152を取得する。
(図4:ステップS402)
リプログラミング装置130は、ステップS401において取得した新旧それぞれの構成ID152を比較する。両構成ID152が同一である場合はステップS406へスキップし、同一でない場合はステップS403へ進む。
(図4:ステップS402:補足)
構成ID152が同一である場合、更新後の制御ソフトウェア151に対応するバックアップデータの構成は変更されないとみなすことができるので、現行のバックアップデータを更新後の制御ソフトウェア151がそのまま引き継ぐことができる。ここでいうバックアップデータの引き継ぎとは、更新前の制御ソフトウェア151が参照していた各変数およびその格納先アドレスを、更新後の制御ソフトウェア151がそのまま用いることを指す。
(図4:ステップS403)
リプログラミング装置130は、更新前後それぞれの制御ソフトウェア151に対応する構成ID152が登録されているか否かを、バックアップデータデータベース140に対して問い合わせる。いずれも登録されている場合はステップS404へ進み、少なくともいずれかが登録されていない場合はステップS405へ進む。
(図4:ステップS404)
リプログラミング装置130は、後述の図5で説明するフローチャートにしたがって、現行のバックアップデータの構成を、更新後の制御ソフトウェア151の仕様に応じて変換する。
(図4:ステップS405)
更新前後いずれかの構成ID152がバックアップデータデータベース140内に登録されていない場合、その構成ID152に対応するバックアップデータはリプログラミングシステム100が想定していない未知のものであると考えられる。したがってリプログラミング装置130は、EEPROM114が格納している現行のバックアップデータを初期化し、更新後の構成ID152に対応するバックアップデータを用いる。
(図4:ステップS403〜S405:補足その1)
本ステップにおいて、新旧それぞれの構成ID152を比較することにより、バックアップデータの構成が変更されるか否かを確実に判別することができる。また、バックアップデータを初期化するのは、バックアップデータデータベース140が保持していない未知の構成ID152が指定された場合のみに限られるので、できる限り既存のバックアップデータの変数値を引き継ぐことができる。
(図4:ステップS403〜S405:補足その2)
バックアップデータの構成が変更されるか否かを判別するために、制御ソフトウェア151のバージョンを一意に識別するバージョン番号などを用いることも考えられる。しかし、制御ソフトウェア151が更新された場合であってもバックアップデータの構成が必ずしも変更されるとは限らない。したがって、バックアップデータそのものの構成を識別する構成ID152を用いる方が、より効果的であると考えられる。
(図4:ステップS406)
リプログラミング装置130は、更新版の制御ソフトウェア151をROM112に対して書き込む。
図5は、ステップS404の詳細を説明するフローチャートである。以下図5の各ステップについて説明する。
(図5:ステップS501)
リプログラミング装置130は、制御ソフトウェア151の更新前後それぞれに対応する構成ID152をキーにして、構成テーブル140の対応するレコードを読み出す。
(図5:ステップS502)
リプログラミング装置130は、ステップS501において読み出した各レコードについて、変数IDフィールド1413の構成および各変数IDフィールド1413に対応する変数リビジョンフィールド1414が同一であるか否かを判定する。すなわち、バックアップデータ内に含まれる変数およびそのリビジョンが、制御ソフトウェア151の更新にともなって変更されるか否かを判定する。変数IDフィールド1413および対応する変数リビジョンフィールド1414がいずれも同一である場合はステップS503へ進み、いずれかが異なる場合はステップS505へ進む。
(図5:ステップS503〜S504)
リプログラミング装置130は、ステップS501において読み出した各レコードについて、アドレスフィールド1412が同一であるか否かを判定する。制御ソフトウェア151の更新前後に対応するアドレスフィールド1412が互いに異なる場合、リプログラミング装置130は現行のバックアップデータの各変数の格納先アドレスを、更新後の制御ソフトウェア151に対応するアドレスフィールド1412が指定するアドレスに変更する。アドレスフィールド1412が同一である場合は現行のバックアップデータをそのまま引き継ぐことができるので、本フローチャートを終了する。
(図5:ステップS503〜S504:補足その1)
変数IDフィールド1413と変数リビジョンフィールド1414が同一であり、アドレスフィールド1412のみが異なる場合、その変数の内容は同一であるが、格納先アドレスのみが移動されていることになる。したがって本ステップにおいて、格納先アドレスのみを更新することとした。これにより、バックアップデータ内の変数のアドレスが変更された場合であっても、更新前の変数値を引き継ぐことができる。
(図5:ステップS503〜S504:補足その2)
リプログラミング装置130は、現行のバックアップデータのアドレスを変換する際には、例えば更新前の変数が格納されているアドレスから現行の変数値を読み取り、その値を更新後の変数の格納先アドレスに対して再格納する。
(図5:ステップS505)
リプログラミング装置130は、ステップS501において読み出した各レコードについて、変数IDフィールド1413の構成が同一であるか否かを判定する。すなわち、変数IDフィールド1413の構成が同一であって変数リビジョンフィールド1414のみが異なるのか否かを判定する。変数IDフィールド1413の構成が同一である場合はステップS506へ進み、同一でない場合はステップS507へ進む。
(図5:ステップS506)
リプログラミング装置130は、後述の図7で説明するフローチャートにしたがって、現行のバックアップデータ内に含まれる変数を、更新後の制御ソフトウェア151の仕様に応じて変換する。
(図5:ステップS507)
更新前後それぞれの変数IDフィールド1413と変数リビジョンフィールド1414がいずれも一致しない場合、当該変数は新たに設けられたものであり、現行の変数値を引き継ぐことはできないと考えられる。したがってリプログラミング装置130は、当該変数値として後述の図6で説明する初期値をセットし、EEPROM114に格納する。
(図5:ステップS502〜S507:補足その1)
更新前後少なくともいずれかのバックアップデータが2以上の変数を含む場合(すなわち、当該バックアップデータの構成ID152に対応する構成テーブル141(図2)の構成データ内に2以上の行が含まれる場合)、ステップS502〜S507をその変数の個数に応じて実施する必要がある。例えばステップS502については、更新後バックアップデータ内の1つ目の変数IDフィールド1413/変数リビジョンフィールド1414と合致するものが存在するか否かを、更新前バックアップデータ内の全変数を対象として検索する必要がある。合致するものがある場合は、その合致した変数についてステップS503を実施する。変数IDフィールド1413のみが合致する変数が更新前バックアップデータ内に存在する場合は、ステップS506を実施する。
(図5:ステップS502〜S507:補足その2)
以上のステップにおいて、変数IDフィールド1413と変数リビジョンフィールド1414が合致するか否かを判定することにより、更新前後に係る変数間の差分を特定し、その差分のみを更新後バックアップデータの仕様に準じて変換することができる。この変換処理は、後述の図6〜図7で説明するように、現行の変数値そのものを引き継ぎつつ、制御ソフトウェア上における取り扱いのみを変更するものであるので、現行の変数値を初期化することなく引き継ぐことができる。
(図5:ステップS502〜S507:補足その3)
以上のステップにおいて、変数IDフィールド1413と変数リビジョンフィールド1414がいずれも合致しない変数については、新たに設けられた変数であるとみなして初期値をセットする。これにより、パラメータの設定漏れなどに起因する不具合を抑制することができる。
図6は、パラメータテーブル142のテーブル構成とデータ例を示す図である。パラメータテーブル142は、バックアップデータ内の各変数のリビジョン毎に、当該変数の属性パラメータを記述している。パラメータテーブル142は、構成テーブル141と同様に構成ID毎に設けることもできる。
パラメータテーブル142は、IDフィールド1421、リビジョンフィールド1422、名称フィールド1423、データ型フィールド1424、ビットレートフィールド1425、オフセットフィールド1426、初期値フィールド1427を有する。
IDフィールド1421は、変数IDフィールド1413に対応し、バックアップデータ内の各変数を一意に識別するIDを保持する。リビジョンフィールド1422は、変数リビジョンフィールド1414に対応し、当該変数のリビジョンを保持する。名称フィールド1423は、制御ソフトウェア151内における当該変数の変数名を保持する。データ型フィールド1424は、制御ソフトウェア151内における当該変数のデータ型を保持する。ビットレートフィールド1425とオフセットフィールド1426は、制御ソフトウェア151内において当該変数値を制御演算上における物理値に変換する際に用いる乗数およびオフセット値である。詳細は図7で改めて説明する。初期値フィールド1427は、ステップS507においてセットされる初期値である。
IDフィールド1421(変数IDフィールド1413)は、バックアップデータ内の各変数の意味を一意に識別するIDである。したがって例えば、IDフィールド1421=12が当該車両の走行距離を格納する変数であれば、データ型やビットレートなどその他属性が変化したとしても、当該変数が走行距離を格納することは変わらない。同一のIDフィールド1421のデータ型やビットレートなどその他属性を変更する場合は、リビジョンフィールド1422を変更して新たな属性をセットすればよい。
図7は、ステップS506の詳細を説明するフローチャートである。以下図7の各ステップについて説明する。
(図7:ステップS701)
リプログラミング装置130は、更新前後それぞれの変数およびそのリビジョンをキーにして、パラメータテーブル142の対応するレコードを取得する。
(図7:ステップS702)
リプログラミング装置130は、更新前の変数値に対して更新前のビットレートフィールド1425を乗算し、さらにその結果に対して更新前のオフセットフィールド1426を加算する。これにより、更新前の変数値が制御演算上における物理値へ変換される。
(図7:ステップS703)
リプログラミング装置130は、ステップS702の結果から更新後のオフセットフィールド1426を減算し、さらにその結果を更新後のビットレートフィールド1425によって除算する。これにより、更新前の物理値が更新後の変数値へ変換される。
(図7:ステップS704)
リプログラミング装置130は、更新前の変数値のデータ型を更新後のデータ型へ変換する。このとき、変数値が更新後のデータ型の上下限値の範囲内に収まるように、変数値を丸めるなどの必要な処理を適宜実施する。
(図7:ステップS701〜S704:補足)
以上のステップによれば、バックアップデータの属性パラメータ(変数名、ビットレート、オフセット、初期値など)が制御ソフトウェア151の更新によって変更されたとしても、構成IDフィールド1411、変数IDフィールド1413、変数リビジョンフィールド1414によって各変数の意味を一意に識別することができる。これにより、更新前後に係る変数属性の差分を更新後のバックアップデータの仕様に応じて変換し、更新前の変数値を引き継ぐことができる。したがって、学習値や故障診断結果などの車両制御装置固有のデータを引き継ぎ、サービス性を向上させることができる。
<本発明の変形例について>
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換える事が可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について他の構成の追加・削除・置換をすることができる。
以上の実施形態において、構成ID152は制御ソフトウェア151内ではなく、バックアップデータ記憶領域内に格納してもよい。バックアップデータデータベース140と制御ソフトウェアデータベース150は、リプログラミング装置130内部に設けることもできるし、リプログラミング装置130外に設けることもできる。後者の場合、リプログラミング装置130、バックアップデータデータベース140、および制御ソフトウェアデータベース150は、有線または無線で接続することができる。あるいはインターネットなど外部ネットワークを介して接続することもできる。
以上の実施形態において、変数IDフィールド1413と変数リビジョンフィールド1414を分けて管理しているが、これらを統合して単一のIDにより一意に管理することもできる。アドレスフィールド1412、変数IDフィールド1413、変数リビジョンフィールド1414のうち少なくともいずれかは、構成テーブル141とは別のテーブルに分割して管理することもできる。パラメータテーブル142におけるIDフィールド1421とリビジョンフィールド1422についても同様である。
以上の実施形態において、名称フィールド1423、データ型フィールド1424、ビットレートフィールド1425、オフセットフィールド1426、初期値フィールド1427のうち少なくともいずれかは、パラメータテーブル142とは別のテーブルに分割して管理することもできる。これらのフィールドに代えて、変数の変換方法自体をパラメータとして保持することもできる。
100:リプログラミングシステム、110:ECU、111:CPU、112:ROM、113:RAM、114:EEPROM、115:通信回路、130:リプログラミング装置、140:バックアップデータデータベース、141:構成テーブル、142:パラメータテーブル、150:制御ソフトウェアデータベース、151:制御ソフトウェア、152:構成ID。

Claims (5)

  1. 車両の動作を制御する処理を記述した制御ソフトウェアを実行する車両制御装置の前記制御ソフトウェアを更新するリプログラミングシステムであって、
    前記車両制御装置は、
    前記車両制御装置が前記制御ソフトウェアを実行することにより更新するデータのうち前記車両制御装置に対する電源供給が途絶えても保持すべき永続化データを格納する不揮発性メモリを備え、
    前記リプログラミングシステムは、
    前記制御ソフトウェアの更新版に対応する前記永続化データの更新版を前記不揮発性メモリに対して書き込むリプログラミング装置、
    前記永続化データの前記不揮発性メモリ上における格納先アドレスを前記永続化データ内に含まれる1以上の変数毎に記述した構成テーブル、
    を有し、
    前記リプログラミング装置は、
    前記構成テーブルの記述にしたがって、前記格納先アドレスについての前記制御ソフトウェアの更新前後に係る前記変数間の差分を特定し、
    更新前の前記永続化データ内に含まれる前記変数の前記格納先アドレスを、特定した前記差分毎に、更新後の前記永続化データに対応する前記格納先アドレスへ更新する
    ことを特徴とするリプログラミングシステム。
  2. 前記構成テーブルはさらに、
    前記変数の1以上のバージョンとそのバージョン番号を、前記永続化データのバージョン番号毎に保持しており、
    前記リプログラミング装置は、
    更新前後それぞれの前記永続化データのバージョン番号をキーにして、更新前後それぞれの前記永続化データに対応する前記変数とそのバージョン番号を前記構成テーブルから取得し、
    更新前後において前記変数とそのバージョン番号が同一であり前記格納先アドレスが異なる場合は、前記格納先アドレスを更新後の前記永続化データに対応する前記格納先アドレスに変換した上で、前記変数を前記不揮発性メモリに対して書き込む
    ことを特徴とする請求項1記載のリプログラミングシステム。
  3. 前記リプログラミングシステムはさらに、
    前記変数の初期値を前記変数のバージョン毎に記述したパラメータテーブルを有し、
    前記リプログラミング装置は、
    更新前後において前記変数とそのバージョン番号がともに異なる場合は、更新後の前記永続化データに対応する前記変数の初期値を前記不揮発性メモリに対して書き込む
    ことを特徴とする請求項2記載のリプログラミングシステム。
  4. 前記リプログラミング装置は、
    更新前後において前記変数が同一でありそのバージョン番号が異なる場合は、前記変数を更新後の前記永続化データに対応するバージョンに変換した上で、前記変数を前記不揮発性メモリに対して書き込む
    ことを特徴とする請求項2記載のリプログラミングシステム。
  5. 前記リプログラミングシステムはさらに、
    前記制御ソフトウェア内部における前記変数のデータ型、
    前記変数を前記制御における物理値に変換する際に前記変数に対して乗算する乗数、
    前記変数を前記制御における物理値に変換する際に前記変数に対して加算するオフセット値、
    を前記変数のバージョン毎に記述したパラメータテーブルを有し、
    前記リプログラミング装置は、前記変数を更新後の前記永続化データに対応するバージョンに変換する際に、前記パラメータテーブルの記述にしたがって、
    更新前の前記永続化データに対応する前記乗数および前記オフセット値を用いて前記変数を前記物理値に変換した後、更新後の前記永続化データに対応する前記乗数および前記オフセット値を用いて前記物理値を前記変数に再変換し、
    前記再変換後の前記変数のデータ型を更新後の前記永続化データに対応する前記変数のデータ型に変換する
    ことを特徴とする請求項4記載のリプログラミングシステム。
JP2015116707A 2015-06-09 2015-06-09 リプログラミングシステム Active JP6464038B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015116707A JP6464038B2 (ja) 2015-06-09 2015-06-09 リプログラミングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015116707A JP6464038B2 (ja) 2015-06-09 2015-06-09 リプログラミングシステム

Publications (2)

Publication Number Publication Date
JP2017004212A true JP2017004212A (ja) 2017-01-05
JP6464038B2 JP6464038B2 (ja) 2019-02-06

Family

ID=57752086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015116707A Active JP6464038B2 (ja) 2015-06-09 2015-06-09 リプログラミングシステム

Country Status (1)

Country Link
JP (1) JP6464038B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659039A (zh) * 2018-06-29 2020-01-07 株式会社斯巴鲁 车辆
CN111684416A (zh) * 2018-02-16 2020-09-18 日立汽车系统株式会社 车辆控制装置及程序更新系统
WO2021039795A1 (ja) * 2019-08-28 2021-03-04 株式会社デンソー 車両用電子制御システム、車両用マスタ装置、コンフィグ情報の書戻しによる書換え指示方法及びコンフィグ情報の書戻しによる書換え指示プログラム
CN113391760A (zh) * 2020-03-12 2021-09-14 西部数据技术公司 分区存储中的快照管理
CN113391760B (zh) * 2020-03-12 2024-06-04 西部数据技术公司 分区存储中的快照管理

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
JP2010015265A (ja) * 2008-07-01 2010-01-21 Denso Corp プログラム書き換え装置およびプログラム書き換え方法
JP2011150617A (ja) * 2010-01-25 2011-08-04 Mitsubishi Electric Corp 電子制御装置
JP2014191601A (ja) * 2013-03-27 2014-10-06 Oki Data Corp ファームウェア更新方法及びファームウェアプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
JP2010015265A (ja) * 2008-07-01 2010-01-21 Denso Corp プログラム書き換え装置およびプログラム書き換え方法
JP2011150617A (ja) * 2010-01-25 2011-08-04 Mitsubishi Electric Corp 電子制御装置
JP2014191601A (ja) * 2013-03-27 2014-10-06 Oki Data Corp ファームウェア更新方法及びファームウェアプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111684416A (zh) * 2018-02-16 2020-09-18 日立汽车系统株式会社 车辆控制装置及程序更新系统
CN111684416B (zh) * 2018-02-16 2023-09-29 日立安斯泰莫株式会社 车辆控制装置及程序更新系统
CN110659039A (zh) * 2018-06-29 2020-01-07 株式会社斯巴鲁 车辆
JP2020004193A (ja) * 2018-06-29 2020-01-09 株式会社Subaru 車両
US11036487B2 (en) 2018-06-29 2021-06-15 Subaru Corporation Vehicle
WO2021039795A1 (ja) * 2019-08-28 2021-03-04 株式会社デンソー 車両用電子制御システム、車両用マスタ装置、コンフィグ情報の書戻しによる書換え指示方法及びコンフィグ情報の書戻しによる書換え指示プログラム
JPWO2021039795A1 (ja) * 2019-08-28 2021-03-04
JP7331931B2 (ja) 2019-08-28 2023-08-23 株式会社デンソー 車両用電子制御システム
CN113391760A (zh) * 2020-03-12 2021-09-14 西部数据技术公司 分区存储中的快照管理
CN113391760B (zh) * 2020-03-12 2024-06-04 西部数据技术公司 分区存储中的快照管理

Also Published As

Publication number Publication date
JP6464038B2 (ja) 2019-02-06

Similar Documents

Publication Publication Date Title
US20210149802A1 (en) Data processing method, and cartridge chip using themethod
JP6464038B2 (ja) リプログラミングシステム
US20150113210A1 (en) Data storage flash memory management method and program
JP4411953B2 (ja) フィールド機器のメモリ更新システム
US10140055B2 (en) Ensuring that memory device actions are valid using reference values
CN106789379A (zh) 更新方法和服务器机柜
JP6028670B2 (ja) データ記憶装置
JP2016062319A (ja) データ読み出し装置、プログラムおよびデータ読み出し方法
CN106802811B (zh) 程序写入方法和装置
JP6301820B2 (ja) リプログラミングシステム
CN112199109A (zh) 一种固件升级方法、装置、设备及介质
JP2014050137A (ja) インバータ装置
JP6614404B1 (ja) システム設計支援装置、方法、プログラム及び記録媒体
JP7087334B2 (ja) 電子制御装置
JP2019020837A (ja) 電子制御装置
JP5417820B2 (ja) システムファイル共有装置、システムファイル共有方法及びプログラム
CN110023909A (zh) 控制装置以及程序更新方法
JP2016157245A (ja) 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
CN109669628B (zh) 基于flash设备的数据存储管理方法及装置
JP2016139321A (ja) 光トランシーバ
JPWO2016046940A1 (ja) フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム
JP2006004177A (ja) プログラムのダウンロード方法
CN112732309B (zh) Flash存储器的更新方法、装置和电子设备
CN111241008B (zh) 用于校正eeprom变量与地址的方法、装置和控制器
JP5488104B2 (ja) 電子機器及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

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: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190107

R150 Certificate of patent or registration of utility model

Ref document number: 6464038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250