JP2012198929A - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP2012198929A
JP2012198929A JP2012137193A JP2012137193A JP2012198929A JP 2012198929 A JP2012198929 A JP 2012198929A JP 2012137193 A JP2012137193 A JP 2012137193A JP 2012137193 A JP2012137193 A JP 2012137193A JP 2012198929 A JP2012198929 A JP 2012198929A
Authority
JP
Japan
Prior art keywords
program
version
update
folder
storage 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.)
Pending
Application number
JP2012137193A
Other languages
Japanese (ja)
Inventor
Yasuhisa Ishida
泰久 石田
Shigehiko Komoritani
成彦 籠谷
Hironobu Sugimoto
浩伸 杉本
Tomonori Kodan
友紀 小段
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2012137193A priority Critical patent/JP2012198929A/en
Publication of JP2012198929A publication Critical patent/JP2012198929A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a program update method capable of restoring an operation at normal state even when update processing of a program has failed.SOLUTION: An information processing device comprises: an auxiliary storage device storing a program of a version at shipment from a factory and a program of a first version; a main storage device holding the program of the first version; and a CPU starting the program of the first version stored in the main storage device at power-on. If there is an error in the program of the first version stored in the main storage device and if the program of the first version stored in the main storage device has aborted operations for a predetermined number of times or more, the CPU loads the program of the first version stored in the auxiliary storage onto the main storage device. When loading of the program of the first version stored in the main storage device has failed for a predetermined number of times or more, the CPU loads the program of the version at shipment from the factory stored in the auxiliary storage device onto the main storage device.

Description

本発明は、プログラムの更新処理に関する。   The present invention relates to a program update process.

カーナビゲーションシステムを搭載する車載器等は、例えば、道路の新設等に合わせて、地図情報等のアプリケーションプログラムを更新する必要がある。例えば、車載器のオペレーティングシステム及びアプリケーションプログラム等を含むプログラム(以下、まとめてプログラムと称する)を更新する方法として以下の2つが挙げられる。   An in-vehicle device or the like equipped with a car navigation system needs to update an application program such as map information in accordance with, for example, the establishment of a new road. For example, there are the following two methods for updating a program (hereinafter collectively referred to as a program) including an on-board unit operating system and application programs.

(1)専門家による更新処理の実施
車載器を保有するユーザがメーカへハードディスク(以下、HDD(Hard Dis
k Drive))又は車載器そのものを送り、メーカがプログラムの更新処理を実施す
る方法である。若しくは、自動車の販売業者に自動車を預けて、販売員がプログラムの更新処理を実施する方法である。
(1) Implementation of update processing by an expert A user who owns an on-vehicle device sends a hard disk (hereinafter referred to as HDD (Hard Dis) to the manufacturer.
kDrive)) or the vehicle-mounted device itself, and the manufacturer performs a program update process. Alternatively, it is a method in which a car sales agent is entrusted to a car dealer and the salesperson performs a program update process.

この方法では、専門家がプログラムの更新処理を実施するので、プログラムの更新処理の手順、手段等がある程度自由に実施可能である。専門家による更新処理の実施における利点は、例えば、以下の点が挙げられる。   In this method, since an expert performs a program update process, the procedure and means of the program update process can be freely implemented to some extent. For example, the following points can be given as the advantages in the execution of the update process by an expert.

(1)プログラムの個別の更新から、全プログラムの更新まで更新するプログラムの選択が自由に実施可能である。(2)プログラムの更新処理に使用する治具等の専用の接続機器を使用できる。また、機器を分解して記憶媒体を取り出すことも可能である。プログラムの更新に失敗してもやり直すことが可能である。(3)データのバックアップを取ることが可能である。(4)リカバリによって工場出荷時に戻すことも可能である。   (1) It is possible to freely select a program to be updated from individual program update to update of all programs. (2) A dedicated connection device such as a jig used for program update processing can be used. It is also possible to disassemble the device and take out the storage medium. If you fail to update the program, you can start over. (3) Data backup can be taken. (4) It is also possible to return to the factory default by recovery.

専門家によるプログラムの更新処理の実施の以上のような利点に対して、例えば、以下に示す欠点もある。   In addition to the above-described advantages of the program update process performed by an expert, for example, there are also the following drawbacks.

(1)車載器、又はHDDをメーカに送らなければならない、もしくは、ディーラーへ出向いて自動車を預ける必要があるなどの、ユーザの手間がかかる。(2)車載器、HDD、又は自動車を預けている間は、ユーザはカーナビゲーションシステムの使用ができない。(3)専用の治具の使用、機器の分解等、プロでしかできない作業内容である。   (1) It takes time and effort for the user to send the vehicle-mounted device or HDD to the manufacturer, or to go to the dealer and leave the car. (2) The user cannot use the car navigation system while depositing the vehicle-mounted device, the HDD, or the automobile. (3) Work contents that can only be done by professionals, such as using dedicated jigs and disassembling equipment.

(2)ユーザによる更新処理の実施
CD−ROM(Compact Disck−Read Only Memory)やDV
D−ROM(digital Versatile disc)及びその他の記憶媒体に記憶された更新プログラムを利用して、ユーザ自身がプログラムの更新処理を実施する方法である。若しくは、携帯電話や車載器の通信機能等を使用して、外部との通信により更新プログラムをダウンロードして、ユーザ自身がプログラムの更新処理を実施する方法である。ユーザによる更新処理の実施における利点は、例えば、以下の点が挙げられる。
(2) Implementation of update process by user CD-ROM (Compact Disk-Read Only Memory) or DV
This is a method in which a user himself / herself executes an update process of a program using an update program stored in a D-ROM (digital Versatile disc) and other storage media. Alternatively, the update function is downloaded by communication with the outside using a communication function of a mobile phone or an in-vehicle device, and the user himself / herself executes the program update process. Advantages in the execution of the update process by the user include the following points, for example.

(1)ユーザ自身で実施できるため、メーカへHDDを送ったり、販売店へ自動車を預けたりする必要がない。   (1) Since it can be carried out by the user himself / herself, there is no need to send the HDD to the manufacturer or leave the car at the store.

ユーザによるプログラムの更新処理の実施の以上のような利点に対して、例えば、以下に示す欠点もある。   In addition to the above advantages of the program update process performed by the user, there are also the following drawbacks.

(2)車載器は復帰手段を持たないため、プログラムの更新処理に失敗した場合に、最悪の場合、起動が不可能になる事態に陥る可能性がある。(2)CD−ROMやDVD−ROM等を用いる場合、それらを入手する手間がかかる。(3)携帯電話や車載器の通信機能を用いて更新プログラムのデータをダウンロードする場合、パケット料金などの通信量が発生する。ダウンロードするデータが大きければ、通信料も高額になり、時間もかかる。   (2) Since the vehicle-mounted device does not have a return means, in the worst case, when the program update process fails, there is a possibility of being unable to start up. (2) When using a CD-ROM or DVD-ROM, it takes time to obtain them. (3) When the update program data is downloaded using the communication function of the mobile phone or the vehicle-mounted device, a communication amount such as a packet fee is generated. If the data to be downloaded is large, the communication fee will be high and it will take time.

ユーザによるプログラムの更新処理の方法において、重大な欠点は、プログラムの更新処理に失敗した場合に復帰できない可能性があるという点である。プログラムの更新処理が失敗する原因としては、例えば、プログラムの更新処理中の電源断(自動車のアクセサリ電源の切断等)などが考えられる。   In the program update processing method by the user, a serious drawback is that there is a possibility that the program cannot be restored if the program update processing fails. As a cause of the failure of the program update process, for example, a power interruption during the program update process (such as turning off the accessory power supply of an automobile) can be considered.

従って、ユーザによってプログラムの更新処理ができ、且つ、更新に失敗した場合に復帰手段を持つプログラム更新方法が望まれていた。   Therefore, there has been a demand for a program update method that allows a user to update a program and that has a return means when the update fails.

特開2006−301960号公報JP 2006-301960 A

本発明は、プログラムの更新処理に失敗した場合でも、正常時の動作に復帰することができるプログラム更新方法を提供することを課題とする。   It is an object of the present invention to provide a program update method capable of returning to normal operation even when program update processing fails.

本発明は前記課題を解決するために、以下の手段を採用した。すなわち、プログラム更新装置は、第1のバージョンのプログラムを格納する第1格納部と、
前記第1のバージョンと同じ又は前記第1のバージョンよりも新しいバージョンである第2のバージョンの前記プログラムを格納する第2格納部と、
前記第2のバージョンのプログラムと前記第2のバージョンのプログラムよりもバージョンが新しい第3のバージョンの前記プログラムとの差分を取得する取得部と、
前記第2格納部に格納される前記第2のバージョンのプログラムと前記取得部によって取得した差分とから前記第3のバージョンのプログラムを生成し、前記生成した第3のバージョンのプログラムを前記第1格納部に格納する更新部とを備える。
The present invention employs the following means in order to solve the above problems. That is, the program update device includes a first storage unit that stores the first version of the program,
A second storage unit that stores the second version of the program that is the same as or newer than the first version;
An acquisition unit that acquires a difference between the second version of the program and a third version of the program that is newer than the second version of the program;
The third version program is generated from the second version program stored in the second storage unit and the difference acquired by the acquisition unit, and the generated third version program is stored in the first version program. And an update unit stored in the storage unit.

本発明によれば、第1格納部に格納される第1のバージョンのプログラムが第3のバージョンのプログラムに更新される一方で、第2格納部には、第2のバージョンのプログラムが保持され続ける。例えば、第3のバージョンのプログラムを生成するステップ、又は、第3のバージョンのプログラムを第1格納部に格納するステップにおいて、コンピュータの電源が断絶する場合でも、第2のバージョンのプログラムが保持され続けているので、第2のバージョンのプログラムを使用して、復帰することができる。   According to the present invention, the first version program stored in the first storage unit is updated to the third version program, while the second version program is held in the second storage unit. to continue. For example, in the step of generating the third version of the program or the step of storing the third version of the program in the first storage unit, the second version of the program is retained even when the power of the computer is cut off. Since it continues, it is possible to return using the second version of the program.

また、本発明の態様は、工場出荷時のバージョンのプログラムと前記工場出荷時のバージョンよりも新しいバージョンである第1のバージョンの前記プログラムとを格納した補助記憶装置と、
前記補助記憶装置からローディングされた前記第1のバージョンのプログラムを保持する主記憶装置と、
電源投入時に前記主記憶装置に保持される第1のバージョンのプログラムを起動するCPUと、を備える装置であって、
前記CPUは、
前記主記憶装置に保持される第1のバージョンのプログラムにエラーがある場合、及び、前記主記憶装置に保持される第1のバージョンのプログラムが今回の電源投入時までの間に所定回数以上動作を中断させていた場合には、前記補助記憶装置に格納された前記第1のバージョンのプログラムを前記主記憶装置にローディングし、
前記主記憶装置に保持される第1のバージョンのプログラムが今回の電源投入時までの間に所定回数以上ローディングに失敗している場合には、前記補助記憶装置に格納された前記工場出荷時のバージョンのプログラムを前記主記憶装置にローディングする。
An aspect of the present invention provides an auxiliary storage device that stores a factory-installed version program and a first version of the program that is newer than the factory-installed version;
A main storage for holding the first version of the program loaded from the auxiliary storage;
A CPU that activates a first version of the program held in the main storage device when the power is turned on,
The CPU
When there is an error in the first version of the program held in the main storage device, and the first version of the program held in the main storage device operates a predetermined number of times before the power is turned on this time If the program is interrupted, the first version of the program stored in the auxiliary storage device is loaded into the main storage device,
If the first version of the program stored in the main storage device has failed to load more than a predetermined number of times before the power is turned on this time, the initial version program stored in the auxiliary storage device A version of the program is loaded into the main storage device.

本発明によれば、主記憶装置にローディングされた第1のバージョンのプログラムデータに異常が発生している場合でも、補助記憶装置から再度第1のバージョンのプログラムのローディングを実行し正常な状態に復帰することができる。また、補助記憶装置からの第1のバージョンのプログラムのローディングが失敗した場合でも、工場出荷時のバージョンのプログラムを使用して装置を起動することができる。このようにして、段階的に処理を行うので、より効率的に復旧処理を行うことができる。また、最終的には、工場出荷時のバージョンのプログラムによって装置の起動が保証される。   According to the present invention, even when an abnormality occurs in the first version of the program data loaded in the main storage device, the loading of the first version of the program from the auxiliary storage device is executed again to return to the normal state. Can return. Further, even when loading of the first version of the program from the auxiliary storage device fails, the device can be activated using the factory-installed version of the program. In this way, since the processing is performed in stages, the recovery processing can be performed more efficiently. Finally, the start-up of the apparatus is guaranteed by the version program at the time of factory shipment.

本発明によれば、プログラムの更新処理に失敗した場合でも、正常時の動作に復帰することができるプログラム更新方法を提供することができる。   According to the present invention, it is possible to provide a program update method capable of returning to a normal operation even when a program update process fails.

プログラム更新システムの構成例を示す図である。It is a figure which shows the structural example of a program update system. プログラム更新システムのプログラム更新処理における動作例を示す図である。It is a figure which shows the operation example in the program update process of a program update system. プログラム更新処理中に電源断が発生した場合の復帰動作の例について示す図である。It is a figure shown about the example of reset operation | movement when a power failure generate | occur | produces during a program update process. プログラム更新処理中に電源断が発生した場合の復帰動作の例について示す図である。It is a figure shown about the example of reset operation | movement when a power failure generate | occur | produces during a program update process. FROM内のブートフラグの値の例を示す図である。It is a figure which shows the example of the value of the boot flag in FROM. 車載器のリカバリデータの保持の例を示す図である。It is a figure which shows the example of holding | maintenance of the recovery data of onboard equipment. 正常時の起動動作の流れの例を示す図である。It is a figure which shows the example of the flow of starting operation | movement at the time of normal. 起動シーケンスの例を示す図である。It is a figure which shows the example of a starting sequence. 異常時シーケンスAで実行される処理の流れの例を示す図である。It is a figure which shows the example of the flow of the process performed by the sequence A at the time of abnormality. 異常時シーケンスAの処理フローを示す図である。It is a figure which shows the processing flow of the sequence A at the time of abnormality. 異常時シーケンスBで実行される処理を示す図である。It is a figure which shows the process performed by the sequence B at the time of abnormality. 異常時シーケンスBの処理フローを示す図である。It is a figure which shows the processing flow of the sequence B at the time of abnormality.

以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The configuration of the following embodiment is an exemplification, and the present invention is not limited to the configuration of the embodiment.

<第1実施形態>
本発明のプログラム更新方法は、機器の1つの記憶媒体に、同一のプログラム群を格納するフォルダ(以降、プログラムフォルダと称する)を2個保持する。プログラムの更新処理の際には、一方のプログラムフォルダ内のプログラム群を更新し、他方のプログラムフォルダ内のプログラム群はバックアップとしてそのまま保持する。
<First Embodiment>
The program update method of the present invention holds two folders (hereinafter referred to as program folders) for storing the same program group in one storage medium of the device. In the program update process, the program group in one program folder is updated, and the program group in the other program folder is retained as a backup.

2個のプログラムフォルダについて交互にプログラム更新処理を実施することによって、一方のプログラムフォルダはプログラム群を更新して最新のバージョンのプログラム群を保持することができる。また、他方のプログラムフォルダは更新処理の直前まで使用し
ていたバージョンのプログラム群を保持することができる。プログラムの更新処理の後に、最新のバージョンのプログラム(更新済みのプログラム)が動作しない場合には、プログラム更新処理を実施しなかった(バックアップとしての)プログラムフォルダを選択して、当該プログラムを起動することが可能となる。
By executing the program update process alternately for the two program folders, one program folder can update the program group and hold the latest version of the program group. The other program folder can hold a version of the program group used until immediately before the update process. If the latest version of the program (updated program) does not work after the program update process, select the program folder that did not perform the program update process (as a backup) and start the program It becomes possible.

<プログラム更新システムの構成例>
図1は、プログラム更新システムの構成例を示す図である。プログラム更新システムは、車載器1と、更新プログラムを保持する、例えば、メーカのサーバであるセンタC1とを含む。
<Configuration example of program update system>
FIG. 1 is a diagram illustrating a configuration example of a program update system. The program update system includes an in-vehicle device 1 and a center C1 that holds an update program, for example, a server of a manufacturer.

センタC1は、例えば、車載器1に搭載されているプログラムのメーカ等のサーバである。センタC1は、プログラムの更新情報を発信する。センタC1は、バージョン比較部C2を備える。バージョン比較部C2は、車載器1に搭載されているプログラムのバージョンとセンタC1が保持する最新のプログラムのバージョンを比較して差分データを生成する。   The center C1 is, for example, a server such as a manufacturer of a program installed in the vehicle-mounted device 1. The center C1 transmits program update information. The center C1 includes a version comparison unit C2. The version comparison unit C2 compares the version of the program installed in the vehicle-mounted device 1 with the latest version of the program held by the center C1, and generates difference data.

車載器1は、ユーザの自動車に搭載されているカーナビゲーションシステムを備える機器である。車載器1は、携帯電話/DCM(Data Communication Module)2と、マスタ機器と3と、スレーブ機器4と、デッキ5とを備える。   The vehicle-mounted device 1 is a device including a car navigation system mounted on a user's automobile. The vehicle-mounted device 1 includes a mobile phone / DCM (Data Communication Module) 2, a master device 3, a slave device 4, and a deck 5.

携帯電話/DCM2は、外部のセンタC1と無線通信を行うインターフェイスである。
カーナビゲーションシステムを備える車載器では、携帯電話と(専用ケーブル等で)接続して、携帯電話の通信機能を用いてプログラムの差分データをダウンロードする機種もある。また、DCMと呼ばれる車載器専用の通信機を備える機種もある。図1では、センタC1との通信インターフェイスとして、携帯電話とのインターフェイスとDCMとをまとめて携帯電話/DCM2として表示している。
The mobile phone / DCM2 is an interface that performs wireless communication with the external center C1.
Some on-vehicle devices equipped with a car navigation system connect to a mobile phone (with a dedicated cable or the like) and download the difference data of the program using the communication function of the mobile phone. There is also a model equipped with a communication device dedicated to the vehicle-mounted device called DCM. In FIG. 1, as a communication interface with the center C1, an interface with a mobile phone and DCM are collectively displayed as a mobile phone / DCM2.

デッキ5は、CD(Compact Disk)、又は、DVD(Digital Versatile Disc)などの外部記憶媒体からプログラムの更新データを読み出す
機器である。
The deck 5 is a device that reads program update data from an external storage medium such as a CD (Compact Disk) or a DVD (Digital Versatile Disc).

マスタ機器3は、マイクロコンピュータ(以下、マイコンと称す)を少なくとも1つ備えており、スレーブ機器4を取りまとめる中心的役割を果たす、車載器1に1台のみ存在する機器である。マスタ機器3のような車載器専用の制御コンピュータをECU(Electonic Control Unit)と呼ぶこともある。   The master device 3 includes at least one microcomputer (hereinafter referred to as “microcomputer”), and is a device that exists in the vehicle-mounted device 1 and plays a central role in organizing the slave devices 4. A control computer dedicated to the vehicle-mounted device such as the master device 3 may be referred to as an ECU (Electronic Control Unit).

マスタ機器3は、通信部31と、ダウンロード選択部32と、バージョン情報収集部33と、プログラム更新部34と、スレーブ通信部35と、HDD(Hard Disk Drive)36と、DRAM(Dynamic Random Access Memor
y)37と、FROM(Flash Read Only Memory)38とを備える
The master device 3 includes a communication unit 31, a download selection unit 32, a version information collection unit 33, a program update unit 34, a slave communication unit 35, a HDD (Hard Disk Drive) 36, and a DRAM (Dynamic Random Access Memory).
y) 37 and FROM (Flash Read Only Memory) 38 are provided.

通信部31(「取得部」に相当)は、携帯電話/DCM2又はデッキ5と通信を行う。通信部31は、携帯電話/DCM2又はデッキ5を通じて更新データを受信し、HDD36に格納する。   The communication unit 31 (corresponding to “acquisition unit”) communicates with the mobile phone / DCM 2 or the deck 5. The communication unit 31 receives the update data through the mobile phone / DCM 2 or the deck 5 and stores it in the HDD 36.

ダウンロード選択部32は、携帯電話/DCM2又はデッキ5のどちらから更新データをダウンロードするかを選択する。ダウンロード選択部32は、例えば、デッキ5にCD又はDVDが挿入されたことを検知し、デッキ5から更新データのダウンロードを行うことを選択する。   The download selection unit 32 selects whether to download update data from the mobile phone / DCM 2 or the deck 5. For example, the download selection unit 32 detects that a CD or DVD has been inserted into the deck 5 and selects to download update data from the deck 5.

バージョン情報収集部33は、現在のマスタ機器3に搭載されるプログラムのバージョンを管理する。   The version information collection unit 33 manages the version of the program installed in the current master device 3.

プログラム更新部34(「更新部」に相当)は、ダウンロードされた更新データから実際にプログラムの更新処理を実施する。プログラム更新部34の詳細については、後述する。   The program update unit 34 (corresponding to an “update unit”) actually performs a program update process from the downloaded update data. Details of the program update unit 34 will be described later.

スレーブ通信部35は、スレーブ機器4と接続し、通信を行う。マスタ機器3とスレーブ機器4とは、例えば、LAN(Local Area Network)配線やバス接続によって接続されている。   The slave communication unit 35 is connected to the slave device 4 to perform communication. The master device 3 and the slave device 4 are connected by, for example, LAN (Local Area Network) wiring or bus connection.

HDD36は、車載器1上で実行されるプログラムや関連するデータ等を格納する補助記憶装置である。図1においては、マスタ機器3がHDD36を備える図を示している。HDD36は、マスタ機器2及びスレーブ機器4とは独立に車載器1内に備えられてもよい。   The HDD 36 is an auxiliary storage device that stores programs executed on the vehicle-mounted device 1 and related data. In FIG. 1, the master device 3 includes an HDD 36. The HDD 36 may be provided in the vehicle-mounted device 1 independently of the master device 2 and the slave device 4.

DRAM37は、主記憶装置である。DRAM37は、HDD36に格納されているプログラムをローディングするローダプログラムを格納する。ローダプログラムは、あるプログラムを起動するときに、HDD36に格納されているプログラムデータをDRAM37上に展開する。   The DRAM 37 is a main storage device. The DRAM 37 stores a loader program that loads a program stored in the HDD 36. The loader program develops program data stored in the HDD 36 on the DRAM 37 when a certain program is started.

FROM38は、不揮発性の記憶装置である。FROM38は、ブートプログラムとブートフラグとを格納する。ブートプログラムは車載器1が電源投入等により起動する際の起動プロセスを格納したプログラムである。ブートフラグは、プログラムをローディングするプログラムフォルダを示すフラグを保持する。詳細は、後述する。   The FROM 38 is a nonvolatile storage device. The FROM 38 stores a boot program and a boot flag. The boot program is a program that stores a startup process when the vehicle-mounted device 1 is started up by turning on the power. The boot flag holds a flag indicating a program folder in which a program is loaded. Details will be described later.

スレーブ機器4は、それぞれが独自の機能を果たす。スレーブ機器4には、例えば、デジタルテレビ装置、DVD再生装置等がある。スレーブ機器4は、車載器1の仕様によって、備えられる個数が変わる。   Each of the slave devices 4 performs a unique function. Examples of the slave device 4 include a digital TV device and a DVD playback device. The number of slave devices 4 provided varies depending on the specifications of the vehicle-mounted device 1.

スレーブ機器4の中でも、例えば、デジタルテレビ装置等のように扱うデータ量が多い場合には、1つのマイコンにかかる負荷が大きくなるため、マイコンを複数備えることがある。スレーブ機器4がマイコンを複数備える場合には、複数のマイコンの内の1つのマイコンを親マイコン、その他のマイコンを子マイコンというように分ける。子マイコンは親マイコンを通じてマスタ機器から更新データの受信等を行う。   Among the slave devices 4, for example, when the amount of data to be handled is large, such as a digital television device, the load on one microcomputer increases, so a plurality of microcomputers may be provided. When the slave device 4 includes a plurality of microcomputers, one microcomputer among the plurality of microcomputers is divided into a parent microcomputer and the other microcomputers are divided into child microcomputers. The child microcomputer receives the update data from the master device through the parent microcomputer.

スレーブ機器4は、共通して、機器通信部411、プログラム更新部412、バージョ
ン情報収集部413を有する。マイコンを複数備えるスレーブ機器4では、親マイコンが機器通信部411、プログラム更新部412、バージョン情報収集部413を有する。スレーブ機器4がマイコンを複数備える場合には、親マイコン、子マイコンそれぞれが互いに通信するための通信部を備える。子マイコンは、親マイコンとの通信インターフェイスである通信部421とプログラム更新部422とを備える。
The slave device 4 has a device communication unit 41 1, a program update unit 412, and a version information collection unit 413 in common. In the slave device 4 having a plurality of microcomputers, the parent microcomputer has a device communication unit 411, a program update unit 412, and a version information collection unit 413. When the slave device 4 includes a plurality of microcomputers, each of the parent microcomputer and the child microcomputer includes a communication unit for communicating with each other. The child microcomputer includes a communication unit 421 and a program update unit 422 which are communication interfaces with the parent microcomputer.

機器通信部411は、マスタ機器3と接続するインターフェイスである。機器通信部411は、例えば、LAN配線やバス接続等でマスタ機器3と接続する。   The device communication unit 411 is an interface connected to the master device 3. The device communication unit 411 is connected to the master device 3 by, for example, LAN wiring or bus connection.

バージョン情報収集部413は、スレーブ機器4内の親マイコン及び子マイコンが使用するプログラムのバージョン情報を管理する。バージョン情報収集部413は、マスタ機器3がダウンロードしたプログラムの更新データとスレーブ機器が実行するプログラムの
バージョンとを比較する。
The version information collection unit 413 manages version information of programs used by the parent microcomputer and the child microcomputer in the slave device 4. The version information collection unit 413 compares the update data of the program downloaded by the master device 3 with the version of the program executed by the slave device.

プログラム更新部412及びプログラム更新部422は、マスタ機器3によってダウンロードされた更新データから、スレーブ機器4の親マイコン及び子マイコンそれぞれのプログラム更新処理を行う。プログラム更新部412及びプログラム更新部422については、後述する。   The program update unit 412 and the program update unit 422 perform program update processing for each of the parent microcomputer and the child microcomputer of the slave device 4 from the update data downloaded by the master device 3. The program update unit 412 and the program update unit 422 will be described later.

マスタ機器3の通信部31、ダウンロード選択部32、バージョン情報収集部33、プログラム更新部34、及びスレーブ通信部35は、マスタ機器3が備えるマイコンのCPU(Central Processing Unit)、及びそれぞれの機能部の専用の電子回路を含んだICチップ等によって実現される。スレーブ機器4の機器通信部411、プログラム更新部412、422、バージョン情報収集部413、通信部414、422は、スレーブ機器4が備える親マイコン及び子マイコンのCPU、電子回路を含んだICチップ等で実現される。   The communication unit 31, the download selection unit 32, the version information collection unit 33, the program update unit 34, and the slave communication unit 35 of the master device 3 are a CPU (Central Processing Unit) of the microcomputer included in the master device 3, and respective functional units. This is realized by an IC chip including a dedicated electronic circuit. The device communication unit 411, the program update units 412, 422, the version information collection unit 413, the communication units 414, 422 of the slave device 4 are a CPU of a parent microcomputer and a child microcomputer included in the slave device 4, an IC chip including an electronic circuit, etc. It is realized with.

<プログラムの更新システムの動作例>
図2は、プログラム更新システムのプログラム更新処理における動作例を示す図である。図2では、代表してマスタ機器3がプログラム更新処理を実行する場合を例として説明する。HDD36には、アップデートフォルダとプログラムフォルダAとプログラムフォルダBとが設定されている。アップデートフォルダは、プログラム更新に関するファイルが格納される。プログラムフォルダA及びプログラムフォルダBは、マスタ機器3が使用する全プログラム(以下、プログラム群と称す)が格納されている。図2では、プログラムフォルダAには、バージョン2のプログラム群が格納されており、プログラムフォルダBには、プログラムフォルダAに格納されているプログラム群のバージョンよりも古いバージョン1のプログラム群が格納されているとして説明する。
<Operation example of program update system>
FIG. 2 is a diagram illustrating an operation example in the program update process of the program update system. In FIG. 2, a case where the master device 3 executes the program update process will be described as an example. An update folder, a program folder A, and a program folder B are set in the HDD 36. The update folder stores files related to program updates. In the program folder A and the program folder B, all programs (hereinafter referred to as a program group) used by the master device 3 are stored. In FIG. 2, a program group of version 2 is stored in the program folder A, and a program group of version 1 older than the version of the program group stored in the program folder A is stored in the program folder B. Explain that it is.

マスタ機器3のプログラム更新部34は、HDD36のアップデートフォルダ内に管理ファイルを作成する(OP1)。この時点では、管理ファイルは空である。   The program update unit 34 of the master device 3 creates a management file in the update folder of the HDD 36 (OP1). At this point, the management file is empty.

ダウンロード選択部32は、携帯電話/DCM2からダウンロードするか、デッキ5から更新データと読み出すかを選択し、通信部41に指示を出す。通信部41は、ダウンロード選択部32から指示された方を選択し、差分データファイルをダウンロードする(OP2)。ダウンロードされた差分データファイルはHDD36のアップデートフォルダに保存される。   The download selection unit 32 selects whether to download from the mobile phone / DCM 2 or to read the update data from the deck 5 and gives an instruction to the communication unit 41. The communication unit 41 selects the one instructed by the download selection unit 32 and downloads the difference data file (OP2). The downloaded difference data file is stored in the update folder of the HDD 36.

尚、差分データとは、センタC1又はCD、DVDなどの外部記憶媒体が保持するプログラムと、プログラムフォルダA又はプログラムフォルダBが格納するプログラム群の内最も新しいバージョンのプログラム群との差分データである。バージョン情報収集部33は、プログラムフォルダA及びプログラムフォルダBに格納されているプログラム群のバージョンを管理している。携帯電話/DCM2経由でセンタC1から差分データをダウンロードする場合には、バージョン情報収集部33で管理している内で最も新しいバージョンをセンタC1に通知し、センタC1において最新のバージョンのプログラムとの差分データを生成する。デッキ5を経由して、CD−ROM/DVD−ROM等の外部記憶媒体から差分データを取得する場合には、通信部31は、バージョン情報収集部33で管理している内で最も新しいバージョンのプログラムと、外部記憶媒体に格納されているバージョンのプログラムとの差分のみを読み出す。   The difference data is the difference data between the program held in the center C1 or an external storage medium such as a CD and a DVD and the program group of the latest version of the program group stored in the program folder A or the program folder B. . The version information collection unit 33 manages the versions of the program groups stored in the program folder A and the program folder B. When downloading difference data from the center C1 via the mobile phone / DCM2, the latest version among the versions managed by the version information collecting unit 33 is notified to the center C1, and the latest version of the program is updated in the center C1. Generate difference data. When acquiring differential data from an external storage medium such as a CD-ROM / DVD-ROM via the deck 5, the communication unit 31 has the latest version of the versions managed by the version information collection unit 33. Only the difference between the program and the version of the program stored in the external storage medium is read.

差分データファイルのアップデートフォルダへの保存が完了すると、プログラム更新部34は、管理ファイルに差分データのダウンロード済みを記録する(OP3)。管理ファイルへの記録方法は、例えば、管理ファイル内の差分データのダウンロード済みを示す「
差分データダウンロードフラグ」を立てる。
When the saving of the difference data file in the update folder is completed, the program update unit 34 records the downloaded difference data in the management file (OP3). The recording method to the management file is, for example, “Downloaded difference data in the management file”
Set "Differential data download flag".

次に、プログラム更新部34は、ダウンロードされた差分データファイルをモジュール毎の差分データファイルに分割する(OP4)。プログラム更新部34は、モジュール毎の差分データファイルを生成すると、管理ファイルにファイル分割済みであることを記録する(OP5)。管理ファイルへの記録方法は、例えば、管理ファイル内のファイル分割済みを示す「ファイル分割済みフラグ」を立てる。   Next, the program update unit 34 divides the downloaded difference data file into difference data files for each module (OP4). When the program update unit 34 generates the difference data file for each module, the program update unit 34 records that the file has already been divided in the management file (OP5). As a recording method in the management file, for example, a “file division flag” indicating that the file has been divided in the management file is set.

プログラム更新部34は、FROM38内のブートフラグを確認して、更新対象のプログラムフォルダを決定する(OP6)。ブートフラグは、プログラムフォルダA又はプログラムフォルダBの何れが現在有効になっているかを示すフラグを保持する。例えば、プログラムフォルダAが、現在有効になっているとする。現在プログラムフォルダAが有効になっている場合には、プログラムフォルダAに格納されているプログラム群が、マスタ機器3が搭載するプログラムの最新バージョンであることを示す。従って、ブートフラグでプログラムフォルダAが現在有効なフォルダである場合には、プログラム更新部34は、より古いバージョンのプログラム群を格納するプログラムフォルダBを更新対象のフォルダに決定する。   The program update unit 34 checks the boot flag in the FROM 38 and determines a program folder to be updated (OP6). The boot flag holds a flag indicating which of the program folder A or the program folder B is currently valid. For example, assume that the program folder A is currently valid. When the program folder A is currently valid, it indicates that the program group stored in the program folder A is the latest version of the program installed in the master device 3. Accordingly, when the program folder A is a currently valid folder in the boot flag, the program update unit 34 determines the program folder B that stores the older version of the program group as the update target folder.

プログラム更新部34は、更新対象のプログラムフォルダB内に格納されるファイルを全て削除する(OP7)。プログラム更新部34は、更新対象でないプログラムフォルダA内のファイルと差分データファイルとから新たにプログラムファイルをプログラムフォルダBに生成する(OP8)。例えば、プログラムフォルダA内のファイルAと、差分データファイルaとから新ファイルAをプログラムフォルダB内に生成する。新ファイルAの生成が完了すると、プログラム更新部34は、管理ファイル内に新ファイルAを生成済であることを記録する(OP9)。   The program update unit 34 deletes all the files stored in the program folder B to be updated (OP7). The program update unit 34 newly generates a program file in the program folder B from the file in the program folder A that is not the update target and the difference data file (OP8). For example, a new file A is generated in the program folder B from the file A in the program folder A and the difference data file a. When the generation of the new file A is completed, the program update unit 34 records that the new file A has been generated in the management file (OP9).

プログラム更新部34は、プログラムフォルダA格納されているファイル分だけOP8からOP9の処理を繰り返す(OP10)。 Program update unit 34 repeats the processing from the file amount corresponding OP8 OP9 stored in the program folder A (OP10).

プログラムフォルダAに格納されている全ファイルについて新ファイルの生成が完了すると、プログラム更新部34は、FROM38内のブートフラグの有効プログラムフォルダをプログラムフォルダBに設定する(OP11)。プログラム更新部34は、管理ファイル内にブートフラグ更新済みを記録する(OP12)。   When generation of new files is completed for all files stored in the program folder A, the program update unit 34 sets the effective program folder of the boot flag in the FROM 38 to the program folder B (OP11). The program update unit 34 records the updated boot flag in the management file (OP12).

プログラム群を格納するプログラムフォルダを2つ用意し、古いバージョンのプログラム群を格納するプログラムフォルダのみを更新することによって、その直前まで使用していた動作確認済みのプログラムフォルダをバックアップとして保持することができる。   By preparing two program folders for storing the program group and updating only the program folder that stores the old version of the program group, it is possible to keep the operation-confirmed program folder used just before that as a backup. it can.

図3A及び図3Bは、図2で説明したOP1からOP12の各処理中に電源断が発生した場合の復帰動作の例について示す図である。図3では、車載器1の電源(自動車のアクセサリ電源)が何らかの要因でオフとなり、プログラム更新処理が強制的に終了され、その後、車載器1が起動した場合のプログラム更新処理の復帰動作を示す。   3A and 3B are diagrams illustrating an example of a return operation in the case where a power interruption occurs during each process of OP1 to OP12 described in FIG. FIG. 3 shows the return operation of the program update process when the power of the vehicle-mounted device 1 (automobile accessory power supply) is turned off for some reason, the program update process is forcibly terminated, and then the vehicle-mounted device 1 is activated. .

車載器1が再起動した後、アップデートフォルダ内の管理ファイルの中が初期状態(空
)である場合には、プログラム更新部34は、OP1から処理を開始する。管理ファイル
の中身が初期状態である場合には、電源断が発生した時の状態として、管理ファイルの生成処理中(OP1)、差分データのダウンロード中(OP2)、管理ファイルへ差分データのダウンロード済みを記録中(OP3)、であったと考えられる。若しくは、OP1からOP3までの各処理の間であったと考えられる。そのため管理ファイルの中身が初期状態である場合には、プログラム更新部34は、OP1から処理を開始し、生成途中のファ
イル(管理ファイル、差分データファイル)が存在する場合には、一旦その生成途中のファイルを破棄して再生成する。
After the vehicle-mounted device 1 is restarted, if the management file in the update folder is in an initial state (empty), the program update unit 34 starts processing from OP1. If the contents of the management file are in the initial state, the management file generation process (OP1), differential data downloading (OP2), and the differential data downloaded to the management file are the states when the power failure occurs Is recorded (OP3). Alternatively, it is considered that it was during each process from OP1 to OP3. Therefore, when the contents of the management file are in the initial state, the program update unit 34 starts processing from OP1, and when there is a file in the middle of generation (management file, difference data file), it is temporarily being generated. Discard the file and regenerate it.

管理ファイルの中身が、差分データダウンロード済みを記録している場合には、すなわち、「差分データダウンロードフラグ」が立っている場合には、プログラム更新部34は、OP4から処理を開始する。この場合には、電源断が発生した時の状態として、差分データファイルを分割してモジュール毎の差分データファイル生成中(OP4)、管理ファイルへモジュール毎に分割した差分データファイル生成済みを記録中(OP5)、の何れかであったと考えられる。若しくは、OP3からOP5までの各処理の移行時であったと考えられる。そのため管理ファイルの中身が差分データダウンロード済みを記録している場合には、プログラム更新部34は、OP4から処理を開始する。   If the contents of the management file record that the difference data has been downloaded, that is, if the “difference data download flag” is set, the program update unit 34 starts processing from OP4. In this case, as the state when the power interruption occurs, the difference data file is divided and the difference data file is generated for each module (OP4), and the difference data file generated for each module is recorded in the management file. (OP5). Alternatively, it is considered that it was at the time of transition of each process from OP3 to OP5. Therefore, when the contents of the management file record that the difference data has been downloaded, the program update unit 34 starts processing from OP4.

管理ファイルの中身が、差分データダウンロード済みとファイル分割済みとを記録している場合には、すなわち、「差分データダウンロードフラグ」と「ファイル分割済みフラグ」とが立っている場合には、プログラム更新部34は、OP6から処理を開始する。この場合には、電源断が発生した時の状態として、FROM38内のブートフラグのチェック中(OP6)、更新対象プログラムフォルダ内の全ファイルの削除中(OP7)、更新対象プログラムフォルダ内に新ファイルの生成中(OP8)、管理ファイルへ新ファイルの生成済みを記録中(OP9)、の何れかであったと考えられる。若しくは、OP5からOP9までの各処理の移行時であったと考えられる。そのため管理ファイルの中身が差分データダウンロード済みとファイル分割済みとを記録している場合には、プログラム更新部34は、OP6から処理を開始する。   If the contents of the management file record the difference data downloaded and the file divided, that is, if the "difference data download flag" and the "file divided flag" are set, program update The unit 34 starts processing from OP6. In this case, as a state when the power is cut off, the boot flag in the FROM 38 is being checked (OP6), all the files in the update target program folder are being deleted (OP7), and a new file is stored in the update target program folder. This is considered to be either during generation of OP (OP8) or recording of generation of a new file in the management file (OP9). Alternatively, it is considered that it was during the transition of each process from OP5 to OP9. Therefore, when the contents of the management file record that the difference data has been downloaded and the file has been divided, the program update unit 34 starts processing from OP6.

管理ファイルの中身が、差分データダウンロード済みと、ファイル分割済みと、新ファイルX生成済み(X:変数)とを記録している場合には、すなわち、「差分データダウンロードフラグ」と「ファイル分割済みフラグ」と「新ファイルX生成済みフラグ」とが立っている場合には、プログラム更新部34は、OP10から処理を開始する。即ち、プログラム更新部34は、新ファイルXの次のファイルの新ファイル生成から処理を開始する。この場合には、電源断が発生した時の状態として、更新対象プログラムフォルダ内に新ファイルの生成中、管理ファイルへ新ファイルの生成済みを記録中、の何れかであったと考えられる。そのため管理ファイルの中身が差分データダウンロード済みと、ファイル分割済みと、新ファイルX生成済みとを記録している場合には、プログラム更新部34は、ファイルXの次のファイルの新ファイルの生成から処理を開始する。   When the contents of the management file record the difference data downloaded, the file divided, and the new file X generated (X: variable), that is, “difference data download flag” and “file divided already” When the “flag” and the “new file X generated flag” are set, the program update unit 34 starts processing from OP10. That is, the program update unit 34 starts processing from generation of a new file next to the new file X. In this case, it can be considered that the state when the power interruption occurred was either during the generation of a new file in the update target program folder or recording the generation of a new file in the management file. Therefore, when the contents of the management file are recorded that the difference data has been downloaded, the file has been divided, and the new file X has been generated, the program update unit 34 starts generating a new file of the file next to the file X. Start processing.

管理ファイルの中身が、差分データダウンロード済みと、ファイル分割済みと、全ファイル生成済みとを記録している場合には、すなわち、「差分データダウンロードフラグ」と、「ファイル分割済みフラグ」と、「新ファイルX生成済みフラグ」が全ファイルについて立っている場合には、プログラム更新部34は、FROM38内のブートフラグを参照してプログラムのロードを開始する。この場合には、電源断が発生した時の状態として、FROM38内のブートフラグの有効フォルダを更新中(OP11)、管理ファイルへブートフラグの更新済みを記録中、の何れかであったと考えられる。そのため管理ファイルの中身が差分データダウンロード済みと、ファイル分割済みと、全ファイル生成済みとを記録している場合には、プログラム更新部34は、ブートフラグの内容を参照してプログラムをロードする。   When the contents of the management file record that the difference data has been downloaded, the file has been divided, and all the files have been generated, that is, the “difference data download flag”, the “file division completed flag”, and “ When the “new file X generated flag” is set for all files, the program update unit 34 refers to the boot flag in the FROM 38 and starts loading the program. In this case, as the state when the power interruption occurs, it is considered that either the valid folder of the boot flag in the FROM 38 is being updated (OP11), or the updated update of the boot flag is being recorded in the management file. . For this reason, when the contents of the management file record that the difference data has been downloaded, the files have been divided, and all the files have been generated, the program update unit 34 loads the program with reference to the contents of the boot flag.

管理ファイルにおいて、プログラム更新処理の進捗状況を管理することによって、プログラム更新処理が電源断等によって強制終了された場合でも、管理ファイルを参照することによって、強制終了された(と予想される)処理から再開することができる。   By managing the progress status of the program update process in the management file, even if the program update process is forcibly terminated due to a power failure or the like, the process forcibly terminated (expected) by referring to the management file You can resume from.

<ブートフラグの値の例>
図4は、FROM38内のブートフラグの値の例を示す図である。例えば、プログラムフォルダ毎に、ブートフラグを保持する。すなわち、FROM38内にブートフラグA及びブートフラグBを保持し、これによって、ローディング時にロードすべきプログラムフォルダの選択を行う(有効なプログラムフォルダを示す)。
<Example of boot flag value>
FIG. 4 is a diagram illustrating an example of boot flag values in the FROM 38. For example, a boot flag is held for each program folder. That is, the boot flag A and the boot flag B are held in the FROM 38, thereby selecting a program folder to be loaded at the time of loading (indicating a valid program folder).

図4では、プログラムフォルダAの状態を示すブートフラグAと、プログラムフォルダBの状態を示すブートフラグBとが、それぞれ16ビットで構成される例を示す。図4では、各ブートフラグの値を16進数表記している。各ブートフラグは、「0x0000」が無効、「0x0001」が有効を示す。FROM38の特性として、ブートフラグを書き換える(更新する)場合には、いったんブートフラグのデータを無効にする必要があるため、「0xFFFF」としてデータをクリアする。また、図4では、ブートフラグの更新は、プログラムフォルダAの更新がプログラムフォルダBの更新に優先して行われる場合を示す。ブートフラグA及びブートフラグBの状態遷移は、以下に示す状態1から状態2,3,4を経て状態5、若しくは、状態5から状態6,7,8を経て状態1に遷移するとする。   FIG. 4 shows an example in which the boot flag A indicating the state of the program folder A and the boot flag B indicating the state of the program folder B are each composed of 16 bits. In FIG. 4, the value of each boot flag is expressed in hexadecimal. Each boot flag indicates “0x0000” is invalid and “0x0001” is valid. As a characteristic of the FROM 38, when the boot flag is rewritten (updated), it is necessary to invalidate the data of the boot flag once, so the data is cleared as “0xFFFF”. In FIG. 4, the update of the boot flag shows a case where the update of the program folder A is performed with priority over the update of the program folder B. The state transition of the boot flag A and the boot flag B is assumed to transition from the state 1 shown below to the state 5 through the states 2, 3, and 4 or from the state 5 to the state 1 through the states 6, 7, and 8.

状態1は、ブートフラグAが「0x0001」、ブートフラグBが「0x0000」である状態である。すなわち、プログラムフォルダAが現在有効なプログラムファイルとして選択されている状態を示す。   State 1 is a state in which the boot flag A is “0x0001” and the boot flag B is “0x0000”. That is, the program folder A is currently selected as a valid program file.

状態2は、ブートフラグAが「0xFFFF」、ブートフラグBが「0x0000」である状態である。この場合には、ブートフラグAは書き換えられている最中であることを示し、ブートフラグBの値は無効を示すものの、ブートフラグAが更新中であることを鑑みて、現在有効なプログラムフォルダはプログラムフォルダBであると判断する。   State 2 is a state in which the boot flag A is “0xFFFF” and the boot flag B is “0x0000”. In this case, it indicates that the boot flag A is being rewritten and the value of the boot flag B indicates invalid, but in view of the fact that the boot flag A is being updated, the currently valid program folder Is determined to be the program folder B.

状態3は、ブートフラグAが「0x0000」、ブートフラグBが「0x0000」である状態である。この場合には、ブートフラグAおよびブートフラグBの双方が更新中であることを示し、状態1から状態5への過渡期であることを鑑みて、プログラムフォルダBが有効なプログラムフォルダであると判断する。   State 3 is a state in which the boot flag A is “0x0000” and the boot flag B is “0x0000”. In this case, it indicates that both the boot flag A and the boot flag B are being updated, and in view of the transition period from the state 1 to the state 5, the program folder B is a valid program folder. to decide.

状態4は、ブートフラグAが「0x0000」、ブートフラグBが「0xFFFF」である状態である。ブートフラグBは書き換えられている最中であることを示す。ブートフラグAが優先的に更新されることを鑑みて、プログラムフォルダBが現在有効なプログラムフォルダであることを判断する。   State 4 is a state in which the boot flag A is “0x0000” and the boot flag B is “0xFFFF”. The boot flag B indicates that it is being rewritten. Considering that the boot flag A is preferentially updated, it is determined that the program folder B is a currently valid program folder.

状態5は、ブートフラグAが「0x0000」、ブートフラグBが「0x0001」である状態である。この場合、プログラムフォルダAは無効で、プログラムフォルダBが有効である。   State 5 is a state in which the boot flag A is “0x0000” and the boot flag B is “0x0001”. In this case, the program folder A is invalid and the program folder B is valid.

状態6は、ブートフラグAが「0xFFFF」、ブートフラグBが「0x0001」である状態である。ブートフラグAは書き換えられている最中であり、状態5から遷移することを鑑みて、プログラムフォルダAは有効で、プログラムフォルダBは無効であると判断する。   State 6 is a state in which the boot flag A is “0xFFFF” and the boot flag B is “0x0001”. The boot flag A is being rewritten, and in view of the transition from the state 5, it is determined that the program folder A is valid and the program folder B is invalid.

状態7は、ブートフラグAが「0x0001」、ブートフラグBが「0x0001」である状態である。この場合には、ブートフラグAおよびブートフラグBの双方が更新中であることを示し、状態5から状態1への過渡期であることを鑑みて、プログラムフォルダAが有効なプログラムフォルダであると判断する。   The state 7 is a state in which the boot flag A is “0x0001” and the boot flag B is “0x0001”. In this case, it indicates that both the boot flag A and the boot flag B are being updated, and in view of the transition period from the state 5 to the state 1, the program folder A is a valid program folder. to decide.

状態8は、ブートフラグAが「0x0001」、ブートフラグBが「0xFFFF」で
ある状態である。ブートフラグBは書き換えられている最中であることを示す。ブートフラグAが優先的に更新されることを鑑みて、プログラムフォルダAが現在有効なプログラムフォルダであることを判断する。
State 8 is a state in which the boot flag A is “0x0001” and the boot flag B is “0xFFFF”. The boot flag B indicates that it is being rewritten. Considering that the boot flag A is preferentially updated, it is determined that the program folder A is a currently valid program folder.

車載器1が起動したときに、ブートフラグの値が状態2から状態4の場合は状態5の値に、状態6から状態8の場合は状態1の値に書き換えてから起動する。   When the vehicle-mounted device 1 is activated, the boot flag value is rewritten to the value of the state 5 when the value of the boot flag is from the state 2 to the state 4, and is reactivated to the value of the state 1 when the value of the state 6 to the state 8.

<起動シーケンスの例>
プログラム更新処理が完了すると、車載器1、マスタ機器3、もしくは各スレーブ機器4を再起動して、更新した最新バージョンのプログラムをローディングする処理を実行する。このとき、プログラム更新処理は成功したとしても、更新した最新バージョンのプログラムのローディング処理に異常が発生する等の可能性がある。このようなプログラムのローディングの異常の原因としては、更新プログラムにバグがある、更新プログラムをDRAM37上にローディングするときにビット化けが生じる等が考えられる。このような、更新後のプログラムが起動しない場合に、復帰する手段として、第1実施形態の車載機1では、HDD36にリカバリデータを保持する。
<Example of startup sequence>
When the program update process is completed, the vehicle-mounted device 1, the master device 3, or each slave device 4 is restarted, and a process of loading the updated latest version of the program is executed. At this time, even if the program update process is successful, there is a possibility that an abnormality occurs in the loading process of the updated latest version of the program. Possible causes of such abnormal loading of the program include a bug in the update program, and bit corruption when the update program is loaded onto the DRAM 37. In such an in-vehicle device 1 of the first embodiment, the recovery data is held in the HDD 36 as a means for returning when the updated program is not activated.

図5は、車載器1のリカバリデータの保持の例を示す図である。HDD36は、ローダフォルダとリカバリフォルダを保持している。ローダフォルダには、ローディング処理を実行するローダプログラムが格納されている。リカバリフォルダには、リカバリプログラムと各機器(マスタ機器、スレーブ機器)の工場出荷状態のプログラムが格納されている。リカバリプログラムは、リカバリ処理を実行するプログラムである。   FIG. 5 is a diagram illustrating an example of holding recovery data of the vehicle-mounted device 1. The HDD 36 holds a loader folder and a recovery folder. The loader folder stores a loader program that executes loading processing. In the recovery folder, a recovery program and a factory default program of each device (master device, slave device) are stored. The recovery program is a program that executes recovery processing.

<<正常時の起動動作の流れの例>>
図6は、正常時の起動動作の流れの例を示す図である。図6は、車載器1に電源が投入されて、マスタ機器3がスレーブ機器4を含む起動シーケンスを実行する場合について説明する。マスタ機器3は、車載器1又はマスタ機器3に電源が投入されると、FROM38内に格納されているブートプログラムが起動する(OP21)。ブートプログラムを実行する機器のCPUは、DRAM37にロードされているアプリケーションプログラムのエラー検出を行う(OP22)。
<< Example of normal startup operation flow >>
FIG. 6 is a diagram illustrating an example of the flow of the startup operation at the normal time. FIG. 6 illustrates a case where the vehicle-mounted device 1 is turned on and the master device 3 executes a startup sequence including the slave device 4. When the power is supplied to the vehicle-mounted device 1 or the master device 3, the master device 3 starts a boot program stored in the FROM 38 (OP21). The CPU of the device that executes the boot program detects an error of the application program loaded in the DRAM 37 (OP22).

アプリケーションプログラムのエラーチェックは、チェックサムによるエラー検出、異常リセット発生回数のチェック、異常ローディングの発生回数のチェックが行われる。異常リセットは、アプリケーションプログラムにバグがあると自発的にリセットを行うことがある。異常リセット回数は、ログとして記録された、今回の起動までにアプリケーションプログラムがリセットされた回数である。異常ローディングとは、HDD36に格納されたアプリケーションプログラムをDRAM37にコピーする処理に失敗することである。異常ローディング回数とは、今回の起動までに異常ローディングが発生した回数である。   The error check of the application program is performed by detecting an error by checksum, checking the number of occurrences of abnormal reset, and checking the number of occurrences of abnormal loading. An abnormal reset may be reset spontaneously if there is a bug in the application program. The number of abnormal resets is the number of times that the application program has been reset by this time, which is recorded as a log. The abnormal loading means that the process of copying the application program stored in the HDD 36 to the DRAM 37 fails. The number of abnormal loadings is the number of times abnormal loading has occurred before this activation.

アプリケーションプログラムのエラーチェックにおいて、異常がない場合には、その後、DRAM37にロードされているアプリケーションプログラムを実行する(OP23)。   If there is no abnormality in the error check of the application program, then the application program loaded in the DRAM 37 is executed (OP23).

正常時には、CPUは、HDD36に格納されているプログラムフォルダを参照せず、DRAM37にロードされているアプリケーションプログラムのデータを使用して起動する。   When normal, the CPU does not refer to the program folder stored in the HDD 36 and starts up using the data of the application program loaded in the DRAM 37.

<<異常が発生した場合の起動時の動作の例>>
図7は、起動シーケンスの例を示す図である。図7も、図6と同様に、マスタ機器3が
起動シーケンスを行う場合について説明する。
<< Example of operation at startup when an error occurs >>
FIG. 7 is a diagram illustrating an example of a startup sequence. FIG. 7 also illustrates a case where the master device 3 performs a startup sequence, as in FIG.

車載器1又はマスタ機器3に電源が投入される(又は、再起動される)と、FROM38に格納されたブートプログラムを起動する(OP31)。   When the vehicle-mounted device 1 or the master device 3 is powered on (or restarted), the boot program stored in the FROM 38 is started (OP31).

マスタ機器3のCPUは、ログに記録されたアプリケーションプログラムの異常リセット回数Xをチェックする(OP32)。アプリケーションプログラムの異常リセット回数Xが予め設定された所定回数以上の値か否かを確認する。アプリケーションの異常リセット回数Xが所定回数以上の値である場合には(OP32:Y)、異常時シーケンスAに処理が移る(OP38)。異常時シーケンスAについては、後述する。   The CPU of the master device 3 checks the abnormal reset count X of the application program recorded in the log (OP32). It is confirmed whether or not the abnormal reset count X of the application program is a value equal to or greater than a preset predetermined count. If the number X of abnormal resets of the application is a value equal to or greater than the predetermined number (OP32: Y), the process moves to an abnormal sequence A (OP38). The abnormal sequence A will be described later.

アプリケーションプログラムの異常リセット回数Xが所定値より小さい値である場合には(OP32:N)、異常ローディング回数Yが予め設定された所定回数以上の値か否かを判定する(OP33)。異常ローディング回数Yが所定回数以上の値である場合には(OP33:Y)、異常時シーケンスBに処理が移る(OP37)。異常時シーケンスBについては、後述する。   If the abnormal reset count X of the application program is a value smaller than a predetermined value (OP32: N), it is determined whether or not the abnormal loading count Y is a value greater than or equal to a preset predetermined count (OP33). When the abnormal loading number Y is a value equal to or larger than the predetermined number (OP33: Y), the process proceeds to the abnormal sequence B (OP37). The abnormal sequence B will be described later.

アプリケーションプログラムの異常ローディング回数Yが所定回数よりも小さい場合には(OP33:N)、チェックサムを確認する(OP34)。チェックサムに異常がある場合には(OP34:Y)、異常時シーケンスAに処理が移る(OP38)。チェックサムに異常がない場合には(OP34:N)、アプリケーションプログラムを起動する(OP35)。   When the abnormal loading number Y of the application program is smaller than the predetermined number (OP33: N), the checksum is confirmed (OP34). If there is an abnormality in the checksum (OP34: Y), the processing moves to the sequence A at the time of abnormality (OP38). If there is no abnormality in the checksum (OP34: N), the application program is started (OP35).

CPUは、アプリケーションプログラムの異常リセットの発生を監視しており、異常リセットが発生した場合には(OP36)、異常リセット回数Xに1を加え、異常リセットの発生を記録する(OP39)。   The CPU monitors the occurrence of an abnormal reset of the application program. When the abnormal reset occurs (OP36), the CPU adds 1 to the abnormal reset count X and records the occurrence of the abnormal reset (OP39).

<<異常時シーケンスA>>
図8は、異常時シーケンスA、すなわち、異常リセット回数Xが所定回数以上の値である場合と、チェックサムに異常がある場合とに実行される処理の流れの例を示す図である。図9は、異常時シーケンスAの処理フローを示す図である。図8と図9とは、同じ処理には同じ符号を付して示す。
<< Sequence A at Abnormality >>
FIG. 8 is a diagram illustrating an example of a flow of processing executed when the sequence A at the time of abnormality, that is, when the number X of abnormal resets is a value greater than or equal to a predetermined number and when the checksum is abnormal. FIG. 9 is a diagram illustrating a processing flow of the sequence A at the time of abnormality. FIG. 8 and FIG. 9 show the same processing with the same reference numerals.

異常リセット回数Xが所定回数以上の値である場合、及び、チェックサムに異常がある場合には、DRAM37にロードされているローダプログラムをHDD36のローダフォルダから再度ローディングする(OP41)。次に、ローディングされたローダプログラムを起動する(OP42)。   If the abnormal reset count X is a value greater than or equal to the predetermined count and if the checksum is abnormal, the loader program loaded in the DRAM 37 is loaded again from the loader folder of the HDD 36 (OP41). Next, the loaded loader program is activated (OP42).

起動されたローダプログラムに従って、CPUは、FROM38内のブートフラグをチェックして、現在有効なプログラムフォルダを取得する(OP43)。CPUは、HDD36に格納されている現在有効なプログラムフォルダからアプリケーションプログラムを再度ローディングする(OP44)。   In accordance with the activated loader program, the CPU checks the boot flag in the FROM 38 to obtain a currently valid program folder (OP43). The CPU reloads the application program from the currently valid program folder stored in the HDD 36 (OP44).

アプリケーションプログラムのローディング時に異常が発生した場合には(OP45:Y)、異常ローディング回数Yに1を加え、異常ローディングの発生を記録する(OP46)。その後、再起動して図7に示す処理を再度実行する(OP47)。   If an abnormality occurs during loading of the application program (OP45: Y), 1 is added to the abnormal loading count Y, and the occurrence of abnormal loading is recorded (OP46). Thereafter, the system is restarted and the process shown in FIG. 7 is executed again (OP47).

アプリケーションプログラムのローディングに成功した場合にも(OP45:N)、再起動をして、図7に示す処理を再度実行する(OP47)。   Even when loading of the application program is successful (OP45: N), the application program is restarted and the processing shown in FIG. 7 is executed again (OP47).

<<異常時シーケンスB>>
図10は、異常時シーケンスB、すなわち、異常ローディング回数Yが所定回数以上の値である場合に実行される処理を示す図である。図11は、異常時シーケンスBの処理フローを示す図である。図10と図11とは、同じ処理には同じ符号を付して示す。
<< Sequence B at Abnormality >>
FIG. 10 is a diagram illustrating a process executed when the abnormal sequence B, that is, when the abnormal loading count Y is equal to or greater than a predetermined count. FIG. 11 is a diagram illustrating a processing flow of the sequence B at the time of abnormality. 10 and 11 show the same processing with the same reference numerals.

異常ローディング回数Yが所定回数以上の値である場合には、まず、車載器1のユーザに対して、リカバリ処理を実行するか否かを問い合わせるコーションを表示する(OP51)。表示されるコーションは、例えば、「プログラムファイル異常のため、起動できません。工場出荷状態に戻します。よろしいですか。(YES/NO)」など、ユーザにリカバリ処理の実行の確認を求める内容である。   When the abnormal loading number Y is a value equal to or larger than the predetermined number, first, a caution for inquiring whether or not to execute the recovery process is displayed to the user of the vehicle-mounted device 1 (OP51). The displayed caution is a content that asks the user to confirm the execution of the recovery process, such as “Cannot start due to program file error. Are you sure you want to restore the factory settings? (YES / NO)”. .

ユーザは、コーション表示に対して、入力を行う(OP52)。ユーザがリカバリ処理を実行することを選択すると(OP53:Y)、CPUはリカバリプログラムをHDD36内のリカバリファイルからローディングする(OP54)。ローディングされたリカバリファイルを起動し(OP55)、HDD36のリカバリフォルダから工場出荷状態のアプリケーションプログラムをローディングする(OP56)。その後、再起動して図7に示す処理を再度実行する(OP57)。   The user inputs the caution display (OP52). When the user selects to execute the recovery process (OP53: Y), the CPU loads the recovery program from the recovery file in the HDD 36 (OP54). The loaded recovery file is activated (OP55), and a factory-shipped application program is loaded from the recovery folder of the HDD 36 (OP56). Thereafter, the system is restarted and the process shown in FIG. 7 is executed again (OP57).

ユーザがリカバリ処理の実行を選択しなかった場合には(OP53:N)、再起動を行う旨のコーションを表示する(OP58)。このとき表示されるコーションは、例えば、「システムを再起動します。」等、ユーザに再起動の確認を行う内容である。その後、再起動して図7に示す処理を再度実行する(OP57)。   If the user does not select the execution of the recovery process (OP53: N), a caution to restart is displayed (OP58). The caution displayed at this time is, for example, a content for confirming the restart to the user, such as “Restart the system”. Thereafter, the system is restarted and the process shown in FIG. 7 is executed again (OP57).

<第1実施形態の作用効果>
プログラムを格納するプログラムフォルダを2個保持し、プログラムの更新処理を行う場合には、どちらか一方のみを更新する。もう一方はバックアップとして保持する。これによって、プログラム更新処理中に電源断等で処理が強制終了された場合でも、元の動作保障されたプログラムのデータを失うことがない。
<Operational effects of the first embodiment>
When two program folders for storing programs are held and program update processing is performed, only one of them is updated. Keep the other as a backup. As a result, even if the process is forcibly terminated due to a power interruption or the like during the program update process, the data of the program whose original operation is guaranteed is not lost.

プログラム更新処理において、進捗状況を管理ファイルに記録することによって、プログラム更新処理が電源断等により強制終了された場合でも、管理ファイルに完了が記録された処理の次の処理から再開することができる。したがって、プログラム更新処理を最初からやり直す必要がなく、時間を省くことができる。   In the program update process, the progress status is recorded in the management file, so that even if the program update process is forcibly terminated due to a power failure or the like, the process can be resumed from the next process after the completion recorded in the management file. . Therefore, it is not necessary to restart the program update process from the beginning, and time can be saved.

マスタ機器3がスレーブ機器4の更新プログラムのダウンロードも一括して行う。スレーブ機器4のプログラム更新処理を行う際には、専用の治具が必要となる場合があった。しかし、プログラム更新の窓口をマスタ機器3に一本化されることで、専用の治具がなくてもユーザがスレーブ機器4のプログラム更新処理を行うことができる。   The master device 3 also downloads the update program for the slave device 4 at once. When the program update process of the slave device 4 is performed, a dedicated jig may be required. However, since the program update window is integrated into the master device 3, the user can perform the program update process of the slave device 4 without a dedicated jig.

更新プログラムをセンタC1からダウンロードする際には、車載器1が保持するプログラムと、センタC1が保持する新しいバージョンのプログラムとの差分データのみをダウンロードする。これによって、センタC1と車載器1との間の通信量を少なく抑えることができ、データをダウンロードする時間も短くすることができる。パケット通信等従量課金制の通信の場合には、通信量を抑えることができる。   When downloading the update program from the center C1, only the difference data between the program held by the vehicle-mounted device 1 and the new version of the program held by the center C1 is downloaded. As a result, the amount of communication between the center C1 and the vehicle-mounted device 1 can be reduced, and the time for downloading data can be shortened. In the case of pay-as-you-go communication such as packet communication, the amount of communication can be reduced.

起動時には、DRAM内のアプリケーションプログラムのチェックサム、異常リセット回数、異常ローディング回数といった、3種のパラメータをチェックすることによって、起動方法を判断する。これによって、段階的にリカバリを実行でき、効率がよい。また、リカバリフォルダ内には工場出荷状態の全プログラムが格納されているので、最終的には、工場出荷状態にフルリカバリすることができ、起動が保証される。   At the time of activation, the activation method is determined by checking three types of parameters such as the checksum of the application program in the DRAM, the number of abnormal resets, and the number of abnormal loadings. As a result, recovery can be executed in stages, which is efficient. In addition, since all the programs in the factory shipment state are stored in the recovery folder, it is possible to finally perform a full recovery to the factory shipment state, and the startup is guaranteed.

第1実施形態によれば、ユーザ自身がプログラム更新処理を行うことができ、且つ、プログラム更新処理の中断や、プログラム更新処理の失敗により起動不可能な状態になった場合でも、正常な状態に復帰することができる。   According to the first embodiment, even if the user himself can perform the program update process and cannot be started due to interruption of the program update process or failure of the program update process, the normal state is obtained. Can return.

<変形例>
管理ファイルを、プログラムファイルのように2個用意し、二重化してもよい。例えば、プログラム更新処理が開始されると、アップデートフォルダ内の管理ファイルAのコピーを生成する。この管理ファイルAのコピーファイルを管理ファイルBとする。管理ファイルAはそのまま保持し、プログラム更新処理では管理ファイルBを更新する。プログラム更新処理が完了した時点で、管理ファイルAを削除する。このようにすることによって、プログラム更新処理中に電源断が発生した場合でも、管理ファイルAをバックアップとして保持できるため、管理ファイルの内容が失われることを防ぐことができる。
<Modification>
Two management files, such as program files, may be prepared and duplicated. For example, when the program update process is started, a copy of the management file A in the update folder is generated. A copy file of the management file A is defined as a management file B. The management file A is held as it is, and the management file B is updated in the program update process. When the program update process is completed, the management file A is deleted. By doing so, the management file A can be retained as a backup even when the power is cut off during the program update process, so that the contents of the management file can be prevented from being lost.

また、管理ファイルBの更新中に電源断等が発生した場合には、例えば、以下のように判断することで、処理を再開した場合に適切な管理ファイルを選択することができる。
(1)管理ファイルAが存在し、且つ管理ファイルBが存在しない場合には、管理ファイルAを参照する。
(2)管理ファイルA及び管理ファイルBが存在する場合には、管理ファイルAを参照し、管理ファイルBは削除する。
(3)管理ファイルAが存在せず、且つ、管理ファイルBが存在する場合には、管理ファイルBを参照する。
Further, when a power interruption or the like occurs during the update of the management file B, for example, an appropriate management file can be selected when the process is resumed by making the following determination.
(1) When the management file A exists and the management file B does not exist, the management file A is referred to.
(2) When the management file A and the management file B exist, the management file A is referred to and the management file B is deleted.
(3) When the management file A does not exist and the management file B exists, the management file B is referred to.

第1実施形態では、プログラムフォルダ内に格納されているプログラム群を一括して更新する処理について説明した。これに代えて、個々のプログラムを更新することも可能である。個々のプログラムを指定して更新する場合は、ブートフラグで示される有効なプログラムフォルダに格納されている方のプログラムを更新する。更新が完了したら、更新されたプログラムについて、更新済みであることを管理ファイルに記録しておく。   In the first embodiment, the process of updating the program group stored in the program folder collectively has been described. Alternatively, individual programs can be updated. When updating by designating individual programs, the program stored in the valid program folder indicated by the boot flag is updated. When the update is completed, it is recorded in the management file that the updated program has been updated.

第1実施形態では、異常時シーケンスBにおいて、リカバリフォルダから工場出荷状態のプログラムをローディングした。これに代えて、異常時シーケンスBにおいて、ブートフラグをチェックし、現在有効ではないプログラムフォルダ、すなわち、更新前の動作実績のある旧バージョンのプログラムをローディングしてもよい。   In the first embodiment, the program in the factory shipment state is loaded from the recovery folder in the abnormal sequence B. Alternatively, in the abnormal sequence B, the boot flag may be checked, and a program folder that is not currently valid, that is, an old version program with an operation record before update may be loaded.

また、第1実施形態では、マスタ機器3が各スレーブ機器4のプログラム更新処理、及び、リカバリ処理を行う場合について説明した。本発明は、これに限られるものではなく、自己が使用するアプリケーションプログラムについて、各スレーブ機器4でプログラム更新処理、及び、リカバリ処理を行ってもよい。   Further, in the first embodiment, the case where the master device 3 performs the program update process and the recovery process of each slave device 4 has been described. The present invention is not limited to this, and the program update process and the recovery process may be performed in each slave device 4 for the application program used by itself.

<その他>
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
第1のバージョンのプログラムを格納する第1格納部と、
前記第1のバージョンと同じ又は前記第1のバージョンよりも新しいバージョンである第2のバージョンのプログラムを格納する第2格納部と、
前記第2のバージョンのプログラムと前記第2のバージョンのプログラムよりもバージョンが新しい第3のバージョンのプログラムとの差分を取得する取得部と、
前記第2格納部に格納される前記第2のバージョンのプログラムと前記取得部によって取得した差分とから前記第3のバージョンのプログラムを生成し、前記生成した第3のバージョンのプログラムを前記第1格納部に格納する更新部と
を備えるプログラム更新装置。
(付記2)
前記第1格納部と前記第2格納部とのどちらに格納されているプログラムを使用するかを示す情報を保持する記憶部をさらに備え、
前記更新部は、前記取得した差分と、前記第2格納部に格納される前記第2のバージョンのプログラムと、から前記第3のバージョンのプログラムを生成し、前記生成した第3のバージョンのプログラムを前記第1格納部に格納した場合に、前記記憶部によって保持される前記情報を前記第1格納部に格納されているプログラムを使用することを示す情報に更新する
請求項1に記載のプログラム更新装置。
(付記3)
前記差分を取得する処理、前記第3のバージョンのプログラムを生成する処理、及び、前記生成した第3のプログラムを第1格納部に格納する処理のそれぞれについて処理の完了を示す管理情報を格納する管理情報格納部を
さらに備え、
前記更新部は、前記差分を取得する処理、前記第3のバージョンのプログラムを生成する処理、及び、前記生成した第3のプログラムを第1格納部に格納する処理の各処理が完了した場合に、該処理の完了を示す管理情報を前記管理情報格納部に格納し、前一連の処理が中断された場合に、前記管理情報格納部に格納されている管理情報に基づいて、処理の完了が示されていない処理を実行する
請求項1に記載のプログラム更新装置。
(付記4)
第1のバージョンのプログラムを格納する第1格納部と、
前記第1のバージョンと同じ又は前記第1のバージョンよりもバージョンが新しい第2のバージョンのプログラムを格納する第2格納部と、を備えるコンピュータが、
前記第2のバージョンのプログラムと前記第2のバージョンよりもバージョンが新しい第3のバージョンのプログラムとの差分を取得するステップと、
前記第2格納部に格納される前記第2のバージョンのプログラムと前記取得した差分とから前記第3のバージョンのプログラムを生成するステップと、
前記第1格納部に格納される前記第1のバージョンのプログラムを削除して、前記生成した第3のバージョンのプログラムを前記第1格納部に格納するステップと、を実行するプログラム更新方法。
(付記5)
工場出荷時のバージョンのプログラムと前記工場出荷時のバージョンよりも新しいバージョンである第1のバージョンのプログラムとを格納した補助記憶装置と、
前記補助記憶装置からローディングされた前記第1のバージョンのプログラムを保持する主記憶装置と、
電源投入時に前記主記憶装置に保持される第1のバージョンのプログラムを起動するCPUと、を備える装置であって、
前記CPUは、
前記主記憶装置に保持される第1のバージョンのプログラムにエラーがある場合、及び、前記主記憶装置に保持される第1のバージョンのプログラムが今回の電源投入時までの間に所定回数以上動作を中断させていた場合には、前記補助記憶装置に格納された前記第1のバージョンのプログラムを前記主記憶装置にローディングし、
前記主記憶装置に保持される第1のバージョンのプログラムが今回の電源投入時までの間に所定回数以上ローディングに失敗している場合には、前記補助記憶装置に格納された前記工場出荷時のバージョンのプログラムを前記主記憶装置にローディングする
情報処理装置。
<Others>
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A first storage for storing a first version of the program;
A second storage for storing a second version of the program that is the same as or newer than the first version;
An acquisition unit that acquires a difference between the second version program and a third version program that is newer than the second version program;
The third version program is generated from the second version program stored in the second storage unit and the difference acquired by the acquisition unit, and the generated third version program is stored in the first version program. A program update apparatus comprising: an update unit stored in a storage unit.
(Appendix 2)
A storage unit that holds information indicating whether to use a program stored in the first storage unit or the second storage unit;
The update unit generates the third version program from the acquired difference and the second version program stored in the second storage unit, and the generated third version program 2. The program according to claim 1, wherein the information stored in the storage unit is updated to information indicating that the program stored in the first storage unit is to be used when stored in the first storage unit. Update device.
(Appendix 3)
Management information indicating completion of processing is stored for each of the processing for obtaining the difference, the processing for generating the third version program, and the processing for storing the generated third program in the first storage unit. A management information storage unit;
When the update unit completes the process of acquiring the difference, the process of generating the third version of the program, and the process of storing the generated third program in the first storage unit The management information indicating the completion of the processing is stored in the management information storage unit, and when the previous series of processing is interrupted, the processing is completed based on the management information stored in the management information storage unit. The program update apparatus according to claim 1, wherein the program update apparatus executes a process not shown.
(Appendix 4)
A first storage for storing a first version of the program;
A second storage unit that stores a second version of a program that is the same as or newer than the first version;
Obtaining a difference between the second version of the program and a third version of the program that is newer than the second version;
Generating the third version of the program from the second version of the program stored in the second storage and the acquired difference;
Deleting the first version of the program stored in the first storage unit and storing the generated third version of the program in the first storage unit.
(Appendix 5)
An auxiliary storage device storing a factory-shipped version program and a first-version program that is newer than the factory-shipped version;
A main storage for holding the first version of the program loaded from the auxiliary storage;
A CPU that activates a first version of the program held in the main storage device when the power is turned on,
The CPU
When there is an error in the first version of the program held in the main storage device, and the first version of the program held in the main storage device operates a predetermined number of times before the power is turned on this time If the program is interrupted, the first version of the program stored in the auxiliary storage device is loaded into the main storage device,
If the first version of the program stored in the main storage device has failed to load more than a predetermined number of times before the power is turned on this time, the initial version program stored in the auxiliary storage device An information processing apparatus for loading a version program into the main storage device.

1 車載器
2 携帯電話/DCM
3 マスタ機器
4 スレーブ機器
5 デッキ
31 通信部
32 ダウンロード選択部
33 バージョン情報収集部
34 プログラム更新部
35 スレーブ通信部
36 HDD
37 DRAM
38 FROM
41 親マイコン
42 子マイコン
411 機器通信部
412 プログラム更新部
413 バージョン情報収集部
414 通信部
421 通信部
422 プログラム更新部
1 Onboard equipment 2 Mobile phone / DCM
3 Master device 4 Slave device 5 Deck 31 Communication unit 32 Download selection unit 33 Version information collection unit 34 Program update unit 35 Slave communication unit 36 HDD
37 DRAM
38 FROM
41 parent microcomputer 42 child microcomputer 411 device communication unit 412 program update unit 413 version information collection unit 414 communication unit 421 communication unit 422 program update unit

Claims (1)

工場出荷時のバージョンのプログラムと前記工場出荷時のバージョンよりも新しいバージョンである第1のバージョンのプログラムとを格納した補助記憶装置と、
前記補助記憶装置からローディングされた前記第1のバージョンのプログラムを保持する主記憶装置と、
電源投入時に前記主記憶装置に保持される第1のバージョンのプログラムを起動するCPUと、を備える装置であって、
前記CPUは、
前記主記憶装置に保持される第1のバージョンのプログラムにエラーがある場合、及び、前記主記憶装置に保持される第1のバージョンのプログラムが今回の電源投入時までの間に所定回数以上動作を中断させていた場合には、前記補助記憶装置に格納された前記第1のバージョンのプログラムを前記主記憶装置にローディングし、
前記主記憶装置に保持される第1のバージョンのプログラムが今回の電源投入時までの間に所定回数以上ローディングに失敗している場合には、前記補助記憶装置に格納された前記工場出荷時のバージョンのプログラムを前記主記憶装置にローディングする
情報処理装置。
An auxiliary storage device storing a factory-shipped version program and a first-version program that is newer than the factory-shipped version;
A main storage for holding the first version of the program loaded from the auxiliary storage;
A CPU that activates a first version of the program held in the main storage device when the power is turned on,
The CPU
When there is an error in the first version of the program held in the main storage device, and the first version of the program held in the main storage device operates a predetermined number of times before the power is turned on this time If the program is interrupted, the first version of the program stored in the auxiliary storage device is loaded into the main storage device,
If the first version of the program stored in the main storage device has failed to load more than a predetermined number of times before the power is turned on this time, the initial version program stored in the auxiliary storage device An information processing apparatus for loading a version program into the main storage device.
JP2012137193A 2012-06-18 2012-06-18 Information processing device Pending JP2012198929A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012137193A JP2012198929A (en) 2012-06-18 2012-06-18 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012137193A JP2012198929A (en) 2012-06-18 2012-06-18 Information processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009040291A Division JP2010198155A (en) 2009-02-24 2009-02-24 Device and method for updating program, and information processing apparatus

Publications (1)

Publication Number Publication Date
JP2012198929A true JP2012198929A (en) 2012-10-18

Family

ID=47181016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012137193A Pending JP2012198929A (en) 2012-06-18 2012-06-18 Information processing device

Country Status (1)

Country Link
JP (1) JP2012198929A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015041334A (en) * 2013-08-23 2015-03-02 矢崎エナジーシステム株式会社 In-vehicle software updating apparatus
JP2017510008A (en) * 2014-12-22 2017-04-06 小米科技有限責任公司Xiaomi Inc. Firmware restoration method, apparatus, terminal, program, and recording medium
JP7345921B2 (en) 2021-05-19 2023-09-19 シャンハイ・アブプ・テクノロジー・カンパニー・リミテッド OTA differential update method and system for master-slave architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265282A (en) * 1998-03-17 1999-09-28 Toshiba Corp Controller for automatic vending machine
JP2005222366A (en) * 2004-02-06 2005-08-18 Nippon Telegr & Teleph Corp <Ntt> Automatic recovery method, program, program recording medium, processor
JP2006172098A (en) * 2004-12-15 2006-06-29 Nec Access Technica Ltd Packet communication device, rebooting method in packet communication device, and program
JP2008299857A (en) * 2008-06-06 2008-12-11 Fujitsu Ltd Semiconductor device
JP2009522664A (en) * 2006-01-03 2009-06-11 エヌイーシー ラボラトリーズ アメリカ インク Method and system usable in sensor networks to handle memory failures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265282A (en) * 1998-03-17 1999-09-28 Toshiba Corp Controller for automatic vending machine
JP2005222366A (en) * 2004-02-06 2005-08-18 Nippon Telegr & Teleph Corp <Ntt> Automatic recovery method, program, program recording medium, processor
JP2006172098A (en) * 2004-12-15 2006-06-29 Nec Access Technica Ltd Packet communication device, rebooting method in packet communication device, and program
JP2009522664A (en) * 2006-01-03 2009-06-11 エヌイーシー ラボラトリーズ アメリカ インク Method and system usable in sensor networks to handle memory failures
JP2008299857A (en) * 2008-06-06 2008-12-11 Fujitsu Ltd Semiconductor device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015041334A (en) * 2013-08-23 2015-03-02 矢崎エナジーシステム株式会社 In-vehicle software updating apparatus
JP2017510008A (en) * 2014-12-22 2017-04-06 小米科技有限責任公司Xiaomi Inc. Firmware restoration method, apparatus, terminal, program, and recording medium
US10528434B2 (en) 2014-12-22 2020-01-07 Xiaomi Inc. Method, device and terminal for restoring firmware program
JP7345921B2 (en) 2021-05-19 2023-09-19 シャンハイ・アブプ・テクノロジー・カンパニー・リミテッド OTA differential update method and system for master-slave architecture

Similar Documents

Publication Publication Date Title
JP2010198155A (en) Device and method for updating program, and information processing apparatus
US20040103340A1 (en) Upgrading of firmware with tolerance to failures
US6928579B2 (en) Crash recovery system
US7334157B1 (en) Restore of data to a computer system having different hardware
JP5346253B2 (en) Firmware update system, information device, and program
US20160306624A1 (en) Vehicle control storage methods and systems
JP5997740B2 (en) Online update method for in-vehicle devices
JP4815938B2 (en) Information processing apparatus and method, and program
US20030225986A1 (en) Program install method, file renewal method, program and computer system
CN112416406B (en) Terminal equipment upgrading method, device, terminal equipment and medium
CN113821235B (en) Operating system data updating method, device, storage medium and program product
JP2008506304A (en) Radio base station and radio base station operation method
CN104915226A (en) Network device software starting method, device and network device
CN111104148A (en) Upgrading method and system for chip platform integrated with Linux system and android system and readable storage medium
CN104063256A (en) Partition and firmware upgrading method based on minimum operating system
JP2012198929A (en) Information processing device
JP2023168511A (en) Control device, method, program and vehicle
CN110764486B (en) Method and device for operating vehicle-mounted controller, vehicle-mounted controller and storage medium
JP2001331327A (en) Electronic equipment
CN109213504B (en) Stack-type file system and loading method and upgrading method thereof
JP2006011647A (en) Software management device
CN106775874B (en) System upgrading method of terminal equipment
CN117407020A (en) OTA upgrade refreshing method and device, electronic equipment and storage medium
JP5084853B2 (en) Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program
KR100832269B1 (en) Program update method and system for wireless communication terminal

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507