JPH0340037A - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JPH0340037A
JPH0340037A JP1175094A JP17509489A JPH0340037A JP H0340037 A JPH0340037 A JP H0340037A JP 1175094 A JP1175094 A JP 1175094A JP 17509489 A JP17509489 A JP 17509489A JP H0340037 A JPH0340037 A JP H0340037A
Authority
JP
Japan
Prior art keywords
memory
address
module
module number
user 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.)
Pending
Application number
JP1175094A
Other languages
English (en)
Inventor
Yutaka Sato
豊 佐藤
Hiroshi Terada
博 寺田
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
Original Assignee
Hitachi Microcomputer Engineering 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 Engineering Ltd filed Critical Hitachi Microcomputer Engineering Ltd
Priority to JP1175094A priority Critical patent/JPH0340037A/ja
Publication of JPH0340037A publication Critical patent/JPH0340037A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、デバッグ技術さらにはデバッグ対象とされる
マイクロコンピュータ・システムを評価する技術に関し
、例えばエミュレータに適用して有効な技術に関するも
のである。
[従来の技術] マイクロコンピュータ応用機器の開発において、その応
用システムのデバッグやそのシステムの詳細な評価を行
なうため、インサーキット・エミュレータが使用されて
いる。インサーキット・エミュレータは、ソフトウェア
開発用の親計算機(ホストコンピュータ)やシステム開
発装置と開発中の応用機器との間に接続され、その応用
機器に含まれるマイクロプロセッサ(以下ターゲットプ
ロセッサと称する)の機能を代行する一方でデバッガ−
としての機能を持つツールである(昭和56年11月3
0日オーム社発行、rLSIハンドブックJ P562
〜P563参照)。
従来のインサーキット・エミュレータは、ターゲットプ
ロセッサのメモリ空間をある大きさ(例えば1キロバイ
ト)のページに分割し、ページごとにその属性を指定で
きるメモリ管理機能をもつようにされており、指定でき
る属性には例えば以下のようなものがある。
(1)USER:ユーザシステム上のメモリをアクセス
する。リートおよびライトが行なえる。
(2)RAM:エミュレータ上の代行メモリをリード/
ライトする。
(3)ROM:エミュレータ上の代行メモリをリードす
る。ライトによりユーザプログラムをブレークもしくは
ライトを禁止する。
(4)NONUSE :メモリを割り当てない。このエ
リアへのり−ド/ライトによりユーザプログラムをブレ
ークする。
[発明が解決しようとする課題] ページごとにその属性を指定できるメモリ管理機能を有
する従来のエミュレータは、メモリ未使用エリアの設定
により、メモリが実装されていないエリアへのアクセス
を検出しユーザプログラムをブレークすることができる
。しかし、従来のエミュレータではメモリ属性の指定が
、ユーザプログラムの全てのモジュールで共通であり、
あるエリアを未使用エリアに指定すると、そのエリアは
全てのモジュールからアクセスできない9このため、あ
るモジュールのみがアクセスを許可され、他のモジュー
ルからのアクセスを禁止するようなエリアを作ることが
できない。従って、あるモジュール専用のエリアを用意
し、例えばそれをそのモジュール内部のみで使用する変
数を格納するワークエリアとして使用するようにしたと
き、プログラムのミスやハードウェアの誤動作で他のモ
ジュールが変更又は参照してしまってもこれを検出する
ことができないという問題点がある。
本発明の目的は、ターゲットプロセッサのメモリ空間を
ユーザプログラムのモジュール単位に管理することがで
きるようにして、ユーザプログラム一 ムのデバッグ効率および完成したユーザプログラムの信
頼性を向上させることにある。
この発明の前記ならびしこそのほかの目的と新規な特徴
については、本明細書の記述および添附図面から明らか
になるであろう。
[課題を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、エミュレータ内にターゲットプロセッサの実
行アドレスによりアクセスされるモジュール番号メモリ
とメモリ属性を管理するマツプコントロールメモリとを
設け、モジュール番号メモリの出力を、ターゲットプロ
セッサのメモリアドレスとともにマツプコン1−ロール
メモリのアドレス入力端子へ人力させ、その結果出力さ
れたメモリ属性に基づいてエミュレーション制御を実行
するものである。
[作用] モジュール単位のメモリ管理のため、ユーザプログラム
の各モジュールに独自のモジュール番号− を割り当て、ユーザプログラムの実行前に上記モジュー
ル番号メモリに、そのモジュールアドレス番こ対応する
モジュール番号を書き込んでおくとともに、マツプコン
トロールメモリには、モジュール番号とターゲットプロ
セッサのメモリアドレスとに対応するメモリ属性を書き
込んでおく。すると、ユーザプログラムの実行中は、モ
ジュール番号メモリのアドレス入力端子に、ターゲット
プロセッサの実行アドレスが入力されることにより、モ
ジュール番号メモリがターゲットプロセッサの実行アド
レスからモジュール番号への変換テーブルとして動作し
、現在実行中のモジュール番号をマツプコントロールメ
モリへ出力する。またユーザプログラムの実行中は、マ
ツプコンi・ロールメモリにモジュール番号メモリの出
力とターゲットプロセッサのメモリアドレスが入力され
ることにより、マツプコントロールメモリは現在実行中
のモジュール番号とターゲットプロセッサのアクセスし
たアドレスとからメモリ属性への変換テーブルとして動
作するため、現在アクセス中のメモリ属性を出力させ、
それに基づいてブレーク制御部がターゲットプロセッサ
に割込みを発生させてユーザプログラムの実行を停止さ
せたり、エミュレーションメモリへの書込みを禁止した
りすることができる。
[実施例] 以下、本発明の一実施例を図面を用いて説明する。
先ず、本発明が適用されたエミュレータ全体の構成を第
4図に示すブロック図に従い説明する。
すなわちこの実施例のエミュレータは、ターゲットマイ
クロプロセッサの機能を代行するエミユレーション用の
マイクロプロセッサ11と、エミュレーションや各種デ
バッグ機能を実行するためのエミュレーション制御部1
2、プログラムの実行やトレースの停止条件を設定し1
条件が成立したときにプログラムもしくはトレースを停
止させるブレーク制御部工3、エミュレーション実行中
のバス上の信号を逐次記憶する1〜レ一スメモリ部14
、応用機器(ユーザシステム)のメモリが用意されてい
ない場合に貸し出される代行メモリ部15、親計算機や
コンソール10との間でデータ通信を行なうためのシリ
アルアインタフェース↓6及びそれらの制御を司るため
のホストプロセッサ17などからなる。
そして、上記エミュレータは、その本体から延長された
ケーブル4の先端が、応用機器に設けられたマイクロプ
ロセッサ用ソケット5に結合されることにより、上記エ
ミユレーション用マイクロプロセッサ11がターゲット
プロセッサの機能を代行するようなエミュレーション機
能を備えている。更に、エミュレーション実行中に各種
データやステータス信号などをサンプリングし、それを
トレース用メモリ15などに格納するトレース機能や、
エミユレーション用マイクロプロセッサ11による応用
機器の制御動作を停止させるブレーク機能などの各種デ
バッグ機能が備えられている。
これらの機能は、コンソール10からの指令に従って実
行される。
第1図には、本発明に係るエミュレータの主要7− 部たるエミュレーション制御部の実施例が示されている
ホストプロセッサHMPUは、ホストアドレスバスHA
 BおよびホストデータバスHD Bに接続され、これ
らのバスを介してエミュレータ各部の状態を設定したり
、読出したりして、これらを制御する。
ターゲットプロセッサTMPUは、ターゲットアドレス
バスTAB、ターゲットデータバスTDB、ターゲット
コントロールバスTCBに接続され、これらのバスを介
して、図示しないユーザシステム上のメモリやエミュレ
ータ内部の代行メモリとしてのエミュレーションメモリ
EMEMをアクセスする。
5TDECはステータスデコーダで、このステータスデ
コーダ5TDECは、ターゲートコントロールバスTC
B上のコントロール信号を監視してターゲットプロセッ
サTMPUの命令フェッチサイクルを検出する。
ALATはアドレスラッチ回路で、このアトレ− スラッチ回路ALATは、上記ステータスデコーダ5T
DECからの信号C0DEにより、アドレスバスTAB
上の信号を命令フェッチサイクルでラッチし、ターゲッ
トプロセッサTMPUの実行アドレスTEAを得る。
MNMEMはモジュール番号メモリで、このモジュール
番号メモリMNMEMには、ユーザプログラムを構成す
るモジュールの番号を示すコードが格納されており、ア
ドレスラッチ回路ALATにラッチされた実行アドレス
TEAからモジュール番号MNRを得る。このモジュー
ル番号メモリMNMEMは、アドレスマルチプレクサA
MPX1、データマルチプレクサDMPXIを介してホ
スト側のアドレスバスHABとデータバスHDBに接続
され、ホストプロセッサ側から内容の設定ができるよう
にされている。
MCMEMはマツプコントロールメモリで、このマツプ
コントロールメモリMCMEMは、前述したメモリ属性
“RAM”、”ROM”、”USER”、”N0NUS
E”の4種類を示すコードが2ピツ1〜のデータとして
格納されており、ターゲットアドレスバスTABに接続
され、ターゲットプロセッサTMPUからのアドレスと
モジュール番号メモリMNMEMから読み出されたモジ
ュール番号MNRとから、メモリ属性MATRを出力す
る。このマツプコントロールメモリMCMEMは、ホス
ト側から内容の設定ができるようにアドレスマルチプレ
クサAMPX2、データマルチプレクサDMPX2を介
してホスト側のアドレスバスHABとデータバスHDB
に接続されている。
ブレーク制御部BRKCは、メモリ属性MATRが“N
 ON U S E ”の時、ターゲットプロセッサT
MPUに対するブレーク信号BREAKをアサートし、
ユーザプログラムを停止させる。また、ブレーク制御部
BRKCはブレークポインタ(レジスタ)とコンパレー
タを備え、バスTAB、TDB、TCB上の信号がポイ
ンタの設定条件と一致するとブレーク信号をアサートす
る。
エミュレーションメモリEMEMは1図示しないユーザ
システム上のユーザメモリの機能を代行し、ターゲット
プロセッサTMPUの実行するユーザプログラムを格納
するとともにワークエリアを提供する。エミュレーショ
ンメモリEMEMは、ホスト側、ターゲット側のいずれ
からもアクセスできるようにアドレスマルチプレクサA
MPX3およびデータマルチプレクサDMPX3を介し
てホスト側およびターゲット側のアドレスバスHAB、
TABとデータバスHDB、TDBに接続可能にされて
いる。
次に本実施例のエミュレータの動作を説明する。
先ず、ターゲットプロセッサTMPUによるユーザプロ
グラムの実行開始前に、ホストプロセッサHM P U
によりモジュール番号メモリMNMEMおよびマツプコ
ントロールメモリMCMEMの設定を行なう。
モジュール番号メモリMNMEMの設定は、ユーザプロ
グラムの各モジュールに、互いに他のモジュールと重複
しないように割り当てたモジュール番号MNRをそのモ
ジュールが占めるメモリ空間に対応するアドレスに書き
込むことにより行な11 う。例えば、第2図(A)に示すように、ユーザプログ
ラムを構成する各モジュールMDLI、MDL2.・・
・・、MDLnに各々番号1,2.・・・・nを与えた
場合、第2図(B)に示すようにモジュール番号メモリ
MNMEMの同一のアドレスに各々番号1,2.・・・
・、nを書き込む。
マツプコントロールメモリMCMEMの設定は、ユーザ
プログラムの各モジュール毎に、そのモジュールからみ
たメモリ属性MATRを、そのモジュール番号とメモリ
属性の占めるメモリマツプ上での空間に対応するアドレ
スに書き込む。例えば、モジュール番号1のモジュール
からみたメモリマツプが第3図(A)、モジュール番号
2のモジュールからみたメモリマツプが第3図(B)で
あった場合、マツプコントロールメモリMCMEMには
、第3図(C)に示すようにメモリ属性11R○M”、
”RAM”、”USER”および” N ONUSE”
を書き込む。
次にユーザプログラム実行時の動作を説明する。
ステータスデコーダ5TDECはターゲットプ2 0セッサTMPUのコントロールバスTCB上の信号を
デコードして、これが命令フェッチサイクルであること
を示すと、C0DE信号をアサートする。
アドレスラッチ回路ALATは上記C0DE信号のアサ
ート時にターゲットアドレスバスTAB上のアドレスを
ラッチする。これにより、アドレスラッチ回路ALAT
の出力TEAはターゲットプロセッサTMPtJが実行
している命令のアドレスを示す。この出力TEAはモジ
ュール番号メモリMNMEMのアドレス入力端子に入力
されているので、ユーザプログラムの実行中にある命令
が実行されると、その命令が属するモジュールの番号M
NRがメモリMNMEMから出力される。
さらに、このモジュール番号MNRがターゲットアドレ
スバスTAB上のアドレスとともにマツプコントロール
メモリMCMEMのアドレス入力端子に入力されている
ので、ユーザプログラムの実行中にターゲットプロセッ
サTMPUがメモリをアクセスすると、その時実行中の
モジュールからみたメモリ属性MATRがマソプコント
ロールメモリMCMEMからブレーク制御部BRKCに
供給される。
ブレーク制御部BRKCは、メモリ属性M A TRが
” N ON U S E ”のとき、ブレーク信号B
REAKをアサ−1−シ、ターゲラ1〜プロセツサ′丁
MPUを停止させ、ユーザプログラムをブレークする。
また、マップコン1〜ロールメモリMCMEMから読み
出されたメモリ属性は、メモリ制御回路MCNTに供給
され、メモリ属性MATRが” RAM ”の時はり一
ド/ライトともに有効、′″ROM ”の時はリードの
み有効、それ以外の時はり一1〜/ライトともに無効と
するような制御信号を形成し、エミョレーションメモリ
EMEMを制御する。
上記実施例によれば、以下の効果が得られる。
(1)ユーザプログラムの各モジュールとその占めるア
ドレスとの対応を格納したモジュール番号メモリとメモ
リ属性を管理するマツプコントロールメモリとを設け、
モジュール番号メモリをターゲットプロセッサの実行ア
ドレスによりアクセスするようにしたので、現在実行中
のモジュール番号を上記メモリから出力させ、これをタ
ーゲットプロセッサのメモリアドレスとともにマツプコ
ントロールメモリのアドレス入力端子に加えることによ
り、モジュール単位にターゲットプロセッサのメモリ空
間の属性を読み出すことができる。
(2)上記効果(1)により、各モジュールは、そのモ
ジュール自身およびそのモジュールが使用するワークエ
リアとメモリマツプドエ/○ボート以外のエリア、すな
わち他のモジュール及び他のモジュールが使用するワー
クエリアとメモリマツブトI10ポートを未使用エリア
に指定することができる。
(3)上記効果(2)により各モジュールが他のモジュ
ールが使用するワークエリアとメモリマツブトI10ポ
ートを参照または変更した場合、これを検出しユーザプ
ログラムの実行を停止することができる。
(4)上記効果(3)により各モジュールが他の5− モジュールが使用するワークエリア及びメモリマツブト
I10ボートを参照または変更するようなプログラムミ
スを容易に発見することが可能となり、ユーザプログラ
ムのデバッグ効率、及びデバッグ後のユーザプログラム
の信頼性が向上する。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、上記実施例では
ターゲットプロセッサのアドレスバスから実行アドレス
を得るため、ステータスデコーダとアドレスラッチを使
用しているが、ターゲットプロセッサが命令フェッチサ
イクルを示す信号を直接出力するMC68000のよう
なマイクロプロセッサの場合、ステータスデコーダは不
要である。またターゲットプロセッサがプログラムエリ
アとデータエリアを独立してアクセスするマイクロプロ
セッサの場合、モジュール番号メモリをプログラムRO
Mをアクセスするバスに接続することによりステータス
デコーダ16 及びアドレスラッチは不要となる。
また、上記実施例では、アドレスラッチをターゲットプ
ロセッサのアドレスバスとモジュール番号メモリとの間
に設置したが、これをモジュール番号メモリとマツプコ
ントロールメモリとの間に設置しても全く同一の効果を
得ることができる。
さらに、上記実施例では、メモリ空間の管理に本発明を
適用したがz80のようなアイソレートI10方式のマ
イクロプロセッサにおいてはI10100管理について
も同様に適用できる。
また、上記実施例では、モジュール番号メモリにターゲ
ットプロセッサの実行アドレスを入力したが、複数の特
権状態、例えばユーザ状態とスーパバイザ状態をもつマ
イクロプロセッサについては、特権状態の種類を示す信
号をこれに加えることができる。これによりターゲット
プロセッサのメモリ空間を特権状態別にモジュール単位
で管理することができる。
また、上記実施例では、ユーザプログラムを実行するタ
ーゲットプロセッサとシステム全体を制御するホストプ
ロセッサからなるZCPU方式のエミュレータに本発明
を適用したが、ターゲットプロセッサのみで全ての制御
を行なうlCPU方式のエミュレータについても同様に
本発明を適用することができる。さらに、エミュレーシ
ョンの対象がマイクロプロセッサのみならずシングルチ
ップマイコンである場合にも適用できる。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるインサーキットエミ
ュレータに適用したものについて説明したが、この発明
はそれに限定されるものでなく、ロジックアナライザの
ようなデバッグツールやシミュレータその他エミュレー
ション機能を有するデータ処理システムに利用すること
ができる。
[発明の効果] 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
すなわち、ターゲットプロセッサのメモリ空間をユーザ
プログラムのモジュール単位で管理することができる。
これにより、ユーザプログラムのデバッグ効率および完
成したユーザプログラムの信頼性を向上させることがで
きる。
【図面の簡単な説明】
第1図は本発明に係るエミュレータの要部の一実施例を
示すブロック図、 第2図(A)、(B)はユーザプログラムのモジュール
構成および、モジュール番号メモリの内容との対応を示
すメモリマツプ、 第3図(A)、(B)、(C)は各モジュールからみた
メモリマツプと、マツプコントロールメモリの内容との
対応を示すメモリマツプ、第4図は本発明が適用される
エミュレータ全体の構成例を示すブロック図である。 HMPU・・・・ホストプロセッサ、TMPU・・・・
ターゲットプロセッサ、5TDEC・・・・ステータス
デコーダ、ALAT・・・・アドレスラッチ、MNME
M・・・・モジュール番号メモリ、AMPXoo・・ア
ドレスマルチプレクサ、DMPX・・・・19− データマルチプレクサ、MCMEM・・・・マツプコン
トロールメモリ、BRK’C・・・・ブレーク制御部、
EMEM・・・・エミュレーションメモリ(代行メモリ
)。 0

Claims (1)

  1. 【特許請求の範囲】 1、デバッグ対象とされる機器のマイクロコンピュータ
    の機能を代行するマイクロコンピュータを有するデバッ
    グ装置であって、上記マイクロコンピュータによるプロ
    グラムの実行中に、予めプログラムを構成するモジュー
    ルごとに設定された値を、上記マイクロコンピュータか
    ら出力されるアドレス信号に応じて出力するメモリを備
    えてなることを特徴とするデバッグ装置。 2、上記マイクロコンピュータによるプログラムの実行
    中に上記メモリから出力される値および上記マイクロコ
    ンピュータから出力されるアドレス信号を、予め設定さ
    れた値と比較する手段を備え、両者が一致したときに上
    記マイクロコンピュータによるプログラムの実行を停止
    させることを特徴とする請求項1記載のデバッグ装置。 3、上記メモリより読み出された属性に応じて代行メモ
    リのアクセスを制御するための信号を形成する制御手段
    を備えてなることを特徴とする請求項1又は2記載のデ
    バッグ装置。
JP1175094A 1989-07-06 1989-07-06 デバッグ装置 Pending JPH0340037A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1175094A JPH0340037A (ja) 1989-07-06 1989-07-06 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1175094A JPH0340037A (ja) 1989-07-06 1989-07-06 デバッグ装置

Publications (1)

Publication Number Publication Date
JPH0340037A true JPH0340037A (ja) 1991-02-20

Family

ID=15990148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1175094A Pending JPH0340037A (ja) 1989-07-06 1989-07-06 デバッグ装置

Country Status (1)

Country Link
JP (1) JPH0340037A (ja)

Similar Documents

Publication Publication Date Title
US5132971A (en) In-circuit emulator
JP2752592B2 (ja) マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US7334161B2 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
US5488688A (en) Data processor with real-time diagnostic capability
KR0168656B1 (ko) 데이터 처리 시스템
JPH011039A (ja) インサーキット・エミュレータ
KR100440655B1 (ko) 데이타프로세서동작방법및집적회로
JPS6010354A (ja) プログラム追跡方法
EP0902367A2 (en) Data processing unit with debug capabilities
US8612720B2 (en) System and method for implementing data breakpoints
US20020188813A1 (en) On-chip hardware breakpoint generator with comprehensive memory operation detection
JP2003263339A (ja) デバック機能内蔵型マイクロコンピュータ
JPH0340037A (ja) デバッグ装置
KR100223096B1 (ko) 내부 메모리 맵 레지스터를 관측하는 방법 및 장치
JPH0550016B2 (ja)
JP2902861B2 (ja) トレース機能付バッファ装置
JPH0581087A (ja) プロセサのモニタ方式
JPH04160650A (ja) マイクロプロセッサ
JPH01217524A (ja) データ処理システム
JP2654105B2 (ja) マイクロプロセッサ
JPH05233351A (ja) エミュレータ
JPH08161190A (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JPH04131938A (ja) データ処理装置
JPH08147187A (ja) エミュレータ
JPH08185245A (ja) マイクロプロセッサのリセット方法