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
JP7633215B2 - PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM - Google Patents
[go: Go Back, main page]

JP7633215B2 - PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM - Google Patents

PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM Download PDF

Info

Publication number
JP7633215B2
JP7633215B2 JP2022137519A JP2022137519A JP7633215B2 JP 7633215 B2 JP7633215 B2 JP 7633215B2 JP 2022137519 A JP2022137519 A JP 2022137519A JP 2022137519 A JP2022137519 A JP 2022137519A JP 7633215 B2 JP7633215 B2 JP 7633215B2
Authority
JP
Japan
Prior art keywords
program
update
involved
area
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
JP2022137519A
Other languages
Japanese (ja)
Other versions
JP2023118653A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to CN202211680954.2A priority Critical patent/CN116610348A/en
Priority to US18/157,118 priority patent/US12461737B2/en
Publication of JP2023118653A publication Critical patent/JP2023118653A/en
Application granted granted Critical
Publication of JP7633215B2 publication Critical patent/JP7633215B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラム管理装置、プログラム管理方法、及び、記録媒体に関する。 The present invention relates to a program management device, a program management method, and a recording medium.

近年、交通の安全性の向上やCOの排出削減を目的として、車両を制御するソフトウェアの機能が充実している。そして、車両に搭載されるECU(Electronic Control Unit)によって実行されるプログラムを更新する技術が提案されている。例えば、特許文献1には、プログラムを記憶する記憶部が、制御プログラムを記憶する車両制御プログラム記憶領域と、制御プログラムの更新版である更新プログラムを記憶する第2プログラム記憶領域とを含む構成が開示されている。この構成によれば、制御プログラムの実行中であっても更新プログラムを記憶部に記憶させることが可能であり、プログラムを更新するタイミングの制約を小さくできる、とされている。 In recent years, the functions of software that controls vehicles have been enhanced with the aim of improving traffic safety and reducing CO2 emissions. A technology has been proposed for updating a program executed by an ECU (Electronic Control Unit) mounted on a vehicle. For example, Patent Document 1 discloses a configuration in which a storage unit that stores a program includes a vehicle control program storage area that stores a control program, and a second program storage area that stores an update program that is an update version of the control program. With this configuration, it is possible to store the update program in the storage unit even while the control program is being executed, and it is said that this reduces constraints on the timing of program updates.

特開2019-144669号公報JP 2019-144669 A

特許文献1に記載されたように、プログラムを記憶する記憶領域を複数設け、いずれか一方の記憶領域を選択して利用可能とする構成は、プログラムのサイズに比べて大きな記憶容量を必要とするという課題がある。
本発明はかかる背景に鑑みてなされたものであり、記憶領域の極端な大容量化を生じにくい方法により、車両において利用されるプログラムを更新するタイミングの制約を小さくすることを目的とする。
As described in Patent Document 1, a configuration in which multiple memory areas are provided for storing programs and one of the memory areas can be selected for use has the problem that it requires a large memory capacity compared to the size of the programs.
The present invention has been made in view of the above background, and has an object to reduce constraints on the timing of updating programs used in vehicles, using a method that is unlikely to result in an excessive increase in the capacity of memory areas.

上記目的を達成するための一態様は、車両の外部に存在する外部装置と通信を行う通信部と、前記車両を制御するための車両制御プログラムを記憶するプログラム記憶第1領域及びプログラム記憶第2領域と、前記車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域と、を有する第1記憶部と、前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムのうち、アクティブなプログラムに設定された前記車両制御プログラムを実行する車両制御プログラム実行部と、前記非関与プログラム記憶領域に記憶された前記非関与プログラムを実行する非関与プログラム実行部と、前記第1記憶部とは独立して設けられ、前記通信部により受信された前記車両制御プログラムの更新に利用される車両制御更新プログラムを記憶する更新プログラム記憶第1領域と、前記通信部により受信された前記非関与プログラムの更新に利用される非関与更新プログラムを記憶する更新プログラム記憶第2領域と、を有する第2記憶部と、前記車両制御更新プログラムに基づく前記車両制御プログラムの更新処理と、前記非関与更新プログラムに基づく前記非関与プログラムの更新処理と、を実行する更新処理部と、を備え、前記更新処理部は、前記通信部により更新用プログラムが受信されたときに、前記更新用プログラムが前記車両制御更新プログラムであるか前記非関与更新プログラムであるかを判定し、前記更新用プログラムが前記車両制御更新プログラムであるときは、前記第2記憶部の前記更新プログラム記憶第1領域に記憶された前記車両制御更新プログラムに基づいて、前記第1記憶部の前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムを更新する処理を実行し、前記更新用プログラムが前記非関与更新プログラムであるときには、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムの複製を、前記第2記憶部に備えられたプログラム記憶領域に記憶した後に、前記第2記憶部の前記更新プログラム記憶第2領域に記憶された前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理を実行するプログラム管理装置である。 According to one aspect for achieving the above object, there is provided a first storage unit having a communication unit that communicates with an external device present outside the vehicle, a program storage first area and a program storage second area that store a vehicle control program for controlling the vehicle, and a non -involved program storage area that stores a non-involved program that is not involved in the control of the vehicle, a vehicle control program execution unit that executes the vehicle control program that is set as an active program among the vehicle control programs stored in the program storage first area or the program storage second area, a non-involved program execution unit that executes the non-involved program stored in the non-involved program storage area , a second storage unit that is provided independently of the first storage unit and has an update program storage first area that stores a vehicle control update program used for updating the vehicle control program received by the communication unit, and an update program storage second area that stores a non-involved update program used for updating the non-involved program received by the communication unit, and an update process of the vehicle control program based on the vehicle control update program, and an update processing unit that executes an update process of the non-involved program based on a new program , wherein when an update program is received by the communication unit, the update processing unit determines whether the update program is the vehicle control update program or the non-involved update program, and, when the update program is the vehicle control update program, executes a process to update the vehicle control program stored in the program storage first area or the program storage second area of the first storage unit based on the vehicle control update program stored in the update program storage first area of the second storage unit, and, when the update program is the non-involved update program, stores a copy of the non-involved program stored in the non-involved program storage area of the first storage unit in a program storage area provided in the second storage unit, and then executes a process to update the non-involved program stored in the non-involved program storage area of the first storage unit based on the non-involved update program stored in the update program storage second area of the second storage unit.

上記構成によれば、非関与プログラムの更新を行うタイミングの制約を小さくすることができる。 The above configuration reduces constraints on the timing of updating non-involved programs.

車両の制御システムの概略構成図。FIG. 1 is a schematic diagram of a vehicle control system. プログラム管理システムの概略構成を示す図。FIG. 1 is a diagram showing a schematic configuration of a program management system. 制御システムの要部構成を示すブロック図。FIG. 2 is a block diagram showing a configuration of a main part of a control system. データ記憶部の構成例を示す模式図。FIG. 4 is a schematic diagram showing a configuration example of a data storage unit. 制御システムの動作を示すフローチャート。4 is a flowchart showing the operation of the control system. プログラム管理システムの動作を示すシーケンス図。FIG. 4 is a sequence diagram showing the operation of the program management system. 制御システムの動作を示すフローチャート。4 is a flowchart showing the operation of the control system.

図1は、車両の制御システム1を示す図である。
制御システム1は、車両の全般的な制御および情報処理を行うセントラルECU2を備えている。以下、制御システム1が搭載された車両を自車両とする。自車両とは、具体的には後述する車両Vである。セントラルECU2は通信ライン4a、4b、4cを含む通信ラインに接続される。セントラルECU2は、これらの通信ライン間における通信データの授受を管理するゲートウェイの機能を実現する。また、セントラルECU2には、移動通信システムの通信規格に準拠する無線装置であるTCU(Telematics Control Unit)12が接続される。セントラルECU2は、TCU12を利用してOTA(Over The Air)管理を実行する。OTA管理は、車両が備える車載装置の更新プログラムを車外のサーバからダウンロードする処理、及び、ダウンロードした更新プログラムを車載装置に適用する処理に関する制御を含む。
FIG. 1 is a diagram showing a control system 1 for a vehicle.
The control system 1 includes a central ECU 2 that performs overall control and information processing of the vehicle. Hereinafter, the vehicle equipped with the control system 1 is referred to as the vehicle itself. Specifically, the vehicle itself is a vehicle V, which will be described later. The central ECU 2 is connected to communication lines including communication lines 4a, 4b, and 4c. The central ECU 2 realizes a gateway function that manages the transmission and reception of communication data between these communication lines. In addition, a TCU (Telematics Control Unit) 12, which is a wireless device that complies with the communication standard of a mobile communication system, is connected to the central ECU 2. The central ECU 2 executes OTA (Over The Air) management using the TCU 12. The OTA management includes control related to a process of downloading an update program for an in-vehicle device provided in the vehicle from a server outside the vehicle, and a process of applying the downloaded update program to the in-vehicle device.

通信ライン4a、4b、及び4cには、それぞれ、第1ゾーンECU20a、第2ゾーンECU20b、及び第3ゾーンECU20cが接続されている。第1ゾーンECU20aには、ECU30a、30b、30cが接続されており、第2ゾーンECU20bには、ECU30d、30e、30fが接続されている。また、第3ゾーンECU20cには、ECU30g、30h、30iが接続されている。 The first zone ECU 20a, the second zone ECU 20b, and the third zone ECU 20c are connected to the communication lines 4a, 4b, and 4c, respectively. The first zone ECU 20a is connected to ECUs 30a, 30b, and 30c, and the second zone ECU 20b is connected to ECUs 30d, 30e, and 30f. The third zone ECU 20c is connected to ECUs 30g, 30h, and 30i.

以下、第1ゾーンECU20a、第2ゾーンECU20b、及び第3ゾーンECU20cを総称してゾーンECU20ともいい、ECU30a、30b、30c、30d、30e、30f、30g、30h、30iを総称してECU30ともいうものとする。 Hereinafter, the first zone ECU 20a, the second zone ECU 20b, and the third zone ECU 20c will be collectively referred to as zone ECU 20, and the ECUs 30a, 30b, 30c, 30d, 30e, 30f, 30g, 30h, and 30i will be collectively referred to as ECU 30.

ECU30には、例えば、MPU(Map Positioning Unit)、MVC-ECU(MVC;Multi View Camera)、PKS-ECU(PKS;Parking Support)、及び又はADAS-ECU(ADAS;Advanced Driver-Assistace System)、及びその他の、自車両が備える種々のデバイスやセンサの動作を制御するECUが含まれ得る。そのようなデバイスやセンサには、自車両を走行させる走行用モータ、アクセルやブレーキなどの操縦器、VSA装置(VSA;Vehicle Stability Asist)、バッテリ、ヘッドランプ等の灯体、ドアウィンドウを駆動するウィンドウモータ、ドアロック機構を駆動するアクチュエータ、ドアロックセンサ、ドア開閉センサ、温度センサ、車外カメラ、車室内カメラなどが含まれ得る。 The ECU 30 may include, for example, an MPU (Map Positioning Unit), an MVC-ECU (MVC; Multi View Camera), a PKS-ECU (PKS; Parking Support), and/or an ADAS-ECU (ADAS; Advanced Driver-Assistance System), as well as other ECUs that control the operation of various devices and sensors equipped in the vehicle. Such devices and sensors may include a driving motor that drives the vehicle, a steering device such as an accelerator and brake, a VSA device (VSA; Vehicle Stability Assist), a battery, lighting devices such as headlamps, a window motor that drives the door windows, an actuator that drives the door lock mechanism, a door lock sensor, a door opening/closing sensor, a temperature sensor, an exterior camera, an interior camera, and the like.

ゾーンECU20には、それぞれ、自車両の車体空間の同じ区画内に配された複数のECU30、または同じ区画内に配されたデバイスやセンサの動作を制御する複数のECU30が接続されている。 Each zone ECU 20 is connected to multiple ECUs 30 arranged in the same compartment of the vehicle's body space, or multiple ECUs 30 that control the operation of devices and sensors arranged in the same compartment.

なお、セントラルECU2には、ゾーンECU20に加えて、他の制御装置や機器が接続され得る。そのような制御装置や機器には、ICB(Infotainment Control Box)、スピーカ、マイクロホンと、メーターパネル、ステアリングスイッチ、GNSS(GNSS;Global Navigation Satellite System)センサ、タッチパネルなどが含まれ得る。 In addition to the zone ECU 20, other control devices and equipment may be connected to the central ECU 2. Such control devices and equipment may include an ICB (Infotainment Control Box), a speaker, a microphone, a meter panel, a steering switch, a GNSS (Global Navigation Satellite System) sensor, a touch panel, etc.

通信ライン4a、4b、及び4cは、本実施形態では、例えば、CAN通信規格に準拠した通信を行うCANバスで構成される。以下、通信ライン4a、4b、及び4cを総称して通信ライン4ともいうものとする。ここで、通信ライン4は、本開示における車載ネットワークに対応する。また、通信ライン4に接続されたゾーンECU20は、本開示における、複数の電子制御装置に対応する。 In this embodiment, the communication lines 4a, 4b, and 4c are configured, for example, by a CAN bus that performs communication in accordance with the CAN communication standard. Hereinafter, the communication lines 4a, 4b, and 4c are collectively referred to as the communication lines 4. Hereinafter, the communication lines 4 correspond to the in-vehicle network in this disclosure. In addition, the zone ECUs 20 connected to the communication lines 4 correspond to the multiple electronic control devices in this disclosure.

通信ライン4に接続されたゾーンECU20は、従来技術に従い、送信するデータを、CAN通信規格に従って一つのフレームにより又は複数のフレームの列として、通信ライン4へ送出する。CAN通信規格に従い、送出される各フレームには識別コード(ID)が含まれており、フレームを受信した各ゾーンECU20は、そのフレームに含まれるIDに基づいて、当該フレームが自身に宛てて送信されたフレームであるか否かを判断する。 The zone ECU 20 connected to the communication line 4 sends data to be transmitted in one frame or as a sequence of multiple frames according to the CAN communication standard, according to conventional technology, to the communication line 4. According to the CAN communication standard, each frame sent out includes an identification code (ID), and each zone ECU 20 that receives a frame determines whether the frame was sent to it based on the ID included in the frame.

図2は、プログラム管理システム100の概略構成を示す図である。
プログラム管理システム100は、制御システム1を構成する各種のECUが実行するプログラムの更新を可能とするシステムである。プログラム管理システム100は、サーバ110、及び、車両診断装置120を含む。
FIG. 2 is a diagram showing a schematic configuration of the program management system 100. As shown in FIG.
The program management system 100 is a system that enables updating of programs executed by various ECUs that constitute the control system 1. The program management system 100 includes a server 110 and a vehicle diagnosis device 120.

サーバ110は、通信ネットワークNによって制御システム1と接続される。
通信ネットワークNは、例えば、セルラー通信網、Wi-Fi(登録商標)ネットワーク、Bluetooth(登録商標)、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、公衆回線、プロバイダ装置、専用回線、基地局等を含み、図2には基地局Bを図示する。制御システム1が備えるTCU12は、基地局Bとの間でセルラー通信を実行することにより、通信ネットワークNを通じて外部装置とデータ通信を実行する。
The server 110 is connected to the control system 1 via a communication network N.
The communication network N includes, for example, a cellular communication network, a Wi-Fi (registered trademark) network, Bluetooth (registered trademark), the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), a public line, a provider device, a dedicated line, a base station, etc., and a base station B is illustrated in Fig. 2. The TCU 12 included in the control system 1 executes cellular communication with the base station B, thereby executing data communication with an external device through the communication network N.

制御システム1は、TCU12によってサーバ110と通信を実行することによって、制御システム1の各種のECUが実行するプログラムを更新するための更新データを、サーバ110からダウンロードすることができる。制御システム1が、サーバ110から更新データをダウンロードしてプログラムを更新する手段は、上述したOTAに相当する。サーバ110は、制御システム1の外部装置の一例に対応する。TCU12は、通信部の一例に対応する。 The control system 1 can download update data for updating programs executed by various ECUs of the control system 1 from the server 110 by communicating with the server 110 via the TCU 12. The means by which the control system 1 downloads update data from the server 110 and updates the programs corresponds to the OTA described above. The server 110 corresponds to an example of an external device of the control system 1. The TCU 12 corresponds to an example of a communication unit.

車両診断装置120は、制御システム1が搭載される車両Vを取り扱う販売店や整備工場に設置される装置である。車両診断装置120は、制御システム1が有する不図示のDLC(Data Link Connector)に、ケーブルによって接続される。制御システム1は、車両診断装置120と通信を実行することにより、制御システム1が実行するプログラムの更新等を行うことができる。 The vehicle diagnosis device 120 is a device installed in a dealership or repair shop that handles the vehicle V on which the control system 1 is installed. The vehicle diagnosis device 120 is connected by a cable to a DLC (Data Link Connector) (not shown) of the control system 1. The control system 1 can perform updates of the programs executed by the control system 1 by communicating with the vehicle diagnosis device 120.

ここで、ECUのプログラムの更新とは、ECUが実行するプログラムを異なるバージョンのプログラムに書き換えることを指す。ECUのプログラムの更新は、ECUがプログラムを実行する際に参照されるデータ、及び/または、プログラムの実行により生成または変更されるデータを、プログラムとともに書き換えることを含む場合がある。ECUのプログラムの更新は、ECUが実行するプログラムを、同じバージョンのプログラムに書き換えることを含む場合がある。 Here, updating an ECU program refers to rewriting the program executed by the ECU with a different version of the program. Updating an ECU program may include rewriting data referenced when the ECU executes the program and/or data generated or changed by the execution of the program along with the program. Updating an ECU program may include rewriting the program executed by the ECU with the same version of the program.

図3は、制御システム1の要部構成を示すブロック図である。図3は、制御システム1においてプログラムの更新に関わる構成の一部を示しており、制御システム1が図3に示されていない構成を具備することを妨げない。 Figure 3 is a block diagram showing the main configuration of control system 1. Figure 3 shows part of the configuration related to program updates in control system 1, and does not prevent control system 1 from having configurations not shown in Figure 3.

制御システム1において、セントラルECU2、ゾーンECU20、及びECU30を含む各々のECUは、プロセッサと、記憶部と、を備える。プロセッサは、例えば、CPU(Central ProcessingU nit)、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)により構成される。記憶部は、プロセッサが実行するプログラム、及び、プロセッサにより処理されるデータを不揮発的に記憶する。記憶部は、例えば、ROM(Read Only Memory)である。また、ECUは、プログラム及びデータを一時的に記憶するためのワークエリアを形成するRAM(Random Access Memory)を備えてもよい。ECUは、プロセッサ、ROM、RAMを一体に備える集積回路で構成されてもよい。また、ECUは、プロセッサ、ROM及びRAMのそれぞれを独立したハードウェアとして備える構成であってもよい。 In the control system 1, each ECU including the central ECU 2, the zone ECU 20, and the ECU 30 includes a processor and a storage unit. The processor is, for example, configured with a CPU (Central Processing Unit), an MCU (Micro Controller Unit), and an MPU (Micro Processor Unit). The storage unit stores the programs executed by the processor and the data processed by the processor in a non-volatile manner. The storage unit is, for example, a ROM (Read Only Memory). The ECU may also include a RAM (Random Access Memory) that forms a work area for temporarily storing programs and data. The ECU may be configured as an integrated circuit that includes a processor, a ROM, and a RAM. The ECU may also be configured to include the processor, the ROM, and the RAM as independent hardware.

セントラルECU2は、プログラムの更新に関わる機能部として、更新制御部201、及び、処理部211を備える。更新制御部201、及び処理部211は、セントラルECU2が備えるハードウェアであってもよい。また、更新制御部201、及び処理部211は、セントラルECU2のプロセッサがプログラムを実行することによってソフトウェアとハードウェアとの協働により実現される機能部であってもよい。 The central ECU2 includes an update control unit 201 and a processing unit 211 as functional units related to updating the program. The update control unit 201 and the processing unit 211 may be hardware included in the central ECU2. The update control unit 201 and the processing unit 211 may also be functional units that are realized by the cooperation of software and hardware when the processor of the central ECU2 executes a program.

更新制御部201は、更新データ受信部202、及び、更新データ制御部203を備える。更新データ受信部202は、TCU12を制御して、サーバ110からプログラムを更新するための更新データを受信する。更新データ制御部203は、更新データ受信部202が受信した更新データを利用して、セントラルECU2を含む各種のECUがプログラムを更新する処理を制御する。 The update control unit 201 includes an update data receiving unit 202 and an update data control unit 203. The update data receiving unit 202 controls the TCU 12 to receive update data for updating programs from the server 110. The update data control unit 203 uses the update data received by the update data receiving unit 202 to control the process by which various ECUs, including the central ECU 2, update programs.

図3には、更新制御部201による制御の対象として、セントラルECU2、第1ゾーンECU20a、第2ゾーンECU20b、及び、ECU30dを図示するが、これは一例である。更新制御部201の制御の対象となるECUの数に制限はない。更新制御部201は、制御システム1が備える少なくとも一部のECUが実行するプログラムの更新を制御する。更新制御部201は、制御システム1が備える全てのECU、或いは、ほとんど全てのECUによるプログラムの更新を制御してもよい。 Figure 3 illustrates the central ECU 2, the first zone ECU 20a, the second zone ECU 20b, and ECU 30d as targets of control by the update control unit 201, but this is just one example. There is no limit to the number of ECUs that are targets of control by the update control unit 201. The update control unit 201 controls the updates of programs executed by at least some of the ECUs provided in the control system 1. The update control unit 201 may control the updates of programs by all or almost all of the ECUs provided in the control system 1.

処理部211は、データ記憶部212、プログラム実行部213、及び、更新処理部214を備える。データ記憶部212は、上述した記憶部に相当する。データ記憶部212は、セントラルECU2が実行するプログラム、及び、このプログラムに関連するデータを記憶する。プログラム実行部213は、データ記憶部212に記憶されたプログラムを実行する。プログラム実行部213は、セントラルECU2が備えるプロセッサ自体の機能を表すということもできる。プログラム実行部213は、車両制御プログラム実行部の一例に対応し、非関与プログラム実行部の一例に対応する。更新処理部214は、データ記憶部212が記憶するプログラムを更新する。 The processing unit 211 includes a data storage unit 212, a program execution unit 213, and an update processing unit 214. The data storage unit 212 corresponds to the storage unit described above. The data storage unit 212 stores the programs executed by the central ECU 2 and data related to these programs. The program execution unit 213 executes the programs stored in the data storage unit 212. It can also be said that the program execution unit 213 represents the function of the processor itself equipped in the central ECU 2. The program execution unit 213 corresponds to an example of a vehicle control program execution unit, and corresponds to an example of a non-involved program execution unit. The update processing unit 214 updates the programs stored in the data storage unit 212.

第1ゾーンECU20aは、データ記憶部51a、プログラム実行部52a、及び、更新処理部53aを備える。データ記憶部51aは、プログラム、及び、これらのプログラムに関連するデータを記憶する。プログラム実行部52aは、データ記憶部51aが記憶するプログラムを実行することによって、第1ゾーンECU20aの機能を実現する。更新処理部53aは、データ記憶部51aが記憶するプログラムを更新する。 The first zone ECU 20a includes a data storage unit 51a, a program execution unit 52a, and an update processing unit 53a. The data storage unit 51a stores programs and data related to these programs. The program execution unit 52a realizes the functions of the first zone ECU 20a by executing the programs stored in the data storage unit 51a. The update processing unit 53a updates the programs stored in the data storage unit 51a.

第2ゾーンECU20bは、データ記憶部51b、プログラム実行部52b、及び、更新処理部53bを備える。データ記憶部51bは、プログラム、及び、これらのプログラムに関連するデータを記憶する。プログラム実行部52bは、データ記憶部51bが記憶するプログラムを実行することによって、第2ゾーンECU20bの機能を実現する。更新処理部53bは、データ記憶部51bが記憶するプログラムを更新する。 The second zone ECU 20b includes a data storage unit 51b, a program execution unit 52b, and an update processing unit 53b. The data storage unit 51b stores programs and data related to these programs. The program execution unit 52b executes the programs stored in the data storage unit 51b to realize the functions of the second zone ECU 20b. The update processing unit 53b updates the programs stored in the data storage unit 51b.

ECU30dの具体的な例としては、エントリECUが挙げられる。エントリECUは、自車両の電子キーとの無線通信を行うLF/RFアンテナ(不図示)に接続される。電子キーは、無線通信機能を有する電子デバイスであり、スマートキーやFOBキーと呼ばれる。エントリECUは、他の車載ECUと連携して、車外から制御システム1へのユーザアクセスを処理し、いわゆるスマートエントリの動作を実現する。 A specific example of ECU 30d is an entry ECU. The entry ECU is connected to an LF/RF antenna (not shown) that performs wireless communication with the vehicle's electronic key. The electronic key is an electronic device with wireless communication capabilities, and is also called a smart key or FOB key. The entry ECU works in conjunction with other vehicle ECUs to process user access to the control system 1 from outside the vehicle, achieving the so-called smart entry operation.

ECU30dは、データ記憶部51c、プログラム実行部52c、及び、更新処理部53cを備える。データ記憶部51cは、プログラム、及び、これらのプログラムに関連するデータを記憶する。プログラム実行部52cは、データ記憶部51cが記憶するプログラムを実行することによって、ECU30dの機能を実現する。更新処理部53cは、データ記憶部51cが記憶するプログラムを更新する。 ECU 30d includes a data storage unit 51c, a program execution unit 52c, and an update processing unit 53c. Data storage unit 51c stores programs and data related to these programs. Program execution unit 52c realizes the functions of ECU 30d by executing the programs stored in data storage unit 51c. Update processing unit 53c updates the programs stored in data storage unit 51c.

ここで、データ記憶部51a、51b、51cを区別しない場合はデータ記憶部51と表記する。データ記憶部51は、データ記憶部51a、51b、51cのほか、図3に示していないECUが備えるデータ記憶部を含む場合がある。同様に、プログラム実行部52a、52b、52cを区別しない場合はプログラム実行部52と表記する。プログラム実行部52は、プログラム実行部52a、52b、52cのほか、図3に示していないECUが備えるプログラム実行部を含む場合がある。また、更新処理部53a、53b、53cを区別しない場合は更新処理部53と表記する。更新処理部53は、更新処理部53a、53b、53cのほか、図3に示していないECUが備える更新処理部53を含む場合がある。プログラム実行部52は、車両制御プログラム実行部の一例に対応し、非関与プログラム実行部の一例に対応する。 Here, when the data storage units 51a, 51b, and 51c are not differentiated, they are referred to as data storage unit 51. In addition to data storage units 51a, 51b, and 51c, the data storage unit 51 may include a data storage unit provided in an ECU not shown in FIG. 3. Similarly, when the program execution units 52a, 52b, and 52c are not differentiated, they are referred to as program execution unit 52. In addition to program execution units 52a, 52b, and 52c, the program execution unit 52 may include a program execution unit provided in an ECU not shown in FIG. 3. In addition, when the update processing units 53a, 53b, and 53c are not differentiated, they are referred to as update processing unit 53. In addition to update processing units 53a, 53b, and 53c, the update processing unit 53 may include an update processing unit 53 provided in an ECU not shown in FIG. 3. The program execution unit 52 corresponds to an example of a vehicle control program execution unit and corresponds to an example of a non-involved program execution unit.

図4は、データ記憶部212の構成例を示す模式図である。データ記憶部51は、データ記憶部212と同様の構成とすることができる。 Figure 4 is a schematic diagram showing an example configuration of the data storage unit 212. The data storage unit 51 can have a similar configuration to the data storage unit 212.

データ記憶部212は、複数の半導体記憶素子、或いは、半導体メモリデバイスを備える。データ記憶部212は、第1記憶部61、第2記憶部62、及び、メモリ63を備える。第1記憶部61、第2記憶部62、及びメモリ63の記憶領域は、互いに独立した記憶領域である。 The data storage unit 212 includes a plurality of semiconductor storage elements or semiconductor memory devices. The data storage unit 212 includes a first storage unit 61, a second storage unit 62, and a memory 63. The storage areas of the first storage unit 61, the second storage unit 62, and the memory 63 are independent of each other.

第1記憶部61は、プログラム及びデータを不揮発的に記憶する記憶素子である。第1記憶部61は、例えば、NOR型フラッシュメモリ素子である。第2記憶部62は、プログラム及びデータを不揮発的に記憶する記憶素子である。第2記憶部62は、例えば、NAND型フラッシュメモリ素子である。メモリ63は、プログラム及びデータを記憶する揮発性の記憶素子である。メモリ63は、プログラム実行部213がプログラムを実行する際にワークエリアを形成する。ワークエリアには、プログラム実行部213が実行するプログラム、及び、プログラムによって処理、生成、または更新されるデータが展開される。メモリ63は、例えば、DRAM(Dynamic Random Access Memory)、SDRAM(Synchronous DRAM)により構成される。 The first memory unit 61 is a memory element that stores programs and data in a non-volatile manner. The first memory unit 61 is, for example, a NOR type flash memory element. The second memory unit 62 is a memory element that stores programs and data in a non-volatile manner. The second memory unit 62 is, for example, a NAND type flash memory element. The memory 63 is a volatile memory element that stores programs and data. The memory 63 forms a work area when the program execution unit 213 executes a program. The program executed by the program execution unit 213 and the data processed, generated, or updated by the program are deployed in the work area. The memory 63 is, for example, composed of a DRAM (Dynamic Random Access Memory) or an SDRAM (Synchronous DRAM).

図4には、第1記憶部61、第2記憶部62、及びメモリ63が、それぞれ、1つの半導体記憶素子で構成される例を説明する。これは一例であり、例えば、第1記憶部61、第2記憶部62、及びメモリ63のいずれか1以上が、複数の半導体記憶素子で構成されてもよい。 FIG. 4 illustrates an example in which the first storage unit 61, the second storage unit 62, and the memory 63 are each composed of one semiconductor storage element. This is just one example, and for example, one or more of the first storage unit 61, the second storage unit 62, and the memory 63 may be composed of multiple semiconductor storage elements.

以下の説明では、データ記憶部212、及びデータ記憶部51が記憶するプログラム及びデータを、プログラムと表記する。すなわち、以下の説明において言及されるプログラムとは、そのプログラムをプロセッサが実行する時に参照され、生成され、或いは処理されるデータを含む。これらのプログラム及びデータの全体は、ソフトウェアと言い換えることができる。すなわち、プログラム管理システム100は、車両Vに搭載された制御システム1のソフトウェアを管理し、更新する機能を有する。 In the following description, the programs and data stored in the data storage unit 212 and the data storage unit 51 are referred to as programs. In other words, the programs referred to in the following description include data that is referenced, generated, or processed when the processor executes the programs. These programs and data as a whole can be referred to as software. In other words, the program management system 100 has the function of managing and updating the software of the control system 1 installed in the vehicle V.

上述のように、データ記憶部51はデータ記憶部212と同様に構成される。すなわち、データ記憶部51は、第1記憶部61、第2記憶部62、及びメモリ63を備える。
本実施形態では一例として、セントラルECU2がデータ記憶部212を利用することを説明する。第1ゾーンECU20aによるデータ記憶部51aの利用、第2ゾーンECU20bによるデータ記憶部51bの利用、及び、ECU30dによるデータ記憶部51cの利用は、データ記憶部212の利用と同様に実行される。その他のECUによるデータ記憶部51の利用も同様である。
As described above, the data storage unit 51 is configured similarly to the data storage unit 212. That is, the data storage unit 51 includes a first storage unit 61, a second storage unit 62, and a memory 63.
In the present embodiment, as an example, the central ECU 2 will be described as using the data storage unit 212. The use of the data storage unit 51a by the first zone ECU 20a, the use of the data storage unit 51b by the second zone ECU 20b, and the use of the data storage unit 51c by the ECU 30d are executed in the same manner as the use of the data storage unit 212. The use of the data storage unit 51 by the other ECUs is also executed in the same manner.

第1記憶部61が有する記憶領域は、複数の領域に区分されている。具体的には、第1記憶部61は、ブートセクタ71、A面ブートイメージ記憶領域72、B面ブートイメージ記憶領域73、プログラム記憶第1領域74、プログラム記憶第2領域75、及び、非関与プログラム記憶領域76を有する。 The memory area of the first memory unit 61 is divided into multiple areas. Specifically, the first memory unit 61 has a boot sector 71, an A-side boot image memory area 72, a B-side boot image memory area 73, a first program memory area 74, a second program memory area 75, and a non-involved program memory area 76.

第1記憶部61の記憶領域は、A面とB面とに分類される。A面の記憶領域はA面ブートイメージ記憶領域72及びプログラム記憶第1領域74を含む。B面の記憶領域はB面ブートイメージ記憶領域73及びプログラム記憶第2領域75を含む。ブートセクタ71、及び、非関与プログラム記憶領域76はA面とB面のいずれにも属しない。 The memory area of the first memory unit 61 is classified into an A side and a B side. The A side memory area includes an A side boot image memory area 72 and a first program memory area 74. The B side memory area includes a B side boot image memory area 73 and a second program memory area 75. The boot sector 71 and the non-involved program memory area 76 belong to neither the A side nor the B side.

A面の記憶領域と、B面の記憶領域とは、互いに独立してプログラムを記憶する。セントラルECU2が有するプログラム実行部213は、A面、及び、B面のいずれか一方の記憶領域に記憶されたプログラムを利用して、セントラルECU2に求められる各種の動作を実行できる。換言すれば、セントラルECU2は、データ記憶部212においてA面またはB面のいずれか一方に、プログラムが正常に記憶されていれば、セントラルECU2としての動作を実行できる。 The memory area on side A and the memory area on side B store programs independently of each other. The program execution unit 213 of the central ECU 2 can execute various operations required of the central ECU 2 by using the programs stored in either the memory area on side A or side B. In other words, the central ECU 2 can execute operations as the central ECU 2 as long as a program is properly stored in either the A side or the B side of the data storage unit 212.

更新処理部214は、データ記憶部212が記憶しているプログラムを更新する場合、A面及びB面のいずれかを選択する。
一例として、更新処理部214がA面を選択してプログラムを更新する場合を説明する。この例では、更新処理部214は、プログラム記憶第1領域74に新しいプログラムを記憶させる処理を実行し、その後、正常にプログラムが書き込まれたことを確認する処理を行う。ここで、プログラム記憶第1領域74へのプログラムの書き込みが失敗した場合、更新処理部214によって、プログラムの更新をやり直す必要がある。セントラルECU2は、プログラム記憶第1領域74のプログラムの更新が正常に完了するまで、プログラム記憶第1領域74に書き込まれたプログラムを実行して車両Vを制御することはできない。しかし、セントラルECU2は、プログラム記憶第2領域75に記憶されているプログラムを実行することにより、車両Vを制御できる。更新処理部214がB面を選択する場合も同様である。このように、データ記憶部212がA面とB面のいずれか一方に対するプログラムの更新を行う場合、他方に実行可能なプログラムが記憶されているので、プログラムの更新の成否が車両Vの制御に大きな影響を与えない。従って、プログラムを更新するタイミングに関する制約が緩和され、例えば、車両Vが走行している間にプログラムを更新することも不可能ではない。
When updating a program stored in the data storage unit 212, the update processing unit 214 selects either the A side or the B side.
As an example, a case where the update processing unit 214 selects the A side and updates the program will be described. In this example, the update processing unit 214 executes a process of storing a new program in the program storage first area 74, and then executes a process of confirming that the program has been written normally. Here, if writing the program to the program storage first area 74 fails, the update processing unit 214 needs to redo the program update. The central ECU 2 cannot execute the program written in the program storage first area 74 to control the vehicle V until the program update in the program storage first area 74 is completed normally. However, the central ECU 2 can control the vehicle V by executing the program stored in the program storage second area 75. The same is true when the update processing unit 214 selects the B side. In this way, when the data storage unit 212 updates the program on either the A side or the B side, an executable program is stored in the other side, so the success or failure of the program update does not have a significant effect on the control of the vehicle V. Therefore, the constraints on the timing of updating the program are relaxed, and it is not impossible to update the program while the vehicle V is running, for example.

ブートセクタ71は、ブートローダを記憶する。ブートローダは、セントラルECU2が起動する際に最初にプログラム実行部213によって実行されるプログラムである。プログラム実行部213は、ブートローダを実行することによって、セントラルECU2の基本的な動作に必要な処理を実行する。ブートセクタ71はアクティブプログラム指定データ71aを記憶する。アクティブプログラム指定データ71aは、ブートローダに含まれ、或いは、ブートローダが参照する領域に記憶される。アクティブプログラム指定データ71aは、ブートローダに続いてプログラム実行部213が実行するプログラムを指定するデータであり、具体的には、A面のプログラムであるか、B面のプログラムであるかを指定する。例えば、アクティブプログラム指定データ71aは、A面ブートイメージ記憶領域72に記憶されたブートイメージのアドレス、或いは、B面ブートイメージ記憶領域73に記憶されたブートイメージのアドレスである。 The boot sector 71 stores a boot loader. The boot loader is a program that is executed first by the program execution unit 213 when the central ECU 2 is started. The program execution unit 213 executes the boot loader to execute processes required for basic operations of the central ECU 2. The boot sector 71 stores active program designation data 71a. The active program designation data 71a is included in the boot loader or is stored in an area referenced by the boot loader. The active program designation data 71a is data that designates a program to be executed by the program execution unit 213 following the boot loader, and specifically, designates whether the program is an A-side program or a B-side program. For example, the active program designation data 71a is an address of a boot image stored in the A-side boot image storage area 72, or an address of a boot image stored in the B-side boot image storage area 73 .

ブートイメージは、セントラルECU2のプロセッサがブートローダに続いて実行する基本制御プログラムである。A面ブートイメージ記憶領域72は、プログラム記憶第1領域70に記憶されたプログラムを実行する場合に利用されるブートイメージを記憶する。A面ブートイメージ記憶領域72は、先頭アドレス72aを記憶する。先頭アドレス72aは、例えば、プログラム記憶第1領域70に記憶されたプログラムの先頭のアドレスである。B面ブートイメージ記憶領域73は、プログラム記憶第2領域75に記憶されたプログラムを実行する場合に利用されるブートイメージを記憶する。B面ブートイメージ記憶領域73は、先頭アドレス73aを記憶する。先頭アドレス73aは、例えば、プログラム記憶第2領域75に記憶されたプログラムの先頭のアドレスである。 The boot image is a basic control program that the processor of the central ECU 2 executes following the boot loader. The A-side boot image storage area 72 stores a boot image used when executing a program stored in the first program storage area 70. The A-side boot image storage area 72 stores a start address 72a. The start address 72a is, for example, the start address of a program stored in the first program storage area 70. The B-side boot image storage area 73 stores a boot image used when executing a program stored in the second program storage area 75. The B-side boot image storage area 73 stores a start address 73a. The start address 73a is, for example, the start address of a program stored in the second program storage area 75.

プログラム記憶第1領域74は、ECUが車両Vを制御するためのプログラムを記憶するための領域である。プログラム記憶第2領域75は、ECUが車両Vを制御するためのプログラムを記憶するための領域である。プログラム記憶第1領域74に記憶されるプログラムとプログラム記憶第2領域75に記憶されるプログラムの種類等は同一である。プログラム記憶第1領域74及びプログラム記憶第2領域75が記憶するプログラムは、車両Vの制御を行うためのプログラムである。これを、車両制御プログラムと呼ぶ。車両制御プログラムは、車両Vの走行に関する制御、及び、車両Vの走行に際して必須の制御に関与する。車両制御プログラムを実行する主体は、セントラルECU2、第1ゾーンECU20a、第2ゾーンECU20b、ECU30d、及び、その他のECUである。例えば、セントラルECU2が、図5-図7を参照して説明する動作を実行するためのプログラムは、車両制御プログラムに含まれる。従って、データ記憶部212は、本発明の記録媒体の一例に相当する。制御システム1がサーバ110からダウンロードするプログラムのうち、車両制御プログラムを更新するためのプログラム及びデータを、車両制御更新プログラムと呼ぶ。これらのプログラムを記憶する構成を有する制御システム1は、プログラム管理装置の一例に対応する。 The first program storage area 74 is an area for storing a program for the ECU to control the vehicle V. The second program storage area 75 is an area for storing a program for the ECU to control the vehicle V. The types of programs stored in the first program storage area 74 and the second program storage area 75 are the same. The programs stored in the first program storage area 74 and the second program storage area 75 are programs for controlling the vehicle V. These are called vehicle control programs. The vehicle control programs are involved in control related to the running of the vehicle V and control essential for the running of the vehicle V. The subjects that execute the vehicle control programs are the central ECU 2, the first zone ECU 20a, the second zone ECU 20b, the ECU 30d, and other ECUs. For example, the program for the central ECU 2 to execute the operations described with reference to Figures 5 to 7 is included in the vehicle control program. Therefore, the data storage unit 212 corresponds to an example of a recording medium of the present invention. Among the programs that the control system 1 downloads from the server 110, the programs and data for updating the vehicle control program are called vehicle control update programs. The control system 1 configured to store these programs corresponds to an example of a program management device.

