(57)【特許請求の範囲】
【請求項１】
集積回路であって、
デバッグ動作に関連する命令を受信するためのデバッグインターフェース、
前記デバッグ動作に関連するデータを記憶するためのデバッグレジスタ、
ディジタル電圧レベルを制御するためのモデム電力マネージャ、前記モデム電力マネージャは、プロセッサが非アクティブの期間中に電力を節約するために前記ディジタル電圧レベルを落とすように、およびプロセッサが非アクティブの前記期間が終了されるときに前記ディジタル電圧レベルを復元するように適合される、
前記デバッグインターフェースおよび前記モデム電力マネージャに応答するプロセッサ、前記プロセッサは、前記ディジタル電圧レベルの復元に応答して電力出力ピンを指定された論理レベルへと駆動するように適合される、ならびに
デバッグシステムに接続するためのジョイントテストアクショングループ（ＪＴＡＧ）インターフェース、前記プロセッサは、前記ディジタル電圧レベルを落とすことに応答して前記ＪＴＡＧインターフェースの少なくとも１つのピンの論理レベルを凍結するように適合される、
を備える、集積回路。
【請求項２】
データは、前記ディジタル電圧レベルが復元されると前記デバッグレジスタに復元される、請求項１に記載の集積回路。
【請求項３】
前記プロセッサは、前記ディジタル電圧レベルが復元されると前記少なくとも１つのピンの前記論理レベルの凍結を解除するように適合される、請求項１に記載の集積回路。
【請求項４】
以下を備えるポータブル通信デバイス：
ディジタル信号プロセッサ、ならびに
コントローラ、ここにおいて、前記コントローラは以下を備える：
ディジタル電圧レベルを制御するためのモデム電力マネージャ、前記モデム電力マネージャは、プロセッサが非アクティブの期間中に電力を節約するために前記ディジタル電圧レベルを落とすように、およびプロセッサが非アクティブの前記期間が終了されるときに前記ディジタル電圧レベルを復元するように適合される、
前記モデム電力マネージャに応答し、前記通信デバイスの一部分の動作を制御するように適合されたプロセッサ、前記プロセッサは、崩壊した電力の状態からの前記ディジタル電圧レベルの復元に応答して電力崩壊の復元のインジケーションを提供するためのデバッグ機能を含む、ならびに
デバッグシステムに接続するためのジョイントテストアクショングループ（ＪＴＡＧ）インターフェース、前記プロセッサは、前記ディジタル電圧レベルを落とすことに応答して前記ＪＴＡＧインターフェースの少なくとも１つのピンの論理レベルを凍結するように適合される。
【請求項５】
前記コントローラおよび前記ディジタル信号プロセッサは、テストピンを備えた集積回路上に提供される、請求項４に記載のポータブル通信デバイス。
【請求項６】
前記ディジタル信号プロセッサに結合されたアナログベースバンドプロセッサ、
前記アナログベースバンドプロセッサに結合されたステレオオーディオコーダ／復号器（ＣＯＤＥＣ）、
前記アナログベースバンドプロセッサに結合された無線周波数（ＲＦ）トランシーバ、
前記ＲＦトランシーバに結合されたＲＦスイッチ、および
前記ＲＦスイッチに結合されたＲＦアンテナをさらに備える、請求項４に記載のポータブル通信デバイス。
【請求項７】
前記プロセッサは、前記ディジタル電圧レベルが復元されると前記少なくとも１つのピンの前記論理レベルの凍結を解除するように適合される、請求項４に記載のポータブル通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、プロセッサ上で動作するソフトウェアのデバッグ動作に関する。より具体的には、本開示は、電力崩壊(power collapse)イベントを通じて、プロセッサ上で動作するソフトウェアのデバッグ動作を実行するためのシステムおよび方法に関する。
【背景技術】
【０００２】
技術の進歩は、より小さく、よりパワフルなパーソナルコンピューティングデバイスをもたらした。例えば、現在、小さく、軽量で、ユーザによって容易に持ち運ばれるポータブル無線電話、携帯情報端末（ＰＤＡ）、およびページングデバイスなどの無線コンピューティングデバイスを含む様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、セルラ電話およびＩＰ電話などのポータブル無線電話が、無線ネットワーク上で音声およびデータパケットを伝達することができる。さらに、多くのそのような無線電話は、それらの無線電話に組み込まれるその他の種類のデバイスを含む。例えば、無線電話は、ディジタルスチールカメラ、ディジタルビデオカメラ、ディジタルレコーダ、およびオーディオファイルプレイヤも含むことができる。また、そのような無線電話は、インターネットにアクセスするために使用されることができるウェブインターフェースを含むことができる。したがって、これらの無線電話は多大な計算能力を備える。
【０００３】
通常、これらのデバイスがより多くの機能を含むにつれて、より多くの電力が、該デバイスの様々な機能をサポートするために必要とされる可能性がある様々な内部コンポーネントによって消費される。その結果、未使用の期間中に電力を節約するために、移動体デバイスは、様々な省電力技術を組み込んだ。デバッグ通信を延期する(suspend)か、または止める(prevent)、アドバンスドＲＩＳＣマシン（advanced RISC machines）（ＡＲＭ）プロセッサが電力の節約のために入ることができる３つの異なるモード、すなわち、アイドルモード、スリープモード、および電力崩壊モードが存在する。アイドルモード中、ＡＲＭプロセッサのクロックは停止されるが、チップの残りの部分は給電されたままである。スリープモード中、ＡＲＭプロセッサのクロックはオフであり、基準クロックはオフであり、電圧レベルが下げられる。電力崩壊中、ＡＲＭプロセッサは電源を落とされる。
【０００４】
これらの３つの省電力モードのいずれにおいても、プロセッサは、ＡＲＭのクロックが切り替わっていないのでアクセス不能状態にある可能性がある。しかし、電力崩壊の前および／または後で該デバイスの複数のプロセッサおよび複数のコア上で動作するソフトウェアをデバッグすることがやはり必要である。
【０００５】
１つの可能性のある方法は、チップをリブートし(reboot)、リブートプロセスの一部としてレジスタのデータを復元することである。しかし、この方法は、スーパバイザ(supervisor)コードがリブートプロセスのために必要とされるので、スーパバイザコードのデバッグを可能にしない。さらに、該レジスタのうちの１つまたはそれより多くのものは、リブートプロセス中の復元のためにアクセス可能でない可能性がある。例えば、デバッグ設定レジスタ（debug configuration register）はリブートプロセス中にリセットされる可能性があり、そのようなレジスタをアクセス可能にすることはセキュリティホール(security hole)をもたらす可能性がある。通常、デバッグ設定レジスタは、容易に復元されることができない。
【０００６】
したがって、複数のコアおよび複数のプロセッサをデバッグすることに使用するための改善されたシステムおよび方法を提供することが有利である。
【発明の概要】
【０００７】
１つの特定の実施形態において、電力崩壊の後にプロセッサ上でデバッグ動作を実行する方法が提供される。プロセッサのアイドル状態が、プロセッサの実行モード中に検出される。アイドル状態は、電力崩壊イベントに関連していると決定される。プロセッサのデバッグ状態が、実行モード中にプロセッサ内のデバッグレジスタをロードすることによって復元される。
【０００８】
特定の実施形態において、プロセッサの状態は、プロセッサのアイドル状態を検出した後で問い合わせられる。さらに、特定の実施形態において、復元されたデバッグレジスタのうちの少なくとも１つを使用するデバッグ動作が実行される。別の特定の実施形態において、デバッグ動作は、ブレークポイントおよびウォッチポイントデバッグ動作のうちの１つである。
【０００９】
特定の実施形態において、プロセッサは、ＡＲＭタイプのマイクロプロセッサコアを含む。別の特定の実施形態において、アイドル状態が、プロセッサのプロセッサクロックが非アクティブであるときに検出される。さらに、特定の実施形態において、アイドル状態は、プロセッサが少なくとも５００ミリ秒アイドル状態であるとき、電力崩壊イベントに関連していると決定される。別の特定の実施形態において、レジスタのスキャンは、プロセッサのアイドル状態を検出するためにジョイントテストアクショングループ（Joint Test Action Group）（ＪＴＡＧ）デバッガを使用して実行される。さらに別の特定の実施形態において、デバッグレジスタのうちの少なくとも１つは、プロセッサがスーパバイザモードで実行されるときに試験可能なデバッグ設定レジスタである。
【００１０】
さらに別の特定の実施形態において、再同期されたタイミングクロック（resynchronized timing clock）（ＲＴＣＫ）信号が、アイドル状態を検出することと関連して、または電力崩壊イベントの終わりを検出することと関連して評価される。特定の実施形態において、電力崩壊イベントの終わりが、デバッグ状態を回復する前に検出される。
【００１１】
別の特定の実施形態において、プロセッサコアを有するプロセッサ上でデバッグ動作を実行する方法が提供される。プロセッサコアのアイドル状態が、プロセッサの実行モード中に検出される。デバッグ動作の要求が、プロセッサがアイドル状態である間に行われる。プロセッサが停止されている間にプロセッサの状態を問い合わせることによって、アイドル状態が電力崩壊イベントに関連していると決定される。方法は、ジョイントテストアクショングループ（ＪＴＡＧ）待機モードに入ること、電力崩壊イベントの終わりを検出すること、デバッグレジスタをロードすることによってプロセッサのデバッグ状態を復元すること、デバッグ肯定応答（debug acknowledge）信号を検出すること、および要求されたデバッグ動作を実行することをさらに含む。
【００１２】
特定の実施形態において、プロセッサに供給される電力に関連する電力信号が、ＪＴＡＧ待機モードに入る前にオフにされる。別の特定の実施形態において、方法は、アイドル状態を検出する前にクロックタイマの満了を検出することを含む。別の特定の実施形態において、プロセッサコアの入力／出力インターフェースは、電力崩壊イベントの終わりの前は凍結された状態にある。
【００１３】
さらに別の特定の実施形態において、プロセッサコアのＪＴＡＧ入力／出力インターフェースは、電力崩壊イベント中は凍結され、電力崩壊イベントの終わりを検出した後で凍結を解除される(unfrozen)。別の特定の実施形態において、デバッグ動作は、ブレークポイントおよびウォッチポイントデバッグ動作のうちの１つである。別の特定の実施形態において、プロセッサは、少なくとも５００ミリ秒間アイドル状態にある。さらに別の特定の実施形態において、方法は、プロセッサのアイドル状態を検出するためにＪＴＡＧデバッグシステムを使用してレジスタのスキャンを実行することを含む。
【００１４】
別の特定の実施形態において、プロセッサをデバッグするデバイスが開示され、プロセッサのアイドル状態を検出するための手段、プロセッサがアイドル状態である間にデバッグ動作の要求を行うための手段、アイドル状態が電力崩壊イベントに関連していると決定するための手段、電力崩壊イベントの終わりを検出するための、およびプロセッサのデバッグ状態を復元するための手段、ならびに要求されたデバッグ動作を実行するための手段を含む。
【００１５】
別の特定の実施形態において、集積回路が、デバッグインターフェース、デバッグレジスタ、モデム電力マネージャ、およびプロセッサを含む。デバッグインターフェースは、デバッグ動作に関連する命令を受信するように適合される。デバッグレジスタは、デバッグ動作に関連するデータを記憶するように適合される。モデム電力マネージャは、ディジタル電圧レベル（digital voltage level）を制御するように、プロセッサが非アクティブの期間中に電力を節約するためにディジタル電圧レベルを落とす(collapse)ように、およびプロセッサが非アクティブの期間が終了されるときにディジタル電圧レベルを復元するように適合される。プロセッサは、デバッグインターフェースに、およびモデム電力マネージャに応答し、ディジタル電圧レベルの復元に応答して電力出力（power exit）ピンを指定された論理レベルに駆動する(drive)ように適合される。
【００１６】
特定の実施形態において、ディジタル電圧レベルが復元されると、データがデバッグレジスタに復元される。別の特定の実施形態において、ジョイントテストアクショングループ（ＪＴＡＧ）インターフェースは、デバッグシステムに接続するように適合される。プロセッサは、ディジタル電圧レベルを落とすこと(collapse)に応答してＪＴＡＧインターフェースの少なくとも１つのピンの論理レベルを凍結するように適合される。さらに、特定の実施形態において、ディジタル電圧レベルが復元されると、プロセッサは、少なくとも１つのピンの論理レベルの凍結を解除するように適合される。
【００１７】
別の特定の実施形態において、デバッグシステムは、デバッグインターフェース、プロセッサ可読命令、およびプロセッサを含む。デバッグインターフェースは、ターゲットプロセッサに接続するように適合される。プロセッサ可読命令は、デバッグ動作を定義し、ユーザインタラクション(interactions)のためのユーザインターフェースを定義する。プロセッサは、プロセッサ可読命令に基づいてユーザインターフェースを生成するように、およびプロセッサ可読命令に応答してデバッグ動作を制御するように適合される。プロセッサは、デバッグインターフェースのピンの状態の変化に基づいてプロセッサの電力崩壊状態を検出するように適合される。
【００１８】
特定の実施形態において、プロセッサは、デバッグ動作中にデバッグレジスタの状態をメモリに記憶するように適合される。デバッグシステムは、状態の変化に応答してメモリからデバッグレジスタの状態を復元するように適合される。別の特定の実施形態において、ピンはクロックピンを含み、状態の変化は、非アクティブの期間の後のクロックピンにおける立ち上がる(rising)クロックエッジを含む。
【００１９】
特定の実施形態において、ポータブル通信デバイスは、ディジタル信号プロセッサおよびコントローラを含む。コントローラは、モデム電力マネージャおよびプロセッサを含む。モデム電力マネージャは、ディジタル電圧レベルを制御するように、プロセッサが非アクティブの期間中に電力を節約するためにディジタル電圧レベルを落とすように、およびプロセッサが非アクティブの期間が終了されるときにディジタル電圧レベルを復元するように適合される。プロセッサはモデム電力マネージャに応答し、通信デバイスの一部分の動作を制御するように適合される。プロセッサは、崩壊した(collapsed)電力の状態からのディジタル電圧レベルの復元に応答して電力崩壊の復元のインジケーションを提供するためのデバッグ機能を含む。
【００２０】
特定の実施形態において、コントローラおよびディジタル信号プロセッサが、テストピンを備えた集積回路上に提供される。さらに、別の特定の実施形態において、ポータブル通信デバイスが、アナログベースバンドプロセッサ、ステレオオーディオコーダ(coder)／復号器（ＣＯＤＥＣ）、無線周波数（ＲＦ）トランシーバ、ＲＦスイッチ、およびＲＦアンテナを含む。アナログベースバンドプロセッサは、ディジタル信号プロセッサに結合される。ステレオオーディオコーダ／復号器（ＣＯＤＥＣ）は、アナログベースバンドプロセッサに結合される。無線周波数（ＲＦ）トランシーバは、アナログベースバンドプロセッサに結合される。ＲＦスイッチは、ＲＦトランシーバに結合される。ＲＦアンテナは、ＲＦスイッチに結合される。
【００２１】
特定の実施形態において、実行可能な命令を組み込んだプロセッサ可読媒体が、プロセッサ上でデバッグ動作を実行するために提供される。実行可能な命令は、プロセッサの実行モード中にプロセッサのアイドル状態を検出するための命令、アイドル状態が電力崩壊イベントに関連していると決定するための命令、および実行モード中にプロセッサのデバッグレジスタをロードすることによってプロセッサのデバッグ状態を復元するための命令を含む。
【００２２】
別の特定の実施形態において、プロセッサ可読媒体は、プロセッサのアイドル状態を検出した後でプロセッサの状態を問い合わせるための命令をさらに含む。さらに別の特定の実施形態において、プロセッサ可読媒体は、デバッグレジスタのうちの少なくとも１つを使用するデバッグ動作を実行するための命令をさらに含む。別の特定の実施形態において、デバッグ動作は、ブレークポイントおよびウォッチポイントデバッグ動作のうちの１つを実行するための命令を含む。さらに別の特定の実施形態において、アイドル状態が、プロセッサのプロセッサクロックが非アクティブであるときに検出される。さらに別の特定の実施形態において、プロセッサ可読媒体は、プロセッサのアイドル状態を検出するためにジョイントテストアクショングループ（ＪＴＡＧ）デバッグシステムを使用してレジスタのスキャンを実行するための命令をさらに含む。さらに別の特定の実施形態において、プロセッサ可読媒体は、デバッグレジスタのデバッグ設定レジスタを試験するためにスーパバイザモードを実行するための命令をさらに含む。さらに別の特定の実施形態において、プロセッサ可読媒体は、デバッグ状態を復元する前に電力崩壊イベントの終わりを検出するための命令をさらに含む。
【００２３】
本明細書において開示される１つまたは複数の実施形態の利点は、デバッグ動作が、電力崩壊イベント中、および電力崩壊イベントの後で実行されることを可能にすることを含む可能性がある。
【００２４】
本明細書において開示される１つまたは複数の実施形態の別の利点は、側波帯信号（side-band signals）の追加なしに電力崩壊および電力復元プロセスを通じてデバッグ動作を実行することを含む可能性がある。
【００２５】
本開示のその他の観点、利点、および特徴は、他のセクション、すなわち、図面の簡単な説明、詳細な説明、および特許請求の範囲を含む本出願の全体の検討の後で明らかになるであろう。
【図面の簡単な説明】
【００２６】
【図１】デバッグ機能を備えたアドバンスドＲＩＳＣマシン（ＡＲＭ）プロセッサのためのデバッグのアーキテクチャを示すブロック図。
【図２】モデム電力マネージャを備えたプロセッサのブロック図。
【図３】プロセッサクロック、基準クロック、および電力供給に関して、アイドル状態、スリープ状態、および電力崩壊状態を示すタイミング図の一部。
【図４】電力崩壊後にデバッグレジスタを復元する方法を示す流れ図。
【図５】プロセッサの電力崩壊を検出する、およびプロセッサへの電力の復元時にデバッグデータを復元する方法を示す流れ図。
【図６】プロセッサの動作のいくつかのモード中の信号の集合を示すタイミング図の一部。
【図７】プロセッサと、ジョイントテストアクショングループ（ＪＴＡＧ）インターフェースと、モデム電力マネージャ（ＭＰＭ）との間のデバッグの相互接続のブロック図。
【図８】電力崩壊状態を診断するために、およびプロセッサへの電力供給の復元時にデバッグレジスタを復元するために使用される信号の集合を示すタイミング図の一部。
【図９】図１〜８のうちのいずれかによるデバッグ機能を備えた複数のプロセッサを含むコントローラと、デバッグ機能を備えたプロセッサとを組み込んだポータブル通信デバイスの概略図。
【図１０】図１〜８のうちのいずれかによるデバッグ機能を備えたＡＲＭプロセッサをそれぞれが含むことができるいくつかのコントローラを組み込んだ例示的なセルラ電話の概略図。
【図１１】図１〜８のうちのいずれかによるデバッグ機能を備えた複数のプロセッサを含むいくつかのコントローラを組み込んだ例示的な無線インターネットプロトコル電話の概略図。
【図１２】図１〜８のうちのいずれかによるデバッグ機能を備えた複数のプロセッサを含むいくつかのコントローラを組み込んだ例示的な携帯情報端末の概略図。
【図１３】図１〜８のうちのいずれかによるデバッグ機能を備えたプロセッサを含むコントローラを組み込んだ例示的なオーディオファイルプレイヤの概略図。
【詳細な説明】
【００２７】
本明細書において説明される実施形態の観点および付随する利点は、添付の図面と併せて考慮されるときに以下の詳細な説明を参照することによってより容易に明らかになるであろう。
【００２８】
図１は、アドバンスドＲＩＳＣマシン（ＡＲＭ）プロセッサ１０６などのプロセッサのためのデバッグのアーキテクチャ１００を示すブロック図である。デバッグのアーキテクチャ１００は、ホストコンピュータ１０２、インターフェースプロトコルコンバータ１０４、およびプロセッサ１０６を含む。プロセッサは、ＡＲＭタイプのマイクロプロセッサコア、またはプロセッサコアを有するプロセッサであることができる。ホストコンピュータ１０２は、コンピュータワークステーションまたはデスクトップコンピュータとして示されるが、コンピュータ１０２は、ポータブルコンピュータ、ハンドヘルドコンピューティングデバイス、ウィンドウズ（登録商標）ＰＣ、ＳＵＮワークステーションなどを含む任意のプロセッサベースのデバイスであってよいことを理解されたい。ホストコンピュータ１０２は、ＲＳ２３２インターフェース、パラレルインターフェース、または任意のその他の適当なインターフェースなどの適当なインターフェース１１２によってインターフェースプロトコルコンバータ１０４に接続される。インターフェースプロトコルコンバータ１０４は、適当なインターフェース１１４を介してプロセッサ１０６に接続される。ＴＡＰコントローラ１１０を備えるジョイントテストアクショングループ（ＪＴＡＧ）インターフェース１０８は、インターフェース１１４を介してプロセッサ１０６をインターフェースプロトコルコンバータ１０４に接続する。インターフェース１１２を介してホストコンピュータ１０２から送られる命令は、インターフェースプロトコルコンバータ１０４によってプロセッサ１０６のインターフェース信号に変換され、インターフェース１１４を介してプロセッサ１０６に提供される。
【００２９】
一般に、インターフェースプロトコルコンバータ１０４は、別個の要素として示されるが、実装に応じてホストコンピュータ１０２に組み込まれることができる。インターフェースプロトコルコンバータ１０４は、ホストコンピュータ１０２上で実行されるデバッグソフトウェアがプロセッサ１０６と通信することを可能にする。一般に、ホストコンピュータ１０２は、高レベルの命令（ブレークポイント、ウォッチポイントなど）を発行するための、およびプロセッサ１０６のメモリの内容を調べるためのデバッグソフトウェアアプリケーションまたはデバッグシステムを実行するプロセッサを含む。デバッグソフトウェアは、インターフェースプロトコルコンバータ１０４を使用して、プロセッサ１０６をデバッグするためにスキャンチェーン(chains)にアクセスすることができる。スキャンチェーンは、ホストコンピュータ１０２のデバッグソフトウェアが命令をプロセッサ１０６に直接挿入することを可能にする。命令はプロセッサ１０６上で実行され、命令の種類に応じて、プロセッサ１０６の状態が調べられるか、保存される(saved)か、または変更されることができる。一般に、デバッグのアーキテクチャは、命令が遅いデバッグ速度（debug speed）で、システム速度（system speed）で、またはその他の速度で実行されることができるようにプロセッサ１０６上の命令の実行の速度を制御するための手段を提供する。さらに、デバッグのアーキテクチャ１００は、ユーザ／オペレータが、プロセッサ、プロセッサ可読命令、またはそれらの任意の組合せをデバッグするためにプロセッサ内のプロセッサ可読命令の実行を監視することを可能にする。
【００３０】
プロセッサ１０６のＪＴＡＧインターフェース１０８は、プロセッサ１０６のデバッグ動作のための、ホストコンピュータ１０２によるスキャンチェーンへのアクセスを提供する。さらに、ＪＴＡＧインターフェース１０８は、システムの状態データへの、およびプロセッサ１０６のデバッグデータへのホストコンピュータ１０２によるアクセスを提供する。一般に、プロセッサ１０６は、デバッグ動作を開始するために実行されている必要はない。停止デバッグモード（halt debug mode）において、デバッグエクステンション（debug extensions）が、ホストコンピュータ１０２がプロセッサ１０６をデバッグ状態にすることを可能にし、プロセッサ１０６の内部状態が調べられることを可能にする一方、その他のシステム活動は進行することを許されることができる。監視デバッグモード（monitor debug mode）において、命令のアボート(abort)が、停止デバッグモードに入ることなしにプロセッサ１０６をデバッグするためにブレークポイントまたはウォッチポイントにおいて生成されることができる。ホストコンピュータ１０２上で実行されるデバッグの監視ソフトウェアアプリケーションと併せて利用されるとき、クリティカルな(critical)割り込みサービスのルーチンの実行を可能にしながらプロセッサ１０６をデバッグすることができる。
【００３１】
ホストコンピュータ１０２は、メモリ１２０、ソフトウェアデバッグシステムを定義するプロセッサ可読命令１２２、およびプロセッサ１２４を含む。プロセッサ１２４は、メモリ１２０にアクセスするように、およびグラフィカルなデバッガのユーザインターフェース１２６を備えるデバッグソフトウェアアプリケーションを生成するためのプロセッサ可読命令１２２を実行するように適合される。ユーザは、グラフィカルユーザインターフェース１２６とインタラクションして、プロセッサ１０６上のデバッグ動作を開始し、デバッグ動作のための設定を定義し、デバッグ動作の進行を監視することができる。メモリ１２０は、デバッグ動作中に電力崩壊が起こるときにデバッグの設定、プロセッサの状態データ、およびデバッグレジスタのデータを記憶するために使用されることができる。ホストコンピュータ１０２上で実行されるデバッグソフトウェアアプリケーションは、電力が復元されるときにメモリ１２０に記憶されたデータを利用してプロセッサ１０６のデバッグレジスタおよびその他のデバッグの設定を復元することができる。一実施形態において、デバッグレジスタのうちの１つは、プロセッサがスーパバイザモードで実行されるときに試験可能であり、およびプロセッサがユーザモードで実行されるときに試験可能でないデバッグ設定レジスタである。
【００３２】
図２は、モデム電力マネージャ２１０を備えた代表的なプロセッサ１０６のブロック図２００である。プロセッサ１０６は、ＪＴＡＧインターフェース１０８、ＴＡＰコントローラ１１０、メインプロセッサ論理２０２、埋め込まれた論理２０４、スキャンチェーン２０６および２０８、モデム電力マネージャ（ＭＰＭ）２１０、ならびにデバッグレジスタ２１２を含む。一般に、ＪＴＡＧインターフェース１０８は、インターフェースプロトコルコンバータ１０４を介してホストデバッガシステム（図１のホストコンピュータ１０２など）に接続するように適合される。ＪＴＡＧインターフェース１０８は命令を受信し、該命令をＴＡＰコントローラ１１０に提供し、それはプロセッサ１０６内のデバッグ動作を制御する。特に、ホストデバッガシステムは、スキャンチェーン２０６および２０８にアクセスすることによって、ＴＡＰコントローラ１１０を介してプロセッサ１０６に命令を挿入することができる。
【００３３】
ＭＰＭ２１０は、電力崩壊モードなどの省電力機能の開始および終了を制御するように適合される。電力崩壊は、ディジタル論理領域（digital logic domain）の電圧（ＶＤＤ＿ＤＩＧ）を制御する電力レギュレータが切られる電力に関連するイベントである。電力レギュレータを切ることによって、プロセッサの（および関連する回路の）静的なまたはスタンバイ電流の消費が削減される。ＭＰＭ２１０は電力崩壊モード中に給電されるが、ＭＰＭ２１０の外の任意のレジスタの状態は、電力崩壊後は知られていない可能性がある。したがって、電力崩壊後、ＭＰＭ２１０は、メインプロセッサ論理２０２および埋め込まれた論理２０４などの内部プロセッサコアを初期化するためにリセット信号を表明する (asserts)。リセットは、デバッグ論理をリセットするためのリセットデバッグ論理（ＴＲＳＴ＿ｎ）信号の表明(assertion)を含む。
【００３４】
プロセッサ１０６のデバッグレジスタ２１２は給電が停止される領域にあるので、デバッグレジスタ２１２は状態を喪失し、電力が復元されるときに復元される必要がある。デバッグレジスタ２１２の状態を復元するために、メインプロセッサ論理２０２および埋め込まれた論理２０４はデバッグモードに置かれ、ホストコンピュータ１０２上のデバッガアプリケーションは、例えば、メモリ１２０からデバッグレジスタ２１２を復元し、プロセッサ１０６を再始動する。
【００３５】
図３は、プロセッサクロック、基準クロック、および電力供給に関して、アイドル状態、スリープ状態、および電力崩壊(power collapse)状態を示すタイミング図３００の一部である。一般に、アイドル状態、スリープ状態、および電力崩壊状態は、プロセッサ１０６が入ることができる、およびＪＴＡＧの通信を止めるか、または延期する３つの異なる低電力または省電力モードを表す。３つの状態のうちのいずれにおいても、ＪＴＡＧレジスタのスキャンは、ＡＲＭのクロックが凍結される（例えば、切り替わっていない）ので失敗する。例えば、ＡＲＭ９−Ｓコアにおいて、デバッグレジスタのスキャンは、基準クロック（ＴＣＫ）によってゲート制御されるＡＲＭのクロックによって駆動される。ホストコンピュータ１０２上で実行されるデバッガアプリケーションは、３つの省電力状態を区別するように適合される。
【００３６】
図３に示されるように、アイドル状態の間、電圧の供給（ＶＤＤ＿ＤＩＧ）は高く、基準クロック（ＴＣＸＯ）は切り替わり、プロセッサクロック（ＡＲＭ＿ＣＬＫ）はアイドル状態である。アイドル状態は、プロセッサによって実行されるべき仕事がないときに電力を節約する。ほとんどの場合、アイドル状態は、割り込みが受信されるまで、比較的短い期間続く。割り込みは、数クロック期間以内にプロセッサクロックを使用可能にするまたは再活動化する。実装に応じて、プロセッサへのデバッグの命令は、様々なやり方で処理されることができる。１つの実装において、プロセッサは、デバッグの命令が存在するかどうかに関わりなくアイドル状態に入る。別の実装において、プロセッサは、アイドル状態に入る前に現在のスキャンを終了し、デバッグの命令がディアサートされる(deasserted)まで待つ。一部のプロセッサは、アイドル状態のときにデバッグの命令を受信するとプロセッサクロックを使用可能にする。
【００３７】
スリープ状態またはモードの間、電圧の供給（ＶＤＤ＿ＤＩＧ）は高く、基準クロック（ＴＸＣＯ）は数クロックサイクルの後にアイドル状態になり、プロセッサクロック（ＡＲＭ＿ＣＬＫ）はアイドル状態である。スリープモードまたは状態は、プロセッサが非アクティブの長い期間中、プロセッサおよびバスの電力を節約する。例えば、ディジタル無線電話（セルラ、ＰＣＳ、またはその他の種類の無線電話）内のプロセッサにおいて、電話がオンであるが、使用されていないとき、非アクティブの長い期間が存在する可能性がある。ほとんどの場合、スリープモードは、アイドルモードよりも長い期間続く。スリープモードの間、受信されたデバッグの命令は、次の割り込みが受信されるまで無視され、次の割り込みが受信された時点で、プロセッサは、割り込みを処理すること、および／または受信されたデバッグの命令に応じることを決定する。
【００３８】
電力崩壊状態の間、供給電圧（ＶＤＤ＿ＤＩＧ）は低く、基準クロック（ＴＸＣＯ）は数クロックサイクルの後にアイドル状態になり、プロセッサクロック（ＡＲＭ＿ＣＬＫ）はアイドル状態である。電力崩壊状態は、長い非アクティブの期間中、ディジタル電力供給電圧（ＶＤＤ＿ＤＩＧ）を切ることによって電力を節約する。電力崩壊状態に入るために、プロセッサは、全てのクロックレジーム（clock regimes）を無効化し、位相同期ループ（ＰＬＬ）をオフにし、ＳＤＲＡＭをセルフリフレッシュモードにし、プロセッサおよびバスクロックを無効化し、基準クロック（ＴＸＣＯ）を無効化し、チップの入力／出力（Ｉ／Ｏ）を凍結し、電圧供給レギュレータをオフにする。
【００３９】
電力崩壊モードは、高い優先度の割り込みが受信されない場合、１秒よりも長く続く。プロセッサが電力崩壊状態にある間にデバッグの命令が受信される場合、デバッグの命令は、次の割り込みが受信されるまで無視される。割り込みが受信されると、基準クロック（ＴＸＣＯ）が使用可能にされ、電圧供給レギュレータ（ＶＤＤ＿ＤＩＧ）が始動され、リセットが表明され、ＡＲＭおよびバスのクロックが再開される。再同期されたタイミングクロック（ＲＴＣＫ）が再開され、ホストコンピュータのデバッガソフトウェアは、チップの入力／出力（Ｉ／Ｏ）が解放される前に約４ミリ秒以内にデバッグレジスタを復元する。
【００４０】
一般に、再同期されたタイミングクロック（ＲＴＣＫ）は、再同期され、遅延されたバージョンのタイミングクロック（ＴＣＫ）である。デバッガは、ＲＴＣＫを利用するように構成されることができる。プロセッサが停止されるとき、ＲＴＣＫ信号は、プロセッサがどの低電力モードにあるかに関わらず高レベルで、または低レベルで凍結される。ＲＴＣＫのタイムアウトが設定されるか、またはユーザによってプログラムされることができる。特定の実施形態において、ＲＴＣＫのタイムアウトの設定は、ほとんどのアイドル期間がタイムアウトを引き起こさないように、および標準的なスリープ期間がタイムアウトを確かに引き起こすように十分に長くなるように構成される。
【００４１】
一般に、電力崩壊の継続期間がＲＴＣＫのタイムアウトの期間よりも短い場合、現在のスキャンが損なわれる可能性がある。しかし、デバッガは、状態レジスタのみをスキャンしていると考えられるので、スキャンが損なわれることは問題ではないはずである。アイドル状態の継続期間がＲＴＣＫのタイムアウトを引き起こす場合、何らかのガーベッジが、クロックが再活動化された後、シフトレジスタに残される可能性がある。しかし、デバッガは、スキャンが状態レジスタの読み取り操作であると考えられるので、安全にスキャンをアボートし、先に進むことができる。
【００４２】
最後の基準クロックエッジが、タイムアウトの期間内にプロセッサの再同期されたタイミングクロック（ＲＴＣＫ）のピン上に現れないとき、デバッガの現在のスキャンがアボートされることができ、デバッガはＴＡＰコントローラをデバッグ論理リセット状態に設定する。一般に、ＲＴＣＫのタイムアウトは、クロックタイマの満了に基づいて決定されることができる。一実施形態において、デバッグ論理リセット状態は、コアのリセットピン上の電圧レベルを５基準クロックサイクルの間高く保つことによって設定されることができる。次の再同期されたタイミングクロック（ＲＴＣＫ）信号が検出されるとき、プロセッサは動作を再開してしまっている。ＲＴＣＫのタイムアウトがデバッグ論理リセット状態への遷移中の任意の時点で起こる場合、プロセスが再開される。
【００４３】
ＴＡＰコントローラがデバッグ論理リセット状態になると、デバッグシステムは、状態レジスタのスキャンを実行することができる。状態レジスタの値が、プロセッサの現在の状態を決定する。状態レジスタによって示されている現在の状態がプロセッサが実行されていることを示す場合、プロセッサはスリープまたはアイドルモードにある可能性があり、デバッガはいかなるさらなる動作も行わない。状態レジスタがプロセッサが停止されていることを示す場合、停止された動作はユーザのブレークポイント（アイドルモードまたはスリープモード）が原因である可能性があり、その場合、デバッガは、ユーザのブレークポイントに応じて通常のステップを実行する。プロセッサが、モデム電力マネージャ（ＭＰＭ）内の電力崩壊の復元論理（power collapse recovery logic）からのデバッグの命令（ＥＤＢＧＲＱ）が原因で停止される場合、デバッガは、４ミリ秒以内にデバッグレジスタ、ＥＴＭレジスタ、ＥＴＢレジスタ、またはそれらの任意の組合せを復元する。デバッグレジスタが復元されると、デバッガは、プロセッサを再始動するためにデバッグ肯定応答（ＤＢＧＡＣＫ）を解放する。
【００４４】
図４は、電力崩壊後にデバッグレジスタを復元する方法を示す流れ図である。プロセッサのアイドル状態が、プロセッサの実行モード中に検出される（ブロック４００）。アイドル状態が電力崩壊イベントに関連していると決定される（ブロック４０２）。プロセッサのデバッグ状態が、実行モード中にプロセッサ内のデバッグレジスタを再ロードすることによって復元される（ブロック４０４）。一実施形態において、プロセッサは、プロセッサがアイドル状態を検出する前に少なくとも５００ミリ秒アイドル状態である。
【００４５】
図５は、プロセッサの電力崩壊を検出する、およびプロセッサへの電力の復元時にデバッグデータを復元する方法を示す流れ図である。プロセッサの状態レジスタが、デバッガを使用してスキャンされる（ブロック５００）。基準クロックのクロックエッジが、ある期間内にＪＴＡＧインターフェースの再同期されたタイミングクロック（ＲＴＣＫ）のピン上に現れないとき、タイムアウトの条件が検出される（ブロック５０２）。デバッガは、デバッグ論理リセット状態に入る（ブロック５０４）。デバッガは、プロセッサが再びアクティブになったことを示す次のＲＴＣＫ信号のエッジを検出する（ブロック５０６）。デバッガは、状態レジスタをスキャンしてプロセッサの現在の状態を決定する（ブロック５０８）。デバッガが、プロセッサが電力崩壊が原因で停止されたと決定すると、デバッガは、通常は４ミリ秒以内に、デバッグレジスタ、ＥＴＭレジスタ、ＥＴＢレジスタ、またはそれらの任意の組合せを復元する（ブロック５１０）。デバッガは、レジスタが復元されるとプロセッサを再始動する（ブロック５１２）。
【００４６】
一般に、モデム電力マネージャ（ＭＰＭ）は、電力崩壊デバッグ機能を有する移動体通信デバイス内の回路などの集積回路と一体化されることができる。ＭＰＭのレジスタビット（ＤＥＢＵＧ＿ＳＥＬＥＣＴ）が、電力崩壊デバッグ機能を使用可能にする。特定の実施形態において、全てのＪＴＡＧ入力／出力（Ｉ／Ｏ）は、電力崩壊中は凍結され、ディジタル電圧電力供給（ＶＤＤ＿ＤＩＧ）が安定化され、リセットが解放されるときには凍結を解除される。
【００４７】
ＭＰＭは、プロセッサコアにリセットデバッグ論理信号（reset debug logic signal）（ＴＲＳＴ＿Ｎ）を表明する。電力崩壊の復元中、ＭＰＭは、外部デバッグ要求（external debug request）（ＭＰＭ＿ＥＤＢＧＲＱ）を表明する。特定の実施形態において、プロセッサは、５基準クロックサイクル以内に外部デバッグ要求を受信すると停止される。デバッグ肯定応答（ＤＢＧＡＣＫ）は、外部デバッグ要求が検出され、プロセッサが停止されるときに表明される。クロックサイクル数を少なく保つことによって、プロセッサは、デバッグ要求を検出し、停止する前により少ない命令を実行する。
【００４８】
図６は、プロセッサの動作のいくつかのモード中の信号の集合を示すタイミング図６００の一部を示す。具体的には、タイミング図は、２０ピンのジョイントテストアクショングループ（ＪＴＡＧ）インターフェースの様々なピン上の信号を示す。一般に、これらのピンは、電力崩壊状態を検出するために、および電力崩壊の復元を実行してデバッグレジスタを復元するために利用されることができる。示されるように、プロセッサのＡＲＭの状態が６０２に示される。
【００４９】
実行状態中、プロセッサへのディジタル供給電圧（ＶＤＤ＿ＤＩＧ）は高く、リセットが論理ローに保たれ、リセットデバッグ論理（ＴＲＳＴ＿Ｎ）が論理ハイに保たれる。外部デバッグ要求（ＥＤＢＧＲＱ）ピンおよびデバッグ肯定応答ピン（ＤＢＧＡＣＫ）は、論理ローに保たれる。基準クロック（ＴＣＸＯ）およびプロセッサクロック（ＡＲＭ＿ＣＬＫ）は切り替わっている。タイミングクロック（ＴＣＫ）および再同期されたタイミングクロック（ＲＴＣＫ）は切り替わっている。
【００５０】
プロセッサがアイドル状態に変わるとき、プロセッサへのディジタル供給電圧（ＶＤＤ＿ＤＩＧ）は、実行状態のレベル未満に落ちる。リセットは論理ローに保たれ、リセットデバッグ論理（ＴＲＳＴ＿Ｎ）は論理ハイに保たれる。外部デバッグ要求（ＥＤＢＧＲＱ）ピンおよびデバッグ肯定応答ピン（ＤＢＧＡＣＫ）は、論理ローに保たれる。基準クロック（ＴＣＸＯ）は切り替わっている。しかし、プロセッサクロック（ＡＲＭ＿ＣＬＫ）は停止される。タイミングクロック（ＴＣＫ）は停止され、再同期されたタイミングクロック（ＲＴＣＫ）は凍結されたままである。
【００５１】
プロセッサが電力崩壊状態に変わるとき、プロセッサへのディジタル供給電圧（ＶＤＤ＿ＤＩＧ）は切られる（約０ボルトに落ちる）。リセットは論理ローに保たれ、リセットデバッグ論理（ＴＲＳＴ＿Ｎ）は論理ハイに凍結される。外部デバッグ要求（ＥＤＢＧＲＱ）ピンおよびデバッグ肯定応答ピン（ＤＢＧＡＣＫ）は、論理ローに凍結される。基準クロック（ＴＣＸＯ）は、数クロックサイクルの間切り替わり、それから停止する。プロセッサクロック（ＡＲＭ＿ＣＬＫ）は停止されたままである。タイミングクロック（ＴＣＫ）は停止され、再同期されたタイミングクロック（ＲＴＣＫ）は凍結されたままである。
【００５２】
ディジタル電圧供給（ＶＤＤ＿ＤＩＧ）が復元されるとき、プロセッサは、電力崩壊復元状態またはリセット状態に入る。コアのリセットピンが論理ハイに駆動され、リセットデバッグ論理ピンが論理ローに駆動される。外部デバッグ要求（ＥＤＢＧＲＱ）が論理ハイに駆動される一方、デバッグ肯定応答ピン（ＤＢＧＡＣＫ）は論理ローのままである。基準クロック（ＴＣＸＯ）が切換を開始する一方、プロセッサクロック（ＡＲＭ＿ＣＬＫ）は停止されたままである。タイミングクロック（ＴＣＫ）は停止されたままであり、再同期されたタイミングクロック（ＲＴＣＫ）は凍結されたままである。
【００５３】
ある短い期間の後、ディジタル供給電圧（ＶＤＤ＿ＤＩＧ）は、通常はプロセッサの実行状態に対応する、安定した高い電圧レベルに復元される。しかし、プロセッサは依然としてリセット状態である。この時点で、プロセッサクロック（ＡＲＭ＿ＣＬＫ）が切換を開始する。コアのリセットピンが論理ローに駆動され、リセットデバッグ論理ピン（ＴＲＳＴ＿Ｎ）が論理ハイに駆動される。
【００５４】
この時点で、プロセッサは実行状態に入る。再同期されたタイミングクロック（ＲＴＣＫ）は、凍結を解除される。ＪＴＡＧデバッグシステムは再同期されたタイミングクロック（ＲＴＣＫ）の立ち下がりエッジを利用して、プロセッサがアイドル状態、スリープ状態、または電力崩壊状態を抜けたときを検出するためにタイミングクロック（ＴＣＫ）ピンの状態を監視するためにＪＴＡＧ待機モードに入ることができる。
【００５５】
数クロックサイクル後に、プロセッサは、（プロセッサによって外部デバッグ要求ピン（ＥＤＢＧＲＱ）の論理ハイ状態が検出されると）デバッグ停止状態に入る。ＪＴＡＧデバッグシステムは、立ち上がりエッジに関してタイミングクロック（ＴＣＫ）を監視する。タイミングクロック（ＴＣＫ）の立ち上がりエッジが検出されると、ＪＴＡＧデバッグシステムはプロセッサを停止し、状態レジスタを問い合わせるかまたはスキャンしてプロセッサの状態を決定する。デバッグ肯定応答ピン（ＤＢＧＡＣＫ）が論理ハイに駆動され、外部デバッグ要求ピン（ＥＤＢＧＲＱ）が論理ローに駆動される。この時点で、ＪＴＡＧデバッグシステムがプロセッサが電力崩壊から復元していると決定すると、ＪＴＡＧデバッグシステムは、メモリからブレークポイントおよびウォッチポイントを含むデバッグレジスタの状態を含むデバッグ状態を復元する。復元の動作は、デバッグ肯定応答ピン（ＤＢＧＡＣＫ）が論理ハイに保たれる間に行われる。好ましくは、復元の動作は、約４ミリ秒以内に完了される。
【００５６】
プロセッサのデバッグレジスタおよび電力崩壊前の状態がＪＴＡＧデバッグシステムによって復元されてしまうと、ＪＴＡＧデバッグシステムは、デバッグ肯定応答ピン（ＤＢＧＡＣＫ）の論理レベルを解放し、それによって、デバッグの設定に従ってデバッグモードの通常のプロセッサの実行を再開する。ＪＴＡＧデバッグシステムは、次に、復元されたデバッグレジスタのうちの少なくとも１つを使用してプロセッサ上でデバッグ動作を実行することができる。例えば、デバッグ動作が遅いプロセッサの実行のために設定された場合、プロセッサは遅い実行を再開する。
【００５７】
静的な再同期されたタイミングクロック（ＲＴＣＫ）を使用してプロセッサの状態の変化を検出し、ＪＴＡＧデバッグシステムによるプロセッサの状態のスキャンを引き起こすことによって、図１および２に示されたような既存の２０ピンのＪＴＡＧインターフェースが、側波帯信号の追加なしに電力崩壊および電力復元プロセスを通じてデバッグ動作を実行するために利用されることができる。
【００５８】
図７は、プロセッサ７０４と、ＪＴＡＧインターフェース１０８と、モデム電力マネージャ（ＭＰＭ）７０２との間のデバッグの相互接続のブロック図７００である。プロセッサ７０４への３つの接続ピンを備えるＪＴＡＧインターフェース１０８が示される。ＪＴＡＧインターフェースはプロセッサ７０４との相互接続のために２０ピンを含むが、検討を簡単にするために、接続のうちの３つだけが電力崩壊および復元プロセスのデバッグに関連して示されることを理解されたい。ＪＴＡＧインターフェース１０８は、ホストデバッグシステムがタイミングクロックピン（ＴＣＫ）および再同期されたタイミングクロックピン（ＲＴＣＫ）をスキャンすることを可能にする。さらに、ＪＴＡＧインターフェース１０８は、論理７０８を介してリセットデバッグ論理ピン（ＴＲＳＴ＿Ｎ）に接続される。
【００５９】
一般に、ＭＰＭ７０２は、プロセッサ７０４のコアのリセットピンおよび外部デバッグ要求ピン（ＥＤＢＧＲＱ）の論理レベルを制御する。ＭＰＭ７０２が電力レギュレータを切り、ディジタル論理領域の電圧を制御するので、ＭＰＭ７０２は、リセットデバッグ論理（ＴＲＳＴ＿Ｎ）をプロセッサ７０４にいつ表明するか分かっている。さらに、電力崩壊の復元中、ＭＰＭ７０２は、デバッグ停止を開始するためにプロセッサ７０４に外部デバッグ要求（ＥＤＢＧＲＱ）を表明する。デバッグ肯定応答（ＤＢＧＡＣＫ）がプロセッサ７０４から受信されると、ＭＰＭ７０２は、外部デバッグ要求（ＥＤＧＢＲＱ）をディアサートし、ＪＴＡＧデバッグシステムは、プロセッサ７０２の状態、ならびにコード内のブレークポイントおよびウォッチポイントを含む選択されたデバッグレジスタの状態を復元することができる。
【００６０】
図７の実施形態において、プロセッサ７０４は、デバッグ肯定応答ピン（ＤＢＧＡＣＫ）上に電力出力信号を提供するように適合されることができる。特に、ＭＰＭ７０２は、デバッグイネーブル(debug enable)をマルチプレクサ７０６に提供する。電力出力信号が高い論理レベルであるとき、プロセッサ７０４は、電力崩壊を抜けるときにデバッグモードで停止される。次に、電力出力信号は、マルチプレクサ７０６を介して、ＪＴＡＧの２０ピンコネクタのピン１１（再同期されたクロックＲＴＣＫ）にルーティングされることができる。電力崩壊モード中、通常の再同期されたタイミングクロック（ＲＴＣＫ）は、プロセッサ７０４において無効化されることができる。ユーザは、再同期されたタイミングクロック（ＲＴＣＫ）の代わりに固定されたタイミングクロック（ＴＣＫ）を使用するようにＪＴＡＧデバッグシステムを構成することができる。
【００６１】
プロセッサ７０４が電力崩壊状態に入るとき、ＪＴＡＧ信号は現在のレベルで凍結される。ＪＴＡＧインターフェース７０２を介してプロセッサに結合されたホストプロセッサ上で実行されるＪＴＡＧデバッグソフトウェアアプリケーションは、電力崩壊が発生したことを示唆するためのタイミングクロック（ＴＣＫ）／ＴＤＫ／ＴＤ０ピン上のビットシーケンスを検出するためのアルゴリズムを組み込むことができる。ＪＴＡＧデバッグシステムによるあらゆる部分的なスキャンがそのときアボートされることができ、デバッガは、プロセッサ７０４が電力崩壊を抜けており、デバッグモードで停止されることを示す、再同期されたタイミングクロック（ＲＴＣＫ）ピン上のアクティブな高レベルを待つためにＪＴＡＧ待機モードに入ることができる。次に、ＪＴＡＧデバッグシステムは、プロセッサ７０４のデバッグおよびＥＴＭレジスタの設定を復元することができる。ＪＴＡＧデバッグシステムは、復元の動作を実行するために、デバッグレジスタおよびＥＴＭレジスタに書き込まれた値のメモリ内のローカルのコピーを保持することを理解されたい。デバッグおよびＥＴＭレジスタが復元された後、ＪＴＡＧデバッグシステムは、命令をスキャンしてプロセッサ７０４にプログラムの実行を再開させることができる。
【００６２】
一般に、ＪＴＡＧデバッグシステムは、電力崩壊前に進行中だったあらゆるＥＴＭトレースに関連するデータを保持するべきである。一般に、プロセッサ７０４が停止されるとき、ＪＴＡＧデバッグシステムは、再同期されたタイミングクロック（ＲＴＣＫ）が凍結されるときに致命的なエラーを起こしてはならない。ＪＴＡＧデバッグシステムは、設定可能なタイムアウト設定とのデバッガのグラフィカルユーザインターフェースを提供するように適合されることができる。
【００６３】
再同期されたタイミングクロック（ＲＴＣＫ）は、電力崩壊前、または電力出力信号がディアサートされた後、切り替わることができることを理解されたい。これは、プロセッサ７０２の再同期されたタイミングクロック（ＲＴＣＫ）と電力出力信号との動的な多重化の場合に起こる可能性があるが、（再同期されたタイミングクロック信号の凍結された状態が、凍結された状態を検出するために、および凍結された状態に応じてＪＴＡＧ待機モードに入るために監視されるときなどの）静的な多重化の場合は起こらない可能性がある。ＭＵＸ７０６がデバッグ肯定応答（ＤＢＧＡＣＫ）からの、または別個の電力出力ピン（図示せず）からの電力出力信号を多重化するために使用される場合、ＪＴＡＧデバッグシステムはこの切換を無視するように適合される。
【００６４】
電力出力信号はプロセッサ７０４からのデバッグ肯定応答（ＤＢＧＡＣＫ）の遅延されたバージョンを表すので、電力出力信号は、プロセッサ７０４がデバッグモードである間、高い論理レベルのままであるべきである。一般に、電力出力信号は、レベルに敏感な状態ビット（level sensitive state bit）である。したがって、電力出力信号は、ＪＴＡＧデバッグシステムによってサンプリングされるのに十分なだけ長く論理ハイのままであるべきである。特定の実施形態において、電力出力信号は、２０マイクロ秒の間論理ハイのままであるべきである。プロセッサ７０４が、デバッグモードにある間に短い期間デバッグ肯定応答（ＤＢＧＡＣＫ）をディアサートする場合、デバッグ肯定応答（ＤＢＧＡＣＫ）をデバッグモードである間論理ハイにするために、プロセッサのＪＴＡＧスキャンチェーン（図２のスキャンチェーン２０６および２０８など）において制御ビットを提供することが望ましい可能性がある。
【００６５】
図８は、電力崩壊状態を診断するために、および図７のプロセッサへの電力供給の復元時にデバッグレジスタを復元するために使用される信号の集合を示すタイミング図８００の一部である。電力崩壊から復元されると、ディジタル電圧供給（ＶＤＤ＿ＤＩＧ）が上がる。コアのリセットピンが論理ハイに駆動され、リセットデバッグ論理（ＴＲＳＴ＿Ｎ）が論理ローに駆動される。モデム電力マネージャは、外部デバッグ要求ピン（ＥＤＢＧＲＱ）を論理ハイに駆動する。
【００６６】
ディジタル電圧供給が高い状態で安定した後、コアのリセットピンが論理ローに駆動され、リセットデバッグ論理ピンが論理ハイに駆動される。リセット信号の立ち下がりエッジを用いて、プロセッサは、外部デバッグ要求（ＥＤＢＧＲＱ）ピンが論理ハイであることを検出する。プロセッサは、デバッグ肯定応答信号を論理ハイレベルに駆動する。この時点で、モデム電力マネージャは、外部デバッグ要求ピン（ＥＤＢＧＲＱ）を論理ローレベルに駆動し、プロセッサは、電力出力ピンを論理ハイに駆動する。電力出力の論理ハイ状態が、例えば、再同期されたタイミングクロック（ＲＴＣＫ）ピン上でＪＴＡＧデバッグシステムによって検出されることができる。（図７の）マルチプレクサ７０６は、電力出力信号をＲＴＣＫピン上に多重化することができる。したがって、ＲＴＣＫピンの状態の変化は、電力崩壊を検出するために使用されることができ、ＪＴＡＧデバッグシステムは、デバッグおよびＥＴＭレジスタの状態を復元することができる。
【００６７】
図９は、全体的に９００で指定されるポータブル通信デバイスの例示的で非限定的な実施形態を示す。図９に示されるように、ポータブル通信デバイスは、ディジタル信号プロセッサ９１０を含むオンチップシステム９２２を含む。図９は、ディジタル信号プロセッサ９１０およびディスプレイ９２８に結合されるディスプレイコントローラ９２６も示す。さらに、入力装置９３０が、ディジタル信号プロセッサ９１０に結合される。示されるように、メモリ９３２が、ディジタル信号プロセッサ９１０に結合される。加えて、コーダ／復号器（ＣＯＤＥＣ）９３４が、ディジタル信号プロセッサ９１０に結合されることができる。スピーカ９３６およびマイクロホン９３８が、ＣＯＤＥＣ９３０に結合されることができる。
【００６８】
図９は、無線コントローラ９４０が、ディジタル信号プロセッサ９１０および無線アンテナ９４２に結合されることができることも示す。特定の実施形態において、電源９４４がオンチップシステム９２２に結合される。さらに、特定の実施形態において、図９に示されるように、ディスプレイ９２８、入力装置９３０、スピーカ９３６、マイクロホン９３８、無線アンテナ９４２、および電源９４４は、オンチップシステム９２２の外部にある。しかし、それぞれは、オンチップシステム９２２のコンポーネントに結合される。
【００６９】
ユーザの音声を表す電子信号は、ＣＯＤＥＣ９３４に送られて符号化されることができる。ディジタル信号プロセッサ９１０は、マイクロホンからの電子信号を符号化するためにＣＯＤＥＣ９３４のためのデータ処理動作を実行するように適合される。さらに、無線アンテナ９４２を介して受信された受信信号が、無線コントローラ９４０によってＣＯＤＥＣ９３４に送られて復号化され、スピーカ９３６に送られることができる。ディジタル信号プロセッサ９１０は、無線アンテナ９４２を介して受信された信号を復号化するときにＣＯＤＥＣ９３４のためのデータ処理を実行するようにやはり適合される。
【００７０】
さらに、ディジタル信号プロセッサ９１０は、無線通信セッションの前に、無線通信セッション中に、無線通信セッションの後に、またはこれらの任意の組合せで入力装置９３０から受信される入力を処理することができる。例えば、無線通信セッション中に、ユーザは、入力装置９３０およびディスプレイ９２８を利用して、ポータブル通信デバイス９００のメモリ９３２内に埋め込まれたウェブブラウザアプリケーションを介してインターネットをサーフすることができる。
【００７１】
一般に、ポータブル通信デバイス９００は、図１〜８に示されたプロセッサなどのデバッグ機能を備えたＡＲＭプロセッサ１０６を含む。ＡＲＭプロセッサ１０６は、ポータブル通信デバイス９００の動作を制御することができる。さらに、ディスプレイコントローラ９２６および無線コントローラ９４０は、上で図１〜８に示されたプロセッサなどのデバッグ機能を備えたプロセッサをそれぞれ含むことができる。オンチップシステム９２２は、プロセッサ１０６などの、ならびにディスプレイコントローラ９２６内の、および無線コントローラ９４０内のプロセッサなどのプロセッサの動作をデバッグするためのジョイントテストアクショングループ（ＪＴＡＧ）デバッガへの結合のためのテストピン（図示せず）を含むことができる。
【００７２】
図１０を参照すると、セルラ電話の例示的で非限定的な実施形態が示され、全体的に１０００で指定される。示されるように、セルラ電話１０００は、一緒に結合されるディジタルベースバンドプロセッサ１０１０およびアナログベースバンドプロセッサ１０２６を含むオンチップシステム１０２２を含む。図１０に示されるように、ディスプレイコントローラ１０２８およびタッチスクリーンコントローラ１０３０が、ディジタルベースバンドプロセッサ１０１０に結合される。そして今度は、オンチップシステム１０２２の外部のタッチスクリーンディスプレイ１０３２が、ディスプレイコントローラ１０２８およびタッチスクリーンコントローラ１０３０に結合される。
【００７３】
図１０は、ビデオ符号器１０３４、例えば、位相反転線（ＰＡＬ）符号器、ＳＥｑｕｅｎｔｉａｌ  Ｃｏｕｌｅｕｒ  Ａ  Ｍｅｍｏｉｒｅ（ＳＥＣＡＭ）符号器、または全国テレビジョン方式委員会（national television system(s) committee）（ＮＴＳＣ）符号器がディジタルベースバンドプロセッサ１０１０に結合されることをさらに示す。さらに、ビデオ増幅器１０３６が、ビデオ符号器１０３４およびタッチスクリーンディスプレイ１０３２に結合される。また、ビデオポート１０３８がビデオ増幅器１０３６に結合される。図１０に示されるように、ユニバーサルシリアルバス（ＵＳＢ）コントローラ１０４０が、ディジタルベースバンドプロセッサ１０１０に結合される。また、ＵＳＢポート１０４２がＵＳＢコントローラ１０４０に結合される。メモリ１０４４および加入者識別モジュール（ＳＩＭ）カード１０４６も、ディジタルベースバンドプロセッサ１０１０に結合されることができる。さらに、図１０に示されるように、ディジタルカメラ１０４８が、ディジタルベースバンドプロセッサ１０１０に結合されることができる。例示的実施形態において、ディジタルカメラ１０４８は、電荷結合素子（ＣＣＤ）カメラまたは相補型金属酸化膜半導体（ＣＭＯＳ）カメラである。
【００７４】
図１０にさらに示されるように、ステレオオーディオＣＯＤＥＣ１０８０が、アナログベースバンドプロセッサ１０２６に結合されることができる。さらに、オーディオ増幅器１０８２が、ステレオオーディオＣＯＤＥＣ１０８０に結合されることができる。例示的実施形態において、第１のステレオスピーカ１０８４および第２のステレオスピーカ１０８６が、オーディオ増幅器１０８２に結合される。図１０は、マイクロホン増幅器１０８８もステレオオーディオＣＯＤＥＣ１０８０に結合されることができることを示す。さらに、マイクロホン１０６０が、マイクロホン増幅器１０８８に結合されることができる。特定の実施形態において、周波数変調（ＦＭ）無線チューナ１０６２が、ステレオオーディオＣＯＤＥＣ１０８０に結合されることができる。また、ＦＭアンテナ１０６４がＦＭ無線チューナ１０６２に結合される。さらに、ステレオヘッドホン１０６６がステレオオーディオＣＯＤＥＣ１０８０に結合されることができる。
【００７５】
図１０は、無線周波数（ＲＦ）トランシーバ１０６８が、アナログベースバンドプロセッサ１０２６に結合されることができることをさらに示す。ＲＦスイッチ１０７０が、ＲＦトランシーバ１０６８およびＲＦアンテナ１０７２に結合されることができる。図１０に示されるように、キーパッド１０７４が、アナログベースバンドプロセッサ１０２６に結合されることができる。また、マイクロホンを備えたモノラルヘッドセット１０７６が、アナログベースバンドプロセッサ１０２６に結合されることができる。さらに、バイブレータデバイス１０７８が、アナログベースバンドプロセッサ１０２６に結合されることができる。図１０は、電源１０８０がオンチップシステム１０２２に結合されることができることも示す。特定の実施形態において、電源１０８０は、電力を必要とするセルラ電話１０００の様々なコンポーネントに電力を供給する直流（ＤＣ）電源である。さらに、特定の実施形態において、電源は、充電式ＤＣバッテリであるか、またはＡＣ電源に接続された交流（ＡＣ）からＤＣへの変圧器から得られるＤＣ電源である。
【００７６】
特定の実施形態において、図１０に示されるように、タッチスクリーンディスプレイ１０３２、ビデオポート１０３８、ＵＳＢポート１０４２、カメラ１０４８、第１のステレオスピーカ１０８４、第２のステレオスピーカ１０８６、マイクロホン１０６０、ＦＭアンテナ１０６４、ステレオヘッドホン１０６６、ＲＦスイッチ１０７０、ＲＦアンテナ１０７２、キーパッド１０７４、モノラルヘッドセット１０７６、バイブレータ１０７８、および電源１０８０は、オンチップシステム１０２２の外部にある。
【００７７】
一般に、セルラ電話１０００のオンチップシステム１０２２は、図１〜８のうちのいずれかによるデバッグ機能を備えた１つまたは複数のプロセッサを含むことができる。例えば、ディスプレイコントローラ１０２８、タッチスクリーンコントローラ１０３０、およびＵＳＢコントローラ１０４０は、ＡＲＭプロセッサ１０６などのデバッグ機能を備えたプロセッサを含むことができる。さらに、別個の制御プロセッサ（図示せず）が、セルラ電話１０００の動作を制御するためにオンチップシステム１０２２に含まれることができる。オンチップシステム１０２２は、様々なプロセッサの動作をデバッグするためのジョイントテストアクショングループ（ＪＴＡＧ）デバッガへの結合のためのテストピン（図示せず）を含むことができる。
【００７８】
図１１を参照すると、無線インターネットプロトコル（ＩＰ）電話の例示的で非限定的な実施形態が示され、全体的に１１００で指定される。示されるように、無線ＩＰ電話１１００は、ディジタル信号プロセッサ（ＤＳＰ）１１０４を含むオンチップシステム１１０２を含む。図１１に示されるように、ディスプレイコントローラ１１０６がＤＳＰ１１０４に結合され、ディスプレイ１１０８がディスプレイコントローラ１１０６に結合される。例示的実施形態において、ディスプレイ１１０８は液晶ディスプレイ（ＬＣＤ）である。図１１は、キーパッド１１１０がＤＳＰ１１０４に結合されることができることをさらに示す。
【００７９】
図１１にさらに示されるように、フラッシュメモリ１１１２がＤＳＰ１１０４に結合されることができる。同期ダイナミックランダムアクセスメモリ（synchronous dynamic random access memory）（ＳＤＲＡＭ）１１１４、スタティックランダムアクセスメモリ（ＳＲＡＭ）１１１６、および電気的消去可能プログラマブル読み出し専用メモリ（electrically erasable programmable read only memory）（ＥＥＰＲＯＭ）１１１８も、ＤＳＰ１１０４に結合されることができる。図１１は、発光ダイオード（ＬＥＤ）１１２０がＤＳＰ１１０４に結合されることができることも示す。さらに、特定の実施形態において、音声ＣＯＤＥＣ１１２２がＤＳＰ１１０４に結合されることができる。増幅器１１２４が音声ＣＯＤＥＣ１１２２に結合されることができ、モノラルスピーカ１１２６が増幅器１１２４に結合されることができる。図１１は、モノラルヘッドセット１１２８も音声ＣＯＤＥＣ１１２２に結合されることができることをさらに示す。特定の実施形態において、モノラルヘッドセット１１２８はマイクロホンを含む。
【００８０】
図１１は、無線ローカルエリアネットワーク（ＷＬＡＮ）ベースバンドプロセッサ１１３０がＤＳＰ１１０４に結合されることができることも示す。ＲＦトランシーバ１１３２がＷＬＡＮベースバンドプロセッサ１１３０に結合されることができ、ＲＦアンテナ１１３４がＲＦトランシーバ１１３２に結合されることができる。特定の実施形態において、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ１１３６もＤＳＰ１１０４に結合されることができ、Ｂｌｕｅｔｏｏｔｈアンテナ１１３８がコントローラ１１３６に結合されることができる。図１１は、ＵＳＢポート１１４０もＤＳＰ１１０４に結合されることができることも示す。さらに、電源１１４２がオンチップシステム１１０２に結合され、オンチップシステム１１０２を介して無線ＩＰ電話１１００の様々なコンポーネントに電力を供給する。
【００８１】
特定の実施形態において、図１１に示されるように、ディスプレイ１１０８、キーパッド１１１０、ＬＥＤ１１２０、モノラルスピーカ１１２６、モノラルヘッドセット１１２８、ＲＦアンテナ１１３４、Ｂｌｕｅｔｏｏｔｈアンテナ１１３８、ＵＳＢポート１１４０、および電源１１４２は、オンチップシステム１１０２の外部にある。しかし、これらのコンポーネントのそれぞれは、オンチップシステムの１つまたは複数のコンポーネントに結合される。
【００８２】
一般に、無線ＩＰ電話１１００は、上の図１〜８のうちのいずれかによるデバッグ機能を備えたＡＲＭプロセッサを含むことができる。一実施形態において、無線ＩＰ電話１１００は、無線ＩＰ電話１１００の動作を制御するための制御プロセッサ（図示せず）を含む。さらに、ディスプレイコントローラ１１０６およびＢｌｕｅｔｏｏｔｈコントローラ１１３６は、図１〜８のうちのいずれかによるＡＲＭプロセッサ１０６などのデバッグ機能を備えたプロセッサを含むことができる。オンチップシステム１１０２は、様々なプロセッサをデバッグするためのジョイントテストアクショングループ（ＪＴＡＧ）デバッガシステムとの接続のためのテストピン（図示せず）を含むことができる。
【００８３】
図１２は、全体的に１２００で指定される携帯情報端末（ＰＤＡ）の例示的で非限定的な実施形態を示す。示されるように、ＰＤＡ１２００は、ディジタル信号プロセッサ（ＤＳＰ）１２０４を含むオンチップシステム１２０２を含む。図１２に示されるように、タッチスクリーンコントローラ１２０６およびディスプレイコントローラ１２０８がＤＳＰ１２０４に結合される。さらに、タッチスクリーンディスプレイが、タッチスクリーンコントローラ１２０６に、およびディスプレイコントローラ１２０８に結合される。図１２は、キーパッド１２１２がＤＳＰ１２０４に結合されることができることも示す。
【００８４】
図１２にさらに示されるように、フラッシュメモリ１２１４がＤＳＰ１２０４に結合されることができる。また、読み出し専用メモリ（ＲＯＭ）１２１６、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）１２１８、および電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）１２２０が、ＤＳＰ１２０４に結合されることができる。図１２は、赤外線データ協会（infrared data association）（ＩｒＤＡ）ポート１２２２がＤＳＰ１２０４に結合されることができることも示す。さらに、特定の実施形態において、ディジタルカメラ１２２４がＤＳＰ１２０４に結合されることができる。
【００８５】
図１２に示されるように、特定の実施形態において、ステレオオーディオＣＯＤＥＣ１２２６がＤＳＰ１２０４に結合されることができる。第１のステレオ増幅器１２２８がステレオオーディオＣＯＤＥＣ１２２６に結合されることができ、第１のステレオスピーカ１２３０が第１のステレオ増幅器１２２８に結合されることができる。さらに、マイクロホン増幅器１２３２がステレオオーディオＣＯＤＥＣ１２２６に結合されることができ、マイクロホン１２３４がマイクロホン増幅器１２３２に結合されることができる。図１２は、第２のステレオ増幅器１２３６がステレオオーディオＣＯＤＥＣ１２２６に結合されることができ、第２のステレオスピーカ１２３８が第２のステレオ増幅器１２３６に結合されることができることをさらに示す。特定の実施形態において、ステレオヘッドホン１２４０もステレオオーディオＣＯＤＥＣ１２２６に結合されることができる。
【００８６】
図１２は、８０２．１１コントローラ１２４２がＤＳＰ１２０４に結合されることができ、１１０２．１１アンテナ１２４４が１１０２．１１コントローラ１２４２に結合されることができることも示す。さらに、Ｂｌｕｅｔｏｏｔｈコントローラ１２４６がＤＳＰ１２０４に結合されることができ、Ｂｌｕｅｔｏｏｔｈアンテナ１２４８がＢｌｕｅｔｏｏｔｈコントローラ１２４６に結合されることができる。図１２に示されるように、ＵＳＢコントローラ１２８０がＤＳＰ１２０４に結合されることができ、ＵＳＢポート１２８２がＵＳＢコントローラ１２８０に結合されることができる。さらに、スマートカード１２８４、例えば、マルチメディアカード（ＭＭＣ）またはセキュアディジタルカード（ＳＤ）がＤＳＰ１２０４に結合されることができる。さらに、図１２に示されるように、電源１２８６がオンチップシステム１２０２に結合されることができ、オンチップシステム１２０２を介してＰＤＡ１２００の様々なコンポーネントに電力を供給することができる。
【００８７】
特定の実施形態において、図１２に示されるように、ディスプレイ１２１０、キーパッド１２１２、ＩｒＤＡポート１２２２、ディジタルカメラ１２２４、第１のステレオスピーカ１２３０、マイクロホン１２３４、第２のステレオスピーカ１２３８、ステレオヘッドホン１２４０、１１０２．１１アンテナ１２４４、Ｂｌｕｅｔｏｏｔｈアンテナ１２４８、ＵＳＢポート１２８２、および電源１２８０は、オンチップシステム１２０２の外部にある。しかし、これらのコンポーネントのそれぞれは、オンチップシステム１２０２の１つまたは複数のコンポーネントに結合される。
【００８８】
一般に、ＰＤＡ１２００は、図１〜８に関して示されたＡＲＭプロセッサなどのデバッグ機能を備えた１つまたは複数のプロセッサを含むことができる。ＰＤＡ１２００は、ディスプレイコントローラ１２０８、タッチスクリーンコントローラ１２０６、８０２．１１コントローラ１０４２、Ｂｌｕｅｔｏｏｔｈコントローラ１２４６、およびＵＳＢコントローラ１２５０を含み、これらのそれぞれは、図１〜８に関して上で示されたプロセッサなどのデバッグ機能を備えたプロセッサを含むことができる。さらに、ＰＤＡ１２００は、ＰＤＡ１２００の動作を制御するための、デバッグ機能を備えたＡＲＭプロセッサを含むことができる。オンチップシステム１２０２は、デバッグ動作を実行するために様々なプロセッサのスキャンチェーンにアクセスするためにＪＴＡＧデバッグシステムによってアクセス可能なテストピン（図示せず）を含むことができる。
【００８９】
図１３を参照すると、ムービングピクチャエキスパートグループオーディオレイヤ３（moving pictures experts group audio layer-3）（ＭＰ３）プレイヤなどのオーディオファイルプレイヤの例示的で非限定的な実施形態が示され、全体的に１３００で指定される。示されるように、オーディオファイルプレイヤ１３００は、ディジタル信号プロセッサ（ＤＳＰ）１３０４を含むオンチップシステム１３０２を含む。図１３に示されるように、ディスプレイコントローラ１３０６がＤＳＰ１３０４に結合され、ディスプレイ１３０８がディスプレイコントローラ１３０６に結合される。例示的実施形態において、ディスプレイ１３０８は液晶ディスプレイ（ＬＣＤ）である。図１３は、キーパッド１３１０がＤＳＰ１３０４に結合されることができることをさらに示す。
【００９０】
図１３にさらに示されるように、フラッシュメモリ１３１２および読み出し専用メモリ（ＲＯＭ）１３１４がＤＳＰ１３０４に結合されることができる。さらに、特定の実施形態において、音声ＣＯＤＥＣ１３１６がＤＳＰ１３０４に結合されることができる。増幅器１３１８が音声ＣＯＤＥＣ１３１６に結合されることができ、モノラルスピーカ１３２０が増幅器１３１８に結合されることができる。図１３は、マイクロホン入力１３２２およびステレオ入力１３２４も音声ＣＯＤＥＣ１３１６に結合されることができることをさらに示す。特定の実施形態において、ステレオヘッドホン１３２６もオーディオＣＯＤＥＣ１３１６に結合されることができる。
【００９１】
図１３は、ＵＳＢポート１３２８およびスマートカード１３３０がＤＳＰ１３０４に結合されることができることも示す。さらに、電源１３３２がオンチップシステム１３０２に結合されることができ、オンチップシステム１３０２を介してオーディオファイルプレイヤ１３００の様々なコンポーネントに電力を供給することができる。
【００９２】
特定の実施形態において、図１３に示されるように、ディスプレイ１３０８、キーパッド１３１０、モノラルスピーカ１３２０、マイクロホン入力１３２２、ステレオ入力１３２４、ステレオヘッドホン１３２６、ＵＳＢポート１３２８、および電源１３３２は、オンチップシステム１３０２の外部にある。しかし、これらのコンポーネントのそれぞれは、オンチップシステムの１つまたは複数のコンポーネントに結合される。
【００９３】
一般に、オーディオファイルプレイヤ１３００は、図１〜８に関して示されたＡＲＭプロセッサ１０６などのデバッグ機能を備えた１つまたは複数のプロセッサを含むことができる。オーディオファイルプレイヤ１３００はディスプレイコントローラ１３０６を含み、ディスプレイコントローラ１３０６は、図１〜８に関して上で示されたプロセッサなどのデバッグ機能を備えたプロセッサを含むことができる。さらに、オーディオファイルプレイヤ１３００は、オーディオファイルプレイヤ１３００の動作を制御するための、プロセッサ１０６などのそのようなデバッグ機能を含むＡＲＭプロセッサを含むことができる。ＪＴＡＧデバッグシステムは、オンチップシステム１３０２に提供されたテストピン（図示せず）を介して様々なプロセッサにアクセスすることができる。
【００９４】
当業者は、本明細書において開示された実施形態に関連して説明された種々の例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップが、電子的なハードウェア、コンピュータソフトウェア、またはそれら両方の組合せとして実装されることができることをさらに理解するであろう。ハードウェアとソフトウェアとのこの互換性を明確に示すために、種々の例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップが、以上では概してそれらの機能の観点から説明された。そのような機能がハードウェアとして実装されるか、それともソフトウェアとして実装されるかは、システム全体に課された特定の用途および設計の制約によって決まる。当業者は、説明された機能をそれぞれの特定の用途のために様々なやり方で実装することができるが、そのような実装の判断は本開示の範囲からの逸脱をもたらすものと解釈されてはならない。
【００９５】
本明細書において開示された実施形態と関連して説明された方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはこれら２つの組合せで具現化されることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＰＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意のその他の形態の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが当該記憶媒体から情報を読むことができ、当該記憶媒体に情報を書き込むことができるようにプロセッサに結合される。別法として、記憶媒体はプロセッサに一体化されていてよい。プロセッサおよび記憶媒体はＡＳＩＣ内に存在してよい。ＡＳＩＣは、コンピューティングデバイスまたはユーザ端末内に存在してよい。別法として、プロセッサおよび記憶媒体はコンピューティングデバイスまたはユーザ端末内の別個のコンポーネントとして存在してよい。
【００９６】
開示された実施形態の上記の説明は、当業者が本開示を作製または使用することを可能にするために提供される。これらの実施形態への種々の修正が当業者には容易に明らかとなり、本明細書で定義された包括的な原理は、本開示の精神または範囲を逸脱することなくその他の実施形態に適用されることができる。したがって、本開示は、本明細書に示された実施形態に限定されるように意図されておらず、添付の特許請求の範囲に規定された原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、本願の出願当初請求項に記載された発明を付記する。
［１］
電力崩壊の後にプロセッサ上でデバッグ動作を実行する方法であって、
前記プロセッサの実行モード中に前記プロセッサのアイドル状態を検出すること、
前記アイドル状態が電力崩壊イベントに関連していると決定すること、および
前記実行モード中に前記プロセッサ内のデバッグレジスタをロードすることによって前記プロセッサのデバッグ状態を復元すること、
を備える、方法。
［２］
前記プロセッサの前記アイドル状態を検出した後で前記プロセッサの状態を問い合わせることをさらに備える、上記［１］に記載の方法。
［３］
前記復元されたデバッグレジスタのうちの少なくとも１つを使用するデバッグ動作を実行することをさらに備える、上記［１］に記載の方法。
［４］
前記デバッグ動作は、ブレークポイントおよびウォッチポイントデバッグ動作のうちの１つである、上記［３］に記載の方法。
［５］
前記プロセッサは、ＡＲＭタイプのマイクロプロセッサコアを含む、上記［１］に記載の方法。
［６］
前記アイドル状態は、前記プロセッサのプロセッサクロックが非アクティブであるときに検出される、上記［１］に記載の方法。
［７］
前記プロセッサは、少なくとも５００ミリ秒間、前記アイドル状態にある、上記［１］に記載の方法。
［８］
前記プロセッサの前記アイドル状態を検出するためにジョイントテストアクショングループ（ＪＴＡＧ）デバッグシステムを使用してレジスタスキャンを実行することをさらに備える、上記［１］に記載の方法。
［９］
前記デバッグレジスタのうちの少なくとも１つは、前記プロセッサがスーパバイザモードで実行されるときに試験可能なデバッグ設定レジスタである、上記［１］に記載の方法。
［１０］
再同期されたタイミングクロック（ＲＴＣＫ）信号が、前記アイドル状態を検出することと関連して、または前記電力崩壊イベントの終わりを検出することと関連して評価される、上記［１］に記載の方法。
［１１］
前記デバッグ状態を復元することの前に前記電力崩壊イベントの終わりを検出することをさらに備える、上記［１］に記載の方法。
［１２］
プロセッサコアを有するプロセッサ上でデバッグ動作を実行する方法であって、
前記プロセッサの実行モード中に前記プロセッサコアのアイドル状態を検出すること、
前記プロセッサが前記アイドル状態にある間にデバッグ動作の要求を行うこと、
前記プロセッサが停止されている間に前記プロセッサの状態を問い合わせることによって、前記アイドル状態が電力崩壊イベントに関連していると決定すること、
ジョイントテストアクショングループ（ＪＴＡＧ）待機モードに入ること、
前記電力崩壊イベントの終わりを検出すること、
デバッグレジスタをロードすることによって前記プロセッサのデバッグ状態を復元すること、
デバッグ肯定応答信号を検出すること、および
要求された前記デバッグ動作を実行すること、
を備える、方法。
［１３］
前記プロセッサに供給される電力に関連する電力信号は、前記ＪＴＡＧ待機モードに入ることの前にオフにされる、上記［１２］に記載の方法。
［１４］
前記アイドル状態を検出することの前にクロックタイマの満了を検出することをさらに備える、上記［１３］に記載の方法。
［１５］
前記プロセッサコアの入力／出力インターフェースは、前記電力崩壊イベントの前記終わりの前は凍結された状態にある、上記［１２］に記載の方法。
［１６］
前記プロセッサコアのジョイントテストアクショングループ（ＪＴＡＧ）入力／出力インターフェースは、前記電力崩壊イベント中は凍結され、前記電力崩壊イベントの前記終わりを検出することの後で凍結を解除される、上記［１２］に記載の方法。
［１７］
前記デバッグ動作は、ブレークポイントおよびウォッチポイントデバッグ動作のうちの１つである、上記［１２］に記載の方法。
［１８］
前記プロセッサは、少なくとも５００ミリ秒間、前記アイドル状態にある、上記［１２］に記載の方法。
［１９］
前記プロセッサの前記アイドル状態を検出するためにジョイントテストアクショングループ（ＪＴＡＧ）デバッグシステムを使用してレジスタスキャンを実行することをさらに備える、上記［１２］に記載の方法。
［２０］
プロセッサをデバッグするデバイスであって、
プロセッサのアイドル状態を検出するための手段、
前記プロセッサが前記アイドル状態にある間にデバッグ動作の要求を行うための手段、
前記アイドル状態が電力崩壊イベントに関連していると決定するための手段、
前記電力崩壊イベントの終わりを検出し、前記プロセッサのデバッグ状態を復元するための手段、ならびに
要求された前記デバッグ動作を実行するための手段を備える、プロセッサをデバッグするデバイス。
［２１］
集積回路であって、
デバッグ動作に関連する命令を受信するためのデバッグインターフェース、
前記デバッグ動作に関連するデータを記憶するためのデバッグレジスタ、
ディジタル電圧レベルを制御するためのモデム電力マネージャ、前記モデム電力マネージャは、プロセッサが非アクティブの期間中に電力を節約するために前記ディジタル電圧レベルを落とすように、およびプロセッサが非アクティブの前記期間が終了されるときに前記ディジタル電圧レベルを復元するように適合される、ならびに
前記デバッグインターフェースおよび前記モデム電力マネージャに応答するプロセッサ、前記プロセッサは、前記ディジタル電圧レベルの復元に応答して電力出力ピンを指定された論理レベルへと駆動するように適合される、
を備える、集積回路。
［２２］
データは、前記ディジタル電圧レベルが復元されると前記デバッグレジスタに復元される、上記［２１］に記載の集積回路。
［２３］
デバッグシステムに接続するためのジョイントテストアクショングループ（ＪＴＡＧ）インターフェースをさらに備え、前記プロセッサは、前記ディジタル電圧レベルを落とすことに応答して前記ＪＴＡＧインターフェースの少なくとも１つのピンの論理レベルを凍結するように適合される、上記［２１］に記載の集積回路。
［２４］
前記プロセッサは、前記ディジタル電圧レベルが復元されると前記少なくとも１つのピンの前記論理レベルの凍結を解除するように適合される、上記［２３］に記載の集積回路。
［２５］
デバッグシステムであって、
ターゲットプロセッサに接続するためのデバッグインターフェース、
デバッグ動作を定義し、ユーザインタラクションのためのユーザインターフェースを定義するための、プロセッサ可読命令、ならびに
前記プロセッサ可読命令に基づいて前記ユーザインターフェースを生成するためのプロセッサ、前記プロセッサは前記プロセッサ可読命令に応答して前記デバッグ動作を制御するためのものである、前記プロセッサは、前記デバッグインターフェースのピンの状態の変化に基づいて前記プロセッサの電力崩壊状態を検出するように適合される、
を備える、デバッグシステム。
［２６］
メモリをさらに備え、ここにおいて、前記プロセッサは、前記デバッグ動作中に前記メモリに前記デバッグレジスタの状態を記憶するように適合され、前記デバッグシステムは、状態の前記変化に応答して前記メモリから前記デバッグレジスタの前記状態を復元するように適合される、上記［２５］に記載のデバッグシステム。
［２７］
前記ピンはクロックピンを備え、ここにおいて、状態の前記変化は、非アクティブの期間の後の前記クロックピンにおける立ち上がるクロックエッジを含む、上記［２５］に記載のデバッグシステム。
［２８］
以下を備えるポータブル通信デバイス：
ディジタル信号プロセッサ、ならびに
コントローラ、ここにおいて、前記コントローラは以下を備える：
ディジタル電圧レベルを制御するためのモデム電力マネージャ、前記モデム電力マネージャは、プロセッサが非アクティブの期間中に電力を節約するために前記ディジタル電圧レベルを落とすように、およびプロセッサが非アクティブの前記期間が終了されるときに前記ディジタル電圧レベルを復元するように適合される、ならびに
前記モデム電力マネージャに応答し、前記通信デバイスの一部分の動作を制御するように適合されたプロセッサ、前記プロセッサは、崩壊した電力の状態からの前記ディジタル電圧レベルの復元に応答して電力崩壊の復元のインジケーションを提供するためのデバッグ機能を含む。
［２９］
前記コントローラおよび前記ディジタル信号プロセッサは、テストピンを備えた集積回路上に提供される、上記［２８］に記載のポータブル通信デバイス。
［３０］
前記ディジタル信号プロセッサに結合されたアナログベースバンドプロセッサ、
前記アナログベースバンドプロセッサに結合されたステレオオーディオコーダ／復号器（ＣＯＤＥＣ）、
前記アナログベースバンドプロセッサに結合された無線周波数（ＲＦ）トランシーバ、
前記ＲＦトランシーバに結合されたＲＦスイッチ、および
前記ＲＦスイッチに結合されたＲＦアンテナをさらに備える、上記［２８］に記載のポータブル通信デバイス。
［３１］
プロセッサ上でデバッグ動作を実行するための実行可能な命令を組み込んだプロセッサ可読媒体であって、前記実行可能な命令は、
プロセッサの実行モード中にプロセッサのアイドル状態を検出するための命令、
前記アイドル状態が電力崩壊イベントに関連していると決定するための命令、および
前記実行モード中に前記プロセッサのデバッグレジスタをロードすることによって前記プロセッサのデバッグ状態を復元するための命令を備える、プロセッサ可読媒体。
［３２］
前記プロセッサの前記アイドル状態を検出した後で前記プロセッサの状態を問い合わせるための命令をさらに備える、上記［３１］に記載のプロセッサ可読媒体。
［３３］
前記デバッグレジスタのうちの少なくとも１つを使用するデバッグ動作を実行するための命令をさらに備える、上記［３１］に記載のプロセッサ可読媒体。
［３４］
前記デバッグ動作は、ブレークポイントおよびウォッチポイントデバッグ動作のうちの１つを実行するための命令を含む、上記［３３］に記載のプロセッサ可読媒体。
［３５］
前記アイドル状態は、前記プロセッサのプロセッサクロックが非アクティブであるときに検出される、上記［３１］に記載のプロセッサ可読媒体。
［３６］
前記プロセッサの前記アイドル状態を検出するためにジョイントテストアクショングループ（ＪＴＡＧ）デバッグシステムを使用してレジスタスキャンを実行するための命令をさらに備える、上記［３１］に記載のプロセッサ可読媒体。
［３７］
前記デバッグレジスタのデバッグ設定レジスタを試験するためにスーパバイザモードを実行するための命令をさらに備える、上記［３１］に記載のプロセッサ可読媒体。
［３８］
前記デバッグ状態を復元する前に前記電力崩壊イベントの終わりを検出するための命令をさらに備える、上記［３１］に記載のプロセッサ可読媒体。
【図１】
0005479556.tif 000002
【図２】
0005479556.tif 000003
【図３】
0005479556.tif 000004
【図４】
0005479556.tif 000005
【図５】
0005479556.tif 000006
【図６】
0005479556.tif 000007
【図７】
0005479556.tif 000008
【図８】
0005479556.tif 000009
【図９】
0005479556.tif 000010
【図１０】
0005479556.tif 000011
【図１１】
0005479556.tif 000012
【図１２】
0005479556.tif 000013
【図１３】
0005479556.tif 000014