JP3864337B2 - How to upgrade - Google Patents
How to upgrade Download PDFInfo
- Publication number
- JP3864337B2 JP3864337B2 JP2002380027A JP2002380027A JP3864337B2 JP 3864337 B2 JP3864337 B2 JP 3864337B2 JP 2002380027 A JP2002380027 A JP 2002380027A JP 2002380027 A JP2002380027 A JP 2002380027A JP 3864337 B2 JP3864337 B2 JP 3864337B2
- Authority
- JP
- Japan
- Prior art keywords
- mobile device
- version
- upgrade
- software
- data
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、携帯電話機や携帯型情報通信機器(PDA;Personal Digital Assistant)等の移動機の各種機能を実現する為のソフトウェアのバージョンアップを、同一又は類似機種の移動機又はコンピュータから容易に実施できるバージョンアップ方法に関する。
【0002】
【従来の技術】
携帯電話機等の移動機は、各種の機能を実現する為のソフトウェアをEEPROM(Electrially Erasable and Programmable Read Only Memory)等の不揮発性メモリに格納した構成を有するものであり、そのソフトウェアのバージョンアップや追加等の必要が生じた時は、バージョンアップ済みのソフトウェアを含む不揮発性メモリ、又は追加ソフトウェアを含む不揮発性メモリを、移動機に内蔵した不揮発性メモリと交換する方法が考えられる。しかし、内蔵メモリの交換は、移動機内部を開くから専門技術者による作業が必要となる問題がある。
【0003】
そこで、移動機の内蔵の不揮発性メモリに格納されたソフトウェアの書換えや追加ソフトウェアの書込みを、コンピュータから行う方法が知られている。又移動機に対するソフトウェアのダウンロードの専用装置を設けることも考えられる。何れの場合も、移動機を、ダウンロード用のコンピュータ又は専用装置を設置している例えば営業所等に持参することになるが、比較的確実なバージョンアップが可能となる。
【0004】
又移動機の無線通信機能を利用し、例えば、親機から新ソフトウェアをブロック毎に誤り訂正符号化して、移動通信ネットワークを介して移動機に送信し、移動機は、バージョンアップするソフトウェアを受信し、旧バージョンソフトウェアのメモリの格納領域に、受信した新バージョンソフトウェアを上書して、バージョンアップする方法が知られている(例えば、特許文献1参照)。又ネットワーク制御局から移動機に対して制御チャネルを介してパケット化した新バージョンのソフトウェアを送信し、移動機は、このパケットを制御チャネルを介して受信することにより、新バージョンのソフトウェアをダウンロードする方法が知られている(例えば、特許文献2参照)。
【0005】
又ダウンロード用の外付け不揮発性メモリを移動機に接続し、ダウンロードプログラムを用いて、移動通信ネットワークを介してバージョンアップするソフトウェアを受信し、受信したソフトウェアを不揮発性メモリに一旦格納し、この新バージョンのソフトウェアの受信格納が完了すると、この不揮発性メモリから移動機の内蔵メモリにソフトウェアを書込むことにより、ソフトウェアのバージョンアップを行う方法も知られている(例えば、特許文献3参照)。
【0006】
又移動機に於いて保持するメニューのバージョン情報と、受信したバージョン情報とを比較し、相違する場合は、情報センタにメニュー更新を要求し、それによって情報センタからバージョンの差に伴った差分データを移動機に送信し、移動機はこの差分データを受信してメニューを更新する手段も知られている(例えば、特許文献4参照)。このような差分データによりバージョンアップを図る為に、両方のバージョンのプログラムデータを先頭アドレスから比較し、最初に相違したアドレス以降のデータを抽出して差分データを作成し、情報センタには、最新のプログラムの全体データと、差分データとを保存し、端末装置のプログラムのバージョン情報に応じて全体データ或いは差分データを、情報センタから端末装置へ送信して、端末装置のプログラムを更新する手段も知られている(例えば、特許文献5参照)。
【0007】
【特許文献1】
特開平9−284839号公報
【特許文献2】
特開平11−110221号公報
【特許文献3】
特開2002−207599号公報
【特許文献4】
特開平11−120487号公報
【特許文献5】
特開2002−297390号公報
【0008】
【発明が解決しようとする課題】
移動機の無線通信機能を利用してソフトウェアのバージョンアップを行う前記特許文献1〜3に示されている方法は、移動機がネットワークを介して親局や制御局との間で無線通信が可能の位置であれば、ソフトウェアのバージョンアップを行うことが可能である。しかし、電波の伝搬状態は比較的大きく変動するから、電波の伝搬状態が良好でない場合は、再送処理を繰り返す必要が生じて、バージョンアップに要する時間が長くなる問題がある。又バージョンアップ用の専用装置は、移動機に対するソフトウェアのバージョンアップを効率良く実施できるが、専用装置は汎用コンピュータ等と相違して高価となり、且つ総ての営業所等に配置するにはコストアップとなる問題がある。
【0009】
又移動機に対するソフトウェアのバージョンアップ過程に於いて、旧バージョンのソフトウェアが必要とするメモリ容量より、新バージョンアップのソフトウェアが必要とするメモリ容量が多い場合、他の空き容量がなければ、バージョンアップすることができなくなる。又空き容量が存在した時に、バージョンアップするソフトウェアを格納する為に、メモリ内の領域配置の変更の為の書換えの処理が必要となる問題がある。
【0010】
又バージョンアップ過程に於いて、差分圧縮の技術を適用して、旧バージョンのソフトウェアと新バージョンのソフトウェアとの差分を転送することにより、バージョンアップに要する転送データ量を削減することが前述の特許文献4や特許文献5に示されるように提案されている。しかし、従来は、バージョンアップ過程に於いてエラーが発生すると、バージョンアップするソフトウェアの先頭からバージョンアップ処理を再開するものであった。従って、バージョンアップ過程に於けるエラー発生により、バージョンアップに要する時間が長くなる問題があった。又汎用のコンピュータ等に於けるソフトウェアについては、複数世代にわたる管理が可能となっているが、移動機についてはこのような世代管理は行われていない。その為、前述の差分を転送する場合に、バージョンによって差分が相違することになるが、これに対応することができないものであった。
【0011】
本発明は、前述の従来の問題点を解決するもので、ソフトウェアのバージョンアップを行う改修移動機に対して、同一機種又は類似機種の移動機又はコンピュータからソフトウェアのバージョンアップを効率良く実施可能とすることを目的とする。
【0012】
【課題を解決するための手段】
本発明のバージョンアップ方法は、図1を参照して説明すると、バージョンアップする改修移動機1に対して、バージョンアップ用移動機2又はバージョンアップ用コンピュータ3からケーブル4,5を介してソフトウェアのバージョンアップを行うバージョンアップ方法であって、バージョンアップ用移動機2又はバージョンアップ用コンピュータ3は、新版ソフトウェアと旧版ソフトウェアとの差分圧縮データを保持し、改修移動機1のソフトウェアの版数と新版ソフトウェアの版数とを含む管理情報と、ブロック単位の差分圧縮データとをケーブル4,5を介して改修移動機1に転送し、この改修移動機1は、差分圧縮データを解凍して展開し、不揮発性メモリに順次書込む過程を含むものである。
【0013】
又バージョンアップ用移動機2又はバージョンアップ用コンピュータ3は、改修移動機1とケーブル4,5で接続して、ソフト改修プログラムを転送し、改修移動機1は、バージョンアップ用移動機2又はバージョンアップ用コンピュータ3からのブロック単位の差分圧縮データを順次受信して、ソフト改修プログラムに従って解凍して展開したデータを不揮発性メモリの領域に書込む時に、この領域の旧版データを退避させて書込み、正常書込終了による前記ブロックの番号を記憶し、このブロック単位の差分圧縮データ又は書込過程に於けるエラー発生時に、退避させた旧版データを元に戻して、差分圧縮データの受信を開始し、前記記憶したブロック番号の次のブロック番号のデータから不揮発性メモリに対する書込処理を再開する過程を含むことができる。
【0014】
又改修移動機1の不揮発性メモリに格納する初期状態の複数のライブラリを、それぞれ空き領域を介在させて格納し、バージョンアップによるライブラリの増分を前記空き領域により吸収することができる。又複数のライブラリのそれぞれのバグ検出数を求め、バグ検出数が少ないライブラリを不揮発性メモリのアドレスの若番側に、且つバグ検出数が多いライブラリを不揮発性メモリのアドレスの老番側に格納する。
【0015】
又バージョンアップ用移動機2又は前記バージョンアップ用コンピュータ3は、複数世代の旧版ソフトウェアと新版ソフトウェアとのそれぞれの差分圧縮データと、版数情報を含む管理情報とを保持し、且つ差分圧縮データを、改修移動機1に順次転送する為のブロック単位に保持することができる。
【0016】
【発明の実施の形態】
図1は本発明の原理説明図であり、ソフトウェアのバージョンアップを行う改修移動機1と、最新ソフトウェアを搭載しているバージョンアップ用移動機2との間をシリアル転送用のケーブル4により接続し、バージョンアップ用移動機2から改修移動機1に対して、最新ソフトウェアをシリアル転送して、ソフトウェアのバージョンアップを実施する。この場合のバージョンアップ用移動機2は、改修移動機1と同一機種又は類似機種とするものであり、この移動機2は、図示を省略したソフトウェア作成用のコンピュータ等から最新ソフトウェアを転送して格納した構成とする。従って、ソフトウェアのバージョンアップが必要となった時に、作成した最新バージョンのソフトウェアを格納したバージョンアップ用移動機2を各所に配付することにより、ユーザの移動機1に対するバージョンアップのサービスを容易に実施することができる。
【0017】
又は改修移動機1と、最新ソフトウェアを搭載しているバージョンアップ用コンピュータ(PC)3との間をシリアル転送用のケーブル5により接続し、バージョンアップ用コンピュータ3から改修移動機1に対して最新ソフトウェアをシリアル転送して、ソフトウェアのバージョンアップを実施する。
【0018】
この場合、旧版ソフトウェアと新版ソフトウェアとの差分データを更に圧縮符号化して、ケーブル4を介して改修移動機1に転送し、改修移動機1に於いて解凍及び差分展開を行って、不揮発性メモリ、即ち、EEPROM(Electrically Erasable Programmable Read Only Memory)等の書換え可能の不揮発性メモリに書込むことにより、新版ソフトウェアにバージョンアップするものである。何れの場合も、シリアル転送用のケーブル4,5により接続することにより、安定したバージョンアップ処理を行うことができる。
【0019】
図2は本発明の第1の実施の形態の説明図であり、1はユーザが所有するソフトウェアのバージョンアップを行う改修移動機、2はVU(バージョンアップ用)移動機、7はバージョンアップ用のソフトウェアを作成して保持するパーソナルコンピュータ(パソコン)、11はBoot(ブート)プログラム、12は旧プログラム、13は新規プログラム、15はロードモジュール(LM)、17はパソコン7の制御処理部、18は差分圧縮データ、19は各種プログラム/管理データ、21はVU移動機2の各種プログラム、22はプログラムの版数等を含む管理データ、23は差分圧縮データを示す。又1)〜9)の経路によりバージョンアップの処理経路を示し、改修移動機1の旧プログラム12と新規プログラム13及びVU移動機2の各種プログラム21と管理データ22と差分圧縮データ23とは、前述の書換え可能の不揮発性メモリに格納する構成とする。
【0020】
パソコン7の制御処理部17により、新規ソフトウェアのロードモジュールLMを、1)バイナリ(Binary)変換し、旧版ソフトウェアと新版ソフトウェアとについて、2)差分抽出し、抽出した差分を、3)圧縮符号化し、差分圧縮データ18としてメモリに格納する。そして、新版ソフトウェアのバージョン等について、4)管理情報生成を行い、各種プログラム/管理データ19としてメモリに格納する。
【0021】
そして、パソコン7とVU移動機2とをシリアルケーブルで接続し、5)ローダー(Loader)により、パソコン7の各種プログラム21と、管理データ22と、差分圧縮データ23とを転送して格納する。このVU移動機2と改修移動機1とを図1について説明したようにシリアルケーブルにより接続し、6)改修移動機1に於いては、7)ブート(Boot)展開を行い、差分圧縮データについて、8)解凍と、9)差分展開とを行い、不揮発性メモリ内の旧プログラムを新規プログラムに書換えてバージョンアップを行う。
【0022】
この場合のVU移動機2から改修移動機1に対して転送する差分圧縮データは、予め設定したブロック単位で転送するものであり、ブロック対応にエラーチェックを行い、エラーを含まない新規プログラムとなるようにバージョンアップ処理を行う。又このブロック単位で不揮発性メモリに対するデータの書込みが正常終了した例えばブロック番号を記憶しておき、バージョンアップ処理過程で異常が発生した場合、正常終了した例えばブロック番号を記憶しているから、バージョンアップ処理再開による不揮発性メモリに対する書込処理は、正常終了したブロックの次から再開する。フラッシュメモリ等の不揮発性メモリは、書込処理時間が比較的長いから、正常終了したブロックの次のブロックから書込処理を再開することにより、エラーが発生した場合でも、バージョンアップに要する時間を短縮することができる。
【0023】
図3は本発明の第2の実施の形態の説明図であり、1はソフトウェアのバージョンアップを行う改修移動機、3はバージョンアップ用コンピュータ(パソコン)、7はバージョンアップ用のソフトウェアを作成して保持するコンピュータ(パソコン)、11はBoot(ブート)プログラム、12は旧プログラム、13は新規プログラム、15はロードモジュール(LM)、17はパソコン7の制御処理部、18は差分圧縮データ、19は各種プログラム/管理データ、31は制御処理部、32は書換えDLL(Dynamic Link Library;ダイナミック・リンク・ライブラリー)、33は管理データ、34は差分圧縮データを示す。又1)〜8)はバージョンアップの経路を示す。
【0024】
バージョンアップ用コンピュータ(パソコン)3は、図2に於けるVU移動機2に対応するもので、このパソコン3と、改修移動機1とをUSB(Universal Serial Bus)ケーブルで接続して、改修移動機1のソフトウェアのバージョンアップを行う場合を示す。又パソコン7は、図2に於けるパソコン7と同一の構成を有し、制御処理部17の制御に従って、ソフトウェアの書換え用アプリケーションを実装したパソコン3に対して差分圧縮データを転送する。この差分圧縮データを、パソコン3から改修移動機1へ、図2について説明した場合と同様の処理過程によってバージョンアップ処理を実行する。
【0025】
図4はメモリの説明図であり、旧版の複数のライブラリA.LIB(Library),B.LIB,C.LIB,D.LIB,・・・がメモリの連続したアドレスに格納されている場合、ライブラリA.LIBの変更により、バージョンアップ処理を行うと、旧版のメモリから、新版のメモリのように、ライブラリA.LIBの変更増分だけ、他のライブラリB.LIB,C.LIB,D.LIB,・・・の格納アドレスを繰り下げることになる。即ち、ライブラリA.LIBの変更増分に従って、他のライブラリB.LIB,C.LIB,・・・を順次書換える必要が生じることになる。それにより、書換えに要する時間が増加する。通常フラッシュメモリ等の不揮発性メモリを用いるものであるから、書込みに要する時間が、ランダムアクセスメモリに比較して長く且つ書込電力を必要とすることから、消去した領域に書込むデータ量が多いと、長時間を要し、且つ消費電力が増加する。
【0026】
そこで、本発明に於いては、図5に於ける旧版として示すように、予め各ライブラリA.LIB,B.LIB,C.LIB,D.LIB,・・・間に空き領域を形成してメモリに格納する。それにより、例えば、ライブラリA.LIBの変更による増分があっても、新版のメモリのように、空き領域を利用して増分を吸収できるから、メモリの更新量は少なくて済むことになる。
【0027】
図6は更にメモリの更新量を低減する場合を示し、旧版として示すメモリのように、各ライブラリ間に空き領域を形成し、且つ後述のような処理により、割付順番を変更する。この場合、過去のバグ検出数等によりライブラリの改修の可能性を推測し、改修の可能性の高いライブラリを、メモリのアドレスの老番側に格納する。例えば、ライブラリD.LIB,C.LIB,A.LIB,B.LIB,・・・の順番とした場合を示す。そして、例えば、アドレスの老番側のライブラリA.LIBの改修による変更増分があっても、新版のメモリのように、ライブラリB.LIBを繰り下げるだけで済むから、メモリの更新量は更に少なくなる。即ち、メモリの変更差分については、ライブラリ間に空き領域を形成しない図4が最も大きくなり、次にライブラリ間に空き領域を形成する図5が中程度となる。そして、更新する可能性の高いライブラリの割付けの順番をアドレスの老番側とする図6が最も小さくなる。
【0028】
図7はメモリ内配置処理のフローチャートを示し、メモリに格納するライブラリ(LIB)の数nの繰り返し処理を行ったか否か、即ち、i=1〜i=nまでの繰り返し処理を行ったか否かを判定し(A1)、過去の実績からi番目のライブラリ(LIB)のバグ検出数をカウントする(A2)。そして、そのライブラリ(LIB)が最初(i=1番目)か否かを判定し(A3)、i=1番目のライブラリの場合、このライブラリを最若番に配置する(A4)。又i=1でないライブラリ(LIB)は、配置の並べ替え処理を行う(A5)。そして、具体的なステップは図示を省略しているが、前述のステップ(A2)〜(A5)についてi=1〜i=nまで繰り返すことにより、ライブラリ(LIB)の配置の並べ替えが終了する。
【0029】
前述のステップ(A5)のライブラリ(LIB)の配置の並べ替え処理は、図8に示すように、格納したライブラリ(LIB)数分の繰り返し処理を行ったか否か、この場合、j=1〜j=i−1までの繰り返し処理を行ったか否かを判定し(B1)、今回判定するi番目のライブラリのバグ検出数が過去に判定したj番目のライブラリのバグ検出数よりも小さいか否かを判定し(B2)、小さい場合は、i番目のライブラリをj番目のライブラリの前に配置する(B3)。しかし、大きい場合は、配置しない。従って、ステップ(B2)に於いて、配置済みのライブラリ(LIB)のバグ検出数より大きいライブラリ(LIB)は、ステップ(B3)に於いて配置されないで、次の繰り返しによるステップ(B2)に於いて順番が回ってくると、再度比較される。
【0030】
そして、i−1番目のライブラリ(LIB)まで比較済みか否かを判定し(B4)、比較済みでない場合は、最初のステップ(B1)に復帰し、比較済みの場合は、その時のi番目のライブラリ(LIB)は、ステップ(B3)に於いて配置処理されたライブラリ(LIB)のバグ検出数より大きいバグ検出数を有するライブラリであるから、アドレスの最老番に配置する(B5)。従って、バグ検出数が少ない順番にライブラリ(LIB)が並べ替えられる。
【0031】
このような処理により、図6に於ける旧版として示すようにライブラリを配置する。即ち、バグ検出数が多いライブラリについては改版する可能性が高いから、メモリのアドレスの最老番側に配置し、改版の可能性が低いと推定されるライブラリは、アドレスの若番側に配置する。それによって、他のライブラリの再配置の可能性が極めて低くなり、バージョンアップに要する時間の短縮に寄与することができる。
【0032】
図9はロードモジュール変換ツールの説明図であり、41はロードモジュールLM1(プログラム)を格納したメモリ、42はロードモジュールLM2(データ)を格納したメモリ、43は定義ファイル、44はロードモジュール変換ツール、45はバイナリ変換部、46はロードモジュール(LM)マージ部、47はバイナリデータを格納したメモリを示す。
【0033】
先ず、(1).定義ファイル43は、変換対象ファイル名、変換対象アドレス範囲、変換除外アドレス範囲、出力ファイル名等を記述したもので、ロードモジュール変換ツール44は、この定義ファイル43を読込む。次に、(2).読込んだ定義ファイル43により指定されている情報を基に、新旧ロードモジュールファイルをバイナリ変換部45によりバイナリデータに変換する。次に、(3).ロードモジュールマージ部46によりバイナリデータのマージを行う。それにより、メモリ47に、バイナリデータが格納される。
【0034】
図10は差分圧縮ツールの説明図であり、61は新ロードモジュール(バイナリデータ)を格納したメモリ、62は旧ロードモジュール(バイナリデータ)を格納したメモリ、63は差分抽出ツール、64は分割・差分データを示す。差分抽出ツール63により、新ロードモジュールと旧ロードモジュールとの差分をバイナリデータとして求め、圧縮処理により、分割・圧縮データ64を求める。この場合、移動機に搭載し易いように、分割・圧縮データ64は、例えば、256kバイト単位で分割することができる。
【0035】
図11はVU移動機に対してバージョンアップ用のデータを格納する為の転送データ作成ツールの説明図であり、71は新版ロードモジュール(LM)を格納したメモリ、72はロードモジュール(LM)作成ツール、73は複数世代(複数の版数)対応の差分データを、旧版差分1,旧版差分2,・・・として格納したメモリ、74は定義ファイル、75はロードモジュール(LM)作成ツール72により作成された管理情報ロードモジュール(LM)、差分実データ1,差分実データ2,・・・を格納したメモリを示す。
【0036】
この場合、図2に示すように、VU移動機2から改修移動機1に対するバージョンアップを行う場合の転送データの作成の場合を示し、ロードモジュール(LM)作成ツール72は、先ず(1).変換対象ファイル名,変換対象プログラム版数,変換ファイル数,分割ブロックサイズ等を定義ファイル74から読込む。そして、(2).新版ロードモジュール(LM)(バイナリ形式)をメモリ71から読込み、CRC(Cyclic Redundancy Check)生成を行い、(3).メモリ73から変換対象プログラム版数に従った差分データを読込み、各差分データのサイズを求める。そして、(4).前述の処理で得られたデータと共に差分転送管理情報,版数対応の差分実データを、VU移動機2にロード可能の形式で出力してメモリ75に格納する。
【0037】
図12は転送データ作成ツールの説明図であり、81は新版ロードモジュール(LM)を格納したメモリ、82はロードモジュール(LM)作成ツール、83は最新版単純圧縮データ,旧版差分1,旧版差分2,・・・を格納したメモリ、84は定義ファイル、85は転送データを格納したメモリを示す。
【0038】
この場合、図3に示すように、パソコン3から改修移動機1に対するバージョンアップを行う場合の転送データの作成の場合を示し、ロードモジュール(LM)作成ツール82は、先ず(1).変換対象ファイル名,変換対象プログラム版数,変換ファイル数,分割ブロックサイズ等を定義ファイル84から読込み、次に、(2).メモリ81から新版ロードモジュール(LM)(バイナリ形式)を読込み、CRCを生成し、(3).メモリ83から差分データを読込み、各差分データのサイズを求め、(4).前述の処理で得られたデータと共に差分転送管理情報,最新版ロードモジュール(LM)単純圧縮ファイル,版数対応の差分実データファイルをバイナリ形式でパソコン3にロードする。
【0039】
図13は転送データの説明図であり、図2に示すVU移動機2から改修移動機1に対してバージョンアップする場合の転送データを示し、91は移動機対応のファイル管理データ,差分管理データを含む管理情報、92はプログラムの版数対応の差分情報ロードモジュール(LM)を示す。
【0040】
図14,図15は管理ロードモジュールの説明図であり、図2に示すVU移動機2から改修移動機1に対してバージョンアップする場合の管理情報を示し、格納ファイル数,最新書換えバージョン,最新プログラム版数,差分書込み完了後のCRC32データ等を含むと共に、版数対応の差分用旧版プログラム版数,バージョンアップ移動機内の差分管理データ書込先ROMアドレス,バージョンアップ移動機内の差分実データの書込先ROMアドレスと、ファイル毎の差分管理データとを含む。このファイル毎の差分管理データは、図15に示すように、該当ファイル内の差分ブロック数と、差分分割単位(バイト)と、第1番目の転送先ROMアドレスと、第1番目の差分ブロックサイズと、第1番目の差分を適用後のCRC32データとを、差分ブロック数対応に格納する。このような構成により複数世代にわたり管理することができる。
【0041】
図16は図3に示すパソコン3から改修移動機1に対してバージョンアップする場合のファイル構成の説明図であり、階層型のディレクトリ構造によるファイル管理を示す。その管理ファイルの一例を図17に示す。この管理ファイルは、格納ファイル数,最新書換えバージョン,最新プログラム版数,差分書込完了後のCRC32データ,ソフト更新プログラムファイルサイズ,ソフト更新プログラムファイル名と、版数対応に、差分旧版プログラム版数と差分データファイル管理情報格納先オフセット値と差分情報ファイル格納ディレクトリ名と、ファイル毎の差分管理データとを含み、ファイル毎の差分管理データは、該当ディレクトリ内の差分ファイル数と、差分分割単位(バイト)と、差分情報ファイル毎の差分情報ファイルサイズと差分情報ファイル名と差分を適用後のCRC32データとを含む内容を格納している。
【0042】
図18はVU移動機2(図2参照)から改修移動機1に対するバージョンアップ処理を行う場合の追加したシリアルコマンドを示し、「コマンド」を省略して図示している。又P1,P2,・・・はパラメータを示す。又方向は、左向き矢印が改修移動機1からVU移動機2方向、右向き矢印がVU移動機2から改修移動機1方向を示す。
【0043】
移動機版数通知シリアルは、改修移動機1からVU移動機2に対して、CRCを含むバージョン情報を転送するもので、それにより、VU移動機2は、改修移動機1の版数を識別し、版数対応のデータを決定する。又新版数通知シリアルは、改修移動機1から受信したバージョン情報により、バージョンアップ対象と判定した時に、VU移動機2は、改修移動機1に対して最新のソフト版数と書換え版数とを送信する。チェック結果通知シリアルは、改修移動機1からVU移動機2に対してチェック結果を送信する。書込データ送信シリアルは、VU移動機2から改修移動機1に対して、書込アドレス,書込後のCRCデータ,送信サイズ,書込データを送信する。書込情報送信シリアルは、バージョンアップの全データを送信後、整合性確認の為の全システムエリアのCRC値を送信する。
【0044】
全領域チェック結果通知シリアルは、改修移動機1からVU移動機2に対して、チェック結果を送信する。バージョンアップ完了送信シリアルは、VU移動機2から改修移動機1に対してバージョンアップの終了を通知する。エラー通知シリアルは、改修移動機1とVU移動機2とに於けるエラー発生時に、相手側へエラー通知する。それにより、表示画面にエラー有りを表示する。
【0045】
図19,図20は、改修移動機に対してVU移動機からバージョンアップする場合のシーケンス説明図であり、又図18のパラメータP1を( )内に示す。先ず、VU移動機に於いて、1)電源投入し、改修移動機との間を、シリアルデータ転送を行う2)ケーブルで接続する。そして、3)改修移動機の電源を投入し、ソフト書込モードを起動し、VU移動機の4)1キー(テンキーの中の「1」を示すが、他のキーにより指定する方法とすることも可能である)押下を行ってソフト改修プログラム起動要求を行い、5)ソフト改修プログラムを改修移動機に転送する。
【0046】
改修移動機は、ソフト改修プログラムを受信して、改修処理を起動し、改修移動機の電池電圧が正常動作を保証できる電圧か否かをチェックし、6)プロテクト領域(バージョンアップ対象領域以外の領域)のチェックサムを演算し、モード変更,復旧待ちモードとなり、7)改修移動機からVU移動機に対して現バージョン情報を送出する(80)。即ち、移動機版数通知シリアルコマンドが実行される。VU移動機は、改修移動機からのバージョン情報によりバージョンアップ対象か否かを判定し、対象外の移動機の場合は、処理を終了する。又バージョンアップ対象の移動機の場合は、改修移動機に対して8)新バージョン情報を通知する(N)。即ち、新版数通知シリアルコマンドを実行する。
【0047】
改修移動機は、新バージョン情報を受信してVU移動機に対してチェック結果を通知する(C)。即ち、チェック結果通知シリアルコマンドを実行する。VU移動機は、10)ブロック毎に差分圧縮データを転送する(W)。即ち、書込データ送信シリアルコマンドを実行する。この場合、VU移動機から版数等を含む管理情報も転送する。改修移動機は、ソフト改修プログラムに従ってブロック単位の差分圧縮データを解凍して展開し、11)ROM書込みを行い、対象領域のCRC演算を行う。そして、12)受信CRC値と演算結果のCRC値とを比較し、その比較結果を、13)VU移動機に通知する(C)。即ち、チェック結果通知シリアルコマンドを実行する。そして、この10)〜13)の処理を、14)ブロック数だけ繰り返す。
【0048】
そして、VU移動機が、最終ブロックのCRC通知を受信すると、改修移動機に対して、15)書込状況チェックを送出する(I)。即ち、書込状況送信シリアルコマンドを実行する。改修移動機は、プロテクト領域(バージョンアップ対象領域以外の領域)についてのチェックサムを再計算し、書込みの前に求めたチェックサムと比較する。比較一致の場合は、バージョンアップによるプロテクト領域が影響を受けていないことが判る。又プログラム領域のチェックサムを求め、VU移動機から書込状況チェック通知で転送されたチェックサムと比較し、16)その比較結果をVU移動機へ転送する(P)。即ち、全領域チェック結果通知シリアルコマンドを実行する。VU移動機は、比較結果によりエラー無しと判定すると、17)バージョンアップ終了を改修移動機に通知する(Z)。即ち、バージョンアップ完了送信シリアルコマンドを実行する。18)改修移動機は、それによって通常モードにモード変更する。
【0049】
図21〜図23はパソコン(PC)から改修移動機に対してバージョンアップする場合のシーケンス説明図であり、図18に示すシリアルコマンドに於けるパラメータP1を( )内で示す。なお、図19,図20に示すシーケンスと同様な処理でバージョンアップを行うものであるが、先ず、パソコンと改修移動機とをUSBケーブルで接続し、バージョンアップ前に、移動機製造番号による機種が正しいか否か、通常モードか復旧待ちモードか否か、復旧書換え要求か否か、復旧書換え要求時は通常モードか否か、又バージョン確認を行った後に、パソコンから改修移動機に開始通知を行う。それ以降は、シリアル情報のパラメータP1も併記して示すように、図19及び図20に示すバージョンアップ動作シーケンスと同様のシーケンスでバージョンアップが行われるものであるから、重複した説明は省略する。
【0050】
図24及び図25は、VU移動機から改修移動機に対してバージョンアップを行っている時のエラー発生時の動作シーケンスを示し、(W),(E),(C)は図18に示すシリアルコマンドのパラメータP1を示す。VU移動機からN番目(ブロック単位で先頭からN番目のブロック)の差分圧縮データを改修移動機に転送する(W)。即ち、書込データ送信シリアルコマンドを実行する。改修移動機は、前回の(N−1)番目の差分圧縮データを正常に不揮発性メモリに書込み、その書込完了位置を‘N−1’に更新する。そして、差分圧縮データを解凍して展開し、旧データを退避させて、ROM(不揮発性メモリ)に対して消去,書込みを行う。即ち、差分圧縮データの転送毎に、(転送回数−1)番目の書込完了位置の更新と、ROM書込前に旧データの保存とを行う。例えば、このROM書込時に、エラーが発生すると、退避した旧データを元に戻し、エラー発生通知をVU移動機に送出する(E)。即ち、エラー通知シリアルコマンドを送出する。
【0051】
VU移動機は、エラー発生通知により、再度バージョンアップの処理を開始する。即ち、1番目のブロックの差分圧縮データを改修移動機に転送し、改修移動機はCRC演算のみを行い、ROM書込処理は行わない。そして、そのチェック結果をVU移動機に通知し、VU移動機は、2番目のブロックの差分圧縮データを改修移動機に転送する。これを繰り返して、前回エラーが発生してROMに書込まれていないN番目のブロックの差分圧縮データを改修移動機が受信すると、書込完了位置を‘N−1’に更新し、差分圧縮データを解凍して展開し、旧データを退避させて、ROMに対して消去,書込みを行い、CRC演算を行って、チェック結果をVU移動機に通知する。そして、書込完了位置を‘N’とする。又N+1番目以降の差分圧縮データについても同様の処理によりROMに書込む。従って、エラー発生時は、VU移動機は、パージョンアップの為の差分圧縮データを1番目から順次転送することになるが、改修移動機は、エラー発生時の書込完了位置を記憶しているから、前回の書込完了位置以降のブロックの差分圧縮データを受信する毎にROM書込みを行うことになり、先頭からROM書込みを繰り返す場合に比較して、所要時間を短縮することができる。
【0052】
図26及び図27は、VU移動機から改修移動機に対するバージョンアップ時の動作シーケンス説明図であり、VU移動機の電源投入を行い(1)、それにより、「SET TEE CABLE AND TURN ON THE ANOTHER MS THEN PUSU 1 KEY」が、VU移動機の表示画面に表示される。そこで、VU移動機と改修移動機とを専用ケーブルで接続する(2)。そして、改修移動機の電源投入を行い(3)。それにより、改修移動機の発光ダイオードLEDが一瞬点灯する。
【0053】
次に、VU移動機の「1」キーを押下する(4)。その時、改修移動機の表示画面は空白画面となっている。そして、バージョンアップ処理が開始され、VU移動機の表示画面は、改修移動機の機種やバージョンのチェック画面、チェックOKにより差分圧縮データ割合の表示画面、終了画面に移行する。又改修移動機に於いては、発光ダイオードLEDの点灯,消灯によるダウンロード中の状態を示し、表示画面は、最後に終了画面となる。そして、専用ケーブルを外し(5)、VU移動機と改修移動機とは電源をオフとする(6)。前述のように、VU移動機と改修移動機との表示画面により、操作手順を表示することができる。
【0054】
図28及び図29は、パソコンから改修移動機に対するバージョンアップ時の動作シーケンス説明図であり、パソコンPCと改修移動機とをUSBケーブルで接続し(1)、パソコンPCのソフト書換用アプリケーションの実行ボタン押下により、バージョンアップを開始する(2)。改修移動機は、LEDが2回点滅し、その後、点灯を継続する。又表示画面は空白画面となる。そして、パソコンPCからのデータ転送が終了すると、LED消灯となり、次にLED点灯し、ROMに対する書換え処理中を、表示画面に表示し、終了により、「COMPLETED」を表示し、LEDは消灯する。そして、自動リセットにより待受画面となり、USBケーブルを取り外して、バージョンアップ処理を終了する(3)。なお、移動機のLCD(液晶表示)画面と、LED(発光ダイオード)との配置構成の一例を図示しているが、他の配置構成とすることも可能であり、又ユーザインタフェースとしてのLEDの点灯制御や表示画面の表示制御は、前述の実施の形態に限定されるものではない。
【0055】
図30はエラー表示の説明図であり、VU移動機から改修移動機に対してバージョンアップする場合のエラー発生時の表示の一例を示す。例えば、移動機種別の誤りや、チェックサムの比較によるエラー等の表示内容を示す。又他の各種のエラー発生時には、エラー種別が認識できるように表示することができる。
【0056】
【発明の効果】
以上説明したように、本発明は、改修移動機に対して、バージョンアップ移動機又はパソコンからケーブルを介して、新版ソフトウェアと旧版ソフトウェアとの差分を更に圧縮したデータをブロック単位で転送し、又ソフトウェアの版数情報等を含む管理情報も転送し、改修移動機は、ソフト改修プログラムに従ってブロック単位の差分圧縮データを解凍して展開し、書換え可能の不揮発性メモリに順次書込むもので、又そのブロック単位で正常書込完了を記憶する。又エラー発生時は、正常書込完了のブロックの次のブロックから不揮発性メモリに対する書込みを行うものである。
【0057】
従って、改修移動機のバージョンアップ処理は、携帯が容易なバージョンアップ移動機を用いることが可能であり、又パソコンからも実行することができるものであるから、柔軟性に富んだバージョンアップが可能となる。又ブロック単位で圧縮符号化して転送するから、転送データ量を削減して、バージョンアップに要する時間を短縮することができる。又エラー発生時に於いても、不揮発性メモリに対する書込みを、エラー発生ブロックから行うことにより、バージョンアップに要する時間を短縮することができる。例えば、同一のソフトウェアについて、従来の方法による場合のバージョンアップに要する時間は、平均的に約23分を要したものが、本発明の実施の形態によれば、最短3分9秒で済み、平均で4分59秒であった。
【0058】
又旧版数対応に新版ソフトウェアとの差分圧縮データを保持して、改修移動機側の版数に対応した差分圧縮データをダウンロードすることが可能であり、1台のバージョンアップ移動機又はバージョンアップ用コンピュータにより、各種の版数の改修移動機に対応することができる。又不揮発性メモリのライブラリ対応の領域間に空きを形成し、更には、バグ検出数の多いライブラリをアドレスの老番側に配置することにより、バージョンアップ時の増分による他のライブラリの書換えが必要となる確率を低減して、バージョンアップに要する時間を短縮することができる利点がある。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の第1の実施の形態の説明図である。
【図3】本発明の第2の実施の形態の説明図である。
【図4】メモリの説明図である。
【図5】メモリの説明図である。
【図6】メモリの説明図である。
【図7】メモリ内配置処理のフローチャートである。
【図8】並べ替え処理のフローチャートである。
【図9】ロードモジュール変換ツールの説明図である。
【図10】差分圧縮ツールの説明図である。
【図11】転送データ作成ツールの説明図である。
【図12】転送データ作成ツールの説明図である。
【図13】転送データの説明図である。
【図14】管理ロードモジュールの説明図である。
【図15】管理ロードモジュールの説明図である。
【図16】ファイル構成の説明図である。
【図17】管理ファイルの説明図である。
【図18】追加したシリアルコマンドの説明図である。
【図19】バージョンアップ動作シーケンス説明図である。
【図20】バージョンアップ動作シーケンス説明図である。
【図21】バージョンアップ動作シーケンス説明図である。
【図22】バージョンアップ動作シーケンス説明図である。
【図23】バージョンアップ動作シーケンス説明図である。
【図24】エラー発生時の動作シーケンス説明図である。
【図25】エラー発生時の動作シーケンス説明図である。
【図26】バージョンアップ時の動作シーケンス説明図である。
【図27】バージョンアップ時の動作シーケンス説明図である。
【図28】バージョンアップ時の動作シーケンス説明図である。
【図29】バージョンアップ時の動作シーケンス説明図である。
【図30】エラー表示の説明図である。
【符号の説明】
1 改修移動機
2 バージョンアップ用移動機(VU移動機)
3 バージョンアップ用コンピュータ(PC)
4,5 ケーブル[0001]
BACKGROUND OF THE INVENTION
The present invention easily upgrades software for realizing various functions of a mobile device such as a mobile phone or a personal digital assistant (PDA) from the same or similar mobile device or computer. It relates to a version upgrade method that can be performed.
[0002]
[Prior art]
Mobile devices such as mobile phones have a configuration in which software for realizing various functions is stored in a nonvolatile memory such as EEPROM (Electrically Erasable and Programmable Read Only Memory), and software upgrades and additions For example, there may be a method of replacing a nonvolatile memory including upgraded software or a nonvolatile memory including additional software with a nonvolatile memory built in the mobile device. However, the replacement of the built-in memory has a problem that requires work by a professional engineer because the mobile unit is opened.
[0003]
Therefore, there is known a method of rewriting software stored in a nonvolatile memory built in a mobile device or writing additional software from a computer. It is also possible to provide a dedicated device for downloading software to the mobile device. In either case, the mobile device is brought to a sales office or the like where a download computer or a dedicated device is installed, but a relatively reliable version upgrade is possible.
[0004]
Also, using the wireless communication function of the mobile device, for example, new software is error-correction-encoded for each block from the parent device and transmitted to the mobile device via the mobile communication network, and the mobile device receives the software to be upgraded. A method is known in which the received new version software is overwritten in the storage area of the memory of the old version software to upgrade the version (see, for example, Patent Document 1). In addition, the network control station transmits a new version of software packetized to the mobile device via the control channel, and the mobile device downloads the new version of software by receiving this packet via the control channel. A method is known (see, for example, Patent Document 2).
[0005]
In addition, an external nonvolatile memory for downloading is connected to the mobile device, and using the download program, the software to be upgraded via the mobile communication network is received, and the received software is temporarily stored in the nonvolatile memory. There is also known a method of upgrading the software version by writing the software from the nonvolatile memory to the built-in memory of the mobile device when reception and storage of the version software is completed (see, for example, Patent Document 3).
[0006]
Also, the version information of the menu held in the mobile device is compared with the received version information, and if they are different, the menu update is requested to the information center, and thereby the difference data accompanying the version difference from the information center. Is also known to update the menu by receiving the difference data (see, for example, Patent Document 4). In order to upgrade the version with such difference data, the program data of both versions are compared from the top address, the data after the first different address is extracted and the difference data is created. Means for storing the whole data of the program and the difference data, transmitting the whole data or the difference data from the information center to the terminal device according to the version information of the program of the terminal device, and updating the program of the terminal device It is known (see, for example, Patent Document 5).
[0007]
[Patent Document 1]
Japanese Patent Laid-Open No. 9-284839
[Patent Document 2]
JP-A-11-110221
[Patent Document 3]
JP 2002-207599 A
[Patent Document 4]
Japanese Patent Laid-Open No. 11-120487
[Patent Document 5]
JP 2002-297390 A
[0008]
[Problems to be solved by the invention]
The methods disclosed in
[0009]
In the process of upgrading software for mobile devices, if the memory capacity required by the new version upgrade software is larger than the memory capacity required by the old version software, the version upgrade will be performed if there is no other free space. Can not do. In addition, there is a problem that rewriting processing for changing the area arrangement in the memory is required to store software to be upgraded when there is free space.
[0010]
In the version upgrade process, the above-mentioned patent can reduce the amount of transfer data required for version upgrade by applying differential compression technology and transferring the difference between the old version software and the new version software. It has been proposed as shown in
[0011]
The present invention solves the above-described conventional problems, and it is possible to efficiently upgrade software from a mobile device or a computer of the same model or a similar model to a modified mobile device that performs software upgrade. The purpose is to do.
[0012]
[Means for Solving the Problems]
The version upgrade method of the present invention will be described with reference to FIG. 1. The upgrade
[0013]
The upgrade
[0014]
Further, a plurality of libraries in the initial state to be stored in the nonvolatile memory of the refurbished
[0015]
Further, the upgrade
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram for explaining the principle of the present invention. A refurbished
[0017]
Alternatively, the upgrade
[0018]
In this case, the difference data between the old version software and the new version software is further compressed and encoded, transferred to the modified
[0019]
FIG. 2 is an explanatory diagram of the first embodiment of the present invention. 1 is a modified mobile device for upgrading the software owned by the user, 2 is a VU (for version upgrade) mobile device, and 7 is for version upgrade. Personal computer (personal computer) 11 for creating and holding software, 11 boot program, 12 old program, 13 new program, 15 load module (LM), 17 control processing unit of
[0020]
The
[0021]
Then, the personal computer 7 and the VU
[0022]
In this case, the differentially compressed data transferred from the VU
[0023]
FIG. 3 is an explanatory diagram of the second embodiment of the present invention. 1 is a modified mobile device that upgrades software, 3 is a computer for upgrading (PC), and 7 is software for upgrading. Computer (personal computer), 11 is a boot program, 12 is an old program, 13 is a new program, 15 is a load module (LM), 17 is a control processing unit of the
[0024]
The upgrade computer (personal computer) 3 corresponds to the VU
[0025]
FIG. 4 is an explanatory diagram of the memory. LIB (Library), B.I. LIB, C.I. LIB, D.M. If LIB,... Are stored at consecutive addresses in the memory, the library A. When version upgrade processing is performed by changing the LIB, the library A.1 is changed from the old memory to the new memory. LIB change increments, other libraries B. LIB, C.I. LIB, D.M. The storage address of LIB,. That is, the library A.I. According to the change increment of LIB, other libraries B. LIB, C.I. It becomes necessary to rewrite LIB,. Thereby, the time required for rewriting increases. Since a non-volatile memory such as a flash memory is usually used, the time required for writing is longer than that of a random access memory and requires writing power, so that a large amount of data is written to the erased area. And it takes a long time and the power consumption increases.
[0026]
Therefore, in the present invention, as shown as the old version in FIG. LIB, B.I. LIB, C.I. LIB, D.M. A free area is formed between LIB,... And stored in the memory. Thereby, for example, library A.I. Even if there is an increment due to a change in the LIB, it is possible to absorb the increment using the free area as in the new version of the memory, so that the amount of memory update is small.
[0027]
FIG. 6 shows a case where the memory update amount is further reduced. As in the memory shown as the old version, a free area is formed between the libraries, and the allocation order is changed by processing as described later. In this case, the possibility of library modification is estimated based on the number of detected bugs in the past, and a library with a high possibility of modification is stored in the old number side of the memory address. For example, library D.I. LIB, C.I. LIB, A.M. LIB, B.I. The case where the order of LIB,. For example, the library A. Even if there are incremental changes due to LIB modifications, the library B.I. Since only the LIB needs to be lowered, the amount of memory update is further reduced. That is, with respect to the memory change difference, FIG. 4 in which no free space is formed between libraries is the largest, and FIG. 5 in which free space is next formed between libraries is the middle. Then, FIG. 6 in which the allocation order of the library that is likely to be updated is the oldest address side is the smallest.
[0028]
FIG. 7 shows a flowchart of the in-memory arrangement process. Whether or not the number n of the library (LIB) stored in the memory has been repeated, i.e., whether or not i = 1 to i = n has been repeated. (A1), and the number of bugs detected in the i-th library (LIB) is counted from the past results (A2). Then, it is determined whether or not the library (LIB) is the first (i = 1) (A3). If i = 1, the library is placed at the lowest number (A4). In addition, the library (LIB) where i is not 1 performs rearrangement processing (A5). Although specific steps are not shown, the rearrangement of the arrangement of the library (LIB) is completed by repeating the steps (A2) to (A5) from i = 1 to i = n. .
[0029]
As shown in FIG. 8, the rearrangement processing of the library (LIB) arrangement in step (A5) described above is repeated for the number of stored libraries (LIB). In this case, j = 1 to It is determined whether or not iterative processing up to j = i−1 has been performed (B1), and whether or not the bug detection number of the i-th library determined this time is smaller than the bug detection number of the j-th library determined in the past. If it is smaller, the i-th library is placed in front of the j-th library (B3). However, if it is large, it is not arranged. Therefore, in step (B2), a library (LIB) larger than the number of bugs detected in the already-arranged library (LIB) is not placed in step (B3), and in step (B2) by the next iteration. When the order comes around, they are compared again.
[0030]
Then, it is determined whether or not the comparison has been made up to the (i-1) th library (LIB) (B4). If not compared, the process returns to the first step (B1). Since this library (LIB) has a bug detection number larger than the bug detection number of the library (LIB) arranged in step (B3), it is arranged in the oldest number of addresses (B5). Therefore, the libraries (LIBs) are rearranged in the order of decreasing bug detection number.
[0031]
By such processing, the library is arranged as shown as the old version in FIG. In other words, libraries that have a large number of bug detections are likely to be revised, so they are placed on the oldest address side of the memory address, and libraries that are estimated to be less likely to be revised are placed on the younger address side. To do. As a result, the possibility of rearranging other libraries becomes extremely low, which can contribute to shortening the time required for version upgrade.
[0032]
FIG. 9 is an explanatory diagram of the load module conversion tool, 41 is a memory storing the load module LM1 (program), 42 is a memory storing the load module LM2 (data), 43 is a definition file, and 44 is a load module conversion tool. , 45 is a binary conversion unit, 46 is a load module (LM) merging unit, and 47 is a memory storing binary data.
[0033]
First, (1). The
[0034]
FIG. 10 is an explanatory diagram of a differential compression tool, 61 is a memory storing a new load module (binary data), 62 is a memory storing an old load module (binary data), 63 is a difference extraction tool, and 64 is a split / Indicates difference data. The
[0035]
FIG. 11 is an explanatory diagram of a transfer data creation tool for storing version upgrade data for a VU mobile device, 71 is a memory storing a new version load module (LM), 72 is a load module (LM)
[0036]
In this case, as shown in FIG. 2, a case of creating transfer data in the case where version upgrade from the VU
[0037]
FIG. 12 is an explanatory diagram of a transfer data creation tool, in which 81 is a memory storing a new version load module (LM), 82 is a load module (LM) creation tool, 83 is the latest simple compressed data,
[0038]
In this case, as shown in FIG. 3, a case of creating transfer data in the case where version upgrade from the
[0039]
FIG. 13 is an explanatory diagram of transfer data, showing transfer data when upgrading from the VU
[0040]
14 and 15 are explanatory diagrams of the management load module, showing management information when upgrading from the VU
[0041]
FIG. 16 is an explanatory diagram of a file structure when the version is upgraded from the
[0042]
FIG. 18 shows an added serial command when the upgrade process is performed from the VU mobile device 2 (see FIG. 2) to the modified
[0043]
The mobile device version number notification serial transfers version information including the CRC from the modified
[0044]
The all area check result notification serial transmits the check result from the repair mobile 1 to the VU mobile 2. The upgrade completion transmission serial notifies the upgrade
[0045]
FIGS. 19 and 20 are sequence explanatory diagrams in the case of upgrading from a VU mobile station to a modified mobile station, and the parameter P1 of FIG. 18 is shown in parentheses. First, in the VU mobile device, 1) the power is turned on, and the modified mobile device is connected by a serial data transfer 2) cable. 3) Turn on the power of the repaired mobile device and activate the soft writing mode. 4) 1 of the VU mobile device (showing “1” in the numeric keypad, but specify with other keys) It is also possible to make a request to start a software refurbishment program, and 5) transfer the software refurbishment program to the remodeling mobile device.
[0046]
The repair mobile device receives the software repair program, starts the repair process, and checks whether the battery voltage of the repair mobile device is a voltage that can guarantee normal operation. 6) Protected area (non-upgrade target area) The area checksum is calculated to enter the mode change / recovery waiting mode, and 7) the current version information is sent from the modified mobile unit to the VU mobile unit (80). That is, the mobile device version number notification serial command is executed. The VU mobile device determines whether or not it is a version upgrade target from the version information from the modified mobile device, and ends the process if the mobile device is not a target. In the case of a mobile device to be upgraded, 8) new version information is notified to the repaired mobile device (N). That is, the new version number notification serial command is executed.
[0047]
The modified mobile device receives the new version information and notifies the check result to the VU mobile device (C). That is, a check result notification serial command is executed. The VU mobile device 10) transfers the differentially compressed data for each block (W). That is, the write data transmission serial command is executed. In this case, management information including the version number is also transferred from the VU mobile device. The modified mobile device decompresses and decompresses the differential compressed data in block units according to the software modified program, and 11) performs ROM writing and performs CRC calculation on the target area. Then, 12) the received CRC value is compared with the CRC value of the calculation result, and the comparison result is notified to the VU mobile station (C). That is, a check result notification serial command is executed. Then, the processes 10) to 13) are repeated 14) for the number of blocks.
[0048]
Then, when the VU mobile station receives the CRC notification of the final block, it sends 15) a writing status check to the modified mobile station (I). That is, the write status transmission serial command is executed. The modified mobile device recalculates the checksum for the protected area (area other than the upgrade target area) and compares it with the checksum obtained before writing. In the case of a comparison match, it can be seen that the protected area due to the version upgrade is not affected. Also, the checksum of the program area is obtained and compared with the checksum transferred from the VU mobile station by the writing status check notification. 16) The comparison result is transferred to the VU mobile station (P). That is, the serial check result notification serial command is executed. If the VU mobile device determines that there is no error based on the comparison result, 17) notifies the upgrade mobile device of the completion of the upgrade (Z). That is, the upgrade completion transmission serial command is executed. 18) The modified mobile device thereby changes the mode to the normal mode.
[0049]
FIG. 21 to FIG. 23 are sequence explanatory diagrams in the case of upgrading from a personal computer (PC) to a modified mobile device, and the parameter P1 in the serial command shown in FIG. 18 is shown in parentheses. 19 and 20, the version is upgraded by the same processing as the sequence shown in FIG. 19 and FIG. 20. First, the personal computer and the modified mobile device are connected with a USB cable, and before the upgrade, the model based on the mobile device serial number is used. Check whether the PC is correct, whether it is normal mode or standby mode, whether it is a restoration rewrite request, whether it is a normal mode when a restoration rewrite request is made, and after confirming the version, start notification from the personal computer to the mobile station I do. After that, as shown in the serial information parameter P1, the version upgrade is performed in the same sequence as the version upgrade operation sequence shown in FIG. 19 and FIG.
[0050]
24 and 25 show an operation sequence at the time of an error when a version upgrade is performed from a VU mobile device to a modified mobile device, and (W), (E), and (C) are shown in FIG. The parameter P1 of the serial command is shown. The Nth (Nth block from the head in block units) differential compressed data is transferred from the VU mobile device to the modified mobile device (W). That is, the write data transmission serial command is executed. The modified mobile device normally writes the previous (N−1) th differential compressed data in the nonvolatile memory and updates the write completion position to “N−1”. Then, the differentially compressed data is decompressed and expanded, the old data is saved, and the ROM (nonvolatile memory) is erased and written. That is, for each transfer of the differentially compressed data, the (transfer count−1) -th writing completion position is updated, and the old data is saved before the ROM writing. For example, if an error occurs during writing to the ROM, the saved old data is restored and an error occurrence notification is sent to the VU mobile device (E). That is, an error notification serial command is transmitted.
[0051]
The VU mobile device starts the version upgrade process again in response to the error occurrence notification. That is, the differential compressed data of the first block is transferred to the modified mobile device, and the modified mobile device performs only the CRC calculation and does not perform the ROM writing process. Then, the check result is notified to the VU mobile device, and the VU mobile device transfers the differential compression data of the second block to the modified mobile device. By repeating this, when the modified mobile unit receives the differential compression data of the Nth block that has not been written to the ROM due to the previous error, the write completion position is updated to 'N-1' and differential compression is performed. The data is decompressed and expanded, the old data is saved, the ROM is erased and written, the CRC operation is performed, and the check result is notified to the VU mobile device. The write completion position is set to “N”. Also, the N + 1th and subsequent differential compressed data are written in the ROM by the same processing. Therefore, when an error occurs, the VU mobile device sequentially transfers the differential compressed data for version up from the first, but the modified mobile device stores the write completion position when the error occurs. Thus, the ROM writing is performed every time the differentially compressed data of the block after the previous writing completion position is received, and the required time can be shortened as compared with the case where the ROM writing is repeated from the head.
[0052]
FIG. 26 and FIG. 27 are explanatory diagrams of an operation sequence at the time of version upgrade from a VU mobile device to a refurbished mobile device. The VU mobile device is turned on (1), thereby “SET TEE CABLE AND TURN ON THE ANOTHER”. “MS THEN PUSU 1 KEY” is displayed on the display screen of the VU mobile device. Therefore, the VU mobile device and the modified mobile device are connected with a dedicated cable (2). Then, the power of the repaired mobile device is turned on (3). Thereby, the light emitting diode LED of the modified mobile device is lit for a moment.
[0053]
Next, the “1” key of the VU mobile device is pressed (4). At that time, the display screen of the modified mobile device is a blank screen. Then, the upgrade process is started, and the display screen of the VU mobile device shifts to a check screen for the model and version of the refurbished mobile device, a display screen for the differential compressed data ratio, and an end screen by checking OK. In the modified mobile device, the light-emitting diode LED is turned on and off to indicate that it is being downloaded, and the display screen is finally the end screen. Then, the dedicated cable is disconnected (5), and the VU mobile device and the modified mobile device are turned off (6). As described above, the operation procedure can be displayed on the display screens of the VU mobile device and the modified mobile device.
[0054]
FIG. 28 and FIG. 29 are explanatory diagrams of an operation sequence at the time of version upgrade from a personal computer to a repaired mobile device. The personal computer PC and the repaired mobile device are connected with a USB cable (1), and the software rewriting application of the personal computer PC is executed. Version upgrade is started by pressing the button (2). In the modified mobile device, the LED blinks twice, and then the lighting continues. The display screen is a blank screen. Then, when the data transfer from the personal computer PC is completed, the LED is turned off, and then the LED is turned on, and the rewriting process for the ROM is displayed on the display screen. Upon completion, “COMPLETED” is displayed, and the LED is turned off. Then, a standby screen is displayed by automatic reset, the USB cable is removed, and the version upgrade process is terminated (3). In addition, although an example of the arrangement configuration of the LCD (liquid crystal display) screen and the LED (light emitting diode) of the mobile device is illustrated, other arrangement configurations are possible, and the LED as a user interface is also possible. The lighting control and display screen display control are not limited to the above-described embodiment.
[0055]
FIG. 30 is an explanatory diagram of an error display, and shows an example of a display when an error occurs when upgrading from a VU mobile device to a modified mobile device. For example, display contents such as an error of a mobile device type and an error due to a checksum comparison are shown. When various other errors occur, the error type can be displayed so that it can be recognized.
[0056]
【The invention's effect】
As described above, the present invention transfers data obtained by further compressing the difference between the new version software and the old version software from the upgraded mobile unit or the personal computer to the modified mobile unit via a cable. Management information including software version information is also transferred, and the repair mobile unit decompresses and decompresses the differential compressed data in block units in accordance with the software repair program, and sequentially writes it into a rewritable nonvolatile memory. The normal writing completion is stored for each block. When an error occurs, writing to the non-volatile memory is performed from the block next to the block in which normal writing is completed.
[0057]
Therefore, the upgrade process of the refurbished mobile device can use a mobile device that is easy to carry, and can also be executed from a personal computer. It becomes. Further, since the data is compressed and encoded in units of blocks, the amount of transfer data can be reduced and the time required for version upgrade can be shortened. Even when an error occurs, the time required for version upgrade can be shortened by writing to the nonvolatile memory from the error occurrence block. For example, for the same software, the time required for version upgrade in the case of the conventional method, on average, took about 23 minutes, but according to the embodiment of the present invention, it can be as short as 3 minutes and 9 seconds. The average was 4 minutes 59 seconds.
[0058]
In addition, it is possible to download the differential compressed data corresponding to the version number of the modified mobile device while holding the differential compressed data with the new version software corresponding to the old version number, for one upgrade mobile device or version upgrade The computer can support various types of modified mobile devices. In addition, a space is created between the areas corresponding to the library of the non-volatile memory, and the library with a large number of bug detections is placed on the old address side of the address. There is an advantage that the time required for version upgrade can be shortened by reducing the probability of the above.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is an explanatory diagram of the first embodiment of the present invention.
FIG. 3 is an explanatory diagram of a second embodiment of the present invention.
FIG. 4 is an explanatory diagram of a memory.
FIG. 5 is an explanatory diagram of a memory.
FIG. 6 is an explanatory diagram of a memory.
FIG. 7 is a flowchart of an in-memory arrangement process.
FIG. 8 is a flowchart of a rearrangement process.
FIG. 9 is an explanatory diagram of a load module conversion tool.
FIG. 10 is an explanatory diagram of a differential compression tool.
FIG. 11 is an explanatory diagram of a transfer data creation tool.
FIG. 12 is an explanatory diagram of a transfer data creation tool.
FIG. 13 is an explanatory diagram of transfer data.
FIG. 14 is an explanatory diagram of a management load module.
FIG. 15 is an explanatory diagram of a management load module.
FIG. 16 is an explanatory diagram of a file configuration.
FIG. 17 is an explanatory diagram of a management file.
FIG. 18 is an explanatory diagram of an added serial command.
FIG. 19 is an explanatory diagram of a version upgrade operation sequence.
FIG. 20 is an explanatory diagram of a version upgrade operation sequence.
FIG. 21 is an explanatory diagram of a version upgrade operation sequence.
FIG. 22 is an explanatory diagram of a version upgrade operation sequence.
FIG. 23 is an explanatory diagram of a version upgrade operation sequence.
FIG. 24 is an explanatory diagram of an operation sequence when an error occurs.
FIG. 25 is an explanatory diagram of an operation sequence when an error occurs.
FIG. 26 is an explanatory diagram of an operation sequence at the time of version upgrade.
FIG. 27 is an explanatory diagram of an operation sequence at the time of version upgrade.
FIG. 28 is an explanatory diagram of an operation sequence at the time of version upgrade.
FIG. 29 is an explanatory diagram of an operation sequence at the time of version upgrade.
FIG. 30 is an explanatory diagram of error display.
[Explanation of symbols]
1 Refurbished mobile equipment
2 Mobile device for version upgrade (VU mobile device)
3 Upgrade computer (PC)
4,5 cable
Claims (3)
前記バージョンアップ用移動機又はバージョンアップ用コンピュータは、新版ソフトウェアと旧版ソフトウェアとの差分圧縮データを保持し、前記改修移動機のソフトウェアの版数と前記新版ソフトウェアの版数とを含む管理情報と、ブロック単位の前記差分圧縮データとを前記ケーブルを介して前記改修移動機に転送し、該改修移動機は、不揮発性メモリに初期状態の複数のライブラリを、それぞれ増分を吸収する空き領域を介在させて格納し、且つ前記複数のライブラリのバグ検出数を求めて、該バグ検出数が少ないライブラリを前記不揮発性メモリのアドレスの若番側に、該バグ検出数が多いライブラリを前記不揮発性メモリの老番側に格納し、前記差分圧縮データを解凍して展開し、前記不揮発性メモリに順次書込む過程を含む
ことを特徴とするバージョンアップ方法。In a version upgrade method in which software is upgraded via a cable from a version upgrade mobile device or a version upgrade computer to a modified mobile device to be upgraded.
The upgrade mobile device or the upgrade computer holds differential compressed data between the new version software and the old version software, and includes management information including the version number of the modified mobile unit software and the version number of the new version software, The differential compressed data in block units is transferred to the modified mobile device via the cable, and the modified mobile device interposes a plurality of libraries in an initial state in a nonvolatile memory with free areas for absorbing the increments. The number of detected bugs of the plurality of libraries is obtained, and a library having a small number of detected bugs is assigned to a non-volatile address of the nonvolatile memory, and a library having a large number of detected bugs is stored in the nonvolatile memory. Including a process of storing in the old number side, decompressing and decompressing the differentially compressed data, and sequentially writing to the nonvolatile memory Version upgrade method characterized by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002380027A JP3864337B2 (en) | 2002-12-27 | 2002-12-27 | How to upgrade |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002380027A JP3864337B2 (en) | 2002-12-27 | 2002-12-27 | How to upgrade |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004213201A JP2004213201A (en) | 2004-07-29 |
JP3864337B2 true JP3864337B2 (en) | 2006-12-27 |
Family
ID=32816358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002380027A Expired - Fee Related JP3864337B2 (en) | 2002-12-27 | 2002-12-27 | How to upgrade |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3864337B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102537A (en) * | 2008-10-24 | 2010-05-06 | Koyo Electronics Ind Co Ltd | Method of recovering firmware for display |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4684564B2 (en) * | 2004-03-04 | 2011-05-18 | 三菱電機株式会社 | Object history management device |
CN1327342C (en) * | 2004-09-13 | 2007-07-18 | 联发科技股份有限公司 | Software updating method and its system for mobile phone |
KR100675437B1 (en) * | 2004-09-16 | 2007-01-29 | 주삼영 | Central processing unit For singing room machinery and MP3 |
JP2006085534A (en) * | 2004-09-17 | 2006-03-30 | Fujitsu Ltd | Information processor, software update method of information processor, and program |
JP2008522254A (en) * | 2004-11-08 | 2008-06-26 | イノパス・ソフトウェアー・インコーポレーテッド | Static file system difference detection and update |
JP4533164B2 (en) * | 2005-01-27 | 2010-09-01 | 富士フイルム株式会社 | Imaging device |
US7873959B2 (en) * | 2005-02-01 | 2011-01-18 | Microsoft Corporation | Publishing the status of and updating firmware components |
JP4287398B2 (en) * | 2005-03-29 | 2009-07-01 | 東芝情報システム株式会社 | Encryption / decryption system, ciphertext generation program, and ciphertext decryption program |
JP2007026318A (en) * | 2005-07-20 | 2007-02-01 | Nec Corp | Mobile phone, system and method for generating program, and system and method for updating program |
KR101426710B1 (en) * | 2006-07-14 | 2014-09-23 | 삼성전자주식회사 | Device and method for upgrading version information of terminal |
KR20080037450A (en) * | 2006-10-26 | 2008-04-30 | 웹싱크 주식회사 | System and method for processing update software run on mobile terminal platform |
JP4974172B2 (en) * | 2007-12-10 | 2012-07-11 | ソニーモバイルコミュニケーションズ株式会社 | Portable terminal device, communication program storage method, and multiband communication method |
JP2010191665A (en) * | 2009-02-18 | 2010-09-02 | Sony Corp | Information processor, information processing method and program, and recording medium |
JP5349104B2 (en) * | 2009-03-25 | 2013-11-20 | 富士通株式会社 | Electronic device and program update method |
JP6396365B2 (en) * | 2016-05-31 | 2018-09-26 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing system, information processing apparatus, and data acquisition method |
JP7314867B2 (en) * | 2020-06-18 | 2023-07-26 | トヨタ自動車株式会社 | masters, network systems, methods, programs, centers and vehicles |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02299038A (en) * | 1989-05-12 | 1990-12-11 | Nec Corp | File access device |
JP3610528B2 (en) * | 1995-01-24 | 2005-01-12 | ブラザー工業株式会社 | Memory management method and apparatus |
JPH0921526A (en) * | 1995-07-05 | 1997-01-21 | Paloma Ind Ltd | Combustion controller |
JPH09160767A (en) * | 1995-12-07 | 1997-06-20 | Canon Inc | Image forming device and its control method |
JPH09284839A (en) * | 1996-04-18 | 1997-10-31 | Kokusai Electric Co Ltd | Portable telephone system |
JP3409983B2 (en) * | 1996-11-29 | 2003-05-26 | 富士通株式会社 | Communications system |
JP3045118B2 (en) * | 1997-09-30 | 2000-05-29 | 日本電気株式会社 | Method of downloading operation program of mobile communication station and machine-readable recording medium storing program |
JPH11120487A (en) * | 1997-10-21 | 1999-04-30 | Toyota Motor Corp | Mobile object terminal equipment, for providing device, system, and method information and medium recording program for mobile object terminal equipment |
JP2000293366A (en) * | 1999-04-06 | 2000-10-20 | Mitsubishi Electric Corp | Method for updating module for set top box |
JP2000330779A (en) * | 1999-05-18 | 2000-11-30 | Nec Corp | System and method for remotely updating firmware program |
JP2002207599A (en) * | 2001-01-05 | 2002-07-26 | Kenwood Corp | Communication terminal and software update system thereof |
-
2002
- 2002-12-27 JP JP2002380027A patent/JP3864337B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102537A (en) * | 2008-10-24 | 2010-05-06 | Koyo Electronics Ind Co Ltd | Method of recovering firmware for display |
Also Published As
Publication number | Publication date |
---|---|
JP2004213201A (en) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3864337B2 (en) | How to upgrade | |
US8201054B2 (en) | Fault-tolerant method and apparatus for updating compressed read-only file systems | |
US8196130B2 (en) | Tri-phase boot process in electronic devices | |
EP2229625B1 (en) | Updating firmware of an electronic device | |
KR101417759B1 (en) | Device and method for upgrading information of system | |
RU2419839C2 (en) | Software update system and method for portable ota supporting mobile terminal | |
US6832373B2 (en) | System and method for updating and distributing information | |
US7669195B1 (en) | Electronic device network supporting compression and decompression in electronic devices and update generator | |
US8200886B2 (en) | Efficient system and method for updating a memory device | |
KR100506785B1 (en) | System and method for updating and distributing information | |
US7805719B2 (en) | System and method for updating and distributing information | |
US7096311B2 (en) | Updating electronic files using byte-level file differencing and updating algorithms | |
US8726259B2 (en) | System and method for preserving device parameters during a FOTA upgrade | |
KR100774857B1 (en) | Communication terminal software updating method, communication terminal, and software updating method | |
US7802129B2 (en) | Mobile handset employing efficient backup and recovery of blocks during update | |
EP1584005B1 (en) | Mobile handset with a fault tolerant update agent | |
CN112527370A (en) | Method for remotely and differentially upgrading Internet of things equipment | |
WO2005088448A1 (en) | Method and apparatus for reliable in-place update | |
CN112152846B (en) | Metering instrument remote upgrading method based on Internet of things | |
CN115509591A (en) | Firmware differentiated hot upgrading method | |
JP2010079382A (en) | Software update method | |
KR100876295B1 (en) | Method for creating inverse delta file and method for recovering firmware using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060807 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060920 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |