[go: up one dir, main page]

JP6988636B2 - Reprogramming method - Google Patents

Reprogramming method Download PDF

Info

Publication number
JP6988636B2
JP6988636B2 JP2018062033A JP2018062033A JP6988636B2 JP 6988636 B2 JP6988636 B2 JP 6988636B2 JP 2018062033 A JP2018062033 A JP 2018062033A JP 2018062033 A JP2018062033 A JP 2018062033A JP 6988636 B2 JP6988636 B2 JP 6988636B2
Authority
JP
Japan
Prior art keywords
program
reprogramming
difference data
update
ecu
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
JP2018062033A
Other languages
Japanese (ja)
Other versions
JP2019175099A (en
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2018062033A priority Critical patent/JP6988636B2/en
Publication of JP2019175099A publication Critical patent/JP2019175099A/en
Application granted granted Critical
Publication of JP6988636B2 publication Critical patent/JP6988636B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、車両に搭載される制御装置のリプログラミング方法に関する。 The present invention relates to a method for reprogramming a control device mounted on a vehicle.

近年、車両には多くのECU(Electronic Control Unit)が搭載されており、ECUにより車両の制御が行われている。ECUには、車両の動作を制御する処理を記述したプログラムが記憶され、無線でECUのプログラムを更新するOTA(Over the Air)技術が開発されている。 In recent years, many ECUs (Electronic Control Units) are mounted on vehicles, and the vehicles are controlled by the ECUs. An OTA (Over the Air) technology has been developed in which a program describing a process for controlling the operation of a vehicle is stored in the ECU and the program of the ECU is updated wirelessly.

例えば、特許文献1には、プログラムの更新処理に失敗した場合でも、正常時の動作に復帰することができるようにするために、古いバージョンのプログラムを保持し、リプログラミングを行うことが開示されている。また、特許文献2には、プログラムを更新する際に、旧版バックアップデータの配置を記述した旧配置データと、新版バックアップデータの配置を記述した新配置データとを比較し、両者が同一であれば旧版バックアップデータを流用し、同一でなければ新版バックアップデータを新たに配置するリプログラミングシステムが記載されている。 For example, Patent Document 1 discloses that an old version of a program is retained and reprogrammed so that the normal operation can be restored even if the program update process fails. ing. Further, in Patent Document 2, when updating the program, the old layout data describing the layout of the old version backup data and the new layout data describing the layout of the new version backup data are compared, and if both are the same. A reprogramming system that diverts the old version backup data and newly allocates the new version backup data if they are not the same is described.

図6を参照して、従来のリプログラミングシステムの動作を説明する。リプログラミングサーバは更新プログラム及び属性情報を含む更新データをリプログラミング中継装置に送信する(ステップS31)。リプログラミング中継装置は、更新データを受信すると(ステップS11)、属性情報に基づいて特定したECUに更新プログラムを送信する(ステップS12)。 The operation of the conventional reprogramming system will be described with reference to FIG. The reprogramming server transmits the update data including the update program and the attribute information to the reprogramming relay device (step S31). When the reprogramming relay device receives the update data (step S11), the reprogramming relay device transmits the update program to the specified ECU based on the attribute information (step S12).

ECUは、更新プログラムを受信すると(ステップS21)、更新前のプログラム(旧プログラム)を更新プログラムに基づいて更新し(ステップS22)、更新したプログラム(新プログラム)のハッシュ値を生成する(ステップS23)。 When the ECU receives the update program (step S21), the ECU updates the program before the update (old program) based on the update program (step S22), and generates a hash value of the updated program (new program) (step S23). ).

リプログラミング中継装置は、ECUがリプログラミングに失敗した場合に備えて、ECUに記憶されるプログラムのバックアップをとっておくことが望ましい。そこで、リプログラミング中継装置は、更新前のプログラム(旧プログラム)を更新プログラムに基づいて更新し、更新したプログラム(新プログラム)を生成する(ステップS13)。そして、リプログラミング中継装置は、新プログラムのハッシュ値を生成し、ステップS23で生成されたハッシュ値と同一であるか否かを検証する(ステップS14)。リプログラミング中継装置は、ハッシュ値の同一性を確認できれば、旧プログラムに新プログラムを上書きして、新プログラムを保管する(ステップS15)。 It is desirable that the reprogramming relay device backs up the program stored in the ECU in case the ECU fails in reprogramming. Therefore, the reprogramming relay device updates the program before the update (old program) based on the update program, and generates the updated program (new program) (step S13). Then, the reprogramming relay device generates a hash value of the new program and verifies whether or not it is the same as the hash value generated in step S23 (step S14). If the reprogramming relay device can confirm the identity of the hash value, the reprogramming relay device overwrites the old program with the new program and stores the new program (step S15).

特開2010−198155号公報Japanese Unexamined Patent Publication No. 2010-198155 特開2016−103155号公報Japanese Unexamined Patent Publication No. 2016-103155

従来のOTAリプログラミング方式では、上記のステップS15のように、リプログラミングに失敗した場合に備えて、リプログラミング中継装置はバックアッププログラムを記憶している。しかしながら、ECUごとに実装しているプログラムが異なるため、1台の車両に搭載されるECUの数が増加すると、リプログラミング中継装置が記憶すべきECUの実装プログラムも増加し、大量の不揮発性メモリが必要になるという問題があった。 In the conventional OTA reprogramming method, the reprogramming relay device stores the backup program in case the reprogramming fails as in step S15 above. However, since the programs mounted on each ECU are different, as the number of ECUs mounted on one vehicle increases, the number of ECU mounting programs to be stored in the reprogramming relay device also increases, and a large amount of non-volatile memory is used. There was a problem that it was necessary.

かかる事情に鑑みてなされた本発明の目的は、記憶部の記憶容量を抑えつつ、プログラムのバックアップをとることが可能なリプログラミング方法を提供することにある。 An object of the present invention made in view of such circumstances is to provide a reprogramming method capable of backing up a program while suppressing the storage capacity of the storage unit.

上記課題を解決するため、本発明に係るリプログラミング方法は、制御装置に実装されたプログラムを更新プログラムにより更新するリプログラミング方法であって、複数の制御装置で共通して使用される基本プログラムを記憶するステップと、前記制御装置に実装されたプログラムと前記基本プログラムとの差分であるプログラム差分データを記憶するステップと、前記更新プログラムをサーバからダウンロードするステップと、前記基本プログラム及び前記プログラム差分データにより、前記制御装置に実装されたプログラムを復元するステップと、前記制御装置に実装されたプログラムを前記更新プログラムにより更新して新たなプログラムを生成するステップと、前記新たなプログラムと前記基本プログラムとの差分データを前記プログラム差分データに上書きして記憶するステップと、を含むことを特徴とする。 In order to solve the above problems, the reprogramming method according to the present invention is a reprogramming method in which a program implemented in a control device is updated by an update program, and a basic program commonly used by a plurality of control devices is used. A step to store, a step to store program difference data which is a difference between a program mounted on the control device and the basic program, a step to download the update program from a server, and the basic program and the program difference data. A step of restoring the program mounted on the control device, a step of updating the program mounted on the control device with the update program to generate a new program, and the new program and the basic program. It is characterized by including a step of overwriting the difference data of the above with the program difference data and storing the difference data.

本発明によれば、記憶部の記憶容量を抑えつつ、プログラムのバックアップをとることができるようになる。 According to the present invention, it becomes possible to back up a program while suppressing the storage capacity of the storage unit.

本発明の一実施形態に係るリプログラミング中継装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the reprogramming relay device which concerns on one Embodiment of this invention. 本発明の一実施形態に係るリプログラミング方法の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the reprogramming method which concerns on one Embodiment of this invention. 図2のステップS103からステップS106の処理の具体例を示す図である。It is a figure which shows the specific example of the process of steps S103 to S106 of FIG. 図2のステップS108からステップS110の処理の具体例を示す図である。It is a figure which shows the specific example of the process of steps S108 to S110 of FIG. 本発明の一実施形態に係るリプログラミング方法の手順の変形例を示すフローチャートである。It is a flowchart which shows the modification of the procedure of the reprogramming method which concerns on one Embodiment of this invention. 従来のリプログラミング方法の手順を示すフローチャートである。It is a flowchart which shows the procedure of the conventional reprogramming method.

以下、本発明の一実施形態について、図面を参照して詳細に説明する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

<プログラミング中継装置>
図1は、本発明の一実施形態に係るリプログラミング中継装置の構成例を示す図である。リプログラミング中継装置1は、リプログラミングサーバ3、及びリプログラミングの対象となる制御装置2と通信を行う。本実施形態では、リプログラミングの対象となる制御装置をECUとして、以下説明する。
<Programming relay device>
FIG. 1 is a diagram showing a configuration example of a reprogramming relay device according to an embodiment of the present invention. The reprogramming relay device 1 communicates with the reprogramming server 3 and the control device 2 to be reprogrammed. In the present embodiment, the control device to be reprogrammed will be described below as an ECU.

リプログラミングサーバ3は、更新データ送信部31を備える。更新データ送信部31は、更新プログラムをリプログラミング中継装置1に配信する。更新データは、更新プログラムと、更新プログラムの属性情報とを含む。更新プログラムの属性情報は、該更新プログラムを実装するECU(リプログラミングの対象となるECU)を識別するための識別情報(本実施形態では、ECUの名称)を含む。 The reprogramming server 3 includes an update data transmission unit 31. The update data transmission unit 31 distributes the update program to the reprogramming relay device 1. The update data includes the update program and the attribute information of the update program. The attribute information of the update program includes identification information (in the present embodiment, the name of the ECU) for identifying the ECU (the ECU that is the target of reprogramming) that implements the update program.

図1に示すリプログラミング中継装置1は、リプログラミング制御部11と、旧プログラム復元部12と、新プログラム生成部13と、差分データ生成部14と、ECUプログラム適合テーブル記憶部15と、基本プログラム記憶部16と、プログラム差分データ記憶部17とを備える。 The reprogramming relay device 1 shown in FIG. 1 includes a reprogramming control unit 11, an old program restoration unit 12, a new program generation unit 13, a difference data generation unit 14, an ECU program conformity table storage unit 15, and a basic program. A storage unit 16 and a program difference data storage unit 17 are provided.

リプログラミング制御部11は、更新データ送信部31からECUの更新データをダウンロードすると、ダウンロードした更新プログラムを、属性情報に基づいて複数のECUの中から特定したECUに送信する。 When the reprogramming control unit 11 downloads the update data of the ECU from the update data transmission unit 31, the reprogramming control unit 11 transmits the downloaded update program to the ECU specified from among the plurality of ECUs based on the attribute information.

ECU2は、プログラム更新部21と、記憶部22とを備える。プログラム更新部21は、リプログラミング制御部11から更新プログラムを受信し、記憶部22に記憶されているプログラムを更新する。 The ECU 2 includes a program update unit 21 and a storage unit 22. The program update unit 21 receives the update program from the reprogramming control unit 11 and updates the program stored in the storage unit 22.

また、リプログラミング制御部11は、旧プログラム復元部12に、リプログラミングの対象となるECU2の最新のバックアッププログラム(旧プログラム)の復元を指示するとともに、新プログラム生成部13に新プログラムの生成を指示する。旧プログラムは該ECU2の更新前(前回更新時)のプログラムであり、新プログラムは該ECU2の更新後のプログラムである。 Further, the reprogramming control unit 11 instructs the old program restoration unit 12 to restore the latest backup program (old program) of the ECU 2 to be reprogrammed, and the new program generation unit 13 generates a new program. Instruct. The old program is the program before the update of the ECU 2 (at the time of the previous update), and the new program is the program after the update of the ECU 2.

基本プログラム記憶部16は、複数のECU2に対して共通で使用され、更新されることのないプログラム(以下、「基本プログラム」という。)を記憶する。 The basic program storage unit 16 stores a program (hereinafter, referred to as “basic program”) that is commonly used for a plurality of ECUs 2 and is not updated.

プログラム差分データ記憶部17は、ECU2に実装されているプログラムと、基本プログラムとの差分であるプログラム差分データを記憶する。プログラム差分データは、実行ファイル、ライブラリ、コンフィグレーション、バイナリコードの差分などである。ECU2のプログラムの更新に合わせて、プログラム差分データも更新される。 The program difference data storage unit 17 stores the program difference data which is the difference between the program mounted on the ECU 2 and the basic program. The program difference data includes an executable file, a library, a configuration, a binary code difference, and the like. The program difference data is also updated in accordance with the update of the program of the ECU 2.

旧プログラム復元部12は、基本プログラム記憶部16から基本プログラムを取得する。また、旧プログラム復元部12は、プログラム差分データ記憶部17から、ECU2の更新前のプログラムと、基本プログラムとの差分であるプログラム差分データ(以下、「プログラム差分データ(旧)」という。)を取得する。そして、取得した基本プログラム及びプログラム差分データ(旧)から、ECUの更新前(前回更新時)のプログラム(以下、「旧プログラム」という。)を復元し、新プログラム生成部13に出力する。 The old program restoration unit 12 acquires a basic program from the basic program storage unit 16. Further, the old program restoration unit 12 obtains program difference data (hereinafter referred to as "program difference data (old)") which is a difference between the program before updating the ECU 2 and the basic program from the program difference data storage unit 17. get. Then, from the acquired basic program and program difference data (old), the program before the ECU update (at the time of the previous update) (hereinafter referred to as "old program") is restored and output to the new program generation unit 13.

新プログラム生成部13は、リプログラミング制御部11から入力された更新プログラム、及び旧プログラム復元部12から入力された旧プログラムを使用してECUの新プログラムを生成し、差分データ生成部14に出力する。 The new program generation unit 13 generates a new ECU program using the update program input from the reprogramming control unit 11 and the old program input from the old program restoration unit 12, and outputs the new program to the difference data generation unit 14. do.

差分データ生成部14は、基本プログラム記憶部16から取得した基本プログラム、及び新プログラム生成部13から入力された新プログラムを使用して、ECUの更新後のプログラム差分データ(以下、「プログラム差分データ(新)」という。)を生成する。そして、プログラム差分データ記憶部17に記憶されているプログラム差分データ(旧)を、プログラム差分データ(新)に更新する。 The difference data generation unit 14 uses the basic program acquired from the basic program storage unit 16 and the new program input from the new program generation unit 13, and the program difference data after the ECU is updated (hereinafter, “program difference data”). (New) "is generated. Then, the program difference data (old) stored in the program difference data storage unit 17 is updated with the program difference data (new).

また、リプログラミング制御部11は、プログラム差分データを更新してバックアップが完了すると、ECUプログラム適合テーブル記憶部15に記憶されたECUプログラム適合テーブルを更新する。ECUプログラム適合テーブルの具体例については後述する。 Further, when the reprogramming control unit 11 updates the program difference data and the backup is completed, the reprogramming control unit 11 updates the ECU program conformity table stored in the ECU program conformity table storage unit 15. A specific example of the ECU program conformity table will be described later.

<リプログラミング方法>
次に、本発明に係るリプログラミング方法の手順について説明する。図2は、本発明に係るリプログラミング方法の手順の一例を示すフローチャートである。まず、リプログラミングサーバ3は、更新データ送信部31により、更新データをリプログラミング中継装置1に送信する(ステップS301)。
<Reprogramming method>
Next, the procedure of the reprogramming method according to the present invention will be described. FIG. 2 is a flowchart showing an example of the procedure of the reprogramming method according to the present invention. First, the reprogramming server 3 transmits the update data to the reprogramming relay device 1 by the update data transmission unit 31 (step S301).

リプログラミング中継装置1がリプログラミングサーバ3から更新データを受信すると(ステップS101)、リプログラミング制御部11は、受信した更新データの属性情報からリプログラミングの対象となるECU2を特定し、該ECU2に更新プログラムを送信する(ステップS102)。 When the reprogramming relay device 1 receives the update data from the reprogramming server 3 (step S101), the reprogramming control unit 11 identifies the ECU 2 to be reprogrammed from the attribute information of the received update data, and causes the ECU 2 to be reprogrammed. The update program is transmitted (step S102).

ECU2は、リプログラミング中継装置1から更新プログラムを受信すると(ステップS201)、プログラム更新部21により、記憶部22に記憶されているプログラムを更新する(ステップS202)。ECU2は、プログラムの更新が完了すると、更新後のプログラムのハッシュ値を生成する(ステップS203)。 When the ECU 2 receives the update program from the reprogramming relay device 1 (step S201), the program update unit 21 updates the program stored in the storage unit 22 (step S202). When the update of the program is completed, the ECU 2 generates a hash value of the updated program (step S203).

また、リプログラミング制御部11は、ECUプログラム適合テーブルから、基本プログラム及びプログラム差分データの組み合わせを特定する(ステップS103)。そして、旧プログラム復元部12に旧プログラムを復元するように命令する。 Further, the reprogramming control unit 11 specifies a combination of the basic program and the program difference data from the ECU program conformity table (step S103). Then, the old program restoration unit 12 is instructed to restore the old program.

ECUプログラム適合テーブルは、ECUの名称、ECU実装バージョン、ハッシュ値、基本プログラムの名称、及びプログラム差分データの名称を対応付けて記憶するテーブルである。 The ECU program conformity table is a table that stores the name of the ECU, the mounting version of the ECU, the hash value, the name of the basic program, and the name of the program difference data in association with each other.

旧プログラム復元部12は、基本プログラム記憶部16からステップS103で特定された基本プログラムを取得するとともに、プログラム差分データ記憶部17からステップS103で特定されたプログラム差分データ(旧)を取得し(ステップS104)、基本プログラム及びプログラム差分データをマージ処理して旧プログラムを復元する(ステップS105)。 The old program restoration unit 12 acquires the basic program specified in step S103 from the basic program storage unit 16 and acquires the program difference data (old) specified in step S103 from the program difference data storage unit 17 (step). S104), the basic program and the program difference data are merged to restore the old program (step S105).

次に、リプログラミング制御部11は、新プログラム生成部13に更新プログラムを出力し、新プログラムを生成するように命令する。新プログラム生成部13は、更新プログラム、及びステップS105にて復元された旧プログラムをマージ処理して新プログラムを生成する(ステップS106)。 Next, the reprogramming control unit 11 outputs an update program to the new program generation unit 13 and instructs the new program generation unit 13 to generate a new program. The new program generation unit 13 merges the update program and the old program restored in step S105 to generate a new program (step S106).

次に、リプログラミング中継装置1は、新プログラムのハッシュ値を生成し、ECU2から送信されたハッシュ値と同一であるか否かを検証する(ステップS107)。例えば、ハッシュ値の生成を新プログラム生成部13で行い、ハッシュ値の検証をリプログラミング制御部で行う。ハッシュ値の同一性を確認できれば、リプログラミング制御部11は、差分データ生成部14に差分データを生成するように命令する。なお、更新プログラムの属性情報にはECUの識別情報以外にも様々な情報を含めることができる。例えば、属性情報に新プログラムのハッシュ値を含めてもよく、その場合にはリプログラミング中継装置1での新プログラムのハッシュ値の生成を省略可能である。 Next, the reprogramming relay device 1 generates a hash value of the new program and verifies whether or not it is the same as the hash value transmitted from the ECU 2 (step S107). For example, the hash value is generated by the new program generation unit 13, and the hash value is verified by the reprogramming control unit. If the identity of the hash values can be confirmed, the reprogramming control unit 11 instructs the difference data generation unit 14 to generate the difference data. In addition to the ECU identification information, various information can be included in the attribute information of the update program. For example, the hash value of the new program may be included in the attribute information, and in that case, the generation of the hash value of the new program in the reprogramming relay device 1 can be omitted.

差分データ生成部14は、ステップS106で生成された新プログラムと、基本プログラム記憶部16から取得した基本プログラムとの差分処理を行ってプログラム差分データ(新)を生成し(ステップS108)、プログラム差分データ記憶部17に記憶されているプログラム差分データを更新する(ステップS109)。 The difference data generation unit 14 generates program difference data (new) by performing difference processing between the new program generated in step S106 and the basic program acquired from the basic program storage unit 16 (step S108), and program difference. The program difference data stored in the data storage unit 17 is updated (step S109).

最後に、リプログラミング制御部11は、ECUプログラム適合テーブルを更新する(ステップS110)。 Finally, the reprogramming control unit 11 updates the ECU program conformance table (step S110).

図3に、ステップS103からステップS106の処理の具体例を示し、図4に、ステップS108からステップS110の処理の具体例を示す。ここでは、更新プログラムの属性情報が示す、リプログラミングの対象となるECUの名称が「エンジン1」であった場合を例に説明する。 FIG. 3 shows a specific example of the processing of steps S103 to S106, and FIG. 4 shows a specific example of the processing of steps S108 to S110. Here, the case where the name of the ECU to be reprogrammed indicated by the attribute information of the update program is "engine 1" will be described as an example.

ステップS103では、図3に示すECUプログラム適合テーブルに基づいて、ECU「エンジン1」に適合する基本プログラムの名称を「BSW_01」、プログラム差分データの名称を「Eng_0000101d」と特定する。 In step S103, based on the ECU program conformity table shown in FIG. 3, the name of the basic program conforming to the ECU "engine 1" is specified as "BSW_01", and the name of the program difference data is specified as "Eng_0000101d".

ステップS104,S105では、基本プログラム記憶部16から取得した基本プログラム「BSW_01」と、プログラム差分データ記憶部17から取得したプログラム差分データ「Eng_0000101d」とをマージ処理して旧プログラムを復元する。復元した旧プログラムは、更新前のECU「エンジン1」に実装されたプログラムと同じものとなる。 In steps S104 and S105, the basic program "BSW_01" acquired from the basic program storage unit 16 and the program difference data "Eng_0000101d" acquired from the program difference data storage unit 17 are merged to restore the old program. The restored old program is the same as the program implemented in the ECU "engine 1" before the update.

ステップS106では、更新プログラム(名称を「Eng_0000200d」とする)、及びステップS105にて復元された旧プログラムをマージ処理して新プログラムを生成する。生成した新プログラムは、更新後のECU「エンジン1」に実装されたプログラムと同じものとなる。 In step S106, the update program (named "Eng_0000200d") and the old program restored in step S105 are merged to generate a new program. The generated new program is the same as the program implemented in the updated ECU "engine 1".

