(57)【要約】【課題】  携帯電話機の筐体の解体することなく、セキュリティ性を維持した状態でＪＴＡＧ信号の取り出しを可能とする。【解決手段】  携帯電話機のＣＰＵコア２２は、音声出力端子１５を介してハイレベル（Ｈ）のデバッグモード移行制御信号が供給され、なおかつ、正規のユニーク認証コードが供給された場合のみ、デバッグモードに移行する。携帯電話機の外部メモリ装着部１６には、一端がカード型半導体メモリの形状となっているパラレルデータラインが接続されており、デバッグモードに移行した際には、このパラレルデータラインを介してＣＰＵ１９のＪＴＡＧコントローラ２３とデバッガ装置３１とを接続して、検査対象となっているソフトウェアプログラムのデバッグを行う。【選択図】  図２
2011022880.tif 000002
【特許請求の範囲】
【請求項１】
電子機器が備える第１の端子が、該第１の端子に一端が接続されたシリアルラインを介して所定の入力装置から入力されたデバッグモード移行制御信号、及びユニーク認証コードを受信する受信ステップと、
上記受信ステップにおいて上記第１の端子で受信した上記入力装置からのデバッグモード移行制御信号をトリガとして、上記電子機器のＣＰＵ（制御部）が、上記第１の端子で受信した上記ユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証ステップと、
上記認証ステップにおいて、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、上記電子機器のＣＰＵ（制御部）に設けられている切り替え回路が、電子機器が備える第２の端子に一端が接続されたパラレルラインを介して、該電子機器のＣＰＵ（制御部）に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続するパラレル接続ステップと
を有するプログラム検証方法。
【請求項２】
上記認証ステップは、上記入力装置から上記デバッグモード移行制御信号が供給されてから、所定時間以内に上記ユニーク認証コードが入力されたか否かを判別するタイムアウトステップを有し、上記電子機器のＣＰＵ（制御部）は、上記所定時間以内に上記ユニーク認証コードが入力された場合のみ、上記認証ステップにおける上記認証処理を行う
請求項１に記載のプログラム検証方法。
【請求項３】
電子機器が備える第１の端子に一端が接続され、他端が所定の入力装置に接続されたシリアルラインと、
電子機器が備える第２の端子に一端が接続され、他端が所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置に接続されたパラレルラインと、
上記電子機器のＣＰＵ（制御部）に設けられ、上記ソフトウェアプログラムのデバッグを行うデバッグモード時以外の通常時には、上記電子機器のＣＰＵ（制御部）のＣＰＵコアと、上記所定の入力装置に接続された上記第１の端子とをシリアル接続し、上記デバッグモード時には、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第２の端子と、上記電子機器のＣＰＵ（制御部）に設けられているデバッグ制御回路とをパラレル接続する切り替え回路と、
正規のユニーク認証コードが記憶されたメモリと、
上記電子機器のＣＰＵ（制御部）に設けられ、上記通常時に、上記第１の端子を介して上記入力装置から供給されるデバッグモード移行制御信号をトリガとして、該入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとを比較し、該両者が一致する認証結果が得られた際に上記デバッグモードに移行し、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第２の端子と、上記デバッグ制御回路とをパラレル接続するように、上記切り替え回路を切り替え制御して、上記所定のソフトウェアプログラムのデバッグを行うＣＰＵコアと
を有するプログラム検証装置。
【請求項４】
所定の入力装置からのデバッグモード移行制御信号、及びユニーク認証コードがシリアルラインを介して入力される第１の端子と、
所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が、パラレルラインを介して接続される第２の端子と、
正規のユニーク認証コードが記憶されたメモリと、
ＣＰＵ（制御部）に設けられ、上記第１の端子を介して上記入力装置から供給されるデバッグモード移行制御信号をトリガとして、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証処理部と、
上記ＣＰＵ（制御部）に設けられ、上記ソフトウェアプログラムのデバッグを行うデバッグモード時以外の通常時には、上記ＣＰＵ（制御部）のＣＰＵコアと、上記所定の入力装置に接続された上記第１の端子とをシリアル接続し、上記デバッグモード時には、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第２の端子と、上記ＣＰＵ（制御部）に設けられているデバッグ制御回路とをパラレル接続する切り替え回路と、
上記通常時には、上記ＣＰＵ（制御部）のＣＰＵコアと、上記所定の入力装置に接続された上記第１の端子とをシリアル接続するように、上記切り替え回路を切り替え制御し、上記通常時に、上記認証処理部が上記認証処理を行うことで、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に上記デバッグモードに移行し、上記第２の端子に一端が接続されたパラレルラインを介して、上記ＣＰＵ（制御部）に設けられているデバッグ制御回路と、上記デバッガ装置とをパラレル接続するように上記切り替え回路を切り替え制御する切り替え制御部と
を有する携帯端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば携帯電話機、ＰＨＳ電話機（PHS：Personal Handyphone System）、ＰＤＡ装置（PDA：Personal Digital Assistant）、携帯ゲーム機、ノート型のパーソナルコンピュータ装置等の携帯端末装置の他、あらゆる電子機器に設けられている集積回路の動作検証を行うオンチップ・エミュレータ装置に適用して好適なプログラム検証方法、プログラム検証装置に関する。また、このプログラム検証装置を備えた携帯端末装置に関する。
【背景技術】
【０００２】
従来、ＤＩＰパッケージ（DIP：Dual In-line Package）やＳＯＰパッケージ（SOP：Small Outline Package）と呼ばれるＩＣチップが主流の時代には、プリント基板は両面基板となっており、ＩＣチップ（IC：Integrated Circuit：集積回路）の各端子がプリント基板から突出する状態で、該ＩＣチップがプリント基板上に設けられていた。このため、オシロスコープやロジックアナライザ等の測定器のプローブ（針）を上記各端子に接触させて直接的に信号を検出することで、回路開発時のデバッグや出荷時の検査等が可能であった。
【０００３】
しかし、半導体技術の進歩によりＩＣチップのピン間隔も狭くなり上記プローブによる検査が困難となった。また、表面実装のＢＧＡパッケージ（BGA：Ball Grid Array）の場合は、プローブによる検査は不可能なものとなった。
【０００４】
このため、検査時に、ＩＣチップ内の各回路を数珠繋ぎにし、内部状態を順番に読み出すバウンダリスキャンテスト(Boundary Scan Test)が行われるようになった。そして、このバウンダリスキャンテストの方式は、ヨーロッパ諸国及びアメリカ合衆国の業界団体(＝JTAG：Joint Test Action Group)により「ＪＴＡＧ方式」として統一規格化され、ＩＥＥＥ標準１１４９．１（IEEE：Institute of Electrical and Electronic Engineers＝電気電子技術者協会）として標準化されるに至っている。
【０００５】
近年において、このようなＪＴＡＧ方式は、ソフトウェアプログラムのデバッグが可能なように機能拡張されており、この拡張機能を備えた「ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）」と呼ばれるオンチップ・エミュレータを用いて、システムのソフトウェアプログラムのデバッグ等が行われている。
【０００６】
一方、携帯電話機等の携帯端末装置は、年々、機能の多様化及び小型化が進み、内部構造が複雑化すると共に、大規模なソフトウェアプログラムの開発が必要となっている。そして、大規模なソフトウェアプログラムの開発を行うためにも、当該ソフトウェアプログラムのデバッグ時における上記ＪＴＡＧ−ＩＣＥの重要性も高まっている。
【０００７】
このＪＴＡＧ−ＩＣＥを用いてソフトウェアプログラムのデバッグが可能な携帯端末装置には、図５に示すＣＰＵ１００に、ＣＰＵコア１０１と共に、ソフトウェアプログラムのデバッグ用の４本〜６本の配線を備えたＪＴＡＧコントローラ１０２が設けられている。ソフトウェアプログラムのデバッグ時には、このＪＴＡＧコントローラ１０２の配線を、パーソナルコンピュータ装置１０４に接続されたＪＴＡＧ−ＩＣＥ１０３に対してパラレル接続する。そして、このＪＴＡＧ−ＩＣＥ１０３を用いて、ＣＰＵ１００の動作を任意のタイミングで停止させたり、レジスタやメモリの内容を読み書きすることで、ソフトウェアプログラムに基づくＣＰＵ１００の動作を検証し、該ソフトウェアプログラムのデバッグを行う。
【０００８】
なお、本発明に関連する先行技術としては、特開２００６−５１０９８０号の公開特許公報（特許文献１）に、単一の集積回路上の複数の試験アクセス・ポート・コントローラにアクセスする方法、及び装置が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−５１０９８０号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、従来、ＪＴＡＧ−ＩＣＥ１０３を用いて行うソフトウェアプログラムのデバッグには、以下の問題があった。
【００１１】
まず、ＪＴＡＧコントローラ１０２に設けられている上記配線とＪＴＡＧ−ＩＣＥ１０３とをライン接続するためには、携帯端末装置の筐体を解体して、ＣＰＵ１００を露出させる必要がある。このため、上記筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう問題がある。この問題は、近年において携帯端末装置の端末形状や内部構造が複雑化したことで、より顕著な問題となっている。
【００１２】
ただ、上記筐体を解体しなければ上記配線とＪＴＡＧ−ＩＣＥ１０３とをライン接続できないということは、上述の問題が生ずる反面、ＪＴＡＧ信号の取り扱いに対して、ある程度のセキュリティ性が確保されていることを意味している。このため、簡単にＪＴＡＧ信号を取り出せるような構成にしてしまうと、逆にＪＴＡＧ信号の取り扱いに対するセキュリティ性が確保できないという、新たな問題を生ずる。
【００１３】
次に、ＪＴＡＧコントローラ１０２に設けられている上記配線とＪＴＡＧ−ＩＣＥ１０３とをライン接続するためには、上述のように携帯端末装置の筐体を解体して、ＣＰＵ１００を露出させる必要がある。しかし、携帯端末装置が組み上がっている状態でしか発生しないバグや、各携帯端末装置毎に個別に発生するバグもある。このようなバグは、携帯端末装置の筐体を解体してしまっては修正できない問題がある。
【００１４】
本発明は、上述の課題に鑑みてなされたものであり、携帯端末装置の筐体の解体を必要とすることなく、セキュリティ性を維持した状態でＪＴＡＧ信号の取り出しを可能とすることができ、これを通じて携帯端末装置が組み上がっている状態でしか発生しないバグや、各携帯端末装置毎に個別に発生するバグの修正も可能とすることができるようなプログラム検証方法、プログラム検証装置、及びこのプログラム検証装置を備えた携帯端末装置の提供を目的とする。
【課題を解決するための手段】
【００１５】
本発明に係るプログラム検証方法は、上述の課題を解決するために、
電子機器が備える第１の端子が、該第１の端子に一端が接続されたシリアルラインを介して所定の入力装置から入力されたデバッグモード移行制御信号、及びユニーク認証コードを受信する受信ステップと、
上記受信ステップにおいて上記第１の端子で受信した上記入力装置からのデバッグモード移行制御信号をトリガとして、上記電子機器のＣＰＵ（制御部）が、上記第１の端子で受信した上記ユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証ステップと、
上記認証ステップにおいて、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、上記電子機器のＣＰＵ（制御部）に設けられている切り替え回路が、電子機器が備える第２の端子に一端が接続されたパラレルラインを介して、該電子機器のＣＰＵ（制御部）に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続するパラレル接続ステップと
を有する。
【００１６】
このようなプログラム検証方法は、電子機器が備える第１の端子に一端が接続されたシリアルラインを介して、所定の入力装置からデバッグモード移行制御信号、及びユニーク認証コードを入力されると、このデバッグモード移行制御信号をトリガとして、上記入力されたユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する。そして、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、電子機器が備える第２の端子に一端が接続されたパラレルラインを介して、該電子機器のＣＰＵ（制御部）に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続することで、上記ソフトウェアプログラムのデバッグを可能とする。
【００１７】
これにより、電子機器が備えている第１の端子及び第２の端子を用いて、該電子機器とデバッガ装置とのパラレル接続を図ることができるため、電子機器の筐体を解体することなく、また、電子機器のＣＰＵ（制御部）を露出させることなく、デバッグを行うことを可能とすることができる。そして、電子機器の筐体を解体する必要がないため、該筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう不都合を防止することができる。
【００１８】
また、電子機器の筐体を解体することなくデバッグを行うことを可能とすることができるため、電子機器が組み上がっている状態でしか発生しないバグや、各電子機器毎に個別に発生するバグに対するデバッグも可能とすることができる。
【００１９】
また、電子機器が備える第１の端子を介してデバッグモード移行制御信号、及び正規のユニーク認証コードが入力された場合のみ、ＣＰＵ（制御部）がデバッグモードに移行するため、当該携帯電話機のソフトウェアプログラムにデバッグのセキュリティ性を確保可能とすることができる。
【発明の効果】
【００２０】
本発明は、電子機器の筐体を解体することなく、セキュリティ性を維持した状態でデバッグ信号を取り出し可能とすることができる。このため、電子機器が組み上がっている状態でしか発生しないバグや、各電子機器毎に個別に発生するバグも、デバッグ信号のセキュリティ性を維持した状態で修正可能とすることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用したプログラム検証システムでソフトウェアプログラムの検証が行われる携帯電話機のブロック図である。
【図２】実施例のプログラム検証システムのブロック図である。
【図３】実施例のプログラム検証システムにおける、携帯電話機のＣＰＵがデバッグモードに移行するまでの流れを示すフローチャートである。
【図４】実施例の変形例となるプログラム検証システムのブロック図である。
【図５】ＪＴＡＧ−ＩＣＥを用いてソフトウェアプログラムのデバッグが可能な従来の携帯端末装置の要部のブロック図である。
【発明を実施するための形態】
【００２２】
本発明は、携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムに適用することができる。
【００２３】
［携帯電話機の構成］
まず、この本発明の実施例となるプログラム検証システムでソフトウェアプログラムの検証が行われる携帯電話機のブロック図を図１に示す。
【００２４】
この図１に示すように、この携帯電話機は、無線基地局との間で音声通話、テレビ電話通話、電子メール、Ｗｅｂデータ（Web：World Wide Web）等の無線通信を行うアンテナ１及び通信回路２と、受話音声等を出力するためのスピーカ部３と、送話音声等を集音するためのマイクロホン部４と、操作メニュー、電子メール、画像（静止画像及び動画像）等を表示するための表示部５と、十字キー、決定キー、数字キー等の複数の操作キーを備えた操作部６と、発着信等をユーザに光で通知するための発光部７（LED：Light Emitting Diode:発光ダイオード）とを有している。
【００２５】
また、この携帯電話機は、所望の被写体の静止画像或いは動画像を撮像するためのカメラ部８と、当該携帯電話機の筐体を振動させて発着信等をユーザに通知するためのバイブレーションユニット９と、現在時刻をカウントするタイマ１０と、例えば地上デジタル放送（いわゆる、ワンセグテレビジョン放送）等のテレビジョン放送を受信するためのテレビジョンアンテナ１１及びテレビジョンユニット１２（ＴＶユニット）と、当該携帯電話機の現在位置の検出を行うＧＰＳアンテナ１３（Global Positioning System）及びＧＰＳユニット１４とを有している。
【００２６】
また、この携帯電話機は、イヤホン装置やヘッドホン装置の平型コネクタが接続される音声出力端子１５と、例えばＳＤメモリカード（登録商標）やメモリースティック（登録商標）等のカード型半導体メモリが装着される外部メモリ装着部１６と、例えばＵＳＢ（Universal Serial Bus）やＵＡＲＴ（Universal Asynchronous Receiver Transmitter）等のシステムコネクタ部１７と、上記無線基地局を介した無線通信処理を行うためのコミュニケーションプログラムや各種アプリケーションプログラムの他、これら各アプリケーションプログラムで取り扱われる各種データ等が記憶されたメモリ１８と、当該携帯電話機全体の動作を制御するＣＰＵ１９（制御部）とを有している。
【００２７】
メモリ１８には、上記コミュニケーションプログラムの他、カメラ部８の撮像制御を行うと共に、撮像した静止画像や動画像のビューア機能も備えたカメラ制御プログラムと、電子メールの作成や送受信を制御するための電子メール管理プログラムと、ユーザのスケジュールが登録されたスケジュール帳の管理を行うためのスケジュール帳管理プログラムと、コミュニケーションネットワークやインターネット等の所定のネットワーク上に設けられたサーバ装置上で公開されているＷｅｂページを閲覧するためのＷｅｂブラウジングプログラムと、電話帳の管理を行うための電話帳管理プログラムと、音楽コンテンツの再生を行うための音楽プレーヤプログラムと、ＴＶユニット１２によるテレビジョン放送の選局制御を行うためのＴＶアプリケーションプログラムとが記憶されている。
【００２８】
また、メモリ１８には、ユーザの所望のスケジュールが登録されるスケジュール帳と、ユーザの知人や友人等のユーザ名、静止画像（顔写真等）、住所、電話番号、電子メールアドレス、生年月日等が登録された電話帳と、音楽プレーヤプログラムに基づいて再生される音楽データと、カメラ制御プログラムのビューワ機能に基づいて再生される静止画像データ及び動画像データと、送受信された電子メールデータと、電話及び電子メールの発着信履歴等が記憶されている。
【００２９】
［プログラム検証システム］
次に、このような携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムのブロック図を図２に示す。
【００３０】
この図２に示すように、プログラム検証システムは、ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のオンチップ・エミュレータであるデバッガ装置３１を携帯電話機の外部メモリ装着部１６にパラレル接続し、このデバッガ装置３１をパーソナルコンピュータ装置３２に接続すると共に、携帯電話機の音声出力端子１５とパーソナルコンピュータ装置３２とをシリアル接続することで構成されている。
【００３１】
詳細に説明すると、携帯電話機のＣＰＵ１９は、図２に示すようにＣＰＵコア２２と共に、ＪＴＡＧ拡張方式に基づいてソフトウェアプログラムのデバッグ制御を行うＪＴＡＧコントローラ２３（デバッグ制御回路）と、当該携帯電話機のシステムのブートプログラムの他、当該携帯電話機の製造業者の固有の認証コード（ユニーク認証コード）が記憶されたＲＯＭ２１（Read Only Memory）と、デバッグ時に、外部メモリ装着部１６を介してＪＴＡＧコントローラ２３とデバッガ装置３１とを接続する切り替え回路２４とを有している。
【００３２】
切り替え回路２４は、第１の切り替えスイッチ２５及び第２の切り替えスイッチ２６を有している。第１の切り替えスイッチ２５の被選択端子２５ａはＪＴＡＧコントローラ２３に接続されており、また、第１の切り替えスイッチ２５の被選択端子２５ｂはＣＰＵコア２２に接続されている。また、第１の切り替えスイッチ２５の選択端子２５ｃは、第２の切り替えスイッチ２６の選択端子２６ｃに接続されている。
【００３３】
第２の切り替えスイッチ２６の被選択端子２６ａは、平型コネクタとなっている音声出力端子の空き端子（リザーブ端子）に接続されている。また、この第２の切り替えスイッチ２６の被選択端子２６ｂは外部メモリ装着部１６に接続されている。
【００３４】
後述するが、切り替え回路２４の各切り替えスイッチ２５，２６は、通常時には、音声出力端子１５とＣＰＵコア２２とを接続するように切り替え制御されており、デバッガ時となると、ＪＴＡＧコントローラ２３と外部メモリ装着部１６とを接続するように切り替え制御される。
【００３５】
［プログラム検証システムのプログラム検証動作］
このようなプログラム検証システムで携帯電話機のソフトウェアプログラムの検証を行う場合、まず、一端が平型コネクタの形状となっているシリアルデータラインを携帯電話機の音声出力端子１５に装着すると共に、このシリアルデータラインの他端をパーソナルコンピュータ装置３２に接続する。
【００３６】
また、一端がＳＤメモリカード（登録商標）やメモリースティック（登録商標）等のカード型半導体メモリの形状となっているパラレルデータラインを携帯電話機の外部メモリ装着部１６に装着すると共に、このパラレルデータラインの他端をＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１に接続する。
【００３７】
そして、携帯電話機の起動時に、パーソナルコンピュータ装置３２からハイレベル（Ｈ）の制御信号であるデバッグモード移行制御信号を携帯電話機に供給する。これにより、携帯電話機のＣＰＵ１９が通常のブートモードからデバッグモードに移行し、所望のソフトウェアプログラムの検証が可能となる。
【００３８】
図３のフローチャートに、携帯電話機のＣＰＵ１９がデバッグモードに移行するまでの流れを示す。携帯電話機のＣＰＵ１９のＣＰＵコア２２は、当該携帯電話機のメイン電源の投入を検出することで、当該携帯電話機のシステムの起動時となった際に、図１及び図２に示すＲＯＭに記憶されているブートプログラムに基づいて、この図３のフローチャートに示す処理を開始する。
【００３９】
まず、ステップＳ１では、ＣＰＵコア２２が、図２に示す音声出力端子１５に供給されている信号レベルを検出する。そして、ＣＰＵコア２２は、ステップＳ２において、この音声出力端子１５に供給されている信号レベルはハイレベルであるか否かを判別し、ハイレベルであるものと判別した場合には処理をステップＳ３に進め、ローレベルであるものと判別した場合には処理をステップＳ９に進める。
【００４０】
具体的には、ＣＰＵコア２２は、後述するデバッグモード時以外の通常時には、選択端子２５ｃで被選択端子２５ｂを選択し、選択端子２６ｃで被選択端子２６ａを選択するように、第１及び第２の切り替えスイッチ２５，２６を切り替え制御している。このため、上記通常時には、切り替え回路２４及び音声出力端子１５を介して、ＣＰＵ１９のＣＰＵコア２２とパーソナルコンピュータ装置３２とがシリアル接続された状態となっている。
【００４１】
ソフトウェアプログラムの検証を行う検証者は、携帯電話機のメイン電源を投入した際に、パーソナルコンピュータ装置３２を介して上記ハイレベル（Ｈ）のデバッグモード移行制御信号を携帯電話機に供給する。これにより、上記ハイレベル（Ｈ）のデバッグモード移行制御信号は、携帯電話機の音声出力端子１５及び切り替え回路２４を順に介して、ＣＰＵ１９のＣＰＵコア２２に供給される。
【００４２】
ステップＳ１及びステップＳ２では、ＣＰＵコア２２が、このハイレベル（Ｈ）のデバッグモード移行制御信号が音声出力端子１５に供給されているか否かを判別しており、ハイレベル（Ｈ）のデバッグモード移行制御信号が音声出力端子１５に供給されているものと判別した際に、処理をステップＳ２３に進める。
【００４３】
なお、ハイレベル（Ｈ）のデバッグモード移行制御信号が供給されていない場合には、音声出力端子１５の信号レベルはローレベル（Ｌ）となる。このため、ＣＰＵコア２２は、音声出力端子１５の信号レベルがローレベル（Ｌ）であるものと判別した場合には、ステップＳ９において、通常のブート処理を行う。
【００４４】
次に、このプログラム検証システムの場合、ソフトウェアプログラムの検証を行う検証者は、上述のハイレベル（Ｈ）のデバッグモード移行制御信号を供給してから例えば１５秒等の所定時間以内に、パーソナルコンピュータ装置３２から携帯電話機に対して、当該携帯電話機の製造業者の固有の認証コード（ユニーク認証コード）を供給するようになっている。このユニーク認証コードは、音声出力端子１５及び切り替え回路２４を順に介して、ＣＰＵ１９のＣＰＵコア２２に供給され、ＣＰＵコア２２は、この供給されたユニーク認証コードを、ＲＯＭ２１に記憶されている正規のユニーク認証コードに基づいて、認証処理する。
【００４５】
このため、ＣＰＵコア２２は、ステップＳ３に処理を進めるとタイマ１０からの計時情報に基づいて、上記１５秒等の所定時間のカウントを開始する。そして、ステップＳ４において、上述のハイレベル（Ｈ）のデバッグモード移行制御信号が供給されてから上記１５秒等の所定時間が経過したか否かを判別し、該所定時間が経過していないものと判別した場合にはステップＳ５において、上記ユニーク認証コードの供給がなされたか否かを判別する。
【００４６】
上記所定時間が経過するまでの間に上記ユニーク認証コードが供給されなかった場合、ＣＰＵコア２２は、処理をステップＳ９に進め、通常のブート処理を行う。これにより、携帯電話機の製造業者以外の不正ユーザがソフトウェアプログラムの改竄等の目的で、上記ハイレベル（Ｈ）のデバッグモード移行制御信号の供給を行った場合でも、この不正ユーザは、正規のユニーク認証コードを知り得ないことから、上記所定時間以内にユニーク認証コードの供給を行うことができず、ＣＰＵコア２２が後述するデバッグモードに移行することはないため、不正ユーザによるソフトウェアプログラムの改竄等を防止することができる。
【００４７】
これに対して、上記所定時間が経過するまでの間に上記ユニーク認証コードが供給された場合には、ＣＰＵコア２２は処理をステップＳ６に進め、この供給されたユニーク認証コードと、ＲＯＭ２１に記憶されている正規のユニーク認証コードとに基づいて、ユニーク認証コードの認証処理を行い、ステップＳ７において、供給されたユニーク認証コードと、ＲＯＭ２１に記憶されている正規のユニーク認証コードとが一致したか否かを判別し（＝認証ＯＫか否か）、上記両者が一致したものと判別した場合にはステップＳ８に処理を進めデバッグモードに移行する。
【００４８】
また、ＣＰＵコア２２は、上記両者が一致しないものと判別した場合には、パーソナルコンピュータ装置３２からユニーク認証コードの供給を行ったユーザは、上述の不正ユーザである可能性が高いため、処理をステップＳ９に進め、通常のブート処理を行う。これにより、携帯電話機の製造業者以外の不正ユーザがソフトウェアプログラムの改竄等の目的で、上記ハイレベル（Ｈ）のデバッグモード移行制御信号の供給を行い、上記所定時間以内に適当なユニーク認証コードの供給を行った場合でも、この不正ユーザにより供給された適当なユニーク認証コードが、ＲＯＭ２１に記憶されている正規のユニーク認証コードと一致する可能性は非常に低いため、ＣＰＵコア２２がデバッグモードに移行することはなく、不正ユーザによるソフトウェアプログラムの改竄等を防止することができる。
【００４９】
次に、ＣＰＵコア２２は、デバッグモードに移行すると、選択端子２５ｃで被選択端子２５ａを選択し、選択端子２６ｃで被選択端子２６ｂを選択するように、第１及び第２の切り替えスイッチ２５，２６を切り替え制御する。これにより、このデバッグモード時には、切り替え回路２４及び外部メモリ装着部１６を介して、ＣＰＵ１９のＪＴＡＧコントローラ２３と、ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１とがパラレル接続された状態となる。
【００５０】
ソフトウェアプログラムの検証を行う検証者は、ＣＰＵ１９のＪＴＡＧコントローラ２３と、ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１とがパラレル接続されたデバッグモードにおいて、ＣＰＵコア２２の動作を任意のタイミングで停止させたり、レジスタやメモリの内容を読み書きすることで、所望のソフトウェアプログラムに基づくＣＰＵコア２２の動作を検証し、該ソフトウェアプログラムのデバッグを行う。
【００５１】
［実施例の効果］
以上の説明から明らかなように、この実施例のプログラム検証システムは、ＣＰＵコア２２が通常時である場合には、ＣＰＵコア２２と音声出力端子１５とを接続するように切り替え回路２４を切り替え制御しておき、平型コネクタの形状の端子を有するシリアルラインが音声出力端子１５に装着され、この音声出力端子１５を介してパーソナルコンピュータ装置３２からハイレベル（Ｈ）のデバッグモード移行制御信号が供給され、なおかつ、正規のユニーク認証コードが供給された際に、ＣＰＵコア２２がデバッグモードに移行するようになっている。
【００５２】
そして、デバッグモードに移行した際には、ＣＰＵ１９のＪＴＡＧコントローラ２３と、外部メモリ装着部１６とを接続するように切り替え回路２４を切り替え制御し、外部メモリ装着部１６に装着された、一端がＳＤメモリカード（登録商標）やメモリースティック（登録商標）等のカード型半導体メモリの形状となっているパラレルデータラインを介して、ＣＰＵ１９のＪＴＡＧコントローラ２３と、ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１とを接続して、検査対象となっているソフトウェアプログラムのデバッグを行う。
【００５３】
これにより、携帯電話機の音声出力端子１５に対して、平型コネクタの形状の端子を有するシリアルラインを接続し、外部メモリ装着部１６に対して、一端がカード型半導体メモリの形状となっているパラレルデータラインを接続するだけでデバッグを行うことができる。従って、携帯電話機の筐体を解体することなく、また、ＣＰＵ１９を露出させることなく、デバッグを行うことを可能とすることができる。そして、携帯電話機の筐体を解体する必要がないため、該筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう不都合を防止することができる。近年においては、携帯電話機の端末形状や内部構造が複雑化しているため、この筐体の解体やＣＰＵ１９の露出を不要とすることができるという効果は、非常に大きな効果となる。
【００５４】
また、携帯電話機の筐体を解体することなくデバッグを行うことを可能とすることができるため、携帯電話機が組み上がっている状態でしか発生しないバグや、各携帯電話機毎に個別に発生するバグに対するデバッグも可能とすることができる。
【００５５】
また、音声出力端子１５を介してパーソナルコンピュータ装置３２からハイレベル（Ｈ）のデバッグモード移行制御信号が供給し、なおかつ、所定時間以内に正規のユニーク認証コードを供給した際にのみ、ＣＰＵコア２２がデバッグモードに移行するようになっている。このため、このような時間的制約、及び正規のユニーク認証コードの入力を必要とする構成により、ＪＴＡＧ信号の取り扱いに対して、強固なセキュリティ性を確保することができる。
【００５６】
［変形例］
次に、上述の実施例のプログラム検証システムは、携帯電話機の音声出力端子１５に存在するリザーブ端子を介してハイレベル（Ｈ）のデバッグモード移行制御信号、及び正規のユニーク認証コードをＣＰＵコア２２に供給し、外部メモリ装着部１６を介してＣＰＵ１９のＪＴＡＧコントローラ２３と、ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１とを接続する構成であったが、この実施例の変形例となるプログラム検証システムは、図４に示すように携帯電話機の例えばＵＳＢ（Universal Serial Bus）やＵＡＲＴ（Universal Asynchronous Receiver Transmitter）等のシステムコネクタ部１７が備えるリザーブ端子を、シリアル端子１７ａ、パラレル端子１７ｂとし、シリアル端子１７ａをパーソナルコンピュータ装置３２に接続し、パラレル端子１７ｂをＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１に接続したものである。
【００５７】
この変形例のプログラム検証システムも、上述の実施例のプログラム検証システムと同様であり、通常時には、ＣＰＵコア２２が、当該ＣＰＵコア２２と、システムコネクタ部１７のシリアル端子１７ａとを接続するように切り替え回路２４を切り替え制御しておく。
【００５８】
所望のソフトウェアプログラムの検証を行う場合、検証者は、パーソナルコンピュータ装置３２からハイレベル（Ｈ）のデバッグモード移行制御信号を供給すると共に、所定時間内に正規のユニーク認証コードを供給する。これにより、ＣＰＵコア２２がデバッグモードに移行する。
【００５９】
ＣＰＵ１９のＣＰＵコア２２は、デバッグモードに移行すると、ＪＴＡＧコントローラ２３と、パラレル端子１７ｂとを接続するように切り替え回路２４を切り替え制御し、このシステムコネクタ部１７を介して、ＣＰＵ１９のＪＴＡＧコントローラ２３と、ＪＴＡＧ−ＩＣＥ（ICE:In-Circuit Emulator:登録商標）等のデバッガ装置３１とを接続する。これにより、検査対象となっているソフトウェアプログラムのデバッグが可能となり、上述の実施例のプログラム検証システムと同じ効果を得ることができる。
【００６０】
［他の変形例］
上述の実施例及び実施例の変形例の説明では、本発明を携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムに適用することとしたが、本発明は、ＰＨＳ電話機（PHS：Personal Handyphone System）、ＰＤＡ装置（PDA：Personal Digital Assistant）、携帯ゲーム機、ノート型やデスクトップ型のパーソナルコンピュータ装置等のあらゆる電子機器のソフトウェアプログラムの検証を行うプログラム検証システムに適用することができる。
【００６１】
最後に、上述の実施例及び実施例の変形例は、本発明の一例である。このため、本発明は上述のこれらの例に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。
【符号の説明】
【００６２】
１  携帯電話機のアンテナ、２  通信回路、３  スピーカ部、４  マイクロホン部、５  表示部、６  操作部、７  発光部（ＬＥＤ）、８  カメラ部、９  バイブレーションユニット、１０  タイマ、１１  テレビジョンアンテナ、１２  テレビジョンユニット（ＴＶユニット）、１３  ＧＰＳアンテナ、１４  ＧＰＳユニット、１５  音声出力端子、１６  外部メモリ装着部、１７  システムコネクタ部、１７ａ  システムコネクタ部のシリアル端子、１７ｂ  システムコネクタ部のパラレル端子、１８  メモリ、１９  ＣＰＵ、２１  ＣＰＵのＲＯＭ、２２  ＣＰＵのＣＰＵコア、２３  ＣＰＵのＪＴＡＧコントローラ、２４  ＣＰＵの切り替え回路、２５  切り替え回路の第１の切り替えスイッチ、２６  切り替え回路の第２の切り替えスイッチ、３１  デバッガ装置（ＪＴＡＧ−ＩＣＥ）、３２  パーソナルコンピュータ装置
【図１】
2011022880.tif 000003
【図２】
2011022880.tif 000004
【図３】
2011022880.tif 000005
【図４】
2011022880.tif 000006
【図５】
2011022880.tif 000007