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
JP7188622B2 - Automatic driving ECU, program update confirmation method and update confirmation program - Google Patents
[go: Go Back, main page]

JP7188622B2 - Automatic driving ECU, program update confirmation method and update confirmation program - Google Patents

Automatic driving ECU, program update confirmation method and update confirmation program Download PDF

Info

Publication number
JP7188622B2
JP7188622B2 JP2022003285A JP2022003285A JP7188622B2 JP 7188622 B2 JP7188622 B2 JP 7188622B2 JP 2022003285 A JP2022003285 A JP 2022003285A JP 2022003285 A JP2022003285 A JP 2022003285A JP 7188622 B2 JP7188622 B2 JP 7188622B2
Authority
JP
Japan
Prior art keywords
program
processor
update
executed
changed
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
JP2022003285A
Other languages
Japanese (ja)
Other versions
JP2022036242A (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 JP2018026152A external-priority patent/JP7010049B2/en
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2022003285A priority Critical patent/JP7188622B2/en
Publication of JP2022036242A publication Critical patent/JP2022036242A/en
Priority to JP2022192625A priority patent/JP7524939B2/en
Application granted granted Critical
Publication of JP7188622B2 publication Critical patent/JP7188622B2/en
Priority to JP2024113731A priority patent/JP7740454B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、車両等に搭載される自動運転ECUおよびそのプログラムの更新確認方法およびプログラムの更新確認プログラムに関する。 BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic driving ECU mounted in a vehicle or the like, a program update confirmation method, and a program update confirmation program.

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

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

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

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

本発明は、上記課題に鑑み、プログラムの更新の際、実行対象のプログラムが更新前のプログラムから更新後のプログラムに変更されたことを確認できる自動運転ECU、プログラムの確認方法およびプログラムを提供することを目的とする。 In view of the above problems, the present invention provides an automatic driving ECU, a program confirmation method, and a program that can confirm that a program to be executed has been changed from a pre-update program to a post-update program when the program is updated. The purpose is to

上記課題を解決するために、本発明の一局面は、車両の自動運転制御を行う自動運転ECUであって、車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリおよび、第1制御プログラムを実行する第1プロセッサを備える第1のマイコンと、車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリおよび、第2制御プログラムを実行し、車両の外部の装置からネットワークを介して取得される更新データに基づいて、第1制御プログラムの更新版である第1更新プログラムを第1の不揮発性のメモリに記憶させたのち、第1プロセッサの実行対象のプログラムを第1更新プログラムに変更させ、第1プロセッサの実行対象のプログラムを第1更新プログラムに変更させた場合、第1プロセッサの実行対象のプログラムが書き込まれている記憶領域の識別子を取得し、少なくとも識別子に基づいて、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認する第2プロセッサを備える第2のマイコンと、を備える、自動運転ECUである。 In order to solve the above problems, one aspect of the present invention is an automatic driving ECU that performs automatic driving control of a vehicle, comprising: a first nonvolatile memory that stores a first control program that controls the vehicle; A first microcomputer having a first processor for executing one control program, a second non-volatile memory for storing a second control program for controlling the vehicle, and a device external to the vehicle for executing the second control program A first update program, which is an update version of the first control program, is stored in the first non-volatile memory based on update data acquired via a network from the first processor. When the program to be executed by the first processor is changed to the first update program and the program to be executed by the first processor is changed to the first update program, an identifier of a storage area in which the program to be executed by the first processor is written is acquired, and at least the identifier is and a second microcomputer including a second processor that confirms that the program to be executed by the first processor has been changed to the first update program based on.

これにより、第1制御プログラムが第1更新プログラムに更新された場合、第2プロセッサが、第1プロセッサの実行対象が第1更新プログラムに変更されていることを確認できる。 Accordingly, when the first control program is updated to the first update program, the second processor can confirm that the execution target of the first processor has been changed to the first update program.

第2のマイコンの第2プロセッサは、さらに、車両の起動時に、第1プロセッサの実行対象のプログラムの識別子を第1プロセッサから取得し、少なくとも第1プロセッサから取得した第1プロセッサの実行対象のプログラムの識別子に基づいて、第1プロセッサの実行対象のプログラムが第1更新プログラムに更新されたことを確認してもよい。 The second processor of the second microcomputer further obtains from the first processor an identifier of the program to be executed by the first processor when the vehicle is started, and obtains at least the program to be executed by the first processor obtained from the first processor. , it may be confirmed that the program to be executed by the first processor has been updated to the first update program.

また、第2プロセッサは、更新データに基づいて、第2制御プログラムの更新版である第2更新プログラムを第2の不揮発性のメモリに記憶させたのち、第2プロセッサの実行対象のプログラムを第2更新プログラムに変更することが可能であり、第2プロセッサが第2プロセッサの実行対象のプログラムを第2更新プログラムに変更した場合、第1プロセッサは、第2プロセッサの実行対象のプログラムの識別子を第2プロセッサから取得し、少なくとも第2プロセッサから取得した第2プロセッサの実行対象のプログラムの識別子に基づいて、第2プロセッサの実行対象のプログラムが第2更新プログラムに変更されたことを確認してもよい。 Further, the second processor stores a second update program, which is an update version of the second control program, in the second nonvolatile memory based on the update data, and then stores the program to be executed by the second processor in the second nonvolatile memory. When the second processor changes the program to be executed by the second processor to the second update program, the first processor changes the identifier of the program to be executed by the second processor. confirming that the program to be executed by the second processor has been changed to the second update program based on at least the identifier of the program to be executed by the second processor obtained from the second processor; good too.

これにより、さらに第2制御プログラムが第2更新プログラムに更新された場合、第1プロセッサが第2プロセッサの実行対象が第2更新プログラムに変更されていることを確認できる。 Accordingly, when the second control program is further updated to the second update program, the first processor can confirm that the execution target of the second processor has been changed to the second update program.

また、第2プロセッサが第1プロセッサの実行対象のプログラムを第1更新プログラムに変更し、第2プロセッサの実行対象のプログラムを第2更新プログラムに変更した場合、第1プロセッサが、第2プロセッサの実行対象のプログラムが第2更新プログラムに変更されたことを確認し、かつ、第2プロセッサが、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認した場合に、第1プロセッサは、第1更新プログラムを実行し、第2プロセッサは、第2更新プログラムを実行してもよい。 Further, when the second processor changes the program to be executed by the first processor to the first update program and changes the program to be executed by the second processor to the second update program, the first processor changes the When it is confirmed that the program to be executed has been changed to the second update program, and the second processor has confirmed that the program to be executed by the first processor has been changed to the first update program, One processor may execute a first update program and a second processor may execute a second update program.

これにより、実行対象のプログラムが更新後のプログラムに正しく変更されている場合に更新プログラムが実行されるので、意図しない動作が行われるおそれを低減できる。 As a result, the update program is executed when the program to be executed has been correctly changed to the post-update program, so that the risk of unintended operation being performed can be reduced.

また、第2プロセッサが第1プロセッサの実行対象のプログラムを第1更新プログラムに変更し、第2プロセッサの実行対象のプログラムを第2更新プログラムに変更した場合、第1更新プログラムは、第1の不揮発性のメモリの第1制御プログラムが記憶された領域以外の領域に記憶され、第2更新プログラムは、第2の不揮発性のメモリの第2制御プログラムが記憶された領域以外の領域に記憶され、第1プロセッサが、第2プロセッサの実行対象のプログラムが第2更新プログラムに変更されたことを確認できない場合、第2プロセッサが、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認できない場合、の少なくともいずれか一方の場合に、第1プロセッサは、第1制御プログラムを実行し、第2プロセッサは、第2制御プログラムを実行してもよい。 Further, when the second processor changes the program to be executed by the first processor to the first update program and changes the program to be executed by the second processor to the second update program, the first update program is the first update program. The second update program is stored in an area of the non-volatile memory other than the area where the first control program is stored, and the second update program is stored in an area of the second non-volatile memory other than the area where the second control program is stored. , if the first processor cannot confirm that the program to be executed by the second processor has been changed to the second update program, the second processor confirms that the program to be executed by the first processor has been changed to the first update program. In at least one of the case where it is not possible to confirm that the

これにより、実行対象のプログラムが更新後のプログラムに正しく変更されていない場合は、各プロセッサが更新前のプログラムを実行するため、意図しない動作が行われるおそれを低減できる。 Accordingly, if the program to be executed is not correctly changed to the post-update program, each processor executes the pre-update program, thereby reducing the risk of unintended operations being performed.

また、第2プロセッサが第1プロセッサの実行対象のプログラムを第1更新プログラムに変更し、第2プロセッサの実行対象のプログラムを第2更新プログラムに変更していない場合、第1プロセッサが、第2プロセッサの実行対象のプログラムの識別子を第2プロセッサから取得し、少なくとも第2プロセッサから取得した第2プロセッサの実行対象のプログラムの識別子に基づいて、第2プロセッサの実行対象のプログラムが第2制御プログラムから変更されていないことを確認し、かつ、第2プロセッサが、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認した場合に、第1プロセッサは、第1更新プログラムを実行し、第2プロセッサは、第2制御プログラムを実行してもよい。 Further, when the second processor changes the program to be executed by the first processor to the first update program and does not change the program to be executed by the second processor to the second update program, the first processor changes the second update program to the second update program. An identifier of a program to be executed by the processor is obtained from the second processor, and the program to be executed by the second processor is the second control program based on at least the identifier of the program to be executed by the second processor obtained from the second processor. and the second processor confirms that the program to be executed by the first processor has been changed to the first update program, the first processor confirms that the first update program and the second processor may execute a second control program.

これにより、実行対象のプログラムが更新後のプログラムに正しく変更されている場合に更新プログラムが実行されるので、意図しない動作が行われるおそれを低減できる。 As a result, the update program is executed when the program to be executed has been correctly changed to the post-update program, so that the risk of unintended operation being performed can be reduced.

また、第2プロセッサが第1プロセッサの実行対象のプログラムを第1更新プログラムに変更し、第2プロセッサの実行対象のプログラムを第2更新プログラムに変更していない場合、第1更新プログラムは、第1の不揮発性のメモリの第1制御プログラムが記憶された領域以外の領域に記憶されており、第1プロセッサが、第2プロセッサの実行対象のプログラムの識別子を第2プロセッサから取得し、少なくとも第2プロセッサから取得した第2プロセッサの実行対象のプログラムの識別子に基づいて、第2プロセッサの実行対象のプログラムが第2制御プログラムから変更されていないことを確認し、かつ、第2プロセッサが、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認できなかった場合、第1プロセッサは、第1制御プログラムを実行し、第2プロセッサは、第2制御プログラムを実行してもよい。 Further, when the second processor changes the program to be executed by the first processor to the first update program and does not change the program to be executed by the second processor to the second update program, the first update program is is stored in an area other than the area where the first control program is stored in one nonvolatile memory, the first processor acquires from the second processor the identifier of the program to be executed by the second processor; Based on the identifier of the program to be executed by the second processor obtained from the second processor, it is confirmed that the program to be executed by the second processor has not been changed from the second control program, and If it cannot be confirmed that the program to be executed by the first processor has been changed to the first update program, the first processor executes the first control program, and the second processor executes the second control program. good too.

これにより、実行対象のプログラムが更新後のプログラムに正しく変更されていない場合は、プロセッサが更新前のプログラムを実行するため、意図しない動作が行われるおそれを低減できる。 Accordingly, if the program to be executed is not correctly changed to the post-update program, the processor executes the pre-update program, thereby reducing the risk of unintended operations being performed.

また、車両を制御する第3制御プログラムを記憶する第3の不揮発性のメモリと、第3制御プログラムを実行する第3プロセッサとを少なくともさらに備え、第2プロセッサが更新データに基づいて、第3制御プログラムの更新版である第3更新プログラムを第3の不揮発性のメモリに記憶させたのち、第3プロセッサの実行対象のプログラムを第3更新プログラムに変更することが可能であり、第2プロセッサが第3プロセッサの実行対象のプログラムを第3更新プログラムに変更した場合、第1プロセッサは、第3プロセッサの実行対象のプログラムの識別子を第3プロセッサから取得し、少なくとも第3プロセッサから取得した第3プロセッサの実行対象のプログラムの識別子に基づいて、第3プロセッサの実行対象のプログラムが第3更新プログラムに変更されたことを確認してもよい。 Further, at least a third non-volatile memory that stores a third control program for controlling the vehicle, and a third processor that executes the third control program, wherein the second processor controls the third control program based on the update data. After storing the third update program, which is an update version of the control program, in the third nonvolatile memory, the program to be executed by the third processor can be changed to the third update program, and the second processor changes the program to be executed by the third processor to the third update program, the first processor obtains from the third processor the identifier of the program to be executed by the third processor, and at least the identifier obtained from the third processor. Based on the identifier of the program to be executed by the third processor, it may be confirmed that the program to be executed by the third processor has been changed to the third update program.

これにより、3つ以上のプロセッサが相互に実行対象のプログラムを確認することができる。 This allows three or more processors to mutually confirm programs to be executed.

本発明の他の局面は、車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリと、車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリと、第1制御プログラムを実行する第1プロセッサと、第2制御プログラムを実行し、車両の外部の装置からネットワークを介して取得される更新データに基づいて、第1制御プログラムの更新版である第1更新プログラムを第1の不揮発性のメモリに記憶させたのち、第1プロセッサの実行対象のプログラムを第1更新プログラムに変更させる、車両の自動運転制御を行う自動運転ECUの第2プロセッサが実行するプログラムの更新確認方法であって、第2プロセッサが、第1プロセッサの実行対象のプログラムを第1更新プログラムに変更した場合、第1プロセッサの実行対象のプログラムが書き込まれている記憶領域の識別子を取得するステップと、少なくとも識別子に基づいて、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認するステップとを含む、更新確認方法である。 Another aspect of the present invention includes a first nonvolatile memory storing a first control program for controlling a vehicle, a second nonvolatile memory storing a second control program for controlling the vehicle, and a first A first processor that executes a control program, a first processor that executes a second control program, and a first processor that is an updated version of the first processor, based on update data obtained from a device external to the vehicle via a network. is stored in the first non-volatile memory, and then the program to be executed by the first processor is changed to the first update program, and the program executed by the second processor of the automatic driving ECU that performs automatic driving control of the vehicle. In the update confirmation method, when the second processor changes the program to be executed by the first processor to the first update program, the identifier of the storage area in which the program to be executed by the first processor is written is obtained. and confirming that the program to be executed by the first processor has been changed to the first update program based on at least the identifier.

本発明のさらに他の局面は、車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリと、車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリと、第1制御プログラムを実行する第1プロセッサと、第2制御プログラムを実行し、車両の外部の装置からネットワークを介して取得される更新データに基づいて、第1制御プログラムの更新版である第1更新プログラムを第1の不揮発性のメモリに記憶させたのち、第1プロセッサの実行対象のプログラムを第1更新プログラムに変更させる、車両の自動運転制御を行う自動運転ECUの第2プロセッサに実行させるプログラムの更新確認プログラムであって、第2プロセッサが、第1プロセッサの実行対象のプログラムを第1更新プログラムに変更した場合、第1プロセッサの実行対象のプログラムが書き込まれている記憶領域の識別子を取得するステップと、少なくとも識別子に基づいて、第1プロセッサの実行対象のプログラムが第1更新プログラムに変更されたことを確認するステップとを含む、更新確認プログラムである。 According to still another aspect of the present invention, a first nonvolatile memory storing a first control program for controlling a vehicle, a second nonvolatile memory storing a second control program for controlling the vehicle, and a second A first processor that executes one control program and a second control program that executes a first update that is an updated version of the first control program based on update data obtained from a device external to the vehicle via a network. A program to be executed by a second processor of an automatic driving ECU that performs automatic driving control of a vehicle, after storing the program in the first nonvolatile memory, changing the program to be executed by the first processor to the first update program. wherein, when the second processor changes the program to be executed by the first processor to the first update program, the identifier of the storage area in which the program to be executed by the first processor is written is acquired. and confirming, based on at least the identifier, that the program to be executed by the first processor has been changed to the first update program.

これらにより、第1制御プログラムが第1更新プログラムに更新された場合、第2プロセッサが、第1プロセッサの実行対象が第1更新プログラムに変更されていることを確認できる。 As a result, when the first control program is updated to the first update program, the second processor can confirm that the execution target of the first processor has been changed to the first update program.

本発明によれば、プログラムが正しく変更されたことを確認できる自動運転ECU、プログラム確認方法およびプログラムを提供することができる。 Advantageous Effects of Invention According to the present invention, it is possible to provide an automatic driving ECU, a program confirmation method, and a program that can confirm that a program has been correctly changed.

本発明の一実施形態に係る車両制御装置の機能ブロック図1 is a functional block diagram of a vehicle control device according to an embodiment of the present invention; FIG. 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図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 sequence diagram showing processing of the vehicle control device according to one embodiment of the present invention; 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図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 sequence diagram showing processing of the vehicle control device according to one embodiment of the present invention; 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図Schematic diagram of an execution unit and a storage unit of a vehicle control device according to an embodiment of the present invention. 本発明の変形例に係る車両制御装置の実行部および記憶部の模式図Schematic diagram of an execution unit and a storage unit of a vehicle control device according to a modification of the present invention

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

(実施形態)
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。
(embodiment)
An embodiment of the present invention will be described in detail below 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 according to this embodiment. The vehicle control device 100 is, for example, an automatic driving ECU that performs automatic driving control of the vehicle, and drives the vehicle by controlling the steering, engine, brakes, etc., based on inputs from various sensors. The vehicle control device 100 includes a first execution unit 11 and a second execution unit 21, which are processors, and a first storage unit 12 and a second storage unit 22, which are nonvolatile 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 the first control program, which is the current execution target program stored in the first control program storage area 13 . The second execution unit 21 is a processor and executes the second control program stored in the second control program storage area 23, which is the current program to be executed. Vehicle control device 100 may also include a volatile RAM. The above-mentioned automatic operation 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 by an OTA receiver or the like mounted on the vehicle from a server or the like outside the vehicle via a network. Upon acquiring the update data, the updating unit 91 generates one or both of a first update program that is an update version of the first control program and a second update program that is an update version of the second control program based on the update data. be able to. 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制御プログラムとは同時に実行されるべきバージョンの組となっている。
FIG. 2 shows execution units and storage units 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 part is schematically shown. The first control program contains an identifier, which is "122" in the illustrated example. This indicates the version of the first control program. Similarly, the second control program contains 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 form a set of versions to be executed simultaneously.

<処理1>
以下に、本実施形態に係るプログラム更新処理の一例を説明する。まず、第1制御プログラムと第2制御プログラムがともに更新される場合について説明する。図3は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
<Processing 1>
An example of program update processing according to the present embodiment will be described below. First, the case where both the first control program and the second control program are updated will be described. FIG. 3 is a sequence for explaining the processing. 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 reads out the first control program from the first control program storage area 13 as a program to be executed by, for example, an address or the like stored in the first storage unit 12 that specifies the read destination of the program. can be determined based on the first read destination information including The first read destination information is, for example, information written by the update unit 91 to the first storage unit 12, such as information specifying the read destination of the program to the first execution unit 11 and a flag indicating that this information has been changed. including.

(ステップ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 determines whether to read the second control program from the second control program storage area 23 as the program to be executed, based on the second read destination information stored in the second storage unit 22, for example. can do. The second read destination information is, for example, information written by the update unit 91 to the second storage unit 12, such as information specifying the read destination of the program to the second execution unit 21 and a flag indicating that this information has been changed. including.

(ステップS103):更新部91が更新データに基づいて第1更新プログラムおよび第2更新プログラムを生成する。更新データの形式はとくに限定されないが、例えば更新前のプログラムからの更新された部分を含む差分データやその圧縮データであってもよいし、更新プログラムの全体であってもよい。更新部91は、第1記憶部12の第1更新プログラム記憶領域14に第1更新プログラムを記憶させ、第2記憶部22の第2更新プログラム記憶領域24に第2更新プログラムを記憶させる。 (Step S103): The updating unit 91 generates the first update program and the second update program based on the update data. Although the format of the update data is not particularly limited, it may be, for example, difference data including updated portions from the program before update, 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 processes of steps S101, S102, and S103 are executed and the ignition switch is turned off, the following processes are performed.
(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 if there is a change, By setting a flag indicating that the first update program is to be read from the first update program storage area 14 when the first execution unit 11 reads the program to be executed next time. In addition, the update unit 91 changes the second read destination information stored in the second storage unit 22 so that the read destination address specifies the second update program storage area 24, and notifies that the change has occurred. setting the flag indicates that the second update program should be read from the second update program storage area 24 when the second execution unit 21 reads the program to be executed next time.

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

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

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

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

(ステップ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): Based on the notified identifier of the second update program, 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. 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 if these indicate the same version, the second execution unit 21 Confirm that the program to be executed has been correctly changed to the second update program. Further, the first execution unit 11 stores the identifier of the second control program in the first storage unit 12, and the notified identifier of the second update program represents the next version of the identifier of the second control program. It may be confirmed that the program to be executed by the second execution unit 21 has been correctly changed to the second update program. The order of the versions may be confirmed by following a predetermined rule, and the identifier representing the previous version is also included in the second update program and confirmed to match the identifier of the second control program. good too.

(ステップ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): 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 compares the identifier of the notified first update program and the read identifier of the second update program, and if these indicate the same version, the first execution unit 11 Confirm that the program to be executed has been correctly changed to the first update program. Further, the second execution unit 21 stores the identifier of the first control program in the second storage unit 22, and the notified identifier of the first update program represents the next version of the identifier of the first control program. By doing so, it may be confirmed 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 confirmed by following a predetermined rule, and the identifier representing the previous version is also included in the first update program and confirmed to match the identifier of the first control program. good too.

(ステップ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. Also, 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): In steps S108 and S109, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is correctly changed to the second update program. , the first execution unit 11 reads 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): In steps S108 and S109, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is correctly changed to the second update program. , the second execution unit 21 reads the second update program from the second update program storage area 24 and executes it. Update unit 91 confirms 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 been correctly changed to the second update program. If it can be confirmed, in steps S111 and S112, the notification is received from the first execution unit 11 and the second execution unit 21, and the first control program storage area 13 and the second control program storage area 23 are stored respectively. It may be an area for storing the first update program and the second update program 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): In steps S108 and S109, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is correctly changed to the second update program. , the first execution unit 11 reads the first control program from the first control program storage area 13 and executes it. Further, the first execution unit 11 causes 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): In steps S108 and S109, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is correctly changed to the second update program. , the second execution unit 21 reads the second control program from the second control program storage area 23 and executes it. Further, the second execution unit 21 causes the read destination address of the second read destination information stored in the second storage unit 22 to specify the second control program storage area 14, and lowers the flag. Before executing the first control program and the second control program in steps S113 and S114, the identifiers of these programs are referred to confirm that the objects to be executed are the correct first control program and second control program. preferably. In addition, in order to execute the first control program and the second control program in this manner, the update unit 91 confirms that at least the program to be executed by the first execution unit 11 has been correctly changed to the first update program, In addition, it is preferable to save the first control program and the second control program without deleting them until it is confirmed that the program to be executed by the second execution unit 21 has been correctly changed to the second update program. Further, 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 been correctly changed to the second update program. If either or both of these conditions cannot be confirmed, the notification is received from the first execution unit 11 and the second execution unit 21 in steps S113 and S114, and a signal is output to inform the user or the like of the occurrence of the abnormality. may

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

<処理2>
次に第1制御プログラムおよび第2制御プログラムの一方のみが更新される場合の処理を説明する。以下では一例として、第1制御プログラムが更新され、第2制御プログラムが更新されない場合について説明する。図5は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
<Process 2>
Next, the processing when only one of the first control program and the second control program is updated will be described. As an example, a case where the first control program is updated and the second control program is not updated will be described below. FIG. 5 is a sequence for explaining the processing. 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 determines to read the first control program from the first control program storage area 13 as the program to be executed based on the first read destination information stored in the first storage unit 12, for example. be able to.

(ステップ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 determines whether to read the second control program from the second control program storage area 23 as the program to be executed, based on the second read destination information stored in the second storage unit 22, for example. be able to.

(ステップS203):更新部91が更新データに基づいて第1更新プログラムを生成する。更新部91は、第1記憶部12の第1更新プログラム記憶領域14に第1更新プログラムを記憶させる。 (Step S203): The update section 91 generates the 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更新プログラムを読み出すようにする。
After the processes in steps S201, S202, and S203 are executed and the ignition switch is turned off, the following processes are performed.
(Step S204): The update unit 91 changes the read destination address of the first read destination information stored in the first storage unit 12 so that it specifies the first update program storage area 14, and there is a change. By setting a flag indicating that, the first update program is read from the first update program storage area 14 when the first execution unit 11 reads the program to be executed next time.

以上のステップS204の処理が実行され、次にイグニッションスイッチがオンとなると、以下の処理が行われる。図6に、第1更新プログラムが第1記憶部12に記憶されていて、第2更新プログラムが第2記憶部22に記憶されていない場合の、車両制御装置100の各実行部および各記憶部を模式的に示す。第1更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第1更新プログラムのバージョンを示す。 After the process of step S204 is executed, the following process is performed when the ignition switch is turned on. FIG. 6 shows execution units and storage units 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. is schematically shown. The first update program contains an identifier, which is "123" in the illustrated example. 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 S<b>205 ): The first execution unit 11 refers to the first read destination information stored in the first storage unit 12 , for example, and reads the first read destination information stored in the first control program storage area 13 as the program to be executed. 1 control program to the first update program stored in the first update program storage area 14 is detected. Also, the first execution unit 11 detects that the program to be executed by the second execution unit 21 has not been changed. This is possible, for example, by referring to the second read destination information stored in the second storage unit 22 by the first execution unit 11 . If the first execution unit 11 cannot refer to the second storage unit 22, the updating unit 91 may store the second read destination information in the first storage unit 12 as well.

(ステップ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 refers to, for example, the second read destination information stored in the second storage unit 22, and based on the read destination address and flag, the program to be executed is the second read destination information. It detects that it is the second control program stored in the control program storage area 23 . Second execution unit 21 also detects that the program to be executed by first execution unit 11 has been changed. This is possible by referring to the first read destination information stored in the first storage unit 12 by the second execution unit 21 . If the second execution unit 21 cannot refer to the first storage unit 12, the updating 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 the identifier from the first update program and notifies the second execution unit 21 of it. Also, the second execution unit 21 reads the identifier from the second control program and notifies it to the first execution unit 11 . In this manner, the first execution unit 11 and the second execution unit 21 can acquire the identifiers of the execution target programs of each other.

(ステップ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 unchanged as the second control program. .

(ステップ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 the notified identifier of the first update program represents the next version of the identifier of the first control program. By doing so, it is confirmed 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 confirmed by following a predetermined rule, and the identifier representing the previous version is also included in the first update program and confirmed to match the identifier of the first control program. good too. When the second execution unit confirms that the program to be executed by the first execution unit 11 has been correctly changed to the first update program, the second execution unit stores the identifier of the notified first update program in the second storage unit. 22, it can be used as an identifier for 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. Also, 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): In steps S208 and S209, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is changed from the second control program. When it is confirmed that the update program has not been changed, the first execution unit 11 reads 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): In steps S208 and S209, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is changed from the second control program. If it is confirmed that the program has not been changed, the second execution unit 21 reads the second control program from the second control program storage area 23 and executes it. Note that 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. If it can be confirmed, in steps S211 and S212, when the notification is received from the first execution unit 11 and the second execution unit 21, the first control program storage area 13 is received, and then the first update data is received. may be used as an area for storing the first update program.

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

(ステップ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): In steps S208 and S209, the program to be executed by the first execution unit 11 is correctly changed to the first update program, and the program to be executed by the second execution unit 21 is changed from the second control program. If it cannot be confirmed that it has not been updated or both, the second execution unit 21 reads out the second control program from the second control program storage area 23 and executes it. Before executing the first control program and the second control program in steps S213 and S214, the identifiers of these programs are referred to confirm that the objects to be executed are the first control program and the second control program correctly. preferably. In addition, in order to execute the first control program in this manner, the update unit 91 confirms 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 second execution program is executed. It is preferable not to delete the first control program until it is confirmed that the program to be executed by the unit 21 has not been correctly changed from the second update program. Further, 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 been changed from the second control program. If either or both of the above are not confirmed, in steps S213 and S214, the notification is received from the first execution unit 11 and the second execution unit 21, and a signal is output to notify the user or the like of the occurrence of the abnormality. may

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

(変形例)
以上の実施形態では、実行部が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 the number of execution units is two has been described, but the present invention can also be applied to the case where the number of execution units is three or more. FIG. 7 schematically shows each execution unit and storage unit when vehicle control device 100 includes four sets of execution units and storage units. The first to fourth storage units 12, 22, 32, 42 are first to fourth control program storage areas 13 for storing respective control programs executed by the first to fourth execution units 11, 21, 31, 41, 23, 33, 34 and first to fourth update program storage areas 14, 24, 34, 44 for storing each update program. In this case, when the program is updated, the first execution section 11 executes the other execution sections, that is, the second, third, and fourth execution sections 12, 13, and 14, in the same manner as in the above-described embodiment. By confirming the identifier of the target, the second execution unit 21 confirms the identifier of the program to be executed by the first execution unit 11, and sharing the respective confirmation results, all execution units can confirm the execution target. program can be checked. As long as each execution unit can receive confirmation of the program to be executed from any other execution unit, the combination of the execution unit and the other execution unit to be confirmed is not limited.

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

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

なお、本発明は、自動運転ECUとして捉えるだけでなく、自動運転ECUのプロセッサが実行するプログラムの確認方法、およびプログラム確認用プログラムとして捉えることも可能である。 The present invention can be regarded not only as an automatic driving ECU, but also as a confirmation method of a program executed by a processor of an automatic driving ECU and a program for confirming the program.

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

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 second 3 Execution Unit 32 3rd Storage Unit 33 3rd Control Program Storage Area 34 3rd Update Program Storage Area 41 4th Execution Unit 42 4th Storage Unit 43 4th Control Program Storage Area 44 4th Update Program Storage Area 91 Update Unit 100 vehicle controller

Claims (10)

車両の自動運転制御を行う自動運転ECUであって、
前記車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリおよび、前記第1制御プログラムを実行する第1プロセッサを備える第1のマイコンと、
前記車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリおよび、前記第2制御プログラムを実行し、前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版である第1更新プログラムを前記第1の不揮発性のメモリに記憶させたのち、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させ、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させた場合、前記第1プロセッサの実行対象のプログラムが書き込まれている記憶領域の識別子を取得し、少なくとも前記識別子に基づいて、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認する第2プロセッサを備える第2のマイコンと、を備える、自動運転ECU。
An automatic driving ECU that performs automatic driving control of a vehicle,
a first microcomputer comprising a first nonvolatile memory storing a first control program for controlling the vehicle and a first processor executing the first control program;
A second non-volatile memory storing a second control program for controlling the vehicle, and executing the second control program, based on update data acquired via a network from a device external to the vehicle, After storing a first update program, which is an update version of the first control program, in the first nonvolatile memory, changing the program to be executed by the first processor to the first update program, When the program to be executed by one processor is changed to the first update program, an identifier of a storage area in which the program to be executed by the first processor is written is obtained, and based on at least the identifier, the first update program is updated. and a second microcomputer including a second processor that confirms that the program to be executed by the first processor has been changed to the first update program.
前記第2のマイコンの前記第2プロセッサは、さらに、
前記車両の起動時に、前記第1プロセッサの実行対象のプログラムの識別子を前記第1プロセッサから取得し、少なくとも前記第1プロセッサから取得した前記第1プロセッサの実行対象のプログラムの識別子に基づいて、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに更新されたことを確認する、請求項1に記載の自動運転ECU。
The second processor of the second microcomputer further
When the vehicle is started, an identifier of a program to be executed by the first processor is acquired from the first processor, and at least based on the identifier of the program to be executed by the first processor acquired from the first processor, the The automatic driving ECU according to claim 1, which confirms that the program to be executed by the first processor has been updated to the first update program.
前記第2プロセッサは、前記更新データに基づいて、前記第2制御プログラムの更新版である第2更新プログラムを前記第2の不揮発性のメモリに記憶させたのち、前記第2プロセッサの実行対象のプログラムを前記第2更新プログラムに変更することが可能であり、
前記第2プロセッサが、前記第2プロセッサの実行対象のプログラムを前記第2更新プログラムに変更した場合、前記第1プロセッサは、前記第2プロセッサの実行対象のプログラムの識別子を前記第2プロセッサから取得し、少なくとも前記第2プロセッサから取得した前記第2プロセッサの実行対象のプログラムの識別子に基づいて、前記第2プロセッサの実行対象のプログラムが前記第2更新プログラムに変更されたことを確認する、請求項1または2に記載の自動運転ECU。
The second processor stores a second update program, which is an update version of the second control program, in the second non-volatile memory based on the update data, and then stores the update program in the second nonvolatile memory. It is possible to change the program to the second update program,
When the second processor changes the program to be executed by the second processor to the second update program, the first processor acquires an identifier of the program to be executed by the second processor from the second processor. and confirming that the program to be executed by the second processor has been changed to the second update program based on at least the identifier of the program to be executed by the second processor acquired from the second processor. Item 3. The automatic driving ECU according to item 1 or 2.
前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更し、前記第2プロセッサの実行対象のプログラムを前記第2更新プログラムに変更した場合、
前記第1プロセッサが、前記第2プロセッサの実行対象のプログラムが前記第2更新プログラムに変更されたことを確認し、かつ、前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認した場合に、前記第1プロセッサは、前記第1更新プログラムを実行し、前記第2プロセッサは、前記第2更新プログラムを実行する、請求項3に記載の自動運転ECU。
When the second processor changes the program to be executed by the first processor to the first update program and changes the program to be executed by the second processor to the second update program,
The first processor confirms that the program to be executed by the second processor has been changed to the second update program, and the second processor confirms that the program to be executed by the first processor is the second update program. 4. The method according to claim 3, wherein said first processor executes said first update program and said second processor executes said second update program when it is confirmed that the update program has been changed to No. 1 update program. Self-driving ECU.
前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更し、前記第2プロセッサの実行対象のプログラムを前記第2更新プログラムに変更した場合、
前記第1更新プログラムは、前記第1の不揮発性のメモリの前記第1制御プログラムが記憶された領域以外の領域に記憶され、前記第2更新プログラムは、前記第2の不揮発性のメモリの前記第2制御プログラムが記憶された領域以外の領域に記憶され、
前記第1プロセッサが、前記第2プロセッサの実行対象のプログラムが前記第2更新プログラムに変更されたことを確認できない場合、前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認できない場合、の少なくともいずれか一方の場合に、前記第1プロセッサは、前記第1制御プログラムを実行し、前記第2プロセッサは、前記第2制御プログラムを実行する、請求項3または4に記載の自動運転ECU。
When the second processor changes the program to be executed by the first processor to the first update program and changes the program to be executed by the second processor to the second update program,
The first update program is stored in an area of the first nonvolatile memory other than the area where the first control program is stored, and the second update program is stored in the second nonvolatile memory. stored in an area other than the area in which the second control program is stored;
When the first processor cannot confirm that the program to be executed by the second processor has been changed to the second update program, the second processor determines that the program to be executed by the first processor is the first update program. In at least one of the case where it cannot be confirmed that the update program has been changed, the first processor executes the first control program, and the second processor executes the second control program. The automatic driving ECU according to claim 3 or 4.
前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更し、前記第2プロセッサの実行対象のプログラムを前記第2更新プログラムに変更していない場合、
前記第1プロセッサが、前記第2プロセッサの実行対象のプログラムの識別子を前記第2プロセッサから取得し、少なくとも前記第2プロセッサから取得した前記第2プロセッサの実行対象のプログラムの識別子に基づいて、前記第2プロセッサの実行対象のプログラムが前記第2制御プログラムから変更されていないことを確認し、かつ、前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認した場合に、前記第1プロセッサは、前記第1更新プログラムを実行し、前記第2プロセッサは、前記第2制御プログラムを実行する、請求項3に記載の自動運転ECU。
When the second processor has changed the program to be executed by the first processor to the first update program and has not changed the program to be executed by the second processor to the second update program,
The first processor obtains from the second processor an identifier of the program to be executed by the second processor, and at least based on the identifier of the program to be executed by the second processor obtained from the second processor, confirming that the program to be executed by the second processor has not been changed from the second control program, and the second processor confirms that the program to be executed by the first processor has been changed to the first update program; 4. The autonomous driving ECU according to claim 3, wherein said first processor executes said first update program and said second processor executes said second control program when it is confirmed that
前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更し、前記第2プロセッサの実行対象のプログラムを前記第2更新プログラムに変更していない場合、
前記第1更新プログラムは、前記第1の不揮発性のメモリの前記第1制御プログラムが記憶された領域以外の領域に記憶されており、
前記第1プロセッサが、前記第2プロセッサの実行対象のプログラムの識別子を前記第2プロセッサから取得し、少なくとも前記第2プロセッサから取得した前記第2プロセッサの実行対象のプログラムの識別子に基づいて、前記第2プロセッサの実行対象のプログラムが前記第2制御プログラムから変更されていないことを確認し、かつ、前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認できなかった場合、前記第1プロセッサは、前記第1制御プログラムを実行し、前記第2プロセッサは、前記第2制御プログラムを実行する、請求項3または6に記載の、自動運転ECU。
When the second processor has changed the program to be executed by the first processor to the first update program and has not changed the program to be executed by the second processor to the second update program,
The first update program is stored in an area of the first non-volatile memory other than the area where the first control program is stored,
The first processor obtains from the second processor an identifier of the program to be executed by the second processor, and at least based on the identifier of the program to be executed by the second processor obtained from the second processor, confirming that the program to be executed by the second processor has not been changed from the second control program, and the second processor confirms that the program to be executed by the first processor has been changed to the first update program; Automatic operation according to claim 3 or 6, wherein the first processor executes the first control program and the second processor executes the second control program if it is not possible to confirm that ECU.
前記車両を制御する第3制御プログラムを記憶する第3の不揮発性のメモリと、前記第3制御プログラムを実行する第3プロセッサとを少なくともさらに備え、
前記第2プロセッサが前記更新データに基づいて、前記第3制御プログラムの更新版である第3更新プログラムを前記第3の不揮発性のメモリに記憶させたのち、前記第3プロセッサの実行対象のプログラムを前記第3更新プログラムに変更することが可能であり、
前記第2プロセッサが、前記第3プロセッサの実行対象のプログラムを前記第3更新プログラムに変更した場合、前記第1プロセッサは、前記第3プロセッサの実行対象のプログラムの識別子を前記第3プロセッサから取得し、少なくとも前記第3プロセッサから取得した前記第3プロセッサの実行対象のプログラムの識別子に基づいて、前記第3プロセッサの実行対象のプログラムが前記第3更新プログラムに変更されたことを確認する、請求項3に記載の自動運転ECU。
further comprising at least a third non-volatile memory that stores a third control program for controlling the vehicle; and a third processor that executes the third control program;
A program to be executed by the third processor after the second processor stores a third update program, which is an updated version of the third control program, in the third nonvolatile memory based on the update data. can be changed to the third update program,
When the second processor changes the program to be executed by the third processor to the third update program, the first processor acquires an identifier of the program to be executed by the third processor from the third processor. and confirming that the program to be executed by the third processor has been changed to the third update program, based on at least the identifier of the program to be executed by the third processor obtained from the third processor. Item 4. The automatic driving ECU according to Item 3.
車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリと、
前記車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリと、
前記第1制御プログラムを実行する第1プロセッサと、
前記第2制御プログラムを実行し、前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版である第1更新プログラムを前記第1の不揮発性のメモリに記憶させたのち、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させる、前記車両の自動運転制御を行う自動運転ECUの第2プロセッサが実行するプログラムの更新確認方法であって、
前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更した場合、前記第1プロセッサの実行対象のプログラムが書き込まれている記憶領域の識別子を取得するステップと、
少なくとも前記識別子に基づいて、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認するステップとを含む、更新確認方法。
a first non-volatile memory that stores a first control program for controlling the vehicle;
a second non-volatile memory that stores a second control program for controlling the vehicle;
a first processor that executes the first control program;
The second control program is executed, and a first update program, which is an update version of the first control program, is transferred to the first non-volatile control program based on update data obtained from a device external to the vehicle via a network. A method for checking the update of a program executed by a second processor of an automatic driving ECU that performs automatic driving control of the vehicle, wherein the program to be executed by the first processor is changed to the first update program after storing it in the memory of and
when the second processor changes the program to be executed by the first processor to the first update program, obtaining an identifier of a storage area in which the program to be executed by the first processor is written;
and confirming that the program to be executed by the first processor has been changed to the first update program, based on at least the identifier.
車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリと、
前記車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリと、
前記第1制御プログラムを実行する第1プロセッサと、
前記第2制御プログラムを実行し、前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版である第1更新プログラムを前記第1の不揮発性のメモリに記憶させたのち、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させる、前記車両の自動運転制御を行う自動運転ECUの第2プロセッサに実行させるプログラムの更新確認プログラムであって、
前記第2プロセッサが、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更した場合、前記第1プロセッサの実行対象のプログラムが書き込まれている記憶領域の識別子を取得するステップと、
少なくとも前記識別子に基づいて、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認するステップとを含む、更新確認プログラム。
a first non-volatile memory that stores a first control program for controlling the vehicle;
a second non-volatile memory that stores a second control program for controlling the vehicle;
a first processor that executes the first control program;
The second control program is executed, and a first update program, which is an update version of the first control program, is transferred to the first non-volatile control program based on update data obtained from a device external to the vehicle via a network. After storing it in the memory of the above, the program to be executed by the first processor is changed to the first update program, and an update confirmation program for the program to be executed by the second processor of the automatic driving ECU that performs automatic driving control of the vehicle and
when the second processor changes the program to be executed by the first processor to the first update program, obtaining an identifier of a storage area in which the program to be executed by the first processor is written;
and confirming, based on at least the identifier, that the program to be executed by the first processor has been changed to the first update program.
JP2022003285A 2018-02-16 2022-01-12 Automatic driving ECU, program update confirmation method and update confirmation program Active JP7188622B2 (en)

Priority Applications (3)

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
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
JP2018026152A JP7010049B2 (en) 2018-02-16 2018-02-16 Vehicle control device, program update confirmation method and update confirmation program
JP2022003285A JP7188622B2 (en) 2018-02-16 2022-01-12 Automatic driving ECU, program update confirmation method and update confirmation program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018026152A Division JP7010049B2 (en) 2018-02-16 2018-02-16 Vehicle control device, program update confirmation method and update confirmation program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022192625A Division JP7524939B2 (en) 2022-01-12 2022-12-01 System, program update confirmation method and update confirmation program

Publications (2)

Publication Number Publication Date
JP2022036242A JP2022036242A (en) 2022-03-04
JP7188622B2 true JP7188622B2 (en) 2022-12-13

Family

ID=87888996

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP7188622B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7679802B2 (en) * 2022-07-05 2025-05-20 トヨタ自動車株式会社 Control System

Citations (3)

* 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
JP2010198307A (en) 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd Controller for automobile

Family Cites Families (2)

* 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
JP2003044304A (en) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd Software update method in multi-CPU system

Patent Citations (3)

* 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
JP2010198307A (en) 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd Controller for automobile

Also Published As

Publication number Publication date
JP2022036242A (en) 2022-03-04

Similar Documents

Publication Publication Date Title
JP7010049B2 (en) Vehicle control device, program update confirmation method and update confirmation program
CN110162315A (en) The non-transitory storage medium of vehicle control device, method for updating program and storage for the program of more new procedures
US12204894B2 (en) Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and OTA master
JP7013918B2 (en) Vehicle control device, program update method and program
CN110244959B (en) Vehicle control system and software compatibility check methods
JP7298427B2 (en) Program update system and program update method
CN113961214B (en) Software update device, update control method, non-temporary storage medium, server, OTA host and center
CN110879714B (en) Apparatus and computer-readable storage medium for providing update of vehicle
WO2018154949A1 (en) Program updating system, control device, program updating method and computer program
JP7188622B2 (en) Automatic driving ECU, program update confirmation method and update confirmation program
EP3961380B1 (en) Onboard device, information generating method, non-transitory storage medium, and vehicle
JP6676791B2 (en) Information processing device
CN113821243A (en) Software updating device, host, OTA host, network system, method, storage medium, center and vehicle
US12307230B2 (en) Over-the-air (OTA) master, center, system, method, non-transitory storage medium, and vehicle
JP2023014289A (en) System, program update check method and update check program
EP3961379A1 (en) Software update device, software update method, non-transitory storage medium, and vehicle
CN114201187B (en) Vehicle-mounted device, software updating method, non-transitory storage medium, vehicle, and electronic control unit
CN112350955B (en) Alarm management system and alarm management method
JP2024177734A (en) Software update server, software update program, and software update method
JP2005332228A (en) Program switching controller
CN114816465A (en) Software updating method and device for vehicle, storage medium, electronic equipment and vehicle

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220112

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221114

R151 Written notification of patent or utility model registration

Ref document number: 7188622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151