Nothing Special   »   [go: up one dir, main page]

JP4654750B2 - Automotive control system - Google Patents

Automotive control system Download PDF

Info

Publication number
JP4654750B2
JP4654750B2 JP2005125517A JP2005125517A JP4654750B2 JP 4654750 B2 JP4654750 B2 JP 4654750B2 JP 2005125517 A JP2005125517 A JP 2005125517A JP 2005125517 A JP2005125517 A JP 2005125517A JP 4654750 B2 JP4654750 B2 JP 4654750B2
Authority
JP
Japan
Prior art keywords
component
rewrite
target component
update
unit block
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
JP2005125517A
Other languages
Japanese (ja)
Other versions
JP2006298260A (en
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 JP2005125517A priority Critical patent/JP4654750B2/en
Publication of JP2006298260A publication Critical patent/JP2006298260A/en
Application granted granted Critical
Publication of JP4654750B2 publication Critical patent/JP4654750B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

この発明は、自動車用制御システムに関する。   The present invention relates to an automobile control system.

特開2003−337748号公報JP 2003-337748 A 特開2003−172199号公報JP 2003-172199 A 特開2001-229014号公報Japanese Patent Laid-Open No. 2001-229014

自動車には、各種機器(被制御要素)を制御するためにECUが搭載されている。ECUは、CPUからなる主制御部を有し、自動車上に搭載される電子機器の制御処理を予め定められた制御用ソフトウェアの実行に基づいて実施する(特許文献1〜3)。   An automobile is equipped with an ECU for controlling various devices (controlled elements). The ECU has a main control unit composed of a CPU, and performs control processing of an electronic device mounted on an automobile based on execution of predetermined control software (Patent Documents 1 to 3).

ところで、近年は自動車に付与される機能はますます多様化及び複雑化する傾向にあり、制御ソフトウェアも大規模化して、1つのECUの処理能力では対応しきれなくなってきている。そこで、1つの制御用ソフトウェアを複数のECUに分散配置し、それら複数のECUにより大規模な制御ソフトウェアを連携して実行することが行われている。   By the way, in recent years, functions provided to automobiles tend to be increasingly diversified and complicated, and control software has also become larger, and it has become impossible to cope with the processing capability of one ECU. Therefore, one control software is distributed and arranged in a plurality of ECUs, and large-scale control software is executed in cooperation with the plurality of ECUs.

上記のような大規模な制御用ソフトウェアの場合、制御機能追加や変更を行なおうとした場合に、これを連携処理する複数のECUを横断する形で制御用ソフトウェアの書き換えを行なう必要がある。しかし、この制御用ソフトウェアの書き換えを、1つ1つのECUで個別に行った場合、制御用ソフトウェアのバージョン管理などの不整合により機能不全を引き起こす可能性がある。   In the case of the large-scale control software as described above, when the control function is to be added or changed, it is necessary to rewrite the control software so as to traverse a plurality of ECUs that perform cooperative processing. However, when the control software is rewritten individually by each ECU, malfunction may occur due to inconsistencies such as version control of the control software.

本発明の課題は、制御用ソフトウェアを複数のECUで連携処理する自動車用制御システムにおいて、書き換えやインストール等の制御用ソフトウェアの管理処理を、不整合等を生ずることなくスムーズに実施できるようにすることにある。   SUMMARY OF THE INVENTION An object of the present invention is to make it possible to smoothly execute control software management processing such as rewriting and installation without causing inconsistency in an automotive control system in which control software is processed in cooperation by a plurality of ECUs. There is.

課題を解決するための手段及び発明の効果Means for Solving the Problems and Effects of the Invention

上記の課題を解決するために、本発明は、CPUからなる主制御部を有した主ユニットと、CPUからなる主制御部を有するとともに主ユニットに自動車内通信ネットワークを介して接続される複数のサブユニットからなり、制御用ソフトウェアを複数のサブユニットにより連携的に実行することにより、自動車上に搭載される電子機器の制御処理を実施するようにした自動車用制御システムにおいて、上記の課題を解決するために、主ユニットが、サブユニットに個別に対応した複数のサブモジュールの集合からなる制御用ソフトウェアを取得する制御用ソフトウェア取得手段と、取得した前記制御用ソフトウェアをサブモジュールに分割するサブモジュール分割手段と、各サブモジュールを、対応するサブユニットに自動車内通信ネットワークを介して送信するサブモジュール送信手段と、を有し、各サブユニットは、記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持する不揮発性メモリと、自動車内通信ネットワークを介してサブモジュールを受信するサブモジュール受信手段と、受信したサブモジュールを不揮発性メモリに書き込むサブモジュール書込み手段と、を有するとともに、サブモジュールの集合からなる制御用ソフトウェアは、各々プログラムブロック又はデータブロックからなる複数のコンポーネントの集合からなり、サブユニットの不揮発性メモリの記憶領域が、サブモジュールを構成するコンポーネントの切れ目とは無関係に設定された複数の書き換え単位ブロックに分割されるとともに、該書き換え単位ブロックを単位とする形で記憶内容の消去、書込み及び書き換えが可能とされてなり、さらに、各サブユニットは、RAM上に形成されたコンポーネントの書き換えバッファ領域上にコピーされた書き換え単位ブロックの記憶内容において、更新の対象となる対象コンポーネントに対し、変更、追加、消去又はそれらの2以上の組み合わせよりなる更新処理を行なうコンポーネント更新手段と、更新処理がなされた書き換え単位ブロックの記憶内容を、書き換えバッファ領域から不揮発性メモリに書き戻す不揮発性メモリ書き戻し手段と、を有し、対象コンポーネントは、不揮発性メモリ上での格納領域の開始アドレス及び終了アドレスのいずれかが、更新前と更新後とで相違するものとなるように、不揮発性メモリ書き戻し手段により不揮発性メモリ上に書き戻されることを特徴とする。 In order to solve the above-described problems, the present invention provides a main unit having a main control unit including a CPU, and a plurality of main units including a CPU and connected to the main unit via an in-vehicle communication network. consists subunit solved by executing cooperative manner by the control software more subunit, the automotive control system adapted to implement the control process of the electronic devices mounted on automobiles, the aforementioned problem In order to accomplish this, the main unit obtains control software consisting of a set of a plurality of submodules individually corresponding to the subunits, and a submodule that divides the obtained control software into submodules Dividing means and each sub-module are connected to the corresponding sub-unit in the in-car communication network. Sub-module transmitting means for transmitting via a network, and each subunit is a nonvolatile memory that can electrically rewrite the stored contents and retains the stored contents even when an external reset signal is received. and sex memory, a sub-module receiving means for receiving the sub-module via the in-car communication network, a sub-module writing means for writing the sub-module received in the non-volatile memory, as well as have a control consisting of a set of submodules The software for use consists of a set of components each consisting of program blocks or data blocks, and the storage area of the non-volatile memory of the subunit is a plurality of rewrite units set independently of the breaks of the components constituting the sub module It is divided into blocks and the rewrite unit The stored contents can be erased, written and rewritten in units of blocks, and each subunit stores a rewrite unit block copied onto a rewrite buffer area of a component formed on the RAM. In the contents, rewrite the storage contents of the renewal unit block that has been subjected to the update processing, and the component update means for performing update processing consisting of change, addition, deletion or a combination of two or more of the target components to be updated. Non-volatile memory write-back means for writing back from the buffer area to the non-volatile memory, and the target component is one of the start address and end address of the storage area on the non-volatile memory before and after the update. Non-volatile by non-volatile memory write-back means It is characterized in that it is written back on the origin memory .

上記本発明の構成によると、サブモジュールの集合からなる大規模な制御ソフトウェアを、システムへのインストールないし更新のために取得する際に、個々のサブモジュールの実行を司るサブユニットが個別にサブモジュールを取得するのではなく、それらサブユニットとは別に設けられた管理用の主ユニットが、当該のインストールないし更新に関与するサブモジュールの全てを一括して取得し、該主ユニットから各サブユニットに自動車内通信ネットワークを介して対応するサブモジュールを分配するようにした。このように、主ユニットにより、更新等に関与するサブモジュールの取得及び個々のサブユニットへの書込みを一括管理するようにしたので、制御用ソフトウェアの管理処理を、不整合等を生ずることなくスムーズに実施できる。   According to the configuration of the present invention, when a large-scale control software composed of a set of submodules is acquired for installation or update in the system, the subunits that execute the individual submodules are individually submodules. The management main unit provided separately from those sub-units acquires all the sub-modules involved in the installation or update in a lump, and the main unit transfers each sub-unit. Corresponding submodules are distributed via the in-vehicle communication network. As described above, the acquisition of submodules involved in updating and the like are collectively managed by the main unit, so that the management process of the control software can be performed smoothly without causing inconsistencies. Can be implemented.

例えば更新処理の場合は、各サブユニット群には、(旧バージョンの)制御用ソフトウェアはサブモジュールに分割された形で予め搭載されており、その書き換えを行なうために、上記の制御用ソフトウェア取得手段を、書き換え後のバージョンに対応する制御用ソフトウェアを取得するものとし、サブモジュール送信手段は、書き換えの影響を受ける全てのサブモジュールを、一括して各々対応するサブユニットに送信するものとして構成できる。サブモジュールを受信したサブユニットは、個々にそのサブモジュールを不揮発性メモリに書き込む。すなわち、制御用ソフトウェアの書き換え処理に関与するサブモジュールが主ユニットにて統括管理され、書き換えの必要なサブモジュールだけが対応するサブユニットに一元的に送信され書き換えが行われるので、更新の結果においてバージョン管理などの不整合により機能不全を引き起こす心配がない。   For example, in the case of update processing, the control software (old version) is pre-installed in a form divided into sub-modules in each subunit group. The means is configured to acquire control software corresponding to the version after rewriting, and the submodule transmitting means is configured to transmit all submodules affected by rewriting to the corresponding subunits in a batch. it can. Each subunit that receives the submodule individually writes the submodule to the non-volatile memory. That is, the sub-modules involved in the control software rewriting process are centrally managed by the main unit, and only the sub-modules that need to be rewritten are sent to the corresponding sub-units for rewriting. There is no worry of malfunction due to inconsistencies such as version control.

この場合、上記のサブモジュールは、各々プログラムブロック又はデータブロックからなる複数のコンポーネントの集合からなるものとして構成できる。各サブユニットの不揮発性メモリは、その記憶領域が、サブモジュールを構成するコンポーネントの切れ目とは無関係に設定された複数の書き換え単位ブロックに分割されるとともに、該書き換え単位ブロックを単位とする形で記憶内容の消去、書込み及び書き換えが可能とされたものを使用できる。そして、各サブユニットには、複数のコンポーネントを各々特定するコンポーネント特定情報と、各コンポーネントの不揮発性メモリ上への書込み領域を特定する書込み領域特定情報とを含むコンポーネント管理情報を記憶するコンポーネント管理情報記憶手段と、該コンポーネント管理情報記憶手段の記憶内容に基づいて、更新の対象コンポーネントを不揮発性メモリ上にて検索するコンポーネント検索手段と、コンポーネントの書き換えバッファ領域が形成されるRAMと、コンポーネント検索手段により検索された対象コンポーネントが属する書き換え単位ブロックの記憶内容を不揮発性メモリから読み出し、RAM上の書き換えバッファ領域に複写する書き換え単位ブロック複写手段と、書き換えバッファ領域上にコピーされた書き換え単位ブロックの記憶内容において対象コンポーネントに対し、変更、追加、消去又はそれらの2以上の組み合わせよりなる更新処理を行なうコンポーネント更新手段と、更新処理がなされた書き換え単位ブロックの記憶内容を、書き換えバッファ領域から不揮発性メモリに書き戻す不揮発性メモリ書き戻し手段と、を設けることができる。   In this case, the sub-module can be configured as a set of a plurality of components each including a program block or a data block. The nonvolatile memory of each subunit is divided into a plurality of rewrite unit blocks set independently of the breaks of the components constituting the submodule, and the rewrite unit block is used as a unit. The memory contents can be erased, written and rewritten. In each subunit, component management information for storing component management information including component specifying information for specifying each of a plurality of components and writing area specifying information for specifying a writing area of each component on the nonvolatile memory is stored. Storage means; component search means for searching for update target component in nonvolatile memory based on storage contents of component management information storage means; RAM in which component rewrite buffer area is formed; and component search means The rewrite unit block copying means for reading out the storage contents of the rewrite unit block to which the target component found by (1) belongs from the non-volatile memory and copying it to the rewrite buffer area on the RAM, and the write copied to the rewrite buffer area Component update means for performing update processing consisting of changes, additions, deletions, or combinations of two or more of the target components in the storage content of the unit block, and the storage content of the rewrite unit block that has been updated. Non-volatile memory write-back means for writing back from the area to the non-volatile memory can be provided.

サブモジュールが各々プログラムブロック又はデータブロックからなる複数のコンポーネントの集合として記述される場合、例えば、そのうちの一つのコンポーネントを修正したいときに、そのコンポーネントだけを更新できれば便利なことは明らかである。しかし、フラッシュメモリ(フラッシュROM)のような、記憶容量の大きな不揮発性メモリは、書き換え単位ブロック単位でしか更新ができないメモリ構造上の要請がある。各コンポーネントを全て別の書き換え単位ブロックに格納すれば、コンポーネント単位での書き換えは一応可能にはなるが、これでは各書き換え単位ブロックに大きな空白領域が残存し、不揮発性メモリの利用効率が甚だしく低下する。   When a submodule is described as a set of a plurality of components each consisting of a program block or a data block, for example, when it is desired to modify one of the components, it is obvious that it is convenient to update only that component. However, a nonvolatile memory having a large storage capacity such as a flash memory (flash ROM) has a demand on a memory structure that can be updated only in units of rewrite units. If each component is stored in a separate rewrite unit block, it is possible to rewrite on a component basis, but this leaves a large blank area in each rewrite unit block, which significantly reduces the use efficiency of the nonvolatile memory. To do.

他方、サブモジュールを構成するコンポーネントの切れ目を、複数の書き換え単位ブロックの切れ目とは無関係に設定すれば、不揮発性メモリの有効利用を図ることができる。しかし、この場合は、書き換え単位ブロックと更新対象となるコンポーネント(対象コンポーネント)とは一義的に対応しなくなり、書き換え単位ブロックから対象コンポーネントを特定することは、もはや不可能である。そこで、上記構成では、複数のコンポーネントを各々特定するコンポーネント特定情報と、各コンポーネントの不揮発性メモリ上への書込み領域を特定する書込み領域特定情報とを含むコンポーネント管理情報をコンポーネント管理情報記憶手段に別途記憶しておき、該コンポーネント管理情報記憶手段の記憶内容に基づいて、更新の対象コンポーネントを不揮発性メモリ上にて検索する。そして、その検索された対象コンポーネントが属する書き換え単位ブロックを、ビット単位のランダム書き換えアクセスが可能なRAM上の書き換えバッファ領域に複写し、そこで、対象コンポーネントの更新(書き換え)を行った後、当該書き換え単位ブロックを不揮発性メモリに書き戻すようにした。これにより、更新に関与する特定のサブユニットにおいて、不揮発性メモリに格納されたサブモジュールをコンポーネント単位で更新することが可能となり、ひいては不揮発性メモリに搭載されているサブモジュールの書き換え処理を、より簡便かつ短時間で行なうことができるようになる。   On the other hand, if the breaks of the components constituting the submodule are set regardless of the breaks of the plurality of rewrite unit blocks, the nonvolatile memory can be effectively used. However, in this case, the rewriting unit block and the component to be updated (target component) no longer correspond uniquely, and it is no longer possible to specify the target component from the rewriting unit block. Therefore, in the above configuration, component management information including component specifying information for specifying each of a plurality of components and writing area specifying information for specifying a writing area of each component on the nonvolatile memory is separately stored in the component management information storage unit. The component to be updated is searched for in the nonvolatile memory based on the stored contents of the component management information storage means. Then, the rewrite unit block to which the retrieved target component belongs is copied to a rewrite buffer area on the RAM that allows random rewrite access in bit units, and the target component is updated (rewritten), and then the rewrite is performed. The unit block is written back to the non-volatile memory. This makes it possible to update the sub-module stored in the non-volatile memory in units of components in the specific sub-unit involved in the update. It becomes possible to carry out simply and in a short time.

更新の対象コンポーネントは、コンポーネント特定情報とともに外部から通信により取得することが可能である(対象コンポーネント取得手段)。この場合、コンポーネント検索手段は、該対象コンポーネント取得手段が取得したコンポーネント特定情報を用いて対象コンポーネントの不揮発性メモリ上での検索を行なうことができ、コンポーネント更新手段は、対象コンポーネント取得手段が取得した新しいコンポーネントを、書き換えバッファ領域上の古いコンポーネントと置き換える形でこれを更新するものとして構成できる。このようにすると、通信により取得した新しいコンポーネントを古いコンポーネントと置き換えるだけでECU上の更新処理が終了し、サブモジュールの更新処理を一層簡便に行なうことができる。なお、更新後の書き換え単位ブロックは、更新の規模(及び対象コンポーネントの更新によるサイズ変化)により、もとの書き換え単位ブロックに書き戻すようにしても、空き領域を多く有する別の書き換え単位ブロックに書き戻すようにしてもいずれでもよい。   The update target component can be acquired by communication from the outside together with the component identification information (target component acquisition means). In this case, the component search means can search the target component in the nonvolatile memory using the component specifying information acquired by the target component acquisition means, and the component update means is acquired by the target component acquisition means. It can be configured to update the new component by replacing it with the old component on the rewrite buffer area. If it does in this way, the update process in ECU will be complete | finished only by replacing the new component acquired by communication with the old component, and the update process of a submodule can be performed more simply. Note that the updated rewrite unit block is changed to another rewrite unit block having a lot of free space even if it is written back to the original rewrite unit block depending on the scale of the update (and the size change due to the update of the target component). Either of them may be written back.

例えば、対象コンポーネントの更新後のサイズが更新前のサイズと同等又はそれよりも小さい場合には、書き換え単位ブロック複写手段は、当該対象コンポーネントが属する書き換え単位ブロックを単位のみ書き換えバッファ領域上にコピーするものとすることができる。また、コンポーネント更新手段は、書き換えバッファ領域上にて、旧コンポーネントの書込み領域に新コンポーネントを上書きするものとすることができ、不揮発性メモリ書き戻し手段は、該更新処理がなされた書き換え単位ブロックの記憶内容を、コピー元の書き換え単位ブロックに上書きする形で書き戻すものとすることができる。すなわち、対象コンポーネントが属する書き換え単位ブロックを書き換えバッファ領域上に複写して、対象コンポーネントの更新書き換え処理のみを行い、これを不揮発性メモリのもとの書き換え単位ブロックに書き戻すだけでよいので、更新処理を一層短時間で終了させることができる。   For example, when the updated size of the target component is equal to or smaller than the size before the update, the rewrite unit block copying unit copies only the rewrite unit block to which the target component belongs to the rewrite buffer area. Can be. In addition, the component update means can overwrite the new component in the write area of the old component on the rewrite buffer area, and the nonvolatile memory write back means can store the rewrite unit block for which the update processing has been performed. The stored contents can be written back in the form of overwriting the copy source rewrite unit block. In other words, it is only necessary to copy the rewrite unit block to which the target component belongs to the rewrite buffer area, perform only the update rewrite processing of the target component, and write it back to the original rewrite unit block in the nonvolatile memory. The process can be completed in a shorter time.

他方、不揮発性メモリ上のアドレス空間にて複数のコンポーネントは、隣接するコンポーネントの間、先頭コンポーネントの前及び末尾コンポーネントの後の少なくともいずれかに空白の調整領域を生じさせる形で記憶することができる。このようにすると、対象コンポーネントの更新後のサイズが更新前のサイズよりも大きい場合にも、調整領域を利用して該対象コンポーネントのサイズ変化を吸収することが可能である。   On the other hand, in the address space on the non-volatile memory, a plurality of components can be stored in such a way that a blank adjustment area is generated between adjacent components, at least before the leading component and after the trailing component. . In this way, even when the updated size of the target component is larger than the size before the update, the size change of the target component can be absorbed using the adjustment area.

対象コンポーネントのサイズ変化量が大きい場合には、その(増加方向の)サイズ変化量を吸収可能な調整領域がどこに生じているかによって、更新後の対象コンポーネントの格納領域を不揮発性メモリ上で変更することも可能である。ただし、各コンポーネントは不揮発性メモリ上でリロケータブルに構成しておく必要がある(例えば、ベースアドレスからのオフセットのみによってすべてのメモリアクセスを指定したプログラムとしておく)。対象コンポーネントは、不揮発性メモリ上での格納領域の開始アドレス及び終了アドレスのいずれかが、更新前と更新後とで相違するものとなるように、不揮発性メモリ書き戻し手段により不揮発性メモリ上に書き戻されることとなる。   When the size change amount of the target component is large, the storage area of the target component after update is changed on the nonvolatile memory depending on where the adjustment area capable of absorbing the size change amount (in the increasing direction) is generated. It is also possible. However, each component must be configured to be relocatable on the nonvolatile memory (for example, a program in which all memory accesses are specified only by an offset from the base address). The target component is stored on the non-volatile memory by the non-volatile memory write-back means so that either the start address or the end address of the storage area on the non-volatile memory is different before and after the update. Will be written back.

この場合、書込み領域特定情報は、不揮発性メモリ上での各コンポーネントの開始アドレス、終了アドレス及びサイズの情報を含むものとすることができる。これにより、対象コンポーネントの更新後のサイズが更新前のサイズよりも大きいか否かを、コンポーネント管理情報記憶手段に記憶されている対象コンポーネントの更新前のサイズ情報と、新たに取得する更新後のサイズ情報との比較により判定することができる。そして、不揮発性メモリ書き戻し手段は、コンポーネント更新手段により開始アドレス及び終了アドレスの情報が更新された対象コンポーネントを不揮発性メモリに書き戻すものとしておく。これにより、更新の必要が生じるたびに、その更新された開始アドレス及び終了アドレスを読み取ることで、当該コンポーネントがどこに書き込まれているかを適確に把握することができる。   In this case, the write area specifying information can include information on the start address, end address, and size of each component on the nonvolatile memory. As a result, whether or not the updated size of the target component is larger than the size before the update, the size information before the update of the target component stored in the component management information storage unit, and the newly acquired post-update This can be determined by comparison with size information. The nonvolatile memory write-back means writes back the target component whose start address and end address information has been updated by the component update means to the nonvolatile memory. Thus, each time an update is required, the updated start address and end address are read, so that it is possible to accurately grasp where the component is written.

不揮発性メモリ上では、隣接するコンポーネントの間に前述の調整領域を形成しておくと、更新によるコンポーネントの(増加方向の)サイズ変化が小さい場合に、これを簡単に吸収することができる。つまり、対象コンポーネントの更新に伴う増加方向のサイズ変化量が、該対象コンポーネントの前又は後に隣接する調整領域に収まる場合においては、書き換え単位ブロック複写手段は、該対象コンポーネントと、これに隣接する調整領域とを含む書き換え単位ブロックのみを書き換えバッファ領域に複写するものとすることができる。そして、コンポーネント更新手段は、書き換えバッファ領域上にて、旧コンポーネントの書込み領域とこれに隣接する調整領域とにまたがる形で新コンポーネントを上書きするものとでき、不揮発性メモリ書き戻し手段は、該更新処理がなされた書き換え単位ブロックの記憶内容を、コピー元の書き換え単位ブロックに上書きする形で書き戻すものとすることができる。この方法によると、更新前の対象コンポーネントのために確保してあったメモリ領域に、隣接する調整領域を合体させて拡張することで、その前後の非更新コンポーネントを移動させずに更新後のコンポーネントをもとの領域に書き戻すことができる。その結果、対象コンポーネントが属する書き換え単位ブロックを書き換えバッファ領域上に複写して、対象コンポーネントの更新書き換えのみを行い、これを不揮発性メモリのもとの書き換え単位ブロックに書き戻す処理だけでよくなり、拡張対象コンポーネントのサイズが増加しているにも拘わらず、更新処理を極めて短時間で終了させることができる。   On the non-volatile memory, if the aforementioned adjustment area is formed between adjacent components, this can be easily absorbed when the size change (in the increasing direction) of the component due to the update is small. That is, when the size change amount in the increasing direction accompanying the update of the target component falls within the adjustment area adjacent to the target component before or after the target component, the rewrite unit block copying means adjusts the target component and the adjustment adjacent thereto. Only the rewrite unit block including the area can be copied to the rewrite buffer area. Then, the component updating means can overwrite the new component on the rewrite buffer area so as to extend over the writing area of the old component and the adjustment area adjacent thereto, and the nonvolatile memory writing back means The storage contents of the rewritten unit block that has been processed can be written back in the form of overwriting the copy source rewritten unit block. According to this method, the component after the update without moving the non-updated components before and after it can be expanded by combining the adjacent adjustment area with the memory area reserved for the target component before the update. Can be written back to the original area. As a result, it is only necessary to copy the rewrite unit block to which the target component belongs to the rewrite buffer area, perform only update rewrite of the target component, and write this back to the original rewrite unit block in the nonvolatile memory. Despite the increase in the size of the extension target component, the update process can be completed in a very short time.

なお、対象コンポーネントの更新による増加方向のサイズ変化量がより大きい場合は、次のような方式を採用することができる。すなわち、不揮発性メモリ上に分散している複数の調整領域を、更新の対象でない非対象コンポーネントの移動により、対象コンポーネントのサイズ変化を吸収するのに十分となるように集合させ、当該集合させた調整領域に更新後の対象コンポーネントを書き戻すようにする。この場合、書き換え単位ブロック複写手段は、移動させるべき非対象コンポーネントが属する書き換え単位ブロックのみ、対象コンポーネントが属する書き換え単位ブロックとともに書き換えバッファ領域上にコピーするものとする。また、コンポーネント更新手段は、該非対象コンポーネントの移動のための書き換え処理と、対象コンポーネントの更新のための書き換え処理との双方を行なうものとし、不揮発性メモリ書き戻し手段は、それら書き換えのなされた全ての書き換え単位ブロックを不揮発性メモリに書き戻すものとする。このようにすると、必要な調整領域の集合処理に関与する非対象コンポーネントが属する書き換え単位ブロックのみを、RAM上で更新して不揮発性メモリに書き戻せばよく、サイズ増加が著しいコンポーネント更新であっても、これを迅速に行なうことが可能となる。   If the size change amount in the increasing direction due to the update of the target component is larger, the following method can be adopted. That is, a plurality of adjustment areas distributed on the non-volatile memory are aggregated so as to be sufficient to absorb the size change of the target component by moving the non-target component that is not the target of the update, and the aggregation is performed. Write the updated target component back to the adjustment area. In this case, the rewrite unit block copying means copies only the rewrite unit block to which the non-target component to be moved belongs to the rewrite buffer area together with the rewrite unit block to which the target component belongs. The component updating means performs both rewriting processing for moving the non-target component and rewriting processing for updating the target component, and the non-volatile memory write back means performs all of the rewriting performed. The rewrite unit block is written back to the nonvolatile memory. In this way, only the rewrite unit block to which the non-target components involved in the necessary adjustment area set processing belong should be updated on the RAM and written back to the non-volatile memory. However, this can be done quickly.

他方、対象コンポーネントの更新に伴う増加方向のサイズ変化量が、対象コンポーネントの前又は後に隣接する調整領域に収まらない場合においては、次のような方式を採用することも可能である。すなわち、書き換え単位ブロック複写手段を、対象コンポーネントが属する書き換え単位ブロックを書き換えバッファ領域上にコピーするものとする。そして、コンポーネント更新手段は、書き換えバッファ領域上にて対象コンポーネントを消去する処理を行なうものとし、不揮発性メモリ書き戻し手段は、対象コンポーネントが消去された書き換え単位ブロックを、不揮発性メモリにおけるコピー元の書き換え単位ブロックに上書きする形で書き戻すものとする。他方、不揮発性メモリ内の末尾コンポーネントの後に隣接形成された末尾調整領域に、更新後の対象コンポーネントを書き込む調整書込み手段を設けておく。この方式では、不揮発性メモリ上の古い対象コンポーネントを消去し、不揮発性メモリの末尾に確保してある末尾調整領域に、新しいコンポーネントを書き込むようにしたので、対象コンポーネントの更新による増加方向のサイズ変化量が非常に大きい場合にも対応できる利点がある。   On the other hand, when the size change amount in the increasing direction accompanying the update of the target component does not fit in the adjustment region adjacent to the target component before or after, it is possible to adopt the following method. That is, the rewrite unit block copying means copies the rewrite unit block to which the target component belongs onto the rewrite buffer area. Then, the component update means performs a process of erasing the target component in the rewrite buffer area, and the non-volatile memory write-back means stores the rewrite unit block from which the target component has been erased as the copy source in the non-volatile memory. It shall be written back by overwriting the rewrite unit block. On the other hand, adjustment writing means for writing the updated target component is provided in the tail adjustment area formed adjacent to the tail component in the nonvolatile memory. In this method, the old target component on the non-volatile memory is erased, and the new component is written to the tail adjustment area reserved at the end of the non-volatile memory. There is an advantage that it can cope with a case where the amount is very large.

以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明の自動車用制御システムの概念図である。この自動車用制御システム200は、CPUを有した主ECU(主ユニット)100と、CPUを有するとともに主ECU100に通信バス(自動車内通信ネットワーク)を介して接続される複数のサブECU(サブユニット)1からなり、制御用ソフトウェアを複数のサブユニットにより連携的に実行することにより、自動車上に搭載される電子機器の制御処理を実施するものである。制御用ソフトウェアは、各サブECU1(A,B,C‥)に個別に対応した複数のサブモジュール63の集合からなるシステムパッケージソフトウェア60として構成されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a conceptual diagram of an automobile control system according to the present invention. The vehicle control system 200 includes a main ECU (main unit) 100 having a CPU, and a plurality of sub ECUs (sub units) having a CPU and connected to the main ECU 100 via a communication bus (in-vehicle communication network). 1, the control software is executed by a plurality of subunits in a coordinated manner, thereby executing control processing of an electronic device mounted on the automobile. The control software is configured as system package software 60 composed of a set of a plurality of submodules 63 individually corresponding to each sub ECU 1 (A, B, C...).

主ECU100には、以下の各要素が設けられている。
・制御用ソフトウェア取得手段:システムパッケージソフトウェア60を取得する(図2のシリアルインターフェース6と、その動作制御をソフトウェア的に司る通信モジュール61(図1:図2のプラットフォームに組み込まれている)からなる)。
・サブモジュール分割手段:取得したシステムパッケージソフトウェア60をサブモジュール63に分割する(分配機能:図2の管理ソフトウェア62に組み込まれている)。
・サブモジュール送信手段:サブモジュールを、対応するサブユニットに自動車内通信ネットワークを介して送信する(図2のシリアルインターフェース6と、その動作制御をソフトウェア的に司る書き換えコントローラ(図1)からなる:図2の管理ソフトウェア62に組み込まれている)。
The main ECU 100 is provided with the following elements.
Control software acquisition means: Acquires the system package software 60 (the serial interface 6 in FIG. 2 and a communication module 61 that controls its operation in software (FIG. 1: incorporated in the platform in FIG. 2)) ).
Sub-module dividing means: Divides the acquired system package software 60 into sub-modules 63 (distribution function: incorporated in the management software 62 in FIG. 2).
Sub-module transmission means: transmits the sub-module to the corresponding sub-unit via the in-vehicle communication network (consisting of the serial interface 6 in FIG. 2 and a rewrite controller (FIG. 1) that controls its operation in software: It is incorporated in the management software 62 of FIG.

また、各サブECU1(A,B,C‥)には、以下の各要素が設けられている。
・不揮発性メモリ:記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持する(図3のフラッシュROM5)。
・サブモジュール書込み手段:受信したサブモジュールを不揮発性メモリに書き込む(図3のプログラム受信・書込み/書換えツール20によりソフトウェア的に実現される)。
Each sub ECU 1 (A, B, C...) Is provided with the following elements.
Non-volatile memory: The stored contents can be electrically rewritten, and the stored contents are retained even when an external reset signal is received (flash ROM 5 in FIG. 3).
Sub-module writing means: The received sub-module is written into the non-volatile memory (implemented in software by the program receiving / writing / rewriting tool 20 in FIG. 3).

図2は、主ECU100の電気的な構成図である。主ECU100は、CPU3(主制御部)、ROM5、RAM4及び入出力部(I/Oポート)2がバス接続されたマイクロプロセッサからなる。ROM5には、ソフトウェアの実行環境を与えるプラットフォームと、前述の管理ソフトウェア62とからなる主ECU用のソフトウェア18が搭載されており、RAM4にはその実行用のワークエリア19が形成されている。システムパッケージソフトウェア60のデータは、シリアルインターフェース6を介して通信バスを介して受信され、受信バッファ6Bに一旦格納された後、RAM4内のパッケージソフトバッファ領域に転送される。   FIG. 2 is an electrical configuration diagram of main ECU 100. The main ECU 100 includes a microprocessor in which a CPU 3 (main control unit), a ROM 5, a RAM 4, and an input / output unit (I / O port) 2 are connected by a bus. The ROM 5 is loaded with a main ECU software 18 including a platform for providing a software execution environment and the management software 62 described above, and the RAM 4 has a work area 19 for its execution. The data of the system package software 60 is received via the serial interface 6 via the communication bus, temporarily stored in the reception buffer 6B, and then transferred to the package software buffer area in the RAM 4.

図3は、サブECU1の電気的な構成図である。サブECU1は、CPU3からなる主制御部を有し、自動車上に搭載される電子機器(制御対象機器:被制御要素)の制御処理をソフトウェア18の実行に基づいて、他のサブECUと連携して実施するものである。サブECU1は、具体的には、CPU3、ROM5、RAM4及び入出力部(I/Oポート)2がバス接続されたマイクロプロセッサからなり、本実施形態では自動車のボデー系の制御を司るボデー系ECUとして構成されている。ソフトウェア18は、プラットフォームと、そのプラットフォーム上で動作する、前述のサブモジュール63からなる(RAM4内に、それらのワークエリアが確保されている)。サブECU1は、必要に応じて外部からのスイッチやセンサからの入力信号等も参照しつつ、サブモジュール63の実行により、各種ボデー系の制御対象機器(被制御要素)の動作制御を司る。   FIG. 3 is an electrical configuration diagram of the sub ECU 1. The sub ECU 1 has a main control unit composed of a CPU 3, and controls the control processing of an electronic device (control target device: controlled element) mounted on the automobile in cooperation with other sub ECUs based on execution of the software 18. Is to be implemented. Specifically, the sub ECU 1 includes a microprocessor in which a CPU 3, a ROM 5, a RAM 4 and an input / output unit (I / O port) 2 are connected by bus. In this embodiment, the body ECU controls the body system of the automobile. It is configured as. The software 18 includes a platform and the above-described submodule 63 that operates on the platform (the work area is secured in the RAM 4). The sub-ECU 1 controls the operation of various body-type controlled devices (controlled elements) by executing the sub-module 63 while referring to input signals from external switches and sensors as necessary.

サブECU1は、シリアル通信バスを介して他のサブECU1及び主ECU100等と接続されており、シリアル通信バスとECU1の内部バスとは、前述のシリアル通信インターフェース6を介して接続されている。このシリアル通信により、更新等に係るサブモジュール63を受信する。なお、受信したサブモジュール63は受信バッファ6Bに格納され、順次RMA4上の書き換えバッファ領域21に転送される。   The sub ECU 1 is connected to another sub ECU 1 and the main ECU 100 via a serial communication bus, and the serial communication bus and the internal bus of the ECU 1 are connected via the serial communication interface 6 described above. Through this serial communication, the sub-module 63 related to update or the like is received. The received submodule 63 is stored in the reception buffer 6B and sequentially transferred to the rewrite buffer area 21 on the RMA 4.

次に、サブモジュール63が最終的に格納されるROM5は、記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持する不揮発性メモリ、本実施形態では、フラッシュROM(フラッシュメモリ)にて構成されている(以下、フラッシュROM5ともいう)。フラッシュROM5は、読み出し時の駆動電圧と書込み消去時の駆動電圧が異なり、後者(例えば9V)が前者(例えば5V:リセット信号も同レベルのエッジトリガ信号である)よりも高く設定されている。つまり、書込み/消去の信号電圧がリセット信号よりも電圧で制御されるため、リセット信号を受けてもフラッシュROM5の記憶内容は保持される。   Next, the ROM 5 in which the submodule 63 is finally stored is a nonvolatile memory that can electrically rewrite the stored contents and retains the stored contents even when receiving an external reset signal. Then, it is comprised by flash ROM (flash memory) (henceforth also called flash ROM5). In the flash ROM 5, the driving voltage at the time of reading is different from the driving voltage at the time of writing and erasing, and the latter (for example, 9V) is set higher than the former (for example, 5V: the reset signal is also the same level edge trigger signal). That is, since the write / erase signal voltage is controlled by a voltage rather than the reset signal, the stored contents of the flash ROM 5 are retained even when the reset signal is received.

図4は、システムパッケージソフトウェア60の構造を概念的に示すもので、RAM4内のパッケージソフトバッファ領域内では、複数のサブモジュール63が直列に格納され、サブモジュール名と転送先となるサブECU1との対応関係が一義的に定められていて、各々対応するサブECU1に転送処理される。また、各サブモジュール63の先頭アドレス(MA1,MA3,MA5‥)には、転送先となるサブECU1におけるフラッシュROM5内の格納領域の先頭アドレス(SAA−1,SBA−1,SCA−1‥)が一義的に対応付けられ、末尾アドレス(MA2,MA4,MA6‥)には、転送先となるサブECU1におけるフラッシュROM5内の格納領域の末尾アドレス(SAA−2,SBA−2,SCA−2‥)が一義的に対応付けられる。なお、主ECU100が実行を司るサブモジュール63’が含まれていてもよい。   4 conceptually shows the structure of the system package software 60. In the package software buffer area in the RAM 4, a plurality of submodules 63 are stored in series, and the sub-ECU 1 serving as a submodule name and transfer destination Are uniquely defined and transferred to the corresponding sub-ECUs 1. The head addresses (MA1, MA3, MA5,...) Of each submodule 63 include the head addresses (SAA-1, SBA-1, SCA-1,...) Of the storage area in the flash ROM 5 in the sub ECU 1 as the transfer destination. Are uniquely associated, and end addresses (SAA-2, SBA-2, SCA-2...) Of the storage area in the flash ROM 5 in the sub-ECU 1 serving as the transfer destination are associated with the end addresses (MA2, MA4, MA6...). ) Are uniquely associated. Note that a sub-module 63 ′ that is executed by the main ECU 100 may be included.

