JP2006171810A - Debugging control system and its control method - Google Patents
Debugging control system and its control method Download PDFInfo
- Publication number
- JP2006171810A JP2006171810A JP2004359118A JP2004359118A JP2006171810A JP 2006171810 A JP2006171810 A JP 2006171810A JP 2004359118 A JP2004359118 A JP 2004359118A JP 2004359118 A JP2004359118 A JP 2004359118A JP 2006171810 A JP2006171810 A JP 2006171810A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- peripheral circuit
- control unit
- specific peripheral
- debug
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
本発明は、特定の周辺回路へのデバッグを実行するデバッグ制御システムに関する。 The present invention relates to a debug control system for executing debugging on a specific peripheral circuit.
一般に、CPU内蔵のシステムLSIを実機デバッグする場合、システムLSIの外部にICE(In-Circuit Emulator)を接続し、ICEからオンチップのCPUを制御することでユーザプログラムのブレーク処理やステップ実行を行っている。これは、予めユーザプログラムを停止させたいポイントにブレークポイントを設定しておき、実際にリアルタイムに実行したプログラムがそのポイントに到達した時点でCPUが強制的にデバッグモードへ移行し、その後のプログラムの実行を一時的に停止することによって実現されるものである(例えば、特許文献1参照)。 In general, when debugging a system LSI with a built-in CPU, an ICE (In-Circuit Emulator) is connected to the outside of the system LSI, and the on-chip CPU is controlled from the ICE to perform break processing and step execution of the user program. ing. This is because a breakpoint is set at a point where the user program is to be stopped in advance, and when the program actually executed in real time reaches that point, the CPU forcibly shifts to the debug mode, and the subsequent program This is realized by temporarily stopping execution (see, for example, Patent Document 1).
このデバッグモードへの移行方法は、例えばCPUが予めデバッグモードへ移行するためのデバッグ回路を有することで実施するハードウエア・ブレークや実行するプログラムの一部をトラップ命令に置き換えてソフトウエア割り込みを利用してモニタプログラムへ移行することで実施するソフトウエア・ブレークがある。しかしながら、何れの場合も、ICEによるデバッグモードではプログラムの実行のみを一時的に停止した状態であり、オンチップバスを含めたCPU以外の周辺回路はリアルタイムに動作している。この様子を図1を用いて説明する。 This method of transition to debug mode uses, for example, a hardware break that is implemented by the CPU having a debug circuit for transitioning to debug mode in advance, and a part of the program to be executed is replaced with a trap instruction to use a software interrupt. Then, there is a software break that is implemented by moving to the monitor program. However, in any case, only the program execution is temporarily stopped in the debug mode by ICE, and peripheral circuits other than the CPU including the on-chip bus operate in real time. This will be described with reference to FIG.
図1は、一般的なデバッグ制御システムの構成の一例を示す図である。図1に示すように、デバッグ制御システム100は、オンチップバス120に接続されたCPU110と、特定の周辺回路であるDMAコントローラ130、タイマコントローラ140、及び外部メモリデバイス102にアクセスするためのMEMコントローラ150から構成されている。
FIG. 1 is a diagram illustrating an example of a configuration of a general debug control system. As shown in FIG. 1, the
ここで、DMAコントローラ130は、スレーブI/F131、マスタI/F132、DMA制御部133の各モジュールで構成されている。また、タイマコントローラ140はスレーブI/F141、タイマ制御部142の各モジュールで構成されている。また、MEMコントローラ150はスレーブI/F151、MEM制御部152の各モジュールで構成されている。
Here, the
図1に示すように、CPU110は外部のICE101と専用のバスで接続され、設計者がICE101から直接制御することが可能である。ここで、CPU110がデバッグモードに移行した状態とは、CPU110のユーザプログラムの実行が一時的に停止した状態であり、それ以外のオンチップバス120を含むDMAコントローラ130、タイマコントローラ140、及びMEMコントローラ150は全てリアルタイムに動作している状態である。
As shown in FIG. 1, the
従って、これらの周辺回路はCPU110がデバッグモードに移行した状態であっても、予めプログラミングされた各動作が完了するまで、或いは設計者がICE101により動作停止命令を発行するまで動作し続けている。
Accordingly, these peripheral circuits continue to operate until each pre-programmed operation is completed or until the designer issues an operation stop command by the ICE 101 even when the
デバッグモードに移行後、CPU110の制御は全て設計者によってICE101から実行される。例えば、ステップ実行は、デバッグモードに移行後、プログラムの逐次実行の結果を設計者がその都度確認することにより各命令の実行を確実に処理するために実施され、ICE101がCPU110に対して1命令分のプログラムの実行を許可することで順次実行される。
After shifting to the debug mode, all control of the
また、CPU110がデバッグモードに移行している間は、設計者はICE101からCPU110を制御することで現在実行しているプログラムとは独立に任意のメモリ領域やI/O領域にアクセスし、その内容を確認したり、値を書き換えたりすることが可能であり、これによりユーザプログラム及びハードウエアの不具合の解析を行うことが可能である。
While the
例えば、図1において、設計者が外部メモリデバイス102の任意の領域をダンプ表示する場合には、ICE101からCPU110を制御してオンチップバス120とMEMコントローラ150とを経由して外部メモリデバイス102の任意の領域に順次アクセスすることによってそのデータを読み出し、読み出したデータをICE101へ転送することで実施される。
For example, in FIG. 1, when the designer dumps and displays an arbitrary area of the
また、設計者がタイマコントローラ140のカウンタ値や状態レジスタの値を知りたい場合には、ICE101からCPU110を制御してオンチップバス120を経由してタイマコントローラ140のカウンタや状態レジスタにアクセスすることによってそのデータを読み出し、読み出したデータをICE101へ転送することでその値を確認することが可能である。
In addition, when the designer wants to know the counter value of the
但し、上述した通り周辺回路はリアルタイムに動作しているため、これらの値はCPU110がデバッグモードに移行した時点の値ではなく、CPU110が周辺回路にアクセスした時点でのカウンタ値や制御部の状態を示す値となる。
以上のように、従来技術では、デバッグモードにおいてCPUの動作を停止させることは可能であるが、それ以外の周辺回路の動作を停止させることはできなかった。そのため、これらの周辺回路ではCPUが停止してプログラムのステップ実行を実施しているにも関わらずリアルタイムに実行が行われ、実際の動作に即した状態を観測することができないといった問題があった。 As described above, in the prior art, it is possible to stop the operation of the CPU in the debug mode, but it is not possible to stop the operation of other peripheral circuits. Therefore, in these peripheral circuits, there is a problem that even though the CPU is stopped and the program step execution is executed, the execution is performed in real time, and the state according to the actual operation cannot be observed. .
また、一方で、LSIの高機能化と高集積化が進み、設計のシミュレーション段階では全く予期できなかった事象が実機デバッグ段階で発生するようになってきている。これは、LSIの高機能化と高集積化によりCPU以外の多くの周辺回路が同時にLSIに内蔵されるようになり、これらの機能検証を全てシミュレーション段階で実施することが困難になってきたためである。 On the other hand, higher functionality and higher integration of LSIs have progressed, and events that could not be anticipated at the design simulation stage have occurred at the actual machine debug stage. This is because many peripheral circuits other than the CPU have been built into the LSI at the same time due to high functionality and high integration of the LSI, and it has become difficult to perform all of these functional verifications at the simulation stage. is there.
特に、実機システムにおいて、周辺回路が同時に動作する際の競合動作により発生する不具合に関しては、シミュレーションでは再現することもできず、これがソフトウエアによる不具合であるか、ハードウエアによる不具合であるかを判断することが非常に困難であった。 In particular, in a real machine system, problems caused by competing operations when peripheral circuits operate simultaneously cannot be reproduced by simulation, and it is determined whether this is a software problem or a hardware problem. It was very difficult to do.
また、これらの解析を一層困難にしている理由の一つに、デバッグモード中であってもユーザプログラムと周辺回路が同期していないため、不具合の原因を特定できないことが挙げられる。 Moreover, one of the reasons for making these analyzes more difficult is that the user program and the peripheral circuit are not synchronized even in the debug mode, so that the cause of the failure cannot be specified.
例えば、特定のデータ領域の値が正しくない場合、予めプログラムされた状態でDMA制御部が動作していれば、たとえプログラムのステップ実行を実施してもDMA制御部はリアルタイムに動作するため、ユーザプログラムが意図しない状態でデータを書き換えたのか、DMA制御部が正しく動作しないためにデータを書き換えたのか、或いはそれ以外の周辺回路が意図しない状態でデータを書き換えたのかを実機システムにおいて判断することは非常に困難であった。 For example, if the value of a specific data area is not correct and the DMA control unit is operating in a pre-programmed state, the DMA control unit operates in real time even if step execution of the program is performed. The actual system determines whether the data has been rewritten without the program's intention, whether the data has been rewritten because the DMA controller does not operate correctly, or whether other peripheral circuits have rewritten the data without intention. Was very difficult.
本発明は、上述の課題を解決するためになされたもので、特定の周辺回路の動作状態を的確に把握し、ハードウエア及びソフトウエアの不具合の切り出しとその不具合に対する解析とを容易に行うことを目的とする。 The present invention has been made to solve the above-described problems, and accurately grasps the operating state of a specific peripheral circuit, and easily performs a hardware and software defect extraction and an analysis for the defect. With the goal.
本発明は、特定の周辺回路へのデバッグを実行するデバッグ制御システムであって、デバッグ開始を示す信号に基づいて前記特定の周辺回路の動作を停止させる手段と、前記特定の周辺回路の動作が停止した状態で、前記特定の周辺回路へのデバッグを実行する実行手段とを有することを特徴とする。 The present invention relates to a debug control system for executing debugging on a specific peripheral circuit, wherein a unit for stopping the operation of the specific peripheral circuit based on a signal indicating the start of debugging, and an operation of the specific peripheral circuit And executing means for executing debugging of the specific peripheral circuit in a stopped state.
また、本発明は、特定の周辺回路へのデバッグを実行するデバッグ制御システムの制御方法であって、デバッグ開始を示す信号に基づいて前記特定の周辺回路の動作を停止させる工程と、前記特定の周辺回路の動作が停止した状態で、前記特定の周辺回路へのデバッグを実行する実行工程とを有することを特徴とする。 Further, the present invention provides a control method of a debug control system for executing debugging on a specific peripheral circuit, the step of stopping the operation of the specific peripheral circuit based on a signal indicating start of debugging, And an execution step of executing debugging on the specific peripheral circuit in a state in which the operation of the peripheral circuit is stopped.
本発明によれば、特定の周辺回路の動作状態を的確に把握し、ハードウエア及びソフトウエアの不具合の切り出しとその不具合に対する解析とを容易に行うことが可能となる。 According to the present invention, it is possible to accurately grasp the operating state of a specific peripheral circuit, and to easily identify and analyze a defect in hardware and software.
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。尚、本実施形態では、ICE(In-Circuit Emulator)をオンチップのCPUに接続してプログラムのブレーク処理やステップ実行等を行うデバッグ環境において、プログラムのブレーク処理と同時に、CPU以外の特定の周辺回路へ供給するクロックを停止し、その周辺回路の動作も停止させた後、特定の周辺回路へのクロック供給をICEから制御することにより、特定の周辺回路をクロック単位で逐次実行させることを可能とするデバッグ制御システムについて説明する。 The best mode for carrying out the invention will be described below in detail with reference to the drawings. In the present embodiment, in a debugging environment in which an ICE (In-Circuit Emulator) is connected to an on-chip CPU to perform a program break process or step execution, a specific peripheral other than the CPU is simultaneously executed with the program break process. After the clock supplied to the circuit is stopped and the operation of the peripheral circuit is stopped, the clock supply to the specific peripheral circuit is controlled from the ICE, so that the specific peripheral circuit can be sequentially executed in units of clocks. A debug control system will be described.
図2は、実施例1におけるデバッグ制御システムの構成の一例を示す図である。図2に示すように、デバッグ制御システム200は、オンチップバス220に接続されたCPU210と、特定の周辺回路であるDMAコントローラ230、タイマコントローラ240、外部メモリデバイス202にアクセスするためのMEMコントローラ250、クロックコントローラ260、及びクロック生成回路270から構成されている。
FIG. 2 is a diagram illustrating an example of the configuration of the debug control system according to the first embodiment. As shown in FIG. 2, the
ここで、DMAコントローラ230は、スレーブI/F231、マスタI/F232、DMA制御部233の各モジュールで構成されている。また、タイマコントローラ240はスレーブI/F241、タイマ制御部242の各モジュールで構成されている。また、MEMコントローラ250はスレーブI/F251、MEM制御部252の各モジュールで構成されている。また、クロックコントローラ260はスレーブI/F261、クロック制御部262の各モジュールで構成されている。
Here, the
尚、図2に示す周辺回路は本発明を説明するための一例であり、当然のことながらこの限りではない。 The peripheral circuit shown in FIG. 2 is an example for explaining the present invention, and is not limited to this.
図2に示すように、CPU210は外部のICE201と専用のバスで接続され、設計者がICE201から直接制御することが可能である。クロックコントローラ260は、CPU210から出力されるデバッグモード通知信号211と接続され、この信号によりクロック制御部262がクロックイネーブル信号263を生成して出力する。
As shown in FIG. 2, the
一方、クロック生成回路270には、外部のクロック(XSYSCLK)271が入力されており、このXSYSCLK271から生成された基準クロックが、常時動作している各モジュール(スレーブI/F231、241、251、261、マスタI/F232、MEM制御部252、クロック制御部262)とCPU210に供給される(図示せず)。また、クロックイネーブル信号263でマスクされたクロック(PCLK)272が、このクロック272に従って逐次実行動作を行う各モジュール(DMA制御部233、タイマ制御部242)に供給される。
On the other hand, an external clock (XSYSCLK) 271 is input to the
次に、以上の構成を有する実施例1におけるデバッグ制御システム200の詳細な動作について説明する。
Next, a detailed operation of the
まず初めに、CPU210がデバッグモードへ移行する手順は、従来例と同様にハードウエア・ブレーク及びソフトウエア・ブレークにより実行される。このデバッグモードに移行するとCPU210はデバッグモード通知信号211をアサートする。このデバッグモード通知信号211のアサートにより、クロックコントローラ260のクロック制御部262がクロックイネーブル信号263をディアサートする。
First, the procedure for the
図3は、クロックイネーブル信号263を生成する回路の一例を示す図である。図3に示すように、入力されたデバッグモード通知信号211がインバータ301で反転され、クロックイネーブル信号263として出力される。
FIG. 3 is a diagram illustrating an example of a circuit that generates the clock enable
このクロックイネーブル信号263がディアサートされると、クロック生成回路270はPCLK272をローレベルで固定してDMA制御部233とタイマ制御部242へのクロック供給を停止する。
When the clock enable
図4は、クロック生成回路270の構成の一例とタイミングチャートを示す図である。上述したように、DMA制御部233及びタイマ制御部242はクロック同期回路であるため、PCLK272の供給が停止されると、即座にその動作を停止する。
FIG. 4 is a diagram illustrating an example of the configuration of the
尚、図2に示すように、オンチップバス220と直接通信を行うスレーブI/F231、241とマスタI/F232は通常動作部であり、PCLK272とは別のクロックが供給され、CPU210がデバッグモードに移行しても停止しない。
As shown in FIG. 2, the slave I /
また、スレーブI/F231、241とマスタI/F232は、DMA制御部233、タイマ制御部242と独立しており、DMA制御部233、タイマ制御部242へのPCLK272が停止した状態でも影響を受けないでCPU210からアクセス、或いはオンチップバス220にアクセスすることが可能である。
The slave I /
このため、CPU210がデバッグモードに移行してDMA制御部233とタイマ制御部242が停止してもCPU210は、通常通りオンチップバス220を経由してこれらの周辺回路の制御レジスタや状態レジスタにアクセスすることが可能である。
Therefore, even if the
この状態で、設計者がICE201からCPU210を制御し、デバッグモードに移行した時点での周辺回路の正確な値や状態を知ることが可能であり、デバッグのために現在実行しているプログラムとは独立に任意のメモリ領域やI/O領域にアクセスしても周辺回路の動作は停止しているため、その後再度周辺回路にアクセスしてもデバッグモードへ移行した時点での状態を継続して観測することが可能である。例えば、設計者は、ICE201からCPU210を制御してタイマ制御部242のカウンタにアクセスすることでデバッグモードに移行した時点での正確な時間を確認することが可能であり、外部メモリデバイス202の任意の領域をダンプ表示した後に、再度タイマ制御部242のカウンタにアクセスしてもデバッグモードに移行した時点での正確な時間を確認することが可能である。
In this state, the designer can control the
また、ユーザプログラムの不具合を解析する場合も、デバッグモードに移行した状態でユーザプログラムのステップ実行を行うことによりCPU210の動作のみ実行することが可能となり、周辺回路の影響を受けることなく解析を継続することが可能である。具体的には、予めプログラムされたDMA制御部233が動作している状態でデバッグモードに移行した場合、デバッグモードへの移行と同時にDMA制御部233の動作は一時停止する。この状態で、ユーザプログラムのステップ実行を行うとオンチップバス220上でマスタ動作するモジュールはCPU210のみであるため、ユーザプログラムのステップ実行により特定のデータ領域の値が正しくないことが判明しても、その原因はユーザプログラムによって引き起こされたことを特定することは容易である。
Also, when analyzing a failure of the user program, it is possible to execute only the operation of the
以上説明した実施例1によれば、ハードウエア及びソフトウエアの不具合の切り出しを容易に行うことが可能となる。 According to the first embodiment described above, it is possible to easily extract a defect in hardware and software.
また、近年の低消費電力化に伴い多用されているモジュール毎のゲーテッドクロックの仕組みを利用することで、実施デバッグにおいて容易に各モジュールへのクロック供給を停止させるように構成することが可能となる。 In addition, it is possible to easily stop the clock supply to each module in implementation debugging by using the gated clock mechanism for each module, which is frequently used with the recent reduction in power consumption. .
次に、図面を参照しながら本発明に係る実施例2について詳細に説明する。実施例2では、クロックコントローラにクロックの供給を停止させた後、周辺回路を逐次実行させるためのパルス生成回路を有するものである。
Next,
図5は、実施例2におけるデバッグ制御システムの構成の一例を示す図である。図5に示すように、実施例2は図2を用いて説明した実施例1と、クロックコントローラ560が異なるものである。
FIG. 5 is a diagram illustrating an example of the configuration of the debug control system according to the second embodiment. As shown in FIG. 5, the second embodiment is different from the first embodiment described with reference to FIG. 2 in the
図5に示すクロックコントローラ560において、スレーブI/F561は図2に示した実施例1のスレーブI/F261と同じであるが、クロック制御部562は図6を用いて説明するように構成が異なるものである。ここでは、実施例2におけるクロック制御部562の構成について説明する。
In the
図6は、実施例2におけるクロック制御部562の構成の一例を示す図である。図6において、601はパルス生成回路であり、後述するセット信号に従って1パルス分の波形を生成し、クリア信号を出力する。602はステップ実行レジスタであり、CPU210から任意の値がセットされるとパルス生成回路601にセット信号を出力し、クリア信号でレジスタの値をクリアする。603はOR回路であり、デバッグモード通知信号211がアサートされると、クロックイネーブル信号563をディアサートすると共に、パルス生成回路601からのパルス波形をクロックイネーブル信号563として出力する。
FIG. 6 is a diagram illustrating an example of the configuration of the
次に、以上の構成を有する実施例2におけるデバッグ制御システム500の詳細な動作について説明する。
Next, a detailed operation of the
まず初めに、CPU210がデバッグモードへ移行する手順は、従来例と同様であり、その後、周辺回路へのクロック供給を停止するまでの手順は実施例1と同様である。
First, the procedure for the
そして、CPU210がデバッグモードに移行した状態で、設計者がICE201からCPU210を制御してオンチップバス220を介してクロック制御部562のステップ実行レジスタ602に任意の値をセットする。このステップ実行レジスタ602の値は、パルス生成回路601にセット信号として与えられ、パルス生成回路601は1パルス分の波形を生成する。また同時に、パルス生成回路601はステップ実行レジスタ602に対してクリア信号を出力してステップ実行レジスタ602の値を自動的にクリアする。
Then, with the
次に、パルス生成回路601で生成されたパルス波形は、OR回路603からクロックイネーブル信号563としてクロック生成回路270に出力される。
Next, the pulse waveform generated by the
図7は、クロック生成回路270の構成の一例とタイミングチャートを示す図である。図7に示す(B)のように、クロック生成回路170はクロックイネーブル信号563のパルス出力期間のみ、DMA制御部233及びタイマ制御部242へのPCLK272の供給を行う。
FIG. 7 is a diagram illustrating an example of the configuration of the
尚、上述したように、DMA制御部233及びタイマ制御部242はクロック同期回路であるため、PCLK272の供給があるとそのサイクル分だけ動作する。
As described above, since the
ここで、上述したタイマ制御部242に注目してサイクル単位の逐次実行を行う場合について説明する。
Here, a case where sequential execution is performed in units of cycles will be described by paying attention to the
設計者がICE201からCPU210を制御してクロック制御部562のステップ実行レジスタ602に任意の値をセットすると、クロック生成回路270は1サイクル分のPCLK272をタイマ制御部242に供給する。このPCLK272が供給されると、タイマ制御部242はカウンタ値を一つだけカウントアップする。この場合も、デバッグモードへ移行したままの状態であるため、設計者はICE201からCPU210を制御してタイマ制御部242にアクセスすることで、カウントアップした値を確認することが可能である。
When the designer controls the
また同様にして、設計者は必要なサイクル分だけタイマ制御部242を動作させることが可能であり、この動作期間中にタイマ制御部242が正しくカウントアップしない不具合やタイマ制御部242の特定のカウンタ値で割り込みが発生しない不具合等を実機システム上で容易に確認することが可能である。
Similarly, the designer can operate the
図8に示す(A)は、ステップ実行レジスタ602による逐次実行としてタイマコントローラ240のカウントアップ機能を実行させ、その状態で実際のカウンタ値をモニタし、カウントアップエラーが発生した場合を示すものである。また、図8に示す(B)は、タイマコントローラ240のカウンタ値が比較値レジスタの値と一致したときに割り込み信号を発生させる機能を実行させ、割り込み信号が発生しない場合を示すものである。
FIG. 8A shows a case where the count-up function of the
以上説明した実施例2によれば、設計者は周辺回路をサイクル単位で逐次実行することが可能であり、実機システムにおいて従来では解析不可能であったサイクル単位のハードウエアの不具合解析を容易に行うことが可能となる。 According to the second embodiment described above, a designer can sequentially execute peripheral circuits in units of cycles, and easily analyze hardware faults in units of cycles, which was impossible in the past in an actual system. Can be done.
次に、図面を参照しながら本発明に係る実施例2について詳細に説明する。実施例3では、実施例2で説明したクロック制御部562に更にクロック供給の停止を予め選択するクロック選択レジスタを有するものである。
Next,
図9は、実施例3におけるデバッグ制御システムの構成の一例を示す図である。図9に示すように、実施例3は図5を用いて説明した実施例2と、クロックコントローラ960及びクロック生成回路970が異なるものである。
FIG. 9 is a diagram illustrating an example of the configuration of the debug control system according to the third embodiment. As illustrated in FIG. 9, the third embodiment is different from the second embodiment described with reference to FIG. 5 in the
図9に示すクロックコントローラ960において、スレーブI/F961は実施例1のスレーブI/F261、実施例2のスレーブI/F561と同じであるが、クロック制御部962は図10を用いて説明するように構成が異なるものである。ここでは、実施例3におけるクロック制御部962の構成について説明する。
In the
図10は、実施例3におけるクロック制御部962の構成の一例を示す図である。実施例3では、図10に示すように、実施例2の構成に更にクロック選択レジスタ1001を有し、事前にこのクロック選択レジスタ1001に所定の値をセットしておくことで対応するビットの周辺回路に対してのみクロックの供給を停止させるものである。
FIG. 10 is a diagram illustrating an example of the configuration of the
図10に示す例では、クロック選択レジスタ1001のビット[0]を「1」にセットしておき、デバッグモード通知信号211がアサートされると、クロックイネーブル信号a963がディアサートされる。また、クロック選択レジスタ1001のビット[1]を「1」にセットしておき、デバッグモード通知信号211がアサートされると、クロックイネーブル信号a963がディアサートされる。
In the example shown in FIG. 10, when the bit [0] of the
また、実施例3におけるクロック生成回路970は、図7に示した(A)の構成を上述したクロック制御部962から出力されるクロックイネーブル信号a963、b964に対応させて並列に2つ備え、PCLKa971、b972を生成するものである。
Further, the
次に、以上の構成を有する実施例3におけるデバッグ制御システム900の詳細な動作について説明する。
Next, a detailed operation of the
まず初めに、CPU210がデバッグモードへ移行する前に、デバッグモードにおいてクロックの供給を停止させたい周辺回路に対応するクロック選択レジスタ1001の任意のビットをセットしておく。
First, before the
尚、ここでは、クロック選択レジスタ1001のビット[0]がDMA制御部233に対応し、ビット[1]がタイマ制御部242に対応するものとして、事前にビット[0]のみをセットしておく。
Here, it is assumed that bit [0] of the
次に、CPU210がデバッグモードへ移行する手順は、従来例と同様であり、その後、周辺回路へのクロック供給の停止及びステップ実行レジスタ602による周辺回路へのサイクル単位の逐次実行の手順は実施例2と同様である。
Next, the procedure for the
尚、事前にクロック選択レジスタ1001によって選択されていない周辺回路へのクロック供給は停止されず、通常通りリアルタイムに動作する。これは以下の手順により実施される。
Note that the clock supply to peripheral circuits not previously selected by the
デバッグモードへ移行すると、CPU210はデバッグモード通知信号211をアサートする。一方、クロック制御部962は、各周辺回路に対応するクロックイネーブル信号a963、b964を生成している。そして、デバッグモード通知信号211がアサートされると、クロック選択レジスタ1001の対応するビットがセットされている信号のみディアサートする。
When shifting to the debug mode, the
ここでは、事前にクロック選択レジスタ1001のビット[0]のみをセットしているので、DMA制御部233用のクロックイネーブル信号a963のみがディアサートされる。タイマ制御部140用のクロックイネーブル信号b964は、クロック選択レジスタ1001のビット[1]がセットされていないため、アサートされたままである。
Here, since only bit [0] of the
一方、クロック生成回路970は、DMA制御部233用のクロックイネーブル信号a963とタイマ制御部242用のクロックイネーブル信号b964からそれぞれクロック971(PCLKa)とクロック972(PCLKb)を生成している。ここでクロックイネーブル信号a963がディアサートされると、クロック971(PCLKa)をローレベルで固定してDMA制御部233へのクロック供給を停止する。
On the other hand, the
尚、上述したように、DMA制御部233はクロック同期回路であるため、PCLKa971の供給が停止されると、即座にその動作を停止する。
As described above, since the
また、クロック972(PCLKb)は、クロックイネーブル信号b964がアサートされたままであるため、通常通り動作しており、タイマ制御部242へのクロック供給は停止しない。
The clock 972 (PCLKb) is operating normally because the clock enable signal b964 is still asserted, and the clock supply to the
このような状態で、設計者がユーザプログラムのステップ実行を行うことでDMA制御部233の影響を受けることなく、解析を継続することが可能となる。
In this state, the designer can continue the analysis without being influenced by the
以上説明した実施例3によれば、設計者はデバッグモードへの移行時にデバッグに必要な最低限のモジュールのみを動作させることが可能となり、実機デバッグにおける作業の効率を向上させることができる。 According to the third embodiment described above, the designer can operate only the minimum modules necessary for debugging when shifting to the debug mode, and the work efficiency in actual machine debugging can be improved.
更に、任意の周辺回路を同時に動作させることで、その競合動作による不具合の解析も可能である。 Furthermore, by operating any peripheral circuit simultaneously, it is possible to analyze a problem caused by the competing operation.
上述した実施例では、CPUからのデバッグモード通知信号に基づいてクロック制御部及びクロック生成回路が周辺回路へ供給するPCLKを停止させているが、ICEからの所定の信号により停止させるように構成しても良い。 In the embodiment described above, the PCLK supplied from the clock control unit and the clock generation circuit to the peripheral circuit is stopped based on the debug mode notification signal from the CPU, but is configured to be stopped by a predetermined signal from the ICE. May be.
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。 Even if the present invention is applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), it is applied to an apparatus (for example, a copier, a facsimile machine, etc.) composed of a single device. It may be applied.
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a recording medium that records software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and the computer (CPU or MPU) of the system or apparatus uses the recording medium as a recording medium. Needless to say, this can also be achieved by reading and executing the stored program code.
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。 In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium storing the program code constitutes the present invention.
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。 As a recording medium for supplying the program code, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like is used. be able to.
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
100 デバッグ制御システム
101 ICE
102 外部メモリ
110 CPU
120 オンチップバス
130 DMAコントローラ
131 スレーブI/F
132 マスタI/F
133 DMA制御部
140 タイマコントローラ
141 スレーブI/F
142 タイマ制御部
150 MEMコントローラ
151 スレーブI/F
152 MEM制御部
200 デバッグ制御システム
201 ICE
202 外部メモリ
210 CPU
211 デバッグモード通知信号
220 オンチップバス
230 DMAコントローラ
231 スレーブI/F
232 マスタI/F
233 DMA制御部
240 タイマコントローラ
241 スレーブI/F
242 タイマ制御部
250 MEMコントローラ
251 スレーブI/F
252 MEM制御部
260 クロックコントローラ
261 スレーブI/F
262 クロック制御部
263 クロックイネーブル信号
270 クロック生成回路
271 外部クロック(XSYSCLK)
272 PCLK
100
102
120 On-
132 Master I / F
133
142
152
202
211 Debug
232 Master I / F
233
242
252
262
272 PCLK
Claims (6)
デバッグ開始を示す信号に基づいて前記特定の周辺回路の動作を停止させる手段と、
前記特定の周辺回路の動作が停止した状態で、前記特定の周辺回路へのデバッグを実行する実行手段とを有することを特徴とするデバッグ制御システム。 A debug control system that executes debugging to a specific peripheral circuit,
Means for stopping the operation of the specific peripheral circuit based on a signal indicating the start of debugging;
A debug control system comprising: execution means for executing debugging of the specific peripheral circuit in a state where the operation of the specific peripheral circuit is stopped.
前記生成手段で生成された1クロック分のクロックで前記特定の周辺回路を動作させ、逐次デバッグを実行する逐次デバッグ実行手段とを有することを特徴とする請求項1記載のデバッグ制御システム。 Generating means for generating the predetermined clock for one clock in a state in which the operation of the specific peripheral circuit is stopped;
2. The debug control system according to claim 1, further comprising sequential debug execution means for operating the specific peripheral circuit with a clock of one clock generated by the generation means and executing sequential debug.
デバッグ開始を示す信号に基づいて前記特定の周辺回路の動作を停止させる工程と、
前記特定の周辺回路の動作が停止した状態で、前記特定の周辺回路へのデバッグを実行する実行工程とを有することを特徴とするデバッグ制御システムの制御方法。 A control method of a debug control system for executing debugging to a specific peripheral circuit,
Stopping the operation of the specific peripheral circuit based on a signal indicating the start of debugging;
A control method for a debug control system, comprising: an execution step of executing debugging on the specific peripheral circuit in a state where the operation of the specific peripheral circuit is stopped.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004359118A JP2006171810A (en) | 2004-12-10 | 2004-12-10 | Debugging control system and its control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004359118A JP2006171810A (en) | 2004-12-10 | 2004-12-10 | Debugging control system and its control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006171810A true JP2006171810A (en) | 2006-06-29 |
Family
ID=36672528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004359118A Withdrawn JP2006171810A (en) | 2004-12-10 | 2004-12-10 | Debugging control system and its control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006171810A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298587B2 (en) | 2012-05-22 | 2016-03-29 | Samsung Electronics Co., Ltd. | Integrated circuit including clock controlled debugging circuit and system-on-chip including the same |
JP2018028744A (en) * | 2016-08-16 | 2018-02-22 | 富士通株式会社 | Information processor and pld management program |
-
2004
- 2004-12-10 JP JP2004359118A patent/JP2006171810A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298587B2 (en) | 2012-05-22 | 2016-03-29 | Samsung Electronics Co., Ltd. | Integrated circuit including clock controlled debugging circuit and system-on-chip including the same |
JP2018028744A (en) * | 2016-08-16 | 2018-02-22 | 富士通株式会社 | Information processor and pld management program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5239862B2 (en) | Debugger and debugging method | |
US6385742B1 (en) | Microprocessor debugging mechanism employing scan interface | |
US7055117B2 (en) | System and method for debugging system-on-chips using single or n-cycle stepping | |
US7665002B1 (en) | Multi-core integrated circuit with shared debug port | |
JP4145146B2 (en) | Data processing system and method having on-chip background debug system | |
TWI450078B (en) | Debug registers for halting processor cores after reset or power off | |
JP5536297B2 (en) | Semiconductor integrated circuit and semiconductor integrated circuit test system supporting co-debugging function | |
KR20110124617A (en) | System-on-chip and debugging method thereof | |
KR20150008447A (en) | Device having configurable breakpoint based on interrupt status | |
US8762779B2 (en) | Multi-core processor with external instruction execution rate heartbeat | |
CN104272271B (en) | Processor device with instruction trace ability | |
US20060161818A1 (en) | On-chip hardware debug support units utilizing multiple asynchronous clocks | |
CN108121842B (en) | Method and device for verifying low-power-consumption working mode of multiprocessor system chip | |
US20090006068A1 (en) | Software executing device and co-operation method | |
US7269756B2 (en) | Customizable event creation logic for hardware monitoring | |
JP2006171810A (en) | Debugging control system and its control method | |
JP2005141532A (en) | System debugging device | |
JP2005165825A (en) | Trace information recorder | |
JP2007080292A (en) | Debugging system | |
JP2006163864A (en) | Debugging method and device for system lsi | |
JP2007264822A (en) | Microprocessor system | |
JPS6295644A (en) | Program debugging device for microprocessor | |
JP4119897B2 (en) | Control device for gaming machine | |
TWI470421B (en) | Microprocessor and debugging method thereof | |
JP2002132536A (en) | Lsi debugging system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080304 |