JP5275105B2 - Electronics - Google Patents

Electronics Download PDF

Info

Publication number
JP5275105B2
JP5275105B2 JP2009076353A JP2009076353A JP5275105B2 JP 5275105 B2 JP5275105 B2 JP 5275105B2 JP 2009076353 A JP2009076353 A JP 2009076353A JP 2009076353 A JP2009076353 A JP 2009076353A JP 5275105 B2 JP5275105 B2 JP 5275105B2
Authority
JP
Japan
Prior art keywords
storage unit
program code
update
unit
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009076353A
Other languages
Japanese (ja)
Other versions
JP2010231349A (en
Inventor
正直 関根
宏和 高橋
康明 金井
晋 小澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2009076353A priority Critical patent/JP5275105B2/en
Publication of JP2010231349A publication Critical patent/JP2010231349A/en
Application granted granted Critical
Publication of JP5275105B2 publication Critical patent/JP5275105B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ソフトウェアの更新機能を有する電子機器に関する。   The present invention relates to an electronic device having a software update function.

従来、様々な電子機器において、メモリに予め記憶されたソフトウェアを実行することにより各種機能を実現している。このような電子機器の中には、ソフトウェアの不具合修正や機能拡張等の理由により、更新用データを取得して新しいソフトウェアに更新する機能を有するものがある。   Conventionally, various functions are realized in various electronic devices by executing software stored in advance in a memory. Some of such electronic devices have a function of acquiring update data and updating to new software for reasons such as software defect correction and function expansion.

このようなソフトウェア更新の機能を有する電子機器は、例えば、ソフトウェアの新旧バージョンの差分データをダウンロードし、所定の更新エンジンを実行して、この差分データにより単位領域(ブロック)毎にソフトウェアを更新する(例えば、特許文献1参照)。   An electronic device having such a software update function downloads, for example, difference data of new and old versions of software, executes a predetermined update engine, and updates software for each unit area (block) with the difference data. (For example, refer to Patent Document 1).

ところで、電子機器は、安価で容量の大きい不揮発性のメモリ(例えば、NANDフラッシュメモリ)にソフトウェアを格納し、実際にソフトウェアを実行する際には、読み書きが高速な揮発性メモリ(例えば、SDRAM(Synchronous Dynamic Random Access Memory))にコピーして実行する場合が多い。   By the way, an electronic device stores software in an inexpensive and large-capacity nonvolatile memory (for example, a NAND flash memory), and when actually executing the software, the volatile memory (for example, SDRAM (for example, SDRAM)) that reads and writes at high speed Synchronous Dynamic Random Access Memory)) is often executed.

この場合、電子機器は、揮発性メモリ上のソフトウェアによって通常動作中に、不揮発性メモリのソフトウェアを更新する、いわゆるバックグラウンド更新を行うことができる。その後、電子機器は、不揮発性メモリ上の更新済みのソフトウェアの機能を電子機器の実際の動作に反映させるため、再起動処理に伴って、更新済みソフトウェアの全ブロックを揮発性メモリへコピーしていた。   In this case, the electronic device can perform so-called background update in which the software in the nonvolatile memory is updated during normal operation by the software in the volatile memory. After that, the electronic device copies all the blocks of the updated software to the volatile memory during the restart process in order to reflect the function of the updated software on the nonvolatile memory in the actual operation of the electronic device. It was.

特開2007−219883号公報JP 2007-219883 A

しかしながら、バックグラウンド更新の処理中に、電源が切られる等の理由により中断された場合、不揮発性メモリに記憶されているソフトウェアは、不完全に更新された状態となっている。この状態で再び電子機器が起動した際には、不完全な状態のソフトウェアを揮発性メモリへコピーしても正常に実行することができない。したがって、電子機器を使用可能な状態で起動するためには、不揮発性メモリ上のソフトウェアの更新処理を再開し、更新が完了した後に揮発性メモリへコピーする必要がある。ところが、NANDフラッシュメモリ等の不揮発性メモリの書き換えには時間が掛かるため、ユーザは使用を待機しなければならなかった。   However, when the background update process is interrupted due to the power being turned off or the like, the software stored in the nonvolatile memory is in an incompletely updated state. When the electronic device is activated again in this state, even if the incomplete software is copied to the volatile memory, it cannot be executed normally. Therefore, in order to start up the electronic device in a usable state, it is necessary to restart the software update process on the nonvolatile memory and copy it to the volatile memory after the update is completed. However, since rewriting of a nonvolatile memory such as a NAND flash memory takes time, the user has to wait for use.

本発明は、ソフトウェアの更新が中断された後の再起動に要する時間を短縮することのできる電子機器を提供することを目的とする。   An object of the present invention is to provide an electronic device that can shorten the time required for restart after software update is interrupted.

本発明に係る電子機器は、プログラムコードを格納する不揮発性の第1記憶部と、実行対象のプログラムコードを作業用に格納する揮発性の第2記憶部と、前記第1記憶部に格納されたプログラムコードを更新するための更新情報データを記憶する第3記憶部と、前記第3記憶部に記憶されている更新情報データに基づいて、前記第1記憶部に格納されたプログラムコードを更新する更新部と、前記第1記憶部に格納されたプログラムコードの一部または全部を、前記第2記憶部へコピーし、前記第2記憶部に格納されたプログラムコードを実行する制御部と、を備え、前記制御部は、前記更新部による更新が中断された場合、当該更新を再開する前に、前記第1記憶部の更新済みのプログラムコードから更新前のプログラムコードを復元して、前記第2記憶部へ格納することを特徴とする。   The electronic device according to the present invention is stored in the nonvolatile first storage unit for storing the program code, the volatile second storage unit for storing the program code to be executed, and the first storage unit. And updating the program code stored in the first storage unit based on the update information data stored in the third storage unit and a third storage unit storing update information data for updating the program code An update unit, a control unit that copies part or all of the program code stored in the first storage unit to the second storage unit, and executes the program code stored in the second storage unit; When the update by the update unit is interrupted, the control unit restores the program code before the update from the updated program code in the first storage unit before restarting the update. , Characterized by storing into the second storage unit.

また、前記第1記憶部は、前記プログラムコードを格納するためのブロックを複数備え、前記制御部は、前記第1記憶部の更新済みのプログラムコードを有するブロックのプログラムコードのみ復元を行うことが好ましい。   The first storage unit may include a plurality of blocks for storing the program code, and the control unit may restore only the program code of the block having the updated program code in the first storage unit. preferable.

また、本発明に係る電子機器は、前記第3記憶部に記憶されている更新情報データを受信する通信部をさらに備えることが好ましい。   Moreover, it is preferable that the electronic device according to the present invention further includes a communication unit that receives update information data stored in the third storage unit.

また、前記更新部は、前記第1記憶部に格納されたプログラムコードを更新したときに、当該更新済みのプログラムコードから更新前のプログラムコードを復元するための逆差分データを生成し、前記第3記憶部は、前記逆差分データをさらに記憶することが好ましい。   In addition, when the update unit updates the program code stored in the first storage unit, the update unit generates reverse difference data for restoring the program code before the update from the updated program code, It is preferable that the 3 storage unit further stores the reverse difference data.

また、前記通信部は、前記更新情報データと共に、更新済みのブロックから更新前のブロックを復元するための逆差分データを受信し、前記第3記憶部は、前記逆差分データをさらに記憶することが好ましい。   The communication unit receives reverse difference data for restoring the block before update from the updated block together with the update information data, and the third storage unit further stores the reverse difference data. Is preferred.

また、前記更新情報データは、前記逆差分データと一体化されていることが好ましい。   The update information data is preferably integrated with the reverse difference data.

また、本発明に係る電子機器は、前記更新部による更新が中断された後の再起動時に、前記更新済みのプログラムコードから更新前のプログラムコードを復元して前記第2記憶部へ格納するか、前記更新部による更新を完了させた後に前記第2記憶部へコピーするか、の選択入力を受け付ける受付部をさらに備えることが好ましい。   Further, the electronic device according to the present invention restores the program code before update from the updated program code and stores it in the second storage unit upon restart after the update by the update unit is interrupted. It is preferable that the information processing apparatus further includes a reception unit that receives a selection input of whether to copy to the second storage unit after completing the update by the update unit.

本発明によれば、ソフトウェアの更新が中断された後の再起動に要する時間を短縮することができる。   According to the present invention, the time required for restart after software update is interrupted can be shortened.

本発明の実施形態に係る携帯電話機の外観斜視図である。1 is an external perspective view of a mobile phone according to an embodiment of the present invention. 本発明の実施形態に係る携帯電話機の機能を示すブロック図である。It is a block diagram which shows the function of the mobile telephone which concerns on embodiment of this invention. 本発明の実施形態に係るソフトウェアの更新システムを示す概略図である。It is the schematic which shows the update system of the software which concerns on embodiment of this invention. 本発明の実施形態に係るNANDからSDRAMへのプログラムコードのコピー処理を示す図である。It is a figure which shows the copy process of the program code from NAND to SDRAM which concerns on embodiment of this invention. 本発明の実施形態に係るNANDにおけるバックグラウンド更新処理を示す図である。It is a figure which shows the background update process in NAND which concerns on embodiment of this invention. 本発明の実施形態に係るバックグラウンド更新が中断した後、再起動した際のSDRAMへのコピー処理を示す図である。It is a figure which shows the copy process to SDRAM at the time of restarting, after the background update which concerns on embodiment of this invention is interrupted. 本発明の実施形態に係るMPUの処理を示すフローチャートである。It is a flowchart which shows the process of MPU which concerns on embodiment of this invention.

以下、本発明の実施形態の一例について説明する。なお、本実施形態では、電子機器の一例として、携帯電話機1を説明する。なお、本発明の電子機器はこれには限られず、例えば、PHS(Personal Handy phone System)やPDA(Personal Digital Assistant)の他、ナビゲーション装置やパーソナルコンピュータ等、様々な電子機器に適用可能である。   Hereinafter, an example of an embodiment of the present invention will be described. In the present embodiment, a mobile phone 1 will be described as an example of an electronic device. The electronic device of the present invention is not limited to this, and can be applied to various electronic devices such as a navigation device and a personal computer in addition to PHS (Personal Handyphone System) and PDA (Personal Digital Assistant).

図1は、本実施形態に係る携帯電話機1(電子機器)の外観斜視図である。なお、図1は、いわゆる折り畳み型の携帯電話機の形態を示しているが、本発明に係る携帯電話機の形態はこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式(ターンタイプ)や、操作部と表示部とが1つの筐体に配置され、連結部を有さない形式(ストレートタイプ)でもよい。   FIG. 1 is an external perspective view of a mobile phone 1 (electronic device) according to the present embodiment. FIG. 1 shows a so-called foldable mobile phone, but the mobile phone according to the present invention is not limited to this. For example, a sliding type in which one casing is slid in one direction from a state in which both casings are overlapped, or a rotary type in which one casing is rotated around an axis along the overlapping direction ( Turn type), or a type (straight type) in which the operation unit and the display unit are arranged in one housing and does not have a connecting unit.

携帯電話機1は、操作部側筐体2と、表示部側筐体3と、を備えて構成される。操作部側筐体2は、表面部10に、操作部11と、携帯電話機1の使用者が通話時に発した音声が入力されるマイク12と、を備えて構成される。操作部11は、各種設定機能や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作ボタン13と、電話番号の数字やメールの文字等を入力するための入力操作ボタン14と、各種操作における決定やスクロール等を行う決定操作ボタン15と、から構成されている。   The mobile phone 1 includes an operation unit side body 2 and a display unit side body 3. The operation unit side body 2 includes an operation unit 11 and a microphone 12 into which a voice uttered by a user of the mobile phone 1 is input on the surface unit 10. The operation unit 11 includes a function setting operation button 13 for activating various functions such as various setting functions, a telephone book function, and a mail function, and an input operation button 14 for inputting numbers of telephone numbers, mail characters, and the like. , And a determination operation button 15 for performing determination and scrolling in various operations.

また、表示部側筐体3は、表面部20に、各種情報を表示するための表示部21と、通話の相手側の音声を出力するレシーバ22と、を備えて構成されている。   The display unit side body 3 includes a display unit 21 for displaying various types of information on the surface unit 20 and a receiver 22 for outputting the voice of the other party of the call.

また、操作部側筐体2の上端部と表示部側筐体3の下端部とは、ヒンジ機構4を介して連結されている。また、携帯電話機1は、ヒンジ機構4を介して連結された操作部側筐体2と表示部側筐体3とを相対的に回転することにより、操作部側筐体2と表示部側筐体3とが互いに開いた状態(開放状態)にしたり、操作部側筐体2と表示部側筐体3とを折り畳んだ状態(折畳み状態)にしたりできる。   Further, the upper end portion of the operation unit side body 2 and the lower end portion of the display unit side body 3 are connected via a hinge mechanism 4. In addition, the mobile phone 1 relatively rotates the operation unit side body 2 and the display unit side body 3 which are connected via the hinge mechanism 4, so that the operation unit side body 2 and the display unit side body 3 are rotated. The body 3 can be in an open state (open state), or the operation unit side body 2 and the display unit side body 3 can be folded (folded state).

図2は、本実施形態に係る携帯電話機1の機能を示すブロック図である。携帯電話機1は、MPU30(更新部、制御部)と、電源部31と、無線部32(通信部)と、アンテナ33と、SDRAM34(第2記憶部)と、NAND35(第1記憶部、第3記憶部)と、操作部11(受付部)と、表示部21と、音声制御部36と、を備える。   FIG. 2 is a block diagram showing functions of the mobile phone 1 according to the present embodiment. The mobile phone 1 includes an MPU 30 (update unit, control unit), a power supply unit 31, a radio unit 32 (communication unit), an antenna 33, an SDRAM 34 (second storage unit), and a NAND 35 (first storage unit, first storage unit). 3 storage unit), an operation unit 11 (accepting unit), a display unit 21, and a voice control unit 36.

MPU30は、携帯電話機1の全体を制御しており、例えば、表示部21、無線部32、音声制御部36等に対して所定の制御を行う。また、MPU30は、操作部11等から入力を受け付けて、各種処理を実行する。そして、MPU30は、処理実行の際には、SDRAM34およびNAND35を制御し、各種プログラムおよびデータの読み出し、およびデータの書き込みを行う。   The MPU 30 controls the entire mobile phone 1, and performs predetermined control on the display unit 21, the radio unit 32, the voice control unit 36, and the like, for example. Further, the MPU 30 receives input from the operation unit 11 or the like and executes various processes. When executing the process, the MPU 30 controls the SDRAM 34 and the NAND 35 to read various programs and data and write data.

電源部31は、携帯電話機1の各部へ電源を供給している。また、電源ON/OFFを切り替える所定の操作入力に応じて、電源部31は、電源の供給先を変更する。すなわち、電源OFFの場合には、例えばSDRAM34等の限られた部位のみに電源を供給する。   The power supply unit 31 supplies power to each unit of the mobile phone 1. Further, the power supply unit 31 changes the power supply destination in response to a predetermined operation input for switching power ON / OFF. That is, when the power is off, power is supplied only to a limited part such as the SDRAM 34.

