JP6984203B2 - 電子制御装置及び更新ソフトウェア配信システム - Google Patents

電子制御装置及び更新ソフトウェア配信システム Download PDF

Info

Publication number
JP6984203B2
JP6984203B2 JP2017137047A JP2017137047A JP6984203B2 JP 6984203 B2 JP6984203 B2 JP 6984203B2 JP 2017137047 A JP2017137047 A JP 2017137047A JP 2017137047 A JP2017137047 A JP 2017137047A JP 6984203 B2 JP6984203 B2 JP 6984203B2
Authority
JP
Japan
Prior art keywords
logical area
area
data
control
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017137047A
Other languages
English (en)
Other versions
JP2019020897A (ja
Inventor
敏和 日置
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Priority to DE102018210956.7A priority patent/DE102018210956A1/de
Publication of JP2019020897A publication Critical patent/JP2019020897A/ja
Application granted granted Critical
Publication of JP6984203B2 publication Critical patent/JP6984203B2/ja
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)

Description

本発明は、電子制御装置及び更新ソフトウェア配信システムに関する。
例えば自動車のエンジンやトランスミッション等を制御する電子制御装置は、記憶内容を書き換え可能な不揮発性メモリを有し、その不揮発性メモリに記憶されているアプリプログラムを書き換え可能(即ちリプロ可能)に構成されている。リプロを行う構成として、例えば特許文献1には、プログラム実行用の読み込み領域とリプロ用の書き込み領域とを用意し、リプロを正常に終了した後に、読み込み領域と書き込み領域とを切り替える構成が開示されている。又、例えば特許文献2には、アプリプログラム毎にプログラム実行用の主領域とリプロ用の副領域とを用意し、リプロを正常に終了した後に、主領域と副領域とを切り替える構成が開示されている。特許文献1及び2の構成では、アプリプログラムの実行中にリプロを行うことが可能である。
特開2013−254264号公報 特開2006−301960号公報
しかしながら、特許文献1及び2の構成では、不揮発性メモリのメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要があり、メモリ容量の増大によるコスト高を招く問題がある。
本発明は、上記した事情に鑑みてなされたものであり、その目的は、アプリプログラムの実行中にリプロを行うことができつつ、不揮発性メモリのメモリ容量の増大によるコスト高を回避することができる電子制御装置及び更新ソフトウェア配信システムを提供することにある。
請求項1に記載した発明によれば、不揮発性メモリ(9)は、制御対象(14)を制御するためのアプリプログラムを記憶し、記憶内容を書き換え可能である。演算部(2)は、アプリプログラムを実行し、制御対象を制御する。不揮発性メモリは、第1物理領域(16a)と第2物理領域(16b)と第3物理領域(16c)との3個の物理領域を有する。
割り付け処理部(2a)は、3個の物理領域に対応して第1論理領域と第2論理領域と第3論理領域とを割り付けることが可能であり、第1論理領域をアプリプログラムのうちの制御プログラムの記憶用論理領域として割り付け、第2論理領域をアプリプログラムのうちの適合データの記憶用論理領域として割り付け、第3論理領域を作業用論理領域として割り付ける。制御処理部(2b)は、第1論理領域に記憶されている制御プログラムと第2論理領域に記憶されている適合データとを用いて制御対象を制御する。書き込み処理部(2c)は、書き換え対象のアプリプログラムを構成する更新ソフトェアを第3論理領域に書き込む。切り替え処理部(2d)は、制御プログラムが書き込まれた場合には、第1論理領域と第3論理領域とを切り替え、適合データが書き込まれた場合には、第2論理領域と第3論理領域とを切り替える。
制御プログラムの記憶用論理領域として割り付けた第1論理領域と、適合データの記憶用論理領域として割り付けた第2論理領域とを用いて制御対象を制御し、第1論理領域及び第2論理領域とは別の第3論理領域を作業用論理領域として割り付けるようにした。第1論理領域及び第2論理領域を用いてアプリプログラムを実行すると共に、第3論理領域を用いてリプロを行うことで、アプリプログラムの実行中にリプロを行うことができる。又、第3論理領域を制御プログラムと適合データとを選択的に書き込む共通の記憶領域とした。不揮発性メモリのメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要がなくなる。
即ち、従来では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムの記憶領域と、新適合データの記憶領域とを用意する必要があるが、本発明では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムと新適合データとに共通する記憶領域とを用意すれば良く、メモリ容量を従来に対して4分の3程度に低減することができる。これにより、アプリプログラムの実行中にリプロを行うことができつつ、不揮発性メモリのメモリ容量の増大によるコスト高を回避することができる。
一実施形態を示す機能ブロック図 論理領域判定テーブルを示す図 起動処理を示すフローチャート 書き換え処理を示すフローチャート 制御プログラムを書き換える態様を示す図 制御プログラムを消去する態様を示す図 適合データを書き換える態様を示す図 適合データを消去する態様を示す図 データを書き換える態様を示す図
以下、本発明を、自動車のエンジンを制御する電子制御装置に適用した一実施形態について図面を参照して説明する。電子制御装置1は、CPU2(演算部に相当する)と、フラッシュROMコントローラ3と、RAM4と、EEPROM5と、通信インタフェース回路6と、入出力回路7とを有し、これらが内部バス8により相互接続されて構成されている。
フラッシュROMコントローラ3は、フラッシュROM9(不揮発性メモリに相当する)を接続しており、CPU2から入力する命令にしたがってフラッシュROM9に対するデータの読み書きを行う。RAM4は、CPU2の演算結果等を一時的に格納するための揮発性メモリである。EEPROM5は、記憶内容を書き換え可能な不揮発性メモリである。
通信インタフェース回路6は、車両に搭載されている各種機器との間で車内LAN10を介してデータ通信を行う。車内LAN10は、車両外部のネットワーク側に設置されているサーバ11との間で無線通信を行う無線通信機12を接続している。無線通信機12は、無線通信専用の機器であっても良いし、無線通信機能を有する別の電子制御装置であっても良い。サーバ11は、電子制御装置1が後述するエンジン14(制御対象に相当する)を制御するためのアプリプログラムを配信する。通信インタフェース回路6は、CPU2から問合命令を入力すると、問合信号の送信命令を無線通信機12に出力する。無線通信機12は、通信インタフェース回路6から問合信号の送信命令を入力すると、問合信号をサーバ11に送信する。
サーバ11は、無線通信機12から送信された問合信号を受信すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、無線通信機12から受信した問合信号から当該問合信号の送信元の電子制御装置1が保持している最新のアプリプログラムのバージョンと、自身が保持している最新のアプリプログラムのバージョンとを比較し、問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、両者のバージョンが一致すると判定すると、アプリプログラムの更新が必要でないと判定し、その問合信号の送信元の電子制御装置1に対して更新が必要でない旨を示す応答信号を送信する。
一方、サーバ11は、例えばバグ改修や高機能化によるバージョンアップ等により両者のバージョンが一致しないと判定すると、アプリプログラムの更新が必要であると判定し、その問合信号の送信元の電子制御装置1に対して更新が必要である旨を示す応答信号を送信すると共に最新のアプリプログラムを構成する更新ソフトウェアを配信する。
サーバ11が配信する更新ソフトウェアは、制御プログラムと適合データとから構成され、制御プログラムであるか適合データであるかの種別を示す種別情報と、バージョンを示すバージョン情報とを有する。又、サーバ11は、更新ソフトウェアを配信する際には、更新ソフトウェアのうちの制御プログラムと適合データとを分離して別々に配信する。無線通信機12は、サーバ11から配信された更新ソフトウェアを受信すると、その受信した更新ソフトウェアを通信インタフェース回路6に出力する。電子制御装置1と無線通信機12とサーバ11とを含んで更新ソフトウェア配信システム13が構成される。
入出力回路7は、前述したエンジン14を接続しており、エンジン14の運転状態を検出する各種センサからセンサ信号を入力すると、その入力したセンサ信号に対して波形処理等の信号処理を行い、信号処理の結果を示すデータをCPU2に出力する。CPU2は、入出力回路7からデータを入力すると、そのデータを用いてエンジン14の運転状態を特定し、例えば燃料を噴射するインジェクタの開弁タイミングや開弁時間等のエンジン14の制御に必要なデータを演算し、その演算結果にしたがって駆動命令を入出力回路7に出力する。入出力回路7は、CPU2から駆動命令を入力すると、その駆動命令にしたがって駆動信号をエンジン14に出力し、インジェクタからの燃料噴射等を制御する。
フラッシュROM9は、記憶内容を書き換え可能な不揮発性メモリであり、ブート領域15と、ユーザ領域16とを有する。ブート領域15は、電子制御装置1の電源投入時に当該電子制御装置1を起動させるためのブートプログラムを記憶している。ユーザ領域16は、エンジン14を制御するためのアプリプログラムを記憶しており、アプリプログラムの記憶領域として第1物理領域16aと第2物理領域16bと第3物理領域16cとの3個の物理領域16a〜16cを有する。CPU2は、ブート領域15に記憶されるブートプログラムを実行し、ブートプログラムからユーザ領域16に記憶されているアプリプログラムを実行し、エンジン14を制御する。
CPU2は、電子制御装置1の外部から入力するイグニッション信号によりイグニッションオンを検出する。CPU2は、機能に応じて、割り付け処理部2aと、制御処理部2bと、書き込み処理部2cと、切り替え処理部2dとを有する。即ち、CPU2がフラッシュROM9に記憶されているプログラムを実行することで、処理部2a〜2dのそれぞれとして機能する。
割り付け処理部2aは、フラッシュROM9の3個の物理領域16a〜16cに対応して第1論理領域と第2論理領域と第3論理領域とを割り付ける。割り付け処理部2aは、第1論理領域をアプリプログラムのうちの制御プログラムの記憶用論理領域として割り付け、第2論理領域をアプリプログラムのうちの適合データの記憶用論理領域として割り付け、第3論理領域を作業用論理領域として割り付ける。制御処理部2bは、第1論理領域に記憶されている制御プログラムと第2論理領域に記憶されている適合データとを用いてエンジン14を制御する。
書き込み処理部2cは、サーバ11から配信された更新ソフトウェアが無線通信機12に受信され、その受信された更新ソフトウェアが通信インタフェース回路6に入力されると、その入力された更新ソフトェアを第3論理領域に書き込む。書き込み処理部2cは、サーバ11から配信された更新ソフトウェアが制御プログラムであれば、その制御プログラムを第3論理領域に書き込み、サーバ11から配信された更新ソフトウェアが適合データであれば、その適合データを第3論理領域に書き込む。
切り替え処理部2dは、書き込み処理部2cにより制御プログラムが第3論理領域に書き込まれた場合には、第1論理領域と第3論理領域とを切り替え、書き込み処理部2cにより適合データが第3論理領域に書き込まれた場合には、第2論理領域と第3論理領域とを切り替える。
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論理領域が割り付けられている状態を示す。
次に、上記した構成の作用について図3から図9を参照して説明する。
電子制御装置1において、CPU2は、電子制御装置1の外部から入力するイグニッション信号によりイグニッションオンを検出すると、起動処理を開始する。CPU2は、起動処理を開始すると、論理領域判定テーブルを参照し、その時点での論理領域を判定し(S1)、第1論理領域と第2論理領域との両方が物理領域に割り付けられているか否かを判定する(S2)。又、CPU2は、起動処理を開始すると、書き換え処理を開始し、これ以降では起動処理と書き換え処理とを並行して行う。
CPU2は、第1論理領域と第2論理領域との両方が物理領域に割り付けられていると判定すると(S2:YES)、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する(S3)。CPU2は、エンジン14の制御を開始すると、エンジン14の制御を終了するのを待機し、エンジン14の制御を正常に終了したか否かを判定する(S4)。CPU2は、エンジン14の制御を正常に終了したと判定すると(S4:YES)、起動処理を終了する。
一方、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の制御を開始せずに起動処理を終了する。
CPU2は、書き換え処理を開始し、アプリプログラムの更新が必要であれば、以下のようにしてアプリプログラムを更新する。尚、例えば自動車のエンジンを制御する電子制御装置1では単一のアプリプログラムを実行するので、書き換え処理ではフラッシュROM9のユーザ領域16の全領域を対象としてアプリプログラムを更新する。
即ち、CPU2は、書き換え処理を開始すると、問合命令を通信インタフェース回路6に出力し、問合信号を無線通信機12からサーバ11に送信させ(S11)、サーバ11からの応答信号の受信を待機する(S12)。サーバ11は、無線通信機12から送信された問合信号を受信すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要であるか否かを判定する。サーバ11は、アプリプログラムの更新が必要でないと判定すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要でない旨を示す応答信号を送信する。一方、サーバ11は、例えばバグ改修や高機能化によるバージョンアップ等によりアプリプログラムの更新が必要であると判定すると、その問合信号の送信元の電子制御装置1に対してアプリプログラムの更新が必要である旨を示す応答信号を送信すると共にアプリプログラムを構成する更新ソフトウェアを配信する。
CPU2は、サーバ11から送信された応答信号が無線通信機12に受信されたと判定すると(S12:YES)、その受信された応答信号によりアプリプログラムの更新が必要であるか否かを判定する(S13)。CPU2は、アプリプログラムの更新が必要でないと判定すると(S13:NO)、書き換え処理を終了する。
一方、CPU2は、アプリプログラムの更新が必要であると判定すると(S13:YES)、第3論理領域を書き込み領域に設定し(S14)、サーバ11から配信された更新ソフトウェアの第3論理領域への書き込みを開始し(S15)、更新ソフウェアの全ての書き込みの終了を待機する(S16)。CPU2は、更新ソフウェアの全ての書き込みを終了したと判定すると(S16:YES)、その書き込んだ種別にしたがって論理領域を切り替え(S17)、書き換え処理を終了する。
即ち、CPU2は、サーバ11から配信された更新ソフトウェアが制御プログラムであれば、図5に示すように、制御プログラムの第3論理領域への書き込みを開始し、制御プログラムの第3論理領域への書き込みを終了すると、第1論理領域と第3論理領域とを切り替える。その後、CPU2は、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する。即ち、CPU2は、バージョン2の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。
ここで、CPU2は、第1論理領域に記憶されている制御プログラム、即ち、論理領域を切り替える前の第3論理領域に書き込んだ制御プログラムが正常であれば、エンジン14の制御を正常に終了する。一方、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ制御プログラムが正常でなければ、エンジン14の制御を正常に終了せず、図6に示すように、その時点で第1論理領域に記憶されている制御プログラムを消去し、第1論理領域と第3論理領域とを切り替え、エンジン14の制御を再度開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。このように、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ制御プログラムを起動してエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、制御プログラムを書き込む前の状態に戻し、エンジン14の制御を再度開始する。
又、CPU2は、サーバ11から配信された更新ソフトウェアが適合データであれば、図7に示すように、適合データの第3論理領域への書き込みを開始し、適合データの第3論理領域への書き込みを終了すると、第2論理領域と第3論理領域とを切り替える。その後、CPU2は、第1論理領域に記憶されている制御プログラムを起動し、その起動した制御プログラムにより第2論理領域に記憶されている適合データを参照し、エンジン14の制御を開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン2の適合データとの組み合わせを用いてエンジン14の制御を開始する。
ここで、CPU2は、第2論理領域に記憶されている適合データ、即ち、論理領域を切り替える前の第3論理領域に書き込んだ適合データが正常であれば、エンジン14の制御を正常に終了する。一方、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ適合データが正常でなければ、エンジン14の制御を正常に終了せず、図8に示すように、その時点で第2論理領域に記憶されている適合データを消去し、第2論理領域と第3論理領域とを切り替え、エンジン14の制御を再度開始する。即ち、CPU2は、バージョン1の制御プログラムとバージョン1の適合データとの組み合わせを用いてエンジン14の制御を開始する。このように、CPU2は、論理領域を切り替える前の第3論理領域に書き込んだ適合データを参照してエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、適合データを書き込む前の状態に戻し、エンジン14の制御を再度開始する。
尚、CPU2は、このようにエンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、その際の制御プログラムと適合データとの組み合わせを特定可能な情報をエラー情報として無線通信機12からサーバ11に送信させる。サーバ11は、無線通信機12から送信されたエラー情報を受信すると、その受信したエラー情報を管理する。
CPU2は、制御プログラムと適合データとの両方を書き換える場合には、以下のようにして書き換える。適合データは、データの先頭アドレス記憶されるアドレス部と、データ記憶されるデータ部とを有し、アドレス部に記憶されているアドレスを用いてデータを参照する。CPU2は、データ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを旧適合データの元々のアドレスに書き込み、制御プログラムにおける適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換える。
図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」に書き換える。
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
電子制御装置1において、フラッシュROM9に3個の物理領域16a〜16cを用意し、3個の物理領域16a〜16cに対応して第1論理領域と第2論理領域と第3論理領域とを割り付け、制御プログラムの記憶用論理領域として割り付けた第1論理領域と、適合データの記憶用論理領域として割り付けた第2論理領域とを用いてエンジン14を制御し、第3論理領域を作業用論理領域として割り付けるようにした。第1論理領域及び第2論理領域を用いてアプリプログラムを実行すると共に、第3論理領域を用いてリプロを行うことで、アプリプログラムの実行中にリプロを行うことができる。又、第3論理領域を更新ソフトェアのうちの制御プログラムと適合データとを選択的に書き込む共通の記憶領域とした。フラッシュROM9のメモリ容量としてアプリプログラムに必要な容量の2倍分の容量を用意する必要がなくなる。
即ち、従来では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムの記憶領域と、新適合データの記憶領域とを用意する必要があるが、本構成では、旧制御プログラムの記憶領域と、旧適合データの記憶領域と、新制御プログラムと新適合データとに共通する記憶領域とを用意すれば良く、メモリ容量を従来に対して4分の3程度に低減することができる。これにより、アプリプログラムの実行中にリプロを行うことができつつ、フラッシュROM9のメモリ容量の増大によるコスト高を回避することができる。尚、制御プログラムの容量と適合データの容量との差分が小さいほど、制御プログラムと適合データとに共通する第3論理領域を効果的に用いることができる。
又、電子制御装置1において、制御プログラムを書き込んだ後に、エンジン14の制御を開始したが、エンジン14の制御が正常に終了されなかった場合には、第1論理領域と第3論理領域とを切り替え、第1論理領域と第3論理領域とを切り替えた後の第1論理領域と第2論理領域とを用いてエンジン14の制御を再度開始するようにした。例えば書き込んだ制御プログラムと元々の適合データとの不整合等によりエンジン14の制御が正常に終了されなかった場合でも、制御プログラムを書き込む前の状態に戻してエンジン14の制御を再度開始することで、エンジン14の制御を適切に正常に終了させることができる。これにより、書き込んだ制御プログラムが不良であったり、制御プログラムを書き込む際に不具合が発生したりしていても、制御プログラムを書き込む前の状態に戻すことで、機能不全に陥る事態を未然に回避することができる。
又、電子制御装置1において、適合データを書き込んだ後に、エンジン14の制御を開始したが、エンジン14の制御が正常に終了されなかった場合には、第2論理領域と第3論理領域とを切り替え、第2論理領域と第3論理領域とを切り替えた後の第1論理領域と第2論理領域とを用いてエンジン14の制御を再度開始するようにした。例えば書き込んだ適合データと元々の制御プログラムとの不整合等によりエンジン14の制御が正常に終了されなかった場合でも、適合データを書き込む前の状態に戻してエンジン14の制御を再度開始することで、エンジン14の制御を適切に正常に終了させることができる。これにより、書き込んだ適合データが不良であったり、適合データを書き込む際に不具合が発生したりしていても、適合データを書き込む前の状態に戻すことで、機能不全に陥る事態を未然に回避することができる。
又、電子制御装置1において、制御プログラムと適合データとの両方を書き込む場合に、データ記憶されるデータ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを旧適合データの元々のアドレスに書き込むようにした。制御プログラムと適合データとの両方の書き込み後に未使用領域を一部の領域に纏めることができ、未使用領域が断片化する事態を未然に回避することができる。更に、制御プログラムにおける適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換えるようにした。適合データの参照先アドレスの記憶領域を旧適合データと新適合データとの両方に対して用意する必要がなくなり、メモリ容量の増大を回避することができる。
又、電子制御装置1において、エンジン14の制御を開始したがエンジン14の制御を正常に終了しなかった場合には、その際の制御プログラムと適合データとの組み合わせを特定可能なエラー情報をサーバ11に送信するようにした。不具合が発生した制御プログラムと適合データとの組み合わせをサーバ11で管理することができ、品質向上を図ることができる。
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
自動車のエンジンを制御する電子制御装置に限らず、例えばトランスミッション等の別の機器を制御する電子制御装置に適用しても良い。又、車載の電子制御装置に限らず、車載以外の用途の電子制御装置に適用しても良い。
図面中、1は電子制御装置、2はCPU(演算部)、2aは割り付け処理部、2bは制御処理部、2cは書き込み処理部、2dは切り替え処理部、9はフラッシュROM(不揮発性メモリ)、11はサーバ、12は無線通信機、13は更新ソフトウェア配信システム、14はエンジン(制御対象)、16aは第1物理領域、16bは第2物理領域、16cは第3物理領域である。

Claims (7)

  1. 制御対象(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)と、を有する電子制御装置。
  2. 前記切り替え処理部は、前記制御プログラムが書き込まれた後に、前記制御処理部による前記制御対象の制御が正常に終了されなかった場合には、前記第1論理領域と前記第3論理領域とを切り替え、
    前記制御処理部は、前記切り替え処理部により前記第1論理領域と前記第3論理領域とが切り替えられた後の前記第1論理領域と前記第2論理領域とを用いて前記制御対象を制御する請求項1に記載した電子制御装置。
  3. 前記切り替え処理部は、前記適合データが書き込まれた後に、前記制御処理部による前記制御対象の制御が正常に終了されなかった場合には、前記第2論理領域と前記第3論理領域とを切り替え、
    前記制御処理部は、前記切り替え処理部により前記第2論理領域と前記第3論理領域とが切り替えられた後の前記第1論理領域と前記第2論理領域とを用いて前記制御対象を制御する請求項1又は2に記載した電子制御装置。
  4. 前記更新ソフトェアは、前記制御プログラムであるか前記適合データであるかの種別を示す種別情報と、バージョンを示すバージョン情報とを有し、
    前記割り付け処理部は、最新のバージョンの制御プログラムが記憶されている物理領域を論理領域1として割り付け、最新のバージョンの適合データが記憶されている物理領域を論理領域2として割り付け、それ以外の物理領域を論理領域3として割り付ける請求項1から3の何れか一項に記載した電子制御装置。
  5. 前記適合データは、データの先頭アドレス記憶されるアドレス部と、データ記憶されるデータ部とを有し、
    前記書き込み処理部は、前記制御プログラムと前記適合データとの両方を書き込む場合には、前記データ部において旧適合データを未使用領域のアドレスに書き込むと共に新適合データを前記旧適合データの元々のアドレスに書き込み、前記制御プログラムにおける前記適合データの参照先アドレスを旧適合データのアドレスから新適合データのアドレスに書き換える請求項1から4の何れか一項に記載した電子制御装置。
  6. 請求項1から5の何れか一項に記載した電子制御装置と、
    前記更新ソフトェアを前記電子制御装置に配信するサーバ(11)と、を備え、
    前記サーバは、前記更新ソフトェアのうちの前記制御プログラムと前記適合データとを別々に配信する更新ソフトェア配信システム。
  7. 前記電子制御装置は、前記制御処理部による前記制御対象の制御が正常に終了されなかった場合に、前記制御プログラムと前記適合データとの組み合わせを特定可能な情報を前記サーバに送信する請求項6に記載した更新ソフトウェア配信システム。
JP2017137047A 2017-07-13 2017-07-13 電子制御装置及び更新ソフトウェア配信システム Active JP6984203B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017137047A JP6984203B2 (ja) 2017-07-13 2017-07-13 電子制御装置及び更新ソフトウェア配信システム
DE102018210956.7A DE102018210956A1 (de) 2017-07-13 2018-07-04 Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017137047A JP6984203B2 (ja) 2017-07-13 2017-07-13 電子制御装置及び更新ソフトウェア配信システム

Publications (2)

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

Family

ID=64745214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017137047A Active JP6984203B2 (ja) 2017-07-13 2017-07-13 電子制御装置及び更新ソフトウェア配信システム

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7266216B2 (ja) 2020-01-31 2023-04-28 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331327A (ja) * 2000-05-24 2001-11-30 Matsushita Electric Ind Co Ltd 電子機器
JP4548601B2 (ja) 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
JP5012017B2 (ja) * 2006-12-28 2012-08-29 富士通株式会社 組込装置および制御方法
JP5057887B2 (ja) * 2007-08-22 2012-10-24 三菱電機株式会社 データ更新装置及びデータ更新方法及びデータ更新プログラム
CN102270144B (zh) * 2010-06-04 2014-12-10 鸿富锦精密工业(深圳)有限公司 嵌入式网络设备及其更新固件的方法
JP2013128648A (ja) * 2011-12-21 2013-07-04 Canon Inc 眼科装置および眼科制御方法並びにプログラム
JP2013254264A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置

