JP3590289B2 - イベント検出回路 - Google Patents

イベント検出回路 Download PDF

Info

Publication number
JP3590289B2
JP3590289B2 JP04959399A JP4959399A JP3590289B2 JP 3590289 B2 JP3590289 B2 JP 3590289B2 JP 04959399 A JP04959399 A JP 04959399A JP 4959399 A JP4959399 A JP 4959399A JP 3590289 B2 JP3590289 B2 JP 3590289B2
Authority
JP
Japan
Prior art keywords
value
register
address
program
event detection
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
JP04959399A
Other languages
English (en)
Other versions
JP2000250781A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP04959399A priority Critical patent/JP3590289B2/ja
Publication of JP2000250781A publication Critical patent/JP2000250781A/ja
Application granted granted Critical
Publication of JP3590289B2 publication Critical patent/JP3590289B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロプロセッサのプログラムのデバッグにおいて必要とされるイベント検出回路に関する。
【0002】
【従来の技術】
図6は従来のイベント検出回路の例を示すブロック図であり、この例では2種類の検出条件を設定可能なものである。図6において、41はROM、42はRAM、100はインサーキットエミュレータ、101はプロセッサ、121,131は比較器、122,132はレジスタ、141はOR(論理和)ゲートである。
【0003】
この従来のイベント検出回路は、プロセッサ101におけるプログラムの走行を一時的に停止させたりするために、アドレス信号ADDRESSの状態を監視する比較器121,131を備える。加えて、比較器121,131にて比較される検出条件(検出したいアドレス値)を記憶するレジスタ122,132を備える。
【0004】
インサーキットエミュレータ(ICE)100からレジスタ122および132に検出したいアドレス値(検出条件)が書き込まれる。プロセッサ101の読み出し動作のときに、アドレス信号ADDRESSがレジスタ122の値と一致すると比較器121は一致したことを示すイベント検出信号を出力し、アドレス信号ADDRESSがレジスタ132の値と一致すると比較器131がイベント検出信号を出力する。インサーキットエミュレータ100に対しては比較器121,131のいずれかが検出したことを知らせればよいので、ORゲート141を通してインサーキットエミュレータ100に与える。これを受けてインサーキットエミュレータ100はプロセッサ101に対して割り込みをかけてプログラムの走行を一時的に停止させる。
【0005】
ここで、プロセッサ101に接続されるメモリにはROM41のように低速なものとRAM42のように高速なものとがあるが、ROM41上に記憶されているプログラムをそのままROM41上で走行させるとプログラムの実行速度がROM41の速度により制限される。そのため、実行前にROM41からRAM42にプログラムを転送し、RAM42上でプログラムを走行させる場合がある。このような場合にはROM41上のアドレス値を上記イベント検出回路に設定すると、転送後にRAM42上でプログラムを走行させるとイベント検出回路はイベントを検出しない。そのためイベント検出回路にはRAM42上のアドレス値を設定してやる必要がある。
【0006】
【発明が解決しようとする課題】
従来のイベント検出回路において、インサーキットエミュレータなどを接続してプログラムをデバッグする際に、ROMからRAMにプログラムを転送した後でRAM上でそのプログラムを走行させるような使い方の場合には、RAM上でのアドレス値をイベント検出回路に設定してやる必要がある。ところがROM上でもRAM上でも走行させるような場合にはイベント検出回路を2組用いて、それぞれROM上でのアドレス値,RAM上でのアドレス値を設定する必要がある。
【0007】
また、図7のように複数種類のプログラムをROMからRAMに転送するような場合、別のプログラムを転送した後ではそれまでのイベント検出回路に対する設定値は意味を持たない。加えてそのままの状態では関係のないところでイベント検出してしまうので、別のプログラムを転送した後、直ちにレジスタに書き込まれているアドレス値を変えるか、あるいはイベント検出回路の動作を停止させなければならない。これを行うには転送を検出するためのイベント検出回路が別個に必要になるし、また、この検出回路で転送を検出させてプログラムの走行を一時的に停止させた後、インサーキットエミュレータの操作者は先の転送後のイベントを検出する検出回路の動作を停止させるか、あるいはアドレス値を変えるなど、操作が煩雑になる。
【0008】
このように操作が煩雑になったり、イベント検出回路を余計に使ってしまうために、従来はROMからRAMへの転送を行わないことにしてすべてのプログラムをROM上で走行させ、デバッグが終了してからROMからRAMへの転送を行わせてRAM上で走行するようにプログラムを書き換えるということが行われてきたが、RAM上で走行させる場合にはプログラムの実行速度がROM上の場合とは異なるので、最終的に問題が残る場合があった。
【0009】
本発明の目的は、プログラムが異なる領域間で転送されて走行する環境に対して、イベントの検出が可能なイベント検出回路を提供することにある。また、インサーキットエミュレータがプログラムの転送が発生したかどうか監視することを不要にすることを目的としたものである。
【0010】
【課題を解決するための手段】
請求項1記載のイベント検出回路は、外部から値を設定可能な第1のレジスタと、プログラムカウンタの値をアドレス値とした読み出しであり、かつアドレス値が第1のレジスタの値と一致したときにイベント検出信号を出力する第1の検出手段と、外部から値を設定可能な第2のレジスタと、第2のレジスタの値と同じアドレスからのフェッチではない読み出しを検出する第2の検出手段とを備え、第1のレジスタの値は、第2の検出手段による検出がなされるとその検出に対する読み出しデータの書き込み先のアドレス値に書き換えられるようにしたことを特徴とする。
【0011】
この構成によれば、プログラムのメモリ間の転送(例えばROMからRAMへの転送)が行われる前に検出条件(検出したいアドレス値)を設定する場合には、外部(インサーキットエミュレータ)から第1のレジスタと第2のレジスタに検出条件を書き込んだ後、プログラムの転送を行う。プログラムの転送においては、プログラムは単なるデータとして扱われるので、フェッチ信号は「0」であり、第1の検出手段は応答せず、第2の検出手段が応答する。これにより第1のレジスタの値は書き込み先(転送先)のアドレス値に書き換えられる。この状態で転送先の領域で転送したプログラムが走行すると、フェッチ信号が「0」で、かつ第1のレジスタの値と一致したアドレスに対する読み出しが発生する。第1の検出手段はこれに応答してイベント検出信号を出力する。このように、第1の検出手段の比較値を記憶している第1のレジスタの値が転送先のものに書き換わることにより、プログラムの転送が行われても有効にイベントを検出することができる。
【0012】
また、プログラムを転送した後で検出条件を設定したい場合には、検出条件である転送元のアドレス値を第2のレジスタに書き込み、転送先のアドレス値を第1のレジスタに書き込む。この状態でプログラムを走行させれば、アドレス値が当然第1のレジスタの値になったときにイベントを検出することができる。なお、転送されるプログラムの転送元および転送先アドレスは、外部(インサーキットエミュレータ)で把握されている。
【0013】
請求項2記載のイベント検出回路は、請求項1記載のイベント検出回路において、第1のレジスタの値と同じアドレスに対する書き込みを検出する第3の検出手段を設け、第1のレジスタの値は、第3の検出手段による検出がなされると第2のレジスタの値に書き換えられるようにしたことを特徴とする。
【0014】
この構成によれば、プログラムAを転送する前に、請求項1と同様に第1および第2のレジスタに転送元のアドレス値を書き込んでおくと、プログラムAを転送したときに第2の検出手段がプログラムの転送が発生したことを検出する。その結果、プログラムAを転送した後は、請求項1と同様に第1のレジスタは転送先のアドレス値を、第2のレジスタは転送元のアドレス値を記憶している。この状態でプログラムBをプログラムAと同じ領域に転送すると、第3の検出手段が第1のレジスタの値と転送先アドレスとが一致したことを検出する。それにより、第1のレジスタは第2のレジスタの値に書き換えられる。つまり、第1のレジスタと第2のレジスタの値は転送元のアドレス値となり、プログラムAが転送される前の状態に戻る。したがって、プログラムAと同じ領域にプログラムBが転送された際のイベントの誤検出を避けることができる。
【0015】
【発明の実施の形態】
〔第1の実施の形態〕
図1は本発明の第1の実施の形態のイベント検出回路の例を示すブロック図であり、この例では2種類の検出条件(検出したいアドレス値)を設定可能なものとしている。図1において、1はプロセッサ、2はプロセッサ1内のプログラムカウンタ、3はプロセッサ1内のアドレスポインタ、4はプログラムカウンタ2の値とアドレスポインタ3と値とのうち一方を選択して出力するプロセッサ1内のマルチプレクサ、11はOR(論理和)ゲート、20,30は第1,第2のイベント検出回路、21,31は第1の比較器(第1の検出手段)、22,32は第2の比較器(第2の検出手段)、25,35は第1のレジスタ、26,36は第2のレジスタ、41はROM、42はRAM、100はインサーキットエミュレータである。
【0016】
プロセッサ1は、アドレス信号ADDRESS、読み出し信号R、書き込み信号W、プログラムカウンタ2の値をアドレスとした読み出し(フェッチ)を行なうことを示すフェッチ信号FETCHを出力するとともに、データDATAの入出力を行う。なお、プロセッサ1の出力するアドレス信号ADDRESSは、プログラムカウンタ2かアドレスポインタ3のいずれかがマルチプレクサ4で選択されたものである。プロセッサ1は、プログラムの取り込みを行うときはプログラムカウンタ2を選択してその出力をアドレス信号ADDRESSとして出力するとともに、プログラムの取り込みを行っていることを示すためにフェッチ信号FETCHを論理値「1」(すなわちハイレベル)にする。また、データの取り込みやデータの書き込みを行うときには、アドレスポインタ3の出力をアドレス信号ADDRESSとして出力する。このときにはフェッチ信号FETCHは論理値「0」(すなわちローレベル)になる。
【0017】
本実施の形態のイベント検出回路は、第1のイベント検出回路20,第2のイベント検出回路30およびORゲート11からなる。
【0018】
第1のイベント検出回路20は、第1,第2の比較器21,22および第1,第2のレジスタ25,26を備えている。第1の比較器21は、イベント検出用の比較器であり、フェッチ状態(フェッチ信号FETCHが論理値「1」で、かつ読み出し信号Rが論理値「1」)であって、かつ第1のレジスタ25の値とアドレス信号ADDRESSとが一致したときに、イベント検出信号Sを出力する。
【0019】
第1のレジスタ25は第1の比較器21で比較される値を記憶し、第2のレジスタ26は第2の比較器22で比較される値を記憶するもので、操作者がインサーキットエミュレータ100に対して第2のレジスタ26の値を設定すると、インサーキットエミュレータ100から第2のレジスタ26とともに第1のレジスタ25にも同じ値が書き込まれる。また、操作者がインサーキットエミュレータ100に対して第1のレジスタ25の値を設定すると、インサーキットエミュレータ100から第1のレジスタ25にのみ値が書き込まれ、第2のレジスタ26には書き込まれない。
【0020】
第2の比較器22は、第2のレジスタ26の値と同じアドレスからのフェッチではない読み出し動作を検出するもので、フェッチ信号FETCHが論理値「0」で、かつ読み出し信号Rが論理値「1」のときに、第2のレジスタ26の値とアドレス信号ADDRESSとが一致すると、ハイレベルの検出信号を第1のレジスタ25へ出力するものである。この検出信号を第1のレジスタ25に入力すると次の書き込み動作のときに、第1のレジスタ25の値はプロセッサ1が出力しているアドレス信号ADDRESSの値に書き換えられる。
【0021】
また、第2のイベント検出回路30は、第1のイベント検出回路20と同様の構成であり、詳細な説明は省略する。第1のイベント検出回路20のイベント検出信号Sと第2のイベント検出回路30のイベント検出信号SとはORゲート11を介してインサーキットエミュレータ100へ出力される。これを受けてインサーキットエミュレータ100はプロセッサ1に対して割り込みをかけてプログラムの走行を一時的に停止させる。
【0022】
このように構成される本実施の形態のイベント検出回路において、例えばROM41のプログラムをRAM42に転送してRAM42上でプログラムを走行させる場合の動作について、さらに図2を参照しながら説明する。第1のイベント検出回路20と第2のイベント検出回路30とは検出条件が異なるだけで同様の動作であるため、ここでは第1のイベント検出回路20の動作についてのみ説明する。
【0023】
図2は本実施の形態のイベント検出回路の第1のイベント検出回路20の動作を説明するための図であり、アドレス信号ADDRESS,読み出し信号R,書き込み信号W,フェッチ信号FETCH,レジスタ26・25の値,比較器21・22の出力値を示し、No.1,No.2,・・・・・・の順に動作が行われる。図2において、アドレス信号ADDRESSの値,レジスタ26の値,レジスタ25の値は16進数表示(h)である。読み出し信号R,書き込み信号Wの「0」「1」は論理値を示し、読み出し信号Rが論理値「1」のハイレベルのとき読み出し動作を行い、論理値「0」のローレベルのときは読み出し動作を行わない。また、書き込み信号Wが論理値「1」のハイレベルのとき書き込み動作を行い、論理値「0」のローレベルのときは書き込み動作を行わない。フェッチ信号FETCHの「0」は論理値「0」を示し、プログラムが転送元(ROM41)から転送先(RAM42)に転送されるときにはプログラムは単なるデータとして扱われ、図2中ではプログラムカウンタ2の値ではなくアドレスポインタ3の値をアドレスとするため、フェッチ信号FETCHは全て論理値「0」となっている。比較器21,22の出力値の「1」は比較結果が一致したときのハイレベルの信号で、「0」は比較結果が不一致のときのローレベルの信号である。
【0024】
ここでは、ROM41の領域上に記憶されているプログラムが800000h番地から8000FFh番地にあり、これをRAM42の領域001000h番地から0010FFh番地に転送する場合で、転送前の800010h番地のフェッチでイベント検出信号を出すようにしたいときについて説明する。
【0025】
転送前にイベント検出条件を設定する場合は、まず、レジスタ26に対して検出条件である800010hを書き込む。その結果、レジスタ25の値も800010hになる(No.1)。その後(No.2以降)、転送を行なわせると、No.34の読み出し動作のとき、アドレス信号ADDRESSとレジスタ26との値とが一致するため比較器22が論理値「1」の検出信号を出力する。これを受けてレジスタ25は、次のNo.35の書き込み動作のときにアドレス信号ADDRESSの値001010hに書き換わる。
【0026】
従って、転送が終了してRAM42上でプログラムが走行すると、001010h番地のフェッチのときに比較器21が応答(一致を検出)してイベント検出信号Sを出力する。イベント検出信号SはORゲート11を介してインサーキットエミュレータ100へ出力される。これを受けてインサーキットエミュレータ100はプロセッサ1に対して割り込みをかけてプログラムの走行を一時的に停止させる。
【0027】
なお、転送が終わった後でイベント検出条件を設定したい場合には、最初に転送元のアドレスである800010hをレジスタ26に対して書き込む。その後でレジスタ25に対して転送先のアドレス001010hを書き込む。その結果、図2のNo.35以降の状態と同じになるので、転送後のプログラムを走行させれば001010h番地のフェッチを比較器21が検出するようになる。
【0028】
以上のように本実施の形態によれば、プログラムの転送前にインサーキットエミュレータ100により検出条件をレジスタ25,26(35,36)に一度設定しておけば、転送されるときに自動的に転送先のアドレス値にレジスタ25(35)の値が書き換えられるので、インサーキットエミュレータ100の操作を容易にして、比較器21(31)によりイベント検出を行うことができる。なお、検出条件をレジスタ25,26(35,36)に設定しておくことで、転送されずにROM41でプログラムが走行しても、当然比較器21(31)によりイベント検出がなされる。このように、1度のイベント検出条件の設定だけで済ますことができ、効率のよいデバッグ環境を提供することができる。
【0029】
〔第2の実施の形態〕
図3は本発明の第2の実施の形態のイベント検出回路の例を示すブロック図であり、この例では第1の実施の形態と同様に2種類の検出条件を設定可能なものとしている。図3において、50,60は第1,第2のイベント検出回路、51,61は第1の比較器(第1の検出手段)、52,62は第2の比較器(第2の検出手段)、53,63は第3の比較器(第3の検出手段)、55,65は第1のレジスタ、56,66は第2のレジスタであり、その他の図1と同じものには同一符号を付しその説明を省略する。
【0030】
本実施の形態のイベント検出回路は、第1のイベント検出回路50,第2のイベント検出回路60およびORゲート11からなる。
【0031】
第1のイベント検出回路50は、第1,第2,第3の比較器51,52,53および第1,第2のレジスタ55,56を備えている。第1の比較器51は、イベント検出用の比較器であり、フェッチ状態(読み出し信号Rが論理値「1」で、フェッチ信号FETCHが論理値「1」)であって、かつ第1のレジスタ55の値とアドレス信号ADDRESSとが一致したときに、イベント検出信号Sを出力する。
【0032】
第1のレジスタ55は第1,第3の比較器51,53で比較される値を記憶し、第2のレジスタ56は第2の比較器52で比較される値を記憶するもので、操作者がインサーキットエミュレータ100に対して第2のレジスタ56の値を設定すると、インサーキットエミュレータ100から第2のレジスタ56とともに第1のレジスタ55にも同じ値が書き込まれる。操作者がインサーキットエミュレータ100に対して第1のレジスタ55の値を設定すると、インサーキットエミュレータ100から第1のレジスタ55にのみ値が書き込まれ、第2のレジスタ56には書き込まれない。
【0033】
第2の比較器52は、第2のレジスタ56の値と同じアドレスからのフェッチではない読み出し動作を検出するもので、読み出し信号Rが論理値「1」で、かつフェッチ信号FETCHが論理値「0」のときに、第2のレジスタ56の値とアドレス信号ADDRESSとが一致すると、ハイレベルの検出信号を第1のレジスタ55へ出力するものである。この検出信号を第1のレジスタ55に入力すると次の書き込み動作のときに、第1のレジスタ55の値はプロセッサ1が出力しているアドレス信号ADDRESSの値に書き換えられる。
【0034】
第3の比較器53は、第1のレジスタ55の値と同じアドレスに対する書き込みを検出するもので、書き込み信号Wが論理値「1」のときに、第1のレジスタ55の値とアドレス信号ADDRESSとが一致すると、ハイレベルの検出信号を第1のレジスタ55へ出力するものである。この検出信号が第1のレジスタ55に入力されると、第1のレジスタ55の値は第2のレジスタ56の値に書き換えられる。なお、この書き換えよりも、前述の第2の比較器52の検出による書き換えの方が優先される。
【0035】
また、第2のイベント検出回路60は、第1のイベント検出回路50と同様の構成であり、詳細な説明は省略する。第1のイベント検出回路50のイベント検出信号Sと第2のイベント検出回路60のイベント検出信号SとはORゲート11を介してインサーキットエミュレータ100へ出力される。これを受けてインサーキットエミュレータ100はプロセッサ1に対して割り込みをかけてプログラムの走行を一時的に停止させる。
【0036】
このように構成される本実施の形態のイベント検出回路において、例えばROM41のプログラムをRAM42に転送してRAM42上でプログラムを走行させる場合の動作について、さらに図4を参照しながら説明する。第1のイベント検出回路50と第2のイベント検出回路60とは検出条件が異なるだけで同様の動作であるため、ここでは第1のイベント検出回路50の動作についてのみ説明する。
【0037】
図4は本実施の形態のイベント検出回路の第1のイベント検出回路50の動作を説明するための図であり、アドレス信号ADDRESS,読み出し信号R,書き込み信号W,フェッチ信号FETCH,レジスタ56・55の値,比較器51・52・53の出力値を示し、No.1,No.2,・・・・・・の順に動作が行われる。図4中における値は、図2と同様にして示してあり、比較器53の出力値も比較器51,52と同様、「1」は比較結果が一致したときのハイレベルの信号で、「0」は比較結果が不一致のときのローレベルの信号である。
【0038】
ここでは、ROM41の領域上に記憶されているプログラムが800000h番地から8000FFh番地にあり、これをRAM42の領域001000h番地から0010FFh番地に転送する場合で、転送前の800010h番地のフェッチでイベント検出信号を出すようにしたいときについて説明する。
【0039】
転送前にイベント検出条件を設定する場合は、まず、レジスタ56に対して検出条件である800010hを書き込む。その結果、レジスタ55の値も800010hになる(No.1)。その後(No.2以降)、転送を行なわせると、No.34の読み出し動作のとき、アドレス信号ADDRESSとレジスタ56との値とが一致するため比較器52が論理値「1」の検出信号を出力する。これを受けてレジスタ55は、次のNo.35の書き込み動作のときにアドレス信号ADDRESSの値001010hに書き換わる。
【0040】
従って、転送が終了してRAM42上でプログラムが走行すると、001010h番地のフェッチのときに比較器51が応答(一致を検出)してイベント検出信号Sを出力する。イベント検出信号SはORゲート11を介してインサーキットエミュレータ100へ出力される。これを受けてインサーキットエミュレータ100はプロセッサ1に対して割り込みをかけてプログラムの走行を一時的に停止させる。
【0041】
なお、転送が終わった後でイベント検出条件を設定したい場合には、最初に転送元のアドレスである800010hをレジスタ56に対して書き込む。その後でレジスタ55に対して転送先のアドレス001010hを書き込む。その結果、図4のNo.35以降の状態と同じになるので、転送後のプログラムを走行させれば001010h番地のフェッチを比較器51が検出するようになる。以上の動作は第1の実施の形態と同様である。
【0042】
また、上記の状態の後で、別のプログラムをRAM42の同じ領域に転送してくる場合について、図5を参照して説明する。図5中における値は、図4と同様にして示している。
【0043】
この場合、レジスタ56には、先に転送されたプログラムのROM41のアドレスが書き込まれているため、比較器52は応答せず(一致を検出しない)、図5のNo.35の書き込み動作のときに、比較器53が001010h番地に対する書き込みを検出する。この検出に応答して、レジスタ55の値はレジスタ56と同じ値に書き換えられる。従って、転送が終わった後で、001010h番地のフェッチが行われても比較器51は応答しないので誤検出が防止される。
【0044】
以上のように本実施の形態によれば、第1の実施の形態の効果に加え、第3の比較器53(63)を設け、プログラムの転送が行われた後、それと同じ転送先に別のプログラムの転送が行われる場合に、書き込み動作のときに、第3の比較器53(63)がアドレス信号ADDRESSと第1のレジスタ55(65)の値との一致を検出すると、第1のレジスタ55(65)の値は第2のレジスタ56(66)の値(転送元のアドレス値)に書き換えられるので、別のプログラムの転送後には第1の比較器51(61)によるイベントの検出は行われなくなり、イベントの誤検出は起こらない。このように、複数種のプログラムが転送先に転送される状態、すなわち転送先上で走行するプログラムが頻繁に書き換わる場合でも有効にイベントを検出することが可能になる。
【0045】
【発明の効果】
以上のように本発明によれば、プログラムの転送前に外部(インサーキットエミュレータ)により検出条件を第1および第2のレジスタに一度設定しておけば、転送されるときに自動的に転送先のアドレス値に第1のレジスタの値が書き換えられるので、インサーキットエミュレータの操作を容易にして、第1の検出手段によりイベント検出を行うことができる。なお、検出条件を第1および第2のレジスタに設定しておくことで、転送が行われない場合でもプログラムが走行すると、第1の検出手段によりイベント検出がなされる。このように、1度のイベント検出条件の設定だけで済ますことができ、効率のよいデバッグ環境を提供することができる。
【0046】
そしてさらに、第3の検出手段を設け、プログラムの転送が行われた後、それと同じ転送先に別のプログラムの転送が行われる場合に、書き込み動作のときに、第3の検出手段がアドレス値と第1のレジスタの値との一致を検出すると、第1のレジスタの値は第2のレジスタの値(転送元のアドレス値)に書き換えられるので、別のプログラムの転送後には第1の検出手段によるイベントの検出は行われなくなり、イベントの誤検出は起こらない。このように、複数種のプログラムが転送先に転送される状態、すなわち転送先上で走行するプログラムが頻繁に書き換わる場合でも有効にイベントを検出することが可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のイベント検出回路を示すブロック図。
【図2】本発明の第1の実施の形態における動作を説明するための図。
【図3】本発明の第2の実施の形態のイベント検出回路を示すブロック図。
【図4】本発明の第2の実施の形態における動作を説明するための図。
【図5】本発明の第2の実施の形態における動作を説明するための図。
【図6】従来のイベント検出回路を示すブロック図。
【図7】複数のプログラムのROMからRAMへの転送を示す図。
【符号の説明】
1 プロセッサ
2 プログラムカウンタ
11 ORゲート
20,30 イベント検出回路
21,31 第1の比較器
22,32 第2の比較器
25,35 第1のレジスタ
26,36 第2のレジスタ
41 ROM
42 RAM
50,60 イベント検出回路
51,61 第1の比較器
52,62 第2の比較器
53,63 第3の比較器
55,65 第1のレジスタ
56,66 第2のレジスタ
100 インサーキットエミュレータ

Claims (2)

  1. 外部から値を設定可能な第1のレジスタと、
    プログラムカウンタの値をアドレス値とした読み出しであり、かつ前記アドレス値が前記第1のレジスタの値と一致したときにイベント検出信号を出力する第1の検出手段と、
    外部から値を設定可能な第2のレジスタと、
    前記第2のレジスタの値と同じアドレスからのフェッチではない読み出しを検出する第2の検出手段とを備え、
    前記第1のレジスタの値は、前記第2の検出手段による検出がなされるとその検出に対する読み出しデータの書き込み先のアドレス値に書き換えられるようにしたことを特徴とするイベント検出回路。
  2. 第1のレジスタの値と同じアドレスに対する書き込みを検出する第3の検出手段を設け、
    前記第1のレジスタの値は、前記第3の検出手段による検出がなされると第2のレジスタの値に書き換えられるようにしたことを特徴とする請求項1記載のイベント検出回路。
JP04959399A 1999-02-26 1999-02-26 イベント検出回路 Expired - Fee Related JP3590289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04959399A JP3590289B2 (ja) 1999-02-26 1999-02-26 イベント検出回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04959399A JP3590289B2 (ja) 1999-02-26 1999-02-26 イベント検出回路

Publications (2)

Publication Number Publication Date
JP2000250781A JP2000250781A (ja) 2000-09-14
JP3590289B2 true JP3590289B2 (ja) 2004-11-17

Family

ID=12835546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04959399A Expired - Fee Related JP3590289B2 (ja) 1999-02-26 1999-02-26 イベント検出回路

Country Status (1)

Country Link
JP (1) JP3590289B2 (ja)

Also Published As

Publication number Publication date
JP2000250781A (ja) 2000-09-14

Similar Documents

Publication Publication Date Title
US7237149B2 (en) Method and apparatus for qualifying debug operation using source information
EP0702297B1 (en) A data processor with breakpoint circuit
US20030120880A1 (en) System having read-modify-write unit
JPH09218802A (ja) データプロセッサ
US5862148A (en) Microcontroller with improved debug capability for internal memory
JPH09218801A (ja) データプロセッサ
JP3590289B2 (ja) イベント検出回路
JP2760228B2 (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
JPS62197831A (ja) デ−タ処理装置
JP2665173B2 (ja) プロセッサトラップ回路
JPH06202907A (ja) デバッグ支援装置
JP2666737B2 (ja) トレースメモリ内蔵マイクロプロセッサおよびトレース方法
JPH0333939A (ja) マイクロプロセッサ
JPH0644098A (ja) メモリ・アクセス・バス・コンパレータ
JPH1185565A (ja) Cpuのデバッグ方法およびそのシステム
JPH06139084A (ja) 情報処理装置
JPH10340200A (ja) 情報処理装置
JPH0258648B2 (ja)
JPH0782447B2 (ja) Dmaデータ転送制御装置
JPH07253908A (ja) メモリアクセス装置
JPH11203174A (ja) 状態監視情報処理装置
JPS6133548A (ja) プログラム暴走検出方式
JPH04310138A (ja) データ伝送装置のデバッグ方法
JPH05210534A (ja) 命令フェッチ・トリガ回路
JPH03263135A (ja) 分岐制御回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040730

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040819

LAPS Cancellation because of no payment of annual fees