JP4916617B2 - 実時間プロセッサ用デバッグシステム - Google Patents

実時間プロセッサ用デバッグシステム Download PDF

Info

Publication number
JP4916617B2
JP4916617B2 JP2001029003A JP2001029003A JP4916617B2 JP 4916617 B2 JP4916617 B2 JP 4916617B2 JP 2001029003 A JP2001029003 A JP 2001029003A JP 2001029003 A JP2001029003 A JP 2001029003A JP 4916617 B2 JP4916617 B2 JP 4916617B2
Authority
JP
Japan
Prior art keywords
signal
debug
core processor
address
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001029003A
Other languages
English (en)
Other versions
JP2001222446A (ja
JP2001222446A5 (ja
Inventor
ウィリアム・シー・モイヤー
マイケル・ディー・フィッツシモンズ
リチャード・ジー・コリンズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP USA Inc filed Critical NXP USA Inc
Publication of JP2001222446A publication Critical patent/JP2001222446A/ja
Publication of JP2001222446A5 publication Critical patent/JP2001222446A5/ja
Application granted granted Critical
Publication of JP4916617B2 publication Critical patent/JP4916617B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はリアルタイムまたは実時間プロセッサデバッグシステムに関し、かつより特定的には実時間動作の間にコアプロセッサの仮想バス(virtual bus)のアドレスおよびデータ信号を選択的にサンプルしてバス負荷による電力消費を低減しかつ性能の影響を最小にするデバッグシステムに関する。
【0002】
【従来の技術】
コアプロセッサ、オンチップ・メモリおよび外部メモリ・インタフェース・モジュールを含む組み込みシステム(エンベッデッド・システム:Embedded systems)はありふれたものである。現代のシステムはキャッシュメモリをも導入している。システムレベルのコード開発者は組み込みシステムのためのソフトウェアまたはアプリケーションコードを該システムにとって必要な特定の機能を達成するために書く必要がある。大部分のソフトウェアは、機能の追加または改定、望ましくない特徴または機能部分の除去、および「バグ(bugs)」またはソフトウェアエラーの除去を含む、種々の理由のため開発者によって数回改定されなければならない。したがって、アプリケーションコードの開発の間に適切な動作を保証するためにソフトウェアをデバッグする必要がある。組み込みシステムのアプリケーションコードはさらに動作の間に進行する、絶えざるまたは周期的な調整を必要とするかもしれない。いくつかの構成においては、あるパラメータ、定数の特徴値(characteristic values)またはテーブルを実時間動作の間に調整しまたは修正する必要があるかもしれない。ここで言及するデバッグ処理は動作の間の実時間キャリブレイション(較正)または調整のみならず、初期的なアプリケーションコードの開発を含む。
【0003】
キャッシュメモリのないシステムを含む、いくつかの受けつがれたシステムはコアプロセッサのサイクルがデバッグの目的で容易に利用できるように外部的にコアプロセッサ・バスを提供している。システムレベルのデバッグはキャッシュメモリを備えた組み込みシステム環境においてはより困難になり、それはコアプロセッサのピンまたはバスの可視性(visibility)がもはや得られないからである。特に、キャッシュメモリはしばしば組み込みコアプロセッサと外部の物理バスとの間に配置され、それによってコアプロセッサのバスは外部的に利用できなくなる。例えば、キャッシュメモリを持っていない従来の組み込みシステムにおいて行なわれていた「表示サイクル(ショーサイクル:show cycle)」のサポートは選択肢とはならない。
【0004】
伝統的な1つのデバッグ方法はバックグラウンド・デバッグモード(background debug mode:BDM)と称される。BDMはコード開発者がデバッグ動作を行なうためにプロセッサが中断される静的デバッグ処理である。コード開発者は特定のポイントにおいてプロセッサを停止するためにブレークポイント(break points)を設定することができ、あるいはプロセッサの進行を監視しかつ問題およびバグを識別するために単一ステップで個々の命令を行なうことができる。BDMはいくつかの用途にとっては適切ではあるが、動的またはダイナミック調整またはキャリブレイションを含む、実時間動作にとっては十分ではない。また、あるデバッグ動作は組み込みコアプロセッサを停止することなくアプリケーションコードが試験されかつ訂正されることを要求する。例えば、自動車のエンジンを制御するための組み込みプロセッサシステムは通常エンジンが動作している間にデバッグされ、それによってコアプロセッサを中断することはそれが事実上エンジンを停止する結果となるため選択肢とならないようにされる。
【0005】
プロセッサを中断することなくプロセッサの動作を監視するために動的デバッグ方法が開発されている。キャッシュから物理バスが外部的に利用可能である場合は、外部的にコアプロセッサ・バスを提供することも実用的または実行可能ではなく、それはそのことによって組み込みプロセッサの過大な数のピンを生じる結果となるためである。プロセッサバスを監視しかつ内部補助バス(internal auxiliary bus)またはポートを介してメッセージを提供するデバッグインタフェースを開発することが意図されている。コアプロセッサとキャッシュとの間のアドレスおよびデータバスを監視することによる動的デバッグは電力を消費しかつ処理のじゃまをするまたは介入的な処理となり得る。キャッシュとコアプロセッサとの間のバスはしばしば「仮想(バーチャル:virtual)」バスと称される。該仮想バスに結合された大きなバッファはバス負荷(bus loading)を引き起こし、これは組み込みプロセッサシステムの性能に影響を与える可能性がある。さらに、アドレスおよびデータバスの信号を監視しかつ対応するメッセージを外部の補助バスに提供する動的プロセスは価値ある電力を消費する。携帯用通信装置は典型的には手持型でありかつバッテリ動作され、かつ支配的に組み込み処理システムを使用する。そのような携帯用通信装置は、例えば、パーソナルデジタルアシスタント(PDA)、セル電話、ページャ、全世界測位(GPS)モジュール、その他を含む。そのような携帯用通信装置においてはバッテリ寿命を保つために電力消費を最小にすることは必須のことである。
【0006】
【発明が解決しようとする課題】
通常のシステム動作の間に動的なキャリブレイションを行なうシステムにおいて電力消費を最小にすることは同様に重要である。自動車用の用途はこの要求の重要な例である。例えば、ある自動車用の用途においては、実時間のキャリブレイションの(絶えざる)チューニングはデバッグモジュールがプロセッサおよびアプリケーションが動作する時に機能することを要求する。組み込みシステムの電力消費を最小にすることが強く要求される。
【0007】
組み込み処理システムに関して電力消費を最小にしかつバス負荷による性能の影響を最小にする方法で動的デバッグを行なうことが望ましい。
【0008】
【課題を解決するための手段】
本発明の一態様によれば、コアプロセッサであって、該コアプロセッサの通常動作の間に動作信号を提供するもの、前記動作信号を受けるための入力、デバッグ更新信号を受けるための第2の入力、および出力を有する論理回路、および前記デバッグ更新信号を提供する第1の出力、前記論理回路の出力に結合された第1の入力、および集積回路の外部にアクセス可能な補助バスに結合された第2の出力を有する実時間デバッグ回路、を具備し、前記集積回路はデバッグモードを有し、前記実時間デバッグ回路は前記デバッグモードの部分集合として選択可能なモードを有することを特徴とする集積回路が提供される。
【0009】
本発明の別の態様では、仮想アドレスバスを構成する第1の出力、およびコア処理ステータス出力信号を提供する第2の出力を有するコアプロセッサ、前記仮想アドレスバスに結合された第1の入力、デバッグアドレスバスとしての出力、および第2の入力を有する第1の論理回路、および前記コア処理ステータス出力信号がアドレスの流れの変化(COF)を示している場合に前記論理回路の前記第2の入力へのアドレスデバッグ信号を肯定するためのデバッグ回路、および前記仮想データバスに結合された第1の入力、デバッグデータバスとしての出力、および第2の入力を有する第2の論理回路を具備し、前記デバッグ回路は、前記プロセッサステータス出力信号がデータアクセスを示している場合に、前記第2の論理回路の前記第2の入力へのデータデバッグ信号を肯定することを特徴とする実時間デバッグシステムが提供される。
【0010】
本発明のさらに別の態様では、集積回路における実時間デバッグシステムにおける方法が提供され、前記集積回路はデバッグ回路および前記集積回路の内部的な使用のための動作信号を発生するコアプロセッサを有し、前記方法は、前記集積回路の通常動作の間にデバッグモードに入る段階、前記デバッグモードの部分集合である選択可能なモードに入る段階、および前記選択可能なモードの間に前記デバッグ回路がデバッグ信号を肯定したことに応じて前記デバッグ回路に動作信号を結合し、かつ前記選択可能なモードの間に前記デバッグ回路が前記デバッグ信号を肯定解除したことに応じて前記デバッグ回路から前記動作信号を阻止する段階、を具備することを特徴とする。
【0011】
本発明のさらに別の態様では、通常動作の間に集積回路の内部にのみ提供される出力を有するコアプロセッサ、および前記コアプロセッサの出力に結合された第1の入力、デバッグ出力、および前記デバッグ信号が肯定解除されたことに応じて前記論理回路が前記デバッグ出力の論理状態を切り替えることを防止するための第2の入力を有する論理回路、を具備することを特徴とする実時間デバッグシステムが提供される。
【0012】
【発明の実施の形態】
本発明のより良い理解は添付の図面とともに好ましい実施形態に関する以下の詳細な説明を参照することによって得ることができる。
【0013】
組み込みシステムの動的デバッグを行ないかつ実時間の、非侵入的または非介入的(non−intrusive)デバッグのサポートに関連する他の問題および事項を解決するために「ネクサス標準(Nexus Standard)」またはGEPDIS(包括的組み込みプロセッサ・デバッグ・インタフェース標準:Global Embedded Processor Debug Interface Standard)が現在開発されてきている。IEEE−ISTOフォーラム5001(Institute of Electricaland Electronics Engineers−Industry Standards and Technology Organization)としても知られた、前記GEPDISは、組み込みシステムプロセッサのコアを中断することなく非侵入的なデバッグを行なうための方法論を標準化するために開発された組み込みデバッグインタフェース標準を述べている。プログラムフローおよびデータフローへの可視性を提供することによりプログラムの実行を監視するためにGEPDISにおいては数多くのデバッグ能力が規定されている。この可視性は外部開発システムへと専用の多ビットまたは多ピンのシリアルインタフェースまたは補助ポートによって提供される一連の情報メッセージからなる。プログラムフロー・メッセージが次にプログラムの静的イメージと組み合わされて組み込みプロセッサの実際の命令実行シーケンスを再構成または再現する。データフロー・メッセージはあらかじめ規定されたアドレス範囲へのプロセッサの読み取りおよび書き込みを追跡する。
【0014】
GEPDISの動的デバッグは同期メッセージング(synchronization messaging)およびデータトレース・メッセージング(data trace messaging)を含むプログラムトレース・メッセージング(program trace messaging)を使用して実施される。プログラムトレース・メッセージングの実施は、直接または間接のチェンジオブフロー事象を含め、チェンジオブフロー(流れの変化:change of flow:COF)事象を示すステータス情報とともに、コアプロセッサによって行なわれる命令フェッチのシーケンスを監視することを要求する。直接のCOF(direct COF)事象はプログラムカウンタ相対または関連分岐(program counter relative branches)を含みかつ間接COF(indirect COF)事象はレジスタ間接分岐および例外ベクタリング(exception vectoring)を含む。プログラムトレース同期メッセージの実施は現在実行している命令アドレスまたは合理的な近隣の命令アドレスが伝送されることを要求する。データトレース・メッセージングの実施はデータアクセス・アドレスの監視および条件付きで関連データを提供することを要求する。データトレース・メッセージングは1つまたはそれ以上の規定されたアドレス範囲内での読み取りメッセージングまたはデータの読み取り、および1つまたはそれ以上の規定されたアドレス範囲内の書き込みメッセージングまたはデータの書き込みを含む。
【0015】
前記GEPDISは実時間の動的および非侵入的デバッグシステムを記述することを意図している。GEPDISは仮想バスにアクセスしかつ補助バスまたはポートを介して外部システムと通信する組み込みデバッグ・インタフェースを意図している。しかしながら、GEPDISはバス負荷および電力消費について特に取り組むものではない。仮想バス信号を直接デバッグ・インタフェースに提供することは非常に侵入的でありかつ誤った動作を引き起こす可能性がある。デバッグ・インタフェースの影響を低減するためにバッファリングが使用できるが、それでも実質的な性能に対する影響は依然として生じ得る結果となり、それは仮想バスの全ての信号遷移(signal transitions)はデバッグ信号に反映されるからである。デバッグ用バスによる電力消費はかなりのものでありかつある実施形態においては過度にさえなり得る。
【0016】
図1は、組み込みシステム103の補助バス102に結合された外部開発システム101を含むデバックシステム100の概略的なブロック図である。開発システム101は組み込みシステム103の組み込みプロセッサ107のプロセッサ・コア109によって実行されているソフトウェアの実時間デバッグ動作を行なうために使用される。しかしながら、実時間キャリブレイション・システム(図示せず)を実時間キャリブレイションを行なう目的で補助バス102に結合することも可能であり、その場合も本発明の原理は同じであることが理解される。
【0017】
図示された実施形態においては、組み込みシステム103は集積回路(IC)またはチップ上に導入されかつ、デバッグシステム100に関連するような、より大きなシステムの基板上の適切なソケットへと差し込まれる。組み込みシステム103は別個の物理バス115を介して組み込みプロセッサ107へと結合された実時間デバック・インタフェース105を含む。組み込みプロセッサ107は仮想バス113を介してキャッシュ/MMU(メモリ管理ユニット:Memory Management Unit)111に結合された中央処理ユニット(CPU)またはコア109を含む。仮想バス113はコア109の動作を規定する複数の動作信号を含む。前記キャッシュおよびMMUは典型的には別個のシステムであるが、説明の簡略化のために組み合わされて示されている。MMUは任意選択的なものでありかつ組み込みプロセッサ107の特定の実施形態においては設けられないようにすることもできる。本発明は組み込みプロセッサの数多くの異なる変形および実施形態を意図しておりかつそのような変形に限定されるものではない。
【0018】
仮想バス113はコア109によってキャッシュ/MMU 111へと提供されまたは肯定される(asserted)アドレス信号を含む「仮想アドレス(VIRTUAL ADDR)」バス、およびコア109とキャッシュ/MMU 111との間の双方向の「仮想データ(VIRTUAL DATA)」バスを含む。用語「仮想(virtual)」は、仮想バス113は見える(visible)ものではなく、あるいはさもなければ組み込みプロセッサ107の外部に組み込みシステム103の他の構成要素に提供されないことを意味する。物理バス115は仮想バス113と同様のものでありかつ同様のアドレスデータおよび制御信号を含むが、2つのバスの間の動作は動作の間に変化する。キャッシュ/MMU 111内のキャッシュはディスエーブルすることができその場合仮想バス113は物理バス115と同様の様式で動作する。しかしながら、もしキャッシュがイネーブルされれば、物理バス115は異なる様式で動作しかつコア109の動作の真の表現を与えないことになる。仮想バス113を監視してコア109の動作を監視しまたはコア109によって実行されているアプリケーション・ソフトウェアのキャリブレーション動作を行なうことが望ましい。
【0019】
仮想バス113はコア109に結合された仮想バス・ゲーティング論理117に提供される。仮想バス・ゲーティング論理117はコア109内に導入することができ、あるいはコア109の外部に設計することができる。仮想バス・ゲーティング論理117は「更新データ(UPDATE DATA)」信号、「更新アドレス(UPDATE ADDR)」信号、「デバッグデータ(DEBUG DATA)」バスおよび「デバッグアドレス(DEBUG ADDR)」バスを介して実時間デバッグ・インタフェース105に結合されている。前記「デバッグアドレス」バスは後にさらに説明する属性(attribute)信号を含むことができる。前記「更新データ」信号は前記「デバッグデータ」バス上の信号を選択的に活性化しまたはさもなければイネーブルするデータデバッグ更新信号であり、そして前記「更新アドレス」信号は前記「デバッグアドレス」バスを選択的にイネーブルしまたは活性化するアドレスデバッグ更新信号である。コア109によって発生される「プロセッサ・ステータス(PROCESSOR STATUS)」信号は、後にさらに説明するように、コア109のあるステータス事象を識別するために実時間デバッグ・インタフェース105に提供される。該「プロセッサステータス」信号はコア109の処理ステータスを示す少なくとも1つのコア処理ステータス出力信号を含む。
【0020】
前記補助バス102は組み込みシステム103の実時間デバッグ・インタフェース105によって制御されるスケーラブル出力デバッグポートである。一実施形態においては、補助バス102はGEPDISによって規定されて開発システム101によってコア109の監視ができるようにする。補助バス102は外部ハードウェア・インタフェース119に提供され、該外部ハードウェア・インタフェース119はデバッグ信号を開発システム101内の開発ワークステーション121へと提供するためのバッファ、ファームウェア、処理部その他からなる。ワークステーション121は任意のファームウェア、ハードウェアまたはソフトウェアを導入し、かつパーソナルコンピュータその他として実施できデバッグ動作またはアプリケーション・ソフトウェアの開発の制御を可能にする。ワークステーション121におけるオペレータはデバッグ・ソフトウェアとインタフェースまたは対話してとりわけ仮想バス113のアドレスおよびデータ信号の監視のために実時間デバッグ・インタフェース105の動作を制御する。
【0021】
組み込みシステム103は通常動作のための通常モードおよびデバッグモードを含むいくつかの動作モードを持つことができる。実時間デバッグ・インタフェース105はデバッグモードを容易に可能としかつデバッグモードのサブセットまたは部分集合としていくつかの選択可能なモードを有することができる。例えば、実時間デバッグ・インタフェースはプログラム・トレースモードおよびデータ・トレースモードを含み、この場合データ・トレースモードはさらに読み出しおよび書き込みデバッグモードを有することができる。
【0022】
図2は、本発明の一実施形態に係わる仮想アドレスバス・ゲーティング論理200の回路図を示す。該仮想アドレスバス・ゲーティング論理200は前記仮想バス・ゲーティング論理117内に設けられて前記仮想バス113の「仮想アドレス」バスを前記「デバッグアドレス」バスに結合する。ここで説明される実施形態においては、「仮想アドレス」バスは仮想アドレス[31:0](VIRTUAL ADDR[31:0])と名付けられた32の別個のアドレス信号を含む。しかしながら、本発明はいずれか特定の数のアドレス信号に限定されるものではないことが理解される。各々の「仮想アドレス」バス信号は一連のラッチ201の対応する入力に供給され、該ラッチはD型ラッチのような任意の適切な形式のラッチとすることができる。前記ラッチ201の各々のQ出力は一連のバッファ203のそれぞれの入力に供給される。バッファ203の出力は、個々の信号デバッグアドレス[31:0](DEBUG ADDR[31:0])を含む、前記「デバッグアドレス」バスのそれぞれの信号を提供しまたは肯定する。組み込みプロセッサ107は、CLK1と称される、内部マスタクロック信号を含み、これは2入力ANDゲート205の内の一方の入力に提供される。CLK1信号は制御およびタイミングの目的でコア109に提供される少なくとも1つのマスタクロック信号である。ANDゲート205の他の入力は「更新アドレス(UPDATE ADDR)」信号を受ける。ANDゲート205の出力は「デバッグアドレスクロック(DEBUG ADDR CLK)」を提供しまたは肯定し、これはラッチ201の各々のクロック入力に与えられる。
【0023】
動作においては、前記「更新アドレス」信号は前記「仮想アドレス」バスのそれぞれの信号をCLK1信号の提供または肯定と同期した「デバッグアドレス」バスに転送するためのイネーブル信号として作用する。このようにして、「更新アドレス」信号が提供されまたは肯定された時、CLK1信号がラッチ201をクロッキングして「仮想アドレス[31:0]」信号を「デバッグアドレス[31:0]」信号のそれぞれの信号へとラッチするようにさせる。「更新アドレス」信号が否定されまたは論理“0”である場合は、ラッチ201は静止しており、それによって「デバッグアドレス[31:0]」信号は安定状態に留まっている。「デバッグアドレス」バスを含む、組み込みプロセッサ107の任意のバスの遷移は実質的な量の電力を消費することに注意を要する。後に説明するように、「デバッグアドレス」バスの不必要な遷移を低減しまたは除去するために「更新アドレス」信号を使用することはかなりの電力節約を達成する。
【0024】
図3は、本発明の一実施形態に従って構成された仮想データバス・ゲーティング論理300の回路図である。該仮想データバス・ゲーティング論理300はまた仮想バス113のそれぞれのデータ信号を選択的に前記「デバッグデータ」バスに伝達するために仮想ゲーティング論理117内に導入される。図示された実施形態においては、仮想バス113の「仮想データ」バスは32の信号、「仮想データ[31:0](VIRTUAL DATA[31:0])」を含む。また、「デバッグデータ」バスは32の信号、「デバッグデータ[31:0](DEBUG DATA[31:0])」を備えている。しかしながら、本発明はいずれか特定の数のデータ信号に限定されないことが理解される。前記「更新データ」信号は複数の2入力NANDゲート301の各々の一方の入力に提供される。NANDゲート301の各々の他方の入力は前記「仮想データ[31:0]」信号のそれぞれの1つを受ける。例えば、第1のNANDゲート301は「仮想データ[0]」信号を受け、第2のNANDゲート301は「仮想データ[1]」信号を受けるなどである。NANDゲート301の各々の出力は複数のインバータ303の内のそれぞれの1つの入力に与えられる。インバータ303の各々はそれらのそれぞれの出力において前記「デバッグデータ[31:0]」信号の個々の信号の内のそれぞれの1つを肯定しまたは提供する。
【0025】
前記仮想データバス・ゲーティング論理300の動作はCLK1信号への同期を除いて前記「仮想アドレス」バス・ゲーティング論理200と同様である。しかしながら、仮想アドレスバス・ゲーティング論理200は仮想データバス・ゲーティング論理300と同様の様式で構成でき、かつ逆もまた同様であることが理解される。ここで説明される特定の実施形態では、仮想アドレスバス・ゲーティング論理200は前記サイクルが実際に有効でありかつ適切にラッチされることを保証するために前記アドレスをいくらか遅延させる。さらなる利点は「デバッグアドレス」バスおよび信号のタイミングがあまり重大(クリティカル:critical)なものではないことであり、従ってバッファ203はより小さなかつ電力消費の少ない装置を使用して構成できる。「更新データ」信号がローに否定された時、「デバッグデータ」バスは静止状態に留まっておりかつ不変である。「更新データ」信号がハイに肯定された時、「デバッグデータ」バスは論理ゲート301,303を通る少しの遅延の後に仮想バス113の「仮想データ」バスに論理的に従うことになる。特に、「更新データ」信号がハイに肯定された時、「デバッグデータ[0]」信号は仮想データ[0]信号に従い、「デバッグデータ[1]」信号は仮想データ[1]信号に従うなどとなる。
【0026】
前記仮想アドレスバス・ゲーティング論理200および前記仮想データバス・ゲーティング論理300は、それぞれ、「更新アドレス」信号および「更新データ」信号を介して対応する「デバッグアドレス」バスおよび「デバッグデータ」バスの選択的な制御および活性化(activation)を提供する。このようにして、前記「更新アドレス」および「更新データ」信号は「デバッグアドレス」および「デバッグデータ」バスの電力消費を制御するために利用できる。これは次にデバッグ、試験またはキャリブレイション動作の間の組み込みシステム103の電力消費の制御を可能にする。特に、ページャ、移動電話その他のような、バッテリ動作しかつ携帯用の装置においては、前記デバッグモードは通常動作モードの間においてディスエーブルされる。前記「更新アドレス」および「更新データ」信号は強制的にローにされ「デバッグアドレス」および「デバッグデータ」バスが切り替わらないことを保証する。これは余分のデバッグモードの論理または回路が価値あるバッテリ電力を消費せずかつ従ってバッテリ寿命に影響を与えないことを保証する。
【0027】
前記実時間デバッグ・インタフェース105は必要な場合に「更新データ」および「更新アドレス」信号を肯定して前記「デバッグデータ」バスおよび「デバッグアドレス」バスのデバッグ信号をサンプルする。また、種々の属性信号が、「プロセッサステータス(PROCESSOR STATUS)」信号として示されるように、コア109から実時間デバッグ・インタフェース105へと提供される。該実時間デバッグ・インタフェース105は、開発システム101の制御の下で、いつ前記「更新データ」および前記「更新アドレス」信号を肯定して実時間デバッグ・インタフェース105によって監視するために前記「デバッグデータ」および「デバッグアドレス」信号を活性化するかあるいはさもなければイネーブルするかを決定する。特定の実施形態では、前記実時間デバッグ・インタフェース105はチェンジオブフロー(COF)事象の間にコア109によって行なわれる命令フェッチのシーケンスを監視するためにプログラムトレースを活性化しまたはイネーブルする。前記「プロセッサステータス」信号は仮想バス113の仮想アドレスバスがCOFアドレスを肯定する間にCOFステータスを表示する。「プロセッサステータス」信号によって示される、COFステータスまたは事象の間に、実時間デバッグ・インタフェース105は「更新アドレス」信号を肯定して「デバッグアドレス」バスを活性化しかつサンプルする。同期メッセージもまたプログラムトレース動作の一部とすることができそこでは前記実時間デバッグ・インタフェース105が「更新アドレス」信号を肯定する。
【0028】
データトレース・メッセージはデータアクセス・アドレスを監視することおよび条件的に関連するデータを提供することを含む。データトレースは1つまたはそれ以上の規定されたアドレス範囲の内の任意の1つ内でのデータの読み取りまたは書き込みにとって有用である。データトレース・メッセージングがイネーブルされた時、前記実時間デバッグ・インタフェース105は読み出しまたは書き込みサイクルの双方に関連するデータフェッチのために「プロセッサステータス」信号を監視する。前記「プロセッサステータス」信号はまた読み出しサイクルあるいは書き込みサイクルが生じているかを指示する。読み出しまたは書き込みメッセージングに対して、実時間デバッグ・インタフェース105は適切なデータサイクルの間に対応するアドレスを捕捉するためにデータフェッチの間に前記「更新アドレス」を肯定する。例えば、読み出しメッセージングに対しては、前記実時間デバッグ・インタフェース105はもしプロセッサステータス・バスが読み出しサイクルを示していれば前記「更新アドレス」信号を肯定する。同様に、実時間デバッグインタフェース105はもしプロセッサステータス・バスが書き込みメッセージングに対する書き込みサイクルを示していれば前記「更新アドレス」信号を肯定する。もちろん、実時間デバッグ・インタフェース105はもし読み出しおよび書き込みメッセージングの双方がイネーブルされれば読み出しおよび書き込み信号の双方に対して前記「更新アドレス」信号を肯定する。また、データトレースがイネーブルされた時、実時間デバッグ・インタフェース105は前記「デバッグアドレス」バスからの読み出されたアドレスを読み出しまたは書き込みメッセージに対する1つまたはそれ以上の規定されたアドレス範囲のいずれかと比較する。もしある読み出しまたは書き込みサイクルに対してアドレス整合が検出されれば、実時間デバッグ・インタフェース105は「更新データ」信号を肯定して仮想バス・ゲーティング論理117が「デバッグデータ」バス上の対応するデータを肯定するようにさせる。
【0029】
図4は、本発明の一実施形態に係わるプログラムトレース仮想アドレス・ゲーティング動作を示すタイミング図である。コア109のマスタクロック信号CLK1およびCLK2が組み込みシステム103のためのタイミング基準として示されている。該タイミング図は仮想バス113の「仮想アドレス」バスを示しており、「アドレス1(ADDRESS1)」、「アドレス2(ADDRESS2)」、「COFアドレス(COF ADDR)」、「アドレス4(ADDRESS4)」、および「アドレス5(ADDRESS5)」と名付けられた5つのアドレスの肯定を示している。前記タイミング図はまた個々に「データ1(DATA1)」、「データ2(DATA2)」、「データ3(DATA3)」、「データ4(DATA4)」、および「データ5(DATA5)」として示された5つの対応するデータ信号を示す、「仮想データ」バスをも示している。前記「処理ステータス」信号もまた示されており、命令フェッチとそれに続くCOF事象、それに続くデータフェッチ、および次に続く他の命令フェッチを示している。前記タイミング図はまた「更新アドレス(UPDATA ADDR)」信号、「デバッグアドレスクロック(DEBUG ADDR CLK)」信号、および「デバッグアドレス(DEBUG ADDR)」バスを示している。
【0030】
図4の例では、プログラムトレースはデータトレースかディスエーブルされている間にイネーブルされる。データトレースがイネーブルされるから、「仮想データ」バス上のデータを監視する必要はない。したがって、実時間デバッグ・インタフェース105は「更新データ」信号がローに否定された状態に保ち、従って「仮想データ」バス上の活動にかかわりなく、「デバッグデータ」バスは静止したかつ不活性の状態に留まっている。これは電力が「デバッグデータ」バスをスイッチングして不必要に消費されることがないという点で電力消費を大幅に低減する直接的な利点を与える。
【0031】
実時間デバッグ・インタフェース105は「仮想アドレス」バス上の全ての活動を監視する必要はない。「仮想アドレス」バス上の肯定された多くのアドレスは前に肯定されたアドレスの増分されたものまたはバージョンである。このようにして、いったん一連の引き続くアドレスが知られると、残りのアドレスが知られあるいは予測できてそれらが「デバッグアドレス」バスに転送される必要がなくなる。これは2進シーケンスが知られている限り、順次的なアドレスが必ずしも増分されない機構を含めて任意のアドレシング機構に対してあてはまる。実時間デバッグ・インタフェース105は、条件または無条件分岐またはループ命令に応答する場合、あるいは任意の直接または間接COF事象の場合のように、順次的な順序に従わないアドレスを識別しかつ読み出すのみでよい。「プロセッサステータス」信号上の肯定されたCOF命令は非順次的な(non−sequential)アドレスを識別する。
【0032】
図4に示されるように、「デバッグアドレス」バスは「仮想アドレス」バス上で順次的なアドレス「アドレス1」および「アドレス2」が肯定されても最後のCOFアドレスとともに静止または静的状態に留まっている。特に、実時間デバッグ・インタフェース105が「プロセッサステータス」信号上のCOF命令を検出した場合、それは事象矢印(event arrow)401で示されるように「更新アドレス」信号を肯定する。「更新アドレス」信号の肯定は図2に示されるラッチ201をイネーブルする。「更新アドレス」信号が肯定されている間におけるCLK1信号の次の立ち上がりエッジに応じて、事象矢印403で示されるように、「デバッグアドレスクロック」信号が405で示されるように肯定される。「デバッグアドレスクロック」信号の肯定はラッチ201をイネーブルし、それによって事象矢印407で示されるように「仮想アドレス」バス信号が「デバッグアドレス」バス信号上へと駆動される。
【0033】
このようにして、前記「デバッグアドレス」バスは実時間デバッグ・インタフェース105によって肯定された前記「肯定アドレス」信号に応答して前記最後のCOFアドレスから新しいCOFアドレスへと切り替えるのみとなる。「プロセッサステータス」信号上のCOF命令は事象矢印409で示されるようにCLK2信号の次の立ち上がりエッジに応じて完了する。実時間デバッグ・インタフェース105は事象矢印411で示されるようにCOF命令の完了に応じて「更新アドレス」信号を肯定解除する(de−asserts)。これに応じて、「デバッグアドレスクロック」信号は事象矢印413で示されるように否定される。「デバッグアドレスクロック」信号はその後否定された状態に留まるから、「デバッグアドレス」バスは新しいCOFアドレスによって不変かつ静止した状態に留まり、それによって電力を低減する。
【0034】
図5は、本発明の一実施形態に係わるプログラムおよびデータトレース仮想アドレスおよびデータのゲーティングを示すタイミング図である。この例では、プログラムトレースおよびデータトレースの双方がイネーブルされる。プログラムトレースがイネーブルされるから、実時間デバッグ・インタフェース105は図4に関して前に説明したようにCOFアドレスの肯定に応じて「仮想アドレス」バスを監視する。データトレースがイネーブルされるから、かつ読み出しおよび書き込みデータトレースの双方がイネーブルされるものと仮定すると、実時間デバッグ・インタフェース105は「仮想データ」バス上で行なわれている重要なまたは有意の(significant)データ事象を監視する。該有意のデータ事象はワークステーション121によって規定されかつ監視のために実時間デバック・インタフェース105に伝達される。例えば、ある特定のアドレスにおいてある特定のレジスタへと書き込まれまたはある特定のレジスタから読み出される何らかのデータ、またはある特定のアドレス範囲内の複数のレジスタまたは何らかの他の形式のメモリ装置またはこれらに対し書き込まれる/読み出されるデータを識別することが望まれるかもしれない。数多くのそのようなアドレスまたはアドレス範囲を規定することができる。
【0035】
実時間デバッグ・インタフェース105はデータトレースがイネーブルされている間にいずれかのまたは任意の「データフェッチ」命令に対する「プロセッサステータス」信号を監視する。「データフェッチ命令」が検出された時、実時間デバッグ・インタフェースは前記「更新アドレス」信号を肯定して「仮想アドレス」バスからの読み出しまたは書き込みアドレスを「デバッグアドレス」バス上へと捕捉する。実時間デバッグ・インタフェース105は次に「デバッグアドレス」バスからの読み出されたアドレスを監視されているいずれかのおよび全ての適用可能なアドレスまたはアドレス範囲と比較する。もし該アドレスが監視されるアドレスまたはアドレス範囲と等しければ、実時間デバッグ・インタフェース105は「更新データ」信号を肯定してもしそのデータ事象が有意のまたは重要なものである場合は「仮想データ」バス上の肯定されたデータの「デバッグデータ」バスへの転送を行なわせる。もし読み出しおよび書き込みの双方が前記特定のアドレス範囲に対して監視されていれば、そのデータ事象は有意のまたは重大なものと考えられることに注意を要する。そうでない場合は、そのデータ事象は実行されているサイクルの形式が監視されているサイクルの形式と同じである場合にのみ有意または重大なものである。
【0036】
実時間デバッグ・インタフェース105はまた前記「プロセッサステータス」信号からデータサイクルが読み出しであるか書き込みであるかを決定する。もし読み出しデータトレースのみがイネーブルされかつ書き込みサイクルが検出されれば、あるいはその逆であれば、実時間デバッグ・インタフェース105は「更新アドレス」信号を肯定することができず、それはそのデータ事象が有意のまたは重大なものであると考えられないからである。読み出しまたは書き込みデータトレースがイネーブルされても、特定のアドレス範囲に対して読み出しサイクルと書き込みサイクルとの間を区別することが必要であるかもしれない。例えば、1つのアドレス範囲から読み出しサイクルを識別しかつ第2の異なるアドレス範囲から書き込みサイクルを識別することが望まれるかもしれない。一実施形態では、実時間デバッグ・インタフェース105内の比較論理が前記サイクル形式を使用して適用可能な監視されるアドレス範囲を決定する。もちろん、もし全ての規定されたアドレス範囲に対して読み出しおよび書き込みがイネーブルされれば、読み出しおよび書き込みサイクルの間を区別する必要はないであろう。
【0037】
図5に示されるように、COF命令が、実時間デバッグ・インタフェース105によって検出される、「プロセッサステータス」信号上に現れている。実時間デバッグ・インタフェース105は事象矢印501で示されるように相応じて「更新アドレス」信号を肯定する。「更新アドレス」信号が肯定されている間に、CLK1信号の肯定によって事象矢印503で示されるように「デバッグアドレスクロック」信号の付随する肯定が引き起こされる。CLK2信号のその後の肯定によって「プロセッサステータス」信号上のCOF命令から「データフェッチ」命令への遷移が引き起こされる。「プロセッサステータス」信号上の「データフェッチ」命令は実時間デバッグ・インタフェース105によって検出され、これは「更新アドレス」信号を事象矢印507で示されるように肯定された状態に維持し、それはこの例ではデータトレースがイネーブルされているからである。「更新アドレス」信号が肯定された状態に留まっているから、「デバッグアドレスクロック」信号の第2の肯定によって「仮想アドレス」バス上に現れるデータ書き込みアドレスが、事象矢印511で示されるように、「デバッグアドレス」バスへとラッチされるようになる。データトレースがイネーブルされるから、「デバッグアドレス」バス上の肯定されたデータ書き込みアドレス(DATA WR ADDR)は実時間デバッグ・インタフェース105によって読み出され、該読み出されたアドレスをその時に活性化されている読み出しまたは書き込みメッセージングに対するいずれかの特定の規定されたアドレス範囲と比較する。図5に示される例では、実時間デバッグ・インタフェース105は前記データ書き込みアドレスを前記アクティブなまたは活性化されたアドレス範囲と比較しかつデバッグアドレスの比較の整合を決定し、そして事象矢印513で示されるように相応じて「更新データ」信号を肯定する。実時間デバッグ・インタフェース105による「更新データ」信号の肯定は「仮想データ」バス上の信号が論理ゲート301,303を介して「デバッグデータ」バスへと転送されるようにし、結果として事象矢印515で示されるように「デバッグデータ」バス上で書き込みデータの肯定を引き起こすことになる。
【0038】
前記論理ゲート205,301、ラッチ201およびバッファ203,303は仮想バス113上の低減された負荷という利点を与えるアイソレーションを提供する。「デバッグアドレス」および「デバッグデータ」バスの切り替えを低減するために「更新アドレス」および「更新データ」信号を使用することはさらに仮想バス113の低減された負荷の利点を提供しかつまた組み込みプロセッサ107かつ従って組み込みシステム103に対する実質的なまたはかなりの電力節約を可能にする。本発明に係わるシステムおよび方法が好ましい実施形態に関連して説明されたが、ここで説明された特定の形式に限定することを意図したものではなく、逆に添付の特許請求の範囲によって規定される本発明の精神および範囲内に合理的に含むことができるそのような置き換え、変更および等価物をカバーすることを意図している。
【図面の簡単な説明】
【図1】本発明に係わる実時間プロセッサ・デバッグシステムを説明するデバッグシステムの概略的ブロック図である。
【図2】本発明の一実施形態に従って構成された仮想アドレスバス・ゲーティング論理を示すブロック回路図である。
【図3】本発明の一実施形態に従って構成された仮想データバス・ゲーティング論理のブロック回路図である。
【図4】本発明の一実施形態に係わる実時間デバッグ・インタフェース・システムのプログラムトレース仮想アドレス・ゲーティング動作を示すタイミング図である。
【図5】本発明の一実施形態に係わる実時間デバッグ・インタフェース・システムのプログラムおよびデータトレース仮想アドレスおよびデータ・ゲーティング動作を示すタイミング図である。
【符号の説明】
100 デバッグシステム
101 外部開発システム
102 補助バス
103 組み込みシステム
105 実時間デバッグ・インタフェース
107 組み込みプロセッサ
109 コア
111 キャッシュ/MMU
113 仮想バス
115 物理バス
117 ゲーティング論理

Claims (4)

  1. 集積回路であって、
    通常動作の間に動作信号およびコアプロセッサステータス出力信号を生成するコアプロセッサと
    デバッグ更新信号および前記コアプロセッサからの前記動作信号を受信し、前記デバッグ更新信号に従って前記動作信号を選択的にアサートおよびデアサートする論理回路
    前記デバッグ更新信号を前記論理回路に供給し、前記コアプロセッサからのコアプロセッサステータス出力信号および前記論理回路からの前記動作信号を受信する、集積回路の外部にアクセス可能な実時間デバッグ回路であって、前記コアプロセッサステータス出力信号がフローの変更を示す場合に前記動作信号をアサートさせるための前記デバッグ更新信号を生成し、前記コアプロセッサステータス出力信号がフローの変更完了を示す場合に前記動作信号をデアサートさせるための前記デバッグ更新信号を生成する、前記実時間デバッグ回路とを備え、
    デバッグモードを有し、前記実時間デバッグ回路は前記デバッグモードの部分集合として選択可能なモードを有する、集積回路
  2. 実時間デバッグシステムであって、
    仮想アドレス信号、仮想データ信号およびコアプロセッサステータス出力信号を生成するコアプロセッサと、
    更新アドレス信号および前記コアプロセッサからの前記仮想アドレス信号を受信し、前記更新アドレス信号に従って前記前記仮想アドレス信号を選択的にアサートおよびデアサートする第1の論理回路と、
    更新データ信号および前記コアプロセッサからの前記仮想データ信号を受信し、前記更新データ信号に従って前記仮想データ信号を選択的にアサートおよびデアサートする第2の論理回路と、
    前記更新アドレス信号を前記第1の論理回路に供給し、前記更新データ信号を前記第2の論理回路に供給し、前記コアプロセッサからのコアプロセッサステータス出力信号、前記第1の論理回路からの前記仮想アドレス信号、および前記第2の論理回路からの前記仮想データ信号を受信する、集積回路の外部にアクセス可能な実時間デバッグ回路であって、前記コアプロセッサステータス出力信号がフローの変更を示す場合に前記仮想アドレス信号をアサートさせるための前記更新アドレス信号を生成し、前記コアプロセッサステータス出力信号がデータアクセスを示場合に前記仮想データ信号をアサートさせるための前記更新データ信号を生成し、前記コアプロセッサステータス出力信号がデータアクセス完了を示す場合に前記仮想アドレス信号および前記仮想データ信号をデアサートさせるための前記更新アドレス信号および前記更新データ信号を生成する、前記実時間デバッグ回路とを備える、実時間デバッグシステム。
  3. 前記実時間デバッグ回路は、前記仮想アドレス信号が予め設定されたアドレス範囲内であるかどうかを判定し、前記仮想アドレス信号が予め設定されたアドレス範囲内であると判定された場合に前記仮想データ信号をアサートさせるための前記更新データ信号を生成する、請求項2に記載の実時間デバッグシステム。
  4. 集積回路における実時間デバッグシステムであって、前記集積回路はデバッグ回路および前記集積回路の内部的な使用のための動作信号を生成するコアプロセッサを有する、前記実時間デバッグシステムにおける方法は、
    前記集積回路の通常動作の間にデバッグモードに入る段階、
    前記デバッグモードの部分集合である選択可能なモードに入る段階、
    前記コアプロセッサによってフローの変更を示す第1のコアプロセッサステータス出力信号を生成する段階、
    前記デバッグ回路によって前記第1のコアプロセッサステータス出力信号に従って前記動作信号をアサートさせるための第1のデバッグ更新信号を生成する段階、
    前記コアプロセッサによって前記第1のデバッグ更新信号に従って前記動作信号をアサートする段階、
    前記コアプロセッサによってフローの変更完了を示す第2のコアプロセッサステータス出力信号を生成する段階、
    前記デバッグ回路によって前記第2のコアプロセッサステータス出力信号に従って前記動作信号をデアサートさせるための第2のデバッグ更新信号を生成する段階、
    前記コアプロセッサによって前記第2のデバッグ更新信号に従って前記動作信号をデアサートする段階を備える、方法。
JP2001029003A 2000-02-07 2001-02-06 実時間プロセッサ用デバッグシステム Expired - Fee Related JP4916617B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/498812 2000-02-07
US09/498,812 US6769076B1 (en) 2000-02-07 2000-02-07 Real-time processor debug system

Publications (3)

Publication Number Publication Date
JP2001222446A JP2001222446A (ja) 2001-08-17
JP2001222446A5 JP2001222446A5 (ja) 2008-03-27
JP4916617B2 true JP4916617B2 (ja) 2012-04-18

Family

ID=23982605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001029003A Expired - Fee Related JP4916617B2 (ja) 2000-02-07 2001-02-06 実時間プロセッサ用デバッグシステム

Country Status (5)

Country Link
US (1) US6769076B1 (ja)
JP (1) JP4916617B2 (ja)
KR (1) KR100856336B1 (ja)
CN (1) CN1222879C (ja)
TW (1) TW484054B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163127A (ja) * 2000-11-27 2002-06-07 Mitsubishi Electric Corp トレース制御回路
JP2003177938A (ja) * 2001-12-07 2003-06-27 Fujitsu Ltd 電子装置及びそのデバッグ認証方法
EP1283422A1 (en) * 2001-08-07 2003-02-12 Lucent Technologies Inc. Testbench for the validation of a device under test
DE10139660B4 (de) * 2001-08-11 2007-07-05 Infineon Technologies Ag Programmgesteuerte Einheit mit Debug-Ressourcen
US6547125B2 (en) * 2001-09-10 2003-04-15 John D. Correll Material-saving food carton
EP1349071A1 (en) * 2002-03-29 2003-10-01 STMicroelectronics N.V. Integrated circuit with direct debugging architecture
KR100423891B1 (ko) * 2002-06-21 2004-03-22 삼성전자주식회사 트레이스 모듈을 구비한 마이크로프로세서
JP2006507586A (ja) * 2002-11-22 2006-03-02 コンティネンタル・テーベス・アクチエンゲゼルシヤフト・ウント・コンパニー・オッフェネ・ハンデルスゲゼルシヤフト 埋め込みシステムの解析装置及び方法
US7403301B2 (en) 2003-05-02 2008-07-22 Hewlett-Packard Development Company, L.P. System and method for collecting and analyzing information regarding user devices
US7500152B2 (en) * 2003-12-05 2009-03-03 Freescale Semiconductor, Inc. Apparatus and method for time ordering events in a system having multiple time domains
US7249288B2 (en) * 2004-09-14 2007-07-24 Freescale Semiconductor, Inc. Method and apparatus for non-intrusive tracing
US8621458B2 (en) * 2004-12-21 2013-12-31 Microsoft Corporation Systems and methods for exposing processor topology for virtual machines
US7627784B1 (en) * 2005-04-06 2009-12-01 Altera Corporation Modular processor debug core connection for programmable chip systems
US7865704B2 (en) 2006-03-29 2011-01-04 Freescale Semiconductor, Inc. Selective instruction breakpoint generation based on a count of instruction source events
JP4795147B2 (ja) * 2006-07-11 2011-10-19 富士通株式会社 伝送装置
US7707459B2 (en) * 2007-03-08 2010-04-27 Whirlpool Corporation Embedded systems debugging
US20090222797A1 (en) * 2008-02-29 2009-09-03 Infineon Technologies Ag Apparatus and method for providing a trigger
US8438547B2 (en) * 2009-05-05 2013-05-07 Freescale Semiconductor, Inc. Address translation trace message generation for debug
US8589738B2 (en) * 2009-05-05 2013-11-19 Freescale Semiconductor, Inc. Program trace message generation for page crossing events for debug
US9058421B2 (en) * 2009-06-16 2015-06-16 Freescale Semiconductor, Inc. Trace correlation for profiling subroutines
EP2273329A1 (en) * 2009-06-24 2011-01-12 Delphi Technologies Holding S.à.r.l. Microcontroller protection method and apparatus comprising an on-circuit debugging module
CN101894010B (zh) * 2009-08-24 2013-04-17 威盛电子股份有限公司 微处理器及适用于微处理器的操作方法
KR101636517B1 (ko) * 2009-11-13 2016-07-06 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 디버그 정보 처리 방법
GB2493405B (en) * 2011-08-03 2017-04-05 Advanced Risc Mach Ltd Debug barrier transactions
CN102360329B (zh) * 2011-09-29 2014-11-05 西北工业大学 总线监控与调试控制装置及进行总线监控与总线调试的方法
CN105068898B (zh) * 2015-06-24 2018-12-18 福州瑞芯微电子股份有限公司 USB type-C高速debug方法及装置
CN104991845B (zh) * 2015-06-24 2018-10-23 福州瑞芯微电子股份有限公司 soc多核芯片高速debug方法及装置
CN106254098B (zh) * 2016-07-22 2020-02-21 纳瓦电子(上海)有限公司 一种调试数据采集方法、系统以及嵌入式无线系统
US10310012B2 (en) * 2016-12-21 2019-06-04 Samsung Electronics Co., Ltd. Lightweight, low overhead debug bus
CN112541166B (zh) * 2019-09-20 2024-09-06 杭州中天微系统有限公司 一种方法、系统和计算机可读存储介质
CN114019230B (zh) * 2021-11-03 2024-09-27 武汉盛帆电子股份有限公司 一种智能电能表设计方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5053949A (en) * 1989-04-03 1991-10-01 Motorola, Inc. No-chip debug peripheral which uses externally provided instructions to control a core processing unit
JP2621477B2 (ja) * 1989-04-28 1997-06-18 日本電気株式会社 インサーキット・エミュレータ
JP2772604B2 (ja) * 1992-10-27 1998-07-02 シャープ株式会社 データ処理システム
JP2646957B2 (ja) * 1992-05-13 1997-08-27 日本電気株式会社 キャッシュ内蔵マイクロプロセッサ及びそのトレースシステム
US5491793A (en) * 1992-07-31 1996-02-13 Fujitsu Limited Debug support in a processor chip
JPH07281924A (ja) * 1994-04-05 1995-10-27 Hitachi Ltd トレース装置及びこれを備えたエミュレータ
KR100255026B1 (ko) * 1994-12-28 2000-05-01 디. 크레이그 노룬드 마이크로프로세서 및 디버그 시스템
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
JPH1040130A (ja) * 1996-07-23 1998-02-13 Sony Corp マイクロコンピュータ
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin
JPH11272560A (ja) 1998-03-19 1999-10-08 Sony Corp 集積回路

Also Published As

Publication number Publication date
TW484054B (en) 2002-04-21
CN1308279A (zh) 2001-08-15
KR20010078358A (ko) 2001-08-20
JP2001222446A (ja) 2001-08-17
CN1222879C (zh) 2005-10-12
KR100856336B1 (ko) 2008-09-04
US6769076B1 (en) 2004-07-27

Similar Documents

Publication Publication Date Title
JP4916617B2 (ja) 実時間プロセッサ用デバッグシステム
US6065106A (en) Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
US6055649A (en) Processor test port with scan chains and data streaming
US7197671B2 (en) Generation of trace elements within a data processing apparatus
JP2505950B2 (ja) ハ―ドウェア支援ブレ―クポイント・システム
US5970241A (en) Maintaining synchronism between a processor pipeline and subsystem pipelines during debugging of a data processing system
US6016555A (en) Non-intrusive software breakpoints in a processor instruction execution pipeline
US6223228B1 (en) Apparatus for synchronizing multiple processors in a data processing system
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
JP5239862B2 (ja) デバッガ及びデバッグ方法
US6081885A (en) Method and apparatus for halting a processor and providing state visibility on a pipeline phase basis
US8826079B2 (en) Data processing apparatus and method for identifying debug events
US20060117224A1 (en) Trace and debug method and system for a processor
US20030196146A1 (en) Systems and methods for testing processors
Gary et al. PowerPC 603, a microprocessor for portable computers
US20030084355A1 (en) Microprocessor power management control method
GB2413418A (en) Selective generation of trace elements
US5862148A (en) Microcontroller with improved debug capability for internal memory
US8762779B2 (en) Multi-core processor with external instruction execution rate heartbeat
US20210133065A1 (en) Processor with debug pipeline
US7100033B2 (en) Controlling the timing of test modes in a multiple processor system
JP4689087B2 (ja) 情報処理装置及び省電力移行制御方法
US7269756B2 (en) Customizable event creation logic for hardware monitoring
US6249880B1 (en) Method and apparatus for exhaustively testing interactions among multiple processors
EP1237066B1 (en) Microprocessor with hardware controlled power management and selectable input/output control pins and method therfor

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080206

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120125

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees