WO2015098811A1 - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
WO2015098811A1
WO2015098811A1 PCT/JP2014/083858 JP2014083858W WO2015098811A1 WO 2015098811 A1 WO2015098811 A1 WO 2015098811A1 JP 2014083858 W JP2014083858 W JP 2014083858W WO 2015098811 A1 WO2015098811 A1 WO 2015098811A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
update
interest
volatile memory
rewrite
Prior art date
Application number
PCT/JP2014/083858
Other languages
English (en)
French (fr)
Inventor
剛史 ▲浜▼川
Original Assignee
京セラドキュメントソリューションズ株式会社
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 京セラドキュメントソリューションズ株式会社 filed Critical 京セラドキュメントソリューションズ株式会社
Priority to JP2015554866A priority Critical patent/JP6074064B2/ja
Priority to US15/104,972 priority patent/US20160321057A1/en
Priority to CN201480067852.0A priority patent/CN105814545B/zh
Publication of WO2015098811A1 publication Critical patent/WO2015098811A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present invention relates to an electronic device.
  • a program for operating an embedded device such as a copying machine is recorded in a non-volatile memory that is not erased even when the power is turned off, and can be rewritten by upgrading.
  • the update program is downloaded from a server on the network to the copier, and the non-volatile memory inside the copier is rewritten and restarted to upgrade the version remotely.
  • the above-mentioned method should be adopted because an area for saving the program before the upgrade is not secured in the non-volatile memory as described above. It is difficult.
  • the present invention has been made in view of the above problems, and reduces the area reserved for program update in the nonvolatile memory, and the program at power-on after the program update is interrupted by power-off.
  • the purpose is to obtain an electronic device that can resume renewal.
  • the electronic device includes a processor that executes processing according to a program, and a nonvolatile memory that stores a target program to be updated and a boot program that is executed at startup.
  • the attention program includes a rewriting program for rewriting the attention program.
  • the processor (a) downloads an update program used for updating the program of interest, (b) copies the rewrite program into the nonvolatile memory according to the program of interest, and (c) the rewrite program. After copying the program, the program started by the boot program is changed from the program of interest to the copied rewrite program, and restarted. (D) After the restart, the program of the copied rewrite program is changed according to the boot program. (E) Rewrite the program of interest in the nonvolatile memory with the update program according to the copied rewrite program.
  • FIG. 1 is a block diagram showing a configuration of an electronic apparatus according to an embodiment of the present invention.
  • FIG. 2 is a flowchart for explaining the operation at the time of program update in the electronic device shown in FIG.
  • FIG. 3 is a flowchart for explaining the storage use update process (step S5) in FIG.
  • FIG. 4 is a block diagram illustrating a data flow in the storage use update process (step S5) in FIG.
  • FIG. 5 is a flowchart illustrating the storageless update process (step S6) in FIG.
  • FIG. 6 is a block diagram illustrating a data flow in the storageless update process (step S6) in FIG.
  • FIG. 1 is a block diagram showing a configuration of an electronic device according to an embodiment of the present invention.
  • the electronic device illustrated in FIG. 1 is a built-in device such as a multifunction peripheral, and is a kind of electronic device.
  • non-volatile memory 1 such as a flash memory
  • processor 2 such as a CPU (Central Processing Unit)
  • RAM Random Access Memory
  • a data storage device 4 such as (Solid State Drive) and a communication device 5 such as a network interface are provided.
  • the non-volatile memory 1 stores a boot program 11 and an attention program 12 to be updated (hereinafter simply referred to as a program 12).
  • the boot program 11 is a program that is executed first when the electronic device is activated, and calls another program to start execution of the program.
  • the program 12 is firmware, for example, and is a program for controlling an internal device (not shown) in the electronic device and executing various data processing, and is stored in a predetermined storage area of the nonvolatile memory 1. .
  • the program 12 includes a rewriting program 21 that rewrites the program 12.
  • the boot program 11 normally calls a program stored in the predetermined storage area.
  • the processor 2 executes processing described in the program according to the program stored in the nonvolatile memory 1.
  • the processor 2 (a) downloads an update program used for updating the program 12 using the communication device 5, and (b) copies the rewrite program 21 to another area in the nonvolatile memory 1 according to the program 12. (In other words, only the rewriting program 21 that is a part of the program 12, not the entire program 12, is copied). (C) After the rewriting program 21 is copied, the program started by the boot program 11 is copied from the program 12. Change to a program and restart (d) After restarting, start the execution of the copied rewrite program according to the boot program 11, and (e) update the program in the nonvolatile memory 1 according to the copied rewrite program. The program 12 is rewritten.
  • the processor 2 replaces the program started by the boot program 11 with the update program from the copied rewrite program according to the copied rewrite program. Return to 12 and restart.
  • the communication device 5 performs data communication with a server on a network (not shown).
  • the communication device 5 is used for downloading the above-described update program.
  • FIG. 2 is a flowchart for explaining the operation at the time of program update in the electronic device shown in FIG.
  • the processor 2 executes the boot program 11 at startup. In the normal mode, the processor 2 starts executing the program 12 according to the boot program 11 (step S1).
  • step S2 When the processor 2 receives an update request for the program 12 during the execution of the program 12, the processor 2 starts an update process (step S2).
  • This update request is received by the communication device 5 via a network, for example.
  • the processor 2 searches for a data storage device that can store the update program corresponding to the program 12 (step S3), and a data storage device that can store the update program exists separately from the nonvolatile memory 1. Is determined (step S4).
  • An update program corresponding to the program 12 is specified by an update request or specified by inquiring a predetermined server or the like.
  • the data storage device that can store the update program is the non-volatile memory 1. It is determined that it exists separately.
  • the size of the update program is notified by an update request or inquired of the server from which the update program is downloaded, and the size is compared with the remaining capacity of the data storage device.
  • step S5 If such a data storage device exists separately from the nonvolatile memory 1, the processor 2 executes a storage usage update process (update process in the first mode) (step S5). On the other hand, when such a data storage device does not exist separately from the nonvolatile memory 1, the processor 2 executes a storageless update process (update process in the second mode) (step S6).
  • FIG. 3 is a flowchart for explaining the storage use update process (step S5) in FIG.
  • FIG. 4 is a block diagram illustrating a data flow in the storage use update process (step S5) in FIG.
  • the data storage device 4 is used for storing the update program 31.
  • the processor 2 first downloads the update program 31 using the communication device 5 according to the program 12 and stores it in the data storage device 4 (step S21).
  • the processor 2 copies the rewrite program 21 to another area in the nonvolatile memory 1 according to the program 12 (step S22).
  • the processor 2 changes the program started by the boot program 11 from the program 12 to the copied rewrite program 32 (step S23), and then restarts (step S24). . That is, the processor 2 restarts by switching the operation mode from the normal mode in which the program 12 is activated by the boot program 11 to the update mode in which the rewrite program 32 is activated by the boot program 11.
  • the boot program 11 is executed by restarting. Then, the processor 2 starts executing the copied rewrite program 32 according to the boot program 11 (step S25).
  • the processor 2 reads the update program 31 from the data storage device 4 in accordance with the copied rewrite program 32, and overwrites and rewrites the update program in the program 12 in the nonvolatile memory 1 (step S26).
  • the processor 2 deletes the update program 31 stored in the data storage device 4 according to the copied rewriting program 32 (step S27).
  • the processor 2 changes the program started by the boot program 11 from the copied rewrite program 32 to the program 12 (that is, the rewritten program 12) (step S28), and then restarts (step S29). ). That is, the processor 2 switches the operation mode from the update mode to the normal mode and restarts.
  • step S29 the boot program 11 starts executing the updated program 12.
  • step S23 In the case of storage usage update processing, if power off occurs at a certain time before completion of step S23, the update processing is executed again from step S1, and if power off occurs at some time after completion of step S23, The update process is resumed from S25. For this reason, operation is not disabled by turning off the power.
  • step S6 the storageless update process
  • FIG. 5 is a flowchart illustrating the storageless update process (step S6) in FIG.
  • FIG. 6 is a block diagram illustrating a data flow in the storageless update process (step S6) in FIG.
  • the processor 2 first copies the rewrite program 21 to another area in the nonvolatile memory 1 according to the program 12 (step S41).
  • the processor 2 After copying the rewrite program 21, the processor 2 changes the program started by the boot program 11 from the program 12 to the copied rewrite program 32 (step S42), and then restarts (step S43). That is, the processor 2 switches the operation mode from the normal mode to the update mode and restarts.
  • the boot program 11 is executed by restarting. Then, the processor 2 starts executing the copied rewrite program 32 according to the boot program 11 (step S44).
  • the processor 2 downloads the update program 31 and stores it in the RAM 3 using the communication device 5 according to the copied rewrite program 32 (step S45).
  • the processor 2 reads the update program 31 from the RAM 3 in accordance with the copied rewrite program 32, and overwrites the program 12 in the nonvolatile memory 1 to rewrite the update program 31 (step S46).
  • the processor 2 changes the program started by the boot program 11 from the copied rewrite program 32 to the program 12 (that is, the rewritten program 12) (step S47), and then restarts (step S48). ). That is, the processor 2 switches the operation mode from the update mode to the normal mode and restarts.
  • step S48 execution of the updated program 12 is started by the boot program 11.
  • step S42 In the case of storageless update processing, if power off occurs at a certain time before completion of step S42, the update processing is executed again from step S1, and if power off occurs at some time after completion of step S42, The update process is resumed from S44. For this reason, operation is not disabled by turning off the power.
  • the processor (a) downloads the update program 31 used for updating the program 12, and (b) sets the rewrite program 21 in the program 12 in a nonvolatile manner according to the program 12. (C) After copying the rewriting program 21, the program started by the boot program 11 is changed from the program 12 to the copied rewriting program 32 and restarted. (D) Restarting Later, the copied rewrite program 32 starts to be executed according to the boot program 11, and (e) the program 12 in the nonvolatile memory 1 is rewritten with the update program 31 according to the copied rewrite program 32.
  • the program update is interrupted when the power is turned off.
  • the program update can be resumed when the power is turned on.
  • step S5 when it is known in advance (for example, at the time of manufacture) whether or not the electronic device according to the above embodiment has a data storage device that can be used to store the update program 31, the processing of steps S3 and S4 May be omitted, and only one of the storage use update process (step S5) and the storageless update process (step S6) may be executed.
  • the processor 2 stores data indicating which of the storage use update process (step S5) and the storageless update process (step S6) is selected in accordance with the program 12 in the nonvolatile memory 1, the RAM 3, and the like.
  • the processor 2 refers to the data according to the rewrite program 32 and specifies the currently selected storage use update process (step S5) or storageless update process (step S6) according to the rewrite program 32.
  • a process to be executed in the update process may be executed.
  • the processor 2 calls the rewrite program 32 according to the boot program 11, the data may be provided to the rewrite program 32 as an argument.
  • different rewrite programs 21 and 32 may be used in the storage use update process (step S5) and the storageless update process (step S6).
  • the present invention is applicable, for example, to updating a program in an embedded device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

 プロセッサー(2)は、(a)プログラム(12)の更新に使用する更新プログラムをダウンロードし、(b)プログラム(12)に従って、プログラム(12)内の書換プログラム(21)を不揮発性メモリー1内にコピーし、(c)書換プログラム(21)のコピー後、ブートプログラム(11)により起動されるプログラムを、プログラム(12)から、コピーされた書換プログラムへ変更して、再起動し、(d)再起動後にブートプログラム(11)に従って、コピーされた書換プログラムの実行を開始し、(e)コピーされた書換プログラムに従って、更新プログラムで、不揮発性メモリー(1)内のプログラム(12)を書き換える。

Description

電子機器
 本発明は、電子機器に関するものである。
 複写機などの組込機器を動作させるためのプログラムは、電源オフされても消去されない不揮発性メモリーに記録されており、バージョンアップにより書き換えが可能となっている。
 あるバージョンアップ方法では、ネットワーク上のサーバーから更新プログラムを複写機にダウンロードし、複写機内部の不揮発性メモリーを書き換えて再起動させることにより、リモート操作によるバージョンアップを行っている。
 しかしながら、例えば、リモート操作によるバージョンアップで不揮発性メモリーの書き換えを行っている最中に、そのことを知らないユーザーが誤って電源オフしたり、停電などで電源オフしてしまうことにより、パージョンアップが不完全に終了し、機器が動作不能な状態になってしまう恐れがある。そのため、バージョンアップ前のプログラムを別の領域に退避しておき、バージョンアップの途中で電源がオフされた場合には、バージョンアップ前のプログラムで動作できるようにする方法が提案されている(例えば特許文献1参照)。
特開平11-265282号公報
 しかしながら、上述の方法では、サイズの大きいプログラムを更新する場合、バージョンアップ前のプログラムを退避させておく別の領域を不揮発性メモリー内に予め確保しておく必要があるため、不揮発性メモリーのサイズが大きくなってしまい、機器のコストが大きくなってしまう。
 また、最低限の不揮発性メモリーしか持たないローコストの機器の場合には、バージョンアップ前のプログラムを上述のように退避するための領域を不揮発性メモリーに確保できないため、上述の方法を採用することは困難である。
 本発明は、上記の問題に鑑みてなされたものであり、不揮発性メモリーにおいてプログラム更新のために確保しておく領域を小さくしつつ、電源オフでプログラム更新が中断した後の電源オン時にそのプログラム更新を再開できる電子機器を得ることを目的とする。
 本発明に係る電子機器は、プログラムに従って処理を実行するプロセッサーと、更新対象の注目プログラムおよび起動時に実行されるブートプログラムを記憶している不揮発性メモリーとを備える。前記注目プログラムは、前記注目プログラムの書き換えを行う書換プログラムを含む。そして、前記プロセッサーは、(a)前記注目プログラムの更新に使用する更新プログラムをダウンロードし、(b)前記注目プログラムに従って、前記書換プログラムを前記不揮発性メモリー内にコピーし、(c)前記書換プログラムのコピー後、前記ブートプログラムにより起動されるプログラムを前記注目プログラムから、コピーされた前記書換プログラムへ変更して、再起動し(d)再起動後に前記ブートプログラムに従って、コピーされた前記書換プログラムの実行を開始し、(e)コピーされた前記書換プログラムに従って、前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換える。
 本発明によれば、不揮発性メモリーにおいてプログラム更新のために確保しておく領域を小さくしつつ、電源オフでプログラム更新が中断した後の電源オン時にそのプログラム更新を再開できる電子機器が得られる。
図1は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。 図2は、図1に示す電子機器におけるプログラム更新時の動作について説明するフローチャートである。 図3は、図2におけるストレージ利用更新処理(ステップS5)について説明するフローチャートである。 図4は、図2におけるストレージ利用更新処理(ステップS5)におけるデータの流れについて説明するブロック図である。 図5は、図2におけるストレージレス更新処理(ステップS6)について説明するフローチャートである。 図6は、図2におけるストレージレス更新処理(ステップS6)におけるデータの流れについて説明するブロック図である。
 以下、図に基づいて本発明の実施の形態を説明する。
 図1は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。図1に示す電子機器は、複合機などの組込機器であって、電子機器の一種である。
 図1に示す電子機器は、フラッシュメモリーなどの不揮発性メモリー1と、CPU(Central Processing Unit)などのプロセッサー2と、揮発性メモリーの一種であるRAM(Random Access Memory)3と、ハードディスクドライブ、SSD(Solid State Drive)などのデータ記憶装置4と、ネットワークインターフェイスなどの通信装置5とを備える。
 不揮発性メモリー1は、ブートプログラム11、および更新対象の注目プログラム12(以下、単にプログラム12という)を記憶している。ブートプログラム11は、当該電子機器の起動時に最初に実行されるプログラムであって、他のプログラムを呼び出してそのプログラムの実行を開始させる。プログラム12は、例えばファームウェアであり、当該電子機器内の図示せぬ内部装置を制御したり各種データ処理を実行するためのプログラムであって、不揮発性メモリー1の所定の記憶領域に格納されている。プログラム12は、プログラム12の書き換えを行う書換プログラム21を含んでいる。ブートプログラム11は、通常、その所定の記憶領域に記憶されているプログラムを呼び出す。
 プロセッサー2は、不揮発性メモリー1に記憶されているプログラムに従って、そのプログラムに記述されている処理を実行する。
 プロセッサー2は、(a)プログラム12の更新に使用する更新プログラムを、通信装置5を使用してダウンロードし、(b)プログラム12に従って、書換プログラム21を不揮発性メモリー1内の別の領域にコピーし(つまり、プログラム12全体ではなく、その一部分である書換プログラム21のみをコピーし)、(c)書換プログラム21のコピー後、ブートプログラム11により起動されるプログラムをプログラム12から、コピーされた書換プログラムへ変更して、再起動し(d)再起動後にブートプログラム11に従って、コピーされた書換プログラムの実行を開始し、(e)コピーされた書換プログラムに従って、更新プログラムで、不揮発性メモリー1内のプログラム12を書き換える。
 また、不揮発性メモリー1内のプログラム12を書き換えた後、プロセッサー2は、コピーされた書換プログラムに従って、ブートプログラム11により起動されるプログラムを、コピーされた書換プログラムから、更新プログラムで更新されたプログラム12へ戻して、再起動する。
 通信装置5は、図示せぬネットワーク上のサーバーなどとのデータ通信を行う。通信装置5は、上述の更新プログラムのダウンロードなどに使用される。
 次に、上記電子機器の動作について説明する。
 図2は、図1に示す電子機器におけるプログラム更新時の動作について説明するフローチャートである。
 プロセッサー2は、起動時にブートプログラム11を実行する。そして、通常モードでは、プロセッサー2は、ブートプログラム11に従って、プログラム12の実行を開始する(ステップS1)。
 そして、プロセッサー2は、プログラム12の実行中に、プログラム12の更新要求を受け付けると、更新処理を開始する(ステップS2)。この更新要求は、例えばネットワークを介して通信装置5により受信される。
 更新処理では、まず、プロセッサー2は、プログラム12に対応する更新プログラムを格納可能なデータ記憶装置を探し(ステップS3)、更新プログラムを格納可能なデータ記憶装置が不揮発性メモリー1とは別に存在するか否かを判定する(ステップS4)。なお、プログラム12に対応する更新プログラムは、更新要求で指定されたり、所定のサーバーなどに問い合わせることで特定される。
 図1におけるデータ記憶装置4のようなデータ記憶装置が全く存在しない場合、および図1におけるデータ記憶装置4のようなデータ記憶装置は存在するが残容量が少なく更新プログラムを格納できない場合には、更新プログラムを格納可能なデータ記憶装置が不揮発性メモリー1とは別に存在しないと判定される。
 一方、図1におけるデータ記憶装置4のようなデータ記憶装置が存在し、残容量が更新プログラムの格納に十分である場合には、更新プログラムを格納可能なデータ記憶装置が不揮発性メモリー1とは別に存在すると判定される。
 なお、このとき、更新プログラムのサイズが、更新要求で通知されたり、更新プログラムのダウンロード元であるサーバーなどに問い合わせて特定され、そのサイズとデータ記憶装置の残容量とが比較される。
 そして、そのようなデータ記憶装置が不揮発性メモリー1とは別に存在する場合、プロセッサー2は、ストレージ利用更新処理(第1モードでの更新処理)を実行する(ステップS5)。一方、そのようなデータ記憶装置が不揮発性メモリー1とは別に存在しない場合、プロセッサー2は、ストレージレス更新処理(第2モードでの更新処理)を実行する(ステップS6)。
 ここで、ストレージ利用更新処理(ステップS5)について説明する。
 図3は、図2におけるストレージ利用更新処理(ステップS5)について説明するフローチャートである。図4は、図2におけるストレージ利用更新処理(ステップS5)におけるデータの流れについて説明するブロック図である。ここでは、データ記憶装置4が更新プログラム31の格納に使用される。
 ストレージ利用更新処理では、プロセッサー2は、まず、プログラム12に従って、通信装置5を使用して、更新プログラム31をダウンロードしてデータ記憶装置4に格納する(ステップS21)。
 次に、プロセッサー2は、プログラム12に従って、書換プログラム21を不揮発性メモリー1内の別の領域にコピーする(ステップS22)。
 そして、プロセッサー2は、書換プログラム21のコピー後、ブートプログラム11により起動されるプログラムを、プログラム12から、コピーされた書換プログラム32へ変更し(ステップS23)、その後、再起動する(ステップS24)。つまり、プロセッサー2は、ブートプログラム11によりプログラム12が起動される通常モードから、ブートプログラム11により書換プログラム32が起動される更新モードへ、動作モードを切り換えて、再起動する。
 再起動によって、まず、ブートプログラム11が実行される。そして、プロセッサー2は、ブートプログラム11に従って、コピーされた書換プログラム32の実行を開始する(ステップS25)。
 そして、プロセッサー2は、コピーされた書換プログラム32に従って、更新プログラム31をデータ記憶装置4から読み出し、その更新プログラムを不揮発性メモリー1内のプログラム12に上書きして書き換える(ステップS26)。
 プログラム12の書換が完了すると、プロセッサー2は、コピーされた書換プログラム32に従って、データ記憶装置4に格納されている更新プログラム31を削除する(ステップS27)。
 そして、プロセッサー2は、ブートプログラム11により起動されるプログラムを、コピーされた書換プログラム32からプログラム12(つまり、書換後のプログラム12)へ変更し(ステップS28)、その後、再起動する(ステップS29)。つまり、プロセッサー2は、動作モードを、更新モードから通常モードへ切り換えて、再起動する。
 これにより、ステップS29での再起動後は、ブートプログラム11によって更新後のプログラム12の実行が開始される。
 ストレージ利用更新処理の場合、ステップS23の完了前のある時点で電源オフが発生した場合、ステップS1から更新処理が再度実行され、ステップS23の完了後のある時点で電源オフが発生した場合、ステップS25から更新処理が再開される。このため、電源オフによって動作不能となることはない。
 ここで、ストレージレス更新処理(ステップS6)について説明する。
 図5は、図2におけるストレージレス更新処理(ステップS6)について説明するフローチャートである。図6は、図2におけるストレージレス更新処理(ステップS6)におけるデータの流れについて説明するブロック図である。
 ストレージレス更新処理では、プロセッサー2は、まず、プログラム12に従って、書換プログラム21を不揮発性メモリー1内の別の領域にコピーする(ステップS41)。
 書換プログラム21のコピー後、プロセッサー2は、ブートプログラム11により起動されるプログラムをプログラム12から、コピーされた書換プログラム32へ変更し(ステップS42)、その後、再起動する(ステップS43)。つまり、プロセッサー2は、動作モードを、通常モードから更新モードへ切り換えて、再起動する。
 再起動によって、まず、ブートプログラム11が実行される。そして、プロセッサー2は、ブートプログラム11に従って、コピーされた書換プログラム32の実行を開始する(ステップS44)。
 次に、プロセッサー2は、コピーされた書換プログラム32に従って、通信装置5を使用して、更新プログラム31をダウンロードしてRAM3に格納する(ステップS45)。
 さらに、プロセッサー2は、コピーされた書換プログラム32に従って、更新プログラム31をRAM3から読み出し、その更新プログラム31を不揮発性メモリー1内のプログラム12に上書きして書き換える(ステップS46)。
 そして、プロセッサー2は、ブートプログラム11により起動されるプログラムを、コピーされた書換プログラム32からプログラム12(つまり、書換後のプログラム12)へ変更し(ステップS47)、その後、再起動する(ステップS48)。つまり、プロセッサー2は、動作モードを、更新モードから通常モードへ切り換えて、再起動する。
 これにより、ステップS48での再起動後は、ブートプログラム11によって更新後のプログラム12の実行が開始される。
 ストレージレス更新処理の場合、ステップS42の完了前のある時点で電源オフが発生した場合、ステップS1から更新処理が再度実行され、ステップS42の完了後のある時点で電源オフが発生した場合、ステップS44から更新処理が再開される。このため、電源オフによって動作不能となることはない。
 以上のように、上記実施の形態によれば、プロセッサーは、(a)プログラム12の更新に使用する更新プログラム31をダウンロードし、(b)プログラム12に従って、プログラム12内の書換プログラム21を不揮発性メモリー1内にコピーし、(c)書換プログラム21のコピー後、ブートプログラム11により起動されるプログラムを、プログラム12から、コピーされた書換プログラム32へ変更して、再起動し(d)再起動後にブートプログラム11に従って、コピーされた書換プログラム32の実行を開始し、(e)コピーされた書換プログラム32に従って、更新プログラム31で、不揮発性メモリー1内のプログラム12を書き換える。
 これにより、不揮発性メモリー1においてプログラム更新時に使用するために確保されている領域が小さくても(つまり、書換プログラム32を書き込む領域が確保されていれば)、電源オフでプログラム更新が中断した後の電源オン時にそのプログラム更新を再開できる。
 なお、上述の実施の形態は、例示および説明を目的として示したものであり、これがすべてではなく、発明をこの形態に限定するものではない。
 例えば、上記実施の形態に係る電子機器に、更新プログラム31の格納に使用可能なデータ記憶装置が存在するか否かが予め(例えば製造時に)分かっている場合には、ステップS3,S4の処理を省略し、ストレージ利用更新処理(ステップS5)およびストレージレス更新処理(ステップS6)のいずれか一方のみを実行するようにしてもよい。
 また、上記実施の形態において、プロセッサー2が、プログラム12に従って、ストレージ利用更新処理(ステップS5)およびストレージレス更新処理(ステップS6)のどちらが選択されたかを示すデータを不揮発性メモリー1、RAM3などに格納しておき、プロセッサー2は、書換プログラム32に従って、そのデータを参照して、現時点で選択されているストレージ利用更新処理(ステップS5)またはストレージレス更新処理(ステップS6)を特定し、その特定した更新処理において実行すべき処理を実行するようにしてもよい。あるいは、プロセッサー2が、ブートプログラム11に従って、書換プログラム32を呼び出す際に、そのデータを引数として書換プログラム32に提供するようにしてもよい。あるいは、ストレージ利用更新処理(ステップS5)とストレージレス更新処理(ステップS6)とで異なる書換プログラム21,32を使用するようにしてもよい。
 また、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が追加請求項に含まれることを意図している。
 本発明は、例えば、組込機器におけるプログラムの更新に適用可能である。

Claims (5)

  1.  プログラムに従って処理を実行するプロセッサーと、
     更新対象の注目プログラムおよび起動時に実行されるブートプログラムを記憶している不揮発性メモリーとを備え、
     前記注目プログラムは、前記注目プログラムの書き換えを行う書換プログラムを含み、
     前記プロセッサーは、(a)前記注目プログラムの更新に使用する更新プログラムをダウンロードし、(b)前記注目プログラムに従って、前記書換プログラムを前記不揮発性メモリー内にコピーし、(c)前記書換プログラムのコピー後、前記ブートプログラムにより起動されるプログラムを前記注目プログラムから、コピーされた前記書換プログラムへ変更して、再起動し(d)再起動後に前記ブートプログラムに従って、コピーされた前記書換プログラムの実行を開始し、(e)コピーされた前記書換プログラムに従って、前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換えること、
     を特徴とする電子機器。
  2.  揮発性メモリーをさらに備え、
     前記プロセッサーは、前記更新プログラムを格納可能なデータ記憶装置が前記不揮発性メモリーとは別に存在するか否かを判定し、前記データ記憶装置が前記不揮発性メモリーとは別に存在する場合、第1モードで前記注目プログラムを更新し、前記データ記憶装置が前記不揮発性メモリーとは別に存在しない場合、第2モードで前記注目プログラムを更新し、
     前記第1モードでは、前記プロセッサーは、前記再起動の前に、前記注目プログラムに従って前記更新プログラムをダウンロードして前記データ記憶装置に格納し、前記再起動の後に、前記コピーされた前記書換プログラムに従って前記データ記憶装置から前記更新プログラムを読み出し、読み出した前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換え、
     前記第2モードでは、前記プロセッサーは、前記再起動の後に、前記コピーされた前記書換プログラムに従って前記更新プログラムをダウンロードして前記揮発性メモリーに格納し、前記揮発性メモリーから前記更新プログラムを読み出し、読み出した前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換えること、
     を特徴とする請求項1記載の電子機器。
  3.  前記更新プログラムを格納可能なデータ記憶装置が前記不揮発性メモリーとは別に存在する場合、前記プロセッサーは、前記再起動の前に、前記注目プログラムに従って前記更新プログラムをダウンロードして前記データ記憶装置に格納し、前記再起動の後に、前記コピーされた前記書換プログラムに従って前記データ記憶装置から前記更新プログラムを読み出し、読み出した前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換えることを特徴とする請求項1記載の電子機器。
  4.  揮発性メモリーをさらに備え、
     前記更新プログラムを格納可能なデータ記憶装置が前記不揮発性メモリーとは別に存在しない場合、前記プロセッサーは、前記再起動の後に、前記コピーされた前記書換プログラムに従って前記更新プログラムをダウンロードして前記揮発性メモリーに格納し、前記揮発性メモリーから前記更新プログラムを読み出し、読み出した前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換えること、
     を特徴とする請求項1記載の電子機器。
  5.  前記更新プログラムで、前記不揮発性メモリー内の前記注目プログラムを書き換えた後、前記プロセッサーは、前記コピーされた前記書換プログラムに従って、前記ブートプログラムにより起動されるプログラムを、コピーされた前記書換プログラムから、前記更新プログラムで更新された前記注目プログラムへ戻して、再起動することを特徴とする請求項1記載の電子機器。
PCT/JP2014/083858 2013-12-27 2014-12-22 電子機器 WO2015098811A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015554866A JP6074064B2 (ja) 2013-12-27 2014-12-22 電子機器
US15/104,972 US20160321057A1 (en) 2013-12-27 2014-12-22 Electronic apparatus
CN201480067852.0A CN105814545B (zh) 2013-12-27 2014-12-22 电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-271377 2013-12-27
JP2013271377 2013-12-27

Publications (1)

Publication Number Publication Date
WO2015098811A1 true WO2015098811A1 (ja) 2015-07-02

Family

ID=53478665

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/083858 WO2015098811A1 (ja) 2013-12-27 2014-12-22 電子機器

Country Status (4)

Country Link
US (1) US20160321057A1 (ja)
JP (1) JP6074064B2 (ja)
CN (1) CN105814545B (ja)
WO (1) WO2015098811A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059211A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2019040571A (ja) * 2017-08-29 2019-03-14 オンキヨー株式会社 電子機器
JP2021006940A (ja) * 2019-06-27 2021-01-21 富士通株式会社 更新管理装置、更新管理システム及び更新管理プログラム
JP2023502511A (ja) * 2019-11-25 2023-01-24 マイクロン テクノロジー,インク. セキュアストレージデバイスでのレジリエントなソフトウェア更新

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7292328B2 (ja) * 2021-05-28 2023-06-16 キヤノン株式会社 情報処理装置及びその制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255084A (ja) * 1995-01-18 1996-10-01 Hewlett Packard Co <Hp> Eepromのアップグレード方法
JP2004192329A (ja) * 2002-12-11 2004-07-08 Fuji Photo Film Co Ltd プログラム書換え方法および端末装置
JP2006133889A (ja) * 2004-11-02 2006-05-25 Sharp Corp プログラムを更新するための方法、プログラムおよび装置
JP2012226619A (ja) * 2011-04-20 2012-11-15 Kyocera Corp 携帯端末装置、記憶制御方法及び記憶制御プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
JP2003167609A (ja) * 2001-11-28 2003-06-13 Fuji Electric Co Ltd プログラマブルコントローラ、そのユーザプログラム更新方法、記録媒体、及びプログラム
US20040230963A1 (en) * 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
KR100987628B1 (ko) * 2004-02-07 2010-10-13 엘지전자 주식회사 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체
US8316120B2 (en) * 2010-02-02 2012-11-20 Microsoft Corporation Applicability detection using third party target state

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255084A (ja) * 1995-01-18 1996-10-01 Hewlett Packard Co <Hp> Eepromのアップグレード方法
JP2004192329A (ja) * 2002-12-11 2004-07-08 Fuji Photo Film Co Ltd プログラム書換え方法および端末装置
JP2006133889A (ja) * 2004-11-02 2006-05-25 Sharp Corp プログラムを更新するための方法、プログラムおよび装置
JP2012226619A (ja) * 2011-04-20 2012-11-15 Kyocera Corp 携帯端末装置、記憶制御方法及び記憶制御プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059211A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2020107355A (ja) * 2015-09-14 2020-07-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 仮想マシンモニタ、ソフトウェア及びファームウェア更新方法
JP2019040571A (ja) * 2017-08-29 2019-03-14 オンキヨー株式会社 電子機器
JP2021006940A (ja) * 2019-06-27 2021-01-21 富士通株式会社 更新管理装置、更新管理システム及び更新管理プログラム
JP2023502511A (ja) * 2019-11-25 2023-01-24 マイクロン テクノロジー,インク. セキュアストレージデバイスでのレジリエントなソフトウェア更新
JP7392147B2 (ja) 2019-11-25 2023-12-05 マイクロン テクノロジー,インク. セキュアストレージデバイスでのレジリエントなソフトウェア更新

Also Published As

Publication number Publication date
CN105814545B (zh) 2019-08-27
US20160321057A1 (en) 2016-11-03
JPWO2015098811A1 (ja) 2017-03-23
JP6074064B2 (ja) 2017-02-01
CN105814545A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
JP6074064B2 (ja) 電子機器
US20100180108A1 (en) Electronic device and method for secure operating system update in embedded system
CN102667716A (zh) 使用固件更新应用程序更新部件的固件的方法及装置
JP6270616B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2010170197A (ja) ファームウェア管理プログラム、記憶装置およびファームウェア管理方法
US20140258699A1 (en) Boot fault tolerant device and method thereof
JP4867186B2 (ja) 制御装置、方法、プログラム及び記憶媒体
US20170264768A1 (en) Information processing apparatus and restart executing method
JP5084853B2 (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
JP2012174061A (ja) 情報処理装置、情報処理方法、スキャナ装置、スキャナ装置の制御方法
JP6192089B2 (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム
JP6457756B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2023068538A (ja) 情報処理装置及びその制御方法、並びにプログラム
WO2012077604A1 (ja) 処理装置、プログラム更新方法、およびプログラム
JP5418348B2 (ja) 情報処理装置およびカラオケ装置
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP7031211B2 (ja) 電子機器
JP7491765B2 (ja) ファームウェア更新システムおよびファームウェア更新方法
JP2022152170A (ja) ブートプログラム書き換えシステム
JP2004094725A (ja) ファームウェア書換装置及びファームウェア書換方法
JP2005228225A (ja) メモリカードアダプタ
JP2017054372A (ja) 制御方法およびそれを利用した通信装置
JP2005078336A (ja) 画像形成装置と画像形成装置のプログラム書換方法
CN118012513A (zh) 设备树参数调试方法和装置、电子设备和存储介质
JP5976729B2 (ja) 電子機器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14875775

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015554866

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15104972

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14875775

Country of ref document: EP

Kind code of ref document: A1