特許第6575157号(P6575157)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士電機株式会社の特許一覧

特許6575157ファームウェアのダウンロード方法及びファームウェア組込機器
<>
  • 特許6575157-ファームウェアのダウンロード方法及びファームウェア組込機器 図000002
  • 特許6575157-ファームウェアのダウンロード方法及びファームウェア組込機器 図000003
  • 特許6575157-ファームウェアのダウンロード方法及びファームウェア組込機器 図000004
  • 特許6575157-ファームウェアのダウンロード方法及びファームウェア組込機器 図000005
  • 特許6575157-ファームウェアのダウンロード方法及びファームウェア組込機器 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6575157
(24)【登録日】2019年8月30日
(45)【発行日】2019年9月18日
(54)【発明の名称】ファームウェアのダウンロード方法及びファームウェア組込機器
(51)【国際特許分類】
   G06F 8/654 20180101AFI20190909BHJP
   G06F 9/4401 20180101ALI20190909BHJP
【FI】
   G06F8/654
   G06F9/4401
【請求項の数】5
【全頁数】12
(21)【出願番号】特願2015-117583(P2015-117583)
(22)【出願日】2015年6月10日
(65)【公開番号】特開2016-103261(P2016-103261A)
(43)【公開日】2016年6月2日
【審査請求日】2018年5月14日
(31)【優先権主張番号】特願2014-230973(P2014-230973)
(32)【優先日】2014年11月13日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】安藤 博文
(72)【発明者】
【氏名】梨子田 雅直
(72)【発明者】
【氏名】新妻 信行
(72)【発明者】
【氏名】菊田 祐司
(72)【発明者】
【氏名】片山 修吾
【審査官】 坂庭 剛史
(56)【参考文献】
【文献】 特開2006−011906(JP,A)
【文献】 特開2003−108396(JP,A)
【文献】 特開2007−042038(JP,A)
【文献】 特開2007−316800(JP,A)
【文献】 特開2007−249360(JP,A)
【文献】 特開2006−202117(JP,A)
【文献】 特開2005−284902(JP,A)
【文献】 特開2001−273143(JP,A)
【文献】 特開2000−305771(JP,A)
【文献】 特開平11−259305(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/654
G06F 8/65
G06F 9/4401
(57)【特許請求の範囲】
【請求項1】
外部装置からのダウンロードによって不揮発性メモリ内のファームウェアを更新するファームウェア組込機器におけるファームウェアのダウンロード方法であって、
前記不揮発性メモリは、前記ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、
前記外部装置からダウンロードされる更新ダウンロードシステムの内部には、前記アプリケーションシステム格納領域の更新処理を行うアプリケーションシステム格納領域更新機能と前記ダウンロードシステム格納領域の更新処理を行うダウンロードシステム格納領域更新機能とが含まれ、
前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステム内のアプリケーションシステム格納領域更新機能を起動し、起動された現ダウンロードシステムのアプリケーションシステム格納領域更新機能は、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれた前記更新ダウンロードシステムのうち、前記ダウンロードシステム格納領域更新機能を含めず前記アプリケーションシステム格納領域更新機能が含まれた更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むことを特徴とするファームウェアのダウンロード方法。
【請求項2】
前記システムブート機能は、システム起動時に、前記アプリケーションシステム格納領域と前記ダウンロードシステム格納領域とのファームウェアのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、前記ダウンロードシステムのダウンロード開始要求が有った場合、前記ダウンロードシステム格納領域に格納されたダウンロードシステムを起動することを特徴とする請求項に記載のファームウェアのダウンロード方法。
【請求項3】
前記システムブート機能は、システム起動時に、前記アプリケーションシステム格納領域と前記ダウンロードシステム格納領域とのファームウェアのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、前記ダウンロードシステムのダウンロード開始要求が無かった場合、かつ、前記アプリケーションシステム格納領域及び前記ダウンロードシステム格納領域のダウンロードが正常である場合、直前にダウンロードがされた格納領域のシステムを起動することを特徴とする請求項1又は2に記載のファームウェアのダウンロード方法。
【請求項4】
前記システムブート機能は、システム起動時に、前記アプリケーションシステム格納領域と前記ダウンロードシステム格納領域とのファームウェアのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、前記ダウンロードシステムのダウンロード開始要求が無かった場合、かつ、前記アプリケーションシステム格納領域または前記ダウンロードシステム格納領域のダウンロードが正常である場合、正常なダウンロードがされた格納領域のシステムを起動することを特徴とする請求項1〜のいずれか一つに記載のファームウェアのダウンロード方法。
【請求項5】
外部装置からのダウンロードによって不揮発性メモリ内のファームウェアを更新するファームウェア組込機器であって、
前記不揮発性メモリは、前記ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、
前記外部装置からダウンロードされる更新ダウンロードシステムの内部には、前記アプリケーションシステム格納領域の更新処理を行うアプリケーションシステム格納領域更新機能と前記ダウンロードシステム格納領域の更新処理を行うダウンロードシステム格納領域更新機能とが含まれ、
前記システムブート機能は、前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステム内のアプリケーションシステム格納領域更新機能を起動し、起動された現ダウンロードシステムのアプリケーションシステム格納領域更新機能は、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれた前記更新ダウンロードシステムのうち、前記ダウンロードシステム格納領域更新機能を含めず前記アプリケーションシステム格納領域更新機能が含まれた更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むことを特徴とするファームウェア組込機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ダウンロードシステム自身のダウンロードが可能であり、不揮発性メモリの容量が少なく、ダウンロードシステム自身のダウンロード途中に電源断などのトラブルが発生した場合であってもダウンロードシステム自身のダウンロードのやり直しを行うことができるファームウェアのダウンロード方法及びファームウェア組込機器に関する。
【背景技術】
【0002】
組込機器では、不揮発性メモリに書き込まれているファームウェアが動作する。このファームウェアのダウンロードを行う場合には、ダウンロードの対象となるファームウェア(アプリケーションシステム)と、ダウンロードを実行するファームウェア(ダウンロードシステム)とがある。
【0003】
機能追加などでファームウェアを更新する場合、不揮発性メモリに書き込まれている現状のファームウェアを一旦、消去(イレーズ)し、新しいファームウェアを不揮発性メモリに書き込む。不揮発性メモリのイレーズや書き込みの更新動作は、不揮発性メモリ上では動作できない。このため、不揮発性メモリに書き込まれているダウンロードシステムは、ダウンロードシステム自身を揮発性メモリに複写し、揮発性メモリ上で、不揮発性メモリの更新動作を行う。
【0004】
この場合、ファームウェアのダウンロードによって、ダウンロードシステム自身を更新する場合、電源断などのトラブルによって、ファームウェアのダウンロードに失敗すると、以降のダウンロードができなくなるという問題がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−122575号公報
【特許文献2】特開2000−181719号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
すなわち、アプリケーションシステムのダウンロード途中で、電源断などのトラブルが発生した場合、再度、ダウンロードをやり直せばよいが、ダウンロードシステム自身のファームウェアを更新する場合、現状のダウンロードシステムをイレーズして、新しいダウンロードシステムを書き込んでいる途中で電源断などのトラブルが発生すると、不揮発性メモリ上のダウンロードシステムはイレーズ済みで存在せず、揮発性メモリ上のダウンロードシステムも消えてしまうため、ダウンロードのやり直しもできなくなってしまう。
【0007】
この問題を解決するために、不揮発性メモリの空き領域に、現状のダウンロードシステムのバックアップ用のダウンロードシステムをもたせることも考えられる(特許文献1参照)が、不揮発性メモリの容量に余裕がない組込機器ではこの問題を解決できない。
【0008】
また、新しいアプリケーションシステムとともに新しいダウンロードシステムを受信した直後に、新しいダウンロードシステムに書き換えることも考えられる(特許文献2参照)が、外部機器との通信機能を別機能として備えていることが前提であり、ダウンロードシステム内に外部機器との通信機能をもつ組込機器では、この問題を解決できない。
【0009】
本発明は、上記に鑑みてなされたものであって、ダウンロードシステム自身のダウンロードが可能であり、不揮発性メモリの容量が少なく、ダウンロードシステム自身のダウンロード途中に電源断などのトラブルが発生した場合であってもダウンロードシステム自身のダウンロードのやり直しを行うことができるファームウェアのダウンロード方法及びファームウェア組込機器を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明にかかるファームウェアのダウンロード方法は、外部装置からのダウンロードによって不揮発性メモリ内のファームウェアを更新するファームウェア組込機器におけるファームウェアのダウンロード方法であって、前記不揮発性メモリは、前記ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステムを起動し、起動された現ダウンロードシステムは、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれた更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むことを特徴とする。
【0011】
また、本発明にかかるファームウェアのダウンロード方法は、外部装置からのダウンロードによって不揮発性メモリ内のファームウェアを更新するファームウェア組込機器におけるファームウェアのダウンロード方法であって、前記不揮発性メモリは、前記ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、前記外部装置からダウンロードされる更新ダウンロードシステムの内部には、前記アプリケーションシステム格納領域の更新処理を行うアプリケーションシステム格納領域更新機能と前記ダウンロードシステム格納領域の更新処理を行うダウンロードシステム格納領域更新機能とが含まれ、前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステム内のアプリケーションシステム格納領域更新機能を起動し、起動された現ダウンロードシステムのアプリケーションシステム格納領域更新機能は、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれたアプリケーションシステム格納領域更新機能を含む更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むことを特徴とする。
【0012】
また、本発明にかかるファームウェアのダウンロード方法は、上記の発明において、前記システムブート機能は、システム起動時に、前記アプリケーションシステム格納領域と前記ダウンロードシステム格納領域とのファームウェアのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、前記ダウンロードシステムのダウンロード開始要求が有った場合、前記ダウンロードシステム格納領域に格納されたダウンロードシステムを起動することを特徴とする。
【0013】
また、本発明にかかるファームウェアのダウンロード方法は、上記の発明において、前記システムブート機能は、システム起動時に、前記アプリケーションシステム格納領域と前記ダウンロードシステム格納領域とのファームウェアのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、前記ダウンロードシステムのダウンロード開始要求が無かった場合、かつ、前記アプリケーションシステム格納領域及び前記ダウンロードシステム格納領域のダウンロードが正常である場合、直前にダウンロードがされた格納領域のシステムを起動することを特徴とする。
【0014】
また、本発明にかかるファームウェアのダウンロード方法は、上記の発明において、前記システムブート機能は、システム起動時に、前記アプリケーションシステム格納領域と前記ダウンロードシステム格納領域とのファームウェアのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、前記ダウンロードシステムのダウンロード開始要求が無かった場合、かつ、前記アプリケーションシステム格納領域または前記ダウンロードシステム格納領域のダウンロードが正常である場合、正常なダウンロードがされた格納領域のシステムを起動することを特徴とする。
【0015】
また、本発明にかかるファームウェア組込機器は、外部装置からのダウンロードによって不揮発性メモリ内のファームウェアを更新するファームウェア組込機器であって、前記不揮発性メモリは、前記ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、前記システムブート機能は、前記ダウンロードシステム自身を更新する場合、現アプリケーションシステムのリセットによって現ダウンロードシステムを起動し、起動された現ダウンロードシステムは、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれた更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むことを特徴とする。
【0016】
また、本発明にかかるファームウェア組込機器は、外部装置からのダウンロードによって不揮発性メモリ内のファームウェアを更新するファームウェア組込機器であって、前記不揮発性メモリは、前記ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、前記外部装置からダウンロードされる更新ダウンロードシステムの内部には、前記アプリケーションシステム格納領域の更新処理を行うアプリケーションシステム格納領域更新機能と前記ダウンロードシステム格納領域の更新処理を行うダウンロードシステム格納領域更新機能とが含まれ、前記システムブート機能は、前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステム内のアプリケーションシステム格納領域更新機能を起動し、起動された現ダウンロードシステムのアプリケーションシステム格納領域更新機能は、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれたアプリケーションシステム格納領域更新機能を含む更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むことを特徴とする。
【発明の効果】
【0017】
本発明によれば、不揮発性メモリが、ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステムを起動し、起動された現ダウンロードシステムは、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれた更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むようにしている。これにより、ダウンロードシステム自身のダウンロードが可能であり、ダウンロードシステムをバックアップしておかなくても、アプリケーションシステム格納領域とダウンロードシステム格納領域とのいずれかには、常に正常なダウンロードシステムが存在するため、不揮発性メモリの容量が少なく、ダウンロードシステム自身のダウンロード途中に電源断などのトラブルが発生した場合であってもダウンロードシステム自身のダウンロードのやり直しを行うことができる。
【0018】
また、本発明によれば、不揮発性メモリが、ファームウェアのうちのアプリケーションシステムを格納するアプリケーションシステム格納領域と前記ファームウェアのうちのダウンロードシステムを格納するダウンロードシステム格納領域とシステムブート機能を格納するシステムブート機能格納領域とに分割され、外部装置からダウンロードされる更新ダウンロードシステムの内部には、前記アプリケーションシステム格納領域の更新処理を行うアプリケーションシステム格納領域更新機能と前記ダウンロードシステム格納領域の更新処理を行うダウンロードシステム格納領域更新機能とが含まれ、前記ダウンロードシステム自身を更新する場合、前記システムブート機能は現アプリケーションシステムのリセットによって現ダウンロードシステム内のアプリケーションシステム格納領域更新機能を起動し、起動された現ダウンロードシステムのアプリケーションシステム格納領域更新機能は、更新ダウンロードシステムを前記アプリケーションシステム格納領域に書き込み、その後、前記アプリケーションシステム格納領域に書き込まれたアプリケーションシステム格納領域更新機能を含む更新ダウンロードシステムを前記ダウンロードシステム格納領域に書き込むようにしている。これにより、ダウンロードシステム自身のダウンロードが可能であり、ダウンロードシステムをバックアップしておかなくても、アプリケーションシステム格納領域とダウンロードシステム格納領域とのいずれかには、常に正常なダウンロードシステムが存在し、ダウンロードシステムは、ダウンロードシステム格納領域更新機能を不揮発性メモリに格納しておく必要がないため、不揮発性メモリの容量が少なく、ダウンロードシステム自身のダウンロード途中に電源断などのトラブルが発生した場合であってもダウンロードシステム自身のダウンロードのやり直しを行うことができる。
【図面の簡単な説明】
【0019】
図1図1は、本発明の実施の形態であるファームウェア組込機器の構成を示すブロック図である。
図2図2は、ファームウェアのダウンロード処理手順を示す図である(その1)。
図3図3は、ファームウェアのダウンロード処理手順を示す図である(その2)。
図4図4は、ファームウェアのダウンロード処理手順を示す図である(その3)。
図5図5は、システムブート機能によるシステムブート処理手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、添付図面を参照してこの発明を実施するための形態について説明する。
【0021】
(ファームウェア組込機器の構成)
まず、図1を参照して本発明の実施の形態であるファームウェア組込機器の構成について説明する。ファームウェア組込機器10は、バス11を介して、CPU1、揮発性メモリ2、不揮発性メモリ3、通信制御部4が接続される。CPU1は、揮発性メモリ2および不揮発性メモリ3に読み込まれた各種ソフトウェア及びデータをもとに各種制御を行う。不揮発性メモリ3は、ファームウェアのうちのアプリケーションシステムAPを格納するアプリケーションシステム格納領域E1、ファームウェアのうちのダウンロードシステムDLを格納するダウンロードシステム格納領域E2、及びシステムブート機能(リセットスタートプログラム)SBを格納するシステムブート機能格納領域E3に3分割されている。通信制御部4は、外部装置5との通信接続を制御し、外部装置5からのファームウェアのダウンロード時の通信接続を行う。
【0022】
(ファームウェアのダウンロード処理手順)
つぎに、図2図4を参照して、不揮発性メモリ3のファームウェアを更新するダウンロード処理手順について説明する。なお、このファームウェアの更新では、アプリケーションシステムAPの機能追加によって、アプリケーションシステムのファームウェアサイズが増大し、それに伴ってダウンロードシステムDL自身のダウンロードも必要となった場合について説明する。
【0023】
まず、不揮発性メモリ3のアプリケーションシステム格納領域E1には、更新前の現アプリケーション(AP)システムAP1が格納されている。また、不揮発性メモリ3のダウンロードシステム格納領域E2には、更新前の現ダウンロード(DL)システムDL1が格納されている。また、更新前の現ダウンロードシステムDL1には、アプリケーションシステム格納領域E1の更新処理を行うアプリケーションシステム格納領域(E1)更新機能DL1_E1が格納されている。そして、現APシステムAP1は、不揮発性メモリ3で起動状態となっている。この状態で、現APシステムAP1が新DLシステムDL2のダウンロード(DL)開始要求を受けると、新DLシステムDL2のDL開始要求情報DLDを揮発性メモリ2内に保持し、現APシステムAP1を停止(リセット)する(図2(a))。
【0024】
図2(a)に示したリセットによって、システムブート機能SBが動作する。システムブート機能SBによるシステムブート処理の詳細については後述するが、システムブート機能SBは、アプリケーションシステム格納領域E1とダウンロードシステム格納領域E2とのダウンロード書き込み状態、及び更新ダウンロードシステムのダウンロード開始要求の有無をチェックし、このチェック結果をもとに、アプリケーションシステム格納領域E1とダウンロードシステム格納領域E2とのいずれの格納領域のシステムを起動すべきかを選択する。
【0025】
具体的には、まず、システムブート機能格納領域E3内に、図示しないシステム起動アドレスの設定領域(ベクタテーブル)が設けられている。そして、ダウンロードシステムDL(DL1,DL2)は、ダウンロードが正常に完了した場合、ダウンロード先アドレスをベクタテーブルに設定する。システムブート機能SBによるリセット時のシステム起動選択は、更新ダウンロードシステムのダウンロード開始要求がある場合には、ダウンロードシステム格納領域E2内に書き込まれたシステムを起動選択し、更新ダウンロードシステムのダウンロード開始要求がない場合には、ベクタテーブルに設定されたダウンロード先アドレスが示すシステム、すなわち直前にダウンロードされたシステムを起動選択する。
【0026】
図2(b)では、新DLシステムのDL開始要求情報DLDが「有り」と保持されているため、システムブート機能SBは、ダウンロードシステム格納領域E2内の現DLシステムDL1を選択して起動させる。すなわち、現DLシステムDL1は、現DLシステムDL1自身を不揮発性メモリ3から揮発性メモリ2に複写し、揮発性メモリ2上で動作する。
【0027】
その後、揮発性メモリ2上の現DLシステムDL1は、アプリケーションシステム格納領域E1内に存在する現APシステムAP1を消去(イレーズ)する(図2(c))。
【0028】
その後、現DLシステムDL1は、外部装置5から受け取った、アプリケーションシステム格納領域E1の更新処理を行うアプリケーションシステム格納領域(E1)更新機能DL2_E1とダウンロードシステム格納領域E2の更新処理を行うダウンロードシステム格納領域(E2)更新機能DL2_E2とを含む新DLシステムDL2を、アプリケーションシステム格納領域E1に書き込む(図2(d))。そして、現DLシステムDL1は、新DLシステムDL2の書き込みが正常に完了すると、ダウンロード先アドレスをベクタテーブルに設定し、現DLシステムDL1自身を停止(リセット)する(図3(e))。
【0029】
図3(e)に示したリセットによって、システムブート機能SBが動作する。この場合、システムブート機能SBは、正常にダウンロードされたシステムであって、直前にダウンロードされたシステムを選択する。すなわち、システムブート機能SBは、ベクタテーブルを参照してアプリケーションシステム格納領域E1に格納された新DLシステムDL2を選択して起動させる。新DLシステムDL2は、新DLシステムDL2自身を不揮発性メモリ3から揮発性メモリ2に複写し、揮発性メモリ2上で、E2更新機能DL2_E2が動作する(図3(f))。
【0030】
その後、揮発性メモリ2上の新DLシステムDL2のE2更新機能DL2_E2は、ダウンロードシステム格納領域E2の現DLシステムDL1を消去する(図3(g))。
【0031】
その後、新DLシステムDL2のE2更新機能DL2_E2は、アプリケーションシステム格納領域E1の新DLシステムDL2をダウンロードシステム格納領域E2に複写する(図3(h))。この際、E1更新機能DL2_E1もダウンロードシステム格納領域E2に複写される。そして、新DLシステムDL2のE2更新機能DL2_E2は、新DLシステムDL2のダウンロードシステム格納領域E2への書き込みが完了すると、ダウンロード先アドレスをベクタテーブルに設定し、新DLシステムDL2自身を停止(リセット)する(図4(i))。
【0032】
図4(i)に示したリセットによって、システムブート機能SBが動作する。この場合、システムブート機能SBは、正常にダウンロードされたシステムであって、直前にダウンロードされたシステムを選択する。すなわち、システムブート機能SBは、ベクタテーブルを参照してダウンロードシステム格納領域E2に格納された新DLシステムDL2を選択して起動させる。新DLシステムDL2は、新DLシステムDL2自身を不揮発性メモリ3から揮発性メモリ2に複写し、揮発性メモリ2上で動作する(図4(j))。
【0033】
その後、揮発性メモリ2上の新DLシステムDL2のE1更新機能DL2_E1は、外部装置5から新アプリケーション(AP)システムAP2のダウンロード(DL)開始要求を受け取ると、アプリケーションシステム格納領域E1の新DLシステムDL2を消去する(図4(k))。そして、新DLシステムDL2のE1更新機能DL2_E1は、新APシステムAP2をアプリケーションシステム格納領域E1に書き込む(図4(l))。
【0034】
新DLシステムDL2のE1更新機能DL2_E1は、新APシステムAP2のアプリケーションシステム格納領域E1への書き込みが完了すると、ダウンロード先アドレスをベクタテーブルに設定し、新DLシステムDL2自身を停止(リセット)する(図4(m))。
【0035】
図4(m)に示したリセットによって、システムブート機能SBが動作する。この場合、システムブート機能SBは、正常にダウンロードされたシステムであって、直前にダウンロードされたシステムを選択する。すなわち、システムブート機能SBは、ベクタテーブルを参照してアプリケーションシステム格納領域E1に格納された新APシステムAP2を選択して起動させる。新APシステムAP2は、不揮発性メモリ3上で動作する(図4(n))。
【0036】
本実施の形態では、新DLシステムDL2をダウンロードする場合、現DLシステムDL1をバックアップしなくても、常に、正常な現DLシステムDL1あるいは新DLシステムDL2が不揮発性メモリ3上に存在するので、新DLシステムDL2のダウンロード途中に電源断などのトラブルが発生した場合であっても、現DLシステムDL1あるいは新DLシステムDL2を起動することによってダウンロードのやり直しを行うことができる。
【0037】
例えば、図2(d)において、新DLシステムDL2のダウンロード途中に電源断などのトラブルが発生した場合、この状態では、ダウンロードシステム格納領域E2に、正常な現DLシステムDL1が存在するため、電源投入と同時にシステムブート機能SBが動作する。システムブート機能SBは、アプリケーションシステム格納領域E1のシステムは正常なダウンロード状態でないため、現在、正常にダウンロードされたシステムである、ダウンロードシステム格納領域E2の現DLシステムDL1が選択される。すなわち、図2(b)の段階に戻って、ダウンロード処理がやり直される。
【0038】
(システムブート機能によるシステムブート処理)
ここで、図5を参照して、システムブート機能SBによるシステムブート処理手順について説明する。図5に示すように、システムブート機能SBは、リセットあるいは電源投入があると、まず、アプリケーションシステム格納領域E1に格納されたシステムの状態がチェックサムやCRCチェックなどによって正常なダウンロード状態であるか否かをチェックする(ステップS101)。その後、システムブート機能SBは、ダウンロードシステム格納領域E2に格納されたシステムの状態がチェックサムやCRCチェックなどによって正常なダウンロード状態であるか否かをチェックする(ステップS102)。その後、システムブート機能SBは、ダウンロードシステムのダウンロード開始要求があるか否かを判断する(ステップS103)。
【0039】
ダウンロードシステムのダウンロード開始要求があった場合(ステップS103,Yes)、ダウンロードシステム格納領域E2内のダウンロードシステムを起動し(ステップS104)、本処理を終了する。
【0040】
一方、ダウンロードシステムのダウンロード開始要求がない場合(ステップS103,No)、さらに、アプリケーションシステム格納領域E1及びダウンロードシステム格納領域E2のダウンロード状態がともに正常であるか否かを判断する(ステップS105)。
【0041】
アプリケーションシステム格納領域E1及びダウンロードシステム格納領域E2のダウンロード状態がともに正常である場合(ステップS105,Yes)、直前にダウンロードされた格納領域のシステムを、ベクタテーブルを参照して起動し(ステップS106)、本処理を終了する。
【0042】
一方、アプリケーションシステム格納領域E1及びダウンロードシステム格納領域E2のダウンロード状態がともに正常でない場合(ステップS105,No)、いずれかの格納領域のシステムは正常状態であるため、正常にダウンロードされた格納領域のシステムを起動し(ステップS107)、本処理を終了する。
【符号の説明】
【0043】
1 CPU
2 揮発性メモリ
3 不揮発性メモリ
4 通信制御部
5 外部装置
10 ファームウェア組込機器
11 バス
AP アプリケーションシステム
AP1 現アプリケーションシステム
AP2 新アプリケーションシステム
DL ダウンロードシステム
DL1 現ダウンロードシステム
DL1_E1 現ダウンロードシステムのアプリケーションシステム格納領域(E1)更新機能
DL2 新ダウンロードシステム
DL2_E1 新ダウンロードシステムのアプリケーションシステム格納領域(E1)更新機能
DL2_E2 新ダウンロードシステムのダウンロードシステム格納領域(E2)更新機能
DLD 新ダウンロードシステムのダウンロード開始要求情報
E1 アプリケーションシステム格納領域
E2 ダウンロードシステム格納領域
E3 システムブート機能格納領域
SB システムブート機能
図1
図2
図3
図4
図5