JPH11282713A - マイクロコンピュータ、電子機器及びデバッグシステム - Google Patents

マイクロコンピュータ、電子機器及びデバッグシステム

Info

Publication number
JPH11282713A
JPH11282713A JP10103719A JP10371998A JPH11282713A JP H11282713 A JPH11282713 A JP H11282713A JP 10103719 A JP10103719 A JP 10103719A JP 10371998 A JP10371998 A JP 10371998A JP H11282713 A JPH11282713 A JP H11282713A
Authority
JP
Japan
Prior art keywords
instruction
address
detection signal
execution
microcomputer
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.)
Granted
Application number
JP10103719A
Other languages
English (en)
Other versions
JP3684831B2 (ja
Inventor
Makoto Kudo
真 工藤
Yoichi Hijikata
陽一 土方
Yoshiyuki Miyayama
芳幸 宮山
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP10371998A priority Critical patent/JP3684831B2/ja
Priority to US09/424,718 priority patent/US6665821B1/en
Priority to PCT/JP1999/001654 priority patent/WO2004075058A1/ja
Publication of JPH11282713A publication Critical patent/JPH11282713A/ja
Priority to US10/700,621 priority patent/US6922795B2/en
Priority to US10/985,901 priority patent/US7065678B2/en
Application granted granted Critical
Publication of JP3684831B2 publication Critical patent/JP3684831B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/3636Software debugging by tracing the execution of the program
    • 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
    • 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
    • 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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 少ない端子で量産チップ上でのリアルタイム
トレースを実現し、指定された範囲のトレース情報の取
得及び実行時間の測定を行うことができるマイクロコン
ピュータ、これを含む電子機器、及びデバッグシステム
を提供する。 【解決手段】 トレース情報出力部16は、リアルタイ
ムトレースを実現するためのトレース情報を専用4端子
に出力する。CPUの命令実行ステータス情報(DST
[2:0])を3端子に出力し、PC絶対分岐実行が発
生すると分岐先のPC値(DPCO)をシリアルに1端
子に出力する。マイクロコンピュータ10側は所定の順
番でトレース範囲又は実行時間測定範囲のスタートとエ
ンドを示す情報をDST[2]に出力する。デバッグツ
ール20側はDST[2]の値に基づきトレース範囲又
は実行時間測定範囲のスタートとエンドを判断する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータ、マイクロコンピュータを含む電子機器、及びデバ
ッグシステムに関する。
【0002】
【背景技術及び発明が解決しようとする課題】近年、ゲ
ーム装置、カーナビゲーションシステム、プリンタ、携
帯情報端末などの電子機器に組み込まれ、高度な情報処
理を実現できるマイクロコンピュータに対する需要が高
まっている。このような組み込み型のマイクロコンピュ
ータは、通常、ターゲットシステムと呼ばれるユーザボ
ードに実装される。このターゲットシステムを動作させ
るソフトウェアの開発を支援するためにICE(In-Cir
cuit Emulator)と呼ばれるソフトウェア開発支援ツー
ルが広く使用されている。
【0003】さて、このようなICEとしては、従来、
図1に示すようなCPU置き換え型と呼ばれるICEが
主流を占めていた。このCPU置き換え型ICEでは、
デバッグ時にターゲットシステム300からマイクロコ
ンピュータ302を取り外し、その代わりにデバッグツ
ール304のプローブ306を接続する。そして、この
デバッグツール304に、取り外したマイクロコンピュ
ータ302の動作をエミュレートさせる。また、このデ
バッグツール304に、トレース情報の取得やデバッグ
のために必要な種々の処理を行わせる。
【0004】しかしながら、このCPU置き換え型IC
Eでは、マイクロコンピュータ302の内部動作周波数
が上がるとプローブ306やトレース情報を格納するバ
ッファで生じる信号の遅延によりリアルタイムトレース
が困難になる。
【0005】またトレース情報を無制限にトレース用の
バッファに格納しようとするとトレース用のバッファが
すぐにあふれてしまうので、デバッグに必要な部分のト
レース情報が取得できない場合もある。このような場
合、トレース範囲を指定してトレース情報をとることが
できると、大変便利である。しかしCPUの内部動作周
波数が上がると、CPU置き換え型ICEのように外部
回路でトレースの範囲指定を実現することは困難とな
る。
【0006】このような問題を解決するために量産チッ
プ上でリアルタイムトレースを可能にするシステムの開
発が行われている。このとき、トレース情報としてアド
レスバス等の情報をリアルタイムにトレースバッファに
格納しようとすると数十本の専用端子が必要となる。し
かし、係る端子はデバッグ時のみ必要な物で、エンドユ
ーザーにとっては不要なものであるから、より少ないほ
うが好ましい。
【0007】また、量産チップ上でリアルタイムトレー
スを実現する際にも、指定した範囲のトレース情報が確
実に取得できる機能があると大変便利である。
【0008】本発明は、以上のような技術的課題に鑑み
てなされたものであり、その目的とするところは、少な
い端子で量産チップ上でのリアルタイムトレースを実現
し、指定された範囲のトレース情報の取得及び実行時間
の測定を行うことができるマイクロコンピュータ、これ
を含む電子機器、及びデバッグシステムを提供すること
にある。
【0009】
【課題を解決するための手段】上記課題を解決するため
に本発明は、リアルタイムトレース機能を有するマイク
ロコンピュータであって、命令の実行処理を行う中央処
理ユニットと、前記中央処理ユニットで実行されるプロ
グラムの複数の命令の実行を検出するための命令アドレ
スを設定する命令アドレス設定手段と、前記複数の命令
の実行を検出した場合、検出信号を1本の検出信号出力
端子を介して外部に出力する検出信号出力手段とを含む
ことを特徴とする。
【0010】本発明によれば1本の端子で、複数の命令
が実行された旨の情報を取得することができる。従って
リアルタイムトレースにおいて、ユーザーの使用できる
端子数をほとんど減らすこと無く複数の命令の実行の発
生を検出することができ、デバッグ効率の向上を図るこ
とができる。
【0011】また本発明は、前記複数の命令は第一の命
令及び第二の命令を含み、前記検出信号出力手段は、前
記第一の命令が実行されて検出信号が出力された後に、
続けて第一の命令が実行された場合には検出信号の出力
を省略し、第二の命令が実行された場合にのみ検出信号
を出力することを特徴とする。
【0012】1本の端子で複数の命令の実行情報を取得
する場合、どの命令が実行されたのか外部から判断する
のは困難である。
【0013】しかし本発明によれば、当該検出信号が前
記第一の及び第二の命令が予定されていた順序と異なっ
た順序で実行された場合には、検出信号が出力されな
い。このため、外部には常に予定された順序で第一の及
び第二の命令の実行を示す検出信号が出力される。
【0014】従って本発明によれば、複数の命令が予定
されていた順序と異なった順序で実行された場合にも1
本の端子で、どの命令が実行されたか判別可能な情報を
取得することができる。
【0015】また本発明は、リアルタイムトレースに必
要な前記中央処理ユニットの命令実行のステータス情報
をステータス情報出力端子に出力するステータス情報出
力手段を含み、前記ステータス情報出力用端子の1つを
前記検出信号出力端子と共用することを特徴とする。
【0016】本発明によれば、検出信号出力端子を別に
設けなくてもよいため、デバッグ用端子の更なる節約な
る。
【0017】また本発明は、前記命令アドレス設定手段
が設定するアドレスは、プログラムのトレース範囲を特
定するためのスタートアドレスとエンドアドレスを含む
ことを特徴とする。
【0018】本発明によれば、トレース範囲のスタート
及びエンドを検出する情報を1本の端子で出力すること
ができる。このため、少ない端子で量産チップ上でのリ
アルタイムトレースを実現し、指定された範囲のトレー
ス情報を取得可能なマイクロコンピュータを提供するこ
とができる。
【0019】また本発明は、ステータス情報出力手段
が、トレースに必要なステータス情報として、通常命令
実行、相対分岐命令実行、絶対分岐命令実行、通常命令
実行時に前記命令アドレスにマッチ、相対分岐命令実時
に前記命令アドレスにマッチ、絶対分岐命令実時に前記
命令アドレスにマッチの状態を表すことのできる情報を
含むことを特徴とする。
【0020】ここにおいて、PC相対分岐命令とはプロ
グラム中に明示的に記述されたアドレスに分岐する命令
であり、ソースコードから分岐先を判断可能な命令であ
る。またPC絶対分岐命令とはプログラムの実行中にレ
ジスタの値によって分岐先のアドレスが決まる命令であ
り、ソースコードからは分岐先を判断することができな
い命令である。
【0021】本発明によれば、6種類のステータス情報
を含み、係るステータス情報は3本の端子で実現するこ
とができる。このためわずか3本という少ない端子で、
指定された範囲のリアルタイムトレースを行うことがで
きる。
【0022】また本発明は、前記命令アドレス設定手段
が設定するアドレスは、プログラムの実行時間測定範囲
を特定するためのスタートアドレスとエンドアドレスを
含むことを特徴とする。
【0023】本発明によれば、実行時間測定範囲のスタ
ート及びエンドを検出する情報を1本の端子で出力する
ことができる。このため、少ない端子で、指定された範
囲の実行時間測定の開始及び終了のタイミングを判断す
るための情報を取得可能なマイクロコンピュータを提供
することができる。
【0024】また本発明は、前記命令アドレス設定手段
が、複数の命令の実行を検出するための命令アドレス情
報を保持する複数のレジスタを含み、前記検出信号出力
手段は、前記中央処理ユニットの命令実行のために先読
みされた命令アドレスと前記複数のレジスタに保持され
たアドレスとの比較結果を前記先読みされた命令アドレ
スの命令が実行されるまで保持し、前記先読みされた命
令アドレスの命令が実行された場合に前記保持された比
較結果に基づき検出信号を出力する手段と、前記実行さ
れた命令が分岐命令であった場合には、当該分岐命令実
行以前に先読みされた命令との比較結果を無効にする手
段と、含むことを特徴とする。
【0025】ここにおいて比較結果を無効にするとは、
保持エリアを初期化する場合や書き込み及び読み出し用
のポインタをリセットする場合を含む。
【0026】本発明では、複数の命令の実行の検出を先
読みされた命令に基づいて行い、検出信号の出力は実際
に実行されてから行う。このようにすることでパイプラ
イン処理を行うマイクロコンピュータでも、最適な検出
を行うことができる。
【0027】また本発明は、前記レジスタが、プログラ
ムの所与の範囲を特定するためのスタートアドレス及び
エンドアドレスを保持する少なくとも2つのレジスタを
含み、検出信号出力手段は、前記中央処理ユニットが命
令実行のために先読みした命令アドレスと前記スタート
アドレス及びエンドアドレスとの比較を行う第一の比較
手段及び第二の比較手段と、前記第一の比較手段及び第
二の比較手段の比較結果を複数回分保持できる比較結果
保持部と、前記比較結果保持部に保持された前記比較結
果を、前記先読みした命令が実行されたタイミングで読
み出す手段と、実行された命令が分岐命令であった場
合、前記比較結果保持部に保持されている比較結果をリ
セットする手段と、前記比較結果保持部から読み出され
た比較結果に基づき、所定の順番で前記第一のレジスタ
及び第二のレジスタに保持された実行アドレスが実行さ
れた場合に検出信号を出力する論理回路とを含むことを
特徴とする。
【0028】パイプライン処理においては、命令の取得
と実行にタイムラグがあるため実行時には、信号線から
実行アドレス情報を取得することが困難である。本発明
によれば命令実行のために先読みされた段階での比較結
果を実行された段階で取得することができる。このため
パイプライン処理に対応した信号処理を行うことができ
る。
【0029】なお分岐命令が実行された場合には、比較
結果保持部に保持されている分岐命令以前の先読みされ
た命令との比較結果をリセットすることで分岐命令発生
により先読みされた命令が実行されない場合にも正確な
判断を行うことができる。
【0030】また本発明に係る電子機器は、上記いずれ
かのマイクロコンピュータと、前記マイクロコンピュー
タの処理対象となるデータの入力源と、前記マイクロコ
ンピュータにより処理されたデータを出力するための出
力装置とを含むことを特徴とする。
【0031】このようにすれば電子機器を動作させるプ
ログラムなどのデバッグ作業の効率化を図れるようにな
り電子機器の開発期間の短縮化及び低コスト化を図れる
ようになる。
【0032】また本発明はマイクロコンピュータを含む
ターゲットシステムのためのデバッグシステムであっ
て、命令の実行処理を行う中央処理ユニットと、前記中
央処理ユニットで実行されるプログラムの複数の命令の
実行を検出するための命令アドレスを設定する命令アド
レス設定手段と、前記複数の命令の実行を検出した場
合、検出信号を1本の検出信号出力端子を介して外部に
出力する検出信号出力手段とを含むマイクロコンピュー
タと、前記マイクロコンピュータから前記検出信号を受
信し、前記検出信号に基づきトレース情報の取得開始及
び終了の制御を行いトレース情報を取得するトレース情
報取得手段とを含むことを特徴とする。
【0033】本発明によれば少ない端子で指定された範
囲のデバッグ情報を取得できるデバッグシステムを提供
することができる。
【0034】また本発明は、マイクロコンピュータを含
むターゲットシステムのためのデバッグシステムであっ
て、命令の実行処理を行う中央処理ユニットと、前記中
央処理ユニットで実行されるプログラムの複数の命令の
実行を検出するための命令アドレスを設定する命令アド
レス設定手段と、前記複数の命令の実行を検出した場
合、検出信号を1本の検出信号出力端子を介して外部に
出力する検出信号出力手段とを含むマイクロコンピュー
タと、前記マイクロコンピュータから前記検出信号を受
信し、前記検出信号に基づきプログラム実行時間の測定
の開始及び終了の制御を行い実行時間を測定する実行時
間測定手段とを含むことを特徴とする。
【0035】本発明によれば少ない端子で指定された範
囲の実行時間を取得できるデバッグシステムを提供する
ことができる。
【0036】また本発明のデバッグシステムは、前記複
数の命令は第一の命令及び第二の命令を含み、前記検出
信号出力手段は、前記第一の命令が実行されて検出信号
が出力された後に、続けて第一の命令が実行された場合
には検出信号の出力を省略し、第二の命令が実行された
場合にのみ検出信号を出力することを特徴とする。
【0037】本発明によれば、複数の命令が予定されて
いた順序と異なった順序で実行された場合にも、1本の
端子でデバッグどの命令が実行されたか判別可能なデバ
ッグシステムを提供することができる。
【0038】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて詳細に説明する。
【0039】1.本実施形態の特徴 まず本実施形態の構成について図2を用いて説明する。
【0040】図2に示すように、本実施形態では、マイ
クロコンピュータ10が、CPU(中央処理ユニット)
12及び命令アドレス設定部18、トレース情報出力部
14を含む。トレース情報出力部14は検出信号出力部
16を含む。
【0041】また、マイクロコンピュータ10の外部の
デバッグツール20はトレース情報取得部22、実行時
間測定部27を含んでいる。
【0042】ここでトレース情報出力部16は、リアル
タイムトレースを実現するためのトレース情報を専用4
端子に出力する。具体的には毎クロック毎にCPUの命
令実行ステータス情報(DST[2:0])を3端子に
出力し、ステータス情報出力手段として機能する。また
PC絶対分岐実行が発生すると続く27クロックサイク
ルで分岐先のPC値(DPCO)をシリアルに1端子に
出力する。
【0043】図3はDST[2:0]の出力値とCPU
の命令実行状態の関係を表した図である。ここにおいて
PC相対分岐命令とはプログラム中に明示的に記述され
たアドレスに分岐する命令であり、ソースコードから分
岐先を判断可能である。またPC絶対分岐命令とはプロ
グラムの実行中にレジスタの値によって分岐先のアドレ
スが決まる命令であり、ソースコードからは分岐先を判
断することができない。
【0044】従って本実施の形態ではPC絶対分岐命令
が発生すると分岐先のPC値(DPCO)を出力するこ
とでトレースを可能としている。
【0045】即ちマイクロプロセッサが命令をアドレス
の順番に実行している時(DST[2:0]の出力値が
000又は100である場合)には、プログラムカウン
タがどこまで進んだか分かるのでプログラムのソースコ
ードからトレースが可能である。また、マイクロプロセ
ッサがPC相対分岐命令を実行した時(DST[2:
0]の出力値が001又は101である場合)にも、プ
ログラムのソースコードから分岐先が分かるのでトレー
スが可能である。
【0046】しかし、マイクロプロセッサがPC絶対分
岐命令を実行した時(DST[2:0]の出力値が01
0又は110である場合)には、プログラムのソースコ
ードから分岐先が分からないため、DST[2:0]の
みではトレースができない。そこで、係る場合に分岐先
のPC値(DPCO)を出力することでトレースを可能
としているのである。
【0047】ここで本実施の形態の特徴的な事項である
1本の端子でトレース範囲を特定する点について説明す
る。通常範囲指定を行わない場合にはトレース情報(D
ST[2:0]とDPCO)はトレース用メモリ24順
次書き込まれ満杯になると古い情報を消して新しい情報
をオーバーライトするよう構成されている。しかしトレ
ース用メモリはすぐにあふれてしまうのでユーザーが必
要としている部分のトレース情報が取得できない場合が
多い。そこで本実施の形態では、前記DST[2:0]
の値から、トレース範囲の取得開始位置及び終了位置を
検出できるような構成としている。
【0048】以下前記DST[2:0]の値から、トレ
ース範囲の取得開始位置及び終了位置を検出する構成に
ついて説明する。
【0049】図3の312はブレーク空間、即ちデバッ
グモードでは出力されるDSTが111であることを示
している。デバッグモードの間はユーザープログラムは
実行されないため、ユーザープログラム実行時にDST
[2]が1となるのは310の3つの場合のみである。
即ち、通常命令又はPC相対命令又はPC絶対命令のい
ずれかが命令ブレークにマッチしている状態である。こ
こにおいて命令ブレークとは、命令アドレス設定手段に
設定されている命令アドレスの意味である。ここでは、
プログラムのトレース範囲を特定するためのスタートア
ドレス及びエンドアドレスが命令ブレークとして命令ア
ドレス設定手段に設定されている。従ってマイクロコン
ピュータから出力されるDST[2]が1であれば、デ
バッグツール20側は、マイクロコンピュータ10でス
タートアドレス又はエンドアドレスの命令が実行された
ことを検出することができる。
【0050】なお、本実施の形態では命令ブレークは実
際にはブレークせず実行が継続されるが、実際にブレー
クを起こすチップ内のブレーク機能を兼用で使用してい
る。
【0051】次に、DST[2]が1であるとき、スタ
ートアドレスの命令が実行されたのかエンドアドレスの
命令が実行されたのかを判別する構成について説明す
る。
【0052】図4(A)(B)(C)は、本実施の形態
における命令ブレークにマッチした場合のDST[2:
0]の出力を説明するための図である。
【0053】命令ブレーク#2にマッチとは、スタート
アドレスの命令が実行された場合を示し、命令ブレーク
#1にマッチとは、エンドアドレスの命令が実行された
場合を示す。即ち命令ブレーク#2から命令ブレーク#
1の間がトレース情報を取得する範囲となる。
【0054】図4(A)の350、352、354、3
56に示すように命令ブレーク#2及び命令ブレーク#
1がこの順で繰り返し発生する場合には命令ブレーク#
2にマッチでトレース情報の取得を開始し、命令ブレー
ク#1にマッチでトレース情報の取得を終了する処理を
繰り返せばよい。
【0055】しかし例えばプログラムの分岐等により命
令ブレーク#2及び命令ブレーク#1に所定の順序でマ
ッチしない場合がある。このような場合は、最初に命令
ブレーク#2にマッチしたらマッチしたことを示すステ
ータス(以下マッチステータスという。なお、本実施の
形態ではDST[2]=1)を出力し、次に命令ブレー
ク#1にマッチしたところでマッチステータスを出力す
る。この間、命令ブレーク#2にマッチしてもマッチス
テータスは出力しない。そしてまた、命令ブレーク#2
にマッチしたらマッチステータスを出力し、次に命令ブ
レーク#1にマッチしたところでマッチステータスを出
力する動作を繰り返す。
【0056】図4(B)(C)は、命令ブレーク#1及
び命令ブレーク#2のマッチが不規則に行われる例を説
明するための図である。図4(C)に示すように318
から320まで通常命令を順次実行していたプログラム
は320で分岐命令により322に分岐する。322か
ら326へ実行過程で命令ブレーク#1にマッチするが
(324)、図4(B)の(注1)に示すようにDST
[2:0]からマッチステータスは出力されない。最初
は命令ブレーク#2にマッチしたときのみマッチステー
タスを出力する仕様だからである。
【0057】326から328に分岐したプログラム
は、328から332への実行過程で命令ブレーク#2
にマッチし(330)、図4(B)の(注3)に示すよ
うにDST[2:0]からマッチ示すステータスを出力
する。
【0058】332から334に分岐したプログラム
は、334から順次実行する過程で命令ブレーク#2及
び命令ブレーク#1にマッチする(336、338)。
しかし、2番目は命令ブレーク#1にマッチしたときに
マッチステータスを出力するよう構成されているので、
図4(B)に示すように336ではマッチステータスは
出力されず(注2)、338でマッチステータスが出力
される(注4)。従って、330から338までの実線
で示された範囲がトレース範囲となる(図4(C)参
照)。
【0059】図5は、DST[2]とトレース範囲の関
係を示す図である。同図に示すように、DST[2]奇
数番目のマッチステータス出力時(360、364)に
は命令ブレーク#2にマッチした状態にあり、偶数番目
のマッチステータス出力時(362、366)には命令
ブレーク#1にマッチした状態である。従ってデバッグ
ツール20のトレース情報取得部22は、360から3
62までのトレース範囲1(370)のトレース情報を
トレース用メモリ24に格納し、次に364から366
までのトレース範囲2(372)のトレース情報をトレ
ース用メモリ24に格納する。
【0060】このように、パルスの順番とトレース範囲
のスタートとエンドとの関係を定めておくと、デバッグ
ツール側は奇数番目のパルスであるか偶数番目のパルス
であるかによりトレースのスタート、ストップを判断す
ることができる。従って1つの端子のみでトレース範囲
の指定を行うことができる。
【0061】このトレース範囲の指定機能は、実行時間
を測定するための実行時間測定範囲の特定にも使うこと
ができる。即ち、トレース範囲と同様、実行時間の測定
を行いたい範囲のスタートアドレス及びエンドアドレス
を命令ブレークとしてセットして、前記デバッグツール
20の実行時間測定部27で所望の範囲の実行時間の測
定を行うことができる。
【0062】このようにすることで、少ない端子で量産
チップ上でリアルタイムトレースを実現し、指定された
範囲のトレース情報の取得及び実行時間の測定を行うこ
とができる。
【0063】なお、実行時間の測定はトレースとは独立
して行うことも可能である。即ちトレース情報の取得は
行わず、実行時間の測定のみ行うことも可能である。
【0064】2.詳細な構成例 図6に本実施形態のマイクロコンピュータ及びデバッグ
システムの詳細な構成例を示す。図6に示すように、マ
イクロコンピュータ10は、CPU12、BCU(バス
制御ユニット)26、内部メモリ28、クロック生成部
30、オンチップモニタ部40、トレース情報出力部1
4を含む。
【0065】ここでCPU12は、種々の命令の実行処
理を行うものであり、内部レジスタ13を含む。内部レ
ジスタ13は、汎用レジスタであるR0〜R15や、特
殊レジスタであるSP(スタックポインタレジスタ)、
AHR(積和結果データの上位レジスタ)、ALR(積
和結果データの下位レジスタ)などを含む。
【0066】BCU26はバスを制御するものである。
例えば、CPU12に接続されるハーバードアーキテク
チャのバス31や、内部メモリ28に接続されるバス3
2や、外部メモリ36に接続される外部バス33や、ト
レース情報出力部14などに接続される内部バス34の
制御を行う。
【0067】またクロック生成部30は、マイクロコン
ピュータ10内で使用される各種のクロックを生成する
ものである。クロック生成部30はBCLKを介して外
部のデバッグツール60にもクロックを供給している。
【0068】オンチップモニタ部40は、オンチップモ
ニタROM42、オンチップモニタRAM44、制御レ
ジスタ46、SIO48を含む。
【0069】ここで、オンチップモニタROM42に
は、オンチップモニタプログラムが格納される。本実施
形態では、このオンチップモニタプログラムは、GO、
リード、ライトなどのシンプルでプリミティブなコマン
ドの処理のみを行うようになっている。このため、オン
チップモニタROM42のメモリ容量を例えば256バ
イト程度に抑えることができ、オンチップデバッグ機能
を持たせながらマイクロコンピュータ10を小規模化で
きるようになる。
【0070】オンチップモニタRAM44には、デバッ
グモードへの移行時に、CPU12の内部レジスタ13
の内容が退避される。これにより、デバッグモードの終
了後にユーザプログラムの実行を適正に再スタートでき
るようになる。また内部レジスタ13の内容のリード等
を、オンチップモニタプログラムが持つプリミティブな
リードコマンド等で実現できるようになる。
【0071】制御レジスタ46は、各種のデバッグ処理
を制御するためのレジスタであり、各種イネーブルビッ
トや命令ブレークアドレスレジスタなどを有する。オン
チップモニタプログラムにより動作するCPU12が制
御レジスタ46の各ビットにデータをライトしたり、各
ビットのデータをリードすることで、各種のデバッグ処
理が実現される。なお、トレース範囲や実行時間測定範
囲を特定するためのスタートアドレスやエンドアドレス
は前記命令ブレークアドレスレジスタに設定される。
【0072】SIO48は、マイクロコンピュータ10
の外部に設けられたデバッグツール20との間でデータ
を送受信するためのものである。SIO48とデバッグ
ツール20との間は、TXD/RXD(データ送受信ラ
イン)で接続されている。
【0073】トレース情報出力部14とデバッグツール
20との間は、DST[2:0]及びDPCOを出力す
るための4本のラインで接続されている。
【0074】トレース情報出力部14は、リアルタイム
トレース機能を実現するためのものであり、図3で説明
したCPUの命令実行ステータス情報(DST[2:
0])及びPC絶対分岐が発生した際の分岐先のPC
(プログラムカウンタ)値をトレース情報として専用4
端子を介して外部に出力する。
【0075】以下DST[2:0]とDPCOを出力す
る構成について説明する。
【0076】CPU12はCPUの実行状態を表す信号
(BR−ABS、BR−REL、IR−DONE)をラ
イン72に出力する。BR−ABSはCPUがPC絶対
分岐命令を実行した時に出力され、BR−RELはCP
UがPC相対分岐命令を実行した時に出力され、IR−
DONEはCPUが通常命令を実行した時に出力され
る。
【0077】トレース情報出力部14はライン72から
CPUの実行状態を表す信号を受け取ると、当該信号に
基づきDST[1:0]に対応するステータスを出力す
る。
【0078】即ちIR−DONE信号を受け取った時
は、CPUが通常命令を実行したのでDST[1:0]
=00を出力する。BR−REL信号を受け取った時
は、CPUがPC相対分岐命令を実行したのでDST
[1:0]=01を出力する。BR−ABS信号を受け
取った時は、CPUがPC絶対分岐命令を実行したので
DST[1:0]=10を出力する。DST[2]を出
力する構成については後述する。このように、トレース
情報出力部14がステータス情報出力手段として機能す
る。
【0079】また、トレース情報出力部14は、PC絶
対分岐命令の実行(BR−ABS信号)に基づき、所定
のタイミングでライン74を介して命令アドレス(飛び
先のプログラムカウンタの値)を内部のシフトレジスタ
52に取り込んで、BCLKに同期してシフトレジスタ
52の値をDPCOからシリアルに出力する。
【0080】デバッグツール20は外部モニタ部61、
トレース情報取得部22、実行時間測定部27を含み、
パーソナルコンピュータ等により実現されるホストシス
テム66に接続される。
【0081】トレース情報取得部22は、3ビットのD
ST[2:0]と、分岐先のPC(プログラムカウン
タ)値を表すDPCOを内部のトレース用メモリに格納
する。トレース範囲が指定されている場合には、その範
囲のDST[2:0]とDPCOをトレース用メモリに
格納する。
【0082】実行時間測定部27は、指定された範囲の
実行時間の測定を行う。
【0083】外部モニタ部61は、ホストシステム66
から入力されるデバッグコマンドをプリミティブコマン
ドに変換(分解)するための処理を行う。そして、外部
モニタ部61が、プリミティブコマンドの実行を指示す
るデータをオンチップモニタ部40に送信すると、オン
チップモニタ部40が、指示されたプリミティブコマン
ドを実行するための処理を行うことになる。
【0084】従って、トレース範囲又は実行時間の測定
範囲を指定したい場合、ユーザーはホストシステムから
ブレークアドレス設定用のコマンドを入力する。このブ
レークアドレス設定コマンドは、前記命令ブレークアド
レスレジスタへのライトコマンドに変換される。そし
て、オンチップモニタプログラムが、このプリミティブ
なライトコマンドを実行することで、命令ブレークアド
レスレジスタにトレース範囲又は実行時間の測定範囲の
スタートアドレス及びエンドアドレスが設定される。即
ち、オンチップモニタプログラム及び命令ブレークアド
レスレジスタが命令アドレス設定手段として機能する。
【0085】3.DST[2]を出力する構成 図7はDST[2]を出力するハードウエア構成の一例
である。
【0086】CPUとBCUはライン170、172、
174、176、178で接続されて、信号のハンドシ
ェイクを行っている。
【0087】図8は前記信号のタイムチャートの略図で
ある。410はCPUクロックである。
【0088】CPU12はライン170を介してBCU
26に命令のプリフェッチのリクエスト信号(CPU−
IR−REQ)を送信し(図8の412参照)、ライン
178を介してBCU26にフェッチすべき命令アドレ
ス(IA)を送信する(図8の418参照)。CPU−
IR−REQ412を受けたBUC26は当該信号を受
け付けた旨の信号(CPU−IR−ACK)をライン1
72を介してCPU12に送信する(図8の414参
照)。 そして、前記命令アドレス(IA)から読み出
した命令コード(IR−CODE)をライン176を介
してCPUに送信し(図8の420参照)、命令コード
送信した旨を示す信号(CPU−IR−VLD)をライ
ン174を介してCPUに送信する(図8の416参
照)。
【0089】ブレークアドレスレジスタ0(180)、
ブレークアドレスレジスタ1(182)、ブレークアド
レスレジスタ2(184)はトレース範囲や実行時間測
定範囲のスタートアドレス及びエンドアドレスを保持さ
れるためのレジスタである。本実施の形態では、前記オ
ンチップモニタプログラムによりブレークアドレスレジ
スタ2にエンドアドレスが、ブレークアドレスレジスタ
1にスタートアドレスが設定される。
【0090】比較器0(181)、比較器1(18
3)、比較器2(185)は、ライン198からくる命
令アドレス(IA)と、前記ブレークアドレスレジスタ
0、ブレークアドレスレジスタ1、ブレークアドレスレ
ジスタ2に保持されたアドレスとの比較を行う。
【0091】比較器1及び比較器2の比較結果は4段
(8ビット)からなるFIFO186に入力される。F
IFO186はライトポインタWR−PTR188に基
づき比較結果が書き込まれ、リードポインタRD−PT
R190に基づき比較結果を読み出され後段の検出信号
制御回路204に出力される。
【0092】検出信号制御回路204は、フィリップフ
ロップ回路206、微分回路208、EOR回路210
を含む。このような回路構成により、ブレークアドレス
レジスタ2にマッチの比較結果を受けて検出信号202
(DST[2]=1)を出力した後は、ブレークアドレ
スレジスタ1にマッチするまで検出信号202(DST
[2]=1)出力せず、ブレークアドレスレジスタ1に
マッチしたら検出信号202(DST[2]=1)出力
するよう制御することができる。
【0093】次にFIFO186への比較結果の書き込
みと読み出のタイミングについて説明する。具体的には
ライトポインタWR−PTR188は、BCUが命令フ
ェッチリクエストを受け付けた時(前記CPU−IR−
ACK信号の出力されるタイミング)でインクリメント
され、インクリメントされたタイミングでライトポイン
タWR−PTR188の示す位置に前記比較結果を書き
込む。
【0094】本実施の形態は前記前記CPU−IR−A
CK信号の出力タイミングと比較器1(比較器2)から
の比較結果を表す信号IR1−MATCH192(IR
2−MATCH194)が出力されるタイミングが同期
がとれるような構成を有しているからである(図8の4
22参照)。また、前記CPU−IR−ACK信号が出
力されたということは、BCUがプリフェッチのリクエ
ストを受け付けたことが確定しているから、分岐命令が
実行されない限り確実に実行されるからである。
【0095】またリードポインタRD−PTRはライン
196からCPU12が命令を実行した旨の信号(DA
N信号)が出力されるタイミングでインクリメントさ
れ、インクリメントされたタイミングでリードポインタ
RD−PTRの示す位置から前記比較結果を読み出す。
【0096】このようなタイミングで書き込み及び読み
出しを行うのは、パイプライン処理に対応させるためで
ある。即ち、FIFO186への書き込みの段階では命
令がプリフェッチされた状態であり、CPU12が前記
DAN信号を出力したときに実際の命令が終了するから
である。
【0097】ここににおいて、CPU12が分岐命令を
実行すると、分岐命令以前にプリフェッチされた命令は
実行されない。このため、分岐命令以前にプリフェッチ
された命令との比較結果はリセットする必要がある。従
ってライン72を介して、CPU12からPC絶対分岐
命令が実行された旨の信号(図6で説明したBR−AB
S)でWR−PTR188とRD−PTR190はリセ
ットされる。
【0098】図9(A)(B)は、分岐命令とリセット
の関係を説明するための図である。図9(A)は分岐命
令実行前のFIFOの状態を表しており、図9(B)は
リセット後のFIFOの状態を表している。380にラ
イトポインタがある時、分岐命令が実行されたとする。
すると、プリフェッチ命令との比較結果382(斜線部
分)は実行されない命令との比較結果となる。
【0099】従って、図9(B)に示すようにライトポ
インタWR−PTR、リードポインタRD−PTRも初
期値にリセットされる。
【0100】4.デバッグツールの構成例 図10にデバッグツール20の構成例を示す。
【0101】CPU90は、ROM108に格納される
プログラムを実行したり、デバッグツール20の全体の
制御を行うものである。送受信切替部92は、データの
送信と受信とを切り替えるためのものである。クロック
制御部94は、CPU90のSCLK端子、アドレスア
ップカウンタ100、トレース用メモリ24に供給する
クロックを制御するものである。このクロック制御部9
4には、マイクロコンピュータ10(SIO48)から
のBCLKが入力される。クロック制御部94は周波数
検出回路95、分周回路96を含む。周波数検出回路9
5は、BCLKが属する周波数範囲を検出して、その結
果を制御レジスタ98に出力する。また分周回路96で
の分周比は制御レジスタ98により制御される。即ちC
PU90により実行される外部モニタプログラム(外部
モニタROM110に格納)が、制御レジスタ98から
BCLKの周波数範囲を読み出す。そして、外部モニタ
プログラムは、この周波数範囲に応じた最適な分周比を
決定し、この分周比を制御レジスタ98に書き込む。そ
して、分周回路96は、この分周比でBCLKを分周し
てSMC2を生成し、CPU90のSCLK端子に出力
する。
【0102】アドレスアップカウンタ100は、トレー
ス用メモリ24のアドレスをカウントアップするための
ものである。セレクタ102は、ライン122(アドレ
スアップカウンタ100が出力するアドレス)とライン
124(アドレスバス120からのアドレス)のいずれ
かを選択し、トレース用メモリ24のアドレス端子にデ
ータを出力する。マイクロコンピュータがデバッグモー
ド時(オンチップデバッグプログラム実行時)にはライ
ン124が選択され、ユーザーモード時(ユーザープロ
グラム実行時)にはライン122が選択される。
【0103】またセレクタ106は、ライン126(図
6のトレース情報出力部14の出力であるDST[2:
0]、DPCO)とライン128(データバス118)
のいずれかを選択し、トレース用メモリ24のデータ端
子にデータを出力したり、データ端子からデータを取り
出す。
【0104】アドレスアップカウンタ100、トレース
用メモリ24、セレクタ102、セレクタ106はトレ
ース情報取得部22として機能する。
【0105】実行時間測定回路140は、分周回路14
2と実行時間保持用のレジスタ143〜145を含み、
実行時間測定部として機能する。分周回路142は、実
時間を10μ、1μ、50nsにそれぞれ分周する。そ
してライン126(図6のトレース情報出力部14の出
力であるDST[2:0]、DPCO)からの情報に基
づき、実行時間の測定の開始及び終了のタイミングを判
断し、測定した実行時間の積算値を前記レジスタ143
〜145保持する。具体的にはDST[2]に奇数番目
に1がきたら実行時間の測定を開始し、偶数番目に1が
きたら測定を中断する動作を繰り替えして、測定時間を
積算する。
【0106】ROM108は外部モニタROM110
(図6の外部モニタ部61に相当)を含み、外部モニタ
ROM110には、外部モニタプログラムが格納され
る。この外部モニタプログラムは、デバッグコマンドを
プリミティブコマンドに変換するための処理を行う。R
AM112は、CPU90のワーク領域となるものであ
る。
【0107】RS232Cインターフェース114、パ
ラレルインターフェース116は、図6のホストシステ
ム66とのインターフェースとなるものであり、ホスト
システム66からのデバッグコマンドはこれらのインタ
ーフェースを介してCPU90に入力されることにな
る。クロック生成部118は、CPU90を動作させる
クロックなどを生成するものである。
【0108】次に本実施形態でのリアルタイムトレース
処理について簡単に説明する。本実施形態では、図6の
CPU12の命令実行のステータスを表す3ビットのD
ST[2:0]と、分岐先のPC値を表すDPCOをト
レース用メモリ24に蓄える。そして、トレース用メモ
リ24に蓄えられたデータとユーザプログラムのソース
コードとに基づいて逆アセンブルし、プログラムのトレ
ースデータを合成する。このようにすることで、マイク
ロコンピュータ10とデバッグツール20との間の接続
ラインの本数を少なくしながら、リアルタイムトレース
機能を実現することが可能になる。
【0109】マイクロコンピュータがユーザモード時
(ユーザープログラム実行時)においては、ライン12
2が選択され、セレクタ102を介してアドレスアップ
カウンタ100の出力がトレース用メモリ24のアドレ
ス端子に入力される。またマイクロコンピュータがユー
ザモード時には、ライン126が選択され、セレクタ1
06を介してDST[2:0]、DPCOがトレースメ
モリ104のデータ端子に入力される。ここでアドレス
アップカウンタ100には、まず最初に、データバス1
18、アドレスバス120を用いてCPU90により図
11(A)に示すようなスタートアドレスが設定され
る。またアドレスアップカウンタ100のST/SP
(開始/停止)端子には、トレース範囲を特定するDS
T[2]のラインが接続される。そして図11(B)に
示すように、DST[2]のラインに第1のパルス39
0が入力されると、アドレスアップカウンタ100のア
ドレスアップカウントが開始する。そして、DST
[2]のラインに第2のパルス392が入力されると、
アドレスアップカウンタ100のアドレスアップカウン
トが停止し、トレース動作が停止する。このようにし
て、所望のトレース範囲でのデータ(DST[2:
0]、DPCO)をトレース用メモリ24に蓄えること
が可能になる。
【0110】一方、ユーザプログラム実行モードからデ
バッグモードに移行すると、ライン124が選択され、
セレクタ102を介してアドレスバス120からのアド
レスがトレース用メモリ24のアドレス端子に入力され
る。またライン128が選択され、セレクタ106を介
してトレース用メモリ24からのデータがデータバス1
18に出力される。これにより、トレース用メモリ24
に蓄えられたデータ(DST[2:0]、DPCO)
を、デバッグモード時にCPU90(メインモニタプロ
グラム)が読み出すことが可能になる。そして、読み出
されたデータとユーザープログラムのソースコードとに
基づいて、トレースデータを合成することが可能にな
る。
【0111】なお、トレース用メモリ24に蓄えられた
データをホストシステムに送信して、ホストシステムで
トレース合成を行うようにしてもよい。
【0112】6.電子機器 次に、以上の本実施形態のマイクロコンピュータを含む
電子機器に関して説明する。
【0113】例えば図12(A)に電子機器の1つであ
るカーナビゲーションシステムの内部ブロック図を示
し、図13(A)にその外観図を示す。カーナビゲーシ
ョンシステムの操作はリモコン510を用いて行われ、
GPSやジャイロからの情報に基づいて位置検出部52
0が車の位置を検出する。地図などの情報はCDROM
530(情報記憶媒体)に格納されている。画像メモリ
540は画像処理の際の作業領域になるメモリであり、
生成された画像は画像出力部550を用いて運転者に表
示される。マイクロコンピュータ500は、リモコン5
10、位置検出部520、CDROM530などのデー
タ入力源からデータを入力し、種々の処理を行い、処理
後のデータを画像出力部550などの出力装置を用いて
出力する。
【0114】図12(B)に電子機器の1つであるゲー
ム装置の内部ブロック図を示し、図13(B)にその外
観図を示す。このゲーム装置では、ゲームコントローラ
560からのプレーヤの操作情報、CDROM570か
らのゲームプログラム、ICカード580からのプレー
ヤ情報等に基づいて、画像メモリ590を作業領域とし
てゲーム画像やゲーム音を生成し、画像出力部610、
音出力部600を用いて出力する。
【0115】図12(C)に電子機器の1つであるプリ
ンタの内部ブロック図を示し、図13(C)にその外観
図を示す。このプリンタでは、操作パネル620からの
操作情報、コードメモリ630及びフォントメモリ64
0から文字情報に基づいて、ビットマップメモリ650
を作業領域として、印刷画像を生成し、プリント出力部
660を用いて出力する。またプリンタの状態やモード
を表示パネル670を用いてユーザに伝える。
【0116】本実施形態のマイクロコンピュータ又はデ
バッグシステムによれば、図12(A)〜図13(C)
の電子機器を動作させるユーザプログラムの開発の容易
化、開発期間の短縮化を図れるようになる。またマイク
ロコンピュータが実動作する環境と同じ環境で、ユーザ
プログラムのデバッグ作業を行うことができるため、電
子機器の信頼性を高めることができる。また電子機器に
組み込まれるマイクロコンピュータのハードウェアを小
規模化、低コスト化できるため、電子機器の低コスト化
も図れるようになる。更に少ない専用端子で指定された
範囲のリアルタイムトレースや実行時間の測定を行うこ
とができるためデバッグ効率の向上を図るとともに、マ
イクロコンピュータ上でユーザーが使用する端子を最大
限に確保することが可能になる。
【0117】なお本実施形態のマイクロコンピュータを
適用できる電子機器としては、上記以外にも例えば、携
帯電話(セルラーフォン)、PHS、ページャ、オーデ
ィオ機器、電子手帳、電子卓上計算機、POS端末、タ
ッチパネルを備えた装置、プロジェクタ、ワードプロセ
ッサ、パーソナルコンピュータ、テレビ、ビューファイ
ンダ型又はモニタ直視型のビデオテープレコーダなど種
々のものを考えることができる。
【0118】なお、本発明は本実施形態に限定されず、
本発明の要旨の範囲内で種々の変形実施が可能である。
【0119】例えば本発明の1本の端子で範囲指定を行
える構成は本実施形態で説明したものが特に望ましい
が、これに限定されるものではない。
【0120】また本実施の形態では指定されるブレーク
ポイントが2つの場合を例にとり説明したが、3つ以上
ある場合でもよい。
【0121】またマイクロコンピュータやデバッグツー
ルの構成も本実施形態で説明したものに限定されず、種
々の変形実施が可能である。
【0122】
【図面の簡単な説明】
【図1】CPU置き換え型のICEの例を示す図であ
る。
【図2】本実施形態の特徴について説明するための図で
ある。
【図3】DST[2:0]の出力値とCPUの命令実行
状態の関係を表した図である。
【図4】図4(A)(B)(C)は、本実施の形態にお
ける命令ブレークにマッチした場合のDST[2:0]
の出力を説明するための図である。
【図5】DST[2]とトレース範囲の関係を示す図で
ある。
【図6】本実施形態のマイクロコンピュータ、デバッグ
システムの構成例を示す機能ブロック図である。
【図7】DST[2]を出力するハードウエア構成の一
例である。
【図8】CPUとBCU間の信号のタイムチャートの略
図である。
【図9】図9(A)(B)は、分岐命令とFIFOのリ
セットの関係を説明するための図である。
【図10】デバッグツールの構成例を示す機能ブロック
図である。
【図11】図11(A)(B)はリアルタイムトレース
について説明するための図である。
【図12】図12(A)(B)(C)は、種々の電子機
器の内部ブロック図の例である。
【図13】図13(A)(B)(C)は、種々の電子機
器の外観図の例である。
【符号の説明】
10 マイクロコンピュータ 12 CPU(中央処理ユニット) 13 内部レジスタ 14 トレース情報出力部 16 検出信号出力部 18 命令アドレス設定部 20 デバッグツール 22 トレース情報取得部 24 トレース用メモリ 26 BCU(バス制御ユニット) 27 実行時間測定部 28 内部メモリ 30 クロック生成部 31 バス 32 バス 33 外部バス 34 内部バス 36 外部メモリ 40 オンチップモニタ部(第1のモニタ手段) 42 オンチップモニタROM 44 オンチップモニタRAM 46 制御レジスタ 48 SIO 52 シフトレジスタ 61 外部モニタ部(第2のモニタ手段) 66 ホストシステム 90 CPU 92 送受信切替部 94 クロック制御部 95 周波数検出部 96 分周回路 98 制御レジスタ 100 アドレスアップカウンタ 102 セレクタ 106 セレクタ 108 ROM 110 外部モニタROM 112 RAM 114 RS232Cインターフェース 116 パラレルインターフェース 118 クロック生成部 140 実行時間測定回路 142 分周回路 143 レジスタ 144 レジスタ 145 レジスタ 180 ブレークアドレスレジスタ0 181 比較器0 182 ブレークアドレスレジスタ1 183 比較器1 184 ブレークアドレスレジスタ2 185 比較器2 186 FIFO 204 検出信号制御回路

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 リアルタイムトレース機能を有するマイ
    クロコンピュータであって、 命令の実行処理を行う中央処理ユニットと、 前記中央処理ユニットで実行されるプログラムの複数の
    命令の実行を検出するための命令アドレスを設定する命
    令アドレス設定手段と、 前記複数の命令の実行を検出した場合、検出信号を1本
    の検出信号出力端子を介して外部に出力する検出信号出
    力手段とを含むことを特徴とするマイクロコンピュー
    タ。
  2. 【請求項2】 請求項2において、 前記複数の命令は第一の命令及び第二の命令を含み、 前記検出信号出力手段は、 前記第一の命令が実行されて検出信号が出力された後
    に、続けて第一の命令が実行された場合には検出信号の
    出力を省略し、第二の命令が実行された場合にのみ検出
    信号を出力することを特徴とするマイクロコンピュー
    タ。
  3. 【請求項3】 請求項1又は2のいずれかにおいて、 リアルタイムトレースに必要な前記中央処理ユニットの
    命令実行のステータス情報をステータス情報出力端子に
    出力するステータス情報出力手段を含み、前記ステータ
    ス情報出力用端子の1つを前記検出信号出力端子と共用
    することを特徴とするマイクロコンピュータ。
  4. 【請求項4】 請求項1から3のいずれかにおいて、 前記命令アドレス設定手段が設定するアドレスは、プロ
    グラムのトレース範囲を特定するためのスタートアドレ
    スとエンドアドレスを含むことを特徴とするマイクロコ
    ンピュータ。
  5. 【請求項5】 請求項3又は4のいずれかにおいて、 ステータス情報出力手段は、 トレースに必要なステータス情報として、通常命令実
    行、相対分岐命令実行、絶対分岐命令実行、通常命令実
    行時に前記命令アドレスにマッチ、相対分岐命令実時に
    前記命令アドレスにマッチ、絶対分岐命令実時に前記命
    令アドレスにマッチの状態を表すことのできる情報を含
    むことを特徴とするマイクロコンピュータ。
  6. 【請求項6】 請求項1から5のいずれかにおいて、 前記命令アドレス設定手段が設定するアドレスは、プロ
    グラムの実行時間測定範囲を特定するためのスタートア
    ドレスとエンドアドレスを含むことを特徴とするマイク
    ロコンピュータ。
  7. 【請求項7】 請求項1〜6のいずれかにおいて、 前記命令アドレス設定手段は、 複数の命令の実行を検出するための命令アドレス情報を
    保持する複数のレジスタを含み、 前記検出信号出力手段は、 前記中央処理ユニットの命令実行のために先読みされた
    命令アドレスと前記複数のレジスタに保持されたアドレ
    スとの比較結果を前記先読みされた命令アドレスの命令
    が実行されるまで保持し、前記先読みされた命令アドレ
    スの命令が実行された場合に前記保持された比較結果に
    基づき検出信号を出力する手段と、前記実行された命令
    が分岐命令であった場合には、当該分岐命令実行以前に
    先読みされた命令との比較結果を無効にする手段と、 を含むことを特徴とするマイクロコンピュータ。
  8. 【請求項8】 請求項7において、 前記レジスタは、 プログラムの所与の範囲を特定するためのスタートアド
    レス及びエンドアドレスを保持する少なくとも2つのレ
    ジスタを含み、 検出信号出力手段は、 前記中央処理ユニットが命令実行のために先読みした命
    令アドレスと前記スタートアドレス及びエンドアドレス
    との比較を行う第一の比較手段及び第二の比較手段と、 前記第一の比較手段及び第二の比較手段の比較結果を複
    数回分保持できる比較結果保持部と、 前記比較結果保持部に保持された前記比較結果を、前記
    先読みした命令が実行されたタイミングで読み出す手段
    と、 実行された命令が分岐命令であった場合、前記比較結果
    保持部に保持されている比較結果をリセットする手段
    と、 前記比較結果保持部から読み出された比較結果に基づ
    き、所定の順番で前記第一のレジスタ及び第二のレジス
    タに保持された実行アドレスが実行された場合に検出信
    号を出力する論理回路とを含むことを特徴とするマイク
    ロコンピュータ。
  9. 【請求項9】 請求項1乃至6のいずれかのマイクロコ
    ンピュータと、 前記マイクロコンピュータの処理対象となるデータの入
    力源と、 前記マイクロコンピュータにより処理されたデータを出
    力するための出力装置とを含むことを特徴とする電子機
    器。
  10. 【請求項10】 マイクロコンピュータを含むターゲッ
    トシステムのためのデバッグシステムであって、 命令の実行処理を行う中央処理ユニットと、 前記中央処理ユニットで実行されるプログラムの複数の
    命令の実行を検出するための命令アドレスを設定する命
    令アドレス設定手段と、 前記複数の命令の実行を検出した場合、検出信号を1本
    の検出信号出力端子を介して外部に出力する検出信号出
    力手段とを含むマイクロコンピュータと、 前記マイクロコンピュータから前記検出信号を受信し、
    前記検出信号に基づきトレース情報の取得開始及び終了
    の制御を行いトレース情報を取得するトレース情報取得
    手段とを含むことを特徴とするデバッグシステム。
  11. 【請求項11】 マイクロコンピュータを含むターゲッ
    トシステムのためのデバッグシステムであって、 命令の実行処理を行う中央処理ユニットと、 前記中央処理ユニットで実行されるプログラムの複数の
    命令の実行を検出するための命令アドレスを設定する命
    令アドレス設定手段と、 前記複数の命令の実行を検出した場合、検出信号を1本
    の検出信号出力端子を介して外部に出力する検出信号出
    力手段とを含むマイクロコンピュータと、 前記マイクロコンピュータから前記検出信号を受信し、
    前記検出信号に基づきプログラム実行時間の測定の開始
    及び終了の制御を行い実行時間を測定する実行時間測定
    手段とを含むことを特徴とするデバッグシステム。
  12. 【請求項12】 請求項10又は11において、 前記複数の命令は第一の命令及び第二の命令を含み、 前記検出信号出力手段は、 前記第一の命令が実行されて検出信号が出力された後
    に、続けて第一の命令が実行された場合には検出信号の
    出力を省略し、第二の命令が実行された場合にのみ検出
    信号を出力することを特徴とするデバッグシステム。
JP10371998A 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム Expired - Fee Related JP3684831B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP10371998A JP3684831B2 (ja) 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム
US09/424,718 US6665821B1 (en) 1998-03-31 1999-03-31 Microcomputer, electronic equipment, and debugging system
PCT/JP1999/001654 WO2004075058A1 (ja) 1998-03-31 1999-03-31 マイクロコンピュータ、電子機器及びデバッグシステム
US10/700,621 US6922795B2 (en) 1998-03-31 2003-11-05 Microcomputer, electronic equipment, and debugging system
US10/985,901 US7065678B2 (en) 1998-03-31 2004-11-12 Microcomputer, electronic equipment, and debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10371998A JP3684831B2 (ja) 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム

Publications (2)

Publication Number Publication Date
JPH11282713A true JPH11282713A (ja) 1999-10-15
JP3684831B2 JP3684831B2 (ja) 2005-08-17

Family

ID=14361508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10371998A Expired - Fee Related JP3684831B2 (ja) 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム

Country Status (3)

Country Link
US (3) US6665821B1 (ja)
JP (1) JP3684831B2 (ja)
WO (1) WO2004075058A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024588B2 (en) * 2000-01-07 2006-04-04 Sony Corporation System monitoring system and monitoring method
US7055078B2 (en) 2002-06-21 2006-05-30 Samsung Electronics, Co., Ltd. Microprocessor with trace module
US7120831B2 (en) 2002-10-16 2006-10-10 Renesas Technology Corp. In-circuit emulator system with changeable clock frequency
US7185117B2 (en) 2002-12-18 2007-02-27 Sanyo Electric Co., Ltd. Microcomputer and evaluation device, evaluation method thereof
US7191254B2 (en) 2002-12-18 2007-03-13 Sanyo Electric Co., Ltd. Microcomputer and evaluation device, evaluation method thereof
US7904769B2 (en) 2007-05-09 2011-03-08 Renesas Electronics Corporation Debugging system and method including an emulator for debugging a target device

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60028379T2 (de) * 1999-03-30 2007-03-08 Siemens Energy & Automation, Inc. Speicherprogrammierbare steuerung
US6985848B2 (en) * 2000-03-02 2006-01-10 Texas Instruments Incorporated Obtaining and exporting on-chip data processor trace and timing information
WO2001093040A1 (fr) * 2000-05-30 2001-12-06 Matsushita Electric Industrial Co., Ltd. Systeme et procede d'analyse de compteur de programme, et dispositif a semi-conducteur
JP2002202900A (ja) * 2000-12-28 2002-07-19 Seiko Epson Corp デバッグ装置
US6785845B2 (en) * 2001-04-10 2004-08-31 Hewlett-Packard Development Company, L.P. POS terminal test system and method
US7134116B1 (en) * 2001-04-30 2006-11-07 Mips Technologies, Inc. External trace synchronization via periodic sampling
US6834365B2 (en) * 2001-07-17 2004-12-21 International Business Machines Corporation Integrated real-time data tracing with low pin count output
US7168067B2 (en) * 2002-02-08 2007-01-23 Agere Systems Inc. Multiprocessor system with cache-based software breakpoints
JP2004102331A (ja) * 2002-09-04 2004-04-02 Renesas Technology Corp 半導体装置
US7162552B2 (en) * 2002-11-22 2007-01-09 Texas Instruments Incorporated Programmable extended compression mask for dynamic trace
US7149926B2 (en) * 2003-05-22 2006-12-12 Infineon Technologies Ag Configurable real-time trace port for embedded processors
CA2433750A1 (en) * 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US7149933B2 (en) * 2003-08-07 2006-12-12 Arm Limited Data processing system trace bus
US7313729B2 (en) * 2004-02-20 2007-12-25 Winbond Electronics Corp. Low-cost debugging system with a ROM or RAM emulator
US20050280558A1 (en) * 2004-06-18 2005-12-22 Christopher McLeod A remote control device containing a Global Positioning System (GPS) device emitting a geographical signal processed in this same remote control to produce a signal which then elicits the selection of a map file recorded on a Digital Video Disc (DVD) on a separate digital video disc player connnected to a video display device also separate from this remote control toward display and mainpulation of this and other map files and the geographic position of this remote control
US20060048011A1 (en) * 2004-08-26 2006-03-02 International Business Machines Corporation Performance profiling of microprocessor systems using debug hardware and performance monitor
US20060277435A1 (en) 2005-06-07 2006-12-07 Pedersen Frode M Mechanism for storing and extracting trace information using internal memory in microcontrollers
EP1922555B1 (en) 2005-08-09 2014-10-08 Texas Instruments Incorporated Selectable jtag or trace access with data store and output
JP2007058588A (ja) * 2005-08-24 2007-03-08 Toshiba Corp プログラム保護機能を持つプロセッサ
US7606999B2 (en) * 2006-05-16 2009-10-20 Texas Instruments Incorporated Merging branch information with sync points
JP4893427B2 (ja) * 2006-06-30 2012-03-07 株式会社デンソー マイクロコンピュータシステム
US9176803B2 (en) * 2006-08-14 2015-11-03 International Business Machines Corporation Collecting data from a system in response to an event based on an identification in a file of the data to collect
JP2008123106A (ja) * 2006-11-09 2008-05-29 Nec Electronics Corp マイクロコンピュータ及びマイクロコンピュータのデバッグ方法
DE102006062555B4 (de) * 2006-12-29 2018-08-16 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Beobachtung eines Steuergeräts
US20080162900A1 (en) * 2006-12-29 2008-07-03 Andre Rolfsmeier System, Method and Apparatus for Observing a Control Device
US20090222646A1 (en) * 2008-02-28 2009-09-03 International Business Machines Corporation Method and apparatus for detecting processor behavior using instruction trace data
CN101593218B (zh) * 2008-05-28 2012-05-09 中兴通讯股份有限公司 芯片维护方法
CN102043713A (zh) * 2009-10-26 2011-05-04 鸿富锦精密工业(深圳)有限公司 计时电路与计时方法
US8799719B2 (en) * 2011-05-19 2014-08-05 International Business Machines Corporation On demand tracing of application code execution
DE102011052511A1 (de) 2011-08-09 2013-02-14 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
EP2557462B1 (de) * 2011-08-09 2014-01-01 dSPACE digital signal processing and control engineering GmbH Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
US10275242B2 (en) 2012-03-30 2019-04-30 Intel Corporation System and method for real time instruction tracing
US10310830B2 (en) * 2017-06-02 2019-06-04 Apple Inc. Shader profiler

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6236575A (ja) 1985-08-12 1987-02-17 Nec Corp 過渡解析モデル方式
JPS6364136A (ja) * 1986-09-04 1988-03-22 Nec Corp 情報処理装置のバス監視装置
JPS63124145A (ja) * 1986-11-13 1988-05-27 Nec Corp 情報処理装置
JPH01114947A (ja) * 1987-10-29 1989-05-08 Nec Corp データ処理装置のトレース方式
JPH0261731A (ja) * 1988-08-29 1990-03-01 Matsushita Electric Ind Co Ltd マイクロプロセッサ
JPH04148245A (ja) 1990-10-08 1992-05-21 Nec Ic Microcomput Syst Ltd プログラム開発支援装置
JPH04178840A (ja) 1990-11-14 1992-06-25 Chubu Nippon Denki Software Kk 性能測定方式
JPH0528002A (ja) * 1991-07-24 1993-02-05 Nec Corp マイクロプロセツサ
JP2646957B2 (ja) 1992-05-13 1997-08-27 日本電気株式会社 キャッシュ内蔵マイクロプロセッサ及びそのトレースシステム
JPH0991177A (ja) * 1995-09-21 1997-04-04 Hitachi Ltd 半導体集積回路装置
US5996092A (en) * 1996-12-05 1999-11-30 International Business Machines Corporation System and method for tracing program execution within a processor before and after a triggering event
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
JP3590282B2 (ja) * 1997-12-30 2004-11-17 株式会社ハイニックスセミコンダクター スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置
US6148437A (en) * 1998-05-04 2000-11-14 Hewlett-Packard Company System and method for jump-evaluated trace designation
US6243836B1 (en) * 1998-08-17 2001-06-05 Lucent Technologies, Inc. Apparatus and method for circular buffering on an on-chip discontinuity trace
US6253338B1 (en) * 1998-12-21 2001-06-26 International Business Machines Corporation System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block
US6449736B1 (en) * 1999-10-20 2002-09-10 Texas Instruments Incorporated Method and apparatus for providing chained breakpoints in a microprocessor

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024588B2 (en) * 2000-01-07 2006-04-04 Sony Corporation System monitoring system and monitoring method
US7055078B2 (en) 2002-06-21 2006-05-30 Samsung Electronics, Co., Ltd. Microprocessor with trace module
US7299393B2 (en) 2002-06-21 2007-11-20 Samsung Electronics Co., Ltd. Microprocessor with trace module
US7120831B2 (en) 2002-10-16 2006-10-10 Renesas Technology Corp. In-circuit emulator system with changeable clock frequency
US7185117B2 (en) 2002-12-18 2007-02-27 Sanyo Electric Co., Ltd. Microcomputer and evaluation device, evaluation method thereof
US7191254B2 (en) 2002-12-18 2007-03-13 Sanyo Electric Co., Ltd. Microcomputer and evaluation device, evaluation method thereof
US7904769B2 (en) 2007-05-09 2011-03-08 Renesas Electronics Corporation Debugging system and method including an emulator for debugging a target device

Also Published As

Publication number Publication date
JP3684831B2 (ja) 2005-08-17
WO2004075058A1 (ja) 2004-09-02
US20050102579A1 (en) 2005-05-12
US20040153812A1 (en) 2004-08-05
US6665821B1 (en) 2003-12-16
US6922795B2 (en) 2005-07-26
US7065678B2 (en) 2006-06-20

Similar Documents

Publication Publication Date Title
JP3684831B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US7100086B1 (en) Microcomputer, electronic equipment and debugging system
JP4190114B2 (ja) マイクロコンピュータ
US6708289B1 (en) Microcomputer, electronic equipment and debugging system
JP2002202900A (ja) デバッグ装置
US6839869B2 (en) Trace control circuit for tracing CPU operation in real time
US20080010541A1 (en) Integrated circuit device, debugging tool, debugging system, microcomputer, and electronic instrument
US6553506B1 (en) Information processing device and electronic equipment
US6996704B2 (en) Trace control circuit adapted for high-speed microcomputer operation
US20050086454A1 (en) System and methods for providing a debug function built-in type microcomputer
JP2005222446A (ja) オンボードデバッグ装置および半導体回路装置
JP3741182B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
CN100426234C (zh) 测量基本输入输出系统的自我开机测试时间的方法
JP2000284985A (ja) デバッグシステム及び情報記憶媒体
JP2005251217A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JPH1083318A (ja) 電子回路解析装置
US20230314513A1 (en) In-circuit emulator device
JP3741187B2 (ja) デバッグシステム及び情報記憶媒体
JP2000284984A (ja) デバッグシステム及び情報記憶媒体
JPH07219808A (ja) エミュレータのトレース方法およびエミュレータ
US20080072212A1 (en) Semiconductor integrated circuit including a monitor unit
JP2002333994A (ja) 情報処理装置のトレース情報出力方法、情報処理装置、及び情報処理システム
JPH09114692A (ja) インサーキットエミュレータ
JP2003263336A (ja) デバック機能内蔵型マイクロコンピュータ
JPH10222391A (ja) エミュレータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050523

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees