JP2004102893A - Remote downloader and remote download method - Google Patents
Remote downloader and remote download method Download PDFInfo
- 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
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
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
[0007]
In the second case, during the remote download, a power failure occurs in the
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
[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-
[0059]
Next, an example of a communication protocol for remote download performed between the higher-
In step (ST) 311, the
[0060]
Next, in step 321, the
[0061]
After the remote download is completed, the
[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
[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
[0065]
1, a
[0066]
The remote downloader 100A includes a
[0067]
The
[0068]
The firmware version upgrade management means 140 reports the
[0069]
Whether the FDP in the firmware needs to be upgraded is determined by the present unit based on the FDP
[0070]
The version information management unit 131 reports the
[0071]
The
[0072]
The boot surface
[0073]
The operation of the remote downloader 100A thus configured will be described with reference to FIGS.
[0074]
First, the startup
The boot
[0075]
9 and 10 are bitmaps of the activation
[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
When the activation plane
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
[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
[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
[0094]
The boot
[0095]
The FDP 113_D on the
[0096]
Similarly, when it is determined that the control software needs to be upgraded, the control software 2420_K in the firmware
[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
[0099]
In addition to the processing described in the first embodiment, the startup plane
[0100]
The operation of the remote downloader 100B thus configured will be described with reference to FIGS.
First, the activation
[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.
[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
[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
[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
[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
[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
[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
[0123]
The operation of the remote downloader 100C thus configured will be described with reference to FIGS.
[0124]
First, the
The
[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
[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
[0136]
In step 910, when it is determined from the version upgrade
[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
[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
[0148]
Instead of upgrading the control software 2420_K remotely downloaded from the higher-
[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
[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
[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-
[0153]
The operation of the
First, referring to FIGS. 46 and 47, the states and the state transitions of the version upgrade
FIG. 46 is a diagram showing a flag state of the version upgrade determination information. There are 11 possible flag states. The state of
[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
[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.
[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
[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
[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
[0164]
The version of the FDP 113_K remotely downloaded from the higher-
[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
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
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
FIG. 27 is a flowchart for explaining the operation of the remote downloader according to
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
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
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
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)
起動面判定情報よりリモートダウンローダの起動面を判定するリモートダウンローダ起動面判定手段と、
前記リモートダウンローダ起動面判定手段からの要求により、リセットされるのを待ち続けるリセット待ち手段と、
リモートダウンローダ起動面からリモートダウンローダを展開し、展開したリモートダウンローダのエントリポイントに分岐するリモートダウンローダ展開手段と、
起動面判定情報の報告及びバージョンアップに伴う起動面判定情報の更新を行う起動面判定情報管理手段と、
バージョン情報の報告及びバージョン情報の更新を行うバージョン情報管理手段と、
ダウンロードされたファームウェアを前記フラッシュ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:
前記起動面判定情報管理手段は、前記リモートダウンローダプログラム障害検出手段からの起動面判定情報の制御要求により、現起動面が次起動面と判定されないように現起動面の起動面判定情報を書き換え、
前記リモートダウンローダ起動面判定手段は、前記起動面判定情報管理手段から報告される、書き換えられた起動面判定情報より、前回起動した起動面を現在の起動面と判定しないことを特徴とする請求項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.
前記ブート手段は、リモートダウンロードプログラムを前記フラッシュ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.
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)
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 |
-
2002
- 2002-09-12 JP JP2002266793A patent/JP2004102893A/en not_active Withdrawn
Cited By (8)
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 |