非関与プログラム記憶領域76は、車両Vの制御に関与しないプログラムを記憶するための記憶領域である。非関与プログラム記憶領域76が記憶するプログラムを、非関与プログラムと呼ぶ。非関与プログラムは、制御システム1が実行する処理のうち、車両Vの走行に関する制御、及び、車両Vの走行に際して必須の制御に関与しない。制御システム1がサーバ110からダウンロードするプログラムのうち、非関与プログラムを更新するためのプログラム及びデータを、非関与更新プログラムと呼ぶ。 The non-involved program memory area 76 is a memory area for storing programs that are not involved in the control of the vehicle V. The programs stored in the non-involved program memory area 76 are called non-involved programs. Among the processes executed by the control system 1, the non-involved programs are not involved in the control related to the running of the vehicle V and the control essential for the running of the vehicle V. Among the programs downloaded by the control system 1 from the server 110, the programs and data for updating the non-involved programs are called non-involved update programs.

ここで、車両Vの走行に関する制御とは、車両Vの加速、減速、停止、操舵に関係する制御を含む。例えば、車両Vの走行に関する制御は、ユーザが車両Vを操縦または運転するための操作を行う場合に、この操作に基づいて車両Vを制御することを含む。また、車両Vの走行に関する制御は、ADAS機能やPKS機能がユーザの操作に基づくことなく実行する制御を含む。また、車両Vの走行に際して必須の制御とは、車両Vが走行するために必要な補機類を動作させるための制御を含む。補機類とは、例えば、メーターパネル、車両Vの灯体、ワイパー、ウィンドウウォッシャー、空調装置等である。車両Vの走行に際して必須の制御は、ADAS機能やPKS機能を実行するためにカメラやレーダー装置を制御することを含む。 Here, control related to the traveling of the vehicle V includes control related to the acceleration, deceleration, stopping, and steering of the vehicle V. For example, control related to the traveling of the vehicle V includes controlling the vehicle V based on an operation performed by a user to steer or drive the vehicle V. In addition, control related to the traveling of the vehicle V includes control executed by the ADAS function and the PKS function without being based on an operation by the user. In addition, control essential for the traveling of the vehicle V includes control for operating the auxiliary equipment necessary for the traveling of the vehicle V. Examples of the auxiliary equipment include the meter panel, the vehicle V's lights, wipers, window washers, air conditioning equipment, etc. In addition, control essential for the traveling of the vehicle V includes controlling the camera and radar device to execute the ADAS function and the PKS function.

非関与プログラム記憶領域76が記憶する非関与プログラムは、例えば、制御システム1が提供するインフォテイメント機能に関するプログラムを含む。インフォテイメント機能に関するプログラムとは、例えば、エンターテイメントに関するアプリケーションプログラムをいう。具体的には、インフォテイメント機能として、音楽再生、ラジオ放送の受信および聴取、電子メールの送受信、テレビ放送の受信および視聴、インターネット等のネットワークを利用した情報検索、ビデオゲームの実行、及び、その他の娯楽に関する機能等が挙げられる。また、例えば、非関与プログラムは、車両Vに搭載されたタッチパネルの操作に基づいて車両Vの外部のサーバと通信することによって、外部サービス事業者に対し注文または予約を行う機能に関するプログラムを含む。外部サービス事業者とは、例えば、飲食物を含む物品の販売、飲食物を含む物品の配達、洗車サービス、クリーニングサービス、チケット販売またはチケット予約サービス、その他のサービスを提供する事業者である。 The non-participant programs stored in the non-participant program storage area 76 include, for example, programs related to the infotainment function provided by the control system 1. Programs related to the infotainment function refer to, for example, application programs related to entertainment. Specifically, the infotainment functions include music playback, receiving and listening to radio broadcasts, sending and receiving e-mail, receiving and watching television broadcasts, information search using a network such as the Internet, playing video games, and other entertainment functions. In addition, for example, the non-participant programs include programs related to a function of placing an order or making a reservation with an external service provider by communicating with a server outside the vehicle V based on the operation of a touch panel mounted on the vehicle V. The external service provider is, for example, a provider that provides sales of goods including food and beverages, delivery of goods including food and beverages, car wash services, cleaning services, ticket sales or ticket reservation services, and other services.

非関与プログラムは、例えば、車両Vの製造事業者または車両Vの販売事業者によって指定されたプログラムを記憶する。また、非関与プログラムは、車両Vの製造事業者または車両Vの販売事業者によって指定されていないプログラムであってもよい。例えば、非関与プログラムは、いわゆるサードパーティープログラムであってもよい。 The non-involved program stores, for example, a program specified by the manufacturer of the vehicle V or the distributor of the vehicle V. The non-involved program may also be a program that is not specified by the manufacturer of the vehicle V or the distributor of the vehicle V. For example, the non-involved program may be a so-called third-party program.

メモリ63は、第1記憶部61に記憶されたプログラムをプログラム実行部213が実行する場合に、ワークエリアを形成する。
プログラム実行部213は、第1記憶部61が記憶するプログラムを実行するため、図中に矢印Aで示すように、第1記憶部61が記憶するプログラムをメモリ63に記憶させ、展開する。これにより、メモリ63のワークエリアには、ブートセクタ71に記憶されたブートローダ、及び、A面ブートイメージ記憶領域72またはB面ブートイメージ記憶領域73に記憶されたブートイメージが記憶される。また、メモリ63のワークエリアには、プログラム記憶第1領域74またはプログラム記憶第2領域75に記憶された車両制御プログラム、及び、非関与プログラム記憶領域76に記憶された非関与プログラムが記憶される。
The memory 63 forms a work area when the program execution unit 213 executes the program stored in the first storage unit 61 .
In order to execute the program stored in the first storage unit 61, the program execution unit 213 stores and expands the program stored in the first storage unit 61 in the memory 63 as indicated by the arrow A in the figure. As a result, the work area of the memory 63 stores the boot loader stored in the boot sector 71 and the boot image stored in the A-side boot image storage area 72 or the B-side boot image storage area 73. The work area of the memory 63 also stores the vehicle control program stored in the first program storage area 74 or the second program storage area 75, and the non-involved program stored in the non-involved program storage area 76.

図4には、第1記憶部61のB面に記憶されたプログラムをプログラム実行部213が実行する場合に、メモリ63が記憶するプログラムの例を示す。この例では、メモリ63のワークエリアに、ブートローダ81、B面ブートイメージ82、プログラム記憶第2領域75から読み出された車両制御プログラム83、及び、非関与プログラム84が記憶される。これらのプログラムは、メモリ63のワークエリアで、プログラム実行部213が実行可能な状態に展開されている。 Figure 4 shows an example of a program stored in memory 63 when program execution unit 213 executes a program stored on side B of first storage unit 61. In this example, a boot loader 81, side B boot image 82, vehicle control program 83 read from second program storage area 75, and non-involved program 84 are stored in the work area of memory 63. These programs are expanded in the work area of memory 63 in a state that can be executed by program execution unit 213.

プログラム実行部213は、第1記憶部61のA面に記憶されたプログラム及び第1記憶部61のB面に記憶されたプログラムのうち、アクティブプログラム指定データ71aによって指定されるプログラムを、メモリ63に展開する。アクティブプログラム指定データ71aによって指定されるプログラムを、アクティブなプログラムと呼ぶ。 The program execution unit 213 expands, from among the programs stored on side A of the first storage unit 61 and the programs stored on side B of the first storage unit 61, the program specified by the active program designation data 71a into the memory 63. The program specified by the active program designation data 71a is called the active program.

第2記憶部62の記憶領域は、複数の領域に区分される。具体的には、第2記憶部62は、プログラム記憶領域77、更新プログラム記憶第1領域78、及び、更新プログラム記憶第2領域79を有する。 The memory area of the second memory unit 62 is divided into multiple areas. Specifically, the second memory unit 62 has a program memory area 77, a first update program memory area 78, and a second update program memory area 79.

更新プログラム記憶第1領域78及び更新プログラム記憶第2領域79は、制御システム1がサーバ110からダウンロードした更新用のプログラムを記憶する記憶領域である。更新プログラム記憶第1領域78は、車両制御プログラムを更新するための車両制御更新プログラムを記憶する。更新プログラム記憶第2領域79は、非関与プログラムを更新するための非関与更新プログラムを記憶する。更新処理部214は、サーバ110からダウンロードした車両制御更新プログラムを、矢印Bで示すように更新プログラム記憶第1領域78に記憶させ、非関与更新プログラムを矢印Cで示すように更新プログラム記憶第2領域79に記憶させる。 The first update program storage area 78 and the second update program storage area 79 are storage areas that store update programs downloaded by the control system 1 from the server 110. The first update program storage area 78 stores a vehicle control update program for updating the vehicle control program. The second update program storage area 79 stores a non-involved update program for updating the non-involved program. The update processing unit 214 stores the vehicle control update program downloaded from the server 110 in the first update program storage area 78 as shown by arrow B, and stores the non-involved update program in the second update program storage area 79 as shown by arrow C.

プログラム記憶領域77は、非関与プログラム記憶領域76に記憶されている非関与プログラムを記憶する。より詳細には、更新処理部214が、非関与プログラム記憶領域76に記憶される非関与プログラムを更新する場合に、更新前の非関与プログラムをプログラム記憶領域77に複製して記憶させる。これにより、更新される前の非関与プログラムがプログラム記憶領域77に保存される。プログラム実行部213は、プログラム記憶領域77に記憶された非関与更新プログラムを、第1記憶部61の非関与プログラム記憶領域76に書き戻すことができる。例えば、プログラム実行部213は、非関与プログラム記憶領域76に記憶されている非関与プログラムの更新が正常に完了しない場合に、プログラム記憶領域77に記憶された非関与プログラムを非関与プログラム記憶領域76に書き戻す。これにより、非関与プログラムの更新の成否にかかわらず、非関与プログラム記憶領域76には、正常に実行可能な非関与プログラムを保持できる。 The program memory area 77 stores the non-involved program stored in the non-involved program memory area 76. More specifically, when the update processing unit 214 updates the non-involved program stored in the non-involved program memory area 76, the non-involved program before the update is copied and stored in the program memory area 77. As a result, the non-involved program before the update is saved in the program memory area 77. The program execution unit 213 can write the non-involved update program stored in the program memory area 77 back to the non-involved program memory area 76 of the first storage unit 61. For example, when the update of the non-involved program stored in the non-involved program memory area 76 is not completed normally, the program execution unit 213 writes the non-involved program stored in the program memory area 77 back to the non-involved program memory area 76. As a result, regardless of whether the update of the non-involved program is successful or not, the non-involved program memory area 76 can hold a non-involved program that can be executed normally.

図5は、制御システム1の動作を示すフローチャートであり、データ記憶部51、212に記憶されたプログラムをプログラム実行部213が実行する動作を示す。図5の動作は、ECUが起動する際に実行される。一例として、セントラルECU2がデータ記憶部212に記憶されたプログラムを実行する場合を説明する。 Figure 5 is a flowchart showing the operation of the control system 1, and shows the operation of the program execution unit 213 executing the program stored in the data storage units 51, 212. The operation in Figure 5 is executed when the ECU is started. As an example, a case where the central ECU 2 executes the program stored in the data storage unit 212 will be described.

セントラルECU2のプログラム実行部213は、セントラルECU2が停止状態から起動すると、第1記憶部61のブートセクタ71に記憶されているブートローダ81を読み出して、メモリ63のワークエリアに展開する(ステップSA1)。プログラム実行部213は、メモリ63に展開したブートローダ81を実行する(ステップSA2)。ステップSA2で、プログラム実行部213は、ブートローダ81が有するアクティブプログラム指定データ71aを参照することにより、アクティブなプログラムがA面かB面かを判定する。 When the central ECU 2 starts up from a stopped state, the program execution unit 213 of the central ECU 2 reads the boot loader 81 stored in the boot sector 71 of the first storage unit 61 and expands it in the work area of the memory 63 (step SA1). The program execution unit 213 executes the boot loader 81 expanded in the memory 63 (step SA2). In step SA2, the program execution unit 213 determines whether the active program is side A or side B by referring to the active program designation data 71a held by the boot loader 81.

プログラム実行部213は、アクティブプログラム指定データ71aにより指定されたアクティブなプログラムを第1記憶部61から読み出し、メモリ63のワークエリアに展開する(ステップSA3)。例えば、アクティブなプログラムがB面のプログラムである場合、プログラム実行部213は、B面ブートイメージ記憶領域73に記憶されたB面ブートイメージ82とプログラム記憶第2領域75に記憶された車両制御プログラム83とを、メモリ63に展開する。 The program execution unit 213 reads the active program specified by the active program designation data 71a from the first storage unit 61 and expands it in the work area of the memory 63 (step SA3). For example, if the active program is a B-side program, the program execution unit 213 expands the B-side boot image 82 stored in the B-side boot image storage area 73 and the vehicle control program 83 stored in the second program storage area 75 in the memory 63.

さらに、プログラム実行部213は、非関与プログラム記憶領域76に記憶された非関与プログラム84を、メモリ63のワークエリアに展開する(ステップSA4)。
プログラム実行部213は、第1記憶部61に展開したプログラムを実行することによって、セントラルECU2の機能を実現する。
Furthermore, the program execution unit 213 loads the non-involved program 84 stored in the non-involved program storage area 76 in the work area of the memory 63 (step SA4).
The program execution unit 213 executes the program deployed in the first storage unit 61 to realize the functions of the central ECU 2 .

図5の動作例において、非関与プログラム84を第1記憶部61に展開するタイミングは、ECUの起動時に限らない。例えば、ユーザが、車両Vに搭載されたタッチパネルを操作して非関与プログラムの実行を指示した場合に、プログラム実行部213が非関与プログラム記憶領域76から非関与プログラム84を読み出して第1記憶部61に展開してもよい。 In the operation example of FIG. 5, the timing for loading the non-involved program 84 into the first storage unit 61 is not limited to when the ECU is started. For example, when a user operates a touch panel mounted on the vehicle V to instruct execution of a non-involved program, the program execution unit 213 may read the non-involved program 84 from the non-involved program storage area 76 and load it into the first storage unit 61.

図6は、プログラム管理システム100の動作を示すシーケンス図である。
ステップSA11~SA20は制御システム1の動作を示し、ステップSB11~SB14はサーバ110の動作を示す。図7は、図6のステップSA20における制御システム1の動作を詳細に示すフローチャートである。
図6及び図7には、制御システム1のプログラムを更新する動作に関連する処理を示す。
FIG. 6 is a sequence diagram showing the operation of the program management system 100. As shown in FIG.
Steps SA11 to SA20 show the operation of the control system 1, and steps SB11 to SB14 show the operation of the server 110. Fig. 7 is a flowchart showing in detail the operation of the control system 1 in step SA20 of Fig. 6.
6 and 7 show processes related to the operation of updating the program of the control system 1. In FIG.

図6において、ステップSA11~SA19は更新データ受信部202によって実行される。制御システム1は、車両Vの車両情報を取得する(ステップSA11)。車両情報は、制御システム1に適合するプログラムの種類、及び、プログラムのバージョンをサーバ110が特定するための情報である。車両情報は、例えば、車両Vの車両識別番号、制御システム1が有するECUの種類、ECUが搭載するプログラムのバージョンを含む。制御システム1は、制御システム1が有する情報、及び、制御システム1に接続されたECUが有する情報を取得し、1まとまりの車両情報にまとめる。 In FIG. 6, steps SA11 to SA19 are executed by the update data receiving unit 202. The control system 1 acquires vehicle information of the vehicle V (step SA11). The vehicle information is information that enables the server 110 to identify the type of program and the version of the program that are compatible with the control system 1. The vehicle information includes, for example, the vehicle identification number of the vehicle V, the type of ECU possessed by the control system 1, and the version of the program installed in the ECU. The control system 1 acquires information possessed by the control system 1 and information possessed by the ECU connected to the control system 1, and compiles the information into a single set of vehicle information.

制御システム1は、サーバ110に対してプログラム更新情報を要求する(ステップSA12)。プログラム更新情報は、制御システム1が既に記憶しているプログラムに関する情報である。詳細には、プログラム更新情報は、制御システム1が既に記憶しているプログラムのうち更新可能なプログラムの名称、及び、バージョンを含む。またプログラム更新情報は、制御システム1が使用可能なプログラムであって、制御システム1に記憶されていないプログラムに関する情報を含んでもよい。この場合、プログラム更新情報は、制御システム1で使用可能なプログラムの名称、及び、プログラムの概要を示す情報を含む。ステップSA12で、制御システム1は、プログラム更新情報を要求する際に、ステップSA11で取得した車両情報を、サーバ110に送信する。プログラム更新情報の要求、及び、車両Vの車両情報は、サーバ110によって受信される。 The control system 1 requests program update information from the server 110 (step SA12). The program update information is information about programs already stored in the control system 1. In detail, the program update information includes the names and versions of programs that can be updated among the programs already stored in the control system 1. The program update information may also include information about programs that can be used by the control system 1 but are not stored in the control system 1. In this case, the program update information includes the names of programs that can be used by the control system 1 and information indicating an overview of the programs. In step SA12, when requesting the program update information, the control system 1 transmits the vehicle information acquired in step SA11 to the server 110. The request for program update information and the vehicle information of the vehicle V are received by the server 110.

サーバ110は、制御システム1が送信した要求、及び、車両Vの車両情報に基づき、車両Vに対応するプログラムを、不図示のデータベースにおいて探索する(ステップSB11)。このデータベースは、サーバ110が、車両Vを含む複数の車両に対応するプログラムを記憶する。このデータベースは、サーバ110が備えていてもよいし、サーバ110に通信ネットワークNを介して接続されるデータベースサーバであってもよい。 Based on the request sent by the control system 1 and the vehicle information of the vehicle V, the server 110 searches a database (not shown) for a program corresponding to the vehicle V (step SB11). In this database, the server 110 stores programs corresponding to a plurality of vehicles including the vehicle V. This database may be provided in the server 110, or may be a database server connected to the server 110 via the communication network N.

サーバ110は、データベースを探索した結果に基づいて、プログラム更新情報を生成し(ステップSB11)、プログラム更新情報を制御システム1に送信する(ステップSB12)。このプログラム更新情報は、制御システム1によって受信される。 Based on the results of searching the database, the server 110 generates program update information (step SB11) and transmits the program update information to the control system 1 (step SB12). This program update information is received by the control system 1.

制御システム1は、サーバ110から受信したプログラム更新情報に基づいて、受信可能リストを更新する(ステップSA13)。受信可能リストは、制御システム1がサーバ110からダウンロードすることが可能なプログラムのリストである。受信可能リストは、制御システム1が既に記憶しているプログラムのうち更新可能なプログラム、及び、制御システム1が使用可能なプログラムであって、制御システム1に記憶されていないプログラムを含むリストである。受信可能リストは、プログラムの名称、及び、プログラムの種類または概要を含む。 The control system 1 updates the receivable list based on the program update information received from the server 110 (step SA13). The receivable list is a list of programs that the control system 1 can download from the server 110. The receivable list is a list that includes updatable programs that are already stored in the control system 1, and programs that the control system 1 can use but that are not stored in the control system 1. The receivable list includes the name of the program and the type or overview of the program.

制御システム1、及び、サーバ110は、ステップSA11~SA13及びステップSB11~SB13の動作を、予め設定された周期で繰り返し実行する。これにより、制御システム1は、車両Vに対応するプログラムに関する最新の受信可能リストを保持する状態を、維持できる。 The control system 1 and the server 110 repeatedly execute the operations of steps SA11 to SA13 and steps SB11 to SB13 at a preset cycle. This allows the control system 1 to maintain a state in which it holds the latest receivable list for the programs corresponding to the vehicle V.

制御システム1におけるプログラムの更新は、例えば、ユーザが、車両Vに搭載されたタッチパネル等を操作することによって開始される。ユーザがプログラムの更新に関する操作を行うと、制御システム1は、ユーザの操作を受け付ける(ステップSA14)。制御システム1は、ユーザの操作に対応して、受信可能リストを、例えば、車両Vに搭載されたディスプレイに表示する(ステップSA15)。ここで、制御システム1は、ユーザによってプログラムのダウンロードが指示されたか否かを判定する(ステップSA16)。ユーザは、例えば、車両Vに搭載されたタッチパネルを操作することによって、ダウンロードするプログラムを選択し、選択したプログラムのダウンロードを指示する。プログラムのダウンロードが指示されない間(ステップSA16;NO)、制御システム1はステップSA16で待機する。 Program updating in the control system 1 is started, for example, by the user operating a touch panel or the like mounted on the vehicle V. When the user performs an operation related to the program update, the control system 1 accepts the user's operation (step SA14). In response to the user's operation, the control system 1 displays a receivable list, for example, on a display mounted on the vehicle V (step SA15). Here, the control system 1 determines whether or not the user has instructed to download a program (step SA16). The user selects a program to be downloaded, for example, by operating a touch panel mounted on the vehicle V, and instructs to download the selected program. While a program download is not instructed (step SA16; NO), the control system 1 waits in step SA16.

プログラムのダウンロードが指示された場合(ステップSA16;YES)、制御システム1は、ダウンロードするプログラムを、ユーザの指示に基づき特定する(ステップSA17)。制御システム1は、特定したプログラムのダウンロードを、サーバ110に対して要求する(ステップSA18)。制御システム1によるダウンロードの要求は、サーバ110によって受信される。 If a command to download a program is issued (step SA16; YES), the control system 1 identifies the program to download based on the user's command (step SA17). The control system 1 requests the server 110 to download the identified program (step SA18). The download request from the control system 1 is received by the server 110.

サーバ110は、制御システム1によって要求されたプログラムを制御システム1に送信する(ステップSB14)。サーバ110が送信するプログラムは、車両制御プログラムの更新または新規のインストールをするための車両制御更新プログラム、及び、非関与プログラムの更新または新規のインストールをするための非制御更新プログラムの少なくともいずれかを含む。制御システム1は、サーバ110が送信するプログラムをダウンロードする(ステップSA19)。続いて、制御システム1は、インストール処理を実行する(ステップSA20)。インストール処理は、ステップSA19でダウンロードしたプログラムをデータ記憶部51またはデータ記憶部212に記憶させることを含む。また、インストール処理は、車両制御更新プログラム及び/または非制御更新プログラムを実行することによって、車両制御プログラム及び/または非関与プログラムをECUによって実行可能な状態にする処理を含む。インストールの後、データ記憶部51またはデータ記憶部212には、ECUによって実行可能な状態でプログラムが記憶される。 The server 110 transmits the program requested by the control system 1 to the control system 1 (step SB14). The program transmitted by the server 110 includes at least one of a vehicle control update program for updating or newly installing a vehicle control program, and a non-control update program for updating or newly installing a non-involved program. The control system 1 downloads the program transmitted by the server 110 (step SA19). Then, the control system 1 executes an installation process (step SA20). The installation process includes storing the program downloaded in step SA19 in the data storage unit 51 or the data storage unit 212. The installation process also includes a process of making the vehicle control program and/or the non-involved program executable by the ECU by executing the vehicle control update program and/or the non-control update program. After the installation, the program is stored in the data storage unit 51 or the data storage unit 212 in a state executable by the ECU.

図7には、インストール処理の詳細を示す。図7において、ステップSA31、SA32、SA39は更新データ制御部203により実行され、その他の動作は更新処理部214または更新処理部53によって実行される。以下の説明では、更新処理部214が第1処理および第2処理を実行する場合を例に挙げて説明するが、更新処理部53も同様の動作を実行可能である。 Figure 7 shows the details of the installation process. In Figure 7, steps SA31, SA32, and SA39 are executed by the update data control unit 203, and the other operations are executed by the update processing unit 214 or the update processing unit 53. In the following explanation, an example is given in which the update processing unit 214 executes the first process and the second process, but the update processing unit 53 can also execute similar operations.

更新データ制御部203は、インストールするプログラムが非関与更新プログラムであるか否かを判定する(ステップSA31)。インストールするプログラムが非関与更新プログラムでない場合(ステップSA31;NO)、更新データ制御部203は、プログラムをインストールする対象のECUを特定する(ステップSA32)。ステップSA32で、更新データ制御部203は、セントラルECU2、第1ゾーンECU20a、第2ゾーンECU20b、ECU30d、及び、その他のECUの中から、インストールを行うECUを選択する。続いて、更新データ制御部203によって特定されたECUが有する更新処理部214によって、TCU12がダウンロードした車両制御更新プログラムが、第2記憶部62の更新プログラム記憶第1領域78に記憶される(ステップSA33)。 The update data control unit 203 determines whether the program to be installed is a non-involved update program (step SA31). If the program to be installed is not a non-involved update program (step SA31; NO), the update data control unit 203 identifies the ECU on which the program is to be installed (step SA32). In step SA32, the update data control unit 203 selects an ECU on which the program is to be installed from among the central ECU 2, the first zone ECU 20a, the second zone ECU 20b, the ECU 30d, and other ECUs. Next, the vehicle control update program downloaded by the TCU 12 is stored in the update program storage first area 78 of the second storage unit 62 by the update processing unit 214 of the ECU identified by the update data control unit 203 (step SA33).

更新処理部214は、車両制御プログラムのインストールを行う領域として第1記憶部61のA面とB面のいずれかを選択する(ステップSA34)。具体的には、更新処理部214は、プログラム記憶第1領域74とプログラム記憶第2領域75のいずれかを、インストールを行う領域とする。更新処理部214は、プログラム記憶第1領域74が記憶しているプログラム、及び、プログラム記憶第2領域75が記憶しているプログラムの種類およびバージョンが同一である場合、事前の設定に従ってA面とB面のいずれかを選択する。プログラム記憶第1領域74及びプログラム記憶第2領域75のいずれかが記憶しているプログラムに問題がある場合、更新処理部214は、問題があるプログラムを記憶している領域をステップSA34で選択する。プログラム記憶第1領域74が記憶しているプログラム、及び、プログラム記憶第2領域75が記憶しているプログラムのバージョンが異なる場合、更新処理部214は、古いバージョンのプログラムを記憶した領域を、ステップSA34で選択する。 The update processing unit 214 selects either the A side or the B side of the first storage unit 61 as an area for installing the vehicle control program (step SA34). Specifically, the update processing unit 214 selects either the program storage first area 74 or the program storage second area 75 as an area for installing the vehicle control program. If the type and version of the program stored in the program storage first area 74 and the program storage second area 75 are the same, the update processing unit 214 selects either the A side or the B side according to a pre-set. If there is a problem with the program stored in either the program storage first area 74 or the program storage second area 75, the update processing unit 214 selects the area storing the problematic program in step SA34. If the version of the program stored in the program storage first area 74 and the program storage second area 75 are different, the update processing unit 214 selects the area storing the older version of the program in step SA34.

更新処理部214は、ステップSA34で選択した領域に、更新プログラム記憶第1領域78に記憶した車両制御更新プログラムを書き込む(ステップSA35)。続いて、更新処理部214は、ステップSA35で書き込んだ車両制御更新プログラムをプログラム実行部213によって実行させることにより、車両制御更新プログラムをインストールする(ステップSA36)。 The update processing unit 214 writes the vehicle control update program stored in the first update program storage area 78 to the area selected in step SA34 (step SA35). Next, the update processing unit 214 installs the vehicle control update program by having the program execution unit 213 execute the vehicle control update program written in step SA35 (step SA36).

更新処理部214は、インストールが正常に完了したことを確認する処理を行う(ステップSA37)。ステップSA37で、更新処理部214は、インストールされたプログラムが、プログラム実行部213によって正常に実行可能な状態であることを確認する。例えば、更新処理部214は、ハッシュ値の算出と比較、或いは、チェックサムの算出と比較を行うことにより、第1記憶部61に書き込まれたプログラム及びデータの正常性を確認する。 The update processing unit 214 performs a process to confirm that the installation has been completed normally (step SA37). In step SA37, the update processing unit 214 confirms that the installed program can be executed normally by the program execution unit 213. For example, the update processing unit 214 verifies the normality of the program and data written to the first storage unit 61 by calculating and comparing a hash value or calculating and comparing a checksum.

更新処理部214は、インストールしたプログラムのアクティベーションを実行する(ステップSA38)。アクティベーションは、制御システム1がインストールしたプログラムを実行するように設定する処理である。例えば、更新処理部214は、アクティブプログラム指定データ71aを、ステップSA34で選択した領域のアドレスに書き換える処理を行う。 The update processing unit 214 activates the installed program (step SA38). Activation is a process for setting up the control system 1 to execute the installed program. For example, the update processing unit 214 rewrites the active program designation data 71a to the address of the area selected in step SA34.

一方、インストールするプログラムが非関与更新プログラムである場合(ステップSA31;YES)、更新データ制御部203は、プログラムをインストールする対象のECUを特定する(ステップSA39)。ステップSA39の動作はステップSA32と同様である。 On the other hand, if the program to be installed is a non-involved update program (step SA31; YES), the update data control unit 203 identifies the ECU on which the program is to be installed (step SA39). The operation of step SA39 is the same as that of step SA32.

続いて、更新データ制御部203によって特定されたECUが有する更新処理部214によって、TCU12がダウンロードした非関与更新プログラムが、第2記憶部62の更新プログラム記憶第2領域79に記憶される(ステップSA40)。 Next, the update processing unit 214 of the ECU identified by the update data control unit 203 stores the non-involved update program downloaded by the TCU 12 in the update program storage second area 79 of the second storage unit 62 (step SA40).

更新処理部214は、非関与プログラム記憶領域76に記憶されている非関与プログラムを、第2記憶部62のプログラム記憶領域77にコピーする(ステップSA41)。その後、更新処理部214は、更新プログラム記憶第2領域79に記憶した非関与更新プログラムを、非関与プログラム記憶領域76に書き込む(ステップSA42)。
更新処理部214は、ステップSA42で書き込んだ非関与更新プログラムをプログラム実行部213によって実行させることにより、非関与プログラムを非関与プログラム記憶領域76にインストールする(ステップSA43)。
The update processing unit 214 copies the non-involved program stored in the non-involved program storage area 76 to the program storage area 77 of the second storage unit 62 (step SA41). After that, the update processing unit 214 writes the non-involved update program stored in the update program storage second area 79 to the non-involved program storage area 76 (step SA42).
The update processing unit 214 installs the non-involved program in the non-involved program storage area 76 by having the program execution unit 213 execute the non-involved update program written in step SA42 (step SA43).

更新処理部214は、インストールが正常に完了したことを確認する処理を行う(ステップSA44)。ステップSA44で、更新処理部214は、ステップSA37と同様の処理を行う。更新処理部214は、インストールしたプログラムのアクティベーションを実行する(ステップSA45)。 The update processing unit 214 performs a process to confirm that the installation has been completed normally (step SA44). In step SA44, the update processing unit 214 performs a process similar to that of step SA37. The update processing unit 214 executes activation of the installed program (step SA45).

更新処理部214は、第2記憶部62のプログラム記憶領域77に記憶させた非関与プログラムを削除する(ステップSA46)。 The update processing unit 214 deletes the non-involved programs stored in the program memory area 77 of the second memory unit 62 (step SA46).

上記実施形態は本発明を適用した一具体例を示すものであり、発明が適用される形態を限定するものではない。
例えば、上記実施形態では、ユーザがタッチパネル等を操作することによって、車両制御更新プログラムまたは非関与更新プログラムがサーバ110から制御システム1にダウンロードされる構成を説明した。これは一例であり、例えば、ユーザの操作を必要とせず、制御システム1がサーバ110から車両制御更新プログラムをダウンロードする構成であってもよい。また、ユーザの操作を必要とせず、制御システム1がサーバ110から非関与更新プログラムをダウンロードする構成であってもよい。これらの場合に、制御システム1は、ユーザの操作に基づいて、ダウンロード済みの車両制御更新プログラム及び/または非関与更新プログラムをインストールする構成であってもよい。また、制御システム1は、ユーザの操作を伴わずに、車両制御更新プログラムをインストールしてもよい。
The above embodiment shows a specific example to which the present invention is applied, and does not limit the form to which the invention is applied.
For example, in the above embodiment, a configuration has been described in which a vehicle control update program or a non-involved update program is downloaded from the server 110 to the control system 1 by a user operating a touch panel or the like. This is just one example, and, for example, a configuration may be adopted in which the control system 1 downloads the vehicle control update program from the server 110 without the need for a user operation. Also, a configuration may be adopted in which the control system 1 downloads the non-involved update program from the server 110 without the need for a user operation. In these cases, the control system 1 may be configured to install the downloaded vehicle control update program and/or the non-involved update program based on a user operation. Also, the control system 1 may install the vehicle control update program without a user operation.

上記実施形態では、制御システム1がプログラム管理装置として動作する例を説明した。詳細には、制御システム1が、車両制御プログラム及び非関与プログラムを記憶するデータ記憶部51、213を備え、車両制御プログラム及び非関与プログラムの更新を管理する。これは一例であり、例えば、プログラム管理装置を、制御システム1の一部の装置として構成してもよいし、制御システム1に接続される外部装置が、プログラム管理装置として機能する構成であってもよい。 In the above embodiment, an example has been described in which the control system 1 operates as a program management device. In detail, the control system 1 includes data storage units 51, 213 that store the vehicle control program and the non-involved program, and manages updates to the vehicle control program and the non-involved program. This is one example, and for example, the program management device may be configured as a part of the control system 1, or an external device connected to the control system 1 may function as the program management device.

また、上記実施形態で示した制御システム1の構成は一例であり、制御システム1が備えるECUの種類、ECUの数、ECUの制御対象の装置の構成は種々に変更可能である。 The configuration of the control system 1 shown in the above embodiment is just one example, and the type of ECUs included in the control system 1, the number of ECUs, and the configuration of the devices controlled by the ECUs can be changed in various ways.

図1及び図3は、本願発明の理解を容易にするために、プログラム管理システム100の各装置の機能構成を、主な処理内容により区分して示した概略構成を示す図であり、装置の構成を限定するものではない。図5~図7に示した各処理は、1つのプログラムにより実行されてもよいし、複数のプログラムにより実行されてもよい。 Figures 1 and 3 are diagrams showing the schematic configuration of the functional configuration of each device in the program management system 100, divided according to the main processing content, in order to facilitate understanding of the present invention, and are not intended to limit the configuration of the devices. Each process shown in Figures 5 to 7 may be executed by one program or multiple programs.

上記実施形態は、以下の構成をサポートする。 The above embodiment supports the following configurations:

(構成1)車両の外部に存在する外部装置と通信を行う通信部と、車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域を有する第1記憶部と、前記第1記憶部とは独立して設けられる第2記憶部と、前記通信部によって受信された、前記非関与プログラムの更新に利用される非関与更新プログラムを、第2記憶部に記憶させる更新処理部と、を備え、前記更新処理部は、前記非関与プログラム記憶領域に記憶されている前記非関与プログラムを前記第2記憶部へ記憶させる処理を実行し、その後に、前記非関与更新プログラムに基づいて前記非関与プログラム記憶領域に前記非関与プログラムを記憶させる処理を実行する、プログラム管理装置。
構成1のプログラム管理装置によれば、第1記憶部が記憶する非関与プログラムを更新する前に、非関与プログラムを第2記憶部へ記憶させる。これにより、更新前の非関与プログラムを第2記憶部に保持できる。このため、非関与プログラムの更新が正常に完了できない場合であっても、第2記憶部に記憶させた非関与プログラムを利用して、第1記憶部の非関与プログラムをロールバックできる。従って、非関与プログラムを更新する処理の実行タイミングを制限しなくてもプログラムの信頼性が損なわれないので、非関与プログラムの更新を行うタイミングの制約を小さくすることができる。
(Configuration 1) A program management device comprising: a communication unit that communicates with an external device outside the vehicle; a first memory unit having a non-involved program memory area that stores a non-involved program that is not involved in the control of the vehicle; a second memory unit that is provided independently of the first memory unit; and an update processing unit that stores a non-involved update program received by the communication unit and used to update the non-involved program in the second memory unit, wherein the update processing unit executes a process of storing the non-involved program stored in the non-involved program memory area in the second memory unit, and then executes a process of storing the non-involved program in the non-involved program memory area based on the non-involved update program.
According to the program management device of configuration 1, before updating the non-involved program stored in the first storage unit, the non-involved program is stored in the second storage unit. This allows the non-involved program before the update to be held in the second storage unit. Therefore, even if the update of the non-involved program cannot be completed normally, the non-involved program in the first storage unit can be rolled back using the non-involved program stored in the second storage unit. Therefore, since the reliability of the program is not impaired even if the execution timing of the process of updating the non-involved program is not restricted, the constraints on the timing of updating the non-involved program can be reduced.

(構成2)前記第1記憶部は、前記車両を制御するための車両制御プログラムを記憶するプログラム記憶第1領域と、前記車両制御プログラムを記憶するプログラム記憶第2領域と、を有し、前記更新処理部は、前記通信部によって受信された、前記車両制御プログラムの更新に利用される車両制御更新プログラムを前記第2記憶部に記憶させ、前記更新処理部は、前記プログラム記憶第1領域に記憶された前記車両制御プログラム、及び、前記プログラム記憶第2領域に記憶された前記車両制御プログラムのいずれかを、前記第2記憶部に記憶された前記車両制御更新プログラムに基づいて更新する、構成1に記載のプログラム管理装置。
構成2のプログラム管理装置によれば、車両を制御するための車両制御プログラムをプログラム記憶第1領域とプログラム記憶第2領域に記憶する。これにより、車両制御プログラムを更新する間に、更新に影響されない領域に車両制御プログラムを保持できる。このため、車両制御プログラムを更新するタイミングを制限しなくても、車両制御プログラムの信頼性が損なわれない。従って、車両制御プログラムの更新を行うタイミングの制約を小さくすることができる。
(Configuration 2) The first memory unit has a program storage first area that stores a vehicle control program for controlling the vehicle, and a program storage second area that stores the vehicle control program, and the update processing unit stores a vehicle control update program used to update the vehicle control program received by the communication unit in the second memory unit, and the update processing unit updates either the vehicle control program stored in the program storage first area or the vehicle control program stored in the program storage second area based on the vehicle control update program stored in the second memory unit. This is the program management device described in configuration 1.
According to the program management device of configuration 2, a vehicle control program for controlling a vehicle is stored in a first program storage area and a second program storage area. This allows the vehicle control program to be held in an area that is not affected by updates while the vehicle control program is being updated. Therefore, the reliability of the vehicle control program is not compromised even if there are no restrictions on the timing of updating the vehicle control program. This makes it possible to reduce restrictions on the timing of updating the vehicle control program.

(構成3)前記更新処理部は、前記プログラム記憶第1領域に記憶された前記車両制御プログラム、及び、前記プログラム記憶第2領域に記憶された前記車両制御プログラムのうち、アクティブなプログラムに設定された前記車両制御プログラムを実行する車両制御プログラム実行部を備え、前記更新処理部は、前記プログラム記憶第1領域に記憶された前記車両制御プログラム、または、前記プログラム記憶第2領域に記憶された前記車両制御プログラムを更新した場合に、更新された前記車両制御更新プログラムをアクティブなプログラムに設定する、構成2に記載のプログラム管理装置。
構成3のプログラム管理装置によれば、プログラム記憶第1領域とプログラム記憶第2領域に記憶された車両制御プログラムのうち、実行するプログラムを設定できる。これによって、二重化された記憶領域に記憶された車両制御プログラムを効率よく利用できる。
(Configuration 3) The update processing unit includes a vehicle control program execution unit that executes the vehicle control program stored in the program storage first area and the vehicle control program stored in the program storage second area, which is set as an active program, and when the update processing unit updates the vehicle control program stored in the program storage first area or the vehicle control program stored in the program storage second area, the update processing unit sets the updated vehicle control update program as the active program. This is the program management device described in Configuration 2.
According to the program management device of configuration 3, it is possible to set a vehicle control program to be executed from among the vehicle control programs stored in the first program storage area and the second program storage area, thereby making it possible to efficiently use the vehicle control programs stored in the duplicated storage areas.

(構成4)前記非関与プログラムを実行する非関与プログラム実行部を備え、前記更新処理部は、前記非関与更新プログラムに基づいて前記非関与プログラム記憶領域に前記非関与プログラムを記憶させる処理を、前記非関与プログラム実行部が前記非関与プログラムを実行中であるか否かにかかわらず実行する、構成1から構成3のいずれか1項に記載のプログラム管理装置。
構成4のプログラム管理装置によれば、非関与プログラムを更新する処理の前に、非関与プログラムを第2記憶部へ記憶させるので、非関与プログラムを更新する処理によって、更新前の非関与プログラムが失われることがない。このため、非関与プログラムを実行中であるか否かにかかわらず、非関与プログラムの更新を実行可能とすることによって、効率よくプログラムの更新を行うことができる。
(Configuration 4) A program management device described in any one of configurations 1 to 3, comprising a non-involved program execution unit that executes the non-involved program, and the update processing unit executes a process of storing the non-involved program in the non-involved program memory area based on the non-involved update program, regardless of whether the non-involved program execution unit is executing the non-involved program.
According to the program management device of configuration 4, since the non-involved program is stored in the second storage unit before the process of updating the non-involved program is performed, the non-involved program before the update is not lost due to the process of updating the non-involved program. Therefore, by making it possible to update the non-involved program regardless of whether the non-involved program is being executed or not, it is possible to perform program updates efficiently.

(構成5)前記更新処理部は、前記非関与更新プログラムに基づいて前記非関与プログラム記憶領域に前記非関与プログラムを記憶させる処理の実行後に、前記第2記憶部に記憶された前記非関与プログラムを削除する、構成1から構成4のいずれか1項に記載のプログラム管理装置。
構成5のプログラム管理装置によれば、非関与プログラムを更新する処理に際して、第2記憶部に保持された非関与プログラムを、不要となったタイミングで削除する。このため、第2記憶部の記憶領域を効率よく利用できる。
(Configuration 5) A program management device described in any one of configurations 1 to 4, wherein the update processing unit deletes the non-involved program stored in the second memory unit after executing a process to store the non-involved program in the non-involved program memory area based on the non-involved update program.
According to the program management device of configuration 5, when updating a non-involved program, the non-involved program stored in the second storage unit is deleted when it becomes unnecessary, thereby making it possible to efficiently use the storage area of the second storage unit.

(構成6)前記更新処理部は、前記非関与更新プログラムに基づいて前記非関与プログラム記憶領域に前記非関与プログラムを記憶させる処理が正常に完了しなかった場合に、前記第2記憶部に記憶された前記非関与プログラムを前記非関与プログラム記憶領域に書き込む、構成1から構成5のいずれか1項に記載のプログラム管理装置。
構成6のプログラム管理装置によれば、第1記憶部の非関与プログラムの更新が正常に完了しなかった場合に、更新前の非関与プログラムを利用して、非関与プログラムをロールバックできる。これにより、非関与プログラムの更新に関する信頼性を確保できる。
(Configuration 6) A program management device described in any one of configurations 1 to 5, wherein the update processing unit writes the non-involved program stored in the second memory unit to the non-involved program memory area when the process of storing the non-involved program in the non-involved program memory area based on the non-involved update program is not completed successfully.
According to the program management device of configuration 6, if the update of the non-involved program in the first storage unit is not completed normally, the non-involved program can be rolled back using the non-involved program before the update. This ensures the reliability of the update of the non-involved program.

(構成7)前記第1記憶部はNOR型フラッシュメモリ素子により構成され、前記第2記憶部はNAND型フラッシュメモリ素子により構成される、構成1から構成6のいずれか1項に記載のプログラム管理装置。
構成7のプログラム管理装置によれば、データを保持する性能が高いNOR型フラッシュメモリ素子を利用して車両制御プログラム及び非関与プログラムを記憶することにより、車両で使用されるプログラムの信頼性を高めることができる。NOR型フラッシュメモリはランダムリードが高速であることから、プログラムを格納する用途に適している。また、車両制御プログラムを、NOR型フラッシュメモリ素子である第1記憶部に二重化して記憶することにより、車両制御プログラムについて高い信頼性を確保できる。また、非関与プログラムを更新する際に、更新前の非関与プログラムを保持するために利用される第2記憶部として、低コストのNAND型フラッシュメモリ素子を用いるので、非関与プログラムの更新に関する信頼性を、小さいコスト負担で確保できる。
(Configuration 7) The program management device according to any one of configurations 1 to 6, wherein the first memory unit is configured with a NOR type flash memory element, and the second memory unit is configured with a NAND type flash memory element.
According to the program management device of configuration 7, the reliability of the programs used in the vehicle can be improved by storing the vehicle control program and the non-involved program using a NOR type flash memory element with high data retention performance. NOR type flash memory is suitable for storing programs because of its high speed random read. Furthermore, by storing the vehicle control program in a duplicated manner in the first storage unit, which is a NOR type flash memory element, high reliability of the vehicle control program can be ensured. Furthermore, when updating the non-involved program, a low-cost NAND type flash memory element is used as the second storage unit used to store the non-involved program before the update, so that reliability regarding the update of the non-involved program can be ensured at a small cost.

(構成8)車両の外部に存在する外部装置と通信を行う通信部と、第1記憶部と、第2記憶部と、を備えるプログラム管理装置を利用するプログラム管理方法であって、前記第1記憶部に、車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域を設け、前記第2記憶部に、前記通信部によって受信された、前記非関与プログラムの更新に利用される非関与更新プログラムを記憶させ、前記非関与プログラム記憶領域に記憶されている前記非関与プログラムを前記第2記憶部へ記憶させる処理を実行し、その後に、前記非関与更新プログラムに基づいて前記非関与プログラム記憶領域に前記非関与プログラムを記憶させる処理を実行する、プログラム管理方法。
構成8のプログラム管理方法によれば、第1記憶部が記憶する非関与プログラムを更新する前に、非関与プログラムを第2記憶部へ記憶させる。これにより、更新前の非関与プログラムを第2記憶部に保持できる。このため、非関与プログラムの更新が正常に完了できない場合であっても、第2記憶部に記憶させた非関与プログラムを利用して、第1記憶部の非関与プログラムをロールバックできる。従って、非関与プログラムを更新する処理の実行タイミングを制限しなくてもプログラムの信頼性が損なわれないので、非関与プログラムの更新を行うタイミングの制約を小さくすることができる。
(Configuration 8) A program management method that utilizes a program management device having a communication unit that communicates with an external device outside the vehicle, a first memory unit, and a second memory unit, the program management method comprising: providing a non-involved program memory area in the first memory unit for storing a non-involved program that is not involved in the control of the vehicle; storing a non-involved update program received by the communication unit and used to update the non-involved program in the second memory unit; executing a process to store the non-involved program stored in the non-involved program memory area in the second memory unit; and then executing a process to store the non-involved program in the non-involved program memory area based on the non-involved update program.
According to the program management method of configuration 8, before updating the non-involved program stored in the first storage unit, the non-involved program is stored in the second storage unit. This allows the non-involved program before the update to be held in the second storage unit. Therefore, even if the update of the non-involved program cannot be completed normally, the non-involved program in the first storage unit can be rolled back using the non-involved program stored in the second storage unit. Therefore, since the reliability of the program is not compromised even if the execution timing of the process of updating the non-involved program is not restricted, the constraints on the timing of updating the non-involved program can be reduced.

(構成9)車両の外部に存在する外部装置と通信を行う通信部と、第1記憶部と、第2記憶部と、を備えるプログラム管理装置を制御するコンピュータが実行するプログラムであって、前記第1記憶部には、車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域が設けられ、前記コンピュータに、前記第2記憶部に、前記通信部によって受信された、前記非関与プログラムの更新に利用される非関与更新プログラムを記憶させる処理、前記非関与プログラム記憶領域に記憶されている前記非関与プログラムを前記第2記憶部へ記憶させる処理を実行する処理、及び、その後に前記非関与更新プログラムに基づいて前記非関与プログラム記憶領域に前記非関与プログラムを記憶させる処理を実行させるプログラムを記憶する、記録媒体。
構成9の記録媒体に記憶されたプログラムによれば、第1記憶部が記憶する非関与プログラムを更新する前に、非関与プログラムを第2記憶部へ記憶させる。これにより、更新前の非関与プログラムを第2記憶部に保持できる。このため、非関与プログラムの更新が正常に完了できない場合であっても、第2記憶部に記憶させた非関与プログラムを利用して、第1記憶部の非関与プログラムをロールバックできる。従って、非関与プログラムを更新する処理の実行タイミングを制限しなくてもプログラムの信頼性が損なわれないので、非関与プログラムの更新を行うタイミングの制約を小さくすることができる。
(Configuration 9) A program executed by a computer that controls a program management device having a communication unit that communicates with an external device outside the vehicle, a first memory unit, and a second memory unit, wherein the first memory unit is provided with a non-involved program memory area that stores a non-involved program that is not involved in the control of the vehicle, and a recording medium storing a program that causes the computer to execute a process of storing in the second memory unit a non-involved update program used to update the non-involved program received by the communication unit, a process of storing the non-involved program stored in the non-involved program memory area in the second memory unit, and then a process of storing the non-involved program in the non-involved program memory area based on the non-involved update program.
According to the program stored in the recording medium of configuration 9, before updating the non-involved program stored in the first storage unit, the non-involved program is stored in the second storage unit. This allows the non-involved program before the update to be held in the second storage unit. Therefore, even if the update of the non-involved program cannot be completed normally, the non-involved program in the first storage unit can be rolled back using the non-involved program stored in the second storage unit. Therefore, since the reliability of the program is not compromised even if the execution timing of the process of updating the non-involved program is not restricted, the constraints on the timing of updating the non-involved program can be reduced.

1…制御システム(プログラム管理装置)、2…セントラルECU、12…TCU(通信部)、20…ゾーンECU(制御部)、20a…第1ゾーンECU(制御部)、20b…第2ゾーンECU(制御部)、20c…第3ゾーンECU(制御部)、30、30a、30b、30c、30d、30e、30f、30g、30h、30i…ECU、51、51a、51b、51c、212…データ記憶部、52、52a、52b、52c、213…プログラム実行部(車両制御プログラム実行部、非関与プログラム実行部)、53、53a、53b、53c、214…更新処理部、61…第1記憶部、62…第2記憶部、63…メモリ、74…プログラム記憶第1領域、75…プログラム記憶第2領域、76…非関与プログラム記憶領域、77…プログラム記憶領域、78…更新プログラム記憶第1領域、79…更新プログラム記憶第2領域、100…プログラム管理システム、110…サーバ、120…車両診断装置、201…更新制御部、202…更新データ受信部、203…更新データ制御部、211…処理部、V…車両。 1...Control system (program management device), 2...Central ECU, 12...TCU (communication unit), 20...Zone ECU (control unit), 20a...First zone ECU (control unit), 20b...Second zone ECU (control unit), 20c...Third zone ECU (control unit), 30, 30a, 30b, 30c, 30d, 30e, 30f, 30g, 30h, 30i...ECU, 51, 51a, 51b, 51c, 212...Data storage unit, 52, 52a, 52b, 52c, 213...Program execution unit (vehicle control program execution unit, non-involved program execution unit) line section), 53, 53a, 53b, 53c, 214...update processing section, 61...first storage section, 62...second storage section, 63...memory, 74...first program storage area, 75...second program storage area, 76...non-involved program storage area, 77...program storage area, 78...first update program storage area, 79...second update program storage area, 100...program management system, 110...server, 120...vehicle diagnostic device, 201...update control section, 202...update data receiving section, 203...update data control section, 211...processing section, V...vehicle.

Claims (8)

車両の外部に存在する外部装置と通信を行う通信部と、
前記車両を制御するための車両制御プログラムを記憶するプログラム記憶第1領域及びプログラム記憶第2領域と、前記車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域と、を有する第1記憶部と、
前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムのうち、アクティブなプログラムに設定された前記車両制御プログラムを実行する車両制御プログラム実行部と、
前記非関与プログラム記憶領域に記憶された前記非関与プログラムを実行する非関与プログラム実行部と、
前記第1記憶部とは独立して設けられ、前記通信部により受信された前記車両制御プログラムの更新に利用される車両制御更新プログラムを記憶する更新プログラム記憶第1領域と、前記通信部により受信された前記非関与プログラムの更新に利用される非関与更新プログラムを記憶する更新プログラム記憶第2領域と、を有する第2記憶部と、
前記車両制御更新プログラムに基づく前記車両制御プログラムの更新処理と、前記非関与更新プログラムに基づく前記非関与プログラムの更新処理と、を実行する更新処理部と、
を備え、
前記更新処理部は、
前記通信部により更新用プログラムが受信されたときに、前記更新用プログラムが前記車両制御更新プログラムであるか前記非関与更新プログラムであるかを判定し、
前記更新用プログラムが前記車両制御更新プログラムであるときは、前記第2記憶部の前記更新プログラム記憶第1領域に記憶された前記車両制御更新プログラムに基づいて、前記第1記憶部の前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムを更新する処理を実行し、
前記更新用プログラムが前記非関与更新プログラムであるときには、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムの複製を、前記第2記憶部に備えられたプログラム記憶領域に記憶した後に、前記第2記憶部の前記更新プログラム記憶第2領域に記憶された前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理を実行する
プログラム管理装置。
A communication unit that communicates with an external device located outside the vehicle;
A first storage unit including a program storage first area and a program storage second area for storing a vehicle control program for controlling the vehicle, and a non-involved program storage area for storing a non-involved program that is not involved in the control of the vehicle;
a vehicle control program execution unit that executes one of the vehicle control programs stored in the first program storage area or the second program storage area as an active program;
A non-involved program execution unit that executes the non-involved program stored in the non-involved program storage area;
a second storage unit provided independently of the first storage unit, the second storage unit having a first update program storage area for storing a vehicle control update program used to update the vehicle control program received by the communication unit, and a second update program storage area for storing a non-involved update program used to update the non-involved program received by the communication unit;
an update processing unit that executes an update process of the vehicle control program based on the vehicle control update program and an update process of the non-involved program based on the non-involved update program;
Equipped with
The update processing unit:
When the update program is received by the communication unit, it is determined whether the update program is the vehicle control update program or the non-participation update program;
When the update program is the vehicle control update program, a process of updating the vehicle control program stored in the program storage first area or the program storage second area of the first storage unit is executed based on the vehicle control update program stored in the update program storage first area of the second storage unit,
When the update program is the non-involved update program, a program management device stores a copy of the non-involved program stored in the non-involved program memory area of the first memory unit in a program memory area provided in the second memory unit, and then executes a process of updating the non-involved program stored in the non-involved program memory area of the first memory unit based on the non-involved update program stored in the update program memory second area of the second memory unit.
前記更新処理部は、前記プログラム記憶第1領域に記憶された前記車両制御プログラム、または、前記プログラム記憶第2領域に記憶された前記車両制御プログラムを更新した場合に、更新された前記車両制御更新プログラムをアクティブなプログラムに設定する、請求項1に記載のプログラム管理装置。 The program management device according to claim 1, wherein the update processing unit sets the updated vehicle control update program as an active program when the vehicle control program stored in the first program storage area or the vehicle control program stored in the second program storage area is updated. 前記更新処理部は、前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理を、前記非関与プログラム実行部が前記非関与プログラムを実行中であるか否かにかかわらず実行する、請求項1に記載のプログラム管理装置。 The program management device according to claim 1, wherein the update processing unit executes a process of updating the non-involved program stored in the non-involved program storage area of the first storage unit based on the non-involved update program, regardless of whether the non-involved program execution unit is executing the non-involved program. 前記更新処理部は、前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理の実行後に、前記第2記憶部の前記プログラム記憶領域に記憶された前記非関与プログラムを削除する、請求項1に記載のプログラム管理装置。 The program management device according to claim 1, wherein the update processing unit deletes the non-involved program stored in the program storage area of the second storage unit after executing a process of updating the non-involved program stored in the non-involved program storage area of the first storage unit based on the non-involved update program. 前記更新処理部は、前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理が正常に完了しなかった場合に、前記第2記憶部の前記プログラム記憶領域に記憶された前記非関与プログラムを、前記第1記憶部の前記非関与プログラム記憶領域に書き込む、請求項1に記載のプログラム管理装置。 The program management device according to claim 1, wherein the update processing unit writes the non-involved program stored in the program storage area of the second storage unit to the non-involved program storage area of the first storage unit when the process of updating the non-involved program stored in the non-involved program storage area of the first storage unit based on the non-involved update program is not completed normally. 前記第1記憶部はNOR型フラッシュメモリ素子により構成され、前記第2記憶部はNAND型フラッシュメモリ素子により構成される、請求項1から請求項5のいずれか1項に記載のプログラム管理装置。 The program management device according to any one of claims 1 to 5, wherein the first storage unit is configured from a NOR type flash memory element, and the second storage unit is configured from a NAND type flash memory element. 車両の外部に存在する外部装置と通信を行う通信部と、
前記車両を制御するための車両制御プログラムを記憶するプログラム記憶第1領域及びプログラム記憶第2領域と、前記車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域と、を有する第1記憶部と、
前記第1記憶部とは独立して設けられ、前記通信部により受信された前記車両制御プログラムの更新に利用される車両制御更新プログラムを記憶する更新プログラム記憶第1領域と、前記通信部により受信された前記非関与プログラムの更新に利用される非関与更新プログラムを記憶する更新プログラム記憶第2領域と、を有する第2記憶部と、
を備えるプログラム管理装置により実行されるプログラム管理方法であって、
前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムのうち、アクティブなプログラムに設定された前記車両制御プログラムを実行する車両制御プログラム実行ステップと、
前記非関与プログラム記憶領域に記憶された前記非関与プログラムを実行する非関与プログラム実行ステップと、
前記車両制御更新プログラムに基づく前記車両制御プログラムの更新処理と、前記非関与更新プログラムに基づく前記非関与プログラムの更新処理と、を実行する更新処理ステップと、
を含み、
前記更新処理ステップは、
前記通信部により更新用プログラムが受信されたときに、前記更新用プログラムが前記車両制御更新プログラムであるか前記非関与更新プログラムであるかを判定し、
前記更新用プログラムが前記車両制御更新プログラムであるときは、前記第2記憶部の前記更新プログラム記憶第1領域に記憶された前記車両制御更新プログラムに基づいて、前記第1記憶部の前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムを更新する処理を実行し、
前記更新用プログラムが前記非関与更新プログラムであるときには、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムの複製を、前記第2記憶部に備えられたプログラム記憶領域に記憶した後に、前記第2記憶部の前記更新プログラム記憶第2領域に記憶された前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理を実行する
プログラム管理方法。
A communication unit that communicates with an external device located outside the vehicle;
A first storage unit including a program storage first area and a program storage second area for storing a vehicle control program for controlling the vehicle, and a non-involved program storage area for storing a non-involved program that is not involved in the control of the vehicle;
a second storage unit provided independently of the first storage unit, the second storage unit having a first update program storage area for storing a vehicle control update program used to update the vehicle control program received by the communication unit, and a second update program storage area for storing a non-involved update program used to update the non-involved program received by the communication unit;
A program management method executed by a program management device comprising:
a vehicle control program execution step of executing a vehicle control program set as an active program among the vehicle control programs stored in the first program storage area or the second program storage area;
A non-involved program execution step of executing the non-involved program stored in the non-involved program storage area;
an update processing step of executing an update process of the vehicle control program based on the vehicle control update program and an update process of the non-involved program based on the non-involved update program;
Including,
The update processing step includes:
When the update program is received by the communication unit, it is determined whether the update program is the vehicle control update program or the non-involved update program;
When the update program is the vehicle control update program, a process of updating the vehicle control program stored in the program storage first area or the program storage second area of the first storage unit is executed based on the vehicle control update program stored in the update program storage first area of the second storage unit,
A program management method, when the update program is the non-involved update program, which stores a copy of the non-involved program stored in the non-involved program memory area of the first memory unit in a program memory area provided in the second memory unit, and then performs a process of updating the non-involved program stored in the non-involved program memory area of the first memory unit based on the non-involved update program stored in the update program memory second area of the second memory unit.
車両の外部に存在する外部装置と通信を行う通信部と、
前記車両を制御するための車両制御プログラムを記憶するプログラム記憶第1領域及びプログラム記憶第2領域と、前記車両の制御に関与しない非関与プログラムを記憶する非関与プログラム記憶領域と、を有する第1記憶部と、
前記第1記憶部とは独立して設けられ、前記通信部により受信された前記車両制御プログラムの更新に利用される車両制御更新プログラムを記憶する更新プログラム記憶第1領域と、前記通信部により受信された前記非関与プログラムの更新に利用される非関与更新プログラムを記憶する更新プログラム記憶第2領域と、を有する第2記憶部と、
を備えるプログラム管理装置を制御するコンピュータを、
前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムのうち、アクティブなプログラムに設定された前記車両制御プログラムを実行する車両制御プログラム実行部と、
前記非関与プログラム記憶領域に記憶された前記非関与プログラムを実行する非関与プログラム実行部と、
前記車両制御更新プログラムに基づく前記車両制御プログラムの更新処理と、前記非関与更新プログラムに基づく前記非関与プログラムの更新処理と、を実行する更新処理部と、
して機能させ、
前記更新処理部は、
前記通信部により更新用プログラムが受信されたときに、前記更新用プログラムが前記車両制御更新プログラムであるか前記非関与更新プログラムであるかを判定し、
前記更新用プログラムが前記車両制御更新プログラムであるときは、前記第2記憶部の前記更新プログラム記憶第1領域に記憶された前記車両制御更新プログラムに基づいて、前記第1記憶部の前記プログラム記憶第1領域又は前記プログラム記憶第2領域に記憶された前記車両制御プログラムを更新する処理を実行し、
前記更新用プログラムが前記非関与更新プログラムであるときには、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムの複製を、前記第2記憶部に備えられたプログラム記憶領域に記憶した後に、前記第2記憶部の前記更新プログラム記憶第2領域に記憶された前記非関与更新プログラムに基づいて、前記第1記憶部の前記非関与プログラム記憶領域に記憶された前記非関与プログラムを更新する処理を実行する
プログラムを記憶する、記録媒体。
A communication unit that communicates with an external device located outside the vehicle;
A first storage unit including a program storage first area and a program storage second area for storing a vehicle control program for controlling the vehicle, and a non-involved program storage area for storing a non-involved program that is not involved in the control of the vehicle;
a second storage unit provided independently of the first storage unit, the second storage unit having a first update program storage area for storing a vehicle control update program used to update the vehicle control program received by the communication unit, and a second update program storage area for storing a non-involved update program used to update the non-involved program received by the communication unit;
A computer that controls a program management device comprising:
a vehicle control program execution unit that executes one of the vehicle control programs stored in the first program storage area or the second program storage area as an active program;
A non-involved program execution unit that executes the non-involved program stored in the non-involved program storage area;
an update processing unit that executes an update process of the vehicle control program based on the vehicle control update program and an update process of the non-involved program based on the non-involved update program;
and make it work.
The update processing unit:
When the update program is received by the communication unit, it is determined whether the update program is the vehicle control update program or the non-involved update program;
When the update program is the vehicle control update program, a process of updating the vehicle control program stored in the program storage first area or the program storage second area of the first storage unit is executed based on the vehicle control update program stored in the update program storage first area of the second storage unit,
A recording medium that stores a program that, when the update program is the non-involved update program, executes a process of updating the non-involved program stored in the non-involved program memory area of the first memory unit based on the non-involved update program stored in the update program memory second area of the second memory unit, after storing a copy of the non-involved program stored in the non-involved program memory area of the first memory unit in a program memory area provided in the second memory unit.
JP2022137519A 2022-02-15 2022-08-31 PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM Active JP7633215B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211680954.2A CN116610348A (en) 2022-02-15 2022-12-27 Program management device, program management method, and recording medium
US18/157,118 US12461737B2 (en) 2022-02-15 2023-01-20 Program management device, program management method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022021063 2022-02-15
JP2022021063 2022-02-15

Publications (2)

Publication Number Publication Date
JP2023118653A JP2023118653A (en) 2023-08-25
JP7633215B2 true JP7633215B2 (en) 2025-02-19

Family

ID=87663195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022137519A Active JP7633215B2 (en) 2022-02-15 2022-08-31 PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP7633215B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094832A (en) 2002-09-03 2004-03-25 Sharp Corp Update method, communication system and processing device
JP2007133601A (en) 2005-11-09 2007-05-31 Fujitsu Ten Ltd Software package, system management device and in-vehicle information equipment
JP2020027666A (en) 2018-08-10 2020-02-20 株式会社デンソー Electronic control device, electronic control system for vehicle, and data structure of specification data
JP2020038585A (en) 2018-09-06 2020-03-12 みこらった株式会社 Self-driving vehicle and program for self-driving vehicle
WO2021024792A1 (en) 2019-08-05 2021-02-11 日立オートモティブシステムズ株式会社 Vehicle control device, update program, program update system, and writing device
JP2021128362A (en) 2020-02-10 2021-09-02 本田技研工業株式会社 Software update apparatus and software update method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094832A (en) 2002-09-03 2004-03-25 Sharp Corp Update method, communication system and processing device
JP2007133601A (en) 2005-11-09 2007-05-31 Fujitsu Ten Ltd Software package, system management device and in-vehicle information equipment
JP2020027666A (en) 2018-08-10 2020-02-20 株式会社デンソー Electronic control device, electronic control system for vehicle, and data structure of specification data
JP2020038585A (en) 2018-09-06 2020-03-12 みこらった株式会社 Self-driving vehicle and program for self-driving vehicle
WO2021024792A1 (en) 2019-08-05 2021-02-11 日立オートモティブシステムズ株式会社 Vehicle control device, update program, program update system, and writing device
JP2021128362A (en) 2020-02-10 2021-09-02 本田技研工業株式会社 Software update apparatus and software update method

Also Published As

Publication number Publication date
JP2023118653A (en) 2023-08-25

Similar Documents

Publication Publication Date Title
JP7388301B2 (en) Server, management method, management program and software update device
JP6451899B2 (en) Control device, program update method, and computer program
CN111051139B (en) Control apparatus, control method, and computer program
WO2018142751A1 (en) Control device, program update method, and computer program
JP7207301B2 (en) Update controller, control method and computer program
US20210011711A1 (en) Control device, control method, and computer program
JP7540394B2 (en) OTA master, system, method, program, and vehicle
CN115129337A (en) Control device and terminal device
JP7632111B2 (en) OTA master, system, method, program, and vehicle
JP7559684B2 (en) OTA master, system, method, program, and vehicle
CN115202682A (en) OTA manager, OTA manager center, update control method, and non-transitory storage medium
JPWO2020059033A1 (en) In-vehicle device, update decision method and update decision program
CN113961214A (en) Software updating device, updating control method, non-temporary storage medium, server, OTA host and center
JP6547904B2 (en) CONTROL DEVICE, PROGRAM UPDATE METHOD, AND COMPUTER PROGRAM
JP2018069870A (en) Control device, control method, and computer program
JP7582081B2 (en) OTA master, system, method, program, and vehicle
US12461737B2 (en) Program management device, program management method, and recording medium
JP7633215B2 (en) PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM
JP7540402B2 (en) Center, OTA master, system, method, program, and vehicle
JP7596943B2 (en) OTA master, center, system, method, program, and vehicle
JP7628523B2 (en) PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM
US12190096B2 (en) Vehicular software update management system and execution by electronic control unit
JP7646610B2 (en) Control device, control method, and storage medium
JP2022040990A (en) Software update device, method, program and vehicle
CN116610250A (en) Program management device, program management method, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241223

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250206

R150 Certificate of patent or registration of utility model

Ref document number: 7633215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150