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

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

Info

Publication number
JP2010140183A
JP2010140183A JP2008314765A JP2008314765A JP2010140183A JP 2010140183 A JP2010140183 A JP 2010140183A JP 2008314765 A JP2008314765 A JP 2008314765A JP 2008314765 A JP2008314765 A JP 2008314765A JP 2010140183 A JP2010140183 A JP 2010140183A
Authority
JP
Japan
Prior art keywords
program
activation
area
update
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.)
Pending
Application number
JP2008314765A
Other languages
English (en)
Inventor
Kanari Ashiba
可也 足羽
Shigehiko Komoritani
成彦 籠谷
Hironobu Sugimoto
浩伸 杉本
Tomonori Kodan
友紀 小段
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority to JP2008314765A priority Critical patent/JP2010140183A/ja
Priority to PCT/JP2009/070241 priority patent/WO2010067737A1/ja
Publication of JP2010140183A publication Critical patent/JP2010140183A/ja
Pending legal-status Critical Current

Links

Images

Classifications

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

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に記録された起動用プログラムを用いることを示す情報を記録する。
【選択図】図2

Description

本発明は、情報処理装置、プログラム更新方法およびプログラムに関する。
従来、複数のROM(Read Only Memory)を使用して各々のROMにプログラムを格納し、何れかのROMを選択させることによって動作させるプログラムを決定し、プログラムをアップデートする際には、動作していないROMを書き換える技術がある。
また、最新のプログラムをダウンロードする場合に、BOOTプログラムおよび運用プログラムを起動するために参照されるRAM上の割り込みベクタをBOOTプログラム用に書き換えて、最新のプログラムを予備プログラム領域にダウンロードすると共に、運用プログラム領域と予備プログラム領域のアドレスを交換する切替フラグを反転し、通常動作時には割り込みベクタを運用プログラム用に書き換えるプログラム切替え制御装置がある(特許文献1を参照)。
特開2005−332228号公報
一般に、情報処理装置では、プログラムを最新の状態に保つために、プログラムの更新が行われる。また、プログラム更新の利便性を向上させるために、プログラムの更新情報を情報処理装置に随時通知し、更新プログラムがある場合には情報処理装置が自動でプログラムを更新する技術がある。しかし、このようなプログラム更新処理では、情報処理装置の電源断等によって、プログラムが壊れてしまう虞がある。特に、自動的なプログラム更新は、ユーザにとって更新処理の開始のタイミングが予測困難であるため、望ましくないタイミングでの電源断が発生し易い。更に、ここでシステムの起動処理を担うプログラム(所謂ブートプログラム等)が壊れてしまった場合には、システムを起動させること自体が出来なくなる虞があり、ユーザの手で修正を行うことは非常に困難となる。
本発明は、上記した問題に鑑み、情報処理装置におけるプログラムの更新が正常に終了しなかった場合にも、情報処理装置の起動および更新の再開を可能とすることを課題とする。
本発明は、上記した課題を解決するために、更新対象のプログラムのうち、情報処理装置の起動用プログラムを、不揮発性記憶装置上に複数記録し、これらを順次更新しつつ、更新の進行に従って、更新中でない起動用プログラムを実際の起動に用いられる起動用プログラムとして指定することで、情報処理装置におけるプログラムの更新が正常に終了しなかった場合にも、情報処理装置の起動および更新の再開を可能にした。
詳細には、本発明は、不揮発性記憶装置に接続された情報処理装置であって、該情報処理装置の起動処理に実際に用いられる起動用プログラムが、前記不揮発性記憶装置における第一の領域に記録された起動用プログラム、および該不揮発性記憶装置における第二の領域に記録された起動用プログラムの何れであるかを指定する起動用プログラム指定情報を、前記不揮発性記憶装置に記録する情報記録手段と、該情報処理装置の起動開始時に前記情報記録手段によって記録された前記起動用プログラム指定情報を参照し、指定された起動用プログラムを用いて該情報処理装置を起動させる指定プログラム起動手段と、前記
第一の領域に記録された、該情報処理装置の起動処理のための起動用プログラムの更新を行う第一の更新手段と、前記第一の領域に記録された起動用プログラムの更新が完了している場合に、前記第二の領域に記録された起動用プログラムの更新を行う第二の更新手段と、を備え、前記情報記録手段は、前記第一の更新手段による更新処理が開始される前に、該情報処理装置の起動処理に前記第二の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報を記録し、前記第一の更新手段による更新処理の終了後且つ前記第二の更新手段による更新処理が開始される前に、該情報処理装置の起動処理に前記第一の領域に記録された起動用プログラムを指定した前記起動用プログラム指定情報を記録する、情報処理装置である。
ここで、起動用プログラムとは、情報処理装置がユーザに対して通常の稼動状態における機能を提供可能な状態まで起動する処理のために実行されるプログラムであり、OS(Operating System)を起動するための所謂ブートプログラムの他、OS起動後に、情報処理装置が専ら提供する所定の機能のために実行されるアプリケーションプログラムのうち、該アプリケーションプログラムを起動する際に実行されるプログラムであってもよい。
本発明に係る情報処理装置では、このような起動用プログラムが、起動に際して情報処理装置によってプログラム読み出しの対象となる不揮発性記憶装置に、複数記録されている。但し、不揮発性記憶装置に複数記録される起動用プログラムは、完全なコピーでなく、一部が変更されたものであってもよい。本発明では、起動用プログラムの更新に際して、第一の領域に記録された起動用プログラムと、第二の領域に記録された起動用プログラムと、を順に更新する。そして、起動処理に実際に用いられる起動用プログラムとして、第一の領域に記録された起動用プログラムの更新中には、第二の領域に記録された起動用プログラムを、第二の領域に記録された起動用プログラムの更新中には、第一の領域に記録された起動用プログラムを指定することで、更新処理が正常に終了しなかった場合にも、予備の更新用プログラムを用いて情報処理装置の起動が問題なく行えるようにしている。
また、本発明に係る情報処理装置は、前記不揮発性記憶装置に、起動処理に前記第二の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第一の更新手段による更新処理を開始させ、前記不揮発性記憶装置に、起動処理に前記第一の領域に記録された起動用プログラムを用いることを示す情報が記録されている場合に、前記第二の更新手段による更新処理を開始させる、更新処理再開手段を更に備えてもよい。
即ち、本発明に係る情報処理装置によれば、更新処理が正常に終了しなかった場合にも、次回起動時に更新処理が再開される。ここで、更新処理の再開位置を、前回終了時に指定されていた起動用プログラムに基づいて判定することで、正しい再開位置から更新処理を再開することが出来る。より具体的には、起動用プログラムとして第二の領域に記録された起動用プログラムが指定されている場合には、前回終了時に第一の領域に記録された起動用プログラムの更新処理が行われていたと判断することが出来るし、起動用プログラムとして第一の領域に記録された起動用プログラムが指定されている場合には、前回終了時に第二の領域に記録された起動用プログラムの更新処理が行われていたと判断することが出来る。
なお、前回終了時に起動用プログラムの更新中であったか否かは、情報記録手段によって起動用プログラム指定情報とは別に記録される、前回終了時に起動用プログラムの更新中であったか否かを判定するための情報を参照することで判定されてもよいし、起動用プログラム指定情報を参照することで判定されてもよい。。例えば、更新処理が行われてい
ない場合には、情報記録手段によって、何れの起動用プログラムを用いて起動してもよい旨を指定する起動用プログラム指定情報が記録されることで、第一の更新処理再開手段および第二の更新処理再開手段は、第一の領域に記録された起動用プログラムを指定する起動用プログラム指定情報または第二の領域に記録された起動用プログラムを指定する起動用プログラム指定情報が記録されている場合には、前回終了時に起動用プログラムの更新中であったと判断することが出来る。
即ち、前記情報記録手段は、前記第二の領域に記録された起動用プログラムの更新が完了した後に、該情報処理装置の起動処理に、前記第一の領域に記録された起動用プログラムおよび前記第二の領域に記録された起動用プログラムの何れを用いてもよいことを示す前記起動用プログラム指定情報を記録してもよい。
また、前記第二の更新手段は、前記第一の領域に記録された更新済みの起動用プログラムに基づいて、前記第二の領域に記録された起動用プログラムの更新を行ってもよい。このようにすることで、外部から更新プログラムを取得してプログラムの更新を行う場合に、外部との通信に係る処理負荷や、通信に掛かるコストを削減することが出来る。
更に、本発明は、コンピュータが実行する方法、又はコンピュータを上記各手段として機能させるためのプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本発明によって、情報処理装置におけるプログラムの更新が正常に終了しなかった場合にも、情報処理装置の起動および更新の再開が可能となる。
本発明に係る情報処理装置、プログラム更新方法およびプログラムの実施の形態について、図面に基づいて説明する。
図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その他の情報処理装置についても、上記説明したものと同様の更新処理を行うことによって、更新途中の電源断によって起動用プログラムが破損した場合にも、正常な再起動および更新処理の再開を行うことが出来る。
実施形態に係る車載機、および該車載機に含まれる情報処理装置のプログラムを更新するシステムの概略を示す図である。 実施形態に係るナビゲーション装置のROMに記録されたプログラムの構成を示す図である。 実施形態に係るナビゲーション装置の機能構成を示す図である。 実施形態に係るナビゲーション装置の、プログラム更新の流れの概要と、これに伴う指定情報記録領域の更新の流れを示す図である。 実施形態に係るナビゲーション装置の起動処理の流れを示すフローチャートである。 実施形態に係るナビゲーション装置の更新処理の流れを示すフローチャートである。 実施形態に係るナビゲーション装置の更新処理の流れを示すフローチャートである。
符号の説明
1 車載機
3 ナビゲーション装置
31 ブート部
32 アプリケーション部
310 指定情報記録領域(BOOT_0)
311 第一領域(BOOT_1)
312 第二領域(BOOT_2)
22 情報記録部
23 起動部
24 第一更新部
25 第二更新部
26 更新処理再開部

Claims (5)

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

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2010140183A true JP2010140183A (ja) 2010-06-24

Family

ID=42242725

Family Applications (1)

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

Country Status (2)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014099084A (ja) * 2012-11-15 2014-05-29 Nintendo Co Ltd 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP2016212609A (ja) * 2015-05-08 2016-12-15 株式会社日立製作所 仮想マシン運用支援システムおよび仮想マシン運用支援方法
JP2019185533A (ja) * 2018-04-13 2019-10-24 日立オートモティブシステムズ株式会社 車両用電子制御装置及び起動方法

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 情報装置およびそのプログラム更新方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014099084A (ja) * 2012-11-15 2014-05-29 Nintendo Co Ltd 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP2016212609A (ja) * 2015-05-08 2016-12-15 株式会社日立製作所 仮想マシン運用支援システムおよび仮想マシン運用支援方法
JP2019185533A (ja) * 2018-04-13 2019-10-24 日立オートモティブシステムズ株式会社 車両用電子制御装置及び起動方法

Also Published As

Publication number Publication date
WO2010067737A1 (ja) 2010-06-17

Similar Documents

Publication Publication Date Title
WO2010071020A1 (ja) 情報処理装置、プログラム更新方法および情報処理システム
CN102033790B (zh) 一种嵌入式系统bootrom的升级方法和装置
CN109753299A (zh) 一种系统升级方法、装置以及计算机存储介质
CN110288952B (zh) 一种车载系统开机时背光亮度的设置方法和装置
JP2011095952A (ja) ファームウェア更新方法および電子機器
JP2011128751A (ja) データ記録装置およびデータ記録装置の制御方法
JP6074064B2 (ja) 電子機器
WO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
CN102609290A (zh) 电子产品的软件升级方法
JP2010140183A (ja) 情報処理装置およびプログラム更新方法
CN111885420B (zh) 待机保护方法、装置、智能电视和可读存储介质
US20230132494A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2011175352A (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
JP2007108910A (ja) ナビゲーション装置
JP2009048424A (ja) 携帯電話端末及びオペレーティング・システム起動プログラム
CN111176686B (zh) 一种bios升级方法、系统、电子设备及存储介质
JP4899296B2 (ja) 情報処理装置および方法
CN107247642B (zh) 用于系统开机时确定可执行映像文件的方法及装置
WO2016098147A1 (ja) 情報処理装置および起動制御方法
JP4931144B2 (ja) テレビ受信機
JP5759759B2 (ja) カーナビゲーションシステム
KR20090021695A (ko) 플래쉬 메모리 롤백 시스템 및 그 방법
JP2010092324A (ja) 放送受信装置及びソフトウェア更新方法
JP4343925B2 (ja) 放送受信装置及び放送受信装置の制御方法
WO2017043026A1 (ja) 制御方法およびそれを利用した通信装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110726