Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7524939B2 - System, program update confirmation method and update confirmation program - Google Patents
[go: Go Back, main page]

JP7524939B2 - System, program update confirmation method and update confirmation program - Google Patents

System, program update confirmation method and update confirmation program Download PDF

Info

Publication number
JP7524939B2
JP7524939B2 JP2022192625A JP2022192625A JP7524939B2 JP 7524939 B2 JP7524939 B2 JP 7524939B2 JP 2022192625 A JP2022192625 A JP 2022192625A JP 2022192625 A JP2022192625 A JP 2022192625A JP 7524939 B2 JP7524939 B2 JP 7524939B2
Authority
JP
Japan
Prior art keywords
program
update
vehicle
executed
execution unit
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
JP2022192625A
Other languages
Japanese (ja)
Other versions
JP2023014289A (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
Priority claimed from JP2022003285A external-priority patent/JP7188622B2/en
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2022192625A priority Critical patent/JP7524939B2/en
Publication of JP2023014289A publication Critical patent/JP2023014289A/en
Priority to JP2024113731A priority patent/JP7740454B2/en
Application granted granted Critical
Publication of JP7524939B2 publication Critical patent/JP7524939B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、車両等に搭載されるシステムおよびそのプログラムの更新確認方法およびプログラムの更新確認プログラムに関する。 The present invention relates to a system installed in a vehicle or the like, a method for checking updates to the program thereof, and a program for checking updates.

車両には、ECU(Electronic Control Unit)と呼ばれる、記憶部および制御部(プ
ロセッサ)を備えた複数の制御装置が搭載されており、それぞれの制御部は、記憶部に格納されたプログラムを実行して、各種の車両制御のための処理を行う。
A vehicle is equipped with multiple control devices called ECUs (Electronic Control Units), which are equipped with a memory unit and a control unit (processor). Each control unit executes a program stored in the memory unit to perform various types of vehicle control processing.

このようなプログラムは、機能の改良や追加のため更新されることがある。特許文献1は、プログラム更新用データをネットワーク経由で携帯端末装置にダウンロードして、携帯端末装置から車両にデータを提供してプログラムを書き換えることで更新を行うシステムを開示している。 Such programs are sometimes updated to improve or add functions. Patent Document 1 discloses a system that downloads program update data to a mobile terminal device via a network, and provides the data from the mobile terminal device to the vehicle to rewrite the program, thereby updating it.

特開2016-60407号公報JP 2016-60407 A

ECUの高度化、複雑化により、複数のプロセッサを備え、それぞれが異なるプログラムを実行するECUが存在する。このようなECUでは、記憶部へ更新プログラムを書き込む際や実行対象のプログラムを更新前のものから更新後のものに切り替える際の各種処理の実行タイミングにプログラムごとにずれが生じるおそれがある。このようなずれが生じるとECUの起動時に実行対象のプログラムの一部が更新後のプログラムに変更されず、各プログラムの更新前のバージョンと更新後のバージョンとが想定外の組合せで混在する状態が発生しうる。このような状態ではECUが意図しない動作をするおそれがある。 As ECUs have become more advanced and complex, there are ECUs that have multiple processors, each of which executes a different program. In such ECUs, there is a risk that the timing of execution of various processes when writing an update program to the memory unit or when switching the program to be executed from the pre-update to the updated one may differ for each program. If such a difference occurs, some of the programs to be executed may not be changed to the updated programs when the ECU is started, and the pre-update and updated versions of each program may be mixed in unexpected combinations. In such a state, there is a risk that the ECU will operate in an unintended manner.

本発明は、上記課題に鑑み、プログラムの更新の際、実行対象のプログラムが更新前のプログラムから更新後のプログラムに変更されたことを確認できるシステム、プログラムの更新確認方法および更新確認プログラムを提供することを目的とする。 In view of the above problems, the present invention aims to provide a system, a method for checking program updates, and an update checking program that can check that the program to be executed has been changed from the program before the update to the program after the update when the program is updated.

上記課題を解決するために、本発明の一局面は、車両に搭載可能なシステムであって、車両において実行されるプログラムを記憶する第1の記憶領域と、車両の外部の装置から無線通信により取得される更新データに基づいて、プログラムの更新版である更新プログラムを記憶する第2の記憶領域と、車両において実行されるプログラムを第1の記憶領域に記憶されたプログラムから第2の記憶領域に記憶された更新プログラムに切り替える更新処理を行う更新部と、更新部が更新処理を行った後に、車両において実行されるプログラムに係る識別情報に少なくとも基づいて、車両において実行されるプログラムの更新に成功したかを確認する実行部と、を備える。 In order to solve the above problem, one aspect of the present invention is a system that can be installed in a vehicle, comprising: a first memory area that stores a program executed in the vehicle; a second memory area that stores an update program that is an updated version of the program based on update data obtained via wireless communication from a device external to the vehicle; an update unit that performs an update process that switches the program executed in the vehicle from the program stored in the first memory area to the update program stored in the second memory area; and an execution unit that, after the update unit has performed the update process, confirms whether the update of the program executed in the vehicle has been successful based at least on identification information related to the program executed in the vehicle.

本発明の他の一局面は、プロセッサ及びメモリを有する制御装置が実行するプログラムの更新確認方法であって、車両において実行されるプログラムを第1の記憶領域に記憶させるステップと、車両の外部の装置から無線通信により取得される更新データに基づいて、プログラムの更新版である更新プログラムを第2の記憶領域に記憶させるステップと、車両において実行されるプログラムを第1の記憶領域に記憶されたプログラムから第2の記憶領域に記憶された更新プログラムに切り替える更新処理を行うステップと、更新処理を行った後に、車両において実行されるプログラムに係る識別情報に少なくとも基づいて、車両において実行されるプログラムの更新に成功したかを確認するステップと、を含む。 Another aspect of the present invention is a method for confirming an update of a program executed by a control device having a processor and a memory, the method including the steps of: storing the program executed in the vehicle in a first memory area; storing an update program, which is an updated version of the program, in a second memory area based on update data obtained by wireless communication from a device external to the vehicle; performing an update process for switching the program executed in the vehicle from the program stored in the first memory area to the update program stored in the second memory area; and, after performing the update process, confirming whether the update of the program executed in the vehicle was successful based at least on identification information related to the program executed in the vehicle.

本発明の他の一局面は、プロセッサ及びメモリを有する制御装置が実行するプログラムの更新確認プログラムであって、制御装置に、車両において実行されるプログラムを第1の記憶領域に記憶させるステップと、車両の外部の装置から無線通信により取得される更新データに基づいて、プログラムの更新版である更新プログラムを第2の記憶領域に記憶させるステップと、車両において実行されるプログラムを第1の記憶領域に記憶されたプログラムから第2の記憶領域に記憶された更新プログラムに切り替える更新処理を行うステップと、更新処理を行った後に、車両において実行されるプログラムに係る識別情報に少なくとも基づいて、車両において実行されるプログラムの更新に成功したかを確認するステップと、を実行させる。 Another aspect of the present invention is a program update confirmation program executed by a control device having a processor and a memory, which causes the control device to execute the following steps: storing the program to be executed in the vehicle in a first memory area; storing an update program, which is an updated version of the program, in a second memory area based on update data obtained by wireless communication from a device external to the vehicle; performing an update process to switch the program executed in the vehicle from the program stored in the first memory area to the update program stored in the second memory area; and, after performing the update process, confirming whether the update of the program executed in the vehicle was successful based at least on identification information related to the program executed in the vehicle.

本発明によれば、プログラムが正しく変更されたことを確認できるシステム、プログラム確認方法および更新確認プログラムを提供することができる。 The present invention provides a system, a program verification method, and an update verification program that can verify that a program has been correctly modified.

本発明の一実施形態に係る車両制御装置の機能ブロック図A functional block diagram of a vehicle control device according to an embodiment of the present invention. 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図FIG. 2 is a schematic diagram of an execution unit and a storage unit of a vehicle control device according to an embodiment of the present invention; 本発明の一実施形態に係る車両制御装置の処理を示すシーケンス図FIG. 1 is a sequence diagram showing the processing of a vehicle control device according to an embodiment of the present invention; 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図FIG. 2 is a schematic diagram of an execution unit and a storage unit of a vehicle control device according to an embodiment of the present invention; 本発明の一実施形態に係る車両制御装置の処理を示すシーケンス図FIG. 1 is a sequence diagram showing the processing of a vehicle control device according to an embodiment of the present invention; 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図FIG. 2 is a schematic diagram of an execution unit and a storage unit of a vehicle control device according to an embodiment of the present invention; 本発明の変形例に係る車両制御装置の実行部および記憶部の模式図FIG. 2 is a schematic diagram of an execution unit and a storage unit of a vehicle control device according to a modified example of the present invention.

(概要)
本発明に係る車両制御装置は、複数の実行部がそれぞれのプログラムを実行する。プログラムが更新された場合、各実行部は、互いに他の実行部から実行対象のプログラムの識別子を取得して確認することで、更新されたプログラムに変更されているかを確認することができる。
(overview)
In the vehicle control device according to the present invention, a plurality of execution units execute respective programs. When a program is updated, each execution unit can confirm whether the program has been changed to the updated program by obtaining and checking the identifier of the program to be executed from the other execution units.

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

<構成>
図1に、本実施形態における車両制御装置100の機能ブロック図を示す。車両制御装置100は一例として、車両の自動運転制御を行う自動運転ECUであり、各種センサからの入力に基づいて、ステアリング、エンジン、ブレーキ等を制御して車両の運転を行う。車両制御装置100は、プロセッサである第1実行部11、第2実行部21と、例えばFlashROMのような不揮発性のメモリである第1記憶部12、第2記憶部22とを含む。第1記憶部12は第1制御プログラム記憶領域13と第1更新プログラム記憶領域14とを有する。第1実行部11はプロセッサであり、第1制御プログラム記憶領域13に記憶されている現在の実行対象のプログラムである第1制御プログラムを実行する。また、第2実行部21はプロセッサであり、現在の実行対象のプログラムである第2制御プログラム記憶領域23に記憶されている第2制御プログラムを実行する。また、車両制御装置100は、揮発性のRAMを含んでもよい。これらのプログラムの実行出力により、上述の自動運転制御が行われる。
<Configuration>
FIG. 1 shows a functional block diagram of a vehicle control device 100 in this embodiment. As an example, the vehicle control device 100 is an automatic driving ECU that performs automatic driving control of a vehicle, and controls the steering, engine, brakes, etc. based on inputs from various sensors to drive the vehicle. The vehicle control device 100 includes a first execution unit 11 and a second execution unit 21 that are processors, and a first storage unit 12 and a second storage unit 22 that are non-volatile memories such as Flash ROM. The first storage unit 12 has a first control program storage area 13 and a first update program storage area 14. The first execution unit 11 is a processor, and executes a first control program that is a program to be currently executed and is stored in the first control program storage area 13. The second execution unit 21 is a processor, and executes a second control program that is a program to be currently executed and is stored in the second control program storage area 23. The vehicle control device 100 may also include a volatile RAM. The above-mentioned automatic driving control is performed by the execution output of these programs.

更新部91は、車両に搭載されたOTA受信機等が車外のサーバー等からネットワークを介して受信した更新データを取得する。更新部91は、更新データを取得すると、これに基づいて、第1制御プログラムの更新版である第1更新プログラムおよび第2制御プログラムの更新版である第2更新プログラムの一方または両方を生成することができる。更新部91は第1更新プログラムを第1記憶部12の第1更新プログラム記憶領域14に記憶させ、第2更新プログラムを第2記憶部22の第2更新プログラム記憶領域24に記憶させる。なお、更新部91の機能は、第1実行部11および第2実行部21がそれぞれ実行してもよい。 The update unit 91 acquires update data received via a network from a server outside the vehicle by an OTA receiver or the like installed in the vehicle. When the update unit 91 acquires the update data, it can generate one or both of a first update program, which is an update version of the first control program, and a second update program, which is an update version of the second control program, based on the update data. The update unit 91 stores the first update program in the first update program storage area 14 of the first storage unit 12, and stores the second update program in the second update program storage area 24 of the second storage unit 22. Note that the functions of the update unit 91 may be executed by the first execution unit 11 and the second execution unit 21, respectively.

図2に、第1更新プログラムが第1記憶部12に記憶されておらず、第2更新プログラ
ムが第2記憶部22に記憶されていない場合の、車両制御装置100の各実行部および各記憶部を模式的に示す。第1制御プログラムは識別子を含んでおり、図示する例では「122」である。これは、第1制御プログラムのバージョンを示す。同様に、第2制御プログラムは識別子を含んでおり、図示する例では「122」である。これは、第2制御プログラムのバージョンを示す。したがって図示する状態では、第1制御プログラムと第2制御プログラムとは同時に実行されるべきバージョンの組となっている。
2 shows a schematic diagram of each execution unit and each storage unit of the vehicle control device 100 when the first update program is not stored in the first storage unit 12 and the second update program is not stored in the second storage unit 22. The first control program includes an identifier, which is "122" in the illustrated example. This indicates the version of the first control program. Similarly, the second control program includes an identifier, which is "122" in the illustrated example. This indicates the version of the second control program. Therefore, in the illustrated state, the first control program and the second control program are a pair of versions that should be executed simultaneously.

<処理1>
以下に、本実施形態に係るプログラム更新処理の一例を説明する。まず、第1制御プログラムと第2制御プログラムがともに更新される場合について説明する。図3は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
<Process 1>
An example of the program update process according to this embodiment will be described below. First, a case where both the first control program and the second control program are updated will be described. Fig. 3 shows a sequence for explaining the process. This sequence is started, for example, when the ignition switch is turned on.

(ステップS101):第1実行部11が第1制御プログラムを読み出して実行する。第1実行部11は、実行対象のプログラムとして第1制御プログラム記憶領域13から第1制御プログラムを読み出すことを、例えば、第1記憶部12に記憶された、プログラムの読み出し先を指定するアドレス等を含む第1読み出し先情報に基づいて判定することができる。第1読み出し先情報は、例えば、更新部91が第1記憶部12に書き込む情報であり、第1実行部11にプログラムの読み出し先を指定する情報やこの情報が変更されたことを表すフラグ等を含む。 (Step S101): The first execution unit 11 reads and executes the first control program. The first execution unit 11 can determine to read the first control program from the first control program memory area 13 as the program to be executed based on, for example, first read destination information stored in the first memory unit 12 and including an address specifying the read destination of the program. The first read destination information is, for example, information that the update unit 91 writes to the first memory unit 12, and includes information specifying the read destination of the program to the first execution unit 11 and a flag indicating that this information has been changed.

(ステップS102):第2実行部21が第2制御プログラムを読み出して実行する。第2実行部21は、実行対象のプログラムとして第2制御プログラム記憶領域23から第2制御プログラムを読み出すことを、例えば、第2記憶部22に記憶された、第2読み出し先情報に基づいて判定することができる。第2読み出し先情報は、例えば、更新部91が第2記憶部12に書き込む情報であり、第2実行部21にプログラムの読み出し先を指定する情報やこの情報が変更されたことを表すフラグ等を含む。 (Step S102): The second execution unit 21 reads and executes the second control program. The second execution unit 21 can determine to read the second control program from the second control program memory area 23 as the program to be executed, for example, based on the second read destination information stored in the second memory unit 22. The second read destination information is, for example, information that the update unit 91 writes to the second memory unit 12, and includes information that specifies the read destination of the program to the second execution unit 21 and a flag indicating that this information has been changed.

(ステップS103):更新部91が更新データに基づいて第1更新プログラムおよび第2更新プログラムを生成する。更新データの形式はとくに限定されないが、例えば更新前のプログラムからの更新された部分を含む差分データやその圧縮データであってもよいし、更新プログラムの全体であってもよい。更新部91は、第1記憶部12の第1更新プログラム記憶領域14に第1更新プログラムを記憶させ、第2記憶部22の第2更新プログラム記憶領域24に第2更新プログラムを記憶させる。 (Step S103): The update unit 91 generates a first update program and a second update program based on the update data. The format of the update data is not particularly limited, but may be, for example, differential data including the updated portion from the program before the update or compressed data thereof, or the entire update program. The update unit 91 stores the first update program in the first update program storage area 14 of the first storage unit 12, and stores the second update program in the second update program storage area 24 of the second storage unit 22.

以上のステップS101、S102、S103の処理が実行され、イグニッションスイッチがオフとなると、以下の処理が行われる。
(ステップS104):更新部91は、第1記憶部12に記憶されている第1読み出し先情報が含む読み出し先アドレスが第1更新プログラム記憶領域14を指定するように変更し、かつ変更があったことを示すフラグを立てることにより、第1実行部11が次回実行対象のプログラムを読み出す際に、第1更新プログラム記憶領域14から第1更新プログラムを読み出すように指定する。また、更新部91は、第2記憶部22に記憶されている第2読み出し先情報の、読み出し先アドレスが第2更新プログラム記憶領域24を指定するように変更し、かつ変更があったことを示すフラグを立てることにより、第2実行部21が次回実行対象のプログラムを読み出す際に、第2更新プログラム記憶領域24から第2更新プログラムを読み出すように指定する。
When the above steps S101, S102, and S103 are executed and the ignition switch is turned off, the following process is carried out.
(Step S104): The update unit 91 changes the read destination address included in the first read destination information stored in the first storage unit 12 so that it specifies the first update program storage area 14, and sets a flag indicating that the change has occurred, thereby specifying that the first execution unit 11 reads the program to be executed next time, to read the first update program from the first update program storage area 14. The update unit 91 also changes the read destination address of the second read destination information stored in the second storage unit 22 so that it specifies the second update program storage area 24, and sets a flag indicating that the change has occurred, thereby specifying that the second execution unit 21 reads the program to be executed next time, to read the second update program from the second update program storage area 24.

以上のステップS104の処理が実行され、次にイグニッションスイッチがオンとなると、以下の処理が行われる。図4に、第1更新プログラムが第1記憶部12に記憶されていて、第2更新プログラムが第2記憶部22に記憶されている場合の、車両制御装置10
0の各実行部および各記憶部を模式的に示す。第1更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第1更新プログラムのバージョンを示す。同様に、第2更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第2更新プログラムのバージョンを示す。したがって図示する状態では、第1更新プログラムと第2更新プログラムとは同じバージョンの組となっている。
When the above-described process of step S104 is executed and the ignition switch is next turned on, the following process is executed.
1 shows a schematic diagram of each execution unit and each storage unit of .0. The first update program includes an identifier, which is "123" in the illustrated example, which indicates the version of the first update program. Similarly, the second update program includes an identifier, which is "123" in the illustrated example, which indicates the version of the second update program. Therefore, in the illustrated state, the first update program and the second update program are the same version pair.

(ステップS105):第1実行部11は、例えば、第1記憶部12に記憶されている第1読み出し先情報を参照し、実行対象のプログラムが第1制御プログラム記憶領域13に記憶された第1制御プログラムから、第1更新プログラム記憶領域14に格納されている第1更新プログラムに変更されたことを検知する。 (Step S105): The first execution unit 11, for example, refers to the first read destination information stored in the first storage unit 12, and detects that the program to be executed has been changed from the first control program stored in the first control program storage area 13 to the first update program stored in the first update program storage area 14.

(ステップS106):第2実行部21は、例えば、第2記憶部22に記憶されている第2読み出し先情報を参照し、実行対象のプログラムが第2制御プログラム記憶領域23に記憶された第2制御プログラムから、第2更新プログラム記憶領域24に格納されている第2更新プログラムに変更されたことを検知する。 (Step S106): The second execution unit 21, for example, refers to the second read destination information stored in the second storage unit 22, and detects that the program to be executed has been changed from the second control program stored in the second control program storage area 23 to the second update program stored in the second update program storage area 24.

(ステップS107):第1実行部11は、第1更新プログラムから識別子を読み出し、第2実行部21に通知する。また、第2実行部21は第2更新プログラムから識別子を読み出し第1実行部11に通知する。このようにして第1実行部11および第2実行部21は互いの実行対象プログラムの識別子を取得することができる。 (Step S107): The first execution unit 11 reads an identifier from the first update program and notifies the second execution unit 21. The second execution unit 21 also reads an identifier from the second update program and notifies the first execution unit 11. In this way, the first execution unit 11 and the second execution unit 21 can obtain the identifiers of each other's programs to be executed.

(ステップS108):第1実行部11は、通知された第2更新プログラムの識別子に基づいて、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたか確認する。例えば、第1実行部11は、通知された第2更新プログラムの識別子と読み出した第1更新プログラムの識別子とを比較し、これらが同一のバージョンを表していることにより、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことを確認する。また、第1実行部11は、第2制御プログラムの識別子を第1記憶部12に記憶させておき、通知された第2更新プログラムの識別子が、第2制御プログラムの識別子の次のバージョンを表していることにより、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことを確認してもよい。バージョンの順序は予め定めた規則にしたがっていることにより確認してもよく、第2更新プログラムに前のバージョンを表す識別子も含ませておき、第2制御プログラムの識別子と一致することを確認してもよい。 (Step S108): The first execution unit 11 checks whether the program to be executed by the second execution unit 21 has been correctly changed to the second update program based on the notified identifier of the second update program. For example, the first execution unit 11 compares the notified identifier of the second update program with the read identifier of the first update program, and checks that the program to be executed by the second execution unit 21 has been correctly changed to the second update program because they indicate the same version. The first execution unit 11 may also store the identifier of the second control program in the first storage unit 12, and check that the program to be executed by the second execution unit 21 has been correctly changed to the second update program because the notified identifier of the second update program indicates the next version of the identifier of the second control program. The order of the versions may be checked by following a predetermined rule, or the second update program may also include an identifier indicating the previous version and check that it matches the identifier of the second control program.

(ステップS109):第2実行部21は、通知された第1更新プログラムの識別子に基づいて、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたか確認する。例えば、第2実行部21は、通知された第1更新プログラムの識別子と読み出した第2更新プログラムの識別子とを比較し、これらが同一のバージョンを表していることにより、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認する。また、第2実行部21は、第1制御プログラムの識別子を第2記憶部22に記憶させておき、通知された第1更新プログラムの識別子が、第1制御プログラムの識別子の次のバージョンを表していることにより、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認してもよい。バージョンの順序は予め定めた規則にしたがっていることにより確認してもよく、第1更新プログラムに前のバージョンを表す識別子も含ませておき、第1制御プログラムの識別子と一致することを確認してもよい。 (Step S109): The second execution unit 21 checks whether the program to be executed by the first execution unit 11 has been correctly changed to the first update program based on the notified identifier of the first update program. For example, the second execution unit 21 compares the notified identifier of the first update program with the read identifier of the second update program, and checks that the program to be executed by the first execution unit 11 has been correctly changed to the first update program because they indicate the same version. The second execution unit 21 may also store the identifier of the first control program in the second storage unit 22, and check that the program to be executed by the first execution unit 11 has been correctly changed to the first update program because the notified identifier of the first update program indicates the next version of the identifier of the first control program. The order of the versions may be checked by following a predetermined rule, or the first update program may also include an identifier indicating the previous version and check that it matches the identifier of the first control program.

(ステップS110):第1実行部11は、ステップS108の確認結果を第2実行部21に通知する。また、第2実行部21はステップS109の確認結果を第1実行部11に通知する。 (Step S110): The first execution unit 11 notifies the second execution unit 21 of the confirmation result of step S108. In addition, the second execution unit 21 notifies the first execution unit 11 of the confirmation result of step S109.

(ステップS111):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できた場合、第1実行部11は第1更新プログラム記憶領域14から第1更新プログラムを読み出して実行する。 (Step S111): If it is confirmed by steps S108 and S109 that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has been correctly changed to the second update program, the first execution unit 11 reads out the first update program from the first update program storage area 14 and executes it.

(ステップS112):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できた場合、第2実行部21は第2更新プログラム記憶領域24から第2更新プログラムを読み出して実行する。なお、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できた場合、ステップS111およびステップS112で、その通知を第1実行部11、第2実行部21から受け取り、第1制御プログラム記憶領域13および第2制御プログラム記憶領域23を、それぞれ次に更新データを受信したときの第1更新プログラムおよび第2更新プログラム記憶用の領域としてもよい。 (Step S112): If it is confirmed in steps S108 and S109 that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has been correctly changed to the second update program, the second execution unit 21 reads out and executes the second update program from the second update program storage area 24. Note that if it is confirmed that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has been correctly changed to the second update program, the update unit 91 may receive notifications of this from the first execution unit 11 and the second execution unit 21 in steps S111 and S112, and may use the first control program storage area 13 and the second control program storage area 23 as areas for storing the first update program and the second update program, respectively, when the next update data is received.

(ステップS113):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことのいずれかまたは両方が確認できない場合、第1実行部11は、第1制御プログラム記憶領域13から、第1制御プログラムを読み出して実行する。また、第1実行部11は、第1記憶部12に記憶された第1読み出し先情報の読み出し先アドレスが第1制御プログラム記憶領域13を指定するようにし、フラグを下げる。 (Step S113): If it is not possible to confirm in steps S108 and S109 that the program to be executed by the first execution unit 11 has been correctly changed to the first update program and/or that the program to be executed by the second execution unit 21 has been correctly changed to the second update program, the first execution unit 11 reads and executes the first control program from the first control program storage area 13. The first execution unit 11 also sets the read destination address of the first read destination information stored in the first storage unit 12 to specify the first control program storage area 13, and lowers the flag.

(ステップS114):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことのいずれかまたは両方が確認できない場合、第2実行部21は、第2制御プログラム記憶領域23から、第2制御プログラムを読み出して実行する。また、第2実行部21は、第2記憶部22に記憶された第2読み出し先情報の読み出し先アドレスが第2制御プログラム記憶領域14を指定するようにし、フラグを下げる。なお、ステップS113、S114で第1制御プログラムおよび第2制御プログラムを実行する前に、これらのプログラムの識別子を参照して、実行対象が正しく第1制御プログラムおよび第2制御プログラムであることを確認することが好ましい。また、このように第1制御プログラムおよび第2制御プログラムを実行できるようにするため、更新部91は、少なくとも第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できるまで、第1制御プログラムおよび第2制御プログラムを削除せず保存しておくことが好ましい。また、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことのうち、いずれかまたは両方が確認できない場合、ステップS113、S114で、その通知を第1実行部11、第2実行部21から受け取り、異常発生をユーザー等に知らせるための信号を出力してもよい。 (Step S114): If it is not possible to confirm that the program to be executed by the first execution unit 11 has been correctly changed to the first update program by steps S108 and S109, and/or that the program to be executed by the second execution unit 21 has been correctly changed to the second update program, the second execution unit 21 reads out and executes the second control program from the second control program storage area 23. The second execution unit 21 also sets the readout address of the second readout destination information stored in the second storage unit 22 to specify the second control program storage area 14, and lowers the flag. Note that, before executing the first control program and the second control program in steps S113 and S114, it is preferable to refer to the identifiers of these programs and confirm that the programs to be executed are correctly the first control program and the second control program. In order to be able to execute the first control program and the second control program in this way, it is preferable that the update unit 91 does not delete the first control program and stores the second control program until it can at least confirm that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has been correctly changed to the second update program. If the update unit 91 cannot confirm that either or both of the program to be executed by the first execution unit 11 has been correctly changed to the first update program and the program to be executed by the second execution unit 21 has been correctly changed to the second update program, the update unit 91 may receive notifications from the first execution unit 11 and the second execution unit 21 in steps S113 and S114 and output a signal to notify the user of the occurrence of an abnormality.

以上により、第1制御プログラムと第2制御プログラムがともに更新される場合のシーケンスは終了する。 This completes the sequence when both the first control program and the second control program are updated.

<処理2>
次に第1制御プログラムおよび第2制御プログラムの一方のみが更新される場合の処理を説明する。以下では一例として、第1制御プログラムが更新され、第2制御プログラムが更新されない場合について説明する。図5は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
<Process 2>
Next, a process in which only one of the first control program and the second control program is updated will be described. As an example, a process in which the first control program is updated and the second control program is not updated will be described. Fig. 5 shows a sequence for explaining the process. This sequence is started, for example, when the ignition switch is turned on.

(ステップS201):上述のステップS101と同様、第1実行部11が第1制御プログラムを読み出して実行する。第1実行部11は、実行対象のプログラムとして第1制御プログラム記憶領域13から第1制御プログラムを読み出すことを、例えば、第1記憶部12に記憶された第1読み出し先情報に基づいて判定することができる。 (Step S201): As in step S101 described above, the first execution unit 11 reads and executes the first control program. The first execution unit 11 can determine, for example, based on the first read destination information stored in the first storage unit 12, that the first control program should be read from the first control program storage area 13 as the program to be executed.

(ステップS202):上述のステップS102と同様、第2実行部21が第2制御プログラムを読み出して実行する。第2実行部21は、実行対象のプログラムとして第2制御プログラム記憶領域23から第2制御プログラムを読み出すことを、例えば、第2記憶部22に記憶された第2読み出し先情報に基づいて判定することができる。 (Step S202): As in step S102 described above, the second execution unit 21 reads and executes the second control program. The second execution unit 21 can determine, for example, based on the second read destination information stored in the second storage unit 22, that the second control program should be read from the second control program storage area 23 as the program to be executed.

(ステップS203):更新部91が更新データに基づいて第1更新プログラムを生成する。更新部91は、第1記憶部12の第1更新プログラム記憶領域14に第1更新プログラムを記憶させる。 (Step S203): The update unit 91 generates a first update program based on the update data. The update unit 91 stores the first update program in the first update program storage area 14 of the first storage unit 12.

以上のステップS201、S202、S203の処理が実行され、イグニッションスイッチがオフとなると、以下の処理が行われる。
(ステップS204):更新部91は、第1記憶部12に記憶されている第1読み出し先情報の読み出し先アドレスが第1更新プログラム記憶領域14を指定するように変更し、かつ変更があったことを示すフラグを立てることにより、第1実行部11が次回実行対象のプログラムを読み出す際に、第1更新プログラム記憶領域14から第1更新プログラムを読み出すようにする。
When the above steps S201, S202, and S203 are executed and the ignition switch is turned off, the following process is carried out.
(Step S204): The update unit 91 changes the read destination address of the first read destination information stored in the first memory unit 12 to specify the first update program memory area 14, and sets a flag indicating that a change has occurred, so that the first execution unit 11 reads the first update program from the first update program memory area 14 the next time it reads the program to be executed.

以上のステップS204の処理が実行され、次にイグニッションスイッチがオンとなると、以下の処理が行われる。図6に、第1更新プログラムが第1記憶部12に記憶されていて、第2更新プログラムが第2記憶部22に記憶されていない場合の、車両制御装置100の各実行部および各記憶部を模式的に示す。第1更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第1更新プログラムのバージョンを示す。 After the above process of step S204 is executed, the following process is performed when the ignition switch is next turned on. Figure 6 shows a schematic diagram of each execution unit and each storage unit of the vehicle control device 100 when the first update program is stored in the first storage unit 12 and the second update program is not stored in the second storage unit 22. The first update program includes an identifier, which in the illustrated example is "123". This indicates the version of the first update program.

(ステップS205):第1実行部11は、例えば、第1記憶部12に記憶されている第1読み出し先情報を参照し、実行対象のプログラムが第1制御プログラム記憶領域13に記憶された第1制御プログラムから、第1更新プログラム記憶領域14に格納されている第1更新プログラムに変更されたことを検知する。また、第1実行部11は、第2実行部21の実行対象のプログラムが変更されていないことを検知する。これは、例えば、第1実行部11が第2記憶部22に記憶されている第2読み出し先情報を参照することによって可能である。第1実行部11が第2記憶部22を参照できない場合は、更新部91が、第1記憶部12にも第2読み出し先情報を記憶させておけばよい。 (Step S205): The first execution unit 11, for example, refers to the first read destination information stored in the first storage unit 12, and detects that the program to be executed has been changed from the first control program stored in the first control program storage area 13 to the first update program stored in the first update program storage area 14. The first execution unit 11 also detects that the program to be executed by the second execution unit 21 has not been changed. This is possible, for example, by the first execution unit 11 referring to the second read destination information stored in the second storage unit 22. If the first execution unit 11 cannot refer to the second storage unit 22, the update unit 91 may also store the second read destination information in the first storage unit 12.

(ステップS206):第2実行部21は、例えば、第2記憶部22に記憶されている第2読み出し先情報を参照し、読み出し先のアドレスやフラグに基づいて、実行対象のプログラムが第2制御プログラム記憶領域23に記憶された第2制御プログラムであることを検知する。また、第2実行部21は、第1実行部11の実行対象のプログラムが変更されたことを検知する。これは、第2実行部21が第1記憶部12に記憶されている第1読み出し先情報を参照することによって可能である。第2実行部21が第1記憶部12を参
照できない場合は、更新部91が、第2記憶部22にも第1読み出し先情報を記憶させておけばよい。
(Step S206): The second execution unit 21, for example, refers to the second read destination information stored in the second storage unit 22, and detects that the program to be executed is the second control program stored in the second control program storage area 23 based on the read destination address and flag. The second execution unit 21 also detects that the program to be executed by the first execution unit 11 has been changed. This is possible by the second execution unit 21 referring to the first read destination information stored in the first storage unit 12. If the second execution unit 21 cannot refer to the first storage unit 12, the update unit 91 may store the first read destination information in the second storage unit 22 as well.

(ステップS207):第1実行部11は、第1更新プログラムから識別子を読み出し、第2実行部21に通知する。また、第2実行部21は第2制御プログラムから識別子を読み出し第1実行部11に通知する。このようにして第1実行部11および第2実行部21は互いの実行対象プログラムの識別子を取得することができる。 (Step S207): The first execution unit 11 reads an identifier from the first update program and notifies the second execution unit 21. The second execution unit 21 also reads an identifier from the second control program and notifies the first execution unit 11. In this way, the first execution unit 11 and the second execution unit 21 can obtain the identifiers of each other's execution target programs.

(ステップS208):第1実行部11は、通知された第2制御プログラムの識別子に基づいて、第2実行部21の実行対象のプログラムが第2制御プログラムのまま変更されていないことを確認する。 (Step S208): Based on the notified identifier of the second control program, the first execution unit 11 confirms that the program to be executed by the second execution unit 21 remains the second control program and has not been changed.

(ステップS209):第2実行部21は、通知された第1更新プログラムの識別子に基づいて、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたか確認する。例えば、第2実行部21は、第1制御プログラムの識別子を第2記憶部22に記憶させておき、通知された第1更新プログラムの識別子が、第1制御プログラムの識別子の次のバージョンを表していることにより、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認する。バージョンの順序は予め定めた規則にしたがっていることにより確認してもよく、第1更新プログラムに前のバージョンを表す識別子も含ませておき、第1制御プログラムの識別子と一致することを確認してもよい。また、第2実行部は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認できた場合は、通知された第1更新プログラムの識別子を第2記憶部22に記憶させれば、次回の処理における第1制御プログラムの識別子として利用することができる。 (Step S209): Based on the notified identifier of the first update program, the second execution unit 21 checks whether the program to be executed by the first execution unit 11 has been correctly changed to the first update program. For example, the second execution unit 21 stores the identifier of the first control program in the second storage unit 22, and checks that the notified identifier of the first update program indicates the next version of the identifier of the first control program, thereby checking that the program to be executed by the first execution unit 11 has been correctly changed to the first update program. The order of the versions may be checked by following a predetermined rule, or the first update program may include an identifier indicating the previous version and check that it matches the identifier of the first control program. Furthermore, if the second execution unit can check that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, it can store the notified identifier of the first update program in the second storage unit 22 and use it as the identifier of the first control program in the next process.

(ステップS210):第1実行部11は、ステップS208の確認結果を第2実行部21に通知する。また、第2実行部21はステップS209の確認結果を第1実行部11に通知する。 (Step S210): The first execution unit 11 notifies the second execution unit 21 of the confirmation result of step S208. In addition, the second execution unit 21 notifies the first execution unit 11 of the confirmation result of step S209.

(ステップS211):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから変更されていないことが確認できた場合、第1実行部11は第1更新プログラム記憶領域14から第1更新プログラムを読み出して実行する。 (Step S211): If it is confirmed by steps S208 and S209 that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has not been changed from the second control program, the first execution unit 11 reads out the first update program from the first update program storage area 14 and executes it.

(ステップS212):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから変更されていないことが確認できた場合、第2実行部21は第2制御プログラム記憶領域23から第2制御プログラムを読み出して実行する。なお、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第1プログラムから変更されていないことが確認できた場合、ステップS211およびステップS212で、その通知を第1実行部11、第2実行部21から受け取り、第1制御プログラム記憶領域13を、次に第1更新データを受信したときの第1更新プログラム記憶用の領域としてもよい。 (Step S212): If it is confirmed in steps S208 and S209 that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has not been changed from the second control program, the second execution unit 21 reads out and executes the second control program from the second control program storage area 23. Note that if the update unit 91 confirms that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has not been changed from the first program, it may receive notifications of this from the first execution unit 11 and the second execution unit 21 in steps S211 and S212, and use the first control program storage area 13 as an area for storing the first update program the next time the first update data is received.

(ステップS213):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2更新プログラムから変更されていないことのいずれかまたは両方が確認できない場合、第1実行部11は、第1制御プログラム記憶領域13から、第
1制御プログラムを読み出して実行する。また、第1実行部11は、第1記憶部12に記憶された第1読み出し先情報の読み出し先アドレスが第1制御プログラム記憶領域13を指定するようにし、フラグを下げる。
(Step S213): If it is not possible to confirm either or both of the following in steps S208 and S209: that the program to be executed by first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by second execution unit 21 has not been changed from the second update program, first execution unit 11 reads and executes the first control program from first control program storage area 13. Also, first execution unit 11 sets the read destination address of the first read destination information stored in first storage unit 12 to specify first control program storage area 13, and lowers the flag.

(ステップS214):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから更新されていないことのいずれかまたは両方が確認できない場合、第2実行部21は、第2制御プログラム記憶領域23から、第2制御プログラムを読み出して実行する。なお、ステップS213、S214で第1制御プログラムおよび第2制御プログラムを実行する前に、これらのプログラムの識別子を参照して、実行対象が正しく第1制御プログラムおよび第2制御プログラムであることを確認することが好ましい。また、このように第1制御プログラムを実行できるようにするため、更新部91は、少なくとも第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムから変更されていないことが確認できるまで、第1制御プログラムを削除しないことが好ましい。また、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから変更されていないことのうち、いずれかまたは両方が確認できない場合、ステップS213、S214で、その通知を第1実行部11、第2実行部21から受け取り、異常発生をユーザー等に知らせるための信号を出力してもよい。 (Step S214): If it is not possible to confirm that the program to be executed by the first execution unit 11 has been correctly changed to the first update program by steps S208 and S209, and/or that the program to be executed by the second execution unit 21 has not been updated from the second control program, the second execution unit 21 reads out and executes the second control program from the second control program storage area 23. Note that, before executing the first control program and the second control program in steps S213 and S214, it is preferable to confirm that the programs to be executed are correctly the first control program and the second control program by referring to the identifiers of these programs. In addition, in order to be able to execute the first control program in this way, it is preferable that the update unit 91 does not delete the first control program until it is possible to confirm that at least the program to be executed by the first execution unit 11 has been correctly changed to the first update program, and that the program to be executed by the second execution unit 21 has not been correctly changed from the second update program. Furthermore, if the update unit 91 cannot confirm either or both of the fact that the program to be executed by the first execution unit 11 has been correctly changed to the first update program and that the program to be executed by the second execution unit 21 has not been changed from the second control program, the update unit 91 may receive notification of this from the first execution unit 11 and the second execution unit 21 in steps S213 and S214, and output a signal to notify the user or the like of the occurrence of an abnormality.

以上により、第1制御プログラムが更新され第2制御プログラムが更新されない場合のシーケンスは終了する。また、第2制御プログラムが更新され第1制御プログラムが更新されない場合の処理は、上述の説明において「第1」と「第2」とを互いに読み替えればよい。 With the above, the sequence for when the first control program is updated but the second control program is not updated ends. In addition, for the process for when the second control program is updated but the first control program is not updated, simply read "first" and "second" interchangeably in the above explanation.

(変形例)
以上の実施形態では、実行部が2つの場合について説明したが、本発明は、実行部が3つ以上の場合にも適用できる。図7に、車両制御装置100が、実行部と記憶部とを4組備える場合の各実行部および記憶部を模式的に示す。第1~第4記憶部12、22、32、42は第1~第4実行部11、21、31、41が実行する各制御プログラムを記憶する第1~第4制御プログラム記憶用域13、23、33、34および各更新プログラムを記憶する第1~第4更新プログラム記憶領域14、24、34、44を有する。この場合、プログラムに更新があった場合、上述の実施形態と同様の方法で、第1実行部11が他の実行部、すなわち第2、第3、第4実行部12、13、14の実行対象の識別子の確認を行い、第2実行部21が、第1実行部11の実行対象のプログラムの識別子の確認を行い、それぞれの確認結果を共有することで、すべての実行部について、実行対象のプログラムの確認を行うことができる。なお、各実行部が他のいずれかの実行部から実行対象のプログラムの確認を受けることができれば、実行部とその確認対象となる他の実行部の組み合わせは限定されない。
(Modification)
In the above embodiment, the case where there are two execution units has been described, but the present invention can also be applied to the case where there are three or more execution units. FIG. 7 shows each execution unit and storage unit when the vehicle control device 100 has four sets of execution units and storage units. The first to fourth storage units 12, 22, 32, 42 have first to fourth control program storage areas 13, 23, 33, 34 for storing each control program executed by the first to fourth execution units 11, 21, 31, 41, and first to fourth update program storage areas 14, 24, 34, 44 for storing each update program. In this case, when there is an update to a program, in the same manner as in the above embodiment, the first execution unit 11 checks the identifiers of the execution targets of the other execution units, that is, the second, third, and fourth execution units 12, 13, 14, and the second execution unit 21 checks the identifiers of the programs to be executed by the first execution unit 11, and by sharing the respective check results, it is possible to check the programs to be executed for all execution units. As long as each execution unit can receive confirmation of a program to be executed from any of the other execution units, the combination of an execution unit and the other execution unit to be confirmed is not limited.

以上の実施形態、変形例において、各プロセッサが、他のプロセッサが実行するプログラムが更新されたとき、当該他のプロセッサから実行対象のプログラムの識別子を取得し、実行対象のプログラムが実際に更新されたことを確認できれば、各ステップの処理の内容および順序は、適宜変更、省略等してもよい。 In the above embodiments and variations, when a program executed by another processor is updated, if each processor can obtain an identifier of the program to be executed from the other processor and confirm that the program to be executed has actually been updated, the content and order of the processing of each step may be appropriately changed or omitted.

<効果>
以上の実施形態、変形例に係る更新処理においては、各実行部は、プログラムを実行する前に、互いの実行対象のプログラムのバージョンを確認する。そのため、それまでの段
階の、例えば更新部による、記憶部へ更新プログラムを書き込む処理や実行対象のプログラムを更新前のものから更新後のものに切り替える処理の実行タイミングにずれが生じて、各プログラムの更新前のバージョンと更新後のバージョンとが想定外の組合せで混在する状態が発生している場合はこれを検知することができる。この場合、すべてのプログラムを更新前のバージョンに戻して実行したり、ユーザーに通知して対応を促したりすることで、意図しない動作が実行されるのを抑制することができる。
<Effects>
In the update process according to the above embodiment and modified example, each execution unit checks the version of each other's target program before executing the program. Therefore, if there is a difference in the execution timing of the process by the update unit to write the update program to the storage unit or the process to switch the target program from the pre-update to the updated one, and the pre-update version and the post-update version of each program are mixed in an unexpected combination, this can be detected. In this case, it is possible to prevent unintended operations from being executed by returning all programs to the pre-update version and executing them, or notifying the user to prompt them to take action.

なお、本発明は、車両制御装置として捉えるだけでなく、車両制御装置のプロセッサが実行するプログラムの確認方法、およびプログラム確認用プログラムとして捉えることも可能である。 The present invention can be understood not only as a vehicle control device, but also as a method for verifying a program executed by a processor of the vehicle control device, and a program for verifying the program.

本発明は、自動運転装置等の車載機器を備えた車両等に有用である。 The present invention is useful for vehicles equipped with on-board equipment such as automatic driving devices.

11 第1実行部
12 第1記憶部
13 第1制御プログラム記憶領域
14 第1更新プログラム記憶領域
21 第2実行部
22 第2記憶部
23 第2制御プログラム記憶領域
24 第2更新プログラム記憶領域
31 第3実行部
32 第3記憶部
33 第3制御プログラム記憶領域
34 第3更新プログラム記憶領域
41 第4実行部
42 第4記憶部
43 第4制御プログラム記憶領域
44 第4更新プログラム記憶領域
91 更新部
100 車両制御装置
11 First execution unit 12 First storage unit 13 First control program storage area 14 First update program storage area 21 Second execution unit 22 Second storage unit 23 Second control program storage area 24 Second update program storage area 31 Third execution unit 32 Third storage unit 33 Third control program storage area 34 Third update program storage area 41 Fourth execution unit 42 Fourth storage unit 43 Fourth control program storage area 44 Fourth update program storage area 91 Update unit 100 Vehicle control device

Claims (9)

車両に搭載可能なシステムであって、
前記車両において実行されるプログラムを記憶する第1の記憶領域と、
前記車両の外部の装置から無線通信により取得される更新データに基づいて、前記プログラムの更新版である更新プログラムを記憶する第2の記憶領域と、
前記車両において実行されるプログラムを前記第1の記憶領域に記憶された前記プログラムから前記第2の記憶領域に記憶された前記更新プログラムに切り替える更新処理を行う更新部と、
前記更新部が前記更新処理を行った後に、前記車両において実行されるプログラムに係る識別情報に少なくとも基づいて、前記車両において実行されるプログラムの更新に成功したかを確認する実行部と、
を備えることを特徴とするシステム。
A system that can be mounted on a vehicle,
a first storage area for storing a program to be executed in the vehicle;
a second storage area for storing an update program, which is an update version of the program, based on update data acquired from a device external to the vehicle via wireless communication;
an update unit that performs an update process to switch a program executed in the vehicle from the program stored in the first storage area to the update program stored in the second storage area;
an execution unit that, after the update unit has performed the update process, confirms whether the update of the program executed in the vehicle has been successful based on at least identification information related to the program executed in the vehicle; and
A system comprising:
前記において実行されるプログラムは、前記車両の自動運転制御に利用されるプログラムであることを特徴とする請求項1に記載のシステム。 The system according to claim 1, characterized in that the program executed is a program used for automatic driving control of the vehicle. 前記車両が起動した際に、前記実行部は前記識別情報を取得することを特徴とする請求項1または2に記載のシステム。 The system according to claim 1 or 2, characterized in that the execution unit acquires the identification information when the vehicle is started. 前記更新データは、前記車両において実行されるプログラムと当該プログラムの更新版との差分データであることを特徴とする請求項1から3のいずれか1項に記載のシステム。 The system according to any one of claims 1 to 3, characterized in that the update data is differential data between a program executed in the vehicle and an update version of the program. 前記識別情報は、前記車両において実行されるプログラムのバージョン情報であることを特徴とする請求項1から4のいずれか1項に記載のシステム。 The system according to any one of claims 1 to 4, characterized in that the identification information is version information of a program executed in the vehicle. 前記実行部は、前記実行部による確認結果を、前記車両において実行されるプログラムを実行する他の実行部に通知することを特徴とする請求項1から5のいずれか1項に記載のシステム。 The system according to any one of claims 1 to 5, characterized in that the execution unit notifies another execution unit that executes a program executed in the vehicle of the confirmation result by the execution unit. 請求項1から6のいずれか1項に記載のシステムを備える車両。 A vehicle equipped with a system according to any one of claims 1 to 6. プロセッサ及びメモリを有する制御装置が実行するプログラムの更新確認方法であって、
車両において実行されるプログラムを第1の記憶領域に記憶させるステップと、
前記車両の外部の装置から無線通信により取得される更新データに基づいて、前記プログラムの更新版である更新プログラムを第2の記憶領域に記憶させるステップと、
前記車両において実行されるプログラムを前記第1の記憶領域に記憶された前記プログラムから前記第2の記憶領域に記憶された前記更新プログラムに切り替える更新処理を行うステップと、
前記更新処理を行った後に、前記車両において実行されるプログラムに係る識別情報に少なくとも基づいて、前記車両において実行されるプログラムの更新に成功したかを確認するステップと、
を含むことを特徴とする更新確認方法。
A method for checking updates to a program executed by a control device having a processor and a memory, comprising:
storing a program to be executed in a vehicle in a first storage area;
storing an update program, which is an update version of the program, in a second storage area based on update data acquired by wireless communication from a device external to the vehicle;
performing an update process to switch a program executed in the vehicle from the program stored in the first storage area to the update program stored in the second storage area;
after performing the update process, confirming whether the update of the program executed in the vehicle has been successful based at least on identification information related to the program executed in the vehicle;
An update checking method comprising:
プロセッサ及びメモリを有する制御装置が実行するプログラムの更新確認プログラムであって、前記制御装置に、
車両において実行されるプログラムを第1の記憶領域に記憶させるステップと、
前記車両の外部の装置から無線通信により取得される更新データに基づいて、前記プロ
グラムの更新版である更新プログラムを第2の記憶領域に記憶させるステップと、
前記車両において実行されるプログラムを前記第1の記憶領域に記憶された前記プログラムから前記第2の記憶領域に記憶された前記更新プログラムに切り替える更新処理を行うステップと、
前記更新処理を行った後に、前記車両において実行されるプログラムに係る識別情報に少なくとも基づいて、前記車両において実行されるプログラムの更新に成功したかを確認するステップと、
を実行させることを特徴とする更新確認プログラム。
A program update confirmation program executed by a control device having a processor and a memory, the control device comprising:
storing a program to be executed in a vehicle in a first storage area;
storing an update program, which is an update version of the program, in a second storage area based on update data acquired by wireless communication from a device external to the vehicle;
performing an update process to switch a program executed in the vehicle from the program stored in the first storage area to the update program stored in the second storage area;
after performing the update process, confirming whether the update of the program executed in the vehicle has been successful based at least on identification information related to the program executed in the vehicle;
An update confirmation program characterized by executing the above.
JP2022192625A 2022-01-12 2022-12-01 System, program update confirmation method and update confirmation program Active JP7524939B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022192625A JP7524939B2 (en) 2022-01-12 2022-12-01 System, program update confirmation method and update confirmation program
JP2024113731A JP7740454B2 (en) 2022-01-12 2024-07-17 System, program update confirmation method and update confirmation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022003285A JP7188622B2 (en) 2018-02-16 2022-01-12 Automatic driving ECU, program update confirmation method and update confirmation program
JP2022192625A JP7524939B2 (en) 2022-01-12 2022-12-01 System, program update confirmation method and update confirmation program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022003285A Division JP7188622B2 (en) 2018-02-16 2022-01-12 Automatic driving ECU, program update confirmation method and update confirmation program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024113731A Division JP7740454B2 (en) 2022-01-12 2024-07-17 System, program update confirmation method and update confirmation program

Publications (2)

Publication Number Publication Date
JP2023014289A JP2023014289A (en) 2023-01-26
JP7524939B2 true JP7524939B2 (en) 2024-07-30

Family

ID=80443780

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022192625A Active JP7524939B2 (en) 2022-01-12 2022-12-01 System, program update confirmation method and update confirmation program
JP2024113731A Active JP7740454B2 (en) 2022-01-12 2024-07-17 System, program update confirmation method and update confirmation program

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024113731A Active JP7740454B2 (en) 2022-01-12 2024-07-17 System, program update confirmation method and update confirmation program

Country Status (1)

Country Link
JP (2) JP7524939B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234202A (en) 2003-01-29 2004-08-19 Toshiba Corp Program version management method for distributed cooperative processing system
JP2006243780A (en) 2005-02-28 2006-09-14 Tdk Corp Memory controller, flash memory system and control method of flash memory
JP2006298261A (en) 2005-04-22 2006-11-02 Denso Corp Automotive control unit
JP2010198307A (en) 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd Controller for automobile
JP5989193B1 (en) 2015-06-17 2016-09-07 三菱電機株式会社 Software update system
JP6184575B1 (en) 2016-10-17 2017-08-23 三菱電機株式会社 Program rewriting and verification system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784767A (en) * 1993-09-16 1995-03-31 Fujitsu Ltd Generation management apparatus and generation management method between processors in multiprocessor system
JP3660105B2 (en) * 1997-07-30 2005-06-15 光洋精工株式会社 Vehicle control device
JP2007092621A (en) * 2005-09-28 2007-04-12 Aisin Seiki Co Ltd Electronic control unit
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
JP6468168B2 (en) * 2015-11-05 2019-02-13 株式会社デンソー Electronic control unit
JP6571602B2 (en) * 2016-07-26 2019-09-04 日立オートモティブシステムズ株式会社 Vehicle control device, in-vehicle network system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234202A (en) 2003-01-29 2004-08-19 Toshiba Corp Program version management method for distributed cooperative processing system
JP2006243780A (en) 2005-02-28 2006-09-14 Tdk Corp Memory controller, flash memory system and control method of flash memory
JP2006298261A (en) 2005-04-22 2006-11-02 Denso Corp Automotive control unit
JP2010198307A (en) 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd Controller for automobile
JP5989193B1 (en) 2015-06-17 2016-09-07 三菱電機株式会社 Software update system
JP6184575B1 (en) 2016-10-17 2017-08-23 三菱電機株式会社 Program rewriting and verification system

Also Published As

Publication number Publication date
JP2024133270A (en) 2024-10-01
JP7740454B2 (en) 2025-09-17
JP2023014289A (en) 2023-01-26

Similar Documents

Publication Publication Date Title
CN110162316B (en) Vehicle control device, program update confirmation method and non-transitory computer-readable medium storing update confirmation program
US11868760B2 (en) Vehicle controller, program updating method, and non-transitory storage medium that stores program for updating program
US12204894B2 (en) Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and OTA master
US10642605B2 (en) Vehicle control device, program update method, and computer-readable non-transitory storage medium storing program for program update
JP7298427B2 (en) Program update system and program update method
KR102610730B1 (en) Apparatus for providing update of vehicle and computer-readable storage medium
CN102124447A (en) Control device for vehicle and method for updating data of vehicle control device
US20220244946A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
KR20230025107A (en) Vehicular software management system and method for recovering software thereof
CN121209932A (en) Software update device, host, OTA host, network system, method, storage medium, center and vehicle
JP7188622B2 (en) Automatic driving ECU, program update confirmation method and update confirmation program
US12307230B2 (en) Over-the-air (OTA) master, center, system, method, non-transitory storage medium, and vehicle
JP7524939B2 (en) System, program update confirmation method and update confirmation program
JP6718483B2 (en) vehicle
JP7602541B2 (en) Electronic Control Unit
CN114746310B (en) Electronic control device and electronic control method
JP2011118682A (en) Onboard control device
JP6568826B2 (en) Electronic control unit
JP2005332228A (en) Program switching controller
JP2024048008A (en) Electronic control apparatus and software update method
JP2023020298A (en) Firmware update method for electronic device and firmware update program for electronic device
CN118119920A (en) Vehicle Systems
JP2021005238A (en) Information processing device and data management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240701

R150 Certificate of patent or registration of utility model

Ref document number: 7524939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150