説明

プログラム検証方法、プログラム検証装置、及び携帯端末装置

【課題】 携帯電話機の筐体の解体することなく、セキュリティ性を維持した状態でJTAG信号の取り出しを可能とする。
【解決手段】 携帯電話機のCPUコア22は、音声出力端子15を介してハイレベル(H)のデバッグモード移行制御信号が供給され、なおかつ、正規のユニーク認証コードが供給された場合のみ、デバッグモードに移行する。携帯電話機の外部メモリ装着部16には、一端がカード型半導体メモリの形状となっているパラレルデータラインが接続されており、デバッグモードに移行した際には、このパラレルデータラインを介してCPU19のJTAGコントローラ23とデバッガ装置31とを接続して、検査対象となっているソフトウェアプログラムのデバッグを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば携帯電話機、PHS電話機(PHS:Personal Handyphone System)、PDA装置(PDA:Personal Digital Assistant)、携帯ゲーム機、ノート型のパーソナルコンピュータ装置等の携帯端末装置の他、あらゆる電子機器に設けられている集積回路の動作検証を行うオンチップ・エミュレータ装置に適用して好適なプログラム検証方法、プログラム検証装置に関する。また、このプログラム検証装置を備えた携帯端末装置に関する。
【背景技術】
【0002】
従来、DIPパッケージ(DIP:Dual In-line Package)やSOPパッケージ(SOP:Small Outline Package)と呼ばれるICチップが主流の時代には、プリント基板は両面基板となっており、ICチップ(IC:Integrated Circuit:集積回路)の各端子がプリント基板から突出する状態で、該ICチップがプリント基板上に設けられていた。このため、オシロスコープやロジックアナライザ等の測定器のプローブ(針)を上記各端子に接触させて直接的に信号を検出することで、回路開発時のデバッグや出荷時の検査等が可能であった。
【0003】
しかし、半導体技術の進歩によりICチップのピン間隔も狭くなり上記プローブによる検査が困難となった。また、表面実装のBGAパッケージ(BGA:Ball Grid Array)の場合は、プローブによる検査は不可能なものとなった。
【0004】
このため、検査時に、ICチップ内の各回路を数珠繋ぎにし、内部状態を順番に読み出すバウンダリスキャンテスト(Boundary Scan Test)が行われるようになった。そして、このバウンダリスキャンテストの方式は、ヨーロッパ諸国及びアメリカ合衆国の業界団体(=JTAG:Joint Test Action Group)により「JTAG方式」として統一規格化され、IEEE標準1149.1(IEEE:Institute of Electrical and Electronic Engineers=電気電子技術者協会)として標準化されるに至っている。
【0005】
近年において、このようなJTAG方式は、ソフトウェアプログラムのデバッグが可能なように機能拡張されており、この拡張機能を備えた「JTAG−ICE(ICE:In-Circuit Emulator:登録商標)」と呼ばれるオンチップ・エミュレータを用いて、システムのソフトウェアプログラムのデバッグ等が行われている。
【0006】
一方、携帯電話機等の携帯端末装置は、年々、機能の多様化及び小型化が進み、内部構造が複雑化すると共に、大規模なソフトウェアプログラムの開発が必要となっている。そして、大規模なソフトウェアプログラムの開発を行うためにも、当該ソフトウェアプログラムのデバッグ時における上記JTAG−ICEの重要性も高まっている。
【0007】
このJTAG−ICEを用いてソフトウェアプログラムのデバッグが可能な携帯端末装置には、図5に示すCPU100に、CPUコア101と共に、ソフトウェアプログラムのデバッグ用の4本〜6本の配線を備えたJTAGコントローラ102が設けられている。ソフトウェアプログラムのデバッグ時には、このJTAGコントローラ102の配線を、パーソナルコンピュータ装置104に接続されたJTAG−ICE103に対してパラレル接続する。そして、このJTAG−ICE103を用いて、CPU100の動作を任意のタイミングで停止させたり、レジスタやメモリの内容を読み書きすることで、ソフトウェアプログラムに基づくCPU100の動作を検証し、該ソフトウェアプログラムのデバッグを行う。
【0008】
なお、本発明に関連する先行技術としては、特開2006−510980号の公開特許公報(特許文献1)に、単一の集積回路上の複数の試験アクセス・ポート・コントローラにアクセスする方法、及び装置が開示されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−510980号
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかし、従来、JTAG−ICE103を用いて行うソフトウェアプログラムのデバッグには、以下の問題があった。
【0011】
まず、JTAGコントローラ102に設けられている上記配線とJTAG−ICE103とをライン接続するためには、携帯端末装置の筐体を解体して、CPU100を露出させる必要がある。このため、上記筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう問題がある。この問題は、近年において携帯端末装置の端末形状や内部構造が複雑化したことで、より顕著な問題となっている。
【0012】
ただ、上記筐体を解体しなければ上記配線とJTAG−ICE103とをライン接続できないということは、上述の問題が生ずる反面、JTAG信号の取り扱いに対して、ある程度のセキュリティ性が確保されていることを意味している。このため、簡単にJTAG信号を取り出せるような構成にしてしまうと、逆にJTAG信号の取り扱いに対するセキュリティ性が確保できないという、新たな問題を生ずる。
【0013】
次に、JTAGコントローラ102に設けられている上記配線とJTAG−ICE103とをライン接続するためには、上述のように携帯端末装置の筐体を解体して、CPU100を露出させる必要がある。しかし、携帯端末装置が組み上がっている状態でしか発生しないバグや、各携帯端末装置毎に個別に発生するバグもある。このようなバグは、携帯端末装置の筐体を解体してしまっては修正できない問題がある。
【0014】
本発明は、上述の課題に鑑みてなされたものであり、携帯端末装置の筐体の解体を必要とすることなく、セキュリティ性を維持した状態でJTAG信号の取り出しを可能とすることができ、これを通じて携帯端末装置が組み上がっている状態でしか発生しないバグや、各携帯端末装置毎に個別に発生するバグの修正も可能とすることができるようなプログラム検証方法、プログラム検証装置、及びこのプログラム検証装置を備えた携帯端末装置の提供を目的とする。
【課題を解決するための手段】
【0015】
本発明に係るプログラム検証方法は、上述の課題を解決するために、
電子機器が備える第1の端子が、該第1の端子に一端が接続されたシリアルラインを介して所定の入力装置から入力されたデバッグモード移行制御信号、及びユニーク認証コードを受信する受信ステップと、
上記受信ステップにおいて上記第1の端子で受信した上記入力装置からのデバッグモード移行制御信号をトリガとして、上記電子機器のCPU(制御部)が、上記第1の端子で受信した上記ユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証ステップと、
上記認証ステップにおいて、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、上記電子機器のCPU(制御部)に設けられている切り替え回路が、電子機器が備える第2の端子に一端が接続されたパラレルラインを介して、該電子機器のCPU(制御部)に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続するパラレル接続ステップと
を有する。
【0016】
このようなプログラム検証方法は、電子機器が備える第1の端子に一端が接続されたシリアルラインを介して、所定の入力装置からデバッグモード移行制御信号、及びユニーク認証コードを入力されると、このデバッグモード移行制御信号をトリガとして、上記入力されたユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する。そして、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、電子機器が備える第2の端子に一端が接続されたパラレルラインを介して、該電子機器のCPU(制御部)に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続することで、上記ソフトウェアプログラムのデバッグを可能とする。
【0017】
これにより、電子機器が備えている第1の端子及び第2の端子を用いて、該電子機器とデバッガ装置とのパラレル接続を図ることができるため、電子機器の筐体を解体することなく、また、電子機器のCPU(制御部)を露出させることなく、デバッグを行うことを可能とすることができる。そして、電子機器の筐体を解体する必要がないため、該筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう不都合を防止することができる。
【0018】
また、電子機器の筐体を解体することなくデバッグを行うことを可能とすることができるため、電子機器が組み上がっている状態でしか発生しないバグや、各電子機器毎に個別に発生するバグに対するデバッグも可能とすることができる。
【0019】
また、電子機器が備える第1の端子を介してデバッグモード移行制御信号、及び正規のユニーク認証コードが入力された場合のみ、CPU(制御部)がデバッグモードに移行するため、当該携帯電話機のソフトウェアプログラムにデバッグのセキュリティ性を確保可能とすることができる。
【発明の効果】
【0020】
本発明は、電子機器の筐体を解体することなく、セキュリティ性を維持した状態でデバッグ信号を取り出し可能とすることができる。このため、電子機器が組み上がっている状態でしか発生しないバグや、各電子機器毎に個別に発生するバグも、デバッグ信号のセキュリティ性を維持した状態で修正可能とすることができる。
【図面の簡単な説明】
【0021】
【図1】本発明を適用したプログラム検証システムでソフトウェアプログラムの検証が行われる携帯電話機のブロック図である。
【図2】実施例のプログラム検証システムのブロック図である。
【図3】実施例のプログラム検証システムにおける、携帯電話機のCPUがデバッグモードに移行するまでの流れを示すフローチャートである。
【図4】実施例の変形例となるプログラム検証システムのブロック図である。
【図5】JTAG−ICEを用いてソフトウェアプログラムのデバッグが可能な従来の携帯端末装置の要部のブロック図である。
【発明を実施するための形態】
【0022】
本発明は、携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムに適用することができる。
【0023】
[携帯電話機の構成]
まず、この本発明の実施例となるプログラム検証システムでソフトウェアプログラムの検証が行われる携帯電話機のブロック図を図1に示す。
【0024】
この図1に示すように、この携帯電話機は、無線基地局との間で音声通話、テレビ電話通話、電子メール、Webデータ(Web:World Wide Web)等の無線通信を行うアンテナ1及び通信回路2と、受話音声等を出力するためのスピーカ部3と、送話音声等を集音するためのマイクロホン部4と、操作メニュー、電子メール、画像(静止画像及び動画像)等を表示するための表示部5と、十字キー、決定キー、数字キー等の複数の操作キーを備えた操作部6と、発着信等をユーザに光で通知するための発光部7(LED:Light Emitting Diode:発光ダイオード)とを有している。
【0025】
また、この携帯電話機は、所望の被写体の静止画像或いは動画像を撮像するためのカメラ部8と、当該携帯電話機の筐体を振動させて発着信等をユーザに通知するためのバイブレーションユニット9と、現在時刻をカウントするタイマ10と、例えば地上デジタル放送(いわゆる、ワンセグテレビジョン放送)等のテレビジョン放送を受信するためのテレビジョンアンテナ11及びテレビジョンユニット12(TVユニット)と、当該携帯電話機の現在位置の検出を行うGPSアンテナ13(Global Positioning System)及びGPSユニット14とを有している。
【0026】
また、この携帯電話機は、イヤホン装置やヘッドホン装置の平型コネクタが接続される音声出力端子15と、例えばSDメモリカード(登録商標)やメモリースティック(登録商標)等のカード型半導体メモリが装着される外部メモリ装着部16と、例えばUSB(Universal Serial Bus)やUART(Universal Asynchronous Receiver Transmitter)等のシステムコネクタ部17と、上記無線基地局を介した無線通信処理を行うためのコミュニケーションプログラムや各種アプリケーションプログラムの他、これら各アプリケーションプログラムで取り扱われる各種データ等が記憶されたメモリ18と、当該携帯電話機全体の動作を制御するCPU19(制御部)とを有している。
【0027】
メモリ18には、上記コミュニケーションプログラムの他、カメラ部8の撮像制御を行うと共に、撮像した静止画像や動画像のビューア機能も備えたカメラ制御プログラムと、電子メールの作成や送受信を制御するための電子メール管理プログラムと、ユーザのスケジュールが登録されたスケジュール帳の管理を行うためのスケジュール帳管理プログラムと、コミュニケーションネットワークやインターネット等の所定のネットワーク上に設けられたサーバ装置上で公開されているWebページを閲覧するためのWebブラウジングプログラムと、電話帳の管理を行うための電話帳管理プログラムと、音楽コンテンツの再生を行うための音楽プレーヤプログラムと、TVユニット12によるテレビジョン放送の選局制御を行うためのTVアプリケーションプログラムとが記憶されている。
【0028】
また、メモリ18には、ユーザの所望のスケジュールが登録されるスケジュール帳と、ユーザの知人や友人等のユーザ名、静止画像(顔写真等)、住所、電話番号、電子メールアドレス、生年月日等が登録された電話帳と、音楽プレーヤプログラムに基づいて再生される音楽データと、カメラ制御プログラムのビューワ機能に基づいて再生される静止画像データ及び動画像データと、送受信された電子メールデータと、電話及び電子メールの発着信履歴等が記憶されている。
【0029】
[プログラム検証システム]
次に、このような携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムのブロック図を図2に示す。
【0030】
この図2に示すように、プログラム検証システムは、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のオンチップ・エミュレータであるデバッガ装置31を携帯電話機の外部メモリ装着部16にパラレル接続し、このデバッガ装置31をパーソナルコンピュータ装置32に接続すると共に、携帯電話機の音声出力端子15とパーソナルコンピュータ装置32とをシリアル接続することで構成されている。
【0031】
詳細に説明すると、携帯電話機のCPU19は、図2に示すようにCPUコア22と共に、JTAG拡張方式に基づいてソフトウェアプログラムのデバッグ制御を行うJTAGコントローラ23(デバッグ制御回路)と、当該携帯電話機のシステムのブートプログラムの他、当該携帯電話機の製造業者の固有の認証コード(ユニーク認証コード)が記憶されたROM21(Read Only Memory)と、デバッグ時に、外部メモリ装着部16を介してJTAGコントローラ23とデバッガ装置31とを接続する切り替え回路24とを有している。
【0032】
切り替え回路24は、第1の切り替えスイッチ25及び第2の切り替えスイッチ26を有している。第1の切り替えスイッチ25の被選択端子25aはJTAGコントローラ23に接続されており、また、第1の切り替えスイッチ25の被選択端子25bはCPUコア22に接続されている。また、第1の切り替えスイッチ25の選択端子25cは、第2の切り替えスイッチ26の選択端子26cに接続されている。
【0033】
第2の切り替えスイッチ26の被選択端子26aは、平型コネクタとなっている音声出力端子の空き端子(リザーブ端子)に接続されている。また、この第2の切り替えスイッチ26の被選択端子26bは外部メモリ装着部16に接続されている。
【0034】
後述するが、切り替え回路24の各切り替えスイッチ25,26は、通常時には、音声出力端子15とCPUコア22とを接続するように切り替え制御されており、デバッガ時となると、JTAGコントローラ23と外部メモリ装着部16とを接続するように切り替え制御される。
【0035】
[プログラム検証システムのプログラム検証動作]
このようなプログラム検証システムで携帯電話機のソフトウェアプログラムの検証を行う場合、まず、一端が平型コネクタの形状となっているシリアルデータラインを携帯電話機の音声出力端子15に装着すると共に、このシリアルデータラインの他端をパーソナルコンピュータ装置32に接続する。
【0036】
また、一端がSDメモリカード(登録商標)やメモリースティック(登録商標)等のカード型半導体メモリの形状となっているパラレルデータラインを携帯電話機の外部メモリ装着部16に装着すると共に、このパラレルデータラインの他端をJTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31に接続する。
【0037】
そして、携帯電話機の起動時に、パーソナルコンピュータ装置32からハイレベル(H)の制御信号であるデバッグモード移行制御信号を携帯電話機に供給する。これにより、携帯電話機のCPU19が通常のブートモードからデバッグモードに移行し、所望のソフトウェアプログラムの検証が可能となる。
【0038】
図3のフローチャートに、携帯電話機のCPU19がデバッグモードに移行するまでの流れを示す。携帯電話機のCPU19のCPUコア22は、当該携帯電話機のメイン電源の投入を検出することで、当該携帯電話機のシステムの起動時となった際に、図1及び図2に示すROMに記憶されているブートプログラムに基づいて、この図3のフローチャートに示す処理を開始する。
【0039】
まず、ステップS1では、CPUコア22が、図2に示す音声出力端子15に供給されている信号レベルを検出する。そして、CPUコア22は、ステップS2において、この音声出力端子15に供給されている信号レベルはハイレベルであるか否かを判別し、ハイレベルであるものと判別した場合には処理をステップS3に進め、ローレベルであるものと判別した場合には処理をステップS9に進める。
【0040】
具体的には、CPUコア22は、後述するデバッグモード時以外の通常時には、選択端子25cで被選択端子25bを選択し、選択端子26cで被選択端子26aを選択するように、第1及び第2の切り替えスイッチ25,26を切り替え制御している。このため、上記通常時には、切り替え回路24及び音声出力端子15を介して、CPU19のCPUコア22とパーソナルコンピュータ装置32とがシリアル接続された状態となっている。
【0041】
ソフトウェアプログラムの検証を行う検証者は、携帯電話機のメイン電源を投入した際に、パーソナルコンピュータ装置32を介して上記ハイレベル(H)のデバッグモード移行制御信号を携帯電話機に供給する。これにより、上記ハイレベル(H)のデバッグモード移行制御信号は、携帯電話機の音声出力端子15及び切り替え回路24を順に介して、CPU19のCPUコア22に供給される。
【0042】
ステップS1及びステップS2では、CPUコア22が、このハイレベル(H)のデバッグモード移行制御信号が音声出力端子15に供給されているか否かを判別しており、ハイレベル(H)のデバッグモード移行制御信号が音声出力端子15に供給されているものと判別した際に、処理をステップS23に進める。
【0043】
なお、ハイレベル(H)のデバッグモード移行制御信号が供給されていない場合には、音声出力端子15の信号レベルはローレベル(L)となる。このため、CPUコア22は、音声出力端子15の信号レベルがローレベル(L)であるものと判別した場合には、ステップS9において、通常のブート処理を行う。
【0044】
次に、このプログラム検証システムの場合、ソフトウェアプログラムの検証を行う検証者は、上述のハイレベル(H)のデバッグモード移行制御信号を供給してから例えば15秒等の所定時間以内に、パーソナルコンピュータ装置32から携帯電話機に対して、当該携帯電話機の製造業者の固有の認証コード(ユニーク認証コード)を供給するようになっている。このユニーク認証コードは、音声出力端子15及び切り替え回路24を順に介して、CPU19のCPUコア22に供給され、CPUコア22は、この供給されたユニーク認証コードを、ROM21に記憶されている正規のユニーク認証コードに基づいて、認証処理する。
【0045】
このため、CPUコア22は、ステップS3に処理を進めるとタイマ10からの計時情報に基づいて、上記15秒等の所定時間のカウントを開始する。そして、ステップS4において、上述のハイレベル(H)のデバッグモード移行制御信号が供給されてから上記15秒等の所定時間が経過したか否かを判別し、該所定時間が経過していないものと判別した場合にはステップS5において、上記ユニーク認証コードの供給がなされたか否かを判別する。
【0046】
上記所定時間が経過するまでの間に上記ユニーク認証コードが供給されなかった場合、CPUコア22は、処理をステップS9に進め、通常のブート処理を行う。これにより、携帯電話機の製造業者以外の不正ユーザがソフトウェアプログラムの改竄等の目的で、上記ハイレベル(H)のデバッグモード移行制御信号の供給を行った場合でも、この不正ユーザは、正規のユニーク認証コードを知り得ないことから、上記所定時間以内にユニーク認証コードの供給を行うことができず、CPUコア22が後述するデバッグモードに移行することはないため、不正ユーザによるソフトウェアプログラムの改竄等を防止することができる。
【0047】
これに対して、上記所定時間が経過するまでの間に上記ユニーク認証コードが供給された場合には、CPUコア22は処理をステップS6に進め、この供給されたユニーク認証コードと、ROM21に記憶されている正規のユニーク認証コードとに基づいて、ユニーク認証コードの認証処理を行い、ステップS7において、供給されたユニーク認証コードと、ROM21に記憶されている正規のユニーク認証コードとが一致したか否かを判別し(=認証OKか否か)、上記両者が一致したものと判別した場合にはステップS8に処理を進めデバッグモードに移行する。
【0048】
また、CPUコア22は、上記両者が一致しないものと判別した場合には、パーソナルコンピュータ装置32からユニーク認証コードの供給を行ったユーザは、上述の不正ユーザである可能性が高いため、処理をステップS9に進め、通常のブート処理を行う。これにより、携帯電話機の製造業者以外の不正ユーザがソフトウェアプログラムの改竄等の目的で、上記ハイレベル(H)のデバッグモード移行制御信号の供給を行い、上記所定時間以内に適当なユニーク認証コードの供給を行った場合でも、この不正ユーザにより供給された適当なユニーク認証コードが、ROM21に記憶されている正規のユニーク認証コードと一致する可能性は非常に低いため、CPUコア22がデバッグモードに移行することはなく、不正ユーザによるソフトウェアプログラムの改竄等を防止することができる。
【0049】
次に、CPUコア22は、デバッグモードに移行すると、選択端子25cで被選択端子25aを選択し、選択端子26cで被選択端子26bを選択するように、第1及び第2の切り替えスイッチ25,26を切り替え制御する。これにより、このデバッグモード時には、切り替え回路24及び外部メモリ装着部16を介して、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とがパラレル接続された状態となる。
【0050】
ソフトウェアプログラムの検証を行う検証者は、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とがパラレル接続されたデバッグモードにおいて、CPUコア22の動作を任意のタイミングで停止させたり、レジスタやメモリの内容を読み書きすることで、所望のソフトウェアプログラムに基づくCPUコア22の動作を検証し、該ソフトウェアプログラムのデバッグを行う。
【0051】
[実施例の効果]
以上の説明から明らかなように、この実施例のプログラム検証システムは、CPUコア22が通常時である場合には、CPUコア22と音声出力端子15とを接続するように切り替え回路24を切り替え制御しておき、平型コネクタの形状の端子を有するシリアルラインが音声出力端子15に装着され、この音声出力端子15を介してパーソナルコンピュータ装置32からハイレベル(H)のデバッグモード移行制御信号が供給され、なおかつ、正規のユニーク認証コードが供給された際に、CPUコア22がデバッグモードに移行するようになっている。
【0052】
そして、デバッグモードに移行した際には、CPU19のJTAGコントローラ23と、外部メモリ装着部16とを接続するように切り替え回路24を切り替え制御し、外部メモリ装着部16に装着された、一端がSDメモリカード(登録商標)やメモリースティック(登録商標)等のカード型半導体メモリの形状となっているパラレルデータラインを介して、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とを接続して、検査対象となっているソフトウェアプログラムのデバッグを行う。
【0053】
これにより、携帯電話機の音声出力端子15に対して、平型コネクタの形状の端子を有するシリアルラインを接続し、外部メモリ装着部16に対して、一端がカード型半導体メモリの形状となっているパラレルデータラインを接続するだけでデバッグを行うことができる。従って、携帯電話機の筐体を解体することなく、また、CPU19を露出させることなく、デバッグを行うことを可能とすることができる。そして、携帯電話機の筐体を解体する必要がないため、該筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう不都合を防止することができる。近年においては、携帯電話機の端末形状や内部構造が複雑化しているため、この筐体の解体やCPU19の露出を不要とすることができるという効果は、非常に大きな効果となる。
【0054】
また、携帯電話機の筐体を解体することなくデバッグを行うことを可能とすることができるため、携帯電話機が組み上がっている状態でしか発生しないバグや、各携帯電話機毎に個別に発生するバグに対するデバッグも可能とすることができる。
【0055】
また、音声出力端子15を介してパーソナルコンピュータ装置32からハイレベル(H)のデバッグモード移行制御信号が供給し、なおかつ、所定時間以内に正規のユニーク認証コードを供給した際にのみ、CPUコア22がデバッグモードに移行するようになっている。このため、このような時間的制約、及び正規のユニーク認証コードの入力を必要とする構成により、JTAG信号の取り扱いに対して、強固なセキュリティ性を確保することができる。
【0056】
[変形例]
次に、上述の実施例のプログラム検証システムは、携帯電話機の音声出力端子15に存在するリザーブ端子を介してハイレベル(H)のデバッグモード移行制御信号、及び正規のユニーク認証コードをCPUコア22に供給し、外部メモリ装着部16を介してCPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とを接続する構成であったが、この実施例の変形例となるプログラム検証システムは、図4に示すように携帯電話機の例えばUSB(Universal Serial Bus)やUART(Universal Asynchronous Receiver Transmitter)等のシステムコネクタ部17が備えるリザーブ端子を、シリアル端子17a、パラレル端子17bとし、シリアル端子17aをパーソナルコンピュータ装置32に接続し、パラレル端子17bをJTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31に接続したものである。
【0057】
この変形例のプログラム検証システムも、上述の実施例のプログラム検証システムと同様であり、通常時には、CPUコア22が、当該CPUコア22と、システムコネクタ部17のシリアル端子17aとを接続するように切り替え回路24を切り替え制御しておく。
【0058】
所望のソフトウェアプログラムの検証を行う場合、検証者は、パーソナルコンピュータ装置32からハイレベル(H)のデバッグモード移行制御信号を供給すると共に、所定時間内に正規のユニーク認証コードを供給する。これにより、CPUコア22がデバッグモードに移行する。
【0059】
CPU19のCPUコア22は、デバッグモードに移行すると、JTAGコントローラ23と、パラレル端子17bとを接続するように切り替え回路24を切り替え制御し、このシステムコネクタ部17を介して、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とを接続する。これにより、検査対象となっているソフトウェアプログラムのデバッグが可能となり、上述の実施例のプログラム検証システムと同じ効果を得ることができる。
【0060】
[他の変形例]
上述の実施例及び実施例の変形例の説明では、本発明を携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムに適用することとしたが、本発明は、PHS電話機(PHS:Personal Handyphone System)、PDA装置(PDA:Personal Digital Assistant)、携帯ゲーム機、ノート型やデスクトップ型のパーソナルコンピュータ装置等のあらゆる電子機器のソフトウェアプログラムの検証を行うプログラム検証システムに適用することができる。
【0061】
最後に、上述の実施例及び実施例の変形例は、本発明の一例である。このため、本発明は上述のこれらの例に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。
【符号の説明】
【0062】
1 携帯電話機のアンテナ、2 通信回路、3 スピーカ部、4 マイクロホン部、5 表示部、6 操作部、7 発光部(LED)、8 カメラ部、9 バイブレーションユニット、10 タイマ、11 テレビジョンアンテナ、12 テレビジョンユニット(TVユニット)、13 GPSアンテナ、14 GPSユニット、15 音声出力端子、16 外部メモリ装着部、17 システムコネクタ部、17a システムコネクタ部のシリアル端子、17b システムコネクタ部のパラレル端子、18 メモリ、19 CPU、21 CPUのROM、22 CPUのCPUコア、23 CPUのJTAGコントローラ、24 CPUの切り替え回路、25 切り替え回路の第1の切り替えスイッチ、26 切り替え回路の第2の切り替えスイッチ、31 デバッガ装置(JTAG−ICE)、32 パーソナルコンピュータ装置

【特許請求の範囲】
【請求項1】
電子機器が備える第1の端子が、該第1の端子に一端が接続されたシリアルラインを介して所定の入力装置から入力されたデバッグモード移行制御信号、及びユニーク認証コードを受信する受信ステップと、
上記受信ステップにおいて上記第1の端子で受信した上記入力装置からのデバッグモード移行制御信号をトリガとして、上記電子機器のCPU(制御部)が、上記第1の端子で受信した上記ユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証ステップと、
上記認証ステップにおいて、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、上記電子機器のCPU(制御部)に設けられている切り替え回路が、電子機器が備える第2の端子に一端が接続されたパラレルラインを介して、該電子機器のCPU(制御部)に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続するパラレル接続ステップと
を有するプログラム検証方法。
【請求項2】
上記認証ステップは、上記入力装置から上記デバッグモード移行制御信号が供給されてから、所定時間以内に上記ユニーク認証コードが入力されたか否かを判別するタイムアウトステップを有し、上記電子機器のCPU(制御部)は、上記所定時間以内に上記ユニーク認証コードが入力された場合のみ、上記認証ステップにおける上記認証処理を行う
請求項1に記載のプログラム検証方法。
【請求項3】
電子機器が備える第1の端子に一端が接続され、他端が所定の入力装置に接続されたシリアルラインと、
電子機器が備える第2の端子に一端が接続され、他端が所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置に接続されたパラレルラインと、
上記電子機器のCPU(制御部)に設けられ、上記ソフトウェアプログラムのデバッグを行うデバッグモード時以外の通常時には、上記電子機器のCPU(制御部)のCPUコアと、上記所定の入力装置に接続された上記第1の端子とをシリアル接続し、上記デバッグモード時には、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第2の端子と、上記電子機器のCPU(制御部)に設けられているデバッグ制御回路とをパラレル接続する切り替え回路と、
正規のユニーク認証コードが記憶されたメモリと、
上記電子機器のCPU(制御部)に設けられ、上記通常時に、上記第1の端子を介して上記入力装置から供給されるデバッグモード移行制御信号をトリガとして、該入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとを比較し、該両者が一致する認証結果が得られた際に上記デバッグモードに移行し、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第2の端子と、上記デバッグ制御回路とをパラレル接続するように、上記切り替え回路を切り替え制御して、上記所定のソフトウェアプログラムのデバッグを行うCPUコアと
を有するプログラム検証装置。
【請求項4】
所定の入力装置からのデバッグモード移行制御信号、及びユニーク認証コードがシリアルラインを介して入力される第1の端子と、
所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が、パラレルラインを介して接続される第2の端子と、
正規のユニーク認証コードが記憶されたメモリと、
CPU(制御部)に設けられ、上記第1の端子を介して上記入力装置から供給されるデバッグモード移行制御信号をトリガとして、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証処理部と、
上記CPU(制御部)に設けられ、上記ソフトウェアプログラムのデバッグを行うデバッグモード時以外の通常時には、上記CPU(制御部)のCPUコアと、上記所定の入力装置に接続された上記第1の端子とをシリアル接続し、上記デバッグモード時には、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第2の端子と、上記CPU(制御部)に設けられているデバッグ制御回路とをパラレル接続する切り替え回路と、
上記通常時には、上記CPU(制御部)のCPUコアと、上記所定の入力装置に接続された上記第1の端子とをシリアル接続するように、上記切り替え回路を切り替え制御し、上記通常時に、上記認証処理部が上記認証処理を行うことで、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に上記デバッグモードに移行し、上記第2の端子に一端が接続されたパラレルラインを介して、上記CPU(制御部)に設けられているデバッグ制御回路と、上記デバッガ装置とをパラレル接続するように上記切り替え回路を切り替え制御する切り替え制御部と
を有する携帯端末装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−22880(P2011−22880A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−168543(P2009−168543)
【出願日】平成21年7月17日(2009.7.17)
【出願人】(501431073)ソニー・エリクソン・モバイルコミュニケーションズ株式会社 (810)
【Fターム(参考)】