JP6782654B2 - In-vehicle control device and program update software - Google Patents

In-vehicle control device and program update software Download PDF

Info

Publication number
JP6782654B2
JP6782654B2 JP2017058396A JP2017058396A JP6782654B2 JP 6782654 B2 JP6782654 B2 JP 6782654B2 JP 2017058396 A JP2017058396 A JP 2017058396A JP 2017058396 A JP2017058396 A JP 2017058396A JP 6782654 B2 JP6782654 B2 JP 6782654B2
Authority
JP
Japan
Prior art keywords
block
program
executable program
volatile memory
specific 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.)
Active
Application number
JP2017058396A
Other languages
Japanese (ja)
Other versions
JP2018160206A (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2017058396A priority Critical patent/JP6782654B2/en
Publication of JP2018160206A publication Critical patent/JP2018160206A/en
Application granted granted Critical
Publication of JP6782654B2 publication Critical patent/JP6782654B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、車載制御装置、プログラム更新ソフトウェアに関する。 The present invention relates to an in-vehicle control device and program update software.

従来のリプログラミングでは、低速なCAN(Controller Area Network)を介してプログラム書込み装置としてのPC(Personal Computer)と車載制御装置(ECU:Engine Control Unit)を接続し、ロードモジュール(新プログラム)を分割転送しながらECUのフラッシュメモリへ書込みを行っている。 In conventional reprogramming, a PC (Personal Computer) as a program writing device and an in-vehicle control device (ECU: Engine Control Unit) are connected via a low-speed CAN (Controller Area Network), and a load module (new program) is divided. Writing to the flash memory of the ECU while transferring.

また、旧プログラムに対する新プログラムの更新部分が小さい場合においても、新プログラム全体をCAN経由で転送し、新プログラム全体の書込みを行っている。 Further, even when the update part of the new program with respect to the old program is small, the entire new program is transferred via CAN and the entire new program is written.

従って、書込みに要する時間がかかるという問題があった。これに対し、従来から差分リプログラミングの考え方が提案されている(例えば、特許文献1参照)。すなわち、特許文献1の段落〔0019〕には、書き換え方式の1つとして「ブロック単位で新旧プログラムの差分データを作成する手段」が記載されている。さらに段落〔0064〕には、更新対象ブロックの旧プログラムをSDRAMへ転送して、差分データと旧プログラムを用いて新プログラムをSDRAMへ復元し、更新対象ブロックを消去してから、新プログラムを書込んでいる。 Therefore, there is a problem that it takes time to write. On the other hand, the concept of differential reprogramming has been conventionally proposed (see, for example, Patent Document 1). That is, in paragraph [0019] of Patent Document 1, "means for creating difference data of old and new programs in block units" is described as one of the rewriting methods. Further, in paragraph [0064], the old program of the update target block is transferred to the SDRAM, the new program is restored to the SDRAM using the difference data and the old program, the update target block is erased, and then the new program is written. It is crowded.

特開2012−190075号公報Japanese Unexamined Patent Publication No. 2012-190075

特許文献1の技術は、更新対象ブロックの旧プログラムと差分データと復元した新プログラム全てをRAM上に配置している。結果として、RAM容量よりも大きなブロックで構成されたフラッシュメモリを内蔵したマイコンを使用した車載制御装置では原理的に差分復元できないことになる。 In the technique of Patent Document 1, the old program of the block to be updated, the difference data, and all the restored new programs are arranged on the RAM. As a result, in principle, differential restoration cannot be performed with an in-vehicle control device using a microcomputer having a built-in flash memory composed of blocks larger than the RAM capacity.

そこで本発明の目的は、差分更新機能を有さない車載制御装置を、差分更新可能にすることである。 Therefore, an object of the present invention is to enable an in-vehicle control device that does not have a difference update function to be capable of difference update.

上記課題を解決するために、本発明の車載制御装置は一例として、実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、前記全文更新手段を起動して、差分復元手段と解凍復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、前記復元プログラムを起動して、該復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムのブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな前記実行可能なプログラムを差分復元して、前記不揮発性メモリの第2の特定ブロックへ書込み、該第2の特定ブロックのデータを前記ブロックへコピーすることを繰返して、前記第1の特定ブロックと前記第2の特定ブロックとは別の前記ブロックへ新たな前記実行可能なプログラムを書込み、前記第2の特定ブロックの新たな前記実行可能なプログラムの圧縮データを解凍復元して、該解凍復元したプログラムを前記第2の特定ブロックへ書込み、前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新する。 In order to solve the above problems, the in-vehicle control device of the present invention is, for example, in an in-vehicle control device including a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means. , The full-text update means is activated, a restoration program having a differential restoration means and a decompression restoration means is written to the first specific block of the non-volatile memory, and the restoration program is activated. Using the difference data between the executable program and the new executable program for each block and the execution program arranged in the non-volatile memory, the new executable program in the block is differentially restored to obtain the above. By repeating writing to the second specific block of the non-volatile memory and copying the data of the second specific block to the block, the first specific block and the block different from the second specific block are repeated. A new executable program is written to, the compressed data of the new executable program in the second specific block is decompressed and restored, and the decompressed and restored program is written to the second specific block. The executable program is updated to the new executable program by invoking the full-text update means and writing the new executable program in the first specific block into the first specific block. To do.

本発明によれば、差分更新機能を有さない車載制御装置を、差分更新可能にすることができる。 According to the present invention, an in-vehicle control device that does not have a difference update function can be made capable of difference update.

既存の車載制御装置のフラッシュメモリ構成と動作概要示す模式図である。It is a schematic diagram which shows the flash memory configuration and operation outline of the existing in-vehicle control device. プログラム書込み装置と車載制御装置の全体構成を示す模式図である。It is a schematic diagram which shows the whole structure of a program writing device and an in-vehicle control device. 図2Aに示す車載制御装置のSRAMの内部の構成を示す模式図である。It is a schematic diagram which shows the internal structure of the SRAM of the vehicle-mounted control device shown in FIG. 2A. 図2Aに示す車載制御装置のFLASHメモリの内部の構成を示す模式図である。ブート部とアプリ部の構成、およびアプリ先頭ブロックと一時ブロックが記載されている。It is a schematic diagram which shows the internal structure of the FLASH memory of the vehicle-mounted control device shown in FIG. 2A. The configuration of the boot part and the application part, and the application head block and temporary block are described. 既存車載制御装置の差分更新ソフトの全体構成図である。It is an overall block diagram of the difference update software of an existing in-vehicle control device. 復元回復ソフトの全体構成図である。It is an overall configuration diagram of the restoration recovery software. プログラム書き込み装置から受信する通信コマンドの種類を示す図である。It is a figure which shows the type of the communication command received from a program writing device. プログラム書込み装置が車載制御装置へ発行する通信コマンドのフローチャートである。It is a flowchart of the communication command issued by the program writing device to the in-vehicle control device. 差分通信ソフトのフローチャートである。It is a flowchart of the difference communication software. 復元ソフトのフローチャートである。It is a flowchart of the restoration software. 差分復元ソフトのフローチャートである。It is a flowchart of the difference restoration software. 解凍復元ソフトのフローチャートである。It is a flowchart of the decompression / restoration software.

既存の車載制御装置は、少なくともマイコンなどの初期化ソフト、プログラム書換え装置から送信される全文更新用通信コマンドや全文データの通信を行う全文通信ソフト、フラッシュ書込みソフト、全文データによる全文更新ソフトをブート部と呼ぶフラッシュメモリの領域に配置し、更新対象のプログラムやデータはアプリ部と呼ぶフラッシュメモリの領域に配置されていることを前提とする。 The existing in-vehicle control device boots at least initialization software such as a microcomputer, full-text update communication software sent from the program rewrite device, full-text communication software that communicates full-text data, flash writing software, and full-text update software using full-text data. It is assumed that the program or data to be updated is placed in the flash memory area called the application part.

図1を用いて、前提とする既存の車載制御装置のフラッシュメモリ構成と、動作を説明する。 The flash memory configuration and operation of the existing in-vehicle control device, which is a prerequisite, will be described with reference to FIG.

210はブート部であり、220はアプリ部である。既存の車載制御装置は、パワーオンやイグニッションONなどによるリセットが発生すると、ブート部内の初期化ソフトが実行される。初期化ソフトはRAMの初期化やアプリ部220に配置されているプログラムの診断などを行い、異常がなければ250で指示されたアプリ部220の先頭を示すアプリ先頭230へ分岐する。図1ではアプリ先頭230は、アプリ部220の途中の位置に存在しているが、その位置は自由で良い。当然、予め定められた位置にアプリ先頭230の位置を示す情報を格納しておいても良い。このように、ブート部からアプリ部のプログラムへ分岐するための予め定められた規定が存在することが第1の重要なポイントである。 210 is a boot part and 220 is an application part. In the existing in-vehicle control device, when a reset occurs due to power-on or ignition ON, the initialization software in the boot unit is executed. The initialization software initializes the RAM, diagnoses the program arranged in the application unit 220, and if there is no abnormality, branches to the application head 230 indicating the head of the application unit 220 instructed by 250. In FIG. 1, the application head 230 exists at a position in the middle of the application unit 220, but the position may be free. Of course, information indicating the position of the top 230 of the application may be stored in a predetermined position. As described above, the first important point is that there is a predetermined provision for branching from the boot part to the program of the application part.

このようにしてアプリ部220のプログラムを実行するが、アプリ部220のプログラムから全文更新ソフトへ分岐する規定の存在することが、第2のポイントである。すなわち、プログラム実行中に、プログラム書込み装置から全文更新開始を意味する通信コマンドを受信すると、アプリ部220のプログラムは、車載制御装置を安全な状態にした後、260で指示されたブート部210の全文更新ソフト先頭240へ分岐する。全文更新ソフトは、通信ソフトを初期化し、全文更新の通信コマンドを受信できるようにすることで、プログラム書込み装置からの指示を待つことができる。当然、予め定められた位置に全文更新ソフト先頭240の位置を示す情報を格納しておいても良い。このように、アプリ部220のプログラムからブート部の全文更新ソフトへ分岐するための予め定められた規定が存在することが第2の重要なポイントである。既存の車載制御装置は、このように第1の規定と第2の規定を備えていることが前提である。 The program of the application unit 220 is executed in this way, but the second point is that there is a provision for branching from the program of the application unit 220 to the full-text update software. That is, when a communication command indicating the start of full-text update is received from the program writing device during program execution, the program of the application unit 220 puts the in-vehicle control device in a safe state, and then the boot unit 210 instructed by 260. Branches to the first 240 of the full-text update software. The full-text update software can wait for an instruction from the program writing device by initializing the communication software so that it can receive the communication command for full-text update. Of course, information indicating the position of the head 240 of the full-text update software may be stored in a predetermined position. As described above, the second important point is that there is a predetermined provision for branching from the program of the application unit 220 to the full-text update software of the boot unit. It is premised that the existing in-vehicle control device has the first regulation and the second regulation in this way.

本実施例は、第1の規定と第2の規定を活用して、下記3つのフェーズで構成した既存車載制御装置の差分更新手段で、アプリ部220の旧プログラムを新プログラムへ更新する。 In this embodiment, the old program of the application unit 220 is updated to the new program by the difference updating means of the existing in-vehicle control device configured in the following three phases by utilizing the first rule and the second rule.

第1フェーズは、既存の車載制御装置へ前記全文更新ソフトを利用してアプリ先頭230を含むブロック(アプリ先頭ブロックと呼ぶことにする)へ復元回復ソフトをダウンロードしてリセットする手段である。ここで復元回復ソフトは、プログラム書込み装置から差分更新用通信コマンドやブロック毎のブロック差分データを受信する差分通信手段と、受信したブロック差分データとアプリ部220の旧プログラムから当該ブロックの新プログラムを復元する復元手段と、復元された当該ブロックの新プログラムをアプリ部220の当該ブロックへ書込む処理を行う書込み手段を備えたソフトウェアである。 The first phase is a means for downloading and resetting the restoration / recovery software to the block including the application head 230 (referred to as the application head block) by using the full-text update software to the existing in-vehicle control device. Here, the restoration / recovery software uses the difference communication means for receiving the difference update communication command and the block difference data for each block from the program writing device, and the new program of the block from the received block difference data and the old program of the application unit 220. The software includes a restoration means for restoring and a writing means for writing a new program of the restored block to the block of the application unit 220.

第2フェーズは、ブート部の初期化ソフト実行後に前記復元回復ソフトを起動する。復元回復ソフトは、まず差分通信手段を初期化してプログラム書込み装置と差分更新用通信コマンドやブロック毎のブロック差分データを受信可能に設定する。その後、復元手段を用いて受信したブロック差分データとアプリ部220の旧プログラムから当該ブロックの新プログラムを復元し、アプリ部220内の最大サイズのブロック(一時ブロックと呼ぶことにする)へ書込む。次に一時ブロックのデータを書込み手段を用いて当該ブロックへコピーする。このように、ブロック差分データを受信する度に、上記処理を繰返すことで、アプリ部220の各ブロックを新プログラムへ更新することができる。ただし、前述したアプリ先頭ブロックと一時ブロックは、まだ新プログラムへ更新できていない。 In the second phase, the restoration / recovery software is started after the initialization software of the boot unit is executed. The restoration / recovery software first initializes the difference communication means and sets the program writing device, the difference update communication command, and the block difference data for each block to be receivable. After that, the new program of the block is restored from the block difference data received by the restoration means and the old program of the application unit 220, and written to the maximum size block (referred to as a temporary block) in the application unit 220. .. Next, the data of the temporary block is copied to the block by using a writing means. In this way, each block of the application unit 220 can be updated to the new program by repeating the above process each time the block difference data is received. However, the above-mentioned application head block and temporary block have not been updated to the new program yet.

まず、一時ブロックの選定理由を説明する。 First, the reason for selecting the temporary block will be described.

本実施例の課題としていることは、小さなSRAM容量でもフラッシュメモリの大きなブロックの差分更新を可能にすることであった。このケースの場合、当該ブロックの新プログラムは、SRAMへ一時的にも保存することができない。さらに当該ブロックの差分更新は、旧プログラムを参照して当該ブロックの新プログラムを復元するので、復元完了するまで当該ブロックの旧プログラムを消去することができない。以上の理由から、SRAMでは無くアプリ部220の最大サイズのブロックを一時ブロックに設定した。これにより、小さなSRAM容量でもフラッシュメモリの大きなブロックを差分更新可能となる。 An object of this embodiment is to enable differential update of a large block of flash memory even with a small SRAM capacity. In this case, the new program of the block cannot be temporarily saved in SRAM. Further, since the differential update of the block restores the new program of the block with reference to the old program, the old program of the block cannot be deleted until the restoration is completed. For the above reasons, the maximum size block of the application unit 220 is set as the temporary block instead of the SRAM. This makes it possible to differentially update a large block of flash memory even with a small SRAM capacity.

次に差分更新後に実行する一時ブロックの更新手段について説明する。一時ブロックは、他のブロックの差分更新時に当該ブロックの新プログラムを一時保存するワークメモリとして使用した。このため、本来の旧プログラムは破壊されている。このため、一時ブロックの更新は、差分更新では無く、全文更新または圧縮更新で実現する。すなわち、他のブロックの差分更新した後に、一時ブロックの新プログラムを全文データとしてプログラム書込み装置から受信し、一時ブロックへ新プログラムを書込めば良い。同様に、一時ブロックの新プログラムのブロック圧縮データをプログラム書込み装置から受信し、復元手段を用いてブロック圧縮データを解凍し、一時ブロックへ新プログラムを書込めば良い。ただし復元手段は、ブロック差分データを用いた差分復元機能とブロック圧縮データを解凍する解凍機能を有する必要である。 Next, the means for updating the temporary block to be executed after the differential update will be described. The temporary block was used as a work memory for temporarily storing a new program of the block when the difference of another block was updated. For this reason, the original old program has been destroyed. Therefore, the update of the temporary block is realized by the full-text update or the compressed update instead of the differential update. That is, after the differential update of other blocks, the new program of the temporary block may be received from the program writing device as full-text data, and the new program may be written to the temporary block. Similarly, the block compressed data of the new program of the temporary block may be received from the program writing device, the block compressed data may be decompressed by using the restoration means, and the new program may be written to the temporary block. However, the restoration means needs to have a difference restoration function using the block difference data and a decompression function for decompressing the block compressed data.

以上、一時ブロックの更新が終了した後に、プログラム書込み装置から全文更新開始を意味する通信コマンドを受信する。前述したように、アプリ部220の復元回復ソフトは、車載制御装置を安全な状態にした後、260で指示されたブート部210の全文更新ソフト先頭240へ分岐する。 As described above, after the update of the temporary block is completed, the communication command indicating the start of full-text update is received from the program writing device. As described above, the restoration / recovery software of the application unit 220 branches to the head 240 of the full-text update software of the boot unit 210 instructed by 260 after the in-vehicle control device is put into a safe state.

残りは、アプリ先頭ブロックの更新である。これは、第3フェーズで行う。 The rest is the update of the first block of the application. This is done in the third phase.

第3フェーズは、既存の車載制御装置へ前記全文更新ソフトを利用してブート部210の全文更新ソフト先頭240を含むブロック(アプリ先頭ブロック)へ当該ブロックの新プログラムをダウンロード手段である。この手段を実行することにより、アプリ先頭ブロックへ新プログラムを書込むことができた。 The third phase is a means for downloading a new program of the block to a block (application head block) including the full text update software head 240 of the boot unit 210 by using the full text update software to the existing in-vehicle control device. By executing this method, we were able to write a new program in the first block of the application.

以上の第1〜第3フェーズで構成された既存車載制御装置の差分更新手段により、アプリ部220の全てのブロックを新プログラムへ書換えることができた。 By the difference updating means of the existing in-vehicle control device configured in the above 1st to 3rd phases, all the blocks of the application unit 220 could be rewritten to the new program.

RAM容量よりも大きなブロックで構成されたフラッシュメモリを内蔵したマイコンを使用した車載制御装置を差分更新できる。 In-vehicle control devices using a microcomputer with a built-in flash memory composed of blocks larger than the RAM capacity can be differentially updated.

さらに、もう1つ大きな効果がある。もし第2フェーズの差分更新途中で車載バッテリの容量が無くなり、電源断など思いもよらぬ事象が発生しても、差分更新途中であった当該ブロックからリトライ可能になる点である。第2フェーズの差分更新中は、当該ブロックは更新されず、一時ブロックへ復元した新プログラムを書き込んでいる。なので、当該ブロックの旧プログラムはそのまま残っている。従ってこの時点で電源断が発生しても、電源復帰後に再度旧プログラムを参照して新プログラムを一時ブロックへ復元することができる。また、もし一時プロックへ新プログラムを復元完了した後に、当該ブロックを消去し、一時ブロックから当該ブロックへコピーしている時に電源断が発生した場合でも、新プログラムは一時ブロックに残っているので電源回復後に再度一時ブロックの新プログラムを当該ブロックへ書き込むことができる。また、第2フェーズの差分更新後に行う一時ブロックの更新は、新プログラムの全文データまたは圧縮データを用いるので、旧プログラムが破壊されていても新プログラムへ更新可能である。さらに、第1フェーズと第3フェーズの更新は、全文データによる更新なので、当然リトライ可能である。 In addition, there is another big effect. Even if the capacity of the in-vehicle battery runs out during the difference update in the second phase and an unexpected event such as a power failure occurs, the block that was in the middle of the difference update can be retried. During the differential update of the second phase, the block is not updated, and a new program restored to the temporary block is written. Therefore, the old program of the block remains as it is. Therefore, even if the power is cut off at this point, the new program can be restored to the temporary block by referring to the old program again after the power is restored. Also, even if the power is cut off while erasing the block and copying from the temporary block to the block after the restoration of the new program to the temporary block is completed, the new program remains in the temporary block, so the power supply After recovery, the new program of the temporary block can be written to the block again. Further, since the update of the temporary block performed after the differential update of the second phase uses the full text data or the compressed data of the new program, it can be updated to the new program even if the old program is destroyed. Further, since the update of the first phase and the third phase is an update based on full-text data, it is naturally possible to retry.

このように既存車載制御装置の差分更新手段は、電源断などの異常が発生した場合でも復電後にリトライすれば、更新中の当該ブロックから途中復元できるメリットがある。 As described above, the difference updating means of the existing in-vehicle control device has an advantage that even if an abnormality such as a power failure occurs, it can be restored halfway from the block being updated by retrying after the power is restored.

また、一時ブロックは、複数の小さなブロックで構成しても良い。さらに、電源断の問題を解決可能で、RAMがある程度のサイズであれば、RAMに配置しても良い。 Further, the temporary block may be composed of a plurality of small blocks. Further, if the problem of power failure can be solved and the RAM has a certain size, it may be arranged in the RAM.

全文データによるソフトウェア更新手段を有し、少ない容量のRAMと大きなブロックで構成されたフラッシュメモリを備えた車載制御装置において、差分更新を可能とする既存車載制御装置の差分更新手段の実施例を図2〜図11を用いて詳細に述べる。 The figure shows an embodiment of the difference update means of the existing in-vehicle control device which enables the difference update in the in-vehicle control device having the software update means based on the full text data and having the flash memory composed of a small capacity RAM and a large block. 2 to FIG. 11 will be described in detail.

最初に、図2Aを用いて、システムの全体構成を説明する。図2Aは、本発明の実施形態によるシステムの全体構成を示す模式図である。 First, the overall configuration of the system will be described with reference to FIG. 2A. FIG. 2A is a schematic view showing the overall configuration of the system according to the embodiment of the present invention.

プログラム書き込み装置100、複数の車載制御装置200(200〜200)を備える。プログラム書き込み装置100及び車載制御装置200は、相互に車載ネットワークCANを介して通信する。 Program writing device 100 includes a plurality of vehicle-mounted control unit 200 (200 1 ~200 n). The program writing device 100 and the vehicle-mounted control device 200 communicate with each other via the vehicle-mounted network CAN.

車載制御装置200は、マイコン201、車載制御装置200毎の用途に応じた各種のIC(Integrated Circuit)204、CANトランシーバなどの通信装置205を備える。マイコン201は、SRAM202(揮発性メモリ)、FLASHメモリ203(不揮発性メモリ)を内蔵する。 The in-vehicle control device 200 includes a microcomputer 201, various ICs (Integrated Circuits) 204 according to the application of each in-vehicle control device 200, and a communication device 205 such as a CAN transceiver. The microcomputer 201 has a SRAM 202 (volatile memory) and a FLASH memory 203 (nonvolatile memory).

なお、プログラム書き込み装置100の構成も車載制御装置200の構成と基本的に同じであるが、車両の外部のネットワークのプロトコルに応じた通信装置をさらに備える。すなわち、プログラム書き込み装置100は、マイコン101、各種のIC104、CANトランシーバなどの通信装置105、車両の外部のネットワークのプロトコルに応じた通信装置106を備える。マイコン101は、SRAM102、FLASHメモリ103を内蔵する。 The configuration of the program writing device 100 is basically the same as the configuration of the in-vehicle control device 200, but a communication device corresponding to the protocol of the network outside the vehicle is further provided. That is, the program writing device 100 includes a microcomputer 101, various ICs 104, a communication device 105 such as a CAN transceiver, and a communication device 106 according to the protocol of the network outside the vehicle. The microcomputer 101 has a SRAM 102 and a FLASH memory 103 built-in.

次に、図2Bを用いて、車載制御装置200のSRAM202の構成を説明する。図2Bは、図2Aに示すSRAM202の内部の構成を示す模式図である。 Next, the configuration of the SRAM 202 of the in-vehicle control device 200 will be described with reference to FIG. 2B. FIG. 2B is a schematic view showing the internal configuration of SRAM 202 shown in FIG. 2A.

SRAM202は、プログラム書込み装置100からの受信データを一時的に記憶するための受信エリア202aを備える。本実施形態では、一例として、SRAM202のサイズは128kBであり、受信エリア202aのサイズは64kBである。 The SRAM 202 includes a reception area 202a for temporarily storing the reception data from the program writing device 100. In the present embodiment, as an example, the size of the SRAM 202 is 128 kB, and the size of the reception area 202a is 64 kB.

次に、図3を用いて、FLASHメモリ203の構成を説明する。図3は、図2Aに示すFLASHメモリ203の内部の構成を示す模式図である。 Next, the configuration of the FLASH memory 203 will be described with reference to FIG. FIG. 3 is a schematic view showing the internal configuration of the FLASH memory 203 shown in FIG. 2A.

FLASHメモリ203は、複数のサイズのブロックから構成される。本実施形態では、一例として、FLASHメモリ203のサイズは2MBである。ブート部210には、マイコンなどの初期化ソフト、プログラム書込み装置100と全文更新用通信コマンドや全文データの通信を行う全文通信ソフト、フラッシュ書込みソフト、全文データによる全文更新ソフトが実装されている。アプリ部220は、ブロックB#1〜B#7で構成されており、第1フェーズで復元回復ソフトをダウンロードするアプリ先頭ブロック300は、128kBのブロックB#2である。また、第2フェーズで使用する一時ブロック310は、256kBのブロックB#7である。本発明手段で説明したように、一時ブロック310をアプリ部220内のブロックの中で最大サイズのブロックB#7を選択している。また、SRAM202が128kBであるのに対して、フラッシュメモリのアプリ部220のブロックの最大サイズは256kBとしており、ブロックサイズよりも小さなSRAM容量でも差分更新が可能であることを本実施例で説明する。FLASHメモリ203は、128kBと256kBの2種類のブロックから構成されている。ブロックとは、データを消去する最小単位である。例えば、128kBのブロックに4kBのデータを書き込む場合、128kBのデータを消去してから4kBのデータを書き込む必要がある。 The FLASH memory 203 is composed of blocks of a plurality of sizes. In the present embodiment, as an example, the size of the FLASH memory 203 is 2 MB. The boot unit 210 is equipped with initialization software such as a microcomputer, full-text communication software for communicating full-text update communication commands and full-text data with the program writing device 100, flash writing software, and full-text update software using full-text data. The application unit 220 is composed of blocks B # 1 to B # 7, and the application head block 300 for downloading the restoration / recovery software in the first phase is a 128 kB block B # 2. The temporary block 310 used in the second phase is block B # 7 of 256 kB. As described by the means of the present invention, the temporary block 310 is selected from the blocks B # 7 having the maximum size among the blocks in the application unit 220. Further, it will be described in this embodiment that the maximum size of the block of the application unit 220 of the flash memory is 256 kB while the SRAM 202 is 128 kB, and the difference can be updated even with the SRAM capacity smaller than the block size. .. The FLASH memory 203 is composed of two types of blocks, 128 kB and 256 kB. A block is the smallest unit for erasing data. For example, when writing 4 kB data to a 128 kB block, it is necessary to erase the 128 kB data and then write the 4 kB data.

図4は、本発明の既存車載制御装置の差分更新ソフト400のフローチャートである。第1フェーズ410は、ブート部210の全文更新ソフトを起動して、アプリ先頭ブロックB#2ヘ復元回復ソフトをダウンロードして書込んでいる。 FIG. 4 is a flowchart of the difference update software 400 of the existing in-vehicle control device of the present invention. In the first phase 410, the full-text update software of the boot unit 210 is started, and the restoration / recovery software is downloaded and written to the application head block B # 2.

第2フェーズ420は、ダウンロードした復元回復ソフトを起動して、アプリ部220のブロックB#n (n = 1, 3, 4, 5, 6)をブロック単位に差分更新して、当該ブロックへ新プログラムを書込んである。さらに、一時ブロックB#7の圧縮データを解凍する圧縮更新により新プログラムを復元し、一時ブロックB#7ヘ新プログラムを書込んでいる。 In the second phase 420, the downloaded restoration / recovery software is started, the block B # n (n = 1, 3, 4, 5, 6) of the application unit 220 is differentially updated in block units, and the block is newly updated. I'm writing a program. Furthermore, the new program is restored by the compression update that decompresses the compressed data of the temporary block B # 7, and the new program is written to the temporary block B # 7.

第3フェーズ430は、ブート部210の全文更新ソフトを起動して、アプリ先頭ブロックB#2ヘ当該ブロックの新プログラムを書込んでいる。 In the third phase 430, the full-text update software of the boot unit 210 is started, and a new program of the block is written in the application head block B # 2.

上記3つのフェーズでアプリ部220は、新プログラムへ更新できた。 In the above three phases, the application unit 220 was able to update to the new program.

以降、詳細に説明するが、第1フェーズと第3フェーズの処理は、既存の全文更新ソフトによるものなので、第2フェーズの復元回復ソフトの動作を中心に説明する。 Hereinafter, although it will be described in detail, since the processing of the first phase and the third phase is performed by the existing full-text update software, the operation of the restoration / recovery software of the second phase will be mainly described.

図5は、復元回復ソフト500の構成を示している。 FIG. 5 shows the configuration of the restoration / recovery software 500.

差分復元ソフト500は、プログラム書込み装置100とネットワークを介して通信を行う差分通信手段を実現する差分通信ソフト501と復元手段を実現する復元ソフト502と、ブロック差分データを用いて新プログラムを復元する差分復元手段を実現する差分復元ソフト503と、圧縮データから新プログラムを復元する解凍復元手段を実現する解凍復元ソフト504と、データをフラッシュメモリへ格納する書き込み手段を実現する書き込みソフト505で構成されている。 The difference restoration software 500 restores a new program using the difference communication software 501 that realizes the difference communication means that communicates with the program writing device 100 via the network, the restoration software 502 that realizes the restoration means, and the block difference data. It consists of differential restoration software 503 that realizes differential restoration means, decompression / restoration software 504 that realizes decompression / restoration means that restores a new program from compressed data, and writing software 505 that realizes writing means that stores data in flash memory. ing.

図6は、車載書き込み装置100から車載制御装置200へ送信される通信コマンドの種類を示している。 FIG. 6 shows the types of communication commands transmitted from the vehicle-mounted writing device 100 to the vehicle-mounted control device 200.

600は、プログラムの更新開始を示す通信コマンド$10である。 Reference numeral 600 is a communication command of $ 10 indicating the start of program update.

610は、更新対象ブロックB#n ( n=1,2,3,4,5,6,7)を指定する通信コマンド$20である。ここでKDは、送信データのデータ種別を示す情報、MAは更新対象ブロックの先頭アドレス、MSは更新対象ブロックのサイズを示している。データ種別KDは、送信データが差分データまたは圧縮データであることを示すことができる。 610 is a communication command $ 20 that specifies the update target block B # n (n = 1,2,3,4,5,6,7). Here, KD indicates information indicating the data type of the transmission data, MA indicates the start address of the update target block, and MS indicates the size of the update target block. The data type KD can indicate that the transmitted data is differential data or compressed data.

620は、更新対象ブロックの送信データを通信コマンドに付属させた通信コマンド$30である。ここでDATAは送信データであり、差分データまたは圧縮データである。 Reference numeral 620 is a communication command of $ 30 in which the transmission data of the block to be updated is attached to the communication command. Here, DATA is transmission data, and is differential data or compressed data.

630は、更新対象ブロックへのデータ送信が完了したことを示す通信コマンド$40である。 Reference numeral 630 is a communication command of $ 40 indicating that the data transmission to the update target block is completed.

640は、プログラム更新終了を示す通信コマンド$50である。
以上の通信コマンドを用いて、図7にプログラム書込み装置100が通信コマンドを送信するフローチャートを示す。
640 is a communication command $ 50 indicating the end of program update.
FIG. 7 shows a flowchart in which the program writing device 100 transmits a communication command using the above communication commands.

700は、通信コマンド“プログラム更新開始” $10を送信する。 The 700 sends a communication command "program update start" $ 10.

710は、通信コマンド“更新対象ブロック指定”$20を送信する。データ種別KD,更新対象ブロックの先頭アドレスMA,サイズMSも一緒に送信する。 710 transmits a communication command "designation of block to be updated" of $ 20. The data type KD, the start address MA of the block to be updated, and the size MS are also transmitted.

720は、通信コマンド“更新対象ブロック用の送信データ”$20を送信する。送信データは、ブロックの差分データまたは圧縮データである。 720 transmits the communication command "transmission data for update target block" $ 20. The transmission data is block difference data or compressed data.

730は、通信コマンド“更新対象ブロックへのデータ送信完了”$40を送信する。 730 transmits the communication command "data transmission completed to the update target block" $ 40.

740では、アプリ先頭ブロック#B2を除き、全てのブロックのデータを送信完了したかチェックし、noならば710へ戻って、次の更新対象ブロックのデータ送信を繰返す。 In 740, it is checked whether the data of all blocks except the application head block # B2 has been transmitted, and if no, the process returns to 710 and the data transmission of the next update target block is repeated.

一方、yesならば750で通信コマンド“プログラム更新終了”$50を送信して終了する。 On the other hand, if yes, the communication command "program update end" $ 50 is sent at 750 to end.

このように、更新対象ブロックへのデータ送信は、710〜730を繰返すことで実現している。 In this way, data transmission to the update target block is realized by repeating 710 to 730.

図8は、車載制御装置200が通信コマンドを受信する差分通信ソフト501のフローチャートである。 FIG. 8 is a flowchart of the differential communication software 501 in which the vehicle-mounted control device 200 receives a communication command.

800は、通信コマンドCMDを受信する動作である。 Reference numeral 800 is an operation of receiving the communication command CMD.

810は、通信コマンドCMDが$10であるか判定し、yesならば815を実行し、noならば820を実行する。815では、これからプログラム更新を開始するので、受信エリア202aを初期化する。 810 determines whether the communication command CMD is $ 10, executes 815 if yes, and executes 820 if no. In 815, since the program update is started from now on, the reception area 202a is initialized.

820は、通信コマンドCMDが$20であるか判定し、yesならば825を実行し、noならば830を実行する。825では、受信データのデータ種別KD,復元対象ブロックの先頭アドレスMA,サイズMSを記憶する。さらに一時ブロックB#7を消去する。 820 determines whether the communication command CMD is $ 20, executes 825 if yes, and executes 830 if no. In 825, the data type KD of the received data, the start address MA of the block to be restored, and the size MS are stored. Further, the temporary block B # 7 is erased.

830は、通信コマンドCMDが$30であるか判定し、yesならば835を実行し、noならば840を実行する。835では、受信データDATAを受信エリア202aへ記憶する。 830 determines whether the communication command CMD is $ 30, executes 835 if yes, and executes 840 if no. At 835, the received data DATA is stored in the reception area 202a.

840は、通信コマンドCMDが$40であるか判定し、yesならば845を実行し、noならば850を実行する。845では、受信エリア202aに格納された差分データまたは圧縮データを用いて復元ソフト502を実行する。850は、通信コマンドCMDの処理を終了する。 840 determines if the communication command CMD is $ 40, executes 845 if yes, and executes 850 if no. At 845, the restoration software 502 is executed using the difference data or the compressed data stored in the reception area 202a. 850 ends the processing of the communication command CMD.

図9は、復元ソフト502のフローチャートである。 FIG. 9 is a flowchart of the restoration software 502.

900は、データ種別KDが“差分データ”か判定し、もしyesならば910を実行し、もしnoならばKDは“圧縮データ”なので930を実行する。930は、解凍復元ソフト504を実行し、終了する。910は、差分復元ソフト503を実行し、復元結果を一時ブロック310 B#7ヘ格納する。920は、書込みソフト505を実行し、先頭アドレスMA,サイズMSの更新対象ブロックへ一時ブロック310 B#7のデータをコピーして終了する。 The 900 determines whether the data type KD is "difference data", executes 910 if yes, and executes 930 if no because KD is "compressed data". The 930 executes the decompression / restoration software 504 and ends. 910 executes the difference restoration software 503 and stores the restoration result in the temporary block 310 B # 7. The 920 executes the writing software 505, copies the data of the temporary block 310 B # 7 to the update target block of the start address MA and the size MS, and ends.

図10と図11で差分復元ソフト503と、解凍復元ソフト504を説明する。 The difference restoration software 503 and the decompression restoration software 504 will be described with reference to FIGS. 10 and 11.

図10、差分復元ソフト503のフローチャートである。 FIG. 10 is a flowchart of the difference restoration software 503.

最初に、一般的な差分生成・差分復元ソフトの概要について説明する。差分生成ソフトは、差分抽出処理部において、新プログラムの部分命令列と類似の部分命令列を旧プログラムから検索して見つけ出し、その部分命令列を短い符号に置き換えてコピーコマンドに付属させる。一方、類似の部分命令列が見つからない場合には、追加コマンドにその部分命令列を付属させる。このコピーコマンドと追加コマンドの列が差分データである。このように、差分データとは、単に新プログラムから旧プログラムを減算した結果では無く、類似部分名列を短い符号に置き換えたコピーコマンドや追加コマンドなどの列で構成されている。 First, an overview of general difference generation / difference restoration software will be described. The difference generation software searches the old program for a sub-command sequence similar to the sub-command sequence of the new program in the difference extraction processing unit, finds it, replaces the sub-command sequence with a short code, and attaches it to the copy command. On the other hand, if a similar sub-instruction sequence is not found, the sub-instruction sequence is attached to the additional command. The columns of this copy command and the additional command are the difference data. In this way, the difference data is not simply the result of subtracting the old program from the new program, but is composed of columns such as copy commands and additional commands in which the similar subname string is replaced with a short code.

以上の準備を踏まえて、差分復元ソフト503の動作を説明する。 Based on the above preparations, the operation of the difference restoration software 503 will be described.

1000は、受信エリア202aの差分データを読み出す。 1000 reads the difference data of the reception area 202a.

1010は、差分コマンドの解析である。 1010 is an analysis of the difference command.

1020は、差分コマンドがコピーコマンドか判定し、もしyesならば1025を実行し、もしnoならば1030を実行する。1025は、旧プログラムの部分命令列を一時ブロック310 B#7へ書込む。 1020 determines whether the diff command is a copy command, executes 1025 if yes, and executes 1030 if no. The 1025 writes the partial instruction sequence of the old program to the temporary block 310 B # 7.

1030は、差分コマンドが追加コマンドか判定し、もしyesならば1035を実行し、もしnoなばら1040を実行する。 1030 determines if the diff command is an additional command, executes 1035 if yes, and executes no rose 1040 if yes.

1035は、追加コマンドに付属するデータを一時ブロック310 B#7へ追記して1040を実行する。 The 1035 executes 1040 by adding the data attached to the additional command to the temporary block 310 B # 7.

1040は、差分データを全て読み出したか判定し、もしyesならば差分復元処理503を終了し、もしnoならば1000へ分岐して、次の差分コマンドを差分データから読み出し、1010〜1040を繰返す。 1040 determines whether all the difference data has been read, and if yes, ends the difference restoration process 503. If no, branches to 1000, reads the next difference command from the difference data, and repeats 1010 to 1040.

以上で、当該更新対象ブロックの新プログラムを一時ブロック310 B#7へ差分復元できた。 With the above, the new program of the update target block can be differentially restored to the temporary block 310 B # 7.

図11は、解凍復元ソフト504のフローチャートである。
最初に、圧縮・解凍ソフトについて説明する。圧縮ソフトは、プログラム中の部分命令列と類似の部分命令列をプログラムから検索して見つけ出し、その部分命令列を短い符号に置き換えてコピーコマンドに付属させる。一方、類似の部分命令列が見つからない場合には、追加コマンドにその部分命令列を付属させる。このコピーコマンドと追加コマンドの列が圧縮データである。このように、圧縮データは、類似部分名列を短い符号に置き換えたコピーコマンドや追加コマンドなどの列で構成されている。
FIG. 11 is a flowchart of the decompression / restoration software 504.
First, the compression / decompression software will be described. The compression software searches the program for a sub-instruction sequence similar to the sub-instruction sequence in the program, finds it, replaces the sub-instruction sequence with a short code, and attaches it to the copy command. On the other hand, if a similar sub-instruction sequence is not found, the sub-instruction sequence is attached to the additional command. The sequence of this copy command and additional command is the compressed data. In this way, the compressed data is composed of columns such as copy commands and additional commands in which similar subname strings are replaced with short codes.

以上の準備を踏まえて、解凍復元ソフト504の動作を説明する。 Based on the above preparations, the operation of the decompression / restoration software 504 will be described.

1100は、まず一時ブロック310 B#7を消去する。 The 1100 first erases the temporary block 310 B # 7.

1110は、受信エリア202aから圧縮データを読み出す。 1110 reads the compressed data from the reception area 202a.

1120は、圧縮コマンドを解析する。 1120 parses the compression command.

1130は、圧縮コマンドがコピーコマンドか判定し、もしyesならば1135を実行し、もしnoならば1140を実行する。 The 1130 determines if the compression command is a copy command and executes 1135 if yes and 1140 if no.

1135は、圧縮データ内の部分命令列を一時ブロック310 B#7ヘ書込む。 1135 writes the partial instruction sequence in the compressed data to the temporary block 310 B # 7.

1140は、圧縮コマンドが追加コマンドか判定し、もしyesならば1145を実行し、もしnoならば1150を実行する。 1140 determines if the compression command is an additional command and executes 1145 if yes and 1150 if no.

1145は、追加コマンドに付属するデータを一時ブロック310 B#7ヘ追記し、1150を実行する。 The 1145 adds the data attached to the additional command to the temporary block 310 B # 7 and executes 1150.

1150は、圧縮データを全て読み出したか判定し、もしyesならば解凍復元処理504を終了し、もしnoならば1110へ分岐して、次の圧縮コマンドを圧縮データから読み出し、1110〜1050を繰返す。 1150 determines whether all the compressed data has been read, and if yes, terminates the decompression / restoration process 504. If no, branches to 1110, reads the next compression command from the compressed data, and repeats 1110-1050.

以上で、一時ブロックへ当該ブロックB#7の新プログラムを解凍復元できた。 With the above, the new program of the block B # 7 can be decompressed and restored to the temporary block.

100…プログラム書込み装置
101…プログラム書込み装置のマイコン
102…プログラム書込み装置のSRAM(揮発性メモリ)
103…プログラム書込み装置のFLASH(不揮発性メモリ)
104…プログラム書込み装置の各種IC
105…プログラム書込み装置の車内通信装置
106…プログラム書込み装置の車外通信装置
200…車載制御装置
201…車載制御装置のマイコン
202…車載制御装置のSRAM(揮発性メモリ)
202a…受信エリア
203…車載制御装置のFLASH(不揮発性メモリ)
204…車載制御装置の各種IC
205…車載制御装置の車内通信装置
210…FLASHのブート部
220…FLASHのアプリ部
230…アプリ先頭
240…全文更新ソフト先頭
250…ブート部からアプリ部への分岐
260…アプリ部からブート部への分岐
300…アプリ先頭ブロック
310…一時ブロック
400…既存車載制御装置の差分更新ソフト
500…復元回復ソフト
501…差分通信ソフト
502…復元ソフト
503…差分復元ソフト
504…解凍復元ソフト
505…書込みソフト
100 ... Program writing device 101 ... Microcomputer of program writing device 102 ... SRAM (volatile memory) of program writing device
103 ... FLASH (nonvolatile memory) of the program writing device
104 ... Various ICs of the program writing device
105 ... In-vehicle communication device 106 of the program writing device ... External communication device 200 of the program writing device ... In-vehicle control device 201 ... In-vehicle control device microcomputer 202 ... In-vehicle control device SRAM (volatile memory)
202a ... Reception area 203 ... FLASH (nonvolatile memory) of the in-vehicle control device
204 ... Various ICs for in-vehicle control devices
205 ... In-vehicle communication device 210 of the in-vehicle control device ... FLASH boot part 220 ... FLASH application part 230 ... App head 240 ... Full text update software head 250 ... Branch from boot part to app part 260 ... From app part to boot part Branch 300 ... App head block 310 ... Temporary block 400 ... Difference update software 500 for existing in-vehicle control device ... Restore recovery software 501 ... Difference communication software 502 ... Restore software 503 ... Difference restore software 504 ... Decompression / restore software 505 ... Writing software

Claims (12)

実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、
前記全文更新手段を起動して、差分復元手段と解凍復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、
前記復元プログラムを起動して、該復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムのブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな前記実行可能なプログラムを差分復元して、前記不揮発性メモリの第2の特定ブロックへ書込み、
該第2の特定ブロックのデータを前記ブロックへコピーすることを繰返して、前記第1の特定ブロックと前記第2の特定ブロックとは別の前記ブロックへ新たな前記実行可能なプログラムを書込み、前記第2の特定ブロックの新たな前記実行可能なプログラムの圧縮データを解凍復元して、該解凍復元したプログラムを前記第2の特定ブロックへ書込み、
前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新することを特徴とする車載制御装置。
In an in-vehicle control device equipped with a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means.
The full-text update means is activated, and a restoration program provided with the differential restoration means and the decompression restoration means is written to the first specific block of the non-volatile memory.
When the restoration program is started, the restoration program uses the difference data for each block of the executable program and the new executable program, and the execution program arranged in the non-volatile memory of the block. The new executable program is differentially restored and written to the second specific block of the non-volatile memory.
By repeating copying the data of the second specific block to the block, a new executable program is written in the block different from the first specific block and the second specific block. The compressed data of the new executable program in the second specific block is decompressed and restored, and the decompressed and restored program is written to the second specific block.
By activating the full-text update means and writing the new executable program of the first specific block into the first specific block, the executable program becomes a new executable program. An in-vehicle control device characterized by being updated.
前記第2の特定ブロックは、前記不揮発性メモリの最大サイズのブロックであることを特徴とする、請求項1記載の車載制御装置。 The vehicle-mounted control device according to claim 1, wherein the second specific block is a block having the maximum size of the non-volatile memory. 前記第2の特定ブロックは、前記不揮発性メモリの複数のブロックで構成したことを特徴とする請求項1の車載制御装置。 The vehicle-mounted control device according to claim 1, wherein the second specific block is composed of a plurality of blocks of the non-volatile memory. 実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、
前記全文更新手段を起動して、差分復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、
前記復元プログラムを起動して、該復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムのブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな前記実行可能なプログラムを差分復元して、前記揮発性メモリへ書込み、
前記揮発性メモリのデータを前記ブロックへコピーすることを繰返して、前記第1の特定ブロックとは別の前記ブロックへ新たな前記実行可能なプログラムを書込み、
前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新することを特徴とする車載制御装置。
In an in-vehicle control device equipped with a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means.
The full-text update means is activated, and a restoration program provided with the differential restoration means is written to the first specific block of the non-volatile memory.
When the restoration program is started, the restoration program uses the difference data for each block of the executable program and the new executable program, and the execution program arranged in the non-volatile memory of the block. The new executable program is differentially restored and written to the volatile memory.
By repeating copying the data in the volatile memory to the block, a new executable program is written in the block different from the first specific block.
By activating the full-text update means and writing the new executable program of the first specific block into the first specific block, the executable program becomes a new executable program. An in-vehicle control device characterized by being updated.
請求項1に記載の車制御装置において、
前記第1の特定ブロック及び前記第2の特定ブロックは前記不揮発メモリの同一面に配置されることを特徴とする車制御装置。
In car mounting control device according to claim 1,
It said first particular block and the second particular block car mounting control device, characterized in that disposed on the same surface of the non-volatile memory.
実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、
前記全文更新手段を起動して、差分復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、
前記復元プログラムを起動して、前記復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムの前記ブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな前記実行可能なプログラムを差分復元して、前記不揮発性メモリの第2の特定ブロックへ書込み、
前記第2の特定ブロックのデータを前記ブロックへコピーすることを繰返して、前記第1の特定ブロックと前記第2の特定ブロックとは別の前記ブロックへ新たな前記実行可能なプログラムを書込み、
前記第2の特定ブロックの新たな前記実行可能なプログラムを前記第2の特定ブロックへ書込み、
前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新することを特徴とする車載制御装置。
In an in-vehicle control device equipped with a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means.
The full-text update means is activated, and a restoration program provided with the differential restoration means is written to the first specific block of the non-volatile memory.
When the restoration program is started, the restoration program uses the difference data for each block of the executable program and the new executable program, and the execution program arranged in the non-volatile memory to block the block. The new executable program of the above is differentially restored and written to the second specific block of the non-volatile memory.
By repeating copying the data of the second specific block to the block, a new executable program is written in the block different from the first specific block and the second specific block.
Writing the new executable program of the second specific block to the second specific block,
By activating the full-text update means and writing the new executable program of the first specific block into the first specific block, the executable program becomes a new executable program. An in-vehicle control device characterized by being updated.
実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、
前記全文更新手段を起動して、差分復元手段と解凍復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、
前記復元プログラムを起動して、前記復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムの前記ブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな前記実行可能なプログラムを差分復元して、前記不揮発性メモリの第2の特定ブロックへ書込み、
前記第2の特定ブロックのデータを前記ブロックへコピーすることを繰返して、前記第1の特定ブロックと前記第2の特定ブロックとは別の前記ブロックへ新たな前記実行可能なプログラムを書込み、
前記第2の特定ブロックの新たな前記実行可能なプログラムの圧縮データを解凍復元して、解凍復元したプログラムを前記第2の特定ブロックへ書込み、
前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新することを特徴とする車載制御装置のプログラム更新ソフトウェア。
In an in-vehicle control device equipped with a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means.
The full-text update means is activated, and a restoration program provided with the differential restoration means and the decompression restoration means is written to the first specific block of the non-volatile memory.
When the restoration program is started, the restoration program uses the difference data for each block of the executable program and the new executable program, and the execution program arranged in the non-volatile memory to block the block. The new executable program of the above is differentially restored and written to the second specific block of the non-volatile memory.
By repeating copying the data of the second specific block to the block, a new executable program is written in the block different from the first specific block and the second specific block.
The compressed data of the new executable program of the second specific block is decompressed and restored, and the decompressed and restored program is written to the second specific block.
By activating the full-text update means and writing the new executable program of the first specific block into the first specific block, the executable program becomes a new executable program. Program update software for in-vehicle control devices, which is characterized by updating.
前記第2の特定ブロックは、前記不揮発性メモリの最大サイズのブロックであることを特徴とする、請求項7の車載制御装置のプログラム更新ソフトウェア。 The program update software for an in-vehicle control device according to claim 7, wherein the second specific block is a block having the maximum size of the non-volatile memory. 前記第2の特定ブロックは、前記不揮発性メモリの複数のブロックで構成したことを特徴とする、請求項7の車載制御装置のプログラム更新ソフトウェア。 The program update software for an in-vehicle control device according to claim 7, wherein the second specific block is composed of a plurality of blocks of the non-volatile memory. 実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、
前記全文更新手段を起動して、差分復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、
前記復元プログラムを起動して、前記復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムの前記ブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな前記実行可能なプログラムを差分復元して、前記揮発性メモリへ書込み、
前記揮発性メモリのデータを前記ブロックへコピーすることを繰返して、第1の特定ブロックを除くブロックへ新たな実行可能なプログラムを書込み、
前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新することを特徴とする車載制御装置のプログラム更新ソフトウェア。
In an in-vehicle control device equipped with a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means.
The full-text update means is activated, and a restoration program provided with the differential restoration means is written to the first specific block of the non-volatile memory.
When the restoration program is started, the restoration program uses the difference data for each block of the executable program and the new executable program, and the execution program arranged in the non-volatile memory to block the block. The new executable program is differentially restored and written to the volatile memory.
By repeating copying the data in the volatile memory to the block, a new executable program is written in the blocks other than the first specific block.
By activating the full-text update means and writing the new executable program of the first specific block into the first specific block, the executable program becomes a new executable program. Program update software for in-vehicle control devices, which is characterized by updating.
請求項7に記載の車載制御装置のプログラム更新ソフトウェアであって、
前記第1の特定ブロック及び前記第2の特定ブロックは前記不揮発メモリの同一面に配置されることを特徴とする車載制御装置のプログラム更新ソフトウェア。
The program update software for an in-vehicle control device according to claim 7.
It said first particular block及beauty said second particular block is mounted control device of a program update software being disposed on the same surface of the non-volatile memory.
実行可能なプログラムを配置した複数ブロックで構成された不揮発性メモリと揮発性メモリと全文更新手段とを備えた車載制御装置において、
前記全文更新手段を起動して、差分復元手段を備えた復元プログラムを前記不揮発性メモリの第1の特定ブロックへ書込み、
前記復元プログラムを起動して、前記復元プログラムは、前記実行可能なプログラムと新たな前記実行可能なプログラムの前記ブロック毎の差分データと、前記不揮発性メモリに配置された実行プログラムを用いて前記ブロックの新たな実行可能なプログラムを差分復元して、不揮発性メモリの第2の特定ブロックへ書込み、
前記第2の特定ブロックのデータを前記ブロックへコピーすることを繰返して、前記第1の特定ブロックと前記第2の特定ブロックとは別の前記ブロックへ新たな前記実行可能なプログラムを書込み、
前記第2の特定ブロックの新たな前記実行可能なプログラムを前記第2の特定ブロックへ書込み、
前記全文更新手段を起動して、前記第1の特定ブロックの新たな前記実行可能なプログラムを前記第1の特定ブロックへ書込むことにより、前記実行可能なプログラムを新たな前記実行可能なプログラムへ更新することを特徴とする車載制御装置のプログラム更新ソフトウェア。
In an in-vehicle control device equipped with a non-volatile memory composed of a plurality of blocks in which an executable program is arranged, a volatile memory, and a full-text update means.
The full-text update means is activated, and a restoration program provided with the differential restoration means is written to the first specific block of the non-volatile memory.
When the restoration program is started, the restoration program uses the difference data for each block of the executable program and the new executable program, and the execution program arranged in the non-volatile memory to block the block. The new executable program is differentially restored and written to the second specific block of the non-volatile memory.
By repeating copying the data of the second specific block to the block, a new executable program is written in the block different from the first specific block and the second specific block.
Writing the new executable program of the second specific block to the second specific block,
By activating the full-text update means and writing the new executable program of the first specific block into the first specific block, the executable program becomes a new executable program. Program update software for in-vehicle control devices, which is characterized by updating.
JP2017058396A 2017-03-24 2017-03-24 In-vehicle control device and program update software Active JP6782654B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017058396A JP6782654B2 (en) 2017-03-24 2017-03-24 In-vehicle control device and program update software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058396A JP6782654B2 (en) 2017-03-24 2017-03-24 In-vehicle control device and program update software

Publications (2)

Publication Number Publication Date
JP2018160206A JP2018160206A (en) 2018-10-11
JP6782654B2 true JP6782654B2 (en) 2020-11-11

Family

ID=63795602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058396A Active JP6782654B2 (en) 2017-03-24 2017-03-24 In-vehicle control device and program update software

Country Status (1)

Country Link
JP (1) JP6782654B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016121442A1 (en) * 2015-01-26 2016-08-04 日立オートモティブシステムズ株式会社 Vehicle-mounted control device, program writing device, program generating device and program

Also Published As

Publication number Publication date
JP2018160206A (en) 2018-10-11

Similar Documents

Publication Publication Date Title
EP3358465B1 (en) In-vehicle control device, program update system, and program update software
KR100584338B1 (en) Method and system for updating software
US9164756B2 (en) Software updating process for an embedded device
JP2914360B2 (en) External storage device and data processing method
JP3912355B2 (en) Data management device, data management method, nonvolatile memory, storage device having nonvolatile memory, and data processing system
EP2329366B1 (en) Performing a pre-update on a non volatile memory
JP2005196747A (en) Fail-safe method for applying custom software image update to nonvolatile storage
JP4480815B2 (en) Memory rewriting method and computer system
CN112424747A (en) Incremental files with reverse data
JP2018160207A (en) On-vehicle controller and program update software
JP6719020B2 (en) In-vehicle control device and program update software
JP2023168511A (en) Control device, method, program and vehicle
KR101601751B1 (en) Ecu of vehicle and boot software re-programming method thereof
JP6782654B2 (en) In-vehicle control device and program update software
JP6575157B2 (en) Firmware download method and firmware embedded device
JP3805195B2 (en) Program rewriting apparatus and program rewriting method
JP2018160208A (en) On-vehicle controller and program update software
JP2004192329A (en) Program rewriting method and terminal device
US10817213B2 (en) Data storage device and operating method for data storage device
JP6838714B2 (en) In-vehicle control device
JP2006133889A (en) Method for updating program, program and device
WO2020241473A1 (en) Computation processing device, vehicle control device, and update method
JP2007133602A (en) Information processing system and onboard equipment
JP2023075443A (en) On-vehicle electronic control device and data initialization method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201020

R150 Certificate of patent or registration of utility model

Ref document number: 6782654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350