JP2006516780A - デバッグの間データ処理システムを制御するための方法および装置 - Google Patents

デバッグの間データ処理システムを制御するための方法および装置 Download PDF

Info

Publication number
JP2006516780A
JP2006516780A JP2006502871A JP2006502871A JP2006516780A JP 2006516780 A JP2006516780 A JP 2006516780A JP 2006502871 A JP2006502871 A JP 2006502871A JP 2006502871 A JP2006502871 A JP 2006502871A JP 2006516780 A JP2006516780 A JP 2006516780A
Authority
JP
Japan
Prior art keywords
subsystem
activation
subsystems
data processing
processing system
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.)
Pending
Application number
JP2006502871A
Other languages
English (en)
Other versions
JP2006516780A5 (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 JP2006516780A publication Critical patent/JP2006516780A/ja
Publication of JP2006516780A5 publication Critical patent/JP2006516780A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/3636Software debugging by tracing the execution of the program

Landscapes

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

Abstract

データ処理システム(10)はデバッグユニット(14)を含み、このデバッグユニット(14)は、デバッグ動作のために必要に応じて複数のサブシステムのうちの全部または選択された一部の起動を制御することによって、データ処理システムの正常動作に対して過度でないデバッグ機能を提供することができる。例えば、デバッグ動作のために必要に応じて選択サブシステムを起動することによって電力を節約することができる。また、一実施態様においては、デバッグユニットは、非起動状態から全起動状態までの範囲で、起動レベルを選択サブシステムに与え、これにより、データ処理システムの更なる制御が行われる。一実施態様においては、デバッグ制御状態レジスタ(40)が、デバッグユニットと複数のサブシステムの間の電力管理ハンドシェイキングのために設けられる。選択サブシステムがデバッグユニットに状態情報を提供することができるので、このハンドシェイキングを用いて確実にデバッグ動作が適切に進むようにすることができる。

Description

本発明は一般にデータ処理システムとデバッグに関し、より具体的には、デバッグの間のデータ処理システムの制御に関する。
デバッグシステムは、システム構成部品のアクセスおよび認知を行うために、チップ上システム(システム・オン・チップ:SoC)などの多くのデータ処理システムにおいて用いられている。従って、このデバッグシステムを用いてデータ処理システム内の欠陥を検出し、補正することができる。
しかしながら、現在入手可能な多くのデバッグシステムは、それがデータ処理システムのシステム状態に劇的に影響を及ぼすという点において過度であり、このことが、システムを正確にデバッグするための機能を低下させている。また、いくつかのデバッグシステムは、デバッグ動作を行うためにデータ処理システムのフルパワー起動を必要とする。しかしながら、このフルパワー起動の間、データ処理システムの一部分は、不必要に起動される可能性があるため、電力消費量を必要以上に増加させる。従って、あまり過度でなく、電力を意識したデバッグシステムに対する必要性が存在する。
本発明は、添付図面によって例示的に示されており、添付図面によって制限されるものではない。添付図面において、同様な参照符号は同様な要素を示している。
図面内の要素は簡略化と明確化のために示されたものであって、必ずしも一定の縮尺で描かれていないことは当業者にとって明らかである。例えば、図面内の要素のいくつかの寸法は、本発明の実施態様の理解を良くするために、他の要素に比べて誇張することができる。
本書において使用されているように、用語「バス」は、一つまたはそれ以上のいろいろな種類の情報、例えば、データ、アドレス、制御、または状態を転送するために使用することができる複数の信号線または導体を呼ぶために使用されている。本書において述べられたような導体(または信号線)は、単一の導体、複数の導体、単方向性導体、または双方向性導体であるものとして説明することができる。しかしながら、種々の実施態様は導体の態様を変更することができる。例えば、双方向性導体よりもむしろ別々の単方向性導体を使用することができ、その逆も可能である。また、複数の導体を、多数の信号をシリアルにまたは時分割多重化方法によって転送する単一の導体で置き換えることができる。同様に、多数の信号を伝送する単一の導体を、これらの信号の一部を伝送する種々の異なる導体に分けることができる。従って、信号を転送するための多くの選択肢が存在する。
用語「アサート」または「設定」と、「ネゲート」(または「デアサート」もしくは「クリア」)は、信号、状態ビット、または同様な機構を、それぞれ、その論理的真状態または論理的偽状態にする場合に使用される。もし論理的真状態が論理レベル1ならば、論理的偽状態は論理レベル0である。もし論理的真状態が論理レベル0ならば、論理的偽状態は論理レベル1である。
図1は、本発明の一実施態様によるデータ処理システム10を示す。データ処理システム10は、プロセッサ12、デバッグユニット14、電力管理クロック制御回路18、およびサブシステム24〜27を備えている。プロセッサ12、デバッグユニット14、電力管理クロック制御回路18、およびサブシステム24,25は、バス20を介して互い
に双方向に接続されている。また、デバッグユニット14は、プロセッサ12、サブシステム24〜27、および電力管理クロック制御回路18との間で、デバッグ制御/状態信号22を送受信する。電力管理クロック制御回路18はサブシステム24〜27のそれぞれに、それぞれ双方向導体30,31,32,33を介して電力管理クロック/制御信号28を供給する。プロセッサ12はまた、導体36を介して電力管理クロック制御回路18と双方向に接続されている。
デバッグユニット14はデータ処理システム10をデバッグするための機能を備えている。デバッグユニット14は、デバッグ動作のために必要に応じてサブシステム24〜27の全部または一部の起動レベルを制御することによって、データ処理システム10の正常動作に対する過度でないデバッグ機能を備えることができる。従来のシステムとは異なり、本発明の実施態様は、データ処理システム10の動作モードのいかなる変更も必要とすることなく、デバッグ中にサブシステム24〜27の起動レベルを制御することができる。これは、デバッグの間、より正確なデバッグを行うためには、データ処理システム10に対する変更を最小にすることが所望されるため、望ましいことである。データ処理システムの動作モードの変更は、より不正確なデバッグ情報を生じる可能性がある。これは、データ処理システム10は、その実際の適用においては、デバッグモードで動作しないためである。従って、より正確なデバッグ情報を得るために、データ処理システムは、デバッグの間、実際の応用において使用される動作モードとできるだけ同じモードで動作すべきである。
一実施態様においては、データ処理システム10は、例えば、(無線応用におけるような)ハンドヘルド装置において使用可能な低電力SoCである。あるいは、データ処理システム10は、図1に示されたような、多数のサブシステムを有する任意の種類のデータ処理システムであることができる。データ処理システム10はサブシステム24〜27を含む。サブシステム24,25は、バス20に接続可能であって、デバッグユニット14との間でデバッグ制御状態信号を送受信することができる、複数のサブシステムのうちの二つのサブシステムである。サブシステム26,27は、バス20に接続可能ではないが、それでもなおデバッグユニットとの間でデバッグ制御状態信号を送受信することができる、複数のサブシステムのうちの二つのサブシステムである。4つのサブシステムのみが示されているが、データ処理システム10は、任意の数(1またはゼロを含む)のサブシステム24,25のようなサブシステムと、任意の数(1またはゼロを含む)のサブシステム26,27のようなサブシステムとを含むことができる。
一般に、サブシステム24〜27のそれぞれはデータ処理システム10の一部分である。これらのサブシステム24〜27のそれぞれは、異なるクロックドメインとパワードメインとを有することができ、これらの範囲内において、クロックおよび電力供給の少なくともいずれか(および他の属性またはそのいずれか)を、例えば、全システム電力消費量を低減するために、別々に制御することができる。これらのサブシステムのいくつかはまた、クロックドメインまたはパワードメインを共有できることに注目すべきである。これらのサブシステムのそれぞれは、従って、データ処理システム10のさまざまな部分、例えば、他の制御装置、周辺装置、入出力(I/O)装置、I/Oインターフェース、ディジタル信号プロセッサ(DSP)などの他のプロセッサ、等を含むことができる。従って、データ処理システム10は、種々の異なるタイプの主要装置および従属装置を含むと共に、さまざまなサブシステムにグループ化され得、それらのサブシステムまたはこれらのサブシステムの一部分は重複することができる。また、プロセッサ12、デバッグユニット14、および電力管理クロック制御回路18のそれぞれは、サブシステムとみなされ得るか、またはサブシステムの一部分として含まれ得る。また、ほかの実施態様においては、データ処理システム10を異なるように構成することができる。例えば、デバッグユニット14はプロセッサ12または電力管理クロック制御回路18内に位置してもよい。電
力管理クロック制御回路18は、プロセッサ12内に位置してもよいし、あるいはプロセッサ12もしくはサブシステム24〜27のいくつかまたはすべての間に分散していてもよい。また、デバッグユニット14の一部または全部がデータ処理システムの外部に(例えば、チップの外に)位置してもよい。従って、明らかなように、種々の異なる方法で、データ処理システム10を、設計し、さまざまなサブシステムに分割することができる。
データ処理システムの正規の動作(デバッグ以外の動作)は、この技術において一般に知られているように機能することができ、従って、図1〜3の説明をより良く理解するのに必要な程度までしか説明されないであろうことに留意されたい。また、図1に示されたブロックを種々の異なる方法で配置することができ、いくつかの部分はデータ処理システム10の外部に位置していてもよいことにも留意されたい。また、例えばデバッグ14および電力管理クロック制御回路18などの、図1に示されたブロックのそれぞれを、ソフトウェア、ハードウェア、ファームウェア、またはその何らかの組み合わせで実現することができる。
上記のように、サブシステム24〜27は種々の異なる方法で制御することができる。例えば、サブシステム24〜27のそれぞれは、それらのクロックをゲートオフするか、またはディスエーブルにすることによって、電源電圧を下げるか取り除くことによって、またはそれらのクロックの周波数を変更することによって、別々に電力供給を停止され得る。即ち、種々の異なるサブシステム属性(例えば、クロック属性、電力属性、または電力使用量)を種々の方法で別々に制御することができる。従って、電力管理クロック制御回路18を使って、制御信号をサブシステムのそれぞれに供給して、これらの機能または属性のいずれかを制御するか、または実際のクロック信号をこれらのサブシステムのいずれかに供給することができる。従って、電力管理クロック/制御信号28は、サブシステム24〜27の(以下に述べるような)電力管理と起動制御のために必要とされる、制御信号、クロック、または何らかの別の種類の情報を含むことができる。
サブシステムの起動レベルは種々の異なる方法で制御することができる。一実施態様においては、各サブシステムは、二つの可能な起動レベル、即ち、起動状態と非起動状態(または非活動状態)のみを有することができる。この実施態様においては、サブシステムを起動することは、そのクロックをイネーブルにすること、クロック周波数を増大させること、または、サブシステムに電源電圧を供給することを示し得る。サブシステムを非起動状態にすることは、クロックをゲートオフするかディスエーブルすること、電源電圧を完全に取り除くこと、または、クロック周波数を減らすことを示し得る。あるいは、各サブシステムはより多くの起動レベルを有することができる。例えば、サブシステムの起動レベルの制御は、特定の電源電圧を供給すること、特定のクロック周波数を供給すること、あるいは、サブシステムを、全電力モード、減電力モード、低電力モード、または、任意の他の動作モードにすることを含むことができる。従って、デバッグユニット14の種々の異なる実施態様は、さまざまな起動制御を行うことができる。
一実施態様においては、デバッグユニット14はデバッグレジスタ16を含む。このデバッグレジスタ16は、図2に示すように、デバッグ制御レジスタ40とデバッグ状態レジスタ46とを含む。これらのレジスタは、デバッグユニット14とサブシステム24〜27との間の電力管理ハンドシェイキングを行う。デバッグ制御レジスタ40は、デバッグ動作のための選択されたサブシステム(以下、「選択サブシステム」とする)の起動を制御するために使用される。デバッグ状態レジスタ46は、サブシステム24〜27の状態を示すために使用される。デバッグユニット14は更に、該デバックユニットが選択サブシステムに関わるデバッグ動作をいつまで続ける得るのかを確かめるために、状態情報を使用することができる。また、別の実施態様においては、デバッグレジスタ16は、必要に応じて任意の数のレジスタを含むことができ、データ処理システム10内のどこにで
も含まれることができることに注目すべきである。
図2に示すように、デバッグ制御レジスタ40は、それぞれ各サブシステム24〜27に対応するフィールド42〜45を含んでいる。従って、サブシステム24活性フィールド42はサブシステム24に対応し、サブシステム25活性フィールド43はサブシステム25に対応し、サブシステム26活性フィールド44はサブシステム26に対応し、サブシステム27活性フィールド45はサブシステム27に対応している。各起動フィールド42〜45は単一ビット値であることができ、ビットの一方の状態は、対応するサブシステムが起動されるべきであることを示し、ビットの他方の状態は、対応するサブシステムが、すでに起動されていなければ、起動されるべきでないことを示す(あるいは、対応するサブシステムが非起動状態にされるべきあることを示す)。あるいは、各起動フィールドは、対応するサブシステムに起動レベルを与えるnビット値であることができる。例えば、各サブシステムに、例えば非起動状態から部分起動状態や全起動状態までの範囲で最大4つの異なる起動レベルを与える2ビット値を使用することができる。あるいは、1ビット値を使って起動レベルの所定の増減を示すことができる。また、各起動フィールドが、サブシステムの異なる属性に対応することができることに留意されたい。例えば、サブシステム24起動フィールド42を使用して、一つの種類のクロック属性を制御することができ、サブシステム25起動フィールド43を使用して、異なる種類のクロック属性、電力属性、または任意の種類のサブシステム属性を制御することができる。また、別の実施態様においては、複数のサブシステムが一つのデバッグ起動フィールドを共用することができる。
更に図2を参照すると、デバッグ状態レジスタ46は、各サブシステム24〜27にそれぞれ対応するフィールド47〜50を含んでいる。従って、サブシステム24状態フィールド47はサブシステム24に対応し、サブシステム25状態フィールド48はサブシステム25に対応し、サブシステム26状態フィールド49はサブシステム26に対応し、サブシステム27状態フィールド50はサブシステム27に対応している。各状態フィールド47〜50は単一ビット値であることができ、ビットの一状態は、対応するサブシステムが活性状態にあることを示し、ビットの他の状態は、対応するサブシステムが非活性状態にあることを示す。あるいは、各状態フィールドは、対応するサブシステムの現在の起動レベルを示すnビット値であることができる。また、別の実施態様においては、さまざまなサブシステムが一つのデバッグ状態フィールドを共有することができる。あるいは、いくつかのサブシステムは、それらが状態情報をデバッグユニット14に伝達する必要がなくてよいために、デバッグ状態フィールドを全く必要としなくてもよい。
図3は、デバッグ動作中にデータ処理システム10を制御する方法を示すフロー60を含んでいる。フロー60は開始62で始まり、ブロック64へ進み、デバッグ動作が開始される。フローはそれからブロック66へ進み、デバッグユニット14が、どのサブシステムがデバッグ動作中に使用されるべきかを決定する。一実施態様においては、デバッグユニット14はこの情報を決定するためにルックアップテーブルを使用し、このルックアップテーブルは、デバッグ動作と、各デバッグ動作に必要な対応するサブシステムのリストを含んでいる。また、特定のデバッグ動作を実行するために、どのサブシステムを使用すべきかを決定するステップは、各サブシステムに対してどの起動レベルを必要とするかを決定するステップを含むこともできることに留意されたい。例えば、別の実施態様においては、ルックアップテーブルの中の各デバッグ動作に対して、対応するデバッグ情報のために各必要サブシステムに対する起動レベルを格納することができる。これらの起動レベル値は、従って、デバッグ制御レジスタ40に格納されるべき値に相当することができる。従って、このようにして、さまざまなサブシステムが、実行される特定のデバッグ動作によって決まるさまざまな起動レベル(その中でさまざまな属性を制御することができる)を有することができる。あるいは、ルックアップテーブル以外のシステムか、ルック
アップテーブルに付加された他のシステムを使用して、どのサブシステムが使用されるべきかを決定することができる。例えば、インテリジェントソフトウェアによる決定または状態マシーンに基づく方法を用いることができる。
デバッグユニット14は、ルックアップテーブル(または、適切な起動レベルを選択サブシステムに供給する他のシステム)からの情報を用いて、適切な値をデバッグ制御レジスタ40に書き込む。即ち、各選択サブシステムに対して、適切な起動レベルに対応する適切な値が、対応する起動フィールドに格納される。例えば、各デバッグ動作に対して必要サブシステムを提供するルックアップテーブルを前記決定方法が使用する上記実施態様においては、必要サブシステムを起動するために必要サブシステムに対応した(デバッグ制御レジスタ40内の)各起動フィールドに同じ所定値を書き込むことができる。あるいは、前記リストがまた各必要サブシステムに対して起動レベル値を提供するならば、これらの値はデバッグ制御レジスタ40に書き込むことができる。(一実施態様においては、非選択サブシステムに対応するすべての残りの起動フィールドは現在のデバッグ動作に対して影響を受けないままであることに留意されたい。あるいは、その起動フィールドをクリアするか、またはその起動フィールドに所定値に書き込むことができる)。
フローはそれからブロック68へ進み、選択サブシステムの起動を制御する。一実施態様においては、デバッグ制御レジスタ40内の値が電力管理クロック制御回路18に供給されるので、適切な制御信号またはクロック信号を適切なサブシステムに供給して、デバッグ制御レジスタ40に従って望ましい起動レベルを達成することができる。あるいは、デバッグユニット14は、電力管理クロック制御回路18に値を送ることに加えて、または、その代わりに、デバッグ制御レジスタ40の起動フィールド内に格納されている値を各対応するサブシステムに直接供給することができる。
一実施態様においては、デバッグユニット14を使用して、デバッグ動作中に使用されるべきサブシステムだけを起動することができることに留意されたい。あるいは、デバッグユニット14は、より多くのサブシステムを起動することができるか、あるいはまた、すべてのサブシステムを非起動状態にするか、すべてのサブシステムの起動レベルを変更することができる。いくつかの場合においては、デバッグ動作のために選択サブシステムに供給される起動レベルは、選択サブシステムの現在の起動レベルと同じであることができ、このことは起動レベルの変更が必要とされないことを意味することに留意されたい。これに代わって、デバッグ動作のために選択サブシステムに供給される起動レベルが現在の起動レベルよりも低い場合、いくつかの実施態様はこの状態における起動レベルを変更しないことを選択し得る。
上記のように、デバッグユニット14は種々の異なる方法で実現することができ、一例においては、一部分はデータ処理システム10の外側および内側の双方に置かれる。一例においては、ブロック66の決定を、データ処理システム10の外部に位置するハードウェアまたはソフトウェア(例えば、オフチップのハードウェアまたはソフトウェア)で行い、その後その結果をデータ処理システム10内のハードウェア(例えば、デバッグ制御レジスタ40)に書き込むことができる。この方法においては、任意のルックアップテーブルまたはソフトウェア決定方法は、データ処理システム10の外部に格納され得る。
フローはそれからブロック70に進み、選択サブシステムからの状態情報が受け取られる。デバッグユニット14から(と電力管理クロック制御回路からまたはそのいずれかから)の起動制御情報を受け取った選択サブシステムのそれぞれは、起動状態情報を与えるデバッグ状態信号を(デバッグ制御/状態信号22により)デバッグユニット14に供給する。これに代わって、各選択サブシステムは、デバッグ状態信号を、デバッグユニット14に直接供給する代わりに、あるいは、直接供給することに加えて、電源管理クロック
制御回路18に供給することができる。必要により、電源管理クロック制御回路18はそれからデバッグ状態情報をデバッグユニット14に提供することができる。デバッグ状態信号は、デバッグ状態レジスタ46の対応する状態フィールドに格納されるか、さもなければ、そのフィールド内の値として反映される状態値を与える。このようにして、デバッグユニット14は選択サブシステムの起動レベルを認識することができる。一実施態様においては、デバッグユニット14はデバッグ状態レジスタ46をポーリングして、選択サブシステムの起動レベルを決定することができる。これに代わって、デバッグユニット14は、伝達の遅延を許容するために、デバッグ状態レジスタ46を読み取る前に所定時間だけ待機してもよい。
状態情報を受け取ると、フローはブロック72へ進む。ブロック72では、適切な起動レベルに設定された適切なサブシステムと共にデバッグ動作が実行される。一実施態様においては、状態情報は、対応するサブシステムが、現在、正しい起動レベルで動作していることを示すことに留意されたい。しかしながら、別の実施態様においては、状態情報は、対応するサブシステムが正しい起動レベルに入る過程にあることを示すことができる。この実施態様においては、確実にサブシステムが適切な起動レベルにあるようにするために、デバッグユニット14はデバッグ動作を実行する前に所定時間待機し得る。また、デバッグユニット14はデバッグ状態レジスタ46内の情報を用いて、選択サブシステムのいずれかが正しい起動レベルに入るのに失敗したかを判定することができる。また、データ処理システム10の内部または外部に位置するソフトウェアは、状態情報をデバッグ状態レジスタ46から読み取り、その結果を予想結果と比較して、起動制御の適切な動作を決定するのを助けることができる。
デバッグ動作が終了した後、フローはブロック74へ進む。ブロック74では、デバッグユニット14が選択サブシステムの起動制御を解除する。一実施態様においては、起動制御の解除と同時に、選択サブシステムは、デバッグ動作前の該選択サブシステムの起動レベルに戻る。例えば、特定の選択サブシステムがデバッグ動作の前に低電力モードにあったが、(例えば、電源が供給されるか、そのクロックがイネーブルにされることによって)デバッグ動作のために起動されなければならなかった場合、その特定の選択サブシステムは、デバッグユニット14による起動制御の解除と同時に、自動的に低電力モードに戻る。一実施態様においては、デバッグユニット14は、デバッグ制御レジスタ40内の対応フィールドをクリアにすることによって起動制御を解除する。別の実施態様においては、デバッグユニット14は、デバッグ制御レジスタ40内の対応フィールドに所定値を格納させることによって起動を解除する。あるいは、起動制御の解除と同時に、選択サブシステムはデフォルトモードまたはデフォルト起動レベルに戻ることができる。フローはそれからブロック76において終了する。
別の実施態様においてはブロック70,74は任意で行われることに留意されたい。例えば、一実施態様においては、ブロック70は存在せず、デバッグユニット14は選択サブシステムから状態情報に関してフィードバックを受け取らない。この実施態様においては、ブロック68において起動を制御した後、デバッグユニット14は、ブロック72においてデバッグ動作を実行する前に、所定時間待機することができる。同様に、ブロック74は、デバッグ回路14が起動制御を積極的に解除する必要がないという点において、オプションである。例えば、デバッグ動作を終えると同時に他の方法を用いて起動制御を解除または扱うことができる。
制御情報および状態情報をハンドシェイキングするステップを含むフロー60における閉ループ動作が、いかに、デバッグ動作が適切に進行し得ることを保証するかは明らかである。これは、必要サブシステムはデバッグコマンド発行前にアクティブであると知られているためである。また、データ処理システム全体に電力を供給する必要のない低電力モ
ードの間のデバッグ動作に対して必要に応じてサブシステムの一部だけを起動することによって、電力を節約することができる。また、上記のように、フロー60はデータ処理システム10の動作モードの変更を必要としない。即ち、サブシステム起動制御の使用を通じて、本書に述べられた実施態様は、データ処理システムの動作モードの変更を必要としないデバッグ機能を提供し、デバッグの間の電力消費量を低減するための機能を提供するので、改善されたより正確なデバッグを達成することができる。
前述の仕様においては、本発明を特定の実施態様に関して説明した。しかしながら、特許請求の範囲に述べたような本発明の範囲から逸脱することなく種々の変更を行うことができることは当業者にとって明らかである。例えば、ブロック図は、図示されたものとは異なるブロックを有してもよく、より多いまたは少ないブロックを有してもよく、異なるように配置されてもよい。また、フローチャートはまた、異なるように配置されるか、異なるように配置されたより多いまたは少ないステップを含んでもよく、複数のステップに分けることができるステップまたは互いに同時に実行可能なステップを有してもよい。従って、本仕様書と図面は制限的というよりも説明的なものと見なされるべきものであって、すべてのそのような変更は、本発明の範囲内に含まれるものである。
利点と問題に対する解決策とを特定の実施態様に関して上に説明した。しかしながら、利点と、問題に対する解決策と、すべての利点または解決策を生じさせるか一層明確にすることができるすべての要素は、いくつかのまたはすべての特許請求の範囲の重要な、必要な、または本質的な特徴または要素と解釈されるべきではない。本書で用いられたように、用語「備えた」、「からなる」、またはそのすべての変形は、非排他的包含をカバーするものではないので、多くの要素からなる、プロセス、方法、物品、または装置は、それらの要素だけを含むものではなく、明確に列挙されていないか、そのようなプロセス、方法、物品、または装置に固有の他の要素を含むことができる。
本発明の一実施態様によるデータ処理システムのブロック図。 本発明の一実施態様による図1のデータ処理システムのデバッグ制御レジスタと状態レジスタを示す図。 本発明の一実施態様による、デバッグの間図1のデータ処理システムを制御する方法のフローチャート。

Claims (10)

  1. 複数のサブシステムを有するデータ処理システムをデバッグ動作中に制御するための方法であって、
    前記複数のサブシステムのうち、前記デバッグ動作中に起動されるべき選択サブシステムを選択するステップと、
    前記データ処理システムの動作モードを変更することなく、前記複数のサブシステムの前記選択サブシステムの起動を制御するステップであって、その起動制御は、クロックの属性の変更および電力消費量の変更開始の少なくとも一方を含むステップと、
    前記複数のサブシステムの前記選択サブシステムから起動状態情報を提供するステップと、
    前記デバッグ動作を実行するステップとを備えることを特徴とする方法。
  2. 前記複数のサブシステムの前記選択サブシステムの起動制御を解除するステップを更に備えることを特徴とする請求項1に記載の方法。
  3. 前記デバッグ動作を実行するために前記複数のサブシステムのいずれが前記選択サブシステムでなければならないかを決定するステップを更に備えることを特徴とする請求項1に記載の方法。
  4. 複数のサブシステムと、デバッグ動作を実行するための手段とを備えたデータ処理システムであって、
    前記デバッグ動作を実行するための手段は、
    前記複数のサブシステムのいずれが前記デバッグ動作中に起動されるべきかを選択するための手段と、
    前記デバッグ動作中に前記複数のサブシステムのそれぞれの起動を個別に制御するための手段とを備え、該データ処理システムの動作モードは起動によって不変であり、前記複数のサブシステムのそれぞれの起動を個別に制御するための手段は、前記複数のサブシステムの少なくとも一つに供給されるクロックの属性を変更するための手段、および前記複数のサブシステムの少なくとも一つの電力使用量を変更するための手段の少なくとも一方を含むことを特徴とするデータ処理システム。
  5. 前記複数のサブシステムのそれぞれの起動を個別に制御するための手段は、前記複数のサブシステムの少なくとも一つに供給されるクロックの周波数を変更するための手段を含むことを特徴とする請求項4に記載のデータ処理システム。
  6. 前記複数のサブシステムのそれぞれの起動を個別に制御するための手段は、前記複数のサブシステムのうちの前記デバッグ動作を実行するために必要とされるサブシステムのみを起動することを特徴とする請求項4に記載のデータ処理システム。
  7. 前記起動を個別に制御するための手段は、前記複数のサブシステムのそれぞれを解除して、前記複数のサブシステムのそれぞれが前記デバッグ動作の開始前に有していた起動状態にすることを特徴とする請求項4に記載のデータ処理システム。
  8. 第1サブシステムと、
    第2サブシステムと、
    デバッグ動作を実行するためのデバッグユニットとを備え、該デバッグ動作を実行するためのデバッグユニットは、
    前記第1サブシステムに対するデバッグ動作のための電力属性およびクロック属性の少なくとも一方に対応する第1起動制御情報を記憶する第1制御レジスタフィールドと

    前記第2サブシステムに対するデバッグ動作のための電力属性およびクロック属性の少なくとも一方に対応する第2起動制御情報を格納する第2制御レジスタフィールドと、
    前記第1サブシステムに対するデバッグ動作のための第1起動状態情報を示す第1状態レジスタフィールドと、
    前記第2サブシステムに対するデバッグ動作のための第2起動状態情報を示す第2状態レジスタフィールドとを備えることを特徴とするデータ処理システム。
  9. 第1サブシステムと、
    第2サブシステムと、
    前記第1サブシステムに、デバッグ動作のための電力属性およびクロック属性の少なくとも一方に対応する第1起動制御情報を提供し、前記第2サブシステムに、デバッグ動作のための電力属性およびクロック属性の少なくとも一方に対応する第2起動制御情報を提供する回路とを備え、前記第1起動制御情報および第2起動制御情報は、前記第1サブシステムおよび前記第2サブシステムにおいて異なる応答を生成し、前記第1起動制御情報および第2起動制御情報は、当該データ処理システムに動作モードを変更することを要求しないことを特徴とするデータ処理システム。
  10. 第1サブシステムと、
    第2サブシステムと、
    前記第1サブシステムに、デバッグ動作のための電力属性およびクロック属性の少なくとも一方に対応する第1起動制御情報を提供し、前記第2サブシステムに、デバッグ動作のための電力属性およびクロック属性の少なくとも一方に対応する第2起動制御情報を提供する回路とを備え、前記回路は、前記第1起動制御情報を提供することに応答して第1起動状態情報を受け取り、前記第2起動制御情報を提供することに応答して第2起動状態情報を受け取り、前記第1起動状態情報は前記第1サブシステムの起動レベルを示し、前記第2起動状態情報は前記第2サブシステムの起動レベルを示すことを特徴とするデータ処理システム。
JP2006502871A 2003-01-24 2004-01-16 デバッグの間データ処理システムを制御するための方法および装置 Pending JP2006516780A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/350,658 US6895530B2 (en) 2003-01-24 2003-01-24 Method and apparatus for controlling a data processing system during debug
PCT/US2004/001224 WO2004068279A2 (en) 2003-01-24 2004-01-16 Method and apparatus for controlling a data processing system during debug

Publications (2)

Publication Number Publication Date
JP2006516780A true JP2006516780A (ja) 2006-07-06
JP2006516780A5 JP2006516780A5 (ja) 2010-11-11

Family

ID=32735615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006502871A Pending JP2006516780A (ja) 2003-01-24 2004-01-16 デバッグの間データ処理システムを制御するための方法および装置

Country Status (7)

Country Link
US (1) US6895530B2 (ja)
EP (1) EP1590912A2 (ja)
JP (1) JP2006516780A (ja)
KR (1) KR100993134B1 (ja)
CN (1) CN1742458B (ja)
TW (1) TWI338835B (ja)
WO (1) WO2004068279A2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
KR100520082B1 (ko) * 2003-10-06 2005-10-11 삼성전자주식회사 컴퓨터 시스템
US7318172B2 (en) * 2004-08-31 2008-01-08 Broadcom Corporation Wireless remote firmware debugging for embedded wireless device
US9304773B2 (en) * 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor
US7865704B2 (en) 2006-03-29 2011-01-04 Freescale Semiconductor, Inc. Selective instruction breakpoint generation based on a count of instruction source events
US7962786B2 (en) * 2006-11-17 2011-06-14 Nokia Corporation Security features in interconnect centric architectures
US20080141226A1 (en) * 2006-12-11 2008-06-12 Girouard Janice M System and method for controlling trace points utilizing source code directory structures
US7870455B2 (en) 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
US7870430B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for sharing debug resources
US7870434B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for masking debug resources
US8441298B1 (en) 2008-07-01 2013-05-14 Cypress Semiconductor Corporation Analog bus sharing using transmission gates
US8135884B1 (en) 2009-05-04 2012-03-13 Cypress Semiconductor Corporation Programmable interrupt routing system
US9448964B2 (en) * 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8179161B1 (en) 2009-05-05 2012-05-15 Cypress Semiconductor Corporation Programmable input/output circuit
US8487655B1 (en) 2009-05-05 2013-07-16 Cypress Semiconductor Corporation Combined analog architecture and functionality in a mixed-signal array
US9612987B2 (en) * 2009-05-09 2017-04-04 Cypress Semiconductor Corporation Dynamically reconfigurable analog routing circuits and methods for system on a chip
US8549334B2 (en) * 2009-06-25 2013-10-01 Panasonic Corporation Electric power control support device and electric power control support method
JP5875782B2 (ja) * 2010-05-07 2016-03-02 三星電子株式会社Samsung Electronics Co.,Ltd. システムオンチップ並びにこれを含む電子装置及び携帯用通信装置
KR20110124617A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 시스템-온-칩 및 그것의 디버깅 방법
US8601315B2 (en) * 2010-11-01 2013-12-03 Freescale Semiconductor, Inc. Debugger recovery on exit from low power mode
US9053233B2 (en) * 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
US8826079B2 (en) * 2011-12-16 2014-09-02 Arm Limited Data processing apparatus and method for identifying debug events
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9323312B2 (en) 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9507406B2 (en) * 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
KR20150019457A (ko) 2013-08-14 2015-02-25 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US9483373B2 (en) * 2014-02-14 2016-11-01 Freescale Semiconductor, Inc. Debug configuration tool with layered graphical user interface
US9270553B1 (en) * 2014-03-26 2016-02-23 Amazon Technologies, Inc. Dynamic service debugging in a virtual environment
KR102210770B1 (ko) 2014-09-02 2021-02-02 삼성전자주식회사 반도체 장치, 반도체 시스템 및 그 제어 방법
US9632137B2 (en) * 2015-04-22 2017-04-25 Apple Inc. Serial wire debug bridge
US9892024B2 (en) * 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing
CN105549499A (zh) * 2016-03-03 2016-05-04 深圳市博巨兴实业发展有限公司 一种面向键控类应用的低功耗mcu-soc系统
CN115220978B (zh) * 2022-09-19 2023-02-03 瀚博半导体(上海)有限公司 包括在线调试模式的芯片启动方法和装置、芯片和设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9320052D0 (en) * 1993-09-29 1993-11-17 Philips Electronics Uk Ltd Testing and monitoring of programmed devices
US5889988A (en) * 1995-01-03 1999-03-30 Intel Corporation Debugger for debugging tasks in an operating system virtual device driver
US5680620A (en) * 1995-06-30 1997-10-21 Dell Usa, L.P. System and method for detecting access to a peripheral device using a debug register
US5887146A (en) * 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US5828824A (en) 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US6026503A (en) * 1997-08-12 2000-02-15 Telrad Communication And Electronic Industries Ltd. Device and method for debugging systems controlled by microprocessors
US6279123B1 (en) * 1997-09-15 2001-08-21 Lucent Technologies, Inc. System for viewing and monitoring embedded processor operation
US6446221B1 (en) * 1999-05-19 2002-09-03 Arm Limited Debug mechanism for data processing systems
US6560712B1 (en) 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6598180B1 (en) * 1999-12-30 2003-07-22 International Business Machines Corporation Method, system and program products for selectively debugging program versions executing with in a computing environment
US6732311B1 (en) * 2000-05-04 2004-05-04 Agere Systems Inc. On-chip debugger
JP3913470B2 (ja) * 2000-12-28 2007-05-09 株式会社東芝 システムlsi
US6823224B2 (en) * 2001-02-21 2004-11-23 Freescale Semiconductor, Inc. Data processing system having an on-chip background debug system and method therefor
US20020144235A1 (en) * 2001-03-30 2002-10-03 Charles Simmers Debugging embedded systems

Also Published As

Publication number Publication date
KR100993134B1 (ko) 2010-11-10
WO2004068279A3 (en) 2004-09-30
CN1742458B (zh) 2010-09-29
WO2004068279A2 (en) 2004-08-12
EP1590912A2 (en) 2005-11-02
CN1742458A (zh) 2006-03-01
US6895530B2 (en) 2005-05-17
KR20050100639A (ko) 2005-10-19
TWI338835B (en) 2011-03-11
TW200422819A (en) 2004-11-01
WO2004068279B1 (en) 2004-11-25
US20040148548A1 (en) 2004-07-29

Similar Documents

Publication Publication Date Title
JP2006516780A (ja) デバッグの間データ処理システムを制御するための方法および装置
US20200159279A1 (en) Low power autonomous peripheral management
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
JP5427775B2 (ja) 低パワーキャッシュアクセスモードを備えたデータ処理デバイス
EP1723532B1 (en) Multiple burst protocol device controller
GB2424499A (en) Method for managing the power consumption of a processor with variable wake-up and sleep latencies
JP2013069110A (ja) 制御装置およびプログラム
JP2006114034A (ja) プロセッサ動作電圧の自動動的制御
JP2007164793A (ja) データ処理システムの中に分散された分配型ダイレクトメモリアクセス手段
KR20070001786A (ko) 전자 장치에서 클록 속도를 관리하는 시스템 및 방법
CN109582371B (zh) 一种低功耗唤醒方法及装置
JP2008009817A (ja) 半導体装置及びデータ転送方法
US20070118682A1 (en) Method and apparatus for interfacing and managing NAND flash memory
WO2013003029A2 (en) Multi-element memory device with power control for individual elements
US7617339B2 (en) Serial interface circuit for data transfer
JP2009151599A (ja) マルチデバイスシステム
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
JP2004185619A (ja) クロックソースを切り替えるシステムおよび方法
US20130013831A1 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US7058842B2 (en) Microcontroller with multiple function blocks and clock signal control
JP7493369B2 (ja) 通信装置、制御方法、及びプログラム
WO2011016154A1 (ja) 外部バスインタフェース、lsiおよびシステム
US20040039873A1 (en) Management system for access control modes of a DRAM module socket
JP2013038741A (ja) コンフィグレーション装置及びコンフィグレーション方法
JP2018088096A (ja) 制御装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100706

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100806

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100813

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100906

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100913

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20100927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110316

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110408

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110531