JPH0426138B2 - - Google Patents

Info

Publication number
JPH0426138B2
JPH0426138B2 JP59233210A JP23321084A JPH0426138B2 JP H0426138 B2 JPH0426138 B2 JP H0426138B2 JP 59233210 A JP59233210 A JP 59233210A JP 23321084 A JP23321084 A JP 23321084A JP H0426138 B2 JPH0426138 B2 JP H0426138B2
Authority
JP
Japan
Prior art keywords
mpu
break
signal
program
bus
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 - Lifetime
Application number
JP59233210A
Other languages
English (en)
Other versions
JPS61112250A (ja
Inventor
Masatoshi Imai
Kenichi Nagase
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP59233210A priority Critical patent/JPS61112250A/ja
Publication of JPS61112250A publication Critical patent/JPS61112250A/ja
Publication of JPH0426138B2 publication Critical patent/JPH0426138B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 [技術分野] この発明は、データ処理技術に関し、例えばマ
イクロプロセツサのエミユレーシヨンを行なうエ
ミユレータのような装置に利用して有効な技術に
関するものである。
[背景技術] ユーザーが開発したマイクロコンピユータ・シ
ステムのソフトウエアを開発したり、デバツギン
グを行なう場合、第2図に示すような装置を使用
して行なわれることがある。すなわち、マイクロ
プロセツサ・システム(ユーザー・システム)1
を構成するボード1a上に設けられたマイクロプ
ロセツサ(以下MPUと称する)用のICソケツト
2に、コネクタ3を介してシステム1のMPUと
同一のMPUを内蔵したアダプテイブ・システ
ム・エバリユエータ(以下ASEと称する)4を
接続する。このASE4は、ケーブルを介して
CRTデイスプレイ5やフロツピーデイスク装置
6a,6b等を備えたサポートツールと呼ばれる
システム開発装置7に接続されている。
上記システムにおいては、CRTデイスプレイ
5のキーボードより入力されるアセンブラやコン
パイラ等の言語で書かれたソースプログラムは、
先ずフロツピーデイスク6aに書き込まれ、シス
テム開発装置7内のMPUによつて機械語に翻訳
されてオブジエクトプログラムの形でフロツピー
デイスク6bに書き込まれる。フロツピーデイス
ク6bに書き込まれたプログラムは、ASE4内
のMPUによつてユーザー・システム1内の
RAM(ランダム・アクセス・メモリ)8等に転
送され、書き込まれる。
RAM8等に書き込まれたユーザー・プログラ
ムは、ICソケツト2からコネクタ3を引き抜い
て、システムのMPU9を差し込んでやると、通
常はこのMPU9によつて実行されるわけである
が、第2図のシステムでは、ASE4内のMPU
(MPU9と同一タイプ)によつてエミユレーシヨ
ンを行ないながら、ユーザー・プログラムのデバ
ツギングを行なえるようになつている。
この場合、CTRデイスプレイ5やフロツピー
デイスク装置6a,6b等をコントローしたり、
アセンブラやコンパイラ言語を機械語へ翻訳した
り、さらにASE4内のMPUによつてユーザー・
プログラムを実行して得られたデータを編集して
CRTデイスプレイ5に表示させたりするホスト
MPUがシステム開発装置7内に設けられている
が、エミユレータには、エミユレーシヨンの結果
得られたデータを上記システム開発装置7内の
MPUが編集し易い形に処理できるような機能を
持たせることができる。上記システムでは、
ASE4内のMPUがエミユレーシヨンとデータ処
理機能を兼用するようにされている。そのため、
ASE4内のMPUをシステム開発装置7内のコン
トローラから出力される制御信号に基づいてエミ
ユレーシヨンモード時とシステムモード時とで空
間分割して実行するようにしている。
上記構成のエミユレータ・システムについて
は、既に特願昭58−34565号等において示されて
いる。
ところで、上記エミユレータ・システムを用い
てユーザー・プログラムのデバツギングを行なう
場合、一般にはプログラムを細切れにしてエミユ
レーシヨンを行なつて行くが、その際ブレークポ
イントと呼ばれる指定ポイント(プログラム中の
ある位置)を通過したことを検出して、そこでプ
ログラムの実行を中断することが行なわれる。
上記ブレーク方式では、アドレスバス上の信号
等を監視してアドレスが所定の条件に一致したと
きにプログラムを中断(ブレーク)させるように
すると、アドレス等のブレーク条件成立と同時に
プログラムの実行が停止される。従つて、ブレー
ク直前までのシステム内の状態は、バス上のデー
タをトレースメモリと呼ばれる記憶装置内にリア
ルタイムで取り込んで、ブレーク後にそのトレー
ス・メモリの内容を解析することで、プログラム
の暴走要因等を解明し、ユーザープログラムやシ
ステムのデバツギングを行なうことができる。
しかしながら、ブレーク条件成立と同時にプロ
グラムを中断させるよりも、ブレーク条件成立
後、数サイクルタイム経過したところで停止さ
せ、そこまでのシステムの動作状態が知つた方
が、暴走要因等を解明し易くなるということが本
発明者らによつて明かにされた。
しかるに、従来のシステムでは、ブレーク条件
が成立してから所定時間経過したところでプログ
ラムを停止させるには、新たにブレークポイント
を設定し直してプログラムを続行させてやらなけ
ればならず、その作業が面倒である。また、新た
に設定したブレークポイントに行くまでの途中に
ジヤンプ命令等があると、速やかにプログラムを
中断させることができないという不都合もある。
[発明の目的] この発明の目的は、エミユレータのようなデー
タ処理システムにおいて、プログラムの暴走要因
等の解明を容易に行なえるようにし、これによつ
て、デバツギングの効率を向上させることにあ
る。
この発明の前記ならびにそのほかの目的と新規
な特徴については、本明細書の記述および添附図
面から明かになるであろう。
[発明の概要] 本願において開示される発明のうち代表的なも
のの概要を説明すれば、下記のとおりである。
すなわち、エミユレータのようなデータ処理シ
ステムにおいて、ブレーク条件の成立を検出する
手段の他に、ブレーク条件成立後所定時間経過し
たときにマイクロプロセツサに対し停止信号を出
力するようなブレーク発生手段を設けることによ
り、ブレーク条件が成立した後のシステムの動作
状態を見ることができるようにし、これによつ
て、暴走要因等の解明を容易にし、デバツギング
の効率を向上させるという上記目的を達成するも
のである。
[実施例] 第1図は、本発明に係るエミユレータ・システ
ムの一実施例を示す。
同図において、符号10で示されているのは、
第2図に示されているASE(アダプテイブ・シス
テム・エバリユレータ)4内に設けられているエ
ミユレーシヨン用のMPU(マイクロプロセツサ)
で、このMPU10は、ユーザー・システムを構
成するMPU9の同一タイプのMPUにより構成さ
れている。そして、このエミユレーシヨン用
MPU10とシステム開発装置7内に設けられた
コントローラ11と、レトース回路12と、ブレ
ーク回路20とによつてインサーキツト・エミユ
レータが構成されている。
上記トレース回路12は、上記MPU10がユ
ーザー・プログラムを実行している間に、バス上
に表われる入出力信号を時系列的に取り込むメモ
リとカウンタを有している。ブレーク回路20
は、デバツギングの際に分割して実行させる一連
のプログラムの終端(ブレークポイント)の条件
を設定しておくレジスタおよびこのレジスタの内
容とバス上のアドレス信号等とをハード的に比較
して両者が一致したか否か検出するブレーク条件
判定回路21と、この判定回路21から出力され
る一致検出信号φcによつて計数動作を開始する
カウンタ22と、このカウンタ22の計数値が所
定値に達したときに出力されるタイムアウト信号
φtに基づいて上記MPU10に割込みをかけて
MPUの動作を停止させるMPU割込停止信号IRQ
と上記トレース回路12によるバス上の信号の取
り込みを停止させるトレース停止信号φstを形成
するブレーク発生回路23とによつて構成されて
いる。
特に制限されないが、上記MPU割込停止信号
IRQは、MPU10に対してソフトウエア的に割
込みをかけられるような信号に形成されるように
されている。これによつて、MPU10に設けら
れた割込制御端子をすべてユーザーに開放するこ
とができるようにされる。
また、コントローラ11は、バス14を介し
て、システム開発装置7をコントロールするホス
トMPU15と接続され、CRTデイスプレイのキ
ーボードからユーザー・プログラムの実行等のコ
マントが入つて来ると、ASEに対するコマンド
であるか否かを判断してMPU10にそのコマン
ドを供給する。MPU10は、このコマンドを受
け取ると、適当なアドレス信号を出力して空間の
切換え、すなわちシステムモードからユーザー・
プログラムを実行するエミユレーシヨンモードへ
の切換えを行なう。
上記カウンタ22は、予めコントローラ11に
よつて計数値を任意に設定できるようにされ、例
えばMPU10から出力される。メモリサイクル
を規定するシステム・クロツクEを計数すること
により、適当な遅延時間を得るようにされてい
る。
次に、上記エミユレータ・システムを用いてユ
ーザー・プログラムのデバツギングを行なう場合
の動作について説明する。
デバツギングをしようとするユーザー・プログ
ラムのあるループがバグを含んでいると、そのル
ープを通つているうちにそのループから抜け出し
て他のところへ跳んでしまうことがある。そこ
で、デバツギングの際には、プログラムを分断し
てエミユレーシヨンを行なつて行くようにされ
る。そのため、プログラムを中断させる条件(ブ
レークポイント)を設定してやる必要がある。
上記ブレークポイントは、MPU10からアド
レスバス上に出力される信号を対象とするもので
あつてもよいし、あるいはデータバス上に出力さ
れる信号を対象とするものであつてもよい。
この実施例では、エミユレーシヨンによりユー
ザー・プログラムを実行する前にホストMPU1
5からの指令によつてコントローラ11が、その
ときキーボード等から与えられたブレークポイン
トを、ブレーク条件判定回路21内のレジスタに
設定してやるようになつている。また、同様にし
て、エミユレーシヨン開始前にカウンタ22の計
数値もコントローラ11によつて設定する。
それから、ホストMPU15からのコマンドに
よつてMPU10がエミユレーシヨンを開始する。
このとき同時に、コントローラ11からの制御信
号によつて、トレース回路12が内部のカウンタ
を動作させながら、そのときバス上に表われる信
号を内部のメモリ内に順次取り込んで行く。
また、ブレーク条件判定回路21もMPU10
から供給されるバス上の所定の信号を監視し、内
部のレジスタに設定されたブレークポイントとの
比較を逐次行なつて行く。
このようにして、トレース回路12とブレーク
条件判定回路21を働かせなかせらエミユレーシ
ヨンを行なつて行く途中で、バス上の信号とブレ
ーク条件が一致してブレークポイントを通過した
と判定されると、ブレーク条件判定回路21から
一致信号φcが出力される。この信号によつてカ
ウンタ22が計数動作を開始し、所定の時間後に
計数値が設定値に達すると、タイムアウト信号
φtが出力される。
すると、このタイムアウト信号φtを受けて、
ブレーク発生回路23がソフトウエアによる割込
みをかけてMPU10の動作を停止させるととも
に、トレース停止信号φstをトレース回路12へ
送つて、バス上のデータの取込みを停止させ、か
つ内部のカウンタを停止させる。
その結果、トレース回路12内のメモリのデー
タをカウンタを参照しながら読み出して、適当な
処理を行なつてからホストMPU15側へ送り、
ホストMPU15がこれを編集した後、CRTデイ
スプレイ(第2図参照)に表示させることによ
り、MPU10の停止前のバスの状態を知ること
ができる。これによつて、ブレークポイントを通
過した直後にMPU10が暴走したような場合に
もその状態を知ることができ、暴走要因の解明が
容易になる。
しかも、上記カウンタ22の設定値を変えるこ
とでブレークポイント通過後、MPUを停止させ
るまでの遅延時間を任意に変更できるので、効率
のよいデバツギングが可能となる。
また、カウンタ22の設定値をゼロにしてやれ
ば、従来のエミユレータ・システムと同様にブレ
ークポイント通過時点でMPUを停止させること
ができるのはいうまでもない。
ただし、カウンタ22の計数値を上記実施例の
ごとく可変とする代わりにこれを固定し、ブレー
クポイントを通過してから必ず一定時間後に
MPUを停止させるようにしてもよい。
なお、上記トレース回路12内のメモリの容量
の大きさには限界があるので、上記実施例では、
メモリがオーバーフローの状態にあると、初めの
アドレスに戻つて既に取り込んだデータの上から
新たなデータを書き込んで行くようにされてい
る。これによつて、ブレークポイントに到達する
までの時間が長くなつたとしても、常にMPU停
止直前のバスの状態を知ることができる。
また、プログラムのデバツギングには、あるル
ープを何十回あるいは何百回と繰り返えしている
うちにそのループから抜け出して他のところへ跳
んでしまうようなものもある。そこで、そのよう
なデバツギングを見つけるためブレーク条件判定
回路21内に、上記ブレークポイントの通過回数
を計数するカウンタと通過回数を設定するレジス
タを設け、ブレークポイントをある所定回数だけ
通過したときにカウンタ22を動作させて一定遅
延時間後にMPUの動作を停止させるようにして
もよい。
また、トレース回路12内のメモリは、上述し
たようにそこに取り込むことができるデータ量に
制約があるので、プログラムのあるループを繰り
返し実行するような場合、一連のプログラムを走
らせて途中からバス上の信号をトレース回路内の
メモリに取り込むようにしたいこともある。そこ
で、あるポイントを通過したころを検出して、そ
こからトレースを開始できるようにするため、そ
の指定ポイント(トリガポイント)を設定するレ
ジスタと、そのトリガポイントを通過したか否か
を検出してトレース開始信号を形成する回路を設
けるようにしてもよい。
[効果] エミユレータのようなデータ処理システムにお
いて、ブレーク条件の成立を検出する手段の他
に、ブレーク条件成立後所定時間経過したときに
マイクロプロセツサに対し、停止信号を出力する
ようなブレーク発生手段を設けたので、ブレーク
条件が成立した後のシステムの動作状態を見るこ
とができるようになるという作用により、暴走要
因等の解明が容易になり、またカバレージパス等
の通過状態を知ることができ、これによつてデバ
ツギングの効率が向上されるという効果がある。
以上本発明者によつてなされた発明を実施例に
基づき具体的に説明したが、本発明は上記実施例
に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であるということはいうま
でもない。例えば、上記実施例では、ブレーク発
生回路23においてMPU10に対しソフトウエ
アによる割込みをかけて動作を停止させることが
できるような信号を発生させるように構成されて
いるが、MPUに設けられた割込み制御端子に対
して、適当な信号を印加して停止させるような構
成にすることも可能である。
[利用分野] 以上の説明では主として本発明者によつてなさ
れた発明を、その背景となつた利用分野であるエ
ミユレータ・システムに適用したものについて説
明したが、それに限定されるものでなく、ロジツ
クアナライザなどのシステムにおいて、特定の事
象の発生を検出して何らかの動作を開始もしくは
停止させたいような場合に利用することができ
る。
【図面の簡単な説明】
第1図は、本発明を適用したエミユレータ・シ
ステムの要部の一実施例を示すブロツク構成図、
第2図は、本発明が適用されるエミユレータ・シ
ステムの全体の構成の一例を示す概略構成図であ
る。 1……ユーザー・システム、2……ICソケツ
ト、3……コネクタ、4……ASE(アダプテイ
ブ・システム・エバリユレータ)、5……CRTデ
イスプレイ、6a,6b……フロツピーデイスク
装置、7……システム開発装置、8……RAM、
9……MPU(マイクロプロセツサ)、10……エ
ミユレーシヨン用MPU、11……コントローラ、
12……記憶手段(トレース回路)、14……バ
ス、15……ホストMPU、20……ブレーク回
路、21……検出手段(ブレーク条件判定回路)。

Claims (1)

  1. 【特許請求の範囲】 1 対象となるシステムのマイクロプロセツサと
    同一タイプのマイクロプロセツサを備え、そのシ
    ステムのエミユレーシヨンを行なえるようにされ
    たデータ処理システムにおいて、ある事象の発生
    を検知するためのデータが格納されるレジスタを
    有し、このレジスタの内容とバス上の信号等を比
    較して上記事象の発生を検出する手段と、該検出
    手段からの検知信号に基づいて所定時間後に上記
    マイクロプロセツサに対し停止信号を出力するブ
    レーク発生手段と、該停止信号により上記マイク
    ロプロセツサが停止されるまでのバスの状態を逐
    次取り込んで保持する記憶手段とを備えてなるこ
    とを特徴とするデータ処理システム。 2 上記ブレーク発生手段は、設定値を任意に変
    えることのできるカウンタを有し、上記検出手段
    からの検知信号に基づいてカウンタが動作され、
    所定時間後に停止信号を出力するようにされてな
    ることを特徴とする特許請求の範囲第1項記載の
    データ処理システム。
JP59233210A 1984-11-07 1984-11-07 デ−タ処理システム Granted JPS61112250A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59233210A JPS61112250A (ja) 1984-11-07 1984-11-07 デ−タ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59233210A JPS61112250A (ja) 1984-11-07 1984-11-07 デ−タ処理システム

Publications (2)

Publication Number Publication Date
JPS61112250A JPS61112250A (ja) 1986-05-30
JPH0426138B2 true JPH0426138B2 (ja) 1992-05-06

Family

ID=16951479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59233210A Granted JPS61112250A (ja) 1984-11-07 1984-11-07 デ−タ処理システム

Country Status (1)

Country Link
JP (1) JPS61112250A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104802B2 (ja) * 1987-12-18 1995-11-13 富士通株式会社 情報処理装置
JPH02207348A (ja) * 1989-02-07 1990-08-17 Fujitsu Ltd ヒストリメモリ制御方式
JP5782389B2 (ja) * 2012-01-19 2015-09-24 ルネサスエレクトロニクス株式会社 エミュレーションシステム、エミュレーションシステムの制御方法、エミュレーション装置、プログラム

Also Published As

Publication number Publication date
JPS61112250A (ja) 1986-05-30

Similar Documents

Publication Publication Date Title
US6598178B1 (en) Peripheral breakpoint signaler
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
EP0814404A1 (en) Debugging apparatus for debugging a program
US5280626A (en) Multi-process emulator suitable for testing software under multi-process environments
JP2008033849A (ja) 障害解析システム
JPS61112250A (ja) デ−タ処理システム
CN115905012A (zh) 嵌入式系统软件开发场景下的调试分析系统、方法、电子设备及存储介质
CN110647467B (zh) 基于单步异常的目标码覆盖率测试方法、系统及介质
JPS6310456B2 (ja)
JP2800577B2 (ja) デバッグ装置
JPS59202548A (ja) デバツグ装置
JPS6123253A (ja) デ−タ処理システム
JPH05313918A (ja) アプリケーションソフトウエアの異常終了時の解析データ採取システム
JPH0199136A (ja) プログラムデバッグ装置
JPS62221746A (ja) デ−タ処理システム
JPS59202547A (ja) デバツグ装置
JPH11102306A (ja) エミュレータ
JPS63313242A (ja) エミユレ−タ
JPS61127043A (ja) デ−タ処理装置
CN115269385A (zh) 一种底层驱动软件通用自动化测试方法
JPH03134742A (ja) デバッグ装置
JPH01169546A (ja) マルチタスクデバッカ
JPH04317138A (ja) インサーキットエミュレータ装置
JPH05204680A (ja) 情報処理装置の誤動作防止方式
JP2001051873A (ja) デバッグ装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term