[go: up one dir, main page]

JP2010044574A - 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム - Google Patents

携帯端末、携帯端末制御方法、及び携帯端末制御プログラム Download PDF

Info

Publication number
JP2010044574A
JP2010044574A JP2008208006A JP2008208006A JP2010044574A JP 2010044574 A JP2010044574 A JP 2010044574A JP 2008208006 A JP2008208006 A JP 2008208006A JP 2008208006 A JP2008208006 A JP 2008208006A JP 2010044574 A JP2010044574 A JP 2010044574A
Authority
JP
Japan
Prior art keywords
program
cdma
data
gsm
software
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.)
Pending
Application number
JP2008208006A
Other languages
English (en)
Inventor
Tomohiro Ichikawa
知宏 市川
Yasuyuki Hirao
康幸 平尾
Katsumi Aoyanagi
勝己 青柳
Kenji Asa
健治 麻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Ericsson Mobile Communications Japan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Ericsson Mobile Communications Japan Inc filed Critical Sony Ericsson Mobile Communications Japan Inc
Priority to JP2008208006A priority Critical patent/JP2010044574A/ja
Priority to US12/500,876 priority patent/US8826263B2/en
Priority to EP09166313A priority patent/EP2154609A1/en
Priority to CN200910165882.6A priority patent/CN101650661B/zh
Publication of JP2010044574A publication Critical patent/JP2010044574A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 マルチブート対応の端末において、メモリ容量の効率利用を可能としつつソフトウェアアップデート時のバージョンアップ管理を容易にする。
【解決手段】
NANDメモリ13には、例えばCDMAプログラムとCDMA→GSM差分データが格納されている。モデムプロセッサ10は、CDMAプログラムとCDMA→GSM差分データとを用いてGSMプログラムを生成可能となされている。そして、ユーザにより事前にCDMAモードでの起動が選択されている場合、モデムプロセッサ10は、NANDメモリ13のCDMAプログラムを起動させる。一方、ユーザによりGSMモードでの起動が選択されている場合、モデムプロセッサ10は、NANDメモリ13のCDMAプログラムとCDMA→GSM差分データからGSMプログラムを生成して起動させる。
【選択図】 図1

Description

本発明は、複数の異なるプログラムを適宜切り替えて起動可能なマルチブート対応の携帯端末、携帯端末制御方法、及び携帯端末制御プログラムに関する。
近年は、例えばCDMA(Code Division Multiple Access)通信方式とGSM(Global Systems for Mobile)通信方式などの異なる二つの通信方式を適宜切り替えて無線通信を行う携帯通信端末が商品化されている。
このような通信方式の切り替えを実現する最も簡単な手法としては、CDMA通信方式とGSM通信方式の無線通信処理をそれぞれ独立して実行可能なプログラムを用意し、それらプログラムを適宜切り替えて起動(ブート)させるような手法が考えられる。なお、以下の説明では、上記CDMA通信方式の無線通信処理を実行するプログラムをCDMAプログラムと表記し、GSM通信方式の無線通信処理を実行するプログラムをGSMプログラムと表記する。
すなわちこの携帯通信端末の場合、例えば図25に示すように、端末内部のNANDメモリ等には、それぞれ独立したCDMAプログラムとGSMプログラムが予め用意されている。そして、当該携帯通信端末のブート時には、ユーザ等により予め選択されたプログラムが上記NANDメモリから読み出され、SDRAM(Synchronous DRAM)等のワーク領域上に展開されて実行される。これにより、携帯通信端末では、CDMA通信方式とGSM通信方式の何れか所望の通信方式による無線通信が可能となる。
また、上述のようなCDMAプログラムとGSMプログラムを切り替えて起動するデュアルブート対応の携帯通信端末において、例えばCDMAプログラムやGSMプログラムがアップデートされる場合には、それら各プログラムが個々にアップデートされることになる。例えば、CDMAプログラムとGSMプログラムが出荷時のバージョン「V01.00.00」から「V01.00.01」へ変更され、さらに最新版のバージョン「V01.00.02」がリリースされたと仮定した場合、携帯通信端末では、図26に示すように、各バージョンのリリース順に個々にプログラムのアップデートがなされる。
その他、特開平7−93276号の公開特許公報(特許文献1)には、更新前プログラムファイルと更新後プログラムファイルの差分ファイルがある場合において、更新前プログラムと差分ファイルを合併させてメモリに展開することで更新後プログラムを生成し、当該更新後プログラムでコンピュータの立ち上げ処理を実行する技術が開示されている。なお、特許文献1に記載された更新前プログラムと更新後プログラムは、例えばバージョンが新旧で異なった同一プログラムであり、したがって上記差分ファイルは、旧バージョンのプログラムを新バージョンへアップデートするための差分データであると考えられる。
特開平7−93276号公報(図1)
ところで、上述したように、デュアルブート対応の携帯通信端末の場合、内部のNANDメモリ等には、図25のようにCDMAプログラムとGSMプログラムの両方が格納されることになる。このため、デュアルブート対応の携帯通信端末は、例えばブートプログラムが一つのみの端末に比べて多くのメモリ容量が必要になり、その結果、他のデータ用のメモリ容量(例えばユーザデータ格納領域など)が非常に少なくなってしまうという欠点がある。
さらに、デュアルブート対応の携帯通信端末において、例えばCDMAプログラムとGSMプログラムのアップデートが必要になった場合には、図26のように、それら両プログラムを個々にアップデートするような作業が必要になる。したがって、デュアルブート対応の携帯通信端末の場合、CDMAプログラムとGSMプログラムの両方のプログラムについて、それぞれのバージョン管理が必要になる。すなわち、デュアルブート対応の携帯通信端末の場合は、各プログラムのバージョン管理が複雑になり易いという欠点がある。
本発明は、このような実情に鑑みて提案されたものであり、マルチブートが可能な構成において、メモリ容量の効率利用を可能とし、またソフトウェアアップデート時のバージョン管理が容易な携帯端末、携帯端末制御方法、及び携帯端末制御プログラムを提供することを目的とする。
本発明においては、格納部には 少なくとも第1のプログラムと当該第1のプログラムを第2のプログラムへ変換するためのソフトウェア変換用データを格納している。また、本発明では、第1のプログラムと、当該第1のプログラムを第2のプログラムへ変換するためのソフトウェア変換用データとを用いて、第1のプログラムを第2のプログラムへ変換する処理を実行可能となされている。そして、本発明では、端末起動時に、第1のプログラムの起動と、第1のプログラムから第2のプログラムへの変換処理及びその変換にて生成された第2のプログラムの起動との何れか一方を、事前の起動設定値に応じて実行する。これにより、上述した課題を解決する。
また、本発明では、第1のプログラムの更新時に、旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するためのソフトウェア更新用データと、当該第1のプログラムの新バージョンに対応したソフトウェア変換用データとを取得する。さらに、その取得したソフトウェア更新用データを用いて旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新する。そして、当該更新後の第1のプログラムと、取得したソフトウェア変換用データとを、格納部へ格納する。これにより、上述した課題を解決する。
すなわち本発明によれば、格納部には、第1のプログラムとソフトウェア変換用データとが格納され、第2のプログラムについては格納していない。
また、本発明によれば、第1のプログラムを起動すべき時は、格納部の第1のプログラムを起動させ、一方、第2のプログラムを起動すべき時には、第1のプログラムとソフトウェア変換用データから第2のプログラムを生成して起動させる。
さらに本発明によれば、第1のプログラムの更新時には、ソフトウェア更新用データを取得してプログラムを更新すると共に、ソフトウェア更新用データと同時に取得した新バージョン対応のソフトウェア変換用データにより格納部のソフトウェア変換用データを上書きする。
本発明においては、格納部には、第1のプログラムとソフトウェア変換用データとを格納し、第2のプログラムは格納されないので、第2のプログラムを格納するためのメモリ容量が不要となり、メモリ容量の効率的な利用が可能となっている。
また本発明においては、第1のプログラムを起動すべき時には格納部の第1のプログラムを起動させ、第2のプログラムを起動すべき時には第1のプログラムとソフトウェア変換用データから第2のプログラムを生成・起動させるため、少なくともデュアルブートが可能である。
さらに本発明においては、第1のプログラムの更新と同時に、その更新後の第1のプログラムのバージョンに対応したソフトウェア変換用データにより、格納部のソフトウェア変換用データを上書きするようになされているため、アップデート時のバージョン管理が容易である。
以下、図面を参照しながら、本発明の一実施形態について説明する。
なお、以下の実施形態では、本発明の携帯端末の適用例として携帯電話端末を挙げているが、本実施形態にて説明する内容はあくまで一例であり、本発明はこの例に限定されないことは言うまでもない。
先ず、本発明の実施形態として、CDMA通信方式の無線通信処理を実行するCDMAプログラムとGSM通信方式の無線通信処理を実行するGSMプログラムの何れかにて起動(ブート)可能となされたデュアルブート対応の携帯電話端末を挙げる。
[本実施形態の携帯電話端末の概略構成]
図1には、本発明実施形態の携帯電話端末の概略的な内部ブロック構成例を示す。
この図1において、本実施形態の携帯電話端末は、ユーザによる事前の選択に応じて、ブート時に、CDMAエアーインターフェースによる通信に係る各種信号処理を実行するためのCDMAプログラムと、GSMエアーインターフェースによる通信に係る各種信号処理を実行するためのGSMプログラムの何れかを起動可能となされている。すなわち、本実施形態の携帯電話端末のモデムプロセッサ10は、上記CDMAプログラムとGSMプログラムの何れか起動されたプログラムを実行可能となされている。つまり、本実施形態の携帯電話端末はデュアルブート可能な端末となされている。なお、モデムプロセッサ10は、本実施形態の携帯電話端末における各部の制御や各種信号処理、NANDメモリ13やSDRAMメモリ14の書き込みや読み出しの制御等をも行う。上記CDMAプログラム又はGSMプログラムの起動時の本実施形態の携帯電話端末における動作の詳細については後述する。
RFデバイス11は、携帯電話基地局との間で無線通信を行うためのアンテナや、信号の変復調等を行うための各種回路部からなる。当該RFデバイス11は、モデムプロセッサ10と専用コントロールラインを通じて接続されている。RFデバイス11とモデムプロセッサ10との間の送受信データのやり取りや、モデムプロセッサ10によるRFデバイス11の制御は、当該専用コントロールラインを通じて行われる。
LCD(Liquid Crystal Display)部12は、携帯電話端末に設けられた、表示によるユーザインターフェースデバイスであり、液晶ディスプレイとその液晶ディスプレイを駆動する回路とからなる。なお、本実施形態では液晶ディスプレイを例示しているが、例えば有機EL(ElectroLuminescent)やFED(Field Emission Display)等の他のディスプレイであってもよい。上記LCD部12は、EBI(External Bus Interface)1バスを介してモデムプロセッサ10に接続されている。LCD部12とモデムプロセッサ10との間のデータのやり取りや、モデムプロセッサ10によるLCD部12の制御は、当該EBI1バスを介して行われる。
NANDメモリ13は、端末起動後にモデムプロセッサ10が通信等の各種信号処理や各部を制御するための各種プログラム、各種初期設定値、ユーザデータ等のその他様々なデータを格納する不揮発性のメモリである。そして、当該NANDメモリ13は、EBI1バスを介してモデムプロセッサ10に接続されている。NANDメモリ13とモデムプロセッサ10との間のデータのやり取りや、モデムプロセッサ10によるNANDメモリ13の制御は、当該EBI1バスを介して行われる。
また本実施形態の場合、NANDメモリ13には、携帯電話端末におけるデュアルブートに関連する制御を実行するブート制御プログラムと、ソフトウェアアップデートに関連する制御を実行するアップデート制御プログラムも格納されている。
さらに本実施形態の場合、NANDメモリ13には、例えばCDMAプログラムとGSMプログラムの何れか一方のみのプログラムと、当該一方のプログラムを他方のプログラムへ変換するためのソフトウェア変換用データ及びソフトウェア変換エンジン用プログラムも格納されている。なお、CDMAプログラムやGSMプログラムは、それぞれ所定のソフトウェア言語等により記述された複数のプログラム構成要素が組み合わされて形成されたプログラムとなっている。
ここで、当該NANDメモリ13に格納されている上記一方のプログラムがCDMAプログラムであった場合、上記ソフトウェア変換用データは、CDMAプログラム内においてGSMプログラムとは異なるプログラム構成要素を特定すると同時に、当該CDMAプログラム内で特定されたプログラム構成要素をGSMプログラム用のプログラム構成要素へ変換(例えば置換)するためのデータとなされる。言い換えると、この場合のソフトウェア変換用データは、CDMAプログラムとGSMプログラムとの間の差分のデータとなっている。以下の説明では、上記CDMAプログラムをGSMプログラムへ変換するためのソフトウェア変換用データを、簡略化して「CDMA→GSM差分データ」と表記することにする。
また 上述のようにNANDメモリ13にCDMAプログラムが格納されている場合、上記ソフトウェア変換エンジン用プログラムは、モデムプロセッサ10が、上記CDMA→GSM差分データを用いて上記CDMAプログラムをGSMプログラムへ変換する処理を実行するためのプログラムとなされる。以下の説明では、上記ソフトウェア変換エンジン用プログラムを簡略化して「ソフトウェア変換エンジン」と表記する。
一方、上記NANDメモリ13に格納されている上記一方のプログラムがGSMプログラムであった場合、上記ソフトウェア変換用データは、GSMプログラム内においてCDMAプログラムとは異なるプログラム構成要素を特定すると同時に、当該GSMプログラム内で特定されたプログラム構成要素をCDMAプログラム用のプログラム構成要素へ変換(置換)するためのデータとなされる。言い換えると、この場合のソフトウェア変換用データは、GSMプログラムとCDMAプログラムとの間の差分のデータとなっている。以下の説明では、上記GSMプログラムをCDMAプログラムへ変換するためのソフトウェア変換用データを、簡略化して「GSM→CDMA差分データ」と表記することにする。
また、このようにNANDメモリ13にGSMプログラムが格納されている場合、上記ソフトウェア変換エンジンは、モデムプロセッサ10が、上記GSM→CDMA差分データを用いて上記GSMプログラムをCDMAプログラムへ変換する処理を実行するためのプログラムとなされる。
SDRAMメモリ14は、モデムプロセッサ10等にて実行されるプログラムが展開されるプログラム領域と、モデムプロセッサ10の作業領域として随時データを格納するためのRAMワーク領域と、送受信データ等の各種データを一時的に蓄積するバッファ領域とを有している。当該SDRAMメモリ14は、EBI2バスを介してモデムプロセッサ10に接続されている。SDRAMメモリ14とモデムプロセッサ10との間のデータのやり取りや、モデムプロセッサ10によるSDRAMメモリ14の制御は、当該EBI2バスを介して行われる。
なお、以下の説明では、本実施形態の携帯電話端末において、ブート時にCDMAプログラムが起動された場合の動作モードをCDMAモードと呼び、ブート時にGSMプログラムが起動された場合の動作モードをGSMモードと呼ぶことにする。
[NANDメモリ上のメモリマッピング]
図2の(B)には、上記NANDメモリ13にCDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンが格納されている場合のメモリマッピング例を示す。なお、図2の(B)では、CDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。
また、図2の(A)には、図2の(B)に示された本実施形態のメモリマッピングに対する比較例として、NANDメモリ上にCDMAプログラムとGSMプログラムの両方を独立して格納した場合のメモリマッピング例を示している。
これら図2の(B)から判るように、本実施形態のようにCDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンを格納するようにした場合には、図2の(A)と比較して、より多くのユーザデータ格納領域を確保することができる。すなわち、CDMAプログラムやGSMプログラムのデータ量に比べ、CDMA→GSM差分データとソフトウェア変換エンジンのデータ量は非常に少ない。このため、図2の(B)の場合は、図2の(A)のGSMプログラムのデータ量からCDMA→GSM差分データ及びソフトウェア変換エンジンのデータ量を差し引いた分だけ、ユーザデータ格納領域が増加している。
一方、図3の(B)には、上記NANDメモリ13にGSMプログラムとGSM→CDMA差分データとソフトウェア変換エンジンとユーザデータ格納領域が格納されている場合のメモリマッピングを示す。なお、図3の(A)には、図2の(A)と同様のNANDメモリのメモリマッピング例を示している。この図3の例も図2の場合と同様であり、図3の(B)の場合は、図3の(A)のCDMAプログラムのデータ量からGSM→CDMA差分データ及びソフトウェア変換エンジンのデータ量を差し引いた分だけ、ユーザデータ格納領域が増加している。
上述のように本実施形態の場合、NANDメモリ13にはCDMAプログラムとGSMプログラムの何れか一方のみのプログラムが格納されている。また、NANDメモリ13に格納される差分データは、CDMAプログラムが格納されている場合にはCDMA→GSM差分データのみとなされ、一方、GSMプログラムが格納されている場合にはGSM→CDMA差分データのみとなる。したがって本実施形態によれば、CDMAプログラムとGSMプログラムの両方が格納される場合と比較して、ユーザデータ格納領域等を多く確保することが可能となっている。具体的には、CDMAプログラムとGSMプログラムの両方が格納される場合と比較すると、本実施形態の場合は、数MByte単位でより多くのメモリ容量を確保でき、そのメモリ容量をユーザデータ格納領域等に加えることが可能となる。
なお、本実施形態において、CDMAプログラムとGSMプログラムの何れをNANDメモリ13に格納しておくかは、それらプログラムの使用頻度を考慮して決定される。例えば、ユーザが主に使用する地域でCDMA通信方式が使用されている場合にはCDMAプログラムをNANDメモリ13に格納しておき、また、主にGSM通信方式が使用される地域である場合にはGSMプログラムを格納しておくようにする。
[デュアルブート対応の端末におけるブート時の動作]
本実施形態の携帯電話端末は、起動時には、例えばモデムプロセッサ10が、NANDメモリ13等に格納されているブート制御プログラムを実行することにより、以下に説明するような起動処理を行う。
先ず、NANDメモリ13にCDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンが格納されている場合において、事前にユーザによりCDMAモードでの起動が選択されていた場合の起動処理について、図4を参照しながら説明する。
図4は、NANDメモリ13にCDMAプログラム等が格納され、且つCDMAモードでの起動が事前に選択されていた場合において、ブート時にモデムプロセッサ10がNANDメモリ13からSDRAMメモリ14のプログラム領域へCDMAプログラムを展開する様子を示している。なお、図4の(A)はSDRAMメモリ14のメモリマッピングを示し、図4の(B)はNANDメモリ13のメモリマッピングを示している。但し、図4の(B)は、前述の図2の(B)の例と同様に、CDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。また、図4の(A)では、プログラム領域とRAMワーク領域のみ図示しており、バッファ領域等の他の領域の図示は省略している。
すなわち、NANDメモリ13にCDMAプログラム等が格納され且つCDMAモードでの起動がユーザにより事前に選択されていた場合、図4に示すように、ブート制御プログラム実行中のモデムプロセッサ10は、NANDメモリ13のCDMAプログラムをそのままSDRAMメモリ14のプログラム領域へ展開して起動させる。これにより、本実施形態の携帯電話端末はCDMAモードで起動することになる。
次に、NANDメモリ13にCDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンが格納されていた場合において、事前にユーザによりGSMモードでの起動が選択されていた場合の起動処理について、図5を参照しながら説明する。
図5は、NANDメモリ13にCDMAプログラム等が格納され、且つGSMモードでの起動が事前に選択されていた場合において、ブート時にモデムプロセッサ10が実行するプログラムの展開及びデータの転送処理の様子を示している。なお、図5の(A)はSDRAMメモリ14のメモリマッピングを示し、図5の(B)はNANDメモリ13のメモリマッピングを示している。但し、図5の(B)は、前述の図4の(B)の例と同様に、CDMAプログラムとCDMA→GSM差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。また、図5の(A)では、プログラム領域とRAMワーク領域のみ図示しており、バッファ領域等の図示は省略している。
すなわち、NANDメモリ13にCDMAプログラム等が格納され且つGSMモードでの起動がユーザにより事前に選択されていた場合、ブート制御プログラム実行中のモデムプロセッサ10は、先ずNANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開(P1)して起動する。なお、RAMワーク領域は、プログラム起動後はそのプログラムにて定義される変数等の格納領域となるが、この時点では未だブート中であるので、当該RAMワーク領域の全領域の使用が可能となっている。
次に、当該ソフトウェア変換エンジン実行中のモデムプロセッサ10は、SDRAMメモリ14のRAMワーク領域内に別途形成したソフトウェア変換用ワーク領域を用いて、NANDメモリ13のCDMAプログラムとCDMA→GSM差分データからGSMプログラムを作成(P2)する。
また、ソフトウェア変換エンジン実行中のモデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したGSMプログラムを、SDRAMメモリ14のプログラム領域へ逐次転送して展開(P3)する。なお、この時のプログラムの変換処理は、規定のブロック単位で実施されるため、上記プログラム領域への展開時には当該ブロック単位でのデータ転送が行われる。
そして、SDRAMメモリ14のプログラム領域へGSMプログラムを全て展開し終えると、モデムプロセッサ10は、当該GSMプログラムを起動させる。これにより、本実施形態の携帯電話端末はGSMモードで起動することになる。
なお、SDRAMメモリ14のプログラム領域へGSMプログラムを全て展開し終わった場合には、SDRAMメモリ14のRAMワーク領域上のソフトウェア変換エンジンとソフトウェア変換用ワーク領域上のデータを消去し、RAMワーク領域上で使用可能な領域を確保することが望ましい。
一方、NANDメモリ13に、GSMプログラムとGSM→CDMA差分データとソフトウェア変換エンジンが格納されていた場合、携帯電話端末は、ブート時に図6と図7に示すような起動処理を行う。
図6には、NANDメモリ13にGSMプログラムとGSM→CDMA差分データとソフトウェア変換エンジン等が格納され、且つGSMモードでの起動がユーザにより事前に選択されていた時の起動処理の様子を示す。なお、図6の(A)はSDRAMメモリ14のメモリマッピングを示し、図6の(B)はNANDメモリ13のメモリマッピングを示している。但し、図6の(B)は、前述の図3の例と同様に、GSMプログラムとGSM→CDMA差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。また、図6の(A)では、プログラム領域とRAMワーク領域のみ図示しており、バッファ領域等の図示は省略している。
すなわち、図6に示すように、NANDメモリ13にGSMプログラム等が格納され且つGSMモードでの起動がユーザにより事前に選択されていた場合、ブート制御プログラム実行中のモデムプロセッサ10は、NANDメモリ13のGSMプログラムをそのままSDRAMメモリ14のプログラム領域へ展開して起動させる。これにより、本実施形態の携帯電話端末はGSMモードで起動することになる。
これに対し、NANDメモリ13にGSMプログラム等が格納され、且つCDMAモードでの起動がユーザにより事前に選択されていた場合、本実施形態の携帯電話端末のブート時には、図7に示すような起動処理が行われる。
図7には、NANDメモリ13にGSMプログラム等が格納され、且つCDMAモードでの起動がユーザにより事前に選択されていた場合に、ブート時にモデムプロセッサ10が実行するプログラムの展開及びデータの転送処理の様子を示している。なお、図7の(A)はSDRAMメモリ14のメモリマッピングを示し、図7の(B)はNANDメモリ13のメモリマッピングを示している。但し、図7の(B)は、前述の図6の(B)の例と同様に、GSMプログラムとGSM→CDMA差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。また、図7の(A)では、プログラム領域とRAMワーク領域のみ図示しており、バッファ領域等の図示は省略している。
すなわち、NANDメモリ13にGSMプログラム等が格納され、且つCDMAモードでの起動がユーザにより事前に選択されていた場合、ブート制御プログラム実行中のモデムプロセッサ10は、先ず、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開(P1)して起動する。なお、この時点でのRAMワーク領域は、前述同様に全領域の使用が可能となっている。
次に、当該ソフトウェア変換エンジン実行中のモデムプロセッサ10は、SDRAMメモリ14のRAMワーク領域内に別途形成したソフトウェア変換用ワーク領域を用い、NANDメモリ13のGSMプログラムとGSM→CDMA差分データからCDMAプログラムを作成(P2)する。
また、ソフトウェア変換エンジン実行中のモデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したCDMAプログラムを、SDRAMメモリ14のプログラム領域へ逐次転送して展開(P3)する。なお、この例での転送も前述同様にブロック単位で行われる。
そして、SDRAMメモリ14のプログラム領域へCDMAプログラムを全て展開し終えると、モデムプロセッサ10は、当該CDMAプログラムを起動させる。これにより、本実施形態の携帯電話端末はCDMAモードで起動することになる。
なお、SDRAMメモリ14のプログラム領域へCDMAプログラムを全て展開し終わった場合には、SDRAMメモリ14のRAMワーク領域上のソフトウェア変換エンジンとソフトウェア変換用ワーク領域上のデータを消去して、RAMワーク領域上で使用可能な領域を確保することが望ましい。
[デュアルブート対応の端末におけるブート時の動作フローチャート]
図8には、NANDメモリ13にCDMAプログラム等が格納されている場合において、ブート時にモデムプロセッサ10にて実行される処理の流れを示す。
図8において、携帯電話端末の電源ON等により起動処理が開始されると、モデムプロセッサ10は、ブート制御プログラムの実行により、先ずNANDメモリ13等に保存されているユーザ設定値を参照する。このユーザ設定値は、前述したようにCDMAモードとGSMモードの何れで起動するかをユーザが事前に選択して設定された値であり、例えばNANDメモリ13等の不揮発性メモリ上でフラグ情報等により管理される値となされている。
そして、モデムプロセッサ10は、ステップS1の処理として、ブート時の動作モードを表すユーザ設定値がCDMAモードを示す値に設定されているか否か判断する。上記ステップS1の判断処理において、モデムプロセッサ10は、CDMAモードが設定されていると判断した場合にはステップS2へ処理を進め、一方、GSMモードが設定されていると判断した場合にはステップS3へ処理を進める。
ステップS2の処理に進むと、モデムプロセッサ10は、NANDメモリ13上のCDMAプログラムをそのままSDRAMメモリ14のプログラム領域へ展開する。
そして、モデムプロセッサ10は、当該SDRAMメモリ14のプログラム領域へ展開されたCDMAプログラムを起動させる。これにより、本実施形態の携帯電話端末はCDMAモードで起動することになる。
一方、ステップS3の処理に進むと、モデムプロセッサ10は、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開して起動する。
そして、このステップS3によるソフトウェア変換エンジンの展開及び起動が完了すると、モデムプロセッサ10は、当該ソフトウェア変換エンジンによる処理の実行に切り替わり、ステップS4へ処理を進める。
ステップS4の処理に進むと、上記モデムプロセッサ10は、SDRAMメモリ14のワーク領域内に別途形成したソフトウェア変換用ワーク領域を用い、NANDメモリ13上のCDMAプログラムとCDMA→GSM差分データからGSMプログラムを作成する。また、モデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したGSMプログラムを、SDRAMメモリ14のプログラム領域へ逐次転送して展開する。
そして、SDRAMメモリ14のプログラム領域へGSMプログラムを全て展開し終わると、モデムプロセッサ10は、ステップS5の処理として、SDRAMメモリ14のRAMワーク領域上のソフトウェア変換エンジンとソフトウェア変換用ワーク領域上のデータを消去する。
その後、モデムプロセッサ10は、上記SDRAMメモリ14のプログラム領域へ展開されたGSMプログラムを起動させる。これにより、本実施形態の携帯電話端末はGSMモードで起動することになる。なお、ステップS5におけるデータ消去処理は、GSMプログラムの起動後に行われてもよい。
図9には、NANDメモリ13にGSMプログラム等が格納されている場合において、ブート時にモデムプロセッサ10にて実行される処理の流れを示す。
図9において、携帯電話端末の電源ON等により起動処理が開始されると、モデムプロセッサ10は、NANDメモリ13等に保存されているユーザ設定値を参照し、ステップS11の処理にて、ブート時の動作モードを表すユーザ設定値がGSMモードを示す値に設定されているか否か判断する。上記ステップS11の判断処理において、モデムプロセッサ10は、GSMモードが設定されていると判断した場合にはステップS12へ処理を進め、一方、CDMAモードが設定されていると判断した場合にはステップS13へ処理を進める。
ステップS12の処理に進むと、モデムプロセッサ10は、NANDメモリ13上のGSMプログラムをそのままSDRAMメモリ14のプログラム領域へ展開し、そのCDMAプログラムを起動させる。これにより、本実施形態の携帯電話端末はGSMモードで起動することになる。
一方、ステップS13の処理に進むと、モデムプロセッサ10は、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開して起動し、ステップS14へ処理を進める。
ステップS14の処理に進むと、上記モデムプロセッサ10は、SDRAMメモリ14のソフトウェア変換用ワーク領域を用い、NANDメモリ13上のGSMプログラムとGSM→CDMA差分データからCDMAプログラムを作成する。また、モデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したCDMAプログラムを、SDRAMメモリ14のプログラム領域へ逐次転送して展開する。
そして、SDRAMメモリ14のプログラム領域へCDMAプログラムを全て展開し終わると、モデムプロセッサ10は、ステップS15の処理として、SDRAMメモリ14のRAMワーク領域上のソフトウェア変換エンジンとソフトウェア変換用ワーク領域上のデータを消去する。
その後、モデムプロセッサ10は、上記SDRAMメモリ14のプログラム領域へ展開されたCDMAプログラムを起動させる。これにより、本実施形態の携帯電話端末はCDMAモードで起動することになる。なお、ステップS15におけるデータ消去処理は、CDMAプログラムの起動後に行われてもよい。
[マルチブートの実施形態]
上述の実施形態では、CDMAプログラムとGSMプログラムの何れかで起動するデュアルブートの例について述べたが、本発明は、三つ以上のプログラムの何れかで起動するマルチブートにも適用可能である。
以下、CDMAプログラムとGSMプログラムに、さらにUMTS(Universal Mobile Telecommunications System)通信方式の無線通信処理を実行するプログラム(以下UMTSプログラムと呼ぶ。)の三つのプログラムの何れかで起動するマルチブートの例について説明する。
本実施形態のように、上記三つのプログラムの何れかで起動するマルチブートを実現する場合、NANDメモリ13には、それら三つのプログラムのうちの何れか一つのプログラムと、当該一つのプログラムをそれぞれ他のプログラムへ変換するためのソフトウェア変換用データと、ソフトウェア変換エンジンとが格納される。
ここで、当該NANDメモリ13に格納されている上記一つのプログラムがCDMAプログラムであった場合、上記ソフトウェア変換用データは、前述のCDMA→GSM差分データと、CDMAプログラムをUMTSプログラムへ変換するためのデータとの二つのデータからなる。なお、CDMAプログラムをUMTSプログラムへ変換するためのデータは、CDMAプログラム内においてUMTSプログラムとは異なるプログラム構成要素を特定すると同時に、当該CDMAプログラム内で特定されたプログラム構成要素をUMTSプログラム用のプログラム構成要素へ変換(置換)するためのデータとなされる。言い換えると、当該ソフトウェア変換用データは、CDMAプログラムとUMTSプログラムとの間の差分のデータとなる。以下の説明では、上記CDMAプログラムをUMTSプログラムへ変換するためのソフトウェア変換用データを、簡略化して「CDMA→UMTS差分データ」と表記する。
また 上記三つのプログラムの何れかで起動するマルチブートを実現する場合において、NANDメモリ13にCDMAプログラムが格納されているとき、ソフトウェア変換エンジンは、前述したCDMAプログラムをGSMプログラムに変換する機能に加えて、CDMAプログラムをUMTSプログラムに変換する機能をも実現する。すなわち、CDMAプログラムをUMTSプログラムに変換する機能は、モデムプロセッサ10が、上記CDMA→UMTS差分データを用いて上記CDMAプログラムをUMTSプログラムへ変換する処理を実行するためのプログラムにより実現される。
一方、上記三つのプログラムの何れかで起動するマルチブートを実現する場合において、上記NANDメモリ13に格納されている一つのプログラムがGSMプログラムであったとすると、上記ソフトウェア変換用データは、前述のGSM→CDMA差分データと、GSMプログラムをUMTSプログラムへ変換するためのデータの二つのデータからなる。すなわち、GSMプログラムをUMTSプログラムへ変換するためのデータは、GSMプログラム内においてUMTSプログラムとは異なるプログラム構成要素を特定すると同時に、当該GSMプログラム内で特定されたプログラム構成要素をUMTSプログラム用のプログラム構成要素へ変換するためのデータとなされる。換言すると、この場合のソフトウェア変換用データは、GSMプログラムとUMTSプログラムとの間の差分のデータとなる。以下、上記GSMプログラムをUMTSプログラムへ変換するためのソフトウェア変換用データを、簡略化して「GSM→UMTS差分データ」と表記する。
また、上記三つのプログラムの何れかで起動するマルチブートを実現する場合において、NANDメモリ13にGSMプログラムが格納されているとき、ソフトウェア変換エンジンは、前述したGSMプログラムをCDMAプログラムに変換する機能に加えて、GSMプログラムをUMTSプログラムに変換する機能をも有する。すなわち、GSMプログラムをUMTSプログラムに変換する機能は、モデムプロセッサ10が、上記GSM→UMTS差分データを用いて上記GSMプログラムをUMTSプログラムへ変換する処理を実行するためのプログラムにより実現される。
さらに、上記三つのプログラムの何れかで起動するマルチブートを実現する場合において、上記NANDメモリ13に格納されている一つのプログラムがUMTSプログラムであったとすると、上記ソフトウェア変換用データは、UMTSプログラムをCDMAプログラムへ変換するためのデータと、UMTSプログラムをGSMプログラムへ変換するためのデータの二つからなる。
すなわち、UMTSプログラムをCDMAプログラムへ変換するためのデータは、UMTSプログラム内においてCDMAプログラムとは異なるプログラム構成要素を特定すると同時に、当該UMTSプログラム内で特定されたプログラム構成要素をCDMAプログラム用のプログラム構成要素へ変換(置換)するためのデータとなされる。つまり、この場合のソフトウェア変換用データは、UMTSプログラムとCDMAプログラムとの間の差分のデータとなる。以下、上記UMTSプログラムをCDMAプログラムへ変換するためのソフトウェア変換用データを、簡略化して「UMTS→CDMA差分データ」と表記する。
同様に、UMTSプログラムをGSMプログラムへ変換するためのデータは、UMTSプログラム内においてGSMプログラムとは異なるプログラム構成要素を特定すると同時に、当該UMTSプログラム内で特定されたプログラム構成要素をGSMプログラム用のプログラム構成要素へ変換(置換)するためのデータとなされる。つまり、この場合のソフトウェア変換用データは、UMTSプログラムとGSMプログラムとの間の差分のデータとなる。以下、上記UMTSプログラムをGSMプログラムへ変換するためのソフトウェア変換用データを、簡略化して「UMTS→GSM差分データ」と表記する。
また、上記三つのプログラムの何れかで起動するマルチブートを実現する場合において、NANDメモリ13にUMTSプログラムが格納されているとき、ソフトウェア変換エンジンは、UMTSプログラムをCDMAプログラムに変換する機能と、UMTSプログラムをGSMプログラムへ変換する機能とを有する。
すなわち、UMTSプログラムをCDMAプログラムに変換する機能は、モデムプロセッサ10が、上記UMTS→CDMA差分データを用いて上記UMTSプログラムをCDMAプログラムへ変換する処理を実行するためのプログラムとなされる。
また、UMTSプログラムをGSMプログラムに変換する機能は、モデムプロセッサ10が、上記UMTS→GSM差分データを用いて上記UMTSプログラムをGSMプログラムへ変換する処理を実行するためのプログラムとなされる。
なお、以下の説明では、上述のようなマルチブート対応の携帯電話端末において、ブート時にUMTSプログラムが起動された時の動作モードをUMTSモードと呼ぶことにする。
[マルチブート対応時のNANDメモリ上のメモリマッピング]
図10の(B)には、上記NANDメモリ13にCDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データとソフトウェア変換エンジンが格納されている場合のメモリマッピング例を示す。なお、図10の(B)には、CDMAプログラムとCDMA→GSM差分データ,CDMA→UMTS差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。
また、図10の(A)には、図10の(B)に示された本実施形態のメモリマッピングに対する比較例として、NANDメモリ上にCDMAプログラムとGSMプログラムとUMTSプログラムの三つを独立して格納した場合のメモリマッピング例を示している。
これら図10の(B)から判るように、本実施形態のようにCDMAプログラムとCDMA→GSM差分データ,CDMA→UMTS差分データとソフトウェア変換エンジンを格納するようにした場合には、図10の(A)と比較して、より多くのユーザデータ格納領域を確保することができる。すなわち、CDMAプログラムやGSMプログラム,UMTSプログラムのデータ量に比べ、CDMA→GSM差分データ,CDMA→UMTS差分データ及びソフトウェア変換エンジンのデータ量は非常に少ない。このため、図10の(B)の場合は、図10の(A)のGSMプログラム及びUMTSプログラムのデータ量から、CDMA→GSM差分データ,CDMA→UMTS差分データ及びソフトウェア変換エンジンのデータ量を差し引いた分だけ、ユーザデータ格納領域が増加している。
なお、上述のようなマルチブート対応の場合において、NANDメモリ13にGSMプログラム等が格納されている場合のメモリマッピングは、図10の(B)において、CDMAプログラムをGSMプログラムと書き換え、また、CDMA→GSM差分データをGSM→CDMA差分データ、CDMA→UMTS差分データをGSM→UMTS差分データとい書き換えたものとなり、それらの図示及び説明については省略する。同様に、マルチブート対応の場合において、NANDメモリ13にUMTSプログラム等が格納されている場合のメモリマッピングは、図10の(B)において、CDMAプログラムをUMTSプログラムと書き換え、また、CDMA→GSM差分データをUMTS→GSM差分データ、CDMA→UMTS差分データをUMTS→CDMA差分データと書き換えたものとなり、それらの図示及び説明については省略する。
[マルチブート対応時の端末におけるブート時の動作]
上述のようなマルチブート対応の本実施形態の携帯電話端末において、モデムプロセッサ10は、起動時には以下に説明するような起動処理を行う。
上記マルチブート対応の携帯電話端末において、NANDメモリ13にCDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データとソフトウェア変換エンジンが格納され、且つ、事前にユーザによりUMTSモードでの起動が選択されていた場合の起動処理について、図11を参照しながら説明する。
図11は、NANDメモリ13にCDMAプログラム等が格納され、且つUMTSモードでの起動が事前に選択されていた場合において、ブート時にモデムプロセッサ10が実行するプログラムの展開及びデータの転送処理の様子を示している。なお、図11の(A)はSDRAMメモリ14のメモリマッピングを示し、図11の(B)はNANDメモリ13のメモリマッピングを示している。但し、図11の(B)は、CDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データとソフトウェア変換エンジンとユーザデータ格納領域のみを示し、他のプログラムやデータ等の図示は省略している。また、図11の(A)では、プログラム領域とRAMワーク領域のみ図示しており、バッファ領域等の図示は省略している。
このように、上記マルチブート対応の携帯電話端末において、NANDメモリ13にCDMAプログラム等が格納され且つUMTSモードでの起動がユーザにより事前に選択されていた場合、ブート制御プログラム実行中のモデムプロセッサ10は、先ずNANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開(P1)して起動する。
次に、当該ソフトウェア変換エンジン実行中のモデムプロセッサ10は、SDRAMメモリ14のソフトウェア変換用ワーク領域を用いて、NANDメモリ13のCDMAプログラムとCDMA→UMTS差分データからUMTSプログラムを作成(P2)する。
また、ソフトウェア変換エンジン実行中のモデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したUMTSプログラムを、SDRAMメモリ14のプログラム領域へ逐次転送して展開(P3)する。
そして、SDRAMメモリ14のプログラム領域へUMTSプログラムを全て展開し終えると、モデムプロセッサ10は、当該UMTSプログラムを起動させる。これにより、本実施形態の携帯電話端末はUMTSモードで起動することになる。
なお、上記マルチブート対応の場合において、NANDメモリ13にGSMプログラム等が格納されていたとすると、図11は、CDMAと記載されている部分をGSMと書き換え、一方GSMと記載されている部分をCDMAと書き換えたものとなる。この例の場合の動作は、前述した説明の流れと同じであるためここでは省略する。同様に、マルチブート対応の場合において、NANDメモリ13にUMTSプログラム等が格納されていたとすると、図11は、CDMAと記載されている部分をUMTSと書き換え、一方UMTSと記載されている部分をCDMAと書き換えたものとなる。この例の場合の動作に付いても、前述した説明の流れと同じであるためここでは省略する。
また、上記マルチブート対応の場合において、NANDメモリ13にCDMAプログラム或いはGSMプログラム或いはUMTSプログラム等が格納されていた場合において、それらNANDメモリ13に格納されているプログラムの起動がユーザにより事前に選択されていた時には、それらプログラムがそのままSDRAMメモリ14のプログラム領域へ展開されることになる。この例の場合の動作に付いても、前述した説明の流れと同じであるためここでは省略する。
[マルチブート対応時の端末におけるブート時の動作フローチャート]
図12には、上述したマルチブート対応の端末において、NANDメモリ13に例えばCDMAプログラム等が格納されている場合、ブート時にモデムプロセッサ10にて実行される処理の流れを示す。
図12において、携帯電話端末の電源ON等により起動処理が開始されると、モデムプロセッサ10は、NANDメモリ13等に保存されているユーザ設定値を参照し、ステップS31の処理として、ユーザ設定値がCDMAモードを示す値に設定されているか否か判断する。上記ステップS31の判断処理において、モデムプロセッサ10は、CDMAモードが設定されていると判断した場合にはステップS32へ処理を進め、一方、GSMモードが設定されていると判断した場合にはステップS33へ処理を進める。
ステップS32の処理に進むと、モデムプロセッサ10は、NANDメモリ13上のCDMAプログラムをそのままSDRAMメモリ14のプログラム領域へ展開し、その当該展開されたCDMAプログラムを起動させる。これにより、本実施形態の携帯電話端末はCDMAモードで起動することになる。
一方、ステップS33の処理に進むと、モデムプロセッサ10は、ユーザ設定値がGSMモードを示す値に設定されているか否か判断する。上記ステップS33の判断処理において、モデムプロセッサ10は、GSMモードが設定されていると判断した場合にはステップS34へ処理を進め、一方、UMTSモードが設定されていると判断した場合にはステップS37へ処理を進める。
ステップS34の処理に進んだ場合、モデムプロセッサ10は、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開して起動し、当該ソフトウェア変換エンジンによる処理の実行へ切り替えてステップS35へ処理を進める。
ステップS35の処理に進むと、上記モデムプロセッサ10は、SDRAMメモリ14のソフトウェア変換用ワーク領域を用い、NANDメモリ13上のCDMAプログラムとCDMA→GSM差分データからGSMプログラムを作成する。また、モデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したGSMプログラムを、プログラム領域へ逐次転送して展開する。
そして、SDRAMメモリ14のプログラム領域へGSMプログラムを全て展開し終わると、モデムプロセッサ10は、ステップS36の処理として、SDRAMメモリ14のRAMワーク領域上のソフトウェア変換エンジンとソフトウェア変換用ワーク領域上のデータを消去する。
その後、モデムプロセッサ10は、上記SDRAMメモリ14のプログラム領域へ展開されたGSMプログラムを起動させる。これにより、本実施形態の携帯電話端末はGSMモードで起動することになる。なお、ステップS35におけるデータ消去処理は、GSMプログラムの起動後に行われてもよい。
また、ステップS33からステップS37の処理に進んだ場合もステップS34の場合と同様に、モデムプロセッサ10は、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開して起動する。そして、モデムプロセッサ10は、当該ソフトウェア変換エンジンによる処理の実行へ切り替えてステップS38へ処理を進める。
ステップS38の処理に進むと、上記モデムプロセッサ10は、SDRAMメモリ14のソフトウェア変換用ワーク領域を用い、NANDメモリ13上のCDMAプログラムとCDMA→UMTS差分データからUMTSプログラムを作成する。また、モデムプロセッサ10は、上記ソフトウェア変換用ワーク領域上で作成したUMTSプログラムを、プログラム領域へ逐次転送して展開する。
そして、SDRAMメモリ14のプログラム領域へUMTSプログラムを全て展開し終わると、モデムプロセッサ10は、ステップS39の処理として、SDRAMメモリ14のRAMワーク領域上のソフトウェア変換エンジンとソフトウェア変換用ワーク領域上のデータを消去する。
その後、モデムプロセッサ10は、上記SDRAMメモリ14のプログラム領域へ展開されたUMTSプログラムを起動させる。これにより、本実施形態の携帯電話端末はUMTSモードで起動することになる。なお、ステップS39におけるデータ消去処理は、UMTSプログラムの起動後に行われてもよい。
[ソフトウェア及び差分データのアップデート]
上述したように例えばCDMAモード,GSMモードやUMTSモードを適宜切り替えて起動可能となされた本実施形態の携帯電話端末において、ソフトウェアのアップデートが必要になった場合には、以下のような手順によりアップデートが実施される。なお、本実施形態の携帯電話端末において、ソフトウェアのアップデートは、いわゆるエアーダウンロードによるソフトウェアの更新機能(FOTA:firmware over the air updating)を用いて行われるとする。
先ず、NANDメモリ13にCDMAプログラム等が格納され、CDMAモードとGSMモードを適宜切り替えて起動可能なデュアルブート対応の携帯電話端末を例に挙げて説明する。以下の説明では、CDMAプログラムは出荷時のバージョンが「V01.00.00」となっており、それがバージョン「V01.00.01」へ変更され、その後、最新版のバージョン「V01.00.02」がリリースされたと仮定する。
ここで、本実施形態では、CDMAプログラムとGSMプログラムの両プログラムのバージョンを同一として定義する。また本実施形態では、CDMA→GSM差分データについては、CDMAプログラムのバージョンに合わせたものを用意し、CDMAプログラムのアップデートと同時にCDMA→GSM差分データのアップデートも行われる。
本実施形態において、図13に示すように、例えば現時点のCDMAプログラムのバージョンが「V01.00.00」であり、それが「V01.00.01」にアップデートされる場合、CDMAプログラムについては「V01.00.01」のソフトウェア更新用データがダウンロードされる。一方、CDMA→GSM差分データについては、上記アップデートされるCDMAプログラムのバージョン「V01.00.01」に対応したバージョン「sV01.00.01」の差分更新用データがダウンロードされる。
また、図13に示すように、例えば現時点のCDMAプログラムのバージョンが「V01.00.01」であり、それが「V01.00.02」にアップデートされる場合、CDMAプログラムについては「V01.00.02」のソフトウェア更新用データがダウンロードされる。一方、CDMA→GSM差分データについては、当該アップデートされるCDMAプログラムのバージョン「V01.00.02」に対応したバージョン「sV01.00.02」の差分更新用データがダウンロードされる。
また、図13に示すように、現時点のCDMAプログラムのバージョンが「V01.00.00」であり、それが「V01.00.02」にアップデートされる場合、CDMAプログラムについては「V01.00.02」のソフトウェア更新用データがダウンロードされる。一方、CDMA→GSM差分データについては、当該アップデートされるCDMAプログラムのバージョン「V01.00.02」に対応したバージョン「sV01.00.02」の差分更新用データがダウンロードされる。
このように、本実施形態では、CDMAプログラムについてはバージョンアップに応じたアップデートがなされ、CDMA→GSM差分データについてはCDMAプログラムのバージョンに対応した差分更新用データを用いたアップデートが行われる。
なお、NANDメモリ13にGSMプログラム等が格納されている場合のバージョンアップについては、上述の説明においてCDMAをGSMに代えることで流用可能であるため、それらの例示及びその説明については省略することとする。
[ソフトウェア及び差分データアップデート時の動作]
図14には、上述したようにNANDメモリ13にCDMAプログラム等が格納されている場合に、そのCDMAプログラムとCDMA→GSM差分データのアップデートが行われる際の処理手順を示す。なお、図14では、一例として、CDMAプログラムのバージョン「V01.00.00」が「V01.00.02」にアップデートされる場合を挙げている。
図14において、CDMAプログラムとCDMA→GSM差分データのアップデートが行われる場合、本実施形態の携帯電話端末では、モデムプロセッサ10によるアップデート制御プログラムの実行により、FOTA機能を用いたダウンロードが実施される。この場合のダウンロードデータは、CDMAプログラムのバージョン「V01.00.00」を「V01.00.02」にアップデートするためソフトウェア更新用データと、CDMA→GSM差分データをバージョン「sV01.00.02」にアップデートするための差分更新用データとからなる。そして、アップデート制御プログラム実行中のモデムプロセッサ10は、上記ダウンロードデータを、NANDメモリ13上に用意された更新用データ格納領域に保存(P11)させる。
次に、当該アップデート制御プログラム実行時のモデムプロセッサ10は、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開(P12)すると共に、上記ダウンロードされたソフトウェア更新用データ及び差分更新用データをRAMワーク領域へ転送(P12)する。
そして、モデムプロセッサ10は、上記展開されたソフトウェア変換エンジンにより、NANDメモリ13上の旧バージョン「V01.00.00」のCDMAプログラムを、上記ソフトウェア更新用データを使用して新バージョン「V01.00.02」のCDMAプログラムへ書き換える処理つまり更新処理(P13)を行う。すなわち、本実施形態において、ソフトウェア変換エンジンは、当該アップデート時の上記更新処理として、旧バージョンのCDMAプログラムを新バージョンのCDMAプログラムへ変換する処理を行う。言い換えると、上記CDMAプログラムのソフトウェア更新用データは、旧バージョンのCDMAプログラム内において、新バージョンのCDMAプログラムとは異なるプログラム構成要素を特定すると同時に、当該旧バージョンのCDMAプログラム内で特定されたプログラム構成要素を、新バージョンのCDMAプログラム用のプログラム構成要素へ変換(置換)するためのソフトウェア変換用データとなされている。したがって、ソフトウェア変換エンジンは、前述したプログラム変換処理と同様の処理を実行することで、当該アップデート時の更新処理を実現している。
また、モデムプロセッサ10は、上記CDMAプログラムの更新処理の後(若しくはその更新処理と並行して)、CDMA→GSM差分データのアップデートも行う。すなわち、モデムプロセッサ10は、NANDメモリ13上のCDMA→GSM差分データを、上記差分更新用データを使用してバージョン「sV01.00.02」のCDMA→GSM差分データへ書き換える処理つまり更新処理(P13)を行う。なお、この場合の差分更新用データは、新バージョンのCDMA→GSM差分データとなされ、NANDメモリ13上の旧バージョンのCDMA→GSM差分データを上書きするデータとなされる。
これにより、NANDメモリ13上のCDMAプログラムは旧バージョン「V01.00.00」から新バージョン「V01.00.02」に更新(P14)されると共に、CDMA→GSM差分データも新バージョン「sV01.00.02」に更新(P14)される。
なお、図14では、CDMAプログラムのバージョン「V01.00.00」が「V01.00.02」にアップデートされる例を挙げたが、他のバージョンへの更新が行われる場合も上述同様の処理が行われる。
また、上述の説明では、新バージョンの差分更新用データにより旧バージョンのCDMA→GSM差分データを上書きする例を述べたが、当該差分更新用データについてもソフトウェア更新用データと同様に、旧バージョンと新バージョンとの間の差分からなるデータとなされていてもよい。すなわち、差分更新用データは、旧バージョンのCDMA→GSM差分データ内において、新バージョンのCDMA→GSM差分データとは異なるデータ構成要素を特定すると同時に、当該旧バージョンのCDMA→GSM差分データ内で特定されたデータ構成要素を、新バージョンのCDMA→GSM差分データのデータ構成要素へ変換(置換)するための差分変換用データであってもよい。
また、NANDメモリ13にGSMプログラム等が格納されている場合のアップデートについては、上述の説明においてCDMAをGSMに代えることで流用可能であるため、それらの例示及びその説明については省略することとする。
[本実施形態におけるソフトウェアバージョン管理]
上述したように、本実施形態においては、CDMAプログラムのアップデートが行われると、当該アップデートされたプログラムのバージョンに合わせて、CDMA→GSM差分データのバージョンアップも行われる。
したがって、本実施形態によれば、上記CDMAプログラムのアップデートが完了した後に、例えばGSMモードで起動がなされた場合には、バージョンアップ後のCDMAプログラム及びCDMA→GSM差分データにより自動的にバージョンアップがなされたGSMプログラムによる起動が可能となる。
また、本実施形態の場合は、CDMAプログラムとCDMA→GSM差分データのバージョンアップが行われると、それと同時にGSMプログラムも自動的にバージョンアップされることになるため、それらCDMAプログラムとGSMプログラムの各バージョンの管理が非常に容易となる。
図15〜図17を参照して、本実施形態におけるCDMAプログラムとCDMA→GSM差分データのアップデートによるバージョン管理と、その比較例としてCDMAプログラムとGSMプログラムの両方をNANDメモリ等に格納した場合のバージョン管理の違いについて説明する。なお、図15には、本実施形態においてCDMAプログラムのバージョンアップ時に管理すべき内容を示し、図16には、本実施形態におけるCDMA→GSM差分データのバージョンアップ時に管理すべき内容を示している。また、図17には、図15及び図16に対する比較例として、CDMAプログラムとGSMプログラムの両方がNANDメモリ等に格納されているとした場合において、特にGSMプログラムのバージョンアップ時に管理すべき内容を示している。
本発明実施形態の場合、バージョンアップ時に管理すべき情報は、図15及び図16に示すように、CDMAプログラムのバージョンと、そのCDMAプログラムのバージョンに対応したCDMA→GSM差分データのバージョンのみとなる。
すなわち本実施形態の場合、CDMAプログラムについては、図15に示すように、更新前バージョンが「V01.00.00」であった時には、更新可能なバージョンとして「V01.00.01」と「V01.00.02」を管理することになる。また、更新前バージョンが「V01.00.01」であった時には、更新可能なバージョンとして「V01.00.02」を管理することになる。
また本実施形態において、CDMA→GSM差分データについては、図16に示すように、CDMAプログラムのバージョンが「V01.00.00」である時には、それに対応したバージョン「sV01.00.00」のみを管理すれば良い。また、CDMAプログラムのバージョンが「V01.00.01」である時には、CDMA→GSM差分データについては、当該CDMAプログラムのバージョンに対応した「sV01.00.01」のみを管理すれば良い。同様に、CDMAプログラムのバージョンが「V01.00.02」である時には、CDMA→GSM差分データについては、当該CDMAプログラムのバージョンに対応した「sV01.00.02」のみを管理すれば良い。つまり、本実施形態によれば、CDMAプログラムのバージョンアップがなされた時には、CDMA→GSM差分データのバージョンと上記CDMAプログラムのバージョンを揃えるように管理することのみ行えばよく、GSMプログラムのバージョンについては一切管理しなくてよいため、バージョン管理が非常に容易となる。
一方で、CDMAプログラムとGSMプログラムの両方がNANDメモリ等に格納されているような場合には、図15及び図17に示すように、それら両方のプログラムについて、更新可能なバージョンの管理を行わなければならない。すなわち、図15及び図17に示すように、CDMAプログラムとGSMプログラムの両方について、それぞれ更新前バージョンが「V01.00.00」であった時には、更新可能なバージョンとして「V01.00.01」と「V01.00.02」をそれぞれについて管理しなければならない。同様に、CDMAプログラムとGSMプログラムの両方について、それぞれ更新前バージョンが「V01.00.01」であった時には、更新可能なバージョンとして「V01.00.02」をそれぞれについて管理しなければならない。言い換えると、CDMA,GSMプログラムの両方がNANDメモリに格納されているとした場合、CDMAプログラムのバージョンが例えば「V01.00.02」であっても、GSMプログラムのバージョンが例えば「V00.00.00」のままであるようなことが起こり、それそれのプログラムについてバージョン管理が必要となり非常に管理が煩雑になる。
これに対して本実施形態の場合は、CDMA→GSM差分データのバージョンはCDMAプログラムのバージョンに連動するため、実質的にはCDMAプログラムのバージョンのみ管理すればよく、GSMプログラムについては管理が不要であるため、バージョン管理が非常に容易になる。
なお、本実施形態では、CDMAプログラムのアップデートと同時にCDMA→GSM差分データのアップデートも行う例を挙げたが、例えばCDMAプログラムの各バージョンにおいてそれぞれ同じCDMA→GSM差分データが使用される場合も本発明は適用可能である。すなわち例えば図18に示すように、CDMAプログラムについては順次バージョンアップされるが、それら各バージョンにおいてCDMA→GSM差分データは共通したデータが使用される場合も、各バージョンのCDMAプログラムと共通のCDMA→GSM差分データから、自動的にバージョンアップされたGSMプログラムの生成が可能となる。
[アップデート時の動作フローチャート]
図19には、NANDメモリ13にCDMAプログラム等が格納されたデュアルブート端末において、本実施形態に係るアップデート制御プログラムをモデムプロセッサ10が実行して前述したアップデートを行う際の処理の流れを示す。
携帯電話端末のモデムプロセッサ10は、例えばユーザからのアップデート指示入力によるか若しくは自動アップデート設定等によりソフトウェアのアップデート処理が開始され、且つ実際にアップデートが必要である場合には、図19に示すフローチャートの処理を開始する。
図19のフローチャートの処理が開始されると、モデムプロセッサ10は、先ずステップS51の処理として、例えばFOTA機能によるダウンロードにより、CDMAプログラムのソフトウェア更新用データのファイルを取得し、そのファイルをNANDメモリ13へ格納する。
また、モデムプロセッサ10は、ステップS52の処理として、ステップS51でダウンロードしたCDMAプログラムのバージョンに対応した、CDMA→GSM差分データの差分更新用データのファイルをFOTA機能でのダウンロードにより取得し、そのファイルをNANDメモリ13へ格納する。
上記CDMAプログラムのソフトウェア更新用データと差分更新用データの両ファイルのダウンロードが完了すると、モデムプロセッサ10は、ステップS53の処理として、ソフトウェア変換エンジンにより、上記ダウンロードしたCDMAプログラムのソフトウェア更新用データを用いて、CDMAプログラムを更新する。
また、モデムプロセッサ10は、ステップS54の処理として、上記ダウンロードしたCDMA→GSM差分データの差分更新用データを用いて、CDMA→GSM差分データを更新する。
[マルチブート端末のソフトウェア及び差分データのアップデート]
前述の説明ではデュアルブート端末におけるソフトウェアアップデートについて述べたが、本実施形態の携帯電話端末がマルチブート対応の端末である場合、アップデートは以下のようにして行われる。なお、以下の説明では、CDMAモード、GSMモード、UMTSモードの何れかで起動可能なマルチブート端末を例に挙げている。
ここで、マルチブート対応の携帯電話端末において、一例として図20に示すように、端末の内部メモリに、CDMAとGSMとUMTSの三つのプログラムが格納されているとした場合、それら三つのプログラムをそれぞれアップデートする必要がある。すなわち例えば、それら三つのプログラムは、例えば出荷時のバージョン「V01.00.00」から「V01.00.01」へ、さらに「V01.00.01」から「V01.00.02」等へと個々にアップデートしなければならなくなる。
これに対し、本実施形態のマルチブート対応の携帯電話端末の場合は、図21に示すようにしてアップデートが行われる。なお、以下の説明では、NANDメモリ13にCDMAプログラム等が格納され、また、端末出荷時のCDMAプログラムのバージョンは「V01.00.00」となっており、それがバージョン「V01.00.01」へ変更され、その後、最新版のバージョン「V01.00.02」がリリースされたと仮定する。
マルチブート対応の本実施形態の携帯電話端末は、前述のデュアルブート対応の場合と同様に、CDMAプログラム、GSMプログラム、UMTSプログラムの全プログラムのバージョンを同一として定義する。また本実施形態では、CDMA→GSM差分データとCDMA→UMTS差分データについては、CDMAプログラムのバージョンに合わせたものをそれぞれ用意し、CDMAプログラムのアップデートと同時に、それらCDMA→GSM差分データとCDMA→UMTS差分データのアップデートも行われる。
本実施形態において、図21に示すように、例えば現時点のCDMAプログラムのバージョンが「V01.00.00」であり、それが「V01.00.01」にアップデートされる場合、CDMAプログラムについては「V01.00.01」のソフトウェア更新用データがダウンロードされる。一方、CDMA→GSM差分データとCDMA→UMTS差分データについては、当該アップデートされるCDMAプログラムのバージョン「V01.00.01」に対応したバージョン「sV01.00.01」の差分更新用データがそれぞれダウンロードされる。
また、図21に示すように、例えば現時点のCDMAプログラムのバージョンが「V01.00.01」であり、それが「V01.00.02」にアップデートされる場合、CDMAプログラムについては「V01.00.02」のソフトウェア更新用データがダウンロードされる。一方、CDMA→GSM差分データとCDMA→UMTS差分データについては、当該CDMAプログラムのバージョン「V01.00.02」に対応したバージョン「sV01.00.02」の差分更新用データがそれぞれダウンロードされる。
同様に、図21に示すように、現時点のCDMAプログラムのバージョンが「V01.00.00」であり、それが「V01.00.02」にアップデートされる場合、CDMAプログラムについては「V01.00.02」のソフトウェア更新用データがダウンロードされる。一方、CDMA→GSM差分データとCDMA→UMTS差分データについては、当該CDMAプログラムのバージョン「V01.00.02」に対応したバージョン「sV01.00.02」の差分更新用データがそれぞれダウンロードされる。
このように、マルチブート対応の携帯電話端末においても前述のデュアルブート端末の場合と同様に、CDMAプログラムのアップデートが行われる時には、それと同時にCDMA→GSM差分データとCDMA→UMTS差分データについても差分更新用データを用いたアップデートが行われ、
なお、NANDメモリ13にGSMプログラム等或いはUMTSプログラム等が格納されている場合のバージョンアップについては、上述の説明においてCDMAをGSMに代えること、或いはCDMAをUMTSに代えることで流用可能であるため、それらの例示及びその説明については省略することとする。
[マルチブート端末におけるソフトウェア及び差分データアップデート時の動作]
図22には、マルチブート端末において、NANDメモリ13にCDMAプログラム等が格納され、そのCDMAプログラムとCDMA→GSM差分データ及びCDMA→UMTS差分データがアップデートされる際の処理手順を示す。なお、図22では、CDMAプログラムのバージョン「V01.00.00」が「V01.00.02」にアップデートされる例を挙げている。
図22において、モデムプロセッサ10によるアップデート制御プログラムの実行により、FOTA機能によるダウンロードが実施される。この例の場合のダウンロードデータは、CDMAプログラムのバージョン「V01.00.00」を「V01.00.02」にアップデートするためソフトウェア更新用データと、CDMA→GSM差分データ及びCDMA→UMTS差分データをそれぞれバージョン「sV01.00.02」にアップデートするための差分更新用データとからなる。そして、アップデート制御プログラム実行中のモデムプロセッサ10は、上記ダウンロードデータを、NANDメモリ13上に用意された更新用データ格納領域に保存(P11)させる。
次に、モデムプロセッサ10は、NANDメモリ13のソフトウェア変換エンジンをSDRAMメモリ14のRAMワーク領域へ展開(P12)すると共に、上記ダウンロードされたソフトウェア更新用データ及び差分更新用データをRAMワーク領域へ転送(P12)する。
そして、モデムプロセッサ10は、上記ソフトウェア変換エンジンにより、NANDメモリ13上の旧バージョン「V01.00.00」のCDMAプログラムを、前述同様にソフトウェア更新用データを使用して新バージョン「V01.00.02」のCDMAプログラムへ書き換える処理つまり更新処理(P13)を行う。
また、モデムプロセッサ10は、CDMA→GSM差分データとCDMA→UMTS差分データのアップデートも行う。すなわち、モデムプロセッサ10は、NANDメモリ13上の旧バージョンのCDMA→GSM差分データ及びCDMA→UMTS差分データを、上記差分更新用データを使用してそれぞれ新バージョン「sV01.00.02」のCDMA→GSM差分データ及びCDMA→UMTS差分データへ書き換える処理、つまり更新処理(P13)を行う。
これにより、NANDメモリ13上のCDMAプログラムは旧バージョン「V01.00.00」から新バージョン「V01.00.02」に更新(P14)されると共に、CDMA→GSM差分データ及びCDMA→UMTS差分データもそれぞれ新バージョン「sV01.00.02」に更新(P14)される。
なお、NANDメモリ13にGSMプログラム或いはUMTSプログラム等が格納されている場合のアップデートについては、上述の説明においてCDMAをGSMに、或いはCDMAをUMTSに代えることで流用可能であるため、それらの例示及びその説明については省略することとする。
[マルチブート端末におけソフトウェアバージョン管理]
上述したマルチブート対応の携帯電話端末では、CDMAプログラムとCDMA→GSM差分データ及びCDMA→UMTS差分データのバージョンアップが同時に行われ、また、そのバージョンアップによりGSMプログラムやUMTSプログラムも自動的にバージョンアップされることになるため、それら各バージョンの管理が非常に容易となる。
すなわち、本実施形態の場合、CDMAプログラムについては、前述の図15に示したように更新前後のバージョンの管理が行われ、また、CDMA→GSM差分データについては前述の図16に示したようにバージョン管理が行われる。
さらに、当該マルチブート対応の端末の場合、CDMA→UMTS差分データについても、CDMA→GSM差分データと同様であり、図23に示すように、CDMAプログラムのバージョンが「V01.00.00」である時には、それに対応したバージョン「sV01.00.00」であるかのみを管理すればよい。また、CDMAプログラムのバージョンが「V01.00.01」である時には、CDMA→UMTS差分データについては、当該CDMAプログラムのバージョンに対応した「sV01.00.01」のみを管理すればよい。同様に、CDMAプログラムのバージョンが「V01.00.02」である時には、CDMA→UMTS差分データについては、当該CDMAプログラムのバージョンに対応した「sV01.00.02」のみを管理すればよい。つまり、本実施形態によれば、CDMA→UMTS差分データのバージョンについては、前述したCDMA→GSM差分データと同様に、CDMAプログラムのバージョンと相対応したバージョンになっているかどうかのみを管理すれば良い。
このように、本実施形態のマルチブート対応の端末によれば、NANDメモリ13にCDMAプログラム等が格納されている場合には、GSMプログラムの管理が不要であり、且つUMTSプログラムの管理も不要であるため、バージョン管理が非常に容易になる。すなわち例えば、CDMAプログラムの旧バージョンが「V01.00.00」であり、それを新バージョン「V01.00.02」へアップデートすることを考えた場合、本実施形態ならば、CDMAプログラムのソフトウェア更新用データとCDMA→GSM差分データ及びCDMA→UMTS差分データの両差分更新用データの合計三つ情報のみを管理すれば良い。これに対して、例えば前述の図20のように、CDMAプログラムとGSMプログラムとUMTSプログラムの三つをそれぞれ管理する場合には、合計6個のソフトウェア更新用データの管理が必要になる。
なお、この例では、三つのプログラムによるマルチブートの例を挙げたが、さらにプログラム数が増加した場合でも、本実施形態によればバージョン管理が容易であり、プログラム数が増える程、本発明実施形態のメリットは高まる。
[マルチブート端末におけるアップデート時の動作フローチャート]
図24には、NANDメモリ13にCDMAプログラム等が格納されたマルチブート端末において、本発明のアップデート制御プログラムをモデムプロセッサ10が実行して前述したアップデートを行う際の処理の流れを示す。
携帯電話端末のモデムプロセッサ10は、例えばユーザからのアップデート開始指示入力によるか若しくは自動アップデート設定等によりソフトウェアのアップデート処理が開始され、且つ実際にアップデートが必要である場合には、図24に示すフローチャートの処理を開始する。
図24のフローチャートの処理が開始されると、モデムプロセッサ10は、先ずステップS61の処理として、FOTA機能によるダウンロードを開始し、CDMAプログラムのソフトウェア更新用データのファイルを取得する。
また、モデムプロセッサ10は、ステップS62の処理として、ステップS61でダウンロードしたCDMAプログラムのバージョンに対応した、CDMA→GSM差分データの差分更新用データのファイルをダウンロード(取得)する。
同様に、モデムプロセッサ10は、ステップS63の処理として、ステップS61でダウンロードしたCDMAプログラムのバージョンに対応した、CDMA→UMTS差分データの差分更新用データのファイルをダウンロード(取得)する。
上記CDMAプログラムのソフトウェア更新用データと差分更新用データの全ファイルのダウンロードが完了すると、
次に、モデムプロセッサ10は、ステップS64の処理として、ソフトウェア変換エンジンにより、上記ダウンロードしたCDMAプログラムのソフトウェア更新用データを用いて、CDMAプログラムを更新する。
また、モデムプロセッサ10は、ステップS65の処理として、上記ダウンロードしたCDMA→GSM差分データの差分更新用データを用いて、CDMA→GSM差分データを更新する。
同様に、モデムプロセッサ10は、ステップS66の処理として、上記ダウンロードしたCDMA→GSM差分データの差分更新用データを用いて、CDMA→UMTS差分データを更新する。
〔まとめ〕
以上説明したように、本発明実施形態においては、ブート時に選択的に起動される一つのプログラムと、そのプログラムを別のプログラムへ変換するためのソフトウェア変換用データ(差分データ)とを格納しておくようにしている。これにより、本発明実施形態によれば、NANDメモリ13にユーザデータ格納領域等のためのメモリ容量を多く確保でき、メモリ容量の有効利用が可能となっている。
また、本発明実施形態においては、NANDメモリ13に格納されているプログラムの更新と同時に、そのプログラムの更新バージョンに合わせてソフトウェア変換用データ(差分データ)の更新も行うようにしている。これにより、本発明実施形態によれば、NANDメモリ13に格納されているプログラム以外の他のプログラムについては一切管理する必要がなくなり、アップデート時のバージョン管理運用が非常に容易となっている。
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
本発明実施形態の携帯電話端末の概略的な内部構成例を示すブロック図である。 NANDメモリにCDMAプログラムとCDMA→GSM差分データが格納されている場合と、その比較例としてCDMA,GSMの両プログラムが格納されている場合のメモリマッピング例を示す図である。 NANDメモリにGSMプログラムとGSM→CDMA差分データが格納されている場合、及び、その比較例としてCDMA,GSMの両プログラムが格納されている場合のメモリマッピング例を示す図である。 NANDメモリにCDMAプログラムとCDMA→GSM差分データが格納されている場合において、CDMAモードで起動する場合の起動処理の説明に用いる図である。 NANDメモリにCDMAプログラムとCDMA→GSM差分データが格納されている場合において、GSMモードで起動する場合の起動処理の説明に用いる図である。 NANDメモリにGSMプログラムとGSM→CDMA差分データが格納されている場合において、GSMモードで起動する場合の起動処理の説明に用いる図である。 NANDメモリにGSMプログラムとGSM→CDMA差分データが格納されている場合において、CDMAモードで起動する場合の起動処理の説明に用いる図である。 デュアルブート対応の携帯電話端末のNANDメモリにCDMAプログラム等が格納されている場合において、ブート時にモデムプロセッサにて実行される処理の流れを示すフローチャートである。 デュアルブート対応の携帯電話端末のNANDメモリにGSMプログラム等が格納されている場合において、ブート時にモデムプロセッサにて実行される処理の流れを示すフローチャートである。 NANDメモリにCDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データが格納されている場合と、その比較例としてCDMA,GSM,UMTSの各プログラムが格納されている場合のメモリマッピング例を示す図である。 NANDメモリにCDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データが格納されている場合において、UMTSモードで起動する場合の起動処理の説明に用いる図である。 マルチブート対応の携帯電話端末のNANDメモリにCDMAプログラム等が格納されている場合において、ブート時にモデムプロセッサにて実行される処理の流れを示すフローチャートである。 デュアルブート対応の携帯電話端末において、CDMAプログラムとCDMA→GSM差分データのアップデート時における各バージョンの関係説明に用いる図である。 デュアルブート対応の携帯電話端末において、CDMAプログラムとCDMA→GSM差分データのアップデート時の処理手順の説明に用いる図である。 本実施形態においてCDMAプログラムのバージョンアップ時に管理すべき内容の説明に用いる図である。 本実施形態においてCDMA→GSM差分データのバージョンアップ時に管理すべき内容の説明に用いる図である。 本実施形態の比較例として、CDMAプログラムとGSMプログラムの両方がNANDメモリに格納される場合において、特にGSMプログラムのバージョンアップ時に管理すべき内容の説明に用いる図である。 CDMAプログラムの各バージョンにおいてそれぞれ同じCDMA→GSM差分データが使用される場合のバージョンアップの説明に用いる図である。 NANDメモリにCDMAプログラム等が格納されたデュアルブート端末において、モデムプロセッサにより実行されるアップデート処理の流れを示すフローチャートである。 マルチブート対応の携帯電話端末において、端末の内部メモリにCDMAとGSMとUMTSの三つのプログラムが格納されている場合に、それら三つのプログラムのアップデート処理の説明に用いる図である。 マルチブート対応の携帯電話端末において、CDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データのアップデート時における各バージョンの関係説明に用いる図である。 マルチブート対応の携帯電話端末において、CDMAプログラムとCDMA→GSM差分データとCDMA→UMTS差分データのアップデート時の処理手順の説明に用いる図である。 本実施形態において、CDMA→UMTS差分データのバージョンアップ時に管理すべき内容の説明に用いる図である。 本実施形態のマルチブート対応の携帯電話端末において、モデムプロセッサにより実行されるアップデート処理の流れを示すフローチャートである。 それぞれ独立したCDMAプログラムとGSMプログラムが予め用意されている従来のデュアルブート端末において、ブート時にSDRAMメモリに展開されるプログラムの説明に用いる図である。 それぞれ独立したCDMAプログラムとGSMプログラムが予め用意されている従来のデュアルブート端末において、二つのプログラムのアップデート処理の説明に用いる図である。
符号の説明
10 モデムプロセッサ、11 RFデバイス、12 LCD部、13 NANDメモリ、14 SDRAMメモリ

