JP7633215B2 - PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM - Google Patents
PROGRAM MANAGEMENT DEVICE, PROGRAM MANAGEMENT METHOD, AND RECORDING MEDIUM Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、プログラム管理装置、プログラム管理方法、及び、記録媒体に関する。 The present invention relates to a program management device, a program management method, and a recording medium.
近年、交通の安全性の向上やCO2の排出削減を目的として、車両を制御するソフトウェアの機能が充実している。そして、車両に搭載される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.
特許文献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.
図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
通信ライン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
以下、第1ゾーンECU20a、第2ゾーンECU20b、及び第3ゾーンECU20cを総称してゾーンECU20ともいい、ECU30a、30b、30c、30d、30e、30f、30g、30h、30iを総称してECU30ともいうものとする。
Hereinafter, the first zone ECU 20a, the
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
通信ライン4a、4b、及び4cは、本実施形態では、例えば、CAN通信規格に準拠した通信を行うCANバスで構成される。以下、通信ライン4a、4b、及び4cを総称して通信ライン4ともいうものとする。ここで、通信ライン4は、本開示における車載ネットワークに対応する。また、通信ライン4に接続されたゾーンECU20は、本開示における、複数の電子制御装置に対応する。
In this embodiment, the
通信ライン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
The
サーバ110は、通信ネットワークNによって制御システム1と接続される。
通信ネットワークNは、例えば、セルラー通信網、Wi-Fi(登録商標)ネットワーク、Bluetooth(登録商標)、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、公衆回線、プロバイダ装置、専用回線、基地局等を含み、図2には基地局Bを図示する。制御システム1が備えるTCU12は、基地局Bとの間でセルラー通信を実行することにより、通信ネットワークNを通じて外部装置とデータ通信を実行する。
The
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
車両診断装置120は、制御システム1が搭載される車両Vを取り扱う販売店や整備工場に設置される装置である。車両診断装置120は、制御システム1が有する不図示のDLC(Data Link Connector)に、ケーブルによって接続される。制御システム1は、車両診断装置120と通信を実行することにより、制御システム1が実行するプログラムの更新等を行うことができる。
The
ここで、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
セントラルECU2は、プログラムの更新に関わる機能部として、更新制御部201、及び、処理部211を備える。更新制御部201、及び処理部211は、セントラルECU2が備えるハードウェアであってもよい。また、更新制御部201、及び処理部211は、セントラルECU2のプロセッサがプログラムを実行することによってソフトウェアとハードウェアとの協働により実現される機能部であってもよい。
The central ECU2 includes an
更新制御部201は、更新データ受信部202、及び、更新データ制御部203を備える。更新データ受信部202は、TCU12を制御して、サーバ110からプログラムを更新するための更新データを受信する。更新データ制御部203は、更新データ受信部202が受信した更新データを利用して、セントラルECU2を含む各種のECUがプログラムを更新する処理を制御する。
The
図3には、更新制御部201による制御の対象として、セントラルECU2、第1ゾーンECU20a、第2ゾーンECU20b、及び、ECU30dを図示するが、これは一例である。更新制御部201の制御の対象となるECUの数に制限はない。更新制御部201は、制御システム1が備える少なくとも一部のECUが実行するプログラムの更新を制御する。更新制御部201は、制御システム1が備える全てのECU、或いは、ほとんど全てのECUによるプログラムの更新を制御してもよい。
Figure 3 illustrates the
処理部211は、データ記憶部212、プログラム実行部213、及び、更新処理部214を備える。データ記憶部212は、上述した記憶部に相当する。データ記憶部212は、セントラルECU2が実行するプログラム、及び、このプログラムに関連するデータを記憶する。プログラム実行部213は、データ記憶部212に記憶されたプログラムを実行する。プログラム実行部213は、セントラルECU2が備えるプロセッサ自体の機能を表すということもできる。プログラム実行部213は、車両制御プログラム実行部の一例に対応し、非関与プログラム実行部の一例に対応する。更新処理部214は、データ記憶部212が記憶するプログラムを更新する。
The
第1ゾーンECU20aは、データ記憶部51a、プログラム実行部52a、及び、更新処理部53aを備える。データ記憶部51aは、プログラム、及び、これらのプログラムに関連するデータを記憶する。プログラム実行部52aは、データ記憶部51aが記憶するプログラムを実行することによって、第1ゾーンECU20aの機能を実現する。更新処理部53aは、データ記憶部51aが記憶するプログラムを更新する。
The
第2ゾーンECU20bは、データ記憶部51b、プログラム実行部52b、及び、更新処理部53bを備える。データ記憶部51bは、プログラム、及び、これらのプログラムに関連するデータを記憶する。プログラム実行部52bは、データ記憶部51bが記憶するプログラムを実行することによって、第2ゾーンECU20bの機能を実現する。更新処理部53bは、データ記憶部51bが記憶するプログラムを更新する。
The
ECU30dの具体的な例としては、エントリECUが挙げられる。エントリECUは、自車両の電子キーとの無線通信を行うLF/RFアンテナ(不図示)に接続される。電子キーは、無線通信機能を有する電子デバイスであり、スマートキーやFOBキーと呼ばれる。エントリECUは、他の車載ECUと連携して、車外から制御システム1へのユーザアクセスを処理し、いわゆるスマートエントリの動作を実現する。
A specific example of
ECU30dは、データ記憶部51c、プログラム実行部52c、及び、更新処理部53cを備える。データ記憶部51cは、プログラム、及び、これらのプログラムに関連するデータを記憶する。プログラム実行部52cは、データ記憶部51cが記憶するプログラムを実行することによって、ECU30dの機能を実現する。更新処理部53cは、データ記憶部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
図4は、データ記憶部212の構成例を示す模式図である。データ記憶部51は、データ記憶部212と同様の構成とすることができる。
Figure 4 is a schematic diagram showing an example configuration of the
データ記憶部212は、複数の半導体記憶素子、或いは、半導体メモリデバイスを備える。データ記憶部212は、第1記憶部61、第2記憶部62、及び、メモリ63を備える。第1記憶部61、第2記憶部62、及びメモリ63の記憶領域は、互いに独立した記憶領域である。
The
第1記憶部61は、プログラム及びデータを不揮発的に記憶する記憶素子である。第1記憶部61は、例えば、NOR型フラッシュメモリ素子である。第2記憶部62は、プログラム及びデータを不揮発的に記憶する記憶素子である。第2記憶部62は、例えば、NAND型フラッシュメモリ素子である。メモリ63は、プログラム及びデータを記憶する揮発性の記憶素子である。メモリ63は、プログラム実行部213がプログラムを実行する際にワークエリアを形成する。ワークエリアには、プログラム実行部213が実行するプログラム、及び、プログラムによって処理、生成、または更新されるデータが展開される。メモリ63は、例えば、DRAM(Dynamic Random Access Memory)、SDRAM(Synchronous DRAM)により構成される。
The
図4には、第1記憶部61、第2記憶部62、及びメモリ63が、それぞれ、1つの半導体記憶素子で構成される例を説明する。これは一例であり、例えば、第1記憶部61、第2記憶部62、及びメモリ63のいずれか1以上が、複数の半導体記憶素子で構成されてもよい。
FIG. 4 illustrates an example in which the
以下の説明では、データ記憶部212、及びデータ記憶部51が記憶するプログラム及びデータを、プログラムと表記する。すなわち、以下の説明において言及されるプログラムとは、そのプログラムをプロセッサが実行する時に参照され、生成され、或いは処理されるデータを含む。これらのプログラム及びデータの全体は、ソフトウェアと言い換えることができる。すなわち、プログラム管理システム100は、車両Vに搭載された制御システム1のソフトウェアを管理し、更新する機能を有する。
In the following description, the programs and data stored in the
上述のように、データ記憶部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
In the present embodiment, as an example, the
第1記憶部61が有する記憶領域は、複数の領域に区分されている。具体的には、第1記憶部61は、ブートセクタ71、A面ブートイメージ記憶領域72、B面ブートイメージ記憶領域73、プログラム記憶第1領域74、プログラム記憶第2領域75、及び、非関与プログラム記憶領域76を有する。
The memory area of the
第1記憶部61の記憶領域は、A面とB面とに分類される。A面の記憶領域はA面ブートイメージ記憶領域72及びプログラム記憶第1領域74を含む。B面の記憶領域はB面ブートイメージ記憶領域73及びプログラム記憶第2領域75を含む。ブートセクタ71、及び、非関与プログラム記憶領域76はA面とB面のいずれにも属しない。
The memory area of the
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
更新処理部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
As an example, a case where the
ブートセクタ71は、ブートローダを記憶する。ブートローダは、セントラルECU2が起動する際に最初にプログラム実行部213によって実行されるプログラムである。プログラム実行部213は、ブートローダを実行することによって、セントラルECU2の基本的な動作に必要な処理を実行する。ブートセクタ71はアクティブプログラム指定データ71aを記憶する。アクティブプログラム指定データ71aは、ブートローダに含まれ、或いは、ブートローダが参照する領域に記憶される。アクティブプログラム指定データ71aは、ブートローダに続いてプログラム実行部213が実行するプログラムを指定するデータであり、具体的には、A面のプログラムであるか、B面のプログラムであるかを指定する。例えば、アクティブプログラム指定データ71aは、A面ブートイメージ記憶領域72に記憶されたブートイメージのアドレス、或いは、B面ブートイメージ記憶領域73に記憶されたブートイメージのアドレスである。
The
ブートイメージは、セントラル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
プログラム記憶第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
非関与プログラム記憶領域76は、車両Vの制御に関与しないプログラムを記憶するための記憶領域である。非関与プログラム記憶領域76が記憶するプログラムを、非関与プログラムと呼ぶ。非関与プログラムは、制御システム1が実行する処理のうち、車両Vの走行に関する制御、及び、車両Vの走行に際して必須の制御に関与しない。制御システム1がサーバ110からダウンロードするプログラムのうち、非関与プログラムを更新するためのプログラム及びデータを、非関与更新プログラムと呼ぶ。
The non-involved
ここで、車両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
非関与プログラムは、例えば、車両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
In order to execute the program stored in the
図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
プログラム実行部213は、第1記憶部61のA面に記憶されたプログラム及び第1記憶部61のB面に記憶されたプログラムのうち、アクティブプログラム指定データ71aによって指定されるプログラムを、メモリ63に展開する。アクティブプログラム指定データ71aによって指定されるプログラムを、アクティブなプログラムと呼ぶ。
The
第2記憶部62の記憶領域は、複数の領域に区分される。具体的には、第2記憶部62は、プログラム記憶領域77、更新プログラム記憶第1領域78、及び、更新プログラム記憶第2領域79を有する。
The memory area of the
更新プログラム記憶第1領域78及び更新プログラム記憶第2領域79は、制御システム1がサーバ110からダウンロードした更新用のプログラムを記憶する記憶領域である。更新プログラム記憶第1領域78は、車両制御プログラムを更新するための車両制御更新プログラムを記憶する。更新プログラム記憶第2領域79は、非関与プログラムを更新するための非関与更新プログラムを記憶する。更新処理部214は、サーバ110からダウンロードした車両制御更新プログラムを、矢印Bで示すように更新プログラム記憶第1領域78に記憶させ、非関与更新プログラムを矢印Cで示すように更新プログラム記憶第2領域79に記憶させる。
The first update
プログラム記憶領域77は、非関与プログラム記憶領域76に記憶されている非関与プログラムを記憶する。より詳細には、更新処理部214が、非関与プログラム記憶領域76に記憶される非関与プログラムを更新する場合に、更新前の非関与プログラムをプログラム記憶領域77に複製して記憶させる。これにより、更新される前の非関与プログラムがプログラム記憶領域77に保存される。プログラム実行部213は、プログラム記憶領域77に記憶された非関与更新プログラムを、第1記憶部61の非関与プログラム記憶領域76に書き戻すことができる。例えば、プログラム実行部213は、非関与プログラム記憶領域76に記憶されている非関与プログラムの更新が正常に完了しない場合に、プログラム記憶領域77に記憶された非関与プログラムを非関与プログラム記憶領域76に書き戻す。これにより、非関与プログラムの更新の成否にかかわらず、非関与プログラム記憶領域76には、正常に実行可能な非関与プログラムを保持できる。
The
図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
セントラルECU2のプログラム実行部213は、セントラルECU2が停止状態から起動すると、第1記憶部61のブートセクタ71に記憶されているブートローダ81を読み出して、メモリ63のワークエリアに展開する(ステップSA1)。プログラム実行部213は、メモリ63に展開したブートローダ81を実行する(ステップSA2)。ステップSA2で、プログラム実行部213は、ブートローダ81が有するアクティブプログラム指定データ71aを参照することにより、アクティブなプログラムがA面かB面かを判定する。
When the
プログラム実行部213は、アクティブプログラム指定データ71aにより指定されたアクティブなプログラムを第1記憶部61から読み出し、メモリ63のワークエリアに展開する(ステップSA3)。例えば、アクティブなプログラムがB面のプログラムである場合、プログラム実行部213は、B面ブートイメージ記憶領域73に記憶されたB面ブートイメージ82とプログラム記憶第2領域75に記憶された車両制御プログラム83とを、メモリ63に展開する。
The
さらに、プログラム実行部213は、非関与プログラム記憶領域76に記憶された非関与プログラム84を、メモリ63のワークエリアに展開する(ステップSA4)。
プログラム実行部213は、第1記憶部61に展開したプログラムを実行することによって、セントラルECU2の機能を実現する。
Furthermore, the
The
図5の動作例において、非関与プログラム84を第1記憶部61に展開するタイミングは、ECUの起動時に限らない。例えば、ユーザが、車両Vに搭載されたタッチパネルを操作して非関与プログラムの実行を指示した場合に、プログラム実行部213が非関与プログラム記憶領域76から非関与プログラム84を読み出して第1記憶部61に展開してもよい。
In the operation example of FIG. 5, the timing for loading the
図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
Steps SA11 to SA20 show the operation of the control system 1, and steps SB11 to SB14 show the operation of the
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
制御システム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
サーバ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
サーバ110は、データベースを探索した結果に基づいて、プログラム更新情報を生成し(ステップSB11)、プログラム更新情報を制御システム1に送信する(ステップSB12)。このプログラム更新情報は、制御システム1によって受信される。
Based on the results of searching the database, the
制御システム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
制御システム1、及び、サーバ110は、ステップSA11~SA13及びステップSB11~SB13の動作を、予め設定された周期で繰り返し実行する。これにより、制御システム1は、車両Vに対応するプログラムに関する最新の受信可能リストを保持する状態を、維持できる。
The control system 1 and the
制御システム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
サーバ110は、制御システム1によって要求されたプログラムを制御システム1に送信する(ステップSB14)。サーバ110が送信するプログラムは、車両制御プログラムの更新または新規のインストールをするための車両制御更新プログラム、及び、非関与プログラムの更新または新規のインストールをするための非制御更新プログラムの少なくともいずれかを含む。制御システム1は、サーバ110が送信するプログラムをダウンロードする(ステップSA19)。続いて、制御システム1は、インストール処理を実行する(ステップSA20)。インストール処理は、ステップSA19でダウンロードしたプログラムをデータ記憶部51またはデータ記憶部212に記憶させることを含む。また、インストール処理は、車両制御更新プログラム及び/または非制御更新プログラムを実行することによって、車両制御プログラム及び/または非関与プログラムをECUによって実行可能な状態にする処理を含む。インストールの後、データ記憶部51またはデータ記憶部212には、ECUによって実行可能な状態でプログラムが記憶される。
The
図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
更新データ制御部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
更新処理部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
更新処理部214は、ステップSA34で選択した領域に、更新プログラム記憶第1領域78に記憶した車両制御更新プログラムを書き込む(ステップSA35)。続いて、更新処理部214は、ステップSA35で書き込んだ車両制御更新プログラムをプログラム実行部213によって実行させることにより、車両制御更新プログラムをインストールする(ステップSA36)。
The
更新処理部214は、インストールが正常に完了したことを確認する処理を行う(ステップSA37)。ステップSA37で、更新処理部214は、インストールされたプログラムが、プログラム実行部213によって正常に実行可能な状態であることを確認する。例えば、更新処理部214は、ハッシュ値の算出と比較、或いは、チェックサムの算出と比較を行うことにより、第1記憶部61に書き込まれたプログラム及びデータの正常性を確認する。
The
更新処理部214は、インストールしたプログラムのアクティベーションを実行する(ステップSA38)。アクティベーションは、制御システム1がインストールしたプログラムを実行するように設定する処理である。例えば、更新処理部214は、アクティブプログラム指定データ71aを、ステップSA34で選択した領域のアドレスに書き換える処理を行う。
The
一方、インストールするプログラムが非関与更新プログラムである場合(ステップ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
続いて、更新データ制御部203によって特定されたECUが有する更新処理部214によって、TCU12がダウンロードした非関与更新プログラムが、第2記憶部62の更新プログラム記憶第2領域79に記憶される(ステップSA40)。
Next, the
更新処理部214は、非関与プログラム記憶領域76に記憶されている非関与プログラムを、第2記憶部62のプログラム記憶領域77にコピーする(ステップSA41)。その後、更新処理部214は、更新プログラム記憶第2領域79に記憶した非関与更新プログラムを、非関与プログラム記憶領域76に書き込む(ステップSA42)。
更新処理部214は、ステップSA42で書き込んだ非関与更新プログラムをプログラム実行部213によって実行させることにより、非関与プログラムを非関与プログラム記憶領域76にインストールする(ステップSA43)。
The
The
更新処理部214は、インストールが正常に完了したことを確認する処理を行う(ステップSA44)。ステップSA44で、更新処理部214は、ステップSA37と同様の処理を行う。更新処理部214は、インストールしたプログラムのアクティベーションを実行する(ステップSA45)。
The
更新処理部214は、第2記憶部62のプログラム記憶領域77に記憶させた非関与プログラムを削除する(ステップSA46)。
The
上記実施形態は本発明を適用した一具体例を示すものであり、発明が適用される形態を限定するものではない。
例えば、上記実施形態では、ユーザがタッチパネル等を操作することによって、車両制御更新プログラムまたは非関与更新プログラムがサーバ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
上記実施形態では、制御システム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
また、上記実施形態で示した制御システム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
上記実施形態は、以下の構成をサポートする。 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
(構成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
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
(構成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記憶部と、
前記第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.
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)
| 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 |
-
2022
- 2022-08-31 JP JP2022137519A patent/JP7633215B2/en active Active
Patent Citations (6)
| 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 |