Also Published As

Publication number Publication date
JP2019020897A (ja) 2019-02-07
DE102018210956A1 (de) 2019-01-17

Similar Documents

Publication Publication Date Title
JP6227794B2 (ja) 車両制御装置、リプログラミングシステム
JP3893755B2 (ja) 電子制御装置
WO2019123747A1 (ja) 自動車用電子制御装置及びその制御方法
JP2007257473A (ja) 車載制御装置
US11914871B2 (en) Electronic control device and program-update method
JP6984203B2 (ja) 電子制御装置及び更新ソフトウェア配信システム
KR101601751B1 (ko) 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
JP6415990B2 (ja) 自動車用電子制御装置
JP2018160207A (ja) 車載制御装置、及び、プログラム更新ソフトウェア
JP3835969B2 (ja) 車両制御装置のための書き換えシステム
JP2016170471A (ja) 電子制御装置
JP6708596B2 (ja) 電子制御装置及び制御プログラム検証方法
JP2019008693A (ja) 自動車用制御装置
JP2010218103A (ja) 電子機器
JP3489524B2 (ja) 車両用不揮発性メモリ書き替え装置
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
CN112732309B (zh) Flash存储器的更新方法、装置和电子设备
WO2022215402A1 (ja) 車両用電子制御装置及びプログラムの書き換え方法
JP2008225922A (ja) 不揮発性記憶装置
JP2013004043A (ja) 情報処理装置、画像形成装置およびプログラム
JP5942704B2 (ja) 電子制御装置
JPWO2018150820A1 (ja) 情報処理装置
US20220204008A1 (en) Arithmetic processing device, vehicle control device, and update method
JP6699598B2 (ja) 車両制御装置

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 Written amendment

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