Claims (7)

  1. 少なくとも、第1のプログラムと、当該第1のプログラムを第2のプログラムへ変換するためのソフトウェア変換用データと、を格納した格納部と、
    上記格納部に対するプログラムとデータの書き込み及び読み出しを行う格納制御部と、
    上記格納制御部が上記格納部から読み出した上記第1のプログラムとソフトウェア変換用データとを用いて、上記第1のプログラムを第2のプログラムへ変換する処理を実行するソフトウェア変換処理部と、
    端末起動時に、上記第1のプログラムの起動と、上記プログラム変換処理部による上記第1のプログラムから第2のプログラムへの変換処理及びその変換された第2のプログラムの起動との何れか一方を、事前の起動設定値に応じて実行する端末起動制御部と、
    を有する携帯端末。
  2. 上記格納部は、上記第1のプログラムを異なる複数の第2のプログラムへそれぞれ変換するための複数のソフトウェア変換用データを格納している請求項1記載の携帯端末。
  3. 第1のプログラムの更新時に、上記格納部に格納されている旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するためのソフトウェア更新用データと、当該第1のプログラムの新バージョンに対応したソフトウェア変換用データとを取得し、上記取得したソフトウェア更新用データを用いて上記旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するソフトウェア更新部を有し、
    上記格納制御部は、上記ソフトウェア更新部による更新後の上記第1のプログラムと、上記ソフトウェア更新部が取得した上記ソフトウェア変換用データとを、上記格納部へ上書きする請求項1又は請求項2記載の携帯端末。
  4. 少なくとも第1のプログラムと当該第1のプログラムを第2のプログラムへ変換するためのソフトウェア変換用データとを格納した格納部から、格納制御部が、上記第1のプログラムとソフトウェア変換用データを読み出すステップと、
    上記格納部から読み出された第1のプログラムとソフトウェア変換用データを用いて、ソフトウェア変換処理部が、上記第1のプログラムを第2のプログラムへ変換する処理を実行するステップと、
    端末起動時に、端末起動制御部が、上記第1のプログラムの起動と、上記プログラム変換処理部による上記第1のプログラムから第2のプログラムへの変換処理及びその変換された第2のプログラムの起動との何れか一方を、事前の起動設定値に応じて実行するステップと、
    を有する携帯端末制御方法。
  5. 第1のプログラムの更新時に、ソフトウェア更新部が、上記格納部に格納されている旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するためのソフトウェア更新用データと、当該第1のプログラムの新バージョンに対応した上記ソフトウェア変換用データとを取得して、当該取得したソフトウェア更新用データを用いて上記旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するステップと、
    上記格納制御部が、上記ソフトウェア更新部による更新後の上記第1のプログラムと、上記ソフトウェア更新部が取得した上記ソフトウェア変換用データとを、上記格納部へ上書きするステップとを有する請求項4記載の携帯端末制御方法。
  6. 少なくとも第1のプログラムと当該第1のプログラムを第2のプログラムへ変換するためのソフトウェア変換用データとを格納した格納部に対して、プログラムとデータの書き込み及び読み出しを行う格納制御部と、
    上記格納制御部が上記格納部から読み出した上記第1のプログラムとソフトウェア変換用データとを用いて、上記第1のプログラムを第2のプログラムへ変換する処理を実行するソフトウェア変換処理部と、
    端末起動時に、上記第1のプログラムの起動と、上記プログラム変換処理部による上記第1のプログラムから第2のプログラムへの変換処理及びその変換された第2のプログラムの起動との何れか一方を、事前の起動設定値に応じて実行する端末起動制御部として、
    携帯端末のプロセッサを動作させる携帯端末制御プログラム。
  7. 第1のプログラムの更新時に、上記格納部に格納されている旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するためのソフトウェア更新用データと、当該第1のプログラムの新バージョンに対応した上記ソフトウェア変換用データとを取得して、当該取得したソフトウェア更新用データを用いて上記旧バージョンの第1のプログラムを新バージョンの第1のプログラムへ更新するソフトウェア更新部として携帯端末のプロセッサを動作させ、
    上記格納制御部では、上記ソフトウェア更新部による更新後の上記第1のプログラムと、上記ソフトウェア更新部が取得した上記ソフトウェア変換用データとを、上記格納部へ上書きする請求項6記載の携帯端末制御プログラム。
JP2008208006A 2008-08-12 2008-08-12 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム Pending JP2010044574A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008208006A JP2010044574A (ja) 2008-08-12 2008-08-12 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム
US12/500,876 US8826263B2 (en) 2008-08-12 2009-07-10 Portable terminal, portable terminal control method, and portable terminal control program
EP09166313A EP2154609A1 (en) 2008-08-12 2009-07-24 Portable terminal, portable terminal control method, and portable terminal control program
CN200910165882.6A CN101650661B (zh) 2008-08-12 2009-08-12 便携式终端、便携式终端控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008208006A JP2010044574A (ja) 2008-08-12 2008-08-12 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム

Publications (1)

Publication Number Publication Date
JP2010044574A true JP2010044574A (ja) 2010-02-25

Family

ID=41264168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008208006A Pending JP2010044574A (ja) 2008-08-12 2008-08-12 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム

Country Status (4)

Country Link
US (1) US8826263B2 (ja)
EP (1) EP2154609A1 (ja)
JP (1) JP2010044574A (ja)
CN (1) CN101650661B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003340A (ja) * 2010-06-14 2012-01-05 Digital Electronics Corp プログラマブル表示器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169437A (zh) * 2010-02-26 2011-08-31 英业达股份有限公司 以分离的模块提供软件更新的系统及其方法
CN102298657A (zh) * 2011-08-12 2011-12-28 常州天健管理咨询有限公司 一次设计多终端展示的系统与方法
CN102692913A (zh) * 2012-06-11 2012-09-26 东莞市闻誉实业有限公司 一种转换数据的终端管理方法及管理系统
US10061684B2 (en) * 2015-07-31 2018-08-28 Microsoft Technology Licensing, Llc Enhanced service validation
CN107656740A (zh) * 2016-07-25 2018-02-02 中兴通讯股份有限公司 一种定制版本切换方法、装置和移动终端
CN111984293B (zh) * 2020-08-17 2023-09-12 腾讯科技(上海)有限公司 一种信息处理方法、装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0460840A (ja) * 1990-06-29 1992-02-26 Nec Home Electron Ltd 情報処理装置の起動方式
JPH0793276A (ja) * 1993-09-24 1995-04-07 Nec Corp コンピュータの立ち上げ方式
JPH113229A (ja) * 1997-06-10 1999-01-06 Matsushita Electric Ind Co Ltd プログラムロード方法およびそれを実現するシステム
JP2000035880A (ja) * 1998-07-17 2000-02-02 Nec Corp コンピュータ起動プログラム切り替え装置
JP2005215841A (ja) * 2004-01-28 2005-08-11 Mitsubishi Electric Corp ソフトウエア修正機能付き携帯電話端末装置
JP2006164095A (ja) * 2004-12-10 2006-06-22 Hitachi Ltd ディスクシステム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349205B1 (en) * 1999-04-15 2002-02-19 Lucent Technologies Inc. Method for converting an existing subscriber to a wireless communications system
US6961932B2 (en) 2001-08-15 2005-11-01 Microsoft Corporation Semantics mapping between different object hierarchies
CN2692942Y (zh) * 2002-01-15 2005-04-13 华立集团有限公司 Cdma/gsm双模式移动通信设备
EP1347373A3 (en) 2002-03-20 2005-02-02 Seiko Epson Corporation Apparatus for processing instructions of different instruction set architectures
US7072359B2 (en) * 2002-07-09 2006-07-04 Qualcomm, Inc. Short message conversion between different formats for wireless communication systems
US20040093592A1 (en) * 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
US7657886B1 (en) * 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
JP2006031455A (ja) 2004-07-16 2006-02-02 Nec Corp 電子メールを用いた携帯端末のソフトウェア更新システムおよび方法、並びにサーバ装置
CN100498711C (zh) 2004-07-20 2009-06-10 明星游戏株式会社 自动翻译程序和程序翻译服务器
KR101087694B1 (ko) * 2004-08-20 2011-11-30 에스케이 텔레콤주식회사 이동 통신 환경에서 멀티모드-멀티밴드 단말기의 타겟 셀검색 방법 및 시스템
KR100576523B1 (ko) * 2004-11-16 2006-05-08 삼성전자주식회사 듀얼모드 단말기에서 모드를 전환하기 위한 장치 및 방법
JP2007219883A (ja) 2006-02-17 2007-08-30 Sony Ericsson Mobilecommunications Japan Inc 移動端末装置およびソフトウェア更新方法
JP4828271B2 (ja) * 2006-03-20 2011-11-30 富士通株式会社 複数osバージョン用ソフトウェア生成装置及び複数osバージョン用ソフトウェア生成支援プログラム
US20080052702A1 (en) * 2006-07-07 2008-02-28 Inventec Multimedia & Telecom Corporation Firmware update method and system utilizing digital broadcasting system
CN100507849C (zh) 2006-12-13 2009-07-01 北京中星微电子有限公司 软件在线更新方法及软件在线更新系统
JP2008208006A (ja) 2007-02-27 2008-09-11 Mitsubishi Heavy Ind Ltd 水素製造装置に用いられる再生熱交換方式の分解器
KR20090035220A (ko) * 2007-10-05 2009-04-09 삼성전자주식회사 듀얼 스탠바이 모드형 이동 단말기와 그의 통신 모드 제어방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0460840A (ja) * 1990-06-29 1992-02-26 Nec Home Electron Ltd 情報処理装置の起動方式
JPH0793276A (ja) * 1993-09-24 1995-04-07 Nec Corp コンピュータの立ち上げ方式
JPH113229A (ja) * 1997-06-10 1999-01-06 Matsushita Electric Ind Co Ltd プログラムロード方法およびそれを実現するシステム
JP2000035880A (ja) * 1998-07-17 2000-02-02 Nec Corp コンピュータ起動プログラム切り替え装置
JP2005215841A (ja) * 2004-01-28 2005-08-11 Mitsubishi Electric Corp ソフトウエア修正機能付き携帯電話端末装置
JP2006164095A (ja) * 2004-12-10 2006-06-22 Hitachi Ltd ディスクシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003340A (ja) * 2010-06-14 2012-01-05 Digital Electronics Corp プログラマブル表示器

Also Published As

Publication number Publication date
US8826263B2 (en) 2014-09-02
US20100042985A1 (en) 2010-02-18
EP2154609A1 (en) 2010-02-17
CN101650661A (zh) 2010-02-17
CN101650661B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
US8364942B2 (en) Electronic device having an alterable configuration and methods of manufacturing and configuring the same
US7644404B2 (en) Network having customizable generators and electronic device having customizable updating software
US7584379B2 (en) Mobile terminal and software update method
CN101650661B (zh) 便携式终端、便携式终端控制方法
WO2022007656A1 (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN105320554A (zh) 程序更新的方法、用于程序更新的客户端及系统
JP2001331324A (ja) 情報処理方法および装置、ならびに、記録媒体
JP2007528071A (ja) ファームウェアアップグレードにおける自動バックアップストア
JP4859465B2 (ja) ソフトウェア更新方法および移動端末装置
US7047283B1 (en) Apparatus and method of upgrading program of firmware board
JP2009009391A (ja) 更新処理ソフトウェア自己更新方法および携帯端末装置
EP3584697B1 (en) Information processing device
KR100729525B1 (ko) 펌웨어 업데이트 방법 및 시스템
CA2539897C (en) An electronic device having an alterable configuration and methods of manufacturing and configuring the same
KR100876748B1 (ko) 부트코드 업데이트 방법
KR100538627B1 (ko) 무선통신단말기의 소프트웨어 부분 업그레이드 방법
CN113608773B (zh) 升级更新组件的方法、装置及电子设备
KR100622816B1 (ko) 이동 단말장치의 시스템 소프트웨어 업데이트 방법 및시스템
JP4517607B2 (ja) 電子機器及びそのプログラム更新方法
KR20070022439A (ko) 이동통신 단말기에서 실행되는 데이터 업데이트 방법
JP2006004177A (ja) プログラムのダウンロード方法
KR101262668B1 (ko) 임베디드 시스템의 동적 바인딩 구조를 이용한 갱신 장치및 방법
CN115756540A (zh) 固件升级方法、电子设备及存储介质
WO2024119895A1 (zh) 操作系统升级方法、设备和存储介质
JP2004302953A (ja) 端末装置およびクライアントサーバシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120419

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131029