(57)【特許請求の範囲】
【請求項１】
起動時に実行するブートプログラムが書き換え可能な無線通信機であって、
それぞれ独立に動作する複数の情報処理部と、
前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部の前記ブートプログラムをそれぞれ記憶している複数の記憶部と、
複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てており、該他の情報処理部に対応した記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するセレクタを有する無線通信機。
【請求項２】
前記セレクタは、
前記他の情報処理部に対応した記憶部へのアクセス時に指定された前記アドレスから前記オフセットを減算し、該他の情報処理部のアドレスデータ線に出力するアドレスオフセット減算部と、
前記オフセット減算部と接続されており、前記他の情報処理部に対応した記憶部へのアクセス時にのみオンするスイッチとを有する、請求項１記載の無線通信機。
【請求項３】
前記セレクタは、前記他の情報処理部に対応した記憶部への書き込み時のデータを、そのまま該他の情報処理部の前記アドレスデータ線に出力する、請求項１または２に記載の無線通信機。
【請求項４】
前記セレクタは、前記他の情報処理部に対応した記憶部からの読出し時のデータを、そのまま読み出しを行った前記情報処理部のアドレスデータ線に出力する、請求項１〜３のいずれか１項に記載の無線通信機。
【請求項５】
全ての前記記憶部は、それぞれ、少なくとも１つの情報処理部からアクセス可能である、請求項１〜４のいずれか１項に記載の無線通信機。
【請求項６】
全ての前記記憶部は、全ての前記情報処理部からアクセス可能である、請求項１〜５のいずれか１項に記載の無線通信機。
【請求項７】
前記情報処理部が２つである、請求項１〜６のいずれか１項に記載の無線通信機。
【請求項８】
それぞれ独立に動作する複数の情報処理部と、前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部の前記ブートプログラムをそれぞれ記憶している複数の記憶部と、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てるために、複数のアドレスデータ線に接続されたセレクタを有する無線通信機におけるブートプログラム書き換え方法であって、
１つの情報処理部で、他の情報処理部のブートプログラムを書き換えるために、自身に対応した記憶部のアドレスに前記所定のオフセットを加算したアドレスを自身のアドレスデータ線に出力してアクセスするステップと、
前記セレクタで、前記１つの情報処理部より出力された前記アドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するステップを有する、無線通信機におけるブートプログラム書き換え方法。
【請求項９】
前記１つの情報処理部から前記他の情報処理部に対応した記憶部へのアクセスがあると、前記セレクタは、内部のスイッチがオンし、内部のオフセット減算部が、前記１つの情報処理部の指定した前記アドレスから前記オフセットを減算したアドレスを該他の情報処理部のアドレスデータ線に出力する、請求項８記載の無線通信機におけるブートプログラム書き換え方法。
【請求項１０】
前記セレクタは、前記他の情報処理部に対応した記憶部への書き込み時のデータを、そのまま該他の情報処理部の前記アドレスデータ線に出力する、請求項８または９に記載の無線通信機におけるブートプログラム書き換え方法。
【請求項１１】
それぞれ独立に動作する複数の情報処理部と、前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部のブートプログラムをそれぞれ記憶している複数の記憶部と、複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てており、任意の情報処理部から他の情報処理部に対応した記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するセレクタと、を有する無線通信機のブートプログラム書き換え方法であって、
１つの情報処理部にて、他の情報処理部のブートプログラムを外部装置から受信するステップと、
前記１つの情報処理部にて、自身のブートプログラムのアドレスに前記オフセットを加算するステップと、
前記１つの情報処理部にて、前記オフセットを加算したアドレスを自身のアドレスデータ線へ出力するステップと、
前記他の情報処理部のブートプログラムを前記自身のアドレスデータ線上に出力して書き込み動作を行うステップを有する、無線通信装置におけるブートプログラム書き換え方法。
【請求項１２】
それぞれ独立に動作する複数の情報処理部と、前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部のブートプログラムをそれぞれ記憶している複数の記憶部と、複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てており、任意の情報処理部から他の情報処理部に対応した記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するセレクタを有する無線通信機において、前記ブートプログラムを書き換えるために前記情報処理部にて実行するブートプログラム書き換えプログラムであって、
１つの情報処理部にて、他の情報処理部のブートプログラムを外部装置から受信する処理と、
前記１つの情報処理部にて、自身のブートプログラムのアドレスに前記オフセットを加算する処理と、
前記１つの情報処理部にて、前記オフセットを加算したアドレスを自身のアドレスデータ線へ出力する処理と、
前記１つの情報処理部にて、前記他の情報処理部のブートプログラムを前記自身のアドレスデータ線上に出力して書き込み動作を行う処理を実行させるためのブートプログラム書き換えプログラム。
【請求項１３】
通常時の動作を行うための処理を実行させるためのプログラムに一体的に組み込まれた、請求項１２記載のブートプログラム書き換えプログラム。
【請求項１４】
通常時の動作を行うための処理を実行させるためのプログラムとは別個に構成された、請求項１２記載のブートプログラム書き換えプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯電話機等の無線通信機において起動時などにＣＰＵにて実行するブートプログラムの書き換え方法に関し、特に、書き換え後のブートプログラムが確実に実行可能となる無線通信機及びブートプログラム書き換え方法に関する。
【０００２】
【従来の技術】
近年の携帯電話機は、従来からの電話通信機能の他に、メール機能やウェブ機能、ゲーム機能その他の付加機能を有しており、ソフトウェア処理が複雑化している。
【０００３】
これら多くの機能を実現する携帯電話機として、ＣＯＤＥＣによるベースバンド信号処理や無線基地局との間の通信プロトコル制御等を行うＣＰＵ（以下、通信コアと称す）と、表示やキー操作その他の付加機能等を制御するＣＰＵ（以下、制御コアと称す）の２つのＣＰＵを有するものがある。
【０００４】
図１３は、２つのＣＰＵを有する従来の携帯電話機の構成を示すブロック図である。
【０００５】
図１３を参照すると、従来の携帯電話機１３００は、ＣＰＵ１３１１，１３２１、ＲＯＭ１３１２，１３２２、ＲＡＭ１３１３，１３２３、ポートインタフェース部１３１４，１３２４及びポートスイッチ部１３０１を有しており、パーソナルコンピュータ（ＰＣ）１３１０と接続可能である。
【０００６】
ＣＰＵ１３１１、ＲＯＭ１３１２、ＲＡＭ１３１３及びポートインタフェース部１３１４は、ＣＰＵ１３１１のアドレス・データ線１３１５で互いに接続されている。また、ＣＰＵ１３２１、ＲＯＭ１３２２、ＲＡＭ１３２３及びポートインタフェース部１３２４は、ＣＰＵ１３２１のアドレスデータ線１３２５で互いに接続されている。
【０００７】
ＣＰＵ１３１１とＣＰＵ１３２１は、互いに独立して動作するプロセッサである。例えば、一方が通信コアであり、他方が制御コアである。
【０００８】
ＣＰＵ１３１１の実行するプログラムはＲＯＭ１３１２に格納されている。そして、ＣＰＵ１３１１は、様々なプログラムを実行する際にＲＡＭ１３１３を一時的に利用する。
【０００９】
ポートインタフェース部１３１４は、ＣＰＵ１３１１とＰＣ１３１０の間の通信を可能とするためにポート１３１６を制御する。
【００１０】
また、ＣＰＵ１３２１の実行するプログラムはＲＯＭ１３２２に格納されている。そして、ＣＰＵ１３２１は、様々なプログラムを実行する際にＲＡＭ１３２３を一時的に利用する。
【００１１】
ポートインタフェース部１３２４は、ＣＰＵ１３２１とＰＣ１３１０の間の通信を可能とするためにポート１３２６を制御する。
【００１２】
ポートスイッチ部１３０１は、ＰＣ１３１０からの指示によりＣＰＵ１３１１またはＣＰＵ１３２１のいずれかを選択してＰＣ１３１０と接続する。
【００１３】
一般に、ＣＰＵが組み込まれた装置においては、そのＣＰＵの実行するプログラムがＲＯＭに格納されている。近年では、電子デバイス技術の進歩により、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）やＦＲＯＭ（Ｆｌａｓｈ  ＲＯＭ）のように、電源供給がなくても記録内容を保持し、かつ、その記録内容を書き換えることも可能なデバイスの大容量化が進んでいる。そのため、通常のＲＯＭの代わりにＥＥＰＲＯＭまたはＦＲＯＭが使用されることが多くなっている。図１３のＲＯＭ１３１２，１３２２は、ＥＥＰＲＯＭやＦＲＯＭのように、記録内容を書き換え可能なＲＯＭである。
【００１４】
一般に、ＣＰＵの起動時に実行されるプログラムは、特にブートプログラムと呼ばれる。ＣＰＵ１３１１のブートプログラムはＲＯＭ１３１２の特定領域に格納されており、ＣＰＵ１３２１のブートプログラムはＲＯＭ１３２２の特定領域に格納されている。ＣＰＵ１３１１，１３２１は、起動の際に、先ずその特定領域にアクセスし、そこに格納されたブートプログラムを実行する。
【００１５】
バグや機能追加、変更等により、ＣＰＵ１３１１のブートプログラムを変更する場合、ＰＣ１３１０からＲＯＭ１３１２へ新たなブートプログラムを書き込む。その場合、ＰＣ１３１０は、ポートスイッチ部１３０１を制御してポート１３１６を選択し、ＣＰＵ１３１１に新たなブートプログラムを送信する。新たなブートプログラムを受信したＣＰＵ１３１１はＲＯＭ１３１２の特定領域にそれを書き込む。
【００１６】
その際、ＣＰＵ１３１１は、通常の動作のためのプログラムを実行している状態（以下、オンラインと称す）であってもよく、また、通常の動作を停止してＰＣ１３１０と通信するためのプログラムを実行している状態（以下、オフラインと称す）であってもよい。オンライン状態でブートプログラムを受信するためには、通常の動作のためのプログラムがＰＣ１３１０と通信する処理を有している必要がある。オフライン状態でブートプログラムを受信するためには、ＰＣ１３１０と通信するための処理を有するオフラインプログラムが、ＣＰＵ１３１１により実行可能に、ＲＯＭ１３１２に格納されている必要がある。
【００１７】
また、ＰＣ１３１０から、ＣＰＵ１３１１を介さずに、ＲＯＭ１３１２に直接ブートプログラムを書き込む構成であってもよい。その場合、ポートインタフェース部１３１４はアドレス・データ線１３１５に対してバスマスタとなる。
【００１８】
以上のようにしてブートプログラムを書き換えた後にＣＰＵ１３１１を再起動させると、ＣＰＵ１３１１は新たなブートプログラムを読み取り、実行して起動する。これでブートプログラムが正常に変更されたことになる。
【００１９】
ＣＰＵ１３２１のブートプログラムを変更についても、ＣＰＵ１３１１のブートプログラムの場合と同様である。
【００２０】
一方、特開平８−１７９９３７号公報や特開２０００−２９３３７６号公報には、複数のブートプログラム領域を有するブートプログラム書き換え装置であって、複雑な操作を行うことなくブートプログラム領域を変更することが可能なものが記載されている。
【００２１】
図１４は、特開平８−１７９９３７号公報に記載された従来のブートプログラム書き換え装置の構成を示すブロック図である。図１４のブートプログラム書き換え装置は、ＣＰＵ１４０１、リセット部１４０２、アドレスデコーダ１４０３、ＲＯＭ１４０４ａ〜１４０４ｄ、正常プレート１４０５、リセットスイッチ１４０５、表示ＬＥＤ１４０７を有している。ＲＯＭ１４０４ａ〜１４０４ｄのアドレスは、ＲＯＭ１４０４ａ，ＲＯＭ１４０４ｂ，ＲＯＭ１４０４ｃ，ＲＯＭ１４０４ｄの順にマップされているとする。
【００２２】
ＣＰＵ１４０１は、ＲＯＭ１４０４ａ〜１４０４ｄに格納されたブートプログラムにより起動される。ブートプログラムのアドレスは、アドレス信号１４０８のうちの下位の信号によりＲＯＭ１４０４ａ〜１４０４ｄに入力される。
【００２３】
アドレスデコーダ１４０３は、アドレス信号１４０８の上位をデコードし、チップセレクト信号１４１２ａ〜１４１２ｄを生成する。ＣＰＵ１４０１からアクセスがあると、チップセレクト信号１４１２ａ〜１４１２ｄによりＲＯＭ１４０４ａ〜１４０４ｄのいずれか１つが選択される。
【００２４】
リセット部１４０２は、電源電圧及びリセットスイッチ１４０６を監視しており、電源電圧が低下した場合やリセットスイッチ１４０６が操作された場合に、所定幅のリセットパルスを発生する。このリセットパルスはＣＰＵリセット信号１４０９として作用するほか、アドレスデコーダ１４０３のチップセレクトを制御するアドレスデコーダリセット信号１４１０，１４１１として作用する。アドレスデコーダリセット信号１４１０は、電源監視により発生するリセット信号である。アドレスデコーダリセット信号１４１１は、リセットスイッチ１４０６を動作させた場合のリセット信号である。
【００２５】
電源オンなど通常の電源監視による起動時には、リセット部１４０２はＣＰＵリセット信号１４０９及びアドレスデコーダリセット信号１４１０を発生する。そして、ＲＯＭ１４０４ａが選択され、ＣＰＵ１４０１はＲＯＭ１４０４ａにあるブートプログラムを実行する。
【００２６】
一方、リセットスイッチ１４０６が操作されると、リセット部１４０２はＣＰＵリセット信号１４０９及びアドレスデコーダリセット信号１４１１を発生する。これによりＣＰＵ１４０１は電源オン時と同様に起動する。但し、この場合には、アドレスデコーダ１４０３はＣＰＵ１４０１の発生するアドレスを変換し、通常のブートＲＯＭ１４０４ａの次にマップされているＲＯＭ１４０４ｂのチップセレクト信号１４１２ｂを発生する。これにより、ＣＰＵ１４０１はＲＯＭ１４０４ｂのブートプログラムにより起動を開始する。その後、リセットスイッチ１４０６の操作によりアドレスデコーダリセット信号１４１１を発生する毎に、アドレスデコーダ１４０３はブートアドレスのチップセレクト信号１４１２ａ〜１４１２ｄを順次切り替えて行く。
【００２７】
このように、図１４の従来例では、リセットスイッチ１４０６が操作される毎に、４個のＲＯＭ１４０４ａ〜１４０４ｄのうちの１つが切り替わり選択され、そこに格納されているプログラムがＣＰＵ１４０１の起動に用いられる。
【００２８】
図１５は、特開２０００−２９３３７６号公報に記載された従来のブートプログラム書き換え装置の構成を示すブロック図である。図１５のプートプログラム書き換え装置は、ＣＰＵ１５０１、セレクタ１５０２及びブートＲＯＭ１５０３，１５０４を有している。セレクタ１５０２は、切り替えレジスタ１５０８及びオフセットレジスタ１５０９を有している。ＣＰＵ１５０１のアドレスデータ線１５０５に接続された２つのブートＲＯＭ１５０３，１５０４は容量が互いに等しい。
【００２９】
セレクタ１５０２は、ＣＰＵ１５０１の起動時には、アドレス信号をデコードしてブートＲＯＭ１５０３またはブートＲＯＭ１５０４を選択する。なお、ブートＲＯＭ１５０３及びブートＲＯＭ１５０４には、それぞれチェックサム及びタイムスタンプを含むブートプログラムが書き込まれている。また、これらのブートプログラムには、ブートＲＯＭ１５０３及びブートＲＯＭ４に書き込まれたプログラムのタイムスタンプ同士を比較する処理が含まれている。更に、これらのブートプログラムには、最もタイムスタンプが新しいプログラムのチェックサムが正常であるか否か判断する処理が含まれている。
【００３０】
切り替えレジスタ１５０８には、選択されるブートＲＯＭのアドレスが設定されている。オフセットレジスタ１５０９には、切り替えレジスタ１５０８に設定されたブートＲＯＭのアドレスに対する他方のブートＲＯＭのオフセットが設定されている。
【００３１】
アドレスマップ上では、切り替えレジスタ１５０８に設定されたブートＲＯＭのブートプログラムが「ＲＯＭ空間」の領域に書き込まれている。また、他方のブートＲＯＭに格納されているブートプログラムは「ＲＯＭ空間＋オフセット」の領域に書き込まれている。ここでは、切り替えレジスタ１５０８にブートＲＯＭ１５０３が設定されており、オフセットレジスタ１５０９にブートＲＯＭ１５０４が設定されているとする。また、ブートＲＯＭ１５０４には、これから使用すべき最新のブートプログラムが記録されているものとする。
【００３２】
ＣＰＵ１５０１は、起動時にブートＲＯＭ１５０３のアドレスを指定し、そのブートプログラムを実行する。そのブートプログラムを実行することにより、ＣＰＵ１５０１は、ＲＯＭ１５０３とＲＯＭ１５０４のタイムスタンプを比較し、新しい方のプログラムのチェックサムを計算する。そして、チェックサムに異常が無ければ、ＣＰＵ１５０１は、切り替えレジスタ１５０８のアドレスをブートＲＯＭ１５０４のものにするように、切り替えレジスタ１５０８及びオフセットレジスタ１５０９を変更する。ブートＲＯＭ１５０３とブートＲＯＭ１５０４が切り替わると、セレクタ１５０２はリセット信号１５１０をＣＰＵ１５０１に出力する。したがって、新たなブートプログラムが正常に書き込まれた場合にのみ切り替わるので、書き込みに失敗したり、データが破壊された場合に起動が不可能となることがない。
【００３３】
【発明が解決しようとする課題】
図１３の携帯電話機では、ＲＯＭ１３１２に格納されたブートプログラムが破壊されたり、ブートプログラムの書き換えに失敗すると、ＣＰＵ１３１１は正しく再起動できなくなる。このような場合、従来は、ＲＯＭ１３１１を取り外し、別の装置でＲＯＭ１３１１にブートプログラムを正しく書き直してから再び実装し、再起動する必要があり、作業が煩雑であった。特に、携帯電話機のように出荷台数の多い装置では、その作業は膨大となる恐れがあった。更に、ブートＲＯＭの取り外しの際に、そのブートＲＯＭ自体や周辺の部品等を破損してしまう恐れがあった。
【００３４】
これに対して、特開平８１７９９３７号公報や特開２０００−２９３３７６号公報に記載されたブートプログラム書き換え装置を用いれば、ブートプログラムが破壊されたり、書き換えに失敗してもＲＯＭを取り外して書き直す必要がない。
【００３５】
しかし、特開平８１７９９３７号公報や特開２０００−２９３３７６号公報に記載されたブートプログラム書き換え装置は１つのＣＰＵに対して複数のＲＯＭ或いはブートプログラム格納領域を有する必要があるため、装置規模が増大し、小型軽量、低コスト化が強く望まれる携帯電話機等には好ましくない。特に、２つのＣＰＵを有する携帯電話機では装置規模の増大が顕著となる。
【００３６】
本発明の目的は、装置規模を拡大せず、コストを増大させずに、ＣＰＵが起動しなくなることが無いようにしてブートプログラムを書き換えることができる携帯電話機等の無線通信機を提供することである。
【００３７】
【課題を解決するための手段】
上記目的を達成するために、本発明の無線通信機は、起動時に実行するブートプログラムが書き換え可能な無線通信機であって、
それぞれ独立に動作する複数の情報処理部と、
前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部の前記ブートプログラムをそれぞれ記憶している複数の記憶部と、
複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てており、該他の情報処理部に対応した記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するセレクタを有している。
【００３８】
したがって、本発明の無線通信機によれば、情報処理部のアドレス空間には、他の情報処理部に対応した記憶部がセレクタにより割り当てられているので、他系統の情報処理部から、ブートプログラムを記憶している記憶部へアクセスすることができる。
【００３９】
本発明の一態様によれば、前記セレクタは、
前記他の情報処理部に対応した記憶部へのアクセス時に指定された前記アドレスから前記オフセットを減算し、該他の情報処理部のアドレスデータ線に出力するアドレスオフセット減算部と、
前記オフセット減算部と接続されており、前記他の情報処理部に対応した記憶部へのアクセス時にのみオンするスイッチとを有している。
【００４０】
したがって、通常時、無線通信機は、セレクタのスイッチをオフとしているので、他系統の情報処理部からの不要なアクセスにより記憶部の内容が破壊されることがない。
【００４１】
本発明の一態様によれば、前記セレクタは、前記他の情報処理部に対応した記憶部への書き込み時のデータを、そのまま該他の情報処理部の前記アドレスデータ線に出力する。
【００４２】
したがって、他系統の情報処理部から、ブートプログラムを記憶している記憶部へデータの書き込みが可能なので、他系統の情報処理部からブートプログラムを書き換えることができる。
【００４３】
本発明の一態様によれば、前記セレクタは、前記他の情報処理部に対応した記憶部からの読出し時のデータを、そのまま読み出しを行った前記情報処理部のアドレス・データ線に出力する。
【００４４】
したがって、他系統の情報処理部から、ブートプログラムを記憶している記憶部のデータの読み出しが可能なので、他系統の情報処理部からブートプログラムを読み出すことができる。
【００４５】
本発明の一態様によれば、全ての前記記憶部は、それぞれ、少なくとも１つの情報処理部からアクセス可能である。
【００４６】
本発明の一態様によれば、全ての前記記憶部は、全ての前記情報処理部からアクセス可能である。
【００４７】
本発明の一態様によれば、前記情報処理部が２つである。
【００４８】
本発明のブートプログラム書き換え方法は、それぞれ独立に動作する複数の情報処理部と、前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部の前記ブートプログラムをそれぞれ記憶している複数の記憶部とを有する無線通信機におけるブートプログラム書き換え方法であって、
前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てるために、複数のアドレスデータ線に接続されたセレクタを予め設けておくステップと、
１つの情報処理部で、他の情報処理部のブートプログラムを書き換えるために、自身に対応した記憶部のアドレスに前記所定のオフセットを加算したアドレスを自身のアドレスデータ線に出力してアクセスするステップと、
前記セレクタで、前記１つの情報処理部より出力された前記アドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するステップとを有している。
【００４９】
本発明の一態様によれば、前記１つの情報処理部から前記他の情報処理部に対応した記憶部へのアクセスがあると、前記セレクタは、内部のスイッチがオンし、内部のオフセット減算部が、前記１つの情報処理部の指定した前記アドレスから前記オフセットを減算したアドレスを該他の情報処理部のアドレスデータ線に出力する。
【００５０】
本発明の一態様によれば、前記セレクタは、前記他の情報処理部に対応した記憶部への書き込み時のデータを、そのまま該他の情報処理部の前記アドレスデータ線に出力する。
【００５１】
本発明の他のブートプログラム書き換え方法は、それぞれ独立に動作する複数の情報処理部と、前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部のブートプログラムをそれぞれ記憶している複数の記憶部とを有する無線通信機のブートプログラム書き換え方法であって、
複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てており、任意の情報処理部から他の情報処理部に対応した記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するセレクタを予め設けておくステップと、
１つの情報処理部にて、他の情報処理部のブートプログラムを外部装置から受信するステップと、
前記１つの情報処理部にて、自身のブートプログラムのアドレスに前記オフセットを加算するステップと、
前記１つの情報処理部にて、前記オフセットを加算したアドレスを自身のアドレスデータ線へ出力するステップと、
前記他の情報処理部のブートプログラムを前記自身のアドレスデータ線上に出力して書き込み動作を行うステップとを有している。
【００５２】
本発明のブートプログラム書き換えプログラムは、それぞれ独立に動作する複数の情報処理部と、前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部のブートプログラムをそれぞれ記憶している複数の記憶部と、複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記憶部のアドレスに対して所定のオフセットを加算したアドレスに、他の情報処理部に対応した記憶部を割り当てており、任意の情報処理部から他の情報処理部に対応した記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算したアドレスを、前記他の情報処理部のアドレスデータ線へ出力するセレクタとを有する無線通信機において、前記ブートプログラム書き換えるために前記情報処理部にて実行するブートプログラム書き換えプログラムであって、
１つの情報処理部にて、他の情報処理部のブートプログラムを外部装置から受信する処理と、
前記１つの情報処理部にて、自身のブートプログラムのアドレスに前記オフセットを加算する処理と、
前記１つの情報処理部にて、前記オフセットを加算したアドレスを自身のアドレスデータ線へ出力する処理と、
前記１つの情報処理部にて、前記他の情報処理部のブートプログラムを前記自身のアドレスデータ線上に出力して書き込み動作を行う処理とを有している。
【００５３】
本発明の一態様によれば、通常時の動作を行うための処理を有するプログラムに一体的に組み込まれた。
【００５４】
本発明の他の態様によれば、通常時の動作を行うための処理を有するプログラムとは別個に構成されている。
***ここから***
本発明のブートプログラム切替装置は、起動時に実行するブートプログラムを書き換え、切り替えるためのブートプログラム切替装置であって、
それぞれ独立に動作する複数の情報処理部と、
前記情報処理部に対応して該情報処理部のアドレスデータ線に接続されており、該情報処理部の前記ブートプログラムをそれぞれ記憶している複数の記憶部と、
複数のアドレスデータ線に接続され、前記情報処理部から見たアドレス空間において、該情報処理部に対応した記録部のアドレス領域に所定のオフセットを加算したアドレス領域に、該情報処理部に対応しない記憶部を割り当てており、該情報処理部に対応しない記憶部へのアクセスがあると、指定されたアドレスから前記オフセットを減算して、該情報処理部に対応しない記憶部が接続されたアドレスデータ線へ出力するセレクタを有している。
【００５５】
したがって、本発明のブートプログラム切替装置によれば、セレクタが記憶部をそれに対応しない情報処理部のアドレス空間に割り当てており、そのアドレス領域へのアクセスがあると所定のオフセットを減算することで変換したアドレスを所定の記録部へ出力するので、他系統の情報処理部から記憶部のブートプログラムを書き換えることができる。
【００５６】
本発明の実施態様によれば、前記情報処理部が２つである。
【００５７】
本発明の実施態様によれば、前記セレクタは、前記情報処理部に対応しない記憶部へのアクセス時にのみオンとなるスイッチと、前記情報処理部に対応しない記憶部へのアクセス時に指定された前記アドレスから前記オフセットを減算し、該情報処理部に対応しない記憶部に接続された前記アドレス・データ線に出力するアドレスオフセット減算部とを有している。
【００５８】
したがって、通常時、ブートプログラム切替装置は、セレクタのスイッチをオフとしているので、他系統の情報処理部からの不要なアクセスにより記憶部のブートプログラムが破壊されることがない。
【００５９】
本発明の実施態様によれば、前記セレクタは、前記情報処理部に対応しない記憶部への書き込み時のデータを、そのまま該情報処理部に対応しない記憶部に接続された前記アドレス・データ線に出力する。
【００６０】
本発明の実施態様によれば、前記セレクタは、前記情報処理部に対応しない記憶部からの読出し時のデータを、そのまま読み出しを行った前記情報処理部に接続されたアドレス・データ線に出力する。
【００６１】
本発明の実施態様によれば、前記ブートプログラム切替装置を複数有する装置である。
【００６２】
【発明の実施の形態】
本発明の一実施形態について図面を参照して詳細に説明する。
【００６３】
図１は、本発明の一実施形態の携帯電話機の構成を示すブロック図である。図１を参照すると、携帯電話機１０は、ＣＰＵ１１１，１２１、ＲＯＭ１１２，１２２、ＲＡＭ１１３，１２３、ポートインタフェース部１１４，１２４、ポートスイッチ部１０１及びセレクタ１０２を有しており、パーソナルコンピュータ（ＰＣ）１３と接続可能である。即ち、携帯電話機１０は、ＣＰＵ１１１とＣＰＵ１２１の２系統のＣＰＵシステムを有している。
【００６４】
ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、ポートインタフェース部１１４及びセレクタ１０２は、ＣＰＵ１１１のアドレスデータ線１１５で互いに接続されている。また、ＣＰＵ１２１、ＲＯＭ１２２、ＲＡＭ１２３、ポートインタフェース部１２４及びセレクタ１０２は、ＣＰＵ１１２のアドレスデータ線１２５で互いに接続されている。
【００６５】
ＣＰＵ１１１とＣＰＵ１２１は互いに独立して情報処理を行うプロセッサである。例えば、一方が通信コアであり、他方が制御コアである。
【００６６】
ＲＯＭ１１２は、ＥＥＰＲＯＭやＦＲＯＭのような記録内容の書き換えが可能なＲＯＭであり、ＣＰＵ１１１が起動時に実行するブートプログラムを特定領域に記憶している。ＲＯＭ１２２もまた記録内容の書き換えが可能なＲＯＭであり、ＣＰＵ１２１が起動時に実行するブートプログラムを特定領域に記憶している。
【００６７】
ＲＡＭ１１３は、ＣＰＵ１１１がプログラムを実行する際に利用される、ランダムアクセス可能な揮発性のメモリである。ＲＡＭ１２３は、ＣＰＵ１２１がプログラムを実行する際に利用される、ランダムアクセス可能な揮発性のメモリである。
【００６８】
ポートインタフェース部１１４は、ＣＰＵ１１１とＰＣ１３の間の通信を可能とするためにポート１１６を制御する。ポートインタフェース部１２４は、ＣＰＵ１２１とＰＣ１３の間の通信を可能とするためにポート１２６を制御する。
【００６９】
ポートスイッチ部１０１は、ＰＣ１３からの指示によりＣＰＵ１１１またはＣＰＵ１２１のいずれかを選択し、選択したＣＰＵとＰＣ１３の間の通信を可能とする。
【００７０】
セレクタ１０２は、アドレス・データ線１１５とアドレス・データ線１２５を互いに接続し、ＣＰＵ１１１からＲＯＭ１２２へのアクセス及びＣＰＵ１２１からＲＯＭ１１２へのアクセスを可能とする。
【００７１】
図２は、ＣＰＵ１１１から見たアドレス空間を示す図である。ＣＰＵ１１１のアドレス空間には、ＲＯＭ１１２のアドレス領域２０１と、ＲＡＭ１１３のアドレス領域２０２と、他系統のＲＯＭであるＲＯＭ１２２のアドレス領域２０３を含んでいる。アドレス領域２０３はアドレス領域２０１に所定のオフセット２０４を加算したアドレスである。ＣＰＵ１１１及びＣＰＵ１２１から見たアドレス領域２０３には実際にはセレクタ１０２が存在している。
【００７２】
ＣＰＵ１２１から見たアドレス空間も図２と同様であり、ＲＯＭ１２２のアドレス領域２０１と、ＲＡＭ１２３のアドレス領域２０２と、他系のＲＯＭであるＲＯＭ１１２のアドレス領域２０３を含んでいる。
【００７３】
図３は、セレクタ１０２の構成を示すブロック図である。セレクタ１０２は、スイッチ３０１，３０２及びアドレスオフセット減算部３０３，３０４を有している。
【００７４】
スイッチ３０１は、アドレス・データ線１１５を介したＣＰＵ１１１からＲＯＭ１２２へのアクセス時にオンとなる。
【００７５】
スイッチ３０２は、アドレス・データ線１２５を介したＣＰＵ１２１からＲＯＭ１１２へのアクセス時にオンとなる。
【００７６】
アドレスオフセット減算部３０３は、ＣＰＵ１１１からＲＯＭ１２２へのアクセス時に、ＣＰＵ１１１がアドレス・データ線１１５上で指定したアドレスからオフセット２０４を減算してアドレス・データ線１２５へ出力する。このとき、アドレスオフセット減算部３０３は、アドレス・データ線１１５上のデータをそのままアドレス・データ線１２５に出力する。
【００７７】
アドレスオフセット減算部３０４は、ＣＰＵ１２１からＲＯＭ１１２へのアクセス時に、ＣＰＵ１２１がアドレス・データ線１２５上で指定したアドレスからオフセット２０４を減算してアドレス・データ線１１５へ出力する。このとき、アドレスオフセット減算部３０４は、アドレス・データ線１２５上のデータをそのままアドレス・データ線１１５に出力する。
【００７８】
なお、スイッチ３０１とアドレスオフセット減算部３０３の接続順序は逆であってもよい。また、スイッチ３０２とアドレスオフセット減算部３０４の接続順序は逆であってもよい。
【００７９】
ＣＰＵ１１１は、ＲＯＭ１２２にアクセスする場合には、他系統ＲＯＭのアドレス領域２０３のアドレスを指定する。ＣＰＵ１１１からアドレス・データ線１１５によりＲＯＭ１２２へのアクセスがあると、セレクタ１０２は、指定されたアドレスから所定のオフセット２０４だけ減算してアドレス・データ線１２５に出力する。オフセット２０４だけ減算されたアドレスは、アドレス・データ線１２５上のＲＯＭ１２２のアドレスなので、ＲＯＭ１２２がアクセスされる。
【００８０】
同様に、ＣＰＵ１２１からアドレス・データ線１２５によりＲＯＭ１１２へのアクセスがあると、セレクタ１０２は、指定されたアドレスから所定のオフセット２０４だけ減算してアドレス・データ線１１５に出力する。オフセット２０４だけ減算されたアドレスは、アドレス・データ線１１５上のＲＯＭ１１２のアドレスなので、ＲＯＭ１１２がアクセスされる。
【００８１】
次に、本実施形態の携帯電話機１０のＲＯＭ１２２に格納されたブートプログラムの書き換え動作について説明する。
【００８２】
作業者は、ＰＣ１３を携帯電話機１０に接続して、ＰＣ１３上のデータ送信用プログラムを起動する。
【００８３】
ここで、ＣＰＵ１１１は通常の動作のためのプログラムを実行しているオンライン状態であってもよく、また、通常の動作を停止してＰＣ１３と通信するためのプログラムを実行しているオフライン状態としてもよい。
【００８４】
オンライン状態でブートプログラムを受信するためには、通常の動作のためのプログラムがＰＣ１３と通信する処理を有している必要がある。オフライン状態でブートプログラムを受信するめには、ＰＣ１３と通信する処理を有するオフラインプログラムが、ＣＰＵ１１１に実行可能に、ＲＯＭ１１２に格納されている必要がある。
【００８５】
ＰＣ１３は、ポートスイッチ部１０１を制御してポート１１６を選択する。次に、ＰＣ１３は、ポートインタフェース部１１４を介して、ＣＰＵ１１１へ新たなブートプログラムを送信する。新たなブートプログラムを受信したＣＰＵ１１１は、セレクタ１０２を介して、ＲＯＭ１２２上のブートプログラムを書き換える。
【００８６】
その際、先ず、ＣＰＵ１１１は、セレクタ１０２のスイッチ３０１をオンにして、図４において太線で示されたルートを形成する。
【００８７】
図４の太線のルートが形成されると、ＣＰＵ１１１は、他系統ＲＯＭのアドレス領域２０３のアドレスを指定してＲＯＭ１２２へ書き込みのアクセスを行う。
【００８８】
ＣＰＵ１１１からＲＯＭ１２２へのアクセスがあると、アドレスオフセット減算部３０３は、ＣＰＵ１１１により指定されたアドレスからオフセット２０４を減算して、アドレス・データ線１２５に出力する。このとき、ＣＰＵ１１１からのデータは、そのままアドレス・データ線１２５に出力される。
【００８９】
アドレス・データ線１２５上のＲＯＭ１２２に対するチップセレクト信号は、一例として、ＣＰＵ１１１が生成し、セレクタ１０２がそれをアドレス・データ線１２５上に出力したものである。また、他の例として、アドレス・データ線１２５上のＲＯＭ１２２に対するチップセレクト信号は、ＣＰＵ１１１からアドレス・データ線１１５上で指定されたアドレスの上位をセレクタ１０２がデコードして生成し、アドレス・データ線１２５上に出力したものであってもよい。
【００９０】
ＲＯＭ１２２に格納されたブートプログラムがＣＰＵ１１１から書き換え可能なので、ＲＯＭ１２２の内容やＣＰＵ１２１の動作状態によらずにＣＰＵ１２１のブートプログラムを書き換えることができる。同様にして、ＲＯＭ１１２に格納されたブートプログラムがＣＰＵ１２１から書き換え可能なので、ＲＯＭ１１２の内容やＣＰＵ１１１の動作状態によらずに、ＣＰＵ１１１のブートプログラムを書き換えることができる。この場合、ＣＰＵ１２１は、セレクタ１０２のスイッチ３０２をオン状態にし、図５において太線で示されたルートを形成する。また、携帯電話機１０は、通常時には図６に示したように、セレクタ１０２のスイッチ３０１，３０２をオフ状態としている。
【００９１】
以上のようにしてブートプログラムを書き換えると、通常、作業者はＣＰＵリセットや電源の再投入等をして、ＣＰＵに新たなブートプログラムを実行させる。
【００９２】
本実施形態の携帯電話機におけるＣＰＵの起動時の動作について説明する。ここでは、ＣＰＵ１２１の起動を例示する。
【００９３】
ＣＰＵリセット等されると、ＣＰＵ１２１は、ＲＯＭ１２２のアドレス領域２０１にアクセスし、そこに格納されたブートプログラムを実行する。
【００９４】
ここで、例えば、ＲＯＭ１２２のブートプログラムに何らかの不具合があり、ＣＰＵ１２１が正常に起動しなかった場合、ＣＰＵ１１１からＲＯＭ１２２にアクセスしてブートプログラムを書き換えた後、ＣＰＵ１２１を再度起動する。以上により、最終的にはＣＰＵ１０２が正常に起動できる状態となる。
【００９５】
また、本実施形態のポート１１６，１２６は、例えば、ＵＳＢ、ＲＳ２３２ｃ等である。また、本発明は無線基地局からエアインタフェース上で、携帯電話機にプログラムやパラメータをダウンロードする場合にも適用可能である。
【００９６】
以上より、本実施形態の携帯電話機は、セレクタで、ＲＯＭを他系統のＣＰＵのアドレス領域に割り当てており、そのアドレス空間へのアクセスがあると、所定のオフセットを減算することで変換したアドレスを所定のＲＯＭへ出力するので、他系統のＣＰＵからＲＯＭのブートプログラムを書き換えることができる。例えば、データが破壊されたり、書き換えに失敗してその系統のＣＰＵが起動しなくなった場合でも、他系統のＣＰＵからＲＯＭのブートプログラムを何度も繰り返して書き直すことが可能である。
【００９７】
また、通常時、携帯電話機は、セレクタ１０２のスイッチ３０１，３０２をオフ状態としている。したがって、図６に示すように、それぞれのＣＰＵ１１１，１２１が互いに独立して動作しており、他系統のＣＰＵから不要なアクセスによりＲＯＭ１１２，１２２のデータ内容が破壊されることはない。
【００９８】
なお、本実施形態ではブートプログラムを書き換えるためのＲＯＭへの書き込み動作を示したが、書き込んだ内容を確認するなどのために読み出し動作も可能であってよい。
【００９９】
本発明の他の実施形態について図面を参照して説明する。
【０１００】
図７は、本発明の他の実施形態の携帯電話機の構成を示すブロック図である。図７の携帯電話機４０は、複数のＣＰＵが２つづつで１組のペアとなっている。ペア同士のＣＰＵは互いに相手の系統のＲＯＭにアクセス可能である。
【０１０１】
図７の携帯電話機４０は、ＣＰＵ４１１，４２１，４３１，４４１、ＲＯＭ４１２，４２２，４３２，４４２、ＲＡＭ４１３，４２３，４３３，４４３、ポートインタフェース部４１４，４２４，４３４，４４４、ポートスイッチ４０１及びセレクタ４０２，４０３を有している。
【０１０２】
ＣＰＵ４１１、ＲＯＭ４１２、ＲＡＭ４１３、ポートインタフェース部４１４及びセレクタ４０２はＣＰＵ４１１のアドレスデータ線４１６で互いに接続されている。また、ＣＰＵ４２１、ＲＯＭ４２２、ＲＡＭ４２３、ポートインタフェース部４２４及びセレクタ４０２はＣＰＵ４２１のアドレスデータ線４１６で互いに接続されている。
【０１０３】
ＣＰＵ４３１、ＲＯＭ４３２、ＲＡＭ４３３、ポートインタフェース部４３４及びセレクタ４０３はＣＰＵ４３１のアドレスデータ線４３６で互いに接続されている。また、ＣＰＵ４４１、ＲＯＭ４４２、ＲＡＭ４４３、ポートインタフェース部４４４及びセレクタ４０３はＣＰＵ４４１のアドレスデータ線４４６で互いに接続されている。
【０１０４】
ＣＰＵ４１１，４２１，４３１，４４１は互いに独立して動作するプロセッサである。
【０１０５】
ＣＰＵ４１１のブートプログラムはＲＯＭ４１２に格納されている。ＣＰＵ４２１のブートプログラムはＲＯＭ４２２に格納されている。ＣＰＵ４３１のブートプログラムはＲＯＭ４３２に格納されている。ＣＰＵ４４１のブートプログラムはＲＯＭ４４２に格納されている。
【０１０６】
セレクタ４０２は、アドレス・データ線４１６とアドレス・データ線４２６を互いに接続し、ＣＰＵ４１１からＲＯＭ４２２へのアクセス及びＣＰＵ４２１からＲＯＭ４１２へのアクセスを可能とする。セレクタ４０３は、アドレス・データ線４３６とアドレス・データ線４４６を互いに接続し、ＣＰＵ４３１からＲＯＭ４４２へのアクセス及びＣＰＵ４４１からＲＯＭ４３２へのアクセスを可能とする。
【０１０７】
図８は、ＣＰＵ４１１から見たアドレス空間を示す図である。ＣＰＵ４１１のアドレス空間は、ＲＯＭ４１２のアドレス領域５０１と他系のＲＯＭであるＲＯＭ４２２のアドレス領域５０２を含んでいる。アドレス領域５０２はアドレス領域５０１に所定のオフセット５０３を加算したアドレスである。
【０１０８】
ＣＰＵ４２１，４３１，４４１から見たアドレス空間も図８と同様である。
【０１０９】
図９は、図７に示したセレクタ４０２の構成を示すブロック図である。セレクタ４０２は、スイッチ６０１，６０２及びアドレスオフセット減算部６０３，６０４を有している。
【０１１０】
スイッチ６０１は、アドレス・データ線４１５を介したＣＰＵ４１１からＲＯＭ４２２へのアクセス時にオンとなる。
【０１１１】
スイッチ６０２は、アドレス・データ線４４２５を介したＣＰＵ４２１からＲＯＭ４１２へのアクセス時にオンとなる。
【０１１２】
アドレスオフセット減算部６０３は、ＣＰＵ４１１からＲＯＭ４２２へのアクセス時に、ＣＰＵ４１１がアドレス・データ線４１５上で指定したアドレスからオフセット５０３を減算してアドレス・データ線４２５へ出力する。このとき、アドレスオフセット減算部６０３は、アドレス・データ線４１５上のデータをそのままアドレス・データ線４２５に出力する。
【０１１３】
アドレスオフセット減算部６０４は、ＣＰＵ４２１からＲＯＭ４１２へのアクセス時に、ＣＰＵ４２１がアドレス・データ線４２５上で指定したアドレスからオフセット５０３を減算してアドレス・データ線４１５へ出力する。このとき、アドレスオフセット減算部６０４は、アドレス・データ線４２５上のデータをそのままアドレス・データ線４１５に出力する。
【０１１４】
ＣＰＵ４１１及びＣＰＵ４２１から見たアドレス領域５０２には実際にはセレクタ４０２が存在している。
【０１１５】
ＣＰＵ４１１は、ＲＯＭ４２２にアクセスする場合、他系統ＲＯＭのアドレス領域５０２のアドレスを指定する。ＣＰＵ４１１からアドレス・データ線４１５によりＲＯＭ４２２へのアクセスがあると、セレクタ４０２は、指定されたアドレスから所定のオフセット５０３だけ減算してアドレス・データ線４２５に出力する。オフセット５０３だけ減算されたアドレスは、アドレス・データ線４２５上のＲＯＭ４２２のアドレスなので、ＲＯＭ４２２がアクセスされる。
【０１１６】
同様に、ＣＰＵ４２１からアドレス・データ線４２５によりＲＯＭ４１２へのアクセスがあると、セレクタ４０２は、指定されたアドレスから所定のオフセット５０３だけ減算してアドレス・データ線４１５に出力する。オフセット５０３だけ減算されたアドレスは、アドレス・データ線４１５上のＲＯＭ４１２のアドレスなので、ＲＯＭ４１３がアクセスされる。
【０１１７】
セレクタ４０３は、セレクタ４０２と同じ構成である。
【０１１８】
本発明の更に他の実施形態について図面を参照して説明する。
【０１１９】
図１０は、本発明の更に他の実施形態の携帯電話機の構成を示すブロック図である。図１０の携帯電話機７０は、複数のＣＰＵを有しており、それぞれの系統のＲＯＭが他の系統のＣＰＵからアクセス可能である。
【０１２０】
図１０の携帯電話機７０は、ＣＰＵ７１１，７２１，７３１、ＲＯＭ７１２，７２２，７３２、ＲＡＭ７１３，７２３，７３３，ポートインタフェース部７１４，７２４，７３４、ポートスイッチ部７０１及びセレクタ７０２を有しており、パーソナルコンピュータ７４と接続可能である。
【０１２１】
ＣＰＵ７１１、ＲＯＭ７１２、ＲＡＭ７１３、ポートインタフェース部７１４及びセレクタ７０２はＣＰＵ７１１のアドレスデータ線７１５で互いに接続されている。また、ＣＰＵ７２１、ＲＯＭ７２２、ＲＡＭ７２３、ポートインタフェース部７２４及びセレクタ７０２はＣＰＵ７２１のアドレスデータ線７２５で互いに接続されている。ＣＰＵ７３１、ＲＯＭ７３２、ＲＡＭ７３３、ポートインタフェース部７３４及びセレクタ７０２はＣＰＵ７３１のアドレスデータ線７３５で互いに接続されている。
【０１２２】
ＣＰＵ７１１，７２１，７３１は互いに独立して動作するプロセッサである。
【０１２３】
ＣＰＵ７１１のブートプログラムはＲＯＭ７１２に格納されている。ＣＰＵ７２１のブートプログラムはＲＯＭ７２２に格納されている。ＣＰＵ７３２のブートプログラムはＲＯＭ７２３に格納されている。
【０１２４】
セレクタ７０２は、アドレス・データ線７１５，７２５，７３５を互いに接続する。
【０１２５】
図１１は、ＣＰＵ７１１から見たアドレス空間を示す図である。ＣＰＵ７１１のアドレス空間には、ＲＯＭ７１２のアドレス領域８０１と、他系のＲＯＭであるＲＯＭ７２２及びＲＯＭ７３２のアドレス領域８０２，８０３を含んでいる。アドレス領域８０２はアドレス領域８０１に所定のオフセット８０４を加算したアドレスである。アドレス領域８０３はアドレス領域８０１に所定のオフセット８０５を加算したアドレスである。
【０１２６】
ＣＰＵ７２１，７３１から見たアドレス空間も図１１と同様である。
【０１２７】
図１２は、セレクタ７０２の構成を示すブロック図である。セレクタ７０２は、スイッチ９０１，９０２，９０３及びアドレスオフセット減算部９０４，９０５，９０６を有している。
【０１２８】
スイッチ９０１は、アドレス・データ線７１５を介したＣＰＵ７１１からＲＯＭ７２１またはＲＯＭ７３１へのアクセス時にオンとなる。スイッチ９０２は、アドレス・データ線７２５を介したＣＰＵ７２１からＲＯＭ７１２，７３２へのアクセス時にオンとなる。スイッチ９０３は、アドレス・データ線７３５を介したＣＰＵ７３１からＲＯＭ７１２，７２２へのアクセス時にオンとなる。
【０１２９】
アドレスオフセット減算部９０４は、ＣＰＵ７１１からＲＯＭ７２２へのアクセス時に、ＣＰＵ７１１がアドレス・データ線７１５上で指定したアドレスからオフセット８０４を減算してアドレス・データ線７２５へ出力する。このとき、アドレスオフセット減算部９０４は、アドレス・データ線７１５上のデータをそのままアドレス・データ線７２５に出力する。アドレスオフセット減算部９０４は、ＣＰＵ７１１からＲＯＭ７３２へのアクセス時に、ＣＰＵ７１１がアドレス・データ線７１５上で指定したアドレスからオフセット８０５を減算してアドレス・データ線７３５へ出力する。このとき、アドレスオフセット減算部９０４は、アドレス・データ線７１５上のデータをそのままアドレス・データ線７３５に出力する。
【０１３０】
アドレスオフセット減算部９０５は、ＣＰＵ７２１からＲＯＭ７３２へのアクセス時に、ＣＰＵ７２１がアドレス・データ線７２５上で指定したアドレスからオフセット８０４を減算してアドレス・データ線７３５へ出力する。このとき、アドレスオフセット減算部９０５は、アドレス・データ線７２５上のデータをそのままアドレス・データ線７３５に出力する。アドレスオフセット減算部９０５は、ＣＰＵ７２１からＲＯＭ７１２へのアクセス時に、ＣＰＵ７２１がアドレス・データ線７２５上で指定したアドレスからオフセット８０５を減算してアドレス・データ線７１５へ出力する。このとき、アドレスオフセット減算部９０５は、アドレス・データ線７２５上のデータをそのままアドレス・データ線７１５に出力する。
【０１３１】
アドレスオフセット減算部９０６は、ＣＰＵ７３１からＲＯＭ７１２へのアクセス時に、ＣＰＵ７３１がアドレス・データ線７３５上で指定したアドレスからオフセット８０４を減算してアドレス・データ線７１５へ出力する。このとき、アドレスオフセット減算部９０６は、アドレス・データ線７３５上のデータをそのままアドレス・データ線７１５に出力する。アドレスオフセット減算部９０６は、ＣＰＵ７３１からＲＯＭ７２２へのアクセス時に、ＣＰＵ７３１がアドレス・データ線７３５上で指定したアドレスからオフセット８０５を減算してアドレス・データ線７２５へ出力する。このとき、アドレスオフセット減算部９０６は、アドレス・データ線７３５上のデータをそのままアドレス・データ線７２５に出力する。
【０１３２】
ＣＰＵ７１１，７２１，７３１から見たアドレス領域８０２，８０３には、実際にはセレクタ７０２が存在している。
【０１３３】
ＣＰＵ７１１は、ＲＯＭ７２２にアクセスする場合には、アドレス領域８０２のアドレスを指定する。ＣＰＵ７１１からアドレス・データ線７１５によりＲＯＭ７２２へのアクセスがあると、セレクタ７０２は、指定されたアドレスから所定のオフセット８０４だけ減算してアドレス・データ線７２５に出力する。オフセット８０４だけ減算されたアドレスは、アドレス・データ線７２５上のＲＯＭ７２２のアドレスなので、ＲＯＭ７２２がアクセスされる。ＣＰＵ７１１は、ＲＯＭ７３１にアクセスする場合には、アドレス領域８０３のアドレスを指定する。ＣＰＵ７１１からアドレス・データ線７１５によりＲＯＭ７３５へのアクセスがあると、セレクタ７０２は、指定されたアドレスから所定のオフセット８０５だけ減算してアドレス・データ線７３５に出力する。オフセット８０５だけ減算されたアドレスは、アドレス・データ線７３５上のＲＯＭ７３２のアドレスなので、ＲＯＭ７３２がアクセスされる。
【０１３４】
同様に、ＣＰＵ７２１は、ＲＯＭ７３２にアクセスする場合には、アドレス領域８０２のアドレスを指定する。ＣＰＵ７２１からアドレス・データ線７２５によりＲＯＭ７３２へのアクセスがあると、セレクタ７０２は、指定されたアドレスから所定のオフセット８０４だけ減算してアドレス・データ線７１０に出力する。オフセット８０４だけ減算されたアドレスは、アドレス・データ線７３５上のＲＯＭ７３２のアドレスなので、ＲＯＭ７３２がアクセスされる。ＣＰＵ７２１は、ＲＯＭ７１２にアクセスする場合には、アドレス領域８０３のアドレスを指定する。ＣＰＵ７２１からアドレス・データ線７２５によりＲＯＭ７１２へのアクセスがあると、セレクタ７０２は、指定されたアドレスから所定のオフセット８０５だけ減算してアドレス・データ線７１５に出力する。オフセット８０５だけ減算されたアドレスは、アドレス・データ線７１５上のＲＯＭ７１２のアドレスなので、ＲＯＭ７１２がアクセスされる。
【０１３５】
同様に、ＣＰＵ７３１は、ＲＯＭ７１２にアクセスする場合には、アドレス領域８０２のアドレスを指定する。ＣＰＵ７３１からアドレス・データ線７３５によりＲＯＭ７１２へのアクセスがあると、セレクタ７０２は、指定されたアドレスから所定のオフセット８０４だけ減算してアドレス・データ線７１５に出力する。オフセット８０４だけ減算されたアドレスは、アドレス・データ線７１５上のＲＯＭ７１２のアドレスなので、ＲＯＭ７１２がアクセスされる。ＣＰＵ７３１は、ＲＯＭ７２２にアクセスする場合には、アドレス領域８０３のアドレスを指定する。ＣＰＵ７３１からアドレス・データ線７３５によりＲＯＭ７１２へのアクセスがあると、セレクタ７０２は、指定されたアドレスから所定のオフセット８０５だけ減算してアドレス・データ線７２５に出力する。オフセット８０５だけ減算されたアドレスは、アドレス・データ線７２５上のＲＯＭ７２２のアドレスなので、ＲＯＭ７２２がアクセスされる。
【０１３６】
なお、図１０の携帯電話機７０は、ＣＰＵ７１１からＲＯＭ７２２とＲＯＭ７３２の両方へアクセス可能であり、ＣＰＵ７２１からＲＯＭ７３２とＲＯＭ７１２の両方へアクセス可能であり、ＣＰＵ７３１からＲＯＭ７１２とＲＯＭ７２２の両方へアクセス可能であるが、ＣＰＵ７１１からアクセス可能な他系統のＲＯＭをＲＯＭ７２２だけとし、ＣＰＵ７２１からアクセス可能な他系統のＲＯＭをＲＯＭ７３２だけとし、ＣＰＵ７３１からアクセス可能な他系統のＲＯＭをＲＯＭ７１２だけとしてもよい。
【０１３７】
【発明の効果】
本発明によれば、情報処理部のアドレス空間には、他の情報処理部に対応した記憶部がセレクタにより割り当てられているので、他系統の情報処理部から、ブートプログラムを記憶している記憶部へアクセスでき、データが破壊されたり、書き換えに失敗して情報処理部が起動しなくなった場合でも、他の情報処理部から記憶部のブートプログラムを何度も繰り返して書き換え、起動することができる。
【０１３８】
また、通常時、無線通信機は、セレクタのスイッチをオフとしているので、他系統の情報処理部からの不要なアクセスにより記憶部のブートプログラムが破壊されることがない。
【図面の簡単な説明】
【図１】本発明の一実施形態の携帯電話機の構成を示すブロック図である。
【図２】図１のＣＰＵから見たアドレス空間を示す図である。
【図３】図１のセレクタの構成を示すブロック図である。
【図４】図１の携帯電話機のＲＯＭの書き換え動作を説明するための図である。
【図５】図１の携帯電話機のＲＯＭの書き換え動作を説明するための他の図である。
【図６】図１の携帯電話機の通常時のアドレス・データ線のルートを示す図である。
【図７】本発明の他の実施形態の携帯電話機の構成を示すブロック図である。
【図８】図７のＣＰＵから見たアドレス空間を示す図である。
【図９】図７に示したセレクタの構成を示すブロック図である。
【図１０】本発明の更に他の実施形態の携帯電話機の構成を示すブロック図である。
【図１１】図１０のＣＰＵから見たアドレス空間を示す図である。
【図１２】図１０のセレクタの構成を示すブロック図である。
【図１３】複数のＣＰＵを有する装置の構成例を示すブロック図である。
【図１４】特開平８−１７９９３７号公報に記載された従来のブートプログラムの切替装置の構成を示すブロック図である。
【図１５】特開２０００−２９３３７６号公報に記載された従来のブートプログラム切替装置の構成を示すブロック図である。
【符号の説明】
１０，４０，７０    携帯電話機
１３，４５，７４    パーソナルコンピュータ（ＰＣ）
１０１，４０１，７０１    ポートスイッチ部
１０２，４０２，４０３，７０２    セレクタ（ＳＥＬ）
１１１，１２１，４１１，４２１，４３１，４４１，７１１，７２１，７３１
ＣＰＵ
１１２，１２２，４１２，４２２，４３２，４４２，７１２，７２２，７３２
ＲＯＭ
１１３，１２３，４１３，４２３，４３３，４４３，７１３，７２３，７３３
ＲＡＭ
１１４，１２４，４１４，４２４，４３４，４４４，７１４，７２４，７３４
ポートインタフェース部
１１５，１２５，４１５，４２５，４３５，４４５，７１５，７２５，７３５
アドレスデータ線
２０１，２０２，２０３，５０１，５０２，８０１，８０２，８０３    アドレス領域
２０４，５０３，８０４，８０５    オフセット
３０１，３０２，６０１，６０２，９０１，９０２，９０３    スイッチ
３０３，３０４，６０３，６０４，９０４，９０５，９０６    アドレスオフセット減算部
【図１】
0004840553.tif 000002
【図２】
0004840553.tif 000003
【図３】
0004840553.tif 000004
【図４】
0004840553.tif 000005
【図５】
0004840553.tif 000006
【図６】
0004840553.tif 000007
【図７】
0004840553.tif 000008
【図８】
0004840553.tif 000009
【図９】
0004840553.tif 000010
【図１０】
0004840553.tif 000011
【図１１】
0004840553.tif 000012
【図１２】
0004840553.tif 000013
【図１３】
0004840553.tif 000014
【図１４】
0004840553.tif 000015
【図１５】
0004840553.tif 000016