JP2019020897A - Electronic control device and update software distribution system - Google Patents

Electronic control device and update software distribution system Download PDF

Info

Publication number
JP2019020897A
JP2019020897A JP2017137047A JP2017137047A JP2019020897A JP 2019020897 A JP2019020897 A JP 2019020897A JP 2017137047 A JP2017137047 A JP 2017137047A JP 2017137047 A JP2017137047 A JP 2017137047A JP 2019020897 A JP2019020897 A JP 2019020897A
Authority
JP
Japan
Prior art keywords
area
logical area
logical
data
control
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.)
Granted
Application number
JP2017137047A
Other languages
Japanese (ja)
Other versions
JP6984203B2 (en
Inventor
敏和 日置
Toshikazu Hioki
敏和 日置
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2017137047A priority Critical patent/JP6984203B2/en
Priority to DE102018210956.7A priority patent/DE102018210956A1/en
Publication of JP2019020897A publication Critical patent/JP2019020897A/en
Application granted granted Critical
Publication of JP6984203B2 publication Critical patent/JP6984203B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

To avoid cost increase due to increase in memory capacity of a nonvolatile memory while reprogramming during an application program is running.SOLUTION: An electronic control device 1 comprise a flash ROM 9 which includes a first physical area 16a, a second physical area 16b, and a third physical area 16c. A CPU 2 is configured to allocate a first logical area, a second logical area, and a third logical area corresponding to the three physical area. The first logical area is allocated as a storage logical area for a control program. The second logical area is allocated as a storage logical area for compliant data. The third logical area is allocated as a work logical area. The CPU 2 is configured to switch between the first logical area and the third logical area when the control program is written, and to switch the second logical area and the third logical area when the compliant data is written.SELECTED DRAWING: Figure 1

Description

本発明は、電子制御装置及び更新ソフトウェア配信システムに関する。   The present invention relates to an electronic control device and an update software distribution system.

例えば自動車のエンジンやトランスミッション等を制御する電子制御装置は、記憶内容を書き換え可能な不揮発性メモリを有し、その不揮発性メモリに記憶されているアプリプログラムを書き換え可能(即ちリプロ可能)に構成されている。リプロを行う構成として、例えば特許文献1には、プログラム実行用の読み込み領域とリプロ用の書き込み領域とを用意し、リプロを正常に終了した後に、読み込み領域と書き込み領域とを切り替える構成が開示されている。又、例えば特許文献2には、アプリプログラム毎にプログラム実行用の主領域とリプロ用の副領域とを用意し、リプロを正常に終了した後に、主領域と副領域とを切り替える構成が開示されている。特許文献1及び2の構成では、アプリプログラムの実行中にリプロを行うことが可能である。   For example, an electronic control device that controls an automobile engine, transmission, or the like has a nonvolatile memory in which stored contents can be rewritten, and is configured such that an application program stored in the nonvolatile memory can be rewritten (that is, reproducible). ing. As a configuration for performing repro, for example, Patent Document 1 discloses a configuration in which a read area for executing a program and a write area for repro are prepared, and after the repro is completed normally, the read area and the write area are switched. ing. Further, for example, Patent Document 2 discloses a configuration in which a main area for program execution and a sub-area for repro are prepared for each application program, and the main area and the sub-area are switched after repro is normally completed. ing. In the configurations of Patent Documents 1 and 2, it is possible to perform repro during execution of the application program.

特開2013−254264号公報JP 2013-254264 A 特開2006−301960号公報JP 2006-301960 A

しかしながら、特許文献1及び2の構成では、不揮発性メモリのメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要があり、メモリ容量の増大によるコスト高を招く問題がある。   However, in the configurations of Patent Documents 1 and 2, it is necessary to prepare a capacity equivalent to twice the capacity required for the application program as the memory capacity of the nonvolatile memory, and there is a problem in that the cost increases due to the increase in the memory capacity.

本発明は、上記した事情に鑑みてなされたものであり、その目的は、アプリプログラムの実行中にリプロを行うことができつつ、不揮発性メモリのメモリ容量の増大によるコスト高を回避することができる電子制御装置及び更新ソフトウェア配信システムを提供することにある。   The present invention has been made in view of the above-described circumstances, and an object of the present invention is to avoid the high cost due to the increase in the memory capacity of the nonvolatile memory while being able to perform repro during the execution of the application program. It is an object of the present invention to provide an electronic control device and an update software distribution system.

請求項1に記載した発明によれば、不揮発性メモリ(9)は、制御対象(14)を制御するためのアプリプログラムを記憶し、記憶内容を書き換え可能である。演算部(2)は、アプリプログラムを実行し、制御対象を制御する。不揮発性メモリは、第1物理領域(16a)と第2物理領域(16b)と第3物理領域(16c)との3個の物理領域を有する。   According to the first aspect of the present invention, the nonvolatile memory (9) stores an application program for controlling the control target (14), and the stored contents can be rewritten. The calculation unit (2) executes the application program and controls the control target. The nonvolatile memory has three physical areas, a first physical area (16a), a second physical area (16b), and a third physical area (16c).

割り付け処理部(2a)は、3個の物理領域に対応して第1論理領域と第2論理領域と第3論理領域とを割り付けることが可能であり、第1論理領域をアプリプログラムのうちの制御プログラムの記憶用論理領域として割り付け、第2論理領域をアプリプログラムのうちの適合データの記憶用論理領域として割り付け、第3論理領域を作業用論理領域として割り付ける。制御処理部(2b)は、第1論理領域に記憶されている制御プログラムと第2論理領域に記憶されている適合データとを用いて制御対象を制御する。書き込み処理部(2c)は、書き換え対象のアプリプログラムを構成する更新ソフトェアを第3論理領域に書き込む。切り替え処理部(2d)は、制御プログラムが書き込まれた場合には、第1論理領域と第3論理領域とを切り替え、適合データが書き込まれた場合には、第2論理領域と第3論理領域とを切り替える。   The allocation processing unit (2a) can allocate the first logical area, the second logical area, and the third logical area in correspondence with the three physical areas. The logical area for storage of the control program is allocated, the second logical area is allocated as the logical area for storing the matching data in the application program, and the third logical area is allocated as the logical area for work. The control processing unit (2b) controls the control target using the control program stored in the first logical area and the matching data stored in the second logical area. The write processing unit (2c) writes the update software constituting the application program to be rewritten into the third logical area. The switching processing unit (2d) switches between the first logical area and the third logical area when the control program is written, and the second logical area and the third logical area when the conforming data is written. And switch.

制御プログラムの記憶用論理領域として割り付けた第1論理領域と、適合データの記憶用論理領域として割り付けた第2論理領域とを用いて制御対象を制御し、第1論理領域及び第2論理領域とは別の第3論理領域を作業用論理領域として割り付けるようにした。第1論理領域及び第2論理領域を用いてアプリプログラムを実行すると共に、第3論理領域を用いてリプロを行うことで、アプリプログラムの実行中にリプロを行うことができる。又、第3論理領域を制御プログラムと適合データとを選択的に書き込む共通の記憶領域とした。不揮発性メモリのメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要がなくなる。   The control target is controlled using the first logical area allocated as the storage logical area for the control program and the second logical area allocated as the storage logical area for the compatible data, and the first logical area and the second logical area Has assigned another third logical area as a working logical area. By executing the application program using the first logical area and the second logical area and performing the repro using the third logical area, the repro can be performed during the execution of the application program. The third logical area is a common storage area in which the control program and the conforming data are selectively written. It is not necessary to prepare a capacity equivalent to twice the capacity required for the application program as the memory capacity of the nonvolatile memory.

即ち、従来では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムの記憶領域と、新適合データの記憶領域とを用意する必要があるが、本発明では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムと新適合データとに共通する記憶領域とを用意すれば良く、メモリ容量を従来に対して4分の3程度に低減することができる。これにより、アプリプログラムの実行中にリプロを行うことができつつ、不揮発性メモリのメモリ容量の増大によるコスト高を回避することができる。   That is, conventionally, it is necessary to prepare a storage area for the old control program, a storage area for the old compatible data, a storage area for the new control program, and a storage area for the new compatible data. It is sufficient to prepare a storage area for the program, a storage area for the old compatible data, and a storage area common to the new control program and the new compatible data. Can do. As a result, the repro can be performed during the execution of the application program, and the high cost due to the increase in the memory capacity of the nonvolatile memory can be avoided.

一実施形態を示す機能ブロック図Functional block diagram showing an embodiment 論理領域判定テーブルを示す図The figure which shows a logical area judgment table 起動処理を示すフローチャートFlow chart showing the startup process 書き換え処理を示すフローチャートFlow chart showing rewrite processing 制御プログラムを書き換える態様を示す図The figure which shows the aspect which rewrites the control program 制御プログラムを消去する態様を示す図The figure which shows the aspect which erases the control program 適合データを書き換える態様を示す図The figure which shows the aspect which rewrites the conformity data 適合データを消去する態様を示す図The figure which shows the aspect which erases the conformity data データを書き換える態様を示す図Diagram showing how data is rewritten

以下、本発明を、自動車のエンジンを制御する電子制御装置に適用した一実施形態について図面を参照して説明する。電子制御装置1は、CPU2(演算部に相当する)と、フラッシュROMコントローラ3と、RAM4と、EEPROM5と、通信インタフェース回路6と、入出力回路7とを有し、これらが内部バス8により相互接続されて構成されている。   Hereinafter, an embodiment in which the present invention is applied to an electronic control apparatus for controlling an automobile engine will be described with reference to the drawings. The electronic control unit 1 includes a CPU 2 (corresponding to a calculation unit), a flash ROM controller 3, a RAM 4, an EEPROM 5, a communication interface circuit 6, and an input / output circuit 7, which are mutually connected by an internal bus 8. Connected and configured.

フラッシュROMコントローラ3は、フラッシュROM9(不揮発性メモリに相当する)を接続しており、CPU2から入力する命令にしたがってフラッシュROM9に対するデータの読み書きを行う。RAM4は、CPU2の演算結果等を一時的に格納するための揮発性メモリである。EEPROM5は、記憶内容を書き換え可能な不揮発性メモリである。   The flash ROM controller 3 is connected to a flash ROM 9 (corresponding to a non-volatile memory), and reads / writes data from / to the flash ROM 9 in accordance with a command input from the CPU 2. The RAM 4 is a volatile memory for temporarily storing calculation results of the CPU 2 and the like. The EEPROM 5 is a nonvolatile memory that can rewrite stored contents.

通信インタフェース回路6は、車両に搭載されている各種機器との間で車内LAN10を介してデータ通信を行う。車内LAN10は、車両外部のネットワーク側に設置されているサーバ11との間で無線通信を行う無線通信機12を接続している。無線通信機12は、無線通信専用の機器であっても良いし、無線通信機能を有する別の電子制御装置であっても良い。サーバ11は、電子制御装置1が後述するエンジン14(制御対象に相当する)を制御するためのアプリプログラムを配信する。通信インタフェース回路6は、CPU2から問合命令を入力すると、問合信号の送信命令を無線通信機12に出力する。無線通信機12は、通信インタフェース回路6から問合信号の送信命令を入力すると、問合信号をサーバ11に送信する。   The communication interface circuit 6 performs data communication with various devices mounted on the vehicle via the in-vehicle LAN 10. The in-vehicle LAN 10 is connected to a wireless communication device 12 that performs wireless communication with a server 11 installed on the network side outside the vehicle. The wireless communication device 12 may be a device dedicated to wireless communication, or may be another electronic control device having a wireless communication function. The server 11 distributes an application program for the electronic control device 1 to control an engine 14 (corresponding to a control target) to be described later. When receiving an inquiry command from the CPU 2, the communication interface circuit 6 outputs an inquiry signal transmission command to the wireless communication device 12. When the wireless communication device 12 receives an inquiry signal transmission command from the communication interface circuit 6, the wireless communication device 12 transmits the inquiry signal to the server 11.

サーバ11は、無線通信機12から送信された問合信号を受信すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、無線通信機12から受信した問合信号から当該問合信号の送信元の電子制御装置1が保持している最新のアプリプログラムのバージョンと、自身が保持している最新のアプリプログラムのバージョンとを比較し、問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、両者のバージョンが一致すると判定すると、アプリプログラムの更新が必要でないと判定し、その問合信号の送信元の電子制御装置1に対して更新が必要でない旨を示す応答信号を送信する。   When the server 11 receives the inquiry signal transmitted from the wireless communication device 12, the server 11 determines whether or not the application program needs to be updated with respect to the electronic control device 1 that has transmitted the inquiry signal. The server 11 determines the latest application program version held by the electronic control device 1 that is the transmission source of the inquiry signal from the inquiry signal received from the wireless communication device 12, and the latest application program held by itself. Are compared with each other, and it is determined whether or not the application program needs to be updated for the electronic control device 1 that is the source of the inquiry signal. If the server 11 determines that both versions match, the server 11 determines that the application program does not need to be updated, and transmits a response signal indicating that the update is not necessary to the electronic control device 1 that transmitted the inquiry signal. To do.

一方、サーバ11は、例えばバグ改修や高機能化によるバージョンアップ等により両者のバージョンが一致しないと判定すると、アプリプログラムの更新が必要であると判定し、その問合信号の送信元の電子制御装置1に対して更新が必要である旨を示す応答信号を送信すると共に最新のアプリプログラムを構成する更新ソフトウェアを配信する。   On the other hand, if the server 11 determines that the two versions do not match due to, for example, bug repair or upgrade due to high functionality, the server 11 determines that the application program needs to be updated, and electronic control of the transmission source of the inquiry signal A response signal indicating that the update is necessary is transmitted to the apparatus 1 and update software constituting the latest application program is distributed.

サーバ11が配信する更新ソフトウェアは、制御プログラムと適合データとから構成され、制御プログラムであるか適合データであるかの種別を示す種別情報と、バージョンを示すバージョン情報とを有する。又、サーバ11は、更新ソフトウェアを配信する際には、更新ソフトウェアのうちの制御プログラムと適合データとを分離して別々に配信する。無線通信機12は、サーバ11から配信された更新ソフトウェアを受信すると、その受信した更新ソフトウェアを通信インタフェース回路6に出力する。電子制御装置1と無線通信機12とサーバ11とを含んで更新ソフトウェア配信システム13が構成される。   The update software distributed by the server 11 is composed of a control program and compatible data, and has type information indicating the type of whether it is a control program or compatible data, and version information indicating a version. Further, when distributing the update software, the server 11 separates the control program and the compatible data from the update software and distributes them separately. When receiving the update software distributed from the server 11, the wireless communication device 12 outputs the received update software to the communication interface circuit 6. An update software distribution system 13 is configured including the electronic control device 1, the wireless communication device 12, and the server 11.

入出力回路7は、前述したエンジン14を接続しており、エンジン14の運転状態を検出する各種センサからセンサ信号を入力すると、その入力したセンサ信号に対して波形処理等の信号処理を行い、信号処理の結果を示すデータをCPU2に出力する。CPU2は、入出力回路7からデータを入力すると、そのデータを用いてエンジン14の運転状態を特定し、例えば燃料を噴射するインジェクタの開弁タイミングや開弁時間等のエンジン14の制御に必要なデータを演算し、その演算結果にしたがって駆動命令を入出力回路7に出力する。入出力回路7は、CPU2から駆動命令を入力すると、その駆動命令にしたがって駆動信号をエンジン14に出力し、インジェクタからの燃料噴射等を制御する。   The input / output circuit 7 is connected to the engine 14 described above. When sensor signals are input from various sensors that detect the operating state of the engine 14, the input / output circuit 7 performs signal processing such as waveform processing on the input sensor signals, Data indicating the result of signal processing is output to the CPU 2. When the data is input from the input / output circuit 7, the CPU 2 specifies the operation state of the engine 14 using the data, and is necessary for controlling the engine 14 such as the valve opening timing and the valve opening time of the injector that injects fuel, for example. Data is calculated, and a drive command is output to the input / output circuit 7 according to the calculation result. When a drive command is input from the CPU 2, the input / output circuit 7 outputs a drive signal to the engine 14 in accordance with the drive command, and controls fuel injection from the injector.

フラッシュROM9は、記憶内容を書き換え可能な不揮発性メモリであり、ブート領域15と、ユーザ領域16とを有する。ブート領域15は、電子制御装置1の電源投入時に当該電子制御装置1を起動させるためのブートプログラムを記憶している。ユーザ領域16は、エンジン14を制御するためのアプリプログラムを記憶しており、アプリプログラムの記憶領域として第1物理領域16aと第2物理領域16bと第3物理領域16cとの3個の物理領域16a〜16cを有する。CPU2は、ブート領域15に記憶されるブートプログラムを実行し、ブートプログラムからユーザ領域16に記憶されているアプリプログラムを実行し、エンジン14を制御する。   The flash ROM 9 is a nonvolatile memory capable of rewriting stored contents, and includes a boot area 15 and a user area 16. The boot area 15 stores a boot program for starting up the electronic control device 1 when the electronic control device 1 is powered on. The user area 16 stores an application program for controlling the engine 14, and three physical areas of a first physical area 16a, a second physical area 16b, and a third physical area 16c are stored as application application storage areas. 16a-16c. The CPU 2 executes a boot program stored in the boot area 15, executes an application program stored in the user area 16 from the boot program, and controls the engine 14.

CPU2は、電子制御装置1の外部から入力するイグニッション信号によりイグニッションオンを検出する。CPU2は、機能に応じて、割り付け処理部2aと、制御処理部2bと、書き込み処理部2cと、切り替え処理部2dとを有する。即ち、CPU2がフラッシュROM9に記憶されているプログラムを実行することで、処理部2a〜2dのそれぞれとして機能する。   The CPU 2 detects the ignition on by an ignition signal input from the outside of the electronic control device 1. The CPU 2 includes an allocation processing unit 2a, a control processing unit 2b, a writing processing unit 2c, and a switching processing unit 2d according to functions. That is, the CPU 2 functions as each of the processing units 2a to 2d by executing a program stored in the flash ROM 9.

割り付け処理部2aは、フラッシュROM9の3個の物理領域16a〜16cに対応して第1論理領域と第2論理領域と第3論理領域とを割り付ける。割り付け処理部2aは、第1論理領域をアプリプログラムのうちの制御プログラムの記憶用論理領域として割り付け、第2論理領域をアプリプログラムのうちの適合データの記憶用論理領域として割り付け、第3論理領域を作業用論理領域として割り付ける。制御処理部2bは、第1論理領域に記憶されている制御プログラムと第2論理領域に記憶されている適合データとを用いてエンジン14を制御する。   The allocation processing unit 2a allocates a first logical area, a second logical area, and a third logical area corresponding to the three physical areas 16a to 16c of the flash ROM 9. The allocation processing unit 2a allocates the first logical area as a logical area for storing a control program in the application program, allocates the second logical area as a logical area for storing compatible data in the application program, and assigns a third logical area Is assigned as a work logical area. The control processing unit 2b controls the engine 14 using the control program stored in the first logical area and the matching data stored in the second logical area.

書き込み処理部2cは、サーバ11から配信された更新ソフトウェアが無線通信機12に受信され、その受信された更新ソフトウェアが通信インタフェース回路6に入力されると、その入力された更新ソフトェアを第3論理領域に書き込む。書き込み処理部2cは、サーバ11から配信された更新ソフトウェアが制御プログラムであれば、その制御プログラムを第3論理領域に書き込み、サーバ11から配信された更新ソフトウェアが適合データであれば、その適合データを第3論理領域に書き込む。   When the update software distributed from the server 11 is received by the wireless communication device 12 and the received update software is input to the communication interface circuit 6, the write processing unit 2c converts the input update software into the third logic. Write to the area. If the update software distributed from the server 11 is a control program, the write processing unit 2c writes the control program to the third logical area. If the update software distributed from the server 11 is compatible data, the write data Are written into the third logical area.

切り替え処理部2dは、書き込み処理部2cにより制御プログラムが第3論理領域に書き込まれた場合には、第1論理領域と第3論理領域とを切り替え、書き込み処理部2cにより適合データが第3論理領域に書き込まれた場合には、第2論理領域と第3論理領域とを切り替える。   When the control program is written to the third logical area by the write processing unit 2c, the switching processing unit 2d switches between the first logical area and the third logical area, and the write processing unit 2c sends the matching data to the third logical area. When written in the area, the second logical area and the third logical area are switched.

CPU2は、図2に示す論理領域判定テーブルを記憶している。論理領域判定テーブルは、3個の物理領域16a〜16cの種別(K1〜K3)、バージョン(V1〜V3)、割り付けられている論理領域の番号(A1〜A3)の対応を示す。例えば状態1は、第1物理領域16aに旧制御プログラムが記憶され、第2物理領域16bに旧適合データが記憶され、第3物理領域16cが消去状態であり、第1物理領域16aに第1論理領域が割り付けられ、第2物理領域16bに第2論理領域が割り付けられ、第3物理領域16cに第3論理領域が割り付けられている状態を示す。   The CPU 2 stores a logical area determination table shown in FIG. The logical area determination table indicates the correspondence between the types (K1 to K3), versions (V1 to V3), and assigned logical area numbers (A1 to A3) of the three physical areas 16a to 16c. For example, in the state 1, the old control program is stored in the first physical area 16a, the old compatible data is stored in the second physical area 16b, the third physical area 16c is in the erased state, and the first physical area 16a has the first This shows a state in which a logical area is allocated, a second logical area is allocated to the second physical area 16b, and a third logical area is allocated to the third physical area 16c.

次に、上記した構成の作用について図3から図9を参照して説明する。
電子制御装置1において、CPU2は、電子制御装置1の外部から入力するイグニッション信号によりイグニッションオンを検出すると、起動処理を開始する。CPU2は、起動処理を開始すると、論理領域判定テーブルを参照し、その時点での論理領域を判定し(S1)、第1論理領域と第2論理領域との両方が物理領域に割り付けられているか否かを判定する(S2)。又、CPU2は、起動処理を開始すると、書き換え処理を開始し、これ以降では起動処理と書き換え処理とを並行して行う。
Next, the operation of the above configuration will be described with reference to FIGS.
In the electronic control device 1, when the CPU 2 detects ignition on by an ignition signal input from the outside of the electronic control device 1, it starts the activation process. When starting the activation process, the CPU 2 refers to the logical area determination table, determines the logical area at that time (S1), and whether both the first logical area and the second logical area are allocated to the physical area. It is determined whether or not (S2). The CPU 2 starts the rewriting process when starting the starting process, and thereafter performs the starting process and the rewriting process in parallel.

CPU2は、第1論理領域と第2論理領域との両方が物理領域に割り付けられていると判定すると(S2:YES)、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する(S3)。CPU2は、エンジン14の制御を開始すると、エンジン14の制御を終了するのを待機し、エンジン14の制御を正常に終了したか否かを判定する(S4)。CPU2は、エンジン14の制御を正常に終了したと判定すると(S4:YES)、起動処理を終了する。   When the CPU 2 determines that both the first logical area and the second logical area are allocated to the physical area (S2: YES), the CPU 2 activates the control program stored in the first logical area and activates the control program. The control data is stored in the second logical area by the control program, and control of the engine 14 is started (S3). When the control of the engine 14 is started, the CPU 2 waits for the control of the engine 14 to end, and determines whether or not the control of the engine 14 has ended normally (S4). When the CPU 2 determines that the control of the engine 14 has been normally completed (S4: YES), the activation process is terminated.

一方、CPU2は、エンジン14の制御を正常に終了しなかったと判定すると(S4:NO)、第3論理領域に書き込まれている内容が制御プログラム及び適合データの何れであるかを判定する(S5,S6)。CPU2は、第3論理領域に書き込まれている内容が制御プログラムであると判定すると(S5:YES)、その時点で第1論理領域に記憶されている制御プログラムを消去し(S7)、第1論理領域と第3論理領域とを切り替え(S8)、ステップS2に戻り、ステップS2以降を繰り返す。又、CPU2は、第3論理領域に書き込まれている内容が適合データであると判定すると(S6:YES)、その時点で第2論理領域に記憶されている適合データを消去し(S7)、第2理領域と第3論理領域とを切り替え(S8)、ステップS2に戻り、ステップS2以降を繰り返す。尚、CPU2は、第1論理領域と第2論理領域との両方が物理領域に割り付けられていないと判定すると(S2:NO)、エンジン14の制御を開始せずに起動処理を終了する。   On the other hand, if the CPU 2 determines that the control of the engine 14 has not ended normally (S4: NO), the CPU 2 determines whether the content written in the third logical area is a control program or compatible data (S5). , S6). If the CPU 2 determines that the content written in the third logical area is a control program (S5: YES), the CPU 2 erases the control program stored in the first logical area at that time (S7), Switching between the logical area and the third logical area (S8), the process returns to step S2, and the steps after step S2 are repeated. If the CPU 2 determines that the content written in the third logical area is conforming data (S6: YES), the conforming data stored in the second logical area at that time is erased (S7). The second logical area and the third logical area are switched (S8), the process returns to step S2, and the steps after step S2 are repeated. If the CPU 2 determines that both the first logical area and the second logical area are not allocated to the physical area (S2: NO), the CPU 2 ends the startup process without starting the control of the engine 14.

CPU2は、書き換え処理を開始し、アプリプログラムの更新が必要であれば、以下のようにしてアプリプログラムを更新する。尚、例えば自動車のエンジンを制御する電子制御装置1では単一のアプリプログラムを実行するので、書き換え処理ではフラッシュROM9のユーザ領域16の全領域を対象としてアプリプログラムを更新する。   The CPU 2 starts the rewriting process, and updates the application program as follows if the application program needs to be updated. For example, since the electronic control device 1 that controls the engine of the automobile executes a single application program, the application program is updated for the entire area of the user area 16 of the flash ROM 9 in the rewriting process.

即ち、CPU2は、書き換え処理を開始すると、問合命令を通信インタフェース回路6に出力し、問合信号を無線通信機12からサーバ11に送信させ(S11)、サーバ11からの応答信号の受信を待機する(S12)。サーバ11は、無線通信機12から送信された問合信号を受信すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、アプリプログラムの更新が必要でないと判定すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要でない旨を示す応答信号を送信する。一方、サーバ11は、例えばバグ改修や高機能化によるバージョンアップ等によりアプリプログラムの更新が必要であると判定すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要である旨を示す応答信号を送信すると共にアプリプログラムを構成する更新ソフトウェアを配信する。   That is, when the rewriting process is started, the CPU 2 outputs an inquiry command to the communication interface circuit 6, causes the wireless communication device 12 to transmit an inquiry signal to the server 11 (S11), and receives a response signal from the server 11. Wait (S12). When the server 11 receives the inquiry signal transmitted from the wireless communication device 12, the server 11 determines whether or not the application program needs to be updated with respect to the electronic control device 1 that has transmitted the inquiry signal. When the server 11 determines that updating of the application program is not necessary, the server 11 transmits a response signal indicating that updating of the application program is not necessary to the electronic control device 1 that is the transmission source of the inquiry signal. On the other hand, if the server 11 determines that the application program needs to be updated, for example, due to bug repair or upgrade due to high functionality, the application program is updated to the electronic control device 1 that sent the inquiry signal. A response signal indicating that it is necessary is transmitted, and updated software constituting the application program is distributed.

CPU2は、サーバ11から送信された応答信号が無線通信機12に受信されたと判定すると(S12:YES)、その受信された応答信号によりアプリプログラムの更新が必要であるか否かを判定する(S13)。CPU2は、アプリプログラムの更新が必要でないと判定すると(S13:NO)、書き換え処理を終了する。   When the CPU 2 determines that the response signal transmitted from the server 11 has been received by the wireless communication device 12 (S12: YES), the CPU 2 determines whether or not the application program needs to be updated based on the received response signal ( S13). When the CPU 2 determines that the update of the application program is not necessary (S13: NO), the rewriting process is terminated.

一方、CPU2は、アプリプログラムの更新が必要であると判定すると(S13:YES)、第3論理領域を書き込み領域に設定し(S14)、サーバ11から配信された更新ソフトウェアの第3論理領域への書き込みを開始し(S15)、更新ソフウェアの全ての書き込みの終了を待機する(S16)。CPU2は、更新ソフウェアの全ての書き込みを終了したと判定すると(S16:YES)、その書き込んだ種別にしたがって論理領域を切り替え(S17)、書き換え処理を終了する。   On the other hand, if the CPU 2 determines that the application program needs to be updated (S13: YES), the CPU 2 sets the third logical area as the writing area (S14), and moves to the third logical area of the updated software distributed from the server 11. Is started (S15), and the completion of all writing of the update software is waited (S16). When the CPU 2 determines that all writing of the update software has been completed (S16: YES), the CPU 2 switches the logical area according to the written type (S17), and ends the rewriting process.

即ち、CPU2は、サーバ11から配信された更新ソフトウェアが制御プログラムであれば、図5に示すように、制御プログラムの第3論理領域への書き込みを開始し、制御プログラムの第3論理領域への書き込みを終了すると、第1論理領域と第3論理領域とを切り替える。その後、CPU2は、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する。即ち、CPU2は、バージョン2の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。   That is, if the update software distributed from the server 11 is a control program, the CPU 2 starts writing the control program to the third logical area as shown in FIG. 5, and writes the control program to the third logical area. When the writing is finished, the first logical area and the third logical area are switched. Thereafter, the CPU 2 starts the control program stored in the first logical area, refers to the matching data stored in the second logical area by the started control program, and starts control of the engine 14. That is, the CPU 2 starts control of the engine 14 using a combination of the version 2 control program and the version 1 compatible data.

ここで、CPU2は、第1論理領域に記憶されている制御プログラム、即ち、論理領域を切り替える前の第3論理領域に書き込んだ制御プログラムが正常であれば、エンジン14の制御を正常に終了する。一方、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ制御プログラムが正常でなければ、エンジン14の制御を正常に終了せず、図6に示すように、その時点で第1論理領域に記憶されている制御プログラムを消去し、第1論理領域と第3論理領域とを切り替え、エンジン14の制御を再度開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。このように、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ制御プログラムを起動してエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、制御プログラムを書き込む前の状態に戻し、エンジン14の制御を再度開始する。   Here, if the control program stored in the first logical area, that is, the control program written in the third logical area before switching the logical area is normal, the CPU 2 ends the control of the engine 14 normally. . On the other hand, if the control program written in the third logical area before switching the logical area is not normal, the CPU 2 does not end the control of the engine 14 normally, and as shown in FIG. The control program stored in the area is deleted, the first logical area and the third logical area are switched, and the control of the engine 14 is started again. That is, the CPU 2 starts control of the engine 14 using a combination of the version 1 control program and the version 1 compatible data. As described above, the CPU 2 starts the control program written in the third logical area before switching the logical area and starts the control of the engine 14, but if the control of the engine 14 is not finished normally, the control is executed. The state before writing the program is restored, and the control of the engine 14 is started again.

又、CPU2は、サーバ11から配信された更新ソフトウェアが適合データであれば、図7に示すように、適合データの第3論理領域への書き込みを開始し、適合データの第3論理領域への書き込みを終了すると、第2論理領域と第3論理領域とを切り替える。その後、CPU2は、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン2の適合データとの組み合わせを用いてエンジン14の制御を開始する。   If the update software distributed from the server 11 is compatible data, the CPU 2 starts writing the compatible data to the third logical area as shown in FIG. 7, and writes the compatible data to the third logical area. When the writing is completed, the second logical area and the third logical area are switched. Thereafter, the CPU 2 starts the control program stored in the first logical area, refers to the matching data stored in the second logical area by the started control program, and starts control of the engine 14. That is, the CPU 2 starts control of the engine 14 using a combination of the version 1 control program and the version 2 compatible data.

ここで、CPU2は、第2論理領域に記憶されている適合データ、即ち、論理領域を切り替える前の第3論理領域に書き込んだ適合データが正常であれば、エンジン14の制御を正常に終了する。一方、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ適合データが正常でなければ、エンジン14の制御を正常に終了せず、図8に示すように、その時点で第2論理領域に記憶されている適合データを消去し、第2論理領域と第3論理領域とを切り替え、エンジン14の制御を再度開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。このように、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ適合データを参照してエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、適合データを書き込む前の状態に戻し、エンジン14の制御を再度開始する。   Here, if the matching data stored in the second logical area, that is, the matching data written in the third logical area before switching the logical area is normal, the CPU 2 ends the control of the engine 14 normally. . On the other hand, if the matching data written in the third logical area before switching the logical area is not normal, the CPU 2 does not end the control of the engine 14 normally, and as shown in FIG. The compatible data stored in the area is deleted, the second logical area and the third logical area are switched, and the control of the engine 14 is started again. That is, the CPU 2 starts control of the engine 14 using a combination of the version 1 control program and the version 1 compatible data. As described above, the CPU 2 starts the control of the engine 14 with reference to the matching data written in the third logical area before switching the logical area, but if the control of the engine 14 is not finished normally, the matching is performed. The state before writing data is restored, and the control of the engine 14 is started again.

尚、CPU2は、このようにエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、その際の制御プログラムと適合データとの組み合わせを特定可能な情報をエラー情報として無線通信機12からサーバ11に送信させる。サーバ11は、無線通信機12から送信されたエラー情報を受信すると、その受信したエラー情報を管理する。   If the CPU 2 starts control of the engine 14 as described above but does not end the control of the engine 14 normally, the CPU 2 sets error information as information that can specify the combination of the control program and the conforming data at that time. To be transmitted from the wireless communication device 12 to the server 11. When the server 11 receives the error information transmitted from the wireless communication device 12, the server 11 manages the received error information.

CPU2は、制御プログラムと適合データとの両方を書き換える場合には、以下のようにして書き換える。適合データは、データの先頭アドレスを記憶するアドレス部と、データを記憶するデータ部とを有し、アドレス部に記憶されているアドレスを用いてデータを参照する。CPU2は、データ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを旧適合データの元々のアドレスに書き込み、制御プログラムにおける適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換える。   When the CPU 2 rewrites both the control program and the compatible data, it rewrites as follows. The conforming data has an address part for storing the head address of the data and a data part for storing the data, and refers to the data using the address stored in the address part. The CPU 2 writes the old conformance data to the address of the unused area in the data section and writes the new conformance data to the original address of the old conformance data, and the reference address of the conformance data in the control program is newly adapted from the address of the old conformance data. Rewrite to the data address.

図9に示すように、アドレス「100〜299」が制御プログラム、「300〜329」が適合データのアドレス部、「330〜400」が適合データのデータ部である場合について説明する。CPU2は、アドレス「330〜339」に記憶されている旧適合データ「10〜19」を未使用領域のアドレス「380〜389」に書き込むと共に新適合データ「20〜29」を旧適合データの元々のアドレス「330〜339」に書き込む。CPU2は、アドレス「300」に記憶されている旧適合データ「10〜19」の旧参照先アドレス「330」を未使用領域のアドレス「320」に書き込むと共に旧適合データの新たな旧参照先アドレス「380」を元々のアドレス「300」に書き込む。CPU2は、制御プログラムにおけるアドレス「100」に記憶されている参照先情報を書き換え、適合データの参照先アドレスを旧適合データのアドレス「300」から新適合データのアドレス「320」に書き換える。   As shown in FIG. 9, the case where the addresses “100 to 299” are the control program, “300 to 329” is the address portion of the compatible data, and “330 to 400” is the data portion of the compatible data will be described. The CPU 2 writes the old compatible data “10 to 19” stored at the addresses “330 to 339” to the unused area address “380 to 389” and the new compatible data “20 to 29” from the old compatible data. Are written to addresses "330 to 339". The CPU 2 writes the old reference destination address “330” of the old compatible data “10 to 19” stored in the address “300” to the address “320” of the unused area and the new old reference destination address of the old compatible data. Write “380” to the original address “300”. The CPU 2 rewrites the reference destination information stored at the address “100” in the control program, and rewrites the reference destination address of the compatible data from the address “300” of the old compatible data to the address “320” of the new compatible data.

以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
電子制御装置1において、フラッシュROM9に3個の物理領域16a〜16cを用意し、3個の物理領域16a〜16cに対応して第1論理領域と第2論理領域と第3論理領域とを割り付け、制御プログラムの記憶用論理領域として割り付けた第1論理領域と、適合データの記憶用論理領域として割り付けた第2論理領域とを用いてエンジン14を制御し、第3論理領域を作業用論理領域として割り付けるようにした。第1論理領域及び第2論理領域を用いてアプリプログラムを実行すると共に、第3論理領域を用いてリプロを行うことで、アプリプログラムの実行中にリプロを行うことができる。又、第3論理領域を更新ソフトェアのうちの制御プログラムと適合データとを選択的に書き込む共通の記憶領域とした。フラッシュROM9のメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要がなくなる。
As described above, according to the present embodiment, the following effects can be obtained.
In the electronic control unit 1, three physical areas 16a to 16c are prepared in the flash ROM 9, and the first logical area, the second logical area, and the third logical area are allocated corresponding to the three physical areas 16a to 16c. The engine 14 is controlled by using the first logical area allocated as the control program storage logical area and the second logical area allocated as the compatible data storage logical area, and the third logical area is set as the work logical area. Was assigned as. By executing the application program using the first logical area and the second logical area and performing the repro using the third logical area, the repro can be performed during the execution of the application program. Further, the third logical area is a common storage area in which the control program of the update software and the compatible data are selectively written. As a memory capacity of the flash ROM 9, it is not necessary to prepare a capacity equivalent to twice the capacity required for the application program.

即ち、従来では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムの記憶領域と、新適合データの記憶領域とを用意する必要があるが、本構成では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムと新適合データとに共通する記憶領域とを用意すれば良く、メモリ容量を従来に対して4分の3程度に低減することができる。これにより、アプリプログラムの実行中にリプロを行うことができつつ、フラッシュROM9のメモリ容量の増大によるコスト高を回避することができる。尚、制御プログラムの容量と適合データの容量との差分が小さいほど、制御プログラムと適合データとに共通する第3論理領域を効果的に用いることができる。   That is, conventionally, it is necessary to prepare a storage area for the old control program, a storage area for the old compatible data, a storage area for the new control program, and a storage area for the new compatible data. It is sufficient to prepare a storage area for the program, a storage area for the old compatible data, and a storage area common to the new control program and the new compatible data, and reduce the memory capacity to about three-fourths of the conventional one. Can do. As a result, the repro can be performed during the execution of the application program, and the high cost due to the increase in the memory capacity of the flash ROM 9 can be avoided. Note that the smaller the difference between the capacity of the control program and the capacity of the compatible data, the more effectively the third logical area common to the control program and the compatible data can be used.

又、電子制御装置1において、制御プログラムを書き込んだ後に、エンジン14の制御を開始したが、エンジン14の制御が正常に終了されなかった場合には、第1論理領域と第3論理領域とを切り替え、第1論理領域と第3論理領域とを切り替えた後の第1論理領域と第2論理領域とを用いてエンジン14の制御を再度開始するようにした。例えば書き込んだ制御プログラムと元々の適合データとの不整合等によりエンジン14の制御が正常に終了されなかった場合でも、制御プログラムを書き込む前の状態に戻してエンジン14の制御を再度開始することで、エンジン14の制御を適切に正常に終了させることができる。これにより、書き込んだ制御プログラムが不良であったり、制御プログラムを書き込む際に不具合が発生したりしていても、制御プログラムを書き込む前の状態に戻すことで、機能不全に陥る事態を未然に回避することができる。   In the electronic control unit 1, after the control program is written, the control of the engine 14 is started. If the control of the engine 14 is not normally terminated, the first logical area and the third logical area are set. The control of the engine 14 is started again using the first logical area and the second logical area after switching and switching between the first logical area and the third logical area. For example, even when the control of the engine 14 is not normally terminated due to inconsistency between the written control program and the original conforming data, the control of the engine 14 is started again by returning to the state before the control program is written. Thus, the control of the engine 14 can be properly terminated normally. As a result, even if the written control program is defective or a problem occurs when writing the control program, returning to the state before writing the control program can prevent a malfunction. can do.

又、電子制御装置1において、適合データを書き込んだ後に、エンジン14の制御を開始したが、エンジン14の制御が正常に終了されなかった場合には、第2論理領域と第3論理領域とを切り替え、第2論理領域と第3論理領域とを切り替えた後の第1論理領域と第2論理領域とを用いてエンジン14の制御を再度開始するようにした。例えば書き込んだ適合データと元々の制御プログラムとの不整合等によりエンジン14の制御が正常に終了されなかった場合でも、適合データを書き込む前の状態に戻してエンジン14の制御を再度開始することで、エンジン14の制御を適切に正常に終了させることができる。これにより、書き込んだ適合データが不良であったり、適合データを書き込む際に不具合が発生したりしていても、適合データを書き込む前の状態に戻すことで、機能不全に陥る事態を未然に回避することができる。   In the electronic control unit 1, the control of the engine 14 is started after the adaptation data is written. If the control of the engine 14 is not normally terminated, the second logical area and the third logical area are set. The control of the engine 14 is restarted using the first logical area and the second logical area after switching and switching between the second logical area and the third logical area. For example, even when the control of the engine 14 is not normally terminated due to inconsistency between the written matching data and the original control program, the control of the engine 14 is started again by returning to the state before writing the matching data. Thus, the control of the engine 14 can be properly terminated normally. As a result, even if the written calibration data is defective or a problem occurs when writing the calibration data, it is possible to prevent malfunctions by returning to the state before the calibration data was written. can do.

又、電子制御装置1において、制御プログラムと適合データとの両方を書き込む場合に、データを記憶するデータ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを旧適合データの元々のアドレスに書き込むようにした。制御プログラムと適合データとの両方の書き込み後に未使用領域を一部の領域に纏めることができ、未使用領域が断片化する事態を未然に回避することができる。更に、制御プログラムにおける適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換えるようにした。適合データの参照先アドレスの記憶領域を旧適合データと新適合データとの両方に対して用意する必要がなくなり、メモリ容量の増大を回避することができる。   In the electronic control unit 1, when both the control program and the conforming data are written, the old conforming data is written to the address of the unused area in the data section for storing data, and the new conforming data is stored in the original conforming data. The address was written. After writing both the control program and the compatible data, the unused area can be combined into a part of the area, and the situation where the unused area is fragmented can be avoided. Furthermore, the reference address of the conforming data in the control program is rewritten from the address of the old conforming data to the address of the new conforming data. It is not necessary to prepare a storage area for the reference destination address of the compatible data for both the old compatible data and the new compatible data, and an increase in memory capacity can be avoided.

又、電子制御装置1において、エンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、その際の制御プログラムと適合データとの組み合わせを特定可能なエラー情報をサーバ11に送信するようにした。不具合が発生した制御プログラムと適合データとの組み合わせをサーバ11で管理することができ、品質向上を図ることができる。   Further, in the electronic control unit 1, when the control of the engine 14 is started but the control of the engine 14 is not normally finished, error information that can specify the combination of the control program and the conforming data at that time is stored in the server. 11 was sent. The server 11 can manage the combination of the control program in which the problem has occurred and the conforming data, and the quality can be improved.

本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。   Although the present disclosure has been described with reference to the embodiments, it is understood that the present disclosure is not limited to the embodiments and structures. The present disclosure includes various modifications and modifications within the equivalent range. In addition, various combinations and forms, as well as other combinations and forms including only one element, more or less, are within the scope and spirit of the present disclosure.

自動車のエンジンを制御する電子制御装置に限らず、例えばトランスミッション等の別の機器を制御する電子制御装置に適用しても良い。又、車載の電子制御装置に限らず、車載以外の用途の電子制御装置に適用しても良い。   The present invention is not limited to an electronic control device that controls an automobile engine, and may be applied to an electronic control device that controls another device such as a transmission. Further, the present invention is not limited to an in-vehicle electronic control device, and may be applied to an electronic control device for purposes other than in-vehicle use.

図面中、1は電子制御装置、2はCPU(演算部)、2aは割り付け処理部、2bは制御処理部、2cは書き込み処理部、2dは切り替え処理部、9はフラッシュROM(不揮発性メモリ)、11はサーバ、12は無線通信機、13は更新ソフトウェア配信システム、14はエンジン(制御対象)、16aは第1物理領域、16bは第2物理領域、16cは第3物理領域である。   In the drawings, 1 is an electronic control unit, 2 is a CPU (arithmetic unit), 2a is an allocation processing unit, 2b is a control processing unit, 2c is a writing processing unit, 2d is a switching processing unit, and 9 is a flash ROM (nonvolatile memory). , 11 is a server, 12 is a wireless communication device, 13 is an update software distribution system, 14 is an engine (control target), 16a is a first physical area, 16b is a second physical area, and 16c is a third physical area.

Claims (7)

制御対象(14)を制御するためのアプリプログラムを記憶し、記憶内容を書き換え可能な不揮発性メモリ(9)と、
前記アプリプログラムを実行し、前記制御対象を制御する演算部(2)と、を備え、
前記不揮発性メモリは、第1物理領域(16a)と第2物理領域(16b)と第3物理領域(16c)との3個の物理領域を有し、
前記3個の物理領域に対応して第1論理領域と第2論理領域と第3論理領域とを割り付け、前記第1論理領域を前記アプリプログラムのうちの制御プログラムの記憶用論理領域として割り付け、前記第2論理領域を前記アプリプログラムのうちの適合データの記憶用論理領域として割り付け、前記第3論理領域を作業用論理領域として割り付ける割り付け処理部(2a)と、
前記第1論理領域に記憶されている制御プログラムと前記第2論理領域に記憶されている適合データとを用いて前記制御対象を制御する制御処理部(2b)と、
書き換え対象のアプリプログラムを構成する更新ソフトェアを前記第3論理領域に書き込む書き込み処理部(2c)と、
前記制御プログラムが書き込まれた場合には、前記第1論理領域と前記第3論理領域とを切り替え、前記適合データが書き込まれた場合には、前記第2論理領域と前記第3論理領域とを切り替える切り替え処理部(2d)と、を有する電子制御装置。
A non-volatile memory (9) that stores an application program for controlling the control target (14) and can rewrite the stored content;
A calculation unit (2) that executes the application program and controls the control target;
The nonvolatile memory has three physical areas, a first physical area (16a), a second physical area (16b), and a third physical area (16c),
Corresponding to the three physical areas, a first logical area, a second logical area, and a third logical area are allocated, and the first logical area is allocated as a storage logical area of a control program in the application program, An allocation processing unit (2a) for allocating the second logical area as a storage logical area for matching data in the application program and allocating the third logical area as a work logical area;
A control processing unit (2b) for controlling the control object using the control program stored in the first logical area and the matching data stored in the second logical area;
A write processing unit (2c) for writing update software constituting the application program to be rewritten into the third logical area;
When the control program is written, the first logical area and the third logical area are switched, and when the conforming data is written, the second logical area and the third logical area are switched. An electronic control device having a switching processing unit (2d) for switching.
前記切り替え処理部は、前記制御プログラムが書き込まれた後に、前記制御処理部による前記制御対象の制御が正常に終了されなかった場合には、前記第1論理領域と前記第3論理領域とを切り替え、
前記制御処理部は、前記切り替え処理部により前記第1論理領域と前記第3論理領域とが切り替えられた後の前記第1論理領域と前記第2論理領域とを用いて前記制御対象を制御する請求項1に記載した電子制御装置。
The switching processing unit switches between the first logical area and the third logical area when the control target by the control processing unit is not normally terminated after the control program is written. ,
The control processing unit controls the control target using the first logical region and the second logical region after the first logical region and the third logical region are switched by the switching processing unit. The electronic control device according to claim 1.
前記切り替え処理部は、前記適合データが書き込まれた後に、前記制御処理部による前記制御対象の制御が正常に終了されなかった場合には、前記第2論理領域と前記第3論理領域とを切り替え、
前記制御処理部は、前記切り替え処理部により前記第2論理領域と前記第3論理領域とが切り替えられた後の前記第1論理領域と前記第2論理領域とを用いて前記制御対象を制御する請求項1又は2に記載した電子制御装置。
The switching processing unit switches between the second logical area and the third logical area when the control of the control target by the control processing unit is not normally completed after the adaptation data is written. ,
The control processing unit controls the control target using the first logical region and the second logical region after the second logical region and the third logical region are switched by the switching processing unit. The electronic control device according to claim 1 or 2.
前記更新ソフトェアは、前記制御プログラムであるか前記適合データであるかの種別を示す種別情報と、バージョンを示すバージョン情報とを有し、
前記割り付け処理部は、最新のバージョンの制御プログラムが記憶されている物理領域を論理領域1として割り付け、最新のバージョンの適合データが記憶されている物理領域を論理領域2として割り付け、それ以外の物理領域を論理領域3として割り付ける請求項1から3の何れか一項に記載した電子制御装置。
The update software includes type information indicating a type of the control program or the conforming data, and version information indicating a version,
The allocation processing unit allocates a physical area in which the latest version of the control program is stored as a logical area 1, allocates a physical area in which the latest version of conformance data is stored as a logical area 2, and other physical The electronic control device according to claim 1, wherein the area is allocated as a logical area 3.
前記適合データは、データの先頭アドレスを記憶するアドレス部と、データを記憶するデータ部とを有し、
前記書き込み処理部は、前記制御プログラムと前記適合データとの両方を書き込む場合には、前記データ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを前記旧適合データの元々のアドレスに書き込み、前記制御プログラムにおける前記適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換える請求項1から4の何れか一項に記載した電子制御装置。
The conforming data has an address part for storing the head address of the data and a data part for storing the data,
When the writing processing unit writes both the control program and the conforming data, the writing unit writes the old conforming data to an address of an unused area in the data unit and the new conforming data to the original address of the old conforming data. 5. The electronic control device according to claim 1, wherein the reference address of the compatible data in the control program is rewritten from the address of the old compatible data to the address of the new compatible data.
請求項1から5の何れか一項に記載した電子制御装置と、
前記更新ソフトェアを前記電子制御装置に配信するサーバ(11)と、を備え、
前記サーバは、前記更新ソフトェアのうちの前記制御プログラムと前記適合データとを別々に配信する更新ソフトェア配信システム。
An electronic control device according to any one of claims 1 to 5,
A server (11) for distributing the update software to the electronic control unit,
The server is an update software distribution system that distributes the control program and the adaptation data of the update software separately.
前記電子制御装置は、前記制御処理部による前記制御対象の制御が正常に終了されなかった場合に、前記制御プログラムと前記適合データとの組み合わせを特定可能な情報を前記サーバに送信する請求項6に記載した更新ソフトウェア配信システム。   The electronic control device transmits information that can specify a combination of the control program and the matching data to the server when the control of the control target by the control processing unit is not normally finished. Update software distribution system described in 1.
JP2017137047A 2017-07-13 2017-07-13 Electronic control device and update software distribution system Active JP6984203B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017137047A JP6984203B2 (en) 2017-07-13 2017-07-13 Electronic control device and update software distribution system
DE102018210956.7A DE102018210956A1 (en) 2017-07-13 2018-07-04 ELECTRONIC CONTROL UNIT AND UPDATE SOFTWARE DISTRIBUTION SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017137047A JP6984203B2 (en) 2017-07-13 2017-07-13 Electronic control device and update software distribution system

Publications (2)

Publication Number Publication Date
JP2019020897A true JP2019020897A (en) 2019-02-07
JP6984203B2 JP6984203B2 (en) 2021-12-17

Family

ID=64745214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017137047A Active JP6984203B2 (en) 2017-07-13 2017-07-13 Electronic control device and update software distribution system

Country Status (2)

Country Link
JP (1) JP6984203B2 (en)
DE (1) DE102018210956A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886869B2 (en) 2020-01-31 2024-01-30 Panasonic Intellectual Property Management Co., Ltd. Information processing device and information processing method for updating a program by partially relocating the program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331327A (en) * 2000-05-24 2001-11-30 Matsushita Electric Ind Co Ltd Electronic equipment
JP2008165627A (en) * 2006-12-28 2008-07-17 Fujitsu Ltd Built-in device and control method
JP2009048557A (en) * 2007-08-22 2009-03-05 Mitsubishi Electric Corp Data update device, data update method, and data update program
US20110302572A1 (en) * 2010-06-04 2011-12-08 Hon Hai Precision Industry Co., Ltd. Embedded network device and firmware upgrading method
JPWO2013128648A1 (en) * 2012-03-02 2015-07-30 三菱電機株式会社 Information processing apparatus, electronic control unit, information processing method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4548601B2 (en) 2005-04-20 2010-09-22 株式会社デンソー Automotive control unit
JP2013254264A (en) 2012-06-05 2013-12-19 Denso Corp Electronic control unit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331327A (en) * 2000-05-24 2001-11-30 Matsushita Electric Ind Co Ltd Electronic equipment
JP2008165627A (en) * 2006-12-28 2008-07-17 Fujitsu Ltd Built-in device and control method
JP2009048557A (en) * 2007-08-22 2009-03-05 Mitsubishi Electric Corp Data update device, data update method, and data update program
US20110302572A1 (en) * 2010-06-04 2011-12-08 Hon Hai Precision Industry Co., Ltd. Embedded network device and firmware upgrading method
JPWO2013128648A1 (en) * 2012-03-02 2015-07-30 三菱電機株式会社 Information processing apparatus, electronic control unit, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886869B2 (en) 2020-01-31 2024-01-30 Panasonic Intellectual Property Management Co., Ltd. Information processing device and information processing method for updating a program by partially relocating the program

Also Published As

Publication number Publication date
JP6984203B2 (en) 2021-12-17
DE102018210956A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
JP6227794B2 (en) Vehicle control device, reprogramming system
WO2022007656A1 (en) Bootloader software updating method and apparatus, embedded controller, and storage medium
JP5547701B2 (en) Electronic control unit for automobile
WO2019123747A1 (en) Electronic control device for automobile and control method thereof
JP7232062B2 (en) Electronic controller and program update method
WO2017000567A1 (en) Bootrom upgrading method and device
CN111026417A (en) Embedded equipment upgrading method and embedded equipment
US20160321057A1 (en) Electronic apparatus
JP6984203B2 (en) Electronic control device and update software distribution system
KR101601751B1 (en) Ecu of vehicle and boot software re-programming method thereof
JP2018160207A (en) On-vehicle controller and program update software
WO2020189281A1 (en) Electronic control device and method for setting control data
JP2016170471A (en) Electronic control device
EP3584697B1 (en) Information processing device
JP6935694B2 (en) Electronic control device
JP7540402B2 (en) Center, OTA master, system, method, program, and vehicle
CN112732309B (en) Flash memory updating method and device and electronic equipment
CN114675864A (en) Control method, control device and system for reprogramming and upgrading of dual-partition ECU
JP2016170813A (en) Electronic controller for automatic vehicle
JP2001229014A (en) Non-volatile memory rewriting device
JP7559600B2 (en) OTA master, center, system, method, program, and vehicle
JP2011039825A (en) Firmware updating method and firmware updating device
JP7514388B2 (en) Vehicle electronic control device and program rewriting method
WO2020241473A1 (en) Computation processing device, vehicle control device, and update method
JP2023070929A (en) Electronic control system, data structure of software package, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R151 Written notification of patent or utility model registration

Ref document number: 6984203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151