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

イベント検出回路

Info

Publication number
JP2000250781A
JP2000250781A JP11049593A JP4959399A JP2000250781A JP 2000250781 A JP2000250781 A JP 2000250781A JP 11049593 A JP11049593 A JP 11049593A JP 4959399 A JP4959399 A JP 4959399A JP 2000250781 A JP2000250781 A JP 2000250781A
Authority
JP
Japan
Prior art keywords
value
register
address
event detection
program
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
JP11049593A
Other languages
English (en)
Other versions
JP3590289B2 (ja
Inventor
Akito Tsukamoto
章人 塚本
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
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

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 異なるメモリ(例えばROMとRAM)間で
プログラムの転送が行われた場合でもインサーキットエ
ミュレータの操作が容易で、イベント検出を可能にす
る。 【解決手段】 イベント検出回路20は、比較器21,
22およびレジスタ25,26を備えている。比較器2
1は、フェッチ状態で、かつレジスタ25の値とアドレ
ス信号ADDRESSとが一致したときに、イベント検
出信号S1 を出力する。比較器22は、レジスタ26の
値と同じアドレスからのフェッチではない読み出し動作
を検出し、この検出により、次の書き込み動作のとき
に、レジスタ25の値はアドレス信号ADDRESSの
値に書き換えられる。プログラムの転送前にインサーキ
ットエミュレータ100により検出条件をレジスタ2
5,26に一度設定しておけば、転送されるときに自動
的に転送先のアドレス値にレジスタ25の値が書き換え
られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サのプログラムのデバッグにおいて必要とされるイベン
ト検出回路に関する。
【0002】
【従来の技術】図6は従来のイベント検出回路の例を示
すブロック図であり、この例では2種類の検出条件を設
定可能なものである。図6において、41はROM、4
2はRAM、100はインサーキットエミュレータ、1
01はプロセッサ、121,131は比較器、122,
132はレジスタ、141はOR(論理和)ゲートであ
る。
【0003】この従来のイベント検出回路は、プロセッ
サ101におけるプログラムの走行を一時的に停止させ
たりするために、アドレス信号ADDRESSの状態を
監視する比較器121,131を備える。加えて、比較
器121,131にて比較される検出条件(検出したい
アドレス値)を記憶するレジスタ122,132を備え
る。
【0004】インサーキットエミュレータ(ICE)1
00からレジスタ122および132に検出したいアド
レス値(検出条件)が書き込まれる。プロセッサ101
の読み出し動作のときに、アドレス信号ADDRESS
がレジスタ122の値と一致すると比較器121は一致
したことを示すイベント検出信号を出力し、アドレス信
号ADDRESSがレジスタ132の値と一致すると比
較器131がイベント検出信号を出力する。インサーキ
ットエミュレータ100に対しては比較器121,13
1のいずれかが検出したことを知らせればよいので、O
Rゲート141を通してインサーキットエミュレータ1
00に与える。これを受けてインサーキットエミュレー
タ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(論理和)ゲート、2
0,30は第1,第2のイベント検出回路、21,31
は第1の比較器(第1の検出手段)、22,32は第2
の比較器(第2の検出手段)、25,35は第1のレジ
スタ、26,36は第2のレジスタ、41はROM、4
2はRAM、100はインサーキットエミュレータであ
る。
【0016】プロセッサ1は、アドレス信号ADDRE
SS、読み出し信号R、書き込み信号W、プログラムカ
ウンタ2の値をアドレスとした読み出し(フェッチ)を
行なうことを示すフェッチ信号FETCHを出力すると
ともに、データDATAの入出力を行う。なお、プロセ
ッサ1の出力するアドレス信号ADDRESSは、プロ
グラムカウンタ2かアドレスポインタ3のいずれかがマ
ルチプレクサ4で選択されたものである。プロセッサ1
は、プログラムの取り込みを行うときはプログラムカウ
ンタ2を選択してその出力をアドレス信号ADDRES
Sとして出力するとともに、プログラムの取り込みを行
っていることを示すためにフェッチ信号FETCHを論
理値「1」(すなわちハイレベル)にする。また、デー
タの取り込みやデータの書き込みを行うときには、アド
レスポインタ3の出力をアドレス信号ADDRESSと
して出力する。このときにはフェッチ信号FETCHは
論理値「0」(すなわちローレベル)になる。
【0017】本実施の形態のイベント検出回路は、第1
のイベント検出回路20,第2のイベント検出回路30
およびORゲート11からなる。
【0018】第1のイベント検出回路20は、第1,第
2の比較器21,22および第1,第2のレジスタ2
5,26を備えている。第1の比較器21は、イベント
検出用の比較器であり、フェッチ状態(フェッチ信号F
ETCHが論理値「1」で、かつ読み出し信号Rが論理
値「1」)であって、かつ第1のレジスタ25の値とア
ドレス信号ADDRESSとが一致したときに、イベン
ト検出信号S1 を出力する。
【0019】第1のレジスタ25は第1の比較器21で
比較される値を記憶し、第2のレジスタ26は第2の比
較器22で比較される値を記憶するもので、操作者がイ
ンサーキットエミュレータ100に対して第2のレジス
タ26の値を設定すると、インサーキットエミュレータ
100から第2のレジスタ26とともに第1のレジスタ
25にも同じ値が書き込まれる。また、操作者がインサ
ーキットエミュレータ100に対して第1のレジスタ2
5の値を設定すると、インサーキットエミュレータ10
0から第1のレジスタ25にのみ値が書き込まれ、第2
のレジスタ26には書き込まれない。
【0020】第2の比較器22は、第2のレジスタ26
の値と同じアドレスからのフェッチではない読み出し動
作を検出するもので、フェッチ信号FETCHが論理値
「0」で、かつ読み出し信号Rが論理値「1」のとき
に、第2のレジスタ26の値とアドレス信号ADDRE
SSとが一致すると、ハイレベルの検出信号を第1のレ
ジスタ25へ出力するものである。この検出信号を第1
のレジスタ25に入力すると次の書き込み動作のとき
に、第1のレジスタ25の値はプロセッサ1が出力して
いるアドレス信号ADDRESSの値に書き換えられ
る。
【0021】また、第2のイベント検出回路30は、第
1のイベント検出回路20と同様の構成であり、詳細な
説明は省略する。第1のイベント検出回路20のイベン
ト検出信号S1 と第2のイベント検出回路30のイベン
ト検出信号S2 とは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番地から8000F
Fh番地にあり、これをRAM42の領域001000
h番地から0010FFh番地に転送する場合で、転送
前の800010h番地のフェッチでイベント検出信号
を出すようにしたいときについて説明する。
【0025】転送前にイベント検出条件を設定する場合
は、まず、レジスタ26に対して検出条件である800
010hを書き込む。その結果、レジスタ25の値も8
00010hになる(No.1)。その後(No.2以
降)、転送を行なわせると、No.34の読み出し動作
のとき、アドレス信号ADDRESSとレジスタ26と
の値とが一致するため比較器22が論理値「1」の検出
信号を出力する。これを受けてレジスタ25は、次のN
o.35の書き込み動作のときにアドレス信号ADDR
ESSの値001010hに書き換わる。
【0026】従って、転送が終了してRAM42上でプ
ログラムが走行すると、001010h番地のフェッチ
のときに比較器21が応答(一致を検出)してイベント
検出信号S1 を出力する。イベント検出信号S1 はOR
ゲート11を介してインサーキットエミュレータ100
へ出力される。これを受けてインサーキットエミュレー
タ100はプロセッサ1に対して割り込みをかけてプロ
グラムの走行を一時的に停止させる。
【0027】なお、転送が終わった後でイベント検出条
件を設定したい場合には、最初に転送元のアドレスであ
る800010hをレジスタ26に対して書き込む。そ
の後でレジスタ25に対して転送先のアドレス0010
10hを書き込む。その結果、図2のNo.35以降の
状態と同じになるので、転送後のプログラムを走行させ
れば001010h番地のフェッチを比較器21が検出
するようになる。
【0028】以上のように本実施の形態によれば、プロ
グラムの転送前にインサーキットエミュレータ100に
より検出条件をレジスタ25,26(35,36)に一
度設定しておけば、転送されるときに自動的に転送先の
アドレス値にレジスタ25(35)の値が書き換えられ
るので、インサーキットエミュレータ100の操作を容
易にして、比較器21(31)によりイベント検出を行
うことができる。なお、検出条件をレジスタ25,26
(35,36)に設定しておくことで、転送されずにR
OM41でプログラムが走行しても、当然比較器21
(31)によりイベント検出がなされる。このように、
1度のイベント検出条件の設定だけで済ますことがで
き、効率のよいデバッグ環境を提供することができる。
【0029】〔第2の実施の形態〕図3は本発明の第2
の実施の形態のイベント検出回路の例を示すブロック図
であり、この例では第1の実施の形態と同様に2種類の
検出条件を設定可能なものとしている。図3において、
50,60は第1,第2のイベント検出回路、51,6
1は第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」で、フェッチ信号FETC
Hが論理値「1」)であって、かつ第1のレジスタ55
の値とアドレス信号ADDRESSとが一致したとき
に、イベント検出信号S1を出力する。
【0032】第1のレジスタ55は第1,第3の比較器
51,53で比較される値を記憶し、第2のレジスタ5
6は第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の値とアドレス信号ADDRE
SSとが一致すると、ハイレベルの検出信号を第1のレ
ジスタ55へ出力するものである。この検出信号を第1
のレジスタ55に入力すると次の書き込み動作のとき
に、第1のレジスタ55の値はプロセッサ1が出力して
いるアドレス信号ADDRESSの値に書き換えられ
る。
【0034】第3の比較器53は、第1のレジスタ55
の値と同じアドレスに対する書き込みを検出するもの
で、書き込み信号Wが論理値「1」のときに、第1のレ
ジスタ55の値とアドレス信号ADDRESSとが一致
すると、ハイレベルの検出信号を第1のレジスタ55へ
出力するものである。この検出信号が第1のレジスタ5
5に入力されると、第1のレジスタ55の値は第2のレ
ジスタ56の値に書き換えられる。なお、この書き換え
よりも、前述の第2の比較器52の検出による書き換え
の方が優先される。
【0035】また、第2のイベント検出回路60は、第
1のイベント検出回路50と同様の構成であり、詳細な
説明は省略する。第1のイベント検出回路50のイベン
ト検出信号S1 と第2のイベント検出回路60のイベン
ト検出信号S2 とは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番地から8000F
Fh番地にあり、これをRAM42の領域001000
h番地から0010FFh番地に転送する場合で、転送
前の800010h番地のフェッチでイベント検出信号
を出すようにしたいときについて説明する。
【0039】転送前にイベント検出条件を設定する場合
は、まず、レジスタ56に対して検出条件である800
010hを書き込む。その結果、レジスタ55の値も8
00010hになる(No.1)。その後(No.2以
降)、転送を行なわせると、No.34の読み出し動作
のとき、アドレス信号ADDRESSとレジスタ56と
の値とが一致するため比較器52が論理値「1」の検出
信号を出力する。これを受けてレジスタ55は、次のN
o.35の書き込み動作のときにアドレス信号ADDR
ESSの値001010hに書き換わる。
【0040】従って、転送が終了してRAM42上でプ
ログラムが走行すると、001010h番地のフェッチ
のときに比較器51が応答(一致を検出)してイベント
検出信号S1 を出力する。イベント検出信号S1 はOR
ゲート11を介してインサーキットエミュレータ100
へ出力される。これを受けてインサーキットエミュレー
タ100はプロセッサ1に対して割り込みをかけてプロ
グラムの走行を一時的に停止させる。
【0041】なお、転送が終わった後でイベント検出条
件を設定したい場合には、最初に転送元のアドレスであ
る800010hをレジスタ56に対して書き込む。そ
の後でレジスタ55に対して転送先のアドレス0010
10hを書き込む。その結果、図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のレジスタの値と
    一致したときにイベント検出信号を出力する第1の検出
    手段と、 外部から値を設定可能な第2のレジスタと、 前記第2のレジスタの値と同じアドレスからのフェッチ
    ではない読み出しを検出する第2の検出手段とを備え、 前記第1のレジスタの値は、前記第2の検出手段による
    検出がなされるとその検出に対する読み出しデータの書
    き込み先のアドレス値に書き換えられるようにしたこと
    を特徴とするイベント検出回路。
  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 true JP2000250781A (ja) 2000-09-14
JP3590289B2 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
JP3590289B2 (ja) 2004-11-17

Similar Documents

Publication Publication Date Title
US7533302B2 (en) Trace and debug method and system for a processor
EP0702297B1 (en) A data processor with breakpoint circuit
US5862148A (en) Microcontroller with improved debug capability for internal memory
JPH10333939A (ja) マイクロプロセッサ
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
JP2583525B2 (ja) データ処理装置
JP3432734B2 (ja) Dma制御装置及びdma制御方法
JP2000250781A (ja) イベント検出回路
JP2760228B2 (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
JPS62197831A (ja) デ−タ処理装置
JPH1185565A (ja) Cpuのデバッグ方法およびそのシステム
JPH06202907A (ja) デバッグ支援装置
JPH0333939A (ja) マイクロプロセッサ
JPS59112494A (ja) メモリテスト方式
JPH03129536A (ja) ブレークアドレス検出装置
JPH11203174A (ja) 状態監視情報処理装置
JPH09106359A (ja) 半導体集積回路
JPH06222917A (ja) 電子装置
JPH06139084A (ja) 情報処理装置
JPH0320834A (ja) 情報処理装置の初期診断方法
JPH0782447B2 (ja) Dmaデータ転送制御装置
JPS59191662A (ja) プログラム暴走検出方式
JPH1021110A (ja) エミュレータ
JPH07253908A (ja) メモリアクセス装置
JPS6133548A (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