無線部32は、所定の使用周波数帯(例えば、2GHz帯や800MHz帯等)で外部装置(基地局)と通信を行う。そして、無線部32は、アンテナ33より受信した信号を復調処理し、処理後の信号をMPU30に供給し、また、MPU30から供給された信号を変調処理し、アンテナ33から外部装置に送信する。   The radio unit 32 communicates with an external device (base station) in a predetermined use frequency band (for example, 2 GHz band, 800 MHz band, etc.). The radio unit 32 demodulates the signal received from the antenna 33, supplies the processed signal to the MPU 30, modulates the signal supplied from the MPU 30, and transmits the signal from the antenna 33 to the external device.

SDRAM34は、MPU30により作業用に使用される記憶装置であり、電流の供給を受け続けることによりデータを保持する揮発性の記憶装置である。なお、携帯電話機1は、電源をOFFにした場合にも、電源部31によりSDRAM34へ電流を供給し続ける。これにより、例えば再起動時に一旦電源がOFFとなった場合にも、SDRAM34に記憶されたデータは保持される(セルフリフレッシュ)。   The SDRAM 34 is a storage device used for work by the MPU 30 and is a volatile storage device that retains data by continuing to receive a current. Note that the cellular phone 1 continues to supply current to the SDRAM 34 by the power supply unit 31 even when the power is turned off. Thereby, for example, even when the power is once turned off at the time of restart, the data stored in the SDRAM 34 is retained (self-refresh).

NAND35は、ソフトウェアのプログラムコード等を静的に記憶する不揮発性の記憶装置である。SDRAM34へのデータの読み書きは、NAND35へのそれよりも速いため、NAND35に記憶されたプログラムコードの一部または全部をSDRAM34にコピーすることにより、MPU30で実行される。また、無線部32により受信(ダウンロード)したソフトウェア、あるいはソフトウェアの更新情報データは、このNAND35に記憶される。   The NAND 35 is a nonvolatile storage device that statically stores software program codes and the like. Since reading and writing of data to and from the SDRAM 34 is faster than that to the NAND 35, the MPU 30 is executed by copying a part or all of the program code stored in the NAND 35 to the SDRAM 34. The software received (downloaded) by the wireless unit 32 or software update information data is stored in the NAND 35.

表示部21は、MPU30の制御に従って、所定の画像処理を行う。そして、処理後の画像データをフレームメモリに蓄え、所定のタイミングで画面出力する。   The display unit 21 performs predetermined image processing according to the control of the MPU 30. Then, the processed image data is stored in the frame memory and output to the screen at a predetermined timing.

音声制御部36は、MPU30の制御に従って、無線部32から供給された信号に対して所定の音声処理を行い、処理後の信号をレシーバ22に出力する。レシーバ22は、音声制御部36から供給された信号を外部に出力する。なお、この信号は、レシーバ22に代えて、または、レシーバ22と共に、スピーカ(図示せず)から出力されるとしてもよい。   The sound control unit 36 performs predetermined sound processing on the signal supplied from the wireless unit 32 according to the control of the MPU 30, and outputs the processed signal to the receiver 22. The receiver 22 outputs the signal supplied from the audio control unit 36 to the outside. This signal may be output from a speaker (not shown) instead of or together with the receiver 22.

また、音声制御部36は、MPU30の制御に従って、マイク12から入力された信号を処理し、処理後の信号を無線部32に出力する。無線部32は、音声制御部36から供給された信号に所定の処理を行い、処理後の信号をアンテナ33より出力する。   In addition, the voice control unit 36 processes the signal input from the microphone 12 according to the control of the MPU 30, and outputs the processed signal to the radio unit 32. The radio unit 32 performs predetermined processing on the signal supplied from the audio control unit 36 and outputs the processed signal from the antenna 33.

図3は、本実施形態に係るソフトウェアの更新システムを示す概略図である。携帯電話機1で利用されるソフトウェアは、管理サーバにて新旧のバージョン管理がされている。管理サーバは、データベースにてソフトウェアのプログラムコードと、旧バージョンから新バージョンへ更新するための更新情報データとを保持する。そして、管理サーバは、携帯電話機1からの要求に応じて、最新のプログラムコードまたは更新情報データを、基地局を介して送信する。   FIG. 3 is a schematic diagram showing a software update system according to the present embodiment. The software used in the mobile phone 1 is subjected to new and old version management by a management server. The management server holds the program code of software and update information data for updating from the old version to the new version in the database. Then, the management server transmits the latest program code or update information data through the base station in response to a request from the mobile phone 1.

以下、携帯電話機1で実行されるソフトウェアを新バージョンへ更新するための、MPU30の処理内容を説明する。   Hereinafter, processing contents of the MPU 30 for updating the software executed on the mobile phone 1 to a new version will be described.

図4は、本実施形態に係るNAND35からSDRAM34へのプログラムコードのコピー処理を示す図である。この処理では、MPU30は、携帯電話機1の電源がONとなったときに、実行対象のソフトウェアのプログラムコードを、作業用の記憶装置であるSDRAM34へコピーする。   FIG. 4 is a diagram showing a program code copy process from the NAND 35 to the SDRAM 34 according to the present embodiment. In this processing, the MPU 30 copies the program code of the execution target software to the SDRAM 34 that is a working storage device when the power of the mobile phone 1 is turned on.

NAND35において、プログラムコードはブロック単位に格納されており、SDRAM34へも、このブロック単位で順次コピーされる。そして、全ブロックのコピーが完了すると、MPU30は、SDRAM34上でソフトウェアを実行し、ユーザの利用が開始される。   In the NAND 35, the program code is stored in units of blocks, and is sequentially copied to the SDRAM 34 in units of blocks. When the copying of all the blocks is completed, the MPU 30 executes software on the SDRAM 34 and starts using the user.

なお、前述のセルフリフレッシュ機能が動作しているときは、SDRAM34のデータが保持されているので、本処理は省略され、MPU30は、即座にSDRAM34上のソフトウェアを実行することができる。   Note that when the above-described self-refresh function is operating, the data in the SDRAM 34 is retained, so this process is omitted, and the MPU 30 can immediately execute the software on the SDRAM 34.

図5は、本実施形態に係る更新情報データを受信した後の、NAND35におけるバックグラウンド更新処理を示す図である。この処理は、携帯電話機1が利用され、SDRAM34上でソフトウェアが実行されている間に実行される。   FIG. 5 is a diagram showing a background update process in the NAND 35 after receiving the update information data according to the present embodiment. This process is executed while the mobile phone 1 is used and software is executed on the SDRAM 34.

MPU30は、旧バージョンのソフトウェアを新バージョンへ更新するための差分データ(更新情報データ)をサーバより受信すると、NAND35に記憶する。続いて、この差分データおよび、NAND35の該当ブロックにある更新前のイメージに基づいて、更新後のイメージを生成すると、このブロックを更新後のイメージで更新する。   When the MPU 30 receives difference data (update information data) for updating the old version software to the new version from the server, the MPU 30 stores the difference data in the NAND 35. Subsequently, when an updated image is generated based on the difference data and the image before update in the corresponding block of the NAND 35, the block is updated with the updated image.

さらに、MPU30は、差分データによりNAND35を更新する際に、更新後のイメージから更新前のイメージを生成可能な逆差分データを生成して記憶しておく。逆差分データは、ブロック単位でNAND35を更新する度に生成してもよいし、差分データ全体に対応する逆差分データを一度に生成してもよい。   Furthermore, when updating the NAND 35 with the difference data, the MPU 30 generates and stores reverse difference data that can generate an image before update from the image after update. The reverse difference data may be generated every time the NAND 35 is updated in units of blocks, or the reverse difference data corresponding to the entire difference data may be generated at a time.

ここで、差分データに基づくNAND35の更新処理が完了する前に、携帯電話機1の電源がOFFとなる等の理由により、更新処理が中断したとする。例えば、図5では、ブロック1〜ブロック3までが更新されるべきところ、ブロック3が更新されない状態で中断されている。すると、NAND35に格納されたプログラムコードは、新旧バージョンが混在した状態となっており、このままでは、MPU30により実行することはできない。   Here, it is assumed that the update process is interrupted before the update process of the NAND 35 based on the difference data is completed because the power of the mobile phone 1 is turned off. For example, in FIG. 5, where blocks 1 to 3 are to be updated, the block 3 is interrupted without being updated. Then, the program code stored in the NAND 35 is in a state where the old and new versions are mixed, and cannot be executed by the MPU 30 as it is.

図6は、本実施形態に係るバックグラウンド更新が中断した後、携帯電話機1が再起動した際のSDRAM34へのコピー処理を示す図である。   FIG. 6 is a diagram showing a copy process to the SDRAM 34 when the mobile phone 1 is restarted after the background update according to the present embodiment is interrupted.

NAND35に格納されているプログラムコードは、ブロック3が更新前の状態であり、このままSDRAM34へコピーしても、実行することはできない。そこで、MPU30は、更新済みのブロック(ブロック1およびブロック2)については、前述の逆差分データに基づいて、更新前のイメージを生成してSDRAM34へ格納する。また、MPU30は、未更新のブロックと更新対象外のブロックについては、そのままSDRAM34へコピーする。   The program code stored in the NAND 35 is in a state before the block 3 is updated, and cannot be executed even if it is copied to the SDRAM 34 as it is. Therefore, the MPU 30 generates an image before update for the updated blocks (block 1 and block 2) based on the above-described reverse difference data, and stores them in the SDRAM 34. Further, the MPU 30 copies the unupdated block and the non-update target block to the SDRAM 34 as they are.

この処理により、SDRAM34には、更新前(旧バージョン)のソフトウェアが展開され、MPU30がこのソフトウェアを実行することにより、携帯電話機1の利用が開始される。   As a result of this processing, the software before update (old version) is developed in the SDRAM 34, and the MPU 30 executes the software, whereby the use of the mobile phone 1 is started.

ここで、NAND35の更新を再開した後、更新後のデータをSDRAM34へコピーする場合と比較する。NAND35に対するデータの書き換え処理は、NAND35からの読み出し処理や、SDRAM34の書き換え処理に比べて非常に遅い。したがって、NAND35の更新処理に長時間が掛かるので、更新後のソフトウェアが実行されるまでに要する時間よりも、逆差分データを利用して更新前のソフトウェアを実行するまでに要する時間の方が短くなることが期待できる。つまり、本実施形態によれば、起動処理が完了してユーザが利用を開始できるまでの時間を短縮することができる。   Here, after restarting the update of the NAND 35, the updated data is compared with the case of copying to the SDRAM 34. The data rewriting process for the NAND 35 is very slow compared to the reading process from the NAND 35 and the rewriting process for the SDRAM 34. Therefore, since the update process of the NAND 35 takes a long time, the time required to execute the software before update using the reverse difference data is shorter than the time required to execute the updated software. Can be expected. That is, according to the present embodiment, it is possible to shorten the time until the user can start using after the activation process is completed.

図7は、本実施形態に係るMPU30の処理を示すフローチャートである。
ステップS1では、MPU30は、無線部32を介して、管理サーバからソフトウェア更新の通知を受け取る。
FIG. 7 is a flowchart showing processing of the MPU 30 according to the present embodiment.
In step S <b> 1, the MPU 30 receives a software update notification from the management server via the wireless unit 32.

ステップS2において、MPU30は、ユーザからの指示入力に応じて、あるいはステップS1の通知を受け取ったことに応じて自動的に、NAND35に格納されているソフトウェアのプログラムコードに対するバックグラウンド更新処理を開始する。   In step S2, the MPU 30 starts background update processing for the program code of the software stored in the NAND 35 automatically in response to an instruction input from the user or in response to receiving the notification in step S1. .

ステップS3において、ステップS2で開始されたNAND35に対するバックグラウンド更新処理が中断される。具体的には、携帯電話機1の電源がOFFとなった場合等である。   In step S3, the background update process for the NAND 35 started in step S2 is interrupted. Specifically, this is the case when the mobile phone 1 is powered off.

ステップS4において、ステップS3でバックグラウンド更新が中断された後に、携帯電話機1の再起動が実施される。   In step S4, after the background update is interrupted in step S3, the mobile phone 1 is restarted.

ステップS5において、MPU30は、旧バージョンのソフトウェアにより高速起動するか否かを判定する。具体的には、操作部11が受け付けたユーザからの選択入力が高速起動か否か(通常起動か)を判定する。この判定がYESの場合はステップS6に移り、判定がNOの場合はステップS9に移る。   In step S5, the MPU 30 determines whether or not the high-speed activation is performed by the old version of software. Specifically, it is determined whether or not the selection input from the user received by the operation unit 11 is a fast start (normal start). If this determination is YES, the process proceeds to step S6, and if the determination is NO, the process proceeds to step S9.

ステップS6において、MPU30は、NAND35において既に更新されたブロックについて、逆差分データを用いて更新前のメモリイメージを生成し、更新されていないブロックと共にSDRAM34へ展開する。   In step S6, the MPU 30 generates a pre-update memory image for the block already updated in the NAND 35 by using the reverse difference data, and develops it in the SDRAM 34 together with the non-updated block.

ステップS7において、MPU30は、ステップS6にてSDRAM34上に展開された旧バージョンのソフトウェアを実行することにより、携帯電話機1の機能を起動する。   In step S7, the MPU 30 activates the function of the mobile phone 1 by executing the old version of the software expanded on the SDRAM 34 in step S6.

ステップS8において、MPU30は、ステップS3で中断されたNAND35のバックグラウンド更新を再開し、NAND35に格納されているソフトウェアを新バージョンに更新する。   In step S8, the MPU 30 resumes the background update of the NAND 35 interrupted in step S3, and updates the software stored in the NAND 35 to the new version.

ステップS9において、MPU30は、通常起動による更新処理を行う。具体的には、ステップS3で中断されたNAND35の更新を再開し、更新が完了した後に、SDRAM34へ新バージョンのソフトウェアをコピーする。   In step S9, the MPU 30 performs an update process by normal activation. Specifically, the update of the NAND 35 interrupted in step S3 is resumed, and after the update is completed, the new version of software is copied to the SDRAM 34.

このように、本実施形態によれば、NAND35の更新が中断した場合でも、旧バージョンのソフトウェアにより高速に起動することが可能である。したがって、ユーザの待ち時間を短縮することができ、利便性が向上する。   As described above, according to the present embodiment, even when the update of the NAND 35 is interrupted, it is possible to start up at high speed with the old version of the software. Therefore, the waiting time of the user can be shortened, and convenience is improved.

さらに、高速起動と通常起動とを選択可能としたので、ユーザは、通常起動を選択することにより、旧バージョンで起動されることを避け、すぐに新バージョンのソフトウェアを利用することもできる。   Furthermore, since the fast start and the normal start can be selected, the user can use the new version of the software immediately without selecting the normal start by selecting the normal start.

また、本実施形態によれば、旧バージョンのソフトウェア全体を保持することなく、逆差分データにより更新前のプログラムコードを生成できる。したがって、NAND35に確保すべき記憶領域を節約できる。   Further, according to the present embodiment, it is possible to generate the program code before update from the reverse difference data without retaining the entire old version of the software. Therefore, a storage area to be secured in the NAND 35 can be saved.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。   As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.

前述の実施形態では、携帯電話機1においてMPU30が逆差分データを生成したが、これには限られない。例えば、管理サーバから、無線部32により差分データと共に逆差分データを受信して記憶するようにしてもよい。   In the above-described embodiment, the MPU 30 generates the reverse difference data in the mobile phone 1, but the present invention is not limited to this. For example, you may make it receive and memorize | store reverse difference data with difference data with the radio | wireless part 32 from the management server.

また、差分データと逆差分データとは、一体化されていてもよい。すなわち、旧バージョンのソフトウェアに当該データを適用すると新バージョンのソフトウェアが生成され、新バージョンのソフトウェアに当該データを適用すると旧バージョンのソフトウェアが生成される。   Moreover, difference data and reverse difference data may be integrated. That is, when the data is applied to the old version of software, a new version of software is generated, and when the data is applied to the new version of software, the old version of software is generated.

また、前述の実施形態では、高速起動と通常起動とをユーザの選択入力に応じて決定したが、これには限られない。例えば、受信した差分データの属性として付加された重要度に応じて、自動的に決定してもよい。また、重要度にかかわらず、全てを高速起動にしてもよい。   In the above-described embodiment, the fast start and the normal start are determined according to the user's selection input, but the present invention is not limited to this. For example, you may determine automatically according to the importance added as an attribute of the received difference data. Also, all may be activated at high speed regardless of the importance.

1 携帯電話機(電子機器)
11 操作部(受付部)
21 表示部
30 MPU(更新部、制御部)
31 電源部
32 無線部(通信部)
33 アンテナ
34 SDRAM(第2記憶部)
35 NAND(第1記憶部、第3記憶部)
36 音声制御部
1 Mobile phone (electronic equipment)
11 Operation part (reception part)
21 display unit 30 MPU (update unit, control unit)
31 power supply unit 32 wireless unit (communication unit)
33 Antenna 34 SDRAM (second storage unit)
35 NAND (first storage unit, third storage unit)
36 Voice control unit

Claims (7)

プログラムコードを格納する不揮発性の第1記憶部と、
実行対象のプログラムコードを作業用に格納する揮発性の第2記憶部と、
前記第1記憶部に格納されたプログラムコードを更新するための更新情報データを記憶する第3記憶部と、
前記第3記憶部に記憶されている更新情報データに基づいて、前記第1記憶部に格納されたプログラムコードを更新する更新部と、
前記第1記憶部に格納されたプログラムコードの一部または全部を、前記第2記憶部へコピーし、前記第2記憶部に格納されたプログラムコードを実行する制御部と、を備え、
前記制御部は、前記更新部による前記第1記憶部に格納されたプログラムコードの更新が中断された場合、当該更新を再開する前に、前記第1記憶部に格納されたプログラムコードについて中断時の状態を維持しつつ、前記第1記憶部の更新済みのプログラムコードから更新前のプログラムコードを復元して、前記第2記憶部へ格納することを特徴とする電子機器。
A non-volatile first storage unit for storing the program code;
A volatile second storage unit for storing the program code to be executed for work;
A third storage unit for storing update information data for updating the program code stored in the first storage unit;
An update unit for updating the program code stored in the first storage unit based on the update information data stored in the third storage unit;
A control unit that copies part or all of the program code stored in the first storage unit to the second storage unit and executes the program code stored in the second storage unit;
Wherein, if the update of the program code stored in the first storage unit by the updating unit is interrupted, before resuming the updating, the time of suspension for the program code stored in the first storage unit The electronic device is characterized in that the program code before update is restored from the updated program code in the first storage unit and stored in the second storage unit while maintaining the state .
前記第1記憶部は、前記プログラムコードを格納するためのブロックを複数備え、
前記制御部は、前記第1記憶部の更新済みのプログラムコードを有するブロックのプログラムコードのみ復元を行うことを特徴とする請求項1に記載の電子機器。
The first storage unit includes a plurality of blocks for storing the program code,
The electronic device according to claim 1, wherein the control unit restores only the program code of the block having the updated program code in the first storage unit.
前記第3記憶部に記憶されている更新情報データを受信する通信部をさらに備える請求項1または請求項2に記載の電子機器。   The electronic device according to claim 1, further comprising a communication unit that receives update information data stored in the third storage unit. 前記更新部は、前記第1記憶部に格納されたプログラムコードを更新したときに、当該更新済みのプログラムコードから更新前のプログラムコードを復元するための逆差分データを生成し、
前記第3記憶部は、前記逆差分データをさらに記憶することを特徴とする請求項1から請求項3のいずれか1項に記載の電子機器。
The update unit, when updating the program code stored in the first storage unit, generates reverse difference data for restoring the program code before update from the updated program code,
The electronic device according to any one of claims 1 to 3, wherein the third storage unit further stores the inverse difference data.
前記更新部による更新が中断された後の再起動時に、前記更新済みのプログラムコードから更新前のプログラムコードを復元して前記第2記憶部へ格納するか、前記更新部による更新を完了させた後に前記第2記憶部へコピーするか、の選択入力を受け付ける受付部をさらに備える請求項1から請求項のいずれか1項に記載の電子機器。 At the time of restart after the update by the update unit is interrupted, the program code before update is restored from the updated program code and stored in the second storage unit, or the update by the update unit is completed the electronic device according to any one of claims 1 to 4 comprising the second or copied to the storage unit, the reception unit further receives a selection input later. プログラムコードを格納する不揮発性の第1記憶部と、
実行対象のプログラムコードを作業用に格納する揮発性の第2記憶部と、
前記第1記憶部に格納されたプログラムコードを更新するための更新情報データを記憶する第3記憶部と、
前記第3記憶部に記憶されている更新情報データに基づいて、前記第1記憶部に格納されたプログラムコードを更新する更新部と、
前記第1記憶部に格納されたプログラムコードの一部または全部を、前記第2記憶部へコピーし、前記第2記憶部に格納されたプログラムコードを実行する制御部と、を備え、
前記制御部は、前記更新部による更新が中断された場合、当該更新を再開する前に、前記第1記憶部の更新済みのプログラムコードから更新前のプログラムコードを復元して、前記第2記憶部へ格納することを特徴とする電子機器であって、
前記第3記憶部に記憶されている更新情報データを受信する通信部をさらに備え、
前記通信部は、前記更新情報データと共に、更新済みのブロックから更新前のブロックを復元するための逆差分データを受信し、
前記第3記憶部は、前記逆差分データをさらに記憶することを特徴とする電子機器。
A non-volatile first storage unit for storing the program code;
A volatile second storage unit for storing the program code to be executed for work;
A third storage unit for storing update information data for updating the program code stored in the first storage unit;
An update unit for updating the program code stored in the first storage unit based on the update information data stored in the third storage unit;
A control unit that copies part or all of the program code stored in the first storage unit to the second storage unit and executes the program code stored in the second storage unit;
When the update by the update unit is interrupted, the control unit restores the program code before update from the updated program code in the first storage unit before restarting the update, and the second storage An electronic device characterized in that it is stored in a part,
A communication unit for receiving update information data stored in the third storage unit;
The communication unit receives reverse difference data for restoring the block before update from the updated block together with the update information data,
The third storage unit, characterized electronic equipment to further store the reverse differential data.
前記更新情報データは、前記逆差分データと一体化されていることを特徴とする請求項に記載の電子機器。 The electronic apparatus according to claim 6 , wherein the update information data is integrated with the reverse difference data.
JP2009076353A 2009-03-26 2009-03-26 Electronics Expired - Fee Related JP5275105B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009076353A JP5275105B2 (en) 2009-03-26 2009-03-26 Electronics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009076353A JP5275105B2 (en) 2009-03-26 2009-03-26 Electronics

Publications (2)

Publication Number Publication Date
JP2010231349A JP2010231349A (en) 2010-10-14
JP5275105B2 true JP5275105B2 (en) 2013-08-28

Family

ID=43047126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009076353A Expired - Fee Related JP5275105B2 (en) 2009-03-26 2009-03-26 Electronics

Country Status (1)

Country Link
JP (1) JP5275105B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6370231B2 (en) * 2015-01-26 2018-08-08 Kddi株式会社 Software updating apparatus, method and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
JP2005196745A (en) * 2003-12-10 2005-07-21 Ricoh Co Ltd Information processing device, program recovery method, program recovery program, and recording medium
JP2005215841A (en) * 2004-01-28 2005-08-11 Mitsubishi Electric Corp Cellular phone terminal device with software correcting function

Also Published As

Publication number Publication date
JP2010231349A (en) 2010-10-14

Similar Documents

Publication Publication Date Title
JP4944686B2 (en) Software update method and portable terminal device
CN101026848B (en) Mobile terminal and software update method
JP4859465B2 (en) Software updating method and mobile terminal device
JP2009009391A (en) Updating software self-update method and portable terminal device
JP5275105B2 (en) Electronics
JP5275103B2 (en) Electronics
JP2005215841A (en) Cellular phone terminal device with software correcting function
JP5478090B2 (en) Electronics
JP2011210137A (en) Electronic device, navigation method, upgrade program and upgrade method
JP2011154548A (en) Storage device
KR20070022439A (en) Method for upgrading data in mobile telecommunication terminal
JP2004320591A (en) Portable communication terminal
KR100591813B1 (en) Mobile phone had a function of recovery for the firmware download errors and Recovering method for the firmware download errors of a mobile phone
JP2011155526A (en) Electronic equipment
JP2012226619A (en) Portable terminal device, storage control method, and storage control program
JP5258697B2 (en) Portable electronic devices
JP4309122B2 (en) User data protection method, PC and program when rewriting software on mobile phone
JP5474588B2 (en) Electronics
JP2005018244A (en) Electronic apparatus and program storing method thereof
JP2006011906A (en) Software installation method
KR20070013795A (en) Portable terminal
JP2011175449A (en) Storage device
JP5259521B2 (en) Portable electronic devices
JP2020017315A (en) Control method and communication device using the same
JP2005258894A (en) Digital electronic apparatus, and method for setting function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120203

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130515

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5275105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees