JP2019020897A - Electronic control device and update software distribution system - Google Patents
Electronic control device and update software distribution system Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims description 3
- 230000008672 reprogramming Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 27
- 238000000034 method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001994 activation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates 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
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,
しかしながら、特許文献1及び2の構成では、不揮発性メモリのメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要があり、メモリ容量の増大によるコスト高を招く問題がある。
However, in the configurations of
本発明は、上記した事情に鑑みてなされたものであり、その目的は、アプリプログラムの実行中にリプロを行うことができつつ、不揮発性メモリのメモリ容量の増大によるコスト高を回避することができる電子制御装置及び更新ソフトウェア配信システムを提供することにある。 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.
以下、本発明を、自動車のエンジンを制御する電子制御装置に適用した一実施形態について図面を参照して説明する。電子制御装置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
フラッシュROMコントローラ3は、フラッシュROM9(不揮発性メモリに相当する)を接続しており、CPU2から入力する命令にしたがってフラッシュROM9に対するデータの読み書きを行う。RAM4は、CPU2の演算結果等を一時的に格納するための揮発性メモリである。EEPROM5は、記憶内容を書き換え可能な不揮発性メモリである。
The
通信インタフェース回路6は、車両に搭載されている各種機器との間で車内LAN10を介してデータ通信を行う。車内LAN10は、車両外部のネットワーク側に設置されているサーバ11との間で無線通信を行う無線通信機12を接続している。無線通信機12は、無線通信専用の機器であっても良いし、無線通信機能を有する別の電子制御装置であっても良い。サーバ11は、電子制御装置1が後述するエンジン14(制御対象に相当する)を制御するためのアプリプログラムを配信する。通信インタフェース回路6は、CPU2から問合命令を入力すると、問合信号の送信命令を無線通信機12に出力する。無線通信機12は、通信インタフェース回路6から問合信号の送信命令を入力すると、問合信号をサーバ11に送信する。
The
サーバ11は、無線通信機12から送信された問合信号を受信すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、無線通信機12から受信した問合信号から当該問合信号の送信元の電子制御装置1が保持している最新のアプリプログラムのバージョンと、自身が保持している最新のアプリプログラムのバージョンとを比較し、問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、両者のバージョンが一致すると判定すると、アプリプログラムの更新が必要でないと判定し、その問合信号の送信元の電子制御装置1に対して更新が必要でない旨を示す応答信号を送信する。
When the
一方、サーバ11は、例えばバグ改修や高機能化によるバージョンアップ等により両者のバージョンが一致しないと判定すると、アプリプログラムの更新が必要であると判定し、その問合信号の送信元の電子制御装置1に対して更新が必要である旨を示す応答信号を送信すると共に最新のアプリプログラムを構成する更新ソフトウェアを配信する。
On the other hand, if the
サーバ11が配信する更新ソフトウェアは、制御プログラムと適合データとから構成され、制御プログラムであるか適合データであるかの種別を示す種別情報と、バージョンを示すバージョン情報とを有する。又、サーバ11は、更新ソフトウェアを配信する際には、更新ソフトウェアのうちの制御プログラムと適合データとを分離して別々に配信する。無線通信機12は、サーバ11から配信された更新ソフトウェアを受信すると、その受信した更新ソフトウェアを通信インタフェース回路6に出力する。電子制御装置1と無線通信機12とサーバ11とを含んで更新ソフトウェア配信システム13が構成される。
The update software distributed by the
入出力回路7は、前述したエンジン14を接続しており、エンジン14の運転状態を検出する各種センサからセンサ信号を入力すると、その入力したセンサ信号に対して波形処理等の信号処理を行い、信号処理の結果を示すデータをCPU2に出力する。CPU2は、入出力回路7からデータを入力すると、そのデータを用いてエンジン14の運転状態を特定し、例えば燃料を噴射するインジェクタの開弁タイミングや開弁時間等のエンジン14の制御に必要なデータを演算し、その演算結果にしたがって駆動命令を入出力回路7に出力する。入出力回路7は、CPU2から駆動命令を入力すると、その駆動命令にしたがって駆動信号をエンジン14に出力し、インジェクタからの燃料噴射等を制御する。
The input / output circuit 7 is connected to the
フラッシュROM9は、記憶内容を書き換え可能な不揮発性メモリであり、ブート領域15と、ユーザ領域16とを有する。ブート領域15は、電子制御装置1の電源投入時に当該電子制御装置1を起動させるためのブートプログラムを記憶している。ユーザ領域16は、エンジン14を制御するためのアプリプログラムを記憶しており、アプリプログラムの記憶領域として第1物理領域16aと第2物理領域16bと第3物理領域16cとの3個の物理領域16a〜16cを有する。CPU2は、ブート領域15に記憶されるブートプログラムを実行し、ブートプログラムからユーザ領域16に記憶されているアプリプログラムを実行し、エンジン14を制御する。
The
CPU2は、電子制御装置1の外部から入力するイグニッション信号によりイグニッションオンを検出する。CPU2は、機能に応じて、割り付け処理部2aと、制御処理部2bと、書き込み処理部2cと、切り替え処理部2dとを有する。即ち、CPU2がフラッシュROM9に記憶されているプログラムを実行することで、処理部2a〜2dのそれぞれとして機能する。
The
割り付け処理部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
書き込み処理部2cは、サーバ11から配信された更新ソフトウェアが無線通信機12に受信され、その受信された更新ソフトウェアが通信インタフェース回路6に入力されると、その入力された更新ソフトェアを第3論理領域に書き込む。書き込み処理部2cは、サーバ11から配信された更新ソフトウェアが制御プログラムであれば、その制御プログラムを第3論理領域に書き込み、サーバ11から配信された更新ソフトウェアが適合データであれば、その適合データを第3論理領域に書き込む。
When the update software distributed from the
切り替え処理部2dは、書き込み処理部2cにより制御プログラムが第3論理領域に書き込まれた場合には、第1論理領域と第3論理領域とを切り替え、書き込み処理部2cにより適合データが第3論理領域に書き込まれた場合には、第2論理領域と第3論理領域とを切り替える。
When the control program is written to the third logical area by the
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
次に、上記した構成の作用について図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
CPU2は、第1論理領域と第2論理領域との両方が物理領域に割り付けられていると判定すると(S2:YES)、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する(S3)。CPU2は、エンジン14の制御を開始すると、エンジン14の制御を終了するのを待機し、エンジン14の制御を正常に終了したか否かを判定する(S4)。CPU2は、エンジン14の制御を正常に終了したと判定すると(S4:YES)、起動処理を終了する。
When the
一方、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
CPU2は、書き換え処理を開始し、アプリプログラムの更新が必要であれば、以下のようにしてアプリプログラムを更新する。尚、例えば自動車のエンジンを制御する電子制御装置1では単一のアプリプログラムを実行するので、書き換え処理ではフラッシュROM9のユーザ領域16の全領域を対象としてアプリプログラムを更新する。
The
即ち、CPU2は、書き換え処理を開始すると、問合命令を通信インタフェース回路6に出力し、問合信号を無線通信機12からサーバ11に送信させ(S11)、サーバ11からの応答信号の受信を待機する(S12)。サーバ11は、無線通信機12から送信された問合信号を受信すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、アプリプログラムの更新が必要でないと判定すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要でない旨を示す応答信号を送信する。一方、サーバ11は、例えばバグ改修や高機能化によるバージョンアップ等によりアプリプログラムの更新が必要であると判定すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要である旨を示す応答信号を送信すると共にアプリプログラムを構成する更新ソフトウェアを配信する。
That is, when the rewriting process is started, the
CPU2は、サーバ11から送信された応答信号が無線通信機12に受信されたと判定すると(S12:YES)、その受信された応答信号によりアプリプログラムの更新が必要であるか否かを判定する(S13)。CPU2は、アプリプログラムの更新が必要でないと判定すると(S13:NO)、書き換え処理を終了する。
When the
一方、CPU2は、アプリプログラムの更新が必要であると判定すると(S13:YES)、第3論理領域を書き込み領域に設定し(S14)、サーバ11から配信された更新ソフトウェアの第3論理領域への書き込みを開始し(S15)、更新ソフウェアの全ての書き込みの終了を待機する(S16)。CPU2は、更新ソフウェアの全ての書き込みを終了したと判定すると(S16:YES)、その書き込んだ種別にしたがって論理領域を切り替え(S17)、書き換え処理を終了する。
On the other hand, if the
即ち、CPU2は、サーバ11から配信された更新ソフトウェアが制御プログラムであれば、図5に示すように、制御プログラムの第3論理領域への書き込みを開始し、制御プログラムの第3論理領域への書き込みを終了すると、第1論理領域と第3論理領域とを切り替える。その後、CPU2は、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する。即ち、CPU2は、バージョン2の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。
That is, if the update software distributed from the
ここで、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
又、CPU2は、サーバ11から配信された更新ソフトウェアが適合データであれば、図7に示すように、適合データの第3論理領域への書き込みを開始し、適合データの第3論理領域への書き込みを終了すると、第2論理領域と第3論理領域とを切り替える。その後、CPU2は、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン2の適合データとの組み合わせを用いてエンジン14の制御を開始する。
If the update software distributed from the
ここで、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
尚、CPU2は、このようにエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、その際の制御プログラムと適合データとの組み合わせを特定可能な情報をエラー情報として無線通信機12からサーバ11に送信させる。サーバ11は、無線通信機12から送信されたエラー情報を受信すると、その受信したエラー情報を管理する。
If the
CPU2は、制御プログラムと適合データとの両方を書き換える場合には、以下のようにして書き換える。適合データは、データの先頭アドレスを記憶するアドレス部と、データを記憶するデータ部とを有し、アドレス部に記憶されているアドレスを用いてデータを参照する。CPU2は、データ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを旧適合データの元々のアドレスに書き込み、制御プログラムにおける適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換える。
When the
図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
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
電子制御装置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
即ち、従来では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムの記憶領域と、新適合データの記憶領域とを用意する必要があるが、本構成では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムと新適合データとに共通する記憶領域とを用意すれば良く、メモリ容量を従来に対して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
又、電子制御装置1において、制御プログラムを書き込んだ後に、エンジン14の制御を開始したが、エンジン14の制御が正常に終了されなかった場合には、第1論理領域と第3論理領域とを切り替え、第1論理領域と第3論理領域とを切り替えた後の第1論理領域と第2論理領域とを用いてエンジン14の制御を再度開始するようにした。例えば書き込んだ制御プログラムと元々の適合データとの不整合等によりエンジン14の制御が正常に終了されなかった場合でも、制御プログラムを書き込む前の状態に戻してエンジン14の制御を再度開始することで、エンジン14の制御を適切に正常に終了させることができる。これにより、書き込んだ制御プログラムが不良であったり、制御プログラムを書き込む際に不具合が発生したりしていても、制御プログラムを書き込む前の状態に戻すことで、機能不全に陥る事態を未然に回避することができる。
In the
又、電子制御装置1において、適合データを書き込んだ後に、エンジン14の制御を開始したが、エンジン14の制御が正常に終了されなかった場合には、第2論理領域と第3論理領域とを切り替え、第2論理領域と第3論理領域とを切り替えた後の第1論理領域と第2論理領域とを用いてエンジン14の制御を再度開始するようにした。例えば書き込んだ適合データと元々の制御プログラムとの不整合等によりエンジン14の制御が正常に終了されなかった場合でも、適合データを書き込む前の状態に戻してエンジン14の制御を再度開始することで、エンジン14の制御を適切に正常に終了させることができる。これにより、書き込んだ適合データが不良であったり、適合データを書き込む際に不具合が発生したりしていても、適合データを書き込む前の状態に戻すことで、機能不全に陥る事態を未然に回避することができる。
In the
又、電子制御装置1において、制御プログラムと適合データとの両方を書き込む場合に、データを記憶するデータ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを旧適合データの元々のアドレスに書き込むようにした。制御プログラムと適合データとの両方の書き込み後に未使用領域を一部の領域に纏めることができ、未使用領域が断片化する事態を未然に回避することができる。更に、制御プログラムにおける適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換えるようにした。適合データの参照先アドレスの記憶領域を旧適合データと新適合データとの両方に対して用意する必要がなくなり、メモリ容量の増大を回避することができる。
In the
又、電子制御装置1において、エンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、その際の制御プログラムと適合データとの組み合わせを特定可能なエラー情報をサーバ11に送信するようにした。不具合が発生した制御プログラムと適合データとの組み合わせをサーバ11で管理することができ、品質向上を図ることができる。
Further, in the
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。 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)
前記アプリプログラムを実行し、前記制御対象を制御する演算部(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論理領域と前記第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論理領域とが切り替えられた後の前記第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.
前記更新ソフトェアを前記電子制御装置に配信するサーバ(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.
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)
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)
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)
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 |
-
2017
- 2017-07-13 JP JP2017137047A patent/JP6984203B2/en active Active
-
2018
- 2018-07-04 DE DE102018210956.7A patent/DE102018210956A1/en active Pending
Patent Citations (5)
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)
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 |