JP6464038B2 - リプログラミングシステム - Google Patents
リプログラミングシステム Download PDFInfo
- Publication number
- JP6464038B2 JP6464038B2 JP2015116707A JP2015116707A JP6464038B2 JP 6464038 B2 JP6464038 B2 JP 6464038B2 JP 2015116707 A JP2015116707 A JP 2015116707A JP 2015116707 A JP2015116707 A JP 2015116707A JP 6464038 B2 JP6464038 B2 JP 6464038B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- update
- data
- control software
- reprogramming
- 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
Links
- 230000008672 reprogramming Effects 0.000 title claims description 56
- 230000002688 persistence Effects 0.000 claims 5
- 230000002085 persistent effect Effects 0.000 claims 4
- 230000000717 retained effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 239000013589 supplement Substances 0.000 description 9
- 238000013500 data storage Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
図1は、本発明に係るリプログラミングシステム100の構成図である。リプログラミングシステム100は、車両制御装置(Electronic Control Unit:ECU)110が実行する制御ソフトウェアを更新するためのシステムであり、リプログラミング装置130、バックアップデータデータベース140、制御ソフトウェアデータベース150を備える。
図3は、従来のリプログラミングシステムが制御ソフトウェアを更新する処理を説明するフローチャートである。以下図3の各ステップについて説明する。
書き換えソフトウェアは、リプログラミング装置130からの指示に従い、ROM112に対して制御ソフトウェアを書き込む。
リプログラミング装置130の使用者は、制御ソフトウェア151の更新前後それぞれに対応するバックアップデータが互換性を有するか否かを判断する。互換性が無いと判断した場合はステップS303へ進み、互換性があると判断した場合は本フローチャートを終了する。
リプログラミング装置130の使用者は、バックアップデータを初期化する。ここでいう初期化とは、既存のバックアップデータが蓄積している変数値などを消去することを指す。すなわち、互換性の無いバックアップデータを制御ソフトウェアが参照することがないように、バックアップデータはすべて初期化される。
図4は、ECU110が保持している制御ソフトウェア151をリプログラミングシステム100が更新する処理を説明するフローチャートである。以下図4の各ステップについて説明する。
リプログラミング装置130は、ECU110が保持している制御ソフトウェア151の構成ID152を取得するとともに、更新版の制御ソフトウェア151(これからEEPROM114に対して書き込もうとしている制御ソフトウェア151)の構成ID152を取得する。
リプログラミング装置130は、ステップS401において取得した新旧それぞれの構成ID152を比較する。両構成ID152が同一である場合はステップS406へスキップし、同一でない場合はステップS403へ進む。
構成ID152が同一である場合、更新後の制御ソフトウェア151に対応するバックアップデータの構成は変更されないとみなすことができるので、現行のバックアップデータを更新後の制御ソフトウェア151がそのまま引き継ぐことができる。ここでいうバックアップデータの引き継ぎとは、更新前の制御ソフトウェア151が参照していた各変数およびその格納先アドレスを、更新後の制御ソフトウェア151がそのまま用いることを指す。
リプログラミング装置130は、更新前後それぞれの制御ソフトウェア151に対応する構成ID152が登録されているか否かを、バックアップデータデータベース140に対して問い合わせる。いずれも登録されている場合はステップS404へ進み、少なくともいずれかが登録されていない場合はステップS405へ進む。
リプログラミング装置130は、後述の図5で説明するフローチャートにしたがって、現行のバックアップデータの構成を、更新後の制御ソフトウェア151の仕様に応じて変換する。
更新前後いずれかの構成ID152がバックアップデータデータベース140内に登録されていない場合、その構成ID152に対応するバックアップデータはリプログラミングシステム100が想定していない未知のものであると考えられる。したがってリプログラミング装置130は、EEPROM114が格納している現行のバックアップデータを初期化し、更新後の構成ID152に対応するバックアップデータを用いる。
本ステップにおいて、新旧それぞれの構成ID152を比較することにより、バックアップデータの構成が変更されるか否かを確実に判別することができる。また、バックアップデータを初期化するのは、バックアップデータデータベース140が保持していない未知の構成ID152が指定された場合のみに限られるので、できる限り既存のバックアップデータの変数値を引き継ぐことができる。
バックアップデータの構成が変更されるか否かを判別するために、制御ソフトウェア151のバージョンを一意に識別するバージョン番号などを用いることも考えられる。しかし、制御ソフトウェア151が更新された場合であってもバックアップデータの構成が必ずしも変更されるとは限らない。したがって、バックアップデータそのものの構成を識別する構成ID152を用いる方が、より効果的であると考えられる。
リプログラミング装置130は、更新版の制御ソフトウェア151をROM112に対して書き込む。
リプログラミング装置130は、制御ソフトウェア151の更新前後それぞれに対応する構成ID152をキーにして、構成テーブル140の対応するレコードを読み出す。
リプログラミング装置130は、ステップS501において読み出した各レコードについて、変数IDフィールド1413の構成および各変数IDフィールド1413に対応する変数リビジョンフィールド1414が同一であるか否かを判定する。すなわち、バックアップデータ内に含まれる変数およびそのリビジョンが、制御ソフトウェア151の更新にともなって変更されるか否かを判定する。変数IDフィールド1413および対応する変数リビジョンフィールド1414がいずれも同一である場合はステップS503へ進み、いずれかが異なる場合はステップS505へ進む。
リプログラミング装置130は、ステップS501において読み出した各レコードについて、アドレスフィールド1412が同一であるか否かを判定する。制御ソフトウェア151の更新前後に対応するアドレスフィールド1412が互いに異なる場合、リプログラミング装置130は現行のバックアップデータの各変数の格納先アドレスを、更新後の制御ソフトウェア151に対応するアドレスフィールド1412が指定するアドレスに変更する。アドレスフィールド1412が同一である場合は現行のバックアップデータをそのまま引き継ぐことができるので、本フローチャートを終了する。
変数IDフィールド1413と変数リビジョンフィールド1414が同一であり、アドレスフィールド1412のみが異なる場合、その変数の内容は同一であるが、格納先アドレスのみが移動されていることになる。したがって本ステップにおいて、格納先アドレスのみを更新することとした。これにより、バックアップデータ内の変数のアドレスが変更された場合であっても、更新前の変数値を引き継ぐことができる。
リプログラミング装置130は、現行のバックアップデータのアドレスを変換する際には、例えば更新前の変数が格納されているアドレスから現行の変数値を読み取り、その値を更新後の変数の格納先アドレスに対して再格納する。
リプログラミング装置130は、ステップS501において読み出した各レコードについて、変数IDフィールド1413の構成が同一であるか否かを判定する。すなわち、変数IDフィールド1413の構成が同一であって変数リビジョンフィールド1414のみが異なるのか否かを判定する。変数IDフィールド1413の構成が同一である場合はステップS506へ進み、同一でない場合はステップS507へ進む。
リプログラミング装置130は、後述の図7で説明するフローチャートにしたがって、現行のバックアップデータ内に含まれる変数を、更新後の制御ソフトウェア151の仕様に応じて変換する。
更新前後それぞれの変数IDフィールド1413と変数リビジョンフィールド1414がいずれも一致しない場合、当該変数は新たに設けられたものであり、現行の変数値を引き継ぐことはできないと考えられる。したがってリプログラミング装置130は、当該変数値として後述の図6で説明する初期値をセットし、EEPROM114に格納する。
更新前後少なくともいずれかのバックアップデータが2以上の変数を含む場合(すなわち、当該バックアップデータの構成ID152に対応する構成テーブル141(図2)の構成データ内に2以上の行が含まれる場合)、ステップS502〜S507をその変数の個数に応じて実施する必要がある。例えばステップS502については、更新後バックアップデータ内の1つ目の変数IDフィールド1413/変数リビジョンフィールド1414と合致するものが存在するか否かを、更新前バックアップデータ内の全変数を対象として検索する必要がある。合致するものがある場合は、その合致した変数についてステップS503を実施する。変数IDフィールド1413のみが合致する変数が更新前バックアップデータ内に存在する場合は、ステップS506を実施する。
以上のステップにおいて、変数IDフィールド1413と変数リビジョンフィールド1414が合致するか否かを判定することにより、更新前後に係る変数間の差分を特定し、その差分のみを更新後バックアップデータの仕様に準じて変換することができる。この変換処理は、後述の図6〜図7で説明するように、現行の変数値そのものを引き継ぎつつ、制御ソフトウェア上における取り扱いのみを変更するものであるので、現行の変数値を初期化することなく引き継ぐことができる。
以上のステップにおいて、変数IDフィールド1413と変数リビジョンフィールド1414がいずれも合致しない変数については、新たに設けられた変数であるとみなして初期値をセットする。これにより、パラメータの設定漏れなどに起因する不具合を抑制することができる。
リプログラミング装置130は、更新前後それぞれの変数およびそのリビジョンをキーにして、パラメータテーブル142の対応するレコードを取得する。
リプログラミング装置130は、更新前の変数値に対して更新前のビットレートフィールド1425を乗算し、さらにその結果に対して更新前のオフセットフィールド1426を加算する。これにより、更新前の変数値が制御演算上における物理値へ変換される。
リプログラミング装置130は、ステップS702の結果から更新後のオフセットフィールド1426を減算し、さらにその結果を更新後のビットレートフィールド1425によって除算する。これにより、更新前の物理値が更新後の変数値へ変換される。
リプログラミング装置130は、更新前の変数値のデータ型を更新後のデータ型へ変換する。このとき、変数値が更新後のデータ型の上下限値の範囲内に収まるように、変数値を丸めるなどの必要な処理を適宜実施する。
以上のステップによれば、バックアップデータの属性パラメータ(変数名、ビットレート、オフセット、初期値など)が制御ソフトウェア151の更新によって変更されたとしても、構成IDフィールド1411、変数IDフィールド1413、変数リビジョンフィールド1414によって各変数の意味を一意に識別することができる。これにより、更新前後に係る変数属性の差分を更新後のバックアップデータの仕様に応じて変換し、更新前の変数値を引き継ぐことができる。したがって、学習値や故障診断結果などの車両制御装置固有のデータを引き継ぎ、サービス性を向上させることができる。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換える事が可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について他の構成の追加・削除・置換をすることができる。
Claims (4)
- 車両の動作を制御する処理を記述した制御ソフトウェアを実行する車両制御装置の前記制御ソフトウェアを更新するリプログラミングシステムであって、
前記車両制御装置は、
前記車両制御装置が前記制御ソフトウェアを実行することにより更新するデータのうち前記車両制御装置に対する電源供給が途絶えても保持すべき永続化データを格納する不揮発性メモリを備え、
前記リプログラミングシステムは、
前記制御ソフトウェアの更新版に対応する前記永続化データの更新版を前記不揮発性メモリに対して書き込むリプログラミング装置、
前記永続化データの前記不揮発性メモリ上における格納先アドレスを前記永続化データ内に含まれる1以上の変数毎に記述した構成テーブル、
を有し、
前記リプログラミング装置は、
前記構成テーブルの記述にしたがって、前記格納先アドレスについての前記制御ソフトウェアの更新前後に係る前記変数間の差分を特定し、
更新前の前記永続化データ内に含まれる前記変数の前記格納先アドレスを、特定した前記差分毎に、更新後の前記永続化データに対応する前記格納先アドレスへ更新し、
前記構成テーブルはさらに、
前記変数の1以上のバージョンとそのバージョン番号を、前記永続化データのバージョン番号毎に保持しており、
前記リプログラミング装置は、
更新前後それぞれの前記永続化データのバージョン番号をキーにして、更新前後それぞれの前記永続化データに対応する前記変数とそのバージョン番号を前記構成テーブルから取得し、
更新前後において前記変数とそのバージョン番号が同一であり前記格納先アドレスが異なる場合は、前記格納先アドレスを更新後の前記永続化データに対応する前記格納先アドレスに変換した上で、前記変数を前記不揮発性メモリに対して書き込む
ことを特徴とするリプログラミングシステム。 - 前記リプログラミングシステムはさらに、
前記変数の初期値を前記変数のバージョン毎に記述したパラメータテーブルを有し、 前記リプログラミング装置は、
更新前後において前記変数とそのバージョン番号がともに異なる場合は、更新後の前記永続化データに対応する前記変数の初期値を前記不揮発性メモリに対して書き込む
ことを特徴とする請求項1記載のリプログラミングシステム。 - 前記リプログラミング装置は、
更新前後において前記変数が同一でありそのバージョン番号が異なる場合は、前記変数を更新後の前記永続化データに対応するバージョンに変換した上で、前記変数を前記不揮発性メモリに対して書き込む
ことを特徴とする請求項1記載のリプログラミングシステム。 - 前記リプログラミングシステムはさらに、
前記制御ソフトウェア内部における前記変数のデータ型、
前記変数を前記制御における物理値に変換する際に前記変数に対して乗算する乗数、 前記変数を前記制御における物理値に変換する際に前記変数に対して加算するオフセット値、
を前記変数のバージョン毎に記述したパラメータテーブルを有し、
前記リプログラミング装置は、前記変数を更新後の前記永続化データに対応するバージョンに変換する際に、前記パラメータテーブルの記述にしたがって、
更新前の前記永続化データに対応する前記乗数および前記オフセット値を用いて前記変数を前記物理値に変換した後、更新後の前記永続化データに対応する前記乗数および前記オフセット値を用いて前記物理値を前記変数に再変換し、
前記再変換後の前記変数のデータ型を更新後の前記永続化データに対応する前記変数のデータ型に変換する
ことを特徴とする請求項3記載のリプログラミングシステム。
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 JP2017004212A (ja) | 2017-01-05 |
JP6464038B2 true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111684416B (zh) * | 2018-02-16 | 2023-09-29 | 日立安斯泰莫株式会社 | 车辆控制装置及程序更新系统 |
JP6718483B2 (ja) * | 2018-06-29 | 2020-07-08 | 株式会社Subaru | 車両 |
JP7331931B2 (ja) * | 2019-08-28 | 2023-08-23 | 株式会社デンソー | 車両用電子制御システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256228A (ja) * | 2002-02-28 | 2003-09-10 | Denso Corp | プログラム書換装置 |
JP5045584B2 (ja) * | 2008-07-01 | 2012-10-10 | 株式会社デンソー | プログラム書き換え装置 |
JP5079027B2 (ja) * | 2010-01-25 | 2012-11-21 | 三菱電機株式会社 | 電子制御装置 |
JP5929809B2 (ja) * | 2013-03-27 | 2016-06-08 | 株式会社沖データ | ファームウェア更新方法及びファームウェアプログラム |
-
2015
- 2015-06-09 JP JP2015116707A patent/JP6464038B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017004212A (ja) | 2017-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210149802A1 (en) | Data processing method, and cartridge chip using themethod | |
JP6464038B2 (ja) | リプログラミングシステム | |
JP2007241576A (ja) | 不揮発性記憶装置およびそのデータ書込み方法 | |
US20150113210A1 (en) | Data storage flash memory management method and program | |
JP2010033168A (ja) | 充電システム、バッテリ、充電装置、及びプログラム | |
JP4411953B2 (ja) | フィールド機器のメモリ更新システム | |
JP2007280108A (ja) | 記憶媒体制御装置、記憶媒体制御方法、プログラム | |
JP5821744B2 (ja) | データ有無判定装置、データ有無判定方法及びデータ有無判定プログラム | |
US10140055B2 (en) | Ensuring that memory device actions are valid using reference values | |
JP4586469B2 (ja) | メモリ制御装置、メモリ制御方法、プログラム | |
CN106789379A (zh) | 更新方法和服务器机柜 | |
TW201833421A (zh) | 可更新韌體的電子鎖系統 | |
JP2016062319A (ja) | データ読み出し装置、プログラムおよびデータ読み出し方法 | |
CN106802811B (zh) | 程序写入方法和装置 | |
JP6301820B2 (ja) | リプログラミングシステム | |
JP7087334B2 (ja) | 電子制御装置 | |
JP2014050137A (ja) | インバータ装置 | |
JP2019020837A (ja) | 電子制御装置 | |
US20130036257A1 (en) | Memory system which can avoid unavailability due to operation error by user | |
JPH04123243A (ja) | データ書込装置 | |
US20110082995A1 (en) | Information processing apparatus | |
WO2016046940A1 (ja) | フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム | |
JP4973844B2 (ja) | オブジェクト指向型車両用制御装置 | |
JP2016157245A (ja) | 情報処理装置、システム設定方法、及び、コンピュータ・プログラム | |
CN109669628B (zh) | 基于flash设备的数据存储管理方法及装置 |
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 |