ステップS108では、新プログラムと、基本プログラム記憶部16から取得した基本プログラム「BSW_01」との差分処理を行ってプログラム差分データを生成する。このプログラム差分データの名称を「Eng_0000201d」とする。 In step S108, the program difference data is generated by performing the difference processing between the new program and the basic program "BSW_01" acquired from the basic program storage unit 16. The name of this program difference data is "Eng_0000201d".

ステップS109では、プログラム差分データ記憶部17に保管されているプログラム差分データ(旧)「Eng_0000101d」に、プログラム差分データ(新)「Eng_0000201d」を上書きして更新する。 In step S109, the program difference data (new) "Eng_0000201d" is overwritten and updated on the program difference data (old) "Eng_0000101d" stored in the program difference data storage unit 17.

ステップS110では、ECUプログラム適合テーブルのECU名称「エンジン1」に対応するECU実装バージョンを「1.0.1」から「2.0.1」に更新し、ハッシュ値を「xxxxxxxx」からステップS107で生成した「zzzzzzzz」に更新し、プログラム差分データ名称を「Eng_0000101d」から「Eng_0000201d」に更新する。 In step S110, the ECU mounting version corresponding to the ECU name "engine 1" in the ECU program compatibility table is updated from "1.0.1" to "2.0.1", and the hash value is changed from "xxxxxxxxx" to step S107. It is updated to "zzzzzzzz" generated in the above, and the program difference data name is updated from "Eng_0000101d" to "Eng_0000201d".

以上説明したように、本発明では、基本プログラム及びプログラム差分データ(旧)により、ECUの前回更新時の旧プログラムを復元し、旧プログラム及び更新プログラムにより新プログラムを生成し、新プログラムと基本プログラムとの差分データをプログラム差分データ(旧)に上書きして記憶する。つまり、ECUに実装されたプログラムをそのまま記憶するのではなく、複数のECUに共通の基本プログラムと、プログラム差分データとを区別して記憶する。そのため、本発明によれば、従来よりも記憶部の記憶容量を抑えることができる。そして、プログラムの更新処理中に電源遮断で処理が強制終了されるなどの理由により、更新処理に失敗した場合であっても、基本プログラムとプログラム差分データ(旧)により、元の動作の保障された旧プログラムを復元することができる。 As described above, in the present invention, the old program at the time of the previous update of the ECU is restored by the basic program and the program difference data (old), a new program is generated by the old program and the update program, and the new program and the basic program are generated. The difference data with and is overwritten with the program difference data (old) and stored. That is, the program mounted on the ECU is not stored as it is, but the basic program common to a plurality of ECUs and the program difference data are stored separately. Therefore, according to the present invention, the storage capacity of the storage unit can be suppressed as compared with the conventional case. Even if the update process fails due to a power failure during the program update process, the original operation is guaranteed by the basic program and the program difference data (old). You can restore old programs.

また、リプログラミング中継装置1がリプログラミングサーバ3からダウンロードする更新データは、新しいバージョンのプログラムと基本プログラムとの差分データであるため、本発明によれば、リプログラミング中継装置1とリプログラミングサーバ3との間の通信量を少なくすることができ、ダウンロード時間も短くすることができる。同様に、本発明によれば、リプログラミング中継装置1とECU2との間の通信量も少なくすることができ、ECUのプログラム更新時間を短くすることができる。 Further, since the update data downloaded by the reprogramming relay device 1 from the reprogramming server 3 is the difference data between the new version of the program and the basic program, according to the present invention, the reprogramming relay device 1 and the reprogramming server 3 The amount of communication with and can be reduced, and the download time can also be shortened. Similarly, according to the present invention, the amount of communication between the reprogramming relay device 1 and the ECU 2 can be reduced, and the program update time of the ECU can be shortened.

<リプログラミング方法の変形例>
次に、本発明の一実施形態に係るリプログラミング方法の変形例について説明する。変形例では、リプログラミング中継装置は、基本プログラムを圧縮してから基本プログラム記憶部16に記憶し、プログラム差分データを圧縮してからプログラム差分データ記憶部17に記憶する。そのため、以下の処理を行う。
<Modification example of reprogramming method>
Next, a modified example of the reprogramming method according to the embodiment of the present invention will be described. In the modification, the reprogramming relay device compresses the basic program and then stores it in the basic program storage unit 16, compresses the program difference data, and then stores it in the program difference data storage unit 17. Therefore, the following processing is performed.

旧プログラム復元部12は、基本プログラム記憶部16から取得した基本プログラム及びプログラム差分データ記憶部17から取得したプログラム差分データ(旧)をそれぞれ解凍した後、旧プログラムを復元する。 The old program restoration unit 12 restores the old program after decompressing the basic program acquired from the basic program storage unit 16 and the program difference data (old) acquired from the program difference data storage unit 17, respectively.

