JP4577075B2 - 自動車用制御ユニット - Google Patents

自動車用制御ユニット Download PDF

Info

Publication number
JP4577075B2
JP4577075B2 JP2005125518A JP2005125518A JP4577075B2 JP 4577075 B2 JP4577075 B2 JP 4577075B2 JP 2005125518 A JP2005125518 A JP 2005125518A JP 2005125518 A JP2005125518 A JP 2005125518A JP 4577075 B2 JP4577075 B2 JP 4577075B2
Authority
JP
Japan
Prior art keywords
rewriting
rewrite
identification information
state
firmware
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.)
Expired - Fee Related
Application number
JP2005125518A
Other languages
English (en)
Other versions
JP2006298261A (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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2005125518A priority Critical patent/JP4577075B2/ja
Priority to US11/407,130 priority patent/US20060259207A1/en
Publication of JP2006298261A publication Critical patent/JP2006298261A/ja
Priority to US12/805,254 priority patent/US8607215B2/en
Application granted granted Critical
Publication of JP4577075B2 publication Critical patent/JP4577075B2/ja
Priority to US14/073,898 priority patent/US20140068590A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

この発明は、自動車用制御ユニットに関する。
特開2003−337748号公報 特開2003−172199号公報 特開2001-229014号公報
自動車には、各種機器(被制御要素)を制御するためにECUが搭載されている。ECUは、CPUからなる主制御部を有し、自動車上に搭載される電子機器の制御処理を予め定められた機能制御用ソフトウェア(アプリケーション)の実行に基づいて実施する。このアプリケーションは、バージョンアップやバグ修正等のために、内容を随時更新できるよう、フラッシュROM(フラッシュメモリ)に記憶されることが多い(特許文献1〜3)。アプリケーションの更新処理は、車両持込にて販売店などで行われる場合がほとんどであるが、近年では無線通信による車両外部インフラ(例えば携帯電話網など)の普及により、ユーザー自身の手で実行させるシーンもありえる。
自動車のアプリケーション(機能制御用ソフトウェア)のバージョンアップ処理は、その機能制御用ソフトウェアとは別に用意された書換用のプログラム(ファームウェア)を用いて行なう必要がある。自動車に搭載されたECUの場合、パソコンのOS等と異なり、搭載されたアプリケーションのバージョンアップに関しても、書換処理そのものにユーザーの関心が向けられるのは稀であり、当該書換処理を現実に実行するのも販売店側の担当員である場合がほとんどである。例えば、ECUをリセット後に再起動した時、アプリケーションの書き換えに関与する余計なルーチンが勝手に立ち上がるようになっていると、普段は普通に享受している自動車機能が作動しなくなるばかりか、わけのわからない書換処理の入力待ち状態に移行してしまい、ユーザーをうろたえさせることにもつながる。このようなわけで、ECUがリセット後に再起動するときは、図15に示すように、必ずアプリケーションの本体部分(機能実現プログラム部分)が優先的に立ち上がり、書換用処理へ移行したい場合は、このアプリケーションからのコマンド入力により書き換えファームウェアを立ち上げるようにしている。具体的には、上記アプリケーションの実行ステップの一つにて、一般ユーザーが通常は操作しないメンテナンス用インターフェース(例えば専用コマンドにて呼び出すタッチパネル画面や、専用コネクタへの入力ツール接続にて実現される)からの入力により、書き換えファームウェアの起動コマンドを受け付ける。
ところで、フラッシュROM内の旧バージョンプログラムを更新バージョンプログラムにより上書き(あるいは無効化)する形で書換処理を行った場合、その更新バージョンプログラムの書き込み処理中に、何らかの要因(例えば、ECUの電源遮断、通信途絶、書換処理のバグや暴走、ハードウェア異常、更新バージョンプログラムを搭載した専用の書き換えツールを車内ネットワークに接続して書き換えを行なう場合はコネクタ脱落など)でその書き込み処理に失敗してしまうことがある。この場合、更新バージョンプログラムはもちろんのこと、旧バージョンプログラムも使用不能あるいは機能不全を来たすこととなり、ユーザーへの機能提供に深刻な影響が及ぶので、当然のことながら、そのアプリケーションの書換処理を再度やり直す必要がある。
しかし、上記従来のECUのように、書き換えファームウェアの起動コマンドがアプリケーション側からの入力により受け付けられるようになっていると、そのアプリケーションの書換処理に一旦失敗してしまった場合、以降はアプリケーションの正常な起動は望むべくもなくなり、結果としてこれを修復するための書き換えファームウェアも起動できなくなって、書換処理の再実行が不能に陥ることになる。この場合、ECUを取り外して専用の装置に組み付け、アプリケーションを格納しているフラッシュROMの内容を書き直せばよいが、車体の奥まった位置にマウントされているECUの取り外しには非常に手間が係り、正常復帰に思わぬ時間と労力を浪費することにつながる。
本発明の課題は、不揮発性メモリに搭載されている制御用のソフトウェアの書換処理に万一失敗しても、その再書換処理を確実に行なうことができる機能を有した自動車用制御ユニットを提供することにある。
課題を解決するための手段及び発明の効果
上記の課題を解決するために、本発明の自動車用制御ユニットは、
自動車上に搭載される電子機器の制御処理を司る機能制御用ソフトウェアを格納するとともに、記憶内容が電気的に書換え可能であって、外部からのリセット信号を受けても記憶内容を保持する不揮発性メモリと、
該機能制御用ソフトウェアの実行メモリとなるRAMと、機能制御用ソフトウェアの実行に基づいて電子機器の制御処理を行なうCPUと、
不揮発性メモリに格納された機能制御用ソフトウェアの内容を書き換えるための書換用ファームウェアが格納された書換用ファームウェア記憶部と、
書換用ファームウェアによる機能制御用ソフトウェアの書換処理が正常に完了したかどうかを識別するための書換状態識別情報を書換え可能に記憶する書換状態識別情報記憶部と、
書換用ファームウェアによる書換処理の進行状態を管理し、該進行状態に応じて書換状態識別情報記憶部における書換状態識別情報の記憶内容を、書換処理が正常に完了したか否かが把握可能となるように書き換える識別情報書換手段と、
機能制御用ソフトウェアを起動する際に書換状態識別情報記憶部の記憶内容を参照し、記憶内容が、書換処理が正常に完了したことを示す内容になっている場合は機能制御用ソフトウェアを起動し、書換処理が不完全であることを示す内容になっている場合は機能制御用ソフトウェアに代えて書換用ファームウェアを再起動する処理を、機能制御用ソフトウェアとは独立に実行する起動制御手段と、を備え、
識別情報書換手段は、書換用ファームウェアによる機能制御用ソフトウェアの書換処理の開始に対応して、書換状態識別情報記憶部の記憶内容を、書換中を示す予め定められた書換中状態に設定するとともに、当該書換中状態を機能制御用ソフトウェアの書換処理が正常完了するまで維持するものであり、
起動制御手段は、書換状態識別情報記憶部の記憶内容が書換中状態になっている場合に書換用ファームウェアを起動し、
書換用ファームウェアは、書き換えに使用する機能制御用ソフトウェアの更新バージョンプログラムを、自動車用制御ユニットにネットワーク接続されたデータ送信元装置から通信取得して書き換えを行なうものであり、
識別情報書換手段は、データ送信元装置から受信する書換中状態維持指令を受けることにより、書換状態識別情報記憶部の記憶内容を書換中状態に維持することを特徴とする。
上記本発明によると、機能制御用ソフトウェアの書換処理が実行される毎に、それが正常に完了したかどうかを書換状態識別情報としてその都度記憶する。そして、次に機能制御用ソフトウェアを起動しようとするとき、直ちに機能制御用ソフトウェアを起動するのではなく、まず、その書換状態識別情報の内容を参照する。そして、その結果、前回の書換処理が万一不完全であることが判明した場合は、該機能制御用ソフトウェアの代わりに書換用ファームウェアを再起動する。つまり、機能制御用ソフトウェアの内部にて書換用ファームウェアの起動コマンドが実行されるのではなく、機能制御用ソフトウェアからは独立した起動制御手段が、書換状態識別情報を参照した上で独自に書換用ファームウェアの再起動を行なうから、機能制御用ソフトウェアの書き換えに失敗した場合でもその再書換処理を確実に行なうことができる。
識別情報書換手段は、書換用ファームウェアの起動時に書換状態識別情報記憶部の該ファームウェア起動前の記憶状態を無効化し、その後、書換用ファームウェアが不揮発性メモリにおける機能制御用ソフトウェアの書換処理を正常に完了するに伴い、書換状態識別情報記憶部の記憶状態を、書換え正常完了を示す予め定められた書換え正常完了状態に設定するものであり、起動制御手段は、書換状態識別情報記憶部の記憶内容が書換え正常完了状態になっている場合にのみ機能制御用ソフトウェアを起動するものとして構成できる。機能制御用ソフトウェアの書き換え時に書換状態識別情報記憶部の内容を無効化し、書換処理が正常に完了した場合に、該書換状態識別情報記憶部の内容を書換え正常完了状態に設定しなおすことで、機能制御用ソフトウェアの書き換えに成功したかどうかを確実に判別することができ、結果として、不成功の場合の書換用ファームウェアによる再書換処理にもスムーズに移行することができる。
また、上記本発明において、識別情報書換手段は、書換用ファームウェアによる機能制御用ソフトウェアの書換処理の開始に対応して、書換状態識別情報記憶部の記憶内容を、書換中を示す予め定められた書換中状態に設定するとともに、当該書換中状態を機能制御用ソフトウェアの書換処理が正常完了するまで維持するものであり、起動制御手段は、書換状態識別情報記憶部の記憶内容が書換中状態になっている場合に書換用ファームウェアを起動す。この構成にて、書換状態識別情報記憶部の記憶内容が書換中状態のまま残っているということは、前回の書換処理が途中で中断されてしまったことを意味するから、書換用ファームウェアを直ちに起動することにより、その修復処理に迅速に移行することができる。
さらに、上記本発明において、書換用ファームウェアは、書き換えに使用する機能制御用ソフトウェアの更新バージョンプログラムを、自動車用制御ユニットにネットワーク接続されたデータ送信元装置から通信取得して書き換えを行な、識別情報書換手段は、データ送信元装置から受信する書換中状態維持指令を受けることにより、書換状態識別情報記憶部の記憶内容を書換中状態に維持す。この方式によると、データ送信元装置と連携することで更新バージョンプログラムの転送・書き込みの状態把握をより確実に行なうことが可能となり、書換中状態の設定に係る信頼性も大幅に向上する。
この場合、識別情報書換手段は、機能制御用ソフトウェアの書換処理の開始から正常完了に至るまでの間に、データ送信元装置から書換中状態維持指令を定期的に受信するものであり、該書換中状態維持指令の受信継続に対応して書換状態識別情報記憶部の記憶内容を書換中状態に維持するものとすれば、上記効果をさらに高めることができる。例えば、書換用ファームウェアが、データ送信元装置から更新バージョンプログラムを複数ブロックに分割された形で順次受信するものとした場合、識別情報書換手段は、データ送信元装置からブロック毎に書換中状態維持指令を受けるものとすることができる。
次に、識別情報書換手段は、書換用ファームウェアがデータ送信元装置から受信した更新バージョンプログラムを不揮発性メモリに全て書き込み、さらに、データ送信元装置から受信したベリファイ用データに基づいて書き込まれた更新バージョンプログラムのベリファイを完了した場合に、書換状態識別情報記憶部の記憶状態を書換え正常完了状態に設定するものとすることができる。ベリファイ後に書換え正常完了状態が設定されるので、書き込まれた更新バージョンプログラムを使用に供する際の信頼性を高めることができる。この場合、識別情報書換手段を、書換用ファームウェアによる書換処理がベリファイの途中で中断した場合に、書換状態識別情報記憶部の記憶内容を、ベリファイ中の中断であることが特定可能な形で書換中状態に設定するものとして構成することができる。これに対応して、起動制御手段は、ベリファイ処理から書換処理が再開されるように書換用ファームウェアを再起動するものとすることができる。これにより、ベリファイ段階での中断に関しては、更新バージョンプログラムの書き込み処理まで遡らず、当該ベリファイ処理だけがやり直しになるので、再書換処理を大幅に簡略化することができる。
また、識別情報書換手段は、書換用ファームウェアが不揮発性メモリへの機能制御用ソフトウェアの書換処理が途中で中断した場合に、書換状態識別情報記憶部の記憶内容を、当該書換処理(不揮発性メモリへの書き込み処理の他、書き込まれたデータのベリファイ処理も概念に含む)の中断位置を特定可能な形で書換中状態に設定するものとして構成することができる。この場合、起動制御手段は、書換状態識別情報記憶部の記憶内容から中断位置を特定し、該中断位置から書換処理が再開されるように書換用ファームウェアを再起動するものとして構成することができる。この構成によると、書換処理が途中で中断した場合、その中断位置から書換用ファームウェアによる書換処理を再開できるので、再書換処理を大幅に簡略化することができる。
上記中断位置の特定は、原理的には更新バージョンプログラムデータを構成するビット単位にまでその分解能を高めることができるが、この場合、各ビットに書換状態識別情報を随伴させなければならず、結果として書換状態識別情報の合計サイズが非常に大きくなってしまい、メモリの無駄な消費につながる。例えば、書換用ファームウェアが、データ送信元装置から更新バージョンプログラムを複数のブロック(もちろん、複数ビットからなるものである)に分割された形で順次受信するものである場合、識別情報書換手段は、書換用ファームウェアが不揮発性メモリへの機能制御用ソフトウェアの書換処理が途中で中断した場合に、書換状態識別情報記憶部の記憶内容を、当該書換処理がどのブロックで中断されたかを特定可能な形で書換中状態に設定するものとすることができる。また、起動制御手段は、書換状態識別情報記憶部の記憶内容から処理中断されたブロックを特定し、該ブロックから書換処理が再開されるように書換用ファームウェアを再起動するものとすることができる。この方法であると、書換状態識別情報はブロック毎に随伴させるだけで済むようになり、その合計サイズの肥大を防止することができる。
書換状態識別情報記憶部は、更新バージョンプログラムの各ブロックに対応して複数設けることができる。識別情報書換手段は、複数の書換状態識別情報記憶部の記憶状態を、書換処理の完了したものから順に書換え正常完了状態に設定するものであり、起動制御手段は、書換状態識別情報記憶部の記憶状態が書換え正常完了状態に設定されていないブロックから書換処理が再開されるように書換用ファームウェアを再起動するものとすることができる。このようにすると、書き換え順序の決められた各ブロックの書換状態識別情報記憶部の内容を順次確認することで、どのブロックまで書換処理が正常完了しているかを速やかにかつ適確に把握することができる。
以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明の自動車用制御ユニットの概念が適用されるECUの電気的な構成図である。ECU1は、CPU3からなる主制御部を有し、自動車上に搭載される電子機器(制御対象機器:被制御要素)の制御処理を該主制御部による予め定められたアプリケーション(機能制御用ソフトウェア)の実行に基づいて実施するものであり、具体的には、CPU3、ROM5、RAM4及び入出力部(I/Oポート)2がバス接続されたマイクロプロセッサからなる。ECU1は、本実施形態では自動車のボデー系の制御を司るボデー系ECUとして構成される。各アプリケーション18はROM5に格納され、同じくROM5に格納されたプラットフォーム5c上で動作するものであり、RAM4内に個別のワークエリア4dが確保されている。プラットフォーム5cは、ベースとなるハードウェアが相違する場合にも、各アプリケーションに共通の動作環境を与えるためのものであり、該アプリケーションに対する基本ソフト(OS)のほか、アプリケーションやハードウェアとの連携を図るインターフェースプログラムなどを含んで構成される。また、後述の起動制御手段の機能もこのプラットフォーム5cに組み込まれ、RAM4内のワークエリア4cを利用してCPU3により実行されるものである。
アプリケーションは、車両利用者による車両各部の操作に係る機能であるボデー系機能を実現するものである。このボデー系機能とは、具体的には、ドア開閉に伴う制御、窓開閉に伴う制御、ライトスイッチのオン/オフに伴う制御、キーレスエントリ方式等に採用されるワイヤレスドアロック機構の制御、・・・といったものをいう。具体的には、以下のようなものを例示できる:
・運転席ドア、助手席ドア、後部右側座席ドア、後部左側座席ドア、ルーフなどのロック/ロック解除、パワーウィンドウ動作など。
・エアコン、カーオーディオ、カーナビゲーションシステムなどの電源動作など。
・ルームランプ、コックピットランプ、ヘッドライト、スモールランプ、ハザードランプ、テールランプなどのスイッチ点灯制御など。
ECU1は、シリアル通信バス30を介して他のECUと接続されており、シリアル通信バス30と各ECUの内部バスとは、シリアル通信インターフェース6を介して接続されている。該シリアル通信バス30を介したデータ送受信処理を司る通信用ファームウェア5bもROM5に格納され、RAM4内のワークエリア4bを利用してCPU3により実行される。
ソフトウェアが格納されているROM5は、記憶内容が電気的に書換え可能であって、外部からのリセット信号を受けても前記記憶内容を保持する不揮発性メモリとして構成され、本実施形態では、フラッシュROM(フラッシュメモリ)にて構成されている(以下、フラッシュROM5ともいう)。フラッシュROM5は、読み出し時の駆動電圧と書き込み消去時の駆動電圧が異なり、後者(例えば9V)が前者(例えば5V:リセット信号も同レベルのエッジトリガ信号である)よりも高く設定されている。つまり、書き込み/消去の信号電圧がリセット信号よりも電圧で制御されるため、リセット信号を受けてもフラッシュROM5の記憶内容は保持される。フラッシュROM(不揮発性メモリ)5は、その記憶領域が、複数の書き換え単位ブロックに分割されており、該書き換え単位ブロック15を単位とする形で記憶内容の消去、書き込み及び書き換えが可能である。
また、フラッシュROM5には、フラッシュROM5に格納されたアプリケーション18の内容を書き換えるための書換用ファームウェア5aが格納されている(この格納領域が書換用ファームウェア記憶部である)。書換用ファームウェア5aは、書き換え(バージョンアップ)の対象となるアプリケーションの更新バージョンプログラムのデータを、データ送信元装置よりシリアル通信バス30を介して取得し、RAM4の書換用ワークエリアをバッファ領域として、上記の書き換え単位ブロック毎にフラッシュROM5に書き込むことで書換処理を行なう。データ送信元装置は、例えばコネクタ9を介してシリアル通信バス30に接続されたプログラム書換ツール10である。このプログラム書換ツール10は、アプリケーションの更新バージョンプログラムのデータを記憶する固定記憶部を有したコンピュータ端末装置として構成される。なお、データ送信元装置は、更新バージョンプログラムデータを、外部の無線通信網から無線通信ユニット31により受信する別のECUであってもよい。
図2は、フラッシュROM5におけるアプリケーション18の格納領域の構造を示すものである。ここには、書換用ファームウェア5aによるアプリケーション18の書換処理が正常に完了したかどうかを識別するための書換状態識別ID(書換状態識別情報:以下、単に「識別ID」ともいう)を書換え可能に記憶する書換状態識別ID記憶部(書換状態識別情報記憶部:以下、単に「識別ID記憶部」ともいう)101aが形成されている。本実施形態においては、該格納領域の先頭に固定アドレス領域からなるヘッダ部101が形成され、これに続く形でプログラム本体格納部102が形成されている。ヘッダ部101には、アプリケーション名、プログラム本体の先頭アドレス及び末尾アドレスの各格納部と、前述の識別ID記憶部101aが形成されている。識別ID記憶部101aのアドレスもまた固定されている。
また、ECU1は、書換用ファームウェア5aによる書換処理の進行状態を管理し、該進行状態に応じて識別ID記憶部101aにおける識別IDの記憶内容を、書換処理が正常に完了したか否かが把握可能となるように書き換える識別情報書換手段の機能を具備してなる。本実施形態においては、該識別情報書換手段の機能も書換用ファームウェア5aが兼ねてなる(ただし、書換用ファームウェア5aとは別のファームウェアとしてもよい)。また、アプリケーション18を起動する際に識別ID記憶部101aの記憶内容を参照し、該記憶内容が、書換処理が正常に完了したことを示す内容になっている場合はアプリケーション18を起動し、書換処理が不完全であることを示す内容になっている場合はアプリケーション18に代えて書換用ファームウェア5aを再起動する処理を、アプリケーション18とは独立に実行する、起動制御手段の機能も有している。この機能は、本実施形態においては、プラットフォーム5cに組み込まれている。
図4は、書換用ファームウェア5aによる書換処理の、最も単純な場合の一例を概略的に示すものである。図2に示すように、ここでは、識別IDを1ビットデータにて構成し、書換中を「0」に、書き換え完了を「1」に対応させ(もちろん、逆でもよい)、それ以外の状態は識別しないものとする。図1のコネクタ9に接続された書換ツール10(データ送信元装置)から、図2に示すように書換開始通知を受けることにより書換用ファームウェア5aは起動される。書換用ファームウェア5aは、その起動に際して、図2の識別ID記憶部101aの、該ファームウェア起動前の記憶状態を無効化する。この無効化の方法は種々考えられるが、本実施形態では書換中を示す「0」にリセットする処理とする。その結果、識別ID記憶部101aは、その無効化された状態が、書換中を意味する内容と実質的に等価となる。換言すれば、ファームウェア起動前の記憶状態を無効化する処理が、当該記憶状態を、書換中を示す「0」にセットする処理にも兼用されているといえる。なお、識別ID記憶部無効化フラグを別途設け、無効化を意味するフラグ値を立てることにより、識別ID記憶部101aの記憶内容とは無関係に、これを無効化することも可能である。この場合、識別ID記憶部101aは該識別ID記憶部無効化フラグをリセットすることにより有効化され、その記憶内容に応じた書換状態を示すものとなる。
他方、書換ツール10から書換終了通知を受け、さらに、フラッシュROM5におけるアプリケーション18の書換処理を正常に完了すると、書換用ファームウェア5aは、識別ID記憶部101aの記憶状態を、書換え正常完了を示す予め定められた書換え正常完了状態「1」に設定する。その後、ECU1をリセットしてアプリケーション18を再度立ち上げようとする場合、プラットフォーム5cは、識別ID記憶部101aの記憶内容が書換え正常完了状態「1」になっている場合にのみ、アプリケーション18の起動を許可する。
他方、書換用ファームウェア5aは、識別ID記憶部101aに設定された書換中状態「0」を、アプリケーション18の書換処理が正常完了するまで維持する。もし、書換処理が途中で中断してしまった場合、識別ID記憶部101aの記憶内容は書換中状態「0」のままである。そして、その後ECU1をリセットしたときに、プラットフォーム5cは、該記憶内容が書換中状態「0」になっていることを確認し、不完全な書換状態になっているアプリケーション18を起動せずに、書換用ファームウェア5aを起動し、書換ツール10より更新バージョンプログラムのデータを改めて取得するとともに、それを用いて再書換処理を行なう。
上記のごとく、書換用ファームウェア5aは、書き換えに使用するアプリケーション18の更新バージョンプログラムを、ECU1(自動車用制御ユニット)にネットワーク接続されたプログラム書換ツール(データ送信元装置)10から通信取得して書き換えを行なうものである。プログラム書換ツール10は、上記書換処理中において書換用ファームウェア5aに対し、書換中状態維持指令(すなわち、識別IDの値として「0」を保持する指令)を継続的に出力する。書換用ファームウェア5aは上記書換中状態維持指令を受け、識別ID記憶部101aの記憶内容を書換中状態(「0」)に維持する。
具体的には、書換ツール10は、更新バージョンプログラムをブロック102bに分割された形でECU1の書換用ファームウェア5a側に順次送信するとともに、1ブロック送信するたびに、対応する書換中状態維持指令を発行・送信しつづける。書換用ファームウェア5aは、受信したブロックをフラッシュROM5に書き込むとともに、その都度送られてくる書換中状態維持指令を受けて、識別IDの値を「0」に維持し続ける。なお、書換用ファームウェア5a側でデータブロックは受信したが、何らかの要因により書換中状態維持指令が途絶えてしまった場合は、エラーログを作成して処理を終了する。
また、書換用ファームウェア5aが受信した更新バージョンプログラムをフラッシュROM5に全て書き込むと、プログラム書換ツール10は、次に、送信した更新バージョンプログラムデータをベリファイするためのベリファイデータの送信を開始する。ベリファイデータは、更新バージョンプログラムデータと同一であってもよいし、チェックサムなど、更新バージョンプログラムデータを加工して作成したエラーチェック用データであってもいずれでもよい。プログラム書換ツール10は、このベリファイデータに関しても、ブロック毎に書換中状態維持指令を発行・送信し続ける。書換用ファームウェア5aは上記のベリファイデータを受けて、既にフラッシュROM5に書き込んだ更新バージョンプログラムデータのベリファイを行い、また、書換中状態維持指令を受けて識別IDを書換中状態「0」に維持する。そして、更新バージョンプログラムのベリファイを全て完了すると、書換用ファームウェア5aは、識別IDを書換え正常完了状態、つまり「1」に書き換える。
図5は、書換ツール10とECU1側の書換用ファームウェア(以下、単に「ファームウェア」ともいう)5aとによる上記書換処理の流れをより詳細に示すフローチャートである。書換ツール10側のフローを左に、書換用ファームウェア側の流れを右に、各の実行ステップの時系列を概ね一致させた形で表示しており、書換ツール10とECU1との間での通信による情報の流れを破線にて示している。また、ステップ番号は書換ツール10側を”S##”、書換用ファームウェア5a側を”T##”にて表示している。また、現在どちらのフローの説明を行っているかを把握しやすくするため、書換ツール側の説明とファームウェア側の説明とを別パラグラフとする。そして、書換ツール側で「送信」と称する場合の送信先は常にファームウェアを意味し、ファームウェア側で「送信」と称する場合の送信先は常に書換ツールを意味する。
(書換ツール)S1にて書換開始通知を送信する。
(ファームウェア)T1で書換開始通知を受信し、識別IDを「0」に設定して前述の無効化(兼書込み中設定)を行い、T3でアクノリッジ信号ACKを返す。
(書換ツール)S2でアクノリッジ信号ACKを受け、S3で送信対象となるデータブロックを送信し、また、識別IDを「0」に維持するための書換中状態維持指令を送信する。
(ファームウェア)T4でデータブロックを受信し、T5でフラッシュROM5にそのデータを書き込むとともに、識別IDを「0」に保持し、T6でアクノリッジ信号ACKを返す。
(書換ツール)S4でアクノリッジ信号ACKを受け、S5で次のデータブロックがあるかを確認し、あればS3及びS4の処理を繰り返す。他方、S5で次のデータブロックがなければS6に進み、ベリファイ開始通知を送信する。
(ファームウェア)T7で次のデータブロックを受信すればT4〜T6の処理を繰り返す。他方、T7で次のデータブロックがなければT8に進み、ベリファイ開始通知を受信して、T9でアクノリッジ信号ACKを返す。
(書換ツール)S7でアクノリッジ信号ACKを受け、S8で送信対象となるベリファイデータ(送信済みのデータブロックに対応するものが順次送信されることとなる)を送信し、また、識別IDを「0」に維持するための書換中状態維持指令を送信する。ベリファイデータは、送信済みのデータブロックに対応するものが以降のステップで順次送信されることとなる。
(ファームウェア)T10でベリファイデータを受信し、T11でフラッシュROM5に書き込まれた対応するデータブロックとの間で比較するとともに、T12でその結果を送信する(この送信は、ベリファイデータ受信に対するアクノリッジを兼ねている)。
(書換ツール)S9で上記比較結果を受け、結果が一致であればS10で次のベリファイデータがあるかを確認し、あればS8及びS9の処理を繰り返す。他方、S10で次のベリファイデータがなければS11に進み、書換終了通知を送信する。一方、S9で不一致である場合はS13に進み、エラーログを作成して終了する。
(ファームウェア)T13で、データブロックとベリファイデータとが一致していればT14に進み、識別IDを「0」に保持するとともに、T15で次のベリファイデータがあればT10〜T14の処理を繰り返す。また、T13で不一致である場合はT19に進み、エラーログを作成して終了する。他方、T15で次のベリファイデータがなければT16に進み、書換終了通知を受信する。そして、T17で識別IDを「1」に設定し、T18でアクノリッジ信号ACKを返す。なお、T4,T10で、書換ツール側から必要なデータを正常に受信できなかった場合も、一定回数のリトライの後T19に進み、エラーログを作成して終了する。
(書換ツール)S12でアクノリッジ信号ACKを受信すれば処理を終了する。なお、S2,S4,S7及びS12でアクノリッジ信号ACKがない場合、一定回数のリトライの後T13に進み、エラーログを作成して終了する。
以上のようにして更新バージョンプログラムによる書換処理が完了すれば、プラットフォーム5cによる起動制御プログラムルーチンにより、次回からのリセット後の起動処理は図6に示すようなものとなる。まず、T51では起動すべきアプリケーション名を特定する。書換ツール10による初回の書き換えトライ時には、書き換えIDの内容が正常終了を示す「1」になっているはずであり、該書き換えIDの内容判定から書換処理に移行するロジックが成立しないため、まずT52で、書換ツール10(データ送信元装置)からの書換用ファームウェア起動に対する割り込み要求があるかどうかを調べる。割り込み要求がなければT53に進み、フラッシュROM5内にてアプリケーションに対応する識別IDをリードする。識別IDが「1」(正常完了)になっていればT57に進み、アプリケーションを起動する。他方、識別IDが「0」(書換中)になっていれば、前回の書換処理が正常完了していないことを意味するから、T55に進んで書換用ファームウェア5aを起動し、T56で書換ツール側に書換処理プログラム(図5の左側のフローで示されるもの)の起動を要請する。一方、ずT52で割り込み要求があればT53〜T55をスキップし、T56に進んで書換ツール側に書換処理プログラムの起動を要請する。
上記の処理態様をベースとして、本発明は以下に説明するごとく、様々な変形態様が可能である。まず、書換用ファームウェア5aは、書換処理がベリファイの途中で中断した場合に、識別ID記憶部101aの記憶内容を、ベリファイ中の中断であることが特定可能な形で書換中状態に設定するものとして構成することができる。これに対応して、プラットフォーム5cは、ベリファイ処理から書換処理が再開されるように書換用ファームウェア5aを再起動するものとすることができる。図3に、この場合の識別IDの設定例を示している。3以上の書換状態を識別するために、識別IDを複数ビット、ここでは2ビットとし、「00」を未書き換え(無効化にも兼用)、「01」を書き換え済未ベリファイ、「10」を書換え正常完了(書き換え/ベリファイ双方完了)に対応させている。
図7は、この場合の書換処理の流れを示すものである。図5と共通するステップが多いので、同一の処理内容となるステップには同じステップ番号を付与して詳細な説明は省略する。また、処理内容が相違するステップは、図5との対応関係を明確にするために、図7側の、内容が相違するステップ番号に「’」を付与している。以下、この「’」を付与したステップを中心に説明を行なう。
まず、S3’、T2’、T5’及びT17’は、本質的な処理は図5の対応するステップと何も代わらず、ただ、書換中を示す識別ID「0」が未書き換え「00」に、書き換え完了を示す識別IDが「1」から「10」に変わるだけである。一方、ベリファイに係るS8’及びT14’では、図5の処理では識別IDを、書換中を示す「0」に維持する処理を行なうだけであったが、ここでは新たに書き換え済み未ベリファイを示す「01」を設定する。その結果、更新バージョンプログラムの書き込み中に処理が中断された場合は識別IDが「0」となり、ベリファイ中に中断された場合は「01」となるから、この両者を互いに区別することができる。
図8は、この場合のリセット後起動処理の流れを示すものであり、T51でアプリケーション名を特定した後、T52で書換ツール10(データ送信元装置)からの書換用ファームウェア起動に対する割り込み要求がなければT53で識別IDをリードする。その内容が「00」であれば、図7において、書換ツール及び書換用ファームウェアの双方のプログラムを先頭(A及びA’位置)から起動し、更新バージョンプログラムの書き込み処理から再度やり直す(T61,T62)。他方、識別IDの内容が「01」であれば、図7において、書換ツール及び書換用ファームウェアの双方のプログラムを、ベリファイ処理ステップ(B及びB’位置)から起動し、ベリファイ処理だけをやり直す(T63,T64)。また、識別IDの内容が「10」であれば、アプリケーション(更新バージョンプログラム)を起動する。なお、T52で割り込み要求があった場合はT61へ進む。
次に、書換用ファームウェア5aは、フラッシュROM5へのアプリケーション18の書換処理が途中で中断した場合に、識別ID記憶部101aの記憶内容を、当該書換処理(フラッシュROM5への書き込み処理の他、書き込まれたデータのベリファイ処理も概念に含む)の中断位置を特定可能な形で書換中状態に設定するものとして構成することもできる。この場合、プラットフォーム5cは、識別ID記憶部101aの記憶内容から中断位置を特定し、該中断位置から書換処理が再開されるように書換用ファームウェア5aを再起動する。具体的には、図9に示すように、識別ID記憶部101aは、更新バージョンプログラムの各ブロック102bに対応して複数設けることができ、書換用ファームウェア5aは、複数の識別ID記憶部101aの記憶状態を、書換処理の完了したものから順に書換え正常完了状態(「10」)に設定するものとできる。プラットフォーム5cは、識別ID記憶部101aの記憶状態が書換え正常完了状態(「10」)に設定されていないブロック102bから書換処理が再開されるように書換用ファームウェア5aを再起動するものとする。
図9では、フラッシュROM5のアプリケーション18の格納領域には、各ブロック102bの格納領域における所定のアドレスに、個々のブロック102bの書換状態を識別するためのブロック別識別ID記憶部102aが個別に形成されている。また、ブロック別識別ID記憶部102aとは別に、更新バージョンプログラム全体の書換状態を統括的に識別するための主識別ID記憶部101aも形成されている(図9では、ヘッダ101内)。このうち、主識別IDは、プログラム全体からみたとき、書換中「0」(無効化に兼用)であるか書換え正常完了「1」であるか、の2状態だけを識別できるように設定されている(従って、1ビットデータである)。他方、ブロック別識別IDは、個々のブロックが未書き換え「00」(無効化にも兼用)、書き換え済未ベリファイ「01」、書換え正常完了「10」の3状態を識別できるように設定されている(従って、2ビットデータである)。
図10は、この場合の書換処理の流れを示すものである。図7と共通するステップが多いので、同一の処理内容となるステップには同じステップ番号を付与して詳細な説明は省略する。また、処理内容が相違するステップは、図7との対応関係を明確にするために、図10側の、内容が相違するステップ番号に「”」を付与している。以下、この「”」を付与したステップを中心に説明を行なう。
ファームウェア側のT2”では、書換開始通知を受けると、主識別IDを「0」に、全てのブロック別識別IDを「00」にリセットし、前歴を無効化する。S3”、S8”、T5”、T14”は、本質的な処理は図7の対応するステップとほぼ同じであるが、ブロックとは無関係な単一の識別ID記憶部ではなく、現在の処理に係るブロックの識別ID記憶部において、書き換え前であれば「00」を、書き換え済未ベリファイであれば「01」を設定するようにする。ブロックの書き込み/ベリファイが進行する毎に、順次、対応するブロックの識別ID記憶部に該設定が行なわれて行く。そして、全てのブロックのベリファイが完了すれば、T17”で、主識別IDを書換え正常完了「1」に設定する。
図11は、この場合のリセット後起動処理の流れを示すものであり、T101でアプリケーション名を特定した後、T102で書換ツール10(データ送信元装置)からの書換用ファームウェア起動に対する割り込み要求がなければT103で主識別IDをリードする。T104で、主識別IDの内容が「10」であれば、アプリケーション(更新バージョンプログラム)を起動する。このように、ブロック別識別IDとは別に主識別IDを使用することで、多数のブロック別識別IDの内容を参照せずとも、書き換えが正常に完了したかどうかを直ちに判定することができ、アプリケーションの起動処理へ速やかに移行できる。
一方、T104で、主識別IDの内容が「0」であれば、T105以下の、ブロック別識別IDの解析処理に移る。基本的には、書き込み(及びベリファイ)の順にブロックをたどりながら、ブロック別識別IDの内容がどのブロックで変化するかにより、書き込みないしベリファイの中断位置(中断ブロック)を特定する処理になっている。まず、T105でブロック番号iを初期化し、T106では番号iのブロック別識別IDを読み出し、T107で内容を判定する。書き込み及びベリファイが、予め定められたブロック配列にて順次行われるロジックを考慮すれば、T107において、ブロック別識別IDの内容が書換え正常完了「10」の場合、以降のブロックは、少なくともベリファイまでは正常に完了しているはずだから、T108でブロック番号iをインクリメントしてT106に戻り、以下の処理を繰り返す。また、T109でiがn(最終ブロック)であった場合は、全ブロックが書換え正常完了であることを意味するから、T115に進んでアプリケーションを起動する。さらに、T107において、ブロック別識別IDの内容が未書き換え「00」の場合、該ブロックから書き換えが再開されるよう、ファームウェア及び書換ツールを起動する(T118、T119)。
また、T106で読み込んだブロック別識別IDの内容が書き換え済未ベリファイ「01」の場合、書換え正常完了「10」となっているブロックの存在は既に確認済みだから、そのブロックがもし先頭ブロックでないなら(T111でYes)先のブロックは書換え正常完了であり、現在のブロックから先は全て書き換え済未ベリファイである。従って、T112及びT113に進み、当該ブロックからベリファイが再開されるよう、ファームウェア及び書換ツールを起動する。
他方、T111で書き換え済未ベリファイ「01」となっている該ブロックが先頭ブロックであった場合はT114に進み、以降のどのブロックで未書き換え「00」に切り替わるかを調べ(T115)、最後のブロックnまで書き換え済未ベリファイ「01」であった場合は、最初のブロックからベリファイが再開されるよう、ファームウェア及び書換ツールを起動する(T116、T117→T112)。他方、T115で途中のブロックから未書き換え「00」になっていることが判明した場合はT118に進み、該ブロックから書き換えが再開されるよう、ファームウェア及び書換ツールを起動する(T118、T119)。
なお、図12に示すように、ブロック別識別ID記憶部を、各ブロックの格納領域から切り離して別テーブルの形で形成してもよい。図12では、ヘッダ部101の中に主識別IDとともに、全てのブロック別識別ID記憶部を集合形成している。また、ブロック別に識別IDを設けず、図13に示すように、現在処理中のブロックを特定する情報と、その処理状態を示す情報とを組み合わせて書換状態識別情報を形成してもよい。図13の例では、次のブロックの処理に進む毎にインクリメントされるブロックカウンタNと、状態IDとを組み合わせている。識別IDは、ブロックカウンタNが示すブロックの状態を示すものであり、未書き換え「00」(無効化にも兼用)、書き換え済未ベリファイ「01」、書換え正常完了「10」の3状態を識別できるように設定されている。
図14は、この場合の書換処理の流れを示すものである。図10と共通するステップには同じステップ番号を付与して詳細な説明は省略する。また、処理内容が相違するステップは、図10との対応関係を明確にするために、図14側の、内容が相違するステップ番号に「”’」を付与している。以下、この「”’」を付与したステップを中心に説明を行なう。
ファームウェア側のT2”’では、書換開始通知を受けると、主識別IDを「0」に、ブロックカウンタNを「1」に、状態IDを「00」にそれぞれ設定し、前歴を無効化する。S3”’、S8””、T5”’、T14”’は、本質的な処理は図10の対応するステップとほぼ同じであるが、ブロックとは無関係な単一の識別IDが用いられ、先のブロックの処理に移るに従い、ブロックカウンタNが示すブロックの状態値を更新しつつ書き込んでゆく。ここでの処理では、あるブロックの書き込みが終了したら、引き続いてそのブロックのベリファイ処理も行なうようにしている。つまり、ブロックカウンタNの値を固定した状態で、書き込み→ベリファイと進むに従い、識別IDの値を「01」→「10」と書き換える。そして、T20で、次のブロックの処理に移る際にはブロックカウンタNをインクリメントし、識別IDの値を再度無効化する(「00」)。そして、最後のブロックのベリファイが終わればT17”’に進み、主識別IDを「1」に設定する。
この場合のリセット後起動処理では、主識別IDがもし「0」(書換中)であった場合、ブロックカウンタNと識別IDの値を読み出すことで、どのブロックでどの状態まで処理が進んでいたかを直ちに把握できる。例えば図13ではNが(10進法で)54であり、状態IDが「01」であるから、第54ブロックの書き換えまでで処理が中断したことを示している。従って、その後続処理、すなわち、第54ブロックのベリファイから処理を再開すればよい。
本発明の自動車用制御ユニットとして構成されたECUの第一例を示すブロック図。 フラッシュROMのアプリケーション格納領域の構造説明図。 識別IDの別設定例を示す説明図。 本発明による書換処理の概念図。 本発明による書換処理の詳細に係る第一例を示すフローチャート。 図5の書換処理に対応する起動制御処理の流れを示すフローチャート。 本発明による書換処理の詳細に係る第二例を示すフローチャート。 図7の書換処理に対応する起動制御処理の流れを示すフローチャート。 アプリケーション格納領域において、各ブロックの格納領域にブロック別識別ID記憶部を形成する例を示す説明図。 本発明による書換処理の詳細に係る第三例を示すフローチャート。 図10の書換処理に対応する起動制御処理の流れを示すフローチャート。 アプリケーション格納領域において、各ブロックのブロック別識別ID記憶部を、ブロック格納領域の外にまとめて形成する例を示す説明図。 ブロックカウンタと識別IDとを組み合わせた書き換え識別情報の例を示す図。 本発明による書換処理の詳細に係る第四例を示すフローチャート。 従来のECUにおけるプログラム書換処理を示すフローチャート。
符号の説明
1 ECU(自動車用制御ユニット)
3 CPU
4 RAM
5 フラッシュROM(不揮発性メモリ、書換用ファームウェア記憶部)
5a 書換用ファームウェア(識別情報書換手段)
5c プラットフォーム(起動制御手段)
10 書換ツール(データ送信元装置)
101a 書換状態識別ID記憶部(書換状態識別情報記憶部)

Claims (9)

  1. 自動車上に搭載される電子機器の制御処理を司る機能制御用ソフトウェアを格納するとともに、記憶内容が電気的に書換え可能であって、外部からのリセット信号を受けても前記記憶内容を保持する不揮発性メモリと、
    該機能制御用ソフトウェアの実行メモリとなるRAMと、前記機能制御用ソフトウェアの実行に基づいて前記電子機器の制御処理を行なうCPUと、
    前記不揮発性メモリに格納された前記機能制御用ソフトウェアの内容を書き換えるための書換用ファームウェアが格納された書換用ファームウェア記憶部と、
    前記書換用ファームウェアによる前記機能制御用ソフトウェアの書換処理が正常に完了したかどうかを識別するための書換状態識別情報を書換え可能に記憶する書換状態識別情報記憶部と、
    前記書換用ファームウェアによる前記書換処理の進行状態を管理し、該進行状態に応じて前記書換状態識別情報記憶部における前記書換状態識別情報の記憶内容を、前記書換処理が正常に完了したか否かが把握可能となるように書き換える識別情報書換手段と、
    前記機能制御用ソフトウェアを起動する際に前記書換状態識別情報記憶部の記憶内容を参照し、前記記憶内容が、前記書換処理が正常に完了したことを示す内容になっている場合は前記機能制御用ソフトウェアを起動し、前記書換処理が不完全であることを示す内容になっている場合は前記機能制御用ソフトウェアに代えて前記書換用ファームウェアを再起動する処理を、前記機能制御用ソフトウェアとは独立に実行する起動制御手段と、を備え、
    前記識別情報書換手段は、前記書換用ファームウェアによる前記機能制御用ソフトウェアの書換処理の開始に対応して、前記書換状態識別情報記憶部の記憶内容を、書換中を示す予め定められた書換中状態に設定するとともに、当該書換中状態を前記機能制御用ソフトウェアの書換処理が正常完了するまで維持するものであり、
    前記起動制御手段は、前記書換状態識別情報記憶部の記憶内容が前記書換中状態になっている場合に前記書換用ファームウェアを起動し、
    前記書換用ファームウェアは、前記書き換えに使用する前記機能制御用ソフトウェアの更新バージョンプログラムを、前記自動車用制御ユニットにネットワーク接続されたデータ送信元装置から通信取得して前記書き換えを行なうものであり、
    前記識別情報書換手段は、前記データ送信元装置から受信する書換中状態維持指令を受けることにより、前記書換状態識別情報記憶部の記憶内容を前記書換中状態に維持することを特徴とする自動車用制御ユニット。
  2. 前記識別情報書換手段は、前記書換用ファームウェアの起動時に前記書換状態識別情報記憶部の該ファームウェア起動前の記憶状態を無効化し、その後、前記書換用ファームウェアが前記不揮発性メモリにおける前記機能制御用ソフトウェアの書換処理を正常に完了するに伴い、前記書換状態識別情報記憶部の記憶状態を、書換え正常完了を示す予め定められた書換え正常完了状態に設定するものであり、
    前記起動制御手段は、前記書換状態識別情報記憶部の記憶内容が前記書換え正常完了状態になっている場合にのみ前記機能制御用ソフトウェアを起動する請求項1記載の自動車用制御ユニット。
  3. 前記識別情報書換手段は、前記機能制御用ソフトウェアの書換処理の開始から正常完了に至るまでの間に、前記データ送信元装置から前記書換中状態維持指令を定期的に受信するものであり、該書換中状態維持指令の受信継続に対応して書換状態識別情報記憶部の記憶内容を前記書換中状態に維持するものである請求項1または請求項2に記載の自動車用制御ユニット。
  4. 前記書換用ファームウェアは、前記データ送信元装置から前記更新バージョンプログラムを複数ブロックに分割された形で順次受信するものであり、
    前記識別情報書換手段は、前記データ送信元装置から前記ブロック毎に前記書換中状態維持指令を受けるものである請求項3記載の自動車用制御ユニット。
  5. 前記識別情報書換手段は、前記書換用ファームウェアが前記データ送信元装置から受信した前記更新バージョンプログラムを不揮発性メモリに全て書き込み、さらに、前記データ送信元装置から受信したベリファイ用データに基づいて書き込まれた前記更新バージョンプログラムのベリファイを完了した場合に、前記書換状態識別情報記憶部の記憶状態を前記書換え正常完了状態に設定する請求項1ないし請求項4のいずれか1項に記載の自動車用制御ユニット。
  6. 前記識別情報書換手段は、前記書換用ファームウェアによる前記書換処理が前記ベリファイの途中で中断した場合に、前記書換状態識別情報記憶部の記憶内容を、前記ベリファイ中の中断であることが特定可能な形で前記書換中状態に設定するものであり、
    前記起動制御手段は、前記ベリファイ処理から前記書換処理が再開されるように前記書換用ファームウェアを再起動する請求項5記載の自動車用制御ユニット。
  7. 前記識別情報書換手段は、前記書換用ファームウェアが前記不揮発性メモリへの前記機能制御用ソフトウェアの書換処理が途中で中断した場合に、前記書換状態識別情報記憶部の記憶内容を、当該書換処理の中断位置を特定可能な形で前記書換中状態に設定するものであり、
    前記起動制御手段は、前記書換状態識別情報記憶部の記憶内容から前記中断位置を特定し、前記中断位置から前記書換処理が再開されるように前記書換用ファームウェアを再起動する請求項1ないし請求項6のいずれか1項に記載の自動車用制御ユニット。
  8. 前記書換用ファームウェアは、前記データ送信元装置から前記更新バージョンプログラムを複数のブロックに分割された形で順次受信するものであり、
    前記識別情報書換手段は、前記書換用ファームウェアが前記不揮発性メモリへの前記機能制御用ソフトウェアの書換処理が途中で中断した場合に、前記書換状態識別情報記憶部の記憶内容を、当該書換処理がどのブロックで中断されたかを特定可能な形で前記書換中状態に設定するものであり、
    前記起動制御手段は、前記書換状態識別情報記憶部の記憶内容から処理中断されたブロックを特定し、該ブロックから前記書換処理が再開されるように前記書換用ファームウェアを再起動する請求項7記載の自動車用制御ユニット。
  9. 前記書換状態識別情報記憶部は、前記更新バージョンプログラムの前記各ブロックに対応して複数設けられ、前記識別情報書換手段は、前記複数の書換状態識別情報記憶部の記憶状態を、前記書換処理の完了したものから順に前記書換え正常完了状態に設定するものであり、
    前記起動制御手段は、前記書換状態識別情報記憶部の記憶状態が前記書換え正常完了状態に設定されていないブロックから前記書換処理が再開されるように前記書換用ファームウェアを再起動する請求項8記載の自動車用制御ユニット。
JP2005125518A 2005-04-20 2005-04-22 自動車用制御ユニット Expired - Fee Related JP4577075B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005125518A JP4577075B2 (ja) 2005-04-22 2005-04-22 自動車用制御ユニット
US11/407,130 US20060259207A1 (en) 2005-04-20 2006-04-20 Electronic control system for automobile
US12/805,254 US8607215B2 (en) 2005-04-20 2010-07-21 Electronic control system for rewriting control software in an automobile
US14/073,898 US20140068590A1 (en) 2005-04-20 2013-11-07 Electronic control system for automobile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005125518A JP4577075B2 (ja) 2005-04-22 2005-04-22 自動車用制御ユニット

Publications (2)

Publication Number Publication Date
JP2006298261A JP2006298261A (ja) 2006-11-02
JP4577075B2 true JP4577075B2 (ja) 2010-11-10

Family

ID=37466830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005125518A Expired - Fee Related JP4577075B2 (ja) 2005-04-20 2005-04-22 自動車用制御ユニット

Country Status (1)

Country Link
JP (1) JP4577075B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9778970B2 (en) 2012-12-12 2017-10-03 Denso Corporation Memory check, abnormality threshold count, and reset in an onboard electronic control unit

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5112787B2 (ja) * 2006-09-01 2013-01-09 株式会社リコー 情報処理装置、プログラム更新方法及びプログラム
JP5233506B2 (ja) * 2008-08-25 2013-07-10 日本精工株式会社 電動パワーステアリング装置
JP5174718B2 (ja) * 2009-03-05 2013-04-03 パナソニック株式会社 ネットワークシステムおよびネットワークアダプタ
JP5695112B2 (ja) 2013-03-18 2015-04-01 富士通テン株式会社 データ記憶装置、データの記憶方法および車載用制御装置
JP2018013837A (ja) * 2016-07-19 2018-01-25 株式会社デンソー データ書き換え装置、データ書き換えプログラム
JP6935694B2 (ja) * 2017-07-12 2021-09-15 株式会社デンソー 電子制御装置
JP7400232B2 (ja) * 2018-08-10 2023-12-19 株式会社デンソー 電子制御装置、リトライポイントの特定方法、リトライポイントの特定プログラム及び車両用電子制御システム
WO2020032120A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 電子制御装置、リトライポイントの特定方法及びリトライポイントの特定プログラム
JP2021047582A (ja) * 2019-09-18 2021-03-25 Necプラットフォームズ株式会社 Rom書き換えモジュール、電子装置、rom書き換え方法およびプログラム
JP2021089643A (ja) * 2019-12-05 2021-06-10 株式会社ミツバ 電子制御装置及び電子制御方法
JP7561210B2 (ja) 2020-12-16 2024-10-03 日立Astemo株式会社 電子制御装置
JP7506766B2 (ja) 2020-12-16 2024-06-26 日立Astemo株式会社 電子制御装置
JP7524939B2 (ja) 2022-01-12 2024-07-30 トヨタ自動車株式会社 システム、プログラムの更新確認方法および更新確認プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000105694A (ja) * 1998-09-28 2000-04-11 Nec Ic Microcomput Syst Ltd フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
JP2004034854A (ja) * 2002-07-04 2004-02-05 Denso Corp 電子制御装置
JP2004210183A (ja) * 2003-01-07 2004-07-29 Komatsu Ltd 車載プログラムの書き換え制御装置
JP2005100428A (ja) * 2004-10-12 2005-04-14 Fujitsu Ltd 無線端末装置及び該装置へのソフトウェア供給装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000105694A (ja) * 1998-09-28 2000-04-11 Nec Ic Microcomput Syst Ltd フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
JP2004034854A (ja) * 2002-07-04 2004-02-05 Denso Corp 電子制御装置
JP2004210183A (ja) * 2003-01-07 2004-07-29 Komatsu Ltd 車載プログラムの書き換え制御装置
JP2005100428A (ja) * 2004-10-12 2005-04-14 Fujitsu Ltd 無線端末装置及び該装置へのソフトウェア供給装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9778970B2 (en) 2012-12-12 2017-10-03 Denso Corporation Memory check, abnormality threshold count, and reset in an onboard electronic control unit

Also Published As

Publication number Publication date
JP2006298261A (ja) 2006-11-02

Similar Documents

Publication Publication Date Title
JP4577075B2 (ja) 自動車用制御ユニット
US8607215B2 (en) Electronic control system for rewriting control software in an automobile
JP4548601B2 (ja) 自動車用制御ユニット
US20180341476A1 (en) Software updating device, software updating system, and software updating method
WO2022007656A1 (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
US20150007155A1 (en) Module updating device
JP5997740B2 (ja) 車載機のオンライン更新方法
WO2010017775A1 (zh) 基于can总线的汽车电子控制器代码刷新的控制方法
US20170228236A1 (en) Vehicle control device, reprogramming system
CN110825403A (zh) 一种汽车电子控制单元ecu刷写的方法及系统
CN115113896A (zh) 程序更新控制装置、程序更新控制方法和计算机可读存储介质
WO2019123747A1 (ja) 自動車用電子制御装置及びその制御方法
JP6899719B2 (ja) 自動車用電子制御装置
WO2014147906A1 (ja) データ記憶装置、データの記憶方法および車載用制御装置
KR20240078424A (ko) Ota 마스터, 갱신 제어 방법, 비일시적인 기억 매체, 및 차량
JP2009123226A (ja) 車載制御装置の運用システム及び車載制御装置
CN113961214A (zh) 软件更新装置、更新控制方法、非临时存储介质、服务器、ota主机及中心
CN114385202A (zh) 服务器、软件更新系统、分发方法及非临时存储介质
JP6935694B2 (ja) 電子制御装置
JP4501159B2 (ja) 自動車用制御ユニット
CN113176891B (zh) 一种基于Bootloader带有备份功能的ECU的程序烧写方法
JP6408450B2 (ja) 自動車用電子制御装置
CN115509567A (zh) 中心、ota管理器、系统、方法、非暂时性存储介质
JP2009223435A (ja) データ記憶方法及び装置、並びにプログラム
CN111796839A (zh) 控制器程序管理方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100511

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4577075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees