JP2010225012A - Electronic appliance and program update method - Google Patents

Electronic appliance and program update method Download PDF

Info

Publication number
JP2010225012A
JP2010225012A JP2009073222A JP2009073222A JP2010225012A JP 2010225012 A JP2010225012 A JP 2010225012A JP 2009073222 A JP2009073222 A JP 2009073222A JP 2009073222 A JP2009073222 A JP 2009073222A JP 2010225012 A JP2010225012 A JP 2010225012A
Authority
JP
Japan
Prior art keywords
program
update
power supply
power
memory
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
Application number
JP2009073222A
Other languages
Japanese (ja)
Other versions
JP5349104B2 (en
Inventor
Toshiaki Onishi
敏明 大西
Katsuaki Akama
勝明 赤間
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.)
Fujitsu Ltd
Fujitsu Peripherals Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Peripherals Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Peripherals Ltd filed Critical Fujitsu Ltd
Priority to JP2009073222A priority Critical patent/JP5349104B2/en
Publication of JP2010225012A publication Critical patent/JP2010225012A/en
Application granted granted Critical
Publication of JP5349104B2 publication Critical patent/JP5349104B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve reliability of a program update function for completing update after power supply recovery even when power supply is interrupted during the update. <P>SOLUTION: In program update for modifying a part of a program embedded in an electronic appliance, while the electronic appliance is operable by power from a first power supply, a block as a part of the program is rewritten on the basis of the differential data, information indicating the progress of overwrite is stored in a memory circuit which has a second power source and a memory and performs read/write operation to a memory by power from the second power supply, overwrite of a part of the program interrupted due to interruption of power supply from a first power supply is restarted from an incomplete stage on the basis of information stored in the memory circuit when power supply from the first power supply is restarted. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、プログラムに従う動作をする電子機器および電子機器に組み込まれたプログラムを更新する方法に関する。   The present invention relates to an electronic device that operates according to a program and a method for updating a program incorporated in the electronic device.

携帯電話機は、通話、電子メール送受、撮影、ウェブサイトのブラウジング、ゲームなどの多くの機能をもつ電子機器である。これら機能を実現するため、携帯電話機にはデータ量が50〜100Mバイトまたはそれ以上のプログラムが組み込まれている。一般に、プログラムの記憶には書換え可能な不揮発性メモリが用いられているので、組み込まれているプログラムを改良や修正をしたプログラムに更新することができる。   A mobile phone is an electronic device having many functions such as calling, sending and receiving e-mails, shooting, website browsing, and games. In order to realize these functions, a program having a data amount of 50 to 100 Mbytes or more is incorporated in the mobile phone. In general, a rewritable non-volatile memory is used for storing the program, so that the incorporated program can be updated to an improved or modified program.

近年の携帯電話機は自動的にプログラムを更新する、いわゆるエアーダウンロード機能を有している。この機能は、サーバが配信する更新用のデータを無線通信によって受信し、不揮発性メモリが記憶するプログラムを受信したデータに基づいて部分的に書き換える。更新中はユーザによる操作が受け付けられず、操作の有無に係わらず更新のための処理が強制的に実行される。このため、ユーザへの配慮として、通常は携帯電話機の使用が統計的に少ない深夜の時間帯に更新が行われ、前もって電子メールによって更新の予定日時がユーザに通知される。   Mobile phones in recent years have a so-called air download function that automatically updates a program. This function receives update data distributed by the server by wireless communication, and partially rewrites the program stored in the nonvolatile memory based on the received data. During the update, the operation by the user is not accepted, and the process for update is forcibly executed regardless of the presence or absence of the operation. For this reason, as a consideration for the user, the update is normally performed in the late-night time period when the use of the mobile phone is statistically small, and the user is notified of the scheduled update date and time by e-mail in advance.

しかし、ユーザがプログラムの自動更新を途中で止めようとして携帯電話機から電池を取り外してしまうことがある。システムダウンによって自動更新が中止されると、その後に電池が装着されて電源が復帰しても携帯電話機が正常に動作しない場合が起こり得る。プログラムの一部が消失したり記憶状態が不安定になったりすることがその原因である。この場合のプログラムの復旧は販売店やサービスセンタにて行われる。   However, the user may remove the battery from the mobile phone in an attempt to stop the automatic program update. If the automatic update is stopped due to a system down, the mobile phone may not operate normally even if a battery is subsequently installed and the power is restored. The cause is that a part of the program disappears or the memory state becomes unstable. In this case, the program is restored at a dealer or a service center.

プログラムの自動更新に関して、書換えの前にプログラムをバックアップしておき、プログラムを記憶する不揮発性メモリ内に書換え中を示すフラグを設定してから書換えを開始する先行技術がある(特許文献1)。更新途中で電源が遮断されても、フラグは書換え中を示し続ける。電源復帰後にフラグがチェックされ、フラグが書換え中を示していれば、バックアップデータを用いて更新開始前のプログラムを記憶したメモリ状態が復元される。それによって更新のやり直しが可能となる。   Regarding automatic program update, there is a prior art in which a program is backed up before rewriting, and rewriting is started after a flag indicating rewriting is set in a nonvolatile memory storing the program (Patent Document 1). Even if the power is cut off during the update, the flag continues to indicate that rewriting is in progress. The flag is checked after the power is restored, and if the flag indicates that rewriting is in progress, the memory state storing the program before the update start is restored using the backup data. As a result, the update can be redone.

特開2005−215841号公報JP 2005-215841 A

上記の先行技術には、プログラムの書換え中か否かを示すフラグ自体を書き換える最中に電源が遮断された場合に、フラグのビット値が不安定になる問題がある。書換え中を示すべきものが書換え完了を示したり、逆に書換え完了を示すべきものがそうでなかったりすると、プログラムを正しく更新することができない。   The above prior art has a problem that the bit value of the flag becomes unstable when the power is shut off while the flag indicating whether or not the program is being rewritten is being rewritten. The program cannot be correctly updated if the rewriting in progress indicates rewriting completion, or the rewriting completion does not indicate.

本発明は、このような事情に鑑み、更新途中で電源が遮断されても電源復帰後に更新を完結させるプログラム更新機能の信頼性を高めることを目的としている。   In view of such circumstances, an object of the present invention is to improve the reliability of a program update function that completes an update after power is restored even if the power is shut off during the update.

上記目的を達成する電子機器は、プログラムに従う動作をする電子機器であって、第1電源によって電力を供給する電源回路と、第2電源およびメモリを有し、前記第2電源からの電力によって前記メモリに対するリードライト動作をするメモリ回路と、前記プログラムを記憶するプログラム記憶部と、前記プログラムの一部である少なくとも一つのブロックの変更内容を示す差分データを記憶する差分データ記憶部と、前記電源回路が電力を供給する状態において、前記ブロックを前記差分データに基づいて書き換えるプログラム更新部と、前記電源回路が電力を供給する状態において、前記プログラム更新部による書換えの進行段階を示す情報を前記メモリ回路に記憶させる更新管理部と、前記電源回路が電力を供給しない状態から供給する状態になったときに、前記メモリ回路が記憶する情報を参照して、前記ブロックの書換えを未完の段階から再開する更新補助部と、を備える。   An electronic device that achieves the above object is an electronic device that operates in accordance with a program, and includes a power supply circuit that supplies power by a first power supply, a second power supply, and a memory, and the power from the second power supply is A memory circuit that performs a read / write operation on the memory; a program storage unit that stores the program; a differential data storage unit that stores difference data indicating changes in at least one block that is part of the program; and the power supply A program update unit that rewrites the block based on the difference data in a state in which the circuit supplies power, and information that indicates a progress stage of rewriting by the program update unit in a state in which the power supply circuit supplies power. Update management unit to be stored in the circuit, and supply from a state where the power supply circuit does not supply power When it is that condition, the by referring to the information memory circuit stores, and a resume updating auxiliary section rewritten from unfinished stage of the block.

上記目的を達成する方法は、電子機器に組み込まれたプログラムを部分的に変更するプログラム更新方法であって、前記電子機器が第1電源からの電力によって作動可能な状態において、前記プログラムの一部であるブロックを差分データに基づいて書き換えるとともに、書換えの進行段階を示す情報を第2電源およびメモリを有しかつ前記第2電源からの電力によって前記メモリに対するリードライト動作をするメモリ回路によって記憶し、前記第1電源からの電力供給の停止に伴って中断された前記プログラムの一部の書換えを、前記第1電源からの電力供給が再開されたときに、前記メモリ回路が記憶する情報に基づいて、未完の段階から再開する。   A method for achieving the above object is a program update method for partially changing a program incorporated in an electronic device, wherein the electronic device is partially operable in a state where the electronic device can be operated by electric power from a first power source. Is rewritten based on the difference data, and information indicating the progress stage of rewriting is stored in a memory circuit having a second power source and a memory and performing a read / write operation on the memory with power from the second power source. Based on the information stored in the memory circuit, when the power supply from the first power supply is resumed, the rewriting of the part of the program interrupted due to the stop of the power supply from the first power supply is performed. And resume from the unfinished stage.

メモリ回路は第2電源からの電力によってリードライト動作をするので、プログラム更新部による書換えの進行段階を示す情報をメモリ回路内のメモリに書き込んでいる最中に第1電源による電力供給が停止しても、情報の書き込みに支障はない。書き込まれた情報は、メモリが不揮発性であるか第2電源により記憶状態が保たれるかしてメモリ回路内で保持される。第1電源による電力供給が再開されたとき、メモリ回路内の情報を参照することにより、プログラム更新部による書換えがどの段階まで終わったかを判断し、未完の段階から書換えを再開することができる。プログラム更新部による書換えを最初からやり直す必要はない。   Since the memory circuit performs a read / write operation with the power from the second power supply, the power supply from the first power supply is stopped while the information indicating the progress of rewriting by the program update unit is being written to the memory in the memory circuit. However, there is no problem in writing information. The written information is held in the memory circuit depending on whether the memory is nonvolatile or the storage state is maintained by the second power supply. When power supply by the first power supply is resumed, it is possible to determine to which stage the rewriting by the program update unit has been completed by referring to the information in the memory circuit, and to rewrite from an incomplete stage. There is no need to rewrite from the beginning by the program update unit.

本発明によれば、プログラムの更新の進行段階を正しく示す情報を記憶させることができるので、更新途中で電源が遮断されても電源復帰後に更新を完結させるプログラム更新機能の信頼性が高まる。   According to the present invention, it is possible to store information that correctly indicates the progress stage of the program update, so that the reliability of the program update function that completes the update after the power is restored even if the power is shut off during the update is enhanced.

プログラム更新の手順の概要を示す図である。It is a figure which shows the outline | summary of the procedure of a program update. 書換え状態フラグと電源復帰後に行う処理との関係を示す図である。It is a figure which shows the relationship between the rewriting status flag and the process performed after a power supply return. 携帯電話機のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a mobile telephone. 携帯電話機に内蔵されたICチップのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of IC chip incorporated in the mobile telephone. ICチップにおけるファイル構造の一例を示す図である。It is a figure which shows an example of the file structure in an IC chip. 携帯電話機の要部の機能構成を示す図である。It is a figure which shows the function structure of the principal part of a mobile telephone. 電源復帰後の起動処理のフローチャートである。It is a flowchart of the starting process after a power supply return. 更新の再開処理のフローチャートである。It is a flowchart of an update restart process. メモリ復旧用バッファの準備処理のフローチャートである。10 is a flowchart of a memory recovery buffer preparation process. 差分反映バッファの準備処理のフローチャートである。It is a flowchart of the preparation process of a difference reflection buffer. 差分書換え処理のフローチャートである。It is a flowchart of a difference rewriting process. プログラム動作メモリ書換え処理のフローチャートである。It is a flowchart of a program operation memory rewriting process. ICチップの動作を示すフローチャートである。It is a flowchart which shows operation | movement of an IC chip. 書換え状態フラグと電源復帰後に行う処理との関係の他の例を示す図である。It is a figure which shows the other example of the relationship between a rewriting state flag and the process performed after a power supply return. 更新の再開処理の変形例のフローチャートである。It is a flowchart of the modification of the restart process of an update.

プログラムを更新する電子機器の一例として携帯電話機を挙げる。ただし、動作を制御するプログラムの組み込まれる電子機器であれば、以下に説明するプログラム更新機能は有用である。携帯電話機はプログラムの更新の内容を示すデータを無線通信によって取得する。無線通信機能を有していない電子機器においては、オンライン通信やリムーバブルメモリデバイスを用いる方法によって更新内容を示すデータの授受が行われる。   A mobile phone is given as an example of an electronic device that updates a program. However, the program update function described below is useful for an electronic device in which a program for controlling operations is incorporated. The mobile phone acquires data indicating the contents of the program update by wireless communication. In an electronic device that does not have a wireless communication function, data indicating update contents is exchanged by online communication or a method using a removable memory device.

図1に示されるように、更新の対象となるプログラムは書換え可能なROM16のメモリ領域の一部であるプログラム格納領域60に書き込まれている。携帯電話機の動作のほぼ全般がこのプログラムに従う。言い換えれば、プログラムは携帯電話機1の動作を制御する。プログラム更新はプログラム格納領域60を占めるプログラムのうちの一部分を対象とするものであり、予め定められた一定データ量のアドレス空間を単位としてプログラム格納領域60のビットデータを書き換える。以下では、プログラムのうち、書換えの1単位分のアドレス空間に書き込まれている部分を“ブロック”と呼称する。通常、更新は複数のブロックについて行われる。複数のブロックのうちの幾つかのアドレスが連続している場合もあれば、全てのブロックのアドレスが互いの間で連続していない場合もあり得る。いずれにしても1ブロックずつ順に更新される。   As shown in FIG. 1, the program to be updated is written in a program storage area 60 that is a part of the memory area of the rewritable ROM 16. Almost all operations of mobile phones follow this program. In other words, the program controls the operation of the mobile phone 1. The program update is for a part of the program occupying the program storage area 60, and the bit data in the program storage area 60 is rewritten in units of an address space having a predetermined fixed amount of data. Hereinafter, a portion of the program written in the address space for one unit of rewriting is referred to as “block”. Usually, the update is performed for a plurality of blocks. Some addresses of the plurality of blocks may be continuous, or all the addresses of all the blocks may not be continuous between each other. In any case, it is updated one block at a time.

図1の例では3個のブロック61,62,63が更新の対象である。ただし、実際には4個以上のブロックが対象となることが多い。3個のブロック61,62,63のうち、1番目のブロック61については既に更新が終わっており、2番目のブロック62が現時点の更新対象である。3番目のブロック63はブロック62の更新が終わった後に書換えが予定されている次の更新対象である。   In the example of FIG. 1, three blocks 61, 62, and 63 are to be updated. However, in practice, four or more blocks are often targeted. Of the three blocks 61, 62, 63, the first block 61 has already been updated, and the second block 62 is the current update target. The third block 63 is the next update target scheduled to be rewritten after the block 62 has been updated.

各ブロックの更新において、基本的には4段階の処理が行われる。図中、各段階が[1]、[2]、[3]、[4]で表わされている。   In updating each block, four stages of processing are basically performed. In the figure, each stage is represented by [1], [2], [3], [4].

第1段階の処理[1]は、ROM16内にバックアップ用に設けられたメモリ復旧用バッファ65に、プログラム格納領域60から現在の更新対象である1個のブロック62を複写する。   In the first step [1], one block 62 that is the current update target is copied from the program storage area 60 to the memory recovery buffer 65 provided for backup in the ROM 16.

第2段階の処理[2]は、RAM17内に作業用メモリ領域として設けられた差分反映バッファ75に、プログラム格納領域60(またはメモリ復旧用バッファ65)からブロック62を複写する。   In the process [2] in the second stage, the block 62 is copied from the program storage area 60 (or the memory restoration buffer 65) to the difference reflection buffer 75 provided as a working memory area in the RAM 17.

第3段階の処理[3]は、予めサーバから無線通信によりダウンロードされてROM16内のメモリ領域64に格納されている差分データを差分反映バッファ75のブロック62に適用する。すなわち、差分反映バッファ75においてプログラム格納領域60への書込み用データ(書込みイメージ)を作成する。差分データは圧縮されているので、第3段階ではデータの伸長が行われる。   In the third step [3], the difference data downloaded in advance from the server by wireless communication and stored in the memory area 64 in the ROM 16 is applied to the block 62 of the difference reflection buffer 75. That is, write data (write image) to the program storage area 60 is created in the difference reflection buffer 75. Since the difference data is compressed, the data is expanded in the third stage.

第4段階の処理[4]は、プログラム格納領域60のブロック62に代えて、差分反映バッファ75内の書込み用データを記憶させる。すなわち、プログラム格納領域60のブロック62を書込み用データに書き換える。書換えが完了した時点でブロック62についての更新が終わる。   In the fourth step [4], the write data in the difference reflection buffer 75 is stored in place of the block 62 in the program storage area 60. That is, the block 62 in the program storage area 60 is rewritten with write data. When the rewriting is completed, the update for the block 62 ends.

これら4段階の処理の進行状況を管理するために書換え状態フラグ5が用いられる。書換え状態フラグ5の内容は、各段階の処理の開始時点および完了時点で更新される。書換え状態フラグ5を参照すれば、各ブロックの更新がどの段階まで進んだかが分かる。   A rewrite status flag 5 is used to manage the progress of these four stages of processing. The contents of the rewrite status flag 5 are updated at the start time and completion time of each stage of processing. By referring to the rewrite status flag 5, it can be known to which stage the update of each block has progressed.

本実施形態においては、書換え状態フラグ5は携帯電話機に内蔵されるICチップ2内の不揮発性メモリ26に記憶される。ICチップ2に記憶させることにより、後述のように書換え状態フラグ5の信頼性が高まるので、ROM16に記憶させるのとは違って、複数のフラグを設けてフラグ状態の真偽を確認するといった複雑な制御が不要となる。   In the present embodiment, the rewrite status flag 5 is stored in the nonvolatile memory 26 in the IC chip 2 built in the mobile phone. By storing in the IC chip 2, the reliability of the rewrite status flag 5 increases as will be described later. Unlike storing in the ROM 16, it is complicated to provide a plurality of flags and confirm the authenticity of the flag status. Control becomes unnecessary.

書換え状態フラグ5を記憶させるのは、複数のブロックを順に書き換える一連の更新の途中で主電源の電池による電力供給が停止する事態への対策である。一連の更新は電池の蓄電量が十分であることを確認してから開始されるので、更新途中で電力が不足することは通常は起こらないが、携帯電話機のユーザが電池を取り外す可能性がある。電力供給が停止すると、その時点で必然的に更新のための処理の実行が止まる。ROM16の内容は保持されるが、差分反映バッファ75の内容は消失する。その後、電池が再び装着された主電源が復帰したとき、電源断で中断した更新を完結させなければプログラム格納領域60内で新旧のプログラムが混在し、そのために携帯電話機の動作に支障の生じるおそれがある。そこで、書換え状態フラグ5が利用される。主電源が復帰したとき書換え状態フラグ5を参照すれば、更新を未完の段階から再開して完結させることができる。   The rewrite status flag 5 is stored as a countermeasure against a situation where the power supply by the battery of the main power supply stops during a series of updates in which a plurality of blocks are rewritten in order. Since a series of updates starts after confirming that the battery has enough charge, a power shortage usually does not occur during the update, but the user of the mobile phone may remove the battery . When the power supply is stopped, the execution of the update process is inevitably stopped at that time. The contents of the ROM 16 are retained, but the contents of the difference reflection buffer 75 are lost. After that, when the main power supply with the battery mounted again is restored, if the update interrupted by the power interruption is not completed, the old and new programs may be mixed in the program storage area 60, which may hinder the operation of the mobile phone. There is. Therefore, the rewrite status flag 5 is used. If the rewrite status flag 5 is referred to when the main power supply is restored, the update can be resumed from the incomplete stage and completed.

図2は主電源が復帰したときに4段階のうちのどの段階から再開すればよいかを示す。書換え状態フラグ5が、「初期状態」または「メモリ復旧用バッファ書換え中」であれば、第1段階の前または途中で電源が遮断されたことを示すので、この場合は第1段階の処理[1]から再開する。書換え状態フラグ5が、「メモリ復旧用バッファ書換え完了」、「差分反映バッファ書換え中」、「差分反映バッファ書換え完了」、「差分書換え中」または「差分書換え完了」であれば、第2段階の処理[2]から再開する。そして、書換え状態フラグ5が「プログラム動作メモリ書換え中」であれば、第4段階の途中で電源が遮断されたことを示す。この場合はメモリ復旧用バッファ65にバックアップしておいたブロック62をプログラム格納領域60に複写してプログラム格納領域60を復旧する処理[5]を行った後に、再び処理[1]〜[4]を行う。ただし、メモリ復旧用バッファ65にブロック62が既にバックアップされているので、処理[2]を省略することができる。処理[2]を省略せずに処理[1]からやり直すのには、処理の管理を単純化することができるという利点がある。なお、復旧する処理[5]を行う理由は、処理[4]の途中での電源断によってプログラム格納領域60におけるブロック62に対応したデータが壊れている可能性があるからである。   FIG. 2 shows which stage of the four stages should be resumed when the main power supply is restored. If the rewrite status flag 5 is “initial state” or “memory recovery buffer rewriting”, it indicates that the power has been shut off before or during the first stage. In this case, the first stage process [ Resume from 1]. If the rewrite status flag 5 is “memory recovery buffer rewriting complete”, “difference reflection buffer rewriting in progress”, “difference reflection buffer rewriting complete”, “differential rewriting complete” or “differential rewriting complete”, Resume from processing [2]. If the rewrite status flag 5 is “program operation memory rewriting”, it indicates that the power supply is cut off during the fourth stage. In this case, after the process [5] for restoring the program storage area 60 by copying the block 62 backed up in the memory recovery buffer 65 to the program storage area 60, the processes [1] to [4] are performed again. I do. However, since the block 62 has already been backed up in the memory recovery buffer 65, the process [2] can be omitted. Redoing the process [1] without omitting the process [2] has an advantage that the management of the process can be simplified. The reason why the process [5] to be restored is performed is that the data corresponding to the block 62 in the program storage area 60 may be broken due to the power interruption during the process [4].

以下、携帯電話機の構成をさらに詳しく説明する。   Hereinafter, the configuration of the mobile phone will be described in more detail.

図3のように、携帯電話機1は通話や電子メールを含む種々の機能を実現する主要部である本体1Aと、電子マネーに代表される付加機能に係るIC(Integrated Circuit)チップ2を備える。ICチップ2は、本体1Aの回路基板に固定的に組み付ける形で携帯電話機1に内蔵されている。   As shown in FIG. 3, the mobile phone 1 includes a main body 1A that is a main part that realizes various functions including telephone calls and e-mails, and an IC (Integrated Circuit) chip 2 related to additional functions represented by electronic money. The IC chip 2 is built in the cellular phone 1 in a form that is fixedly assembled to the circuit board of the main body 1A.

本体1Aは、CPU10、表示回路11、無線通信回路13、電源回路14、上述のROM16、上述のRAM17、非接触リードライタ19、およびアクセスLED(Light Emitting Diode)19を備える。   The main body 1 </ b> A includes a CPU 10, a display circuit 11, a wireless communication circuit 13, a power supply circuit 14, the above-described ROM 16, the above-described RAM 17, a non-contact reader / writer 19, and an access LED (Light Emitting Diode) 19.

CPU10は、ROM16に書き込むことで携帯電話機1に組み込まれているプログラムを実行し、携帯電話機1の動作を制御する。CPU10によって携帯電話機1の機能が実現される。携帯電話機1の機能には、プログラムの差分データを配信するサーバと通信してプログラムを自動的に更新する機能が含まれる。   The CPU 10 executes a program incorporated in the mobile phone 1 by writing in the ROM 16 and controls the operation of the mobile phone 1. The function of the mobile phone 1 is realized by the CPU 10. The function of the mobile phone 1 includes a function of automatically updating the program by communicating with a server that distributes the difference data of the program.

表示回路11は、液晶ディスプレイ12を有し、待ち受け画面を含む各種の操作画面を表示する。プログラムの更新に関する表示には、前もって更新の日時を知らせるメッセージや更新中を知らせるメッセージの表示がある。   The display circuit 11 has a liquid crystal display 12 and displays various operation screens including a standby screen. There are two types of display related to program updates: a message that informs the date and time of the update and a message that informs that the update is in progress.

無線通信回路13は、通話およびデータ通信における送受信を担う。プログラムの差分データは、無線通信回路13によってサーバからダウンロードされる。   The wireless communication circuit 13 is responsible for transmission / reception in telephone calls and data communication. The difference data of the program is downloaded from the server by the wireless communication circuit 13.

電源回路14は、第1電源としての充電型の電池15からの電力を、CPU10をはじめとする本体1A内の電力消費要素に供給する。また、外部電源が接続されたときには、電源回路14は電池15を充電する。電池15は本体1Aに対して着脱可能である。これにより交換が容易であるものの、プログラムの更新動作中にユーザによって電池15が取り外されてしまう事態が起こり得る。   The power supply circuit 14 supplies the power from the rechargeable battery 15 as the first power supply to the power consuming elements in the main body 1 </ b> A including the CPU 10. Further, when an external power supply is connected, the power supply circuit 14 charges the battery 15. The battery 15 is detachable from the main body 1A. Although this makes it easy to replace the battery 15, a situation may occur in which the battery 15 is removed by the user during the program update operation.

ROM16は不揮発性のメモリデバイスである。本実施形態では、ROM16としてNOR型のフラッシュメモリが用いられている。これにより、CPU10はプログラムを実行するためにROM16からRAM15へプログラムをロードすることなく、ROM16を直接にアクセスしてプログラムを実行することができる。すなわち、ROM16はいわゆるプログラム動作メモリである。ただし、NAND型フラッシュメモリや他の不揮発性メモリデバイスをROM16に代えてプログラムの格納に用いることができる。   The ROM 16 is a nonvolatile memory device. In the present embodiment, a NOR type flash memory is used as the ROM 16. Thus, the CPU 10 can directly access the ROM 16 and execute the program without loading the program from the ROM 16 to the RAM 15 in order to execute the program. That is, the ROM 16 is a so-called program operation memory. However, a NAND flash memory or other nonvolatile memory device can be used for storing programs instead of the ROM 16.

非接触リードライタ19は、ICチップ2にアクセスするためのインタフェースである。CPU10がICチップ2にアクセスしているときアクセスLED19が点灯する。プログラムの更新に際しては、書込み状態フラグ5を逐次書き換えるために頻繁にアクセスされる。一般に、多くのユーザがアクセスLED19が点灯しているときには操作を控えた方がよいとの認識をもっている。このことから、プログラムの更新中のアクセスLED19の点灯は、ユーザによる電池15の取り外しを抑制する効果をもつ。   The non-contact reader / writer 19 is an interface for accessing the IC chip 2. When the CPU 10 is accessing the IC chip 2, the access LED 19 is lit. When the program is updated, the program is frequently accessed to rewrite the write state flag 5 sequentially. In general, many users recognize that it is better to refrain from operating when the access LED 19 is lit. For this reason, lighting of the access LED 19 during program update has an effect of suppressing removal of the battery 15 by the user.

一方、ICチップ2は、図4のように、CPU20、誘導電流発電部24、蓄電部25、不揮発性メモリ26、および非接触リードライタ28を備える。ICチップ2は、第2電源としての蓄電部25からの電力によってリードライト動作をするメモリ回路である。ICチップ2には、本体1Aおよび携帯電話機1の付加サービスに係る外部機器からデータの読出しまたは書込みを要求するコマンドが入力される。   On the other hand, as shown in FIG. 4, the IC chip 2 includes a CPU 20, an induced current power generation unit 24, a power storage unit 25, a non-volatile memory 26, and a non-contact reader / writer 28. The IC chip 2 is a memory circuit that performs a read / write operation with electric power from the power storage unit 25 as a second power source. The IC chip 2 receives a command for requesting reading or writing of data from an external device related to the additional service of the main body 1A and the mobile phone 1.

CPU20は、非接触リードライタ28を介して受けたアクセス要求に応えて、不揮発性メモリ26にアクセスするリードライト動作の制御に特化した制御プログラムを実行する。アクセスに必要な電力は蓄電部25から供給される。   In response to the access request received via the non-contact reader / writer 28, the CPU 20 executes a control program specialized for controlling the read / write operation for accessing the nonvolatile memory 26. Electric power necessary for access is supplied from the power storage unit 25.

蓄電部25は、本体1Aでの通電を利用して発電する誘導電流発電部24によって充電される。CPU20が不揮発性メモリ26にアクセスしている間だけ電力を供給できれば、記憶しているデータの信頼性が保てる。したがって、蓄電部25の容量は本体1Aでの通電が停止しても例えば数秒程度だけアクセスを可能にするだけの容量でよい。   The power storage unit 25 is charged by the induced current power generation unit 24 that generates power using the energization of the main body 1A. If power can be supplied only while the CPU 20 is accessing the nonvolatile memory 26, the reliability of the stored data can be maintained. Therefore, the capacity of the power storage unit 25 may be a capacity that allows access only for a few seconds, for example, even when the energization of the main body 1A is stopped.

ICチップ2の不揮発性メモリ26には、図5のように電子マネー用ファイル4およびプログラム更新のための書換え状態フラグファイル5が記憶される。電子マネー用ファイル4は、付加機能である電子マネー決済のためのファイルであり、残高や取引履歴などを示す。ICチップ2が携帯電話機1に内蔵される重要な目的は、この電子マネー用ファイル4のような付加機能に係るデータを安全に記憶することである。付加機能を有する携帯電話機はICチップを内蔵するので、付加機能のためのICチップを利用して書換え状態フラグファイル5を記憶することにより、部品点数を増やすことなくプログラム更新の信頼性を高めることができる。   The non-volatile memory 26 of the IC chip 2 stores an electronic money file 4 and a rewrite status flag file 5 for program update as shown in FIG. The electronic money file 4 is a file for electronic money settlement as an additional function, and shows a balance, a transaction history, and the like. An important purpose of incorporating the IC chip 2 in the mobile phone 1 is to securely store data related to the additional function such as the electronic money file 4. Since the mobile phone having the additional function has an IC chip built-in, the rewrite status flag file 5 is stored by using the IC chip for the additional function, thereby improving the reliability of program update without increasing the number of parts. Can do.

図6は携帯電話機1におけるプログラムの更新に関係する機能構成を示している。図6のように、携帯電話機1の本体1Aは、エアーダウンロード部101、プログラム管理部102、および通信部103を有している。これらは、CPU10が制御プログラムを実行することによって実現される機能要素である。この制御プログラムも、ROM16におけるプログラム記憶部としての上述したプログラム格納領域60に書き込まれている。また、ICチップ2は通信部203を有している。これはCPU20が制御プログラムを実行することによって実現される機能要素である。   FIG. 6 shows a functional configuration related to program update in the mobile phone 1. As shown in FIG. 6, the main body 1 </ b> A of the mobile phone 1 includes an air download unit 101, a program management unit 102, and a communication unit 103. These are functional elements realized by the CPU 10 executing the control program. This control program is also written in the above-described program storage area 60 as a program storage unit in the ROM 16. Further, the IC chip 2 has a communication unit 203. This is a functional element realized by the CPU 20 executing the control program.

エアーダウンロード部101は、無線通信回路13を制御してプログラムの更新内容を示す差分データを外部のサーバから取得し、差分データ記憶部としての上記メモリ領域64(図1参照)に記憶させる。   The air download unit 101 controls the wireless communication circuit 13 to acquire difference data indicating program update contents from an external server, and stores the difference data in the memory area 64 (see FIG. 1) serving as a difference data storage unit.

プログラム管理部102は、プログラムの実行を総括的に管理する。プログラム管理部102は、更新部121、更新管理部122、および更新補助部123を有する。プログラム更新部121は、電池15が装着されて電源回路14が電力を供給する状態において、更新対象のブロック61,62,63をそれぞれ差分データに基づいて書き換える。更新管理部122は、電源回路14が電力を供給する状態において、プログラム更新部121による書換えの進行段階を示す情報である書換え状態フラグファイル5をICチップ2に記憶させる。すなわち、書換え状態フラグファイル5の更新を更新管理部122が担う。更新補助部123は、電源回路14が電力を供給しない状態から供給する状態になったとき、例えば外された電池15が装着位置に戻されたときに、ICチップ2が記憶するその時点の書換え状態フラグファイル5を参照して、ブロック61,62,63の書換えを未完の段階から再開する。   The program management unit 102 comprehensively manages program execution. The program management unit 102 includes an update unit 121, an update management unit 122, and an update auxiliary unit 123. The program update unit 121 rewrites the blocks 61, 62, and 63 to be updated based on the difference data in a state where the battery 15 is attached and the power supply circuit 14 supplies power. The update management unit 122 causes the IC chip 2 to store the rewrite status flag file 5 that is information indicating the progress stage of rewriting by the program update unit 121 in a state where the power supply circuit 14 supplies power. That is, the update manager 122 is responsible for updating the rewrite status flag file 5. The update assisting unit 123 rewrites the current time stored in the IC chip 2 when the power supply circuit 14 is switched from a state in which power is not supplied, for example, when the removed battery 15 is returned to the mounting position. With reference to the status flag file 5, rewriting of the blocks 61, 62, and 63 is resumed from an incomplete stage.

本体1Aの通信部103およびICチップ2の通信部203は、書換え状態フラグファイル5へのアクセスに係るコマンドやデータの送受を制御する。   The communication unit 103 of the main body 1A and the communication unit 203 of the IC chip 2 control transmission / reception of commands and data relating to access to the rewrite status flag file 5.

以下、フローチャートを参照して、プログラムの更新機能に係る携帯電話機1の動作を説明する。   Hereinafter, the operation of the mobile phone 1 according to the program update function will be described with reference to the flowchart.

放電状態の電池15が充電されるか、または装着されていなかった電池15が装着されて電力供給が始まると、図7の起動処理がプログラム管理部102により実行される。   When the discharged battery 15 is charged or the battery 15 that has not been mounted is mounted and the power supply starts, the startup process of FIG. 7 is executed by the program management unit 102.

まず、更新管理部122は、通信部103と連携してICチップ2にアクセスし、書換え状態フラグファイル5の内容を取り込む。詳しくは、ファイルIDを“書換え状態フラグ”としたファイル選択コマンドを送る(#10)。ファイルを選択した旨の応答を待って、読出しコマンドを送る(#11、#12)。   First, the update management unit 122 accesses the IC chip 2 in cooperation with the communication unit 103 and captures the contents of the rewrite status flag file 5. Specifically, a file selection command with a file ID “rewrite status flag” is sent (# 10). A read command is sent after waiting for a response indicating that a file has been selected (# 11, # 12).

次に更新管理部122は、ICチップ2から読み出された書換え状態フラグファイル5の内容を分析する(#13)。書換え状態フラグが更新中を示すものでなければ、プログラム管理部102によって通常起動処理が実行される(#20)。これによりディスプレイ12に待ち受け画面が表示される。一方、書換え状態フラグが更新中を示す場合は、プログラム更新の途中で電力供給が停止した場合である。この場合は、更新補助部123に処理が引き継がれる。   Next, the update management unit 122 analyzes the contents of the rewrite status flag file 5 read from the IC chip 2 (# 13). If the rewrite status flag does not indicate updating, the program management unit 102 executes normal activation processing (# 20). As a result, a standby screen is displayed on the display 12. On the other hand, when the rewrite status flag indicates that updating is in progress, the power supply is stopped during the program update. In this case, the process is taken over by the update assisting unit 123.

更新補助部123は、復旧が不要か否かをチェックする(#14)。具体的には書換え状態フラグが「プログラム動作メモリ書換え中」(図2参照)であるか否かをチェックする。復旧が必要であれば、更新補助部123はメモリ復旧用バッファ65にバックアップされているブロックをプログラム格納領域60の所定位置に複写する復旧処理(上述の処理[5])を行う(#15)。復旧が不要である場合は、更新補助部123は更新の再開処理を実行する(#16)。更新の再開処理は、更新が中断された時点の現在の更新対象である1個のブロックについて、未完の段階から更新を再開して当該ブロックの更新を終える処理である。詳細は後述する。更新の再開処理が終わると、更新補助部123からプログラム更新部121へ処理が引き継がれる。   The update assistant unit 123 checks whether recovery is unnecessary (# 14). Specifically, it is checked whether or not the rewrite status flag is “program operation memory rewriting” (see FIG. 2). If restoration is necessary, the update assistant unit 123 performs a restoration process (the above process [5]) for copying the block backed up in the memory restoration buffer 65 to a predetermined position in the program storage area 60 (# 15). . If the restoration is unnecessary, the update assistant unit 123 executes an update restart process (# 16). The update restart process is a process of resuming the update from an incomplete stage and finishing the update of the block for one block that is the current update target at the time when the update is interrupted. Details will be described later. When the update restart process is completed, the process is transferred from the update auxiliary unit 123 to the program update unit 121.

処理を引き継いだプログラム更新部121は、更新の完結処理を実行する(#17)。この処理は、更新すべきで且つ未処理のブロックがある場合に、そのブロックについての更新のための処理[1]〜[4]を実行して複数のブロックを対象とした一連の更新を完結させる処理である。   The program update unit 121 that has taken over the process executes an update completion process (# 17). In this process, when there is an unprocessed block that should be updated, the process [1] to [4] for updating the block is executed to complete a series of updates for a plurality of blocks. It is a process to make.

更新の完結処理が終わると、更新管理部122によって書換え状態フラグファイル5の初期化が行われ(#18)、プログラム管理部102によって再起動処理が実行される(#19)。   When the update completion processing is completed, the rewrite status flag file 5 is initialized by the update management unit 122 (# 18), and the restart processing is executed by the program management unit 102 (# 19).

図8のように、更新の再開処理においては、書換え状態フラグファイル5の内容に応じて、処理[1]〜[4]のうちの未完の処理が行われる。書換え状態フラグファイル5の内容と行うべき処理との関係は図2を参照して説明したとおりである。   As shown in FIG. 8, in the update restart process, an incomplete process among the processes [1] to [4] is performed according to the contents of the rewrite status flag file 5. The relationship between the contents of the rewrite status flag file 5 and the processing to be performed is as described with reference to FIG.

図9は処理[1]であるメモリ復旧用バッファの準備処理の手順を示す。メモリ復旧用バッファの準備処理は図7における#16の更新の再開処理の一部として更新補助部123および更新管理部122により、または#17の更新の完結処理の一部としてプログラム更新部121および更新管理部122により実行される。   FIG. 9 shows the procedure of the memory recovery buffer preparation process which is process [1]. The process for preparing the memory recovery buffer is performed by the update auxiliary unit 123 and the update management unit 122 as part of the update restart process of # 16 in FIG. 7, or as part of the update completion process of # 17 and It is executed by the update management unit 122.

更新補助部123または更新管理部122により1個のブロックがプログラム格納領域60からメモリ復旧用バッファ65へ複写される(#45)。これに先立って、更新管理部122は、ICチップ2にアクセスして書換え状態フラグファイル5を「メモリ復旧用バッファ書換え中」に設定する(#41〜#44)。また、ブロックの複写が終わるのに呼応して、更新管理部122は、書換え状態フラグファイル5を「メモリ復旧用バッファ書換え完了」に設定する(#46〜#48)。更新管理部122は、ICチップ2にコマンドを送ると、次にコマンドを送る前に必ずICチップ2からの応答の有無を確認し、正常応答の通知を受けてから次のコマンドを送る。これにより、本体1Aでの更新の進行段階とICチップ2における書換え状態フラグファイル5が示す進行段階とをより確実に一致させることができる。   One block is copied from the program storage area 60 to the memory recovery buffer 65 by the update assistant 123 or the update manager 122 (# 45). Prior to this, the update management unit 122 accesses the IC chip 2 and sets the rewrite status flag file 5 to “rewriting memory recovery buffer” (# 41 to # 44). In response to the end of copying of the block, the update management unit 122 sets the rewrite status flag file 5 to “memory recovery buffer rewrite completion” (# 46 to # 48). When the update management unit 122 sends a command to the IC chip 2, the update management unit 122 always confirms whether or not there is a response from the IC chip 2 before sending the next command, and sends the next command after receiving a normal response notification. As a result, the progress stage of the update in the main body 1A and the progress stage indicated by the rewrite status flag file 5 in the IC chip 2 can be matched more reliably.

図10は処理[2]である差分反映バッファの準備処理の手順を示す。差分反映バッファの準備処理は図7における#16の更新の再開処理の一部として更新補助部123および更新管理部122により、または#17の更新の完結処理の一部としてプログラム更新部121および更新管理部122により実行される。   FIG. 10 shows the procedure of the difference reflection buffer preparation process which is process [2]. The difference reflection buffer preparation process is performed by the update auxiliary unit 123 and the update management unit 122 as part of the update restart process of # 16 in FIG. 7 or the program update unit 121 and the update as part of the update completion process of # 17. It is executed by the management unit 122.

更新補助部123または更新管理部122により1個のブロックがプログラム格納領域60からRAM17の差分反映バッファ75へ複写される(#55)。これに先立って、更新管理部122は、ICチップ2にアクセスして書換え状態フラグファイル5を「差分反映バッファ書換え中」に設定する(#51〜#54)。また、ブロックの複写が終わるのに呼応して、更新管理部122は、書換え状態フラグファイル5を「差分反映バッファ書換え完了」に設定する(#56〜#58)。このルーチンにおいても更新管理部122は、ICチップ2にコマンドを送ると、次にコマンドを送る前に必ずICチップ2からの応答の有無を確認し、正常応答の通知を受けてから次のコマンドを送る。   One block is copied from the program storage area 60 to the difference reflection buffer 75 of the RAM 17 by the update assistant 123 or the update manager 122 (# 55). Prior to this, the update management unit 122 accesses the IC chip 2 and sets the rewrite status flag file 5 to “differential reflection buffer rewriting” (# 51 to # 54). In response to the end of copying of the block, the update management unit 122 sets the rewrite status flag file 5 to “difference reflection buffer rewriting completed” (# 56 to # 58). Also in this routine, when the update management unit 122 sends a command to the IC chip 2, the update management unit 122 always checks whether there is a response from the IC chip 2 before sending the next command, and receives the normal response notification before receiving the next command. Send.

図11は処理[3]である差分書換え処理の手順を示す。差分書換え処理は図7における#16の更新の再開処理の一部として更新補助部123および更新管理部122により、または#17の更新の完結処理の一部としてプログラム更新部121および更新管理部122により実行される。   FIG. 11 shows the procedure of the differential rewriting process which is the process [3]. The difference rewriting process is performed by the update auxiliary unit 123 and the update management unit 122 as part of the update restart process of # 16 in FIG. 7, or as a part of the update completion process of # 17, the program update unit 121 and the update management unit 122. It is executed by.

更新補助部123または更新管理部122により、メモリ領域64内の差分データに基づいて、差分反映バッファ75において書換え用のデータ(書換えイメージ)を作成する差分書換えが行われる(#65)。これに先立って、更新管理部122は、ICチップ2にアクセスして書換え状態フラグファイル5を「差分書換え中」に設定する(#61〜#64)。また、差分書換えが終わるのに呼応して、更新管理部122は、書換え状態フラグファイル5を「差分書換え完了」に設定する(#66〜#68)。このルーチンにおいても更新管理部122は、ICチップ2にコマンドを送ると、次にコマンドを送る前に必ずICチップ2からの応答の有無を確認し、正常応答の通知を受けてから次のコマンドを送る。   Based on the difference data in the memory area 64, the update auxiliary unit 123 or the update management unit 122 performs difference rewriting to create rewrite data (rewrite image) in the difference reflection buffer 75 (# 65). Prior to this, the update management unit 122 accesses the IC chip 2 and sets the rewrite status flag file 5 to “differential rewriting” (# 61 to # 64). In response to the completion of the differential rewriting, the update management unit 122 sets the rewrite status flag file 5 to “differential rewriting completed” (# 66 to # 68). Also in this routine, when the update management unit 122 sends a command to the IC chip 2, the update management unit 122 always checks whether there is a response from the IC chip 2 before sending the next command, and receives the normal response notification before receiving the next command. Send.

図12は処理[4]であるプログラム動作メモリ書換え処理の手順を示す。プログラム動作メモリ書換処理は図7における#16の更新の再開処理の一部として更新補助部123および更新管理部122により、または#17の更新の完結処理の一部としてプログラム更新部121および更新管理部122により実行される。   FIG. 12 shows the procedure of the program operation memory rewriting process which is the process [4]. The program operation memory rewriting process is performed by the update auxiliary unit 123 and the update management unit 122 as a part of the update restart process of # 16 in FIG. 7 or the program update unit 121 and the update management as a part of the update completion process of # 17. This is executed by the unit 122.

更新補助部123または更新管理部122により、、差分反映バッファ75内の書換え用のデータがROM16のプログラム格納領域60における現在の更新対象のブロックを記憶する位置に上書きする形で複写される(#75)。これに先立って、更新管理部122は、ICチップ2にアクセスして書換え状態フラグファイル5を「プログラム動作メモリ書換え中」に設定する(#71〜#74)。また、複写が終わるのに呼応して、更新管理部122は、書換え状態フラグファイル5を「プログラム動作メモリ書換え完了」に設定する(#76〜#78)。このルーチンにおいても更新管理部122は、ICチップ2にコマンドを送ると、次にコマンドを送る前に必ずICチップ2からの応答の有無を確認し、正常応答の通知を受けてから次のコマンドを送る。   The update auxiliary unit 123 or the update management unit 122 copies the rewrite data in the difference reflection buffer 75 by overwriting the current update target block in the program storage area 60 of the ROM 16 (#). 75). Prior to this, the update management unit 122 accesses the IC chip 2 and sets the rewrite status flag file 5 to “program operation memory rewriting” (# 71 to # 74). In response to the end of copying, the update management unit 122 sets the rewrite status flag file 5 to “program operation memory rewriting complete” (# 76 to # 78). Also in this routine, when the update management unit 122 sends a command to the IC chip 2, the update management unit 122 always checks whether there is a response from the IC chip 2 before sending the next command, and receives the normal response notification before receiving the next command. Send.

図13はICチップ2の動作を示す。ICチップ2はCPU20により実現される機能要素としてコマンド受信部とファイル管理部とコマンド送信部とを有する。コマンド受信部が非接触リードライタ28を介して受けたコマンドを分析し、ファイル管理部がコマンドに応じて不揮発性メモリ26を制御し、コマンド送信部が応答通知を送信する。   FIG. 13 shows the operation of the IC chip 2. The IC chip 2 includes a command reception unit, a file management unit, and a command transmission unit as functional elements realized by the CPU 20. The command reception unit analyzes the command received via the non-contact reader / writer 28, the file management unit controls the nonvolatile memory 26 according to the command, and the command transmission unit transmits a response notification.

分析したコマンドがファイル選択(SELECT-FILE)であれば、コマンドに付加されるファイルIDに従って、不揮発性メモリ26における該当ファイルの先頭アドレスにメモリアクセスポイントを設定する(#91、#92、#93、#94)。そして、ファイルへのアクセスが可能な状態である旨を通知する(#95)。   If the analyzed command is file selection (SELECT-FILE), a memory access point is set at the head address of the file in the nonvolatile memory 26 according to the file ID added to the command (# 91, # 92, # 93). , # 94). Then, it is notified that the file can be accessed (# 95).

分析したコマンドがファイル更新(UPDATE)である場合は、ファイル選択の状態をチェックする(#96、#97)。ファイルへのアクセスが可能な状態でなければ、異常である旨を通知する(#98)。ファイルへのアクセスが可能な状態であれば、コマンドに付加されたデータを不揮発性メモリ26にメモリアクセスポイントから書き込む(#99)。そして、書き込みが完了した旨を通知する(#100)。   If the analyzed command is file update (UPDATE), the file selection status is checked (# 96, # 97). If access to the file is not possible, an error is notified (# 98). If the file can be accessed, the data added to the command is written to the nonvolatile memory 26 from the memory access point (# 99). Then, it notifies that the writing has been completed (# 100).

分析したコマンドが読出し(READ)である場合も、ファイル選択の状態をチェックする(#101、#102)。ファイルへのアクセスが可能な状態でなければ、異常である旨を通知する(#103)。ファイルへのアクセスが可能な状態であれば、コマンドに付加されたデータを不揮発性メモリ26のメモリアクセスポイントから順にデータを読み出す(#104)。そして、読み出したデータを要求元へ送る(#105)。   Even when the analyzed command is read (READ), the file selection status is checked (# 101, # 102). If access to the file is not possible, an error is notified (# 103). If the file can be accessed, the data added to the command is sequentially read from the memory access point of the nonvolatile memory 26 (# 104). Then, the read data is sent to the request source (# 105).

分析したコマンドがファイル選択、ファイル更新および読出しのいずれでもない他のコマンドであれば、そのコマンドに応じた処理をする(#106)。   If the analyzed command is another command that is not any of file selection, file update, and reading, processing corresponding to the command is performed (# 106).

上述の実施形態においては、書換え状態フラグファイル5を処理の進行に合わせて逐次に変更するので、一連の更新の対象である複数のブロックの全てをバックアップしておく必要がなく、1つのブロックのみをバックアップしておけばよい。このことは、ROM16の必要容量の低減に貢献する。   In the above-described embodiment, since the rewrite status flag file 5 is sequentially changed in accordance with the progress of processing, it is not necessary to back up all of a plurality of blocks to be updated in series, and only one block is stored. Should be backed up. This contributes to a reduction in the required capacity of the ROM 16.

上述の実施形態では、差分反映バッファ75を揮発性のRAM17に設けたが、不揮発性メモリに差分反映バッファ75を設けて書込みイメージを作成する場合には、電源復帰後に行う処理と書込み状態フラグ5の内容の関係は図14のようになる。この場合における更新の再開の手順は図15に示される。   In the above-described embodiment, the difference reflection buffer 75 is provided in the volatile RAM 17. However, when the difference reflection buffer 75 is provided in a nonvolatile memory to create a write image, the processing to be performed after the power is restored and the write state flag 5. The relationship of the contents of is as shown in FIG. The procedure for restarting the update in this case is shown in FIG.

1 携帯電話機(電子機器)
2 ICチップ(メモリ回路)
14 電源回路
15 電池(第1電源)
25 蓄電部(第2電源)
26 不揮発性メモリ
60 プログラム格納領域(プログラム記憶部)
64 メモリ領域(差分データ記憶部)
121 プログラム更新部
122 更新管理部
5 書換え状態フラグファイル(書換えの進行段階を示す情報)
123 更新補助部
61,62,63 ブロック
65 メモリ復旧用バッファ(復旧用記憶部)
75 差分反映バッファ(作業用メモリ領域)
101 エアーダウンロード部(ダウンロード部)
1 Mobile phone (electronic equipment)
2 IC chip (memory circuit)
14 power circuit 15 battery (first power supply)
25 Power storage unit (second power supply)
26 Non-volatile memory 60 Program storage area (program storage unit)
64 memory area (difference data storage)
121 Program update unit 122 Update management unit 5 Rewrite status flag file (information indicating progress stage of rewrite)
123 Update auxiliary unit 61, 62, 63 Block 65 Memory recovery buffer (recovery storage unit)
75 Difference reflection buffer (working memory area)
101 Air Download Department (Download Department)

Claims (10)

プログラムに従う動作をする電子機器であって、
第1電源によって電力を供給する電源回路と、
第2電源およびメモリを有し、前記第2電源からの電力によって前記メモリに対するリードライト動作をするメモリ回路と、
前記プログラムを記憶するプログラム記憶部と、
前記プログラムの一部である少なくとも一つのブロックの変更内容を示す差分データを記憶する差分データ記憶部と、
前記電源回路が電力を供給する状態において、前記ブロックを前記差分データに基づいて書き換えるプログラム更新部と、
前記電源回路が電力を供給する状態において、前記プログラム更新部による書換えの進行段階を示す情報を前記メモリ回路に記憶させる更新管理部と、
前記電源回路が電力を供給しない状態から供給する状態になったときに、前記メモリ回路が記憶する情報を参照して、前記ブロックの書換えを未完の段階から再開する更新補助部と、を備える
ことを特徴とする電子機器。
An electronic device that operates according to a program,
A power supply circuit for supplying power by a first power supply;
A memory circuit having a second power source and a memory, and performing a read / write operation on the memory by power from the second power source;
A program storage unit for storing the program;
A difference data storage unit that stores difference data indicating the change contents of at least one block that is part of the program;
In a state where the power supply circuit supplies power, a program update unit that rewrites the block based on the difference data;
In a state where the power supply circuit supplies power, an update management unit that stores information indicating a progress stage of rewriting by the program update unit in the memory circuit;
An update assisting unit that restarts rewriting of the block from an unfinished stage with reference to information stored in the memory circuit when the power supply circuit is in a state of supplying power from a state of not supplying power. Electronic equipment characterized by
前記プログラム更新部は、前記プログラムの複数のブロックを変更する場合には、前記複数のブロックを1つずつ順に書き換え、
前記更新補助部は、前記複数のブロックのうちの書き換えられていないブロックから書換えを再開する
請求項1記載の電子機器。
The program update unit, when changing a plurality of blocks of the program, rewrites the plurality of blocks one by one in order,
The electronic device according to claim 1, wherein the update assisting unit restarts rewriting from an unwritten block among the plurality of blocks.
さらに、復旧用記憶部を有し、
前記プログラム更新部は、前記ブロックの書換えに先立って、当該ブロックを前記復旧用記憶部に記憶させ、
前記更新補助部は、前記情報が前記プログラム記憶部への書き込みの途中を示す場合には、前記復旧用記憶部が記憶する前記ブロックに前記差分データを適用して当該ブロックの書換えを行う
請求項1または2記載の電子機器。
In addition, it has a recovery storage unit,
Prior to rewriting the block, the program update unit stores the block in the recovery storage unit,
The update assisting unit rewrites the block by applying the difference data to the block stored in the recovery storage unit when the information indicates the middle of writing to the program storage unit. The electronic device according to 1 or 2.
前記プログラム更新部は、前記ブロックを前記復旧用記憶部に記憶させる第1段階の処理と、前記ブロックを作業用メモリ領域に複写する第2段階の処理と、前記作業用メモリ領域において前記差分データに基づいて書換え用データを作成する第3段階の処理と、前記書換え用データを前記ブロックに代えて前記プログラム記憶部に記憶させる第4段階の処理とを実行し、
前記更新管理部は、第1、第2、第3および第4の段階の各処理について、実行中および完了を示すように前記情報を逐次更新する
請求項3記載の電子機器。
The program update unit includes a first-stage process for storing the block in the recovery storage unit, a second-stage process for copying the block to a work memory area, and the difference data in the work memory area. Performing a third stage process for creating rewrite data based on the above and a fourth stage process for storing the rewrite data in the program storage unit instead of the block,
The electronic apparatus according to claim 3, wherein the update management unit sequentially updates the information so as to indicate that the processes in the first, second, third, and fourth stages are being executed and completed.
前記プログラム更新部は、前記メモリ回路からの前記情報の更新完了を示す通知を受けてから次の段階の処理を実行する
請求項4記載の電子機器。
The electronic device according to claim 4, wherein the program update unit executes a process of a next stage after receiving a notification indicating that the information update is completed from the memory circuit.
前記第1電源は、前記電源回路に対する着脱が可能な電池である
請求項5記載の電子機器。
The electronic device according to claim 5, wherein the first power source is a battery that can be attached to and detached from the power circuit.
さらに、無線通信によって前記差分データを取得して前記差分データ記憶部に記憶させるダウンロード部を備える
請求項6記載の電子機器。
The electronic device according to claim 6, further comprising a download unit that acquires the difference data by wireless communication and stores the difference data in the difference data storage unit.
電子機器に組み込まれたプログラムを部分的に変更するプログラム更新方法であって、
前記電子機器が第1電源からの電力によって作動可能な状態において、前記プログラムの一部であるブロックを差分データに基づいて書き換えるとともに、書換えの進行段階を示す情報を第2電源およびメモリを有しかつ前記第2電源からの電力によって前記メモリに対するリードライト動作をするメモリ回路によって記憶し、
前記第1電源からの電力供給の停止に伴って中断された前記プログラムの一部の書換えを、前記第1電源からの電力供給が再開されたときに、前記メモリ回路が記憶する情報に基づいて、未完の段階から再開する
ことを特徴とするプログラム更新方法。
A program update method for partially changing a program incorporated in an electronic device,
In a state in which the electronic device is operable by the power from the first power source, the block that is a part of the program is rewritten based on the difference data, and information indicating the progress stage of the rewriting is included in the second power source and the memory. And by a memory circuit that performs a read / write operation on the memory with power from the second power source,
Based on the information stored in the memory circuit when the power supply from the first power supply is resumed, the rewriting of the part of the program interrupted due to the stop of the power supply from the first power supply is performed. A program update method characterized by restarting from an incomplete stage.
前記プログラムの複数のブロックを1つずつ順に変更する一連の書換えが前記第1電源からの電力供給の停止に伴って中断された場合には、前記第1電源からの電力供給が再開されたときに、前記複数のブロックのうちの書き換えられていない部分から書換えを再開する
請求項8記載のプログラム更新方法。
When a series of rewrites for sequentially changing a plurality of blocks of the program one by one is interrupted with the stop of power supply from the first power supply, when power supply from the first power supply is resumed The program update method according to claim 8, wherein rewriting is resumed from a portion of the plurality of blocks that has not been rewritten.
電子機器が有するコンピュータのためのコンピュータプログラムであって、
前記コンピュータによって実行されたときに、
第1電源による電力供給が行われる状態において、当該コンピュータプログラムの一部であるブロック差分データに基づいて書き換えるプログラム更新手段と、
前記第1電源による電力供給が行われる状態において、前記プログラム更新部による書換えの進行段階を示す情報を、第2電源およびメモリを有しかつ前記第2電源からの電力によって前記メモリに対するリードライト動作をするメモリ回路に記憶させる更新管理手段と、
前記第1電源による電力供給が停止した状態から電力供給が行われる状態になったときに、前記メモリ回路が記憶する情報を参照して、前記ブロックの書換えを未完の段階から再開するプログラム更新補助手段と、を前記コンピュータに実現させる
ことを特徴とするコンピュータプログラム。
A computer program for a computer included in an electronic device,
When executed by the computer,
Program update means for rewriting based on block difference data that is part of the computer program in a state where power is supplied by the first power source;
In a state in which power is supplied from the first power source, information indicating the progress stage of rewriting by the program update unit includes a second power source and a memory, and a read / write operation is performed on the memory by the power from the second power source. Update management means for storing in a memory circuit that
Program update assistance that resumes rewriting of the block from an incomplete stage with reference to information stored in the memory circuit when the power supply from the state where the power supply by the first power supply is stopped is changed to a state where power supply is performed Means for causing the computer to realize the means.
JP2009073222A 2009-03-25 2009-03-25 Electronic device and program update method Expired - Fee Related JP5349104B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009073222A JP5349104B2 (en) 2009-03-25 2009-03-25 Electronic device and program update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009073222A JP5349104B2 (en) 2009-03-25 2009-03-25 Electronic device and program update method

Publications (2)

Publication Number Publication Date
JP2010225012A true JP2010225012A (en) 2010-10-07
JP5349104B2 JP5349104B2 (en) 2013-11-20

Family

ID=43042115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009073222A Expired - Fee Related JP5349104B2 (en) 2009-03-25 2009-03-25 Electronic device and program update method

Country Status (1)

Country Link
JP (1) JP5349104B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214233A (en) * 2012-04-03 2013-10-17 Denso Wave Inc Portable terminal device
JP2015193130A (en) * 2014-03-31 2015-11-05 京セラドキュメントソリューションズ株式会社 Information processing device
US9659658B2 (en) 2014-05-13 2017-05-23 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
JP2021121894A (en) * 2020-01-31 2021-08-26 パナソニックIpマネジメント株式会社 Information processing device and information processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298196A (en) * 1992-04-22 1993-11-12 Komatsu Ltd Storage data editing method
JP2003259270A (en) * 2002-02-27 2003-09-12 Sony Corp Data recorder, image recorder, and data recording method
JP2004213201A (en) * 2002-12-27 2004-07-29 Fujitsu Ltd Version upgrading method
JP2005078502A (en) * 2003-09-02 2005-03-24 Nec Corp System and method for rewriting differentials of portable terminal software, portable terminal, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298196A (en) * 1992-04-22 1993-11-12 Komatsu Ltd Storage data editing method
JP2003259270A (en) * 2002-02-27 2003-09-12 Sony Corp Data recorder, image recorder, and data recording method
JP2004213201A (en) * 2002-12-27 2004-07-29 Fujitsu Ltd Version upgrading method
JP2005078502A (en) * 2003-09-02 2005-03-24 Nec Corp System and method for rewriting differentials of portable terminal software, portable terminal, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214233A (en) * 2012-04-03 2013-10-17 Denso Wave Inc Portable terminal device
JP2015193130A (en) * 2014-03-31 2015-11-05 京セラドキュメントソリューションズ株式会社 Information processing device
US9659658B2 (en) 2014-05-13 2017-05-23 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
JP2021121894A (en) * 2020-01-31 2021-08-26 パナソニックIpマネジメント株式会社 Information processing device and information processing method
JP7266216B2 (en) 2020-01-31 2023-04-28 パナソニックIpマネジメント株式会社 Information processing device and information processing method
US11886869B2 (en) 2020-01-31 2024-01-30 Panasonic Intellectual Property Management Co., Ltd. Information processing device and information processing method for updating a program by partially relocating the program

Also Published As

Publication number Publication date
JP5349104B2 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
CN101026848B (en) Mobile terminal and software update method
CN109634645B (en) Firmware upgrading method and terminal
JP6185772B2 (en) Information processing apparatus, control method thereof, and program
US8539471B2 (en) Updating firmware of an electronic device
JP4768237B2 (en) Portable electronic device and method for controlling portable electronic device
WO2010035596A1 (en) Firmware update device and method
WO2011024688A1 (en) Firmware update system, and information apparatus, as well as program
JP5349104B2 (en) Electronic device and program update method
JP2007189332A (en) Software update method and mobile terminal
CN105814545B (en) Electronic equipment
JP2003216511A (en) Non-volatile memory device, data updating method, data updating program and computer readable recording medium with recorded program
JP2009009391A (en) Updating software self-update method and portable terminal device
JP2010026791A (en) Sales data processor and program
JP2008009799A (en) Image forming device
JP6192089B2 (en) Information processing apparatus, control method and control program for information processing apparatus
WO2003077134A1 (en) Memory rewriting apparatus
WO2012077604A1 (en) Processing device, program update method, and program
JP4630741B2 (en) Power-saving backup type information processing device
JP5158883B2 (en) Firmware update method and firmware update apparatus
JPH1063497A (en) Program updating method
JP5444698B2 (en) Data processing apparatus and program
JPH11282690A (en) Method for writing control program, information processor and information processing system
JP2008009494A (en) Image forming device
JP2007042038A (en) Device and method for controlling terminal equipment
JP2011198375A (en) Portable electronic device, and control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130730

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130820

R150 Certificate of patent or registration of utility model

Ref document number: 5349104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees