(57)【要約】    【課題】  ソフトウェアにより制御される機器において、より安全にブート領域の書き換えを行うことができるブート領域書き換え装置、ブート領域書き換え方法、ソフトウェアにより制御される機器、および携帯電話機を提供する。    【解決手段】  通常動作時にブート領域Ａ３０４に格納されたブートコードを、書き換え時にはブート領域Ｂ３０５にコピーし、分岐ビット格納領域３０３の分岐ビットの値を更新してブート領域Ａ３０４の書き換えを行う。正常に書き換えが終了した場合には分岐ビットの値を通常動作時の値へと更新する。ブート領域Ａ３０４の書き換えが電池切れなどにより中断した場合、リセット時にはブート領域Ｂ３０５のブートコードで機器を立ち上げる。【選択図】          図３
2006287496.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリにおいて、ブートコードが格納されるブート領域を書き換えるブート領域書き換え装置において、
前記不揮発性メモリは、
前記ブートコードの中で書き換え対象となる部分を格納するブート格納領域を複数備えるとともに、
いずれのブート格納領域に格納されたブートコードを用いるかを示す分岐先指示ビットを格納する分岐先指示ビット格納領域を備え、
前記複数のブート格納領域の第１の領域には、前記分岐先指示ビットが通常状態を示す値である場合のブートコードが格納され、
前記ブート領域書き換え装置は、
ブートコードの書き換えに際して前記第１の領域に格納されたブートコードを第２のブート格納領域にコピーし、
前記分岐先指示ビットを、前記第２のブート格納領域を指定する値に更新してから、前記第１のブート格納領域の内容を書き換え、
前記第１のブート格納領域の内容が正常に書き換えられた場合に、前記分岐先指示ビットの値を前記通常状態を示す値に更新する
ことを特徴とするブート領域書き換え装置。
【請求項２】
前記分岐先指示ビットを参照してジャンプ先を決定するジャンプ命令により、前記第１のブート格納領域又は前記第２のブート格納領域にジャンプする
ことを特徴とする請求項１に記載のブート領域書き換え装置。
【請求項３】
前記不揮発性メモリは、
複数ビットを含むブロック単位で一括消去処理がなされる不揮発性メモリであり、
前記通常状態を示す値は、前記分岐先指示ビットを含むブロックに一括消去処理がなされた後の値である
ことを特徴とする請求項１又は２に記載のブート領域書き換え装置。
【請求項４】
前記不揮発性メモリは、
複数ビットを含むブロック単位で一括消去処理がなされる不揮発性メモリであり、
前記プロセッサは、前記分岐先指示ビットを含むブロックを一括消去処理した後に前記第１のブート格納領域の内容を書き換える
ことを特徴とする請求項１又は２に記載のブート領域書き換え装置。
【請求項５】
前記分岐先指示ビットが格納されるブロックと、前記ジャンプ命令が格納されるブロックと、前記複数のブート格納領域とが、いずれも別のブロックである
ことを特徴とする請求項３又は４に記載のブート領域書き換え装置。
【請求項６】
前記ジャンプ命令が格納されるブロックは書き換えられることがない
ことを特徴とする請求項３から５のいずれかに記載のブート領域書き換え装置。
【請求項７】
前記分岐先指示ビットが格納されるブロックに、当該分岐先指示ビットのみが格納される
ことを特徴とする請求項３から６のいずれかに記載のブート領域書き換え装置。
【請求項８】
不揮発性メモリにおいて、ブートコードが格納されるブート領域を書き換えるブート領域書き換え方法において、
前記不揮発性メモリは、
前記ブートコードの中で書き換え対象となる部分を格納するブート格納領域を複数備えるとともに、
いずれのブート格納領域に格納されたブートコードを用いるかを示す分岐先指示ビットを格納する分岐先指示ビット格納領域を備え、
前記複数のブート格納領域の第１の領域には、前記分岐先指示ビットが通常状態を示す値である場合のブートコードが格納され、
前記ブート領域書き換え方法は、
ブートコードの書き換えに際して前記第１の領域に格納されたブートコードを第２のブート格納領域にコピーするコピーステップと、
前記分岐先指示ビットを、前記第２のブート格納領域を指定する値に更新する第１の分岐先指示ビット更新ステップと、
前記第１のブート格納領域の内容を書き換える書き換えステップと、
前記第１のブート格納領域の内容が正常に書き換えられた場合に、前記分岐先指示ビットの値を前記通常状態を示す値に更新する第２の分岐先指示ビット更新ステップとを含む
ことを特徴とするブート領域書き換え方法。
【請求項９】
ソフトウェアにより制御される機器において、
請求項１から請求項７のいずれかに記載のブート領域書き換え装置によりブート領域の書き換えを行う
ことを特徴とする機器。
【請求項１０】
ソフトウェアにより制御される携帯電話機において、
請求項１から請求項７のいずれかに記載のブート領域書き換え装置によりブート領域の書き換えを行う
ことを特徴とする携帯電話機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブート領域書き換え装置、ブート領域書き換え方法、ソフトウェアにより制御される機器、及び携帯電話機に関し、特に、ソフトウェア制御される機器に搭載されるＣＰＵ等のプロセッサがアクセスするブート領域を書き換える技術に関する。
【背景技術】
【０００２】
近年、携帯電話機等、電子機器の多くがファームウェアと呼ばれる組み込みソフトウェアにより制御されるようになってきている。このような機器を制御するソフトウェアは機器の高機能化に伴ってそのサイズも増大しており、また開発に際して全くバグのないソフトウェアを作製することが極めて困難な状況となっていることから、機器の多くでは、ファームウェアをＮＯＲ型フラッシュメモリなどの書き換え可能な不揮発性メモリに格納し、必要に応じて書き換えを行うことが実際に行われるようになってきている。ファームウェアの書き換えに関する技術の一例が特許文献１に開示されている。
【０００３】
さて、上記のような機器の立ち上げ時、例えば電源投入時やリセット時には、ＣＰＵ等のプロセッサが最初にリセットハンドラにアクセスする。リセットハンドラには、リセット時若しくは電源ＯＮ時に必要な処理を行うブートコードが格納されている領域のアドレスとジャンプ命令が格納されており、当該アドレスにジャンプしてリセット時の処理が行われる。本明細書ではブートコードを格納する領域をブート領域と称する。リセット時の処理は、機器を動作させるための極めて基本的な処理であるから、通常は、機器がユーザに供給された後に書き換えが必要となるケースはまれである。しかし、最近、ユーザへの供給後に、端末操作で新たな機能を追加するようなサービスも検討されており、ブート領域の書き換えが必要となる可能性が全く無いとは言えない状況にある。ブート領域の更新に関する技術の一例が特許文献２に開示されている。
【０００４】
【特許文献１】特開２００４−２３４５１１号公報
【０００５】
【特許文献２】特開平１０−２１０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のようにブートコードは、極めて基本的な処理を行うソフトウェアであり、例えばブートコードを書き換えている時に電池切れなどによって書き換えが中断した場合には、その機器は、もはや使用不可能となってしまう可能性が極めて高い。
【０００７】
本発明は係る問題点に鑑みてなされたものであって、より安全にブート領域の書き換えを行うことができるブート領域書き換え装置、ブート領域書き換え方法、ソフトウェアにより制御される機器、及び携帯電話機を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記の問題点を解決するために、本発明に係るソフトウェア書き換え装置は、不揮発性メモリにおいて、ブートコードが格納されるブート領域を書き換えるブート領域書き換え装置において、前記不揮発性メモリは、前記ブートコードの中で書き換え対象となる部分を格納するブート格納領域を複数備えるとともに、いずれのブート格納領域に格納されたブートコードを用いるかを示す分岐先指示ビットを格納する分岐先指示ビット格納領域を備え、前記複数のブート格納領域の第１の領域には、前記分岐先指示ビットが通常状態を示す値である場合のブートコードが格納され、前記ブート領域書き換え装置は、ブートコードの書き換えに際して前記第１の領域に格納されたブートコードを第２のブート格納領域にコピーし、前記分岐先指示ビットを、前記第２のブート格納領域を指定する値に更新してから、前記第１のブート格納領域の内容を書き換え、前記第１のブート格納領域の内容が正常に書き換えられた場合に、前記分岐先指示ビットの値を前記通常状態を示す値に更新することを特徴としている。
【０００９】
本発明の構成では、ブート領域の書き換えが電池切れなどによって中断しても、リセットの後には第２の領域にコピーされたブートコードにアクセスして機器を立ち上げることができるため、機器が使用不可能となってしまうことがない。また、上記特許文献２に開示があるようなセレクタを備える必要がなく、構成が簡単となる。
【００１０】
前記分岐先指示ビットを参照してジャンプ先を決定するジャンプ命令により、前記第１のブート格納領域又は前記第２のブート格納領域にジャンプする構成とすることができる。通常、メモリの先頭部分（ベクタアドレス０番地）はリセットハンドラと呼ばれ、従来はリセット時や電源オン時の処理を格納するアドレスへ直接ジャンプするジャンプ命令が格納されていたが、本発明の構成では、０番地に格納されたアドレスの領域に、分岐先指示ビットを参照してジャンプ先を指定する命令を格納した領域へのジャンプ命令を配置することができる。
【００１１】
前記不揮発性メモリは、複数ビットを含むブロック単位で一括消去処理がなされる不揮発性メモリであり、前記通常状態を示す値は、前記分岐先指示ビットを含むブロックに一括消去処理がなされた後の値である構成とすることができる。
【００１２】
また、前記不揮発性メモリは、複数ビットを含むブロック単位で一括消去処理がなされる不揮発性メモリであり、前記プロセッサは、前記分岐先指示ビットを含むブロックを一括消去処理した後に前記第１のブート格納領域の内容を書き換える構成とすることもできる。
【００１３】
前記分岐先指示ビットが格納されるブロックと、前記ジャンプ命令が格納されるブロックと、前記複数のブート格納領域とが、いずれも別のブロックである構成とすると、ブロック一括消去にて分岐先指示ビットがクリアされた場合に、他の領域に影響することがなく異常動作の防止に好適である。
【００１４】
また、ジャンプ命令が格納されるブロックは書き換えられることがない構成とすれば、当該領域を書き換える際のトラブル（ジャンプ先のアドレス等が異常値に書き換えられる等）により異常動作が発生することの防止に好適である。
【００１５】
前記分岐先指示ビットが格納されるブロックに、当該分岐先指示ビットのみが格納される構成とすると、分岐先指示ビットの書き換えの際にトラブルが発生することによる異常動作がさらに確実に防止できる。
【００１６】
本発明に係るブート領域書き換え方法は、不揮発性メモリにおいて、ブートコードが格納されるブート領域を書き換えるブート領域書き換え方法において、前記不揮発性メモリは、前記ブートコードの中で書き換え対象となる部分を格納するブート格納領域を複数備えるとともに、いずれのブート格納領域に格納されたブートコードを用いるかを示す分岐先指示ビットを格納する分岐先指示ビット格納領域を備え、前記複数のブート格納領域の第１の領域には、前記分岐先指示ビットが通常状態を示す値である場合のブートコードが格納され、前記ブート領域書き換え方法は、ブートコードの書き換えに際して前記第１の領域に格納されたブートコードを第２のブート格納領域にコピーするコピーステップと、前記分岐先指示ビットを、前記第２のブート格納領域を指定する値に更新する第１の分岐先指示ビット更新ステップと、前記第１のブート格納領域の内容を書き換える書き換えステップと、前記第１のブート格納領域の内容が正常に書き換えられた場合に、前記分岐先指示ビットの値を前記通常状態を示す値に更新する第２の分岐先指示ビット更新ステップとを含むことを特徴としている。
【００１７】
本発明に係るソフトウェアにより制御される機器は、上記本発明に係るブート領域書き換え装置によりブート領域の書き換えを行うことを特徴としている。
また、本発明に係る携帯電話機は、ソフトウェアにより制御される携帯電話機において、上記本発明に係るブート領域書き換え装置によりブート領域の書き換えを行うことを特徴としている。
【発明の効果】
【００１８】
本発明に係るブート領域書き換え装置等によると、ブート領域の書き換えが電池切れなどによって中断しても、リセットの後には第２の領域にコピーされたブートコードで機器を立ち上げることができるため、機器が使用不可能となってしまうことがなく、より安全にブート領域の書き換えを実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、本発明の適用対象である機器の一例としての携帯電話機を例として、図面を参照しながら説明する。
（１）携帯電話機の構成
図１は、本実施の形態における携帯電話機の外観の一例を示す斜視図である。本実施の形態の携帯電話機１０は、携帯電話機本体１１に対してフリップ１２が開閉自在に設けられた折畳式の携帯電話機であって、図１（ａ）に折り畳まれた状態が、同図（ｂ）にフリップ１２が開かれた状態が示されている。フリップ１２は、ヒンジ１３（同図（ｂ）参照）を介して、本体１１に対して開閉自在とされている。
【００２０】
本体１１側には、通話の際に音声が入力されるマイク部１１２の他、携帯電話機１０を操作する各種操作ボタンが設けられている。同図の例では、電話番号等を入力する１から０までの数字及び「＊」及び「＃」を含むダイアルボタン１１５、携帯電話機１０に対し電源投入を行う際に押下される電源ボタン１１５１、一旦入力した数字等をクリアする際に押下されるクリアボタン１１５２、着信時、通話を開始する際に押下される通話ボタン１１５３、液晶ディスプレイ等から成る表示部１２１にメニュー画面が表示された場合等に、選択された処理を確定させる場合等に押下される決定ボタン１１６、メニュー画面等において処理を選択する場合等に押下される上下左右の矢印ボタン１１７、各々に機能が割り当てられた機能ボタン１１８１〜１１８４が設けられている。機能ボタンには、例えば電話帳の編集メニューに飛んだり、受信メールの一覧表示へジャンプするような機能を割り当てることができる。
【００２１】
一方、フリップ１２の内面には、前記した液晶ディスプレイ等から成る表示部１２１、通話時に音声が出力されるスピーカ部１２２が設けられている。なお、図１には不図示であるが、携帯電話機１０の所定位置には外部とのデータ入出力が可能なＵＳＢ端子（図２参照）が設けられており、当該ＵＳＢ端子を介して外部とのデータ通信が可能な構成となっている。書き換え用のブートコードは、最初からメモリに格納しておくこともできるし、当該ＵＳＢ端子を介して新たなブートコードを外部から取得することもできる。
【００２２】
図２は、携帯電話機１０の内部構成の一例を示すブロック図である。
本実施の形態の携帯電話機１０は、ＣＰＵ２００、アンテナ２１０、送受信部２２０、表示制御部２３０、音声処理部２４０、フラッシュメモリ３００、ＵＳＢ端子４００を備えている。
【００２３】
ＣＰＵ２００は携帯電話機１０全体の制御を行う。通話の際にはマイク１１２から入力された音声が音声処理部２４０にてＡＤ変換され、送受信部２２０において通信方式に合致した処理がなされてアンテナ２１０から出力される。送受信部２２０での処理がなされてアンテナ２１０から出力されるのはデータ通信の場合も同様である。なお、本発明の内容が通信方式により限定されることはない。即ち、ＰＤＣ（パーソナル・デジタル・セルラー）、ＣＤＭＡ（符号分割多元接続）、ＰＨＳ（パーソナル・ハンディフォーン・システム）、その他、どのような方式の携帯電話機にも適用することができ、送受信部２２０は、通信方式に沿った処理を実行する。
【００２４】
アンテナ２１０を介して外部から電波を受信した場合には、送受信部２２０、音声処理部２３０を介してスピーカ１２２から音声が出力されたり、受信したデータが送受信部２２０を介してＣＰＵ２００へと入力され、ＣＰＵ２００で動作するアプリケーションによる処理を受けて、表示制御部２４０を介して表示部１２１に表示等される。音声、データの送受信については、周知の技術が用いられるので、本明細書での詳細な説明は省略する。
【００２５】
図示されたフラッシュメモリ３００としては、ＳＡＮＤ（Ｓｕｐｅｒ  ＡＮＤ）型フラッシュメモリを用いているが、機器のプログラム格納用途に適用可能である限りＮＯＲ型、ＮＡＮＤ型、その他の不揮発性メモリでも構わない。近年フラッシュメモリも高機能化が進んでいるが、本実施の形態では機器の製造コスト上昇抑制、低価格化のため、単純な構造のメモリを用いた場合を想定して説明する。フラッシュメモリ以外の不揮発性メモリや機能の付加された不揮発性メモリを用いた場合でも、必要に応じて本発明を適用することは可能である。なお、特に図示はしていないが携帯電話機の機能に応じてＳＲＡＭ、ＮＡＮＤ型フラッシュメモリ等の他のメモリも搭載される。ＣＰＵ２００は、電源ボタン１１５１が押下され電源が投入された際やリセットの際、まずフラッシュメモリ３００の先頭アドレス（ベクタアドレス０番地）にアクセスする構成となっている。
【００２６】
（２）フラッシュメモリ３００へのブートコードの格納について
図３は、本実施の形態におけるフラッシュメモリ３００のブート領域の内容について説明するための図である。本実施の形態では、機器の立ち上げ時、ＣＰＵ２００が最初にアクセスする領域３０１（ベクタアドレス０番地）には、領域３０２へのジャンプ命令が格納される。領域３０２には、「分岐ビットを参照し、ブート領域Ａ、Ｂのいずれかへジャンプさせる命令」が格納される。領域３０１（リセットハンドラ）には、従来はリセット時に行うべき処理を記述したブートコードが格納されたアドレスへ直接ジャンプするジャンプ命令が格納されていた。
【００２７】
以下、ブートコードを書き換え可能とする場合の処理について説明する。
ブート領域Ａ３０４には通常時に使用されるリセット時、電源ＯＮ時の処理（ブートコード）が格納され、ブート領域Ｂ３０５には、ブート領域Ａ３０４の書き換えを行う際に、それまでブート領域Ａ３０４に格納されていたブートコードがコピーされる。分岐ビットは、ブート領域Ａ３０４、ブート領域Ｂ３０５のいずれに格納されたブートコードを用いて機器を立ち上げるかを指示するビットであり、分岐ビット格納領域３０３に格納される。
【００２８】
分岐ビットは複数ビットとしてもよいが（この場合、３以上のブート領域に分岐させることができる）、通常はブート領域を二つ設ければ充分であり、分岐ビットも１ビットでよい。例えば通常動作時は１としておき、書き換え処理を行う際に０とすればよい。なお、異常動作の防止のためには領域３０３〜３０５は、フラッシュメモリ３００の一括消去単位であるブロックを全て別とすることが好ましい。さらに領域３０１と３０２とは同一ブロックとしてもよいが、他の領域３０３〜３０５とは別ブロックとすることが好ましい。
【００２９】
また、分岐ビット格納領域３０３を含むブロックに分岐ビット以外のデータを格納しないようにすれば異常動作の発生を確実に防止ためには、より好適である。領域３０１及び３０２の内容を固定とし、書き換え処理を行わないようにすることで、書き換え時のトラブルでジャンプ先のアドレスが変更されることによる異常動作の防止に好適である。
【００３０】
図４は、電源投入時（あるいはリセット時）のＣＰＵ２００の処理を示すフローチャートである。立ち上げの際にはＣＰＵ２００はフラッシュメモリ３００の０番地にアクセスする（Ｓ１０１）。当該領域には、領域３０２のアドレスへのジャンプ命令が格納されているため、当該領域３０２にジャンプする（Ｓ１０２）。領域３０２には、分岐ビットを参照してジャンプ先を指定する命令が格納されているので、当該命令に従って分岐ビットを参照し（Ｓ１０３）、分岐ビットが１の場合には（Ｓ１０４：ＹＥＳ）、ブート領域Ａ３０４に格納されたブートコードで機器を立ち上げ（通常動作・Ｓ１０５）、通常動作に移行する（Ｓ１０７）。分岐ビットが０の場合には（Ｓ１０４：ＮＯ）、ブート領域Ｂ３０５に格納されたブートコード（書き換え時にブート領域Ａ３０４からコピーされたもの）で機器を立ち上げる（Ｓ１０６）。この場合、書き換え動作が中断していると判定できるので、書き換えを再開する。
【００３１】
（３）ブート領域書き換え装置の処理内容
以下、本実施の形態におけるブート領域書き換えの際の処理内容について説明する。
図５は、ブート領域書き換えの処理内容について説明するためのフローチャートである。ＣＰＵ２００は、まず分岐ビットを参照する（Ｓ２０１）。分岐ビットを参照するのは、書き換え中に電池切れ等によって中断した場合の再処理である場合に対処するためである。
【００３２】
分岐ビットが１の場合（Ｓ２０１：ＹＥＳ）、ブート領域Ａ３０４に格納されたブートコードで立ち上がった状態であるから、まずブート領域Ｂ３０５の内容を消去し（Ｓ２０２）、ブート領域Ａ３０４の内容をブート領域Ｂ３０５にコピーする（Ｓ２０３）。コピー終了後、分岐ビットを０にセットする（Ｓ２０４）。
【００３３】
そしてブート領域Ａ３０４を消去し（Ｓ２０５）、新たなブートコードをブート領域Ａ３０４に書き込む（Ｓ２０６）。新たなブートコードを携帯電話機内に取得するタイミングは特に限定されない。書き込みが正常終了した場合（Ｓ２０７：ＹＥＳ）、分岐ビットを１にセットする（Ｓ２０８）。なお、この場合、分岐ビットを含むブロックには分岐ビット以外は格納しないようにすることが好ましい。分岐ビットを１にセットする際に、分岐ビットを含むブロックを一括消去することになるためである。
【００３４】
なお、ステップＳ２０１において分岐ビットが０であった場合、本実施の形態ではブート領域Ｂ３０５側にコピーされたブートコードで立ち上がっていることが示されており、これはブート領域Ａ３０４の書き換え途中に中断したことを意味するので、ステップＳ２０５へと進み、ブート領域Ａ３０４の消去及び書き込みを行う。なお、書き換えの進行状況を保持しながらブート領域Ａ３０４の書き込みを行う場合には、ステップＳ２０５へ移行してブート領域Ａ３０４の消去処理を行う必要はなく、ブート領域Ａ３０４の途中から書き込みを再開することもできる。
【００３５】
（変形例）
以上、本発明の実施の形態について説明したが、本発明の内容が上記実施の形態において説明された具体例によって限定されないことは勿論であり、例えば、以下のような変形例を実施することもできる。
【００３６】
（１）上記実施の形態では、ブートコードがＳＡＮＤ型フラッシュメモリに格納される場合について説明したが、ブートコードが格納されるメモリはフラッシュメモリに限定されるわけではなく、書き換えが可能な不揮発性メモリであれば、本願発明を適用することは可能である。
【００３７】
（２）上記実施の形態では、機器の立ち上げ時にＣＰＵ２００がフラッシュＲＯＭの先頭（ベクタアドレス０番地）にアクセスする場合について説明したが、場合によってはＣＰＵ２００が最初にアクセスするのが０番地ではない場合も有り得る。そのような場合も、同様に本願発明を適用することができる。
【００３８】
（３）上記実施の形態では、ジャンプ命令が格納される領域にブート領域Ａ３０４及びブート領域Ｂ３０５のアドレスを保持し、分岐ビット格納領域３０３に格納された分岐ビットを参照してジャンプ先を決定するようにした。（図３の領域３０２）。フラッシュメモリ３００への格納の方法としては、図６に示されるように、領域３１２に分岐ビットを含めることもできる。より具体的には、領域３１２には、分岐ビットの値に従ってブート領域Ａ３１４若しくはブート領域Ｂ３１５にジャンプするジャンプ命令が格納される。この場合には、書き換えが終了した際、領域３１２に分岐ビットを含む命令が書き込まれることとなるため、通常動作時の分岐ビットは１としても０としてもよい。
【００３９】
（４）本発明は、携帯電話機、携帯情報端末等の機器に限らず、ソフトウェアにより制御される機器であれば適用可能である。
【産業上の利用可能性】
【００４０】
本発明は、例えば携帯電話機等、ソフトウェアにより制御される機器に適用することができる。
【図面の簡単な説明】
【００４１】
【図１】本実施の形態における携帯電話機の外観の一例を示す斜視図である。
【図２】本発明の実施の形態における携帯電話機の構成の一例を示す機能ブロック図である。
【図３】本発明の実施の形態におけるフラッシュメモリ３００のブート領域の内容について説明するための図である。
【図４】電源投入時（あるいはリセット時）のＣＰＵ２００の処理を示すフローチャートである。
【図５】ブート領域書き換えの処理内容について説明するためのフローチャートである。
【図６】本発明の変形例におけるフラッシュメモリ３００のブート領域の内容について説明するための図である。
【符号の説明】
【００４２】
１０                      携帯電話機
２００                    ＣＰＵ
３００                    フラッシュメモリ
３０３                    分岐ビット格納領域
３０４、３１４            ブート領域Ａ
３０５、３１５            ブート領域Ｂ
４００                    ＵＳＢ端子
【図１】
2006287496.tif 000003
【図２】
2006287496.tif 000004
【図３】
2006287496.tif 000005
【図４】
2006287496.tif 000006
【図５】
2006287496.tif 000007
【図６】
2006287496.tif 000008