JP7010049B2 - 車両制御装置、プログラムの更新確認方法および更新確認プログラム - Google Patents

車両制御装置、プログラムの更新確認方法および更新確認プログラム Download PDF

Info

Publication number
JP7010049B2
JP7010049B2 JP2018026152A JP2018026152A JP7010049B2 JP 7010049 B2 JP7010049 B2 JP 7010049B2 JP 2018026152 A JP2018026152 A JP 2018026152A JP 2018026152 A JP2018026152 A JP 2018026152A JP 7010049 B2 JP7010049 B2 JP 7010049B2
Authority
JP
Japan
Prior art keywords
program
execution unit
update
executed
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
JP2018026152A
Other languages
English (en)
Other versions
JP2019144670A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2018026152A priority Critical patent/JP7010049B2/ja
Priority to US16/265,143 priority patent/US10802814B2/en
Priority to CN201910108801.2A priority patent/CN110162316B/zh
Priority to CN202410230894.7A priority patent/CN117950701A/zh
Priority to DE102019102853.1A priority patent/DE102019102853A1/de
Publication of JP2019144670A publication Critical patent/JP2019144670A/ja
Priority to JP2022003285A priority patent/JP7188622B2/ja
Application granted granted Critical
Publication of JP7010049B2 publication Critical patent/JP7010049B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0225Failure correction strategy

Landscapes

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

Description

本発明は、車両等に搭載される車両制御装置およびそのプログラムの更新確認方法およびプログラムの更新確認プログラムに関する。
車両には、ECU(Electronic Control Unit)と呼ばれる、記憶部および制御部(プロセッサ)を備えた複数の制御装置が搭載されており、それぞれの制御部は、記憶部に格納されたプログラムを実行して、各種の車両制御のための処理を行う。
このようなプログラムは、機能の改良や追加のため更新されることがある。特許文献1は、プログラム更新用データをネットワーク経由で携帯端末装置にダウンロードして、携帯端末装置から車両にデータを提供してプログラムを書き換えることで更新を行うシステムを開示している。
特開2016-60407号公報
ECUの高度化、複雑化により、複数のプロセッサを備え、それぞれが異なるプログラムを実行するECUが存在する。このようなECUでは、記憶部へ更新プログラムを書き込む際や実行対象のプログラムを更新前のものから更新後のものに切り替える際の各種処理の実行タイミングにプログラムごとにずれが生じるおそれがある。このようなずれが生じるとECUの起動時に実行対象のプログラムの一部が更新後のプログラムに変更されず、各プログラムの更新前のバージョンと更新後のバージョンとが想定外の組合せで混在する状態が発生しうる。このような状態ではECUが意図しない動作をするおそれがある。
本発明は、上記課題に鑑み、プログラムの更新の際、実行対象のプログラムが更新前のプログラムから更新後のプログラムに変更されたことを確認できる車両制御装置、プログラムの確認方法およびプログラムを提供することを目的とする。
上記課題を解決するために、本発明の一局面は、車両を制御する第1制御プログラムを記憶する第1記憶部と、車両を制御する第2制御プログラムを記憶する第2記憶部と、第1制御プログラムを実行する第1実行部と、第2制御プログラムを実行する第2実行部と、車両の外部の装置からネットワークを介して取得される更新データに基づいて、第1制御プログラムの更新版である第1更新プログラムを第1記憶部に記憶させたのち、第1実行部の実行対象のプログラムを第1更新プログラムに変更することが可能な更新部とを備え、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更した場合、第2実行部は、第1実行部の実行対象のプログラムに含まれる識別子を第1実行部から取得し、少なくとも第1実行部から取得した識別子に基づいて、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認する、車両制御装置である。
これにより、第1制御プログラムが第1更新プログラムに更新された場合、第2実行部が、第1実行部の実行対象が第1更新プログラムに変更されていることを確認できる。
また、更新部は、さらに、更新データに基づいて、第2制御プログラムの更新版である第2更新プログラムを第2記憶部に記憶させたのち、第2実行部の実行対象のプログラムを第2更新プログラムに変更することが可能であり、更新部が、第2実行部の実行対象のプログラムを第2更新プログラムに変更した場合、第1実行部は、第2実行部の実行対象のプログラムに含まれる識別子を第2実行部から取得し、少なくとも第2実行部から取得した識別子に基づいて、第2実行部の実行対象のプログラムが第2更新プログラムに変更されたことを確認してもよい。
これにより、さらに第2制御プログラムが第2更新プログラムに更新された場合、第1実行部が第2実行部の実行対象が第2更新プログラムに変更されていることを確認できる。
また、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更し、第2実行部の実行対象のプログラムを第2更新プログラムに変更した場合、第1実行部が、第2実行部の実行対象のプログラムが第2更新プログラムに変更されたことを確認し、かつ、第2実行部が、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認した場合に、第1実行部は、第1更新プログラムを実行し、第2実行部は、第2更新プログラムを実行してもよい。
これにより、実行対象のプログラムが更新後のプログラムに正しく変更されている場合に更新プログラムが実行されるので、意図しない動作が行われるおそれを低減できる。
また、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更し、第2実行部の実行対象のプログラムを第2更新プログラムに変更した場合、第1更新プログラムは、第1記憶部の第1制御プログラムが記憶された領域以外の領域に記憶され、第2更新プログラムは、第2記憶部の第2制御プログラムが記憶された領域以外の領域に記憶され、第1実行部が、第2実行部の実行対象のプログラムが第2更新プログラムに変更されたことを確認できない場合、第2実行部が、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認できない場合、の少なくともいずれか一方の場合に、第1実行部は、第1制御プログラムを実行し、第2実行部は、第2制御プログラムを実行してもよい。
これにより、実行対象のプログラムが更新後のプログラムに正しく変更されていない場合は、各実行部が更新前のプログラムを実行するため、意図しない動作が行われるおそれを低減できる。
また、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更し、第2実行部の実行対象のプログラムを第2更新プログラムに変更していない場合、第1実行部が、第2実行部の実行対象のプログラムに含まれる識別子を第2実行部から取得し、少なくとも第2実行部から取得した識別子に基づいて、第2実行部の実行対象のプログラムが第2制御プログラムから変更されていないことを確認し、かつ、第2実行部が、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認した場合に、第1実行部は、第1更新プログラムを実行し、第2実行部は、第2制御プログラムを実行してもよい。
これにより、実行対象のプログラムが更新後のプログラムに正しく変更されている場合に更新プログラムが実行されるので、意図しない動作が行われるおそれを低減できる。
また、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更し、第2実行部の実行対象のプログラムを第2更新プログラムに変更していない場合、第1更新プログラムは、第1記憶部の第1制御プログラムが記憶された領域以外の領域に記憶されており、第1実行部が、第2実行部の実行対象のプログラムに含まれる識別子を第2実行部から取得し、少なくとも第2実行部から取得した識別子に基づいて、第2実行部の実行対象のプログラムが第2制御プログラムから変更されていないことを確認し、かつ、第2実行部が、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認できなかった場合、第1実行部は、第1制御プログラムを実行し、第2実行部は、第2制御プログラムを実行してもよい。
これにより、実行対象のプログラムが更新後のプログラムに正しく変更されていない場合は、実行部が更新前のプログラムを実行するため、意図しない動作が行われるおそれを低減できる。
また、車両を制御する第3制御プログラムを記憶する第3記憶部と、第3制御プログラムを実行する第3実行部とを少なくともさらに備え、更新部は、さらに、更新データに基づいて、第3制御プログラムの更新版である第3更新プログラムを第3記憶部に記憶させたのち、第3実行部の実行対象のプログラムを第3更新プログラムに変更することが可能であり、更新部が、第3実行部の実行対象のプログラムを第3更新プログラムに変更した場合、第1実行部は、第3実行部の実行対象のプログラムに含まれる識別子を第3実行部から取得し、少なくとも第3実行部から取得した識別子に基づいて、第3実行部の実行対象のプログラムが第3更新プログラムに変更されたことを確認してもよい。
これにより、3つ以上の実行部が相互に実行対象のプログラムを確認することができる。
本発明の他の局面は、車両を制御する第1制御プログラムを記憶する第1記憶部と、車両を制御する第2制御プログラムを記憶する第2記憶部と、第1制御プログラムを実行する第1実行部と、第2制御プログラムを実行する第2実行部と、車両の外部の装置からネットワークを介して取得される更新データに基づいて、第1制御プログラムの更新版である第1更新プログラムを第1記憶部に記憶させたのち、第1実行部の実行対象のプログラムを第1更新プログラムに変更することが可能な更新部とを備える、車両制御装置の第2実行部が実行するプログラムの更新確認方法であって、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更した場合、第1実行部の実行対象のプログラムに含まれる識別子を第1実行部から取得するステップと、少なくとも第1実行部から取得した識別子に基づいて、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認するステップとを含む、更新確認方法である。
本発明のさらに他の局面は、車両を制御する第1制御プログラムを記憶する第1記憶部と、車両を制御する第2制御プログラムを記憶する第2記憶部と、第1制御プログラムを実行する第1実行部と、第2制御プログラムを実行する第2実行部と、車両の外部の装置からネットワークを介して取得される更新データに基づいて、第1制御プログラムの更新版である第1更新プログラムを第1記憶部に記憶させたのち、第1実行部の実行対象のプログラムを第1更新プログラムに変更することが可能な更新部とを備える、車両制御装置の第2実行部に実行させるプログラムの更新確認プログラムであって、更新部が、第1実行部の実行対象のプログラムを第1更新プログラムに変更した場合、第1実行部の実行対象のプログラムに含まれる識別子を第1実行部から取得するステップと、少なくとも第1実行部から取得した識別子に基づいて、第1実行部の実行対象のプログラムが第1更新プログラムに変更されたことを確認するステップとを含む、更新確認プログラムである。
これらにより、第1制御プログラムが第1更新プログラムに更新された場合、第2実行部が、第1実行部の実行対象が第1更新プログラムに変更されていることを確認できる。
本発明によれば、上述のように、プログラムの更新の際、1つの実行部の実行対象のプログラムの識別子を他の実行部が取得して確認するので、プログラムが正しく変更されたことを確認できる車両制御装置、プログラム確認方法およびプログラムを提供することができる。
本発明の一実施形態に係る車両制御装置の機能ブロック図 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図 本発明の一実施形態に係る車両制御装置の処理を示すシーケンス図 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図 本発明の一実施形態に係る車両制御装置の処理を示すシーケンス図 本発明の一実施形態に係る車両制御装置の実行部および記憶部の模式図 本発明の変形例に係る車両制御装置の実行部および記憶部の模式図
(概要)
本発明に係る車両制御装置は、複数の実行部がそれぞれのプログラムを実行する。プログラムが更新された場合、各実行部は、互いに他の実行部から実行対象のプログラムの識別子を取得して確認することで、更新されたプログラムに変更されているかを確認することができる。
(実施形態)
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。
<構成>
図1に、本実施形態における車両制御装置100の機能ブロック図を示す。車両制御装置100は一例として、車両の自動運転制御を行う自動運転ECUであり、各種センサからの入力に基づいて、ステアリング、エンジン、ブレーキ等を制御して車両の運転を行う。車両制御装置100は、プロセッサである第1実行部11、第2実行部21と、例えばFlashROMのような不揮発性のメモリである第1記憶部12、第2記憶部22とを含む。第1記憶部12は第1制御プログラム記憶領域13と第1更新プログラム記憶領域14とを有する。第1実行部11はプロセッサであり、第1制御プログラム記憶領域13に記憶されている現在の実行対象のプログラムである第1制御プログラムを実行する。また、第2実行部21はプロセッサであり、現在の実行対象のプログラムである第2制御プログラム記憶領域23に記憶されている第2制御プログラムを実行する。また、車両制御装置100は、揮発性のRAMを含んでもよい。これらのプログラムの実行出力により、上述の自動運転制御が行われる。
更新部91は、車両に搭載されたOTA受信機等が車外のサーバー等からネットワークを介して受信した更新データを取得する。更新部91は、更新データを取得すると、これに基づいて、第1制御プログラムの更新版である第1更新プログラムおよび第2制御プログラムの更新版である第2更新プログラムの一方または両方を生成することができる。更新部91は第1更新プログラムを第1記憶部12の第1更新プログラム記憶領域14に記憶させ、第2更新プログラムを第2記憶部22の第2更新プログラム記憶領域24に記憶させる。なお、更新部91の機能は、第1実行部11および第2実行部21がそれぞれ実行してもよい。
図2に、第1更新プログラムが第1記憶部12に記憶されておらず、第2更新プログラムが第2記憶部22に記憶されていない場合の、車両制御装置100の各実行部および各記憶部を模式的に示す。第1制御プログラムは識別子を含んでおり、図示する例では「122」である。これは、第1制御プログラムのバージョンを示す。同様に、第2制御プログラムは識別子を含んでおり、図示する例では「122」である。これは、第2制御プログラムのバージョンを示す。したがって図示する状態では、第1制御プログラムと第2制御プログラムとは同時に実行されるべきバージョンの組となっている。
<処理1>
以下に、本実施形態に係るプログラム更新処理の一例を説明する。まず、第1制御プログラムと第2制御プログラムがともに更新される場合について説明する。図3は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
(ステップS101):第1実行部11が第1制御プログラムを読み出して実行する。第1実行部11は、実行対象のプログラムとして第1制御プログラム記憶領域13から第1制御プログラムを読み出すことを、例えば、第1記憶部12に記憶された、プログラムの読み出し先を指定するアドレス等を含む第1読み出し先情報に基づいて判定することができる。第1読み出し先情報は、例えば、更新部91が第1記憶部12に書き込む情報であり、第1実行部11にプログラムの読み出し先を指定する情報やこの情報が変更されたことを表すフラグ等を含む。
(ステップS102):第2実行部21が第2制御プログラムを読み出して実行する。第2実行部21は、実行対象のプログラムとして第2制御プログラム記憶領域23から第2制御プログラムを読み出すことを、例えば、第2記憶部22に記憶された、第2読み出し先情報に基づいて判定することができる。第2読み出し先情報は、例えば、更新部91が第2記憶部12に書き込む情報であり、第2実行部21にプログラムの読み出し先を指定する情報やこの情報が変更されたことを表すフラグ等を含む。
(ステップS103):更新部91が更新データに基づいて第1更新プログラムおよび第2更新プログラムを生成する。更新データの形式はとくに限定されないが、例えば更新前のプログラムからの更新された部分を含む差分データやその圧縮データであってもよいし、更新プログラムの全体であってもよい。更新部91は、第1記憶部12の第1更新プログラム記憶領域14に第1更新プログラムを記憶させ、第2記憶部22の第2更新プログラム記憶領域24に第2更新プログラムを記憶させる。
以上のステップS101、S102、S103の処理が実行され、イグニッションスイッチがオフとなると、以下の処理が行われる。
(ステップS104):更新部91は、第1記憶部12に記憶されている第1読み出し先情報が含む読み出し先アドレスが第1更新プログラム記憶領域14を指定するように変更し、かつ変更があったことを示すフラグを立てることにより、第1実行部11が次回実行対象のプログラムを読み出す際に、第1更新プログラム記憶領域14から第1更新プログラムを読み出すように指定する。また、更新部91は、第2記憶部22に記憶されている第2読み出し先情報の、読み出し先アドレスが第2更新プログラム記憶領域24を指定するように変更し、かつ変更があったことを示すフラグを立てることにより、第2実行部21が次回実行対象のプログラムを読み出す際に、第2更新プログラム記憶領域24から第2更新プログラムを読み出すように指定する。
以上のステップS104の処理が実行され、次にイグニッションスイッチがオンとなると、以下の処理が行われる。図4に、第1更新プログラムが第1記憶部12に記憶されていて、第2更新プログラムが第2記憶部22に記憶されている場合の、車両制御装置100の各実行部および各記憶部を模式的に示す。第1更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第1更新プログラムのバージョンを示す。同様に、第2更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第2更新プログラムのバージョンを示す。したがって図示する状態では、第1更新プログラムと第2更新プログラムとは同じバージョンの組となっている。
(ステップS105):第1実行部11は、例えば、第1記憶部12に記憶されている第1読み出し先情報を参照し、実行対象のプログラムが第1制御プログラム記憶領域13に記憶された第1制御プログラムから、第1更新プログラム記憶領域14に格納されている第1更新プログラムに変更されたことを検知する。
(ステップS106):第2実行部21は、例えば、第2記憶部22に記憶されている第2読み出し先情報を参照し、実行対象のプログラムが第2制御プログラム記憶領域23に記憶された第2制御プログラムから、第2更新プログラム記憶領域24に格納されている第2更新プログラムに変更されたことを検知する。
(ステップS107):第1実行部11は、第1更新プログラムから識別子を読み出し、第2実行部21に通知する。また、第2実行部21は第2更新プログラムから識別子を読み出し第1実行部11に通知する。このようにして第1実行部11および第2実行部21は互いの実行対象プログラムの識別子を取得することができる。
(ステップS108):第1実行部11は、通知された第2更新プログラムの識別子に基づいて、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたか確認する。例えば、第1実行部11は、通知された第2更新プログラムの識別子と読み出した第1更新プログラムの識別子とを比較し、これらが同一のバージョンを表していることにより、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことを確認する。また、第1実行部11は、第2制御プログラムの識別子を第1記憶部12に記憶させておき、通知された第2更新プログラムの識別子が、第2制御プログラムの識別子の次のバージョンを表していることにより、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことを確認してもよい。バージョンの順序は予め定めた規則にしたがっていることにより確認してもよく、第2更新プログラムに前のバージョンを表す識別子も含ませておき、第2制御プログラムの識別子と一致することを確認してもよい。
(ステップS109):第2実行部21は、通知された第1更新プログラムの識別子に基づいて、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたか確認する。例えば、第2実行部21は、通知された第1更新プログラムの識別子と読み出した第2更新プログラムの識別子とを比較し、これらが同一のバージョンを表していることにより、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認する。また、第2実行部21は、第1制御プログラムの識別子を第2記憶部22に記憶させておき、通知された第1更新プログラムの識別子が、第1制御プログラムの識別子の次のバージョンを表していることにより、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認してもよい。バージョンの順序は予め定めた規則にしたがっていることにより確認してもよく、第1更新プログラムに前のバージョンを表す識別子も含ませておき、第1制御プログラムの識別子と一致することを確認してもよい。
(ステップS110):第1実行部11は、ステップS108の確認結果を第2実行部21に通知する。また、第2実行部21はステップS109の確認結果を第1実行部11に通知する。
(ステップS111):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できた場合、第1実行部11は第1更新プログラム記憶領域14から第1更新プログラムを読み出して実行する。
(ステップS112):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できた場合、第2実行部21は第2更新プログラム記憶領域24から第2更新プログラムを読み出して実行する。なお、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できた場合、ステップS111およびステップS112で、その通知を第1実行部11、第2実行部21から受け取り、第1制御プログラム記憶領域13および第2制御プログラム記憶領域23を、それぞれ次に更新データを受信したときの第1更新プログラムおよび第2更新プログラム記憶用の領域としてもよい。
(ステップS113):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことのいずれかまたは両方が確認できない場合、第1実行部11は、第1制御プログラム記憶領域13から、第1制御プログラムを読み出して実行する。また、第1実行部11は、第1記憶部12に記憶された第1読み出し先情報の読み出し先アドレスが第1制御プログラム記憶領域13を指定するようにし、フラグを下げる。
(ステップS114):ステップS108、S109により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことのいずれかまたは両方が確認できない場合、第2実行部21は、第2制御プログラム記憶領域23から、第2制御プログラムを読み出して実行する。また、第2実行部21は、第2記憶部22に記憶された第2読み出し先情報の読み出し先アドレスが第2制御プログラム記憶領域14を指定するようにし、フラグを下げる。なお、ステップS113、S114で第1制御プログラムおよび第2制御プログラムを実行する前に、これらのプログラムの識別子を参照して、実行対象が正しく第1制御プログラムおよび第2制御プログラムであることを確認することが好ましい。また、このように第1制御プログラムおよび第2制御プログラムを実行できるようにするため、更新部91は、少なくとも第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことが確認できるまで、第1制御プログラムおよび第2制御プログラムを削除せず保存しておくことが好ましい。また、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムに変更されたことのうち、いずれかまたは両方が確認できない場合、ステップS113、S114で、その通知を第1実行部11、第2実行部21から受け取り、異常発生をユーザー等に知らせるための信号を出力してもよい。
以上により、第1制御プログラムと第2制御プログラムがともに更新される場合のシーケンスは終了する。
<処理2>
次に第1制御プログラムおよび第2制御プログラムの一方のみが更新される場合の処理を説明する。以下では一例として、第1制御プログラムが更新され、第2制御プログラムが更新されない場合について説明する。図5は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
(ステップS201):上述のステップS101と同様、第1実行部11が第1制御プログラムを読み出して実行する。第1実行部11は、実行対象のプログラムとして第1制御プログラム記憶領域13から第1制御プログラムを読み出すことを、例えば、第1記憶部12に記憶された第1読み出し先情報に基づいて判定することができる。
(ステップS202):上述のステップS102と同様、第2実行部21が第2制御プログラムを読み出して実行する。第2実行部21は、実行対象のプログラムとして第2制御プログラム記憶領域23から第2制御プログラムを読み出すことを、例えば、第2記憶部22に記憶された第2読み出し先情報に基づいて判定することができる。
(ステップS203):更新部91が更新データに基づいて第1更新プログラムを生成する。更新部91は、第1記憶部12の第1更新プログラム記憶領域14に第1更新プログラムを記憶させる。
以上のステップS201、S202、S203の処理が実行され、イグニッションスイッチがオフとなると、以下の処理が行われる。
(ステップS204):更新部91は、第1記憶部12に記憶されている第1読み出し先情報の読み出し先アドレスが第1更新プログラム記憶領域14を指定するように変更し、かつ変更があったことを示すフラグを立てることにより、第1実行部11が次回実行対象のプログラムを読み出す際に、第1更新プログラム記憶領域14から第1更新プログラムを読み出すようにする。
以上のステップS204の処理が実行され、次にイグニッションスイッチがオンとなると、以下の処理が行われる。図6に、第1更新プログラムが第1記憶部12に記憶されていて、第2更新プログラムが第2記憶部22に記憶されていない場合の、車両制御装置100の各実行部および各記憶部を模式的に示す。第1更新プログラムは識別子を含んでおり、図示する例では「123」である。これは、第1更新プログラムのバージョンを示す。
(ステップS205):第1実行部11は、例えば、第1記憶部12に記憶されている第1読み出し先情報を参照し、実行対象のプログラムが第1制御プログラム記憶領域13に記憶された第1制御プログラムから、第1更新プログラム記憶領域14に格納されている第1更新プログラムに変更されたことを検知する。また、第1実行部11は、第2実行部21の実行対象のプログラムが変更されていないことを検知する。これは、例えば、第1実行部11が第2記憶部22に記憶されている第2読み出し先情報を参照することによって可能である。第1実行部11が第2記憶部22を参照できない場合は、更新部91が、第1記憶部12にも第2読み出し先情報を記憶させておけばよい。
(ステップS206):第2実行部21は、例えば、第2記憶部22に記憶されている第2読み出し先情報を参照し、読み出し先のアドレスやフラグに基づいて、実行対象のプログラムが第2制御プログラム記憶領域23に記憶された第2制御プログラムであることを検知する。また、第2実行部21は、第1実行部11の実行対象のプログラムが変更されたことを検知する。これは、第2実行部21が第1記憶部12に記憶されている第1読み出し先情報を参照することによって可能である。第2実行部21が第1記憶部12を参照できない場合は、更新部91が、第2記憶部22にも第1読み出し先情報を記憶させておけばよい。
(ステップS207):第1実行部11は、第1更新プログラムから識別子を読み出し、第2実行部21に通知する。また、第2実行部21は第2制御プログラムから識別子を読み出し第1実行部11に通知する。このようにして第1実行部11および第2実行部21は互いの実行対象プログラムの識別子を取得することができる。
(ステップS208):第1実行部11は、通知された第2制御プログラムの識別子に基づいて、第2実行部21の実行対象のプログラムが第2制御プログラムのまま変更されていないことを確認する。
(ステップS209):第2実行部21は、通知された第1更新プログラムの識別子に基づいて、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたか確認する。例えば、第2実行部21は、第1制御プログラムの識別子を第2記憶部22に記憶させておき、通知された第1更新プログラムの識別子が、第1制御プログラムの識別子の次のバージョンを表していることにより、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認する。バージョンの順序は予め定めた規則にしたがっていることにより確認してもよく、第1更新プログラムに前のバージョンを表す識別子も含ませておき、第1制御プログラムの識別子と一致することを確認してもよい。また、第2実行部は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたことを確認できた場合は、通知された第1更新プログラムの識別子を第2記憶部22に記憶させれば、次回の処理における第1制御プログラムの識別子として利用することができる。
(ステップS210):第1実行部11は、ステップS208の確認結果を第2実行部21に通知する。また、第2実行部21はステップS209の確認結果を第1実行部11に通知する。
(ステップS211):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから変更されていないことが確認できた場合、第1実行部11は第1更新プログラム記憶領域14から第1更新プログラムを読み出して実行する。
(ステップS212):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから変更されていないことが確認できた場合、第2実行部21は第2制御プログラム記憶領域23から第2制御プログラムを読み出して実行する。なお、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第1プログラムから変更されていないことが確認できた場合、ステップS211およびステップS212で、その通知を第1実行部11、第2実行部21から受け取り、第1制御プログラム記憶領域13を、次に第1更新データを受信したときの第1更新プログラム記憶用の領域としてもよい。
(ステップS213):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2更新プログラムから変更されていないことのいずれかまたは両方が確認できない場合、第1実行部11は、第1制御プログラム記憶領域13から、第1制御プログラムを読み出して実行する。また、第1実行部11は、第1記憶部12に記憶された第1読み出し先情報の読み出し先アドレスが第1制御プログラム記憶領域13を指定するようにし、フラグを下げる。
(ステップS214):ステップS208、S209により第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから更新されていないことのいずれかまたは両方が確認できない場合、第2実行部21は、第2制御プログラム記憶領域23から、第2制御プログラムを読み出して実行する。なお、ステップS213、S214で第1制御プログラムおよび第2制御プログラムを実行する前に、これらのプログラムの識別子を参照して、実行対象が正しく第1制御プログラムおよび第2制御プログラムであることを確認することが好ましい。また、このように第1制御プログラムを実行できるようにするため、更新部91は、少なくとも第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが正しく第2更新プログラムから変更されていないことが確認できるまで、第1制御プログラムを削除しないことが好ましい。また、更新部91は、第1実行部11の実行対象のプログラムが正しく第1更新プログラムに変更されたこと、および、第2実行部21の実行対象のプログラムが第2制御プログラムから変更されていないことのうち、いずれかまたは両方が確認できない場合、ステップS213、S214で、その通知を第1実行部11、第2実行部21から受け取り、異常発生をユーザー等に知らせるための信号を出力してもよい。
以上により、第1制御プログラムが更新され第2制御プログラムが更新されない場合のシーケンスは終了する。また、第2制御プログラムが更新され第1制御プログラムが更新されない場合の処理は、上述の説明において「第1」と「第2」とを互いに読み替えればよい。
(変形例)
以上の実施形態では、実行部が2つの場合について説明したが、本発明は、実行部が3つ以上の場合にも適用できる。図7に、車両制御装置100が、実行部と記憶部とを4組備える場合の各実行部および記憶部を模式的に示す。第1~第4記憶部12、22、32、42は第1~第4実行部11、21、31、41が実行する各制御プログラムを記憶する第1~第4制御プログラム記憶用域13、23、33、34および各更新プログラムを記憶する第1~第4更新プログラム記憶領域14、24、34、44を有する。この場合、プログラムに更新があった場合、上述の実施形態と同様の方法で、第1実行部11が他の実行部、すなわち第2、第3、第4実行部12、13、14の実行対象の識別子の確認を行い、第2実行部21が、第1実行部11の実行対象のプログラムの識別子の確認を行い、それぞれの確認結果を共有することで、すべての実行部について、実行対象のプログラムの確認を行うことができる。なお、各実行部が他のいずれかの実行部から実行対象のプログラムの確認を受けることができれば、実行部とその確認対象となる他の実行部の組み合わせは限定されない。
以上の実施形態、変形例において、各プロセッサが、他のプロセッサが実行するプログラムが更新されたとき、当該他のプロセッサから実行対象のプログラムの識別子を取得し、実行対象のプログラムが実際に更新されたことを確認できれば、各ステップの処理の内容および順序は、適宜変更、省略等してもよい。
<効果>
以上の実施形態、変形例に係る更新処理においては、各実行部は、プログラムを実行する前に、互いの実行対象のプログラムのバージョンを確認する。そのため、それまでの段階の、例えば更新部による、記憶部へ更新プログラムを書き込む処理や実行対象のプログラムを更新前のものから更新後のものに切り替える処理の実行タイミングにずれが生じて、各プログラムの更新前のバージョンと更新後のバージョンとが想定外の組合せで混在する状態が発生している場合はこれを検知することができる。この場合、すべてのプログラムを更新前のバージョンに戻して実行したり、ユーザーに通知して対応を促したりすることで、意図しない動作が実行されるのを抑制することができる。
なお、本発明は、車両制御装置として捉えるだけでなく、車両制御装置のプロセッサが実行するプログラムの確認方法、およびプログラム確認用プログラムとして捉えることも可能である。
本発明は、自動運転装置等の車載機器を備えた車両等に有用である。
11 第1実行部
12 第1記憶部
13 第1制御プログラム記憶領域
14 第1更新プログラム記憶領域
21 第2実行部
22 第2記憶部
23 第2制御プログラム記憶領域
24 第2更新プログラム記憶領域
31 第3実行部
32 第3記憶部
33 第3制御プログラム記憶領域
34 第3更新プログラム記憶領域
41 第4実行部
42 第4記憶部
43 第4制御プログラム記憶領域
44 第4更新プログラム記憶領域
91 更新部
100 車両制御装置

Claims (11)

  1. 車両を制御する第1制御プログラムを記憶する第1記憶部と、
    前記車両を制御する第2制御プログラムを記憶する第2記憶部と、
    前記第1制御プログラムを実行する第1実行部と、
    前記第2制御プログラムを実行する第2実行部と、
    前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版である第1更新プログラムを前記第1記憶部に記憶させたのち、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更することが可能な更新部とを備え、
    前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更した場合、前記第2実行部は、前記第1実行部の実行対象のプログラムに含まれる識別子を前記第1実行部から取得し、少なくとも前記第1実行部から取得した前記識別子に基づいて、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認する、車両制御装置。
  2. 前記更新部は、さらに、前記更新データに基づいて、前記第2制御プログラムの更新版である第2更新プログラムを前記第2記憶部に記憶させたのち、前記第2実行部の実行対象のプログラムを前記第2更新プログラムに変更することが可能であり、
    前記更新部が、前記第2実行部の実行対象のプログラムを前記第2更新プログラムに変更した場合、前記第1実行部は、前記第2実行部の実行対象のプログラムに含まれる識別子を前記第2実行部から取得し、少なくとも前記第2実行部から取得した前記識別子に基づいて、前記第2実行部の実行対象のプログラムが前記第2更新プログラムに変更されたことを確認する、請求項1に記載の車両制御装置。
  3. 前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更し、前記第2実行部の実行対象のプログラムを前記第2更新プログラムに変更した場合、
    前記第1実行部が、前記第2実行部の実行対象のプログラムが前記第2更新プログラムに変更されたことを確認し、かつ、前記第2実行部が、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認した場合に、前記第1実行部は、前記第1更新プログラムを実行し、前記第2実行部は、前記第2更新プログラムを実行する、請求項2に記載の車両制御装置。
  4. 前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更し、前記第2実行部の実行対象のプログラムを前記第2更新プログラムに変更した場合、
    前記第1更新プログラムは、前記第1記憶部の前記第1制御プログラムが記憶された領域以外の領域に記憶され、前記第2更新プログラムは、前記第2記憶部の前記第2制御プログラムが記憶された領域以外の領域に記憶され、
    前記第1実行部が、前記第2実行部の実行対象のプログラムが前記第2更新プログラムに変更されたことを確認できない場合、前記第2実行部が、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認できない場合、の少なくともいずれか一方の場合に、前記第1実行部は、前記第1制御プログラムを実行し、前記第2実行部は、前記第2制御プログラムを実行する、請求項2または3に記載の車両制御装置。
  5. 前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更し、前記第2実行部の実行対象のプログラムを前記第2更新プログラムに変更していない場合、
    前記第1実行部が、前記第2実行部の実行対象のプログラムに含まれる識別子を前記第2実行部から取得し、少なくとも前記第2実行部から取得した前記識別子に基づいて、前記第2実行部の実行対象のプログラムが前記第2制御プログラムから変更されていないことを確認し、かつ、前記第2実行部が、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認した場合に、前記第1実行部は、前記第1更新プログラムを実行し、前記第2実行部は、前記第2制御プログラムを実行する、請求項2に記載の車両制御装置。
  6. 前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更し、前記第2実行部の実行対象のプログラムを前記第2更新プログラムに変更していない場合、
    前記第1更新プログラムは、前記第1記憶部の前記第1制御プログラムが記憶された領域以外の領域に記憶されており、
    前記第1実行部が、前記第2実行部の実行対象のプログラムに含まれる識別子を前記第2実行部から取得し、少なくとも前記第2実行部から取得した前記識別子に基づいて、前記第2実行部の実行対象のプログラムが前記第2制御プログラムから変更されていないことを確認し、かつ、前記第2実行部が、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認できなかった場合、前記第1実行部は、前記第1制御プログラムを実行し、前記第2実行部は、前記第2制御プログラムを実行する、請求項2または5に記載の、車両制御装置。
  7. 前記車両を制御する第3制御プログラムを記憶する第3記憶部と、前記第3制御プログラムを実行する第3実行部とを少なくともさらに備え、
    前記更新部は、さらに、前記更新データに基づいて、前記第3制御プログラムの更新版である第3更新プログラムを前記第3記憶部に記憶させたのち、前記第3実行部の実行対象のプログラムを前記第3更新プログラムに変更することが可能であり、
    前記更新部が、前記第3実行部の実行対象のプログラムを前記第3更新プログラムに変更した場合、前記第1実行部は、前記第3実行部の実行対象のプログラムに含まれる識別子を前記第3実行部から取得し、少なくとも前記第3実行部から取得した前記識別子に基づいて、前記第3実行部の実行対象のプログラムが前記第3更新プログラムに変更されたことを確認する、請求項2に記載の車両制御装置。
  8. 車両を制御する第1制御プログラムを記憶する第1記憶部と、前記車両を制御する第2制御プログラムを記憶する第2記憶部と、前記第1制御プログラムを実行する第1実行部と、前記第2制御プログラムを実行する第2実行部と、前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版である第1更新プログラムを前記第1記憶部に記憶させたのち、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更することが可能な更新部とを備える、車両制御装置の第2実行部が実行するプログラムの更新確認方法であって、
    前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更した場合、前記第1実行部の実行対象のプログラムに含まれる識別子を前記第1実行部から取得するステップと、
    少なくとも前記第1実行部から取得した前記識別子に基づいて、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認するステップとを含む、更新確認方法。
  9. 車両を制御する第1制御プログラムを記憶する第1記憶部と、前記車両を制御する第2制御プログラムを記憶する第2記憶部と、前記第1制御プログラムを実行する第1実行部と、前記第2制御プログラムを実行する第2実行部と、前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版であ
    る第1更新プログラムを前記第1記憶部に記憶させたのち、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更することが可能な更新部とを備える、車両制御装置の第2実行部に実行させるプログラムの更新確認プログラムであって、
    前記更新部が、前記第1実行部の実行対象のプログラムを前記第1更新プログラムに変更した場合、前記第1実行部の実行対象のプログラムに含まれる識別子を前記第1実行部から取得するステップと、
    少なくとも前記第1実行部から取得した前記識別子に基づいて、前記第1実行部の実行対象のプログラムが前記第1更新プログラムに変更されたことを確認するステップとを含む、更新確認プログラム。
  10. 車両の自動運転制御を行う自動運転ECUであって、
    車両を制御する第1制御プログラムを記憶する第1の不揮発性のメモリおよび、前記第1制御プログラムを実行する第1プロセッサを備える第1のマイコンと、
    前記車両を制御する第2制御プログラムを記憶する第2の不揮発性のメモリおよび、前記第2制御プログラムを実行し、前記車両の外部の装置からネットワークを介して取得される更新データに基づいて、前記第1制御プログラムの更新版である第1更新プログラムを前記第1の不揮発性のメモリに記憶させたのち、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させ、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させた場合、前記第1プロセッサの実行対象のプログラムに含まれる識別子を前記第1プロセッサから取得し、少なくとも前記第1プロセッサから取得した前記識別子に基づいて、前記第1プロセッサの実行対象のプログラムが前記第1更新プログラムに変更されたことを確認する、第2プロセッサを備える第2のマイコンと、を備える、自動運転ECU。
  11. 前記第2プロセッサは、前記第1プロセッサの実行対象のプログラムを前記第1更新プログラムに変更させて車両が起動した場合に、前記識別子を前記第1プロセッサから取得する、請求項10に記載の自動運転ECU。
JP2018026152A 2018-02-16 2018-02-16 車両制御装置、プログラムの更新確認方法および更新確認プログラム Active JP7010049B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2018026152A JP7010049B2 (ja) 2018-02-16 2018-02-16 車両制御装置、プログラムの更新確認方法および更新確認プログラム
US16/265,143 US10802814B2 (en) 2018-02-16 2019-02-01 Vehicle control device, update confirmation method of program, and non-transitory computer readable medium storing update confirmation program
CN201910108801.2A CN110162316B (zh) 2018-02-16 2019-02-03 车辆控制装置、程序的更新确认方法及存储更新确认程序的非暂态性计算机可读介质
CN202410230894.7A CN117950701A (zh) 2018-02-16 2019-02-03 系统、车辆、更新确认方法及存储更新确认程序的非暂态性存储介质
DE102019102853.1A DE102019102853A1 (de) 2018-02-16 2019-02-05 Fahrzeugsteuerungsvorrichtung, Aktualisierungsbestätigungsverfahren eines Programms und nichtflüchtiges, computerlesbares Medium, welches ein Aktualisierungsbestätigungsprogramm speichert
JP2022003285A JP7188622B2 (ja) 2018-02-16 2022-01-12 自動運転ecu、プログラムの更新確認方法および更新確認プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018026152A JP7010049B2 (ja) 2018-02-16 2018-02-16 車両制御装置、プログラムの更新確認方法および更新確認プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022003285A Division JP7188622B2 (ja) 2018-02-16 2022-01-12 自動運転ecu、プログラムの更新確認方法および更新確認プログラム

Publications (2)

Publication Number Publication Date
JP2019144670A JP2019144670A (ja) 2019-08-29
JP7010049B2 true JP7010049B2 (ja) 2022-01-26

Family

ID=67482259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018026152A Active JP7010049B2 (ja) 2018-02-16 2018-02-16 車両制御装置、プログラムの更新確認方法および更新確認プログラム

Country Status (4)

Country Link
US (1) US10802814B2 (ja)
JP (1) JP7010049B2 (ja)
CN (2) CN110162316B (ja)
DE (1) DE102019102853A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019082738A1 (ja) * 2017-10-26 2019-05-02 株式会社ノーリツ 通信アダプタ及び通信アダプタのプログラム更新方法
JP7331989B2 (ja) * 2018-03-07 2023-08-23 トヨタ自動車株式会社 ソフトウェアの整合性を確認する装置及びこれを備えた車両、ソフトウェアの整合性を確認する方法及びプログラム
JP7112052B2 (ja) * 2018-09-10 2022-08-03 三菱電機株式会社 空気調和システムおよび空気調和システムのプログラム更新方法
WO2021117463A1 (ja) * 2019-12-12 2021-06-17 日立Astemo株式会社 車両制御装置及びプログラム管理方法
JP7396229B2 (ja) * 2020-08-25 2023-12-12 トヨタ自動車株式会社 ソフトウェア更新装置、更新制御方法、更新制御プログラム及びotaマスタ
JP2022108624A (ja) * 2021-01-13 2022-07-26 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JPWO2023105700A1 (ja) * 2021-12-09 2023-06-15

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044304A (ja) 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd マルチcpuシステムにおけるソフトウェア更新方式
JP2004234202A (ja) 2003-01-29 2004-08-19 Toshiba Corp 分散型連動処理システムのプログラムバージョン管理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784767A (ja) * 1993-09-16 1995-03-31 Fujitsu Ltd 複数プロセッサシステムにおけるプロセッサ間の世代管理装置および世代管理方法
JP2009053920A (ja) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk 車載用電子制御ユニットのプログラム管理システム
US8144612B2 (en) * 2009-04-15 2012-03-27 Ibiquity Digital Corporation Systems and methods for transmitting media content via digital radio broadcast transmission for synchronized rendering by a receiver
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
DE112012007197T5 (de) * 2012-12-05 2015-08-20 Bendix Commercial Vehicle Systems Llc Verfahren und Vorrichtung zum Aktualisieren von Softwarekomponenten in Koordination mit Betriebsablaufbedingungen eines Motorfahrzeugs
JP5949732B2 (ja) * 2013-11-27 2016-07-13 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
CN105594155B (zh) * 2014-05-08 2019-08-02 松下电器(美国)知识产权公司 车载网络系统、电子控制单元以及更新处理方法
JP2016060407A (ja) 2014-09-19 2016-04-25 日産自動車株式会社 車両制御プログラム書換システム及び車両制御プログラム書換方法
CN110377310B (zh) * 2014-11-12 2023-04-07 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及计算机可读取的记录介质
US9694827B2 (en) * 2014-12-19 2017-07-04 Paccar Inc Vehicle computer system with data backup
DE112016000992T5 (de) * 2015-03-30 2017-11-16 Honda Motor Co., Ltd. Programmneuschreibvorrichtung und programmneuschreibverfahren
MX357454B (es) * 2015-07-16 2018-06-26 Inst Tecnologico Y De Estudios Superiores De Occidente A C Sistema y método para la reprogramación de dispositivos ecu (unidades electrónicas de control) en vehiculos, vía radio digital.
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
DE102015219841A1 (de) * 2015-10-13 2017-04-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes
JP6380461B2 (ja) * 2016-06-02 2018-08-29 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP6270965B1 (ja) * 2016-11-16 2018-01-31 三菱電機株式会社 プログラムの更新制御システムおよびプログラムの更新制御方法
US10782955B2 (en) * 2017-01-03 2020-09-22 Ford Global Technologies, Llc Pre-shutdown swap verification
US10416985B2 (en) * 2017-02-16 2019-09-17 Ford Global Technologies, Llc Method and apparatus for multi cycle vehicle software update compliance handling
CN111133412A (zh) * 2017-07-25 2020-05-08 奥罗拉实验室有限公司 基于工具链构建车辆ecu软件的软件增量更新和异常检测
JP6861615B2 (ja) * 2017-11-30 2021-04-21 株式会社日立製作所 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法
WO2019168907A1 (en) * 2018-02-27 2019-09-06 Excelfore Corporation Broker-based bus protocol and multi-client architecture
JP2020030607A (ja) * 2018-08-22 2020-02-27 株式会社デンソー 車両用ソフトウェア更新装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044304A (ja) 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd マルチcpuシステムにおけるソフトウェア更新方式
JP2004234202A (ja) 2003-01-29 2004-08-19 Toshiba Corp 分散型連動処理システムのプログラムバージョン管理方法

Also Published As

Publication number Publication date
JP2019144670A (ja) 2019-08-29
US10802814B2 (en) 2020-10-13
CN110162316A (zh) 2019-08-23
DE102019102853A1 (de) 2019-08-22
CN110162316B (zh) 2024-03-19
US20190258470A1 (en) 2019-08-22
CN117950701A (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
JP7010049B2 (ja) 車両制御装置、プログラムの更新確認方法および更新確認プログラム
JP7047444B2 (ja) 車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、otaマスタ、システム及びセンタ
JP4899848B2 (ja) 車載システム
JP7013918B2 (ja) 車両制御装置、プログラム更新方法およびプログラム
JP2018136816A (ja) プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム
EP3920020A1 (en) Electronic control device and program update method
JP7298427B2 (ja) プログラム更新システムおよびプログラム更新方法
CN110879714B (zh) 用于提供车辆的更新的装置和计算机可读存储介质
EP3961380A1 (en) Onboard device, information generating method, non-transitory storage medium, and vehicle
JP7188622B2 (ja) 自動運転ecu、プログラムの更新確認方法および更新確認プログラム
CN111108472A (zh) 用于机动车辆中的远程在线软件更新的方法
JP2023014289A (ja) システム、プログラムの更新確認方法および更新確認プログラム
JP6718483B2 (ja) 車両
CN113613954A (zh) 电子控制装置以及控制数据的设定方法
JP6676791B2 (ja) 情報処理装置
EP3971708A1 (en) In-vehicle device, software update method, non-transitory storage medium, vehicle, and electronic control unit
US20220342651A1 (en) Center, ota master, system, distribution method, non-transitory storage medium, and vehicle
JP6988636B2 (ja) リプログラミング方法
JP4517607B2 (ja) 電子機器及びそのプログラム更新方法
JP2005332228A (ja) プログラム切替え制御装置
JP2023020298A (ja) 電子機器のファームウェア更新方法及び電子機器のファームウェア更新用プログラム
CN114968316A (zh) Ota管理器、中心、更新方法、非暂时性存储介质
CN114764339A (zh) 中心、管理方法以及非暂时性存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227