(57)【特許請求の範囲】
【請求項１】
電子システムにおける組込みユニバーサルシリアルバス(USB)デバッグ(EUD)であって、
前記電子システム内のUSB物理(PHY)に結合された少なくとも1つのアップストリームインターフェースと、
前記少なくとも1つのアップストリームインターフェースに通信可能に結合された複数のダウンストリームインターフェースと
を備えるUSBハブと、
前記複数のダウンストリームインターフェースのうちの1つのダウンストリームインターフェースに結合されたデバッグ周辺装置であって、前記デバッグ周辺装置が、前記複数のダウンストリームインターフェースのうちの前記1つのダウンストリームインターフェースを介して、USBフォーマットされたデータパケットを前記USBハブと交換するように構成される、デバッグ周辺装置と
を備え、
前記デバッグ周辺装置が、複数のデバッグ機能の中の少なくとも1つのデバッグ機能からデバッギング情報を受信するために、前記電子システム内の前記少なくとも1つのデバッグ機能に通信可能に結合され、
前記デバッグ周辺装置が、前記少なくとも1つのデバッグ機能から受信された前記デバッギング情報を、前記USBハブに提供されるべき前記USBフォーマットされたデータパケットに変換するように構成され、
前記USBハブが、前記少なくとも1つのアップストリームインターフェースを介して、前記電子システム内の前記EUDの外側に提供されたUSBコントローラが前記USB PHYに結合されているかどうかに関係なく、前記USBフォーマットされたデータパケットを前記USB PHYに提供するように構成される、EUD。
【請求項２】
前記USB PHYに結合されたEUD電源であって、動作電力を前記EUDに提供するように構成されたEUD電源と、
前記USB PHYに結合されたEUD発振器であって、動作クロックを前記EUDに提供するように構成されたEUD発振器と
をさらに備える、請求項1に記載のEUD。
【請求項３】
前記USB PHYに結合されたEUD電源であって、前記電子システム内のデジタル電源電圧が非動作レベルに設定されているかどうかに関係なく、動作電力を前記EUDに提供するように構成されたEUD電源をさらに備える、請求項1に記載のEUD。
【請求項４】
前記USB PHYに結合されたEUD発振器であって、前記電子システム内の他のシステムクロックがオフにされているかどうかに関係なく、動作クロックを前記EUDに提供するように構成されたEUD発振器をさらに備える、請求項1に記載のEUD。
【請求項５】
前記電子システムのデバッギングモードを有効にするように構成されたバイパススイッチをさらに備える、請求項1に記載のEUD。
【請求項６】
前記バイパススイッチが、
前記少なくとも1つのアップストリームインターフェースおよび前記USB PHYに結合された第1のバイパススイッチと、
前記電子システム内の前記USBコントローラおよび前記複数のダウンストリームインターフェースのうちの1つに結合された第2のバイパススイッチと
を備え、
切断スイッチを開のままにすることによって、前記電子システムを前記USBハブからデタッチするように構成された前記切断スイッチをさらに備える、請求項5に記載のEUD。
【請求項７】
切断スイッチを閉のままにすることによって、前記電子システムを前記USBハブにアタッチするように構成された前記切断スイッチをさらに備える、請求項6に記載のEUD。
【請求項８】
前記USB PHYをUSBコントローラに直接接続することによって、前記電子システムのミッションモードを有効にするように構成されたバイパススイッチを備え、
前記バイパススイッチが、
前記USB PHYに結合され、前記少なくとも1つのアップストリームインターフェースから結合解除された第1のバイパススイッチと、
前記電子システム内の前記USBコントローラおよび前記第1のバイパススイッチに結合された第2のバイパススイッチと
を備える、請求項1に記載のEUD。
【請求項９】
前記デバッグ周辺装置が、前記電子システム内のジョイントテストアクショングループ(JTAG)デバッグ機能に結合され、それぞれの前記JTAGデバッグ機能とJTAGデバッギング情報を送信または受信するように構成される、請求項1に記載のEUD。
【請求項１０】
前記デバッグ周辺装置が、前記電子システム内のシリアルワイヤデバッグ(SWD)デバッグ機能に結合され、それぞれの前記SWDデバッグ機能とSWDデバッギング情報を送信または受信するように構成される、請求項1に記載のEUD。
【請求項１１】
前記デバッグ周辺装置が、前記電子システム内のシステムトレースデバッグ機能に結合され、それぞれの前記システムトレースデバッグ機能とシステムトレースデバッギング情報を送信または受信するように構成される、請求項1に記載のEUD。
【請求項１２】
前記デバッグ周辺装置が、前記電子システム内の通信(COM)ポートデバッグ機能に結合され、それぞれの前記COMポートデバッグ機能とCOMポートデバッギング情報を送信または受信するように構成される、請求項1に記載のEUD。
【請求項１３】
前記電子システムが、少なくとも1つの二次電子システムを備えるシステムインパッケージ(SIP)ベースの電子システムであり、前記少なくとも1つの二次電子システムが、少なくとも1つの二次アップストリームインターフェースを有する二次EUDを備える、請求項1に記載のEUD。
【請求項１４】
前記複数のダウンストリームインターフェースのうちの1つが、前記少なくとも1つの二次電子システムとデバッギング情報を送信または受信するために、前記少なくとも1つの二次アップストリームインターフェースに結合される、請求項13に記載のEUD。
【請求項１５】
組込みユニバーサルシリアルバス(USB)デバッグ(EUD)を使用して電子システムにおけるデバッギングプロセスを有効にするための方法であって、
前記電子システムをUSBホストにアタッチするステップと、
前記EUDによって前記USBホストの存在を検出するステップと、
前記デバッギングプロセスが前記EUDによって前記電子システムにおいて許可されるかどうかを検出するステップと、
前記USBホストから少なくとも1つのEUD構成を受信するステップと、
前記USBホストから前記EUDによって少なくとも1つのデバッグコマンドを受信するステップと、
前記少なくとも1つのデバッグコマンドに従って、デバッギング情報を収集するステップと、
前記デバッギング情報を、USBフォーマットされたデータパケットに変換するステップと、
前記電子システム内の前記EUDの外側に提供されたUSBコントローラが前記USB PHYに結合されているかどうかに関係なく、前記USBフォーマットされたデータパケットを前記USBホストに提供するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願
本出願は、その全体が参照により本明細書に組み込まれる、2014年10月30日に出願された「EMBEDDED UNIVERSAL SERIAL BUS (USB) DEBUG (EUD) FOR MULTI-INTERFACED DEBUGGING IN ELECTRONIC SYSTEMS」と題する米国特許出願第14/527,873号の優先権を主張する。
【０００２】
本開示の技術は、一般に、電子システムをデバッグすることに関する。
【背景技術】
【０００３】
モバイルコンピューティングデバイスは、現代社会において一般的になった。モバイルコンピューティングデバイスの普及は、そのようなコンピューティングデバイス内で有効にされる多くの機能によるものであり得る。モバイルコンピューティングデバイスにおいてますます高度になる機能を提供するために、ますます複雑になる集積回路(IC)が設計され、製造されてきた。いくつかの場合には、モバイルコンピューティングデバイスのシステム全体は、システムオンチップ(SOC)として知られる単一のICに統合される。いくつかの他の場合には、モバイルコンピューティングデバイスのシステム全体は、システムインパッケージ(SIP)として知られる統合モジュールにパッケージ化された複数のICによってサポートされる。
【０００４】
ICおよびモバイルコンピューティングデバイスは、モバイルコンピューティングデバイスを顧客にリリースする前に潜在的な誤りを検出し、排除する取組みにおいて、それらのそれぞれの開発ライフサイクルの異なる段階の間に繰り返しテストされ、デバッグされる。テストすることは特定の条件下で疑わしい誤りを検出するためのプロセスであるが、デバッグすることは疑わしい誤りの正確な原因を調査するために使用されるプロセスである。事実上のデバッギング手法は、テスト対象のデバイス(DUT)から様々なテスト条件下で取得された実行ログを分析することを伴う。モバイルコンピューティングデバイスおよびその中のICをデバッグする場合、ジョイントテストアクショングループ(JTAG)ロギング、シリアルワイヤデバッグ(SWD)、システムトレース、および汎用非同期受信機/送信機(UART)ロギングなどの確立されたデバッグ方法およびデバッグツールがしばしば用いられる。これらのデバッグ方法の各々は、DUT内の特定の回路、構成要素、および/または機能ブロックから特定の条件下で実行ロギングをキャプチャするように特に設計される。
【０００５】
モバイルコンピューティングデバイスの複雑さが増大し続け、ICのサイズが縮小し続けるにつれて、テストおよびデバッグはより面倒で時間がかかるものになっている。したがって、モバイルコンピューティングデバイスの設計者および開発者は、より良いテストツールおよびデバッグツールを必要としている。
【発明の概要】
【課題を解決するための手段】
【０００６】
発明を実施するための形態において開示する態様は、電子システムにおけるマルチインターフェースデバッギングのための組込みユニバーサルシリアルバス(USB)デバッグ(EUD)を含む。モバイルコンピューティングデバイスなどの電子システムは、優れた品質および性能を保証するために広範なテストおよびデバッグを必要とする複雑な集積回路(IC)を収容している。例示的な態様では、EUDは電子システム内に設けられる。EUDは、電子システム内の複数の内部デバッギングインターフェース(たとえば、ジョイントテストアクショングループ(JTAG)、シリアルワイヤデバッグ(SWD)、システムトレース、汎用非同期受信機/送信機(UART)など)に制御情報を提供するおよび/またはそれらの内部デバッギングインターフェースからデバッギング情報を収集するように構成される。EUDは、電子システムによって提供されるUSBインターフェースを通じてデバッギング情報が外部からアクセスされ得るように、デバッギング情報をUSBフォーマットに変換する。EUDの例示的な属性は、EUDが電子システムの非侵入的監視を提供することができるということである。EUDが有効にされている間、電子システムは依然として、ミッションモードで通信するためにUSBポートを使用することが可能である。加えて、EUDが機能し続けている間、電子システムは依然として、すべてのシステムクロックをオンまたはオフにし、節電モードとの間で遷移することができる。電子システムの正常な挙動に影響を及ぼすことなしに、USBインターフェースを通じてマルチインターフェースデバッギング情報を外部からアクセス可能にするために電子システムにおいてEUDを提供することによって、テストおよびデバッグは、電子システムからの複数の接続インターフェースを必要とすることなしに、より容易にかつ効率的に達成され得る。
【０００７】
この点について、一態様では、電子システムにおける組込みEUDが提供される。EUDは、USBハブを備える。USBハブは、少なくとも1つのアップストリームインターフェースを備える。少なくとも1つのアップストリームインターフェースは、電子システム内のUSB PHYに結合される。USBハブはまた、少なくとも1つのアップストリームインターフェースに通信可能に結合された複数のダウンストリームインターフェースを備える。EUDはまた、複数のダウンストリームインターフェースのうちの1つに結合されたデバッグ周辺装置を備える。デバッグ周辺装置は、複数のダウンストリームインターフェースのうちの1つを介して、USBフォーマットされたデータパケットをUSBハブと交換するように構成される。デバッグ周辺装置は、電子システム内の複数のデバッグ機能の中の少なくとも1つのデバッグ機能からデバッギング情報を受信するために、その少なくとも1つのデバッグ機能に通信可能に結合される。デバッグ周辺装置は、少なくとも1つのデバッグ機能から受信されたデバッギング情報を、USBハブに提供されるべきUSBフォーマットされたデータパケットに変換するように構成される。USBハブは、少なくとも1つのアップストリームインターフェースを介して、USBフォーマットされたデータパケットをUSB PHYに提供するように構成される。
【０００８】
別の態様では、EUDを使用して電子システムにおいてデバッギングプロセスを有効にするための方法が提供される。方法は、電子システムをUSBホストにアタッチするステップを含む。方法はまた、EUDによってUSBホストの存在を検出するステップを含む。方法はまた、デバッギングプロセスがEUDによって電子システムにおいて許可されるかどうかを検出するステップを含む。方法はまた、USBホストから少なくとも1つのEUD構成を受信するステップを含む。方法はまた、USBホストからEUDによって少なくとも1つのデバッグコマンドを受信するステップを含む。方法はまた、少なくとも1つのデバッグコマンドに従ってデバッギング情報を収集するステップを含む。
【０００９】
別の態様では、EUDベースのテストシステムが提供される。EUDベースのテストシステムは、USBホストインターフェースを備えるUSBホストを備える。EUDベースのテストシステムはまた、電子システムを備える。電子システムは、USBケーブルを介してUSBホストインターフェースに結合されたUSB PHYを備える。電子システムはまた、EUDを備える。EUDは、USBハブを備える。USBハブは、少なくとも1つのアップストリームインターフェースを備える。USBハブはまた、少なくとも1つのアップストリームインターフェースに通信可能に結合された少なくとも1つの第1のダウンストリームインターフェースを備える。USBハブはまた、少なくとも1つのアップストリームインターフェースに通信可能に結合された複数の第2のダウンストリームインターフェースを備える。EUDはまた、複数の第2のダウンストリームインターフェースのうちの少なくとも1つに結合された少なくとも1つのデバッグ周辺装置を備える。EUDはまた、少なくとも1つの第1のダウンストリームインターフェースに結合された切断スイッチを備える。EUDはまた、バイパススイッチを備える。バイパススイッチは、導線を備える。バイパススイッチはまた、少なくとも1つのアップストリームインターフェースおよび導線に交互に接続するように構成された第1のバイパススイッチを備える。バイパススイッチはまた、導線および切断スイッチに交互に接続するように構成された第2のバイパススイッチを備える。EUDはまた、USB PHYに結合されたEUD電源を備える。EUDはまた、USB PHYに結合されたEUD発振器を備える。電子システムはまた、少なくとも1つのデバッグ周辺装置に結合された少なくとも1つのデバッグ機能を備える。電子システムはまた、第2のバイパススイッチに結合されたUSBコントローラを備える。
【００１０】
別の態様では、電子システムにおけるEUDが提供される。EUDは、USBハブを備える。USBハブは、少なくとも1つのアップストリームインターフェースを備える。少なくとも1つのアップストリームインターフェースは、電子システム内のUSB PHYに結合されるべきものである。USBハブはまた、少なくとも1つのアップストリームインターフェースに通信可能に結合された複数のダウンストリームインターフェースを備える。EUDはまた、複数のダウンストリームインターフェースのうちの少なくとも1つに結合された少なくとも1つのデバッグ周辺装置を備える。少なくとも1つのデバッグ周辺装置は、複数のダウンストリームインターフェースのうちの少なくとも1つを介して、USBフォーマットされたデータパケットをUSBハブと交換するように構成される。少なくとも1つのデバッグ周辺装置は、電子システム内の複数のデバッグ機能の中の少なくとも1つのデバッグ機能に制御情報を送信するおよび/またはその少なくとも1つのデバッグ機能からデバッギング情報を受信するために、その少なくとも1つのデバッグ機能に通信可能に結合される。少なくとも1つのデバッグ周辺装置は、少なくとも1つのデバッグ機能から受信されたデバッギング情報を、USBハブに提供されるべきUSBフォーマットされたデータパケットに変換するように構成される。少なくとも1つのデバッグ周辺装置は、電子システムを制御するように構成される。USBハブは、少なくとも1つのアップストリームインターフェースを介して、USBフォーマットされたデータパケットをUSB PHYに提供するように構成される。
【００１１】
別の態様では、電子システムにおけるEUDが提供される。手段は、電子システムをUSBホストにアタッチするための手段を備える。手段はまた、EUDによってUSBホストの存在の検出することを備える。手段はまた、デバッギングプロセスがEUDによって電子システムにおいて許可されるかどうかを検出することを備える。手段はまた、USBホストからEUDによって少なくとも1つのEUD構成を受信することを備える。手段はまた、USBホストからEUDによって少なくとも1つのデバッグコマンドを受信することを備える。手段はまた、少なくとも1つのデバッグコマンドに従ってデバッギング情報を収集することを備える。
【図面の簡単な説明】
【００１２】
【図１】本開示の例示的な態様から利益を得ることができる電子システムをテストおよびデバッグするためのデバッギングシステムの従来の構成のブロック図である。
【図２】電子システム内部の少なくとも1つのデバッグ機能に制御情報を送信するか、または電子システム内部の少なくとも1つのデバッグ機能からデバッギング情報を収集し、デバッギング情報を、USBインターフェースを通じて外部からアクセスされ得るUSBフォーマットされたデータパケットに変換するように構成された例示的な組込みユニバーサルシリアルバス(USB)デバッグ(EUD)の概略図である。
【図３】本開示の例示的な態様による、電子システム内部の複数のデバッグ機能に制御情報を送信するか、または電子システム内部の複数のデバッグ機能からデバッギング情報を収集し、したがって、マルチインターフェースデバッギング情報をUSBホストに提供するように構成された例示的なEUDベースのテストシステムの概略図である。
【図４】電子システムが切断スイッチによってUSBホストからデタッチされている間に、EUDが電子システムにおいてデバッギングモードを有効にするようにバイパススイッチによって構成される、例示的なEUDベースのテストシステムの概略図である。
【図５】電子システムが切断スイッチによってUSBホストにアタッチされている間に、EUDが電子システムにおいてデバッギングモードを有効にするようにバイパススイッチによって構成される、例示的なEUDベースのテストシステムの概略図である。
【図６】EUDが電子システムにおいてミッションモードを有効にするようにバイパススイッチによって構成される、例示的なEUDベースのテストシステムの概略図である。
【図７】一次電子システムと、少なくとも1つの二次電子システムとを備え、マルチインターフェース制御情報および/またはデバッギング情報が、一次電子システム内のEUDを通じて少なくとも1つの二次電子システムと交換され得る、例示的な電子システムの概略図である。
【図８】図7の一次電子システムと、少なくとも1つの二次電子システムとを備え、マルチインターフェース制御情報および/またはデバッギング情報が、一次電子システム内の複数のデバッグ周辺装置のうちの1つを通じて少なくとも1つの二次電子システムと交換され得る、例示的な電子システムの概略図である。
【図９】EUDを使用して図3の電子システムにおいてデバッギングプロセスを有効にするための例示的なスタートアッププロセスを示すフローチャートである。
【図１０】図2の例示的なEUDを含むことができる例示的なプロセッサベースのシステムのブロック図である。
【発明を実施するための形態】
【００１３】
次に図面を参照しながら、本開示のいくつかの例示的な態様について説明する。「例示的」という語は、本明細書では「例、事例、または例示としての役割を果たすこと」を意味するために使用される。「例示的」として本明細書で説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１４】
発明を実施するための形態において開示する態様は、電子システムにおけるマルチインターフェースデバッギングのための組込みユニバーサルシリアルバス(USB)デバッグ(EUD)を含む。モバイルコンピューティングデバイスなどの電子システムは、優れた品質および性能を保証するために広範なテストおよびデバッグを必要とする複雑な集積回路(IC)を収容している。例示的な態様では、EUDは電子システム内に設けられる。EUDは、電子システム内の複数の内部デバッギングインターフェース(たとえば、ジョイントテストアクショングループ(JTAG)、シリアルワイヤデバッグ(SWD)、システムトレース、汎用非同期受信機/送信機(UART)など)に制御情報を提供するおよび/またはそれらの内部デバッギングインターフェースからデバッギング情報を収集するように構成される。EUDは、電子システムによって提供されるUSBインターフェースを通じてデバッギング情報が外部からアクセスされ得るように、デバッギング情報をUSBフォーマットに変換する。EUDの主な属性は、EUDが電子システムの非侵入的監視を提供することができるということである。EUDが有効にされている間、電子システムは依然として、ミッションモードで通信するためにUSBポートを使用することが可能である。加えて、EUDが機能し続けている間、電子システムは依然として、すべてのシステムクロックをオンまたはオフにし、節電モードとの間で遷移することができる。電子システムの正常な挙動に影響を及ぼすことなしに、USBインターフェースを通じてマルチインターフェースデバッギング情報を外部からアクセス可能にするために電子システムにおいてEUDを提供することによって、テストおよびデバッグは、電子システムからの複数の接続インターフェースを必要とすることなしに、より容易にかつ効率的に達成され得る。
【００１５】
本開示の特定の態様を含むEUDの態様について説明する前に、本開示の例示的な態様から利益を得ることができる電子システムをテストおよびデバッグするための従来の手法の概説が図1を参照しながら与えられる。EUDの特定の例示的な態様の説明は、図2を参照しながら、以下で開始する。
【００１６】
図1は、電子システム12をテストおよびデバッグするためのデバッギングシステム10の従来の構成のブロック図である。たとえば、モバイルコンピューティングデバイスであり得る電子システム12は、数ある構成要素の中でも、1つまたは複数のICを収容している。電子システム12は、設計が非常に複雑で機能が特徴的であるので、確立されたテストツールおよびデバッグツール(たとえば、JTAG、SWD、システムトレース、UARTなど)のいずれも、電子システム12内のすべての回路、構成要素、および/または機能ブロックについてのデバッギング情報を生成することができない。しばしば、テスト中である電子システム12のすべての態様をテストするために、複数のテストツールおよびデバッグツールが協同的に使用されなければならない。テストツールおよびデバッグツールの各々は、通信のために、それぞれのあらかじめ定義された接続インターフェースに依拠するので、電子システム12は、テストツールおよびデバッグツールによって必要とされる複数の接続インターフェースを提供するように構成されなければならない。たとえば、電子システム12は、第1のJTAGインターフェース14および第1のUARTインターフェース16を、それぞれJTAGデバッギングおよびUARTロギングに提供するように構成され得る。
【００１７】
第1のUSBインターフェース20を備えるパーソナルコンピュータ(PC)18は、制御ホストとしてデバッギングシステム10内に設けられる。デバッギングシステム10はまた、デバッギングインターフェースモジュール22(たとえば、ドングルまたはテストボード)を含む。デバッギングインターフェースモジュール22は、第2のUSBインターフェース24と、第2のJTAGインターフェース26と、第2のUARTインターフェース28とを備える。デバッギングインターフェースモジュール22内の第2のUSBインターフェース24は、USBケーブル30によって、PC18内の第1のUSBインターフェース20に結合される。デバッギングインターフェースモジュール22内の第2のJTAGインターフェース26は、標準JTAG接続ケーブル32を介して、電子システム12内の第1のJTAGインターフェース14に結合される。デバッギングインターフェースモジュール22内の第2のUARTインターフェース28は、標準UART接続ケーブル34を介して、電子システム12内の第1のUARTインターフェース16に結合される。PC18は、あらかじめ定義されたセットのテスト手順を実行するように構成される。あらかじめ定義されたセットのテスト手順は、PC18上でローカルに、電子システム12上でリモートで、またはPC18と電子システム12との間で双方向に実行され得る。デバッギングインターフェースモジュール22は、あらかじめ定義されたセットのテスト手順が実行されている間に、第2のJTAGインターフェース26および第2のUARTインターフェース28を通じてデバッギング情報を受信するように構成される。デバッギングインターフェースモジュール22は、第2のJTAGインターフェース26および第2のUARTインターフェース28から受信されたデバッギング情報をUSBデバッギング情報に変換する。次いで、デバッギングインターフェースモジュール22は、USBケーブル30を介して、USBデバッギング情報をPC18に提供する。PC18は、USBデバッギング情報を処理し、コンピュータモニタ、プリンタ、またはデータ記憶媒体などの様々な出力媒体(図示せず)に提示する。
【００１８】
明らかに、デバッギングシステム10が機能するためには、電子システム12は、それぞれのテストツールおよびデバッグツールによって必要とされる、第1のJTAGインターフェース14、第1のUARTインターフェース16、および他の接続インターフェースを提供するように構成されなければならない。しかしながら、様々なテストツールおよびデバッグツールによって必要とされる多くの接続インターフェースは、設計の複雑さ、費用の影響、およびスペースの制約により、電子システム12から除去されてきた。結果として、電子システム12のテストおよびデバッグは、より困難で時間がかかるものになった。
【００１９】
この点について、図2は、電子システム38内部の少なくとも1つのデバッグ機能からデバッギング情報を収集し、デバッギング情報を、USB物理レイヤ(PHY)40を通じて外部からアクセスされ得るUSBフォーマットされたデータパケット(図示せず)に変換するように構成された例示的なEUD36の概略図である。非限定的な例では、USB PHY40は、USB高速インターフェースおよび/またはUSB超高速インターフェースを提供するように構成される。EUD36は、USBハブ42を備え、USBハブ42は、少なくとも1つのアップストリームインターフェース44と、複数のダウンストリームインターフェース46(1)〜46(N)とをさらに備える。別の非限定的な例では、アップストリームインターフェース44および複数のダウンストリームインターフェース46(1)〜46(N)は、それぞれ、標準のUSBアップストリームポート機能およびUSBダウンストリームポート機能をサポートする。アップストリームインターフェース44は、接続リンク48を介してUSB PHY40に結合される。複数のダウンストリームインターフェース46(1)〜46(N)は、USBフォーマットされたデータパケットがアップストリームインターフェース44と複数のダウンストリームインターフェース46(1)〜46(N)との間で交換され得るように、アップストリームインターフェース44に通信可能に結合される。EUD36はまた、複数のダウンストリームインターフェース46(1)〜46(N)に通信可能に結合された複数のデバッグ周辺装置50(1)〜50(M)を備え、ただし、Mは1(1)以上である。EUD36は、Mが1に等しいとき、1つのみのデバッグ周辺装置50を有することになる。この点について、複数のデバッグ周辺装置50(1)〜50(M)は、少なくとも1つのデバッグ周辺装置50としても扱われ得る。非限定的な例では、EUD36は、デバッグ周辺装置50(1)〜50(M)よりも多くのダウンストリームインターフェース46(1)〜46(N)を有するように構成され、したがって、複数のダウンストリームインターフェース46(1)〜46(N)の中の少なくとも1つのダウンストリームインターフェース46を、非デバッギング関連の使用のために構成することができる。
【００２０】
引き続き図2を参照すると、電子システム38は、EUD36内の複数のデバッグ周辺装置50(1)〜50(M)にそれぞれ結合された複数のデバッグ機能52(1)〜52(M)を備える。複数のデバッグ機能52(1)〜52(M)の各々は、電子システム38内の特定の機能ブロック(たとえば、IC、ハードウェア構成要素、および/またはソフトウェア機能)に制御情報を送信するおよび/またはそれらの特定の機能ブロックから特定のデバッギング情報を収集するように構成される。非限定的な例では、第1のデバッグ機能(たとえば、52(1))は、JTAGデバッグ機能であり、JTAGデバッギング情報を収集するように構成され、第2のデバッグ機能(たとえば、52(2))は、SWDデバッグ機能であり、SWDデバッギング情報を収集するように構成され、第3のデバッグ機能(たとえば、52(3))は、システムトレースデバッグ機能であり、システムトレース(たとえば、Trace32)デバッギング情報を収集するように構成され、第4のデバッグ機能は、UARTデバッグ機能であり、UARTデバッギング情報を収集するように構成され、第5のデバッグ機能は、通信(COM)ポートデバッグ機能であり、COMポートデバッギング情報を収集するように構成される、といった具合である。複数のデバッグ周辺装置50(1)〜50(M)の各々は、複数のデバッグ機能52(1)〜52(M)の中の相手先からデバッギング情報を受信する。複数のデバッグ周辺装置50(1)〜50(M)は、デバッギング情報をUSBフォーマットされたデータパケットに変換し、USBフォーマットされたデータパケットを複数のダウンストリームインターフェース46(1)〜46(N)の中の相手先に提供する。アップストリームインターフェース44は、複数のダウンストリームインターフェース46(1)〜46(N)からUSBフォーマットされたデータパケットを受信し、外部からアクセスできるように、USBフォーマットされたデータパケットをUSB PHY40に提供する。この点について、USBハブ42は、複数のダウンストリームインターフェース46(1)〜46(N)からマルチインターフェースデバッギング情報を集め、マルチインターフェースデバッギング情報をUSB PHY40に提供するように構成される。電子システム38内部にEUD36を提供することによって、図1のPC18などの外部ホストが、USB PHY40を通じて電子システム38からマルチインターフェースデバッギング情報を都合よく取得することが可能である。したがって、電子システム12が図1のデバッギングシステム10においてサポートするように複数の接続インターフェースをサポートしなければならないのとは対照的に、電子システム38はUSB PHY40を外部ホストに提供する。
【００２１】
この点について、図3は、本開示の例示的な態様による、電子システム62においてマルチインターフェースデバッギング情報を送信および/または収集し、マルチインターフェースデバッギング情報をUSBホスト64に提供するように構成された例示的なEUDベースのテストシステム60の概略図である。図2と図3との間で共通の要素は、共通の要素番号を用いて示されており、したがって、本明細書では再び説明しない。USBホスト64は、USBケーブル66によって、USBインターフェース(図示せず)を有効にするUSB PHY40に結合される。図1のPC18と同様に、USBホスト64は、EUDベースのテストシステム60を構成し、あらかじめ定義されたセットのテスト手順を実行し、USBケーブル66を介してマルチインターフェースデバッギング情報を収集し、マルチインターフェースデバッギング情報をコンピュータモニタ、プリンタ、またはデータ記憶媒体などの様々な出力媒体(図示せず)に提供する。非限定的な例では、USBホスト64は、電子システム62をUSBホスト64に接続するための手段を有効にする。
【００２２】
電子システム62は、USB PHY40と、EUD36(1)と、USBコントローラ68とを備える。EUD36(1)は、USBハブ42(1)を備える。非限定的な例では、USB PHY40は、EUD36(1)によってUSBホスト64の存在を検出するための手段を有効にする。したがって、EUD36(1)は、デバッギングプロセスが電子システム62において許可されるかどうかを検出するための手段と、USBホスト64から少なくとも1つのEUD構成を受信するための手段と、USBホスト64から少なくとも1つのデバッグコマンドを受信するための手段と、少なくとも1つのデバッグコマンドに従ってデバッギング情報を収集するための手段とを有効にする。USBハブ42(1)は、アップストリームインターフェース44と、少なくとも1つの第1のダウンストリームインターフェース70と、複数の第2のダウンストリームインターフェース72(1)〜72(N)とを備える。第1のダウンストリームインターフェース70および複数の第2のダウンストリームインターフェース72(1)〜72(N)は、本開示における参照の便宜のみのために異なる名前が付けられた、同じUSBダウンストリームインターフェースであることに留意されたい。EUD36(1)が電子システム62に加えられる前に、USBコントローラ68は、USB接続を電子システム62に提供するために、USB PHY40に直接結合される。EUD36(1)が電子システム62に加えられた後、USBハブ42(1)またはUSBコントローラ68のいずれかは、USB接続を電子システム62に提供するために、USB PHY40に結合され得る。図4〜図6でさらに説明するように、EUD36(1)は、USB PHY40、USBハブ42(1)、および/またはUSBコントローラ68の間の接続構成を変更することによって、デバッギングモードまたはミッションモードで動作するように構成され得る。さらに、デバッギングモード中に電子システム62を節電モードにすることが可能である。電子システム62が節電モードにされているとき、EUD36(1)がデバッギングモードまたはミッションモードのいずれかのままである場合でも、電子システム62は保留モードであると言われる。
【００２３】
引き続き図3を参照すると、USB PHY40、USBハブ42(1)、および/またはUSBコントローラ68の間の接続構成を動的に変更するために、バイパススイッチ74および切断スイッチ76がEUD36(1)内に設けられる。バイパススイッチ74は、第1のバイパススイッチ78と、第2のバイパススイッチ80と、導線82とを備える。非限定的な例では、第1のバイパススイッチ78および第2のバイパススイッチ80は両方とも3方向スイッチであり、切断スイッチ76は2方向開閉スイッチである。別の非限定的な例では、切断スイッチ76は、第1のダウンストリームインターフェース70と統合し得る、ソフトウェアベースの2方向開閉スイッチまたはハードウェアベースの2方向開閉スイッチとして設けられる。第1のバイパススイッチ78は、USB PHY40に結合され、EUD36(1)内のアップストリームインターフェース44と導線82との間でトグルするように構成される。第1のバイパススイッチ78がEUD36(1)内のアップストリームインターフェース44に接続される場合、アップストリームインターフェース44はUSB PHY40に結合される。第1のバイパススイッチ78が導線82に接続される場合、アップストリームインターフェース44はUSB PHY40から結合解除される。切断スイッチ76は、EUD36(1)内の第1のダウンストリームインターフェース70に結合される。第2のバイパススイッチ80は、USBコントローラ68に結合され、導線82と切断スイッチ76との間でトグルするように構成される。第2のバイパススイッチ80が切断スイッチ76に接続され、切断スイッチ76が閉である場合、USBコントローラ68はEUD36(1)内の第1のダウンストリームインターフェース70に結合される。対照的に、切断スイッチ76が開である場合、USBコントローラ68はEUD36(1)内の第1のダウンストリームインターフェース70から結合解除される。
【００２４】
引き続き図3を参照すると、非限定的な例では、複数のデバッグ周辺装置50(1)〜50(M)の中の少なくとも1つのデバッグ周辺装置(たとえば、50(1))は、デバッギング制御周辺装置84でもあるように構成される。デバッギング制御周辺装置84は、複数のデバッグ周辺装置50(1)〜50(M)の中のデバッグ周辺装置を選択的に有効にするか、または選択的に無効にするように構成される。デバッギング制御周辺装置84はまた、USBハブ42(1)がUSBホスト64を検出したときに、電子システム62のための充電を有効にするか、または無効にするように構成される。非限定的な例では、USBハブ42(1)は、USBホスト64を検知することによって、またはUSBホスト64からの通知の受信を通じて、USBホスト64を検出する。デバッギング制御周辺装置84は、電子システム62をリセットするか、またはパワーサイクルするようにさらに構成される。非限定的な例では、デバッギング制御周辺装置84はまた、チップリセットを実行するか、または新しい画像をダウンロードするように電子システム62を構成するように構成され得る。複数のデバッグ周辺装置50(1)〜50(M)の中の少なくとも1つのデバッグ周辺装置(たとえば、50(2))は、プロセッサを停止もしくはシングルステップするか、レジスタもしくはメモリを修正するか、またはメッセージをソフトウェアプロセスに送信するように構成され得る。EUD36(1)はまた、EUD電源86と、EUD発振器88とを備え、これらは両方とも、USB PHY40に結合される。図4でさらに詳しく説明するように、電子システム62が保留モードであるとき、EUD電源86およびEUD発振器88は、それぞれ、動作電力および動作クロックをEUD36(1)に提供するように構成される。電力消費を低減するために、電子システム62は、システム内のすべてのプロセスが低電力を選ぶとき、デジタル電源電圧を非動作レベルに低減することができる。デジタル電源電圧は、電子システム62内のデジタル論理(図示せず)が依然としてそれぞれの状態(たとえば、保留)を保持しているが、もはやトグルすることはできないレベルに低減され得る。USBコントローラ68に関連付けられたUSBソフトウェアは、USBコントローラ68がUSBホスト64からデタッチされたときはいつでも、保留モードを選ぶことができる。これは、デバッギングモード中に、切断スイッチ76を開にすることによって達成され得る。
【００２５】
この点について、図4は、電子システム62(1)が保留モードである間に、EUD36(2)が電子システム62(1)においてデバッギングモードを有効にするように構成される、例示的なEUDベースのテストシステム60(1)の概略図である。図3と図4との間で共通の要素は、共通の要素番号を用いて示されており、したがって、本明細書では再び説明しない。電子システム62(1)において保留モードを有効にするために、第1のバイパススイッチ78はアップストリームインターフェース44に接続され、したがって、アップストリームインターフェース44をUSB PHY40に結合する。さらに、第2のバイパススイッチ80は切断スイッチ76に結合され、切断スイッチ76は開である。結果として、USBコントローラ68は、第1のダウンストリームインターフェース70から結合解除される。USBコントローラ68が第1のダウンストリームインターフェース70から結合解除されるとき、USBコントローラ68はもはやUSBホスト64を検出することができず、したがって、USBホスト64がデタッチされているとUSBコントローラ68に思わせる。したがって、USBコントローラ68は、電子システム62(1)が保留モードに入り得ることを電子システム62(1)に通知する。その間、EUD36(2)はUSB PHY40に結合されたままであり、複数のデバッグ機能52(1)〜52(M)を通じて電子システム62(1)の保留モードに関するデバッギング情報を収集するように完全に動作可能である。デバッギング情報は、保留モードとの間の遷移中に電子システム62(1)を検証するのに特に有用である。EUD電源86およびEUD発振器88は、それぞれ、保留モード中に動作電力および動作クロックをEUD36(2)に提供するように構成される。非限定的な例では、EUD発振器88は、電子システム62(1)内の他のシステムクロック(図示せず)がオフにされているとき、USB PHY40のための基準クロックを生成するために、電子システム62(1)において32キロヘルツ(kHz)スリープクロック(図示せず)を使用する。
【００２６】
保留モードは、電子システム62(1)の1つの重要な態様についてデバッギング情報が取得されることを可能にするが、USBコントローラ68がUSBホスト64と通信している間にデバッギング情報を取得することが可能であることは同様に重要である。この点について、図5は、電子システム62(2)が保留モードではない間に、EUD36(3)が電子システム62(2)においてデバッギングモードを有効にするように構成される、例示的なEUDベースのテストシステム60(2)の概略図である。図3と図5との間で共通の要素は、共通の要素番号を用いて示されており、したがって、本明細書では再び説明しない。電子システム62(2)において、第1のバイパススイッチ78はアップストリームインターフェース44に接続され、したがって、アップストリームインターフェース44をUSB PHY40に結合する。さらに、第2のバイパススイッチ80は切断スイッチ76に結合され、切断スイッチ76は閉である。結果として、USBコントローラ68は、USBハブ42(1)内の第1のダウンストリームインターフェース70に結合され、USBハブ42(1)を介してUSB PHY40に結合される。USBコントローラ68は、USBホスト64を検出することが可能であり、したがって、USBコントローラ68がUSBホスト64にアタッチされ、USBホスト64と通信することが可能であるとUSBコントローラ68に思わせる。非限定的な例では、EUD電源86およびEUD発振器88はデバッギングモード中に無効にされ、電子システム62(2)からの基準クロックおよび電源を利用することがある。その間、EUD36(3)はUSB PHY40に結合されたままであり、複数のデバッグ機能52(1)〜52(M)を通じてデバッギングモードに関するデバッギング情報を収集するように完全に動作可能である。
【００２７】
電子システム62(2)がデバッグされていないとき、電子システム62(2)におけるシグナリング遅延および電力消費を低減するのを助けるために、EUD36(3)の電源を切り、USBコントローラ68をUSB PHY40に直接結合することが望ましい。この点について、図6は、EUD36(4)が電子システム62(3)においてミッションモードを有効にするように構成される、例示的なEUDベースのテストシステム60(3)の概略図である。図3と図6との間で共通の要素は、共通の要素番号を用いて示されており、したがって、本明細書では再び説明しない。電子システム62(3)において、第1のバイパススイッチ78および第2のバイパススイッチ80は両方とも、導線82に接続される。そのような構成のもとでは、第1のバイパススイッチ78および第2のバイパススイッチ80は、導線82が存在しないかのように、直接互いに結合するものとして扱われる場合もある。同様に、第1のバイパススイッチ78が第2のバイパススイッチ80に結合されるとき、または第2のバイパススイッチ80が第1のバイパススイッチ78に結合されるとき、このことは、第1のバイパススイッチ78および第2のバイパススイッチ80を両方とも導線82に結合させることに相当する。結果として、USBコントローラ68はUSB PHY40に直接結合され、USBハブ42(1)は完全にバイパスされる。したがって、EUD36(4)は、ミッションモードの電子システム62(3)からデバッギング情報をキャプチャすることができない。この点について、ミッションモードは、電子システム62(3)がエンドユーザの管理下にあるときの通常動作モードである。
【００２８】
再び図3を参照すると、場合によっては、電子システム62は、より大型の電子システム(たとえば、SIPベースの電子システム)内の多くの構成要素のうちの1つであり得る。この点について、図7は、一次電子システム62(4)と、少なくとも1つの二次電子システム92とを備え、マルチインターフェースデバッギング情報が一次電子システム62(4)内のEUD36(5)を通じて二次電子システム92から取得され得る、例示的な電子システム90の概略図である。図3と図7との間で共通の要素は、共通の要素番号を用いて示されており、したがって、本明細書では再び説明しない。
【００２９】
図7を参照すると、二次電子システム92は二次EUD36(6)を備える。二次EUD36(6)は二次USBハブ42(3)を備え、二次USBハブ42(3)は少なくとも1つの二次アップストリームインターフェース44(1)を備える。二次アップストリームインターフェース44(1)は、一次電子システム62(4)のUSBハブ42(2)内の複数の第2のダウンストリームインターフェース72(1)〜72(N)の中の第2のダウンストリームインターフェース(たとえば、72(N))に通信可能に結合される。二次EUD36(6)は、二次電子システム92からデバッギング情報を収集し、マルチインターフェースデバッギング情報をUSBフォーマットされたデータパケット(図示せず)に変換し、USBフォーマットされたデータパケットを一次電子システム62(4)内のUSBハブ42(2)に提供する。一次電子システム62(4)内のUSBハブ42(2)は、USBフォーマットされたデータパケットをUSB PHY40を通じてアクセス可能にする。二次電子システム92は一次電子システム62(4)内のEUD36(5)を通じてデバッグされているが、一次電子システム62(4)は、図4〜図5で前に説明したように、保留モードまたはデバッギングモードで動作するように構成され得る。
【００３０】
二次電子システム92が二次EUD36(6)を備えない場合、一次電子システム62(4)は、複数のデバッグ周辺装置50(1)〜50(M)のうちの1つを通じて二次電子システム92からデバッギング情報を収集するように構成され得る。この点について、図8は、図7の一次電子システム62(4)と、少なくとも1つの二次電子システム92(1)とを備え、マルチインターフェース制御情報および/またはデバッギング情報が、一次電子システム62(4)内の複数のデバッグ周辺装置50(1)〜50(M)のうちの1つを通じて少なくとも1つの二次電子システム92(1)と交換され得る、例示的な電子システム90(1)の概略図である。図7と図8との間で共通の要素は、共通の要素番号を用いて示されており、したがって、本明細書では再び説明しない。
【００３１】
図8を参照すると、複数のデバッグ周辺装置50(1)〜50(M)の中のデバッグ周辺装置50(X)(1≦X≦M)は、二次電子システム92(1)を制御するおよび/または二次電子システム92(1)からデバッギング情報を収集するように構成される。非限定的な例では、デバッグ周辺装置50(X)は、二次電子システム92(1)内のJTAGインターフェース(図示せず)またはSWDインターフェース(図示せず)によって二次電子システム92(1)を制御し得る。
【００３２】
図9は、EUD36(1)を使用して図3の電子システム62においてデバッギングプロセスを有効にするための例示的なスタートアッププロセス100を示すフローチャートである。図9に関して、図3の要素が参照されるが、本明細書では再び説明しない。スタートアッププロセス100によれば、電子システム62がUSBホスト64にアタッチされる(ブロック102)。次に、EUD36(1)がUSBホスト64の存在を検出する(ブロック104)。上記の説明によれば、USBホスト64の検出は、電子システム62がUSBホスト64にアタッチされているという指示である。その後、デバッギングプロセスが電子システム62によって許可されることをEUD36(1)が検出する(ブロック106)。非限定的な例では、電子システム62はデバッグ無効化ヒューズを備えてもよく、(たとえば、真の状態で)デバッグ無効化ヒューズが飛んだときにデバッギングプロセスが禁止される。対照的に、(たとえば、偽の状態で)デバッグ無効化ヒューズが飛ばなかった場合、デバッギングプロセスは続行することを許可される。次に、EUD36(1)がUSBホスト64から少なくとも1つのEUD構成を受信する(ブロック108)。その後、EUD36(1)がUSBホスト64から少なくとも1つのデバッグコマンドを受信し(ブロック110)、最終的に、EUD36(1)がデバッグコマンドに従ってデバッギング情報を収集する(ブロック112)。
【００３３】
本明細書で開示する態様による、電子システムにおけるマルチインターフェースデバッギングのためのEUDは、任意のプロセッサベースのデバイス内に設けられるか、または組み込まれる場合がある。例としては、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤがある。
【００３４】
この点について、図10は、図2〜図6に示すEUD36、36(1)、36(2)、36(3)、36(4)を用いることができるプロセッサベースのシステム114の一例を示す。この例では、プロセッサベースのシステム114は、各々が1つまたは複数のプロセッサ118を含む、1つまたは複数の中央処理ユニット(CPU)116を含む。CPU116は、一時的に記憶されたデータへの高速アクセスのために、プロセッサ118に結合されたキャッシュメモリ120を有する場合がある。CPU116は、システムバス122に結合され、プロセッサベースのシステム114内に含まれるデバイスを相互結合することができる。よく知られているように、CPU116は、システムバス122を介してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信する。図10には示されていないが、複数のシステムバス122が設けられる場合があり、各システムバス122は異なるファブリックを構成する。
【００３５】
他のデバイスは、システムバス122に接続され得る。図10に示すように、これらのデバイスは、例として、メモリシステム124、1つまたは複数の入力デバイス126、1つまたは複数の出力デバイス128、1つまたは複数のネットワークインターフェースデバイス130、および1つまたは複数のディスプレイコントローラ132を含むことができる。入力デバイス126は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含むことができる。出力デバイス128は、限定はしないが、オーディオインジケータ、ビデオインジケータ、他の視覚インジケータなどを含む、任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス130は、ネットワーク134との間のデータの交換を可能にするように構成された任意のデバイスとすることができる。ネットワーク134は、限定はしないが、ワイヤードネットワークまたはワイヤレスネットワーク、プライベートネットワークまたは公共ネットワーク、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスワイドエリアネットワーク(WWAN)、およびインターネットを含む、任意のタイプのネットワークとすることができる。ネットワークインターフェースデバイス130は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。
【００３６】
CPU116はまた、1つまたは複数のディスプレイ136に送信される情報を制御するために、システムバス122を介してディスプレイコントローラ132にアクセスするように構成され得る。ディスプレイコントローラ132は、1つまたは複数のビデオプロセッサ138を介して、表示されるべき情報をディスプレイ136に送信し、ビデオプロセッサ138は、表示されるべき情報を、ディスプレイ136に適したフォーマットになるように処理する。ディスプレイ136は、限定はしないが、陰極線管(CRT)、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
【００３７】
当業者は、本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令、または両方の組合せとして実装され得ることをさらに諒解されよう。本明細書で説明するマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップにおいて用いられ得る。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであり得、所望の任意のタイプの情報を記憶するように構成され得る。この互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能がどのように実装されるかは、特定の適用例、設計上の選択、および/または、システム全体に課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００３８】
本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【００３９】
本明細書で開示する態様は、ハードウェアにおいて、また、ハードウェアに記憶された命令において具現化され得、命令は、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態のコンピュータ可読媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体である場合がある。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、リモート局内に存在し得る。代替として、プロセッサおよび記憶媒体は、個別構成要素として、リモート局、基地局、またはサーバ内に存在し得る。
【００４０】
本明細書の例示的な態様のいずれかで説明した動作ステップは、例および議論を提供するために説明されたものであることにも留意されたい。説明した動作は、図示したシーケンス以外の多数の異なるシーケンスにおいて実行される場合がある。さらに、単一の動作ステップにおいて説明した動作は、実際にはいくつかの異なるステップにおいて実行される場合がある。加えて、例示的な態様において説明した1つまたは複数の動作ステップが組み合わされる場合がある。当業者には容易に明らかになるように、フローチャート図に示した動作ステップは、多数の異なる修正を受けることがあることを理解されたい。当業者は、情報および信号が様々な異なる技術および技法のいずれかを使用して表され得ることも理解するであろう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表される場合がある。
【００４１】
本開示の上述の説明は、いかなる当業者も本開示を作成または使用できるようにするために提供される。本開示に対する様々な修正は、当業者には容易に明らかになり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明する例および設計に限定されるものではなく、本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００４２】
10  デバッギングシステム
12  電子システム
14  第1のJTAGインターフェース
16  第1のUARTインターフェース
18  パーソナルコンピュータ(PC)、PC
20  第1のUSBインターフェース
22  デバッギングインターフェースモジュール
24  第2のUSBインターフェース
26  第2のJTAGインターフェース
28  第2のUARTインターフェース
30  USBケーブル
32  標準JTAG接続ケーブル
34  標準UART接続ケーブル
36、36(1)、36(2)、36(3)、36(4)、36(5)  EUD
36(6)  二次EUD
38  電子システム
40  USB PHY
42、42(1)、42(2)  USBハブ
42(3)  二次USBハブ
44  アップストリームインターフェース
44(1)  二次アップストリームインターフェース
46(1)〜46(N)  ダウンストリームインターフェース
48  接続リンク
50(1)〜50(M)、50(X)  デバッグ周辺装置
52(1)〜52(M)  デバッグ機能
60、60(1)、60(2)、60(3)  EUDベースのテストシステム
62、62(1)、62(2)、62(3)  電子システム
62(4)  一次電子システム
64  USBホスト
66  USBケーブル
68  USBコントローラ
70  第1のダウンストリームインターフェース
72(1)〜72(N)  第2のダウンストリームインターフェース
74  バイパススイッチ
76  切断スイッチ
78  第1のバイパススイッチ
80  第2のバイパススイッチ
82  導線
84  デバッギング制御周辺装置
86  EUD電源
88  EUD発振器
90、90(1)  電子システム
92、92(1)  二次電子システム
100  スタートアッププロセス
114  プロセッサベースのシステム
116  中央処理ユニット(CPU)、CPU
118  プロセッサ
120  キャッシュメモリ
122  システムバス
124  メモリシステム
126  入力デバイス
128  出力デバイス
130  ネットワークインターフェースデバイス
132  ディスプレイコントローラ
134  ネットワーク
136  ディスプレイ
138  ビデオプロセッサ
【図１】
0006594972.tif 000002
【図２】
0006594972.tif 000003
【図３】
0006594972.tif 000004
【図４】
0006594972.tif 000005
【図５】
0006594972.tif 000006
【図６】
0006594972.tif 000007
【図７】
0006594972.tif 000008
【図８】
0006594972.tif 000009
【図９】
0006594972.tif 000010
【図１０】
0006594972.tif 000011