JP7514388B2 - 車両用電子制御装置及びプログラムの書き換え方法 - Google Patents

車両用電子制御装置及びプログラムの書き換え方法 Download PDF

Info

Publication number
JP7514388B2
JP7514388B2 JP2023512867A JP2023512867A JP7514388B2 JP 7514388 B2 JP7514388 B2 JP 7514388B2 JP 2023512867 A JP2023512867 A JP 2023512867A JP 2023512867 A JP2023512867 A JP 2023512867A JP 7514388 B2 JP7514388 B2 JP 7514388B2
Authority
JP
Japan
Prior art keywords
program
loader
area
rewriting
loader program
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
JP2023512867A
Other languages
English (en)
Other versions
JPWO2022215402A1 (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo 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 Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of JPWO2022215402A1 publication Critical patent/JPWO2022215402A1/ja
Application granted granted Critical
Publication of JP7514388B2 publication Critical patent/JP7514388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/311Functional or applicative languages; Rewrite languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

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

Description

本発明は、車両用電子制御装置及びプログラムの書き換え方法に関する。
自動車などの車両に搭載された電子制御装置(ECU:Electric Control Unit)で動作するプログラムに対し、ECUの機能変更や不具合改修などを目的として、新しいバージョンのプログラムへの書き換えが行われることがある。このようなECUのプログラム書き換えに関連する技術の一例として、第1データ格納面と第2データ格納面とを含む不揮発性メモリを備え、車両用マスタ装置から受信した更新データに基づいて第2データ格納面のプログラムを書換える電子制御装置において、アクティベートの実行条件が成立したときに、第1データ格納面及び第2のデータ格納面のうち何れかが運用面であるかを示す運用面情報に基づいて、第2のデータ格納面を起動面として起動させる技術が提案されている。
特開2020-27668号公報
ここで、ECUで動作するプログラムが格納される不揮発性メモリは、主としてECUの起動時に動作する起動プログラムが格納される起動プログラム領域と、ECUによる車載機器の制御等を実現する制御プログラム領域とを含んで構成される。これらのプログラム領域では、例えば、前述したようなプログラム書き換えを行う際における通信障害や書き換え中の電源供給遮断によって書き換えが失敗することにより、異常が発生する場合がある。また、プログラム領域の異常は、経年劣化による不揮発性メモリの記憶素子の電荷抜け等の物理的要因によっても生じ得る。特に、このような異常が起動プログラム領域において発生した場合、ECU自体が起動不能となる状況が発生し得る。
そこで、本発明の1つの態様では、ECUが起動不能となるリスクを抑制し、ECUの動作の信頼性を向上させることを目的とする。
本発明の1つの態様では、電気的にデータを書き換え可能な不揮発性メモリと、プロセッサとを含んで構成されたECUにおいて、前記不揮発性メモリが、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備える。また、前記プロセッサは、外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記ローダプログラムの書き換えにおいて、前記複数のローダプログラム領域のうちの1つのローダプログラム領域のローダプログラムを書き換え、当該ローダプログラム領域の書き換え後のデータが正常であるときにさらに他のローダプログラム領域のローダプログラムの書き換えを行い、前記ECUを起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動するように構成される。
ここで、前記プロセッサは、前記車両用電子制御装置を起動するときに、前記複数のローダプログラム領域のなかに異常なローダプログラム領域が存在する場合には、当該異常なローダプログラム領域を再書き換え対象領域とし、所定のタイミングで、当該再書き換え対象領域のローダプログラムを前記正常なローダプログラム領域のローダプログラムで書き換える再書き換え処理を行うように構成され得る。
また、前記複数のローダプログラム領域のそれぞれは、ローダプログラムをさらに格納する予備領域を含み、前記プロセッサは、前記複数のローダプログラム領域のそれぞれに格納されたローダプログラムを、さらに前記予備領域に格納するように構成され得る。
さらに、前記プロセッサは、前記複数のローダプログラム領域のうちの少なくとも2つが正常であるときにのみ、外部からのプログラム書き換え命令に応じたプログラム書き換えを行うように構成され得る。
本発明によれば、ECUが起動不能となるリスクが抑制され、ECUの動作の信頼性の向上が実現される。
本発明の一実施形態におけるECUの一例を示すブロック図である。 本発明の一実施形態におけるECUのプロセッサにおいて実現される機能の一例を示すブロック図である。 本発明の一実施形態におけるECUのROMにおけるプログラム格納領域の一例の説明図である。 本発明の一実施形態におけるプログラム書き換え処理の一例を示すフローチャートである。 本発明の一実施形態におけるECUの起動処理の一例を示すフローチャートである。 本発明の一実施形態におけるプログラムの再書き換え処理の一例を示すフローチャートである。 本発明の一実施形態におけるプログラム書き換え処理の途中で異常が生じ得るタイミングと、それによるECUの動作との関連を示す説明図である。
以下、添付された図面を参照し、本発明を実施するための実施形態の具体例について詳述する。なお、図面の一部においては、構成要素の符号のみを付し、名称の記載を省略している。
図1は、自動車などの車両に搭載される電子制御装置10の一例を示す。
ECU10は、車載機器(例えば、燃料噴射弁、点火プラグ、自動変速機、ブラシレスモータなど)を電子制御するマイクロコントローラである。ECU10は、図1に示すように、プロセッサ11、RAM12、ROM13、入出力インタフェース14、通信インタフェース15及びこれらを相互通信可能に接続する内部バス16を含む。
プロセッサ11は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウェアであって、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成されている。プロセッサ11は、ROM13に格納されたプログラムをRAM12にロードして実行する。
RAM12は、電源供給遮断によってデータが消失する揮発性メモリであり、プロセッサ11が動作中に使用する一時的な記憶領域を提供する。
ROM13は、電気的にデータを書き換え可能な不揮発性メモリであり、例えば、フラッシュROMやEEPROMを含む。ROM13には、ECU10を起動する際に動作する起動プログラムや車載機器を制御する制御プログラム、及び当該プログラムの処理において用いるパラメータ等のデータが格納される。
入出力インタフェース14は、A/Dコンバータ、D/Aコンバータ、D/Dコンバータ等からなり、外部機器に対するアナログ信号及びデジタル信号の入出力機能を提供する。通信インタフェース15は、例えばCAN(Controller Area Network)トランシーバ等で構成され、車載ネットワークに接続する機能を提供する。内部バス16は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を伝送するコントロールバスを含んでいる。
また、ECU10の通信インタフェース15は、ゲートウェイ20を介して、OTA(Over the Air)基地局と無線通信する無線通信機30に接続されている。ゲートウェイ20は、OTA基地局から送信されたデータのプロトコルを通信インタフェース15で処理可能なプロトコルに変換すると共に、ECU10で処理されるデータのプロトコルを基地局BSで処理可能なプロトコルに変換する機能を有する。
本実施形態では、ECU10で動作するプログラムに対する更新が必要となったときに、新しいバージョンのプログラムが、OTA基地局から無線通信で車両に配信され、車両の無線通信機30で受信される。当該プログラムは、ゲートウェイ20によってプロトコル変換されてECU10に送信される。そして、ECU10の内部にあるROM13に格納されたプログラムが当該新しいバージョンのプログラムで書き換えられる。また、ECU10のプログラムの書き換えは、車両に搭載されたコネクタを介してプログラム書き換え装置を外部接続する方法によって行うことも可能である。そして、プログラムの書き換え後にECU10が起動した際には、新しいバージョンのプログラムが実行される。
図2は、ECU10のプロセッサ11において実現される機能を示すブロック図である。プロセッサ11は、プログラムを実行することによって実現される、プログラム書き換え部111及び制御実行部112を有する。
プログラム書き換え部111は、外部からのプログラム書き換え命令に応じて、ECU10のROM13に記憶されたプログラムの書き換えを行う。
制御実行部112は、ROM13に格納された起動プログラムを実行することによってECU10を起動し、制御プログラムを実行することによって車載機器の電子制御を行う。
プログラム再書き換え部113は、ROM13に格納されたプログラム領域において異常が存在するときに、プログラム再書き換え処理を行う。
次に、ECU10のROM13におけるデータ領域について説明する。
図3は、ROM13におけるプログラム格納領域の一例を示している。ROM13のプログラム格納領域は、起動プログラム領域であるスタートアッププログラム領域131、第1ローダプログラム領域132及び第2ローダプログラム領域133と、制御プログラム領域134とを含む。
スタートアッププログラム領域131は、ECU10の起動プログラムの一部であって起動時に常駐する各種プログラムを制御するスタートアッププログラムが格納される領域である。スタートアッププログラム領域131については、プログラム書き換えの対象外とする。
第1ローダプログラム領域132及び第2ローダプログラム領域133は、ECU10の起動プログラムの一部であって制御プログラムをロードして起動させるローダプログラムが格納される領域である。ローダプログラムは、前述したスタートアッププログラムにより呼び出されて実行される。
第1ローダプログラム領域132は、動作対象であるローダプログラムが格納される第1ローダプログラム動作領域1321と、第2ローダプログラム領域133に格納されるローダプログラムが複製されて格納される第2ローダプログラム予備領域1322と、第1ローダプログラム動作領域1321が正常であるかをチェックするためのチェックサム1323とを含む。第2ローダプログラム領域133も同様に、動作対象であるローダプログラムが格納される第2ローダプログラム動作領域1331と、第1ローダプログラム領域132に格納されるローダプログラムが複製されて格納される第1ローダプログラム予備領域1332と、第2ローダプログラム動作領域1331が正常であるかをチェックするためのチェックサム1333とを含む。
制御プログラム領域134は、ECU10による車載機器への電子制御を行う制御プログラムが格納される領域である。制御プログラム領域134は、制御プログラムの処理に用いるパラメータ等のデータを含み得る。制御プログラムは、前述したローダプログラムによってロードされてプロセッサ11で実行されることにより、電子制御を実現する。
すなわち、ECU10が正常に稼働している状態においては、プロセッサ11により、スタートアッププログラム、ローダプログラム、制御プログラムの順にプログラムが実行される。
図4は、プロセッサ11が、外部からのプログラム書き換え命令に応じて、ROM13に格納されたプログラムを書き換えるプログラム書き換え処理の一例を示す。外部からのプログラム書き換え命令とは、例えば、OTAによる書き換え命令や、ECU10に外部接続されたプログラム書き換え装置からの書き換え命令である。当該プログラム書き換え処理では、プロセッサ11が、図3に示したROM13のプログラム領域のうち、スタートアッププログラム領域131を除く領域全体を書き換える。当該処理によって、プログラム書き換え部111の機能が実現される。
ステップ1001(図ではS1001と表記している。以下同様)で、プロセッサ11は、第1ローダプログラム領域132のローダプログラムを消去する。
ステップ1002で、プロセッサ11は、制御プログラム領域134の制御プログラムを消去する。
ステップ1003で、プロセッサ11は、外部からのプログラム書き換え命令に含まれるローダプログラムによって、第1ローダプログラム領域132のローダプログラムを書き換える。より具体的には、プロセッサ11は、第1ローダプログラム領域132の第1ローダプログラム動作領域1321、第2ローダプログラム予備領域1322及びチェックサム1323のデータを書き換える。
ステップ1004で、プロセッサ11は、外部からのプログラム書き換え命令に含まれる制御プログラムによって、制御プログラム領域134の制御プログラムを書き換える。なお、図示を省略しているが、プロセッサ11は、制御プログラム領域134においてもチェックサムを書き込むものとする。
ステップ1005で、プロセッサ11は、ステップ1003で書き込んだ第1ローダプログラム領域132のデータが正常であるか否かを確認する。より具体的には、プロセッサ11は、第1ローダプログラム動作領域1321及び第2ローダプログラム予備領域1322のデータが正常であるか否かを、チェックサム1323を用いてチェックする。
ステップ1006で、プロセッサ11は、ステップ1005における確認結果が正常である場合にはステップ1007に処理を進め、確認結果が異常である場合には、そのまま処理を終了する。なお、確認結果が異常である場合には、外部に対して、第1ローダプログラム領域132におけるプログラム書き換えが失敗したことを通知するようにしてもよい。
ステップ1007で、プロセッサ11は、第2ローダプログラム領域133のローダプログラムを消去する。
ステップ1008で、プロセッサ11は、第1ローダプログラム領域132のローダプログラムによって、第2ローダプログラム領域133のローダプログラムを書き換える。より具体的には、プロセッサ11は、第2ローダプログラム領域133の第2ローダプログラム動作領域1331、第1ローダプログラム予備領域1332及びチェックサム1333のデータを書き換える。なお、このとき、第2ローダプログラム領域133においても、第1ローダプログラム領域132からの複製ではなく、ステップ1003と同様に、外部からのプログラム書き換え命令に含まれるローダプログラムを直接書き込むようにしてもよい。
図5は、ECU10を起動してECU10による車載機器の電子制御を実現する処理の一例を示す。当該処理では、プロセッサ11が、図3に示したROM13におけるプログラム格納領域に格納されたプログラムのうち、スタートアッププログラム領域131に格納されたスタートアッププログラムを最初に実行する。当該処理によって、制御実行部112の機能が実現される。
ステップ1011で、プロセッサ11は、スタートアッププログラムの処理により、第1ローダプログラム領域132のローダプログラムが正常であるか否かを確認する。より具体的には、プロセッサ11は、第1ローダプログラム動作領域1321及び第2ローダプログラム予備領域1322のデータが正常であるか否かを、チェックサム1323を用いてチェックする。
ステップ1012で、プロセッサ11は、ステップ1011における確認結果が正常である場合にはステップ1013に処理を進め、確認結果が異常である場合にはステップ1020に処理を進める。
ステップ1013で、プロセッサ11は、スタートアッププログラムの処理により、第2ローダプログラム領域133のローダプログラムが正常であるか否かを確認する。より具体的には、プロセッサ11は、第2ローダプログラム動作領域1331及び第1ローダプログラム予備領域1332のデータが正常であるか否かを、チェックサム1333を用いてチェックする。このとき、プロセッサ11は、望ましくは、第2ローダプログラム動作領域1331のローダプログラムが、第1ローダプログラム動作領域1321のローダプログラムと一致するか否かについても確認する。
ステップ1014で、プロセッサ11は、ステップ1013における確認結果が正常である場合にはステップ1015に処理を進め、確認結果が異常である場合にはステップ1018に処理を進める。
ステップ1015で、プロセッサ11は、正常であることが確認された第1ローダプログラム領域132に格納されたローダプログラムの処理により、制御プログラム領域134に格納された制御プログラムが正常であるか否かを確認する。なお、プロセッサ11は、制御プログラム領域134においても、チェックサム(図示省略)を用いることによってチェックを行うことが可能である。
ステップ1016で、プロセッサ11は、ステップ1015における確認結果が正常である場合にはステップ1017に処理を進め、確認結果が異常である場合にはステップ1019に処理を進める。
ステップ1017で、プロセッサ11は、正常であることが確認された第1ローダプログラム領域132に格納されたローダプログラムの処理により、制御プログラム領域134に格納された制御プログラムをロードし、当該制御プログラムを起動して実行する。これにより、ECU10による車載機器の電子制御が実現される。
以上のステップ1011~ステップ1017の処理が、第1ローダプログラム領域132、第2ローダプログラム領域133及び制御プログラム領域134のいずれも正常である場合の処理である。
次に、ステップ1013における第2ローダプログラム領域133の確認において異常が検出された場合について説明する。プロセッサ11は、前述したように、ステップ1014の判定によりステップ1018に処理を進める。
ステップ1018で、プロセッサ11は、第2ローダプログラム領域133の書き換えフラグをセットする。これにより、後述するプログラムの再書き換え処理により、第2ローダプログラム領域133に対して優先的に再書き換え処理が行われる。その後、プロセッサ11は、ステップ1015以降の処理を実行する。
次に、ステップ1015における制御プログラム領域134の確認において異常が検出された場合について説明する。プロセッサ11は、前述したように、ステップ1016の判定によりステップ1019に処理を進める。
ステップ1019で、プロセッサ11は、正常であることが確認された第1ローダプログラム領域132に格納されたローダプログラムによる処理によって、ECU10の動作を継続する。この場合は、制御プログラム領域134に異常が生じているため、現時点ではECU10による電子制御は実現できない。しかし、ローダプログラムによってECU10の動作を継続させ、再度の外部からのプログラム書き換え命令を正常に待機することが可能である。このとき、前述したステップ1018において第2ローダプログラム領域133の書き換えフラグがセットされている場合には、後述するプログラムの再書き換え処理により、第2ローダプログラム領域133に対して優先的に再書き換え処理を行うことが可能である。
なお、ステップ1017及び1019では、第2ローダプログラム領域133のローダプログラムも正常であることが確認されている場合には、第1ローダプログラム領域132及び第2ローダプログラム領域133のいずれのローダプログラムによって処理してもよい。
次に、ステップ1011における第1ローダプログラム領域132の確認において異常が検出された場合について説明する。プロセッサ11は、前述したように、ステップ1012の判定によりステップ1020に処理を進める。
ステップ1020で、プロセッサ11は、第1ローダプログラム領域132の書き換えフラグをセットする。これにより、後述するプログラム再書き換え処理により、第1ローダプログラム領域132に対して優先的に再書き換え処理が行われる。
ステップ1021で、プロセッサ11は、スタートアッププログラムの処理により、第2ローダプログラム領域133のローダプログラムが正常であるか否かを確認する。より具体的には、プロセッサ11は、第2ローダプログラム動作領域1331及び第1ローダプログラム予備領域1332のデータが正常であるか否かを、チェックサム1333を用いてチェックする。
ステップ1022で、プロセッサ11は、ステップ1021における確認結果が正常である場合にはステップ1023に処理を進め、確認結果が異常である場合にはステップ1026に処理を進める。
ステップ1023で、プロセッサ11は、正常であることが確認された第2ローダプログラム領域133に格納されたローダプログラムの処理により、制御プログラム領域134の制御プログラムが正常であるか否かを確認する。なお、プロセッサ11は、ステップ1015と同様に、制御プログラム領域134においても、チェックサム(図示省略)を用いることによってチェックを行うことが可能である。
ステップ1024で、プロセッサ11は、ステップ1023における確認結果が正常である場合にはステップ1025に処理を進め、確認結果が異常である場合にはステップ1027に処理を進める。
ステップ1025で、プロセッサ11は、正常であることが確認された第2ローダプログラム領域133に格納されたローダプログラムの処理により、制御プログラム領域134に格納された制御プログラムをロードし、当該制御プログラムを起動して実行する。これにより、ECU10による車載機器の電子制御が実現される。
次に、ステップ1021における第2ローダプログラム領域133の確認において異常が検出された場合について説明する。プロセッサ11は、前述したように、ステップ1022の判定によりステップ1026に処理を進める。
ステップ1026で、プロセッサ11は、第1ローダプログラム領域132及び第2ローダプログラム領域133の両方が異常であるため、安全面に鑑み、ECU10をシャットダウンさせる。
次に、ステップ1023における制御プログラム領域134の確認において異常が検出された場合について説明する。プロセッサ11は、前述したように、ステップ1024の判定によりステップ1027に処理を進める。
ステップ1027で、プロセッサ11は、正常であることが確認された第2ローダプログラム領域133に格納されたローダプログラムによる処理によって、ECU10の動作を継続する。この場合は、ステップ1023と同様に、制御プログラム領域134に異常が生じているため、現時点ではECU10による電子制御は実現できない。しかし、ローダプログラムによってECU10の動作を継続させ、再度の正常なプログラムの書き換え処理を待機することが可能である。このとき、前述したステップ1020において第1ローダプログラム領域132の書き換えフラグがセットされているため、後述するプログラムの再書き換え処理により、第1ローダプログラム領域132に対して優先的にプログラムの再書き換え処理を行うことが可能である。
図6は、第1ローダプログラム領域132又は第2ローダプログラム領域133に異常が検出された場合に実行されるプログラムの再書き換え処理の一例を示す。当該処理は、いずれかの領域の書き換えフラグがセットされているときに、所定のタイミングで(例えば、プログラム書き換え処理の直後や、所定時間経過後に)実行される。
ステップ1031で、プロセッサ11は、書き換えフラグがセットされているローダプログラム領域を再書き換え対象領域とし、当該再書き換え対象領域のローダプログラムを消去する。
ステップ1032で、プロセッサ11は、再書き換え対象領域のローダプログラムを正常なローダプログラム領域に書き込まれているローダプログラムで書き換える。すなわち、第1ローダプログラム領域132に書き換えフラグがセットされている場合には、プロセッサ11は、第1ローダプログラム領域132に第2ローダプログラム133に格納されたローダプログラムを複製して書き込む。より具体的には、プロセッサ11は、第1ローダプログラム領域132の第1ローダプログラム動作領域1321、第2ローダプログラム予備領域1322及びチェックサム1323に対し、第2ローダプログラム動作領域1331、第1ローダプログラム予備領域1332及びチェックサム1333のデータを複製してそれぞれ書き込む。一方で、第2ローダプログラム領域133に書き換えフラグがセットされている場合には、プロセッサ11は、第2ローダプログラム領域133に第1ローダプログラム132に格納されたローダプログラムを複製して書き込む。より具体的には、プロセッサ11は、第2ローダプログラム領域133の第2ローダプログラム動作領域1331、第1ローダプログラム予備領域1332及びチェックサム1333に対し、第1ローダプログラム動作領域1321、第2ローダプログラム予備領域1322及びチェックサム1323のデータを複製してそれぞれ書き込む。
ステップ1033で、プロセッサ11は、再書き換え対象領域のローダプログラムが正常であるか否かを確認する。
ステップ1034で、プロセッサ11は、ステップ1033における確認結果が正常である場合には処理を終了し、確認結果が異常である場合にはステップ1035に処理を進める。
ステップ1035で、プロセッサ11は、書き換え処理の繰り返し回数が所定の閾値である上限値を超えているか否かを判定する。繰り返し回数が上限値を超えている場合には、ステップ1036に進み(Yes)、超えていない場合には、繰り返し回数のカウンタを加算してステップ1031に戻る(No)。
ステップ1036で、プロセッサ11は、再書き換え対象領域において故障が生じていることを記憶するとともに、外部に対して通知する。具体例としては、車両に搭載されたワーニングランプ等の出力手段によって警告を出力したり、外部サーバ等に対し、無線通信を介して故障を通知したりすることができる。なお、この場合、前述したように正常なローダプログラム領域に格納されたローダプログラムによってECU10による電子制御が正常に実現できているため、ECU10の処理自体に制限を加える必要はない。
次に、外部からのプログラム書き換え命令に応じて行われるプログラム書き換え処理の途中で障害が生じ得るタイミングと、それによるECU10の動作との関連について説明する。図7は、本実施形態において、図4に示したプログラム書き換え処理の途中において障害が発生し得るタイミングT1~T13と、それぞれのタイミングで障害が発生した場合においてプログラムの再書き換えの対象となるローダプログラム領域、及びECU10の動作について示す表である。なお、プログラム書き換え処理の途中において障害が発生する要因としては、例えば、ECU10における電源供給遮断や、OTAにおける通信障害等が考え得る。
T1は、プログラムの書き換えを開始する前の段階である。このタイミングで障害が発生した場合、書き換え前のローダプログラム及び制御プログラムによる動作は可能である。この場合、いずれのプログラム領域も書き換えがなされていないため、外部からのプログラム書き換え処理を再度行うこととなる。
T2~T6は、第1ローダプログラム領域132のデータの消去が開始されてから、書き換えが完了する前までの間である。T2~T3のタイミングで障害が発生した場合、書き換え前の第2ローダプログラム領域133のローダプログラムで制御プログラム領域134を起動することが可能である。この場合、第1ローダプログラム領域132に対する書き換えフラグがセットされ、優先的に再書き換え処理が行われることとなる。ただし、第2ローダプログラム領域133及び制御プログラム領域134のいずれも書き換え前であるため、外部からのプログラム書き換え処理を再度行うこととなる。また、T4~T6のタイミングで障害が発生した場合も、書き換え前の第2ローダプログラム領域133のローダプログラムで起動することが可能である。この場合、第1ローダプログラム領域132に対する書き換えフラグがセットされ、優先的に再書き換え処理が行われることとなる。ただし、第2ローダプログラム領域133は書き換え前であり、制御プログラム領域134は消去された状態であることから、外部からのプログラム書き換え処理を再度行うこととなる。
T7~T8は、第1ローダプログラム領域132におけるローダプログラムの書き換えは完了しているが、制御プログラム領域134の書き換えが完了する前である。このT7~T8のタイミングで障害が発生した場合、書き換え後の第1ローダプログラム領域132のローダプログラムで動作することが可能である。このとき、第1ローダプログラム領域132及び第2ローダプログラム領域133のいずれも書き換え途中ではなく正常な状態であるが、第2ローダプログラム領域133は書き換え前であるため、第1ローダプログラム領域132及び第2ローダプログラム領域133のデータが一致しない。このため、第2ローダプログラム領域133に対する書き換えフラグがセットされ、プログラム再書き換え処理によって優先的に書き換えが行われることとなる。しかし、この場合は、制御プログラム領域134が書き換え前であるため、外部からのプログラム書き換え処理を再度行うこととなる。
T9~T12は、第1ローダプログラム領域132及び制御プログラム領域134の書き換えは完了しているが、第2ローダプログラム領域133のデータの消去が開始されてから、書き換えが完了する前までの間である。このT9~T12のタイミングで障害が発生した場合、第2ローダプログラム領域133に対する書き換えフラグがセットされ、プログラム再書き換え処理によって優先的に書き換えが行われることとなる。このとき、第2ローダプログラム領域133のプログラムの書き換えは、プログラム再書き換え処理により、すでに書き換えが完了している第1ローダプログラム領域132のローダプログラムを用いて行うことができる。このため、外部からのプログラム書き換え処理を再度行うことは不要である。
T13は、プログラム書き換え処理が全て完了した後であるため、このタイミングで障害が発生しても、プログラム書き換え処理を再度行うことは不要である。
このように、本実施形態では、外部からのプログラム書き換え処理においてどのタイミングで障害が発生したとしても、いずれかのローダプログラム領域に格納されたローダプログラムによってECU10を動作させることが可能である。
以上説明した本実施形態によれば、ECU10のROM13において、起動プログラムのうち、プログラム書き換えの対象となり得るローダプログラムが格納されるローダプログラム領域が、第1ローダプログラム領域132及び第2ローダプログラム領域133の冗長構成とされている。そして、プロセッサ11が外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、起動プログラム領域の書き換えにおいて、第1ローダプログラム領域132及び第2ローダプログラム領域133の両方に対してローダプログラムの書き換えが行われる。そして、プロセッサ11がECU10を起動するときに、スタートアッププログラムによって第1ローダプログラム領域132及び第2ローダプログラム領域133のうち正常なローダプログラム領域に格納されたローダプログラムが実行され、当該ローダプログラムによって制御プログラムが起動される。
例えば、本実施形態によれば、第1ローダプログラム領域132に異常が存在する場合であっても、第2ローダプログラム領域133に格納されたローダプログラムによって制御プログラムをロードして起動することができる。一方で、第2ローダプログラム領域133に異常が存在する場合であっても、第1ローダプログラム領域132に格納されたローダプログラムによって制御プログラムをロードして起動することができる。
このため、本実施形態によれば、プログラム書き換え処理に起因して起動プログラム領域に異常が発生しても、いずれかのローダプログラム領域に格納されたローダプログラムによってECU10による制御を実現させることが可能である。したがって、ECU10の動作の信頼性を向上させることが可能となる。
特に、近年では、OTAを悪用した不正なプログラムの書き換えが発生することがあり、すでに市場に出回っている車両のECUに対してセキュリティ強化が必要となることがある。このような場合、単なる制御プログラムの書き換えのみならず、起動プログラムの書き換えが必要となる場合がある。また、別の側面として、車両のOEM(Original Equipment Manufacturing)による開発拠点が世界中に広がっており、仕様も複雑化している。このため、ECUの開発中に、仕様変更によりROMの起動プログラムを書き換えるケースが増加する傾向にある。この点において、本実施形態では、ECU10の起動プログラム領域を、仕様変更等が生じても変更の影響が及ばない基本部分であるスタートアッププログラムの格納領域と、仕様変更等に伴ってプログラムの書き換えが生じ得るローダプログラムの格納領域とに分割し、プログラムの書き換え処理の対象となるローダプログラムの格納領域を冗長構成としている。したがって、起動プログラムの書き換えに起因するROM13の異常によって生じ得るECU10の動作への影響を、効果的に抑制することができる。
また、ROMにおける起動プログラム領域の異常は、プログラム書き換え処理によるものに限定されず、例えば、経年劣化による不揮発性メモリの記憶素子の電荷抜け等の物理的要因によっても生じ得る。本実施形態によれば、このような他の要因によっていずれかのローダプログラム領域に異常が生じた場合にも、他のローダプログラム領域に格納されたローダプログラムを実行することができ、ECU10による制御を実現させることが可能である。
また、制御プログラム領域134において異常が存在する場合においても、前述のようにいずれかのローダプログラムが動作可能であるため、ECU10の動作自体を継続し、外部からのプログラム書き換え命令に応じた再度のプログラム書き換え処理を正常に待機することが可能である。
さらに、本実施形態によれば、まず第1ローダプログラム領域132のローダプログラムが書き換えられ、第1ローダプログラム領域132における書き換え後のローダプログラムが正常であることが確認されたときに、他のローダプログラム領域である第2ローダプログラム領域133のローダプログラムの書き換えが行われる。このため、ローダプログラム領域の冗長構成におけるデータの信頼性が向上する。
また、本実施形態によれば、プログラム再書き換え処理によって、いずれかのローダプログラム領域において異常が存在した場合には、当該ローダプログラム領域を再書き換え対象領域とし、正常なローダプログラム領域のローダプログラムによって再書き換え対象領域のローダプログラムを書き換えることができる。このため、外部からのプログラム書き換えを再度行う必要なく、ローダプログラム領域の冗長構成を生成することが可能となる。
さらに、本実施形態によれば、プログラム再書き換え処理において、再書き換え対象領域に対する再書き換え処理の繰り返し回数が上限値を超えている場合に、再書き換え対象領域において故障が生じていることをROM13自体や外部の記憶手段において記憶し、外部に対して、対象領域が異常であることを通知する。これにより、ROM13における記憶素子の物理的故障等に対して早急に対応することが可能となる。このとき、必要に応じて、当該再書き換え対象領域を使用禁止とすることを通知するようにしてもよい。
ここで、プログラム再書き換え処理の変形例として、前述した図6のステップ1033の処理において再書き換え対象領域が正常であった場合においても、例えば、再書き換え対象領域を示す情報とともに当該再書き換え処理が行われたタイミングを記憶しておくことにより、再書き換え処理が行われた頻度をローダプログラム領域ごとに算出してもよい。そして、再書き換え処理の頻度が所定の閾値よりも高いローダプログラム領域が存在する場合には、外部に対して警告を出力するようにしてもよい。また、当該頻度が特に高い場合には、対象領域において故障が生じている可能性があることをROM13自体や外部の記憶手段において記憶したり、外部に対して故障を通知したりしてもよい。
また、さらなる変形例として、次回にECU10を起動するときに、再書き換え処理が行われた頻度が最も低いローダプログラム領域に格納されたローダプログラムを実行するようにしてもよい。そうすることによって、ECU10の起動における信頼性をより向上させることができる。
なお、プログラム再書き換え処理は、本発明において必須ではなく任意の構成である。
また、本実施形態では、第1ローダプログラム領域132において、第2ローダプログラム予備領域1322を備える一方で、第2ローダプログラム領域133で、第1ローダプログラム予備領域1332を備えている。このようなさらなる冗長構成を有することにより、ローダプログラムが実行できなくなるリスクをさらに低減させることが可能となる。なお、このような予備領域を備えることは、本発明において必須ではなく任意の構成である。
さらに、外部からのプログラム書き換え命令によってプログラム書き換えを行うときの変形例として、複数のローダプログラム領域のうちの少なくとも2つ、すなわち、本実施形態においては、第1ローダプログラム領域132及び第2ローダプログラム領域133の両方が正常であるときにのみ、外部からのプログラム書き換え命令に応じたプログラム書き換え処理を行うようにしてもよい。そうすることによって、確実にローダプログラム領域の冗長構成が実現できる場合にのみプログラム書き換えが行われることになり、ECU10の動作の信頼性をさらに向上させることが可能となる。
また、プログラム領域の変形例として、ROM13において、複数の制御プログラム領域を備えた冗長構成としてもよい。そして、ECU10を起動するときに、複数の制御プログラム領域のうち、正常な制御プログラム領域に格納された制御プログラムを選択して起動するようにしてもよい。また、いずれかの制御プログラム領域に異常がある場合にも書き換えフラグをセットするようにし、プログラム再書き換え処理において、他の制御プログラムの格納領域の制御プログラムで異常がある制御プログラム領域の制御プログラムを書き換えるようにしてもよい。そうすることによって、いずれかの制御プログラム領域において異常が発生した場合にも、正常にECU10による制御を実現できる。また、外部からのプログラム書き換え処理を再度行うことを回避できる可能性が高くなる。
なお、本実施形態では、ローダプログラム領域について、第1ローダプログラム領域132及び第2ローダプログラム領域133の2つの冗長構成としているが、領域数は2つに限定されるものではなく、複数であればいくつであってもよい。制御プログラム領域を冗長構成とした場合においても同様である。
また、上記の本実施形態の説明においては、ローダプログラム領域を含めたプログラムの書き換え処理についてのみ言及したが、通常のプログラム書き換え処理、すなわち、制御プログラムのみの書き換え処理を行うことも当然に可能である。
以上説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の例示として開示されるものであって、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
10…ECU、11…プロセッサ、12…RAM、13…ROM、111…プログラム書き換え部、112…制御実行部、113…プログラム再書き換え部、131…スタートアッププログラム領域、132…第1ローダプログラム領域、133…第2ローダプログラム領域、134…制御プログラム領域

Claims (14)

  1. 電気的にデータを書き換え可能な不揮発性メモリと、プロセッサとを含んで構成された車両用電子制御装置であって、
    前記不揮発性メモリは、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備え、
    前記プロセッサは、外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のそれぞれのローダプログラムを書き換え、前記車両用電子制御装置を起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動するように構成され、
    前記プロセッサは、前記車両用電子制御装置を起動するときに、前記複数のローダプログラム領域のなかに異常なローダプログラム領域が存在する場合には、当該異常なローダプログラム領域を再書き換え対象領域とし、所定のタイミングで、当該再書き換え対象領域のローダプログラムを前記正常なローダプログラム領域のローダプログラムで書き換える再書き換え処理を行うように構成された、車両用電子制御装置。
  2. 前記プロセッサは、前記再書き換え処理によっても前記再書き換え対象領域が正常にならない場合には前記再書き換え処理を繰り返して行い、繰り返し回数が所定の閾値を超えたときには、当該再書き換え対象領域において故障が生じていることを外部に対して通知するように構成された、請求項記載の車両用電子制御装置。
  3. 前記プロセッサは、前記再書き換え処理が行われた頻度を前記複数のローダプログラム領域のそれぞれについて算出し、当該頻度が所定の閾値よりも高いローダプログラム領域が存在する場合には、外部に対して警告を出力するように構成された、請求項記載の車両用電子制御装置。
  4. 前記プロセッサは、前記再書き換え処理が行われた頻度を前記複数のローダプログラム領域のそれぞれについて算出し、前記車両用電子制御装置を起動するときに、前記複数のローダプログラム領域のうち、前記再書き換え処理が行われた頻度が最も低いローダプログラム領域に格納されたローダプログラムを実行するように構成された、請求項記載の車両用電子制御装置。
  5. 電気的にデータを書き換え可能な不揮発性メモリと、プロセッサとを含んで構成された車両用電子制御装置であって、
    前記不揮発性メモリは、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備え、
    前記プロセッサは、外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のそれぞれのローダプログラムを書き換え、前記車両用電子制御装置を起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動するように構成され、
    前記複数のローダプログラム領域のそれぞれは、ローダプログラムをさらに格納する予備領域を含み、
    前記プロセッサは、前記複数のローダプログラム領域のそれぞれに格納されたローダプログラムを、さらに前記予備領域に格納するように構成された、車両用電子制御装置。
  6. 電気的にデータを書き換え可能な不揮発性メモリと、プロセッサとを含んで構成された車両用電子制御装置であって、
    前記不揮発性メモリは、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備え、
    前記プロセッサは、外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のそれぞれのローダプログラムを書き換え、前記車両用電子制御装置を起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動するように構成され、
    前記プロセッサは、前記複数のローダプログラム領域のうちの少なくとも2つが正常であるときにのみ、外部からのプログラム書き換え命令に応じたプログラム書き換えを行うように構成された、車両用電子制御装置。
  7. 前記プロセッサは、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のうちの1つのローダプログラム領域のローダプログラムを書き換え、当該ローダプログラム領域の書き換え後のローダプログラムが正常であるときに、さらに他のローダプログラム領域のローダプログラムの書き換えを行うように構成された、請求項1~6のいずれか1項に記載の車両用電子制御装置。
  8. 電気的にデータを書き換え可能な不揮発性メモリに、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備えた車両用電子制御装置のプロセッサが、
    外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のそれぞれのローダプログラムを書き換え、前記車両用電子制御装置を起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動し、
    前記プロセッサが、前記車両用電子制御装置を起動するときに、前記複数のローダプログラム領域のなかに異常なローダプログラム領域が存在する場合には、当該異常なローダプログラム領域を再書き換え対象領域とし、所定のタイミングで、当該再書き換え対象領域のローダプログラムを前記正常なローダプログラム領域のローダプログラムで書き換える再書き換え処理を行う、プログラムの書き換え方法。
  9. 前記プロセッサが、前記再書き換え処理によっても前記再書き換え対象領域が正常にならない場合には前記再書き換え処理を繰り返して行い、繰り返し回数が所定の閾値を超えたときには、当該再書き換え対象領域において故障が生じていることを外部に対して通知する、請求項記載のプログラムの書き換え方法。
  10. 前記プロセッサが、前記再書き換え処理が行われた頻度を前記複数のローダプログラム領域のそれぞれについて算出し、当該頻度が所定の閾値よりも高いローダプログラム領域が存在する場合には、外部に対して警告を出力する、請求項記載のプログラムの書き換え方法。
  11. 前記プロセッサが、前記再書き換え処理が行われた頻度を前記複数のローダプログラム領域のそれぞれについて算出し、前記車両用電子制御装置を起動するときに、前記複数のローダプログラム領域のうち、前記再書き換え処理が行われた頻度が最も低いローダプログラム領域に格納されたローダプログラムを実行する、請求項記載のプログラムの書き換え方法。
  12. 電気的にデータを書き換え可能な不揮発性メモリに、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備えた車両用電子制御装置のプロセッサが、
    外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のそれぞれのローダプログラムを書き換え、前記車両用電子制御装置を起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動し、
    前記複数のローダプログラム領域のそれぞれは、ローダプログラムをさらに格納する予備領域を含み、
    前記プロセッサが、前記複数のローダプログラム領域のそれぞれに格納されたローダプログラムを、さらに前記予備領域に格納する、プログラムの書き換え方法。
  13. 電気的にデータを書き換え可能な不揮発性メモリに、プログラム書き換えの対象外であるスタートアッププログラムが格納されるスタートアッププログラム領域及びプログラム書き換えの対象となり得るローダプログラムがそれぞれ格納される複数のローダプログラム領域を含む起動プログラム領域と、車載機器を制御する制御プログラムが格納される制御プログラム領域とを備えた車両用電子制御装置のプロセッサが、
    外部からのプログラム書き換え命令に応じてプログラム書き換えを行うときに、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のそれぞれのローダプログラムを書き換え、前記車両用電子制御装置を起動するときに、前記スタートアッププログラムによって前記複数のローダプログラム領域のうち正常なローダプログラム領域に格納されたローダプログラムを実行し、当該ローダプログラムによって前記制御プログラムを起動し、
    前記プロセッサが、前記複数のローダプログラム領域のうちの少なくとも2つが正常であるときにのみ、外部からのプログラム書き換え命令に応じたプログラム書き換えを行う、プログラムの書き換え方法。
  14. 前記プロセッサが、前記起動プログラム領域の書き換えにおいて、前記複数のローダプログラム領域のうちの1つのローダプログラム領域のローダプログラムを書き換え、当該ローダプログラム領域の書き換え後のローダプログラムが正常であるときに、さらに他のローダプログラム領域のローダプログラムの書き換えを行うように構成された、請求項8~13のいずれか1項に記載のプログラムの書き換え方法。
JP2023512867A 2021-04-08 2022-03-04 車両用電子制御装置及びプログラムの書き換え方法 Active JP7514388B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021065762 2021-04-08
JP2021065762 2021-04-08
PCT/JP2022/009349 WO2022215402A1 (ja) 2021-04-08 2022-03-04 車両用電子制御装置及びプログラムの書き換え方法

Publications (2)

Publication Number Publication Date
JPWO2022215402A1 JPWO2022215402A1 (ja) 2022-10-13
JP7514388B2 true JP7514388B2 (ja) 2024-07-10

Family

ID=83545871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023512867A Active JP7514388B2 (ja) 2021-04-08 2022-03-04 車両用電子制御装置及びプログラムの書き換え方法

Country Status (3)

Country Link
US (1) US20240160414A1 (ja)
JP (1) JP7514388B2 (ja)
WO (1) WO2022215402A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284902A (ja) 2004-03-30 2005-10-13 Net Conscious Kk 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
JP2008003861A (ja) 2006-06-22 2008-01-10 Sony Corp 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア
JP2018136777A (ja) 2017-02-22 2018-08-30 日立オートモティブシステムズ株式会社 制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284902A (ja) 2004-03-30 2005-10-13 Net Conscious Kk 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
JP2008003861A (ja) 2006-06-22 2008-01-10 Sony Corp 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア
JP2018136777A (ja) 2017-02-22 2018-08-30 日立オートモティブシステムズ株式会社 制御装置

Also Published As

Publication number Publication date
US20240160414A1 (en) 2024-05-16
WO2022215402A1 (ja) 2022-10-13
JPWO2022215402A1 (ja) 2022-10-13

Similar Documents

Publication Publication Date Title
CN110809755B (zh) 电子控制系统
EP3920020A1 (en) Electronic control device and program update method
TWI805946B (zh) 內嵌式系統及控制非揮發性記憶體之方法
CN103688268A (zh) 车辆单元和用来操作车辆单元的方法
JP7367626B2 (ja) ソフトウェア更新装置、方法、プログラムおよび車両
KR20080023841A (ko) 펌웨어 업그레이드와 손상된 펌웨어 자동 복구 시스템 및방법
JP2008254484A (ja) 車載用通信システム
JP7514388B2 (ja) 車両用電子制御装置及びプログラムの書き換え方法
CN111273928B (zh) 一种自升级的bootloader设计方法
JP2004338883A (ja) エレベーターの制御装置
JP6708596B2 (ja) 電子制御装置及び制御プログラム検証方法
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
JP2019214353A (ja) 通信装置及び制御方法
TWI726477B (zh) 伺服器裝置及其可程式化邏輯單元之避免韌體更新失敗後無法再次更新之方法
JP2019008693A (ja) 自動車用制御装置
CN113176891A (zh) 一种基于Bootloader带有备份功能的ECU的程序烧写方法
JP6984203B2 (ja) 電子制御装置及び更新ソフトウェア配信システム
CN113454608A (zh) 用于更新机动车辆计算机以向其添加附加功能的更新方法
US20240311247A1 (en) Electronic control unit and storage medium storing software redundancy establishing program
WO2020043361A1 (en) Installing application program code on a vehicle control system
JP2023119314A (ja) 電子制御装置
JP2010157026A (ja) プログラムエリア切替方法
US20230333838A1 (en) Method and device for updating software of an onboard computer in a vehicle, comprising a runtime memory, a backup memory and a control memory
JP2003296131A (ja) ファームウェア書き換え装置
JP2020004448A (ja) 自動車用電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240628

R150 Certificate of patent or registration of utility model

Ref document number: 7514388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150