各サブモジュール63は、各々プログラムブロック(例えば関数ブロック)又はデータブロック(例えばパラメータテーブルなど)からなる複数のコンポーネント10の集合として記述されている。   Each submodule 63 is described as a set of a plurality of components 10 each composed of a program block (for example, a function block) or a data block (for example, a parameter table).

主ECU100は、例えば新しいバージョンのシステムパッケージソフトウェア60を受信すると、管理ソフトウェア62(図2)が、そのサブモジュールへの分割と各サブモジュール63への送信処理とを行なう。図5は、その概略の処理の流れを示すもので、S101でシステムパッケージソフトウェアを受信すると、S102でこれを一旦RAM4内のパッケージソフトバッファ領域(図2)に格納する。続いて、S103で、該システムパッケージソフトウェアをサブモジュールに分割し、各々そのサブモジュール名から転送先となるサブECUを特定し、これを各サブモジュールのヘッダ部分に書き込む。S104で、各サブモジュールを順次、通信バス上にシリアル通信により送出する。   When the main ECU 100 receives, for example, a new version of the system package software 60, the management software 62 (FIG. 2) performs division into submodules and transmission processing to each submodule 63. FIG. 5 shows the schematic processing flow. When the system package software is received in S101, it is temporarily stored in the package software buffer area (FIG. 2) in the RAM 4 in S102. Subsequently, in S103, the system package software is divided into sub-modules, each sub-module is identified from the sub-module name, and this is written in the header portion of each sub-module. In S104, the submodules are sequentially sent on the communication bus by serial communication.

図6は、各サブECUでのサブモジュール受信・書込みツールによる受信・書込み処理を示すもので、通信バスの通信状態を監視し、S201では、ヘッダ部分に転送先として自身のサブECUが指定されたサブモジュールデータが見出された場合はこれを受信し、S202でこれをRAM4の書き換えバッファ領域21(図3)に転送する。S203では、該書き換えバッファ領域21上で受信したサブモジュールに、フラッシュROM5の格納領域に対応した先頭アドレスと末尾アドレスとを付与し、S204で、これをフラッシュROM5の上記格納領域へ書き込む。   FIG. 6 shows reception / write processing by the sub-module reception / write tool in each sub-ECU. The communication state of the communication bus is monitored, and in S201, its own sub-ECU is designated as the transfer destination in the header portion. If the submodule data is found, it is received and transferred to the rewrite buffer area 21 (FIG. 3) of the RAM 4 in S202. In S203, the start address and the end address corresponding to the storage area of the flash ROM 5 are given to the submodule received on the rewrite buffer area 21, and this is written in the storage area of the flash ROM 5 in S204.

次に、図3のサブECU1(及び主ECU100(図2))においては、フラッシュROM(不揮発性メモリ)5は、その記憶領域が、ソフトウェア18を構成するコンポーネント10の切れ目とは無関係に設定された複数の書き換え単位ブロック15(図7)に分割されており、該書き換え単位ブロック15を単位とする形で記憶内容の消去、書込み及び書き換えが可能とされている。また、フラッシュROM5内には、複数のコンポーネント10を各々特定するコンポーネント特定情報と、各コンポーネント10のフラッシュROM(不揮発性メモリ)5上への書込み領域を特定する書込み領域特定情報とを含むコンポーネント管理情報が記憶されている(つまり、コンポーネント管理情報記憶手段の機能を担う)。図6のS203では、サブモジュールに含まれる各コンポーネントに係る、上記コンポーネント管理情報の付与ないし更新も行なう。   Next, in the sub ECU 1 of FIG. 3 (and the main ECU 100 (FIG. 2)), the flash ROM (nonvolatile memory) 5 has its storage area set regardless of the break of the component 10 constituting the software 18. Further, it is divided into a plurality of rewrite unit blocks 15 (FIG. 7), and the stored contents can be erased, written and rewritten in units of the rewrite unit blocks 15. The flash ROM 5 also includes component management information including component specifying information for specifying each of the plurality of components 10 and writing area specifying information for specifying a writing area of each component 10 on the flash ROM (nonvolatile memory) 5. Information is stored (that is, it functions as a component management information storage means). In S203 of FIG. 6, the component management information relating to each component included in the submodule is also given or updated.

フラッシュROM5には、ソフトウェア更新用のファームウェアとして、前述のプログラム受信・書込み/書換えツール20が格納されている。プログラム受信・書込み/書換えツール20は、コンポーネントレベルの書換え処理として、以下の各手段を機能実現するものである。
・コンポーネント検索手段:コンポーネント管理情報記憶手段の記憶内容に基づいて、更新の対象コンポーネント10Dを不揮発性メモリ5上にて検索する。
・書き換え単位ブロック複写手段:コンポーネント検索手段により検索された対象コンポーネント10Dが属する書き換え単位ブロック15の記憶内容を不揮発性メモリ5から読み出し、RAM4上の書き換えバッファ領域21に複写する。
・コンポーネント更新手段:書き換えバッファ領域21上にコピーされた書き換え単位ブロック15の記憶内容において対象コンポーネント10Dに対し、変更、追加、消去又はそれらの2以上の組み合わせよりなる更新処理を行なう(図7では、対象コンポーネントが関数10(旧コンポーネント)であり、更新処理を行った状態のもの(関数1修正版:新コンポーネント)に符号10Rを付与して区別している)。
・不揮発性メモリ書き戻し手段:更新処理がなされた書き換え単位ブロック15の記憶内容を、書き換えバッファ領域21から不揮発性メモリ5に書き戻す。
The flash ROM 5 stores the program receiving / writing / rewriting tool 20 described above as firmware for updating software. The program receiving / writing / rewriting tool 20 implements the following functions as component-level rewriting processing.
Component search means: The update target component 10D is searched on the nonvolatile memory 5 based on the stored contents of the component management information storage means.
Rewrite unit block copying means: The storage contents of the rewrite unit block 15 to which the target component 10D searched by the component searching means belongs are read from the nonvolatile memory 5 and copied to the rewrite buffer area 21 on the RAM 4.
Component update means: Update processing including change, addition, deletion, or a combination of two or more of the target component 10D in the stored contents of the rewrite unit block 15 copied onto the rewrite buffer area 21 (in FIG. 7) The target component is the function 10 (old component), and the state in which the update process is performed (function 1 modified version: new component) is assigned with a symbol 10R for distinction).
Non-volatile memory write-back means: The storage contents of the rewrite unit block 15 that has been updated are written back from the rewrite buffer area 21 to the non-volatile memory 5.

図8に示すように、本実施形態において各コンポーネント10は、フラッシュROM5のメモリアドレス空間内にて直列に配置されており、コンポーネント管理情報17は、各コンポーネント10内に分散配置している。具体的には、各コンポーネント管理情報17は、対応するコンポーネント10の先頭アドレス22、サイズ(データサイズ)23、コンポーネント名26、末尾アドレス25及び、そのコンポーネント10の直後に隣接する後述の調整領域(末尾アドレス25のあとに続く一定のアドレス空間領域を占める)のサイズ24の各データを含んでいる。これらのデータは、対応するコンポーネント10の先頭に位置するヘッダ領域に格納されるものである。ただし、図14に示すように、コンポーネント管理情報を、各コンポーネント10から切り離したテーブル30の形で一括して記憶させてもよい。この場合、各コンポーネント10には、検索の便宜を図るため、先頭アドレスと末尾アドレスは付与するようにする。   As shown in FIG. 8, in the present embodiment, the components 10 are arranged in series in the memory address space of the flash ROM 5, and the component management information 17 is distributed in each component 10. Specifically, each component management information 17 includes a start address 22, a size (data size) 23, a component name 26, an end address 25 of the corresponding component 10, and an adjustment area (described later) immediately after the component 10. Each data having a size of 24 (occupying a certain address space area following the end address 25). These data are stored in the header area located at the head of the corresponding component 10. However, as shown in FIG. 14, the component management information may be collectively stored in the form of a table 30 separated from each component 10. In this case, each component 10 is provided with a head address and a tail address for convenience of search.

上記構成によると、複数のコンポーネント10を各々特定するコンポーネント特定情報と、各コンポーネント10の不揮発性メモリ5上への書込み領域を特定する書込み領域特定情報とを含むコンポーネント管理情報を、フラッシュROM5上に別途記憶しておき、該コンポーネント管理情報記憶手段の記憶内容に基づいて、更新の対象コンポーネント10Dを不揮発性メモリ5上にて検索する。そして、その検索された対象コンポーネント10Dが属する書き換え単位ブロック15を、ビット単位のランダム書き換えアクセスが可能なRAM4上の書き換えバッファ領域21に複写し、そこで、対象コンポーネント10Dの更新(書き換え)を行った後、当該書き換え単位ブロック15を不揮発性メモリ5に書き戻す。   According to the above configuration, the component management information including the component specifying information for specifying each of the plurality of components 10 and the write area specifying information for specifying the write area on the nonvolatile memory 5 of each component 10 is stored on the flash ROM 5. Separately stored, the update target component 10D is searched on the nonvolatile memory 5 based on the storage contents of the component management information storage means. Then, the rewrite unit block 15 to which the searched target component 10D belongs is copied to the rewrite buffer area 21 on the RAM 4 where random rewrite access in bit units is possible, and the target component 10D is updated (rewritten) there. Thereafter, the rewrite unit block 15 is written back to the nonvolatile memory 5.

複数のサブECU1にサブモジュール単位で分散配置されたシステムパッケージソフトウェアの機能変更や追加の際に、その変更・追加部分があるサブモジュール(もちろん複数であってもよい)内のあるコンポーネントに限られる場合は、そのコンポーネントが存在するサブモジュールだけを、当該サブモジュールを担当するサブECUにて限定的に書換え処理を行なえばよい。この場合、上記の機能により、そのサブECU1のフラッシュROM(不揮発性メモリ)5に格納されたサブモジュール63をコンポーネント単位で更新することが可能となり、ひいては不揮発性メモリ5に搭載されているサブモジュール63の書き換え処理を、より短時間で行なうことができる。   When changing or adding the function of system package software distributed and arranged in units of sub-modules in a plurality of sub-ECUs 1, it is limited to a certain component in a sub-module (of course, a plurality of modules) with the changed / added portion. In this case, only the submodule in which the component exists may be limitedly rewritten by the sub ECU in charge of the submodule. In this case, the above function makes it possible to update the submodule 63 stored in the flash ROM (nonvolatile memory) 5 of the sub ECU 1 in units of components, and consequently the submodule mounted in the nonvolatile memory 5. The rewriting process 63 can be performed in a shorter time.

以下、さらに詳細に説明する。
例えば、あるサブモジュール内の更新に際し、更新済のバージョンの対象コンポーネント10Rを、コンポーネント特定情報(コンポーネント名)26とともに外部から通信により取得することができる(対象コンポーネント取得手段)。図7に示すように、プログラム受信・書込み/書換えツール20は、通信取得されたコンポーネント特定情報26を用いて対象コンポーネント10DをフラッシュROM5上で検索し、その取得した新しいコンポーネント10Rを、書き換えバッファ領域21上の古いコンポーネント10Dと置き換える形でこれを更新する。
This will be described in more detail below.
For example, when updating within a certain submodule, the updated version of the target component 10R can be acquired by communication from the outside together with the component identification information (component name) 26 (target component acquisition means). As shown in FIG. 7, the program receiving / writing / rewriting tool 20 searches the flash ROM 5 for the target component 10D using the component identification information 26 acquired through communication, and replaces the acquired new component 10R with the rewrite buffer area. This is updated by replacing the old component 10D on 21.

更新により、新コンポーネント10Dは、古いコンポーネント10よりもサイズが縮小したり、逆にサイズが増大したりすることがあり、また、元の書き換え単位ブロックとは異なる書き換え単位ブロック15に書き戻されることもある。いずれの場合も、コンポーネント管理情報17に含まれる先頭アドレス22、末尾アドレス25及びサイズ23は更新により変化するので、該コンポーネント管理情報17も書き換えバッファ領域21上で合せて更新した後、フラッシュROM5に書き戻すこととなる。   Due to the update, the new component 10D may be smaller in size than the old component 10 or may be increased in size, and may be written back to the rewrite unit block 15 different from the original rewrite unit block. There is also. In any case, since the start address 22, the end address 25, and the size 23 included in the component management information 17 change due to the update, the component management information 17 is also updated in the rewrite buffer area 21, and then stored in the flash ROM 5. It will be written back.

書き換えバッファ領域21上における更新後の書き換え単位ブロックの内容は、更新の規模(特に、対象コンポーネント10Dの更新によるサイズ変化)により、もとの書き換え単位ブロック15に書き戻される場合と、空き領域を多く有する別の書き換え単位ブロック15に書き戻される場合との二通りがある。対象コンポーネント10Dの更新後のサイズ23が更新前のサイズ23と同等又はそれよりも小さい場合には、当該対象コンポーネント10Dが属する書き換え単位ブロック15のみ書き換えバッファ領域21上にコピーする。そして、書き換えバッファ領域21上にて、旧コンポーネント10Dの書込み領域に新コンポーネント10Rを上書きする。更新処理がなされた書き換え単位ブロック15の記憶内容を、コピー元の書き換え単位ブロック15に上書きする形で書き戻す。   The content of the rewrite unit block after update in the rewrite buffer area 21 is rewritten to the original rewrite unit block 15 depending on the update scale (particularly, the size change due to the update of the target component 10D), and the free area There are two ways of writing back to another rewrite unit block 15 that has many. When the updated size 23 of the target component 10D is equal to or smaller than the size 23 before the update, only the rewrite unit block 15 to which the target component 10D belongs is copied onto the rewrite buffer area 21. Then, the new component 10R is overwritten in the write area of the old component 10D on the rewrite buffer area 21. The stored contents of the rewrite unit block 15 that has been subjected to the update process are rewritten in a form of overwriting the copy source rewrite unit block 15.

他方、不揮発性メモリ5上のアドレス空間にて複数のコンポーネント10は、隣接するコンポーネント10の間、先頭コンポーネント10の前及び末尾コンポーネント10の後の少なくともいずれかに空白の調整領域10Aを生じさせる形で記憶しておけば、対象コンポーネント10Dの更新後のサイズ23が更新前のサイズ23より多少大きくとも、調整領域10Aを利用して該対象コンポーネント10Dのサイズ変化を吸収することが可能である。   On the other hand, in the address space on the non-volatile memory 5, the plurality of components 10 generate a blank adjustment area 10 </ b> A between adjacent components 10, at least one before the leading component 10 and after the trailing component 10. In this case, even if the updated size 23 of the target component 10D is slightly larger than the size 23 before the update, the size change of the target component 10D can be absorbed using the adjustment area 10A.

対象コンポーネント10Dのサイズ変化量が大きい場合には、その(増加方向の)サイズ変化量を吸収可能な調整領域10Aがどこに生じているかによって、更新後の対象コンポーネント10Rの格納領域を不揮発性メモリ5上で変更することも可能である。ただし、各コンポーネント10は不揮発性メモリ5上でリロケータブルに構成しておく必要がある(例えば、ベースアドレスからのオフセットのみによってすべてのメモリアクセスを指定したプログラムとしておく)。対象コンポーネント10Dは、不揮発性メモリ5上での格納領域の開始アドレス22及び終了アドレス25のいずれかが、更新前と更新後とで相違するものとなるように、不揮発性メモリ書き戻し手段により不揮発性メモリ5上に書き戻されることとなる。   When the size change amount of the target component 10D is large, the storage region of the updated target component 10R is stored in the nonvolatile memory 5 depending on where the adjustment region 10A capable of absorbing the size change amount (in the increasing direction) is generated. It is possible to change the above. However, each component 10 needs to be configured to be relocatable on the nonvolatile memory 5 (for example, a program in which all memory accesses are designated only by an offset from the base address). The target component 10D is non-volatile by the non-volatile memory write-back means so that either the start address 22 or the end address 25 of the storage area on the non-volatile memory 5 is different between before and after the update. Will be written back to the memory 5.

書込み領域特定情報を含むコンポーネント管理情報17は、前述の通り、不揮発性メモリ5上での各コンポーネント10の開始アドレス22、終了アドレス25及びサイズ23の情報を含む。対象コンポーネント10Dの更新後のサイズ23が更新前のサイズ23よりも大きいか否かは、コンポーネント管理情報記憶手段に記憶されている対象コンポーネント10Dの更新前のサイズ23情報と、新たに取得する更新後のサイズ23情報との比較により判定することができる。そして、不揮発性メモリに更新後の内容を書き戻す際には、開始アドレス22及び終了アドレス25の情報が更新された対象コンポーネント10Dも不揮発性メモリ5に書き戻すようにする。これにより、更新の必要が生じるたびに、その更新された開始アドレス22及び終了アドレス25を読み取ることで、当該コンポーネント10Dがどこに書き込まれているかを適確に把握することができる。   The component management information 17 including the write area specifying information includes information on the start address 22, the end address 25, and the size 23 of each component 10 on the nonvolatile memory 5 as described above. Whether or not the updated size 23 of the target component 10D is larger than the pre-update size 23 depends on the size 23 information before update of the target component 10D stored in the component management information storage unit and the update to be newly acquired. This can be determined by comparison with later size 23 information. When the updated contents are written back to the nonvolatile memory, the target component 10D in which the information of the start address 22 and the end address 25 is updated is also written back to the nonvolatile memory 5. As a result, each time an update is required, the updated start address 22 and end address 25 are read, so that it is possible to accurately grasp where the component 10D is written.

対象コンポーネント10Dの更新に伴う増加方向のサイズ変化量が、該対象コンポーネント10の前又は後に隣接する調整領域10Aに収まる場合においては、図9及び図10に示すように、該対象コンポーネント10と、これに隣接する調整領域10Aとを含む書き換え単位ブロック15のみを書き換えバッファ領域21に複写する。そして、書き換えバッファ領域21上にて、旧コンポーネント10の書込み領域とこれに隣接する調整領域10Aとにまたがる形で新コンポーネント10Dを上書きし、該更新処理がなされた書き換え単位ブロック15の記憶内容を、コピー元の書き換え単位ブロック15に上書きする形で書き戻す。   When the size change amount in the increasing direction accompanying the update of the target component 10D falls within the adjustment area 10A adjacent to the target component 10 before or after, as shown in FIGS. 9 and 10, the target component 10 and Only the rewrite unit block 15 including the adjustment area 10A adjacent thereto is copied to the rewrite buffer area 21. Then, the new component 10D is overwritten on the rewrite buffer area 21 so as to extend over the write area of the old component 10 and the adjustment area 10A adjacent thereto, and the stored contents of the rewrite unit block 15 subjected to the update processing are overwritten. Then, the data is rewritten in the form of overwriting the copy source rewrite unit block 15.

図9では、対象コンポーネント10Dのサイズ増加量が、当該対象コンポーネント10Dに続く調整領域10Aだけで吸収できる場合であり、開始アドレスC1は不変であり、終了アドレスC2がサイズS1とともに、C2’及びS1’に更新されて書き戻されている。図10は、サイズ増加量が、当該対象コンポーネント10Dの前後の調整領域10A,10Aを両方用いなければ吸収できない場合であり、開始アドレスC1、終了アドレスC2及びサイズS1が、それぞれC1’、C2’、S1’に更新されて書き戻されている。   In FIG. 9, the amount of increase in the size of the target component 10D can be absorbed only by the adjustment area 10A following the target component 10D, the start address C1 is unchanged, and the end address C2 is the size S1 as well as C2 ′ and S1. It has been updated and written back to '. FIG. 10 shows a case where the size increase amount cannot be absorbed unless both the adjustment areas 10A and 10A before and after the target component 10D are used. The start address C1, the end address C2, and the size S1 are C1 ′ and C2 ′, respectively. , S1 ′ is updated and written back.

なお、書き換えバッファ領域21のメモリアドレス空間は、フラッシュROM5上の各書き換え単位ブロック15とともに、連続したアドレスから成り立っており、フラッシュROM5のアドレス空間と一義的に対応付けられている。その結果、フラッシュROM5の書き換え単位ブロック15は、書き換えバッファ領域21上の対応するアドレスブロックに一義的に書き込まれるようになっている。例えば、対象コンポーネント10Dのサイズが書き換え単位ブロック15のサイズより小さい場合、書き換えバッファ領域21にコピーされた書き換え単位ブロック15においては、対象コンポーネント10Dの前後のコンポーネント10の断片10Fが一緒に切り取られる場合がある。しかし、更新されるのが対象コンポーネント10Dだけであれば、断片10Fは何も変更のないままフラッシュROM5の元の書き換え単位ブロック15に書き戻され、その前後の書き換え単位ブロック15に続く断片と一体化して、元のコンポーネント10として問題なく機能する。また、各コンポーネント10は、その内部でアドレスが連続している限り、書き換えバッファ領域21上で書き換えによりどこへ移動しようとも、フラッシュROM5に書き戻された際には、格納領域が変化するだけで、書き換え単位ブロック15による切り取りの影響を受けることなく元通りに復原される。   The memory address space of the rewrite buffer area 21 is composed of continuous addresses together with the rewrite unit blocks 15 on the flash ROM 5, and is uniquely associated with the address space of the flash ROM 5. As a result, the rewrite unit block 15 of the flash ROM 5 is uniquely written in the corresponding address block on the rewrite buffer area 21. For example, when the size of the target component 10D is smaller than the size of the rewrite unit block 15, in the rewrite unit block 15 copied to the rewrite buffer area 21, the fragments 10F of the component 10 before and after the target component 10D are cut together. There is. However, if only the target component 10D is updated, the fragment 10F is written back to the original rewrite unit block 15 of the flash ROM 5 without any change and integrated with the fragments following the rewrite unit block 15 before and after that. And function as the original component 10 without any problem. Further, as long as the addresses are continuous in each component 10, the storage area only changes when the data is written back to the flash ROM 5, regardless of where it is moved by rewriting on the rewrite buffer area 21. The original data is restored without being affected by the cut by the rewrite unit block 15.

なお、対象コンポーネント10の更新による増加方向のサイズ変化量がより大きい場合は、図11のような方式を採用することができる。すなわち、不揮発性メモリ上に分散している複数の調整領域10Aを、更新の対象でない非対象コンポーネント10の移動により、対象コンポーネント10Dのサイズ変化を吸収するのに十分となるように集合させ、当該集合させた調整領域10Aに更新後の対象コンポーネント10Dを書き戻す。この場合、対象コンポーネント10Dが属する書き換え単位ブロック15だけでなく、移動させるべき非対象コンポーネント10が属する書き換え単位ブロック15も、書き換えバッファ領域21上にコピーする。そして、該非対象コンポーネント10の移動のための書き換え処理と、対象コンポーネント10Dの更新のための書き換え処理との双方を行いそれら書き換えのなされた全ての書き換え単位ブロック15を不揮発性メモリ5に書き戻す。図11において、各コンポーネントの開始アドレス、終了アドレス及びサイズのうち、更新により変化したものに「’」を付与している。   In addition, when the size change amount in the increasing direction due to the update of the target component 10 is larger, a method as shown in FIG. 11 can be adopted. That is, the plurality of adjustment areas 10A distributed on the non-volatile memory are aggregated so as to be sufficient to absorb the size change of the target component 10D due to the movement of the non-target component 10 that is not the target of the update, The updated target component 10D is written back to the adjusted adjustment area 10A. In this case, not only the rewrite unit block 15 to which the target component 10D belongs, but also the rewrite unit block 15 to which the non-target component 10 to be moved belongs is copied onto the rewrite buffer area 21. Then, both the rewriting process for moving the non-target component 10 and the rewriting process for updating the target component 10 </ b> D are performed, and all the rewritten unit blocks 15 that have been rewritten are written back to the nonvolatile memory 5. In FIG. 11, “′” is given to the start address, the end address, and the size of each component that has changed due to the update.

他方、図12に示すように、対象コンポーネント10Dの更新に伴う増加方向のサイズ変化量が、対象コンポーネント10Dの前又は後に隣接する調整領域10Aに収まらない場合においては、次のような方式を採用することも可能である。すなわち、対象コンポーネント10Dが属する書き換え単位ブロック15を書き換えバッファ領域21上にコピーする。そして、書き換えバッファ領域21上にて対象コンポーネント10Dを消去する処理を行なう。対象コンポーネント10Dが消去された書き換え単位ブロック15は、フラッシュROM(不揮発性メモリ)5におけるコピー元の書き換え単位ブロック15に上書きする形で書き戻す。他方、フラッシュROM(不揮発性メモリ)5内の末尾コンポーネント10の後に隣接形成された末尾調整領域16’に、更新後の対象コンポーネント10Rを書き込む(調整書込み手段)。   On the other hand, as shown in FIG. 12, when the size change amount in the increasing direction accompanying the update of the target component 10D does not fit in the adjustment area 10A adjacent to the target component 10D before or after, the following method is adopted. It is also possible to do. That is, the rewrite unit block 15 to which the target component 10D belongs is copied onto the rewrite buffer area 21. Then, the process of deleting the target component 10D is performed on the rewrite buffer area 21. The rewrite unit block 15 from which the target component 10 </ b> D has been erased is written back by overwriting the copy source rewrite unit block 15 in the flash ROM (nonvolatile memory) 5. On the other hand, the updated target component 10R is written in the tail adjustment area 16 'formed adjacent to the tail component 10 in the flash ROM (nonvolatile memory) 5 (adjustment writing means).

図13は、以上の処理を包括的に行なうための、プログラム受信・書込み/書換えツール20の処理フローの一例を示すものである。S1で新コンポーネント10Rを受信した場合、S2でコンポーネント名をリードし、S3でフラッシュROM5内の対応するコンポーネント10Dを検索する。仮にその対象コンポーネントの番号をmとする。この番号mのコンポーネントの前後の調整領域Aのサイズを順次読み取って書込みスペース変数ΣA(デフォルト値は、旧コンポーネント10DのサイズS)に加算し(S4,S5、S6)、ΣAの値が新コンポーネント10Rを格納するのに十分なサイズとなったところで加算を停止して(S7)、新コンポーネント10Rを格納するための処理を行なう(S15〜S18、S15〜S23)。一方、コンポーネント間の調整領域Aを全て加算しても、ΣAの値が新コンポーネント10Rを格納するのに不十分となっている場合は、図12、すなわち末尾調整領域16’に更新後の対象コンポーネント10Rを書き込む処理を行なう(S25〜S28)。   FIG. 13 shows an example of the processing flow of the program receiving / writing / rewriting tool 20 for comprehensively performing the above processing. When the new component 10R is received in S1, the component name is read in S2, and the corresponding component 10D in the flash ROM 5 is searched in S3. Let the number of the target component be m. The size of the adjustment area A before and after the component of number m is sequentially read and added to the write space variable ΣA (the default value is the size S of the old component 10D) (S4, S5, S6), and the value of ΣA is the new component When the size is sufficient to store 10R, the addition is stopped (S7), and processing for storing the new component 10R is performed (S15 to S18, S15 to S23). On the other hand, if the value of ΣA is not enough to store the new component 10R even if all the adjustment areas A between components are added, the object after updating in FIG. 12, that is, the tail adjustment area 16 ′ Processing for writing the component 10R is performed (S25 to S28).

本実施形態では、対象コンポーネント10Dの前に位置する調整領域と、同じく後に位置する調整領域とを、交互に対象コンポーネント10Dから遠ざかりながら加算するようにしている(S10:変数iが対象コンポーネント10Dの前に位置する調整領域の特定変数であり、変数kが対象コンポーネント10Dの後に位置する調整領域の特定変数である)。しかし、対象コンポーネント10Dの前(又は後)に位置する調整領域を集中して加算した後、対象コンポーネント10Dの後(又は前)に位置する調整領域を集中して加算するロジックを採用することも可能である。   In the present embodiment, the adjustment area positioned in front of the target component 10D and the adjustment area positioned in the same manner are alternately added away from the target component 10D (S10: variable i is the value of the target component 10D). A specific variable of the adjustment region positioned in front, and a variable k is a specific variable of the adjustment region positioned after the target component 10D). However, it is also possible to employ a logic that concentrates and adds the adjustment regions located before (or after) the target component 10D and then concentrates and adds the adjustment regions located after (or before) the target component 10D. Is possible.

対象コンポーネント10Dがコンポーネント列の中央にいつも位置するとは限らず、加算を継続するうちに、前又は後に位置する調整領域のどちらかが先に底をつく場合が一般的である。その判断をS11で行い、前に位置する調整領域(i側)に余りがあり、後に位置する調整領域(k側)が尽きている場合は、k側にはもはや調整領域が残っていないので、加算演算が継続することを考慮して、k側の調整領域のサイズ加算値を以降はゼロに設定する(S12,S13)。他方、その逆の場合は、i側の調整領域のサイズ加算値を以降はゼロに設定する(S24,S14)。S11でi=0であり、S24でkが最大値nを上回っていれば、S25〜S28に進み、図12の処理となる。   The target component 10D is not always located at the center of the component row. In general, either one of the adjustment regions located in the front or the rear is bottomed out as the addition is continued. If the determination is made in S11 and there is a remainder in the adjustment region (i side) located in front and the adjustment region (k side) located in the rear is exhausted, the adjustment region no longer remains on the k side. Considering that the addition operation continues, the size addition value of the k-side adjustment area is set to zero thereafter (S12, S13). On the other hand, in the opposite case, the size addition value of the adjustment area on the i side is set to zero thereafter (S24, S14). If i = 0 in S11 and k exceeds the maximum value n in S24, the process proceeds to S25 to S28, and the process of FIG. 12 is performed.

一方、S15でi=k=mの場合、ΣAは、対象コンポーネント10Dの直後に位置する調整領域だけでサイズ変化を吸収できるので、S16〜S18に進み、図9の処理となる。また、それ以外の場合は、図10又は図11の処理となり、S19で番号mを中心に、前側にiだけ戻り、後側にkだけ進んだ位置までの全てのコンポーネントを書き換えバッファ領域21にコピーし、S20及びS21で、それらのコンポーネントを書き換えバッファ領域21上で前詰及び後詰して、調整領域を番号mのコンポーネントの前後に集め、S22で番号mのコンポーネント10Dを新しいコンポーネント10Rに書き換え、S23で書き換えバッファ領域21にコピーした全ての書き換え単位ブロックをフラッシュROM5に書き戻す。   On the other hand, when i = k = m in S15, ΣA can absorb the size change only in the adjustment region located immediately after the target component 10D, and thus the process proceeds to S16 to S18 and the processing of FIG. 9 is performed. In other cases, the processing of FIG. 10 or FIG. 11 is performed. In S19, all components up to the position where the number m is returned to the front side by i and the rear side is advanced by k are stored in the rewrite buffer area 21. Copy, and in S20 and S21, those components are pre-padded and back-packed in the rewrite buffer area 21, the adjustment areas are collected before and after the component of number m, and the component 10D of number m is rewritten to a new component 10R in S22 , All the rewrite unit blocks copied to the rewrite buffer area 21 in S23 are written back to the flash ROM 5.

なお、新コンポーネント10Rの増加方向のサイズ変化が、対象コンポーネント10Dの前又は後に隣接する調整領域10Aの合計に収まらない場合に、図11の処理に移行せずに、直ちに末尾調整領域16を用いた図12の処理に移行するようにプログラム受信・書込み/書換えツールを構成することも可能である。   If the size change in the increasing direction of the new component 10R does not fall within the total of the adjustment areas 10A adjacent before or after the target component 10D, the tail adjustment area 16 is immediately used without shifting to the processing of FIG. It is also possible to configure the program receiving / writing / rewriting tool so as to shift to the processing of FIG.

なお、複数のサブECU群に、新規にシステムパッケージソフトウェアをインストールする際は、図3の各サブECU1にて、受信したサブモジュールを書き換えバッファ領域21に転送した後、フラッシュROM5に書込み処理を行なえばよく、フラッシュROM5との間での書換え単位ブロックの転送/書き戻し処理は不要である。また、主ECU100がサブモジュールを受け持つ場合は、その更新処理用に、図2に示すごとく、同様のプログラム受信・書込み/書換えツール20及び書き換えバッファ領域21を設けておけばよい。   When newly installing the system package software in a plurality of sub ECUs, each sub ECU 1 in FIG. 3 can transfer the received sub module to the rewrite buffer area 21 and then write it to the flash ROM 5. The transfer / write-back processing of the rewrite unit block with the flash ROM 5 is not necessary. When the main ECU 100 takes charge of the submodule, the same program receiving / writing / rewriting tool 20 and rewriting buffer area 21 may be provided for the updating process as shown in FIG.

本発明の自動車用制御システムの全体構成を示す概念図。The conceptual diagram which shows the whole structure of the control system for motor vehicles of this invention. 主ECUの一例を示すブロック図。The block diagram which shows an example of main ECU. サブECUの一例を示すブロック図。The block diagram which shows an example of sub ECU. システムパッケージソフトウェアの構成概念図。FIG. 3 is a configuration conceptual diagram of system package software. 管理ソフトウェアの処理の流れを示すフローチャート。The flowchart which shows the flow of a process of management software. プログラム受信・書込み/書換えツールによる、サブモジュールの受信/書込み処理の流れを示すフローチャート。The flowchart which shows the flow of the receiving / writing process of a submodule by a program receiving / writing / rewriting tool. 本発明の概念説明図。The concept explanatory drawing of this invention. 書き換え単位ブロックとコンポーネントとの関係を示す模式図。The schematic diagram which shows the relationship between a rewriting unit block and a component. 本発明の第一の実施例を示す模式図。The schematic diagram which shows the 1st Example of this invention. 本発明の第二の実施例を示す模式図。The schematic diagram which shows the 2nd Example of this invention. 本発明の第三の実施例を示す模式図。The schematic diagram which shows the 3rd Example of this invention. 本発明の第四の実施例を示す模式図。The schematic diagram which shows the 4th Example of this invention. 上記第一〜第四の実施例を包括的に実現するプログラム書換えツールの処理の流れを示すフローチャートの一例。An example of the flowchart which shows the flow of a process of the program rewriting tool which implement | achieves the said 1st-4th Example comprehensively. コンポーネント管理情報を、各コンポーネントから切り離したテーブルの形で一括記憶させる概念を示す図。The figure which shows the concept which stores component management information collectively in the form of the table isolate | separated from each component.

符号の説明Explanation of symbols

1 サブECU
3 CPU
4 RAM
5 フラッシュROM(不揮発性メモリ)
10 コンポーネント
10D 対象コンポーネント
15 書き換え単位ブロック
17 コンポーネント管理情報
20 プログラム受信・書込み/書換えツール
21 書き換えバッファ領域
62 管理ソフトウェア(サブモジュール分割手段)
100 主ECU
200 システムパッケージソフトウェア(制御用ソフトウェア)
1 Sub ECU
3 CPU
4 RAM
5 Flash ROM (nonvolatile memory)
10 Component 10D Target Component 15 Rewrite Unit Block 17 Component Management Information 20 Program Receiving / Writing / Rewriting Tool 21 Rewrite Buffer Area 62 Management Software (Submodule Dividing Unit)
100 Main ECU
200 System package software (control software)

Claims (11)

CPUからなる主制御部を有した主ユニットと、CPUからなる主制御部を有するとともに前記主ユニットに自動車内通信ネットワークを介して接続される複数のサブユニットからなり、制御用ソフトウェアを複数の前記サブユニットにより連携的に実行することにより、自動車上に搭載される電子機器の制御処理を実施するようにした自動車用制御システムであって、
前記主ユニットは、
前記サブユニットに個別に対応した複数のサブモジュールの集合からなる前記制御用ソフトウェアを取得する制御用ソフトウェア取得手段と、
取得した前記制御用ソフトウェアを前記サブモジュールに分割するサブモジュール分割手段と、
各サブモジュールを、対応する前記サブユニットに前記自動車内通信ネットワークを介して送信するサブモジュール送信手段と、を有し、
各前記サブユニットは、
記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持する不揮発性メモリと、
前記自動車内通信ネットワークを介して前記サブモジュールを受信するサブモジュール受信手段と、
受信した前記サブモジュールを前記不揮発性メモリに書き込むサブモジュール書込み手段と、を有するとともに、
前記サブモジュールの集合からなる前記制御用ソフトウェアは、各々プログラムブロック又はデータブロックからなる複数のコンポーネントの集合からなり、
記サブユニットの前記不揮発性メモリの記憶領域が、前記サブモジュールを構成するコンポーネントの切れ目とは無関係に設定された複数の書き換え単位ブロックに分割されるとともに、該書き換え単位ブロックを単位とする形で記憶内容の消去、書込み及び書き換えが可能とされてなり、
さらに、各前記サブユニットは、
RAM上に形成された前記コンポーネントの書き換えバッファ領域上にコピーされた前記書き換え単位ブロックの記憶内容において、更新の対象となる対象コンポーネントに対し、変更、追加、消去又はそれらの2以上の組み合わせよりなる更新処理を行なうコンポーネント更新手段と、
前記更新処理がなされた前記書き換え単位ブロックの記憶内容を、前記書き換えバッファ領域から前記不揮発性メモリに書き戻す不揮発性メモリ書き戻し手段と、を有し
前記対象コンポーネントは、前記不揮発性メモリ上での格納領域の開始アドレス及び終了アドレスのいずれかが、更新前と更新後とで相違するものとなるように、前記不揮発性メモリ書き戻し手段により前記不揮発性メモリ上に書き戻されることを特徴とする自動車用制御システム。
A main unit having a main control unit composed of a CPU, and a plurality of sub-units having a main control unit composed of a CPU and connected to the main unit via an in-vehicle communication network. A control system for a vehicle that performs control processing of an electronic device mounted on a vehicle by executing it in cooperation with a subunit,
The main unit is
Control software acquisition means for acquiring the control software consisting of a set of a plurality of submodules individually corresponding to the subunits;
Submodule dividing means for dividing the acquired control software into the submodules;
Sub-module transmission means for transmitting each sub-module to the corresponding sub-unit via the in-vehicle communication network,
Each said subunit is
The stored content is electrically rewritable, and a non-volatile memory that retains the stored content even when receiving an external reset signal;
Sub-module receiving means for receiving the sub-module via the in-vehicle communication network;
A submodule writing means for writing received the sub-module in the nonvolatile memory, as well as have a,
The control software consisting of a set of submodules consists of a set of a plurality of components each consisting of a program block or a data block,
Said non-volatile memory storage area before Symbol subunits, wherein while being divided into a plurality of rewrite unit blocks set independently the break of components that make up the sub-module, a unit of the rewriting unit blocks The memory contents can be erased, written and rewritten in the form of
Furthermore, each said subunit is
In the stored contents of the rewrite unit block copied onto the rewrite buffer area of the component formed on the RAM, the target component to be updated is changed, added, deleted, or a combination of two or more thereof. Component update means for performing update processing;
Wherein the stored contents of the update process performed was the rewriting unit blocks having a non-volatile memory write back unit writes back from the rewrite buffer area in the nonvolatile memory,
The target component is stored in the nonvolatile memory by the nonvolatile memory write-back means so that either the start address or the end address of the storage area on the nonvolatile memory is different before and after the update. A control system for an automobile, wherein the control system is written back to the memory.
前記サブモジュールに分割された形で前記サブユニット群に搭載されている前記制御用ソフトウェアの書き換えを行なうために、
前記制御用ソフトウェア取得手段は、書き換え後のバージョンに対応する制御用ソフトウェアを取得するものであり、
前記サブモジュール送信手段は、書き換えの影響を受ける複数のサブモジュールに対し、一括して各々対応する前記サブユニットに送信するものである請求項1記載の自動車用制御システム。
In order to rewrite the control software installed in the subunit group in a form divided into the subunits,
The control software acquisition means is for acquiring control software corresponding to the rewritten version,
2. The vehicle control system according to claim 1, wherein the sub-module transmission unit transmits a plurality of sub-modules affected by rewriting to the corresponding sub-units in a lump.
各前記サブユニットは、
前記複数のコンポーネントを各々特定するコンポーネント特定情報と、各コンポーネントの前記不揮発性メモリ上への書込み領域を特定する書込み領域特定情報とを含むコンポーネント管理情報を記憶するコンポーネント管理情報記憶手段と、
該コンポーネント管理情報記憶手段の記憶内容に基づいて、更新の対象コンポーネントを前記不揮発性メモリ上にて検索するコンポーネント検索手段と、
前記コンポーネント検索手段により検索された前記対象コンポーネントが属する書き換え単位ブロックの記憶内容を前記不揮発性メモリから読み出し、前記RAM上の前記書き換えバッファ領域に複写する書き換え単位ブロック複写手段と、
を有してなる請求項2記載の自動車用制御システム。
Each said subunit is
Component management information storage means for storing component management information including component specifying information for specifying each of the plurality of components, and writing area specifying information for specifying a writing area of each component on the nonvolatile memory;
Component search means for searching the nonvolatile memory for a component to be updated based on the storage contents of the component management information storage means;
Rewrite unit block copying means for reading out the stored contents of the rewrite unit block to which the target component to which the target component has been searched by the component search means belongs, and copying it to the rewrite buffer area on the RAM;
The vehicle control system according to claim 2, comprising:
前記対象コンポーネントを、前記コンポーネント特定情報とともに外部から通信により取得する対象コンポーネント取得手段を有し、
前記コンポーネント検索手段は、該対象コンポーネント取得手段が取得したコンポーネント特定情報を用いて前記対象コンポーネントの前記不揮発性メモリ上での検索を行なうものであり、
前記コンポーネント更新手段は、前記対象コンポーネント取得手段が取得した新しいコンポーネントを、前記書き換えバッファ領域上の古いコンポーネントと置き換える形でこれを更新する請求項3記載の自動車用制御システム。
A target component acquisition unit configured to acquire the target component by communication from the outside together with the component identification information;
The component search means performs a search on the nonvolatile memory of the target component using the component specifying information acquired by the target component acquisition means,
The vehicle control system according to claim 3, wherein the component update unit updates the new component acquired by the target component acquisition unit by replacing the old component on the rewrite buffer area.
前記対象コンポーネントの更新後のサイズが更新前のサイズと同等又はそれよりも小さい場合に、前記書き換え単位ブロック複写手段は、当該対象コンポーネントが属する書き換え単位ブロックを単位のみ前記書き換えバッファ領域上にコピーするものとされ、前記コンポーネント更新手段は、前記書き換えバッファ領域上にて、前記旧コンポーネントの書込み領域に前記新コンポーネントを上書きするものとされ、前記不揮発性メモリ書き戻し手段は、該更新処理がなされた前記書き換え単位ブロックの記憶内容を、コピー元の書き換え単位ブロックに上書きする形で書き戻すものとされている請求項4記載の自動車用制御システム。 When the updated size of the target component is equal to or smaller than the size before the update, the rewrite unit block copying unit copies only the rewrite unit block to which the target component belongs to the rewrite buffer area. The component update means overwrites the new component in the write area of the old component on the rewrite buffer area, and the nonvolatile memory write-back means performs the update process. 5. The vehicle control system according to claim 4, wherein the storage contents of the rewrite unit block are written back in a form of overwriting the copy source rewrite unit block. 前記不揮発性メモリ上のアドレス空間にて複数の前記コンポーネントは、隣接するコンポーネントの間、先頭コンポーネントの前及び末尾コンポーネントの後の少なくともいずれかに空白の調整領域を生じさせる形で記憶されてなり、
前記対象コンポーネントの更新後のサイズが更新前のサイズよりも大きい場合に、前記調整領域を利用して該対象コンポーネントのサイズ変化を吸収するようにした請求項3ないし請求項5のいずれか1項に記載の自動車用制御システム。
In the address space on the non-volatile memory, the plurality of components are stored in such a manner that a blank adjustment area is generated between adjacent components, at least either before the leading component and after the trailing component,
6. The device according to claim 3, wherein when the size of the target component after updating is larger than the size before the updating, the size change of the target component is absorbed using the adjustment region. The control system for automobiles described in 1.
前記コンポーネントは前記不揮発性メモリ上でリロケータブルに構成されてなる請求項6記載の自動車用制御システム。 The component automobile control system according to claim 6, wherein comprising configured relocatable on the nonvolatile memory. 前記書込み領域特定情報は、前記不揮発性メモリ上での各コンポーネントの開始アドレス、終了アドレス及びサイズの情報を含むものであり、
前記対象コンポーネントの更新後のサイズが更新前のサイズよりも大きいか否かを、前記コンポーネント管理情報記憶手段に記憶されている対象コンポーネントの更新前のサイズ情報と、新たに取得する更新後のサイズ情報との比較により判定するとともに、前記不揮発性メモリ書き戻し手段は、前記コンポーネント更新手段により前記開始アドレス及び終了アドレスの情報が更新された前記対象コンポーネントを前記不揮発性メモリに書き戻す請求項7記載の自動車用制御システム。
The write area specifying information includes information on a start address, an end address, and a size of each component on the nonvolatile memory,
Whether the size of the target component after updating is larger than the size before updating, the size information before updating of the target component stored in the component management information storage unit, and the size after updating to be newly acquired 8. The non-volatile memory write-back means writes back the target component whose information on the start address and end address has been updated by the component update means to the non-volatile memory while making a determination by comparison with information. Car control system.
前記対象コンポーネントの前記更新に伴う増加方向のサイズ変化量が、前記対象コンポーネントの前又は後に隣接する調整領域に収まる場合において、前記書き換え単位ブロック複写手段は、該対象コンポーネントと、これに隣接する調整領域とを含む書き換え単位ブロックのみを前記書き換えバッファ領域に複写するものとされ、前記コンポーネント更新手段は、前記書き換えバッファ領域上にて、前記旧コンポーネントの書込み領域とこれに隣接する前記調整領域とにまたがる形で前記新コンポーネントを上書きするものとされ、前記不揮発性メモリ書き戻し手段は、該更新処理がなされた前記書き換え単位ブロックの記憶内容を、コピー元の書き換え単位ブロックに上書きする形で書き戻すものとされている請求項6ないし請求項8のいずれか1項に記載の自動車用制御システム。 When the size change amount in the increasing direction accompanying the update of the target component falls within the adjustment area adjacent to the target component before or after, the rewrite unit block copying means adjusts the target component and the adjustment adjacent to the target component. Only the rewrite unit block including the area is copied to the rewrite buffer area, and the component update means includes the write area of the old component and the adjustment area adjacent thereto on the rewrite buffer area. The new component is overwritten in a spanning manner, and the nonvolatile memory write-back means writes back the stored contents of the rewrite unit block that has been subjected to the update process in a form that overwrites the copy-source rewrite unit block. Claims 6 to 8, which are assumed to be Zureka automobile control system according to (1). 前記不揮発性メモリ上に分散している複数の調整領域を、更新の対象でない非対象コンポーネントの移動により、前記対象コンポーネントのサイズ変化を吸収するのに十分となるように集合させ、当該集合させた調整領域に更新後の対象コンポーネントを書き戻すために、
前記書き換え単位ブロック複写手段は、移動させるべき前記非対象コンポーネントが属する書き換え単位ブロックのみ、前記対象コンポーネントが属する書き換え単位ブロックとともに前記書き換えバッファ領域上にコピーするものとされ、前記コンポーネント更新手段は、該非対象コンポーネントの移動のための書き換え処理と、前記対象コンポーネントの更新のための書き換え処理との双方を行なうものとされ、前記不揮発性メモリ書き戻し手段は、それら書き換えのなされた全ての書き換え単位ブロックを前記不揮発性メモリに書き戻すものとされる請求項6ないし請求項9のいずれか1項に記載の自動車用制御システム。
A plurality of adjustment areas distributed on the non-volatile memory are assembled so as to be sufficient to absorb the size change of the target component by moving the non-target component that is not an update target, and the set is performed. To write the updated target component back to the adjustment area,
The rewrite unit block copying means copies only the rewrite unit block to which the non-target component to be moved belongs to the rewrite buffer area together with the rewrite unit block to which the target component belongs, and the component updating means Both the rewrite process for moving the target component and the rewrite process for updating the target component are performed, and the nonvolatile memory write-back means stores all the rewritten unit blocks that have been rewritten. The automobile control system according to any one of claims 6 to 9, wherein data is written back to the nonvolatile memory.
前記対象コンポーネントの前記更新に伴う増加方向のサイズ変化量が、前記対象コンポーネントの前又は後に隣接する調整領域に収まらない場合において、
前記書き換え単位ブロック複写手段は、前記対象コンポーネントが属する書き換え単位ブロックを前記書き換えバッファ領域上にコピーするものとされ、前記コンポーネント更新手段は、前記書き換えバッファ領域上にて前記対象コンポーネントを消去する処理を行なうものとされ、前記不揮発性メモリ書き戻し手段は、前記対象コンポーネントが消去された書き換え単位ブロックを、前記不揮発性メモリにおけるコピー元の書き換え単位ブロックに上書きする形で書き戻すとともに、
前記不揮発性メモリ内の前記末尾コンポーネントの後に隣接形成された末尾調整領域に、更新後の前記対象コンポーネントを書き込む調整書込み手段が設けられている請求項6ないし請求項10のいずれか1項に記載の自動車用制御システム。
When the size change amount in the increasing direction accompanying the update of the target component does not fit in the adjustment area adjacent to the target component before or after
The rewrite unit block copying means copies the rewrite unit block to which the target component belongs to the rewrite buffer area, and the component update means performs a process of erasing the target component on the rewrite buffer area. The nonvolatile memory write-back means writes back the rewrite unit block from which the target component has been erased, overwriting the copy-source rewrite unit block in the nonvolatile memory,
11. The adjustment writing means for writing the updated target component in a tail adjustment area formed adjacent to the tail component in the nonvolatile memory. 11. Car control system.
JP2005125517A 2005-04-22 2005-04-22 Automotive control system Expired - Fee Related JP4654750B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005125517A JP4654750B2 (en) 2005-04-22 2005-04-22 Automotive control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005125517A JP4654750B2 (en) 2005-04-22 2005-04-22 Automotive control system

Publications (2)

Publication Number Publication Date
JP2006298260A JP2006298260A (en) 2006-11-02
JP4654750B2 true JP4654750B2 (en) 2011-03-23

Family

ID=37466829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005125517A Expired - Fee Related JP4654750B2 (en) 2005-04-22 2005-04-22 Automotive control system

Country Status (1)

Country Link
JP (1) JP4654750B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269395A (en) * 2007-04-23 2008-11-06 Fujitsu Ten Ltd Multimedia system and navigation unit terminal
JP4557009B2 (en) * 2008-01-09 2010-10-06 株式会社デンソー Vehicle control apparatus and vehicle control system using the same
US8155829B2 (en) 2007-11-21 2012-04-10 Denso Corporation Common control apparatus and vehicle control system
JP2012159924A (en) * 2011-01-31 2012-08-23 Alpine Electronics Inc Installation system
JP5323151B2 (en) * 2011-08-31 2013-10-23 三菱電機株式会社 Program rewriting system and program rewriting method
KR101268677B1 (en) 2011-10-28 2013-05-29 주식회사 현대케피코 Apparatus and method for reprogramming a plurality of ECUs
US8938730B2 (en) 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
JP2016170471A (en) * 2015-03-11 2016-09-23 日立オートモティブシステムズ株式会社 Electronic control device
US10437680B2 (en) 2015-11-13 2019-10-08 Kabushiki Kaisha Toshiba Relay apparatus, relay method, and computer program product
JP6323480B2 (en) * 2016-03-02 2018-05-16 住友電気工業株式会社 Program update system, program update method, and computer program
JP6361671B2 (en) * 2016-03-02 2018-07-25 住友電気工業株式会社 Program update system, program update method, relay device, and computer program
JP6897630B2 (en) * 2018-05-11 2021-07-07 株式会社オートネットワーク技術研究所 In-vehicle update device, update processing method and update processing program
JP7232785B2 (en) * 2020-02-19 2023-03-03 株式会社デンソー Data delivery device, data delivery system and data delivery program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155673A (en) * 1998-11-18 2000-06-06 Nec Ic Microcomput Syst Ltd Link device and link method
JP2000335331A (en) * 1999-05-26 2000-12-05 Nissan Diesel Motor Co Ltd Control device for vehicle
JP2003196113A (en) * 2001-12-26 2003-07-11 Matsushita Electric Ind Co Ltd Program update system and program update method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158680A (en) * 1991-12-06 1993-06-25 Nec Niigata Ltd Rom rewrite processing system
JPH11175331A (en) * 1997-12-15 1999-07-02 Denso Corp Rom rewritting method for lan system for vehicle, and on-vehicle controller
JPH11189113A (en) * 1997-12-26 1999-07-13 Yazaki Corp Method for updating information equipment mounted on vehicle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155673A (en) * 1998-11-18 2000-06-06 Nec Ic Microcomput Syst Ltd Link device and link method
JP2000335331A (en) * 1999-05-26 2000-12-05 Nissan Diesel Motor Co Ltd Control device for vehicle
JP2003196113A (en) * 2001-12-26 2003-07-11 Matsushita Electric Ind Co Ltd Program update system and program update method

Also Published As

Publication number Publication date
JP2006298260A (en) 2006-11-02

Similar Documents

Publication Publication Date Title
JP4654750B2 (en) Automotive control system
KR100664933B1 (en) Method and apparatus for storing multimedia data to nonvolatile storage by block unit
KR100884429B1 (en) Memory system with nonvolatile semiconductor memory
JP4633802B2 (en) Nonvolatile storage device, data read method, and management table creation method
US20080250188A1 (en) Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method
US7698497B2 (en) Method of controlling card-shaped memory device
US9003099B2 (en) Disc device provided with primary and secondary caches
US20070245069A1 (en) Storage Device, Memory Management Method and Program
CN100342350C (en) Stored data rewrite system for vehicular control unit
JP6028670B2 (en) Data storage
WO2019123747A1 (en) Electronic control device for automobile and control method thereof
JP6719020B2 (en) In-vehicle control device and program update software
JP5695112B2 (en) Data storage device, data storage method, and in-vehicle control device
JP6289606B2 (en) Certificate management apparatus and certificate management method
JP4501159B2 (en) Automotive control unit
JP2011198049A (en) Storage device, electronic control unit and storage method
JP7503117B2 (en) Vehicle Electronic Control Unit
US20110082995A1 (en) Information processing apparatus
JP2020515975A (en) Program updating method and apparatus
JP2019199122A (en) On-vehicle relay device, communication system, bus determination method and computer program
CN103389943A (en) Control device, storage device, and storage control method
JP2006063939A (en) Program rewritable electronic control device
WO2020039927A1 (en) Non-volatile storage device, host device, and data storage system
JP5129791B2 (en) Vehicle control device
JP2014112419A (en) Mobile terminal apparatus, software update method, operation control method, and program

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

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

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

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4654750

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

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

LAPS Cancellation because of no payment of annual fees