JP2004102893A - Remote downloader and remote download method - Google Patents

Remote downloader and remote download method Download PDF

Info

Publication number
JP2004102893A
JP2004102893A JP2002266793A JP2002266793A JP2004102893A JP 2004102893 A JP2004102893 A JP 2004102893A JP 2002266793 A JP2002266793 A JP 2002266793A JP 2002266793 A JP2002266793 A JP 2002266793A JP 2004102893 A JP2004102893 A JP 2004102893A
Authority
JP
Japan
Prior art keywords
remote
downloader
version
firmware
upgrade
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.)
Withdrawn
Application number
JP2002266793A
Other languages
Japanese (ja)
Other versions
JP2004102893A5 (en
Inventor
Kenjiro Morihisa
森久 謙二郎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002266793A priority Critical patent/JP2004102893A/en
Publication of JP2004102893A publication Critical patent/JP2004102893A/en
Publication of JP2004102893A5 publication Critical patent/JP2004102893A5/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To start a target system after reset and to constantly secure a remote download function even when a failure due to a channel trouble, power interruption and a malfunction of a starting remote downloader itself, etc. is caused. <P>SOLUTION: Two surfaces of FDP storage areas are prepared on a flash ROM 102, pieces of starting surface judgment information are prepared on each surface and an FDP appropriately controls pieces of the starting surface judgment information on each surface. Thus, the target system after the reset can be started even when the failure due to the channel trouble, the power interruption and the malfunction of the starting FDP itself, etc., is caused during remote download processing, especially of the FDP itself and a remote download function is constantly secured basically without requiring a special memory except the flash ROM. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、例えば移動体通信システムにおける基地局に適用され、上位装置が保持するプログラムをターゲットシステムに通信路を介してダウンロードし、プログラムのバージョンアップを遠隔操作により実現するリモートダウンローダ及びリモートダウンロード方法に関する。
【0002】
【従来の技術】
従来、この種のリモートダウンローダ及びリモートダウンロード方法としては、特開平11―45182号公報で開示されたものが知られている。この公報で開示された従来の技術では、リモートダウンローダがリセット時に自分自身をフラッシュROM上からRAM上に展開し動作する。RAM上で動作しているリモートダウンローダは、バージョンアップが必要な時に上位装置から新しいバージョンのリモートダウンローダをダウンロードし、フラッシュROM上の古いバージョンのリモートダウンローダに対して上書きすることにより、バージョンアップを実現する。
【0003】
また、フラッシュROM上に2面リモートダウンローダ格納領域を確保しているリモートダウンローダ及びリモートダウンロード方法としては、特開2000―163268号公報で開示されたものが知られている。この公報で開示された従来の技術では、フラッシュROMとは別に読み書き可能な不揮発性メモリであるNVRAMを用意し、このNVRAM上に起動するリモートダウンローダの面に関する情報を格納し制御することにより、リモートダウンローダの2面管理を実現している。
【0004】
【発明が解決しようとする課題】
しかしながら、上記特開平11―45182号公報に記載された従来のリモートダウンローダ及びリモートダウンロード方法においては、現在起動しているリモートダウンローダが格納されていたフラッシュROM上のリモートダウンローダ格納エリアに直接新しいバージョンのリモートダウンローダが上書きされるので、新しいバージョンのリモートダウンローダに問題が有る場合、これ以降のリセットに対してターゲットシステムが起動できないという問題がある。
【0005】
ターゲットシステムが移動体通信システムにおける基地局である場合を考えると、ターゲットシステムが起動しないということは、基地局の存在する現地に技術者が実際に赴く必要があることを意味する。しかし、基地局は全国各地に膨大な数存在し、中には山間部等現地に技術者が実際に赴くことが困難である場合も少なくない。バージョンアップ作業を含め、リモートメンテナンスを基本とする移動体通信システムにとっては、ターゲットシステムが起動できないという事態は絶対に避けなければならなく、いかなるケースにおいても、ターゲットシステムが起動可能であり、リモートダウンロード機能が確保されていることが重要である。
【0006】
新しいバージョンのリモートダウンロードプログラムに問題が生じるケースとしては、下記3つのケースが考えられる。
1つ目のケースとしては、上位装置101とターゲットシステム100の間の通信路200に通信路障害等が発生し、新しいバージョンのリモートダウンローダのプログラムの一部にビット化けが生じている。
【0007】
2つ目のケースとしては、リモートダウンロード中に、上位装置101またはターゲットシステム100で停電等の理由による電源断が発生し、リモートダウンロード処理が途中で中断し、新しいバージョンのリモートダウンローダの一部分が存在しない。
3つ目のケースとしては、そもそも新しいバージョンのリモートダウンローダに不具合が存在し、プログラムの暴走等の障害が発生する。3つ目のケースについては、本来、運用で解決しなければならない課題であり、本来起こってはいけないケースである。
【0008】
しかし、近年の開発サイクルの短縮化に伴い、開発のスピードアップは必須で、開発工程とテスト工程が並行に行われ、膨大な数のプログラムバージョンが存在するのも事実であり、間違えて不具合のあるリモートダウンローダを新しいバージョンとして上位装置に設定してしまった等の上位装置運用者の運用(人為)ミスが絶対に起こらないとは言い切れない。また、プログラムリリース後に、ターゲットシステムが起動できなくなる等の致命的な不具合がリモートダウンローダに絶対に存在しないとも言い切れない。更に、3つ目のケースが発生した場合、ターゲットシステムが起動できないという問題は、上位装置配下の全てのターゲットシステムに及ぶ。以上より、3つ目のケースについても、ターゲットシステムの1機能として実装することが望まれる。
【0009】
また、特開2000―163268号公報で開示された従来のリモートダウンローダ及びリモートダウンロード方法においては、上記2つ目のケースが発生した場合については、ターゲットシステムが起動できないという問題を回避できるが、上記1つ目及び3つ目のケースが発生した場合は、ターゲットシステムを起動できないという問題が発生する。また、フラッシュROMの他に、高価なNVRAMを必要とし、ターゲットシステムの複雑化及びコストアップにつながることがあげられる。
【0010】
本発明は、上記従来の問題を解決するもので、新しいバージョンのリモートダウンロードプログラムに不具合が生じた際のターゲットシステムの起動を可能にする2面管理管理方式を簡易に実現することができるリモートダウンローダ及びリモートダウンロード方法を提供することを目的とする。また、新しいバージョンのリモードダウンロードプログラムに対して上記3つのケースのいずれが発生しても、特に3つ目のケースが発生してもリセット後ターゲットシステムが起動可能であり、リモートダウンロード機能を常に確保することができるリモートダウンローダ及びリモートダウンロード方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
請求項1に係る発明のリモートダウンローダは、自身をリモートダウンロードする機能を有する電子機器を制御するプログラムを、リモートダウンロードを実施するリモートダウンロードプログラムと前記電子機器を制御するメインとなる制御プログラムの2つに分割し、それぞれ独立してリモートダウンロードすることを特徴とする。
【0012】
この構成によれば、フラッシュROM上に2面管理するのはリモートダウンローダのみで、制御ソフトについては1面管理となるので、フラッシュROM容量を必要最小限に抑えて2面管理方式を実現することができる。
【0013】
請求項2に係る発明のリモートダウンローダは、請求項1に係る発明のリモートダウンローダにおいて、フラッシュROMに前記リモートダウンロードプログラムを格納するA面及びB面の2つのリモートダウンローダ格納領域が設定されるとともに、それぞれの面のリモートダウンローダ格納領域内に、起動するリモートダウンローダの起動面に関する情報を格納する起動面判定情報が設定され、それぞれのリモートダウンローダ格納領域内の起動面判定情報のみにより起動面を判定することを特徴とする。
【0014】
この構成によれば、フラッシュROM以外の特別な装置(メモリ等)を必要とせず、容易に2面管理方式を実現することができる。
【0015】
請求項3に係る発明のリモートダウンローダは、請求項2に係る発明のリモートダウンローダにおいて、RAMにバージョンアップ判定に関する情報を格納するバージョンアップ判定情報が設定され、前記2つのリモートダウンローダ格納領域内の起動面判定情報に加えて、前記バージョンアップ判定情報により起動面を判定することを特徴とする。
【0016】
この構成によれば、起動処理の短縮を目的としたフラッシュROMへのファームウェア遅延書き込みや、リモートダウンローダの自律再起動といった、よりきめ細かな2面管理方式を実現することができる。
【0017】
請求項4に係る発明のリモートダウンローダは、請求項3に係る発明のリモートダウンローダにおいて、前記リモートダウンロードプログラムを前記フラッシュROMから前記RAMへ展開するために最低限必要なブート処理とその他残りのブート処理を実施するブート手段と、起動面判定情報よりリモートダウンローダの起動面を判定するリモートダウンローダ起動面判定手段と、前記リモートダウンローダ起動面判定手段からの要求により、リセットされるのを待ち続けるリセット待ち手段と、リモートダウンローダ起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐するリモートダウンローダ展開手段と、起動面判定情報の報告及びバージョンアップに伴う起動面判定情報の更新を行う起動面判定情報管理手段と、バージョン情報の報告及びバージョン情報の更新を行うバージョン情報管理手段と、ダウンロードされたファームウェアを前記フラッシュROMに格納し、前記起動面判定情報管理手段にバージョンアップに伴う起動面判定情報の更新を指示し、前記バージョン情報管理手段にバージョンアップに伴うバージョン情報の更新を指示するファームウェアバージョンアップ手段と、ファームウェアのバージョンアップを管理するファームウェアバージョンアップ管理手段と、前記ファームウェアバージョンアップ管理手段からの指示により上位装置からファームウェアをダウンロードするファームウェアダウンロード手段と、前記ファームウェアバージョンアップ管理手段からの指示により、指示された制御ソフト起動面から制御プログラムを前記RAM上に展開し、制御プログラムのエントリポイントに分岐する制御ソフト展開手段とを具備し、前記リモートダウンローダ起動面判定手段は、前記ブート手段にて最低限必要なブート処理が行われた後、前記起動面判定情報管理手段からの起動面判定情報の報告よりリモートダウンローダの起動面を判定し、正常に判定できた場合は判定結果を前記リモートダウンローダ展開手段に報告し、正常に判定できなかった場合は前記リセット待ち手段にリセット待ちを要求し、前記起動面情報判定管理手段は、前記リモートダウンローダ起動面判定手段からの要求により起動面判定情報を報告し、前記ファームウェアバージョンアップ手段からの指示により、バージョンアップに伴う起動面判定情報の更新を実施し、前記バージョン情報管理手段は、前記ファームウェアバージョンアップ管理手段からのバージョン情報報告要求によりバージョン情報を報告するとともに前記ファームウェアバージョンアップ手段からの要求によりバージョン情報を更新し、前記ファームウェアバージョンアップ管理手段は、前記バージョン情報管理手段から報告されたファームウェアのファームウェアバージョン情報を前記上位装置に報告し、前記上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、前記上位装置より必要との指示を受けた場合はファームウェアダウンロード手段を経由してファームウェアダウンロードを実施し、ファームウェアダウンロード直後にファームウェアダウンロード処理の合否を判断し、失敗と判断した場合はバージョンアップ処理を中止して前記制御ソフト展開手段に制御プログラムの展開を要求し、ファームウェア内リモートダウンローダのバージョンアップの必要性については前記バージョン情報管理手段から報告されたリモートダウンローダのリモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定し、必要と判定した場合は前記ファームウェアバージョンアップ手段にリモートダウンローダのバージョンアップを要求し、同様にファームウェア内の制御プログラムのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、必要と判定した場合は前記ファームウェアバージョンアップ手段に制御プログラムのバージョンアップを要求し、前記上位装置にバージョンアップ結果を報告し、前記制御ソフト展開手段に制御ソフトの展開を要求し、前記ファームウェアバージョンアップ手段は、前記ファームウェアバージョンアップ管理手段からの指示により、ダウンロードしたファームウェアを前記フラッシュROMに格納し、前記起動面判定情報管理手段にバージョンアップに伴う起動面判定情報の更新を指示し、前記バージョン情報管理手段にバージョンアップに伴うバージョン情報の更新を指示することを特徴とする。
【0018】
この構成によれば、特にリモートダウンローダ自身のリモートダウンロード処理中に、リモートダウンローダが起動面判定情報を適切に制御し、通信路障害、電源断の障害が発生しても、リセット後ターゲットシステムは起動可能であり、常にリモートダウンロード機能を確保することができる。
【0019】
請求項5に係る発明のリモートダウンローダは、請求項4に係る発明のリモートダウンローダにおいて、前記起動面判定情報管理手段は、リモートダウンローダのバージョンアップを実施するフラッシュROM上のリモートダウンローダ格納領域のバージョンアップ対象面を起動面の次の面であるA面に対してはB面又はB面に対してはA面として管理し、リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズ及びリモートダウンローダの書込を完了した際に現在の起動面の起動面判定情報を参照し、現在のバージョンアップ対象面が次回起動時の起動面と判定されるように現在のバージョンアップ対象面の起動面判定情報を書き換えることを特徴とする。
【0020】
この構成によれば、起動面の判定を、フラッシュROM上の起動面判定情報のみで実施するので、フラッシュROM以外の特別な装置(メモリ)を必要とせず、容易に2面管理方式を実現することができる。
【0021】
請求項6に係る発明のリモートダウンローダは、請求項5に係る発明のリモートダウンローダにおいて、現在の起動面の起動面判定情報を参照し、現在のバージョンアップ対象面が次回起動時の起動面と判定されるように現在のバージョンアップ対象面の起動面判定情報を書き換える方法として「じゃんけん」論理を適用し、起動時の起動面判定においては「じゃんけん」に「勝った」方が起動面と判定されることとして、現在の起動面の起動面判定情報を「先出し」、現在のバージョンアップ対象面の起動面判定情報を「後出し」と例え、「先出し」の論理に対して「勝つ」ように「後出し」の論理を決定し、前記起動面判定情報管理手段は、現在のバージョンアップ対象面の起動面判定情報を書き換えることを特徴とする。
【0022】
この構成によれば、「じゃんけん」という非常に簡単なロジックを使用して、容易に起動面の判定処理を実現することができる。
【0023】
請求項7に係る発明のリモートダウンローダは、請求項4から請求項6のいずれかに係る発明のリモートダウンローダにおいて、前記起動面判定情報管理手段は、リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズを実施する直前に、バージョンアップ対象面の起動面判定情報の全ビットを“0”に設定するを具備することを特徴とする。
【0024】
この構成によれば、フラッシュROMの特性を利用することにより、容易にフラッシュROMのイレーズ処理及び書き込み処理完了状況を判定することができる。
【0025】
請求項8に係る発明のリモートダウンローダは、請求項4から請求項7のいずれかに係る発明のリモートダウンローダにおいて、モートダウンロード処理におけるソフトウェア不具合等の処理異常を検出し、前記起動面判定情報管理手段に起動面判定情報の制御を要求し、前記リセット待ち手段にリセット待ちを要求するリモートダウンローダプログラム障害検出手段を具備し、前記起動面判定情報管理手段は、前記リモートダウンローダプログラム障害検出手段からの起動面判定情報の制御要求により、現起動面が次起動面と判定されないように現起動面の起動面判定情報を書き換え、前記リモートダウンローダ起動面判定手段は、前記起動面判定情報管理手段から報告される、書き換えられた起動面判定情報より、前回起動した起動面を現在の起動面と判定しないことを特徴とする。
【0026】
この構成によれば、特にリモートダウンローダ自身のリモートダウンロード処理中に、リモートダウンローダが起動面判定情報を適切に制御し、通信路障害、電源断の障害に加えて、起動しているリモートダウンローダ自身の不具合等によるプログラム暴走等の障害が発生しても、リセット後ターゲットシステムは起動可能であり、常にリモートダウンロード手段を確保することができる。
【0027】
請求項9に係る発明のリモートダウンローダは、請求項4から請求項8のいずれかに係る発明のリモートダウンローダにおいて、前記リモートダウンローダ起動面判定手段は、システム初期立ち上げ時、A面であるリモートダウンローダ格納領域にリモートダウンローダが格納されていれば、当該リモートダウンローダ格納領域の起動面判定情報及びB面のリモートダウンローダ格納領域全体の全ビットが“1”であるフラッシュROMにおけるイレーズ完了状態であっても、その後のシステム運用における起動面の判定処理を正常に実施することを特徴とする。
【0028】
この構成によれば、システム初期立ち上げ時にフラッシュROM全体をイレーズ後、A面のみにリモートダウンロードプログラムを書き込めばシステム初期立ち上げ可能であり、両面の起動面判定情報に正常な値を書き込むといった作業や、B面にリモートダウンロードプログラムを書き込むといった作業は不要となる。
【0029】
請求項10に係る発明のリモートダウンローダは、請求項4から請求項9のいずれかに係る発明のリモートダウンローダにおいて、前記ブート手段及び前記リモートダウンローダ起動面判定手段及び前記ファームウェアバージョン管理手段からのバージョンアップ判定情報の制御要求によりバージョンアップ判定情報を制御し、前記ファームウェアバージョン管理手段からのバージョンアップ判定情報の報告要求に対してバージョンアップ判定情報を報告するバージョンアップ判定情報管理手段を具備し、前記ブート手段は、リモートダウンロードプログラムを前記フラッシュROMから前記RAMへ展開するために最低限必要なブート処理と、その他残りのブート処理を実施し、バージョンアップ判定情報の初期化を前記バージョンアップ判定情報管理手段に要求し、前記リモートダウンローダ起動面判定手段は、前記ブート手段による最低限必要なブート処理後、前記起動面判定情報管理手段からの起動面判定情報の報告よりリモートダウンローダの起動面を判定し、正常に判定できた場合はその判定結果を前記リモートダウンローダ展開手段と前記バージョンアップ判定情報管理手段に報告し、正常に判定できなかった場合は前記リセット待ち手段にリセット待ちを要求し、前記ファームウェアバージョンアップ管理手段は、前記バージョン情報管理手段から報告されたファームウェアバージョン情報を前記上位装置に報告し、前記上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、前記上位装置より必要との指示を受けた場合は前記ファームウェアダウンロード手段を経由してファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否を確認し、失敗と判断された場合はバージョンアップ処理を中止し、前記制御ソフト展開手段に制御プログラムの展開を要求し、ファームウェア内リモートダウンローダのバージョンアップの必要性については前記バージョン情報管理手段から報告されたリモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定しその判定結果を前記バージョンアップ判定情報管理手段に報告し、同様にファームウェア内制御プログラムのバージョンアップの必要性をリモートダウンローダと同様の方法で判定しその判定結果を前記バージョンアップ判定情報管理手段に報告し、必要と判定された場合は前記制御ソフト展開手段にダウンロードしたファームウェアを一時的に格納しているRAM上の領域であるファームウェア一次格納領域からの制御プログラムの展開を要求し、不要と判定された場合は前記制御ソフト展開手段にフラッシュROM上の制御ソフト面からの制御プログラムの展開を要求し、制御ソフト起動後前記バージョンアップ判定情報管理手段からの報告により、リモートダウンローダ処理においてリモートダウンローダのバージョンアップ必要と判定されていた場合は前記ファームウェアバージョンアップ手段にリモートダウンローダのバージョンアップを要求し、同様にリモートダウンローダ処理において制御プログラムのバージョンアップ必要と判定されていた場合は前記ファームウェアバージョンアップ手段に制御プログラムのバージョンアップを要求し、正常にリモートダウンローダ又は制御プログラムのバージョンアップの必要性が判定されていなかった場合は前記リセット待ち手段にリセット待ちを要求し、前記上位装置にバージョンアップ結果を報告することを特徴とする。
【0030】
この構成によれば、起動時にファームウェアのフラッシュROMへの書き込み処理を実施する必要が無くなり、起動後、メインとなる制御処理に影響を与えないような低優先度の処理としてファームウェアのフラッシュROMへの書き込み処理を実施することにより、メインとなる制御処理開始までの起動時間を大幅に短縮することができる。
【0031】
請求項11に係る発明のリモートダウンローダは、請求項4から請求項10のいずれかに係る発明のリモートダウンローダにおいて、前記ファームウェアバージョンアップ管理手段からの報告によりファームウェア内リモートダウンローダのバージョンアップ必要と判定された場合、リモートダウンローダの自律再起動処理を行う自律再起動手段を具備し、前記リモートダウンローダ起動面判定手段は、前記ブート手段による最低限必要なブート処理後、前記起動面判定情報管理手段からの起動面判定情報の報告と前記バージョンアップ判定情報管理手段からのバージョンアップ判定情報の報告よりリモートダウンローダの起動面を判定し、正常に判定できた場合はその判定結果を前記リモートダウンローダ展開手段と前記バージョンアップ判定情報管理手段に報告し、正常に判定できなかった場合は前記リセット待ち手段にリセット待ちを要求し、前記リモートダウンローダ展開手段は、前記リモートダウンローダ起動面判定手段からのリモートダウンローダ起動面の報告よりファームウェア一次格納領域からの展開を報告された場合はファームウェア一次格納領域上のリモートダウンロードプログラムを展開し、フラッシュROM上のリモートダウンローダ格納領域からの展開を報告された場合は報告されたリモートダウンローダ格納領域の起動面からリモートダウンロードプログラムを展開し、展開したリモートダウンロードプログラムのエントリポイントに分岐し、前記ファームウェアバージョンアップ管理手段は、前記バージョンアップ判定情報管理手段からのバージョンアップ判定情報よりファームウェアバージョンアップ判定実施不要と判定された場合は、前記上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施せず、ファームウェアバージョンアップ判定実施必要と判定された場合は、前記バージョン情報管理手段から報告されたファームウェアのバージョン情報を前記上位装置に報告し、前記上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、前記上位装置より必要との指示を受けた場合は、前記ファームウェアダウンロード手段を経由してファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否を確認し、失敗と判断した場合はバージョンアップ処理を中止し、前記制御ソフト展開手段に制御プログラムの展開を要求し、ファームウェア内リモートダウンローダのバージョンアップの必要性については、前記バージョン情報管理手段から報告されたリモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定し、その判定結果を前記バージョンアップ判定情報管理手段に報告し、必要と判定された場合は前記自律再起動手段にリモートダウンローダの自律再起動を要求し、同様にファームウェア内制御ソフトのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、その判定結果を前記バージョンアップ判定情報管理手段に報告し、必要と判定された場合は前記制御ソフト展開手段に前記RAM上の一次格納面からの制御プログラムの展開を要求し、不要と判定された場合は、前記制御ソフト展開手段に前記フラッシュROM上の制御ソフト面からの制御プログラムの展開を要求し、制御ソフト起動後、前記バージョンアップ判定情報管理手段からの報告によりリモートダウンローダ処理においてリモートダウンローダのバージョンアップ必要と判定されていた場合は、前記ファームウェアバージョンアップ手段にリモートダウンローダのバージョンアップを要求し、同様にリモートダウンローダ処理において制御プログラムのバージョンアップ必要と判定されていた場合は、前記ファームウェアバージョンアップ手段に制御プログラムのバージョンアップを要求し、正常にリモートダウンローダ又は制御プログラムのバージョンアップの必要性が判定されていなかった場合は、前記リセット待ち手段にリセット待ちを要求し、前記上位装置にバージョンアップ結果を報告することを特徴とする。
【0032】
この構成によれば、リモートダウンロードプログラムをバージョンアップ後、リセット処理を実施することなく、バージョンアップしたリモートダウンロードプログラムを自律的に再起動することが可能となる。
【0033】
請求項12に係る発明のリモートダウンローダは、請求項4から請求項11のいずれかに係る発明のリモートダウンローダにおいて、前記起動面判定情報管理手段は、起動面判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理することを特徴とする。
【0034】
この構成によれば、メモリ装置の劣化等のハードウェア故障や、リモートダウンロードプログラムの不具合等のソフトウェア故障を、簡単な手段によって実現することができる。
【0035】
請求項13に係る発明のリモートダウンローダは、請求項4から請求項11のいずれかに係る発明のリモートダウンローダにおいて、前記バージョンアップ判定情報管理手段は、バージョンアップ判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理することを特徴とする。
【0036】
この構成によれば、メモリ装置の劣化等のハードウェア故障や、リモートダウンロードプログラムの不具合等のソフトウェア故障を、簡単な手段によって実現することができる。
【0037】
請求項14に係る発明の基地局装置は、請求項1から請求項13のいずれかに係る発明のリモートダウンローダを具備することを特徴とする。
【0038】
この構成によれば、無線通信装置において、上記いずれかと同様の作用効果を得ることができる。
【0039】
請求項15に係る発明のリモートダウンロード方法は、リモートダウンローダをフラッシュROMからRAMへ展開するために最低限必要なブート処理を実施し、起動面判定情報よりリモートダウンローダの起動面を判定し、正常に判定できなかった場合はリセット待ちを行い、正常に判定できた場合は判定結果が示す起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐し、その他残りのブート処理を実施し、ファームウェアバージョン情報を上位装置に報告し、上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、上位装置より必要との指示を受けた場合はファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否を確認し、失敗と判断された場合はバージョンアップ処理を中止して制御プログラムを展開し、ファームウェア内リモートダウンローダのバージョンアップの必要性については、リモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報とより判定し、必要と判定された場合はリモートダウンローダのバージョンアップを実施し、バージョンアップに伴い起動面判定情報の更新及びバージョン情報の更新を行い、同様にファームウェア内制御プログラムのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、必要と判定された場合は制御プログラムのバージョンアップを実施し、バージョンアップに伴いバージョン情報の更新を行い、上位装置にファームウェアバージョンアップ結果を報告し、フラッシュROMから制御プログラムをRAM上に展開し、制御プログラムのエントリポイントに分岐することを特徴とする。
【0040】
この方法によれば、特にリモートダウンローダ自身のリモートダウンロード処理中に、リモートダウンローダが起動面判定情報を適切に制御し、通信路障害、電源断の障害が発生しても、リセット後ターゲットシステムは起動可能であり、常にリモートダウンロード機能を確保することができる。
【0041】
請求項16に係る発明のリモートダウンロード方法は、請求項15に係る発明のリモートダウンロード方法において、バージョンアップ対象面を起動面の次面として管理し、リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズ及びリモートダウンローダの書込を完了した際に現起動面の起動面判定情報を参照し、現バージョンアップ対象面が次起動面と判定されるように現バージョンアップ対象面の起動面判定情報を書き換えることを特徴とする。
【0042】
この方法によれば、起動面の判定を、フラッシュROM上の起動面判定情報のみで実施するので、フラッシュROM以外の特別な装置(メモリ)を必要とせず、容易に2面管理方式を実現することができる。
【0043】
請求項17に係る発明のリモートダウンロード方法は、請求項15に係る発明のリモートダウンロード方法において、現起動面の起動面判定情報を参照し、現バージョンアップ対象面が次起動面と判定されるように現バージョンアップ対象面の起動面判定情報を書き換える方法として「じゃんけん」論理を適用し、起動時の起動面判定においては「じゃんけん」に「勝った」方が起動面と判定されることとして、現起動面の起動面判定情報を「先出し」、現バージョンアップ対象面の起動面判定情報を「後出し」と例え、「先出し」の論理に対して「勝つ」ように「後出し」の論理を決定し、現バージョンアップ対象面の起動面判定情報を書き換えることを特徴とする。
【0044】
この方法によれば、「じゃんけん」という非常に簡単なロジックを使用して、容易に起動面の判定処理を実現することができる。
【0045】
請求項18に係る発明のリモートダウンロード方法は、請求項15から請求項17のいずれかに係る発明のリモートダウンロード方法において、モートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズを実施する直前に、バージョンアップ対象面の起動面判定情報の全ビットを“0”に設定することを特徴とする。
【0046】
この方法によれば、フラッシュROMの特性を利用することにより、容易にフラッシュROMのイレーズ処理及び書き込み処理完了状況を判定することができる。
【0047】
請求項19に係る発明のリモートダウンロード方法は、請求項15から請求項18のいずれかに係る発明のリモートダウンロード方法において、リモートダウンローダによるリモートダウンロード処理においてソフトウェア不具合等の処理異常を検出した際、現起動面が次起動面と判定されないように現起動面の起動面判定情報を書き換え、リセット待ちを行い、リセットされ次回起動時には、前起動面で前回起動時に異常が検出された面を現起動面と判定しないことを特徴とする。
【0048】
この方法によれば、特にリモートダウンローダ自身のリモートダウンロード処理中に、リモートダウンローダが起動面判定情報を適切に制御し、通信路障害、電源断の障害に加えて、起動しているリモートダウンローダ自身の不具合等によるプログラム暴走等の障害が発生しても、リセット後ターゲットシステムは起動可能であり、常にリモートダウンロード機能を確保することができる。
【0049】
請求項20に係る発明のリモートダウンロード方法は、請求項15から請求項19のいずれかに係る発明のリモートダウンロード方法において、システム初期立ち上げ時、一方の面であるリモートダウンローダ格納領域にリモートダウンローダが格納されていれば、当該リモートダウンローダ格納領域の起動面判定情報及び他方の面であるリモートダウンローダ格納領域全体の全ビットがフラッシュROMにおけるイレーズ完了状態を示す“1”であっても、その後のシステム運用における起動面の判定処理を正常に実施することができることを特徴とする。
【0050】
この方法によれば、システム初期立ち上げ時にフラッシュROM全体をイレーズ後、A面のみにリモートダウンロードプログラムを書き込めばシステム初期立ち上げ可能であり、両面の起動面判定情報に正常な値を書き込むといった作業や、B面にリモートダウンロードプログラムを書き込むといった作業は不要となる。
【0051】
請求項21に係る発明のリモートダウンロード方法は、請求項15から請求項20のいずれかに係る発明のリモートダウンロード方法において、リモートダウンローダをフラッシュROMからRAMへ展開するために最低限必要なブート処理後、バージョンアップ判定情報の初期化を実施し、起動面判定情報よりリモートダウンローダの起動面を判定し、正常に判定できた場合は判定結果が示す起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐すると共に、判定結果を先程初期化したバージョンアップ判定情報に格納し、ファームウェア内リモートダウンローダのバージョンアップの必要性については、リモートダウンローダ個別バージョン情報と、ダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定し、判定結果をバージョンアップ判定情報に格納し、同様にファームウェア内制御ソフトのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、その判定結果をバージョンアップ判定情報に格納し、バージョンアップ判定情報より制御プログラムのバージョンアップが必要と判定された場合は、RAM上の一次格納面からの制御プログラムを展開し、不要と判定された場合は、フラッシュROM上の制御ソフト面からの制御プログラムを展開し、制御ソフト起動後、バージョンアップ判定情報を参照し、リモートダウンローダ処理においてリモートダウンローダのバージョンアップ必要と判定されていた場合は、リモートダウンローダのバージョンアップを実施し、バージョンアップに伴い起動面判定情報の更新及びバージョン情報の更新を行い、同様に、バージョンアップ判定情報を参照し、リモートダウンローダ処理において制御プログラムのバージョンアップ必要と判定されていた場合は、制御プログラムのバージョンアップを実施し、バージョンアップに伴いバージョン情報の更新を行い、更にバージョンアップ情報を参照し、正常にリモートダウンローダまたは制御プログラムのバージョンアップの必要性が判定されていなかった場合は、リセット待ちを行うことを特徴とする。
【0052】
この方法によれば、起動時にファームウェアのフラッシュROMへの書き込み処理を実施する必要が無くなり、起動後、メインとなる制御処理に影響を与えないような低優先度の処理としてファームウェアのフラッシュROMへの書き込み処理を実施することにより、メインとなる制御処理開始までの起動時間を大幅に短縮することができる。
【0053】
請求項22に係る発明のリモートダウンロード方法は、請求項15から請求項21のいずれかに係る発明のリモートダウンロード方法において、最低限必要なブート処理後、起動面判定情報とバージョンアップ判定情報よりリモートダウンローダの起動面を判定し、正常に判定でき且つファームウェア一次格納領域からの起動と判定された場合はファームウェア一次格納領域上のリモートダウンローダを展開し、バージョンアップ判定情報より、ファームウェアバージョンアップ判定実施不要と判定された場合は上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施せず、ファームウェアバージョンアップ判定実施必要と判定された場合のみ上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施し、上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施した場合でリモートダウンローダ個別バージョンアップが必要と判定された場合はリモートダウンローダの自律再起動を実施し、リモートダウンローダ個別バージョンアップが不要と判定された場合は引き続きリモートダウンローダと同様の方法でファームウェア内制御ソフトのバージョンアップの必要性判定を実施することを特徴とする。
【0054】
この方法によれば、リモートダウンロードプログラムをバージョンアップ後、リセット処理を実施することなく、バージョンアップしたリモートダウンロードプログラムを自律的に再起動することが可能となる。
【0055】
請求項23に係る発明のリモートダウンロード方法は、請求項15から請求項22のいずれかに係る発明のリモートダウンロード方法において、起動面判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理し、同様にバージョンアップ判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理する、の両方またはいずれかを実施することを特徴とする。
【0056】
この方法によれば、メモリ装置の劣化等のハードウェア故障や、リモートダウンローダプログラムの不具合等のソフトウェア故障を簡単な手段によって実現することができる。
【0057】
以下、本発明の実施の形態を説明する前に、図48を用いてリモートダウンローダを実施するシステム概要を説明する。
【0058】
リモートダウンロードは、プログラムバージョンアップを遠隔操作により実現することを目的として実施されるものであり、上位装置101とターゲットシステム100との間で実施され、上位装置101が保持するプログラムをターゲットシステム100にリモートダウンロードする。上位装置101とターゲットシステム100は通信路を介して接続され、ターゲットシステム100は少なくともCPU201、フラッシュROM(不揮発性メモリ)102、RAM(揮発性メモリ)103、上位装置通信コントローラ202を具備する。
【0059】
続いて、図49を用いて、上位装置101とターゲットシステム100との間で実施されるリモートダウンロードの通信プロトコルの例を説明する。
ステップ(ST)311おいて、ターゲットシステム100は、現在保持しているプログラムバージョン確認する。そして、ステップ312において、先のステップで確認したプログラムバージョンを上位装置101に報告する。
【0060】
次いで、ステップ321において、上位装置101は、自己が保持しているプログラムバージョンとターゲットシステム100より報告を受けたプログラムバージョンとを比較してバージョンアップの有無を判定する。そして、ステップ322において、上位装置101はターゲットシステム100にバージョンアップの有無を指示する。その後、ステップ330において、上位装置101とターゲットシステム100との間でリモートダウンロードを実施する。
【0061】
リモートダウンロード完了後、ターゲットシステム100は、ダウンロード処理の合否をサム値チェック等の方法で確認する。ステップ341において、ターゲットシステム100は、バージョンアップ処理を実施する。そして、ステップ342において、バージョンアップの結果を上位装置101に報告する。次いで、ステップ350において、上位装置101はバージョンアップ結果の報告より、ターゲットシステム100のプログラムバージョン情報を更新し、ターゲットシステム100のプログラムバージョンを把握しておく。
【0062】
なお、以後前記通信プロトコルを前提として話を進めるが、その他の通信プロトコルを適用しても同様である。
【0063】
最後に、図50を用いて、ファームウェアのバージョン体系について説明する。
ファームウェアは、FDP(リモートダウンロードプログラム)と制御ソフトから構成され、ファームウェア全体のバージョン4200の他、FDPの個別バージョン4201及び制御ソフトの個別バージョン4202から構成される。
【0064】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るリモートダウンローダの構成を示すブロック図である。なお、本実施の形態のリモートダウンローダは、例えば移動動体通信システムの基地局装置に設けられる。
【0065】
図1において、リモートダウンローダ100A上には、フラッシュROM102とRAM103が実装されており、上位装置101と通信路200(図49参照)を介して接続されている。フラッシュROM102上にはFDP113を格納する領域として、FDP格納領域(A面)110と、FDP格納領域(B面)111が存在し、それぞれの領域内に起動面判定情報112_A、112_Bが格納されている。また、フラッシュROM102上にはファームウェア等のバージョン情報114も格納されている。
【0066】
リモートダウンローダ100Aは、ブート手段120と、FDP起動面判定手段121と、FDP展開手段123と、起動面判定情報管理手段130と、バージョン情報管理手段131と、ファームウェアバージョンアップ管理手段140と、ファームウェアバージョンアップ手段150と、ファームウェアダウンロード手段160と、上位装置通信手段161と、制御ソフト展開手段170と、リセット待ち手段180とを備えている。
【0067】
ブート手段120は、FDP113をフラッシュROM102からRAM103へ展開するために最低限必要なブート処理と、その他残りのブート処理を実施する。FDP起動面判定手段121は、最低限必要なブート処理後、起動面判定情報管理手段130からの起動面判定情報112の報告よりFDP113の起動面を判定し、正常に判定できた場合は判定結果をFDP展開手段123に報告し、正常に判定できなかった場合は、リセット待ち手段180にリセット待ちを要求する。FDP展開手段123は、FDP起動面判定手段121からのFDP起動面の報告より、報告された起動面からFDP113を展開し、展開したFDP113のエントリポイントに分岐する。
【0068】
ファームウェアバージョンアップ管理手段140は、バージョン情報管理手段131から報告されたファームウェアバージョン情報114を、上位装置通信手段161を経由して上位装置101に報告し、上位装置101に対してファームウェアバージョンアップの必要性を問い合わせ、上位装置101より必要との指示を受けた場合は、ファームウェアダウンロード手段160を経由してファームウェアダウンロードを実施する。そして、ファームウェアダウンロード処理の合否をサム値チェック等の方法で確認し、失敗と判断された場合はバージョンアップ処理を中止し、制御ソフト展開手段17に制御ソフトの展開を要求する。
【0069】
また、ファームウェア内FDPのバージョンアップの必要性については、バージョン情報管理手段131から報告されたFDP個別バージョン情報4201と、ダウンロードしたファームウェア内のFDP個別バージョン情報4201より本手段で判定する。必要と判定された場合は、ファームウェアバージョンアップ手段150にFDP113のバージョンアップを要求し、同様にファームウェア内制御ソフトのバージョンアップの必要性をFDPと同様の方法で判定する。必要と判定された場合は、ファームウェアバージョンアップ手段150に制御ソフトのバージョンアップを要求し、上位装置通信手段161を経由して上位装置101にバージョンアップ結果を報告し、制御ソフト展開手段170に制御ソフトの展開を要求する。
【0070】
バージョン情報管理手段131は、ファームウェアバージョンアップ管理手段140からの要求により、バージョン情報114を報告し、ファームウェアバージョンアップ手段150からの要求により、バージョン情報114を更新する。上位装置通信手段161は、ファームウェアバージョンアップ管理手段140からの要求により、上位装置101にバージョン情報114を報告し、上位装置101からのバージョンアップの必要性に関する指示をファームウェアバージョンアップ管理手段140に報告し、ファームウェアダウンロード手段160からの指示により上位装置101とダウンロード処理のための通信を実施し、上位装置101にバージョンアップ結果情報を報告する。
【0071】
ファームウェアダウンロード手段160は、ファームウェアバージョンアップ管理手段140からの指示により、上位装置通信手段161を経由して上位装置101からファームウェアをダウンロードする。ファームウェアバージョンアップ手段150は、ファームウェアバージョンアップ管理手段140からの指示により、ダウンロードしたファームウェアをフラッシュROM102に格納する。そして、起動面判定情報管理手段130にバージョンアップに伴う起動面判定情報112の更新を指示し、バージョン情報管理手段131にバージョンアップに伴うバージョン情報114の更新を指示する。
【0072】
起動面情報管理手段130は、FDP起動面判定手段121からの要求により、起動面判定情報112を報告し、ファームウェアバージョンアップ手段150からの指示により、バージョンアップに伴う起動面判定情報112の更新を実施する。制御ソフト展開手段170は、ファームウェアバージョンアップ管理手段140からの指示により、指示された制御ソフト起動面から制御ソフトをRAM103上に展開し、制御ソフトのエントリポイントに分岐する。リセット待ち手段180は、FDP起動面判定手段121からの要求により、リセットされるのを待ち続ける。
【0073】
このように構成されたリモートダウンローダ100Aの動作について、図2〜図13を参照して説明する。
【0074】
最初に、図9〜図13を参照して、起動面判定情報112について詳細に説明する。
起動面判定情報112は、起動面を判定するための情報であり、フラッシュROM102上のFDP格納領域(A面)110及びFDP格納領域(B面)111それぞれの先頭に格納される。FDP起動面判定手段121は、A面及びB面両方の起動面判定情報112を参照し、起動面を判定する。起動面判定情報管理手段130は、FDP起動面判定手段121が適切な起動面判定を実施できるように、起動面判定情報112を制御する。
【0075】
図9及び図10は起動面判定情報112のビットマップである。起動面判定情報112は起動面判定情報_1と起動面判定情報_2から構成される。起動面判定情報_1はFDP処理中に異常が発生したかどうかを示すフラグである。他方、起動面判定情報_2はFDPのバージョンアップ処理のステータスを示すフラグである。
【0076】
図12は正常ケースのうちの運用時の起動面判定方法を示す図である。項番1〜3のA面及びB面のフラグ状態を逆にしたものが項番4〜6に相当する。
A面及びB面の起動面判定情報#2がフラッシュROMバージョンアップ完了を示す場合、
0000 0000 0000 1111をグー
0000 0000 1111 1111をチョキ
0000 1111 1111 1111をパー
とする「じゃんけん」の論理で「勝った」方を起動面と判定する。
【0077】
制御としては、一方の面のバージョンアップが完了した場合、他方の面に対して「後出し」をしてわざと「じゃんけん」に勝つように一方の面の起動面判定情報#2を設定する。例えば図11に示すように、項番1のフラグ状態時は、A面から起動するが、A面で起動した後、B面をバージョンアップし、バージョンアップが完了した場合は、B面の起動面判定情報#2を項番4のように制御する。
【0078】
このような3値による論理を組むのは、起動面制御処理において、処理時間の大きいフラッシュROMイレーズ処理を極力無くし、ビット値”1”からビット値”0”の制御のみで起動面判定論理を実現するためである。
【0079】
図13は準正常ケースのうちのフラッシュROMバージョンアップ中の起動面判定方法を示す図である。項番1のA面及びB面のフラグ状態を逆にしたものが項番2に相当する。また、システム初期立ち上げ時については、実施の形態2で説明するが、システム初期立ち上げ後、はじめてフラッシュROMバージョンアップを実施した場合を項番3に示している。
【0080】
一方の面の起動面判定情報#2がフラッシュROMイレーズ中又はフラッシュROMライト中である場合、他方の面を起動面と判定する。制御としては、フラッシュROMイレーズを実施する直前にバージョンアップ対象面の起動面判定情報#2をソフトで全て”0”(フラッシュROMイレーズ中)に設定し、フラッシュROMイレーズが完了した場合、ハードで全て”1”(フラッシュROMライト中)に設定される。フラッシュROMバージョンアップが完了した場合、ソフトで起動面判定情報#2をフラッシュROMバージョンアップ完了に設定する。
【0081】
なお、図13の項番3の両面フラッシュROMライト中状態は、実施の形態2で説明するシステム初期立ち上げ状態と同じ状態であるが、どちらもA面を固定で起動面と判定するので問題はない。
【0082】
続いて、図2〜図7のフロー図を参照して、リモートダウンロード処理の動作を説明する。
【0083】
まず、図2を参照してメインフローについて説明する。なお、図中、ステップ703、710、711及び712についてはサブルーチン化しており、別途サブフローとして説明する。
ステップ701において、FDPをフラッシュROMからRAMへ展開するために最低限必要なブート処理を実施する。次いで、ステップ703において、起動面判定情報よりFDPの起動面を判定し、正常に判定できなかった場合は、リセット待ちを行う。正常に判定できた場合は、ステップ704において、判定結果が示す起動面からFDPを展開する。ステップ705において、展開したFDPのエントリポイントに分岐する。ステップ706において、その他残りのブート処理を実施する。
【0084】
ステップ707において、ファームウェアバージョン情報を上位装置に報告し、上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、上位装置より必要との指示を受けた場合は、ステップ708を実施する。ステップ708において、ファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否をサム値チェック等の方法で確認し、失敗と判断された場合はバージョンアップ処理を中止し、制御ソフトを展開する。
【0085】
ファームウェア内FDPのバージョンアップの必要性については、ステップ710において、FDP個別バージョン情報と、ダウンロードしたファームウェア内のFDP個別バージョン情報より判定し、必要と判定された場合は、ステップ711を実施する。ステップ711において、FDPのバージョンアップ(フラッシュROMへの格納)を実施し、バージョンアップに伴い起動面判定情報の更新及びバージョン情報の更新を行う。
【0086】
ステップ712において、ステップ710と同様にファームウェア内制御ソフトのバージョンアップの必要性を判定し、必要と判定された場合は、ステップ713を実施する。ステップ713において、制御ソフトのバージョンアップ(フラッシュROMへの格納)を実施し、バージョンアップに伴いバージョン情報の更新を行う。ステップ714において、上位装置にファームウェアバージョンアップ結果を報告する。ステップ715において、フラッシュROMから制御ソフトをRAM上に展開する。ステップ716において、制御ソフトのエントリポイントに分岐する。
【0087】
次に、図3を参照してサブフローであるFDP起動面判定処理_1について説明する。
ステップ1102において、A面及びB面の起動面判定情報_2より、起動面を判定する。正常に判定できた場合、判定結果はステップ1102−1〜ステップ1102−8のようになる。正常に判定できなかった場合は、フラグ異常と判断し、ALM処理を実施する。図7はALM処理を示すサブフローである。この図において、ステップ2301において、リセットされるのを待つ処理(空処理の無限ループ)を行う。
【0088】
次に、図4を参照してサブフローであるFDPバージョンアップ判定_1について説明する。
ステップ1501において、個別バージョンアップ判定を実施する。具体的には、リモートダウンローダが管理するFDP個別バージョン情報と、ダウンロードしたファームウェア内のFDP個別バージョン情報より判定する。バージョンが異なる場合、ステップ1501−1のようにFDPバージョンアップ必要と判定される。バージョンが同一の場合、ステップ1501−2のようにFDPバージョンアップ不要と判定される。
【0089】
次に、図6を参照してサブフローであるFDPバージョンアップ(フラッシュROM書換)について説明する。
ステップ1901において、FDP起動面を判定する。本実施の形態1では、図3のFDP起動面判定_1の手順で判定し、後述する実施の形態2では、図17、図18のFDP起動面判定_2の手順で判定する。また、実施の形態3及び4では、バージョンアップ判定情報を使用するので、バージョン判定情報内、FDP起動面判定結果フラグによって判定できる。
【0090】
ステップ1901−1及びステップ1901−2のように、FDP起動面がA面の場合、FDPバージョンアップ面はB面となる。FDP起動面がB面の場合、FDPバージョンアップ面はA面となる。ステップ1902において、FDPバージョンアップ面の起動面判定情報_2に“0_0_0_0”(0x0000)を書き込む。
【0091】
ステップ1903においてFDPバージョンアップのためフラッシュROMのイレーズを行う。ステップ1904において、FDPバージョンアップのためフラッシュROMにプログラムを書き込む。ステップ1905において、FDP起動面の起動面判定情報_2に応じて、じゃんけん論理を適用する。正常に適用できた場合は、ステップ1905−1〜1905−3のように、FDPバージョンアップ面の起動面判定情報_2に値を書き込む。正常に適用できなかった場合は、ステップ1905−4のように、フラグ異常としてALM処理を行う。
【0092】
次に、図5を参照してサブフローである制御ソフトバージョンアップ判定_1について説明する。
ステップ1701において、個別バージョンアップ判定を実施する。具体的には、リモートダウンローダが管理する制御ソフト個別バージョン情報と、ダウンロードしたファームウェア内の制御ソフト個別バージョン情報より判定する。バージョンが異なる場合、ステップ1501−1のように制御ソフトバージョンアップ必要と判定される。バージョンが同一の場合、ステップ1501−2のように制御ソフトバージョンアップ不要と判定される。
【0093】
最後に図8の物理構成図を参照して、リモートダウンロード処理の動作を説明する。
リモートダウンローダ100は、基本的にフラッシュROM102と、RAM103から構成され、フラッシュROM102上には、起動面判定プログラム格納及び動作領域2401と、FDP格納領域(A面)110と、FDP格納領域(B面)111と、そして、制御ソフト格納領域2404の4つの領域が確保されている。また、RAM上には、FDP動作領域2403と、ファームウェア一時格納領域2402と、そして、制御ソフト動作領域2405の3つの領域が確保されている。
【0094】
起動面判定プログラム2410は、FDP格納領域(A面)110の起動面判定情報112_Aと、FDP格納領域(B面)111の起動面判定情報112_Bより起動面を判定し、FDP格納領域(A面)110のFDP113_Aか、FDP格納領域(B面)111のFDP113_BのいずれかをFDP動作領域2403に展開し、FDP113_Dのエントリポイントに分岐する。
【0095】
PDP動作領域2403上のFDP113_Dは、バージョンアップ判定情報501等より、ファームウェアを上位装置101からリモートダウンローダ100内ファームウェア一時格納領域2402にダウンロードする。そして、FDPのバージョンアップが必要と判定された場合は、ファームウェア一時格納領域2402上のFDP113_Kを、起動面の次面に相当するFDP格納領域にバージョンアップする。
【0096】
同様に、制御ソフトのバージョンアップが必要と判定された場合は、ファームウェア一時格納領域2402上の制御ソフト2420_Kを、制御ソフト格納領域2404にバージョンアップする。最後に、制御ソフト格納領域2404上の制御ソフト2420_Sを制御ソフト動作領域2405に展開し、制御ソフト2420_Dのエントリポイントに分岐する。制御ソフト動作領域2405上の制御ソフト2420_Dは、組み込み処理を制御するメイン処理を開始する。
【0097】
以上のように、本実施の形態のリモートダウンローダ100Aによれば、特にFDP自身のリモートダウンロード処理中に、FDPが起動面判定情報を適切に制御し、通信路障害、電源断の障害が発生しても、リセット後リモートダウンローダは起動可能であり、常にリモートダウンロード機能を確保することができる。また、その実現方法は、フラッシュROM以外の特別な装置(メモリ等)を必要とせず、容易に実施することができる。
【0098】
(実施の形態2)
図14は、本発明の実施の形態2に係るリモートダウンローダの構成を示すブロック図である。本実施の形態のリモートダウンローダ100Bは、実施の形態1のリモートダウンローダ100Aと同一の構成に加えてFDPプログラム障害検出手段400を備えている。FDPプログラム障害検出手段400は、FDPによるリモートダウンロード処理におけるソフトウェア不具合等の処理異常を検出し、起動面判定情報管理手段130に起動面判定情報の制御を要求し、リセット待ち手段180にリセット待ちを要求する。
【0099】
起動面情報管理手段130は、実施の形態1で説明した処理に加えて、FDPプログラム障害検出手段400からの起動面判定情報の制御要求により、現起動面が次起動面と判定されないように現起動面の起動面判定情報を書き換える。リセット待ち手段180は、実施の形態1で説明した処理に加えて、FDPプログラム障害検出手段400からの要求により、リセットされるのを待ち続ける。
【0100】
このように構成されたリモートダウンローダ100Bの動作について図15〜図25を参照して説明する。
最初に、図19〜図25を参照して起動面判定情報112について詳細に説明する。
【0101】
図20は、準正常ケースのうちのFDP処理異常が発生した場合の起動面判定方法を示す図である。項番1のA面及びB面のフラグ状態を逆にしたものが項番2に相当する。また、システム初期立ち上げ後、はじめてフラッシュROMバージョンアップが完了するまでの間にFDP処理異常となった場合を項番3に示している。一方の面の起動面判定情報_1がFDP処理異常である場合、他方の面を起動面と判定する。但し、システム初期立ち上げ時(他方の面がフラッシュROMライト中)は、起動面無しとし、リセット待ちのALMとする。制御としては、CPU例外等、ソフトがFDP処理異常を検出した場合、起動面の起動面判定情報_1をソフトで全て“0”(FDP処理異常)に設定し、リセット待ちのあLMとする。
【0102】
図19は、正常ケースのうちのシステム初期立ち上げ時の起動面判定方法を示す図である。
両方の面の起動面判定情報_2がフラッシュROMライト中である場合は、システム初期立ち上げ時と判断し、A面を固定で起動面と判定する。システム初期立ち上げ時は、A面及びB面の起動面判定情報はフラッシュROMイレーズした状態、つまり全て“1”とする。また、ICE等を使用し、A面にFDPが格納することとし、B面にはFDPを格納しない。
【0103】
図21は、準正常ケースのうちの、フラッシュROMイレーズ中またはフラッシュROMライト中と、FDP処理異常が複合して発生した、2重障害の場合の起動面判定方法を示す図である。項番1〜3のA面及びB面のフラグ状態を逆にしたのが項番4〜6に相当する。また、システム初期立ち上げ後、はじめてフラッシュROMバージョンアップが完了するまでの間に2重障害となった場合を項番7に示している。
【0104】
一方の面の起動面判定情報_1がFDP処理異常、起動面判定情報_2がフラッシュROMイレーズ中またはフラッシュROMライト中であり、他方の面の起動面判定情報_1がFDP処理正常、起動面判定情報_2がフラッシュROMバージョンアップ完了である場合に限り、他方の面を起動面と判定する。両方の面の起動面判定情報_1がFDP処理異常、または、起動面判定情報_2がフラッシュROMイレーズ中またはフラッシュROMライト中である場合は、起動面無しとし、リセット待ちのALMとする。
【0105】
なお、図21の項番7のA面FDP処理異常の両面フラッシュROMライト中状態は、図20の項番3のシステム初期立ち上げ状態と同じ状態であるが、いずれも起動面無しと判定するので問題はない。
【0106】
図22〜図25より、起動面判定情報のフラグ状態及びフラグ状態遷移について説明する。
図22及び図23は起動面判定情報のフラグ状態を示す図である。正常ケースの状態については、状態番号を”□”で囲う。
起動面判定情報のとり得るフラグ状態数は、合計52である。正常ケースについては、システム初期立ち上げ時の1個と、運用時の6個の合計7個である。純正上ケースについてはM、システム初期立ち上げ時の3個と、運用時の42個の合計45個である。
【0107】
図19の項番1の状態が図22における状態番号0−0に相当する。また、図12の項番1〜6の状態が、それぞれ図22及び図23における状態番号2−0、4−0、6−0、3−0、5−0、1−0に相当する。図22及び図23におけるその他の状態は純正常ケースの状態である。
【0108】
図24及び図25に起動面判定情報のフラグ状態遷移図を示す。
まず、システム初期立ち上げ時のフラグ状態遷移について説明する。
フラグ状態0−0は、システム初期立ち上げ時であり、リセット後、FDPバージョンアップを開始することにより、B面フラッシュROMイレーズ中を示すフラグ状態0−1に遷移する。フラッシュROMイレーズが完了すると、B面フラッシュROMライト中を示すフラグ状態0−0に遷移し、フラッシュROMライトが完了した時点で、フラッシュROMバージョンアップ完了を示すフラグ状態1−0に遷移する。
【0109】
フラグ状態0−0及び0−1で、ソフト不具合等によるALM処理が実施された場合、それぞれ、A面FDP処理異常を示すフラグ状態0−0−1及び0−1−1に遷移する。フラグ状態0−0−1及び0−1−1では、その後リセットが行われても起動面無しでALMとなる。
【0110】
続いて、運用時のフラグ状態遷移について説明する。
フラグ状態1−0は、バージョンアップ完了状態を示し、リセット後、起動面判定処理によりB面が起動面と判定される。B面で起動後、A面のバージョンアップを開始することにより、A面フラッシュROMイレーズ中を示すフラグ状態1−1に遷移する。フラッシュROMイレーズが完了すると、A面フラッシュROMライト中を示すフラグ状態1−2に遷移し、フラッシュROMライトが完了した時点で、フラッシュROMバージョンアップ完了を示すフラグ状態2−0に遷移する。
【0111】
フラグ状態1−0で、ソフト不具合等によるALM処理が実施された場合、B面FDP処理異常を示すフラグ状態1−0−1に遷移する。フラグ状態1−0−1では、その後リセットが行われた場合、起動面判定処理によりA面が起動面と判定される。A面で起動した後、B面のバージョンアップを開始することにより、B面イレーズ中を示すフラグ状態1−0−2に遷移する。フラッシュROMイレーズが完了すると、B面フラッシュROMライト中を示すフラグ状態6−2に遷移し、フラッシュROMライトが完了した時点で、フラッシュROMバージョンアップ完了を示すフラグ状態1−0に遷移する。
【0112】
フラグ状態1−1及び1−2で、ソフト不具合等によるALM処理が実施された場合、それぞれFDP処理異常を示すフラグ状態1−1−1及び1−2−1に遷移する。フラグ状態1−1−1及び1−2−1では、その後リセットが行われても起動面無しでALMとなる。フラグ状態2−0、3−0、4−0、5−0、6−0については、フラグ状態1−0からの状態遷移と全く同様である。
【0113】
フラグ状態遷移は、ソフト不具合等によるALM処理が行われない限り、0−0から始まり、1−0、そしてフラッシュROMバージョンアップ中という過渡状態1−1そして1−2を経由して2−0、その後同様に3−0、4−0、5−0、6−0、そしてまた最初に戻って1−0となる。0−0の状態は、システム初期立ち上げ時に以降は遷移することはない。
【0114】
続いて、図15〜図18のフロー図を参照してリモートダウンロード処理の動作を説明する。
まず、図15を参照してメインフローについて説明する。なお、ステップ803、810、811、812についてはサブルーチン化しており、別途サブフローとして説明する。
【0115】
ステップ801〜ステップ816までは、実施の形態1を示す図2のステップ701〜ステップ716と同じである。但し、ステップ803のFDP起動面の判定方法が異なる。FDP起動面判定_2については図17及び図18のサブフローで説明する。
CPU例外発生時、ステップ851においてFDP起動面を判定する。ステップ852において、FDP起動面の起動面判定情報_1にFDP処理異常を示す“0”を書き込む。
【0116】
次に、図17及び図18を参照してサブフローであるFDP起動面判定処理_2について説明する。
ステップ1201において、A面及びB面の起動面判定情報_1より、起動面を判定する。正常に判定できて起動面が存在する場合、判定結果はステップ1201−1−1又はステップ1201−2−1のようになる。正常に判定できたが起動面が存在しない場合は、判定結果はステップ1201−1−2又はステップ1201−2−2のようになり、ALM処理を実施する。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0117】
ステップ1202において、A面及びB面の起動面判定情報_2より、起動面を判定する。正常に判定できた場合、判定結果はステップ1202−1〜ステップ1202−8のようになる。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0118】
なお、物理構成については、実施の形態1と同様なので、説明を省略する。
【0119】
以上のように、本実施の形態のリモートダウンローダ100Bによれば、特にFDP自身のリモートダウンロード処理中に、FDPが起動面判定情報を適切に制御し、実施の形態1であげたような通信路障害、電源断の障害に加えて、起動しているFDP自身の不具合等によるプログラム暴走等の障害が発生してもリセット後リモートダウンローダは起動可能であり、常にリモートダウンロード機能を確保することができる。また、その実現方法は、実施の形態1と同様にフラッシュROM以外の特別な装置(メモリ等)を必要とせず、容易に実施することができる。
【0120】
(実施の形態3)
図26は、本発明の実施の形態3に係るリモートダウンローダの構成を示すブロック図である。本実施の形態のリモートダウンローダ100Cは、実施の形態2のリモートダウンローダ100Bと同一の構成に加えて、バージョンアップ判定情報管理手段500を備えるとともに、RAM103にバージョンアップ判定情報が格納されたものである。
【0121】
バージョンアップ判定情報管理手段500は、ブート手段120及びFDP起動面判定手段121及びファームウェアバージョン管理手段140からのバージョンアップ判定情報の制御要求によりバージョンアップ判定情報を制御し、ファームウェアバージョン管理手段140からのバージョンアップ判定情報の報告要求に対してバージョンアップ判定情報を報告する。ブート手段120は、実施の形態1で説明した処理に加えて、バージョンアップ判定情報の初期化をバージョンアップ判定情報管理手段500に要求する。
【0122】
FDP起動面判定手段121は、実施の形態1で説明した処理に加えて、FDPの起動面を判定し、正常に判定できた場合は判定結果をバージョンアップ判定情報管理手段500にも報告する。ファームウェアバージョンアップ管理手段140は、実施の形態1で説明した処理に加えて、ファームウェア内FDPのバージョンアップの必要性判定の判定結果と、同様にファームウェア内制御ソフトのバージョンアップの必要性判定結果をバージョンアップ判定情報管理手段500に報告する。そして、制御ソフト起動後はバージョンアップ判定情報管理手段500からの報告により、FDP処理においてFDPのバージョンアップ必要と判定されていた場合はファームウェアバージョンアップ手段150にFDPのバージョンアップを要求する。同様にFDP処理において制御ソフトのバージョンアップ必要と判定されていた場合は、ファームウェアバージョンアップ手段150に制御ソフトのバージョンアップを要求し、正常にFDP又は制御ソフトのバージョンアップの必要性が判定されていなかった場合はリセット待ち手段180にリセット待ちを要求する。
【0123】
このように構成されたリモートダウンローダ100Cの動作について、図26〜図38を参照して説明する。
【0124】
最初に図36〜図38を参照してバージョンアップ判定情報501について詳細に説明する。
バージョンアップ判定情報501は、バージョンアップに関連する情報であり、RAM103上に格納される。図36及び図37はバージョンアップ判定情報501のビットマップである。バージョンアップ判定情報501は、バージョンアップ判定実施/未実施フラグと、FDPバージョンアップ判定フラグと、制御ソフトバージョンアップ判定フラグと、FDP起動面判定結果フラグと、の4つの情報より構成される。
【0125】
バージョンアップ判定実施/未実施フラグは、実施の形態4で説明するバージョンアップしたFDPの分岐による自律再起動を実施する場合に使用され、FDP自身が、初期起動処理か、または自律再起動処理かを識別するために使用される。
【0126】
FDPバージョンアップ判定フラグは、ファームウェアのうちのFDPの遅延フラッシュROM書換を実施する場合に使用され、運用状態遷移後の制御ソフト処理で、(一時格納面に保存されている)バージョンアップ対象FDPのフラッシュROM書込を実施すべきかを判定するために使用される。制御ソフトバージョンアップ判定フラグは、ファームウェアのうちの制御ソフトの遅延フラッシュROM書換を実施する場合に使用され、運用状態遷移後の制御ソフト処理で、(一時格納面に保存されている)バージョンアップ対象制御ソフトのフラッシュROM書込を実施すべきかを判定するために使用される。FDP起動面判定結果フラグは、バージョンアップ対象面を判定(起動面の次面がバージョンアップ対象面)するために使用する。
【0127】
図38はバージョンアップ判定方法を示す図である。
FDP起動面判定結果フラグが起動面A面(B面)を示している場合、バージョンアップ対象面をB面(A面)と判定する。制御としては、リセット後、起動面判定方法に従って起動面を判定し、判定結果をFDP起動面判定結果フラグに設定する。
【0128】
バージョンアップ判定実施/未実施フラグがバージョンアップ判定未実施を示している場合、リセット後の初期起動時と判定する。初期起動時はFDPでバージョンアップ判定処理を実施する。逆に、バージョンアップ判定実施/未実施フラグがバージョンアップ判定実施を示している場合、分岐による自律再起動時と判定する。分岐による自律再起動時はFDPでバージョンアップ判定処理は実施済みであるので実施しない。なお、PDPの分岐による自律再起動については、実施の形態4で説明する。
【0129】
制御としては、バージョンアップ判定処理を実施後、バージョンアップ判定実施/未実施フラグをバージョンアップ判定実施に設定する。また、初期起動時は、バージョンアップ判定実施/未実施フラグをバージョンアップ判定未実施に初期化する。
【0130】
FDPバージョンアップ判定フラグがFDPバージョンアップ必要を示している場合、運用状態遷移後、制御ソフトでのFDPのフラッシュROM書込処理が必要と判定する。制御としては、FDP処理でのバージョンアップ判定実施後、FDPバージョンアップ判定結果をFDPバージョン判定フラグに設定する。
【0131】
制御ソフトバージョンアップ判定フラグが制御ソフトバージョンアップ必要を示している場合、運用状態遷移後、制御ソフトでの制御ソフトのフラッシュROM書込処理が必要と判定する。制御としては、FDP処理でのバージョンアップ判定実施後、制御ソフトバージョンアップ判定結果を制御ソフトバージョン判定フラグに設定する。
【0132】
続いて、図27〜図35のフロー図を参照してリモートダウンロード処理の動作を説明する。
【0133】
まず、図27及び図28を参照してメインフローについて説明する。なお、ステップ902、903、909、910、914、916についてはサブルーチン化しており、別途サブフローとして説明する。
【0134】
ステップ901は、実施の形態1を示す図2のステップ701と同じである。ステップ902において、バージョンアップ判定情報501を初期化する。次いで、ステップ903において、起動面判定情報よりFDPの起動面を判定し、判定結果をバージョンアップ判定情報501に格納する。ステップ904〜ステップ908までは実施の形態1を示す図2のステップ703〜ステップ708と同じである。
【0135】
ステップ909において、ファームウェア内FDPのバージョンアップの必要性について、FDP個別バージョン情報とダウンロードしたファームウェア内のFDP個別バージョン情報より判定し、判定結果をバージョンアップ判定情報501に格納し、同様にファームウェア内制御ソフトのバージョンアップの必要性をFDPと同様の方法で判定し、判定結果をバージョンアップ判定情報501に格納する。
【0136】
ステップ910において、バージョンアップ判定情報501より制御ソフトのバージョンアップが必要と判定された場合は、ステップ910−1を実施し、不要と判定された場合はステップ910−2を実施する。ステップ910−1において、制御ソフト起動面をRAM上の一次格納面とする。ステップ910−2において、制御ソフト起動面をフラッシュROM上の制御ソフト面とする。
【0137】
ステップ911〜ステップ912までは、実施の形態1を示す図2のステップ715〜ステップ716と同じである。制御ソフト起動後、ステップ914において、バージョンアップ判定情報を参照し、FDP処理においてFDPのバージョンアップ必要と判定されていた場合は、ステップ915を実施する。バージョンアップ判定情報を参照し、正常にFDPのバージョンアップの必要性が判定されていなかった場合はリセット待ちを行う。
【0138】
ステップ915において、FDPのバージョンアップ(フラッシュROMへの格納)を実施し、バージョンアップに伴い起動面判定情報の更新及びバージョン情報の更新を行う。同様に、ステップ916において、バージョンアップ判定情報を参照し、FDP処理において制御ソフトのバージョンアップ必要と判定されていた場合は、ステップ917を実施する。バージョンアップ判定情報を参照し、正常に制御ソフトのバージョンアップの必要性が判定されていなかった場合は、リセット待ちを行う。
【0139】
ステップ917において、制御ソフトのバージョンアップ(フラッシュROMへの格納)を実施し、バージョンアップに伴いバージョン情報の更新を行う。ステップ918は、実施の形態1を示す図2のステップ714と同じである。CPU例外発生時、ステップ951において、バージョンアップ判定情報を参照し、ステップ951―1又はステップ951−2のように、FDP起動面を判定する。ステップ952は、実施の形態2を示す図16のステップ852と同じである。
【0140】
次に、図29及び図30を参照してサブフローであるFDP起動面判定処理_3について説明する。
ステップ1301において、A面及びB面の起動面判定情報_1より、起動面を判定する。正常に判定できて起動面が存在する場合、判定結果はステップ1301−1−1又はステップ1301−2−1のようになる。また、ステップ1301−1−1−1及びステップ1301−2−1−1において、バージョンアップ判定情報に判定結果を書き込む。正常に判定できたが起動面が存在しない場合は、判定結果はステップ1301−1−2又はステップ1301−2−2のようになりALM処理を実施する。正常に判定出来なかった場合はフラグ異常と判断してALM処理を実施する。
【0141】
ステップ1302において、A面及びB面の起動面判定情報_2より、起動面を判定する。正常に判定できた場合、判定結果はステップ1302−1〜ステップ1302−8のようになる。また、ステップ1302―1−1〜ステップ1302−8−1において、バージョンアップ判定情報に判定結果を書き込む。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0142】
次に、図31を参照してサブフローであるFDPバージョンアップ判定_2について説明する。
ステップ1601において、バージョンアップ判定情報よりFDPのバージョンアップの必要性を判定する。正常に判定できた場合、判定結果はステップ1601−1かステップ1601−2のようになる。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0143】
次に、図32を参照してサブフローである制御ソフトバージョンアップ判定_2について説明する。
ステップ1801において、バージョンアップ判定情報より、制御ソフトのバージョンアップの必要性を判定する。正常に判定できた場合、判定結果はステップ1801−1かステップ1801−2のようになる。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0144】
次に、図33を参照してサブフローであるバージョンアップ判定情報初期化について説明する。ステップ2001において、バージョンアップ判定情報に初期値を書き込む。
【0145】
次に、図34を参照してサブフローであるファームウェア内プログラム個別バージョンアップ判定について説明する。
ステップ2101において、FDP個別バージョン情報と制御ソフト個別バージョン情報より、ファームウェア内プログラムの個別バージョンアップ判定を実施する。具体的にはリモートダウンローダが管理するFDPまたは制御ソフト個別バージョン情報とダウンロードしたファームウェア内のFDP又は制御ソフト個別バージョン情報より判定する。
【0146】
判定結果は、ステップ2101―1〜ステップ2101―4のようになる。また、ステップ2101−1−1〜ステップ2101−4−1において、バージョンアップ判定情報に判定結果を書き込む。
【0147】
最後に図35の物理構成図を参照してリモートダウンロード処理の動作を説明する。基本的には、実施の形態1とほぼ同様であるが、制御ソフト2420_Dの展開元が複数存在する点が異なる。
【0148】
上位装置101からリモートダウンローダ100C上のファームウェア一時格納領域2402にリモートダウンロードした制御ソフト2420_Kを、フラッシュROM102上の制御ソフト格納領域2404にバージョンアップしてから、制御ソフト動作領域2405に展開するのではなく、ファームウェア一時格納領域2402上の制御ソフト2420_Kを、直接制御ソフト動作領域2405に展開する。展開後、ファームウェア一時格納領域2402上の制御ソフト2420_KをフラッシュROM102上の制御ソフト格納領域2404にバージョンアップする。
【0149】
以上のように、本実施の形態のリモートダウンローダ100Cによれば、起動時にファームウェアのフラッシュROMへの書き込み処理を実施する必要が無くなり、起動後、メインとなる制御処理に影響を与えないような低優先度の処理としてファームウェアのフラッシュROMへの書き込み処理を実施することにより、メインとなる制御処理開始までの起動時間を大幅に短縮することができる。また、その実現方法は、実施の形態1及び2と同様に、フラッシュROM以外の特別な装置(メモリ等)を必要とせず、容易に実施することができる。
【0150】
(実施の形態4)
図39は、本発明の実施の形態4に係るリモートダウンローダの構成を示すブロック図である。本実施の形態のリモートダウンローダ100Dは、実施の形態3のリモートダウンローダ100Cと同一の構成に加えて自律再起動手段600を備えている。自律再起動手段600は、ファームウェアバージョンアップ管理手段140からの報告により、ファームウェア内FDPのバージョンアップ必要と判定された場合、FDPの自律再起動処理を実施する。
【0151】
FDP起動面判定手段121は、実施の形態3で説明した処理に加えて、起動面判定情報管理手段130からの起動面判定情報の報告の他、バージョンアップ判定情報管理手段500からのバージョンアップ判定情報の報告よりFDPの起動面を判定する。FDP展開手段123は、実施の形態1で説明した処理に加えて、FDP起動面判定手段121からのFDP起動面の報告より、ファームウェア一次格納領域からの展開を報告された場合は、ファームウェア一次格納領域上のFDPを展開する。
【0152】
ファームウェアバージョンアップ管理手段140は、バージョンアップ判定情報管理手段500からのバージョンアップ判定情報より、ファームウェアバージョンアップ判定実施不要と判定された場合は、上位装置101からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施せず、ファームウェアバージョンアップ判定実施必要と判定された場合で、ファームウェアダウンロード後、ファームウェア内FDPのバージョンアップが必要と判定された場合は自律再起動手段600にFDPの自律再起動を要求する。
【0153】
このように構成されたリモートダウンローダ100の動作について図40〜図47を参照して説明する。
最初に、図46及び図47を参照して、バージョンアップ判定情報501の状態及び状態遷移について説明する。
図46はバージョンアップ判定情報のフラグ状態を示す図である。とり得るフラグ状態数は11通りである。図38の項番1の状態が図46における状態番号0−0に相当する。また、図38の項番2〜6の状態が図46における状態番号1−0〜2−4に相当する。
【0154】
図47はバージョンアップ判定情報のフラグ状態遷移図である。
リセット後、バージョンアップ情報を初期化し、フラグ状態0に遷移する。フラグ状態0で起動面判定処理を実施し、起動面判定結果を本バージョンアップ判定情報に設定し、フラグ状態1−0又はフラグ状態2−0に遷移する。その後、バージョンアップ判定処理を実施し、バージョンアップ判定結果を本バージョンアップ判定情報に設定し、フラグ状態1−0からフラグ状態1−1〜1−4のいずれか、またはフラグ状態2−0からフラグ状態2−0〜2−4のいずれかに遷移する。
【0155】
続いて、図40〜図44のフロー図を参照して、リモートダウンロード処理の動作を説明する。
まず、図40を参照してメインフローについて説明する。なお、ステップ1002、1003、1007、1010、1011、1012、1016、1017、1018についてはサブルーチン化しており、別途サブフローとして説明する。
【0156】
ステップ1001〜ステップ1002は、実施の形態3を示す図27のステップ901からステップ902と同じである。ステップ1003において、起動面判定情報及びバージョンアップ判定情報501よりFDPの起動面を判定し、判定結果をバージョンアップ判定情報501に格納する。ステップ1004〜ステップ1006までは、実施の形態1を示す図2のステップ704〜ステップ706と同じである。ステップ1007において、ファームウェアバージョンアップ判定処理実施の要不要をバージョンアップ判定情報501より判定する。
【0157】
ステップ1008〜ステップ1010までは、実施の形態3を示す図27のステップ907〜ステップ909と同じである。ステップ1011において、バージョンアップ判定情報501よりFDPのバージョンアップが必要と判定された場合は、ステップ1003に戻る(自律再起動)。不要と判定された場合はステップ1012を実施する。ステップ1012〜ステップ1020までは、実施の形態3を示す図27のステップ910〜ステップ918と同じである。CPU例外発生時、ステップ1051〜ステップ1052までは、実施の形態3を示す図28のステップ951〜ステップ952と同じである。
【0158】
図42、図43より、サブフローであるFDP起動面判定処理_4について説明する。
ステップ1401において、バージョンアップ判定情報より、起動面を判定する。正常に判定できて一時格納面から起動と判定された場合は、ステップ1401−1となる。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0159】
ステップ1402において、A面及びB面の起動面判定情報_1より、起動面を判定する。正常に判定できて起動面が存在する場合、判定結果はステップ1402−1−1又はステップ1402−2−1のようになる。また、ステップ1402−1−1−1及びステップ1402−2−1−1において、バージョンアップ判定情報に判定結果を書き込む。正常に判定できたが起動面が存在しない場合は、判定結果はステップ1402−1−2又はステップ1402−2−2のようになり、ALM処理を実施する。
【0160】
正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。ステップ1403において、A面及びB面の起動面判定情報_2より起動面を判定する。正常に判定できた場合、判定結果はステップ1403−1〜ステップ1403−8のようになる。また、ステップ1403―1−1〜ステップ1403−8−1において、バージョンアップ判定情報に判定結果を書き込む。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0161】
図44より、サブフローであるファームウェアバージョンアップ判定処理実施判定について説明する。
【0162】
ステップ2201において、バージョンアップ判定情報より、ファームウェアバージョンアップ判定処理実施の必要性を判定する。正常に判定できた場合、判定結果はステップ2201−1かステップ2201―2のようになる。正常に判定できなかった場合はフラグ異常と判断してALM処理を実施する。
【0163】
最後に、図45の物理構成図を参照してリモートダウンロード処理の動作を説明する。基本的には、実施の形態3とほぼ同様であるが、FDP113_Dの展開元にファームウェア一時格納領域2402も加わる点が異なる。
【0164】
上位装置101からリモートダウンローダ100D上のファームウェア一時格納領域2402にリモートダウンロードしたFDP113_Kを、フラッシュROM102上のFDP格納領域110又は111にバージョンアップし、次回リセット後の起動時にFDP動作領域2403に展開するのではなく、ファームウェア一時格納領域2402上のFDP113_Kを、直接FDP動作領域2403に展開し、リセットすることなく、FDP動作領域2403上のFDP113_Dのエントリポイントに分岐する。制御ソフト起動後、ファームウェア一時格納領域2402上のFDP113_Kを、フラッシュROM102上のFDP格納領域110または111にバージョンアップする。
【0165】
以上のように、本実施の形態のリモートダウンローダ100Dによれば、FDPをバージョンアップ後、リセット処理を実施することなく、バージョンアップしたFDPを自律的に再起動することが可能となる。また、その実現方法は、実施の形態1〜3と同様に、フラッシュROM以外の特別な装置(メモリ等)を必要とせず、容易に実施することができる。
【0166】
【発明の効果】
本発明によれば、電子機器を制御するファームウェアを、リモートダウンロードを実施するリモートダウンロードプログラムと前記電子機器を制御するメインとなる制御プログラムの2つに分割し、それぞれ独立してリモートダウンロードするので、フラッシュROM上に2面管理するのはリモートダウンローダのみで、制御ソフトについては1面管理となり、フラッシュROM容量を必要最小限に抑えて2面管理方式を実現することができる。
【0167】
また、本発明によれば、特にリモートダウンローダ自身のリモートダウンロード処理中にリモートダウンローダが起動面判定情報を適切に制御するので、通信路障害、電源断の障害が発生してもリセット後ターゲットシステムは起動可能であり、常にリモートダウンロードを確保することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るリモートダウンローダの構成を示すブロック図。
【図2】本発明の実施の形態1に係るリモートダウンローダの動作を説明するためのフロー図。
【図3】本発明の実施の形態1に係るリモートダウンローダの動作を説明するためのフロー図。
【図4】本発明の実施の形態1に係るリモートダウンローダの動作を説明するためのフロー図。
【図5】本発明の実施の形態1に係るリモートダウンローダの動作を説明するためのフロー図。
【図6】本発明の実施の形態1に係るリモートダウンローダの動作を説明するためのフロー図。
【図7】本発明の実施の形態1に係るリモートダウンローダの動作を説明するためのフロー図。
【図8】本発明の実施の形態1に係るリモートダウンローダの動作を説明するための物理構成図。
【図9】本発明の実施の形態1に係るリモートダウンローダの動作を説明するための起動面判定情報ビットマップ図。
【図10】本発明の実施の形態1に係るリモートダウンローダの動作を説明するための起動面判定情報ビットマップ図。
【図11】本発明の実施の形態1に係るリモートダウンローダの動作を説明するための起動面判定情報_2制御例を示す図。
【図12】本発明の実施の形態1に係るリモートダウンローダの動作を説明するための起動面判定方法を示す図。
【図13】本発明の実施の形態1に係るリモートダウンローダの動作を説明するための起動面判定方法を示す図。
【図14】本発明の実施の形態2に係るリモートダウンローダの構成を示すブロック図。
【図15】本発明の実施の形態2に係るリモートダウンローダの動作を説明するためのフロー図。
【図16】本発明の実施の形態2に係るリモートダウンローダの動作を説明するためのフロー図。
【図17】本発明の実施の形態2に係るリモートダウンローダの動作を説明するためのフロー図。
【図18】本発明の実施の形態2に係るリモートダウンローダの動作を説明するためのフロー図。
【図19】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定方法を示す図。
【図20】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定方法を示す図。
【図21】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定方法を示す図。
【図22】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定情報状態定義を示す図。
【図23】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定情報状態定義を示す図。
【図24】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定情報状態遷移図。
【図25】本発明の実施の形態2に係るリモートダウンローダの動作を説明するための起動面判定情報状態遷移図。
【図26】本発明の実施の形態3に係るリモートダウンローダの構成を示すブロック図。
【図27】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図28】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図29】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図30】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図31】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図32】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図33】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図34】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのフロー図。
【図35】本発明の実施の形態3に係るリモートダウンローダの動作を説明するための物理構成図。
【図36】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためバージョンアップ判定情報ビットマップ図。
【図37】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためバージョンアップ判定情報ビットマップ図。
【図38】本発明の実施の形態3に係るリモートダウンローダの動作を説明するためのバージョンアップ判定方法を示す図。
【図39】本発明の実施の形態4に係るリモートダウンローダの構成を示すブロック図。
【図40】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのフロー図。
【図41】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのフロー図。
【図42】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのフロー図。
【図43】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのフロー図。
【図44】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのフロー図。
【図45】本発明の実施の形態4に係るリモートダウンローダの動作を説明するための物理構成図。
【図46】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのバージョンアップ判定情報状態定義を示す図。
【図47】本発明の実施の形態4に係るリモートダウンローダの動作を説明するためのバージョンアップ判定情報状態遷移図。
【図48】本発明の実施の形態に係るリモートダウンローダを用いたターゲットシステムと上位装置の構成を示すブロック図。
【図49】本発明の実施の形態に係るリモートダウンローダを用いたターゲットシステムと上位装置間のリモートダウンロードシーケンス図。
【図50】本発明の実施の形態に係るリモートダウンローダのファームウェアバージョン情報の構成図。
【符号の説明】
100A〜100D リモートダウンローダ
101 上位装置
102 フラッシュROM
103 RAM
110、111 FDP格納領域
113 FDP
120 ブート手段
121 FDP起動面判定手段
123 FDP展開手段
130 起動面判定情報管理手段
131 バージョン情報管理手段
140 ファームウェアバージョンアップ管理手段
150 ファームウェアバージョンアップ手段
160 ファームウェアダウンロード手段
161 上位装置通信手段
170 制御ソフト展開手段
180 リセット待ち手段
200 通信路
201 CPU
202 上位装置コントローラ
400 リモートダウンローダ障害検出手段
500 バージョンアップ判定情報管理手段
600 自律再起動手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention is applied to, for example, a base station in a mobile communication system, downloads a program held by a higher-level device to a target system via a communication path, and remotely upgrades the program to realize a remote downloader and a remote download method. About.
[0002]
[Prior art]
Conventionally, as this type of remote downloader and remote download method, the one disclosed in Japanese Patent Application Laid-Open No. H11-45182 is known. In the prior art disclosed in this publication, the remote downloader operates by expanding itself from the flash ROM to the RAM at the time of reset. Remote downloader running on RAM realizes version upgrade by downloading new version of remote downloader from upper device when version upgrade is necessary and overwriting old version remote downloader on flash ROM I do.
[0003]
Further, as a remote downloader and a remote download method for securing a two-side remote downloader storage area on a flash ROM, a method disclosed in Japanese Patent Application Laid-Open No. 2000-163268 is known. In the prior art disclosed in this publication, a remote read / write nonvolatile memory (NVRAM) is prepared separately from a flash ROM, and information about a surface of a remote downloader to be started is stored and controlled on the NVRAM, thereby enabling remote control. It realizes two-sided management of downloaders.
[0004]
[Problems to be solved by the invention]
However, in the conventional remote downloader and remote download method described in JP-A-11-45182, a new version of the remote downloader is directly stored in the remote downloader storage area on the flash ROM where the currently activated remote downloader is stored. Since the remote downloader is overwritten, if there is a problem with the new version of the remote downloader, there is a problem that the target system cannot be started for a subsequent reset.
[0005]
Considering the case where the target system is a base station in a mobile communication system, the fact that the target system does not start means that a technician actually needs to go to the site where the base station exists. However, there are a huge number of base stations all over the country, and in some cases it is difficult for a technician to actually go to a site such as a mountain. For mobile communication systems based on remote maintenance, including version upgrade work, it must be absolutely avoided that the target system cannot be started. In any case, the target system can be started and remote download can be performed. It is important that functions are secured.
[0006]
The following three cases can be considered as cases where a problem occurs in the new version of the remote download program.
In the first case, a communication path failure or the like occurs in the communication path 200 between the host device 101 and the target system 100, and a bit of a program of a new version of the remote downloader is corrupted.
[0007]
In the second case, during the remote download, a power failure occurs in the host device 101 or the target system 100 due to a power failure or the like, the remote download process is interrupted halfway, and a part of a new version of the remote downloader exists. do not do.
In the third case, a problem exists in the remote downloader of the new version in the first place, and a failure such as program runaway occurs. The third case is a problem that must be solved by operation and should not actually occur.
[0008]
However, with the shortening of the development cycle in recent years, the speed of development is essential, and the development process and the test process are performed in parallel, and it is a fact that a huge number of program versions exist. It cannot be said that an operation (artificial) error of the host device operator such as setting a certain remote downloader as a new version in the host device will never occur. Also, it cannot be said that there is absolutely no fatal problem in the remote downloader, such as the inability to start the target system after the release of the program. Furthermore, when the third case occurs, the problem that the target system cannot be started extends to all target systems under the host device. As described above, it is desired that the third case be implemented as one function of the target system.
[0009]
In the conventional remote downloader and remote download method disclosed in Japanese Patent Application Laid-Open No. 2000-163268, the problem that the target system cannot be started when the second case occurs can be avoided. When the first and third cases occur, a problem occurs that the target system cannot be started. Further, in addition to the flash ROM, an expensive NVRAM is required, which leads to complication of the target system and an increase in cost.
[0010]
SUMMARY OF THE INVENTION The present invention solves the above-mentioned conventional problems, and a remote downloader that can easily realize a two-sided management management method that enables starting of a target system when a problem occurs in a new version of a remote download program. And a remote download method. Also, even if any of the above three cases occurs for the new version of the remote download program, especially if the third case occurs, the target system can be started after reset, and the remote download function is always ensured. It is an object of the present invention to provide a remote downloader and a remote download method.
[0011]
[Means for Solving the Problems]
The remote downloader according to the first aspect of the present invention includes two programs, a remote download program for performing a remote download and a main control program for controlling the electronic device, the program controlling an electronic device having a function of remotely downloading itself. And remote downloading is performed independently of each other.
[0012]
According to this configuration, only the remote downloader manages two sides on the flash ROM, and only one side of the control software. Therefore, the two-side management method can be realized by minimizing the necessary capacity of the flash ROM. Can be.
[0013]
A remote downloader according to a second aspect of the present invention is the remote downloader according to the first aspect of the present invention, wherein two remote downloader storage areas, A-side and B-side, for storing the remote download program are set in a flash ROM. In the remote downloader storage area of each plane, start plane determination information for storing information regarding the start plane of the remote downloader to be started is set, and the start plane is determined only by the start plane determination information in each remote downloader storage area. It is characterized by the following.
[0014]
According to this configuration, no special device (memory or the like) other than the flash ROM is required, and the two-side management system can be easily realized.
[0015]
A remote downloader according to a third aspect of the present invention is the remote downloader according to the second aspect of the present invention, wherein version upgrade determination information for storing information relating to version upgrade determination is set in a RAM, and activation in the two remote downloader storage areas is performed. The activation plane is determined based on the version upgrade determination information in addition to the plane determination information.
[0016]
According to this configuration, it is possible to realize a more detailed two-side management method such as delayed firmware writing to a flash ROM for the purpose of shortening the startup process and autonomous restart of a remote downloader.
[0017]
A remote downloader according to a fourth aspect of the present invention is the remote downloader according to the third aspect of the present invention, in which boot processing and other remaining boot processing required for expanding the remote download program from the flash ROM to the RAM are performed. , A remote downloader starting surface determining unit that determines a starting surface of the remote downloader from the starting surface determining information, and a reset waiting unit that waits for a reset by a request from the remote downloader starting surface determining unit. Remote downloader deploying means for deploying the remote downloader from the remote downloader launch surface, branching to the entry point of the developed remote downloader, and reporting the launch surface determination information and updating the launch surface determination information with version upgrade. Boot surface determination information management means; version information management means for reporting version information and updating version information; storing downloaded firmware in the flash ROM; Firmware version upgrade means for instructing the update of the surface determination information and instructing the version information management means to update the version information with the version upgrade; firmware version upgrade management means for managing the firmware version upgrade; Firmware download means for downloading firmware from a higher-level device in accordance with an instruction from the management means; and control software instructed by an instruction from the firmware upgrade management means. Control software expanding means for expanding the control program on the RAM from the moving surface and branching to an entry point of the control program, wherein the remote downloader start-up surface judging means comprises a minimum boot process required by the boot means Is performed, determine the activation surface of the remote downloader from the report of the activation surface determination information from the activation surface determination information management means, and if the determination is successful, report the determination result to the remote downloader deployment means, If the determination is not normal, the reset wait unit is requested to wait for a reset, and the boot surface information determination management unit reports boot surface determination information in response to a request from the remote downloader boot surface determination unit, and the firmware version Updating of start-up surface judgment information with version upgrade in accordance with instructions from upgrade means The version information management means reports version information in response to a version information report request from the firmware version upgrade management means, and updates the version information in response to a request from the firmware version upgrade means. When the firmware version information of the firmware reported from the version information management means is reported to the higher-level device, the higher-level device is inquired about the necessity of upgrading the firmware, and the higher-level device receives an instruction that the firmware version is required. Performs the firmware download via the firmware download means, determines the success or failure of the firmware download processing immediately after the firmware download, Requesting the control software deploying means to deploy the control program, and as to the necessity of version upgrade of the remote downloader in the firmware, the remote downloader individual version information of the remote downloader reported from the version information managing means is used. Judgment is made from the remote downloader individual version information in the downloaded firmware, and if it is judged that it is necessary, the firmware version upgrade means is requested to upgrade the remote downloader. It is determined in the same manner as the downloader, and if it is determined that it is necessary, the firmware version upgrade means is requested to upgrade the control program, and The firmware version upgrade result is reported to the control software deployment means, and the firmware upgrade means stores the downloaded firmware in the flash ROM according to an instruction from the firmware version upgrade management means. And instructing the activation plane determination information management means to update the activation plane determination information with the version upgrade, and instructing the version information management means to update the version information with the version upgrade.
[0018]
According to this configuration, especially during the remote downloader's own remote download processing, the remote downloader appropriately controls the startup plane determination information, and even if a communication path failure or a power failure occurs, the target system is started after reset. It is possible, and the remote download function can always be secured.
[0019]
A remote downloader according to a fifth aspect of the present invention is the remote downloader according to the fourth aspect of the present invention, wherein the boot surface determination information management means upgrades a remote downloader storage area on a flash ROM for upgrading the remote downloader. The target surface is managed as surface B for surface A, which is the next surface after the activation surface, or surface A for surface B, and the version upgrade target surface is erased and the remote downloader is written in accordance with the remote downloader version upgrade. When the update is completed, refer to the startup plane determination information of the current startup plane, and update the startup plane determination information of the current version upgrade target plane so that the current version upgrade target plane is determined as the next startup boot plane. It is characterized by rewriting.
[0020]
According to this configuration, since the startup plane is determined only by the startup plane determination information on the flash ROM, a special device (memory) other than the flash ROM is not required, and the two-side management method can be easily realized. be able to.
[0021]
A remote downloader according to a sixth aspect of the present invention is the remote downloader according to the fifth aspect of the present invention, in which the current upgrade target surface is determined to be the next activation surface by referring to the activation surface determination information of the current activation surface. As a method of rewriting the boot surface determination information of the current version upgrade target surface, the "rock-paper-scissors" logic is applied, and in the boot surface determination at startup, the one that "wins" the rock-paper-scissors is determined as the boot surface. In other words, the activation plane determination information of the current activation plane is "first out", and the activation plane determination information of the current version upgrade target plane is "late". The logic of “later” is determined, and the activation surface determination information management means rewrites the activation surface determination information of the current version upgrade target surface.
[0022]
According to this configuration, it is possible to easily realize the start-up surface determination process using a very simple logic of “paper-scissors”.
[0023]
A remote downloader according to a seventh aspect of the present invention is the remote downloader according to any one of the fourth to sixth aspects, wherein the start-up surface determination information managing means is configured to determine a version upgrade target surface associated with the remote upgrader version upgrade. Immediately before erasing, all bits of the activation plane determination information of the plane to be upgraded are set to “0”.
[0024]
According to this configuration, by using the characteristics of the flash ROM, it is possible to easily determine the erasing process and the writing process completion status of the flash ROM.
[0025]
According to an eighth aspect of the present invention, in the remote downloader according to any one of the fourth to seventh aspects, the remote downloader according to any one of the fourth to seventh aspects detects a processing abnormality such as a software failure in the remote download processing, and executes the startup plane determination information management means Remote starter program failure detection means for requesting control of startup plane determination information and requesting the reset waiting means to wait for resetting, wherein the startup plane determination information management means starts up from the remote downloader program failure detection means. By the control request of the plane determination information, the activation plane determination information of the current activation plane is rewritten so that the current activation plane is not determined to be the next activation plane, and the remote downloader activation plane determination means is reported from the activation plane determination information management means. From the rewritten startup plane determination information, Characterized in that it does not determined that the resident boot surface.
[0026]
According to this configuration, in particular, during the remote downloader's own remote download processing, the remote downloader appropriately controls the startup surface determination information, and in addition to the communication path failure and the power failure, the remote downloader's own startup Even if a failure such as a program runaway due to a failure or the like occurs, the target system can be started after the reset, and the remote download means can always be secured.
[0027]
A remote downloader according to a ninth aspect of the present invention is the remote downloader according to any one of the fourth to eighth aspects, wherein the remote downloader activation surface determination means is an A surface when the system is initially started. If the remote downloader is stored in the storage area, even if the erasing is completed in the flash ROM in which the activation plane determination information of the remote downloader storage area and all bits of the entire remote downloader storage area on the B side are “1”, It is characterized in that the determination process of the starting surface in the subsequent system operation is normally performed.
[0028]
According to this configuration, after erasing the entire flash ROM at the time of initial system startup, it is possible to start up the system by writing a remote download program only to the A side, and to write a normal value to the startup side determination information for both sides. Also, there is no need to write a remote download program on the B side.
[0029]
A remote downloader according to a tenth aspect of the present invention is the remote downloader according to any one of the fourth to ninth aspects, wherein a version upgrade from the boot unit, the remote downloader activation plane determination unit, and the firmware version management unit is performed. A version upgrade determination information management unit that controls version upgrade determination information in response to a determination information control request, and reports version upgrade determination information in response to a version upgrade determination information report request from the firmware version management unit; Means for performing a minimum boot process required for expanding the remote download program from the flash ROM to the RAM and other boot processes, and initialize the version upgrade determination information to the version upgrade. Requesting the remote downloader activation plane determination means, after the minimum boot processing required by the boot means, based on the report of the activation plane determination information from the activation plane determination information management means, And if the determination is successful, the determination result is reported to the remote downloader developing means and the version upgrade determination information management means.If the determination is not successful, a reset wait is requested to the reset waiting means. The firmware version upgrade management means reports the firmware version information reported from the version information management means to the higher-level device, inquires of the higher-level device about the necessity of firmware upgrade, and determines that the higher-level device needs If you receive the instruction of the firmware The firmware download is performed via the download means, the pass / fail of the firmware download processing is confirmed, and if it is determined to be unsuccessful, the version upgrade processing is stopped, and the control software development means is requested to develop the control program. The necessity of version upgrade of the internal remote downloader is determined based on the remote downloader individual version information reported from the version information management means and the remote downloader individual version information in the downloaded firmware, and the determination result is determined by the version upgrade determination information management means. Similarly, the necessity of version upgrade of the control program in the firmware is determined by the same method as that of the remote downloader, and the determination result is reported to the version upgrade determination information management means. If it is determined that the firmware is necessary, the control software development unit requests the development of the control program from the firmware primary storage area, which is an area on the RAM that temporarily stores the downloaded firmware. Requesting the control software development means to expand the control program from the control software on the flash ROM, and after the control software is activated, the version upgrade determination information management means reports the version of the remote downloader in the remote downloader processing. If it is determined that the firmware needs to be upgraded, the firmware version upgrade means is requested to upgrade the remote downloader. Similarly, if it is determined that the control program needs to be upgraded in the remote downloader process, the firmware is upgraded. Requesting the version upgrade means to the control program, and if the necessity of version upgrade of the remote downloader or the control program has not been normally determined, requesting the reset waiting means to wait for a reset, and updating the host device to the version upgrade. The feature is to report the result.
[0030]
According to this configuration, it is not necessary to execute the process of writing the firmware to the flash ROM at the time of startup, and after startup, the firmware is written to the flash ROM as a low-priority process that does not affect the main control process. By performing the writing process, the startup time until the start of the main control process can be significantly reduced.
[0031]
According to a eleventh aspect of the present invention, in the remote downloader according to any one of the fourth to tenth aspects, it is determined by the report from the firmware version upgrade management means that the firmware remote downloader needs to be upgraded. In this case, the remote downloader includes an autonomous restarting unit that performs an autonomous restarting process of the remote downloader. From the report of the boot surface determination information and the report of the version upgrade determination information from the version upgrade determination information management unit, the boot surface of the remote downloader is determined, and if the determination is successful, the determination result is compared with the remote downloader deployment unit and the remote downloader deployment unit. Version upgrade Report to the constant information management means, and when the determination is not successful, request the reset waiting means to wait for a reset, and the remote downloader deployment means, based on the report of the remote downloader activation surface from the remote downloader activation surface determination means, If the deployment from the firmware primary storage area is reported, the remote download program on the firmware primary storage area is deployed, and if the deployment from the remote downloader storage area on the flash ROM is reported, the reported remote downloader storage area The firmware download upgrade management means expands the remote download program from the start surface of the program and branches to an entry point of the developed remote download program. If it is determined from the upgrade determination information that the firmware version upgrade determination is not required, the firmware download processing from the higher-level device and the necessity determination of the firmware version upgrade are not performed, and if it is determined that the firmware version upgrade determination needs to be performed, When the firmware version information reported from the version information management means is reported to the higher-level device, the higher-level device is inquired about the necessity of upgrading the firmware, and when the higher-level device receives an instruction that the firmware version is necessary, The firmware download is executed via the firmware download means, the pass / fail of the firmware download processing is confirmed, and if it is determined to be unsuccessful, the version upgrade processing is stopped, and the control Requesting the deployment of the firmware, the necessity of upgrading the version of the remote downloader in the firmware is determined based on the remote downloader individual version information reported from the version information management means and the remote downloader individual version information in the downloaded firmware. The result of the determination is reported to the version upgrade determination information management means, and if it is determined that the version is necessary, the autonomous restart means is requested to autonomously restart the remote downloader. A determination is made in the same manner as the remote downloader, and the determination result is reported to the version upgrade determination information management means. If it is determined that the control program is necessary, the control software development means reads the control program from the primary storage surface on the RAM. Requires deployment If it is determined that the control software is not required, the control software developing means is requested to develop the control program from the control software on the flash ROM. If it is determined in the remote downloader process that the remote downloader needs to be upgraded, a request is made to the firmware version upgrade means to upgrade the remote downloader, and similarly, it is determined that the control program needs to be upgraded in the remote downloader process. In this case, the firmware version upgrade means requests a version upgrade of the control program, and if the necessity of version upgrade of the remote downloader or the control program has not been normally determined, the Requesting reset waiting to set waiting means and to report the version-up result to the host device.
[0032]
According to this configuration, after upgrading the version of the remote download program, the upgraded version of the remote download program can be autonomously restarted without performing reset processing.
[0033]
A remote downloader according to a twelfth aspect of the present invention is the remote downloader according to any one of the fourth to eleventh aspects, wherein the startup plane determination information management means stores each information element of the startup plane determination information in a redundant bit. It is characterized in that it is managed in a multi-bit configuration having.
[0034]
According to this configuration, a hardware failure such as deterioration of the memory device and a software failure such as a failure of the remote download program can be realized by simple means.
[0035]
A remote downloader according to a thirteenth aspect of the present invention is the remote downloader according to any one of the fourth to eleventh aspects, wherein the version-up determination information management means stores each information element of the version-up determination information in a redundant bit. It is characterized in that it is managed in a multi-bit configuration having.
[0036]
According to this configuration, a hardware failure such as deterioration of the memory device and a software failure such as a failure of the remote download program can be realized by simple means.
[0037]
A base station apparatus according to a fourteenth aspect of the present invention includes the remote downloader according to any one of the first to thirteenth aspects.
[0038]
According to this configuration, in the wireless communication device, the same operation and effect as any of the above can be obtained.
[0039]
The remote download method of the invention according to claim 15 performs a minimum boot process for expanding the remote downloader from the flash ROM to the RAM, determines the start surface of the remote downloader from the start surface determination information, and normally executes the boot process. If it cannot be determined, it waits for a reset.If it can be determined normally, it deploys the remote downloader from the startup surface indicated by the determination result, branches to the expanded remote downloader entry point, and performs the remaining boot processing. , Reports the firmware version information to the higher-level device, inquires of the higher-level device about the necessity of upgrading the firmware, and executes the firmware download when the higher-level device indicates that the firmware version is required. And was determined to have failed If this is the case, cancel the version upgrade process and deploy the control program.The necessity of upgrading the remote downloader in the firmware is determined based on the remote downloader individual version information and the remote downloader individual version information in the downloaded firmware. If it is determined, the version of the remote downloader is upgraded, the startup plane determination information and the version information are updated with the version upgrade, and the necessity of upgrading the control program in the firmware is similarly determined as the remote downloader. If it is determined that it is necessary, the version of the control program is upgraded, the version information is updated with the version upgrade, and the firmware version upgrade Reported, the control program from the flash ROM developed on RAM, and characterized in that branching to the entry point of the control program.
[0040]
According to this method, particularly during the remote downloader's own remote download processing, the remote downloader appropriately controls the startup plane determination information, and even if a communication path failure or a power failure occurs, the target system is started after reset. It is possible, and the remote download function can always be secured.
[0041]
A remote download method according to a sixteenth aspect of the present invention is the remote download method according to the fifteenth aspect, wherein the version upgrade target surface is managed as the next surface of the activation surface, and the version upgrade target surface associated with the remote downloader version upgrade is updated. When the writing of the erase and remote downloader is completed, refer to the activation plane determination information of the current activation plane, and determine the activation plane determination information of the current upgrade target plane so that the current upgrade target plane is determined as the next activation plane. It is characterized by rewriting.
[0042]
According to this method, since the determination of the boot surface is performed only by the boot surface determination information in the flash ROM, a special device (memory) other than the flash ROM is not required, and the two-surface management method can be easily realized. be able to.
[0043]
According to a seventeenth aspect of the present invention, in the remote download method according to the fifteenth aspect, the current upgrade target surface is determined to be the next activation surface by referring to the activation surface determination information of the current activation surface. Applying the `` rock-paper-scissors '' logic as a method of rewriting the boot surface determination information of the current version upgrade target surface, and in the boot surface determination at startup, the one who `` wins '' the `` rock-paper-scissors '' is determined to be the boot surface, By comparing the activation plane determination information of the current activation plane with “first out” and the activation plane determination information of the current version upgrade target plane as “late”, the logic of “late” so that “win” is achieved with respect to the logic of “first” Is determined, and the activation surface determination information of the current version upgrade target surface is rewritten.
[0044]
According to this method, it is possible to easily realize the start-up surface determination process using a very simple logic of “paper-scissors”.
[0045]
The remote download method according to the eighteenth aspect of the present invention is the remote download method according to any one of the fifteenth to seventeenth aspects, wherein immediately before erasing the version upgrade target surface accompanying the version upgrade of the mote downloader, It is characterized in that all bits of the activation plane determination information of the plane to be upgraded are set to “0”.
[0046]
According to this method, by using the characteristics of the flash ROM, it is possible to easily determine the completion status of the erasing process and the writing process of the flash ROM.
[0047]
The remote download method according to the nineteenth aspect of the present invention is the remote download method according to any one of the fifteenth to eighteenth aspects, wherein when a processing abnormality such as a software defect is detected in the remote download processing by the remote downloader, Rewrite the startup plane determination information of the current startup plane so that the startup plane is not determined to be the next startup plane, wait for a reset, and reset the next startup. Is not determined.
[0048]
According to this method, in particular, during the remote download process of the remote downloader itself, the remote downloader appropriately controls the start-up surface determination information, and in addition to the communication path failure and the power failure, the remote downloader itself is activated. Even if a failure such as a program runaway due to a failure or the like occurs, the target system can be started after the reset, and the remote download function can always be secured.
[0049]
The remote download method according to a twentieth aspect of the present invention is the remote download method according to any one of the fifteenth to nineteenth aspects, wherein the remote downloader is located in one side of the remote downloader storage area when the system is initially started. If it is stored, even if the activation plane determination information of the remote downloader storage area and all the bits of the entire remote downloader storage area, which is the other side, are “1” indicating the erase completion state in the flash ROM, the subsequent system It is characterized in that it is possible to normally execute a start-up surface determination process in operation.
[0050]
According to this method, it is possible to start up the system by erasing the entire flash ROM at the time of initial start-up of the system and then writing the remote download program only to the A-side, and writing a normal value to the start-up surface determination information for both sides. Also, there is no need to write a remote download program on the B side.
[0051]
A remote download method according to a twenty-first aspect of the present invention is the remote download method according to any one of the fifteenth to twentieth aspects, wherein the minimum download after the boot processing for expanding the remote downloader from the flash ROM to the RAM is performed. Initialize the version upgrade determination information, determine the startup surface of the remote downloader from the startup surface determination information, and if the determination is successful, deploy the remote downloader from the startup surface indicated by the determination result. Branch to the entry point, and store the determination result in the version upgrade determination information initialized earlier. Regarding the necessity of upgrading the remote downloader in the firmware, the remote downloader individual version information and the Judge from the remote downloader individual version information, store the judgment result in the upgrade judgment information, judge the necessity of version upgrade of the control software in the firmware in the same way as the remote downloader, and judge the upgrade result Information, and if it is determined that the control program needs to be upgraded based on the version upgrade determination information, the control program from the primary storage surface on the RAM is expanded. After deploying the control program from the control software and starting the control software, refer to the version upgrade determination information.If the remote downloader processing determines that the remote downloader needs to be upgraded, upgrade the remote downloader. , Ba Update the startup plane determination information and the version information along with the version upgrade.Referring to the version upgrade determination information in the same manner, if it is determined that the control program needs to be upgraded in the remote downloader process, the control program Upgrade the version, update the version information according to the version upgrade, and refer to the version upgrade information. It is characterized by performing.
[0052]
According to this method, it is not necessary to execute the process of writing the firmware to the flash ROM at the time of startup, and after the startup, the firmware is written to the flash ROM as a low-priority process that does not affect the main control process. By performing the writing process, the startup time until the start of the main control process can be significantly reduced.
[0053]
A remote download method according to a twenty-second aspect of the present invention is the remote download method according to any one of the fifteenth to twenty-first aspects, wherein after the minimum necessary boot processing, the remote download method uses the startup plane determination information and the version upgrade determination information. Judge the starter of the downloader, if it can be judged normally and start from the primary storage area of the firmware, deploy the remote downloader on the primary storage area of the firmware, and do not need to perform the firmware upgrade judgment from the upgrade information Is not performed, the firmware download processing from the higher-level device and the necessity of firmware version upgrade are not performed, and the firmware download process from the higher-level device is performed only when it is determined that the firmware version upgrade determination is required. When the firmware download process from the host device and the firmware version upgrade necessity determination are performed and the remote downloader individual version upgrade is determined to be necessary, the remote downloader autonomously restarts. When the startup is performed and it is determined that the remote downloader individual version upgrade is unnecessary, the necessity determination of the version upgrade of the control software in the firmware is continuously performed by the same method as the remote downloader.
[0054]
According to this method, after upgrading the remote download program, the upgraded remote download program can be autonomously restarted without performing reset processing.
[0055]
A remote download method according to a twenty-third aspect of the present invention is the remote download method according to any one of the fifteenth to twenty-second aspects, wherein each information element of the activation plane determination information has a multi-bit configuration having redundant bits. And / or managing each information element of the version-up determination information in a multi-bit configuration having redundant bits.
[0056]
According to this method, a hardware failure such as deterioration of a memory device or a software failure such as a failure of a remote downloader program can be realized by simple means.
[0057]
Hereinafter, before describing an embodiment of the present invention, an outline of a system that implements a remote downloader will be described with reference to FIG.
[0058]
The remote download is performed for the purpose of realizing the program version upgrade by remote control, and is performed between the higher-level device 101 and the target system 100, and the program held by the higher-level device 101 is transmitted to the target system 100. Remote download. The host device 101 and the target system 100 are connected via a communication path. The target system 100 includes at least a CPU 201, a flash ROM (non-volatile memory) 102, a RAM (volatile memory) 103, and a host device communication controller 202.
[0059]
Next, an example of a communication protocol for remote download performed between the higher-level device 101 and the target system 100 will be described with reference to FIG.
In step (ST) 311, the target system 100 checks the currently held program version. Then, in step 312, the program version confirmed in the previous step is reported to the host device 101.
[0060]
Next, in step 321, the host device 101 compares the program version held by itself with the program version reported from the target system 100 to determine whether there is a version upgrade. Then, in step 322, the host device 101 instructs the target system 100 whether or not there is a version upgrade. After that, in step 330, remote download is performed between the host device 101 and the target system 100.
[0061]
After the remote download is completed, the target system 100 checks whether the download process is successful or not by a method such as a sum value check. In step 341, the target system 100 performs a version upgrade process. Then, in step 342, the result of the version upgrade is reported to the higher-level device 101. Next, in step 350, the host device 101 updates the program version information of the target system 100 from the report of the version upgrade result, and grasps the program version of the target system 100.
[0062]
Note that the following description will be made on the premise of the communication protocol, but the same applies to other communication protocols.
[0063]
Finally, the firmware version system will be described with reference to FIG.
The firmware is composed of an FDP (remote download program) and control software, and is composed of an individual version 4201 of FDP and an individual version 4202 of control software, in addition to a version 4200 of the entire firmware.
[0064]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of the remote downloader according to Embodiment 1 of the present invention. The remote downloader according to the present embodiment is provided, for example, in a base station apparatus of a mobile communication system.
[0065]
1, a flash ROM 102 and a RAM 103 are mounted on a remote downloader 100A, and are connected to a host device 101 via a communication path 200 (see FIG. 49). An FDP storage area (side A) 110 and an FDP storage area (side B) 111 are present as areas for storing the FDP 113 on the flash ROM 102, and activation plane determination information 112 _A and 112 _B are stored in the respective areas. I have. The flash ROM 102 also stores version information 114 such as firmware.
[0066]
The remote downloader 100A includes a boot unit 120, an FDP starting plane determining unit 121, an FDP expanding unit 123, a starting plane determining information managing unit 130, a version information managing unit 131, a firmware upgrade managing unit 140, a firmware version It includes an upload unit 150, a firmware download unit 160, a host device communication unit 161, a control software deployment unit 170, and a reset waiting unit 180.
[0067]
The boot unit 120 performs a minimum boot process for expanding the FDP 113 from the flash ROM 102 to the RAM 103 and other boot processes. The FDP activation plane determination unit 121 determines the activation plane of the FDP 113 based on the report of the activation plane determination information 112 from the activation plane determination information management unit 130 after the minimum necessary boot processing. Is reported to the FDP developing means 123, and if the judgment is not successful, the reset waiting means 180 is requested to wait for a reset. The FDP expanding unit 123 expands the FDP 113 from the reported start plane based on the report of the FDP start plane from the FDP start plane determining unit 121, and branches to the entry point of the expanded FDP 113.
[0068]
The firmware version upgrade management means 140 reports the firmware version information 114 reported from the version information management means 131 to the higher-level device 101 via the higher-level device communication means 161, and it is necessary to upgrade the firmware of the higher-level device 101. When a request is received from the higher-level device 101, the firmware is downloaded via the firmware download unit 160. Then, the pass / fail of the firmware download processing is confirmed by a method such as a checksum value, and if it is determined to be unsuccessful, the version upgrade processing is stopped, and the control software development means 17 is requested to develop the control software.
[0069]
Whether the FDP in the firmware needs to be upgraded is determined by the present unit based on the FDP individual version information 4201 reported from the version information management unit 131 and the FDP individual version information 4201 in the downloaded firmware. If it is determined that it is necessary, the firmware upgrade unit 150 is requested to upgrade the FDP 113, and similarly, the necessity of upgrade of the control software in the firmware is determined by the same method as the FDP. If it is determined that it is necessary, a request is made to the firmware upgrade unit 150 to upgrade the control software, the upgrade result is reported to the host device 101 via the host device communication unit 161, and the control software deployment unit 170 is controlled. Request software deployment.
[0070]
The version information management unit 131 reports the version information 114 in response to a request from the firmware version upgrade management unit 140, and updates the version information 114 in response to a request from the firmware version upgrade unit 150. The higher-level device communication means 161 reports the version information 114 to the higher-level device 101 in response to a request from the firmware version upgrade management means 140, and reports an instruction regarding the necessity of version upgrade from the higher-level device 101 to the firmware version upgrade management means 140. Then, communication is performed with the higher-level device 101 for download processing according to an instruction from the firmware download unit 160, and the upgrade result information is reported to the higher-level device 101.
[0071]
The firmware download unit 160 downloads firmware from the higher-level device 101 via the higher-level device communication unit 161 according to an instruction from the firmware version upgrade management unit 140. The firmware upgrade unit 150 stores the downloaded firmware in the flash ROM 102 according to an instruction from the firmware upgrade management unit 140. Then, it instructs the activation plane determination information management means 130 to update the activation plane determination information 112 with the version upgrade, and instructs the version information management means 131 to update the version information 114 with the version upgrade.
[0072]
The boot surface information management unit 130 reports the boot surface determination information 112 in response to a request from the FDP boot surface determination unit 121, and updates the boot surface determination information 112 accompanying the version upgrade in response to an instruction from the firmware version upgrade unit 150. carry out. The control software expanding means 170 expands the control software on the RAM 103 from the designated control software activation surface in accordance with the instruction from the firmware upgrade management means 140, and branches to the control software entry point. The reset waiting unit 180 continues to wait for a reset in response to a request from the FDP activation surface determination unit 121.
[0073]
The operation of the remote downloader 100A thus configured will be described with reference to FIGS.
[0074]
First, the startup plane determination information 112 will be described in detail with reference to FIGS.
The boot plane determination information 112 is information for determining a boot plane, and is stored at the head of each of the FDP storage area (side A) 110 and the FDP storage area (side B) 111 on the flash ROM 102. The FDP activation plane determination unit 121 determines the activation plane by referring to the activation plane determination information 112 on both the A side and the B side. The startup plane determination information management unit 130 controls the startup plane determination information 112 so that the FDP startup plane determination unit 121 can perform appropriate startup plane determination.
[0075]
9 and 10 are bitmaps of the activation plane determination information 112. The startup plane determination information 112 includes startup plane determination information_1 and startup plane determination information_2. The activation plane determination information_1 is a flag indicating whether or not an abnormality has occurred during the FDP processing. On the other hand, the startup plane determination information_2 is a flag indicating the status of the FDP version upgrade process.
[0076]
FIG. 12 is a diagram illustrating a method of determining a startup plane during operation in a normal case. The reverse of the flag states of the A-side and the B-side of the item numbers 1 to 3 correspond to the item numbers 4 to 6.
When the activation plane determination information # 2 on the sides A and B indicates that the flash ROM version upgrade has been completed,
Goo 0000 0000 0000 1111
0000 0000 1111 1111
0000 1111 1111 1111
Based on the logic of “paper-scissors”, the “winner” is determined to be the start surface.
[0077]
As the control, when the upgrade of one surface is completed, the activation surface determination information # 2 of one surface is set so as to “delay” the other surface and deliberately win “Janken”. For example, as shown in FIG. 11, when the item No. 1 is in the flag state, it is started from the side A, but after the start on the side A, the side B is upgraded, and when the upgrade is completed, the side B is activated. The surface determination information # 2 is controlled as in item number 4.
[0078]
Such a ternary logic is used to minimize the flash ROM erasing process, which requires a long processing time, in the startup plane control processing, and the startup plane determination logic is controlled only by controlling the bit value “1” to the bit value “0”. It is to realize.
[0079]
FIG. 13 is a diagram showing a boot surface determination method during flash ROM version upgrade in the quasi-normal case. The reverse of the flag states of the A-side and B-side of the item No. 1 corresponds to the item No. 2. In addition, although the description will be given in the second embodiment at the time of the initial startup of the system, item No. 3 shows a case where the flash ROM version is upgraded for the first time after the initial startup of the system.
[0080]
When the activation surface determination information # 2 of one surface is during flash ROM erase or flash ROM writing, the other surface is determined as the activation surface. As control, immediately before flash ROM erasing is performed, all the boot surface determination information # 2 of the version upgrade target surface is set to “0” (in flash ROM erasing) by software, and when flash ROM erasing is completed, hardware All are set to "1" (during flash ROM writing). When the flash ROM version upgrade is completed, the startup plane determination information # 2 is set to the flash ROM version upgrade completion by software.
[0081]
The state during the double-sided flash ROM writing of item No. 3 in FIG. 13 is the same as the system initial start-up state described in the second embodiment. There is no.
[0082]
Subsequently, the operation of the remote download process will be described with reference to the flowcharts of FIGS.
[0083]
First, the main flow will be described with reference to FIG. In the figure, steps 703, 710, 711, and 712 are subroutines, and will be separately described as subflows.
In step 701, a minimum boot process for expanding the FDP from the flash ROM to the RAM is performed. Next, in step 703, the starting plane of the FDP is determined from the starting plane determination information. If the FDP cannot be determined normally, a reset wait is performed. If the determination is successful, in step 704, the FDP is developed from the starting surface indicated by the determination result. In step 705, the process branches to the entry point of the developed FDP. In step 706, other remaining boot processing is performed.
[0084]
In step 707, the firmware version information is reported to the higher-level device, the upper-level device is inquired about the necessity of upgrading the firmware, and when the higher-level device is instructed by the higher-level device, step 708 is performed. In step 708, the firmware download is performed, and the pass / fail of the firmware download processing is confirmed by a method such as a sum value check. If it is determined that the firmware download processing has failed, the version upgrade processing is stopped and the control software is deployed.
[0085]
In step 710, the necessity of upgrading the FDP in the firmware is determined based on the FDP individual version information and the FDP individual version information in the downloaded firmware. If it is determined that the FDP is necessary, step 711 is performed. In step 711, the FDP is upgraded (stored in the flash ROM), and the startup plane determination information and the version information are updated with the upgrade.
[0086]
In step 712, it is determined whether the version of the control software in the firmware needs to be upgraded as in step 710. If it is determined that the version is necessary, step 713 is performed. In step 713, the control software is upgraded (stored in the flash ROM), and the version information is updated with the upgrade. In step 714, the firmware version upgrade result is reported to the host device. In step 715, the control software is loaded on the RAM from the flash ROM. In step 716, the process branches to an entry point of the control software.
[0087]
Next, the sub-flow FDP start-up surface determination process_1 will be described with reference to FIG.
In step 1102, the activation plane is determined from the activation plane determination information_2 on the A and B sides. If the determination is normal, the determination result is as shown in steps 1102-1 to 1102-8. If the determination is not normal, it is determined that the flag is abnormal, and the ALM process is performed. FIG. 7 is a sub-flow showing the ALM process. In this figure, in step 2301, a process of waiting for resetting (infinite loop of empty process) is performed.
[0088]
Next, the sub-flow FDP version upgrade determination_1 will be described with reference to FIG.
In step 1501, an individual version upgrade determination is performed. Specifically, the determination is made based on the FDP individual version information managed by the remote downloader and the FDP individual version information in the downloaded firmware. If the versions are different, it is determined that the FDP version needs to be upgraded as in step 1501-1. If the versions are the same, it is determined that the FDP version upgrade is not necessary as in step 1501-2.
[0089]
Next, referring to FIG. 6, a description will be given of the sub-flow FDP version upgrade (flash ROM rewriting).
In step 1901, the FDP start plane is determined. In the first embodiment, the determination is performed according to the procedure of FDP startup plane determination_1 in FIG. 3, and in the second embodiment described later, the determination is performed according to the procedure of FDP startup plane determination_2 in FIGS. Further, in the third and fourth embodiments, since the upgrade determination information is used, the determination can be made by using the FDP activation plane determination result flag in the version determination information.
[0090]
As in Step 1901-1 and Step 1901-2, when the FDP activation surface is the A surface, the FDP upgrade surface is the B surface. When the FDP activation surface is the B surface, the FDP version upgrade surface is the A surface. In step 1902, “0_0_0_0” (0x0000) is written to the activation plane determination information_2 of the FDP version upgrade plane.
[0091]
In step 1903, the flash ROM is erased to upgrade the FDP. In step 1904, a program is written to the flash ROM for upgrading the FDP. In step 1905, rock-paper-scissors logic is applied according to the startup plane determination information_2 of the FDP startup plane. If it can be applied normally, a value is written to the activation plane determination information_2 of the FDP version upgrade plane as in steps 1905-1 to 1905-3. If it cannot be applied normally, as in step 1905-4, ALM processing is performed as a flag abnormality.
[0092]
Next, the control software version upgrade determination_1, which is a subflow, will be described with reference to FIG.
In step 1701, an individual version upgrade determination is performed. Specifically, the determination is made based on the control software individual version information managed by the remote downloader and the control software individual version information in the downloaded firmware. If the versions are different, it is determined that the control software needs to be upgraded as in step 1501-1. If the versions are the same, it is determined that control software version upgrade is not necessary as in step 1501-2.
[0093]
Finally, the operation of the remote download processing will be described with reference to the physical configuration diagram of FIG.
The remote downloader 100 basically includes a flash ROM 102 and a RAM 103. On the flash ROM 102, an activation plane determination program storage and operation area 2401, an FDP storage area (side A) 110, and an FDP storage area (side B) ) 111 and a control software storage area 2404. On the RAM, three areas, an FDP operation area 2403, a firmware temporary storage area 2402, and a control software operation area 2405 are secured.
[0094]
The boot plane determination program 2410 determines the boot plane from the boot plane determination information 112_A of the FDP storage area (plane A) 110 and the boot plane determination information 112_B of the FDP storage area (plane B) 111, and determines the FDP storage area (plane A). Either the FDP 113_A of 110) or the FDP 113_B of the FDP storage area (surface B) 111 is developed in the FDP operation area 2403, and the flow branches to the entry point of FDP 113_D.
[0095]
The FDP 113_D on the PDP operation area 2403 downloads the firmware from the higher-level device 101 to the firmware temporary storage area 2402 in the remote downloader 100 based on the upgrade determination information 501 and the like. If it is determined that the FDP needs to be upgraded, the FDP 113_K on the firmware temporary storage area 2402 is upgraded to the FDP storage area corresponding to the next surface of the startup surface.
[0096]
Similarly, when it is determined that the control software needs to be upgraded, the control software 2420_K in the firmware temporary storage area 2402 is upgraded to the control software storage area 2404. Finally, the control software 2420_S in the control software storage area 2404 is developed in the control software operation area 2405, and branches to the entry point of the control software 2420_D. The control software 2420_D on the control software operation area 2405 starts the main processing for controlling the incorporation processing.
[0097]
As described above, according to the remote downloader 100A of the present embodiment, particularly during the remote download processing of the FDP itself, the FDP appropriately controls the startup plane determination information, and a communication path failure and a power failure occur. However, after the reset, the remote downloader can be started, and the remote download function can always be secured. In addition, the method can be easily implemented without requiring any special device (memory or the like) other than the flash ROM.
[0098]
(Embodiment 2)
FIG. 14 is a block diagram showing a configuration of a remote downloader according to Embodiment 2 of the present invention. The remote downloader 100B according to the present embodiment includes the same configuration as the remote downloader 100A according to the first embodiment, and further includes an FDP program failure detection unit 400. The FDP program failure detection means 400 detects a processing abnormality such as a software failure in the remote download processing by the FDP, requests the startup plane determination information management section 130 to control the startup plane determination information, and causes the reset waiting section 180 to wait for a reset. Request.
[0099]
In addition to the processing described in the first embodiment, the startup plane information management unit 130 determines that the current startup plane is not determined to be the next startup plane by the control request of the startup plane determination information from the FDP program failure detection unit 400. Rewrite the startup plane determination information of the startup plane. The reset waiting unit 180 continues to wait for a reset in response to a request from the FDP program failure detection unit 400 in addition to the processing described in the first embodiment.
[0100]
The operation of the remote downloader 100B thus configured will be described with reference to FIGS.
First, the activation plane determination information 112 will be described in detail with reference to FIGS.
[0101]
FIG. 20 is a diagram illustrating a startup plane determination method when an FDP processing abnormality occurs in the quasi-normal case. The reverse of the flag states of the A-side and B-side of the item No. 1 corresponds to the item No. 2. Item 3 shows a case where the FDP processing becomes abnormal for the first time after the flash ROM version upgrade is completed after the initial system startup. When the activation plane determination information_1 of one surface is abnormal in the FDP processing, the other surface is determined to be the activation surface. However, when the system is initially started (the other surface is writing to the flash ROM), there is no startup surface and the ALM waits for reset. As the control, when the software detects an abnormality in the FDP processing such as a CPU exception, the activation plane determination information_1 of the activation plane is all set to “0” (FDP processing abnormality) by the software, and the LM waits for reset.
[0102]
FIG. 19 is a diagram showing a startup plane determination method at the time of initial system startup in a normal case.
If the start-up surface determination information_2 for both surfaces is during flash ROM writing, it is determined that the system has been initially started, and the surface A is fixed and determined to be the start-up surface. When the system is initially started, the start-up surface determination information for the side A and the side B is in a flash ROM erased state, that is, all are set to “1”. The FDP is stored on the A side using ICE or the like, and the FDP is not stored on the B side.
[0103]
FIG. 21 is a diagram showing a start-up surface determination method in the case of a double failure in which the FDP processing abnormality occurs in combination with flash ROM erasing or flash ROM writing in the quasi-normal case. Inverting the flag states of the A-side and B-side of the item numbers 1 to 3 correspond to the item numbers 4 to 6. Item 7 shows a case in which a double failure occurs before the flash ROM version upgrade is completed for the first time after the initial system startup.
[0104]
The activation surface determination information_1 of one surface is FDP processing abnormal, the activation surface determination information_2 is flash ROM erase or flash ROM writing, and the activation surface determination information_1 of the other surface is FDP processing normal, activation surface determination information. Only when _2 indicates that the flash ROM version has been upgraded, the other surface is determined to be the activation surface. If the startup plane determination information_1 for both faces is abnormal in the FDP process, or if the startup face determination information_2 is during flash ROM erase or flash ROM write, it is determined that there is no startup face and the ALM waits for reset.
[0105]
The state during the double-sided flash ROM writing of the A-side FDP processing abnormality in item No. 7 in FIG. 21 is the same as the system initial start-up state in item No. 3 in FIG. So there is no problem.
[0106]
The flag state and the flag state transition of the activation plane determination information will be described with reference to FIGS.
FIG. 22 and FIG. 23 are diagrams showing the flag states of the startup plane determination information. For the status of the normal case, enclose the status number in “□”.
The total number of flag states that the activation plane determination information can take is 52. As for the normal case, one at the initial startup of the system and six at the time of operation, a total of seven. For the genuine upper case, there are M, three at the initial startup of the system, and 42 at the time of operation, for a total of 45 cases.
[0107]
The state of item No. 1 in FIG. 19 corresponds to the state numbers 0-0 in FIG. The states of item numbers 1 to 6 in FIG. 12 correspond to the state numbers 2-0, 4-0, 6-0, 3-0, 5-0, and 1-0 in FIGS. 22 and 23, respectively. The other states in FIGS. 22 and 23 are the states of the pure normal case.
[0108]
24 and 25 show flag state transition diagrams of the activation plane determination information.
First, the flag state transition at the time of initial system startup will be described.
The flag state 0-0 is at the time of the initial startup of the system. After resetting, by starting the FDP version upgrade, the state transits to the flag state 0-1 indicating that the B-side flash ROM is being erased. When the flash ROM erase is completed, the state transits to the flag state 0-0 indicating that the B-side flash ROM is being written. When the flash ROM write is completed, the state transits to the flag state 1-0 indicating the completion of the flash ROM version upgrade.
[0109]
When the ALM processing due to a software failure or the like is performed in the flag states 0-0 and 0-1, the state transits to the flag states 0-0-1 and 0-1-1 indicating the A-plane FDP processing abnormality, respectively. In the flag states 0-0-1 and 0-1-1, even if a reset is performed after that, the ALM is performed without the activation surface.
[0110]
Next, the flag state transition during operation will be described.
The flag state 1-0 indicates a version upgrade completed state, and after resetting, the surface B is determined to be the activation surface by the activation surface determination processing. After the activation on the side B, the version upgrade on the side A is started, so that a transition is made to the flag state 1-1 indicating that the flash ROM on the side A is being erased. When the flash ROM erasing is completed, the state transits to the flag state 1-2 indicating that the flash ROM writing on the A side is being performed, and when the flash ROM writing is completed, the state transits to the flag state 2-0 indicating the completion of flash ROM version upgrade.
[0111]
In the flag state 1-0, when the ALM processing is performed due to a software failure or the like, a transition is made to the flag state 1-0-1 indicating a B-side FDP processing abnormality. In the flag state 1-0-1, if the reset is performed thereafter, the surface A is determined to be the activation surface by the activation surface determination processing. After the activation on the A side, the version upgrade of the B side is started, so that a transition is made to the flag state 1-0-2 indicating that the B side is being erased. When the flash ROM erase is completed, the state transits to the flag state 6-2 indicating that the B-side flash ROM is being written. When the flash ROM write is completed, the state transits to the flag state 1-0 indicating the completion of the flash ROM version upgrade.
[0112]
When the ALM processing due to the software failure or the like is performed in the flag states 1-1 and 1-2, the state transits to the flag states 1-1-1 and 1-2-1 indicating the FDP processing abnormality, respectively. In the flag states 1-1-1 and 1-2-1, the ALM is performed without the activation surface even if the reset is performed thereafter. The flag states 2-0, 3-0, 4-0, 5-0, and 6-0 are exactly the same as the state transition from the flag state 1-0.
[0113]
The flag state transition starts from 0-0, 1-0, and 2-0 through the transitional states 1-1 and 1-2 that the flash ROM version is being upgraded, unless the ALM processing is performed due to a software failure or the like. And so on, 3-0, 4-0, 5-0, 6-0, and again back to 1-0. The state of 0-0 does not change after the initial startup of the system.
[0114]
Subsequently, the operation of the remote download process will be described with reference to the flowcharts of FIGS.
First, the main flow will be described with reference to FIG. Steps 803, 810, 811 and 812 are subroutines and will be described separately as subflows.
[0115]
Steps 801 to 816 are the same as steps 701 to 716 in FIG. 2 showing the first embodiment. However, the method of determining the FDP activation plane in step 803 is different. The FDP activation plane determination_2 will be described with reference to the subflows of FIGS.
When a CPU exception occurs, in step 851, the FDP activation surface is determined. In step 852, “0” indicating the FDP processing abnormality is written in the activation plane determination information_1 of the FDP activation plane.
[0116]
Next, the FDP activation plane determination process_2, which is a subflow, will be described with reference to FIGS.
In step 1201, the activation plane is determined from the activation plane determination information_1 of the A and B planes. If the startup plane exists because the determination can be made normally, the determination result is as shown in step 1201-1-1 or step 1201-2-1. If the determination is normal but there is no activation surface, the determination result is as shown in step 1201-1-2 or step 1201-2-2, and the ALM process is performed. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0117]
In step 1202, the activation plane is determined from the activation plane determination information_2 of the A and B planes. If the determination is normal, the determination results are as shown in steps 1202-1 to 1202-8. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0118]
Note that the physical configuration is the same as in the first embodiment, and a description thereof will be omitted.
[0119]
As described above, according to the remote downloader 100B of the present embodiment, especially during the remote download processing of the FDP itself, the FDP appropriately controls the startup plane determination information, and the communication path as described in the first embodiment. The remote downloader can be started after reset even if a fault such as a program runaway occurs due to a fault of the running FDP itself, in addition to a fault or a power failure, and the remote download function can always be secured. . Further, the realization method can be easily implemented without requiring any special device (memory or the like) other than the flash ROM as in the first embodiment.
[0120]
(Embodiment 3)
FIG. 26 is a block diagram showing a configuration of a remote downloader according to Embodiment 3 of the present invention. The remote downloader 100C according to the present embodiment has the same configuration as the remote downloader 100B according to the second embodiment, and further includes an upgrade determination information management unit 500, and stores the upgrade determination information in the RAM 103. .
[0121]
The version upgrade determination information management unit 500 controls the version upgrade determination information in response to the control request of the version upgrade determination information from the boot unit 120, the FDP startup plane determination unit 121, and the firmware version management unit 140. The version upgrade determination information is reported in response to the version upgrade determination information report request. The boot unit 120 requests the version upgrade determination information management unit 500 to initialize the version upgrade determination information, in addition to the processing described in the first embodiment.
[0122]
In addition to the processing described in the first embodiment, the FDP activation surface determination unit 121 determines the activation surface of the FDP, and reports the determination result to the version upgrade determination information management unit 500 if the determination is successful. In addition to the processing described in the first embodiment, the firmware version upgrade management means 140 determines the determination result of the necessity of version upgrade of the FDP in the firmware and the determination result of the necessity of version upgrade of the control software in the firmware. This is reported to the version upgrade determination information management means 500. Then, after the control software is started, if it is determined by the report from the version upgrade determination information management unit 500 that the FDP process requires the upgrade of the FDP, the firmware upgrade unit 150 requests the firmware upgrade unit 150 to upgrade the FDP. Similarly, if it is determined in the FDP process that the control software needs to be upgraded, the firmware upgrade unit 150 is requested to upgrade the control software, and the necessity of upgrading the FDP or the control software is determined normally. If not, it requests the reset waiting means 180 to wait for a reset.
[0123]
The operation of the remote downloader 100C thus configured will be described with reference to FIGS.
[0124]
First, the upgrade determination information 501 will be described in detail with reference to FIGS.
The upgrade determination information 501 is information related to the upgrade, and is stored on the RAM 103. FIG. 36 and FIG. 37 are bitmaps of the version upgrade determination information 501. The version upgrade determination information 501 is composed of four pieces of information: a version upgrade determination implementation / not-performed flag, an FDP version upgrade determination flag, a control software version upgrade determination flag, and an FDP activation plane determination result flag.
[0125]
The upgrade determination execution / non-execution flag is used when performing an autonomous restart by branching the upgraded FDP described in the fourth embodiment, and determines whether the FDP itself is an initial startup process or an autonomous restart process. Used to identify
[0126]
The FDP version upgrade determination flag is used when executing the delayed flash ROM rewriting of the FDP of the firmware, and is performed by the control software processing after the transition of the operation state to the version of the FDP to be upgraded (saved on the temporary storage surface). It is used to determine whether to perform flash ROM writing. The control software version upgrade determination flag is used when performing delay flash ROM rewriting of the control software in the firmware, and in the control software process after the operation state transition, the version of the upgrade target (saved in the temporary storage surface) It is used to determine whether to write flash ROM of control software. The FDP start-up surface determination result flag is used to determine the version upgrade target surface (the next surface after the start surface is the version upgrade target surface).
[0127]
FIG. 38 is a diagram showing a version upgrade determination method.
If the FDP start-up surface determination result flag indicates the start-up surface A (surface B), the upgrade target surface is determined to be surface B (surface A). As the control, after the reset, the starting plane is determined according to the starting plane determination method, and the determination result is set in the FDP startup plane determination result flag.
[0128]
When the version upgrade determination execution / non-execution flag indicates that the version upgrade determination has not been performed, it is determined that it is an initial startup after reset. At the time of initial startup, a version upgrade determination process is performed by FDP. Conversely, when the version upgrade determination / not-performed flag indicates that version upgrade determination has been performed, it is determined that autonomous restart due to branching has occurred. At the time of the autonomous restart due to the branch, the version upgrade determination processing is already performed by the FDP, so that it is not performed. The autonomous restart due to the PDP branch will be described in a fourth embodiment.
[0129]
As the control, after performing the version upgrade determination process, the version upgrade determination implementation / non-implementation flag is set to the version upgrade determination implementation. Also, at the time of initial startup, the version upgrade determination execution / non-execution flag is initialized to the version upgrade determination not implemented.
[0130]
When the FDP version upgrade determination flag indicates that the FDP version upgrade is necessary, it is determined that the FDP flash ROM writing process by the control software is necessary after the operation state transition. As the control, after performing the version upgrade determination in the FDP process, the result of the FDP version upgrade determination is set in the FDP version determination flag.
[0131]
If the control software version upgrade determination flag indicates that the control software version needs to be upgraded, it is determined that the control software needs to write the control software to the flash ROM after the operation state transition. As the control, after performing the version upgrade determination in the FDP process, the control software version upgrade determination result is set in the control software version determination flag.
[0132]
Subsequently, the operation of the remote download process will be described with reference to the flowcharts of FIGS.
[0133]
First, the main flow will be described with reference to FIGS. Steps 902, 903, 909, 910, 914, and 916 are subroutines, and will be separately described as subflows.
[0134]
Step 901 is the same as step 701 of FIG. 2 showing the first embodiment. In step 902, the version upgrade determination information 501 is initialized. Next, in step 903, the start plane of the FDP is determined from the start plane determination information, and the determination result is stored in the version upgrade determination information 501. Steps 904 to 908 are the same as steps 703 to 708 in FIG. 2 showing the first embodiment.
[0135]
In step 909, the necessity of upgrading the FDP in the firmware is determined based on the FDP individual version information and the FDP individual version information in the downloaded firmware, and the determination result is stored in the upgrade determination information 501. The necessity of upgrading the software is determined by a method similar to that of the FDP, and the determination result is stored in the upgrade determination information 501.
[0136]
In step 910, when it is determined from the version upgrade determination information 501 that the control software needs to be upgraded, step 910-1 is performed, and when it is determined that the control software is not required, step 910-2 is performed. In step 910-1, the control software activation surface is set as the primary storage surface on the RAM. In step 910-2, the control software activation surface is set to the control software surface on the flash ROM.
[0137]
Steps 911 to 912 are the same as steps 715 to 716 in FIG. 2 showing the first embodiment. After starting the control software, in step 914, the version upgrade determination information is referred to, and if it is determined in the FDP process that the FDP version needs to be upgraded, step 915 is performed. If the necessity of the FDP version upgrade is not normally determined with reference to the version upgrade determination information, a reset wait is performed.
[0138]
In step 915, the FDP is upgraded (stored in the flash ROM), and the startup plane determination information and the version information are updated with the version upgrade. Similarly, in step 916, referring to the version upgrade determination information, if it is determined in the FDP process that the control software needs to be upgraded, step 917 is performed. If the necessity of the version upgrade of the control software is not normally determined with reference to the version upgrade determination information, a reset wait is performed.
[0139]
In step 917, the control software is upgraded (stored in the flash ROM), and the version information is updated with the version upgrade. Step 918 is the same as step 714 of FIG. 2 showing the first embodiment. When a CPU exception occurs, in step 951, the FDP activation plane is determined as in step 951-1 or step 951-2 with reference to the upgrade determination information. Step 952 is the same as step 852 of FIG. 16 showing the second embodiment.
[0140]
Next, the FDP activation plane determination process_3, which is a subflow, will be described with reference to FIGS.
In step 1301, the activation plane is determined based on the activation plane determination information_1 of the A and B planes. If the activation plane exists because the determination can be made normally, the determination result is as shown in step 1301-1-1 or step 1301-2-1. In step 1301-1-1-1 and step 1301-2-1-1, the determination result is written in the upgrade determination information. If the determination is normal but there is no activation surface, the determination result is as shown in step 1301-1-2 or step 1301-2-2, and the ALM process is performed. If the determination is not normal, it is determined that the flag is abnormal, and the ALM process is performed.
[0141]
In step 1302, the activation plane is determined from the activation plane determination information_2 on the A and B sides. If the determination is normal, the determination result is as shown in steps 1302-1 to 1302-8. In Steps 1302-1-1 to 1302-8-1, the determination result is written to the upgrade determination information. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0142]
Next, the sub-flow FDP version upgrade determination_2 will be described with reference to FIG.
In step 1601, the necessity of upgrading the FDP is determined based on the upgrade determination information. If the determination is normal, the determination result is as shown in step 1601-1 or step 1601-2. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0143]
Next, the control software version upgrade determination_2, which is a subflow, will be described with reference to FIG.
In step 1801, the necessity of upgrading the control software is determined based on the upgrade determination information. If the determination is normal, the determination result is as in step 1801-1 or step 1801-2. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0144]
Next, with reference to FIG. 33, a description will be given of initialization of version upgrade determination information, which is a subflow. In step 2001, an initial value is written in the version upgrade determination information.
[0145]
Next, referring to FIG. 34, a description will be given of the sub-flow determination of the individual program upgrade in the firmware.
In step 2101, the individual version upgrade of the program in the firmware is performed based on the FDP individual version information and the control software individual version information. Specifically, the determination is made based on the FDP or control software individual version information managed by the remote downloader and the FDP or control software individual version information in the downloaded firmware.
[0146]
The result of the determination is as shown in Steps 2101-1 to 2101-4. In steps 2101-1-1 to 2101-4-1, the determination result is written to the upgrade determination information.
[0147]
Finally, the operation of the remote download process will be described with reference to the physical configuration diagram of FIG. Basically, it is almost the same as Embodiment 1, except that there are a plurality of expansion sources of the control software 2420_D.
[0148]
Instead of upgrading the control software 2420_K remotely downloaded from the higher-level device 101 to the firmware temporary storage area 2402 on the remote downloader 100C to the control software storage area 2404 on the flash ROM 102, the control software 2420_K is not developed on the control software operation area 2405. Then, the control software 2420_K in the firmware temporary storage area 2402 is directly developed in the control software operation area 2405. After the development, the control software 2420_K on the firmware temporary storage area 2402 is upgraded to the control software storage area 2404 on the flash ROM 102.
[0149]
As described above, according to the remote downloader 100C of the present embodiment, it is not necessary to perform the process of writing the firmware into the flash ROM at the time of booting, and after booting, the firmware does not affect the main control process. By executing the process of writing the firmware into the flash ROM as the priority process, the startup time until the start of the main control process can be significantly reduced. Further, as in the first and second embodiments, a method for realizing the method can be easily implemented without requiring any special device (memory or the like) other than the flash ROM.
[0150]
(Embodiment 4)
FIG. 39 is a block diagram showing a configuration of a remote downloader according to Embodiment 4 of the present invention. The remote downloader 100D according to the present embodiment includes the same configuration as the remote downloader 100C according to the third embodiment, and further includes an autonomous restarting unit 600. The autonomous restart means 600 executes the FDP autonomous restart processing when it is determined from the report from the firmware version upgrade management means 140 that the FDP in the firmware needs to be upgraded.
[0151]
The FDP start-up surface determination unit 121 performs the process described in the third embodiment, reports the start-up surface determination information from the start-up surface determination information management unit 130, and performs the version upgrade determination from the version upgrade determination information management unit 500. The start plane of FDP is determined from the information report. In addition to the processing described in the first embodiment, the FDP deployment unit 123, when reporting the deployment from the firmware primary storage area by the report of the FDP startup plane from the FDP startup plane determination unit 121, stores the firmware in the primary storage. Expand FDP on region.
[0152]
If the firmware version upgrade management means 140 determines from the version upgrade determination information from the version upgrade determination information management means 500 that it is not necessary to perform the firmware version upgrade determination, it is necessary to perform firmware download processing from the higher-level device 101 and upgrade the firmware version. If it is determined that the firmware version upgrade determination needs to be performed without performing the sex determination, and if it is determined that the FDP in the firmware needs to be upgraded after the firmware download, the autonomous restarting means 600 instructs the autonomous restart means 600 to autonomously restart the FDP. Request.
[0153]
The operation of the remote downloader 100 configured as described above will be described with reference to FIGS.
First, referring to FIGS. 46 and 47, the states and the state transitions of the version upgrade determination information 501 will be described.
FIG. 46 is a diagram showing a flag state of the version upgrade determination information. There are 11 possible flag states. The state of item number 1 in FIG. 38 corresponds to the state numbers 0-0 in FIG. The states of item numbers 2 to 6 in FIG. 38 correspond to the state numbers 1-0 to 2-4 in FIG.
[0154]
FIG. 47 is a flag state transition diagram of the version upgrade determination information.
After the reset, the version upgrade information is initialized and the state transits to the flag state 0. The activation plane determination process is performed in the flag state 0, the activation plane determination result is set in the version upgrade determination information, and the state transits to the flag state 1-0 or the flag state 2-0. Thereafter, a version upgrade determination process is performed, the version upgrade determination result is set in the version upgrade determination information, and any one of the flag states 1-0 to 1-1-4 or the flag state 2-0 is set. The state transits to any one of the flag states 2-0 to 2-4.
[0155]
Subsequently, the operation of the remote download process will be described with reference to the flowcharts of FIGS.
First, the main flow will be described with reference to FIG. Steps 1002, 1003, 1007, 1010, 1011, 1012, 1016, 1017, and 1018 are subroutines, and will be separately described as subflows.
[0156]
Steps 1001 to 1002 are the same as steps 901 to 902 of FIG. 27 showing the third embodiment. In step 1003, the startup plane of the FDP is determined from the startup plane determination information and the version upgrade determination information 501, and the determination result is stored in the version upgrade determination information 501. Steps 1004 to 1006 are the same as steps 704 to 706 in FIG. 2 showing the first embodiment. In step 1007, it is determined from the version upgrade determination information 501 whether or not it is necessary to perform the firmware version upgrade determination process.
[0157]
Steps 1008 to 1010 are the same as steps 907 to 909 in FIG. 27 showing the third embodiment. If it is determined in step 1011 that the FDP needs to be upgraded from the version upgrade determination information 501, the process returns to step 1003 (autonomous restart). If it is determined that it is unnecessary, step 1012 is performed. Steps 1012 to 1020 are the same as steps 910 to 918 in FIG. 27 showing the third embodiment. When a CPU exception occurs, steps 1051 to 1052 are the same as steps 951 to 952 in FIG. 28 showing the third embodiment.
[0158]
The FDP start-up surface determination process_4, which is a subflow, will be described with reference to FIGS.
In step 1401, a startup surface is determined based on the version upgrade determination information. If it can be determined normally and it is determined that it is activated from the temporary storage surface, the process proceeds to step 1401-1. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0159]
In step 1402, the starting plane is determined from the starting plane determination information_1 of the A and B planes. If the activation plane exists because it can be determined normally, the determination result is as shown in step 1402-1-1 or step 1402-2-1. In step 1402-1-1-1 and step 1402-2-1-1, the determination result is written in the upgrade determination information. If the determination is normal but there is no activation surface, the determination result is as shown in step 1402-1-2 or step 1402-2-2, and the ALM process is performed.
[0160]
If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed. In step 1403, the starting plane is determined from the starting plane determination information_2 of the A and B planes. If the determination is normal, the determination result is as shown in steps 1403-1 to 1403-8. In step 1403-1-1 to step 1403-8-1, the determination result is written to the upgrade determination information. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0161]
With reference to FIG. 44, a description will be given of the sub flow, ie, the determination of the execution of the firmware version upgrade determination processing.
[0162]
In step 2201, the necessity of performing the firmware version upgrade determination process is determined from the version upgrade determination information. If the determination is normal, the determination result is as shown in step 2201-1 or step 2201-2. If the determination is not normal, it is determined that the flag is abnormal and the ALM process is performed.
[0163]
Finally, the operation of the remote download process will be described with reference to the physical configuration diagram of FIG. Basically, it is almost the same as the third embodiment, except that the firmware temporary storage area 2402 is added to the expansion source of the FDP 113_D.
[0164]
The version of the FDP 113_K remotely downloaded from the higher-level device 101 to the firmware temporary storage area 2402 on the remote downloader 100D is upgraded to the FDP storage area 110 or 111 on the flash ROM 102, and is expanded in the FDP operation area 2403 at the next startup after reset. Instead, the FDP 113_K on the firmware temporary storage area 2402 is directly expanded into the FDP operation area 2403, and branches to the entry point of the FDP 113_D on the FDP operation area 2403 without resetting. After the control software is started, the FDP 113_K on the firmware temporary storage area 2402 is upgraded to the FDP storage area 110 or 111 on the flash ROM 102.
[0165]
As described above, according to the remote downloader 100D of the present embodiment, after upgrading the FDP, it is possible to autonomously restart the upgraded FDP without performing a reset process. In addition, as in the first to third embodiments, a method for realizing the method can be easily implemented without requiring a special device (a memory or the like) other than the flash ROM.
[0166]
【The invention's effect】
According to the present invention, the firmware for controlling the electronic device is divided into two parts, a remote download program for performing remote download and a main control program for controlling the electronic device, and the remote download is performed independently of each other. Only the remote downloader manages the two sides on the flash ROM, and the control software performs one-side management, and the two-side management method can be realized with the flash ROM capacity kept to a minimum.
[0167]
Further, according to the present invention, the remote downloader appropriately controls the startup plane determination information particularly during the remote download process of the remote downloader itself. Therefore, even if a communication path failure or a power supply failure occurs, the target system is reset. It is bootable and can always secure remote downloads.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a remote downloader according to Embodiment 1 of the present invention.
FIG. 2 is a flowchart for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 3 is a flowchart for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 4 is a flowchart for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 5 is a flowchart for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 6 is a flowchart for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 7 is a flowchart for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 8 is a physical configuration diagram for explaining an operation of the remote downloader according to the first embodiment of the present invention.
FIG. 9 is an activation plane determination information bitmap diagram for explaining an operation of the remote downloader according to the first embodiment of the present invention.
FIG. 10 is an activation plane determination information bitmap diagram for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 11 is a diagram showing an example of control of activation plane determination information_2 for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 12 is a view showing a start-up surface determination method for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 13 is a view showing a startup plane determination method for explaining the operation of the remote downloader according to the first embodiment of the present invention.
FIG. 14 is a block diagram showing a configuration of a remote downloader according to Embodiment 2 of the present invention.
FIG. 15 is a flowchart for explaining the operation of the remote downloader according to the second embodiment of the present invention.
FIG. 16 is a flowchart for explaining the operation of the remote downloader according to the second embodiment of the present invention.
FIG. 17 is a flowchart for explaining the operation of the remote downloader according to the second embodiment of the present invention.
FIG. 18 is a flowchart for explaining the operation of the remote downloader according to the second embodiment of the present invention.
FIG. 19 is a diagram showing a startup plane determination method for explaining an operation of the remote downloader according to the second embodiment of the present invention.
FIG. 20 is a diagram showing a startup plane determination method for explaining the operation of the remote downloader according to the second embodiment of the present invention.
FIG. 21 is a diagram showing a starting surface determination method for explaining an operation of the remote downloader according to the second embodiment of the present invention.
FIG. 22 is a diagram showing an activation plane determination information state definition for describing an operation of the remote downloader according to the second embodiment of the present invention.
FIG. 23 is a view showing a state definition of startup plane determination information for explaining an operation of the remote downloader according to the second embodiment of the present invention.
FIG. 24 is a state transition diagram of activation plane determination information for describing an operation of the remote downloader according to the second embodiment of the present invention.
FIG. 25 is a state transition diagram of activation plane determination information for describing the operation of the remote downloader according to the second embodiment of the present invention.
FIG. 26 is a block diagram showing a configuration of a remote downloader according to Embodiment 3 of the present invention.
FIG. 27 is a flowchart for explaining the operation of the remote downloader according to Embodiment 3 of the present invention.
FIG. 28 is a flowchart for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 29 is a flowchart for explaining the operation of the remote downloader according to Embodiment 3 of the present invention.
FIG. 30 is a flowchart for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 31 is a flowchart for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 32 is a flowchart for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 33 is a flowchart for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 34 is a flowchart for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 35 is a physical configuration diagram for explaining an operation of the remote downloader according to the third embodiment of the present invention.
FIG. 36 is a version upgrade determination information bitmap diagram for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 37 is a version upgrade determination information bitmap diagram for explaining the operation of the remote downloader according to the third embodiment of the present invention.
FIG. 38 is a diagram showing a version upgrade determination method for describing an operation of the remote downloader according to the third embodiment of the present invention.
FIG. 39 is a block diagram showing a configuration of a remote downloader according to Embodiment 4 of the present invention.
FIG. 40 is a flowchart for explaining the operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 41 is a flowchart for explaining the operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 42 is a flowchart for explaining the operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 43 is a flowchart for explaining the operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 44 is a flowchart for explaining the operation of the remote downloader according to Embodiment 4 of the present invention.
FIG. 45 is a physical configuration diagram for explaining an operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 46 is a view showing a version upgrade determination information state definition for explaining an operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 47 is a state transition diagram of version upgrade determination information for describing an operation of the remote downloader according to the fourth embodiment of the present invention.
FIG. 48 is a block diagram showing a configuration of a target system and a host device using the remote downloader according to the embodiment of the present invention.
FIG. 49 is a remote download sequence diagram between a target system and a host device using the remote downloader according to the embodiment of the present invention.
FIG. 50 is a configuration diagram of firmware version information of the remote downloader according to the embodiment of the present invention.
[Explanation of symbols]
100A-100D remote downloader
101 Host device
102 Flash ROM
103 RAM
110, 111 FDP storage area
113 FDP
120 Boot means
121 FDP activation surface determination means
123 FDP expansion means
130 activation surface determination information management means
131 Version information management means
140 Firmware version upgrade management means
150 Firmware version upgrade
160 Firmware Download Method
161 upper device communication means
170 Control software deployment means
180 Reset waiting means
200 communication channel
201 CPU
202 Upper device controller
400 Remote downloader failure detection means
500 Version upgrade judgment information management means
600 Autonomous restart means

Claims (23)

自身をリモートダウンロードする機能を有する電子機器を制御するプログラムを、リモートダウンロードを実施するリモートダウンロードプログラムと前記電子機器を制御するメインとなる制御プログラムの2つに分割し、それぞれ独立してリモートダウンロードすることを特徴とするリモートダウンローダ。A program for controlling an electronic device having a function of remotely downloading itself is divided into a remote download program for performing remote download and a main control program for controlling the electronic device, and the remote download is performed independently of each other. A remote downloader characterized in that: フラッシュROMに前記リモートダウンロードプログラムを格納するA面及びB面の2つのリモートダウンローダ格納領域が設定されるとともに、それぞれの面のリモートダウンローダ格納領域内に、起動するリモートダウンローダの起動面に関する情報を格納する起動面判定情報が設定され、それぞれのリモートダウンローダ格納領域内の起動面判定情報のみにより起動面を判定することを特徴とする請求項1に記載のリモートダウンローダ。Two remote downloader storage areas, A-side and B-side, for storing the remote download program are set in the flash ROM, and information relating to the starting surface of the remote downloader to be started is stored in the remote downloader storage area on each side. 2. The remote downloader according to claim 1, wherein startup surface determination information to be executed is set, and the startup surface is determined only by the startup surface determination information in each remote downloader storage area. RAMにバージョンアップ判定に関する情報を格納するバージョンアップ判定情報が設定され、前記2つのリモートダウンローダ格納領域内の起動面判定情報に加えて、前記バージョンアップ判定情報により起動面を判定することを特徴とする請求項2に記載のリモートダウンローダ。Version upgrade determination information for storing information related to version upgrade determination is set in a RAM, and a startup plane is determined based on the version upgrade determination information in addition to the startup plane determination information in the two remote downloader storage areas. The remote downloader according to claim 2, wherein 前記リモートダウンロードプログラムを前記フラッシュROMから前記RAMへ展開するために最低限必要なブート処理とその他残りのブート処理を実施するブート手段と、
起動面判定情報よりリモートダウンローダの起動面を判定するリモートダウンローダ起動面判定手段と、
前記リモートダウンローダ起動面判定手段からの要求により、リセットされるのを待ち続けるリセット待ち手段と、
リモートダウンローダ起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐するリモートダウンローダ展開手段と、
起動面判定情報の報告及びバージョンアップに伴う起動面判定情報の更新を行う起動面判定情報管理手段と、
バージョン情報の報告及びバージョン情報の更新を行うバージョン情報管理手段と、
ダウンロードされたファームウェアを前記フラッシュROMに格納し、前記起動面判定情報管理手段にバージョンアップに伴う起動面判定情報の更新を指示し、前記バージョン情報管理手段にバージョンアップに伴うバージョン情報の更新を指示するファームウェアバージョンアップ手段と、
ファームウェアのバージョンアップを管理するファームウェアバージョンアップ管理手段と、
前記ファームウェアバージョンアップ管理手段からの指示により上位装置からファームウェアをダウンロードするファームウェアダウンロード手段と、
前記ファームウェアバージョンアップ管理手段からの指示により、指示された制御ソフト起動面から制御プログラムを前記RAM上に展開し、制御プログラムのエントリポイントに分岐する制御ソフト展開手段とを具備し、
前記リモートダウンローダ起動面判定手段は、前記ブート手段にて最低限必要なブート処理が行われた後、前記起動面判定情報管理手段からの起動面判定情報の報告よりリモートダウンローダの起動面を判定し、正常に判定できた場合は判定結果を前記リモートダウンローダ展開手段に報告し、正常に判定できなかった場合は前記リセット待ち手段にリセット待ちを要求し、
前記起動面情報判定管理手段は、前記リモートダウンローダ起動面判定手段からの要求により起動面判定情報を報告し、前記ファームウェアバージョンアップ手段からの指示により、バージョンアップに伴う起動面判定情報の更新を実施し、
前記バージョン情報管理手段は、前記ファームウェアバージョンアップ管理手段からのバージョン情報報告要求によりバージョン情報を報告するとともに前記ファームウェアバージョンアップ手段からの要求によりバージョン情報を更新し、
前記ファームウェアバージョンアップ管理手段は、前記バージョン情報管理手段から報告されたファームウェアのファームウェアバージョン情報を前記上位装置に報告し、前記上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、前記上位装置より必要との指示を受けた場合はファームウェアダウンロード手段を経由してファームウェアダウンロードを実施し、ファームウェアダウンロード直後にファームウェアダウンロード処理の合否を判断し、失敗と判断した場合はバージョンアップ処理を中止して前記制御ソフト展開手段に制御プログラムの展開を要求し、ファームウェア内リモートダウンローダのバージョンアップの必要性については前記バージョン情報管理手段から報告されたリモートダウンローダのリモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定し、必要と判定した場合は前記ファームウェアバージョンアップ手段にリモートダウンローダのバージョンアップを要求し、同様にファームウェア内の制御プログラムのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、必要と判定した場合は前記ファームウェアバージョンアップ手段に制御プログラムのバージョンアップを要求し、前記上位装置にバージョンアップ結果を報告し、前記制御ソフト展開手段に制御ソフトの展開を要求し、
前記ファームウェアバージョンアップ手段は、前記ファームウェアバージョンアップ管理手段からの指示により、ダウンロードしたファームウェアを前記フラッシュROMに格納し、前記起動面判定情報管理手段にバージョンアップに伴う起動面判定情報の更新を指示し、前記バージョン情報管理手段にバージョンアップに伴うバージョン情報の更新を指示する、
ことを特徴とする請求項3に記載のリモートダウンローダ。
Boot means for performing minimum boot processing and other remaining boot processing for expanding the remote download program from the flash ROM to the RAM;
Remote downloader start-up surface determining means for determining the start-up surface of the remote downloader from the start-up surface determination information;
A reset waiting unit that waits for a reset by a request from the remote downloader activation surface determination unit;
A remote downloader deployment unit that deploys the remote downloader from the remote downloader launch surface and branches to an entry point of the deployed remote downloader;
A boot surface determination information management unit that reports the boot surface determination information and updates the boot surface determination information with the version upgrade;
Version information management means for reporting version information and updating version information;
Storing the downloaded firmware in the flash ROM, instructing the boot surface determination information management means to update the boot surface determination information with the version upgrade, and instructing the version information management means to update the version information with the version upgrade Firmware version upgrade means,
Firmware version upgrade management means for managing firmware version upgrades;
Firmware download means for downloading firmware from a higher-level device according to an instruction from the firmware version upgrade management means;
Control software development means for developing a control program on the RAM from the designated control software activation surface in accordance with an instruction from the firmware version upgrade management means, and branching to an entry point of the control program;
The remote downloader start-up surface determination unit determines the start-up surface of the remote downloader from the report of the start-up surface determination information from the start-up surface determination information management unit after a minimum necessary boot process is performed by the boot unit. If it can be determined normally, the determination result is reported to the remote downloader deploying means, and if it cannot be determined normally, a reset wait is requested to the reset waiting means,
The boot surface information determination management unit reports the boot surface determination information in response to a request from the remote downloader boot surface determination unit, and updates the boot surface determination information accompanying the version upgrade according to an instruction from the firmware version upgrade unit. And
The version information management means reports version information according to a version information report request from the firmware version upgrade management means, and updates the version information according to a request from the firmware version upgrade means.
The firmware version upgrade management unit reports firmware version information of the firmware reported from the version information management unit to the host device, inquires of the host device about the necessity of firmware version upgrade, and When the instruction is received, the firmware download is performed via the firmware download means. Immediately after the firmware download, the pass / fail of the firmware download process is determined. A request is made to the expanding means to expand the control program, and the necessity of upgrading the version of the remote downloader in the firmware is confirmed by the remote downloader reported by the version information managing means. Judgment is made based on the downloader individual version information and the remote downloader individual version information in the downloaded firmware, and when it is judged that it is necessary, the firmware version upgrade means is requested to upgrade the remote downloader. Is determined in the same manner as the remote downloader, and if determined to be necessary, the firmware upgrade means is requested to upgrade the control program, the upgrade result is reported to the host device, and the control software deployment is performed. Requesting means to deploy control software,
The firmware version upgrade unit stores the downloaded firmware in the flash ROM in accordance with an instruction from the firmware version upgrade management unit, and instructs the startup plane determination information management unit to update the startup plane determination information accompanying the version upgrade. Instructing the version information management means to update the version information according to the version upgrade;
The remote downloader according to claim 3, wherein:
前記起動面判定情報管理手段は、リモートダウンローダのバージョンアップを実施するフラッシュROM上のリモートダウンローダ格納領域のバージョンアップ対象面を起動面の次の面であるA面に対してはB面又はB面に対してはA面として管理し、リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズ及びリモートダウンローダの書込を完了した際に現在の起動面の起動面判定情報を参照し、現在のバージョンアップ対象面が次回起動時の起動面と判定されるように現在のバージョンアップ対象面の起動面判定情報を書き換えることを特徴とする請求項4に記載のリモートダウンローダ。The start-up surface determination information management means sets the upgrade target surface of the remote downloader storage area on the flash ROM for upgrading the remote downloader to the B-side or the B-side for the A-side, which is the next surface after the start-up surface. Is managed as the A side, and when the erasure of the version upgrade target side and the writing of the remote downloader are completed with the remote downloader version upgrade, the activation version determination information of the current activation side is referred to, and the current version is checked. The remote downloader according to claim 4, wherein the activation surface determination information of the current version upgrade target surface is rewritten so that the upgrade target surface is determined to be the next activation surface. 現在の起動面の起動面判定情報を参照し、現在のバージョンアップ対象面が次回起動時の起動面と判定されるように現在のバージョンアップ対象面の起動面判定情報を書き換える方法として「じゃんけん」論理を適用し、起動時の起動面判定においては「じゃんけん」に「勝った」方が起動面と判定されることとして、現在の起動面の起動面判定情報を「先出し」、現在のバージョンアップ対象面の起動面判定情報を「後出し」と例え、「先出し」の論理に対して「勝つ」ように「後出し」の論理を決定し、前記起動面判定情報管理手段は、現在のバージョンアップ対象面の起動面判定情報を書き換えることを特徴とする請求項5に記載のリモートダウンローダ。"Janken" is a method that refers to the activation surface determination information of the current activation surface and rewrites the activation surface determination information of the current upgrade target surface so that the current upgrade target surface is determined as the activation surface for the next activation. Applying the logic, in the startup plane determination at startup, the one who wins "Janken" is determined as the startup plane, the startup plane determination information of the current startup plane is "first out", the current version is upgraded Comparing the activation plane determination information of the target plane with "late", the logic of "later" is determined so as to "win" the logic of "first advance", and the activation plane determination information management means determines the current version. The remote downloader according to claim 5, wherein the activation plane determination information of the plane to be uploaded is rewritten. 前記起動面判定情報管理手段は、リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズを実施する直前に、バージョンアップ対象面の起動面判定情報の全ビットを“0”に設定するを具備することを特徴とする請求項4から請求項6いずれかに記載のリモートダウンローダ。The activation plane determination information management means sets all bits of the activation plane determination information of the version upgrade target surface to “0” immediately before erasing the version upgrade target surface accompanying the remote downloader version upgrade. The remote downloader according to any one of claims 4 to 6, wherein: リモートダウンロード処理におけるソフトウェア不具合等の処理異常を検出し、前記起動面判定情報管理手段に起動面判定情報の制御を要求し、前記リセット待ち手段にリセット待ちを要求するリモートダウンローダプログラム障害検出手段を具備し、
前記起動面判定情報管理手段は、前記リモートダウンローダプログラム障害検出手段からの起動面判定情報の制御要求により、現起動面が次起動面と判定されないように現起動面の起動面判定情報を書き換え、
前記リモートダウンローダ起動面判定手段は、前記起動面判定情報管理手段から報告される、書き換えられた起動面判定情報より、前回起動した起動面を現在の起動面と判定しないことを特徴とする請求項4から請求項7いずれかに記載のリモートダウンローダ。
A remote downloader program failure detecting means for detecting a processing abnormality such as a software defect in the remote download processing, requesting the boot plane determination information managing means to control the boot plane determination information, and requesting the reset waiting means to wait for a reset; And
The startup plane determination information management means, by the control request of the startup plane determination information from the remote downloader program failure detection means, rewrite the startup plane determination information of the current startup plane so that the current startup plane is not determined as the next startup plane,
The remote downloader start-up surface determination unit does not determine a previously started up surface as a current start-up surface based on rewritten start-up surface determination information reported from the start-up surface determination information management unit. The remote downloader according to any one of claims 4 to 7.
前記リモートダウンローダ起動面判定手段は、システム初期立ち上げ時、A面であるリモートダウンローダ格納領域にリモートダウンローダが格納されていれば、当該リモートダウンローダ格納領域の起動面判定情報及びB面のリモートダウンローダ格納領域全体の全ビットが“1”であるフラッシュROMにおけるイレーズ完了状態であっても、その後のシステム運用における起動面の判定処理を正常に実施することを特徴とする請求項4から請求項8いずれかに記載のリモートダウンローダ。The remote downloader start-up surface judging means, at the time of initial system startup, if the remote downloader is stored in the remote downloader storage area that is the A-side, the start-up surface judgment information of the remote downloader storage area and the remote downloader storage of the B-side 9. The system according to claim 4, wherein, even when the erasure is completed in the flash ROM in which all the bits of the entire area are "1", the process of determining the startup surface in the subsequent system operation is performed normally. A remote downloader according to any of the above. 前記ブート手段及び前記リモートダウンローダ起動面判定手段及び前記ファームウェアバージョン管理手段からのバージョンアップ判定情報の制御要求によりバージョンアップ判定情報を制御し、前記ファームウェアバージョン管理手段からのバージョンアップ判定情報の報告要求に対してバージョンアップ判定情報を報告するバージョンアップ判定情報管理手段を具備し、
前記ブート手段は、リモートダウンロードプログラムを前記フラッシュROMから前記RAMへ展開するために最低限必要なブート処理と、その他残りのブート処理を実施し、バージョンアップ判定情報の初期化を前記バージョンアップ判定情報管理手段に要求し、
前記リモートダウンローダ起動面判定手段は、前記ブート手段による最低限必要なブート処理後、前記起動面判定情報管理手段からの起動面判定情報の報告よりリモートダウンローダの起動面を判定し、正常に判定できた場合はその判定結果を前記リモートダウンローダ展開手段と前記バージョンアップ判定情報管理手段に報告し、正常に判定できなかった場合は前記リセット待ち手段にリセット待ちを要求し、
前記ファームウェアバージョンアップ管理手段は、前記バージョン情報管理手段から報告されたファームウェアバージョン情報を前記上位装置に報告し、前記上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、前記上位装置より必要との指示を受けた場合は前記ファームウェアダウンロード手段を経由してファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否を確認し、失敗と判断された場合はバージョンアップ処理を中止し、前記制御ソフト展開手段に制御プログラムの展開を要求し、ファームウェア内リモートダウンローダのバージョンアップの必要性については前記バージョン情報管理手段から報告されたリモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定しその判定結果を前記バージョンアップ判定情報管理手段に報告し、同様にファームウェア内制御プログラムのバージョンアップの必要性をリモートダウンローダと同様の方法で判定しその判定結果を前記バージョンアップ判定情報管理手段に報告し、必要と判定された場合は前記制御ソフト展開手段にダウンロードしたファームウェアを一時的に格納しているRAM上の領域であるファームウェア一次格納領域からの制御プログラムの展開を要求し、不要と判定された場合は前記制御ソフト展開手段にフラッシュROM上の制御ソフト面からの制御プログラムの展開を要求し、制御ソフト起動後前記バージョンアップ判定情報管理手段からの報告により、リモートダウンローダ処理においてリモートダウンローダのバージョンアップ必要と判定されていた場合は前記ファームウェアバージョンアップ手段にリモートダウンローダのバージョンアップを要求し、同様にリモートダウンローダ処理において制御プログラムのバージョンアップ必要と判定されていた場合は前記ファームウェアバージョンアップ手段に制御プログラムのバージョンアップを要求し、正常にリモートダウンローダ又は制御プログラムのバージョンアップの必要性が判定されていなかった場合は前記リセット待ち手段にリセット待ちを要求し、前記上位装置にバージョンアップ結果を報告する、ことを特徴とする請求項4から請求項9いずれかに記載のリモートダウンローダ。
Controlling the upgrade determination information according to the control request of the upgrade determination information from the boot unit, the remote downloader activation surface determination unit and the firmware version management unit, and responding to the report request of the upgrade determination information from the firmware version management unit. Comprising version upgrade determination information management means for reporting version upgrade determination information to
The boot means performs a minimum boot process required for expanding the remote download program from the flash ROM to the RAM and other remaining boot processes, and initializes the version upgrade determination information to the version upgrade determination information. Request to management means,
The remote downloader start-up surface determination unit, after the minimum necessary boot processing by the boot unit, determines the start-up surface of the remote downloader from the report of the start-up surface determination information from the start-up surface determination information management unit, and can determine normally. If it has, the result of the determination is reported to the remote downloader deployment means and the version upgrade determination information management means.
The firmware version upgrade management unit reports the firmware version information reported from the version information management unit to the host device, inquires of the host device about the necessity of firmware upgrade, When the instruction is received, the firmware download is performed via the firmware download unit, and whether or not the firmware download process is successful is confirmed. When the firmware download process is determined to be unsuccessful, the version upgrade process is stopped, and control is performed by the control software deployment unit. Requesting the program development, the remote downloader individual version information reported by the version information management means and the downloaded firmware Of the remote downloader individual version information, report the determination result to the version upgrade determination information management means, similarly determine the necessity of version upgrade of the control program in the firmware in the same manner as the remote downloader, and determine the determination result. The control program is reported from the firmware primary storage area, which is an area on the RAM that temporarily stores the firmware downloaded to the control software expanding means when the firmware is reported to the version upgrade determination information management means and is determined to be necessary. Requesting the development, and when it is determined that it is not necessary, request the control software development means to develop the control program from the control software on the flash ROM, and, after the control software is started, by the report from the version upgrade determination information management means. For remote downloader processing If it is determined that the version of the remote downloader needs to be upgraded, the firmware version upgrade means is requested to upgrade the version of the remote downloader. Similarly, if it is determined in the remote downloader process that the version of the control program is required, the firmware is upgraded. Requesting the version upgrade means to upgrade the control program; if the necessity of version upgrade of the remote downloader or the control program has not been normally determined, a request is made to the reset waiting means to request a reset wait; 10. The remote downloader according to claim 4, wherein the remote downloader reports an upload result.
前記ファームウェアバージョンアップ管理手段からの報告によりファームウェア内リモートダウンローダのバージョンアップ必要と判定された場合、リモートダウンローダの自律再起動処理を行う自律再起動手段を具備し、
前記リモートダウンローダ起動面判定手段は、前記ブート手段による最低限必要なブート処理後、前記起動面判定情報管理手段からの起動面判定情報の報告と前記バージョンアップ判定情報管理手段からのバージョンアップ判定情報の報告よりリモートダウンローダの起動面を判定し、正常に判定できた場合はその判定結果を前記リモートダウンローダ展開手段と前記バージョンアップ判定情報管理手段に報告し、正常に判定できなかった場合は前記リセット待ち手段にリセット待ちを要求し、
前記リモートダウンローダ展開手段は、前記リモートダウンローダ起動面判定手段からのリモートダウンローダ起動面の報告よりファームウェア一次格納領域からの展開を報告された場合はファームウェア一次格納領域上のリモートダウンロードプログラムを展開し、フラッシュROM上のリモートダウンローダ格納領域からの展開を報告された場合は報告されたリモートダウンローダ格納領域の起動面からリモートダウンロードプログラムを展開し、展開したリモートダウンロードプログラムのエントリポイントに分岐し、
前記ファームウェアバージョンアップ管理手段は、前記バージョンアップ判定情報管理手段からのバージョンアップ判定情報よりファームウェアバージョンアップ判定実施不要と判定された場合は、前記上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施せず、ファームウェアバージョンアップ判定実施必要と判定された場合は、前記バージョン情報管理手段から報告されたファームウェアのバージョン情報を前記上位装置に報告し、前記上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、前記上位装置より必要との指示を受けた場合は、前記ファームウェアダウンロード手段を経由してファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否を確認し、失敗と判断した場合はバージョンアップ処理を中止し、前記制御ソフト展開手段に制御プログラムの展開を要求し、ファームウェア内リモートダウンローダのバージョンアップの必要性については、前記バージョン情報管理手段から報告されたリモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定し、その判定結果を前記バージョンアップ判定情報管理手段に報告し、必要と判定された場合は前記自律再起動手段にリモートダウンローダの自律再起動を要求し、同様にファームウェア内制御ソフトのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、その判定結果を前記バージョンアップ判定情報管理手段に報告し、必要と判定された場合は前記制御ソフト展開手段に前記RAM上の一次格納面からの制御プログラムの展開を要求し、不要と判定された場合は、前記制御ソフト展開手段に前記フラッシュROM上の制御ソフト面からの制御プログラムの展開を要求し、制御ソフト起動後、前記バージョンアップ判定情報管理手段からの報告によりリモートダウンローダ処理においてリモートダウンローダのバージョンアップ必要と判定されていた場合は、前記ファームウェアバージョンアップ手段にリモートダウンローダのバージョンアップを要求し、同様にリモートダウンローダ処理において制御プログラムのバージョンアップ必要と判定されていた場合は、前記ファームウェアバージョンアップ手段に制御プログラムのバージョンアップを要求し、正常にリモートダウンローダ又は制御プログラムのバージョンアップの必要性が判定されていなかった場合は、前記リセット待ち手段にリセット待ちを要求し、前記上位装置にバージョンアップ結果を報告する、ことを特徴とする請求項4から請求項10いずれかに記載のリモートダウンローダ。
If it is determined that the firmware version upgrade management means needs to upgrade the version of the remote downloader in the firmware based on the report from the firmware version upgrade management means,
The remote downloader start-up surface determination unit, after the minimum necessary boot processing by the boot unit, reports the start-up surface determination information from the start-up surface determination information management unit and the version upgrade determination information from the version upgrade determination information management unit. The start side of the remote downloader is determined from the report, and if the determination is successful, the determination result is reported to the remote downloader deployment means and the version upgrade determination information management means, and if the determination is not successful, the reset is performed. Request the waiting means to wait for reset,
The remote downloader developing means expands the remote download program in the firmware primary storage area when the development from the firmware primary storage area is reported from the report of the remote downloader activation plane from the remote downloader activation plane determination means, and flashes. When the report is issued from the remote downloader storage area on the ROM, the remote download program is developed from the start surface of the reported remote downloader storage area, and the program branches to the expanded remote download program entry point.
The firmware version upgrade management means, when it is determined from the version upgrade determination information from the version upgrade determination information management means that the firmware version upgrade determination is not required, it is necessary to perform a firmware download process from the higher-level device and a firmware version upgrade. If it is determined that the firmware version upgrade determination needs to be performed without performing the determination, the firmware version information reported from the version information management unit is reported to the higher-level device, and the firmware version upgrade is performed on the higher-level device. When the necessity is inquired and an instruction of necessity is received from the higher-level device, a firmware download is performed via the firmware download means, and a firmware download process is performed. The pass / fail is confirmed, and if it is determined to be unsuccessful, the version upgrade process is stopped, a request is made to deploy the control program to the control software deployment means, and the version information management From the remote downloader individual version information reported from the server and the remote downloader individual version information in the downloaded firmware, and reports the result of the determination to the version upgrade determination information management means. Requesting the autonomous restart of the remote downloader to the means, similarly determine the necessity of version upgrade of the control software in the firmware in the same manner as the remote downloader, and report the determination result to the version upgrade determination information management means, Must Is determined, the control software expanding means is requested to expand the control program from the primary storage surface on the RAM, and if it is determined that the control software expanding means is not necessary, the control software expanding means is notified to the control software expanding means on the flash ROM. Requesting the development of the control program from the side, and after starting the control software, if it is determined by the report from the version upgrade determination information management means that the remote downloader processing needs to be upgraded, the firmware version upgrade means Requesting a version upgrade of the remote downloader, and similarly, when it is determined in the remote downloader processing that the version upgrade of the control program is necessary, the firmware version upgrade means is requested to upgrade the version of the control program. 5. The method according to claim 4, wherein when the necessity of upgrading the version of the remote downloader or the control program is not determined, the reset waiting unit is requested to wait for a reset, and a result of the upgrade is reported to the host device. The remote downloader according to any one of claims 1 to 10.
前記起動面判定情報管理手段は、起動面判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理することを特徴とする請求項4から請求項11いずれかに記載のリモートダウンローダ。The remote downloader according to any one of claims 4 to 11, wherein the activation plane determination information management unit manages each information element of the activation plane determination information in a multi-bit configuration having redundant bits. 前記バージョンアップ判定情報管理手段は、バージョンアップ判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理することを特徴とする請求項10から請求項12いずれかに記載のリモートダウンローダ。13. The remote downloader according to claim 10, wherein the version upgrade determination information management unit manages each information element of the version upgrade determination information in a multi-bit configuration having redundant bits. 請求項1から請求項13いずれかに記載のリモートダウンローダを具備することを特徴とする基地局装置。A base station apparatus comprising the remote downloader according to any one of claims 1 to 13. リモートダウンローダをフラッシュROMからRAMへ展開するために最低限必要なブート処理を実施し、起動面判定情報よりリモートダウンローダの起動面を判定し、正常に判定できなかった場合はリセット待ちを行い、正常に判定できた場合は判定結果が示す起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐し、その他残りのブート処理を実施し、ファームウェアバージョン情報を上位装置に報告し、上位装置に対してファームウェアバージョンアップの必要性を問い合わせ、上位装置より必要との指示を受けた場合はファームウェアダウンロードを実施し、ファームウェアダウンロード処理の合否を確認し、失敗と判断された場合はバージョンアップ処理を中止して制御プログラムを展開し、ファームウェア内リモートダウンローダのバージョンアップの必要性については、リモートダウンローダ個別バージョン情報とダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報とより判定し、必要と判定された場合はリモートダウンローダのバージョンアップを実施し、バージョンアップに伴い起動面判定情報の更新及びバージョン情報の更新を行い、同様にファームウェア内制御プログラムのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、必要と判定された場合は制御プログラムのバージョンアップを実施し、バージョンアップに伴いバージョン情報の更新を行い、上位装置にファームウェアバージョンアップ結果を報告し、フラッシュROMから制御プログラムをRAM上に展開し、制御プログラムのエントリポイントに分岐する、ことを特徴とするリモートダウンロード方法。Performs the minimum boot process required to expand the remote downloader from the flash ROM to the RAM, determines the startup surface of the remote downloader from the startup surface determination information, and waits for a reset if it cannot be determined normally. If the determination is successful, the remote downloader is deployed from the boot surface indicated by the determination result, branching to the expanded remote downloader entry point is performed, the remaining boot processing is performed, and the firmware version information is reported to the higher-level device. Inquires about the necessity of upgrading the firmware to the device, downloads the firmware if an instruction from the host device indicates that it is necessary, checks whether the firmware download process was successful, and upgrades the firmware if it is determined to have failed Stop the control program Expand the firmware and determine the necessity of upgrading the remote downloader in the firmware based on the remote downloader individual version information and the remote downloader individual version information in the downloaded firmware.If it is determined that it is necessary, upgrade the remote downloader version. Execute, update the startup plane determination information and update the version information with the version upgrade, similarly determine the necessity of version upgrade of the control program in the firmware in the same way as the remote downloader, and determine that it is necessary Performs the version upgrade of the control program, updates the version information with the version upgrade, reports the result of the firmware version upgrade to the host device, and downloads the control program from the flash ROM. Spread on M, the process branches to entry point of the control program, remote downloading and wherein the. バージョンアップ対象面を起動面の次面として管理し、リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズ及びリモートダウンローダの書込を完了した際に現起動面の起動面判定情報を参照し、現バージョンアップ対象面が次起動面と判定されるように現バージョンアップ対象面の起動面判定情報を書き換えることを特徴とする請求項15に記載のリモートダウンロード方法。The upgrade target surface is managed as the next surface of the start surface, and when the erasure of the upgrade target surface and the writing of the remote downloader with the version upgrade of the remote downloader are completed, refer to the activation surface determination information of the current activation surface, 16. The remote download method according to claim 15, wherein the activation surface determination information of the current version upgrade target surface is rewritten so that the current version upgrade target surface is determined as the next activation surface. 現起動面の起動面判定情報を参照し、現バージョンアップ対象面が次起動面と判定されるように現バージョンアップ対象面の起動面判定情報を書き換える方法として「じゃんけん」論理を適用し、起動時の起動面判定においては「じゃんけん」に「勝った」方が起動面と判定されることとして、現起動面の起動面判定情報を「先出し」、現バージョンアップ対象面の起動面判定情報を「後出し」と例え、「先出し」の論理に対して「勝つ」ように「後出し」の論理を決定し、現バージョンアップ対象面の起動面判定情報を書き換える、ことを特徴とする請求項15に記載のリモートダウンロード方法。Refers to the activation surface determination information of the current activation surface, applies the `` rock-paper-scissors '' logic as a method of rewriting the activation surface determination information of the current upgrade target surface so that the current upgrade target surface is determined to be the next activation surface, and activates In the startup plane determination at the time, the one that "wins" over "Janken" is determined to be the startup plane, the startup plane determination information of the current startup plane is "first out", and the startup plane determination information of the current version upgrade target plane is Claim: wherein the logic of "late" is determined so as to "win" the logic of "first" with respect to the logic of "late", and the activation surface determination information of the current version upgrade target surface is rewritten. 15. The remote download method according to item 15. リモートダウンローダのバージョンアップに伴うバージョンアップ対象面のイレーズを実施する直前に、バージョンアップ対象面の起動面判定情報の全ビットを“0”に設定する、ことを特徴とする請求項15から請求項17いずれかに記載のリモートダウンロード方法。16. The system according to claim 15, wherein immediately before erasing of the version upgrade target surface accompanying the remote downloader version upgrade, all bits of the activation surface determination information of the version upgrade target surface are set to "0". 17. The remote download method according to any one of 17. リモートダウンローダによるリモートダウンロード処理においてソフトウェア不具合等の処理異常を検出した際、現起動面が次起動面と判定されないように現起動面の起動面判定情報を書き換え、リセット待ちを行い、リセットされ次回起動時には、前起動面で前回起動時に異常が検出された面を現起動面と判定しない、ことを特徴とする請求項15から請求項18いずれかに記載のリモートダウンロード方法。When a processing error such as a software failure is detected in the remote download processing by the remote downloader, the startup plane determination information of the current startup plane is rewritten so that the current startup plane is not determined to be the next startup plane, a reset wait is performed, and reset is performed next time. 19. The remote download method according to claim 15, wherein a surface in which an abnormality was detected at the previous activation in the previous activation surface is not determined as a current activation surface. システム初期立ち上げ時、一方の面であるリモートダウンローダ格納領域にリモートダウンローダが格納されていれば、当該リモートダウンローダ格納領域の起動面判定情報及び他方の面であるリモートダウンローダ格納領域全体の全ビットがフラッシュROMにおけるイレーズ完了状態を示す“1”であっても、その後のシステム運用における起動面の判定処理を正常に実施することができる、ことを特徴とする請求項15から請求項19いずれかに記載のリモートダウンロード方法。At the time of initial system startup, if the remote downloader is stored in the remote downloader storage area on one side, the activation plane determination information of the remote downloader storage area and all bits of the entire remote downloader storage area on the other side are stored. 20. The method according to claim 15, wherein even if the flash ROM has an erase completion state of "1", the start-up surface determination processing in the subsequent system operation can be normally performed. The remote download method described. リモートダウンローダをフラッシュROMからRAMへ展開するために最低限必要なブート処理後、バージョンアップ判定情報の初期化を実施し、起動面判定情報よりリモートダウンローダの起動面を判定し、正常に判定できた場合は判定結果が示す起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐すると共に、判定結果を先程初期化したバージョンアップ判定情報に格納し、ファームウェア内リモートダウンローダのバージョンアップの必要性については、リモートダウンローダ個別バージョン情報と、ダウンロードしたファームウェア内のリモートダウンローダ個別バージョン情報より判定し、判定結果をバージョンアップ判定情報に格納し、同様にファームウェア内制御ソフトのバージョンアップの必要性をリモートダウンローダと同様の方法で判定し、その判定結果をバージョンアップ判定情報に格納し、バージョンアップ判定情報より制御プログラムのバージョンアップが必要と判定された場合は、RAM上の一次格納面からの制御プログラムを展開し、不要と判定された場合は、フラッシュROM上の制御ソフト面からの制御プログラムを展開し、制御ソフト起動後、バージョンアップ判定情報を参照し、リモートダウンローダ処理においてリモートダウンローダのバージョンアップ必要と判定されていた場合は、リモートダウンローダのバージョンアップを実施し、バージョンアップに伴い起動面判定情報の更新及びバージョン情報の更新を行い、同様に、バージョンアップ判定情報を参照し、リモートダウンローダ処理において制御プログラムのバージョンアップ必要と判定されていた場合は、制御プログラムのバージョンアップを実施し、バージョンアップに伴いバージョン情報の更新を行い、更にバージョンアップ情報を参照し、正常にリモートダウンローダまたは制御プログラムのバージョンアップの必要性が判定されていなかった場合は、リセット待ちを行う、ことを特徴とする請求項15から請求項20いずれかに記載のリモートダウンロード方法。After the minimum boot process required to expand the remote downloader from the flash ROM to the RAM, initialization of the version upgrade determination information was performed, and the boot surface of the remote downloader was determined from the boot surface determination information, and the normal determination was possible. In this case, deploy the remote downloader from the startup surface indicated by the determination result, branch to the entry point of the deployed remote downloader, store the determination result in the version upgrade determination information initialized earlier, and update the version of the remote downloader in the firmware. The necessity is determined based on the remote downloader individual version information and the remote downloader individual version information in the downloaded firmware, and the determination result is stored in the version upgrade determination information. The necessity of version upgrade is determined in the same manner as that of the remote downloader, and the determination result is stored in the version upgrade determination information. The control program from the primary storage surface is expanded, and if it is determined that it is not necessary, the control program from the control software surface on the flash ROM is expanded. If it is determined that the remote downloader needs to be upgraded, the remote downloader is upgraded, the startup plane determination information and the version information are updated with the version upgrade, and the version upgrade determination information is similarly updated. Browse and download remote If it is determined in the download process that the control program needs to be upgraded, the control program is upgraded, the version information is updated along with the version upgrade, and the version download information is referred to. 21. The remote download method according to claim 15, wherein if it is not determined that the control program needs to be upgraded, a reset wait is performed. 最低限必要なブート処理後、起動面判定情報とバージョンアップ判定情報よりリモートダウンローダの起動面を判定し、正常に判定でき且つファームウェア一次格納領域からの起動と判定された場合はファームウェア一次格納領域上のリモートダウンローダを展開し、バージョンアップ判定情報より、ファームウェアバージョンアップ判定実施不要と判定された場合は上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施せず、ファームウェアバージョンアップ判定実施必要と判定された場合のみ上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施し、上位装置からのファームウェアダウンロード処理及びファームウェアバージョンアップの必要性判定を実施した場合でリモートダウンローダ個別バージョンアップが必要と判定された場合はリモートダウンローダの自律再起動を実施し、リモートダウンローダ個別バージョンアップが不要と判定された場合は引き続きリモートダウンローダと同様の方法でファームウェア内制御ソフトのバージョンアップの必要性判定を実施する、ことを特徴とする請求項15から請求項21いずれかに記載のリモートダウンロード方法。After the minimum necessary boot processing, the boot surface of the remote downloader is determined based on the boot surface determination information and the version upgrade determination information, and if it can be determined normally and the boot from the firmware primary storage area is determined, the firmware is stored on the primary storage area. If it is determined from the upgrade information that the firmware upgrade has not been performed, the firmware download process is not performed from the host device and the firmware upgrade necessity is not determined, and the firmware upgrade is determined. Only when it is determined that it is necessary, the firmware download processing from the higher-level device and the necessity of firmware version upgrade are performed, and the firmware download processing and the firmware version from the higher-level device are performed. If it is determined that remote downloader individual version upgrade is necessary, remote downloader autonomous restart is performed, and if remote downloader individual version upgrade is determined to be unnecessary, remote downloader continues. 22. The remote download method according to any one of claims 15 to 21, wherein the necessity determination of the version upgrade of the in-firmware control software is performed by the same method as described above. 起動面判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理し、同様にバージョンアップ判定情報の各情報要素を、冗長ビットを持った複数ビット構成で管理する、の両方またはいずれかを実施する、ことを特徴とする請求項15から請求項22いずれかに記載のリモートダウンロード方法。Each information element of the activation plane determination information is managed in a multiple bit configuration having redundant bits, and similarly, each information element of the upgrade determination information is managed in a multiple bit configuration having redundant bits. 23. The remote download method according to claim 15, wherein the method is performed.
JP2002266793A 2002-09-12 2002-09-12 Remote downloader and remote download method Withdrawn JP2004102893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002266793A JP2004102893A (en) 2002-09-12 2002-09-12 Remote downloader and remote download method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002266793A JP2004102893A (en) 2002-09-12 2002-09-12 Remote downloader and remote download method

Publications (2)

Publication Number Publication Date
JP2004102893A true JP2004102893A (en) 2004-04-02
JP2004102893A5 JP2004102893A5 (en) 2005-10-27

Family

ID=32265506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002266793A Withdrawn JP2004102893A (en) 2002-09-12 2002-09-12 Remote downloader and remote download method

Country Status (1)

Country Link
JP (1) JP2004102893A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165729A (en) * 2006-12-07 2008-07-17 Denso Corp Microcomputer
US7934050B2 (en) 2006-12-07 2011-04-26 Denso Corporation Microcomputer for flash memory rewriting
JP2012204984A (en) * 2011-03-24 2012-10-22 Nec Corp Wireless base station device, wireless communication system, and method of updating software for wireless base station
JP2013520918A (en) * 2010-02-25 2013-06-06 エルジー エレクトロニクス インコーポレイティド Method of updating carrier wave information in broadband wireless access system
JP2014194682A (en) * 2013-03-29 2014-10-09 Oki Electric Ind Co Ltd Information processing device and processing method thereof
WO2023217211A1 (en) * 2022-05-11 2023-11-16 中国第一汽车股份有限公司 Upgrade method and apparatus, device and storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165729A (en) * 2006-12-07 2008-07-17 Denso Corp Microcomputer
US7934050B2 (en) 2006-12-07 2011-04-26 Denso Corporation Microcomputer for flash memory rewriting
JP4743182B2 (en) * 2006-12-07 2011-08-10 株式会社デンソー Microcomputer
JP2013520918A (en) * 2010-02-25 2013-06-06 エルジー エレクトロニクス インコーポレイティド Method of updating carrier wave information in broadband wireless access system
US8953539B2 (en) 2010-02-25 2015-02-10 Lg Electronics Inc. Method for updating carrier information in a broadband wireless access system
JP2012204984A (en) * 2011-03-24 2012-10-22 Nec Corp Wireless base station device, wireless communication system, and method of updating software for wireless base station
JP2014194682A (en) * 2013-03-29 2014-10-09 Oki Electric Ind Co Ltd Information processing device and processing method thereof
WO2023217211A1 (en) * 2022-05-11 2023-11-16 中国第一汽车股份有限公司 Upgrade method and apparatus, device and storage medium

Similar Documents

Publication Publication Date Title
US6640334B1 (en) Method and apparatus of remotely updating firmware of a communication device
US6928579B2 (en) Crash recovery system
US8122447B2 (en) Firmware installation
US8756461B1 (en) Dynamic tracing of thread execution within an operating system kernel
US8245214B2 (en) Reliably updating computer firmware while performing command and control functions on a power/thermal component in a high-availability, fault-tolerant, high-performance server
US8032740B2 (en) Update in-use flash memory without external interfaces
US20070094656A1 (en) Self-modifying copier for downloading executable code in a non-disruptive manner
US20100058316A1 (en) Updating Firmware with Multiple Processors
CN102089753B (en) System and method for safely updating thin client operating system over a network
CN111562932B (en) High-reliability embedded software upgrading method and system
JP2023035930A (en) Computer system and method for booting up computer system
JP2004102893A (en) Remote downloader and remote download method
EP3798831B1 (en) Resilient upgradable boot loader with power reset
KR100729525B1 (en) Method and system for updating firmware
JP2006518059A (en) Mobile handset with fault-tolerant update agent
US20170060598A1 (en) Managed boot process system
JP2005284902A (en) Terminal device, control method and control program thereof, host device, control method and control program thereof, and method, system, and program for remote updating
JPH117382A (en) Version-up method for firmware
CN116909611A (en) Electronic device firmware updating method, cleaning device and storage medium
JP7540402B2 (en) Center, OTA master, system, method, program, and vehicle
US11768669B2 (en) Installing application program code on a vehicle control system
JP2002123398A (en) Device and method for version up processing of software in communication equipment
JP2004102893A5 (en)
JPH11298550A (en) Communication system and communication equipment
JP2003330722A (en) Remote download system and method therefor

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050714

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050714

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060324

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071121

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080215

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080321