JP2019175024A - In-vehicle control device - Google Patents
In-vehicle control device Download PDFInfo
- Publication number
- JP2019175024A JP2019175024A JP2018061090A JP2018061090A JP2019175024A JP 2019175024 A JP2019175024 A JP 2019175024A JP 2018061090 A JP2018061090 A JP 2018061090A JP 2018061090 A JP2018061090 A JP 2018061090A JP 2019175024 A JP2019175024 A JP 2019175024A
- Authority
- JP
- Japan
- Prior art keywords
- program
- difference
- difference data
- software
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013500 data storage Methods 0.000 claims description 40
- 230000006837 decompression Effects 0.000 description 50
- 238000004891 communication Methods 0.000 description 46
- 238000003745 diagnosis Methods 0.000 description 21
- 238000000034 method Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 11
- 230000006835 compression Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008672 reprogramming Effects 0.000 description 4
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、車載制御装置に関する。 The present invention relates to an in-vehicle control device.
従来から差分によるリプログラミングの考え方が提案されている。特許文献1の段落〔0019〕には、書き換え方式の1つとして、ブロック単位で新旧プログラムの差分データを作成することが記載されている。
Conventionally, the idea of reprogramming by difference has been proposed. Paragraph [0019] of
特許文献2では、段落〔0006〕に、少ないRAM使用量で差分更新を実現することが記載されている。
In
特許文献3では、現バージョンのプログラムを圧縮して第2メモリに記憶してから、第1メモリのプログラム更新を行い、次に診断異常があった場合、第2メモリの圧縮データを解凍して現バージョンのプログラムを第1メモリへ書込むことでマイコンを動作可能にすることが記載されている。
In
差分更新は、一般的には新プログラムと1つ前のバージョンから差分データを生成する。しかしながら、数百万台のリコールのケースを考えると全ての車両が1つ前のバージョンのプログラムが搭載されているとは考えにくい。運転者は所有車に異常を感じていない場合、リコールによるプログラム更新をしないケースやディーラーへ行くのが面倒などの理由で更新しないことがある。このため、差分更新には、複数バージョンとの差分データを用意する必要がある。このためバージョン管理が複雑になる。 In the differential update, generally, differential data is generated from the new program and the previous version. However, considering the case of millions of recalls, it is unlikely that all vehicles have the previous version of the program. If the driver does not feel any abnormality in the car, the driver may not update the program due to the case where the program is not updated due to the recall or the trouble of going to the dealer. For this reason, it is necessary to prepare difference data with a plurality of versions for the difference update. This complicates version management.
上記課題を解決するために本発明は、異なるバージョンの実行プログラムで動作している車載制御装置でも、同一の差分データで新たな実行プログラムへ更新することを目的とする。 In order to solve the above-described problems, an object of the present invention is to update a new execution program with the same difference data even in an in-vehicle control device that is operating with an execution program of a different version.
上記課題を解決するために、本発明は、書き換え可能な実行用プログラムと特定プログラムを配置した不揮発性メモリを備え、新たな前記実行用プログラムと前記特定プログラムとの差分データと、前記不揮発性メモリの前記特定プログラムから、新たな前記実行用プログラムを復元して前記不揮発性メモリへ書き込むことにより前記実行用プログラムを更新する。 In order to solve the above-mentioned problems, the present invention comprises a non-volatile memory in which a rewritable execution program and a specific program are arranged, a difference data between the new execution program and the specific program, and the non-volatile memory The execution program is updated by restoring the new execution program from the specific program and writing it into the nonvolatile memory.
本発明によれば、異なるバージョンの実行プログラムで動作している車載制御装置でも、同一の差分データで新たな実行プログラムへ更新できる。 According to the present invention, even an in-vehicle control device operating with different versions of an execution program can be updated to a new execution program with the same difference data.
車載制御装置のリプログラミングは、低速なCAN(Controller Area Network)を介して書込みツールとしてのPC(Personal Computer)または車載書込み装置と、車載制御装置(ECU:Electric Control Unit)を接続し、バイナリーデータ(新プログラム)全体を分割転送しながらECUのフラッシュメモリへ書込みを行っている。 Reprogramming the in-vehicle control device connects binary data by connecting a PC (Personal Computer) or in-vehicle writing device as a writing tool to the in-vehicle control device (ECU: Electric Control Unit) via a low-speed CAN (Controller Area Network). (New program) Writing to the flash memory of the ECU while dividing and transferring the entire program.
このため、旧プログラムに対する新プログラムの更新部分が小さい場合においても、新プログラム全体をCAN経由で転送し、新プログラム全体の書込みを行っている。 For this reason, even when the update part of the new program with respect to the old program is small, the whole new program is transferred via CAN and the whole new program is written.
従って、書込みに要する時間がかかるという問題があった。 Therefore, there is a problem that it takes time to write.
特許文献1から3のリプログラミングでは、いくつかの課題がある。
The reprogramming of
第1の課題として、差分更新は、一般的には新プログラムと1つ前のバージョンから差分データを生成する。しかしながら、数百万台のリコールのケースを考えると全ての車両が1つ前のバージョンのプログラムが搭載されているとは考えにくい。運転者は所有車に異常を感じていない場合、リコールによるプログラム更新をしないケースやディーラーへ行くのが面倒などの理由で更新しないことがある。このため、差分更新には、複数バージョンとの差分データを用意する必要がある。このためバージョン管理が複雑になる。このバージョン管理の複雑さを簡素化する手段を提供することが第1の課題である。 As a first problem, the difference update generally generates difference data from the new program and the previous version. However, considering the case of millions of recalls, it is unlikely that all vehicles have the previous version of the program. If the driver does not feel any abnormality in the car, the driver may not update the program due to the case where the program is not updated due to the recall or the trouble of going to the dealer. For this reason, it is necessary to prepare difference data with a plurality of versions for the difference update. This complicates version management. The first problem is to provide means for simplifying the complexity of version management.
第2の課題は、もし差分更新後の診断結果が異常であった場合、例えば不揮発性メモリFLASHには既に旧プログラムが存在しないので、差分によるリプログラミングが不可能になってしまうという点である。 The second problem is that if the diagnosis result after the difference update is abnormal, for example, since the old program does not already exist in the nonvolatile memory FLASH, reprogramming by the difference becomes impossible. .
車載制御装置は、数メガバイトの不揮発性メモリFLASHと1メガバイト以下の小さな揮発性メモリSRAMで構成した記憶装置で構成されることが多い。これはマイコンに内蔵されているメモリだけで制御を実現することで安価な車載制御装置を実現するためである。このため不揮発性メモリFLASHに記憶されている旧プログラムと差分データを入力として、差分復元ソフトにより新プログラムを差分復元し、新プログラムを不揮発性メモリFLASHへ書込むことでソフトウェア更新を実現する。しかしながら、復元した新プログラムが正しく復元できたか診断する必要がある。例えば、新プログラム全体のサム値やハッシュ値などを前記書込みツールや車載書込み装置から受信し、車載制御装置自身が復元した新プログラムのサム値やハッシュ値を計算して、受信した値と一致するかチェックすることで診断が可能となる。 In-vehicle control devices are often composed of a storage device composed of a non-volatile memory FLASH of several megabytes and a small volatile memory SRAM of 1 megabyte or less. This is to realize an inexpensive in-vehicle control device by realizing the control only with the memory built in the microcomputer. Therefore, the old program stored in the nonvolatile memory FLASH and the difference data are input, the new program is differentially restored by the differential restoration software, and the software update is realized by writing the new program into the nonvolatile memory FLASH. However, it is necessary to diagnose whether the restored new program has been restored correctly. For example, the sum value or hash value of the entire new program is received from the writing tool or in-vehicle writing device, and the sum value or hash value of the new program restored by the in-vehicle control device itself is calculated and matches the received value. Diagnosis is possible by checking this.
特許文献3では、現バージョンのプログラムを第2メモリに圧縮して格納する必要があるため、車載制御装置は圧縮手段を必要とすることが記載されている。しかし一般的に、圧縮処理は複雑で処理時間も長く、使用するメモリも非常に多い。このため車載制御装置への搭載は困難である。
最初に、第1の課題を解決する構成の概念を図3A、図3B、図4A、図4B、図4Cを用いて説明する。 First, the concept of the configuration for solving the first problem will be described with reference to FIGS. 3A, 3B, 4A, 4B, and 4C.
図3Aは、パソコンに搭載されている圧縮ソフト310と差分生成ソフト340を用いて、新プログラムの差分データを生成する処理フローである。
FIG. 3A is a processing flow for generating difference data of a new program using
まず、(a)パソコンの圧縮ソフトで特定プログラムを圧縮するフローチャートで示すように、特定プログラム300を圧縮して圧縮データ320を生成する。ここで特定プログラムとは、特に限定する必要は無いが、理解しやすくするために、車載制御装置を工場から初出荷する時に搭載するプログラムと想定する。
First, as shown in the flowchart of (a) compressing a specific program with compression software of a personal computer, the
次に(b)パソコンの差分生成ソフトで特定プログラムと新プログラムから差分データを生成するフローチャートに示すように、特定プログラム300と新プログラム330を差分生成ソフト340へ入力して差分データ350を生成する。
Next, (b) the
ここで、車載制御装置のプログラム更新の概念を図3Bを用いて説明する。 Here, the concept of the program update of the in-vehicle control device will be described with reference to FIG. 3B.
前提として、全ての車載制御装置には、工場出荷時に圧縮データ320が不揮発性メモリへ書込んであるものとする。
As a premise, it is assumed that the
車載制御装置のプログラム更新を差分データ350を用いて実行する動作を説明する。まず、車載書込み装置は、車両走行中に、差分データ350を車載制御装置へ送信する。車載制御装置は、差分データ350を自装置内の不揮発性メモリへ保存する。
An operation of executing the program update of the in-vehicle control device using the
次に、(c)車載制御装置の解凍ソフトで圧縮データから特定プログラムを復元するフローチャートと、(d)車載制御装置の差分復元ソフトで特定プログラムと差分データから新プログラムを復元するフローチャートを用いて説明する。 Next, (c) using a flowchart for restoring the specific program from the compressed data by the decompression software of the in-vehicle control device, and (d) using a flowchart for restoring the new program from the specific program and the difference data by the difference restoration software of the in-vehicle control device explain.
まず、最初に解凍ソフト360が圧縮データ320から特定プログラム300を復元する。
First, the
次に、差分復元ソフト370が特定プログラム300と差分データ350から新プログラム330を復元する。ここで差分データ350とは図3A(b)からわかるように、特定プログラム300と新プログラム330から生成されたものである。このため、車載制御装置は特定プログラム300さえあれば、差分データ350を用いて新プログラム330を復元できることがわかる。
Next, the
このように本実施例は、車載制御装置の現バージョンのプログラムとの差分データを用いて差分更新するのではなく、全ての車載制御装置に搭載した特定のプログラムとの差分データを用いて差分更新する。 Thus, the present embodiment does not update the difference using the difference data with the current version program of the in-vehicle control device, but uses the difference data with the specific program installed in all the in-vehicle control devices. To do.
また、本実施例では車載制御装置に圧縮データの形態で特定プログラムを保持しているが、不揮発性メモリ容量が十分にあれば、特定プログラムそのままの形態で保持しても良い。 In this embodiment, the specific program is held in the form of compressed data in the in-vehicle control device. However, if the nonvolatile memory capacity is sufficient, the specific program may be held as it is.
次に第2の課題を解決する構成を説明する。 Next, a configuration for solving the second problem will be described.
まず復元した新プログラム330を車載制御装置の不揮発性メモリへ書込み、現バージョンのプログラム(実行用プログラム331)を新プログラム330ヘ更新する。次に新プログラム330のサム値やハッシュ値などの計算を行い、新プログラム330の診断を行う。ここで診断結果に異常がなければ、車載制御装置は新プログラム330を用いて制御可能である。しかし、診断異常があった場合、前述したように差分更新によって現バージョンのプログラム(実行用プログラム331)へ戻すことはできない。そこで、本実施例では、差分データの格納エリアを最新の差分データ格納エリアと前回の差分データ格納エリアの2面用意し、差分データを格納しておく。この結果、診断異常があった場合は前回の差分データと特定のプログラムを用いて、現バージョンのプログラムを復元することができる。このように、特定プログラムとの差分データを最新版と前回版の2つを保持しておくことがポイントである。
First, the restored
以上のように本実施例は、第1の課題を解決するために、車載制御装置内の現バージョンプログラムでは無く、特定のプログラム(例えば、初出荷時のプログラム)と新プログラムを用いて差分データを生成している。すなわち、異なるバージョンのプログラムで動作している車載制御装置であっても、本実施例の差分データだけで、全ての車載制御装置を差分更新できるようになる。このように本実施例により、複数のバージョンのプログラムとの差分データを管理しなくて済むので、プログラムのバージョン管理を簡素化できる。 As described above, in order to solve the first problem, the present embodiment uses a specific program (for example, a program at the time of initial shipment) and a new program instead of the current version program in the in-vehicle control device. Is generated. That is, even if the vehicle-mounted control device is operating with a different version of the program, all the vehicle-mounted control devices can be differentially updated with only the difference data of this embodiment. As described above, according to the present embodiment, it is not necessary to manage the difference data with a plurality of versions of the program, so that the version management of the program can be simplified.
第2の課題を解決するために、診断の結果、異常があった場合でも、前回版の差分データと特定のプログラムから現バージョンのプログラムを復元できる。この結果、車載制御装置を動作可能にできる。 In order to solve the second problem, even if there is an abnormality as a result of diagnosis, the current version of the program can be restored from the previous version of the difference data and the specific program. As a result, the in-vehicle control device can be operated.
以下、図面を用いて実施例の詳細を説明する。まず、図1を用いて車載制御装置を含む車両の構成及び動作を説明する。 Details of the embodiments will be described below with reference to the drawings. First, the configuration and operation of a vehicle including an in-vehicle control device will be described with reference to FIG.
車両は、車載書き込み装置100(ゲートウェイ)、複数の車載制御装置200(2001〜200n)を備える。車載書き込み装置100と車載制御装置200は、相互に車載ネットワークCANを介して通信する。
The vehicle includes an in-vehicle writing device 100 (gateway) and a plurality of in-vehicle control devices 200 (200 1 to 200 n ). The in-
車載制御装置200は、マイコン201、車載制御装置200毎の用途に応じた各種のIC(Integrated Circuit)204、CANトランシーバなどの通信装置205を備える。マイコン201は、SRAM202(揮発性メモリ)、FLASHメモリ203(不揮発性メモリ)を内蔵する。
The in-
なお、車載書き込み装置100の構成も車載制御装置200の構成と基本的に同じであるが、車両の外部のネットワークのプロトコルに応じた通信装置をさらに備える。すなわち、車載書き込み装置100は、マイコン101、各種のIC104、CANトランシーバなどの通信装置105、車両の外部のネットワークのプロトコルに応じた通信装置106を備える。マイコン101は、SRAM102(揮発性メモリ)、FLASHメモリ103(不揮発性メモリ)を内蔵する。
The configuration of the in-
次に、図2を用いて、車載制御装置200のSRAM202の構成を説明する。図2は、図1に示すSRAM202の内部の構成を示す模式図である。
Next, the configuration of the
SRAM202は、車載書込み装置100から送信された差分データを一時的に記憶するための受信エリア202a、車載制御装置200のFLASHメモリ203に予め内蔵された圧縮データを解凍して復元した特定のプログラムを一時的に記憶するための解凍エリア202c、差分データと特定のプログラムを用いて差分復元した新プログラムを一時的に記憶するための復元エリア202bを備える。
The
次に、図4Aを用いて、FLASHメモリ203の構成を説明する。図4Aは、図1に示すFLASHメモリ203の内部の構成を示す模式図である。FLASHメモリ203は、複数のサイズのブロックB#n (n=1〜B)とリプロソフト400から構成される。ここで現バージョンのプログラムのバイナリーデータ(旧プログラムのバイナリーデータ)を格納する第1不揮発性メモリ410は、ブロックB#n (n=1〜7)のエリアである。また、本実施例の特定プログラムの圧縮データを格納する第2不揮発性メモリ420は、ブロックB#n (n=8〜B)のエリアである。さらに車載書込み装置100から受信した差分データを格納するための差分データ格納エリア430は、B#n (n=C, D)のエリアである。
Next, the configuration of the
ここで、ブロックB#nとは、消去可能な最小サイズである。例えば、ブロックB#nにデータを書き込む場合、ブロックB#n全体を消去してからデータを書き込む必要がある。
さらにFLASHメモリ203の先頭のブロックには、差分更新を実行するリプロソフト400が搭載されている。また、FLASHメモリ203を複数のサイズのブロックB#n (n=1〜B)で構成しているが、ブロック数は本発明を制約するものではない。
Here, the block B # n is the minimum erasable size. For example, when data is written to the block B # n, it is necessary to erase the entire block B # n before writing the data.
Further,
図4Bは、FLASH203をマイコン内蔵FLASH 203aと外付けFLASH 203bに分割した構成例である。内蔵FLASH 203aはリプロソフト400と第1不揮発性メモリ410で構成し、外付けFLASH 203bは第2不揮発性メモリ420(特定プログラムの圧縮データ)と差分データ格納エリア430で構成している。差分更新に必要なデータを外付けFLASH 203bに配置した構成である。
FIG. 4B shows a configuration example in which the
図4Cは、図4Bの外付けFLASH 203bの差分データ格納エリア430を第1差分データ格納エリア430a (最新の差分データ)と第2差分データ格納エリア403b (前回の差分データ)の2つのエリアで構成した構成図である。前回の差分データは、診断異常時に使用する。
4C shows the difference data storage area 430 of the
次に実施例の全体構成を示す図5を用いて、リプロソフト400の動作を説明する。
Next, the operation of the
リプロソフト400には、一定周期で動作する通信ソフト500がある。差分データ受信ソフト510は、通信ソフト500から起動される。差分データ受信ソフト510は車載書込み装置100から受信した差分データをSRAM202の受信エリア202aに一時的に記憶し、さらに受信エリア202aの内容を第1差分データ格納エリア430aへ格納する手段である。次に通信ソフト500は差分復元ソフト520を起動する。差分復元ソフト520は、解凍ソフト540と第1差分復元ソフト550を起動する。解凍ソフト540は第2不揮発性メモリ420の圧縮データを解凍して特定プログラムを解凍エリア202cへ格納する。第1差分復元ソフト550は第1差分データ格納エリア430aの最新の差分データと解凍エリア202cの特定プログラムを入力として、差分更新を実行し、復元した新プログラムを復元エリア202bへ格納する。
The
次に第1不揮発性メモリ410のブロックB#n (n=1〜7)を消去して現バージョンのプログラム(旧プログラム、実行用プログラム331)を削除し、復元エリア202bの新プログラムを第1不揮発性メモリ410へ書込む。これで新プログラムが第1不揮発性メモリ410へ格納できたことになる。次に通信ソフト500は診断ソフトを起動させて、新プログラムが正しく復元され、かつ正しく書き込めたか診断を行う。もし診断結果が正常であれば、リプロソフト400によるソフトウェア更新は終了となる。一方、診断結果が異常であれば、解凍ソフト540を起動して、第2不揮発性メモリ420の圧縮データを解凍して特定プログラムをSRAM202の解凍エリア202cへ格納する。
Next, the block B # n (n = 1-7) in the first nonvolatile memory 410 is erased to delete the current version of the program (old program, execution program 331), and the new program in the
次に第2差分復元ソフト560は第2差分データ格納エリア430bの前回の差分データと解凍エリア202cの特定プログラムを入力として、差分更新を実行し、復元した旧プログラム(現バージョンのプログラム、実行用プログラム331)を復元エリア202bへ格納する。
Next, the second difference restoration software 560 executes the difference update with the previous difference data in the second difference data storage area 430b and the specific program in the
次に第1不揮発性メモリ302のブロックB#n (n=1〜7)を消去することにより不正な新プログラムを削除し、復元エリア202bの旧プログラムを第1不揮発性メモリ302へ書込む。これで旧プログラムが第1不揮発性メモリ302へ格納できたことになる。
Next, the block B # n (n = 1 to 7) in the first nonvolatile memory 302 is erased to delete an illegal new program, and the old program in the
このように、差分復元に失敗した場合でも、特定プログラムの圧縮データと前回の差分データを用いて、解凍ソフト540と第2差分復元ソフト560を組み合わせて動作させることにより、旧プログラムを車載制御装置へ書込むことができた。 In this way, even when the difference restoration fails, the old program is made to operate by combining the decompression software 540 and the second difference restoration software 560 using the compressed data of the specific program and the previous difference data, and operating the old program. I was able to write to.
以下、具体的な通信コマンドの種類、プログラム書込み装置100が通信コマンドを使って車載制御装置へ差分データを送信する送信処理、車載制御装置の差分データ受信処理、プログラム書込み装置100の差分復元実行通信コマンドと診断実行通信コマンド送信処理、車載制御装置の差分復元実行通信コマンドと診断実行通信コマンド受信処理のフローチャートを図6〜図10Bを用いて説明し、次に解凍処理のコマンド、解凍ソフトの処理、差分処理のコマンド、第1差分復元ソフトの処理、診断ソフトの処理、第2差分復元ソフトの処理の詳細な説明を図10A〜図15を用いて説明する。
Hereinafter, specific types of communication commands, transmission processing in which the
図6は、車載書込み装置100から車載制御装置200へ送信される通信コマンドである。この通信コマンドを用いて差分データを車載制御装置200へ送信する。
FIG. 6 shows communication commands transmitted from the in-
通信コマンド$10 600は車載制御装置200へ差分データの送信開始を通知するコマンドである。車載制御装置200はこのコマンドを受信することで、受信エリア202aへ差分データを格納することができる。
The communication command $ 10 600 is a command for notifying the in-
通信コマンド$20 610は、第1差分データ格納エリア430aを指定するコマンドである。付属するMAは第1差分データ格納エリア430aの先頭アドレス、MSは第1差分データ格納エリア430aのサイズである。 The communication command $ 20 610 is a command for designating the first differential data storage area 430a. The attached MA is the head address of the first differential data storage area 430a, and MS is the size of the first differential data storage area 430a.
通信コマンド$30 620は、差分データDATAを付属したコマンドである。 The communication command $ 30 620 is a command attached with difference data DATA.
通信コマンド$40 630は、差分データ送信終了を示すコマンドである。 The communication command $ 40 630 is a command indicating the end of difference data transmission.
以上の通信コマンドを用いて、プログラム書込み装置100から車載制御装置200へ差分データを送信し、車載制御装置200は差分データを第1差分格納エリア430aへ格納する。
Using the above communication command, the difference data is transmitted from the
通信コマンド$50 640は、差分復元実行コマンドである。差分データを第1差分格納エリア430aへ格納した後に、プログラム書込み装置100から車載制御装置200へ送信される通信コマンドである。車載制御装置200は本通信コマンドを受信すると解凍ソフトと第1差分復元ソフトを起動して第1不揮発性メモリ410へ新プログラムを生成する。
The communication command $ 50 640 is a differential restoration execution command. The communication command is transmitted from the
通信コマンド$60 650は、診断コマンドである。付属するMAは第1不揮発性メモリ410の先頭アドレス、MSはそのサイズである。車載制御装置200は、指定された先頭アドレスMAから、サイズMSのエリアのサム値を計算し、第1不揮発性メモリ410内新プログラムの所定のアドレスに格納されているサム値と一致することを診断する。もし一致すれば診断正常と判断してリプロ正常終了となる。一方、不一致の場合は診断異常と判断して解凍ソフトと第2差分復元ソフトを起動し、特定のプログラムと第2差分データ格納エリア430bの前回の差分データを用いて旧プログラムを復元し、第1不揮発性メモリ410へ書込むことで車載制御装置200を動作可能にする。
Communication command $ 60 650 is a diagnostic command. The attached MA is the head address of the first non-volatile memory 410, and MS is its size. The in-
図7は、プログラム書込み装置100が、車載制御装置200へ通信コマンドを用いて差分データをブロック単位に送信するフローチャートである。
FIG. 7 is a flowchart in which the
700で通信コマンド 差分データ送信開始$10を送信する。 At 700, a communication command difference data transmission start $ 10 is transmitted.
710で通信コマンド 第1差分データ格納エリア430aを指定し、$20を送信する。 At 710, the communication command first differential data storage area 430a is designated and $ 20 is transmitted.
720で通信コマンド 差分データDATA $30を送信する。 At 720, the communication command difference data DATA $ 30 is transmitted.
730で通信コマンド 差分データ送信終了 $40を送信する。 At 730, a communication command difference data transmission end $ 40 is transmitted.
740は、全てのブロックの差分データを送信完了したか判定する。もし判定結果がnoならば710へ戻って次のブロックの差分データを710〜740を繰返すことで送信する。
In
一方、もし判定結果がyesならば差分データ送信終了である。 On the other hand, if the determination result is yes, transmission of difference data is complete.
以上で、プログラム書込み装置100は全てのブロックの差分データを車載制御装置200へ送信したことになる。
Thus, the
図8は、車載制御装置200の差分データ受信ソフト510の動作を示している。
FIG. 8 shows the operation of the difference data reception software 510 of the in-
800は、車載書込み装置100から通信コマンドAを受信する処理である。
810は、受信した通信コマンドAが$10か判定し、もしyesなら815を実行して受信エリア202aを初期化する。一方、もしnoならば820を実行する。
In
815は、受信エリア202aと、復元エリア202bを初期化して差分更新の準備をする。
In
820は、コマンドAが$20か判定し、もしyesなら825を実行して第1差分データ格納エリア430aの先頭アドレスMAと、そのサイズMSを記憶する。一方、もしnoならば830を実行する。 820 determines whether the command A is $ 20, and if yes, executes 825 to store the start address MA of the first differential data storage area 430a and its size MS. On the other hand, if no, 830 is executed.
830は、コマンドAが$30か判定し、もしyesなら835を実行してコマンドに付属する差分データDATAをMAで指示された第1差分データ格納エリア430aへ追加格納する。一方、もしnoならば840を実行する。 830 determines whether the command A is $ 30, and if yes, executes 835 to additionally store the difference data DATA attached to the command in the first difference data storage area 430a designated by MA. On the other hand, if no, 840 is executed.
840は、コマンドAが$40か判定し、もしyesなら845を実行してブロックの差分データの受信完了であり、一方、もしnoならば850を実行する。
In
850は、全てのブロックの差分データを受信したか判定し、もしyesならば終了である。一方、もしnoならば820へ戻り、次のブロックの差分データを受信する処理を繰り返す。
In
以上で、差分データを第1差分データ格納エリア430aに格納できる。 Thus, the difference data can be stored in the first difference data storage area 430a.
図9は、プログラム書込み装置100から車載制御装置200へ通信コマンドを用いて差分復元実行と診断を指示するフローチャートである。
900は、通信コマンド$10による通信コマンド送信開始通知である。
910は、通信コマンド$50による差分復元実行通知である。
920は、通信コマンド$60による診断実行通知である。
FIG. 9 is a flowchart for instructing execution and diagnosis of difference restoration from the
900 is a communication command transmission start notification by the communication command $ 10.
920 is a diagnosis execution notification by the communication command $ 60.
図10Aは、図9の910の差分復元実行コマンド受信によって起動される差分復元ソフト520のフローである。
FIG. 10A is a flow of the differential restoration software 520 activated by receiving the differential
1000は、解凍ソフト540を実行して第2不揮発性メモリ420の圧縮データを解凍して特定のプログラムを解凍エリア202cへ復元する処理である。
1000 is processing for executing decompression software 540 to decompress the compressed data in the second nonvolatile memory 420 and restoring a specific program to the
1100は、第1差分復元ソフト550を実行して第1差分データ格納エリア430aの差分データと解凍エリア202cの特定のプログラムから新プログラムを生成して復元エリア202bへ格納する。さらに復元エリア202bの新プログラムを第1不揮発性メモリ410へ書込む処理である。
The 1100 executes the first difference restoration software 550 to generate a new program from the difference data in the first difference data storage area 430a and a specific program in the
以上で、旧プログラムを新プログラムへ更新できる。 Thus, the old program can be updated to the new program.
図10Bは、解凍ソフト540が用いる解凍コマンドである。 FIG. 10B shows a decompression command used by the decompression software 540.
解凍ソフトを説明する前に、まず圧縮ソフトの概要について説明する。圧縮ソフトは、圧縮処理において、プログラム中の部分命令列と同一の部分命令列をプログラムの他の部分に存在するか検索して見つけ出し、その部分命令列を短い符号に置き換える。同一の部分命令列が数多く存在すれば、短い符号に数多く置き換えられるので、より圧縮できることになる。このため圧縮ソフトは、プログラムを検索して同一の部分命令列が見つからない場合には、1000Aの解凍追加コマンドnewにその部分命令列DATAを付属させる。一方、同一の部分命令列が見つかった場合は、1010Aの解凍コピーコマンドcopyのように符号化する。プログラムのアドレスMAとサイズMSのペアで部分命令列を表現する。圧縮データとは、このように、解凍追加コマンドnewと解凍コピーコマンドcopyの列で構成されている。 Before explaining the decompression software, the outline of the compression software will be explained first. In the compression process, the compression software searches for a partial instruction sequence that is the same as the partial instruction sequence in the program in another part of the program and finds it, and replaces the partial instruction sequence with a short code. If there are many identical partial instruction sequences, they can be compressed more because they are replaced with short codes. For this reason, the compression software searches the program and, if the same partial instruction sequence is not found, attaches the partial instruction sequence DATA to the decompression addition command new of 1000A. On the other hand, if the same partial instruction sequence is found, it is encoded as a decompression copy command copy of 1010A. A partial instruction sequence is expressed by a pair of program address MA and size MS. Thus, the compressed data is composed of a sequence of a decompression addition command new and a decompression copy command copy.
以上の準備を踏まえて、解凍ソフト540の動作を説明する。 Based on the above preparation, the operation of the decompression software 540 will be described.
図11は、解凍ソフト540の動作を示すフローチャートである。 FIG. 11 is a flowchart showing the operation of the decompression software 540.
1100は第2不揮発性メモリ420の圧縮データを読み出す。 1100 reads the compressed data in the second nonvolatile memory 420.
1110は読み出した圧縮コマンドを解析する。 1110 analyzes the read compression command.
1120はコマンドが解凍追加コマンドnewか判定し、もしyesならば1125を実行して解凍追加コマンドnewに付属するデータDATAを解凍エリア202cへ追記する。一方、noならば1130を実行する。
1120 determines whether the command is a decompression addition command new. If yes, 1125 is executed to add the data DATA attached to the decompression addition command new to the
1130はコマンドが解凍コピーコマンドcopyか判定し、もしyesならば1135を実行して解凍コピーコマンドcopyに付属するMAとMSを用いて解凍エリア202c内のアドレスMAからサイズMSの部分命令列を解凍エリア202cへ追記する。一方、noならば1140を実行する。
1130 determines whether the command is the decompression copy command copy. If yes, execute 1135 and decompress the partial instruction sequence of size MS from the address MA in the
1140は全ての差分データを第2不揮発性メモリ420から読み出し終えたか判定し、もしyesならば終了である。すなわち特定のプログラムが解凍エリア202cに復元できたことになる。一方、noならば1100へ戻り、第2不揮発性メモリ420から圧縮データを読み出し、処理を繰り返し実行する。
1140 determines whether all the differential data has been read from the second non-volatile memory 420, and if yes, the process ends. That is, the specific program can be restored to the
次に、図12を用いて、第1差分復元ソフト550と第2差分復元ソフト560が用いる差分コマンドを説明する。 Next, difference commands used by the first difference restoration software 550 and the second difference restoration software 560 will be described with reference to FIG.
差分復元ソフトを説明する前に、まず差分生成ソフトの概要について説明する。差分生成ソフトは、差分生成処理において、新プログラム330の部分命令列が旧プログラム331に存在するか検索して見つけ出し、その部分命令列を短い符号に置き換える。新プログラムと旧プログラム331が類似していれば同一の部分命令列が数多く存在することになり、短い符号に数多く置き換えることができる。このため差分生成ソフトは、旧プログラム331を検索して同一の部分命令列が見つからない場合には、1200の差分追加コマンドnewにその部分命令列DATAを付属させる。一方、同一の部分命令列が旧プログラム331中に見つかった場合は、1210の差分コピーコマンドcopyのように符号化する。旧プログラムのアドレスMAとサイズMSのペアで部分命令列を表現する。差分データとは、このように、差分追加コマンドnewと差分コピーコマンドcopyの列で構成されている。
Before describing the difference restoration software, first, an outline of the difference generation software will be described. In the difference generation process, the difference generation software searches to find out whether the partial instruction sequence of the
以上の準備を踏まえて、第1差分復元ソフト550の動作を説明する。 Based on the above preparation, the operation of the first difference restoration software 550 will be described.
1300は、第1差分データ格納エリア430aの差分データから差分コマンドを読み出す。 1300 reads a difference command from the difference data in the first difference data storage area 430a.
1310は、差分コマンドを解析し、1320で差分コマンドが差分追加コマンドnewか判定し、もしyesなら1325を実行し、一方、もしnoならば1330を実行する。 1310 analyzes the difference command and determines in 1320 whether the difference command is a difference addition command new. If yes, 1325 is executed, and if no, 1330 is executed.
1325は、差分追加コマンドnewに付属する部分命令列DATAを復元エリア202bへ書込む。
1325 writes the partial instruction string DATA attached to the difference addition command new to the
1330は、差分コマンドが差分コピーコマンドcopyか判定し、もしyesなら1335を実行し、一方、もしnoならば1340を実行する。 1330 determines whether the differential command is the differential copy command copy. If yes, execute 1335, and if no, execute 1340.
1335は、差分コピーコマンドcopyに付属するMAとMSを用いて、旧プログラムのアドレスMAからサイズMSの部分命令列を復元エリア202bへ追加書き込む。
1335 additionally writes a partial instruction sequence of size MS from the address MA of the old program to the
1340は、第1差分データ格納エリア430aから差分データを全て読み出したか判定し、もしyesならば1350を実行する。一方、もしnoならば1300へ戻って処理を繰返す。 1340 determines whether all the differential data has been read from the first differential data storage area 430a. If yes, 1350 is executed. On the other hand, if no, return to 1300 and repeat the process.
1350は、復元エリア202bに生成された新プログラムを第1不揮発性メモリ410へ書込む。
In 1350, the new program generated in the
以上で、差分復元した新プログラムを第1不揮発性メモリ410に格納できたことになる。 As described above, the newly restored differential program can be stored in the first nonvolatile memory 410.
図14は、診断ソフト530のフローチャートである。 FIG. 14 is a flowchart of the diagnostic software 530.
前提として、新プログラムの定められたアドレスに新プログラム自身のサム値4バイトが存在しているものとする。診断は、このサム値を利用して行う。 As a premise, it is assumed that 4 bytes of the new program's own sum value exists at an address determined by the new program. Diagnosis is performed using this sum value.
1400は、第1不揮発性メモリ410の新プログラム中に存在するサム値を読み出して変数SUMへ設定している。 1400 reads the sum value existing in the new program of the first nonvolatile memory 410 and sets it in the variable SUM.
1410は、第1不揮発性メモリ410の先頭アドレスMAからサイズMSまでのエリアのデータ(第1不揮発性メモリ410の新プログラム)を4バイト単位に加算した値を変数Sへ設定する。 1410 sets a variable S to a value obtained by adding the data in the area from the start address MA to the size MS of the first nonvolatile memory 410 (new program of the first nonvolatile memory 410) in units of 4 bytes.
1420は、変数SUMと変数Sの一致判定を行い、もしyesなら1425を実行し、一方、もしnoならば1430を実行する。 1420 performs a match determination between the variable SUM and the variable S, and if yes, execute 1425, and if no, execute 1430.
1425は、診断結果が正常なのでプログラム更新は、正常終了となる。 In 1425, since the diagnosis result is normal, the program update ends normally.
1430は、診断結果が異常なので、旧プログラムを復元することを目的に、まず解凍ソフト540を実行して特定のプログラムを解凍エリア202cへ生成する。
In 1430, since the diagnosis result is abnormal, the decompression software 540 is first executed to generate a specific program in the
1440は、第2差分復元ソフト560を起動して、第2差分データ格納エリア430bの前回の差分データと解凍エリア202cの特定のプログラムから旧プログラムを復元する。
1440 activates the second difference restoration software 560 to restore the old program from the previous difference data in the second difference data storage area 430b and the specific program in the
ここで、第1差分データ格納エリア430aと第2差分データ格納エリア430bの関係は、常に最新の差分データ格納エリアを第1差分データ格納エリアと呼び、前回の差分データを格納しているエリアを第2差分データ格納エリアと呼んでいる。また、前回の差分データと特定のプログラムから生成したプログラムは、明らかに、旧プログラムである。 Here, regarding the relationship between the first difference data storage area 430a and the second difference data storage area 430b, the latest difference data storage area is always referred to as the first difference data storage area, and the area in which the previous difference data is stored. This is called a second differential data storage area. The program generated from the previous difference data and the specific program is obviously an old program.
解凍ソフト540の処理内容は、既に図11のフローチャートで詳しく説明したので、省略する。 The processing content of the decompression software 540 has already been described in detail with reference to the flowchart of FIG.
最後に、図15を用いて第2差分復元ソフト560のフローチャートを説明する。 Finally, a flowchart of the second difference restoration software 560 will be described with reference to FIG.
1500は、第2差分データ格納エリア430bの差分データから差分コマンドを読み出す。 1500 reads the difference command from the difference data in the second difference data storage area 430b.
1510は、差分コマンドを解析し、1520で差分コマンドが差分追加コマンドnewか判定し、もしyesなら1525を実行し、一方、もしnoならば1530を実行する。 1510 analyzes the differential command, and determines whether the differential command is a differential addition command new in 1520. If yes, execute 1525, and if no, execute 1530.
1525は、差分追加コマンドnewに付属する部分命令列DATAを復元エリア202bへ書込む。
1525 writes the partial instruction string DATA attached to the difference addition command new to the
1530は、差分コマンドが差分コピーコマンドcopyか判定し、もしyesなら1535を実行し、一方、もしnoならば1540を実行する。 1530 determines whether the differential command is the differential copy command copy. If yes, execute 1535, and if no, execute 1540.
1535は、差分コピーコマンドcopyに付属するMAとMSを用いて、解凍エリア202cの特定のプログラムのアドレスMAからサイズMSの部分命令列を復元エリア202bへ追加書き込む。
1535 additionally writes a partial instruction string of size MS from the address MA of a specific program in the
1540は、第2差分データ格納エリア430bから差分データを全て読み出したか判定し、もしyesならば1550を実行する。一方、もしnoならば1500へ戻って処理を繰返す。
In
1550は、復元エリア202bに生成された旧プログラムを第1不揮発性メモリ410へ書込む。
In 1550, the old program generated in the
以上で、差分復元した旧プログラムを第1不揮発性メモリ410に格納できたことになる。 Thus, the old program that has been differentially restored can be stored in the first nonvolatile memory 410.
本実施例では、特定のプログラムを圧縮して、その圧縮データを第2不揮発性メモリ420へ格納していた。しかし当然ながら、不揮発性メモリ203や外付けFLASH203bの容量が大きければ、圧縮データの形態では無く、特定のプログラム自身を第2不揮発性メモリ420へ保存しておいても良い。この形態が可能であれば、図5のリプロソフト400は、解凍ソフト540の代わりに、第2不揮発性メモリ420の特定のプログラムを解凍エリア202cへ転送する転送ソフトへ置き換えれば良い。この結果、差分復元ソフト520は、転送ソフトを実行して次に第1差分復元ソフト550を実行する。診断ソフト530も同様に、転送ソフトを実行して次に第2差分復元ソフト560を実行することで実現できる。
In the present embodiment, a specific program is compressed, and the compressed data is stored in the second nonvolatile memory 420. However, as a matter of course, if the capacity of the
100…車載書込み装置(ゲートウェイ)
101…マイコン(演算装置)
102…SRAM(揮発性メモリ)
103…FLASHメモリ(不揮発性メモリ)
104…各種のIC
105…通信装置(CANプロトコル)
106…通信装置(車両の外部のネットワークのプロトコル)
200…車載制御装置(ECU)
201…マイコン(演算装置)
202…SRAM(揮発性メモリ)
203…FLASHメモリ(不揮発性メモリ)
203a…マイコン内蔵FLASHメモリ
203b…外付けFLASHメモリ
204…各種のIC
205…通信装置(CANプロトコル)
202a…受信エリア
202b…復元エリア
202c…解凍エリア
300…特定プログラム
310…圧縮ソフト
320…特定プログラムの圧縮データ
330…新プログラム(新たな実行用プログラム)
331…旧プログラム(実行用プログラム)
340…差分生成ソフト
350…特定プログラムと新プログラムの差分データ
360…解凍ソフト
370…差分復元ソフト
400…リプロソフト
410…第1不揮発性メモリ(実行可能なプログラムの格納エリア)
420…第2不揮発性メモリ(特定プログラムの圧縮データ格納エリア)
430…差分データ格納エリア
430a…第1差分データ格納エリア(最新の差分データ格納エリア)
430b…第2差分データ格納エリア(前回の差分データ格納エリア)
500…通信ソフト
510…差分データ受信ソフト
520…差分復元ソフト
530…診断ソフト
540…解凍ソフト
550…第1差分復元ソフト
560…第2差分復元ソフト
600…差分データ送信開始通信コマンド
610…差分データ格納エリア指定通信コマンド
620…差分データ通信コマンド
630…差分データ送信終了通信コマンド
640…復元実行通信コマンド
650…診断実行通信コマンド
1000A…解凍追加コマンド
1010A…解凍コピーコマンド
1200…差分追加コマンド
1210…差分コピーコマンド
100: In-vehicle writing device (gateway)
101: Microcomputer (arithmetic unit)
102 ... SRAM (volatile memory)
103 ... FLASH memory (nonvolatile memory)
104 ... Various ICs
105 ... Communication device (CAN protocol)
106: Communication device (network protocol outside the vehicle)
200: On-vehicle control device (ECU)
201: Microcomputer (arithmetic unit)
202 ... SRAM (volatile memory)
203 ... FLASH memory (nonvolatile memory)
203a ... FLASH memory with built-in
205 ... Communication device (CAN protocol)
202a ...
331 ... Old program (execution program)
340 ...
420 ... 2nd non-volatile memory (compressed data storage area of specific program)
430 ... Difference data storage area 430a ... First difference data storage area (latest difference data storage area)
430b ... second difference data storage area (previous difference data storage area)
500 ... Communication software 510 ... Difference data reception software 520 ... Difference restoration software 530 ... Diagnosis software 540 ... Decompression software 550 ... First difference restoration software 560 ... Second
Claims (5)
新たな前記実行用プログラムへの更新が失敗した場合、前記第2差分データ格納エリアに格納された前記前の差分データと前記特定プログラムから、前の前記実行用プログラムを復元して、前記第1不揮発性メモリへ書き込むことを特徴とする請求項2又は3記載の車載制御装置。 The second non-volatile memory includes a first difference data storage area for storing the new difference data, and a second difference data storage area for storing the previous difference data,
When the update to the new execution program fails, the previous execution program is restored from the previous difference data stored in the second difference data storage area and the specific program, and the first execution program is restored. 4. The in-vehicle control device according to claim 2, wherein the data is written in a nonvolatile memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018061090A JP6838714B2 (en) | 2018-03-28 | 2018-03-28 | In-vehicle control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018061090A JP6838714B2 (en) | 2018-03-28 | 2018-03-28 | In-vehicle control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019175024A true JP2019175024A (en) | 2019-10-10 |
JP6838714B2 JP6838714B2 (en) | 2021-03-03 |
Family
ID=68168897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018061090A Active JP6838714B2 (en) | 2018-03-28 | 2018-03-28 | In-vehicle control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6838714B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007080034A (en) * | 2005-09-15 | 2007-03-29 | Sony Corp | Information processing system and method, receiver and receiving method, data generator and generating method, program, and information processor |
JP2009009392A (en) * | 2007-06-28 | 2009-01-15 | Sony Ericsson Mobilecommunications Japan Inc | Software update method and portable terminal device |
JP2010173489A (en) * | 2009-01-29 | 2010-08-12 | Denso Corp | Vehicular measuring instrument |
JP2010198155A (en) * | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | Device and method for updating program, and information processing apparatus |
US20150220326A1 (en) * | 2012-10-15 | 2015-08-06 | Huawei Device Co., Ltd. | Mobile Terminal and Software Upgrade Method Thereof |
-
2018
- 2018-03-28 JP JP2018061090A patent/JP6838714B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007080034A (en) * | 2005-09-15 | 2007-03-29 | Sony Corp | Information processing system and method, receiver and receiving method, data generator and generating method, program, and information processor |
JP2009009392A (en) * | 2007-06-28 | 2009-01-15 | Sony Ericsson Mobilecommunications Japan Inc | Software update method and portable terminal device |
JP2010173489A (en) * | 2009-01-29 | 2010-08-12 | Denso Corp | Vehicular measuring instrument |
JP2010198155A (en) * | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | Device and method for updating program, and information processing apparatus |
US20150220326A1 (en) * | 2012-10-15 | 2015-08-06 | Huawei Device Co., Ltd. | Mobile Terminal and Software Upgrade Method Thereof |
Also Published As
Publication number | Publication date |
---|---|
JP6838714B2 (en) | 2021-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3358465B1 (en) | In-vehicle control device, program update system, and program update software | |
JP6739498B2 (en) | In-vehicle control device and program writing device | |
JP6719020B2 (en) | In-vehicle control device and program update software | |
US11513783B2 (en) | Control apparatus, program update system, and program update method | |
US20080270427A1 (en) | Method and Apparatus for Configuring a Control Device, and Corresponding Control Device | |
CN112424747B (en) | Method, processing system and storage medium for generating binary object file | |
EP3920020A1 (en) | Electronic control device and program update method | |
CN110809755A (en) | Electronic control system | |
KR20000006562A (en) | Data storage, data processing system and method | |
JP3864337B2 (en) | How to upgrade | |
WO2019159715A1 (en) | Vehicle control device and program update system | |
JP2018160207A (en) | On-vehicle controller and program update software | |
JP6838714B2 (en) | In-vehicle control device | |
CN113613954A (en) | Electronic control device and method for setting control data | |
JP2018160208A (en) | On-vehicle controller and program update software | |
JP4127307B2 (en) | Data storage device, data processing system, data processing method, and data processing device | |
WO2023175752A1 (en) | Onboard program update system and onboard program update method | |
JP6782654B2 (en) | In-vehicle control device and program update software | |
JP6988636B2 (en) | Reprogramming method | |
WO2020241473A1 (en) | Computation processing device, vehicle control device, and update method | |
JP2022170949A (en) | Control device and data rewriting method | |
JP2023119314A (en) | Electronic control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180330 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200911 |
|
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: 20201228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6838714 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |