JP2018160207A - 車載制御装置、及び、プログラム更新ソフトウェア - Google Patents

車載制御装置、及び、プログラム更新ソフトウェア Download PDF

Info

Publication number
JP2018160207A
JP2018160207A JP2017058397A JP2017058397A JP2018160207A JP 2018160207 A JP2018160207 A JP 2018160207A JP 2017058397 A JP2017058397 A JP 2017058397A JP 2017058397 A JP2017058397 A JP 2017058397A JP 2018160207 A JP2018160207 A JP 2018160207A
Authority
JP
Japan
Prior art keywords
program
volatile memory
memory area
update
new
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.)
Pending
Application number
JP2017058397A
Other languages
English (en)
Inventor
黒澤 憲一
Kenichi Kurosawa
憲一 黒澤
中原 章晴
Akiharu Nakahara
章晴 中原
秀敏 寺岡
Hidetoshi Teraoka
秀敏 寺岡
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2017058397A priority Critical patent/JP2018160207A/ja
Publication of JP2018160207A publication Critical patent/JP2018160207A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】1つの差分データで様々な車種に搭載されている車載制御装置のプログラムを更新する。【解決手段】書込み装置から提供される更新内容に基づいて、格納している旧プログラムを新プログラムヘ更新可能な車載制御装置であって、実行可能な特定プログラムを格納した第1の不揮発性メモリ領域と、実行可能で更新可能なプログラムを格納した第2の不揮発性メモリ領域と、を備えた不揮発性メモリを備え、前記特定プログラムと前記新プログラムとの差分データと、前記第1の不揮発性メモリ領域の特定プログラムを用いて、前記新プログラムを差分復元し、復元した該プログラムを前記第2の不揮発性メモリ領域へ書込む。【選択図】図1

Description

本発明は、車載制御装置、及びプログラム更新ソフトウェアに関する。
車載制御装置のリプログラミングは、低速なCAN(Controller Area Network)を介して書込みツールとしてのPC(Personal Computer)または車載書込み装置と、車載制御装置(ECU:Electric Control Unit)を接続し、バイナリーデータ(新プログラム)全体を分割転送しながらECUのフラッシュメモリへ書込みを行っている。
このため、旧プログラムに対する新プログラムの更新部分が小さい場合においても、新プログラム全体をCAN経由で転送し、新プログラム全体の書込みを行っている。
従って、書込みに要する時間がかかるという問題があった。これに対し、従来から差分によるリプログラミングの考え方が提案されている(例えば、特許文献1参照)。すなわち、特許文献1の段落〔0019〕には、書き換え方式の1つとして「ブロック単位で新旧プログラムの差分データを作成する手段」が記載されている。さらに段落〔0064〕には、更新対象ブロックの旧プログラムをSDRAMへ転送して、差分データと旧プログラムを用いて新プログラムをSDRAMへ復元し、更新対象ブロックを消去してから、新プログラムを書込んでいる。
特許文献2では、移動端末装置の差分によるソフトウェア更新方法が記載されている。
段落〔0015〕には、移動端末装置の不揮発性メモリ内に、各々、ソフトウェア更新のための更新エンジンを含む本体プログラムを格納する第1および第2のメモリ領域を設け、ソフトウェア更新時に、一方の本体プログラムのバージョンと新たな本体プログラムのバージョンとの差分データをダウンロードし、前記第1および第2のメモリ領域の一方の更新エンジンを作業用メモリ領域に展開し、前記作業用メモリ領域内更新エンジンを実行することによって前記差分データで当該本体プログラムを更新し、更新が成功したとき当該更新後の本体プログラムを現用の本体プログラムとして選択し、更新が失敗したとき前記作業用メモリ領域内の更新エンジン内に含めたダウンロード機能により他方の本体プログラムのバージョンと新たな本体プログラムのバージョンとの差分データをダウンロードし、前記作業用メモリ領域内の更新エンジンを実行することによって前記差分データで当該本体プログラムを更新し、更新が成功したとき当該更新後の本体プログラムを現用の本体プログラムとして選択する手段が記載されている。
しかし、このように第1のメモリ領域と第2のメモリ領域を交互に更新するので、プログラムバージョンの管理が複雑となる。
特開2012−190075号公報 特開2007−189332号公報
本発明は、差分更新においてネックとなるプログラムバージョン管理を簡素化することにある。すなわち、第1のメモリ領域に第1のプログラムが配置され、第2のメモリ領域には第2のプログラムが配置されているケースを考える。ここで第2のプログラムは第1のプログラムよりも新しいバージョンであるとする。新たな第3のプログラムを差分更新により車載制御装置へ書込む場合、より近いバージョンの第2のプログラムと新たな第3のプログラムとの差分データを生成し、この差分データと第2のプログラムを用いて差分復元して、第1のメモリ領域の第1のプログラムを新たな第3のプログラムへ差分更新するのが常識的である。なぜなら、一般的に、近いバージョンのプログラムとの差分データは、より小さなサイズになり、かつより古いプログラムが配置されているメモリ領域へ新たなプログラムを書込んだほうが、更新に失敗した場合、より新しいバージョンのプログラムで車載制御装置を動作できるからである。
しかし、このような考えでメモリ領域を選択すると、更新する度に、交互にメモリ領域を選択することになる。つまり、より新しいバージョンのプログラムは第1のメモリ領域なのか、または第2のメモリ領域に存在するのか、さらにそのプログラムのバージョンは何か、などプログラムのバージョンを管理しなければならない。
さらに厄介なことに、車両に搭載された車載制御装置のプログラムは、リコールなどによりディーラーで新しいプログラムへ更新する必要があるが、わざわざディーラーへ行くのは面倒などの理由で、更新されない場合がある。このことは、車両の車載制御装置のプログラムには、いろいろなバージョンのプログラムが搭載されていることを意味するので、上記差分データは、複数のバージョンのプログラムとの差分データを複数個用意しなければ、あらゆる車載制御装置のプログラムを差分更新できないことになる。
このようなプログラムのバージョンに由来する複雑さを簡素化することが課題である。
上記課題を解決するために、本発明の車載制御装置は一例として、書込み装置から提供される更新内容に基づいて、格納している旧プログラムを新プログラムヘ更新可能な車載制御装置であって、実行可能な特定プログラムを格納した第1の不揮発性メモリ領域と、実行可能で更新可能なプログラムを格納した第2の不揮発性メモリ領域と、を備えた不揮発性メモリを備え、前記特定プログラムと前記新プログラムとの差分データと、前記第1の不揮発性メモリ領域の特定プログラムを用いて、前記新プログラムを差分復元し、復元した該プログラムを前記第2の不揮発性メモリ領域へ書込む。
本発明によれば、1つの差分データで様々な車種に搭載されている車載制御装置のプログラムを更新できる。
発明の実施形態による車両の全体構成を示す模式図である。 図1に示す車載制御装置のSRAMの内部の構成を示す模式図である。 図1に示す車載制御装置のFLASHメモリの内部の構成を示す模式図である。 A面特定プログラム全体とB面ブロック毎の新プログラムからヘッダ付きブロック差分データの生成概要図である。 A面特定プログラム全体とB#nのブロック差分データからブロックB#nの新プログラム復元概要図である。 A面更新ソフト304Aのフローチャートである。 車載書き込み装置が車載制御装置へ送信する通信コマンドの種類を示す図である。 車載書込み装置の通信コマンドの送信シーケンス図である。 ブロック差分データ通信ソフトのフローチャートである。 ブロック差分復元ソフトのフローチャートである。 診断ソフトのフローチャートである。 面切替えソフトのフローチャートである。
本実施例は、2面構成の不揮発性メモリのそれぞれにプログラムを配置した車載制御装置において、片面には特定のプログラムを配置し、他面には実行可能なプログラムを配置する構成とする。さらに、車載制御装置は、新たな実行可能なプログラムと特定のプログラムの差分データと、片面の特定プログラムから新たな実行可能なプログラムを差分復元して、復元された新たな実行可能なプログラムを他面へ書込む手段を提供する。
この手段により、新たな実行可能なプログラムを書込む面は、常に他面のみであり、さらに常に特定のプログラムとの差分データを1つだけ用意すれば、あらゆる車載制御装置のプログラムを差分更新できることになる。
以下、図面を用いて本発明の実施形態による車載制御装置を含む車両の構成及び動作を説明する。
車両は、車載書き込み装置100(ゲートウェイ)、複数の車載制御装置200(200〜200)を備える。車載書き込み装置100と車載制御装置200は、相互に車載ネットワークCANを介して通信する。
車載制御装置200は、マイコン201、車載制御装置200毎の用途に応じた各種のIC(Integrated Circuit)204、CANトランシーバなどの通信装置205を備える。マイコン201は、SRAM202(揮発性メモリ)、FLASHメモリ203(不揮発性メモリ)を内蔵する。
なお、車載書き込み装置100の構成も車載制御装置200の構成と基本的に同じであるが、車両の外部のネットワークのプロトコルに応じた通信装置をさらに備える。すなわち、車載書き込み装置100は、マイコン101、各種のIC104、CANトランシーバなどの通信装置105、車両の外部のネットワークのプロトコルに応じた通信装置106を備える。マイコン101は、SRAM102、FLASHメモリ103を内蔵する。
次に、図2を用いて、車載制御装置200のSRAM202の構成を説明する。図2は、図1に示すSRAM202の内部の構成を示す模式図である。
SRAM202は、車載書込み装置100から送信された差分データを一時的に記憶するための受信エリア202a、差分データを用いて差分復元した復元プログラムを一時的に記憶するための復元エリア202bを備える。
次に、図3を用いて、FLASHメモリ203の構成を説明する。図3は、図1に示すFLASHメモリ203の内部の構成を示す模式図である。FLASHメモリ203は、第1不揮発性メモリ301(A面配置プログラム)と、第2不揮発性メモリ302(B面配置プログラム)と、第3不揮発性メモリ309(実行面を指示する変数selectareaを格納している)で構成されている。
第1不揮発性メモリ301は、プリブート303とA面ブート304とA面更新ソフト304AとA面特定プログラム305で構成されている。第1不揮発性メモリ301には、このように、特定プログラム305を配置しており、更新はしない。一方、第2不揮発性メモリ302(B面配置プログラム)は、B面ブート306とB面更新ソフト307とB面プログラム308で構成されている。第2不揮発性メモリ302には、このように、更新対象のB面プログラム308を配置している。本発明の実施例では、A面特定プログラム305は差分更新時に参照するが、更新しない。一方、B面プログラム308は差分更新によって新プログラムへ更新する。
ここで、第1不揮発性メモリ301のプリブート303は、車載制御装置がパワーオンまたはイグニッションオンした場合に、最初に実行される初期化プログラムが搭載されており、SRAM202などの初期化後に第3不揮発性メモリ309の変数selectareaを参照して、その値に従ってA面ブート304またはB面ブート306のいずれかに分岐する。すなわち、selectareaには、実行すべき面情報(A面またはB面情報)が格納されている。もしB面ブート306へ分岐した場合は、B面プログラム308のサム値チェックなどの診断を行った後、B面プログラム308内のOS立ち上げに必要な初期化や各種タイマ設定などの処理を行い、更新対象であるB面プログラム308を実行する。
これにより、車載制御装置200は正常に動作可能となる。A面更新ソフト304AはB面プログラム308実行中にソフトウェア更新指示が通知されると、実行されるプログラムである。A面更新ソフト304Aは、B面プログラムを新プログラムへ差分更新する場合に、ブロック差分データ通信ソフト601とブロック差分復元ソフト602と診断ソフト604と面切換えソフト605で構成されている(図6参照)。
一方、第2不揮発性メモリ301のA面ブート304へ分岐した場合は、同様にA面特定プログラム305のサム値チェックなどの診断を行った後、A面特定プログラム305内のOS立ち上げに必要な初期化や各種タイマ設定などの処理を行い、A面特定プログラム305を実行できる。後で詳述するが、A面の特定プログラムが実行されるのは、B面プログラムの差分更新に失敗した場合である。
これにより、車載制御装置200は、たとえB面の差分更新に失敗してもA面特定プログラムを実行することにより、正常に動作可能となる。B面更新ソフト307は、本実施例では動作することはない。
本実施形態では、一例として、FLASHメモリ203のサイズは2MBとしている。ここで、ブロックA#n, B#n(n = 1〜7)とは、消去可能な最小サイズである。例えば、ブロックB#nにデータを書き込む場合、ブロックB#n全体を消去してからデータを書き込む必要がある。
次に図4を用いて、ヘッダ付きブロック差分データの生成概要を説明する。
A面特定プログラム305全体とB面ブロック毎の新プログラムからヘッダ付きブロック差分データの生成を説明する。
A面特定プログラム305とB面ブロックB#n(n = 1〜7)毎の新プログラムからブロックB#n (n = 1〜7)毎のブロック差分データ410を生成する。生成の第1ステップは、ブロックA#nとブロックB#n (n = 1〜7)のデータ一致チェックである。例として、もしA#4とB#4のデータが一致すれば、B#4のブロック差分ヘッダ420内のブロック差分本体データサイズを0に設定したブロック差分データを生成する。もちろんブロック差分本体データは付属しない。
もしA#4とB#4のデータが不一致であれば、A面特定プログラム305全体とブロックB#4の新プログラムからB#4のブロック差分本体データ430を生成し、次にB#4のブロック差分ヘッダ420内のブロック差分本体データサイズへそのサイズを設定する。
以上でB#4のブロック差分データが生成できた。この生成処理をブロック毎に繰返すことで、B面新プログラム400のヘッダ付きブロック差分データを全て生成できる。
次に、図5を用いて車載制御装置が行う差分復元の概要を説明する。
A面配置プログラム301は第1不揮発性メモリに配置されたプログラムである。差分復元は、A面特定プログラム305とブロックB#n(n=1〜7)のブロック差分データを用いて行う。ブロックB#nのブロック差分データは、B#nのブロック差分ヘッダ500とB#nのブロック差分本体データ510で構成されている。
更新ソフト304Aの処理概要530は、B#nのブロック差分ヘッダ500内のブロック差分本体データサイズを参照し、もしブロック差分本体データサイズ=0ならば第1不揮発性メモリのブロックA#nを第2不揮発性メモリのブロックB#nヘコピーする。一方、もしブロック差分本体データサイズ≠0ならば、第1不揮発性メモリのA面プログラム305全体とB#nのブロック差分本体データ510からブロック差分復元手段を用いてブロックB#nの新プログラム520を復元する。この操作を各ブロック毎に繰返して第2不揮発性メモリへB面の新プログラムを書込むことができる。
以上、差分復元によるB面へ新プログラムを書込む概要を説明した。
次に図6〜図11を用いてその動作を詳しく説明する。
図6は、A面更新ソフト304Aのフローチャートである。
ブロック差分データ通信ソフト601は、車載書込み装置100から送信されたブロック差分データを受信し、そのブロック差分ヘッダ内のブロック差分本体データサイズの値に応じてブロック間のデータコピー処理や、ブロック差分復元ソフト602を実行する。次に603で全てのブロック差分データを受信完了したか判定し、noならば601へ分岐して次のブロック差分データを受信する。一方、yesならば新プログラムが第2不揮発性メモリへ復元完了したので、診断ソフト604を実行して正常に書込み完了したかチェックする。もし診断結果が正常ならば面切替えソフト605を実行して、第3不揮発性メモリ内の変数selectareaを“B面”に設定する。以上により、車載制御装置200をリセットすれば、PREBOOTが起動し、変数selectareaを参照してB面の新プログラムを起動できる。
次に、図7Aを用いて車載書込み装置100から送信され、ブロック差分データ通信ソフト601が受信する通信コマンドの種類を説明する。
700の通信コマンド$00は、A面の特定プログラムのバージョンを要求するコマンドである。本通信コマンドの応答により、車載書き込み装置100は、現在実行しているA面の特定プログラムが想定していたバージョンであることを知ることができる。またそのプログラムバージョンを確認した上で正しいB#n(n=1〜7)のブロック差分データを車載制御装置200へ送信することができる。
710の通信コマンド$10は、ブロック差分データ送信開始コマンドである。本通信コマンド以降に送信するデータがブロック差分データであることを車載制御装置200へ通知するために使用する。
720の通信コマンド$20 MA MSは、差分復元対象エリアを車載制御装置200へ通知するコマンドである。MAはエリアの先頭アドレスであり、MSはエリアのサイズである。
730の通信コマンド$30 DATAは、ブロック差分データ送信コマンドである。DATAは、ブロック差分ヘッダとブロック差分本体データである。
740の通信コマンド$40は、ブロック差分データ送信終了コマンドである。
このように、1つのブロック差分データは、720、730、740の3つの通信コマンドで送信され、この3つの通信コマンドが繰返し送信することで全てのブロック差分データが車載制御装置200へ送信する。
750の通信コマンド$50 MA MSは、診断開始コマンドである。MAは診断エリアの先頭アドレスであり、MSは診断エリアのサイズである。診断は、サム値チェックで行う。新プログラムの正しいサム値は、新プログラムの定められたアドレスに書き込まれており、車載制御装置200は、そのアドレスを知っているものとする。
760の通信コマンド$60は、面切替え指示コマンドである。本コマンドにより変数selectareaの値を反対の面へ切替える。
図7A、図7Bを用いて、車載書込み装置100が送信する通信コマンドのシーケンスを説明する。
770は、通信コマンド A面の特定プログラムバージョン要求 $00を送信する。
通信コマンド$00の応答として、車載制御装置200から特定プログラムのバージョン情報が返信される。
771は、通信コマンド ブロック差分データ送信開始 $10を送信する。
772は、通信コマンド 差分復元対象エリア指定 $20を送信する。
773は、通信コマンド 差分復元対象エリアのブロック差分データ $30を送信する。
774は、通信コマンド ブロック差分データ送信終了 $40を送信する。
775は、全てのブロックの差分データを送信したか判定し、もしyesならば776を実行し、もしnoならば772〜775を繰返し実行する。
776は、通信コマンド 診断開始 $50を送信する。
777は、通信コマンド 面切替え指示 $60を送信する。
以上で、車載書込み装置100は、通信コマンドを車載制御装置200へ送信できた。
以上の通信コマンドを受信してブロック差分データ通信ソフト601は動作する。
図8は、ブロック差分データ通信ソフト601のフローチャートである。
800で、車載書込み装置100から通信コマンドCMDを受信する。
801では、通信コマンドCMDが$00であるか判定し、yesならば805を実行し、noならば810を実行する。
805は、第3不揮発性メモリの変数selectareaの値と、selectarea指示面に配置されているプログラムのバージョンを読み出し、車載書込み装置100へ返信する。
810では、通信コマンドCMDが$10であるか判定し、yesならば815を実行し、noならば820を実行する。
815ではブロック差分本体データを格納するための受信エリア202aと復元エリア202bを初期化する。
820では、通信コマンドCMDが$20であるか判定し、yesならば825を実行し、noならば830を実行する。
825では、差分復元対象エリアの先頭アドレスMAとサイズMSを記憶する。
830では、通信コマンドCMDが$30であるか判定し、yesならば835を実行し、noならば840を実行する。
835では、DATA内のブロック差分本体データを受信エリア202aヘ格納し、ブロック差分ヘッダ内のブロック差分本体データサイズを読み出して変数SIZEに記憶する。
840では、通信コマンドCMDが$40であるか判定し、yesならば845を実行し、noならば850を実行する。
845は、変数SIZE=0ならば第1不揮発性メモリのブロックA#nのデータを第2不揮発性メモリB#nヘコピーし、SIZE≠0ならばブロック差分復元ソフト602を実行して、その復元結果を復元エリア202bヘ格納する。さらに復元エリア202bの復元データを第2不揮発性メモリのブロックB#n(先頭アドレスMA, サイズMS)ヘ書込む。
850では、通信コマンドCMDが$50であるか判定し、yesならば855を実行し、noならば860を実行する。
855では先頭アドレスMAとサイズMSで指示された診断エリアを診断ソフト604を実行してサム値による診断を行う。診断結果が正常ならば“正常”を記憶し、診断結果が異常ならば“異常”を記憶する。
860では通信コマンドCMDが$60であるか判定し、yesならば865を実行し、noならば1つのブロック差分データによる新プログラムは書込み完了したので、通信コマンド処理を終了する。しかし図6の603から、全てのブロック差分データを受信完了するまでブロック差分データ通信ソフト601は実行されることがわかる。
865は、第3不揮発性メモリの変数selectareaの値を設定するため、面切替えソフト605を実行する。
図9は、ブロック差分復元ソフト602のフローチャートである。
最初に、一般的な差分生成・差分復元ソフトの概要について説明する。差分生成ソフトは、差分抽出処理部において、新プログラムの部分命令列と類似の部分命令列を旧プログラムから検索して見つけ出し、その部分命令列を短い符号に置き換えてコピーコマンドに付属させる。一方、類似の部分命令列が見つからない場合には、追加コマンドにその部分命令列を付属させる。このコピーコマンドと追加コマンドの列が差分データである。このように、差分データとは、単に新プログラムから旧プログラムを減算した結果では無く、類似部分名列を短い符号に置き換えたコピーコマンドや追加コマンドなどの列で構成されている。
以上の準備を踏まえて、ブロック差分復元ソフト602の動作を説明する。
900は、受信エリア202aのブロック差分本体データから差分コマンドを読み出す。
910で差分コマンドを解析し、920で差分コマンドがコピーコマンドか判定し、yesならば925で付属する符号から変数selectareaで指示された面のプログラムの部分命令列を復元エリア202bへ書込む。もしnoならば、930を実行する。
930では差分コマンドが追加コマンドか判定し、yesなら935の追加コマンドに付属するデータ(部分命令列)を復元エリア202bヘ追加書込みをする。もしnoならば、940を実行する。
940では、受信エリア202aの差分コマンドを全て読み出したか判定し、yesなら、差分復元処理は終了である。もしnoならば、900へ戻って処理を繰返す。
以上で、差分復元した復元プログラムが復元リア202bに格納できたことになる。
図10は、診断ソフト604のフローチャートである。
1000では、新プログラム内の予め定められた特定アドレスに配置されている“新プログラムのサム値”を読み出し、変数SUMへ記憶する。
1010では、先頭アドレスMA,サイズMSのエリアに書き込まれた新プログラムのデータを4バイト単位で加算し、その加算結果を変数Sへ記憶する。
1020では、変数SUMと変数Sの一致チェックを行い、一致した場合1025を実行し、不一致の場合1030を実行する。1025では、診断結果が正常なので、診断結果として“正常”を記憶する。1030では、診断結果が異常なので、診断結果として“異常”を記憶して終了する。
図11は、面切替えソフト605のフローチャートである。
1100では、診断結果が“異常”か判定し、もしyesならば1120を実行し、もしnoならば1120を実行する。1120では、変数selectareaに“A面”を設定する。1130では、変数selectareaに“B面”を設定する。
これにより、異常であればA面の特定プログラムを実行することになり、正常であればB面の新プログラムを実行することになる。
以上で、実行可能なプログラムを2面用意した場合において、片面に特定のプログラムを配置し、片面の特定のプログラムと新しいプログラムとの差分データと、片面の特定のプログラムを用いて、新しいプログラムを差分復元し、復元した新しいプログラムを他の面へ書込むことができた。
これにより、差分データを片面の特定のプログラムと新しいプログラムから生成すれば、異なるバージョンのプログラムで動作している全ての車載制御装置を、前記差分データを用いて差分更新可能となる。
100…車載書込み装置(ゲートウェイ)
101…マイコン(演算装置)
102…SRAM(揮発性メモリ)
103…FLASHメモリ(不揮発性メモリ)
104…各種のIC
105…通信装置(CANプロトコル)
106…通信装置(車両の外部のネットワークのプロトコル)
200…車載制御装置(ECU)
201…マイコン(演算装置)
202…SRAM(揮発性メモリ)
203…FLASHメモリ(不揮発性メモリ)
204…各種のIC
205…通信装置(CANプロトコル)
202a…受信エリア
202b…復元エリア
301…第1不揮発性メモリ(A面配置プログラム)
302…第2不揮発性メモリ(B面配置プログラム)
303…プリブート(変数selectareaを参照してA面またはB面へ分岐するプログラム)
304…A面ブート(A面配置プログラムの初期化処理プログラム)
304A…A面更新ソフト
305…A面特定プログラム
306…B面ブート(B面配置プログラムの初期化処理プログラム)
307…B面更新ソフト
308…B面プログラム(B面の更新対象プログラム)
309…第3不揮発性メモリ(実行面を指示する変数selectarea格納エリア)
400…B面の新プログラム
410…ブロック差分データ
420…ブロックB#nのブロック差分ヘッダ
430…ブロックB#nのブロック差分本体データ
500…ブロックB#nのブロック差分ヘッダ
510…ブロックB#nのブロック差分本体データ
520…ブロックB#nの新プログラム
530…A面更新ソフト304Aの処理概要図
601…ブロック差分データ通信ソフト
602…ブロック差分復元ソフト
604…診断ソフト
605…面切替えソフト

Claims (5)

  1. 書込み装置から提供される更新内容に基づいて、格納している旧プログラムを新プログラムヘ更新可能な車載制御装置であって、
    実行可能な特定プログラムを格納した第1の不揮発性メモリ領域と、実行可能で更新可能なプログラムを格納した第2の不揮発性メモリ領域と、を備えた不揮発性メモリを備え、
    前記特定プログラムと前記新プログラムとの差分データと、前記第1の不揮発性メモリ領域の特定プログラムを用いて、前記新プログラムを差分復元し、復元した該プログラムを前記第2の不揮発性メモリ領域へ書込む
    ことを特徴とする車載制御装置。
  2. 書込み装置から提供される更新内容に基づいて、格納している旧プログラムを新プログラムヘ更新可能な車載制御装置であって、
    実行可能で更新可能なプログラムを格納した第1の不揮発性メモリ領域と、第2の不揮発性メモリ領域と、を備えた不揮発性メモリを備え、
    前記新プログラムは、第1の不揮発性メモリ領域と第2の不揮発性メモリ領域のいずれかへ書込むことを特徴とする車載制御装置。
  3. 前記特定プログラムは、出荷時に搭載する初期プログラムであることを特徴とする、請求項1又は2記載の車載制御装置。
  4. 書込み装置から提供される更新内容に基づいて、格納している旧プログラムを新プログラムヘ更新可能な車載制御装置のプログラム更新ソフトウェアであって、
    実行可能な特定プログラムを格納した第1の不揮発性メモリ領域と、実行可能で更新可能なプログラムを格納した第2の不揮発性メモリ領域と、を備えた不揮発性メモリを備え、
    前記特定プログラムと前記新プログラムとの差分データと、前記第1の不揮発性メモリ領域の前記特定プログラムを用いて、前記新プログラムを差分復元し、復元した前記新プログラムを前記第2の不揮発性メモリ領域へ書込む
    ことを特徴とする車載制御装置のプログラム更新ソフトウェア。
  5. 書込み装置から提供される更新内容に基づいて、格納している旧プログラムを新プログラムヘ更新可能な車載制御装置のプログラム更新ソフトウェアであって、
    実行可能で更新可能なプログラムを格納した第1の不揮発性メモリ領域と、第2の不揮発性メモリ領域と、を備えた不揮発性メモリを備え、
    前記新プログラムは、第1の不揮発性メモリ領域と第2の不揮発性メモリ領域のいずれかへ書込むことを特徴とする車載制御装置のプログラム更新ソフトウェア。
JP2017058397A 2017-03-24 2017-03-24 車載制御装置、及び、プログラム更新ソフトウェア Pending JP2018160207A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017058397A JP2018160207A (ja) 2017-03-24 2017-03-24 車載制御装置、及び、プログラム更新ソフトウェア

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058397A JP2018160207A (ja) 2017-03-24 2017-03-24 車載制御装置、及び、プログラム更新ソフトウェア

Publications (1)

Publication Number Publication Date
JP2018160207A true JP2018160207A (ja) 2018-10-11

Family

ID=63796716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058397A Pending JP2018160207A (ja) 2017-03-24 2017-03-24 車載制御装置、及び、プログラム更新ソフトウェア

Country Status (1)

Country Link
JP (1) JP2018160207A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722856A (zh) * 2019-03-19 2020-09-29 上海汽车集团股份有限公司 车载微控制器中固件的升级方法和装置
JP2020198014A (ja) * 2019-06-05 2020-12-10 富士電機株式会社 機器、データ生成プログラム、およびデータ生成方法
WO2021039326A1 (ja) * 2019-08-28 2021-03-04 株式会社デンソー 車両用電子制御システム、車両用マスタ装置、コンフィグ情報の上書きによる書換え指示方法及びコンフィグ情報の上書きによる書換え指示プログラム
WO2023241458A1 (zh) * 2022-06-14 2023-12-21 中国第一汽车股份有限公司 车载控制器的软件升级方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176582A (ja) * 2000-12-06 2002-06-21 Fuji Photo Film Co Ltd 電子機器
JP2007080034A (ja) * 2005-09-15 2007-03-29 Sony Corp 情報処理システムおよび方法、受信装置および方法、データ生成装置および方法、プログラム、並びに情報処理装置
JP2013205933A (ja) * 2012-03-27 2013-10-07 Mitsubishi Electric Corp ファームウェア更新装置およびその方法
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置
JP2017059210A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176582A (ja) * 2000-12-06 2002-06-21 Fuji Photo Film Co Ltd 電子機器
JP2007080034A (ja) * 2005-09-15 2007-03-29 Sony Corp 情報処理システムおよび方法、受信装置および方法、データ生成装置および方法、プログラム、並びに情報処理装置
JP2013205933A (ja) * 2012-03-27 2013-10-07 Mitsubishi Electric Corp ファームウェア更新装置およびその方法
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置
JP2017059210A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722856A (zh) * 2019-03-19 2020-09-29 上海汽车集团股份有限公司 车载微控制器中固件的升级方法和装置
CN111722856B (zh) * 2019-03-19 2024-04-09 上海汽车集团股份有限公司 车载微控制器中固件的升级方法和装置
JP2020198014A (ja) * 2019-06-05 2020-12-10 富士電機株式会社 機器、データ生成プログラム、およびデータ生成方法
JP7367346B2 (ja) 2019-06-05 2023-10-24 富士電機株式会社 機器、データ生成プログラム、およびデータ生成方法
WO2021039326A1 (ja) * 2019-08-28 2021-03-04 株式会社デンソー 車両用電子制御システム、車両用マスタ装置、コンフィグ情報の上書きによる書換え指示方法及びコンフィグ情報の上書きによる書換え指示プログラム
WO2023241458A1 (zh) * 2022-06-14 2023-12-21 中国第一汽车股份有限公司 车载控制器的软件升级方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
KR100584338B1 (ko) 소프트웨어 업데이트 방법 및 시스템
CN102279807B (zh) 更新共享存储器的方法和***
JP2018160207A (ja) 車載制御装置、及び、プログラム更新ソフトウェア
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
US11914871B2 (en) Electronic control device and program-update method
JP2023168511A (ja) 制御装置、方法、プログラム、および車両
JP6719020B2 (ja) 車載制御装置、及び、プログラム更新ソフトウェア
US7904896B2 (en) Program rewriting system, boot loader, storage medium, and electronic control unit
US11449329B2 (en) Vehicle control device and program update system
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
KR101601751B1 (ko) 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법
JP2018160208A (ja) 車載制御装置、及び、プログラム更新ソフトウェア
CN113613954A (zh) 电子控制装置以及控制数据的设定方法
JP3805195B2 (ja) プログラム書き換え装置及びプログラム書き換え方法
KR102669611B1 (ko) Ota 마스터, 갱신 제어 방법, 비일시적인 기억 매체, 및 차량
JP6935694B2 (ja) 電子制御装置
US11995429B2 (en) Software update device, update control method, non-transitory storage medium, and server
CN113672258A (zh) 车辆的***升级方法、装置、计算机设备和存储介质
JP6782654B2 (ja) 車載制御装置、及び、プログラム更新ソフトウェア
JP6528700B2 (ja) 車載制御装置、及び車載制御装置を含む車載ネットワーク
CN111079194A (zh) 计算装置和用于该计算装置的运行方法
JP6838714B2 (ja) 車載制御装置
US20230252153A1 (en) Electronic control device and updating method for control software
US20170031703A1 (en) Method and device for updating a virtual machine operated on a physical machine under a hypervisor

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201104