差分データ生成部14は、基本プログラム記憶部16から取得した基本プログラムを解凍し、新プログラム生成部13から入力された新プログラムを使用して、プログラム差分データ(新)を生成する。そして、プログラム差分データ(新)を圧縮した後、プログラム差分データ記憶部17に記憶されているプログラム差分データ(旧)を、プログラム差分データ(新)に更新する。 The difference data generation unit 14 decompresses the basic program acquired from the basic program storage unit 16 and generates program difference data (new) using the new program input from the new program generation unit 13. Then, after compressing the program difference data (new), the program difference data (old) stored in the program difference data storage unit 17 is updated to the program difference data (new).

図5は、本発明の一実施形態に係るリプログラミング方法の手順の変形例を示すフローチャートである。図2に示したフローチャートと比較して、ステップS111及びステップS112のみ追加されている。 FIG. 5 is a flowchart showing a modified example of the procedure of the reprogramming method according to the embodiment of the present invention. Compared with the flowchart shown in FIG. 2, only step S111 and step S112 are added.

ステップS111では、旧プログラム復元部12は、ステップS104で取得した基本プログラム及びプログラム差分データ(旧)をそれぞれ解凍する。また、ステップS112では、差分データ生成部14は、ステップS108で生成したプログラム差分データ(新)を圧縮する。他の手順については図2と同一であるため、説明を省略する。 In step S111, the old program restoration unit 12 decompresses the basic program and the program difference data (old) acquired in step S104, respectively. Further, in step S112, the difference data generation unit 14 compresses the program difference data (new) generated in step S108. Since the other procedures are the same as those in FIG. 2, the description thereof will be omitted.

このリプログラミング方法の変形例によれば、ECUプログラム適合テーブル記憶部15及び基本プログラム記憶部16に記憶するプログラムのデータ量が更に少なくなるため、記憶部の記憶容量を更に抑えることができるようになる According to a modification of this reprogramming method, the amount of program data stored in the ECU program conformity table storage unit 15 and the basic program storage unit 16 is further reduced, so that the storage capacity of the storage unit can be further suppressed. Become

上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。例えば、図1は概略構成のみを示しており、この概略構成に基づいて実施形態の説明をしたが、リプログラミング中継装置1がリプログラミング制御部11とは別に通信部を備えてもよいのはもちろんであり、ECU2がプログラム更新部21とは別に更新プログラム受信部を備えてもよいのはもちろんである。 Although the above embodiments have been described as representative examples, it will be apparent to those skilled in the art that many modifications and substitutions can be made within the spirit and scope of the invention. Therefore, the present invention should not be construed as being limited by the above-described embodiments, and various modifications and modifications can be made without departing from the scope of claims. For example, it is possible to combine a plurality of the constituent blocks described in the configuration diagram of the embodiment into one, or to divide one constituent block into one. For example, FIG. 1 shows only a schematic configuration, and an embodiment has been described based on this schematic configuration. However, the reprogramming relay device 1 may include a communication unit in addition to the reprogramming control unit 11. Of course, the ECU 2 may include an update program receiving unit separately from the program updating unit 21.

1 リプログラミング中継装置
2 ECU(制御装置)
3 リプログラミングサーバ
11 リプログラミング制御部
12 旧プログラム復元部
13 新プログラム生成部
14 差分データ生成部
15 ECUプログラム適合テーブル記憶部
16 基本プログラム記憶部
17 プログラム差分データ記憶部
21 プログラム更新部
22 記憶部
31 更新データ送信部
1 Reprogramming relay device 2 ECU (control device)
3 Reprogramming server 11 Reprogramming control unit 12 Old program restoration unit 13 New program generation unit 14 Difference data generation unit 15 ECU program compatibility table storage unit 16 Basic program storage unit 17 Program difference data storage unit 21 Program update unit 22 Storage unit 31 Update data transmitter

Claims (1)

制御装置に実装されたプログラムを更新プログラムにより更新するリプログラミング方法であって、
複数の制御装置で共通して使用される基本プログラムを記憶するステップと、
前記制御装置に実装されたプログラムと前記基本プログラムとの差分であるプログラム差分データを記憶するステップと、
前記更新プログラムをサーバからダウンロードするステップと、
前記基本プログラム及び前記プログラム差分データにより、前記制御装置に実装されたプログラムを復元するステップと、
前記制御装置に実装されたプログラムを前記更新プログラムにより更新して新たなプログラムを生成するステップと、
前記新たなプログラムと前記基本プログラムとの差分データを前記プログラム差分データに上書きして記憶するステップと、
を含むことを特徴とするリプログラミング方法。
It is a reprogramming method that updates the program implemented in the control device by the update program.
A step to memorize a basic program commonly used by multiple control devices,
A step of storing program difference data which is a difference between the program mounted on the control device and the basic program, and
The steps to download the update from the server and
A step of restoring a program implemented in the control device using the basic program and the program difference data, and
A step of updating the program implemented in the control device by the update program to generate a new program, and
A step of overwriting the difference data between the new program and the basic program with the program difference data and storing the difference data.
A reprogramming method characterized by including.
JP2018062033A 2018-03-28 2018-03-28 Reprogramming method Active JP6988636B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018062033A JP6988636B2 (en) 2018-03-28 2018-03-28 Reprogramming method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018062033A JP6988636B2 (en) 2018-03-28 2018-03-28 Reprogramming method

Publications (2)

Publication Number Publication Date
JP2019175099A JP2019175099A (en) 2019-10-10
JP6988636B2 true JP6988636B2 (en) 2022-01-05

Family

ID=68168944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018062033A Active JP6988636B2 (en) 2018-03-28 2018-03-28 Reprogramming method

Country Status (1)

Country Link
JP (1) JP6988636B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023166886A (en) * 2022-05-10 2023-11-22 株式会社デンソー control system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1691280A4 (en) * 2003-12-05 2008-11-26 Fujitsu Ltd DATA MANAGEMENT SYSTEM, DATA MANAGEMENT DEVICE, DATA MANAGEMENT METHOD, DATA SUPPLY SYSTEM, DATA MANAGEMENT PROGRAM, AND COMPUTER READABLE RECORDING MEDIUM CONTAINING THE PROGRAM
KR101426710B1 (en) * 2006-07-14 2014-09-23 삼성전자주식회사 Apparatus and method for updating version information of a mobile terminal
JP2010117944A (en) * 2008-11-13 2010-05-27 Sony Ericsson Mobilecommunications Japan Inc Software update system, software update method, mobile phone terminal, and program
JP2010198155A (en) * 2009-02-24 2010-09-09 Fujitsu Ten Ltd Device and method for updating program, and information processing apparatus
JP5478986B2 (en) * 2009-08-21 2014-04-23 株式会社日立ソリューションズ Information equipment and program
JP5545432B2 (en) * 2010-02-05 2014-07-09 日本電気株式会社 BIOS update method, BIOS update device, and BIOS update program

Also Published As

Publication number Publication date
JP2019175099A (en) 2019-10-10

Similar Documents

Publication Publication Date Title
US10725772B2 (en) Electric control device for vehicles, program updating method, and server apparatus
US20190171445A1 (en) Vehicle-mounted control device, program writing device, program generating device and program
US8726259B2 (en) System and method for preserving device parameters during a FOTA upgrade
US7886093B1 (en) Electronic device network supporting compression and decompression in electronic devices
JP6236533B2 (en) Method and apparatus for creating differential update package, system differential update method and apparatus
WO2014148003A1 (en) Program rewrite system for onboard electronic control device and onboard relay device
US20110179406A1 (en) Firmware update system and information apparatus, and program
US11449329B2 (en) Vehicle control device and program update system
CN105824722A (en) Backup restoring system for computer cloud
US11914871B2 (en) Electronic control device and program-update method
CN112667268A (en) Network node firmware update
JP2021060797A (en) Program update system, program transmitter, and program transmission method
US20220276853A1 (en) Ota master, center, system, update method, and vehicle
US7222342B2 (en) Execution on a machine, the start of an auxiliary downloader when storage of new software memory fails during execution of a first downloader
US12288054B2 (en) Method of generating rollback difference data of a vehicle controller and a method of rollback of a vehicle controller
CN113613954A (en) Electronic control device and method for setting control data
JP6988636B2 (en) Reprogramming method
JP2020201986A (en) Software update device and software update method
JPWO2019207729A1 (en) Industrial computer, industrial computer system, operating system updating method and program
CN101303660A (en) System for configuring data from configuration source apparatus to configuration target apparatus
JP2005215841A (en) Mobile phone terminal device with software correction function
JP2011227764A (en) Electronic apparatus and electronic system as well as method for executing program on electronic apparatus
JP2022109039A (en) Center, update management method and update management program
JP6904067B2 (en) Software management system
US20080228840A1 (en) Data updating method and data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R151 Written notification of patent or utility model registration

Ref document number: 6988636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151