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

マイクロコンピュータ

Info

Publication number
JPH11203146A
JPH11203146A JP10003524A JP352498A JPH11203146A JP H11203146 A JPH11203146 A JP H11203146A JP 10003524 A JP10003524 A JP 10003524A JP 352498 A JP352498 A JP 352498A JP H11203146 A JPH11203146 A JP H11203146A
Authority
JP
Japan
Prior art keywords
flag
program counter
executed
program
debug
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10003524A
Other languages
English (en)
Other versions
JP3872196B2 (ja
Inventor
Teruaki Kanzaki
照明 神▲ざき▼
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP00352498A priority Critical patent/JP3872196B2/ja
Priority to US09/075,824 priority patent/US5983018A/en
Publication of JPH11203146A publication Critical patent/JPH11203146A/ja
Application granted granted Critical
Publication of JP3872196B2 publication Critical patent/JP3872196B2/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

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)

Abstract

(57)【要約】 【課題】 デバッグ割り込みによってSTP命令が解除
されるのを回避するための処理が必要となり、1回当た
りのデバッグ割り込み処理時間が長くなってしまう。 【解決手段】 フラグ回路30に格納されたフラグを用
いてプログラムカウンタ40のプログラムカウント値の
減算処理を行うか否かを判定し、このフラグがSTP命
令が実行されたことを示している場合には、上記プログ
ラムカウント値の減算処理を行って、デバッグ割り込み
処理の終了時における復帰先のアドレスをSTP命令の
アドレスに変更し、そうでない場合には、減算処理を行
わないプログラムカウント値をそのままデバッグ割り込
み処理の終了時における復帰先のアドレスとするもの。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、内部の基本クロ
ックを停止する基本クロック停止命令(以下、STP命
令という)を備え、プログラムデバッグ専用の割り込み
(以下、デバッグ割り込みという)処理を実行して、開
発中のプログラム(以下、ユーザプログラムという)の
誤りの発見・修正を行うマイクロコンピュータに関する
ものである。
【0002】
【従来の技術】従来、マイクロコンピータのプログラム
開発では、開発中のユーザプログラムの誤りを発見し、
発見した誤りを修正するため、マイクロコンピュータの
割り込み回路にデバッグ専用の割り込み要求発生回路を
設けていた。このデバッグ割り込み要求は、外部のプロ
グラムデバッグ装置(以下、外部デバッグ装置という)
からの割り込み要求などにより、ユーザプログラムの実
行を一時的に中断してデバッグ用の割り込み処理を行う
ものである。
【0003】図7はそのような従来のマイクロコンピュ
ータと外部デバッグ装置の接続を示すブロック図であ
る。図において、1はマイクロコンピュータであり、2
は外部デバッグ装置である。また、マイクロコンピュー
タ1内において、10は中央演算処理装置(以下、CP
Uという)、11はアドレスバス、12はデータバス、
13は制御信号線、14はランダムアクセスメモリ(以
下、RAMという)、15はプログラムメモリであり、
16は割り込み制御回路、17はデバッグ補助回路であ
る。なお、18は割り込み要求信号が伝送される割り込
み要求信号線であり、19はデバッグバスである。
【0004】図8はマイクロコンピュータ1内のデバッ
グ補助回路17の内部構成を示すブロック図である。図
において、20はCPU10の実行状態、すなわちアド
レスバス11、データバス12、制御信号線13の状態
をデバッグバス19に出力するトレース回路であり、2
1は外部デバッグ装置2、およびマイクロコンピュータ
1のCPU10より読み出し/書き込みが可能なレジス
タである。
【0005】次に動作について説明する。今、マイクロ
コンピュータ1はプログラムメモリ15に格納されてい
るユーザプログラムを実行しているものとする。このと
き、外部デバッグ装置2はマイクロコンピュータ1のデ
バッグ補助回路17よりデバッグバス19を介してトレ
ースデータを取り込むことによって、マイクロコンピュ
ータ1のCPU10の動作をモニタすることができる。
そして、例えば前述のトレースデータのCPU10の実
行アドレスが、あらかじめ設定されているアドレス値と
なったとき、外部デバッグ装置2は割り込み要求信号線
18に割り込み要求信号を出力する。この割り込み要求
信号を受けたマイクロコンピュータ1は実行中のユーザ
プログラムの処理を一時中断してデバッグ割り込み処理
に入る。すなわち、デバッグ割り込みがかかると、CP
U10はプログラムメモリ15に格納されているデバッ
グ処理用のプログラムを実行し、デバッグ補助回路17
のレジスタ21を介して、外部デバッグ装置2と相互に
通信を行う。
【0006】例えば、外部デバッグ装置2はデバッグ割
込み要求後、デバッグ補助回路17のレジスタ21を介
してCPU10と通信を行い、マイクロコンピュータ1
のレジスタの内容やRAM14などのメモリの内容を知
ることができる。このデバッグ割り込み要求の処理は通
常の割り込みと同様で、CPU10が割り込み要求を受
け付けると、次に実行されるプログラムカウンタ値(プ
ログラムカウンタの内容)を、スタックポインタで指示
されるメモリ領域(このメモリとしては通常RAM14
が使用される)へ待避した後、割り込み処理に入る。一
方、割り込み処理終了時には、終了時に実行される割り
込み復帰命令(以下、RTI命令という)において、割
り込み受け付け時のプログラムカウンタ値をスタックポ
インタの示すメモリ領域から読み出し、それをプログラ
ムカウンタヘ転送する。以上の動作により、デバッグ割
り込みによってユーザプログラムを中断し、デバッグ処
理を行った後、中断していたユーザプログラムの処理
を、中断した命令の次の命令より再開する。
【0007】このような外部デバッグ装置2から割り込
み要求信号線18に送出される割り込み要求信号による
デバッグ割り込みは、ユーザプログラムを一時的に中断
してデバッグ処理に入るので、通常、1回あたりのデバ
ッグ割り込み処理時間が、ユーザプログラムの実行に支
障を与えないように短時間で終了するような工夫が施さ
れている。例えば、マイクロコンピュータ1のメモリ内
容を外部デバッグ装置2が取り込むような場合において
は、そのメモリのアドレス範囲をいくつかに分割してデ
バッグ割り込み処理を行うことにより、1回のデバッグ
割り込み処理では数アドレス分だけのメモリ内容の取り
込みを行って、短時間でデバッグ割り込み処理を終了す
る。
【0008】ここで、ユーザプログラム上でマイクロコ
ンピュータ1内部の基本クロックを停止させるSTP命
令を実行した場合でも、デバッグ割り込みが発生すると
上記STP命令を解除してデバッグ割り込み処理が行わ
れるため、RTI命令を実行してユーザプログラムに復
帰すると、スタックポインタで示されるメモリ領域から
読み出した、割り込み受け付け時に退避したプログラム
カウンタの内容にしたがって、STP命令の次の命令か
ら処理が再開されていた。
【0009】なお、このような従来のマイクロコンピュ
ータに関連した技術に関する記載のある文献としては、
例えば特開昭58−205226号公報、特開平5−7
3349号公報、特開昭62−95644号公報、特開
平1−250143号公報などがある。
【0010】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータは以上のように構成されているので、プログラム
をデバッグするとき、ユーザが本来意図しない要因、す
なわちデバッグ割り込みによってSTP命令が解除され
てしまうという問題点があった。このような問題点を外
部デバッグ装置2により解決するためには、 1.デバッグ割り込み受け付け時のプログラム実行アド
レス部分の逆アセンブルを行いSTP命令を探す。 2.トレースデータの解析と上記逆アセンブル結果を照
合し、STP命令が実行されたかどうかを判定する。 3.STP命令が実行されていると判定した場合は、デ
バッグ割り込み受け付け時にスタックポインタで示され
るメモリ領域に退避されているプログラムカウンタの内
容を減算し、デバッグ割り込み終了後STP命令を実行
するアドレスに変更する。 といった処理を必要とするため、1回当たりのデバッグ
割り込み処理時間が長くなるという課題があった。
【0011】この発明は上記のような課題を解決するた
めになされたもので、1回当たりのデバッグ割り込み処
理時間を長くすることなく、STP命令がデバッグ割り
込みによって解除されてしまうのを防止することができ
るマイクロコンピュータを得ることを目的とする。
【0012】
【課題を解決するための手段】この発明に係るマイクロ
コンピュータは、STP命令が実行されたことを示すフ
ラグを用いて、プログラムカウンタ値の減算処理を行う
か否かの判定を行い、このフラグがSTP命令が実行さ
れたことを示している場合には、上記プログラムカウン
タ値の減算処理を行って、デバッグ割り込み処理の終了
時における復帰先のアドレスを、STP命令のアドレス
に変更するようにしたものである。
【0013】この発明に係るマイクロコンピュータは、
デバッグ割り込み処理の終了時に、フラグが基本クロッ
ク停止命令が実行されたことを示しているか否かの判定
を行い、このフラグがSTP命令が実行されたことを示
している場合にはソフトウェア処理によって、プログラ
ムカウンタ値の減算処理を行うようにしたものである。
【0014】この発明に係るマイクロコンピュータは、
デバッグ割り込み処理の要求発生時に、スタックポイン
タの示すメモリ領域にプログラムカウンタの内容を退避
する際、フラグが基本クロック停止命令が実行されたこ
とを示しているか否かの判定を行い、このフラグがST
P命令が実行されたことを示していれば、ハードウェア
を用いてプログラムカウンタ値の減算処理を行うように
したものである。
【0015】この発明に係るマイクロコンピュータは、
デバッグ割り込み処理の終了時に、スタックポインタの
示すメモリ領域から復帰先のアドレスを読み出してプロ
グラムカウンタヘ格納する際、このフラグがSTP命令
が実行されたことを示していれば、ハードウェアを用い
てプログラムカウンタ値の減算処理を行うようにしたも
のである。
【0016】この発明に係るマイクロコンピュータは、
プログラムカウンタ値の減算処理を、減算器と、フラグ
によってオン/オフされるスイッチとを用い、当該フラ
グがセットされた場合に減算器をプログラムカウンタに
接続して、プログラムカウンタ値より所定数の減算を行
わせるようにしたものである。
【0017】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるマ
イクロコンピュータの構成を示すブロック図であり、図
において、1は当該マイクロコンピュータである。マイ
クロコンピュータ1内において、10はこのマイクロコ
ンピュータ1全体の処理を制御するCPUであり、11
はCPU10より出力されるアドレスが伝送されるアド
レスバス、12はCPU10に入出力されるデータが伝
送されるデータバス、13はCPU10より出力される
制御信号が伝送される制御信号線である。14はこれら
アドレスバス11、データバス12および制御信号線1
3に接続されて、ワーキングメモリとして使用されるメ
モリとしてのRAMであり、15は同じくアドレスバス
11、データバス12および制御信号線13に接続され
て、CPU10の処理で用いられるプログラムが格納さ
れたプログラムメモリである。
【0018】16は外部に接続された外部デバッグ装置
(図示省略)からのデバッグ割り込み要求を受け付けて
CPU10に転送する割り込み制御回路であり、17は
アドレスバス11、データバス12および制御信号線1
3に接続され、外部デバッグ装置との間でトレースデー
タなどのやり取りをするデバッグ補助回路である。ま
た、18は外部デバッグ装置から割り込み制御回路16
への割り込み要求信号が伝送される割り込み要求信号線
であり、19は外部デバッグ装置とデバッグ補助回路1
7とを接続するデバッグバスである。なお、これらは図
7に同一符号を付して示した従来のそれらに相当する部
分である。
【0019】また、30はCPU10より出力される、
当該マイクロコンピュータ1の内部基本クロックを停止
させるSTP命令を実行したか否かを示すフラグが格納
されるフラグ回路である。31はCPU10がSTP命
令を実行した時に出力するSTP実行信号を、このフラ
グ回路30に入力するためのSTP実行信号線、32は
CPUがこのフラグ回路30に格納されたフラグを読み
出した後、このフラグをリセットするために出力するフ
ラグリセット信号を、フラグ回路30に入力するための
フラグリセット信号線であり、33はCPU10がフラ
グ回路30に格納されたフラグを読み出すときに出力す
るフラグ読み出し信号をフラグ回路30に入力するため
のフラグ読み出し信号線である。
【0020】図2は上記フラグ回路30の構成を示すブ
ロック図である。図において、31はSTP実行信号
線、32はフラグリセット信号線、33はフラグ読み出
し信号線であり、これらは図1に同一符号を付した部分
と同一部分である。34はSTP実行信号線31よりS
TP実行信号が入力された場合にセットされ、フラグリ
セット信号線32よりフラグリセット信号入力された場
合にリセットされて、当該マイクロコンピュータ1の内
部基本クロックを停止させるSTP命令が実行されたか
否かを示すフラグを保持するラッチ回路であり、35は
このラッチ回路34の保持しているフラグが出力される
フラグ出力線である。36はCPU10がフラグ読み出
し信号線33に出力するフラグ読み出し信号によって制
御される、フラグ出力線35からのフラグをデータバス
12に出力するためのトライステートバッファである。
【0021】次に動作について説明する。このように構
成されたフラグ回路30に、STP実行信号線31より
STP実行信号が与えられるとラッチ回路34の保持す
るフラグがセットされる。CPU10ではフラグ読み出
し信号線33にフラグ読み出し信号を与えることによ
り、このラッチ回路34に保持されたフラグの状態をデ
ータバス12を介して読み出すことができる。CPU1
0はフラグ読み出し後にフラグリセット信号線32にフ
ラグリセット信号を送出して、ラッチ回路34に保持さ
れているフラグをリセットする。なお、フラグ読み出し
信号線33に別のラッチ回路を接続し、フラグ読み出し
後にそのラッチ回路の出力をフラグリセット信号として
フラグリセット信号線32に送出するようにしてもよ
い。
【0022】この実施の形態1では、デバッグ割り込み
処理のプログラム上で、デバッグ割り込みよりユーザプ
ログラムヘ復帰するときに、上記フラグ回路30に格納
されたフラグを用いて、STP命令に復帰するか否かを
判定する。図3はこのデバッグ割り込み処理とユーザプ
ログラムの処理手順を示すフローチャートである。以
下、この図3を参照しながらデバッグ割り込みの処理か
らユーザプログラムヘの復帰について説明する。
【0023】ユーザプログラム実行中にSTP命令が実
行されると(ステップST1)、CPU10からのST
P実行信号によって、フラグ回路30のラッチ回路34
に保持されているフラグがセットされる。その後、ユー
ザプログラムの実行時に割り込み要求信号線18を介し
て外部デバッグ装置からのデバッグ割り込みが受け付け
られると、その時のプログラムカウンタの内容がスタッ
クポインタで示されるメモリ領域ヘ待避されてデバッグ
割り込みの処理に入る(ステップST2)。デバッグ割
り込みの処理が終了すると、ユーザプログラムがSTP
命令を実行したか否かを知るために、CPU10はフラ
グ読み出し信号をフラグ回路30のトライステートバッ
ファ36に送出し、ラッチ回路34に保持されているフ
ラグを読み出して(ステップST3)、デバッグ処理用
のプログラム内でソフトウェア処理によってそのフラグ
のチェックを行う(ステップST4)。
【0024】この場合、STP命令が実行されてフラグ
がセットされているため、デバッグ割り込み発生時にス
タックポインタの示すメモリ領域に退避しておいたプロ
グラムカウンタの内容を読み出して(ステップST
5)、その読み出されたプログラムカウンタ値に対して
減算処理を施し(ステップST6)、その減算処理され
た値をスタックポインタで指示されるメモリ領域にあら
ためて書き込む(ステップST7)。なお、このステッ
プST6における減算処理では、STP命令が2ワード
構成であれば“2”が、1ワード構成であれば“1”
が、それぞれ読み出されたプログラムカウンタ値より減
算される。
【0025】次に、RTI命令の実行した後(ステップ
ST8)、このスタックポインタで示されるメモリ領域
にあらためて書き込まれた値をプログラムカウンタに書
き込んでユーザプログラムに復帰し、STP命令を実行
する(ステップST9)。一方、フラグがセットされて
いない場合には、ステップST4より直接ステップST
8に進んでRTI命令を実行した後、デバッグ割り込み
発生時にスタックポインタで指示されたメモリ領域に退
避しておいたプログラムカウンタ値にしたがって、ユー
ザプログラムヘ復帰する。これにより、ユーザが本来意
図しない要因であるデバッグ割り込みなどによって、S
TP命令が解除されてしまうというようなことはなくな
る。
【0026】以上のように、この実施の形態1によれ
ば、STP命令が実行されたことを示すフラグの状態に
よって、デバッグ割り込み処理からユーザプログラムヘ
の復帰アドレスをSTP命令に復帰させるかどうかの処
理を、デバッグ割り込み中のプログラム内でソフトウェ
アによって行うことが可能となり、1回当たりのデバッ
グ割り込み処理時間を長くすることなく、デバッグ割り
込みによってSTP命令が解除されてしまうのを防止す
ることが可能なマイクロコンピュータが得られる効果が
ある。
【0027】実施の形態2.上記実施の形態1において
は、フラグの状態をデバッグ割り込み処理終了時に判定
し、このフラグがセットされている場合にはソフトウェ
ア処理によってプログラムカウンタ値の減算処理を行う
ようにしたものを示したが、デバッグ割り込み処理要求
発生時に、スタックポインタの示すメモリ領域にプログ
ラムカウンタの内容を退避する際、フラグの状態を判定
して、このフラグがセットされている場合には、プログ
ラムカウンタ値の減算処理をハードウェアを用いて処理
するようにしてもよい。なお、そのようなこの発明の実
施の形態2によるマイクロコンピュータの構成、および
そのフラグ回路の構成は、図1および図2に示した実施
の形態1の場合と同様である。
【0028】図4はこの実施の形態2によるマイクロコ
ンピュータにおけるアドレス発生回路の構成を示すブロ
ック図である。図において、40は次にCPU10によ
って実行される命令のプログラムメモリ15上のアドレ
スが格納されるプログラムカウンタである。41はこの
プログラムカウンタ40の内容(プログラムカウンタ
値)に“1”を加算する加算器であり、42はプログラ
ムカウンタ40の内容より、例えば“2”などの所定値
を減算する減算器である。43はCPU10にて命令が
実行される度にオン/オフされる、プログラムカウンタ
40の内容をインクリメントするためのスイッチであ
り、44は例えばフラグ回路30のラッチ回路34よ
り、フラグ出力線35に出力されるフラグによってオン
/オフされ、フラグがセットされている場合にはプログ
ラムカウンタ40の内容より所定数の減算を行うための
スイッチである。なお、このアドレス発生回路として
は、マイクロコンピュータ1が通常備えているハードウ
ェアを兼用することができる。
【0029】次に動作について説明する。ここで、図5
はこの実施の形態2におけるデバッグ割り込み時の処理
手順を示すフローチャートである。デバッグ割り込みが
受け付けられると(ステップST10)、フラグ回路3
0のラッチ回路34に保持されているフラグの判定を行
う(ステップST11)。その結果、フラグがセットさ
れていればプログラムカウンタ40の内容から所定値を
減算し(ステップST12)、スタックポインタで指示
されるメモリ領域にその減算した値を退避する(ステッ
プST13)。具体的には、図4に示すアドレス発生回
路のスイッチ44を、フラグ回路30のラッチ回路34
よりフラグ出力線35に出力されたフラグの状態によっ
て制御し、当該フラグがセットされている場合には、割
り込み要求中のスタックポインタの示すメモリ領域ヘの
プログラムカウンタ値の退避動作の前にオンさせること
により、プログラムカウンタ40の内容から所定値を減
算した結果を、スタックポインタで示されるメモリ領域
ヘ退避させる。
【0030】また、フラグ回路30のラッチ回路34に
保持されているフラグがリセットされていれば、アドレ
ス発生回路のスイッチ44はオフしたままであり、プロ
グラムカウンタ40に格納されたプログラムカウンタ値
の減算処理は行われない。したがって、プログラムカウ
ンタ40の内容がそのまま、スタックポインタで示され
るメモリ領域ヘ退避される。このスタックポインタで示
されるメモリ領域ヘのプログラムカウンタ値の退避が済
むと、デバッグ割り込み処理の分岐アドレスを読み出し
(ステップST14)、読み出したアドレスに分岐して
(ステップST15)、デバッグ割り込み処理を実行す
る。
【0031】なお、上記説明では、マイクロコンピュー
タ1が通常備えているプログラムカウンタ40、加算器
41、減算器42、およびスイッチ43,44で構成さ
れるアドレス発生回路を用いたものを示したが、このプ
ログラムカウンタ値の減算処理のための回路を専用の回
路として別途設けるようにしてもよい。また、上記減算
処理は割り込みシーケンスを制御するマイクロコードな
どで比較的簡単に実現することができ、フラグのリセッ
トも同様に、割り込み要求後にフラグリセット信号線3
2のフラグリセット信号をオンさせることができる。
【0032】以上のように、この実施の形態2によれ
ば、デバッグ割り込み処理要求発生時に、スタックポイ
ンタで示されるメモリ領域にプログラムカウンタの内容
を退避する際にフラグの状態判定を行って、このフラグ
がセットされていればプログラムカウンタ値の減算処理
をハードウェアによって処理しているので、ソフトウェ
アを介することなくプログラムカウンタ値の減算処理が
可能となり、上記実施の形態1よりも、デッバグ割り込
み処理終了後にSTP命令に復帰するかどうかの処理を
迅速に行うことができる効果があり、また、プログラム
カウンタ値の減算処理をハードウェアとして、減算器
と、フラグセット時にその減算回路をプログラムカウン
タに接続するスイッチを用いているので、マイクロコン
ピュータが通常備えているものを利用することが可能と
なり、格別なハードウェアの増加なしに実現できる効果
もある。
【0033】実施の形態3.上記実施の形態2において
は、デバッグ割り込み処理要求発生時に、スタックポイ
ンタの示すメモリ領域にプログラムカウンタの内容を退
避する際に、フラグの状態を判定し、このフラグがセッ
トされている場合にはハードウェアを用いてプログラム
カウンタ値の減算処理を行う場合について説明したが、
当該フラグの状態判定を、デバッグ割り込み処理終了時
に、復帰先のアドレスをスタックポインタの示すメモリ
領域から読み出してプログラムカウンタヘ格納する際に
行い、このフラグがセットされている場合に、プログラ
ムカウンタ値の減算処理をハードウェアを用いて処理す
るようにしてもよい。
【0034】なお、そのようなこの発明の実施の形態3
によるマイクロコンピュータの構成、およびそのフラグ
回路とアドレス発生回路の構成は、図1、図2および図
4に示した実施の形態1および実施の形態2の場合と同
様である。また、この実施の形態3によるフラグのセッ
ト/リセットおよび読み出しも、実施の形態1と同様に
行われるので、ここではこの実施の形態3に特徴的な動
作について以下に説明する。
【0035】図6は当該実施の形態3における、デバッ
グ割り込み処理からユーザプログラムに復帰するときに
実行するRTI命令の動作手順について示すフローチャ
ートである。デバッグ割り込み処理が終了すると、スタ
ックポインタにて指示されたメモリ領域に退避しておい
た復帰先アデレスがプログラムカウンタ40に格納され
る(ステップST20)。その後、STP命令フラグの
判定を行い(ステップST21)、その結果、フラグが
セットされていれば、アドレス発生回路のスイッチ44
をオンさせてプログラムカウンタ40に減算器42を接
続して、アドレスカウンタ値の減算処理を行い(ステッ
プST22)、プログラムカウンタ40の内容を上記ス
テップST20で格納された復帰先アドレスから所定値
だけ減少させる。一方、フラグがセットされていなけれ
ば、このステップST22は実行されず、プログラムカ
ウンタ40には、ステップST20で格納された、スタ
ックポインタの示すメモリ領域に退避されていた復帰先
アデレスがそのまま残される。
【0036】このプログラムカウンタ40の内容を復帰
先のアドレスとしてユーザプログラムに復帰し、当該ア
ドレスより命令を実行する(ステップST23)。した
がって、STP命令が実行されていてフラグがセット状
態となっている場合には、ユーザプログラムのSTP命
令に復帰し、STP命令が実行されておらずフラグがセ
ット状態となっていない場合には、デバッグ割り込み処
理の要求発生時に、スタックポインタの示すメモリ領域
に退避しておいた復帰先アデレスの命令に復帰する。
【0037】このように、この実施の形態3によれば、
デバッグ割り込み処理終了時に、復帰先のアドレスを、
スタックポインタにて指示されるメモリ領域から読み出
してプログラムカウンタヘ格納する際にフラグの状態判
定を行って、このフラグがセットされている場合に、プ
ログラムカウンタ値の減算処理をハードウェアによって
処理しているので、ソフトウェアを介することなくプロ
グラムカウンタの減算処理が可能となり、上記実施の形
態2の場合と同様に、デッバグ割り込み処理終了後にS
TP命令に復帰するかどうかの処理を迅速に行うことが
できるという効果がある。
【0038】
【発明の効果】以上のように、この発明によれば、プロ
グラムカウンタ値の減算処理を行うか否かの判定を、S
TP命令が実行されたことを示すフラグを用いて行い、
このフラグがSTP命令が実行されたことを示している
場合には、上記プログラムカウンタ値の減算処理を行っ
て、デバッグ割り込み処理の終了時における復帰先のア
ドレスを、STP命令のアドレスに変更するようにして
いるので、1回当たりのデバッグ割り込み処理時間を長
くすることなく、デバッグ割り込みによってSTP命令
が解除されてしまうのを防止できるマイクロコンピュー
タが得られるという効果がある。
【0039】また、この発明によれば、フラグが基本ク
ロック停止命令が実行されたことを示しているか否かの
判定を、デバッグ割り込み処理の終了時に行い、このフ
ラグがSTP命令が実行されたことを示している場合
に、プログラムカウンタ値の減算処理をソフトウェア処
理するようにしたので、デバッグ割り込み処理からユー
ザプログラムヘの復帰アドレスをSTP命令とするか否
かを、デバッグ割り込み中のソフトウェアによって行う
ことが可能となり、デバッグ割り込みによるSTP命令
の解除を、1回当たりのデバッグ割り込み処理時間を長
くすることなく防止することができる効果がある。
【0040】また、この発明によれば、フラグが基本ク
ロック停止命令が実行されたことを示しているか否かの
判定を、デバッグ割り込み処理要求発生時に、スタック
ポインタの示すメモリ領域にプログラムカウンタの内容
を退避する際に行い、このフラグがSTP命令が実行さ
れたことを示している場合には、プログラムカウンタ値
の減算処理にハードウェアを用いるようにしたので、ソ
フトウェアを介することなくプログラムカウンタの減算
処理を行うことが可能となり、デバッグ割り込み処理後
にSTP命令に復帰するかどうかの処理をより迅速に行
うことができるという効果がある。
【0041】また、この発明によれば、フラグが基本ク
ロック停止命令が実行されたことを示しているか否かの
判定を、デバッグ割り込み処理終了時に、スタックポイ
ンタの示すメモリ領域から復帰先のアドレスを読み出し
てプログラムカウンタヘ格納する際に行い、このフラグ
がSTP命令が実行されたことを示している場合には、
プログラムカウンタ値の減算処理にハードウェアを用い
るようにしたので、ソフトウェアを介することなくプロ
グラムカウンタの減算処理を行うことが可能となり、デ
バッグ割り込み処理後にSTP命令に復帰するかどうか
の処理をより迅速に行うことができるという効果があ
る。
【0042】また、この発明によれば、プログラムカウ
ンタ値の減算処理を、減算器と、フラグによってオン/
オフされるスイッチとを用いて行い、当該フラグがセッ
トされた場合に減算器をプログラムカウンタに接続し
て、プログラムカウンタ値より所定数の減算を行わせる
ようにしたので、マイクロコンピュータが通常備えてい
るハードウェアを利用することが可能となるため、格別
なハードウェアの増加なしに実現できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるマイクロコン
ピュータの構成を示すブロック図である。
【図2】 実施の形態1におけるフラグ回路の構成を示
すブロック図である。
【図3】 実施の形態1におけるデバッグ割り込み処理
とユーザプログラムの処理手順を示すフローチャートで
ある。
【図4】 この発明の実施の形態2によるマイクロコン
ピュータにおけるアドレス発生回路の構成を示すブロッ
ク図である。
【図5】 実施の形態2におけるデバッグ割り込み時の
処理手順を示すフローチャートである。
【図6】 この発明の実施の形態3によるマイクロコン
ピュータにおけるRTI命令の処理手順を示すフローチ
ャートである。
【図7】 従来のマイクロコンピュータの構成と、外部
デバッグ装置との接続を示すブロック図である。
【図8】 従来のマイクロコンピュータのデバッグ補助
回路の内部構成を示すブロック図である。
【符号の説明】
1 マイクロコンピュータ、40 プログラムカウン
タ、42 減算器、44スイッチ。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 内部の基本クロックを停止する基本クロ
    ック停止命令が実行されたことを示すフラグを備え、 前記フラグが前記基本クロック停止命令が実行されたこ
    とを示している場合には、プログラムカウンタ値の減算
    処理を行って、プログラムデバッグ専用の割り込み処理
    の終了時に復帰する復帰先のアドレスを、前記基本クロ
    ック停止命令のアドレスとし、 前記フラグが前記基本クロック停止命令が実行されたこ
    とを示していない場合には、前記プログラムカウンタ値
    の減算処理を行わずに、前記プログラムデバッグ専用の
    割り込み処理の終了時に復帰する復帰先のアドレスを、
    前記減算処理が行われていないプログラムカウンタ値そ
    のままとしたことを特徴とするマイクロコンピュータ。
  2. 【請求項2】 フラグが基本クロック停止命令が実行さ
    れたことを示しているか否かの判定をプログラムデバッ
    グ専用の割り込み処理の終了時に行い、 前記フラグが前記基本クロック停止命令が実行されたこ
    とを示している場合には、プログラムカウンタ値の減算
    処理をソフトウェア処理によって行うことを特徴とする
    請求項1記載のマイクロコンピュータ。
  3. 【請求項3】 フラグが基本クロック停止命令が実行さ
    れたことを示しているか否かの判定を、プログラムデバ
    ッグ専用の割り込み処理の要求発生時に、スタックポイ
    ンタにて指示されるメモリ領域にプログラムカウンタの
    内容を退避する際に行い、 前記フラグが前記基本クロック停止命令が実行されたこ
    とを示している場合には、プログラムカウンタ値の減算
    処理をハードウェアを用いて処理することを特徴とする
    請求項1記載のマイクロコンピュータ。
  4. 【請求項4】 フラグが基本クロック停止命令が実行さ
    れたことを示しているか否かの判定を、プログラムデバ
    ッグ専用の割り込み処理の終了時に、復帰先のアドレス
    をスタックポインタにて指示されるメモリ領域から読み
    出してプログラムカウンタヘ格納する際に行い、 前記フラグが前記基本クロック停止命令が実行されたこ
    とを示している場合には、プログラムカウンタ値の減算
    処理をハードウェアを用いて処理することを特徴とする
    請求項1記載のマイクロコンピュータ。
  5. 【請求項5】 フラグが基本クロック停止命令が実行さ
    れたことを示している場合のプログラムカウンタ値の減
    算処理を、 前記プログラムカウンタ値より所定値を減算する減算器
    と、 前記フラグの状態に応じてオン/オフされ、当該フラグ
    が基本クロック停止命令が実行されたことを示している
    場合に、前記減算器をプログラムカウンタに接続して、
    前記プログラムカウンタ値より所定数の減算を行わせる
    スイッチとを用いて実行することを特徴とする請求項3
    または請求項4記載のマイクロコンピュータ。
JP00352498A 1998-01-09 1998-01-09 マイクロコンピュータ Expired - Fee Related JP3872196B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00352498A JP3872196B2 (ja) 1998-01-09 1998-01-09 マイクロコンピュータ
US09/075,824 US5983018A (en) 1998-01-09 1998-05-12 Debug interrupt-handling microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00352498A JP3872196B2 (ja) 1998-01-09 1998-01-09 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH11203146A true JPH11203146A (ja) 1999-07-30
JP3872196B2 JP3872196B2 (ja) 2007-01-24

Family

ID=11559775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00352498A Expired - Fee Related JP3872196B2 (ja) 1998-01-09 1998-01-09 マイクロコンピュータ

Country Status (2)

Country Link
US (1) US5983018A (ja)
JP (1) JP3872196B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102743A (ja) * 2010-02-09 2010-05-06 Renesas Technology Corp マイクロコンピュータ

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19905510A1 (de) * 1999-02-10 2000-08-31 Siemens Ag Mikroprozessor und Verfahren zur Adressierung in einem Mikroprozessor
GB2348304B (en) * 1999-03-24 2003-07-09 Ibm Optimising Device Driver Debug Tracing
US6591378B1 (en) * 2000-02-22 2003-07-08 Motorola, Inc. Debug controller in a data processor and method therefor
US6865663B2 (en) * 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
JP2001308921A (ja) * 2000-04-25 2001-11-02 Sony Corp デマルチプレクサ
FR2817362B1 (fr) * 2000-11-29 2003-01-24 St Microelectronics Sa Microprocesseur comprenant des moyens de sauvegarde de donnees contextuelles lors d'un basculement dans un programme de test
GB0124563D0 (en) * 2001-10-12 2001-12-05 Siroyan Ltd Debug exception registers
JP2004102324A (ja) * 2002-09-04 2004-04-02 Oki Electric Ind Co Ltd 割り込みプログラムモジュール、該モジュールを記録した記録媒体およびモニタのための割り込み処理が可能のコンピュータ
KR101426983B1 (ko) * 2010-07-07 2014-08-06 엘에스산전 주식회사 Plc의 통신장치 및 방법
GB2546577B (en) * 2016-01-19 2020-07-08 Arm Ip Ltd A method for allocating memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58205226A (ja) * 1982-05-25 1983-11-30 Fujitsu Ltd スタンバイ機能を内蔵したマイクロコンピユ−タ
US4462077A (en) * 1982-06-24 1984-07-24 Bell Telephone Laboratories, Incorporated Trace facility for use in multiprocessing environment
US4598364A (en) * 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
JPS6295644A (ja) * 1985-10-22 1987-05-02 Yokogawa Electric Corp マイクロプロセッサ用プログラムデバッグ装置
JPS63291134A (ja) * 1987-05-22 1988-11-29 Toshiba Corp 論理集積回路
JPH01241636A (ja) * 1988-03-17 1989-09-26 Internatl Business Mach Corp <Ibm> データ処理システム
JPH01250143A (ja) * 1988-03-30 1989-10-05 Nec Corp プログラムの修正方式
JPH03185530A (ja) * 1989-12-14 1991-08-13 Mitsubishi Electric Corp データ処理装置
US5345580A (en) * 1990-11-29 1994-09-06 Kabushiki Kaisha Toshiba Microprocessor device and emulator device thereof
US5265254A (en) * 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
JPH0577349A (ja) * 1991-09-20 1993-03-30 Kanebo Ltd 成形用シート状物
US5475822A (en) * 1993-11-15 1995-12-12 Motorola, Inc. Data processing system for resuming instruction execution after an interrupt and method therefor
JPH08171504A (ja) * 1994-12-19 1996-07-02 Mitsubishi Denki Semiconductor Software Kk エミュレ−ション装置
JPH1078889A (ja) * 1996-09-04 1998-03-24 Mitsubishi Electric Corp マイクロコンピュータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102743A (ja) * 2010-02-09 2010-05-06 Renesas Technology Corp マイクロコンピュータ

Also Published As

Publication number Publication date
US5983018A (en) 1999-11-09
JP3872196B2 (ja) 2007-01-24

Similar Documents

Publication Publication Date Title
JP2651916B2 (ja) インサーキット・エミュレータ
JPH06103472B2 (ja) デバツグ用マイクロプロセツサ
JPH11203146A (ja) マイクロコンピュータ
JPH07219809A (ja) データ処理装置およびデータ処理方法
EP0638864B1 (en) Development support system for microcomputer with internal cache
JP2653412B2 (ja) ブレークポイント設定方法
JP4641708B2 (ja) データ処理装置およびプロセッサユニット
JP5012562B2 (ja) マイクロコンピュータ
US20030163674A1 (en) Data processing apparatus, processor unit and debugging unit
JP2504191B2 (ja) マイクロプロセッサ
JP2870405B2 (ja) 情報処理装置
JPH1049401A (ja) プログラムのデバッグ方法
JP2002055847A (ja) デバッグ処理装置及びデバッグ処理方法
JP2754899B2 (ja) デバック装置のリターンアドレス監視回路
JPH0193838A (ja) デバッグ用マイクロプロセッサ
JPS60229141A (ja) レジスタのデ−タ保存方式
JPS60167038A (ja) マイクロプロセツサ
JPH10187480A (ja) エミュレータ
JPH03175539A (ja) デバッグ用マイクロプロセッサ
JPH04199336A (ja) マイクロコンピュータ
JPH05108402A (ja) デバツグ装置
JP2003263338A (ja) デバック機能内蔵型マイクロコンピュータ
JPH03135640A (ja) キャッシュメモリ内蔵のプロセッサ
JPS63289653A (ja) インサ−キツトエミユレ−タ
JPS62271028A (ja) マイクロプロセツサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050105

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061019

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees