JP5310819B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP5310819B2
JP5310819B2 JP2011225842A JP2011225842A JP5310819B2 JP 5310819 B2 JP5310819 B2 JP 5310819B2 JP 2011225842 A JP2011225842 A JP 2011225842A JP 2011225842 A JP2011225842 A JP 2011225842A JP 5310819 B2 JP5310819 B2 JP 5310819B2
Authority
JP
Japan
Prior art keywords
interrupt
measurement
signal
timer
register
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
JP2011225842A
Other languages
English (en)
Other versions
JP2012133752A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2011225842A priority Critical patent/JP5310819B2/ja
Priority to DE102011086991A priority patent/DE102011086991A1/de
Priority to US13/305,133 priority patent/US8700956B2/en
Priority to GB1120523.4A priority patent/GB2485913A/en
Priority to CN201110386242.5A priority patent/CN102591758B/zh
Publication of JP2012133752A publication Critical patent/JP2012133752A/ja
Application granted granted Critical
Publication of JP5310819B2 publication Critical patent/JP5310819B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Measurement Of Unknown Time Intervals (AREA)

Description

本発明は、オンチップデバッグ機能を備えたマイクロコンピュータに関する。
従来、マイクロコンピュータのプログラムをデバッグする際に、プログラム中の特定の処理時間を計測するには、例えば特許文献1のように、処理時間の計測を開始するアドレスと計測を終了するアドレスとを設定し、アドレス間で処理時間を計測する技術がある。しかし、マイクロコンピュータは、メインルーチンの実行中に、関数処理などのサブルーチンや様々な割込み処理も実行することがあり、サブルーチンの処理中に割込みが発生する場合もある。したがって、それらを個別に計測するためには、例えば特許文献2のように、各処理ごとに計測開始アドレスと計測終了アドレスとを設定するレジスタや、計測結果を保持するレジスタを用意する必要がある。
特開平3−118644号公報 特許第2595728号公報
ここで、プログラムのデバッグ用にマイクロコンピュータのエミュレータが用意される場合には、回路規模の制約は比較的小さい。しかし、近年は、マイクロコンピュータに、プログラムをデバッグするための機能が予め搭載されている所謂オンチップデバッグ機能を備えたものが用いられている。この場合、回路規模の制約が大きくなることから、冗長な構成は極力削減することが望ましい。例えば、特許文献1の技術を用いて特定の処理に要する時間を計測することを想定すると、発生しうるすべての割込み処理の開始アドレスと終了アドレスを設定するレジスタを設けるか、または、計測対象の処理以外の割込みを一時的に禁止したり、或いは、許可する割込みのレベルを一時的に高く設定するように、デバッグ対象のソフトウェア(ユーザプログラム)を変更する必要がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、オンチップデバッグ機能を備える場合に、回路規模を極力増大させることなく、且つユーザプログラムの記述を変更させることなく、様々な処理に要する時間を計測することができるマイクロコンピュータを提供することにある。
請求項1記載のマイクロコンピュータによれば、オンチップデバッグ回路部に、ユーザによって指定された条件に応じて、CPUのプログラム実行期間に発生する2つのイベントの間を時間の計測対象とするタイマに計測許可信号を出力する計測許可信号出力手段 を備える。そして、タイマは、計測許可信号がアクティブとなる期間に計測動作を実行し、計測許可信号がインアクティブとなる期間に前記計測動作を一時停止する。これにより、ユーザが指定するイベントや計測許可信号の出力条件に応じて、1つのタイマにより様々な処理に要する時間を柔軟に計測することができる。したがって、オンチップデバッグ回路部を搭載することによる回路規模の増大を極力抑制できると共に、ユーザプログラムの記述を変更させることを回避できる。
また、計測許可信号出力手段は、タイマによる計測動作を許可又は禁止する割込みレベルを設定するための割込みレベル設定レジスタと、CPUが実行している割込み処理のレベルと割込みレベル設定レジスタに設定された割込みレベルとの高低関係を比較判定する判定手段とを備え、計測許可信号として、判定手段による判定結果を指定可能とする。したがって、2つのイベントが発生した間において、CPUが実行している割込み処理のレベルが、割込みレベル設定レジスタに設定されたレベルよりも高い場合,若しくは低い場合となる期間を、タイマにより計測することができる。
請求項2記載のマイクロコンピュータによれば、計測許可信号出力手段は、計測許可信号として、CPUが割込み処理中であることを示す割込み処理信号を指定可能とする。したがって、例えば2つのイベントの間においてCPUが割込み処理を実行している期間,若しくは割込み処理を実行していない期間の長さをタイマにより計測することができる。
請求項記載のマイクロコンピュータによれば、割込み保留信号出力手段は、CPUが上位レベルの割込み処理中に発生した下位レベルの割込み処理を保留していることを示す割込み保留信号を出力し、計測許可信号出力手段は、計測許可信号として割込み保留信号を指定可能とする。したがって、2つのイベントが発生した間において、CPUが割込み処理を保留している時間をタイマにより計測することができる。
請求項記載のマイクロコンピュータによれば、割込み禁止信号出力手段は、CPUに対する割込みが禁止されている期間にアクティブとなる割込み禁止信号を出力し、計測許可信号出力手段は、計測許可信号として割込み禁止信号を指定可能とする。したがって、2つのイベントが発生した間において、CPUに対する割込み処理が禁止されている時間をタイマにより計測することができる。
請求項記載のマイクロコンピュータによれば、比較手段は、開始アドレス設定レジスタ及び終了アドレス設定レジスタとCPUのプログラムカウンタの値とを比較する。そして、オンチップデバッグ回路部は、比較手段による比較結果をイベントとする。したがって、例えば特定の処理を行うためのサブルーチンプログラムの開始アドレスと終了アドレスとをそれぞれ対応するレジスタに設定しておけば、タイマによりサブルーチンプログラムの実行時間を計測することができる。
請求項記載のマイクロコンピュータによれば、オンチップデバッグ回路部は、割込み処理信号のレベルが変化するエッジをイベントとして指定可能とする。すなわち、割込み処理の開始,終了に伴って変化する割込み処理信号のエッジをイベントとすることで、タイマにより割込み処理に要する時間を計測することができる。
請求項記載のマイクロコンピュータによれば、オンチップデバッグ回路部は、割込みレベルを判定する判定手段により出力される判定信号のエッジをイベントとして指定可能とする。したがって、割込みレベル設定レジスタに設定したレベルにより、計測対象とする割込み処理の処理時間を選択的に計測できる。
請求項記載のマイクロコンピュータによれば、オンチップデバッグ回路部は、割込み保留信号のレベルが変化するエッジをイベントとして指定可能とする。したがって、割込み処理が保留されていた時間をタイマにより計測できる。
請求項記載のマイクロコンピュータによれば、オンチップデバッグ回路部は、割込み禁止信号のレベルが変化するエッジをイベントとして指定可能とする。したがって、割込み処理が禁止されていた時間をタイマにより計測できる。
請求項1記載のマイクロコンピュータによれば、最大値レジスタに、タイマによる計測結果の最大値を保持するようにし、最大値更新手段は、タイマによる計測動作が終了すると、その時点の計測結果と最大値レジスタに保持されている最大値とを比較して、前者の値が大きければ計測結果を最大値レジスタに書き込んで更新する。したがって、最大値レジスタにアクセスすれば、タイマによる計測結果の最大値を得ることができる。
請求項1記載のマイクロコンピュータによれば、最小値レジスタに、タイマによる計測結果の最小値を保持するようにし、最小値更新手段は、タイマによる計測動作が終了すると、その時点の計測結果と最小値レジスタに保持されている最小値とを比較して、前者の値が小さければ計測結果を最小値レジスタに書き込んで更新する。したがって、最小値レジスタにアクセスすれば、タイマによる計測結果の最小値を得ることができる。
請求項1記載のマイクロコンピュータによれば、計測回数カウンタは、タイマによる計測動作の実行回数をカウントし、累積値レジスタに、タイマによる計測動作の終了時に計測結果を累積して保持する。したがって、累積値レジスタに保持されているタイマによる計測結果の累積値を計測回数カウンタのカウント値で除すことにより、タイマによる計測結果の平均値を得ることが可能となる。
請求項1記載のマイクロコンピュータによれば、CPUに対するシステムクロック信号の供給を停止することで低消費電力モードに移行可能に構成され、オンチップデバッグ回路部の機能を有効化させた状態では、低消費電力モードに移行している期間においてもオンチップデバッグ回路部にシステムクロック信号を供給する。したがって、マイクロコンピュータが低消費電力モードに移行している期間においても、オンチップデバッグ回路部により、例えば上記期間の長さを計測することが可能となる。
第1実施例であり、マイクロコンピュータの構成を示す機能ブロック図 時間計測機能部及びイベント機能部の詳細構成を示す図 ユーザプログラムのデバッグを行う際に、タイマにより特定の処理時間を計測する場合の設定手順を示すフローチャート 4つの異なる処理時間計測パターンを示すタイミングチャート 第2実施例を示す図2の一部相当図 処理時間計測パターンを示すタイミングチャート 第3実施例を示す図2の一部相当図 図6相当図 第4実施例を示す図5又は図7相当図 図8相当図 図6相当図 割り込み間の最小時間計測パターンを示すタイミングチャート 第5実施例であり、マイクロコンピュータについてクロック信号の供給経路部分のみを概略的に示す図
(第1実施例)
以下、第1実施例について図1ないし図4を参照して説明する。図1は、マイクロコンピュータの構成を示す機能ブロック図である。マイクロコンピュータ(マイコン)1は、CPU2,割込み制御回路(割込み処理信号出力手段,割込み保留信号出力手段,割込み禁止信号出力手段)3,メモリ4,周辺回路5,デバッグ回路部(オンチップデバッグ回路部)6等を備えている。CPU2〜周辺回路5は、一般的なマイクロコンピュータの構成要素であり、これらはアドレスバス7及びデータバス8を介して接続されている。
割込み制御回路3は、CPU2に対して出力される各種の割込み信号をモニタして、例えば以下のような信号を発生させる。
・割込みの重要度を示す割込みレベルを示す信号
・CPU2が割込み処理を行っている期間にアクティブとなる割込み処理信号
・CPU2がレベルが上位の割込み処理を行っている間にレベルが下位の割込みが
発生することで、後者の割込み処理が保留されている期間にアクティブとなる
割込み保留信号
・割込み制御レジスタ(図示せず)に書き込みが行われ、CPU2に対する割込みの
出力が禁止されている期間にアクティブとなる割込み禁止信号
デバッグ回路部6は、例えばフラッシュROMなどの不揮発性メモリを備えて構成されるメモリ4に記憶され、CPU2によって実行されるユーザプログラムのデバッグを行う場合に使用される。デバッグ回路部6は、外部のデバッグツール9と通信を行い、当該ツール9において実行されるモニタプログラムに応じて、CPU2がユーザプログラムを実行した場合のレジスタや、ワークメモリ(メモリ4に含まれるRAM)の状態等をモニタするために動作する。
デバッグ回路部6は、実行制御機能部10,内蔵ブレーク機能部11,トレース機能部12,イベント機能部13,デバッグDMA機能部14,時間計測機能部15等を備えている。実行制御機能部10は、デバッグ回路部6が実行するデバッグ機能を統括的に制御する部分であり、内蔵ブレーク機能部11は、CPU2がユーザプログラムを実行している途中でその実行を停止させるブレーク機能を実現する部分である。トレース機能部12は、CPU2によるユーザプログラムの実行状態を追跡するトレース機能を実現する。イベント機能部13は、ユーザが設定した特定のイベントをトリガとするためにモニタを行う機能であり、デバッグDMA機能部14は、例えばメモリ4のデータを転送してデバッグツール9側で読み出すために使用される。
時間計測機能部15は、CPU2による各種の処理の実行時間を計測するための部分であり、その詳細構成をイベント機能部13と共に図2に示す。割込みレベル設定レジスタ21には、ユーザによりデバッグツール9を介して割込みレベルが書き込み設定され、そのレジスタ値は、比較器22(判定手段)において割込み制御回路3より与えられる割込みレベルと比較される。比較器22は、前記割込みレベル(B)が、前記レジスタ値(A)よりも大きい場合にアクティブとなる信号を、計測許可回路(計測許可信号出力手段)23を構成するセレクタ24に出力する。セレクタ24には、その他、割込み制御回路3より、上述した割込み処理信号,割込み保留信号,割込み禁止信号等が与えられている。
セレクタ24における入力信号の選択は、計測許可条件選択レジスタ25に書き込まれるレジスタ値によって行われる。計測許可条件選択レジスタ25には、ユーザによりデバッグツール9を介して、比較器22の出力信号,割込み処理信号,割込み保留信号,割込み禁止信号の何れを選択するかが書き込まれる。そして、セレクタ24の出力信号は、次段のセレクタ26に与えられる。
セレクタ26は、セレクタ24の出力信号とその負論理信号との何れかを、計測許可設定レジスタ27に書き込まれるレジスタ値に応じて選択し、タイマ28に計測許可/一時停止信号(計測許可信号)として出力する。計測許可設定レジスタ27には、計測許可条件選択レジスタ25と同様に、ユーザによりデバッグツール9を介して書き込みが行われる。タイマ28は、計測許可/一時停止信号がハイレベルの期間に計時動作を行い、同信号がローレベルの期間に計時動作を一時的に停止する。
タイマ28には、2つのセレクタ29,30より、それぞれ計測開始信号,計測終了信号が与えられる。これらのセレクタ29,30には、イベント機能部13より各種信号が入力される。イベント機能部13の立上り/立下りエッジ検出部(エッジ検出手段)31には、比較器22の出力信号,並びに割込み処理信号,割込み保留信号,割込み禁止信号が入力されている。立上り/立下りエッジ検出部31は、入力される各信号の立ち上りエッジ,立下りエッジを検出すると、それぞれについて例えばワンショットパルス信号を発生し、セレクタ29,30に出力する(すなわち、計測開始信号,計測終了信号がアクティブになることが、「イベントの発生」に対応する)。
尚、図示の都合上、立上り/立下りエッジ検出部31の出力線は4本となっているが、実際には、各信号について立上りエッジと立下りエッジとを個別に検出するので、出力線は8本となる。そして、セレクタ29,30も、それぞれが立上りエッジ入力と立下りエッジ入力とを個別に選択可能となっている。
また、イベント機能部13は、開始アドレス設定レジスタ32,終了アドレス設定レジスタ33,比較器34及び35(比較手段)を備えている。比較器34は、開始アドレス設定レジスタ32のレジスタ値とCPU2のプログラムカウンタ(図示せず)の値とを比較し、比較器35は、終了アドレス設定レジスタ33のレジスタ値と前記プログラムカウンタの値とを比較して、何れも両者が一致すると一致信号をセレクタ29,30にそれぞれ出力する。セレクタ29,30における入力信号の選択は、それぞれ計測開始条件選択レジスタ36,計測終了条件選択レジスタ37に書き込まれるレジスタ値によって行われる。これらのレジスタ36,37には、ユーザによりデバッグツール9を介して、セレクタ29,30に入力される信号の何れを選択するかが書き込まれる。
次に、本実施例の作用について図3及び図4を参照して説明する。図3は、ユーザプログラムのデバッグを行っている際に、タイマ28により特定の処理時間を計測する場合の設定手順を示すフローチャートである。CPU2がユーザプログラムを実行している途中で(ステップP1)デバッグツール9によりブレークをかけて、モニタプログラムを実行する。そして、タイマ28と、当該タイマ28により計測されたタイマ値が転送される時間計測データレジスタ(図示せず)とをクリアすると(ステップP2)、タイマ28による計測を開始するアドレス(イベントの発生)と、計測を終了するアドレス(イベントの発生)とを、イベント機能部13の開始アドレス設定レジスタ32,終了アドレス設定レジスタ33に書き込んで設定したり、計測開始条件選択レジスタ36,計測終了条件選択レジスタ37等の設定を行う(ステップP3)。
次に、割込みレベル設定レジスタ21に計測対象とする割込みレベルを設定したり、計測許可条件選択レジスタ25,計測許可選択レジスタ27等の設定を行う(ステップP4)。それから、モニタプログラムの実行を終了してユーザプログラムに復帰させると(ステップP5)、実行中に再びデバッグツール9によりブレークをかけて、モニタプログラムを実行する。そして、タイマ28のタイマ値と、後述する計測回数等を読み出す(ステップP6)。必要であればステップP2に戻り、処理時間計測のための設定を再度行う。
図4(a)〜(d)は、4つの異なる処理時間計測パターンを示すタイミングチャートであり、図4(a)は、各レジスタの設定を以下のように行った場合の計測状態を示している。尚、図中の破線はタイマ28による計測が停止されている期間であり(開始イベント未発生の状態)、太線はタイマ28による計測が実行されている期間,細線はタイマ28による計測が一時停止されている期間に対応する。
・割込みレベル設定レジスタ21:割込みレベル「X(任意)」
・計測許可条件選択レジスタ25:割込み処理信号
・計測許可選択レジスタ27 :「0」(停止)
・開始アドレスレジスタ32 :0xA00000
・終了アドレスレジスタ33 :0xB00000
・計測開始条件選択レジスタ36:比較器34
・計測終了条件選択レジスタ37:比較器35
ここで、計測開始条件選択レジスタ36の値は関数処理(サブルーチン処理)の開始アドレスに対応し、計測終了条件選択レジスタ37の値は関数処理の終了アドレスに対応する。そして、関数処理の実行中に割込みが発生すると、割込み処理信号がアクティブとなる。セレクタ26は、その反転信号をタイマ28に出力するので、割込み処理信号がアクティブとなる期間はタイマ28による計時動作は停止される。その結果、タイマ28は関数処理の実行時間だけを計測する。
図4(b)は、各レジスタの設定を以下のように行った場合の計測状態を示すタイミングチャートである。
・割込みレベル設定レジスタ21:割込みレベル「1」
・計測許可条件選択レジスタ25:比較器22
・計測許可選択レジスタ27 :「1」
・開始アドレスレジスタ32 :0x000000
・終了アドレスレジスタ33 :0xFFFFFE
・計測開始条件選択レジスタ36:比較器34
・計測終了条件選択レジスタ37:比較器35
ここで、計測開始条件選択レジスタ36の値はメインルーチン処理の開始アドレスに対応し、計測終了条件選択レジスタ37の値はメインルーチン処理の終了アドレスに対応する。すると、割込みレベルが「1」よりも大きい場合にタイマ28による計時動作が許可されるので、関数処理の実行中にレベル「2」以上の割込みが発生し、その割込み処理が実行されている時間だけが計測されることになる。尚、メインルーチン処理の実行中に割込みが発生した場合にも、同様に計測が行われる。
図4(c)は、各レジスタの設定を以下のように行った場合の計測状態を示すタイミングチャートである。
・割込みレベル設定レジスタ21:割込みレベル「X」
・計測許可条件選択レジスタ25:割込み処理信号
・計測許可選択レジスタ27 :「1」
・開始アドレスレジスタ32 :0x000000(若しくは任意)
・終了アドレスレジスタ33 :0xFFFFFE(若しくは任意)
・計測開始条件選択レジスタ36:割込み保留信号の立上がりエッジ
・計測終了条件選択レジスタ37:割込み保留信号の立下がりエッジ
計測開始条件選択レジスタ36,計測終了条件選択レジスタ37の値は図4(b)と同じでも、或いは任意でも良い。この場合、レベル「2」の割込みが発生してその処理を行っている途中にレベル「1」の割込みが発生し、後者の処理が保留されている期間に割込み保留信号がアクティブとなる。そこで、割込み保留信号の立上がりエッジでタイマ28による計測を開始させ、割込み保留信号の立下がりエッジでタイマ28による計測を終了させる。また、割込み処理が行われている期間は、タイマ28の計測が許可される。その結果、レベル「1」の割込み処理が保留されている時間が計測されることになる。
尚、この場合、割込み処理信号と、割込み保留信号とを入れ替えて同様に計測することも可能である。すなわち、割込み処理信号の立上がりエッジでタイマ28による計測を開始させ、割込み処理信号の立下がりエッジでタイマ28による計測を終了させるようにし、割込み保留信号がアクティブとなる期間にタイマ28の計測を許可しても良い。
図4(d)は、各レジスタの設定を以下のように行った場合の計測状態を示すタイミングチャートである。
・割込みレベル設定レジスタ21:割込みレベル「X」
・計測許可条件選択レジスタ25:割込み禁止信号
・計測許可選択レジスタ27 :「1」
・開始アドレスレジスタ32 :0x000000
・終了アドレスレジスタ33 :0xFFFFFE
・計測開始条件選択レジスタ36:比較器34
・計測終了条件選択レジスタ37:比較器35
計測開始条件選択レジスタ36,計測終了条件選択レジスタ37の値は図4(b)と同じである。そして、関数処理の実行中にレベル「1」,「2」の割込みが発生しているが、それらの割込み処理が禁止されており、割込み禁止信号がアクティブとなる期間にタイマ28による計測が許可される。その結果、割込み処理が禁止されている時間が計測されることになる。
この場合も図4(c)と同様に、割込み禁止信号の立上がりエッジでタイマ28による計測を開始させ、割込み禁止信号の立下がりエッジでタイマ28による計測を終了させるようにし、割込み処理信号がインアクティブとなる期間にタイマ28の計測を許可することで、同様の計測を行うことができる。
以上のように本実施例によれば、マイコン1のデバッグ回路部6に、ユーザによって指定された条件に応じて、CPU2のプログラム実行期間に発生する2つのイベントの間を時間の計測対象とするタイマ28に対し、計測許可信号を出力する計測許可回路23を備える。そして、タイマ28は、計測許可信号がアクティブとなる期間に計測動作を実行する。これにより、ユーザが指定するイベントや計測許可信号の出力条件に応じて、1つのタイマ28により様々な処理に要する時間を柔軟に計測することができる。したがって、マイコン1にデバッグ回路部6を搭載することによる回路規模の増大を極力抑制できると共に、ユーザプログラムの記述を変更させることを回避できる。
具体的には、計測許可回路23は、タイマ28による計測動作を許可又は禁止する割込みレベルを設定するための割込みレベル設定レジスタ21と、CPU2が実行している割込み処理のレベルと、割込みレベル設定レジスタ21に設定された割込みレベルとの高低関係を比較判定する比較器22とを備え、計測許可信号として比較器22による判定結果を指定可能に構成した。したがって、2つのイベントが発生した間において、CPU2が実行している割込み処理のレベルが割込みレベル設定レジスタ21に設定されたレベル以上である期間を、タイマ28により計測することができる。
また、比較器34,35は、開始アドレス設定レジスタ32及び終了アドレス設定レジスタ33とCPU2のプログラムカウンタの値とを比較する。そして、デバッグ回路部6は、比較器34,35による比較結果をイベントとするので、例えば特定の処理を行うための関数処理プログラムの開始アドレスと終了アドレスとをそれぞれ対応するレジスタ32,33に設定しておくことで、タイマ28により関数処理プログラムの実行時間を計測することができる。
したがって、CPU2が関数処理を実行している途中に割込みが発生した場合であっても、計測許可設定レジスタ27における設定に応じて、関数処理の実行時間又は割込み処理の実行時間の何れかだけを共通のタイマに28より計測することが可能になる。これにより、デバッグ回路部6の回路規模を極力増大させること無く、また、デバッグ対象のユーザプログラムに大きな変更を加えることなく、関数処理の実行時間又は割込みの実行時間を計測できる。そして、割込みのレベル(重要度)が複数段階に設定されている場合でも、そのレベルを指定することで実行時間の計測対象を変更できる。
その他、計測許可回路23は、計測許可信号として、CPU2が割込み処理中であることを示す割込み処理信号,CPU2が上位レベルの割込み処理中に発生した下位レベルの割込み処理を保留していることを示す割込み保留信号,CPU2に対する割込みが禁止されている期間にアクティブとなる割込み禁止信号を、計測許可/一時停止信号とするように指定可能となっているので、例えば2つのイベントの間においてCPUが割込み処理を実行している期間,若しくは割込み処理を実行していない期間の長さや、割込み保留,割込み禁止の期間の長さ等をタイマ28により計測することができる。
また、デバッグ回路部6は、割込み処理信号のレベルが変化するエッジ,割込みレベルを判定する比較器22により出力される比較信号(判定信号)のエッジ,割込み保留信号のレベルが変化するエッジや割込み禁止信号のレベルが変化するエッジを、セレクタ29,30によりイベントとして指定可能となっている。したがって、割込み処理が保留されていた時間や、割込み処理が禁止されていた時間等をタイマ28により計測できる。
(第2実施例)
図5及び図6は第2実施例であり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図5は図2の一部相当図であり、セレクタ29の出力信号について立上りエッジを検出する立上りエッジ検出部41と、この立上りエッジ検出部41の出力信号の出力回数をカウントする計測回数カウンタ42とを備える。立上りエッジ検出部41は、セレクタ29の出力信号の立ち上がりエッジを検出する毎に、ワンショットのパルス信号を出力する。
図6は、各レジスタの設定を、第1実施例の図4(a)のケースと同様に行った場合の計測状態を示すタイミングチャートである。第2実施例の場合、関数処理の実行が開始され、CPU2のプログラムカウンタの値が開始アドレス0xA00000を示すごとに、タイマ28により計測が行われる。尚、終了アドレス0xB00000に到達しても、タイマ28の計測値はリセットされることなく、計測結果は累積されるようになっている。
そして、計測回数カウンタ42には、タイマ28による計測の開始が何回行われたかが格納されている。したがって、ユーザプログラムを所定の期間実行させた後にブレークをかけて、モニタプログラムによりタイマ28の計測値と計測回数カウンタ42のカウント値とを参照して前者の値を後者の値で除すことで、関数処理の平均実行時間を得ることができる。
以上のように第2実施例によれば、タイマ28による時間計測の実行回数をカウントするための計測回数カウンタ42を備え、タイマ28に、関数処理が複数回連続して実行された期間を継続して計測させるようにした。したがって、ある時点でのタイマ28の計測値を上記実行回数で除算すれば、関数処理の平均実行時間を得ることができる。
(第3実施例)
図7及び図8は第3実施例であり、第1実施例と異なる部分について説明する。図7は図2の一部相当図であり、立上りエッジ検出部43は、セレクタ26の出力信号の立上がりエッジを検出するとワンショットパルスを検出信号として出力するもので、その検出信号は、タイマ28にリセット信号として出力されている。また、タイマ28の計測データは、比較器44とセレクタ45とに与えられている。セレクタ45の出力側には、最大値保持レジスタ46が接続されており、最大値保持レジスタ46のレジスタ値も、比較器44とセレクタ45とに与えられている。すなわち、比較器44は、タイマ28の計測データ値と最大値保持レジスタ46のレジスタ値とを比較し、前者の値が後者の値よりも大である場合は、セレクタ45にタイマ28の計測データ値を選択させて、最大値保持レジスタ46に書き込ませる。
次に、第3実施例の作用について図8を参照して説明する。図8は、各レジスタの設定を図4(b)のケースと同様にして計測を行った場合であり、割込みレベルが「2」以上の場合にタイマ28による計測動作が許可される。これは、レベル「2」以下の割込みが、新たに割込みを発生させることができない時間(不感帯)に相当する。そして、タイマ28は、レベル「2」以上の割込みが発生する毎にリセットされる。図8に示すケースでは、タイマ28による計測データの最大値「5」が最大値保持レジスタ46に保持されている。
以上のように第3実施例によれば、セレクタ26が計測許可信号を出力するとタイマ28により計測を行わせる場合に、タイマ28が計測した実行時間のデータを最大値保持レジスタ46に保持させる。そして、計測許可信号がアクティブになる毎にタイマ28をリセットさせるようにし、比較器44は、最大値保持レジスタ46に保持されている過去のデータ値よりもタイマ28が計測した今回のデータ値が大きい場合には、当該データ値を最大値保持レジスタ46に格納して更新するようにした。したがって、所定レベルの割込みが、新たに割込みを発生させることができない不感帯に相当する時間の最大値を計測することができる。
(第4実施例)
図9ないし図12は第4実施例である。第2実施例では、関数処理の平均実行時間を得るための構成を、第3実施例では、不感帯に相当する時間の最大値を計測するための構成をそれぞれ個別に示したが、第4実施例は、これらを共通の構成により実現可能にすると共に、割り込みが発生する間隔の最小時間も測定可能となる構成例を示す。図9は、図5又は図7相当図であり、セレクタ29及び30の出力端子には、それぞれ立上りエッジ検出部51及び52が配置されている。立上りエッジ検出部51の出力信号は、計測回数カウンタ53に与えられて出力回数がカウントされると共に、タイマ28にリセット信号として与えられている。また、立上りエッジ検出部52の出力信号は、最大値保持レジスタ46にセレクタ45(最大値更新手段)より出力されるデータの保持タイミング信号として与えられている。
また、比較器54,セレクタ55及び最小値保持レジスタ56は、比較器44(最大値更新手段),セレクタ45及び最大値保持レジスタ46と同様の接続関係によって接続されている。そして、比較器54(最小値更新手段)は、タイマ28のタイマ値と最小値保持レジスタ56に保持されているデータ値とを比較し、値が小さい方を選択して最小値保持レジスタ56に出力させるようにセレクタ55(最小値更新手段)に選択切り替え信号を出力する。
更に、加算器57及び累積値保持レジスタ58が設けられており、加算器57の入力端子には、タイマ28のタイマ値と、累積値保持レジスタ58に保持されているレジスタ値とが与えられている。加算器57は、双方の入力端子に与えられているデータ値の加算結果を累積値保持レジスタ58に出力する。そして、立上りエッジ検出部52の出力信号は、最小値保持レジスタ56及び累積値保持レジスタ58にデータの保持タイミング信号として与えられている。
次に、第4実施例の作用について図10ないし図12を参照して説明する。図10は、第3実施例と同様に、レベル「2」以下の割込みが、新たに割込みを発生させることができない時間である不感帯の最大時間を取得する場合のタイミングチャートである。この場合の各レジスタは、以下のように設定する。
・割込みレベル設定レジスタ21:割込みレベル「1」
・計測許可条件選択レジスタ25:比較器22
・計測許可選択レジスタ27 :「1」
・開始アドレスレジスタ32 :任意
・終了アドレスレジスタ33 :任意
・計測開始条件選択レジスタ36:比較器22の立上がりエッジ
・計測終了条件選択レジスタ37:比較器22の立下がりエッジ
以上のように設定することで、タイマ28はレベル「2」以上の割込みを処理する期間を計測し、比較器22の立下がりエッジが検出されると、セレクタ30及び立上りエッジ検出部52を介して最大値保持レジスタ46に保持タイミング信号が出力される。これにより、その時点でタイマ28により計測されているタイマ値と、最大値保持レジスタ46に保持されているデータ値とでより大きい方が最大値保持レジスタ46に保持される。そして、次に比較器22の立上がりエッジが検出されると、セレクタ29及び立上りエッジ検出部51を介してタイマ28にリセット信号が出力される。図10に示す例では、最大値保持レジスタ46に保持される最大値は、「0」→「3」→「5」と変化している。
図11は、第2実施例と同様に、関数処理時間の平均値を取得する場合のタイミングチャートである。この場合の各レジスタは、以下のように設定する。
・割込みレベル設定レジスタ21:割込みレベル「0」
・計測許可条件選択レジスタ25:比較器22
・計測許可選択レジスタ27 :「0」
・開始アドレスレジスタ32 :0xA00000
・終了アドレスレジスタ33 :0xB00000
・計測開始条件選択レジスタ36:比較器34
・計測終了条件選択レジスタ37:比較器35
以上のように設定することで、関数処理の実行が開始されてCPU2のプログラムカウンタの値が開始アドレス0xA00000を示す毎に、タイマ28がリセットされてから計測が開始される。そして、終了アドレス0xB00000に到達すると、タイマ28の計測値は加算器57を介して累積値保持レジスタ58に累積的に保持される。また、計測回数カウンタ53には、タイマ28による計測の開始が何回行われたかが格納されるので、ユーザプログラムを所定の期間実行させた後にブレークをかけて、モニタプログラムにより累積値保持レジスタ58に格納されている値と計測回数カウンタ53のカウント値とを参照して前者の値を後者の値で除すことで関数処理の平均実行時間が得られる。図11に示す例では、累積値保持レジスタ58に保持される累積値は「0」→「5」→「9」と変化し、計測回数カウンタ53のカウント値は「0」→「1」→「2」と変化している。
また、図12は、レベル「2」の割込み発生間隔の最小時間を取得する場合のタイミングチャートである。この場合の各レジスタは、以下のように設定する。
・割込みレベル設定レジスタ21:割込みレベル「0」
・計測許可条件選択レジスタ25:比較器22
・計測許可選択レジスタ27 :「0」
・開始アドレスレジスタ32 :0xD00000
・終了アドレスレジスタ33 :0xC00000
・計測開始条件選択レジスタ36:比較器34
・計測終了条件選択レジスタ37:比較器35
ここで、アドレス0xC00000は、レベル「2」以上の割込みを処理するサブルーチンの開始アドレスであり、アドレス0xD00000は前記サブルーチンの終了アドレスである。
以上のように設定することで、タイマ28はプログラムカウンタの値が終了アドレス0xD00000に到達するとリセットされて計測を開始し、開始アドレス0xC00000に到達すると計測を終了する。そして、その時点のタイマ値と、最小値保持レジスタ56に保持されているデータ値とでより小さい方が最小値保持レジスタ56に保持される。図12に示す例では、最小値保持レジスタ56に保持される最小値は、「F」→「7」→「5」と変化している。
以上のように第4実施例によれば、最大値保持レジスタ46に、タイマ28による計測結果の最大値を保持するようにし、比較器44は、タイマ28による計測動作が終了すると、その時点の計測結果と最大値保持レジスタ46に保持されている最大値とを比較して、前者の値が大きければセレクタ45を介して計測結果を最大値保持レジスタ46に書き込んで更新する。したがって、最大値保持レジスタ46にアクセスすれば、タイマ28による計測結果の最大値を得ることができる。
また、最小値保持レジスタ56に、タイマ28による計測結果の最小値を保持するようにし、比較器54は、タイマ28による計測動作が終了すると、その時点の計測結果と最小値保持レジスタ56に保持されている最小値とを比較して、前者の値が小さければセレクタ55を介して計測結果を最小値保持レジスタ56に書き込んで更新する。したがって、最小値保持レジスタ56にアクセスすれば、タイマ28による計測結果の最小値を得ることができる。
更に、計測回数カウンタ53は、タイマ28による計測動作の実行回数をカウントし、累積値保持レジスタ58に、タイマ28による計測動作の終了時に、加算器57により計測結果を累積して保持するようにした。したがって、累積値保持レジスタ58に保持されている累積値を計測回数カウンタ58のカウント値で除すことにより、タイマ28による計測結果の平均値を得ることが可能となる。
(第5実施例)
図13は第5実施例である。第5実施例は、オンチップデバッグ機能を備えているマイクロコンピュータ61が、通常の動作モードからCPU2等に対するクロック信号(CPUクロック)の供給を停止するスリープ又はスタンバイモード(低消費電力モード)に移行可能に構成されているとする。図13は、マイクロコンピュータ61について、クロック信号の供給経路部分のみを概略的に示している。発振回路62は、例えばCR発振回路や水晶発振子を用いた発振回路等で構成されており、周波数が例えばkHzオーダーの基準クロック信号を出力する。
基準クロック信号は、例えばアナログ若しくはデジタルのPLL(Phase Locked Loop)回路である2つの逓倍/分周回路63及び64に入力されている。逓倍/分周回路63及び64は、逓倍/分周率を設定するためのレジスタ(図示せず)に設定された値に応じて、例えば周波数がMHzオーダーの逓倍クロック信号(システムクロック信号)を生成して出力する。そして、逓倍/分周回路63より出力される逓倍クロック信号はCPUクロックとして、CPU2や割り込み制御回路3,周辺回路5等(必要に応じてメモリ4にも)に供給される。一方、逓倍/分周回路64より出力される逓倍クロック信号は、デバッグ回路部6に供給される。
また、逓倍/分周回路63は、マイクロコンピュータ61を低消費電力モードに設定するための信号(低消費電力モード信号)がアクティブになると発振動作を停止する。低消費電力モード信号は、例えば予め定められている所定の移行周期毎にCPU2により出力され、低消費電力モードの移行期間を計時するタイマにより前記期間が計時されるとインアクティブとなる。また、低消費電力モード信号は、ANDゲート65の一方の入力端子にも与えられている。そして、デバッグ回路部6の機能を有効にするための信号(デバッグ機能有効信号)は、NOTゲート66を介して逓倍/分周回路64に停止制御信号として与えられている共に、ANDゲート65の他方の入力端子に与えられており、ANDゲート65の出力信号は発振回路62に停止制御信号として与えられている。
以上の構成により、低消費電力モード信号及びデバッグ機能有効信号それぞれの状態に応じて、発振回路62,逓倍/分周回路63及び64がそれぞれ動作を停止する条件は以下のようになる。尚、○はアクティブ,×はインアクティブを示す。
低消費電力モード信号 デバッグ機能有効信号
発振回路62 ○ ×
逓倍/分周回路63 ○ −
逓倍/分周回路64 − ×
したがって、発振回路62は、マイクロコンピュータ61が低消費電力モードに移行しても、デバッグ機能有効信号がアクティブとなりデバッグ回路部6が動作する期間は基準クロック信号を出力するが、逓倍/分周回路63が停止するのでCPUクロックは出力されない。一方、逓倍/分周回路64は、デバッグ機能有効信号がアクティブであれば動作するので、逓倍クロック信号がデバッグ回路部6に供給される。そして、デバッグ機能有効信号がインアクティブになると逓倍/分周回路64の動作は停止する。
以上のように第5実施例によれば、マイクロコンピュータ61が、CPU2等に対する逓倍クロック信号の供給を停止することで低消費電力モードに移行可能に構成されル場合に、デバッグ回路部6の機能を有効化させた状態では、低消費電力モードに移行している期間においてもオンチップデバッグ回路部6に逓倍クロック信号を供給する。したがって、低消費電力モードに移行している期間においても、デバッグ回路部6により、例えば上記期間の長さを計測することが可能となる。また、第2,第3実施例ではそれぞれ個別の構成を採用することで実行した計測を、第5実施例では共通の構成によって実現できるので、汎用性を向上させて回路規模の増大を抑制できる。
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
図2に示す構成は、個別の設計に応じて、計測に必要である信号を適宜選択すれば良く、必ずしも図2と同様に構成する必要はない。
比較器22は、B<Aとなった場合にアクティブとなる信号を出力するようにしても良く、その場合は、セレクタ26における「1,0」の選択を逆にすれば良い。
第2〜第4実施例を、その他の処理の計測、例えば割込み処理時間や割込み保留時間,割込み禁止時間の計測などに適用しても良い。
第4実施例において、加算器57及び累積値保持レジスタ58をアキュムレータにより構成しても良い。
第5実施例を、その他の実施例と適宜組み合わせて実行しても良い。
図面中、1はマイクロコンピュータ、2はCPU、3は割込み制御回路(割込み処理信号出力手段,割込み保留信号出力手段,割込み禁止信号出力手段)、6はデバッグ回路部(オンチップデバッグ回路部)、22は比較器(判定手段)、23は計測許可回路(計測許可信号出力手段)、28はタイマ、31は立上り/立下りエッジ検出部(エッジ検出手段)、32は開始アドレス設定レジスタ、33は終了アドレス設定レジスタ、34及び35は比較器(比較手段)、44は比較器(最大値更新手段)、45はセレクタ(最大値更新手段)、46は最大値保持レジスタ、53は計測回数カウンタ、54は比較器(最小値更新手段)、55はセレクタ(最小値更新手段)、56は最小値保持レジスタ、57は加算器、58は累積値保持レジスタ、61はマイクロコンピュータを示す。

Claims (13)

  1. デバッグ機能を有するオンチップデバッグ回路部を備えてなるマイクロコンピュータにおいて、
    前記オンチップデバッグ回路部に、
    CPUがプログラムを実行している期間に、ユーザにより指定されて発生する2つのイベントの間を、時間の計測対象とするタイマと、
    ユーザによって指定された条件に応じて、前記タイマによる計測動作を許可する計測許可信号を出力する計測許可信号出力手段とを備え、
    前記タイマは、前記計測許可信号がアクティブとなる期間に計測動作を実行し、前記計測許可信号がインアクティブとなる期間に前記計測動作を一時停止するように構成され
    前記計測許可信号出力手段は、前記タイマによる計測動作を許可又は禁止する割込みレベルを設定する割込みレベル設定レジスタと、
    前記CPUが実行している割込み処理のレベルと、前記割込みレベル設定レジスタに設定された割込みレベルとの高低関係を比較判定し、判定信号を出力する判定手段とを備え、
    前記計測許可信号として、前記判定手段による判定結果を指定可能であることを特徴とするマイクロコンピュータ。
  2. 前記CPUが割込み処理中であることを示す割込み処理信号を出力する割込み処理信号出力手段を備え、
    前記計測許可信号出力手段は、前記計測許可信号として、前記割込み処理信号を指定可能であることを特徴とする請求項1記載のマイクロコンピュータ。
  3. 前記CPUが、上位レベルの割込み処理中に発生した下位レベルの割込み処理を保留していることを示す割込み保留信号を出力する割込み保留信号出力手段を備え、
    前記計測許可信号出力手段は、前記計測許可信号として、前記割込み保留信号を指定可能であることを特徴とする請求項1又は2記載のマイクロコンピュータ。
  4. 前記CPUに対する割込みが禁止されている期間にアクティブとなる割込み禁止信号を出力する割込み禁止信号出力手段を備え、
    前記計測許可信号出力手段は、前記計測許可信号として、前記割込み禁止信号を指定可能であることを特徴とする請求項1ないし3の何れかに記載のマイクロコンピュータ。
  5. 計測開始アドレスが設定される開始アドレス設定レジスタと、
    計測終了アドレスが設定される終了アドレス設定レジスタと、
    前記開始アドレス設定レジスタ及び前記終了アドレス設定レジスタと前記CPUのプログラムカウンタの値とを比較する比較手段とを備え、
    前記オンチップデバッグ回路部は、前記比較手段による比較結果を前記イベントとすることを特徴とする請求項1ないし4の何れかに記載のマイクロコンピュータ。
  6. 前記CPUが割込み処理中であることを示す割込み処理信号を出力する割込み処理信号出力手段と、
    前記割込み処理信号のレベルが変化するエッジを検出するエッジ検出手段とを備え、
    前記オンチップデバッグ回路部は、前記エッジを前記イベントとして指定可能であることを特徴とする請求項1ないし5の何れかに記載のマイクロコンピュータ。
  7. 前記計測許可信号出力手段は、前記タイマによる計測動作を許可又は禁止する割込みレベルを設定する割込みレベル設定レジスタと、
    前記CPUが実行している処理が、前記割込みレベル設定レジスタに設定された割込みレベル以上か、若しくは前記割込みレベル未満かを判定し、判定信号を出力する判定手段と、
    前記判定信号のレベルが変化するエッジを検出するエッジ検出手段とを備え、
    前記オンチップデバッグ回路部は、前記エッジを前記イベントとして指定可能であることを特徴とする請求項1ないし6の何れかに記載のマイクロコンピュータ。
  8. 上位レベルの割込み処理中に発生した下位レベルの割込み処理を保留していることを示す割込み保留信号を出力する割込み保留信号出力手段と、
    前記割込み保留信号のレベルが変化するエッジを検出するエッジ検出手段とを備え、
    前記オンチップデバッグ回路部は、前記エッジを前記イベントとして指定可能であることを特徴とする請求項1ないし7の何れかに記載のマイクロコンピュータ。
  9. 前記CPUに対する割込みが禁止されている期間にアクティブとなる割込み禁止信号を出力する割込み禁止信号出力手段と、
    前記割込み禁止信号のレベルが変化するエッジを検出するエッジ検出手段とを備え、
    前記オンチップデバッグ回路部は、前記エッジを前記イベントとして指定可能であることを特徴とする請求項1ないし8の何れかに記載のマイクロコンピュータ。
  10. 前記タイマによる計測結果の最大値を保持する最大値レジスタと、
    前記タイマによる計測動作が終了すると、その時点の計測結果と前記最大値レジスタに保持されている最大値とを比較して、前者の値が大きければ前記計測結果を前記最大値レジスタに書き込んで更新する最大値更新手段とを備えたことを特徴とする請求項1ないし9の何れかに記載のマイクロコンピュータ。
  11. 前記タイマによる計測結果の最値を保持する最値レジスタと、
    前記タイマによる計測動作が終了すると、その時点の計測結果と前記最値レジスタに保持されている最値とを比較して、前者の値が小さければ前記計測結果を前記最値レジスタに書き込んで更新する最値更新手段とを備えたことを特徴とする請求項1ないし10の何れかに記載のマイクロコンピュータ。
  12. 前記タイマによる計測動作の実行回数をカウントする計測回数カウンタと、
    前記タイマによる計測動作の終了時に、当該タイマによる計測結果を累積して保持する累積値レジスタとを備えたことを特徴とする請求項1ないし11の何れかに記載のマイクロコンピュータ。
  13. システムクロック信号を生成出力するクロック信号出力回路を備え、
    前記CPUに対する前記システムクロック信号の供給を停止することで低消費電力モードに移行可能であると共に、
    前記オンチップデバッグ回路部の機能を有効化させた状態では、前記低消費電力モードに移行している期間においても、前記オンチップデバッグ回路部に前記システムクロック信号を供給するように構成されていることを特徴とする請求項1ないし12の何れかに記載のマイクロコンピュータ。
JP2011225842A 2010-11-29 2011-10-13 マイクロコンピュータ Expired - Fee Related JP5310819B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011225842A JP5310819B2 (ja) 2010-11-29 2011-10-13 マイクロコンピュータ
DE102011086991A DE102011086991A1 (de) 2010-11-29 2011-11-24 Mikrocomputer
US13/305,133 US8700956B2 (en) 2010-11-29 2011-11-28 Microcomputer
GB1120523.4A GB2485913A (en) 2010-11-29 2011-11-29 Measuring time between two events in a data processing system
CN201110386242.5A CN102591758B (zh) 2010-11-29 2011-11-29 微计算机

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010265014 2010-11-29
JP2010265014 2010-11-29
JP2011225842A JP5310819B2 (ja) 2010-11-29 2011-10-13 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2012133752A JP2012133752A (ja) 2012-07-12
JP5310819B2 true JP5310819B2 (ja) 2013-10-09

Family

ID=45508886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011225842A Expired - Fee Related JP5310819B2 (ja) 2010-11-29 2011-10-13 マイクロコンピュータ

Country Status (5)

Country Link
US (1) US8700956B2 (ja)
JP (1) JP5310819B2 (ja)
CN (1) CN102591758B (ja)
DE (1) DE102011086991A1 (ja)
GB (1) GB2485913A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104995605B (zh) * 2013-08-07 2018-07-10 富士电机株式会社 监视方法和计算机装置
US9489287B2 (en) * 2013-08-23 2016-11-08 Atmel Corporation Breaking code execution based on time consumption
JP6264662B2 (ja) * 2015-01-08 2018-01-24 京セラドキュメントソリューションズ株式会社 集積回路
JP2018045419A (ja) * 2016-09-14 2018-03-22 ルネサスエレクトロニクス株式会社 デバッグシステム、マイクロコンピュータ及びその方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4511961A (en) * 1982-04-16 1985-04-16 Ncr Corporation Apparatus for measuring program execution
US5103394A (en) * 1984-04-30 1992-04-07 Hewlett-Packard Company Software performance analyzer
US4845615A (en) * 1984-04-30 1989-07-04 Hewlett-Packard Company Software performance analyzer
JPS62239247A (ja) * 1986-04-10 1987-10-20 Mitsubishi Electric Corp 電子計算機
JP2595718B2 (ja) 1989-06-15 1997-04-02 横河電機株式会社 インサーキットエミュレータ
JP2834194B2 (ja) * 1989-07-14 1998-12-09 株式会社日立製作所 ハードウエアモニタ
JPH03118644A (ja) * 1989-09-29 1991-05-21 Nippondenso Co Ltd プログラム実行モニタ
JPH0451332A (ja) 1990-06-20 1992-02-19 Oki Electric Ind Co Ltd プロセス/タスク実行時間測定回路
JPH04349543A (ja) 1991-05-28 1992-12-04 Nec Corp プログラム処理時間の測定方式
JPH05298138A (ja) * 1992-04-20 1993-11-12 Hitachi Ltd デバッグ支援回路、及びエミュレータ
JPH07281964A (ja) * 1994-04-13 1995-10-27 Sekisui Chem Co Ltd パラレルデータ検査装置
JPH09305412A (ja) * 1996-05-16 1997-11-28 Mitsubishi Electric Corp 最大割り込み禁止期間測定機能を有するマイクロコンピュータ
JPH10228386A (ja) * 1997-02-13 1998-08-25 Nec Corp プロセスイベント待ち時間測定方式
US6185732B1 (en) 1997-04-08 2001-02-06 Advanced Micro Devices, Inc. Software debug port for a microprocessor
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
US6094729A (en) 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US5978902A (en) 1997-04-08 1999-11-02 Advanced Micro Devices, Inc. Debug interface including operating system access of a serial/parallel debug port
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US6142683A (en) 1997-04-08 2000-11-07 Advanced Micro Devices, Inc. Debug interface including data steering between a processor, an input/output port, and a trace logic
US6148381A (en) 1997-04-08 2000-11-14 Advanced Micro Devices, Inc. Single-port trace buffer architecture with overflow reduction
US6009270A (en) 1997-04-08 1999-12-28 Advanced Micro Devices, Inc. Trace synchronization in a processor
US6189140B1 (en) 1997-04-08 2001-02-13 Advanced Micro Devices, Inc. Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic
US6167536A (en) 1997-04-08 2000-12-26 Advanced Micro Devices, Inc. Trace cache for a microprocessor-based device
US6041406A (en) 1997-04-08 2000-03-21 Advanced Micro Devices, Inc. Parallel and serial debug port on a processor
US6314530B1 (en) 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
JPH1115704A (ja) * 1997-06-19 1999-01-22 Mitsubishi Electric Corp エミュレーション制御方法およびエミュレータ装置
JPH1165897A (ja) * 1997-08-19 1999-03-09 Nec Corp デバッガ内蔵マイクロプロセッサ
JP3133730B2 (ja) * 1998-11-13 2001-02-13 日本電気アイシーマイコンシステム株式会社 割り込み方法及び回路
JP4338811B2 (ja) * 1999-03-19 2009-10-07 Necエンジニアリング株式会社 処理時間計測装置および処理時間計測方法
JP2001297012A (ja) * 2000-04-11 2001-10-26 Hitachi Ltd マイクロプロセッサ及びエミュレータ
JP4298224B2 (ja) 2001-06-07 2009-07-15 キヤノン株式会社 記録装置及び該装置の制御方法
CN100381014C (zh) * 2002-08-09 2008-04-09 松下电器产业株式会社 遥控接收***
JP2005100017A (ja) * 2003-09-24 2005-04-14 Seiko Epson Corp プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法
US7895382B2 (en) * 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
JP4410661B2 (ja) * 2004-11-09 2010-02-03 株式会社日立製作所 分散制御システム
JP2006293427A (ja) * 2005-04-05 2006-10-26 Renesas Technology Corp ソフトウェア評価装置及びシステム
CN100419709C (zh) 2005-09-30 2008-09-17 联想(北京)有限公司 一种计算机***及统计累积使用时间的方法
JP2008310748A (ja) 2007-06-18 2008-12-25 Honda Motor Co Ltd タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム
JP4383494B1 (ja) * 2008-09-11 2009-12-16 Necエレクトロニクス株式会社 データ処理システム及びデバッグ方法

Also Published As

Publication number Publication date
GB2485913A (en) 2012-05-30
CN102591758A (zh) 2012-07-18
GB201120523D0 (en) 2012-01-11
US20120137176A1 (en) 2012-05-31
DE102011086991A1 (de) 2012-07-19
US8700956B2 (en) 2014-04-15
CN102591758B (zh) 2015-01-28
JP2012133752A (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
US8937496B1 (en) Clock monitor
US8799713B2 (en) Interruptible non-destructive run-time built-in self-test for field testing
KR101526051B1 (ko) 열적 제어 장치 및 방법론
US6839654B2 (en) Debug interface for an event timer apparatus
US9157959B2 (en) Semiconductor device
JP5310819B2 (ja) マイクロコンピュータ
KR20150008447A (ko) 인터럽트 상태에 기초한 구성 가능한 브레이크포인트를 갖는 디바이스
US8185772B2 (en) Determining execution times of commands
US9887701B1 (en) Frequency offset correction precision of real-time clocks
US10176076B2 (en) Breaking code execution based on time consumption
JP4454772B2 (ja) 通信バスの異常検出装置とマイクロコンピュータ
EP2735970B1 (en) Dynamic library profiling method
US9495239B1 (en) User-configurable error handling
JP2012222192A (ja) 半導体集積回路及び誤動作防止方法
US20160103704A1 (en) Data processing device and method of controlling the same
US10288496B1 (en) Ring oscillator for temperature or voltage sensing
US9600422B2 (en) Monitoring accesses to memory in a multiprocessor system
CN101403989B (zh) 半导体集成电路
JP5987723B2 (ja) 通信用スレーブ
US20130047003A1 (en) Estimating Power Consumption of an Application
JP4647276B2 (ja) 半導体回路装置
JP2010092278A (ja) マイクロコンピュータ
JP2014119779A (ja) 半導体装置及びそのデバッグ制御方法
JP7083728B2 (ja) 自己診断装置、半導体装置及び自己診断方法
CN118258514A (zh) 温度监控方法及装置、电子设备与存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130419

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: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R151 Written notification of patent or utility model registration

Ref document number: 5310819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees