WO2010067737A1 - 情報処理装置およびプログラム更新方法 - Google Patents

情報処理装置およびプログラム更新方法 Download PDF

Info

Publication number
WO2010067737A1
WO2010067737A1 PCT/JP2009/070241 JP2009070241W WO2010067737A1 WO 2010067737 A1 WO2010067737 A1 WO 2010067737A1 JP 2009070241 W JP2009070241 W JP 2009070241W WO 2010067737 A1 WO2010067737 A1 WO 2010067737A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
update
area
boot
recorded
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.)
Ceased
Application number
PCT/JP2009/070241
Other languages
English (en)
French (fr)
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.)
Denso Ten Ltd
Toyota Motor Corp
Original Assignee
Denso Ten Ltd
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd, Toyota Motor Corp filed Critical Denso Ten Ltd
Publication of WO2010067737A1 publication Critical patent/WO2010067737A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

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

Definitions

  • the present invention relates to an information processing apparatus, a program update method, and a program.
  • a program is stored in each ROM using a plurality of ROMs (Read Only Memory), a program to be operated is determined by selecting one of the ROMs, and the program is operated when it is updated. There is no ROM rewriting technology.
  • program updating is performed to keep the program updated.
  • update information of a program is notified to the information processing apparatus as needed in order to improve the convenience of program update, and when there is an update program, the information processing apparatus automatically updates the program.
  • the program may be broken due to power-off or the like of the information processing apparatus.
  • boot program etc. responsible for the system boot process is broken, there is a risk that the system can not be booted itself, and it is extremely difficult to make corrections by the user. It will be difficult.
  • the present invention has an object to enable start-up of an information processing apparatus and resumption of update even when update of a program in the information processing apparatus is not normally finished.
  • a plurality of activation programs for the information processing apparatus of the update target programs are recorded on the non-volatile storage device, and these are sequentially updated while the update progresses.
  • the present invention relates to an information processing apparatus connected to a non-volatile storage device, wherein a boot program actually used for startup processing of the information processing device is a first area in the non-volatile storage device.
  • Information for recording, in the non-volatile storage device, the start-up program specification information for specifying which one of the start-up program recorded in and the start-up program recorded in the second area of the non-volatile storage device A recording means, and a designated program activation means for activating the information processing device by using the designated activation program with reference to the activation program designation information recorded by the information recording means at the start of activation of the information processing device
  • first updating means for updating a boot program for the boot process of the information processing apparatus, which is recorded in the first area.
  • the boot program specification information specifying the boot program recorded in the second area is recorded in the boot process of the information processing apparatus before the update process by the first update unit is started. After the end of the update processing by the first update unit and before the update processing by the second update unit is started, the start program recorded in the first area in the start processing of the information processing apparatus An information processing apparatus that records the start program specification information specifying.
  • the startup program is a program that is executed to start up a state in which the information processing apparatus can provide the user with a function in the normal operating state, and starts up the OS (Operating System).
  • OS Operating System
  • a program to be executed at the time of starting the application program among application programs to be executed for a predetermined function exclusively provided by the information processing apparatus after the OS is started may be used. .
  • a plurality of such boot programs are recorded in the non-volatile storage device which is the target of program reading by the information processing apparatus at the time of startup.
  • a plurality of startup programs recorded in the non-volatile storage device may not be complete copies but may be partially changed.
  • the boot program recorded in the first area and the boot program recorded in the second area are updated in order.
  • the boot program recorded in the first area is being updated as the boot program actually used for the boot process
  • the boot program recorded in the second area is recorded in the second area
  • the image processing apparatus when the non-volatile storage device stores information indicating that the boot program recorded in the second area is used for the boot process, And the second non-volatile storage device stores information indicating that the boot program recorded in the first area is to be used for the boot process.
  • the image processing apparatus may further include update processing restart means for starting update processing by the update means.
  • the update processing is resumed at the next activation even when the update processing is not completed normally.
  • the update process can be resumed from the correct resume position by determining the restart position of the update process based on the start program specified at the end of the previous process. More specifically, when the boot program recorded in the second area as the boot program is designated, the boot program update process recorded in the first area at the end of the previous time is performed. If the boot program recorded in the first area is specified as the boot program, the update process of the boot program recorded in the second area at the time of previous termination is performed. It can be determined that was done.
  • the information recording means determines whether the activation program is being updated at the end of the previous time, which is recorded separately from the activation program specification information by the information recording means, whether the activation program was being updated at the end of the previous time.
  • the determination may be made by referring to the information of (1) or by referring to the start program specification information.
  • the information recording means records start program specification information specifying that any start program may be used to start the program.
  • the update process resuming means and the second update process resumption means specify a boot program specification information for specifying a boot program recorded in the first area or a boot for specifying the boot program recorded in the second area If the program specification information is recorded, it can be determined that the activation program is being updated at the end of the previous time.
  • the information recording means after the update of the activation program recorded in the second area is completed, in the activation process of the information processing apparatus, the activation program recorded in the first area and the information processing means
  • the start program specification information may indicate that any of the start programs recorded in the second area may be used.
  • the second update unit may update the boot program recorded in the second area based on the updated boot program recorded in the first area.
  • the present invention can also be understood as a method executed by a computer or a program for causing a computer to function as the above respective units.
  • a program may be recorded on a recording medium readable by a computer or other device, machine or the like.
  • a recording medium readable by a computer etc. is a recording medium which can store information such as data and programs electrically, magnetically, optically, mechanically or chemically and read from a computer etc.
  • FIG. 1 is a view schematically showing an on-vehicle apparatus according to the present embodiment and a system for updating a program of an information processing apparatus included in the on-vehicle apparatus.
  • the in-vehicle device 1 performs navigation by displaying a map image or the like on the touch panel display 2 according to the user input from the touch panel display 2 which displays information to the user and receives input from the user and the touch panel display 2 Audio device 4 for generating sound signals from a source such as a CD (Compact Disc) or radio broadcast wave and providing sound to the user via a speaker installed in the car, DVD (Digital Versatile Disc) Whether the video signal and the audio signal are generated from the touch panel display 2 and the speaker is output from the DVD deck 5 and the video signal and the audio signal are generated based on the received digital broadcast wave, the touch panel display 2 and the speaker DTV device 6 to view digital TV broadcasts to users by outputting, with each information processing apparatus etc., these devices are communicatively connected to each other.
  • Each information processing apparatus provided in the in-vehicle apparatus 1 has a dedicated or general-purpose processor, ROM, RAM (Random Access Memory), etc., and the processor executes a program expanded in the ROM or RAM, respectively.
  • the information processing apparatus is a computer that provides the function of the information processing apparatus to a user or another connected information processing apparatus. And in this embodiment, the program executed for providing the function by each information processing apparatus can be updated via the network.
  • the update of the program is performed by downloading the update program 91 stored in the server 9 via the network and rewriting (usually, overwriting) the previous program.
  • the program is updated when the navigation device 3 is activated when the vehicle equipped with the in-vehicle device 1 turns on ACC, when the user makes a setting, when the destination is set in the navigation device (for example, the user's home
  • the center having the update information of the server 9 is inquired, and it is started triggered by the detection that the server 9 has an update program.
  • the in-vehicle device 1 in the present embodiment is provided with an interface for connecting the mobile telephone terminal 7, and the in-vehicle device 1 uses the mobile telephone terminal 7 connected via the interface to use the Internet etc.
  • the update program 91 is downloaded by connecting to the server 9 via the network.
  • the interface for connecting the mobile phone terminal 7 provided in the in-vehicle apparatus 1 may be a wired interface such as USB (Universal Serial Bus) or a wireless interface such as Bluetooth.
  • program update processing of the navigation device 3 provided in the in-vehicle apparatus 1 will be described.
  • the update process can be performed on other information processing apparatuses constituting the in-vehicle apparatus 1, for example, the touch panel display 2, the audio apparatus 4, the DVD deck 5, the DTV apparatus 6, etc.
  • the flow is the same as the flow of the update process by the navigation device 3 described below.
  • FIG. 2 is a diagram showing the configuration of a program recorded in the ROM of the navigation device 3 according to the present embodiment.
  • a program for realizing various functions by the navigation device 3 is recorded in the ROM of the navigation device 3 by being executed by the processor, but in the present embodiment, such a program is recorded on the ROM.
  • the boot section 31 where the boot program required to perform boot and update processing of the navigation device 3 is recorded and the navigation device 3 after boot is region It divides into the application part 32 in which an application program is recorded.
  • the boot unit 31 has a first area (hereinafter, also referred to as “BOOT_1”) 311 in which a boot program is recorded, and a boot for the same boot program recorded in the first area 311.
  • the second area (hereinafter also referred to as “BOOT_2”) 312 in which the program is recorded and the boot program and the second area 312 in which the boot program actually executed in the boot process is recorded in the first area 311 It is divided into a designation information recording area (hereinafter, also referred to as “BOOT_0”) 310 in which boot program designation information for designating which of the recorded boot programs is recorded.
  • FIG. 3 is a diagram showing a functional configuration of the navigation device 3 according to the present embodiment.
  • the processor executes a program expanded in the ROM or the RAM, and the navigation unit 21 performs navigation by displaying a map image or the like on the touch panel display 2 according to user input.
  • the information recording unit 22 records the designation information of the activation program, the activation program which executes the activation program according to the designation information recorded by the information recording unit 22 and activates the apparatus, and the information is recorded in the first area 311
  • the first update unit 24 updates the boot program
  • the second update unit 25 updates the boot program recorded in the second area 312, and the next time the update of the boot program is not completed normally
  • the update process resumption unit 26 which resumes the update process at the time of startup and the update of the program for start
  • An application updating unit 27 for updating the application unit 32 in a state, which functions as the navigation device 3 comprising a.
  • FIG. 4 is a diagram showing an outline of the flow of program update of the navigation device 3 according to the present embodiment and the flow of update of the designated information recording area 310 accompanying this.
  • the navigation device 3 refers to the designated information recording area 310 to specify the boot program, and starts the device by executing the specified boot program.
  • “0” is recorded in the designated information recording area 310, which means that activation may be performed using the activation program recorded in any of the first area 311 and the second area 312. Therefore, the navigation device 3 activates the device by executing any of the activation programs recorded in the first area 311 and the second area 312.
  • a priority order may be provided such that the start program recorded in the first area 311 is preferentially used.
  • the download and update process of the update program 91 (existing program ) Is performed.
  • the update is performed in the order of the boot program recorded in the first area (BOOT_1) 311, the boot program recorded in the second area (BOOT_2) 312, and the application program.
  • 2 is set in the designated information recording area 310 before the update of the first area 311 is started, and after the completion of the update of the first area 311, before the start of the update of the second area 312, the designated information recording is performed.
  • 1 is set in the area 310, and 0 is set in the designated information recording area 310 before update start of the application unit 32 after update of the second area 312 is completed.
  • Case 1 shown in FIG. 4 shows a case where the power is turned off before the update of the first area 311 is started after the start. This is the same as when the power is turned off in a state where the navigation device 3 is normally used, the update of the start program has not been started, and the first area 311 and the Since “0” is set, which indicates that any of the start programs of the second area 312 may be used to start, the normal start is performed normally at the next start.
  • Case 2 shows the case where the power is turned off while the first area 311 is being updated.
  • the activation program recorded in the first area 311 may be damaged because the first area 311 is being updated. Since “2” is set, which indicates that the activation is to be performed using the activation program, the activation is normally performed using the activation program of the second area 312 which is not damaged at the next activation.
  • Case 3 shows the case where the power is turned off before the update of the second area 312 is started after the update of the first area 311 is completed.
  • the update of the activation program of the first area 311 is completed, the activation program of the second area 312 is not updated, and neither activation program is damaged.
  • “1” is set in the designated information recording area 310, which indicates that it should be activated using the activation program for the first area 311. Therefore, when it is activated next time, it is updated and becomes the latest state.
  • the program is normally booted using the boot program of the first area 311.
  • Case 4 shows the case where the power is turned off while the second area 312 is being updated.
  • the boot program recorded in the second area 312 may be damaged, it indicates that the designated information recording area 310 should be booted using the boot program of the first area 311. Since “1” is set, it is normally booted using the boot program for the updated first area 311.
  • Case 5 shows the case where the power is turned off before the update of the application unit 32 is started after the update of the second area 312 is completed.
  • the update of the activation program of the first area 311 and the second area 312 is completed, and any activation program is in the latest state without damage.
  • “0” is set in the designated information recording area 310, which indicates that either of the first area 311 and the second area 312 may be used to start the program, so “0” is also set next time. Start normally as normal.
  • the apparatus can be normally operated. It is possible to start. Furthermore, the information processing apparatus according to the present embodiment has a function of resuming the update process from the most appropriate position near the position where the update is interrupted at the next activation even if the power is turned off during the update.
  • the flow of the activation process and the update process of the information processing apparatus according to the present embodiment will be more specifically described using the flowchart.
  • FIG. 5 is a flowchart showing a flow of activation processing of the navigation device 3 according to the present embodiment.
  • the process shown in this flowchart is started by turning on the power of the navigation device 3. Note that the order of the processes shown in the flowchart is an example, and the order of the processes can be appropriately changed according to the embodiment without departing from the scope of the present invention.
  • step S101 a boot program to be used for boot is determined.
  • the start program executed in the start process is a start program recorded in the first area 311 by referring to the designated information recording area 310 Or determines whether it is a boot program recorded in the second area 312.
  • the navigation device 3 is activated according to the activation program.
  • the activation unit 23 activates the navigation device 3 by executing the activation program recorded in either the first area (BOOT_1) 311 or the second area (BOOT_2) 312 according to the result of the determination in step S101.
  • the activation programs recorded in each of the first area 311 and the second area 312 are basically the same program.
  • the program for starting the first area 311 is executed in step S102. Thereafter, the process proceeds to step S105.
  • steps S105 and S106 when the current activation of the navigation device 3 is the first activation, initial setting of the designated information recording area 310 is performed.
  • the processor determines whether or not the present activation is the first activation after the on-vehicle device 1 is mounted on the vehicle, based on the setting contents in the navigation device 3 and the input signal from the outside (step S105).
  • the activation process shown in FIG. 5 ends, and the process proceeds to the updating process.
  • “0” is set in the designated information recording area 310 (step S106). Thereafter, the process shown in the present flowchart ends, and the process proceeds to the update process.
  • 6 and 7 are flowcharts showing the flow of the update process of the navigation device 3 according to the present embodiment.
  • the process shown in this flowchart after the end of the update process shown in FIG. 5, it is detected that the program currently installed in the navigation apparatus 3 is not the latest program, and the update program 91 exists in the server 9 If it is started.
  • the order of the processes shown in the flowchart is an example, and the order of the processes can be appropriately changed according to the embodiment without departing from the scope of the present invention.
  • steps S201 to S204 a program and an area to be updated are determined based on the contents of the designated information recording area 310 and the presence or absence of the boot unit 31 update request.
  • the update process resumption unit 26 refers to the designated information recording area 310, and when “2” is set, it determines that the activation program for the first area 311 was being updated at the end of the previous time, and the step The process proceeds to the first area update process after S205 (step S201).
  • step S202 the update process resumption unit 26 refers to the designated information recording area 310 and determines that “1” is set, it is determined that the activation program for the second area 312 was in the middle of updating at the end of the previous time Then, the process proceeds to the second area update process after step S211 (step S202).
  • the update processing restart unit 26 updates the information stored in the server 9. It is determined whether or not the program 91 includes an update program of the boot program (that is, whether or not the boot unit 31 needs to be updated), and it is determined that the boot unit 31 does not need to be updated.
  • the information recording unit 22 sets an initial value “0” in the designated information recording area 310 (step S204), and the process proceeds to the application part update process after step S222.
  • step S203 the process proceeds to the first area update process after step S205 (step S203).
  • the information in the designated information recording area 310 is not only the information for designating the start program used for start, but also whether the start program is being updated at the end of the previous time Is also used as information for determining That is, when "0" is set in the designated information recording area 310, it is determined that the start program is not being updated at the end of the previous time, and "1" or "2" is set in the designated information recording area 310. If it is, it is determined that the activation program is being updated at the end of the previous time. However, information for determining whether or not the activation program is being updated at the time of previous termination may be recorded separately from the designated information recording area 310. In this case, the information recording unit 22 records information for determining whether or not the activation program is being updated at the end of the previous time, in addition to the designation of the activation program for the designation information recording area 310.
  • step S205 update processing of the first area 311 is performed.
  • the information recording unit 22 sets “2” in the designated information recording area 310 (step S205).
  • the navigation device 3 is started using the start program for the second area 312 at the next activation. It can be started normally.
  • the first update unit 24 downloads the latest activation program from the server 9 and overwrites the existing activation program recorded in the first area 311 with the downloaded activation program.
  • the one area 311 is updated (step S206).
  • step S207 When updating of the first area 311 is completed (step S207), the information recording unit 22 sets “1” in the designated information recording area 310 (step S208). That is, even if the power is suddenly turned off during the updating process after step S208, the navigation apparatus 3 uses the starting program for the first area 311 updated to the latest state at the next activation. Can be started. Thereafter, the process proceeds to the second area update process after step S211.
  • step S208 update processing of the second area 312 is performed.
  • “1” is set in the designated information recording area 310 by the information recording unit 22. Therefore, the updating process abnormally ends due to a power failure or the like during the updating process of the second area 312.
  • the navigation device 3 can be normally activated using the activation program of the first area 311 at the next activation.
  • the second updating unit 25 reads the latest activation program from the updated first area 311, and the existing activation program recorded in the second area 312 is read by the read activation program. By overwriting, the second area 312 is updated (step S211).
  • step S212 When the update of the second area 312 is completed (step S212), the information recording unit 22 sets “0” in the designated information recording area 310 (step S213). That is, after step S213, the navigation device 3 can be activated using any activation program for the first area 311 or the second area 312 updated to the latest state. Thereafter, the process proceeds to application part update processing in step S221 and subsequent steps.
  • step S221 and subsequent steps update processing of the application unit 32 is performed.
  • step S221 and subsequent steps updating of the activation program is already completed, and since the activation program is not damaged in the update processing of the application unit 32, designation control of the activation program using the designation information recording area 310 is performed. Absent.
  • the processor determines whether the update program 91 stored in the server 9 includes the update program of the application program (that is, whether the update of the application unit 32 is required) (step S221). If it is determined that the application unit 32 needs to be updated, the process proceeds to step S222. If it is determined that the application unit 32 does not need to be updated, the process illustrated in the flowchart ends, and the navigation device 3 is restarted.
  • step S221 If it is determined in step S221 that the application unit 32 needs to be updated, the application update unit 27 downloads the latest application program from the server 9, and the downloaded application program is recorded in the application unit 32.
  • the application unit 32 is updated by overwriting the existing application program (step S222).
  • step S223 the process shown in the present flowchart is completed, and the navigation device 3 is restarted.
  • the designated information recording area 310 indicates the boot program without damage. Therefore, the information processing apparatus can be started normally. Furthermore, according to the present embodiment, in the update processing, whether or not the update processing was in progress at the previous end by referring to the designated information recording area 310 and the progress degree of the update processing at the previous end are determined By restarting the process, it is possible to restart the update process from the optimal position even if the update process is interrupted due to a power failure or the like.
  • this invention is applicable if it is the information processing apparatus with which a program update is performed.
  • the touch panel display 2 the audio device 4, the DVD deck 5, the DTV device 6 and other information processing devices that constitute the in-vehicle device 1
  • the power supply is cut off during the update by performing the same update process as described above.
  • the boot program is damaged, normal restart and update processing can be resumed.

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

 情報処理装置に、第一領域311および第二領域312の何れに記録された起動用プログラムを起動処理に用いるかを指定する情報を指定情報記録領域310に記録する情報記録部22と、指定された起動用プログラムを用いて情報処理装置を起動させる起動部23と、第一領域311に記録された起動用プログラムを更新する第一更新部24と、第一領域311の更新が完了している場合に、第二領域312を更新する第二更新部25と、を備え、情報記録部22は、第一更新部24による更新開始前に、起動処理に第二領域312の起動用プログラムを用いることを示す情報を記録し、第一更新部24による更新終了後且つ第二更新部25による更新開始前に、起動処理に第一領域311に記録された起動用プログラムを用いることを示す情報を記録する。

Description

情報処理装置およびプログラム更新方法
 本発明は、情報処理装置、プログラム更新方法およびプログラムに関する。
 従来、複数のROM(Read Only Memory)を使用して各々のROMにプログラムを格納し、何れかのROMを選択させることによって動作させるプログラムを決定し、プログラムをアップデートする際には、動作していないROMを書き換える技術がある。
 また、最新のプログラムをダウンロードする場合に、BOOTプログラムおよび運用プログラムを起動するために参照されるRAM上の割り込みベクタをBOOTプログラム用に書き換えて、最新のプログラムを予備プログラム領域にダウンロードすると共に、運用プログラム領域と予備プログラム領域のアドレスを交換する切替フラグを反転し、通常動作時には割り込みベクタを運用プログラム用に書き換えるプログラム切替え制御装置がある(特許文献1を参照)。
特開2005-332228号公報
 一般に、情報処理装置では、プログラムを最新の状態に保つために、プログラムの更新が行われる。また、プログラム更新の利便性を向上させるために、プログラムの更新情報を情報処理装置に随時通知し、更新プログラムがある場合には情報処理装置が自動でプログラムを更新する技術がある。しかし、このようなプログラム更新処理では、情報処理装置の電源断等によって、プログラムが壊れてしまう虞がある。特に、自動的なプログラム更新は、ユーザにとって更新処理の開始のタイミングが予測困難であるため、望ましくないタイミングでの電源断が発生し易い。更に、ここでシステムの起動処理を担うプログラム(所謂ブートプログラム等)が壊れてしまった場合には、システムを起動させること自体が出来なくなる虞があり、ユーザの手で修正を行うことは非常に困難となる。
 本発明は、上記した問題に鑑み、情報処理装置におけるプログラムの更新が正常に終了しなかった場合にも、情報処理装置の起動および更新の再開を可能とすることを課題とする。
 本発明は、上記した課題を解決するために、更新対象のプログラムのうち、情報処理装置の起動用プログラムを、不揮発性記憶装置上に複数記録し、これらを順次更新しつつ、更新の進行に従って、更新中でない起動用プログラムを実際の起動に用いられる起動用プログラムとして指定することで、情報処理装置におけるプログラムの更新が正常に終了しなかった場合にも、情報処理装置の起動および更新の再開を可能にした。
 詳細には、本発明は、不揮発性記憶装置に接続された情報処理装置であって、該情報処理装置の起動処理に実際に用いられる起動用プログラムが、前記不揮発性記憶装置における第一の領域に記録された起動用プログラム、および該不揮発性記憶装置における第二の領域に記録された起動用プログラムの何れであるかを指定する起動用プログラム指定情報を、前記不揮発性記憶装置に記録する情報記録手段と、該情報処理装置の起動開始時に前記情報記録手段によって記録された前記起動用プログラム指定情報を参照し、指定された起動用プログラムを用いて該情報処理装置を起動させる指定プログラム起動手段と、前記第一の領域に記録された、該情報処理装置の起動処理のための起動用プログラムの更新を行う第一の更新手段と、前記第一の領域に記録された起動用プログラムの更新が完了している場合に、前記第二の領域に記録された起動用プログラムの更新を行う第二の更新手段と、を備え、前記情報記録手段は、前記第一の更新手段による更新処理が開始される前に、該情報処理装置の起動処理に前記第二の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報を記録し、前記第一の更新手段による更新処理の終了後且つ前記第二の更新手段による更新処理が開始される前に、該情報処理装置の起動処理に前記第一の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報を記録する、情報処理装置である。
 ここで、起動用プログラムとは、情報処理装置がユーザに対して通常の稼動状態における機能を提供可能な状態まで起動する処理のために実行されるプログラムであり、OS(Operating System)を起動するための所謂ブートプログラムの他、OS起動後に、情報処理装置が専ら提供する所定の機能のために実行されるアプリケーションプログラムのうち、該アプリケーションプログラムを起動する際に実行されるプログラムであってもよい。
 本発明に係る情報処理装置では、このような起動用プログラムが、起動に際して情報処理装置によってプログラム読み出しの対象となる不揮発性記憶装置に、複数記録されている。但し、不揮発性記憶装置に複数記録される起動用プログラムは、完全なコピーでなく、一部が変更されたものであってもよい。本発明では、起動用プログラムの更新に際して、第一の領域に記録された起動用プログラムと、第二の領域に記録された起動用プログラムと、を順に更新する。そして、起動処理に実際に用いられる起動用プログラムとして、第一の領域に記録された起動用プログラムの更新中には、第二の領域に記録された起動用プログラムを、第二の領域に記録された起動用プログラムの更新中には、第一の領域に記録された起動用プログラムを指定することで、更新処理が正常に終了しなかった場合にも、予備の更新用プログラムを用いて情報処理装置の起動が問題なく行えるようにしている。
 また、本発明に係る情報処理装置は、前記不揮発性記憶装置に、起動処理に前記第二の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第一の更新手段による更新処理を開始させ、前記不揮発性記憶装置に、起動処理に前記第一の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第二の更新手段による更新処理を開始させる、更新処理再開手段を更に備えてもよい。
 即ち、本発明に係る情報処理装置によれば、更新処理が正常に終了しなかった場合にも、次回起動時に更新処理が再開される。ここで、更新処理の再開位置を、前回終了時に指定されていた起動用プログラムに基づいて判定することで、正しい再開位置から更新処理を再開することが出来る。より具体的には、起動用プログラムとして第二の領域に記録された起動用プログラムが指定されている場合には、前回終了時に第一の領域に記録された起動用プログラムの更新処理が行われていたと判断することが出来るし、起動用プログラムとして第一の領域に記録された起動用プログラムが指定されている場合には、前回終了時に第二の領域に記録された起動用プログラムの更新処理が行われていたと判断することが出来る。
 なお、前回終了時に起動用プログラムの更新中であったか否かは、情報記録手段によって起動用プログラム指定情報とは別に記録される、前回終了時に起動用プログラムの更新中であったか否かを判定するための情報を参照することで判定されてもよいし、起動用プログラム指定情報を参照することで判定されてもよい。例えば、更新処理が行われていない場合には、情報記録手段によって、何れの起動用プログラムを用いて起動してもよい旨を指定する起動用プログラム指定情報が記録されることで、第一の更新処理再開手段および第二の更新処理再開手段は、第一の領域に記録された起動用プログラムを指定する起動用プログラム指定情報または第二の領域に記録された起動用プログラムを指定する起動用プログラム指定情報が記録されている場合には、前回終了時に起動用プログラムの更新中であったと判断することが出来る。
 即ち、前記情報記録手段は、前記第二の領域に記録された起動用プログラムの更新が完了した後に、該情報処理装置の起動処理に、前記第一の領域に記録された起動用プログラムおよび前記第二の領域に記録された起動用プログラムの何れを用いてもよいことを示す前記起動用プログラム指定情報を記録してもよい。
 また、前記第二の更新手段は、前記第一の領域に記録された更新済みの起動用プログラムに基づいて、前記第二の領域に記録された起動用プログラムの更新を行ってもよい。このようにすることで、外部から更新プログラムを取得してプログラムの更新を行う場合に、外部との通信に係る処理負荷や、通信に掛かるコストを削減することが出来る。
 更に、本発明は、コンピュータが実行する方法、又はコンピュータを上記各手段として機能させるためのプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
 本発明によって、情報処理装置におけるプログラムの更新が正常に終了しなかった場合にも、情報処理装置の起動および更新の再開が可能となる。
実施形態に係る車載機、および該車載機に含まれる情報処理装置のプログラムを更新するシステムの概略を示す図である。 実施形態に係るナビゲーション装置のROMに記録されたプログラムの構成を示す図である。 実施形態に係るナビゲーション装置の機能構成を示す図である。 実施形態に係るナビゲーション装置の、プログラム更新の流れの概要と、これに伴う指定情報記録領域の更新の流れを示す図である。 実施形態に係るナビゲーション装置の起動処理の流れを示すフローチャートである。 実施形態に係るナビゲーション装置の更新処理の流れを示すフローチャートである。 実施形態に係るナビゲーション装置の更新処理の流れを示すフローチャートである。
 本発明に係る情報処理装置、プログラム更新方法およびプログラムの実施の形態について、図面に基づいて説明する。
 図1は、本実施形態に係る車載機、および該車載機に含まれる情報処理装置のプログラムを更新するシステムの概略を示す図である。車載機1は、ユーザに対して情報を表示し、ユーザからの入力を受け付けるタッチパネルディスプレイ2、タッチパネルディスプレイ2からのユーザ入力に応じて、タッチパネルディスプレイ2に地図画像等を表示させることでナビゲーションを行うためのナビゲーション装置3、CD(Compact Disc)やラジオ放送波等のソースから音響信号を生成して車内に設置されたスピーカを介してユーザに音響を提供するオーディオ装置4、DVD(Digital Versatile Disc)から映像信号および音響信号を生成してタッチパネルディスプレイ2およびスピーカから出力するDVDデッキ5、受信されたデジタル放送波に基づく映像信号および音響信号を生成してタッチパネルディスプレイ2およびスピーカから出力することでユーザにデジタルテレビ放送を視聴させるDTV装置6、等の各情報処理装置を備え、これらの装置は互いに通信可能に接続されている。
 車載機1に備えられる各情報処理装置は、夫々が専用または汎用のプロセッサ、ROM、RAM(Random Access Memory)等を有し、ROMまたはRAMに展開されたプログラムをプロセッサが実行することで、夫々の情報処理装置が有する機能を、ユーザまたは接続された他の情報処理装置へ提供するコンピュータである。そして、本実施形態において、各情報処理装置による機能提供のために実行されるプログラムは、ネットワークを介して更新可能となっている。
 プログラムの更新は、サーバ9に保存された更新プログラム91をネットワーク経由でダウンロードし、従前のプログラムを書き換える(通常、上書きされる)ことで行われる。なお、プログラムの更新は、車載機1が搭載された車両のACCオン時にナビゲーション装置3が起動するタイミングや、ユーザ設定に基づくタイミング、ナビゲーション装置において目的地設定された地点(例えば、ユーザの自宅等)に車両が到着したタイミングで、サーバ9の更新情報を有するセンタに問合せを行い、サーバ9に更新プログラムがあることが検知されたことを契機として開始される。ここで、本実施形態における車載機1には携帯電話端末7接続用のインターフェースが設けられており、車載機1は、このインターフェースを介して接続された携帯電話端末7を用いて、インターネット等のネットワーク越しにサーバ9に接続して更新プログラム91をダウンロードする。なお、車載機1に設けられる携帯電話端末7接続用のインターフェースは、USB(Universal Serial Bus)等の有線インターフェースであってもよいし、Bluetooth等の無線インターフェースであってもよい。
 以下、車載機1に備えられたナビゲーション装置3のプログラム更新処理について説明する。但し、車載機1を構成するその他の情報処理装置、例えば、タッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5、DTV装置6等についても、更新処理を行うことが可能であり、また、更新処理の流れは、以下に説明するナビゲーション装置3による更新処理の流れと同様である。
 図2は、本実施形態に係るナビゲーション装置3のROMに記録されたプログラムの構成を示す図である。ナビゲーション装置3のROMには、プロセッサによって実行されることでナビゲーション装置3による各種機能を実現するためのプログラムが記録されているが、本実施形態では、このようなプログラムが記録されるROM上の領域を、ナビゲーション装置3の起動および更新処理を行うにあたって必要となる起動用プログラムが記録されるブート部31と、起動後のナビゲーション装置3において通常の機能をユーザや周辺装置等へ提供するためのアプリケーションプログラムが記録されるアプリケーション部32と、に分けている。
 更に、本実施形態では、ブート部31は、起動用プログラムが記録される第一領域(以下、「BOOT_1」とも称する)311と、第一領域311に記録される起動用プログラムと同一の起動用プログラムが記録されている第二領域(以下、「BOOT_2」とも称する)312と、実際に起動処理において実行される起動用プログラムが第一領域311に記録された起動用プログラムおよび第二領域312に記録された起動用プログラムの何れであるかを指定するための起動用プログラム指定情報が記録される指定情報記録領域(以下、「BOOT_0」とも称する)310と、に分けられる。
 ここで、指定情報記録領域310には、0から2の値が設定され、BOOT_0=0はナビゲーション装置3の起動処理において何れの領域に記録された起動用プログラムが用いられてもよいことを示し、BOOT_0=1はナビゲーション装置3の起動処理において第一領域311に記録された起動用プログラムを用いることを示し、BOOT_0=2はナビゲーション装置3の起動処理において第二領域312に記録された起動用プログラムを用いることを示す。更に、BOOT_0=0は、前回終了時にブート部31の更新処理の途中ではなかったことを示し、BOOT_0=1およびBOOT_0=2は、前回終了時にブート部31の更新処理の途中であったことを示す。
 図3は、本実施形態に係るナビゲーション装置3の機能構成を示す図である。本実施形態に係るナビゲーション装置3は、ROMまたはRAMに展開されたプログラムをプロセッサが実行することで、ユーザ入力に従ってタッチパネルディスプレイ2に地図画像等を表示させることでナビゲーションを行うナビゲーション部21と、ROMに起動用プログラムの指定情報を記録する情報記録部22と、情報記録部22によって記録された指定情報に従って起動用プログラムを実行し、装置を起動させる起動部23と、第一領域311に記録された起動用プログラムを更新する第一更新部24と、第二領域312に記録された起動用プログラムを更新する第二更新部25と、起動用プログラムの更新が正常に終了しなかった場合に次回起動時に更新処理を再開する更新処理再開部26と、起動用プログラムの更新が終了した状態でアプリケーション部32の更新を行うアプリケーション更新部27と、を備えるナビゲーション装置3として機能する。
 図4は、本実施形態に係るナビゲーション装置3の、プログラム更新の流れの概要と、これに伴う指定情報記録領域310の更新の流れを示す図である。ナビゲーション装置3は、電源が投入されると、指定情報記録領域310を参照して起動用プログラムを特定し、特定された起動用プログラムを実行することで装置を起動させる。通常、この時点で指定情報記録領域310には、第一領域311および第二領域312の何れの領域に記録された起動用プログラムを用いて起動してもよい旨を意味する「0」が記録されているため、ナビゲーション装置3は、第一領域311および第二領域312に記録された起動用プログラムのうち任意のものを実行することで装置を起動させる。但し、何れの起動用プログラムを用いてもよい場合には優先的に第一領域311に記録された起動用プログラムが用いられる等、優先順位が設けられていてもよい。
 車載機1の起動後、現在ナビゲーション装置3にインストールされているプログラムが最新のプログラムでなく、サーバ9に更新プログラム91があることが検知されると、更新プログラム91のダウンロードおよび更新処理(既存プログラムへの上書き)が行われる。この際、更新は、第一領域(BOOT_1)311に記録されている起動用プログラム、第二領域(BOOT_2)312に記録されている起動用プログラム、そしてアプリケーションプログラム、の順に行われる。そして、この際、第一領域311の更新開始前には、指定情報記録領域310に2が設定され、第一領域311の更新完了後、第二領域312の更新開始前には、指定情報記録領域310に1が設定され、第二領域312の更新完了後、アプリケーション部32の更新開始前には、指定情報記録領域310に0が設定される。アプリケーション部32の更新が完了すると、プログラム更新処理は終了する。
 ここで、プログラム更新処理の途中で、車載機1の電源断等の理由で更新が正常に終了しなかった場合について説明する。ナビゲーション装置3は、車載機1の一部であるため、プログラム更新が不意のタイミングで開始された場合、ユーザが電源を切ってしまう可能性がある。特に、車載機1が搭載された車両をユーザが離れる場合には、更新が完了するまで電源を入れたままにしておくとバッテリの充電分が使い果たされてしまう等の弊害があるため、オフィス内や家庭内で用いられる情報処理装置に比べて、ユーザが突然電源を切ってしまう可能性は高い。以下、電源断のタイミングに応じて、電源断後、ナビゲーションが再び起動された場合の起動処理について説明する。
 図4に示すケース1は、起動後、第一領域311の更新が開始される前に電源が切られた場合を示している。これは、ナビゲーション装置3を通常使用している状態で電源を切った場合と同様であり、起動用プログラムの更新は開始されておらず、指定情報記録領域310にも、第一領域311と第二領域312の何れの起動用プログラムを用いて起動してもよいことを示す「0」が設定されているため、次回起動時も通常通り正常に起動する。
 ケース2は、第一領域311の更新中に電源が切られた場合を示している。この場合、第一領域311の更新途中であるために、第一領域311に記録されている起動用プログラムは破損している可能性があるが、指定情報記録領域310に、第二領域312の起動用プログラムを用いて起動すべきことを示す「2」が設定されているため、次回起動時には破損していない第二領域312の起動用プログラムを用いて正常に起動する。
 ケース3は、第一領域311の更新完了後、第二領域312の更新開始前に電源が切られた場合を示している。この場合、第一領域311の起動用プログラムの更新は完了し、第二領域312の起動用プログラムは未更新であり、何れの起動用プログラムも破損していない。ここでは、指定情報記録領域310に、第一領域311の起動用プログラムを用いて起動すべきことを示す「1」が設定されているため、次回起動時には、更新済みで最新の状態となっている第一領域311の起動用プログラムを用いて正常に起動する。
 ケース4は、第二領域312の更新中に電源が切られた場合を示している。この場合、第二領域312に記録されている起動用プログラムは破損している可能性があるが、指定情報記録領域310に、第一領域311の起動用プログラムを用いて起動すべきことを示す「1」が設定されているため、更新済みの第一領域311の起動用プログラムを用いて正常に起動する。
 ケース5では、第二領域312の更新完了後、アプリケーション部32の更新開始前に電源が切られた場合を示している。この場合、第一領域311および第二領域312の起動用プログラムの更新は完了し、何れの起動用プログラムも破損が無く且つ最新の状態である。ここでは、指定情報記録領域310に、第一領域311と第二領域312の何れの起動用プログラムを用いて起動してもよいことを示す「0」が設定されているため、次回起動時も通常通り正常に起動する。
 上記説明したように、本実施形態に係る情報処理装置によれば、起動用プログラムの更新中に突然電源が切られ、更新中の起動用プログラムが破損してしまった場合でも、正常に装置を起動することが可能である。更に、本実施形態に係る情報処理装置は、更新途中で電源が切られた場合でも、次回起動時に、更新が中断された位置に近い最も適切な位置から更新処理を再開する機能を有する。以下、フローチャートを用いて、本実施形態に係る情報処理装置の起動処理および更新処理の流れをより具体的に説明する。
 図5は、本実施形態に係るナビゲーション装置3の起動処理の流れを示すフローチャートである。本フローチャートに示された処理は、ナビゲーション装置3の電源が投入されることで開始される。なお、本フローチャートに示された処理の順序は一例であり、本発明の範囲を逸脱しない範囲で、実施の形態に応じて適宜処理順序を変更することも可能である。
 ステップS101では、起動に用いられる起動用プログラムが決定される。ナビゲーション装置3のプロセッサは、電源が投入されると、指定情報記録領域310を参照することで、起動処理において実行される起動用プログラムが、第一領域311に記録された起動用プログラムであるか、または第二領域312に記録された起動用プログラムであるかを決定する。図2を用いて説明した通り、BOOT_0=0は何れの領域に記録された起動用プログラムが用いられてもよいことを示し、BOOT_0=1は第一領域311に記録された起動用プログラムを用いることを示し、BOOT_0=2は第二領域312に記録された起動用プログラムを用いることを示す。BOOT_0=0の場合、処理はステップS102へ進み、BOOT_0=1の場合、処理はステップS103へ進み、BOOT_0=2の場合、処理はステップS104へ進む。
 ステップS102からステップS104では、起動用プログラムに従ってナビゲーション装置3が起動される。起動部23は、ステップS101における判定の結果に従って第一領域(BOOT_1)311または第二領域(BOOT_2)312の何れかに記録された起動用プログラムを実行することでナビゲーション装置3を起動する。ここで、第一領域311および第二領域312の夫々に記録された起動用プログラムは基本的に同一のプログラムである。なお、通常の起動時には、BOOT_0には「0」が設定されているため、ステップS102において第一領域311の起動用プログラムが実行される。その後、処理はステップS105へ進む。
 ステップS105およびステップS106では、今回のナビゲーション装置3の起動が初回起動である場合に、指定情報記録領域310の初期設定が行われる。プロセッサは、ナビゲーション装置3における設定内容や外部からの入力信号に基づいて、今回の起動が車載機1が車両に搭載された後最初の起動であるか否かを判定する(ステップS105)。ここで、今回の起動が初回起動でない場合、図5に示した起動処理は終了し、更新処理へ進む。今回の起動が初回起動である場合、指定情報記録領域310に「0」が設定される(ステップS106)。その後、本フローチャートに示された処理は終了し、処理は更新処理へ進む。
 図6および図7は、本実施形態に係るナビゲーション装置3の更新処理の流れを示すフローチャートである。本フローチャートに示された処理は、図5に示した更新処理の終了後、現在ナビゲーション装置3にインストールされているプログラムが最新のプログラムでなく、サーバ9に更新プログラム91があることが検知された場合に開始される。なお、本フローチャートに示された処理の順序は一例であり、本発明の範囲を逸脱しない範囲で、実施の形態に応じて適宜処理順序を変更することも可能である。
 ステップS201からステップS204では、指定情報記録領域310の内容およびブート部31更新要求の有無に基づいて、更新の対象となるプログラムおよび領域が決定される。更新処理再開部26は、指定情報記録領域310を参照し、「2」が設定されている場合には、前回終了時に第一領域311の起動用プログラムが更新途中であったと判断して、ステップS205以降の第一領域更新処理へ進む(ステップS201)。更新処理再開部26によって指定情報記録領域310が参照され、「1」が設定されていると判定された場合には、前回終了時に第二領域312の起動用プログラムが更新途中であったと判断して、ステップS211以降の第二領域更新処理へ進む(ステップS202)。
 指定情報記録領域310に「1」および「2」以外の値(通常は「0」が設定されている)が設定されている場合、更新処理再開部26は、サーバ9に保存されている更新プログラム91に起動用プログラムの更新プログラムが含まれているか否か(即ち、ブート部31の更新が必要であるか否か)を判定し、ブート部31の更新が必要でないと判定された場合には、情報記録部22によって指定情報記録領域310に初期値である「0」が設定され(ステップS204)、ステップS222以降のアプリケーション部更新処理へ進む。これは、ブート部31の更新が行われず、起動用プログラムの破損の恐れがないために、フェールセーフ処理として次回起動に第一領域311および第二領域312の何れの起動用プログラムを用いてもよいことを改めて再設定するものである。一方、ブート部31の更新が必要であると判定された場合には、ステップS205以降の第一領域更新処理へ進む(ステップS203)。
 即ち、本実施形態に係るナビゲーション装置3では、指定情報記録領域310の情報を、起動に用いる起動用プログラムを指定するための情報のみならず、前回終了時に起動用プログラムの更新中であったか否かを判定するための情報としても用いている。即ち、指定情報記録領域310に「0」が設定されている場合、前回終了時に起動用プログラムの更新中ではなかったと判定され、指定情報記録領域310に「1」または「2」が設定されている場合、前回終了時に起動用プログラムの更新中であったと判定される。但し、前回終了時に起動用プログラムの更新中であったか否かを判定するための情報は、指定情報記録領域310とは別に記録されてもよい。この場合、情報記録部22は、指定情報記録領域310に対する起動用プログラムの指定と併せて、前回終了時に起動用プログラムの更新中であったか否かを判定するための情報を記録する。
 ステップS205からステップS208では、第一領域311の更新処理が行われる。はじめに、情報記録部22は、指定情報記録領域310に「2」を設定する(ステップS205)。このようにすることで、続く第一領域311の更新処理の途中で電源断等によって更新処理が異常終了した場合にも、次回起動時に第二領域312の起動用プログラムを用いてナビゲーション装置3を正常に起動させることが出来る。そして、第一更新部24は、サーバ9から最新の起動用プログラムをダウンロードして、ダウンロードされた起動用プログラムで第一領域311に記録されている既存の起動用プログラムを上書きすることで、第一領域311の更新を行う(ステップS206)。
 第一領域311の更新が終了すると(ステップS207)、情報記録部22は、指定情報記録領域310に「1」を設定する(ステップS208)。即ち、ステップS208以降、更新処理の途中で突然電源が切られてしまったような場合でも、ナビゲーション装置3は、次回起動時に、最新の状態に更新された第一領域311の起動用プログラムを用いて起動することが出来る。その後、処理はステップS211以降の第二領域更新処理へ進む。
 ステップS211からステップS213では、第二領域312の更新処理が行われる。この時点で、ステップS208において、情報記録部22によって指定情報記録領域310に「1」が設定されているため、第二領域312の更新処理の途中で電源断等によって更新処理が異常終了した場合にも、次回起動時に第一領域311の起動用プログラムを用いてナビゲーション装置3を正常に起動させることが出来る。ここで、第二更新部25は、更新済みの第一領域311から最新の起動用プログラムを読み出して、読み出された起動用プログラムで第二領域312に記録されている既存の起動用プログラムを上書きすることで、第二領域312の更新を行う(ステップS211)。
 第二領域312の更新が終了すると(ステップS212)、情報記録部22は、指定情報記録領域310に「0」を設定する(ステップS213)。即ち、ステップS213以降、ナビゲーション装置3は、最新の状態に更新された第一領域311または第二領域312の起動用プログラムを任意に用いて起動することが出来る。その後、処理はステップS221以降のアプリケーション部更新処理へ進む。
 ステップS221からステップS223では、アプリケーション部32の更新処理が行われる。ステップS221以降では、既に起動用プログラムの更新は完了し、アプリケーション部32の更新処理において起動用プログラムが破損することは無いため、指定情報記録領域310を用いた起動用プログラムの指定制御は行われない。プロセッサは、サーバ9に保存されている更新プログラム91にアプリケーションプログラムの更新プログラムが含まれているか否か(即ち、アプリケーション部32の更新が必要であるか否か)を判定する(ステップS221)。アプリケーション部32の更新が必要であると判定された場合、処理はステップS222へ進む。アプリケーション部32の更新が必要でないと判定された場合、本フローチャートに示された処理は終了し、ナビゲーション装置3は再起動する。
 ステップS221でアプリケーション部32の更新が必要であると判定された場合、アプリケーション更新部27は、サーバ9から最新のアプリケーションプログラムをダウンロードして、ダウンロードされたアプリケーションプログラムでアプリケーション部32に記録されている既存のアプリケーションプログラムを上書きすることで、アプリケーション部32の更新を行う(ステップS222)。アプリケーション部32の更新が終了すると(ステップS223)、本フローチャートに示された処理は終了し、ナビゲーション装置3は再起動する。
 本実施形態によれば、プログラムの更新処理の途中で、電源断等の理由に依って起動用プログラムが破損してしまった場合でも、指定情報記録領域310によって破損の無い起動用プログラムが示されているため、正常に情報処理装置を起動することが出来る。更に、本実施形態によれば、更新処理において、指定情報記録領域310を参照することで前回終了時に更新処理の途中であったか否か、および前回終了時の更新処理の進行度合いを判定し、更新処理を再開することで、電源断等の理由によって更新処理が中断されてしまった場合でも、最適な位置から更新処理を再開することが可能である。
 また、上記実施形態では、ナビゲーション装置3のプログラム更新処理について説明したが、本発明は、プログラムの更新が行われる情報処理装置であれば適用することが可能である。例えば、車載機1を構成するタッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5、DTV装置6その他の情報処理装置についても、上記説明したものと同様の更新処理を行うことによって、更新途中の電源断によって起動用プログラムが破損した場合にも、正常な再起動および更新処理の再開を行うことが出来る。
   1 車載機
   3 ナビゲーション装置
  31 ブート部
  32 アプリケーション部
 310 指定情報記録領域(BOOT_0)
 311 第一領域(BOOT_1)
 312 第二領域(BOOT_2)
  22 情報記録部
  23 起動部
  24 第一更新部
  25 第二更新部
  26 更新処理再開部

Claims (8)

  1.  不揮発性記憶装置に接続された情報処理装置であって、
     該情報処理装置の起動処理に実際に用いられる起動用プログラムが、前記不揮発性記憶装置における第一の領域に記録された起動用プログラム、および該不揮発性記憶装置における第二の領域に記録された起動用プログラムの何れであるかを指定する起動用プログラム指定情報を、前記不揮発性記憶装置に記録する情報記録手段と、
     該情報処理装置の起動開始時に前記情報記録手段によって記録された前記起動用プログラム指定情報を参照し、指定された起動用プログラムを用いて該情報処理装置を起動させる指定プログラム起動手段と、
     前記第一の領域に記録された、該情報処理装置の起動処理のための起動用プログラムの更新を行う第一の更新手段と、
     前記第一の領域に記録された起動用プログラムの更新が完了している場合に、前記第二の領域に記録された起動用プログラムの更新を行う第二の更新手段と、を備え、
     前記情報記録手段は、前記第一の更新手段による更新処理が開始される前に、該情報処理装置の起動処理に前記第二の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報を記録し、前記第一の更新手段による更新処理の終了後且つ前記第二の更新手段による更新処理が開始される前に、該情報処理装置の起動処理に前記第一の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報を記録する、情報処理装置。
  2.  前記不揮発性記憶装置に、起動処理に前記第二の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第一の更新手段による更新処理を開始させ、前記不揮発性記憶装置に、起動処理に前記第一の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第二の更新手段による更新処理を開始させる、更新処理再開手段を更に備える、
     請求項1に記載の情報処理装置。
  3.  前記情報記録手段は、前記第二の領域に記録された起動用プログラムの更新が完了した後に、該情報処理装置の起動処理に、前記第一の領域に記録された起動用プログラムおよび前記第二の領域に記録された起動用プログラムの何れを用いてもよいことを示す前記起動用プログラム指定情報を記録する、
     請求項1または2に記載の情報処理装置。
  4.  前記第二の更新手段は、前記第一の領域に記録された更新済みの起動用プログラムに基づいて、前記第二の領域に記録された起動用プログラムの更新を行う、
     請求項1から3の何れか一項に記載の情報処理装置。
  5.  不揮発性記憶装置に接続されたコンピュータによって、
     該コンピュータの起動処理に実際に用いられる起動用プログラムが、前記不揮発性記憶装置における第一の領域に記録された起動用プログラム、および該不揮発性記憶装置における第二の領域に記録された起動用プログラムの何れであるかを指定する起動用プログラム指定情報を、前記不揮発性記憶装置に記録する情報記録ステップと、
     該コンピュータの起動開始時に前記情報記録ステップで記録された前記起動用プログラム指定情報を参照し、指定された起動用プログラムを用いて該コンピュータを起動させる指定プログラム起動ステップと、
     前記第一の領域に記録された、該コンピュータの起動処理のための起動用プログラムの更新を行う第一の更新ステップと、
     前記第一の領域に記録された起動用プログラムの更新が完了している場合に、前記第二の領域に記録された起動用プログラムの更新を行う第二の更新ステップと、が実行され、
     前記情報記録ステップでは、前記第一の更新ステップにおける更新処理が開始される前に、該コンピュータの起動処理に前記第二の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報が記録され、前記第一の更新ステップにおける更新処理の終了後且つ前記第二の更新ステップにおける更新処理が開始される前に、該コンピュータの起動処理に前記第一の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報が記録される、プログラム更新方法。
  6.  前記コンピュータによって、
     前記不揮発性記憶装置に、起動処理に前記第二の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第一の更新ステップによる更新処理を開始させ、前記不揮発性記憶装置に、起動処理に前記第一の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第二の更新ステップによる更新処理を開始させる、更新処理再開ステップが更に実行される、
     請求項5に記載のプログラム更新方法。
  7.  前記情報記録ステップで、前記第二の領域に記録された起動用プログラムの更新が完了した後に、該情報処理装置の起動処理に、前記第一の領域に記録された起動用プログラムおよび前記第二の領域に記録された起動用プログラムの何れを用いてもよいことを示す前記起動用プログラム指定情報が記録される、
     請求項5または6に記載のプログラム更新方法。
  8.  前記第二の更新ステップでは、前記第一の領域に記録された更新済みの起動用プログラムに基づいて、前記第二の領域に記録された起動用プログラムの更新が行われる、
     請求項5から7の何れか一項に記載のプログラム更新方法。
PCT/JP2009/070241 2008-12-10 2009-12-02 情報処理装置およびプログラム更新方法 Ceased WO2010067737A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008314765A JP2010140183A (ja) 2008-12-10 2008-12-10 情報処理装置およびプログラム更新方法
JP2008-314765 2008-12-10

Publications (1)

Publication Number Publication Date
WO2010067737A1 true WO2010067737A1 (ja) 2010-06-17

Family

ID=42242725

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/070241 Ceased WO2010067737A1 (ja) 2008-12-10 2009-12-02 情報処理装置およびプログラム更新方法

Country Status (2)

Country Link
JP (1) JP2010140183A (ja)
WO (1) WO2010067737A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6317058B2 (ja) * 2012-11-15 2018-04-25 任天堂株式会社 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP6952006B2 (ja) * 2018-04-13 2021-10-20 日立Astemo株式会社 車両用電子制御装置及び起動方法
JP7591538B2 (ja) * 2022-02-15 2024-11-28 本田技研工業株式会社 車両制御装置、車両制御方法、及び、記録媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331379A (ja) * 2000-05-22 2001-11-30 Nec Microsystems Ltd フラッシュメモリ更新プログラムの書き換え方法及び装置
JP2004078294A (ja) * 2002-08-09 2004-03-11 Hitachi Kokusai Electric Inc 信号処理装置
JP2006243780A (ja) * 2005-02-28 2006-09-14 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2007164392A (ja) * 2005-12-13 2007-06-28 Yaskawa Electric Corp 計算機
JP2008027004A (ja) * 2006-07-18 2008-02-07 Ricoh Co Ltd 情報装置およびそのプログラム更新方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331379A (ja) * 2000-05-22 2001-11-30 Nec Microsystems Ltd フラッシュメモリ更新プログラムの書き換え方法及び装置
JP2004078294A (ja) * 2002-08-09 2004-03-11 Hitachi Kokusai Electric Inc 信号処理装置
JP2006243780A (ja) * 2005-02-28 2006-09-14 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2007164392A (ja) * 2005-12-13 2007-06-28 Yaskawa Electric Corp 計算機
JP2008027004A (ja) * 2006-07-18 2008-02-07 Ricoh Co Ltd 情報装置およびそのプログラム更新方法

Also Published As

Publication number Publication date
JP2010140183A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
WO2010071020A1 (ja) 情報処理装置、プログラム更新方法および情報処理システム
CN106802813B (zh) 用于空中固件升级的方法、装置及车辆
US7584379B2 (en) Mobile terminal and software update method
US20050060528A1 (en) Booting and boot code update method and system thereof
JP4279902B2 (ja) ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法
CN102591676A (zh) 车载机的在线更新方法
JP2011095952A (ja) ファームウェア更新方法および電子機器
CN109753299A (zh) 一种系统升级方法、装置以及计算机存储介质
JP4899848B2 (ja) 車載システム
JP2011128751A (ja) データ記録装置およびデータ記録装置の制御方法
US20230132494A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP4810172B2 (ja) 制御装置及びバージョンアップ方法並びにプログラム
WO2010067737A1 (ja) 情報処理装置およびプログラム更新方法
JP2006011647A (ja) ソフトウェア管理装置
JPWO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
JP5084853B2 (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
JP2011210137A (ja) 電子機器、航法装置、バージョンアッププログラム及びバージョンアップ方法
CN109151589B (zh) 快速播放电视节目的方法、装置和存储介质
CN108810631B (zh) 开机广告的播放方法、装置、电子设备及计算机存储介质
JP2020052960A (ja) 車両制御装置および車両制御方法
JP2009048424A (ja) 携帯電話端末及びオペレーティング・システム起動プログラム
WO2016098147A1 (ja) 情報処理装置および起動制御方法
JP2009139997A (ja) ファームウェア組込方法、ファームウェア組込装置、及び、ファームウェア組込プログラム
JP7491765B2 (ja) ファームウェア更新システムおよびファームウェア更新方法
CN115139941A (zh) 软件更新方法、装置及车辆

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09831841

Country of ref document: EP

Kind code of ref document: A1