JP6762411B2 - 自動車用電子制御装置 - Google Patents
自動車用電子制御装置 Download PDFInfo
- Publication number
- JP6762411B2 JP6762411B2 JP2019176397A JP2019176397A JP6762411B2 JP 6762411 B2 JP6762411 B2 JP 6762411B2 JP 2019176397 A JP2019176397 A JP 2019176397A JP 2019176397 A JP2019176397 A JP 2019176397A JP 6762411 B2 JP6762411 B2 JP 6762411B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- program
- software
- ram
- executed
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
書き換えに関する。
御されており、そのマイコンには電気的にプログラムやデータが消去および書き込みが可
能な不揮発性メモリであるコードフラッシュ、データフラッシュと、揮発性メモリである
RAM(Random Access Memory)を搭載し、コードフラッシュに記憶されている制御プロ
グラムによって車両装置(例えば、エンジンの噴射・点火)を制御する。
搭載されてきており、各コアは、自身のコアに割り当てられたソフトウェア機能のタスク
を並行して実行する。
ートするために、あるいは、より効率的な制御ソフトウェアに入れ替えるために、ECU
はソフトウェア書き換え機能を有することがある。通常のソフトウェア書き換えは、有線
あるいは無線により接続された外部の書き込みツールと通信を行い、外部の書き込みツー
ルからECUに更新ソフトウェアを転送しながら、ECUがマイコンのコードフラッシュ
に書き込みを行う。ソフトウェア書き換えを行うにあたり、コードフラッシュの書き換え
前にコードフラッシュの消去が必要となる。(特許文献1)
する場合、コアが消去しようとしている消去ブロックに属するコードフラッシュで動作す
ると、不当命令実行や資源アクセス違反などの例外・割り込みが発生してしまう。
異なる機能を実行しているコアがコードフラッシュのどの位置に存在しているかを知るこ
とは困難であり、また、その他の異なる機能を実行しているコアのコードフラッシュ上の
位置を知ることが可能な場合でも、その全てのコアが消去しようとしている消去ブロック
とは別位置のコードフラッシュ上で動作している状況を作り出す必要があったり、同期を
とり時間待ちが発生してしまったりするなど、その管理が難しいという問題があった。
ェア書き換え実施時に、全てのコアが消去しようとしている消去ブロック上で動作するこ
とが無い状況を容易に構成する自動車用電子制御装置を提供することを目的とする。
き換えを実施するコアの指令のもとに、ソフトウェア書き換えを実施するコア以外のコア
をRAM上にあるプログラムに移行させ、消去しようとしている消去ブロックで動作する
ことが無い状況にする。
り行い、前記RAM上にあるプログラムは、ソフトウェア書き換えを実施するコアの指令
のもとに復帰するように構成した。
資源アクセス違反などの例外・割り込みを発生させることなく実行することができる。
図1はn個のコアを持つマルチコアマイコンの構成を示す図である。マルチコアマイコ
ンは、プログラムの演算処理を実施するコア1〜nと、各コア専用でアクセスすることの
できるコア1〜n用の揮発性RAM11〜1nと、コア共通でアクセスすることができる
不揮発性のメモリであるコードフラッシュ100と、コア共通でアクセスすることができ
る揮発性のRAMであるコア共通RAM200から構成される。各コアから相互に割り込
みを発生させることができるコア間割り込み機能を備えている。
ッシュ内のプログラムをそれぞれ実行する。
タの例を示す図である。図2に示すとおり、コードフラッシュは複数のm個の消去ブロッ
ク101〜10mから構成される。コードフラッシュのデータ書込みを行う際には、事前
に消去状態である必要があり、コードフラッシュの消去は消去ブロック単位で行われる。
ス許可されたあとに、ソフトウェアの書き換え対象領域に対応する消去ブロックを消去し
、外部より接続される書込みツールよりデータを書き込んでいく。
去ブロックで動作するコアが存在すると、消去された状態のコードフラッシュをプログラ
ムと誤って実行してしまい、不当命令実行や資源アクセス違反などの例外・割り込みが発
生し、例外・割り込み処理が正しく行われないと、マイコンがリセット状態となってしま
う。
、消去ブロックを指し示すようなプログラムカウンタが無い状態にすることが好ましい。
ュ上のコア1のプログラムが動作している先を示すコア1用プログラムカウンタ201と
、コードフラッシュ上のコア2のプログラムが動作している先を示すコア2用プログラム
カウンタ202の例も示している。
で動作している際に、消去ブロック104の消去が実行された場合、コア2が実行するプ
ログラムが不当命令実行や例外・割り込みを発生させてしまう。
を採用し、複数あるコアのうちのいくつがソフトウェア書き換え機能として動作し、それ
以外のコアは通常動作しているプログラムを実行する方式が存在する。ソフトウェア書き
換えが完了後は、次回ECUの起動時に、新しく書込みが行われたコードフラッシュが選
択されプログラムが実行される。この方式は主に無線によるECUのソフトウェア書き換
えに利用される。
フトウェア書き換えの為の専用モードへ移行し、通常動作しているプログラムは実行され
ていない方式を前提としている。この方式は、ソフトウェア書き換えの頻度が少ないシス
テムを対象にしたECUのソフトウェア書き換えに利用される。
令により、コードフラッシュ上のプログラムで動作していたコア2が、コア2用RAM上
のプログラムに移行する第1実施例の一例を示した図である。
専用の処理が実行できるように、マイコンの起動時に各コアで個別に、割込みの許可設定
を行う。前記専用処理は、コア2用RAMの退避プログラム領域312に移行するための
処理を実施する。
を、コア2用RAMの退避プログラム領域312にある退避時に実行するプログラムが実
行できるRAM上のプログラムカウンタ302にアドレスを変更する。
コア以外のコアであるコア2により、予め退避時に実行するプログラムを展開する。この
コア2用RAMの退避プログラム領域312に退避時実行プログラムを展開するタイミン
グは、実際にソフトウェア書き換えが許可されてから実行してもよいし、マイコンの起動
時に各コアで個別に行ってもよい。
アは、ソフトウェア書き換えを実行するコアからのコア間の割り込みが発生した場合に、
各コア専用のRAMに展開されたプログラムに移行することできるように、コア間割り込
みの設定と、コア専用RAMへのプログラムの展開を行う。
フラッシュに実行されるコアが存在しない状況を作り出すことができ、ソフトウェア書き
換え時の不当命令実行や資源アクセス違反などの例外・割り込みが発生することがなくな
る。
なく安全にソフトウェア書き換えを実施することができる。
図4は3つのコアを有するマイコンにおいて、ソフトウェア書き換えを行うコア1の指
令により、コードフラッシュ上のプログラムで動作していたコア2とコア3が、コア共通
RAM200上のプログラムに移行する第2実施例の一例を示した図である。
専用の処理が実行できるように、マイコンの起動時に各コアで個別に、割込みの許可設定
を行う。前記専用処理は、コア共用RAM200上の退避プログラム領域400に移行す
るための処理を実施する。
とコア3用のプログラムカウンタ203を、コア共用RAM200の退避プログラム領域
400にある退避時に実行するプログラムが実行できるRAM上のプログラムカウンタ3
02、303にアドレスを変更する。
行するコア1により、予め退避時に実行するプログラムを展開しておく。このコア共用R
AM200の退避プログラム領域400に退避時実行プログラムを展開するタイミングは
、実際にソフトウェア書き換えが許可されてから実行してもよいし、マイコンの起動時に
行ってもよい。
アは、ソフトウェア書き換えを実行するコアからのコア間割り込みが発生した場合に、コ
ア共通RAM200に展開されたプログラムに移行することができるように、コア間割り
込みを設定し、ソフトウェア書き換えを実行するコアはコア共通RAM200へのプログ
ラム展開を行う。
れる消去ブロックのコードフラッシュに実行されるコアが存在しない状況を作り出すこと
ができ、ソフトウェア書き換え時の不当命令実行や資源アクセス違反などの例外・割り込
みが発生することがなくなる。
作を変えることが可能である。一方で、第2の実施形態は、第1の実施形態と比べて、各
コアが同一の退避プログラムを利用することができ、ソフトウェア書き換えを実施するコ
アが退避する際に実行させたいプログラムを選ぶことができたり、共通化されることによ
るRAM使用量の削減ができたりする効果が得られる。
図5は退避プログラム中にコードフラッシュのアクセスに影響しないような例外・割り
込みを利用する第3実施例の一例を示した図である。本例では、コードフラッシュ上のプ
ログラムとRAM上のプログラムの例と、退避プログラムの動作を示すフローチャートを
示している。
プログラム502が動作中に例外・割り込みが発生した際に実行する例外・割り込み処理
情報を提供している通常プログラム502用のベクターテーブル501が配置されている
。
中に例外・割り込みが発生した際に実行する例外・割り込み処理情報を提供している退避
プログラム503用のベクターテーブル503が配置されるように、第1の実施形態と第
2の実施形態で挙げられた方法でRAMに展開する。
以外のコアであるコア2用のプログラムカウンタ202を、退避時に実行するプログラム
が実行できるRAM上のプログラムカウンタ302に移行すると、退避処理の前処理S5
01が実行される。
理であり、例えば、ECUのソフトウェア書き換え中にコードフラッシュやRAMへのア
クセスが発生しないようにDMAC(Direct Memory Access Controller)の退避プログ
ラムで使用しない周辺機器の停止を行うこともできる。
繰り返し実施する。退避終了条件が成立した場合、復帰処理S504を実行し、退避プロ
グラム504の実行を完了する。
ず)を介して復帰情報をポーリング監視したり、復帰処理を実施するプログラムを退避プ
ログラム用ベクターテーブル503にコア間割り込みを設定したりすることで判定が可能
である。
プログラムと同様に予めRAMへ展開して利用することで、コードフラッシュのアクセス
に影響しないような例外・割り込みを利用することができ、退避終了条件が成立したとき
に復帰処理を実施することができる。第3実施例は第1実施例と第2実施例のどちらにも
適用することができる。
共に記載する。
て、あるコアが故障したと判定された際に、故障コア以外のコアからの指令により、故障
コアを不揮発性メモリ上のプログラムで動作しているプログラムから、故障コア専用の揮
発性メモリ上にあるプログラムへ移行することを特徴とする自動車用電子制御装置。
かかる技術的思想によれば、コア故障時のフェールセーフ処理とすることができる。
て、コアで共通してアクセスできる資源がどのタスクにも占有されていない資源に対して
アクセスする際、資源へのアクセス優先度の高いタスクが実行されるコアがアクセスする
際に、資源へのアクセス優先度の高いタスクが実行されるコアからの指令で、より低いア
クセス優先度のタスクが実行されるコアを不揮発性メモリ上のプログラムで動作している
プログラムから、揮発性メモリ上にあるプログラムへ移行することを特徴とする自動車用
電子制御装置。
止処理の効果を得ることができ、コアを跨いだセマフォ処理を構築することができる。
11〜1n コア専用RAM
100 コードフラッシュ
200 コア共通RAM
101〜10m 消去ブロック
201 コア1用プログラムカウンタ
202 コア2用プログラムカウンタ
302 RAMに移行したコア2用プログラムカウンタ
312 コア2用RAMの退避プログラム領域
303 RAMに移行したコア3用プログラムカウンタ
400 コア共通RAMの退避プログラム領域
501 通常時実行プログラム用ベクターテーブル
502 通常時実行プログラム
503 退避時実行プログラム用ベクターテーブル
504 退避時実行プログラム
Claims (2)
- 第一のコアと、第二のコアと、前記第一のコアと前記第二のコアの実行プログラムが格納されている不揮発性メモリと、揮発性メモリと、を有するマルチコアマイコンを備え、
前記不揮発性メモリの前記実行プログラムの書き換え時に、前記第二のコアは前記揮発性メモリのプログラムに移行し、
前記第一のコアは前記第二のコアに対し前記プログラムへ移行させる指令を出すことを特徴とする自動車用電子制御装置。 - 請求項1に記載の自動車用電子制御装置において、
前記第一のコア又は前記第二のコアは前記マルチコアマイコンの起動時に前記プログラムを前記揮発性メモリへ展開することを特徴とする自動車用電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019176397A JP6762411B2 (ja) | 2019-09-27 | 2019-09-27 | 自動車用電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019176397A JP6762411B2 (ja) | 2019-09-27 | 2019-09-27 | 自動車用電子制御装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017030608A Division JP6596455B2 (ja) | 2017-02-22 | 2017-02-22 | 自動車用電子制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020148666A Division JP6998434B2 (ja) | 2020-09-04 | 2020-09-04 | 自動車用電子制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020004448A JP2020004448A (ja) | 2020-01-09 |
JP6762411B2 true JP6762411B2 (ja) | 2020-09-30 |
Family
ID=69100354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019176397A Active JP6762411B2 (ja) | 2019-09-27 | 2019-09-27 | 自動車用電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6762411B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6421635B2 (ja) * | 2015-02-16 | 2018-11-14 | 株式会社デンソー | 電子制御装置およびメモリ書換方法 |
-
2019
- 2019-09-27 JP JP2019176397A patent/JP6762411B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020004448A (ja) | 2020-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180341476A1 (en) | Software updating device, software updating system, and software updating method | |
US10657039B2 (en) | Control device for a motor vehicle | |
JP5044387B2 (ja) | 情報処理装置及びそのスタックポインタ更新方法 | |
CN110908932B (zh) | 数据处理装置及其数据保护方法 | |
CN102135922A (zh) | 应用程序的刷新方法和系统 | |
JP2005071303A (ja) | プログラム起動装置 | |
JP2015067107A (ja) | 車両用制御装置 | |
JP6762411B2 (ja) | 自動車用電子制御装置 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
JP6998434B2 (ja) | 自動車用電子制御装置 | |
JP2004338883A (ja) | エレベーターの制御装置 | |
JP2018028830A (ja) | 電子制御装置およびその情報記憶方法 | |
JP6596455B2 (ja) | 自動車用電子制御装置 | |
JP5942778B2 (ja) | 情報処理装置 | |
JP2017204083A (ja) | メモリ保護システム | |
CN109147847B (zh) | 半导体装置和闪存存储器控制方法 | |
JP2009223435A (ja) | データ記憶方法及び装置、並びにプログラム | |
JP2009230425A (ja) | 情報処理装置 | |
JP6349444B2 (ja) | 車両用制御装置 | |
JP6252259B2 (ja) | 電子制御装置 | |
JP2015090512A (ja) | メモリダンプ機能を有する情報処理装置 | |
CN112732309B (zh) | Flash存储器的更新方法、装置和电子设备 | |
JP2023009818A (ja) | 車両用電子制御装置及び車両用電子制御装置による制御方法 | |
JP2001356998A (ja) | デバイスドライバの作成方法 | |
JP5915624B2 (ja) | 電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190927 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200717 |
|
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: 20200811 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6762411 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |