説明

ソフトウェア更新システム、ソフトウェア更新方法、携帯電話端末及びプログラム

【課題】小さい容量の外部メモリに、複数の更新用ソフトウェアを格納させる。
【解決手段】携帯電話端末10のソフトウェアを構成する基本プログラム共通コードPc1、固定共通コードDt 1、差分コードDd1、差分コードDd2を格納した外部メモリ11と、基本プログラム共通コードPc1を外部メモリ11から携帯電話端末内10に読み込むソフトロード処理を行うソフトロードプログラムPg1を有する情報処理装置20とした。また、携帯電話端末10のソフトウェアを構成する基本プログラム共通コードPc1、固定共通コードDt 1、差分コードDd1、差分コードDd2、ソフトロード実行プログラムPg1を格納した外部メモリ11と、基本プログラム共通コードPc1を外部メモリ11から携帯電話端末内10に読み込むソフトロード処理を行うソフトロードプログラムSd1を有する携帯電話端末10とした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯電話端末のソフトウェアの更新システム及び方法と、そのシステムに用いられる携帯電話端末並びにそのソフトウェアの更新処理を実行するプログラムに関する。
【背景技術】
【0002】
携帯電話端末等の電子機器のソフトウェアには、特に開発の段階においてはバグと呼ばれる不具合が含まれていることが多く、その修正も頻繁に行われる。また、機能の追加や改善を行ったりするためのソフトウェアのバージョンアップもよく行われる。
【0003】
このようなバグの修正やソフトウェアのバージョンアップを行う手法としては、修正済みのプログラムをメモリカード等の外部メモリに記憶させておき、外部メモリに記憶されたプログラムを携帯電話端末内にロードするという手法が知られている。なお、以下の説明においては、外部メモリやPC等に記憶されたプログラムを携帯端末内に取り込む処理を、ソフトロードと称する。
【0004】
まず、外部メモリを用いたソフトロードについて説明するため、図7を参照して携帯電話端末としての携帯電話端末100の内部構成例について説明する。図7に示した携帯電話端末100には、NAND型フラッシュメモリ(以下、NANDメモリとも称する)からブート(起動)を行うNANDブート方式が採用されており、ソフトロードもNANDブートの仕組みを利用して行われる。
【0005】
図7に示した携帯電話端末100は、外部メモリ101が取り付けられる外部メモリインターフェース(以下、I/Fと称する)部102を有しており、外部メモリI/F部102は、バス110に接続されている。バス110には、第1の記憶部としての不揮発性メモリ103、第2の記憶部としての揮発性メモリ104、制御部105も接続されている。不揮発性メモリ103は、NANDメモリで構成してあり、外部メモリ101を用いたソフトロードを実行するためのブートコード格納領域と、データを格納するためのユーザデータ格納領域が定義されている。不揮発性メモリ103の構成の詳細については、次の図8を参照して後述する。
【0006】
揮発性メモリ104は、SDRAM(Synchronous Dynamic Random Access Memory)等で構成してある。制御部105は、MPU(Micro Processing Unit)等より、携帯電話端末100の各部の制御を行う。
【0007】
また携帯電話端末100は、操作入力部106と表示部107を有する。操作入力部106は、キーやジョグダイヤル、スイッチ等よりなり、ユーザからの操作内容に応じた操作信号を生成して、生成した操作信号を制御部105に供給する。表示部107は、液晶パネルや有機EL(Electro Luminescence)等のLCD(Liquid Crystal Display)等で構成される。表示部107には、ソフトロードの完了を通知する表示等が表示される。
【0008】
次に、図8を参照して、外部メモリ101と不揮発性メモリ103の内部構成について説明する。外部メモリ101には、図8(a)に示すように、ソフトロード用プログラムP10として、ソフトロード実行プログラムPg10(ソフトロード実行機能部)と、シーケンスファイルSf10とが格納されている。ソフトロード実行プログラムPg10とは、ソフトロードを実行するプログラムであり、具体的には、外部メモリ101からプログラムコードPc10を読み出して、不揮発性メモリ103上に書き込む処理を行う。シーケンスファイルSf10は、ソフトロードの手順がコマンド形式で記載されたファイルである。外部メモリ101内には、ソフトウェアとしてのプログラムコードPc10と、文字フォント等の情報が含まれた固定データDt10も格納されている。
【0009】
不揮発性メモリ103においては、図8(b)に示すように、ブートコードBc10を格納する領域であるブート部Rg10と、プログラムコードPc10が格納されるプログラムコード格納領域Rg20が定義されている。また、携帯電話端末100の起動(ブート)時に、外部メモリ103からソフトロード実行プログラムPg10を読み出す、ブートローダBd10を格納したブートローダ格納領域Rg30と、固定データDt10等が格納されるユーザデータ格納領域Rg40が定義されている。
【0010】
このように構成された携帯電話端末100におけるソフトロードの実行手順を、図9に示してある。携帯電話端末100では、まず電源が投入されると(ステップS51)、NANDメモリとしての不揮発性メモリ103に格納されたブートコードBc10にて、ソフトロード実行のトリガが認識されたか否かが判断される(ステップS52)。ソフトロード実行のトリガとしては、例えば操作入力部106におけるキー多重押しなどが割り当てられていることが通常である。携帯電話端末100での通常の動作時に、誤ってソフトロードが実行されてしまうことを防止する目的によるものであり、キーの割り当てや組み合わせ、押下回数などは、複雑なものに設定されている。
【0011】
操作入力部106を介して入力された内容が、ソフトロード実行のトリガとして予め設定されたものと一致している場合には、ブートコードBc10によって、操作内容がソフト実行のトリガとして認識される。この場合は、処理がブートコードBc10からブートローダBd10に受け渡される(ステップS53)。ブートコードBc10によってソフトロード実行のトリガが認識されなかった場合には、ここで処理は終了となる。
【0012】
次に、ブートローダBd10において、外部メモリI/F部102に外部メモリ101が接続されているか否かの判断がされる(ステップS54)。外部メモリ101が装着されていない場合には、ここで処理は終了になる。外部メモリ101が装着されていると判断された場合には、次に、外部メモリ101内にソフトロード用プログラムP10が格納されているか否かの判断が行われ(ステップS55)、外部メモリ101内にソフトロード用プログラムP10が記憶されていない場合には、ここで処理が終了となる。
【0013】
外部メモリ101内にソフトロード用プログラムP10が存在した場合には、ブートローダBd1によって、ソフトロード用プログラムP10のうちソフトロード実行プログラムPg10が、外部メモリ101から読み出される。そして、読み出されたソフトロード実行プログラムPg10は、揮発性メモリ104に転送される(ステップS56)。
【0014】
揮発性メモリ104上でソフトロード実行プログラムPg10が実行されると(ステップS57)、外部メモリ101よりシーケンスファイルSf10が読み出される。続いて、シーケンスファイルSf10に記載されたコマンドが実行されることで(ステップS58)、外部メモリ101内のプログラムコードPc10と固定データDt10とが携帯電話端末100内に取り込まれ、不揮発性メモリ103に転送される(ステップS59)。不揮発性メモリ103に転送されたプログラムコードPc10は、プログラムコード格納領域Rg20に書き込まれ、固定データDt10はユーザデータ格納領域Rg40に書き込まれる(ステップS60)。
【0015】
このように、NANDブート方式を用いて外部メモリ101からソフトロードを行う場合は、アクセス速度が非常に高速なSDRAM(揮発性メモリ104)上でソフトロード実行プログラムが実行される。そしてその結果、読み出し速度が高速なNANDメモリ(不揮発性メモリ103)に、プログラムコードPc10が転送される。従って、ソフトロードの処理を高速化することができる。
【0016】
次に、USBケーブル等で構成したソフトロード専用ケーブル(治具)を用いてソフトロードを行う場合のシステム構成例を、図10に示してある。図10において、図8と対応する箇所には同一の符号を付してある。図10には、PC200と携帯電話端末100Aとが、ソフトロード専用ケーブルCb10とで接続された状態を示してある。PC200内の、不揮発性メモリ等で構成される記憶部210には、携帯電話端末100Aへのソフトロードを実現するためのローダソフトLs1と、ソフトロード用プログラムP10A、プログラムコードPc10、固定データDt10が記憶されている。またPC200は、USB用コネクタが接続されるコネクタ接続部230を有する。
【0017】
携帯電話端末100Aは、SDRAM等で構成された揮発性メモリ103と、NANDメモリで構成された不揮発性メモリ104と、18ピンコネクタが接続されるコネクタ接続部230を有する。
【0018】
PC200と携帯電話端末100A間を接続しているソフトロード専用ケーブルCb10は、その一端をUSBのコネクタで構成し、もう一端を18ピンのコネクタで構成してある(いずれのコネクタも、図10においては図示略)。また、PC200から送信される制御信号の内容に応じて、携帯電話端末100Aのコネクタ接続部230に印加する電圧のレベルを可変させる機能を有している。例えば、通常はコネクタ接続部230に対して5Vの電圧を印加しているところ、PC200よりソフトロードを行うモードへの切り替えを指示する制御信号が供給された場合には、印可電圧を5Vより少し低い値とするよう、電圧レベルを変換する処理を行う。
【0019】
携帯電話端末100Aにおいては、コネクタ接続部230に印加される電圧の変化によって、ソフトロードを行うモード(以下、ソフトロードモードと称する)への遷移を検知することができるよう構成してある。
【0020】
このように構成されたPC200と携帯電話100Aによるソフトロードの処理例を、図11のフローチャートを参照して説明する。ソフトロードを開始する際には、まずPC200においてローダソフトLs10が起動される(ステップS61)。そして、ローダソフトLs10上で、携帯電話端末100Aに転送するファイルの指定を受け付ける(ステップS62)。ここで指定を受け付けるファイルは、ソフトロード実行プログラムPg10Aとなる。
【0021】
続いて、ユーザによって、PC200と携帯電話端末100Aとがソフトロード専用ケーブルCb10で接続されると(ステップS63)、続いて携帯電話端末100Aの電源が投入される(ステップS64)。これにより、携帯電話端末100Aによって、ソフトロード専用ケーブルCb10の接続が検知される(ステップS65)。このとき、PC200から、ソフトロード専用ケーブルCb10をソフトロードモードへの切り替えを指示する制御信号が供給されているため、携帯電話端末100Aにおいて、ソフトロードモードへ遷移したことも検知される。携帯電話端末100Aは、ソフトロードモードになったことを検知すると、PC200(ローダソフトLs10)からのコマンドを受け付け可能な状態に切り替わる。
【0022】
そして、PC200から携帯電話端末100Aに、ソフトロード実行プログラムPg10Aとともに、プログラムの書き込み先アドレス(ここでは揮発性メモリ103内のアドレス)を指示したメモリ書き込みコマンドが送信される(ステップS66)。携帯電話端末100Aでは、ソフトロード実行プログラムPg10Aを受信すると、受信したソフトロード実行プログラムPg10Aを、メモリ書き込みコマンド内で指定されたアドレスに書き込む(ステップS67)。
【0023】
携帯電話端末100Aは、PC200から送信されたプログラム実行コマンドを受信すると、受信したコマンドに基づいて、揮発性メモリ103上でソフトロード実行プログラムPg10Aを実行する(ステップS68)。ソフトロード実行プログラムPg10Aが実行されると、PC200において、シーケンスファイルSf10Aに記載のコマンドに基づいて、プログラムコードPc10と固定データDt10とが携帯電話端末100Aに転送される(ステップS68)。
【0024】
携帯電話端末100Aは、ソフトロード実行プログラムPg10Aの動作に基づいて、ステップS68で受信したプログラムコードPc10と固定データDt1とを、不揮発性メモリ104内の所定の領域に格納する。
【0025】
【特許文献1】特開2006−340196号公報
【発明の開示】
【発明が解決しようとする課題】
【0026】
ところで、通常の携帯電話端末は、当初発売したモデル(以下、ベースモデルとする)に対して端末の色(カラーバリエーション)などを変更したモデル(以下、バリエーションモデルとする)を発売することがある。このバリエーションモデルは、ベースモデルとハードウェア構成はほぼ同一であるが、筐体の色変更や、内部のソフトウェア変更の部分的な修正が加えられているものが一般的である。
【0027】
このようにベースモデルに対してバリエーションモデルが存在して、同一バージョンで複数の種類のものが存在すると、その種類ごとに専用のバージョンアップ用の外部メモリが必要になる。
このため、サービス拠点などにおいては、ベースモデルとバリエーションモデルでそれぞれの専用のバージョンアップ用の外部メモリを用意する必要があり、その取り扱いが煩雑になっている。つまり、サービス拠点ではソフトウェアを最新版にバージョンアップするにあたって、ベースモデルとバリエーションモデルでそれぞれ誤った外部メモリを使用したとしてもハードウェアが同一であることから、ソフトロードが可能となってしまう。携帯電話端末は外観から判断が難しいために、バージョンが違う外部メモリを使用して、誤ったソフトウェアをソフトロードする危険性があり、バージョンアップ作業は厳重に管理して実行する必要が生じている。
【0028】
その対策として、ベースモデルとバリエーションモデルのロードモジュールを同一の外部メモリに搭載し、バージョン情報などでモデルを判断して、どちらのロードモジュールを選択するかの方式は考案されている(例えば、特許文献1参照)。しかしながら、ロードモジュールサイズが巨大化し(300MByte程度)、2つのロードモジュールを同一外部メモリに格納するためには1GB程度の大容量外部メモリが必要になってきている。外部メモリのコストは容量に比例して上昇するため、外部メモリコスト増大も懸念されている。
【0029】
本発明はかかる点に鑑みてなされたものであり、小さい容量の外部メモリで複数のモデルに対応したバージョンアップ作業ができることを目的とする。
【課題を解決するための手段】
【0030】
本発明は、携帯端末と、その携帯端末に着脱可能に構成される外部メモリと、携帯端末に接続される情報処理装置とによるシステムに適用される。
外部メモリは、その内部に、携帯端末のソフトウェアを構成するプログラムコードを格納し、そのソフトウェアとして、携帯端末の複数のバージョンに共通のプログラムコードと、各バージョンで異なる差分のプログラムコードとに分けて格納する。
情報処理装置は、接続された携帯端末のバージョンを判別し、そのバージョンに対応した共通のプログラムコード及び差分プログラムコードを外部メモリから携帯端末内に読み込み、携帯端末内の所定の領域に書き込むソフトロード処理を行うソフトロード実行機能部を有する。
携帯端末は、ソフトロード実行機能部を、自機器の内部に読み込む処理を行うソフトロード実行機能読み込み機能部と、所定の領域としてのプログラムコード格納部とを有する。
【0031】
このようにしたことで、1つの外部メモリに記憶されるプログラムコードが、携帯端末の複数のバージョンに共通のプログラムコードと、各バージョンで異なる差分のプログラムコードとに分けて格納される。従って、1つの外部メモリを使って、複数のバージョンのプログラムコードを効率よく記憶させることが可能になる。
【発明の効果】
【0032】
本発明は、複数のバージョンに対応したプログラムコードを小さい外部メモリに格納することができるため、1つのバージョンごとに外部メモリを用意する必要がなく、ソフトウェアを更新するための外部メモリとして、必要な数を減らすことができる。また、1つの外部メモリに効率よく複数のバージョンのソフトウェアを格納でき、外部メモリが必要な記憶容量を削減することができる。
【発明を実施するための最良の形態】
【0033】
<第1の実施の形態>
以下、本発明の第1の実施の形態を、図1〜4を参照して説明する。本実施の形態の例(以下本例と称する)は、本発明を、外部メモリとソフトロード専用ケーブルとを両方用いて、携帯電話端末のソフトロードを実現する構成に適用したものである。携帯電話端末は、ソフトロード専用ケーブルを使って情報処理装置であるPC(パーソナルコンピュータ装置)と接続させてある。
また本例においては、ソフトロードの実現に必要なプログラムのうち、プログラムコードは外部メモリに記憶させ、プログラムコードを携帯電話端末に読み込むためのソフトロード実行プログラム(ソフトロード実行機能部)及びシーケンスファイルを、PCに記憶させる。さらに、PCに記憶されたソフトロード実行プログラムを読み出すためのソフトロード実行プログラムローダ(ソフトロード実行機能読み込み機能部)を、携帯電話端末内に記憶させておく。そして、このように構成した各装置(機器)間で、互いに制御信号やデータをやりとりすることにより、ソフトロードを実現するようにしている。図1に、本例によるシステムの構成例を示してある。
【0034】
図1は、外部メモリ11が装着された携帯電話端末10と、PC20とが、ソフトロード専用ケーブルCb1とで接続された状態を示してある。ソフトロード専用ケーブルCb1は、従来例として図10に示したソフトロード専用ケーブルCb10と同一の構成としてあり、USBのコネクタと18ピンのコネクタとを有する。そして、18ピンのコネクタが、携帯電話端末10のコネクタ接続部18に、USBのコネクタが、PC20のコネクタ接続部24に接続されている。またソフトロード専用ケーブルCb1は、PC20から送信される制御信号の内容に応じて、携帯電話端末10のコネクタ接続部18に印加する電圧のレベルを可変させる機能も、従来のものと同様に有している。
【0035】
次に、図2を参照して、携帯電話端末10とPC20のそれぞれの内部構成例について説明する。まず携帯電話端末10の構成から説明すると、携帯電話端末10は、外部メモリ11が取り付けられる外部メモリI/F部12と、NANDメモリで構成される不揮発性メモリ13、SDRAM等で構成される揮発性メモリ14、制御部15とを有する。さらに、操作入力部16と表示部17と、ソフトロード専用ケーブルCb1が接続されるコネクタ接続部18とを有する。不揮発性メモリ13とコネクタ接続部18以外の各部については、従来例として図10に示した携帯電話端末100Aと同一の構成としてあるため、詳細な説明は省略する。
【0036】
次にPC20の内部構成例について説明すると、PC20は、不揮発性メモリや揮発性メモリ等よりなるメモリ21と、HDD(Hard Disk Drive)やDVD(Digital Versatile Disc)ドライブ等よりなる記憶部22、制御部23を有する。さらに、ソフトロード専用ケーブルCb1が接続されるコネクタ接続部24と、操作入力部25、表示部26とを有する。
【0037】
操作入力部25は、キーボードやマウス等よりなり、ユーザからの操作内容に応じた操作信号を生成して、生成した操作信号を制御部15に供給する。表示部17は、LCD(Liquid Crystal Display)等で構成され、後述するローダソフトが生成するGUI(Graphical User Interface)画面や、ソフトロード完了の通知等が表示される。
【0038】
次に、図3を参照して、携帯電話端末10と外部メモリ11、PC20のそれぞれにおける内部構成例について説明する。PC20には、メモリ21(もしくは記憶部22)の内部に、ローダソフトLs1と、ソフトロード用プログラムとしてのソフトロード実行プログラムPg1とを格納してある。
【0039】
携帯電話端末10の不揮発性メモリ13には、ブート部Rg1とプログラムコード格納領域Rg2、ユーザデータ格納領域Rg3とを定義してある。ブート部Rg1とは、携帯電話端末10の電源投入時に最初に読み込まれるブート領域である。本例においては、ブート部Rg1に「ソフトロード実行プログラムローダSd1」を記憶させてある。ソフトロード実行プログラムローダSd1とは、PC20内に記憶されているソフトロード実行プログラムPg1を、携帯電話端末10内の所定のメモリ領域に書き込むためのプログラムである。不揮発性メモリ13は、他にプログラムコード格納領域Rg2と、ユーザデータ格納領域Rg3とを有する。
【0040】
携帯電話端末10と外部メモリI/F部12を介して接続された外部メモリ11には、シーケンスファイルSf1と、基本プログラム共通コードPc1と、固定共通コードDt1と、差分コード1Dd1と、差分コード2Dd2とを記憶させてある。固定共通コードDt1は、携帯端末の複数のバージョンの機種に共通のプログラムコードである。差分コード1Dd1と差分コード2Dd2は、各バージョンで異なる差分のプログラムコードを、バージョンごと(機種ごと)に用意したものである。ここでの差分とは、共通のプログラムコードからの差分である。
【0041】
このように構成されたPC20と携帯電話端末10と外部メモリ11とによるソフトロードの処理例を、図4のフローチャートを参照して説明する。まずPC20においてローダソフトLs1が起動されると(ステップS11)、操作入力部16(図2参照)等を介して、ソフトロード実行プログラムPg1が、携帯電話端末10への転送ファイルとして指定される(ステップS12)。
【0042】
続いて、ユーザによって、PC20と携帯電話端末10とがソフトロード専用ケーブルCb1で接続されると(ステップS13)、続いて、携帯電話端末10側の電源が投入され(ステップS14)、ソフトロード専用ケーブルCb1の接続が検知される(ステップS15)。そして、外部メモリ11が携帯電話端末10に装着されていることを確認し(ステップ16)、装着された外部メモリ内にソフトロード用のプログラムがあることを確認が行われる(ステップ17)。このとき、PC20から、ソフトロード専用ケーブルCb1をソフトロードモードへの切り替えを指示する制御信号が供給されているため、携帯電話端末10において、ソフトロードモードへ遷移したことも検知される。携帯電話端末10は、ソフトロードモードになったことを検知すると、ソフトロード実行プログラムローダSd1を起動する(ステップS18)。これにより、携帯電話端末10が、PC20(ローダソフトLs1)からのコマンドを受け付け可能な状態に切り替わる。
【0043】
次に、PC20から携帯電話端末10に、ソフトロード実行プログラムPg1とともに、プログラムの書き込み先アドレス(揮発性メモリ14(図2参照)内のアドレス)を指示したメモリ書き込みコマンドが送信される(ステップS19)。携帯電話端末10でソフトロード実行プログラムPg1が受信されると、ソフトロード実行プログラムローダSd1によって、揮発メモリ14上のメモリ書き込みコマンド内で指定されたアドレスに、ソフトロード実行プログラムPg1が書き込まれる(ステップS20)。そして、ソフトロード実行プログラムPg1が揮発メモリ14上で展開されると、処理がソフトロード実行プログラムローダSd1からソフトロード実行プログラムPg1に移される。
【0044】
携帯電話端末10は、PC20から続いて送信されるプログラム実行コマンドを受信すると、受信したコマンドに基づいて、揮発性メモリ14に書き込まれたソフトロード実行プログラムPg1を実行する(ステップS21)。ソフトロード実行プログラムPg1が実行されると外部メモリ11内のシーケンスファイルSf1に記載のコマンドに基づいて、携帯電話端末のバージョン情報が読み出され(ステップS22)、ベースモデルかバリエーションモデルかを判断する(ステップS23)。
【0045】
ベースモデルの場合は、シーケンスファイルSf1からベースモデル用のコマンドを実行し(ステップS24)、「基本プログラム共通コードPc1+固定共通コードDt1+差分コード1Dd1」を構成し、外部メモリ11より読み出される(ステップS25)。バリエーションモデルの場合は、シーケンスファイルSf1からバリエーションモデル用のコマンドを実行し(ステップS27)、「基本プログラム共通コードPc1+固定共通コードDt1+差分コード2Dd2」を構成し、外部メモリ11より読み出される(ステップS28)。
【0046】
ベースモデルが読み出された場合は、基本プログラム共通コードPc1は不揮発性メモリ13内のプログラムコード格納領域Rg2に、固定共通コードDt1は同じく不揮発メモリ13内のユーザデータ格納領域Rg3に、差分コード1Dd1はプログラムコード格納領域Rg2とユーザデータ格納領域Rg3に両方に書き込む部分の差分であるのでそれぞれの格納領域に、書き込まれる(ステップS26)。
バリエーションモデルが読み出された場合は、基本プログラム共通コードPc1は不揮発性メモリ13内のプログラムコード格納領域Rg2に、固定共通コードDt1は同じく不揮発メモリ13内のユーザデータ格納領域Rg3に、差分コード2Dd2はプログラムコード格納領域Rg2とユーザデータ格納領域Rg3に両方に書き込む部分の差分であるのでそれぞれの格納領域に、書き込まれる(ステップS29)。
【0047】
ベースモデルもしくはバリエーションモデルのすべてのプログラムコードの書き込みが完了した時点で、ソフトロードの処理も終了される。
【0048】
以上の説明した実施の形態によれば、ベースモデルとバリエーションモデルと共有する部分は共有させて、外部メモリ11に格納させることができる。即ち、ベースモデルは「基本プログラム共通コードPc1+固定共通コードDt1+差分コードDd1」が使用される。バリエーションモデルは「基本プログラム共通コードPc1+固定共通コードDt1+差分コードDd2」が使用される。この構成の場合、外部メモリ11には「基本プログラム共通コードPc1+固定共通コードDt1+差分コード1Dd1+差分コード2Dd2」という構成で格納することができる。そして、ソフトロード時には、外部メモリ11に格納されているシーケンスファイルSf1に従って、携帯電話端末のモデルを判断する。そして、判断したモデルのプログラムコードを構成し、携帯電話端末内のプログラムコード格納領域Rg2とユーザデータ格納領域Rg3にそのプログラムコードを書き込まれる。
【0049】
これにより、外部メモリにベースモデルのプログラムコードとバリエーションモデルのプラグラムコードの両方ともに格納する場合、従来は2つのコードを個別に格納しなければならないのが、小さい容量にすることができる。即ち、従来は、「ベースモデル用基本プログラムコード+ベースモデル用固定コード」と「バリエーションモデル用基本プログラムコード+バリエーションモデル用固定コード」を格納しなければならない。これに対して本例の場合には、「基本プログラム共通コードPc1+固定共通コードDt1+差分コード1Dd1+差分コード2Dd2」という構成にすることができ、外部メモリ11により小さい容量で格納することができる。
【0050】
さらに、複数のバージョンモデルに対応したい場合は、対応したいバージョンモデルの数だけの差分コードを、同様の構成で外部メモリに格納することで対応することができる。
【0051】
また、外部メモリに格納されているシーケンスファイルは、携帯電話端末のモデルを判断し、判断したモデルに合わせて外部メモリ内にあるプラグラムコードで構成を組み、携帯電話端末の内部の不揮発性メモリに読み込ませることができ、ソフトロードの手順が一括管理することができる。
【0052】
<第2の実施の形態>
次に、図5及び図6を参照して、本発明の第2の実施の形態の例について説明する。
本例は、バージョンアップ作業を、第1の実施の形態よりもさらに簡易な構成としたものである。具体的には、外部メモリと携帯電話端末のみの構成で、携帯電話端末の操作で複数のモデルに対応したバージョンアップ作業が行えるようにしたものである。本例におけるシステムの内部構成は、図2に示したものからPC20とソフトロード専用ケーブルの箇所を削除した構成と同一であるため、システム構成については説明を省略する。
【0053】
図5に、本例における携帯電話端末10′と外部メモリ11′の内部構成例を示してある。図5において、図3と対応する箇所には同一の符号を付してある。
図5に示した外部メモリ11′の場合には、外部メモリ11に、ソフトロード実行プログラムPg1と、シーケンスファイルSf1と、基本プログラム共通コードPc1と、固定共通コードDt1と、差分コード1Dd1と、差分コード2Dd2とを記憶させてある。ソフトロード実行プログラムPg1は、ソフトロード実行機能を行うプログラムである。この外部メモリ11に記憶されたソフトロード実行プログラムを読み出すためのソフトロード実行プログラムローダSd1(ソフトロード実行機能読み込み機能部)を、携帯電話端末10′内に記憶させておく。
【0054】
このように構成された携帯電話端末10′におけるソフトロードの実行手順を、図6に示してある。
携帯電話端末10′では、電源が投入したあと(ステップS31)、携帯電話端末を操作して、不揮発性メモリ13に格納されたソフトロード実行プログラムローダSd1を起動させる(ステップS32)。その後、外部メモリ11′が携帯電話端末10′に装着されていることを確認し(ステップ33)、装着された外部メモリ内にソフトロード用のプログラムがあることを確認が行われる(ステップ34)。
【0055】
次に、外部メモリに格納されているソフトロード実行プログラムPg1を読み出して、携帯電話端末10′の揮発メモリ104上のメモリ書き込みコマンド内で指定されたアドレスに、ソフトロード実行プログラムPg1が書き込まれ(ステップS35)、書き込まれたソフトロード実行プログラムPg1を実行する(ステップS36)。
【0056】
ソフトロード実行プログラムPg1が実行されると外部メモリ11′内のシーケンスファイルSf1に記載のコマンドに基づいて、携帯電話端末のバージョン情報が読み出され(ステップS37)、ベースモデルかバリエーションモデルかを判断する(ステップS38)。
【0057】
ベースモデルの場合は、シーケンスファイルSf1からベースモデル用のコマンドを実行し(ステップS39)、「基本プログラム共通コードPc1+固定共通コードDt1+差分コード1Dd1」を構成し、外部メモリ11′より読み出される(ステップS40)。バリエーションモデルの場合は、シーケンスファイルSf1からバリエーションモデル用のコマンドを実行し(ステップS42)、「基本プログラム共通コードPc1+固定共通コードDt1+差分コード2Dd2」を構成し、外部メモリ11′より読み出される(ステップS43)。
【0058】
ベースモデルが読み出された場合は、基本プログラム共通コードPc1は不揮発性メモリ13内のプログラムコード格納領域Rg2に、固定共通コードDt1は同じく不揮発メモリ13内のユーザデータ格納領域Rg3に、差分コード1Dd1はプログラムコード格納領域Rg2とユーザデータ格納領域Rg3に両方に書き込む部分の差分であるのでそれぞれの格納領域に、書き込まれる(ステップS41)。
【0059】
バリエーションモデルが読み出された場合は、基本プログラム共通コードPc1は不揮発性メモリ13内のプログラムコード格納領域Rg2に、固定共通コードDt1は同じく不揮発メモリ13内のユーザデータ格納領域Rg3に、差分コード2Dd2はプログラムコード格納領域Rg2とユーザデータ格納領域Rg3に両方に書き込む部分の差分であるのでそれぞれの格納領域に、書き込まれる(ステップS44)。
【0060】
ベースモデルもしくはバリエーションモデルのすべてのプログラムコードの書き込みが完了した時点で、ソフトロードの処理も終了される。
【0061】
第2の実施の形態によれば、外部メモリ11のみがあれば、PCがなくとも手軽に携帯電話端末のバージョンアップ作業が行うことができる。従って、第一実施の形態における効果に加えて、PCをおけないサービス拠点などでバージョンアップ作業を行うことができるという効果を有する。
【0062】
なお、上述した第1及び第2の実施の形態の例においては、携帯端末を携帯電話端末に適用した例を挙げたが、これに限定されるものではない。例えば、PDA(Personal Digital Assistants)等の情報端末や、ゲーム端末等、ソフトウェアの書き換え処理を要する他の携帯端末に適用するようにしてもよい。
【図面の簡単な説明】
【0063】
【図1】本発明の第1の実施の形態によるシステムの構成例を示す概略図である。
【図2】本発明の第1の実施の形態によるシステムの内部構成例を示すブロック図である。
【図3】本発明の第1の実施の形態によるPCと携帯電話端末と外部メモリの内部構成例を示すブロック図である。
【図4】本発明の第1の実施の形態によるソフトロード処理の例を示すフローチャートである。
【図5】本発明の第2の実施の形態による携帯電話端末と外部メモリの内部構成例を示すブロック図である。
【図6】本発明の第2の実施の形態によるソフトロード処理の例を示すフローチャートである。
【図7】従来の携帯電話端末の内部構成例を示すブロック図である。
【図8】従来の外部メモリと携帯電話端末内の不揮発メモリの内部構成例を示すブロック図である。
【図9】従来の外部メモリを用いたソフトロードの処理例を示すフローチャートである。
【図10】従来のケーブルを用いたソフトロード処理を行う場合のシステム構成例を示す説明図である。
【図11】従来のケーブルを用いたソフトロード処理の例を示すフローチャートである。
【符号の説明】
【0064】
10…携帯電話端末、11…外部メモリ、12…外部メモリI/F部、13…不揮発性メモリ、14…揮発性メモリ、15…制御部、16…操作入力部、17…表示部17、18…コネクタ接続部、20…PC、21…メモリ、22…記憶部、23…制御部、24…コネクタ接続部、25…操作入力部、26…表示部、Cb1…ソフトロード専用ケーブル、Dd1…差分データ1、Dd2…差分データ2、Dt1…固定共通データ、Ls1…ローダソフト、Pc1…基本プログラム共通コード、Pg1…ソフトロード実行プログラム、Rg1…ブート部、Rg2…プログラムコード格納領域、Rg3…ユーザデータ格納領域、Sd1…ソフトロード実行プログラムローダ、Sf1…シーケンスファイル

【特許請求の範囲】
【請求項1】
携帯端末に着脱可能に構成され、その内部に、携帯端末のソフトウェアを構成するプログラムコードを格納し、そのソフトウェアとして、携帯端末の複数のバージョンに共通のプログラムコードと、各バージョンで異なる差分のプログラムコードとに分けて格納する外部メモリと、
接続された携帯端末のバージョンを判別し、そのバージョンに対応した前記共通のプログラムコード及び前記差分プログラムコードを前記外部メモリから前記携帯端末内に読み込み、前記携帯端末内の所定の領域に書き込むソフトロード処理を行うソフトロード実行機能部を有する情報処理装置と、
前記ソフトロード実行機能部を、自機器の内部に読み込む処理を行うソフトロード実行機能読み込み機能部と、
前記所定の領域としてのプログラムコード格納部とを有する携帯端末とを備えた
ソフトウェア更新システム。
【請求項2】
前記情報処理装置と前記携帯端末とを接続する接続部をさらに備え、
前記携帯端末は、その一端が前記情報処理装置と接続された前記接続部が、当該携帯端末に接続されたことを検知すると、前記ソフトロード実行機能読み込み機能部での処理を開始させる
請求項1記載のソフトウェア更新システム。
【請求項3】
前記携帯端末は、当該携帯端末の起動時に最初に読み込まれるプログラムを格納するブート領域を有し、
前記ソフトロード実行機能読み込み機能部は、前記ブート領域に格納される
請求項2記載のソフトウェア更新システム。
【請求項4】
前記携帯端末は、不揮発性メモリで構成した第1の記憶部と、
揮発性メモリで構成し、前記プログラムコード格納部を有する第2の記憶部とを備え、
前記ソフトロード実行機能読み込み機能部によって、当該携帯端末内に読み込まれた、前記ソフトロード実行機能部によるソフトロード処理は、前記第1の記憶部において実行される
請求項3記載のソフトウェア更新システム。
【請求項5】
前記ソフトロード実行機能部は、前記外部メモリ内に格納され、
前記携帯端末は、前記ソフトロード実行機能部を当該携帯端末内に読み込む処理を行う第2のソフトロード実行機能読み込み機能部を備える
請求項4記載のソフトウェア更新システム。
【請求項6】
当該携帯端末の起動時に最初に読み込まれるブート領域に格納され、外部メモリ内に記憶された携帯端末の複数のバージョンに共通のプログラムコードと、各バージョンで異なる差分のプログラムコードの内の、当該携帯端末のバージョンに該当する共通のプログラムコードと差分のプログラムコードを当該携帯端末内に読み込むソフトロード処理を行うソフトロード実行機能部を有する情報処理装置との、治具による接続を検知した場合に、前記ソフトロード実行機能部を前記情報処理装置から当該携帯端末内に読み込む処理を行うソフトロード実行機能部読み込み機能部と、
前記ソフトロード実行機能部によるソフトロード処理が実行される領域としての第1の記憶部と、
前記ソフトロード実行機能によるソフトロード処理によって、前記外部メモリ内から読み込まれた前記共通のプログラムコードと前記差分のプログラムコードが記憶される領域としての第2の領域とを備えた
携帯端末。
【請求項7】
前記第1の記憶部は揮発性メモリとして構成され、前記第2の記憶部は不揮発性メモリで構成される
請求項6記載の携帯端末。
【請求項8】
外部メモリ内に記憶された携帯端末の複数のバージョンに共通のプログラムコードと各バージョンで異なる差分のプログラムコードを当該携帯端末内に読み込むソフトロード処理を行うソフトロード実行機能部を有する情報処理装置との、治具による接続を検知するステップと、
前記治具による接続の検知時に、前記情報処理装置から前記ソフトロード実行機能部を読み出すステップと、
揮発性メモリとして構成した第1の記憶部において、前記ソフトロード実行機能部を実行するステップと、
前記ソフトロード実行機能部によるソフトロード処理によって、前記外部メモリから読み出された前記複数のバージョンに共通のプログラムコードと各バージョンで異なる差分のプログラムコードを、不揮発性メモリとして構成した第2の記憶部に書き込むステップとを有する
ソフトウェア更新方法。
【請求項9】
外部メモリ内に記憶された携帯端末の複数のバージョンに共通のプログラムコードと各バージョンで異なる差分のプログラムコードを当該携帯端末内に読み込むソフトロード処理を行うソフトロード実行機能部を有する情報処理装置との、治具による接続を検知するステップと、
前記治具による接続の検知時に、前記情報処理装置から前記ソフトロード実行機能部を読み出すステップと、
揮発性メモリとして構成した第1の記憶部において、前記ソフトロード実行機能部を実行するステップと、
前記ソフトロード実行機能部によるソフトロード処理によって、前記外部メモリから読み出された前記プログラムコードを、不揮発性メモリとして構成した第2の記憶部に書き込むステップとをコンピュータに実行させるための
プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate