JP2024142767A - Electronic Control Unit - Google Patents
Electronic Control Unit Download PDFInfo
- Publication number
- JP2024142767A JP2024142767A JP2023055079A JP2023055079A JP2024142767A JP 2024142767 A JP2024142767 A JP 2024142767A JP 2023055079 A JP2023055079 A JP 2023055079A JP 2023055079 A JP2023055079 A JP 2023055079A JP 2024142767 A JP2024142767 A JP 2024142767A
- Authority
- JP
- Japan
- Prior art keywords
- software
- area
- written
- existing
- storage device
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、車両に搭載される電子制御装置に関する。 The present invention relates to an electronic control device mounted on a vehicle.
特許文献1は、車載の電子制御装置が備える記憶部のソフトウェアを更新する方法を開示している。当該方法では、更新用ソフトウェアを保管しているTesterが、車載ネットワークに接続される。これにより、電子制御装置は、車載ネットワークを介して、Testerが保管する更新用ソフトウェアを取得できる。そして、電子制御装置は、車載ネットワークを介して取得した更新用ソフトウェアを記憶部に書き込むことによって、記憶部のソフトウェアを更新できる。
記憶部のソフトウェアを更新する場合にあっては、その更新に要する時間を短くすることを望まれている。 When updating software in the memory unit, it is desirable to shorten the time required for the update.
上記課題を解決するための電子制御装置は、車両に搭載される装置である。当該電子制御装置は、実行装置と、前記実行装置によって実行されるソフトウェアを記憶している記憶装置と、を備えている。前記記憶装置は、既存のソフトウェアが書き込まれている領域である既存領域と、前記既存領域よりも高位のアドレスに設定されており、且つソフトウェアが書き込まれていない領域である空白領域と、を有している。前記実行装置は、新規のソフトウェアの前記記憶装置への書き込みが要求された場合には、当該新規のソフトウェアを前記空白領域に書き込む。 The electronic control device for solving the above problem is a device mounted on a vehicle. The electronic control device includes an execution device and a storage device that stores software executed by the execution device. The storage device has an existing area in which existing software is written, and a blank area that is set to an address higher than that of the existing area and in which no software has been written. When a request is made to write new software to the storage device, the execution device writes the new software to the blank area.
上記電子制御装置は、自身の記憶装置に新規のソフトウェアを書き込むのに要する時間が長くなることを抑制できるという効果を奏する。 The electronic control device has the effect of preventing the time required to write new software to its own storage device from increasing.
以下、電子制御装置の一実施形態を図1から図4に従って説明する。本明細書では、電子制御装置を「ECU」と記載する。「ECU」は「Electronic Control Unit」の略記である。 One embodiment of the electronic control device will be described below with reference to Figures 1 to 4. In this specification, the electronic control device will be referred to as "ECU." "ECU" is an abbreviation for "Electronic Control Unit."
図1は、車両10と、車両10の外部に設けられているデータセンタ100とを図示している。
<データセンタ>
データセンタ100は、車外ネットワーク200を介して車両10と各種の情報の送受信ができるように構成されている。すなわち、データセンタ100は、無線通信によって車両10と各種情報の送受信を行う。
FIG. 1 illustrates a
<Data Center>
The
詳しくは後述するが、車両10は複数のECUを備えている。複数のECUのうちの何れかのECUの記憶装置のソフトウェアを更新するための更新用ソフトウェアが用意できた場合、データセンタ100は、車外ネットワーク200を介して当該更新用ソフトウェアを車両10に送信する。なお、車載の複数のECUのうち、ソフトウェアを更新するECUを「更新対象ECU」という。
As will be described in more detail later, the
<車両>
車両10は、複数のセンサ21,22,23,24,…と、通信装置30と、情報処理装置40と、複数のECU50と、制動装置60とを備えている。
<Vehicles>
The
複数のセンサ21,22,23,24,…は、車両10の走行状態を検出するセンサと、運転者の操作状態を検出するセンサとを含んでいる。車両10の走行状態を検出するセンサとしては、例えば、加速度センサ、車輪速センサ及びヨーレートセンサを挙げることができる。運転者の操作状態を検出するセンサとしては、例えば、アクセルセンサ、ブレーキセンサ及び操舵センサを挙げることができる。アクセルセンサは、アクセルペダルの操作に関する情報を検出するセンサである。ブレーキセンサは、ブレーキペダルの操作に関する情報を検出するセンサである。操舵センサは、ステアリングホイールの操舵に関する情報を検出するセンサである。
The
通信装置30は、データセンタ100との間で情報を送受信するための車両側のインターフェースである。
情報処理装置40は、ローカルネットワーク31を介して通信装置30と通信できるように構成されている。ローカルネットワーク31は、情報処理装置40と通信装置30との間のみで情報の送受信を行うためのネットワークである。
The
The
情報処理装置40は、実行装置41と記憶装置42と格納装置43とを備えている。例えば、実行装置41はCPUであり、記憶装置42は不揮発性のメモリであり、格納装置43は揮発性のメモリである。記憶装置42は、実行装置41によって実行されるソフトウェアを記憶している。格納装置43は、通信装置30からローカルネットワーク31を介して送信された情報を一時的に格納する。すなわち、データセンタ100が、更新対象ECUを特定する情報及び更新用ソフトウェアを車両10に送信すると、通信装置30が、データセンタ100が送信した情報を受信する。そして、通信装置30は、受信した情報を、ローカルネットワーク31を介して情報処理装置40に送信する。すると、情報処理装置40の実行装置41は、ローカルネットワーク31を介して受信した情報、すなわち更新対象ECUを特定する情報及び更新用ソフトウェアを格納装置43に記憶させる。
The
複数のECU50は、複数の入力ポート51と、マイクロコンピュータ55とをそれぞれ有している。入力ポート51にはセンサの検出信号が入力される。1つのECU50に検出信号を出力するセンサの数をN個としたとき、ECU50は、Nよりも多いM個の入力ポート51を有している。
Each of the
マイクロコンピュータ55は、入力ポート51に入力されたセンサの検出信号に基づいて各種の処理を実行する。マイクロコンピュータ55は、実行装置56と記憶装置57とを有している。例えば、実行装置56はCPUである。記憶装置57は不揮発性のメモリである。記憶装置57には、実行装置56によって実行される複数種類のソフトウェアが記憶される。
The
複数のECU50のうちの1つのECU50Aは、制動装置60を制御するECUである。制動装置60は、電気モータなどのアクチュエータ61を有している。ECU50Aは、アクチュエータ61を制御することによって車両10に制動力を発生させる。
One of the
ECU50Aの実行装置56は、記憶装置57のソフトウェアを実行することによって、駆動処理と、入力処理と、出力処理と、演算処理と、機能処理とを実行する。
駆動処理は、アクチュエータ61を駆動させるための処理である。例えば、電気モータ用の駆動処理において、実行装置56は、電気モータが備える複数のコイルに流す電流値を導出し、当該電流値に基づいて電気モータのインバータを作動させる。
The
The drive process is a process for driving the
入力処理は、入力ポート51を介して入力されたセンサの検出信号を受け付ける処理である。例えば、入力処理において、実行装置56は、検出信号に対して公知のフィルタ処理を施すことによってセンサの検出値を導出する。
The input process is a process of accepting a sensor detection signal input via the
出力処理は、演算処理によって導出された情報をECU50A外に出力する処理である。例えば、出力処理において、実行装置56は、車輪速センサの検出値に基づいて演算された車体速度VS0をグローバルネットワーク33に出力する。
The output process is a process for outputting information derived by the calculation process to outside the
演算処理は、入力処理によって導出されたセンサの検出値を用いて各種演算を行うことによって、車両10の制御に必要な情報を演算する処理である。例えば、演算処理において、実行装置56は、車輪速センサの検出値に基づいて車体速度VS0を演算する。また例えば、実行装置56は、車輪速センサの検出値である車輪速VWと車体速度VS0とに基づいて車輪のスリップ量SLPを演算する。
The calculation process is a process that calculates information necessary for controlling the
機能処理は、制動装置60を作動させることによって機能を実現させる処理である。ここでいう機能は、車両10の挙動の安定性を維持するための機能、及び、車両10の乗員の快適性を向上させるための機能を含んでいる。制動装置60を作動させることによって実現できる機能としては、例えば、アンチロックブレーキ制御、横滑り抑制制御、横転抑制制御及び緊急ブレーキを挙げることができる。
The function processing is a processing that realizes a function by operating the
上述した複数種類の処理のうち、駆動処理、入力処理、出力処理及び演算処理は、制動装置60を作動させるために必要な基本的な処理である。その一方で、機能処理は、車両10やその乗員に対して付加価値を与えるための処理である。そのため、駆動処理用のソフトウェア、入力処理用のソフトウェア、出力処理用のソフトウェア及び演算処理用のソフトウェアの何れにおいても、更新頻度は機能処理用のソフトウェアの更新頻度よりも低い。駆動処理用のソフトウェア、入力処理用のソフトウェア、出力処理用のソフトウェア及び演算処理用のソフトウェアの中では、駆動処理用のソフトウェアの更新頻度は最も低い。入力処理用のソフトウェア及び出力処理用のソフトウェアの更新頻度は、駆動処理用のソフトウェアの更新頻度よりは高い一方で、演算処理用のソフトウェアの更新頻度よりも低い。
Of the multiple types of processing described above, drive processing, input processing, output processing, and calculation processing are basic processing required to operate the
車両10にあっては、機能を追加することができるようになっている。新たな機能を追加する場合には、追加機能用のソフトウェアがデータセンタ100から車両10に送信される。すると、追加機能用のソフトウェアは、情報処理装置40からグローバルネットワーク33を介してECU50Aに送信される。そして、ECU50Aでは、実行装置56が、自身の記憶装置57に追加機能用のソフトウェアを書き込む。これにより、追加機能用のソフトウェアを実行装置56が実行することにより、制動装置60が追加機能を実現できるようになる。
Functions can be added to the
<記憶装置の構造>
図2を参照し、ECU50Aの記憶装置57の構造について説明する。図2は、追加機能用のソフトウェアが書き込まれる前の記憶装置57の構造を示している。
<Structure of memory device>
The structure of the
図2に示すように、記憶装置57は、既存領域57Aと空白領域57Bとを有している。既存領域57Aは、既存のソフトウェアが書き込まれている領域である。空白領域57Bは、ソフトウェアが書き込まれていない領域である。図2からも明らかなように、複数のソフトウェアは、最も低位のアドレスから順番に書き込まれている。そして、空白領域57Bは、既存領域57Aよりも高位のアドレスに設定されている。
As shown in FIG. 2, the
既存領域57Aには、複数種類のソフトウェアが書き込まれている。具体的には、既存領域57Aには、駆動処理用のソフトウェア、入力処理用のソフトウェア、出力処理用のソフトウェア、演算処理用のソフトウェア及び機能処理用のソフトウェアが書き込まれている。
Multiple types of software are written in existing
既存領域57Aは、第1領域571と第2領域572と第3領域573とを含んでいる。第1領域571は、これら3つの領域571,572,573の中で最も低位のアドレスに設定されている。第3領域573は、これら3つの領域571,572,573の中で最も高位のアドレスに設定されている。第1領域571と第3領域573との間の領域が、第2領域572である。
The existing
第1領域571には、上述した複数種類のソフトウェアの中で、更新頻度が最も低い駆動処理用のソフトウェアが書き込まれている。制動装置60が複数のアクチュエータ61を備えている場合、第1領域571には、複数種類の駆動処理用のソフトウェアが順番に書き込まれている。第1領域571に書き込まれている複数のソフトウェアを、「第1ソフトウェアAP11,AP12,AP13,…」ともいう。
The
第2領域572には、上述した複数種類のソフトウェアの中で、駆動処理用のソフトウェアよりも更新頻度が高いソフトウェア、すなわち入力処理用のソフトウェア及び出力処理用のソフトウェアが書き込まれている。複数のセンサの検出信号がECU50Aに入力される場合、第2領域572には、複数種類の入力処理用のソフトウェア及び複数種類の出力処理用のソフトウェアが書き込まれている。第2領域572に書き込まれている複数のソフトウェアを、「第2ソフトウェアAP21,AP22,AP23,…」ともいう。
The
第3領域573には、入力処理用のソフトウェア及び出力処理用のソフトウェアよりも更新頻度が高い演算処理用のソフトウェアが書き込まれている。また第3領域573には、上述した複数種類のソフトウェアの中で、更新頻度が最も高い機能処理用のソフトウェアが書き込まれている。第3領域573の中では、演算処理用のソフトウェアが、機能用のソフトウェアよりも低位のアドレスに書き込まれている。制動装置60が複数の機能を実現する場合、第3領域573には、複数種類の機能処理用のソフトウェアが書き込まれている。第3領域573に書き込まれている複数のソフトウェアを、「第3ソフトウェアAP31,AP32,AP33,…」ともいう。
The
なお、図2において、「Func_1」は、第1ソフトウェアAP11が書き込まれている領域を示す関数である。「Func_2」は、第1ソフトウェアAP12が書き込まれている領域を示す関数である。「Func_3」は、第1ソフトウェアAP13が書き込まれている領域を示す関数である。「Func_n」は、第2ソフトウェアAP21が書き込まれている領域を示す関数である。「Func_n+1」は、第2ソフトウェアAP22が書き込まれている領域を示す関数である。「Func_n+2」は、第2ソフトウェアAP23が書き込まれている領域を示す関数である。「Func_m」は、第3ソフトウェアAP31が書き込まれている領域を示す関数である。「Func_m+1」は、第3ソフトウェアAP32を示す関数である。「Func_m+2」は、第3ソフトウェアAP33が書き込まれている領域を示す関数である。「Func_reserve」は、空白領域57Bを示す関数である。
In FIG. 2, "Func_1" is a function indicating the area into which the first software AP11 is written. "Func_2" is a function indicating the area into which the first software AP12 is written. "Func_3" is a function indicating the area into which the first software AP13 is written. "Func_n" is a function indicating the area into which the second software AP21 is written. "Func_n+1" is a function indicating the area into which the second software AP22 is written. "Func_n+2" is a function indicating the area into which the second software AP23 is written. "Func_m" is a function indicating the area into which the third software AP31 is written. "Func_m+1" is a function indicating the third software AP32. "Func_m+2" is a function indicating the area into which the third software AP33 is written. "Func_reserve" is a function that indicates
そして、実行装置56は、関数Func_1を読み出すことによって第1ソフトウェアAP11を実行する。実行装置56は、第1ソフトウェアAP11の実行を完了させると、関数Func_2を読み出すことによって第1ソフトウェアAP12を実行する。実行装置56が関数Func_reserveを読み出した場合、空白領域57Bにはソフトウェアが書き込まれていないため、実行装置56は、関数Func_1を読み出すことによって第1ソフトウェアAP11を実行する。このように、実行装置56は、低位のアドレスに書き込まれたソフトウェアから順番に実行することを繰り返す。
Then, the
<新機能追加処理>
図3及び図4を参照し、ECU50Aの実行装置56が実行する新機能追加処理を説明する。新機能追加処理は、新規の機能を追加するために新たなソフトウェアを記憶装置57に書き込む際の処理の流れである。実行装置56は、新規のソフトウェアの記憶装置57への書き込みが要求された場合に新機能追加処理を実行する。図3及び図4を用いて説明する新規機能追加処理の例では、新規のソフトウェアが空白領域57Bにおいて最も低位のアドレスに書き込まれる。
<Adding new functions>
The new function addition process executed by the
図3に示すように、ステップS11において、実行装置56は、記憶装置57の空白領域57Bにおいて最も低位のアドレスを検索する。実行装置56は、空白領域57Bにおいて最も低位のアドレスを見つけると、処理をステップS13に移行する。
As shown in FIG. 3, in step S11, the
ステップS13において、実行装置56は、空白領域57Bにおいて最も低位のアドレスへの新規のソフトウェアの書き込みを開始する。続くステップS15において、実行装置56は、ソフトウェアの書き込みが完了したか否かを判定する。実行装置56は、新規のソフトウェアの書き込みが完了していない場合(S15:NO)、書き込みが完了するまでステップS15の判定を繰り返し実行する。一方、実行装置56は、新規のソフトウェアの書き込みが完了した場合(S15:YES)、新機能追加処理を終了する。
In step S13, the
図4には、新規のソフトウェアが書き込まれた記憶装置57の構造の一例が模式的に図示されている。図4に示すように、例えば空白領域57Bにおいて最も低位のアドレスに新規のソフトウェアが書き込まれる。図4において、「Func_m+3」は、新規のソフトウェアが書き込まれている領域を示す関数である。すなわち、実行装置56は、既存領域57Aについては何ら変更することなく、新規のソフトウェアを記憶装置57に書き込むことができる。
Figure 4 shows a schematic diagram of an example of the structure of
<本実施形態の作用>
新規のソフトウェアが記憶装置57に書き込まれた以降でのECU50Aの作用を説明する。
<Action of this embodiment>
The operation of the
ECU50Aでは、制動装置60を作動させることによって実現できる複数の機能のうち、第1機能を実現させる場合、実行装置56は、第1機能に対応するソフトウェアが書き込まれているアドレスを検索する。第1機能に対応するソフトウェアが上記新規のソフトウェアである場合、実行装置56は、当該新規のソフトウェアが書き込まれているアドレスを検索する。そして、実行装置56は、当該アドレスの関数を読み出すことによって、当該アドレスに書き込まれているソフトウェアを実行する。実行装置56は、当該新規のソフトウェアを実行することによって、制動装置60の作動量を導出できる。制動装置60の作動量の一例は、車両10に付与する制動力の目標値である。実行装置56は、制動装置60の作動量を導出すると、駆動処理用のソフトウェアを実行する。すなわち、実行装置56は、駆動処理用のソフトウェアが書き込まれているアドレスの関数を読み出す。これにより、実行装置56は、制動装置60の作動量を実現するためのアクチュエータ61に対する指令値を導出する。そして、実行装置56は、当該指令値に基づいてアクチュエータ61を作動させる。
In the
<本実施形態の効果>
(1)記憶装置57では、既存領域57Aよりも高位のアドレスに空白領域57Bが設定されている。そのため、記憶装置57に新規のソフトウェアを書き込む場合、実行装置56は、新規のソフトウェアを空白領域57Bに書き込む。
<Effects of this embodiment>
(1) In the
ここで、記憶装置57の既存領域57Aに新規のソフトウェアを書き込む場合を考える。この場合、既存領域57Aに既に書き込まれていた既存のソフトウェアの一部のアドレスが高位にずれることになる。アドレスが高位にずれる既存のソフトウェアを所定のソフトウェアとする。このとき、実行装置56は、新規のソフトウェアを記憶装置57に書き込むに際し、新規のソフトウェアを記憶装置57に書き込むことに加え、所定のソフトウェアも記憶装置57に再度書き込む必要がある。
Now consider the case where new software is written to existing
また、車載のECU50では、記憶装置57の記憶容量が限られている。そのため、記憶装置57には、複数のソフトウェアが隙間を空けることなく書き込まれている。その結果、既存領域57Aに新規のソフトウェアを書き込もうとすると、既存のソフトウェアの一部のアドレスは変更せざるを得ない。
In addition, the storage capacity of the
この点、ECU50Aでは、新規のソフトウェアを記憶装置57に書き込むに際し、既存のソフトウェアのアドレスを変更しなくてもよい。すなわち、実行装置56は、新規のソフトウェアを記憶装置57に書き込むに際し、既存のソフトウェアを記憶装置57に再度書き込む必要がない。したがって、ECU50Aは、自身の記憶装置57に新規のソフトウェアを書き込むのに要する時間が長くなることを抑制できる。
In this regard, in the
(2)既存のソフトウェアのうち、特定のソフトウェアが更新されることがある。特定のソフトウェアが占める記憶容量が増えると、特定のソフトウェアよりも高位のアドレスに書き込まれている全てのソフトウェアのアドレスが高位にずれてしまう。この場合、実行装置56は、特定のソフトウェアを更新するに際し、特定のソフトウェアよりも高位のアドレスに書き込まれている全てのソフトウェアも記憶装置57に書き込む必要がある。
(2) Of the existing software, a specific piece of software may be updated. If the amount of memory space occupied by the specific software increases, the addresses of all software written at higher addresses than the specific software will shift to higher addresses. In this case, when updating the specific software, the
この点、ECU50Aの記憶装置57では、更新頻度の低いソフトウェアが、更新頻度の高いソフトウェアよりも低位のアドレスに書き込まれている。これにより、ECU50Aは、既存のソフトウェアを更新する場合に、その更新に要する時間が長くなることを抑制できる。
In this regard, in the
<変更例>
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
<Example of change>
The above embodiment can be modified as follows: The above embodiment and the following modifications can be combined with each other to the extent that no technical contradiction occurs.
・記憶装置57では、第1領域571を第2領域572と第3領域573との間に設定してもよい。
・上記実施形態では、実行装置56は、新規のソフトウェアを記憶装置57に書き込む際に、ソフトウェアを記憶装置57の空白領域57Bの最も低位のアドレスに書き込むようにしていた。これに対し、図5の(A)に示すように、記憶装置57は、複数の既存のソフトウェアAPの各々に対応するジャンプ領域が空白領域57Bに設定された構造であってもよい。この場合、記憶装置57に新たに書き込まれる新規のソフトウェアは、関数の形式で書き込まれるようにするとよい。
In the
In the above embodiment, when the
この場合、既存のソフトウェアAPは、ソフトウェアに対応するジャンプ領域を関数として読み出すことができるようなコマンドが当該ソフトウェアの最後に用意された構造になっている。あるいは、既存のソフトウェアAPは、当該既存のソフトウェアAPを呼び出す関数の中に、当該ソフトウェアに対応するジャンプ領域を関数として読み出せるような構造であってもよい。 In this case, the existing software AP is structured such that a command is prepared at the end of the software that can read out the jump area corresponding to the software as a function. Alternatively, the existing software AP may be structured such that the jump area corresponding to the software can be read out as a function within the function that calls the existing software AP.
そして、ジャンプ領域は、既存のソフトウェアAPに対する新規ソフトウェアが追加されていない場合には、何も処理をされずリターンするように設定される。例えば、工場出荷時のような追加のプログラムが何もない初期状態では、すべてのジャンプ領域は、何も処理されずリターンするように設定されている。一方、ジャンプ領域は、既存のソフトウェアAPに対する新規ソフトウェアが追加された場合には、ジャンプ領域内から追加された新規ソフトウェアが関数で読み出せるように設定される。新規ソフトウェアの処理が終了して、ジャンプ領域に戻ると、リターンするようになっている。 The jump area is set so that if no new software has been added to the existing software AP, then no processing is performed and the program returns. For example, in the initial state when no additional programs are present, such as when the product is shipped from the factory, all jump areas are set so that no processing is performed and the program returns. On the other hand, if new software has been added to the existing software AP, the jump area is set so that the new software that has been added can be read from within the jump area by a function. Once the processing of the new software has finished and the program has returned to the jump area, the program returns.
ここで、第2ソフトウェアAP22に関連する新規プログラムが追加される処理を、一例としてより具体的に説明する。例えば、図5の(A)に示すように、第2ソフトウェアAP22に対応する新規プログラムが空白領域57Bにおいて空き領域に関数として書き込まれ、この場合、図5の(C)に示すように、関連する第2ソフトウェアAP22に対応するジャンプ領域には、新規ソフトウェアに対応する関数Funk_m+3を読み出す命令が書き込まれる。
Here, the process of adding a new program related to the second software AP22 will be described in more detail as an example. For example, as shown in FIG. 5A, the new program corresponding to the second software AP22 is written as a function in the free area in
新規プログラムの書き込みが完了した後にソフトウェアが実行された場合、例えば、第2ソフトウェアAP21が実行された最後に、第2ソフトウェアAP21のジャンプ領域が関数で読み出される。第2ソフトウェアAP21に対応する新規プログラムは無いため、第2ソフトウェアAP21のジャンプ領域には、例えば図5の(B)に示すように空関数が設定されている。その結果、そのまま、何もせずにリターンされる。次に第2ソフトウェアAP22が実行された最後に、第2ソフトウェアAP22のジャンプ領域が関数で読み出される。第2ソフトウェアAP22のジャンプ領域には、図5の(C)に示すように、第2ソフトウェアAP22に関連する新規ソフトウェアの関数Funk_m+3が設定されている。そして、当該関数Funk_m+3が読み出されると、新規のソフトウェアが実行される。新規のソフトウェアの実行が終了すると、第2ソフトウェアAP22のジャンプ領域に戻り、リターンされて、次の第2ソフトウェアAP23が実行される。 When the software is executed after the writing of the new program is completed, for example, at the end of the execution of the second software AP21, the jump area of the second software AP21 is read by a function. Since there is no new program corresponding to the second software AP21, an empty function is set in the jump area of the second software AP21, for example, as shown in (B) of FIG. 5. As a result, it returns without doing anything. Next, at the end of the execution of the second software AP22, the jump area of the second software AP22 is read by a function. In the jump area of the second software AP22, as shown in (C) of FIG. 5, the function Funk_m+3 of the new software related to the second software AP22 is set. Then, when the function Funk_m+3 is read, the new software is executed. When the execution of the new software is completed, it returns to the jump area of the second software AP22, returns, and the next second software AP23 is executed.
これにより、既存のソフトウェアに対応する新規ソフトウェアが追加された場合であっても、既存のソフトウェアを書き変えることなく、新規ソフトウェアが実行される。
・記憶装置57では、最初に新規のソフトウェアを書き込む際に、空白領域57Bの最も低位のアドレスから所定のアドレスだけ高位側のアドレスから書き込むようにしてもよい。こうすることで、新規のソフトウェアが書き込まれた領域と直前の領域との間に空き領域が形成されるため、既存のソフトウェアの書き換えで既存のソフトウェアの容量が増大した際に、空白領域57Bに書き込まれているソフトウェアの書き変えを行わなくてもよい可能性がある。これは、言い換えると、空白領域57Bの直上の領域の高位側に所定の空白領域を設けて、最初に新規のソフトウェアを書き込む際に、ソフトウェアが空白領域57Bの最も低位側のアドレスに書き込まれることと同様とも云える。
As a result, even when new software corresponding to existing software is added, the new software can be executed without rewriting the existing software.
In the
・上記実施形態では、制動装置60を制御するECU50Aが備える記憶装置57に新規のソフトウェアを書き込む場合について説明した。しかし、制動装置60を制御するECU50A以外の他のECU50でも、上記実施形態で説明した手法と同様の手法で記憶装置57に新規のソフトウェアを書き込んでもよい。
In the above embodiment, a case has been described in which new software is written to the
・車両10に新たなセンサが取り付けられた場合には、当該センサがECU50Aに電気的に接続される。この場合、実行装置56は、当該センサの検出信号に対して処理を施すための入力処理、入力処理を得たセンサの検出値を用いた演算をするための演算処理、当該演算処理によって得た情報を出力するための出力処理を実行できるようにする必要がある。すなわち、ECU50Aでは、記憶装置57に、こうした入力処理用のソフトウェア、出力処理用のソフトウェア及び演算処理用のソフトウェアを書き込む必要がある。こうしたソフトウェアを記憶装置57に書き込む場合、実行装置56は、こうしたソフトウェアを空白領域57Bに書き込むようにしてもよい。
- When a new sensor is attached to the
・ECU50は、CPUとROMとを備えて、ソフトウェア処理を実行するものに限らない。すなわち、ECU50は、以下(a)、(b)及び(c)の何れかの構成であればよい。
- The
(a)ECU50は、コンピュータプログラムに従って各種処理を実行する一つ以上のプロセッサを備えている。プロセッサは、CPU並びに、RAM及びROMなどのメモリを含んでいる。メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリ、すなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含んでいる。
(a) The
(b)ECU50は、各種処理を実行する一つ以上の専用のハードウェア回路を備えている。専用のハードウェア回路としては、例えば、特定用途向け集積回路、すなわちASIC又はFPGAを挙げることができる。なお、ASICは、「Application Specific Integrated Circuit」の略記である。FPGAは、「Field Programmable Gate Array」の略記である。
(b) The
(c)ECU50は、各種処理の一部をコンピュータプログラムに従って実行するプロセッサと、各種処理のうちの残りの処理を実行する専用のハードウェア回路とを備えている。
(c) The
<他の技術的思想>
次に、上記実施形態及び変更例から把握できる技術的思想について記載する。
(付記1)前記実行装置は、前記新規のソフトウェアを前記記憶装置に書き込んだ以降において当該新規のソフトウェアの機能を実現させる場合には、当該新規のソフトウェアを実行し、その後に前記既存のソフトウェアに戻って一連のソフトウェア機能を実行することが好ましい。
<Other technical ideas>
Next, the technical ideas that can be understood from the above embodiment and modified examples will be described.
(Additional Note 1) When the execution device is to realize the functions of the new software after writing the new software to the storage device, it is preferable that the execution device executes the new software and then returns to the existing software to execute a series of software functions.
(付記2)前記第2ソフトウェアが書き込まれている領域は、前記第1ソフトウェアが書き込まれている領域のアドレスの次のアドレスに設定されていることが好ましい。
(付記3)前記第1領域と前記第3領域との間の領域が、前記第2領域であることが好ましい。
(Additional Note 2) It is preferable that the area in which the second software is written is set to an address next to the address of the area in which the first software is written.
(Additional Note 3) It is preferable that the region between the first region and the third region is the second region.
なお、本明細書において使用される「少なくとも1つ」という表現は、所望の選択肢の「1つ以上」を意味する。一例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が2つであれば「1つの選択肢のみ」又は「2つの選択肢の双方」を意味する。他の例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が3つ以上であれば「1つの選択肢のみ」又は「2つ以上の任意の選択肢の組み合わせ」を意味する。 Note that the expression "at least one" used in this specification means "one or more" of the desired options. As an example, the expression "at least one" used in this specification means "only one option" or "both of two options" if the number of options is two. As another example, the expression "at least one" used in this specification means "only one option" or "any combination of two or more options" if the number of options is three or more.
10…車両
21~24…センサ
50,50A…ECU(電子制御装置)
55…マイクロコンピュータ
56…実行装置
57…記憶装置
57A…既存領域
57B…空白領域
571…第1領域
572…第2領域
573…第3領域
61…アクチュエータ
10: vehicle; 21-24: sensors; 50, 50A: ECU (electronic control unit)
55: Microcomputer 56: Execution device 57:
Claims (5)
実行装置と、前記実行装置によって実行されるソフトウェアを記憶している記憶装置と、を備え、
前記記憶装置は、既存のソフトウェアが書き込まれている領域である既存領域と、前記既存領域よりも高位のアドレスに設定されており、且つソフトウェアが書き込まれていない領域である空白領域と、を有しており、
前記実行装置は、
新規のソフトウェアの前記記憶装置への書き込みが要求された場合には、当該新規のソフトウェアを前記空白領域に書き込む
電子制御装置。 An electronic control device mounted on a vehicle,
An execution device and a storage device storing software to be executed by the execution device,
the storage device has an existing area in which existing software is written, and a blank area which is set at a higher address than the existing area and in which no software is written,
The execution device is
When a request is made to write new software to the storage device, the electronic control device writes the new software into the blank area.
請求項1に記載の電子制御装置。 2. The electronic control device according to claim 1, wherein, when a request is made to write new software to the storage device, the execution device writes the new software to the lowest address in the blank area.
前記ジャンプ領域は、当該ジャンプ領域に新規のソフトウェアが書き込まれた際には、前記実行装置が当該新規のソフトウェアを読み出して実行できるように構成される
請求項1に記載の電子制御装置。 the storage device has a predetermined jump area, and the existing software is configured to be able to read the jump area;
The electronic control device according to claim 1 , wherein the jump area is configured such that, when new software is written in the jump area, the execution device can read and execute the new software.
前記既存領域のうち前記第2ソフトウェアが書き込まれている領域は、前記第1ソフトウェアが書き込まれている領域よりも高位のアドレスに設定されている
請求項1~請求項3のうち何れか一項に記載の電子制御装置。 A first software and a second software that is updated more frequently than the first software are written in the existing area,
The electronic control device according to any one of claims 1 to 3, wherein an area of the existing area into which the second software is written is set to a higher address than an area into which the first software is written.
車載のアクチュエータを作動させるためのソフトウェアが前記既存のソフトウェアとして書き込まれている第1領域と、
車載のセンサの検出信号に対して入力処理を施すためのソフトウェア、及び、前記センサの検出信号を用いた演算処理によって導出された情報を出力するためのソフトウェアが前記既存のソフトウェアとして書き込まれている第2領域と、
前記演算処理を実行するためのソフトウェアが前記既存のソフトウェアとして書き込まれている第3領域と、を含んでおり、
前記第2領域は、前記第1領域よりも高位のアドレスに設定されているとともに、前記第3領域は、前記第2領域よりも高位のアドレスに設定されている
請求項1~請求項3のうち何れか一項に記載の電子制御装置。 The existing area is
a first area in which software for operating an actuator mounted on a vehicle is written as the existing software;
a second area in which software for performing input processing on a detection signal of an on-vehicle sensor and software for outputting information derived by arithmetic processing using the detection signal of the sensor are written as the existing software;
a third area in which software for executing the arithmetic processing is written as the existing software,
The electronic control device according to any one of claims 1 to 3, wherein the second area is set to a higher address than the first area, and the third area is set to a higher address than the second area.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023055079A JP2024142767A (en) | 2023-03-30 | 2023-03-30 | Electronic Control Unit |
PCT/JP2024/013230 WO2024204783A1 (en) | 2023-03-30 | 2024-03-29 | Electronic control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023055079A JP2024142767A (en) | 2023-03-30 | 2023-03-30 | Electronic Control Unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024142767A true JP2024142767A (en) | 2024-10-11 |
Family
ID=92906064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023055079A Pending JP2024142767A (en) | 2023-03-30 | 2023-03-30 | Electronic Control Unit |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024142767A (en) |
WO (1) | WO2024204783A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108338A (en) * | 1991-10-18 | 1993-04-30 | Nec Corp | Correcting method for linked program |
JP4084461B2 (en) * | 1997-06-05 | 2008-04-30 | 松下電器産業株式会社 | Terminal device capable of remote download, download method applied to a loader program provided in the terminal device, and recording medium recording the loader program |
JP2005321843A (en) * | 2004-05-06 | 2005-11-17 | Hitachi Ltd | How to rewrite the firmware |
-
2023
- 2023-03-30 JP JP2023055079A patent/JP2024142767A/en active Pending
-
2024
- 2024-03-29 WO PCT/JP2024/013230 patent/WO2024204783A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024204783A1 (en) | 2024-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905454B (en) | Remote operating system of the vehicle | |
CN113428139B (en) | Control device, manager, method, non-transitory storage medium, vehicle control device, and vehicle control method | |
CN111954871B (en) | Method for providing application data of an application that can be implemented in a vehicle control device, control device and calibration method thereof, and analysis and processing device | |
EP3933572B1 (en) | Software update device, software update method, non-transitory storage medium, and vehicle | |
CN113386729B (en) | In-vehicle device control apparatus and vehicle control system | |
CN118928385A (en) | Control device, manager, method, non-transitory storage medium, vehicle, vehicle control device, and vehicle control method | |
US20230138932A1 (en) | Software updating device, software updating method, and software update processing program | |
US20220063646A1 (en) | Onboard device, information generating method, non-transitory storage medium, and vehicle | |
JP2024142767A (en) | Electronic Control Unit | |
EP3945418B1 (en) | Server, software updating device, vehicle, software updating system, control method, and non-transitory storage medium | |
JP7532806B2 (en) | Vehicle-mounted device control device and vehicle control system | |
US11947824B2 (en) | Electronic control unit, method, and program | |
JP4556653B2 (en) | Program rewriting system for in-vehicle electronic control device, boot loader for computer in in-vehicle electronic control device, recording medium, and in-vehicle electronic control device | |
JP7540386B2 (en) | OTA master, update control method, update control program, and OTA center | |
JP2009087107A (en) | Vehicle control system | |
JP7344109B2 (en) | Resource allocation system, server, computing device | |
CN114987447A (en) | Manager, control method, recording medium, vehicle, and control device | |
CN116534017A (en) | Control method and device for vehicle, vehicle and storage medium | |
US20240184579A1 (en) | Multi-core system for providing a communication function between software components and a method therefor | |
US20240377978A1 (en) | Storage management device for vehicle | |
CN115230735B (en) | Control method, device, computer equipment and storage medium for commercial vehicle | |
JP2023009818A (en) | Electronic control device for vehicle and control method by electronic control device for vehicle | |
EP4438423A1 (en) | Braking control method and device, vehicle, storage medium and chip | |
JP2024048008A (en) | Electronic control apparatus and software update method | |
WO2022259348A1 (en) | Vehicle control device |