JPH0439697B2 - - Google Patents

Info

Publication number
JPH0439697B2
JPH0439697B2 JP60044160A JP4416085A JPH0439697B2 JP H0439697 B2 JPH0439697 B2 JP H0439697B2 JP 60044160 A JP60044160 A JP 60044160A JP 4416085 A JP4416085 A JP 4416085A JP H0439697 B2 JPH0439697 B2 JP H0439697B2
Authority
JP
Japan
Prior art keywords
address
memory
coverage
memory means
condition
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
JP60044160A
Other languages
English (en)
Other versions
JPS61202243A (ja
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 filed Critical
Priority to JP60044160A priority Critical patent/JPS61202243A/ja
Publication of JPS61202243A publication Critical patent/JPS61202243A/ja
Publication of JPH0439697B2 publication Critical patent/JPH0439697B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 イ 「発明の目的」 〔産業上の利用分野〕 本発明は、プログラムの信頼性を上げるための
マイクロプロセツサ用デバツグ装置に関し、その
機能の改善に関するものである。
〔従来の技術〕
従来より、プログラムのデバツグを進める際、
ブログラムのテスト・データを用意して、そのイ
ンプツトとアウトプツトの内容を突き合せて検証
する方法(機能テスト)が一般に採用されてい
る。しかしながら、この場合ブログラムの構造上
実行されない経路が存在していても見逃されてし
まう場合が多く、このことからブログラム・エラ
ーの原因となり、信頼性が上がらなかつた。
この点を解決する方式として、前記機能テスト
と同時に、ブログラム上に存在する全実行経路と
ブログラムを稼働させ実際上は実行されなかつた
非実行経路とを測定し、ブログラムの全実行経路
のうち、実際に実行された経路が何パーセントで
あるかということが、そのブログラムの信頼性の
尺度として用いられるようになつた。これをテス
トカバレツジ(網羅率)と言う。
テストカバレツジを測定するには、ブログラム
をセグメント(内部に分岐をを持たない一塊のブ
ログラム)に分け、全セグメントの何パーセント
が実行されたかを見る方法が一般的である。
〔発明が解決しようとする問題点〕
しかし、以上のような従来のマイクロプロセツ
サ・アナライザは次の問題点を有している。
第2図は、条件付分岐命令のフローを示す図で
ある。条件付分岐命令が格納されているアドレス
をC、この条件がYES(条件成立時)の場合の行
先のアドレスをB、この条件がNO(条件不成立
時)の場合の行先アドレスをAとする。そして、
処理Aが行なわれるとアドレスBに行く。
このようなプログラムのカバレツジを測定する
場合従来では、条件付分岐命令の分岐アドレスB
と、条件不成立時の実行アドレスAを抽出し、こ
のアドレスに相当するカバレツジメモリのビツト
をセツト(例えば“1”)しておく。そして、タ
ーゲツトプロセツサの実行時にリアルタイムで、
実行したアドレスに相当するカバレツジメモリの
ビツトをクリア(例えば“0”)する。
このようにして、カバレツジを測定する従来の
方法は、第2図のように、条件付命令の分岐アド
レスBが、直接、条件不成立時の実行PASS A
内にある時、第2図のPASS Bの通過の有無の
チエツクができないという問題点がある。これを
分り易く説明すると、今、条件付分岐命令におい
て、条件不成立(NO)であると、アドレスAに
行き(従つて、カバレツジメモリのアドレスAは
クリアされる)処理Aを施されて、アドレスBに
行く(カバレツジメモリのアドレスBもクリアさ
れる)。しかし、この場合、PASS Bは、通過し
ていないのに、アドレスBもクリアされることに
なり、その結果、PASS Bの通過の有無のチエ
ツクができないという問題点が生じる。
上記問題を解決するため、まず分岐命令のある
アドレスCと、条件成立時のアドレスBと条件不
成立時のアドレスAを抽出し、ターゲツトプロセ
ツサの実行時にこのアドレスのみをトレースメモ
リにストアする。そして、トレースメモリ全部に
上記アドレスを格納させた後、ターゲツトプロセ
ツサをブレークさせて、実行を停止して、トレー
スメモリの内容を順次解析し、カバレージを測定
する方法がある。しかし、この方法は、ターゲツ
トプロセツサが一部リアルタイムで動作できない
という問題点がある。
本発明の目的は、前記問題点を解決するもの
で、リアルタイムで正確なテストカバレツジの測
定が可能なマイクロプロセツサ用デバツグ装置を
提供することにある。
ロ 「発明の構成」 〔問題点を解決するための手段〕 本発明は、上記問題点を解決するために、 条件付分岐命令のあるアドレスに所定の信号
“1”を記憶する第1のメモリ手段と、 条件成立時のアドレス及び条件不成立時のアド
レスに所定の信号“1”を記憶する第2のメモリ
手段と、 第2のメモリ手段と同一の内容を記憶する第3
のメモリ手段と、 条件付分岐命令の次の実行アドレスの時のみ前
記第3のメモリ手段に書込み信号()を印加
する回路手段と、 を設けるようにし、リアルタイムでカバレツジの
測定を行なうことができるようにしたものであ
る。
〔実施例〕
以下、図面を用いて本発明を詳しく説明する。
第1図は本発明に係るマイクロプロセツサ用デバ
ツグ装置の一実施例を示す要部構成図である。図
において、1はデバツグする対象のマイクロプロ
セツサ(以下ターゲツトCPUと記す)である。
このターゲツトCPU1は、例えばプローブ(通
常PODと呼ばれる)を介して対象のマイクロプ
ロセツサ応用機器(以下ターゲツトシステムと記
す)と接続される。そして、ターゲツトCPU1
は、ターゲツトシステムに組込まれるマイクロプ
ロセツサと同一のマイクロプロセツサであり、テ
ストの際にはターゲツトシステムよりマイクロプ
ロセツサを取外し(ソケツトが使用され着脱自在
になつている)、そのソケツトに前記PODからの
コネクタを接続し、POD上のマイクロプロセツ
サ(ターゲツトCPU1)が代行して、ターゲツ
トシステムを作動するようになつている。2はデ
ータが1ビツト幅のカバレツジ・メモリで、この
メモリのアドレスはアドレスバス3を介して与え
られる。このアドレスバス3には、アドレス・バ
ス5に出力されるターゲツトCPU1からのアド
レスが3ステート・バツフア4を介して与えられ
るか、又はアドレス・バス7に出力されるデバツ
ク装置のCPU8からのアドレスが3ステート・
バツフア6を介して与えられる。いずれからのア
ドレスが与えられるかは、CPU8によりバツフ
ア4または6を選択的に制御することにより行な
われる。
また、カバレツジ・メモリ2へは、3ステー
ト・バツフア9を介して与えられる論理“0”の
データか、あるいは双方向性の3ステート・バツ
フア10を介して与えられるCPU8からのデー
タのいずれか一方が選択的に入力される。
カバレツジメモリ2への書込み命令信号
()は、JKフリツプフロツプ15のQ出力と
ゲート14にてゲートされたターゲツトCPU1
からの命令実行信号(OPC)か、または3ステ
ート・バツフア12を介して与えられるCPU8
からの書込み信号(WR1)かのいずれかであ
る。CPU8は、バツフア12およびJKフリツプ
フロツプ15を制御してカバレツジメモリ2にい
ずれか一方の書込み信号を与えることができるよ
うになつている。
13はゲートメモリであり、データが2ビツト
幅のものである。その出力D0,D1がJKフリツプ
フロツプ15のJおよびKに接続される。なお、
上述では、ゲートメモリ13とカバレツジメモリ
2とを、それぞれ物理的に2つのメモリに分けて
構成するとして説明しているが、1つのメモリを
共用し、このビツト内容を分割して使用しても良
い。即ち、データが少なくとも3ビツト幅のメモ
リを用い、その内、2ビツトをゲートメモリ13
として使用し、残りの1ビツトをカバレツジメモ
リ2として使用するようなことである。
このような構成における動作を次に説明する。
第3図は本発明に係る装置の動作を理解し易い
ようにゲートメモリ13とカバレツジメモリ2間
の内容およびその周辺回路を示した図である。も
つとも、バツフア11は動作の説明に影響しない
ので、図示を省略した。第4図はタイムチヤート
であり、その波形に対応する第3図各部の端子名
称を各波形の左側に付した。
(1) ゲートメモリ13およびカバレツジメモリ2
への設定 ゲートメモリ13は、データが2ビツト幅のも
のであり、その記憶する内容を第3図の如く、
A,Bに分ける。即ち、A,Bはそれぞれ1ビツ
トである。
まず、ゲートメモリ13には、多数の条件付分
岐命令(P1,P4,…)と、各条件付分岐命令に
対応した成立時と不成立時のアドレス(P2,P3
P5,P6,…)が設定され、ゲートメモリ13の
A部には、条件付分岐命令コードのある総べての
アドレス(P1,P4,…)に所定の信号“1”を
セツトし、条件付分岐命令ではないAの他の部分
は、“0”とする。
ゲートメモリ13のBには、条件付分岐命令に
よる総べての成立時のアドレス(P3,P6,…)、
及び総べての条件不成立時のの実行アドレス
(P2,P5,…)に所定の信号“1”をセツトし、
それ以外のBの部分は“0”とする。このゲート
メモリ13のB部で“1”にセツトした数が全セ
グメント数となる。
カバレツジメモリ2へは、ゲートメモリ13の
B部と同じ内容を設定する。
(2) 動作 ターゲツトCPU1がプログラムの実行を開始
し、条件付分岐命令(例えば第3図のアドレス
P1)を実行したとする。従つて、ゲートメモリ
13のAの出力D0は1となり、JKフリツプフロ
ツプ15の出力Qは、OPCにより“1”となる。
ここで、もし、条件が不成立であり、第3図に
示すアドレスP2の命令が実行されると、ゲート
メモリ13のBの出力D1が“1”となりJKフリ
ツプフロツプ15の出力QはOPCにより“0”
となる。
カバレツジメモリ2のライト信号は、第4
図に示すタイムチヤートから分るように、ゲート
14によりJKフリツプフロツプ15の出力Qが
“1”の時のみ出力される。従つて、この場合に
はアドレスP2の時のみ、カバレツジメモリ2の
“1”が“0”に変更される。これによりアドレ
スP2のセグメントが実行されたことになる。
アドレスP3は、条件不成立時でも実行される
ことはあり得るが、前記のようにJKフリツプフ
ロツプ15の出力Qが“1”でない場合は、カバ
レツジメモリ2の内容は“1”→“0”へ変化し
ない。
このようにして、ターゲツトプログラムのテス
トが終了した後、カバレツジメモリ2の内容を調
べ、まだ“1”のところがあれば、それが未ヒツ
トグメントであることが分る。また、全セグメン
トに対するカバレツジ率も測定できる。
なお、前記第1図、第3図では、高級言語で書
かれたプログラム(例えば、16ビツト)のカバレ
ツジも測定可能なように、条件付分岐命令が実行
されて、条件成立、不成立のアドレスの実行が、
条件付分岐命令のすぐ次の実行サイクルでなくて
も良い構成になつている。
また、ゲートメモリ13とカバレツジメモリ2
に書込む所定の信号は、上述では、“1”として
説明したが、“1”に限定するわけでなく、他の
意味付けした信号としても良い。
第5図は、本発明の別の実施例を示した図であ
り、用途をアセンブラ言語に限つたものであり、
第1図、第3図に示した装置に比べて構成を簡略
化したものである。即ち、この場合は、条件付分
岐命令のすぐ後に、条件成立、又は条件不成立の
実行サイクルがあるので、第5図のようにゲート
メモリ13のB部が不要となる。また、JKフリ
ツプフロツプ15がDフリツプフロツプに代り、
構成が簡単になる。動作は、条件付分岐命令の次
の実行サイクルのみに、カバレツジメモリ2への
WE信号が出ることだけが異なり、他は前述の通
りである。
また、今までの説明では、条件付分岐命令は、
成立か不成立の2分岐しか説明しなかつたが、本
発明によれば、多分岐の条件付命令にも応用する
ことができる。
ハ 「本発明の効果」 本発明によれば、比較的簡単な構成で、リアル
タイムによる正確なカバレツジを測定することが
できるので、実用上大きな効果が得られる。
【図面の簡単な説明】
第1図は本発明に係るマイクロプロセツサ用デ
バツグ装置の一実施例を示した図、第2図は条件
付分岐命令を有したフローを示す図、第3図は第
1図装置の動作を理解し易いようにゲートメモリ
13とカバレツジメモリ2間の内容およびその周
辺回路を示した図、、第4図は第1図装置のタイ
ムチヤート、第5図は本発明に係るマイクロプロ
セツサ用デバツグ装置の別の構成例を示した図で
ある。 1…ターゲツトCPU、2…カバレツジメモリ、
3…バス、13…ゲートメモリ、15…JKフリ
ツプフロツプ。

Claims (1)

  1. 【特許請求の範囲】 1 ターゲツトシステムのターゲツトCPUを搭
    載し、そのターゲツトCPUが実行するプログラ
    ムのデバツグをする装置において、 条件付分岐命令のあるアドレスに所定の信号を
    記憶する第1のメモリ手段Aと、 条件成立時のアドレス及び条件不成立時のアド
    レスに所定の信号を記憶する第2のメモリ手段B
    と、 前記第2のメモリ手段Bと同一の内容を記憶す
    る第3のメモリ手段2と、 条件付分岐命令の次の実行アドレスの時のみ前
    記第3のメモリ手段2に書込み信号()を印
    加する回路手段と、 を備えたことを特徴とするマイクロプロセツサ用
    デバツグ装置。 2 前記、第1、第2、及び第3のメモリ手段に
    おいて、1つのメモリを共用し、このメモリのビ
    ツト内容を分割して使用するようにした特許請求
    の範囲第1項記載のマイクロプロセツサ用デバツ
    グ装置。 3 前記第2のメモリ手段Bを削除し、前記第3
    のメモリ手段2には、条件成立時のアドレス及び
    条件不成立時のアドレスに所定の信号を記憶する
    ようにした特許請求の範囲第1項記載のマイクロ
    プロセツサ用デバツグ装置。
JP60044160A 1985-03-06 1985-03-06 マイクロプロセツサ用デバツグ装置 Granted JPS61202243A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60044160A JPS61202243A (ja) 1985-03-06 1985-03-06 マイクロプロセツサ用デバツグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60044160A JPS61202243A (ja) 1985-03-06 1985-03-06 マイクロプロセツサ用デバツグ装置

Publications (2)

Publication Number Publication Date
JPS61202243A JPS61202243A (ja) 1986-09-08
JPH0439697B2 true JPH0439697B2 (ja) 1992-06-30

Family

ID=12683853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60044160A Granted JPS61202243A (ja) 1985-03-06 1985-03-06 マイクロプロセツサ用デバツグ装置

Country Status (1)

Country Link
JP (1) JPS61202243A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63182753A (ja) * 1987-01-26 1988-07-28 Yokogawa Electric Corp マイクロプロセツサ用デバツク装置

Also Published As

Publication number Publication date
JPS61202243A (ja) 1986-09-08

Similar Documents

Publication Publication Date Title
US5751942A (en) Trace event detection during trace enable transitions
US6598178B1 (en) Peripheral breakpoint signaler
US6754852B2 (en) Debug trigger builder
DE69728244T2 (de) Verfahren und Vorrichtung für die Fehlerbeseitigungsunterstützung eines Pipeline-Mikroprozessors
CA2002325C (en) Method for observing the progress in time of an object program
US7533302B2 (en) Trace and debug method and system for a processor
JPH02235149A (ja) 試験システムおよび命令実行シーケンス判定方法
US20060150021A1 (en) Device and method for analyzing embedded systems
US7464018B2 (en) Stalling CPU pipeline to prevent corruption in trace while maintaining coherency with asynchronous events
JP2007522554A (ja) 車両内のセキュリティ上問題のあるコンピュータシステムのための埋込式システムの分析装置及び方法
EP1782204A2 (en) Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller
JPH0439697B2 (ja)
JPS6383841A (ja) プログラムテスト可能な計算機中央処理装置
JPH0531175B2 (ja)
JPS61123942A (ja) マイクロプロセツサ用デバツク装置
JPH0581087A (ja) プロセサのモニタ方式
KR940001558B1 (ko) 프로세스가 있는 보오드의 상태 추적장치
JPH0261731A (ja) マイクロプロセッサ
JPH05334116A (ja) デバッグ制御方式
JPH049343B2 (ja)
JPH09114692A (ja) インサーキットエミュレータ
JPS59852B2 (ja) マイクロプロセツサ試験装置
JPH0248740A (ja) Lsiのテスト法
JPH03161846A (ja) デバッグ回路
JPH0444973B2 (ja)