JPS6329852A - マイクロコンピユ−タ応用機器の開発装置 - Google Patents

マイクロコンピユ−タ応用機器の開発装置

Info

Publication number
JPS6329852A
JPS6329852A JP61171639A JP17163986A JPS6329852A JP S6329852 A JPS6329852 A JP S6329852A JP 61171639 A JP61171639 A JP 61171639A JP 17163986 A JP17163986 A JP 17163986A JP S6329852 A JPS6329852 A JP S6329852A
Authority
JP
Japan
Prior art keywords
target
cpu
register
program
target system
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
JP61171639A
Other languages
English (en)
Inventor
Riyouji Oouchi
大内 僚二
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.)
RINKU KK
Original Assignee
RINKU KK
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 RINKU KK filed Critical RINKU KK
Priority to JP61171639A priority Critical patent/JPS6329852A/ja
Publication of JPS6329852A publication Critical patent/JPS6329852A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータ応用機器の開発において
使用するマイクロコンピュータ用開発装置に関するもの
である。
〔発明の概要〕
マイクロコンピュータ応用機器であるターゲットシステ
ムのプログラムROMの機能を代行するエミュレーショ
ン方式の開発装置では、プログラムROMの機能をプロ
グラム用ランダム・アクセス・メモリ(ユーザーRAM
)により代行させるのが普通である。しかし、単に代行
させるだけではターゲットシステムと開発装置との間の
データの又換は、ターゲットシステムのマイクロプロセ
す(以下CPUと称す)がユーザー几AMの内容をアク
セスするだけであって、開発装置から、夕一ケ、トンス
テムのCPUレジスタ・メモリに書き込みしたり、ター
ゲットシステムのCPUレジスタ、メモリの内容を読み
とったりすることができない。
本発明は開発装置がターゲットシステムすなわチ、マイ
クロコンピュータ応用機器のプロクラムROMの機能を
代行することによって試験を行なうエミュレーション方
式で、開発装置側からターゲットシステム内のメモリ、
レジスタのデータを監視し、被試験プログラムの実行を
プログラムの任意のアドレスから任意のアドレスまで実
行することを制御できるようにし、しかもその開始、停
止の時点でのターゲットシステム内のメモリ、レジ′ス
タの内容をはあくできるようにするものである。しかも
、ターゲットシステムのCPUの種類がシステムによっ
て異なる場合でも僅かのノ\−ドウエアとソフトウェア
で多くの種類のCPUに対応できるものである。
〔従来の技術〕
従来のマイクロコンピュータ開発用試験装置には、被試
験装置(以下ターゲットシステムと称する)のセントラ
ル・プロセサ・ユニット(以下CPUと称する)、又は
プログラムを収容したROM1当該ターゲツトシステム
から外し、これらが取り付けられていたソケ、トヲ利用
してターゲットシステムを開発装置に接続することによ
って試験を行なう、いわゆるエミュレーション方式が多
く採用されている。
これらの装置では、開発装置がこれらターゲットシステ
ムのCPU又はROMの機能を代行するもので9代行す
ることによりプログラムの進行状況を開発装置側ではあ
くシ、制御し、それによりハードウェア、ソフトウェア
のデパックができるようになっている。
これらの装置のうち、開発装置がターゲットシステムの
CPUを代行するものでは、ターゲットシステムのCP
Uの種類に応じて開発装置の機能もこれに対応していな
ければならない。このため一つの開発装置で多種のCP
Uに対応させることはできない。
一方、開発装置がターゲットシステムのプログラムRO
Mの代行をするエミュレーション方式では1種類の異な
るCPUに対応可能であるが、開発装置でターゲットシ
ステムのCPU内のレジスタの内容を監視したり、FL
OM以外のメモリ空間の監視、さらにターゲットシステ
ムのプログラム(被試験プログラム)全任意のアドレス
から実行させ、任意のアドレスで停止させるという、デ
ノ(ツクの上で重要な機能を開発装置にもたせることが
できない。
〔発明が解決しようとする間哩点〕
前述したような、ターゲットシステムのプログラムR,
OMの機能をプログラム用ランダム・アクセス・メモリ
(ユーザーRAM)により代行させるヨ従来ノエミュレ
ーンヨン方式開発装置ではターゲットシステムと開発装
置との間のデータの交換は、ターゲットシステムのCP
UがユーザーRA M (すなわち、ターゲットシステ
ムのプログラムR,OM)の内容をアクセスするだけで
あって。
開発装置側から、ターゲットシステムのCIPUレジス
タ、メモリーに書き込みしたり、ターゲットシステムの
CPUレジスタ、メモリの内容を読みとったりすること
ができない。これでは開発装置の機能としては不十分で
ある。
本発明はこれら従来のマイクロコンピュータ開発装置の
欠点を除去するため、一つの開発装置に僅かのハードウ
ェア、ソフトウェアを登載するだけでターゲットシステ
ムのCPUの種類の違いに対応し、しかも開発装置が持
つべき重要な機能であるターゲットシステムの制御と監
視を可能とするものである。
〔問題点を解決するための手段〕
本発明に係る開発装置の構成は以下に述べる通りである
本開発装置はターゲットシステムを動作させるためのプ
ログラム即ち、被試験プログラムを記憶するエリア(ユ
ーザーRAM)k有する。このユーザーRA Mは本開
発装置に接続されたターゲ。
トンステムを本来のプログラムで動作させるためもので
前項で述べたごと〈従来からあったものである。本開発
装置はこのユーザーRA Mのほかにターゲラ)CPU
の制御及びターゲットシステムとデータの送受信を行う
ターゲットモニタROMエリアを有する。更にこのター
ゲットモニタROMエリアとユーザーRAM’iコマン
ドの種類に応じて選択的にターゲットシステムのCPU
に接続する切り替え手段を有する。また、ターゲットシ
ステムとのデータのインプットアウト1714行うため
の送信レジスタと受信レジスタとを設け。
前記ターゲットモニタROMエリア内にはターゲット0
PUt制御するためのターゲットモニタプログラムを記
憶するターゲットモニタROM用と前記送信レジスタ用
及び前記受信レジスタ用の三つのエリアを有する。ター
ゲットモニタプログラムはターゲラ)CPUにターゲッ
トCPUの制御及びターゲットシステムとのデータ送受
信を行わせるためのプログラムである。ターゲットシス
テムから開発装置にデータを送る方法はターゲットCP
Uがメモリーをアクセスする動作とアクセスするメモリ
ーアドレスの違いにより行なう。本発明の開発装置には
このほかターゲットシステムとのデータの送受信を制御
するための制御手段あるいはコマンドの入力手段、デー
タの表示手段等で構成され、これらは例えばCPU、モ
ニタROM。
ワークRAM、選択回路、キーボード、(?!RTディ
スプレイ等で構成される。その−例は第1図に示した通
りである。
〔作用〕
本発明の開発装置4からターゲットシステム1側へのデ
ータ送信は制御手段100が送信レジスタ31にライト
したデータをターゲットモニタROM21内ターゲツト
モニタプログラムを実行中のターゲットCPU2が外さ
れたR、OM 3をアクセスするためのアドレスバス1
5及びデータバス17金利用してリードする。
一方、ターゲットモニタROM21内ターゲットモニタ
プログラムを実行中のターゲットシステム1から開発装
置4へのデータ送信はターゲットCPU2が送ろうとす
るデータにより異なる256種類のアドレスを外された
几OM3のアドレスバス15を利用して開発装置4側へ
アクセスする。開発装置4側はこの256種類のアドレ
スをデータとして受信レジスタ具に取り込む。受信レジ
スタの内容は制御手段100によってリードされ開発装
置4はターゲットシステム1からのデータを受信できる
なお256種類のアドレスはターゲットモニタROMの
アドレスと一致しないようにする。
以上のように開発装置4とターゲットシステム1間でデ
ータの送受ができ、第9図に示すような開発装置4とダ
ーゲットモニタROM21内ターゲトモニタプログラム
を実行中のターゲットシステム1間で送受するメモリー
ライト51.メモリーリード52.リードデータ53.
スタート54.  及びブレークコマンド55ヲ設け、
各コマンドにメモリーライトコマンド51は開発装置4
からターゲットシステム1にターゲットシステム1内の
あるアドレスにあるデータをライトせよというコマンド
、メモリーリードコマンド52は開発装置4からターゲ
ットシステム1にターゲットシステム1内のあるアドレ
スの内容を送り返せというコマンド、リードデータコマ
ンド53はメモリーリードコマンド52ヲ受けたターゲ
ットシステム1が開発装置4にメモリーの内容を送り返
すコマンド、スタートコマンド54は開発装置4からタ
ーゲットシステム1にあるアドレスから被試験プログラ
ムを実行開始せよというコマンド、ブレークコマンド5
5は被試験プログラムが実行終了したということをター
ゲットシステム1から開発装置4に知らせるコマンド。
というような意味を持たせることによって1 開発装置
4側からターゲットシステム1内のレジスタ。
メモリに書き込みを行なう、また、これらレジスタ、メ
モリの内容を読み取ることができ、開発装置4側でター
ゲットシステムを任意のプログラムアドレスから任意の
アドレスまで被試験プログラムを実行させることができ
る。従って開始、停止の時点でのターゲットシステム1
のレジスタ、メモリの内容を知ることができ、ターゲッ
トシステム1のハードウェア、ソフトウェアのデパック
を完全に行なうことができる。また。
本発明では、ターゲットシステム1のCPUの種類が異
なるときには、主にターゲット・モニタ・ROMの内容
をターゲラ)CPUの種類によって変更すれば多種のC
PUに対応することができる。しかも、上記の制御のた
めに必要とするターゲット・モニタ・ROMに記憶され
るターゲットモニタプログラムは極めて小規模である。
例えばターゲット・モニタ・R,OMに必要なメモリの
規模は256バイト程度である。したがってターゲット
CPUの1種類に対応して制作すべきソフトウェアの規
模は小さく、これを収容するノ・−ドウエアROMのエ
リアも小さい。従って一つの市販のROMのエリアを用
い、そのエリアを例えば16分割し2分割した各エリア
を異なるターゲットCPUの各種類に対応させることも
できる。このようにして一つのROMと簡単な切換手段
によって例えば16種のターゲ、)CPUに対応するこ
とができる。
以上のように本発明の特徴はターゲラ)CPU2がター
ゲットモニタプログラムを実行することにより、ターゲ
ットシステム内の監視(メモリーのリード、ライト)及
び被試験プログラムの制御(実行の開始、停止)の一部
を行い、送受信レジスタ34.31i介して第9図のコ
マンド形式にて監視及び制御情報=iCPU8と送受し
、開発装置としての機能を実現するところにある。また
、ターゲットモニタROM21内のターゲットモニタプ
ログラムは、メモリーのリード、ライト及び被試験プロ
グラムの開始、停止だけを行なわせているだけなのでタ
ーゲットモニタプログラムは小さいだけでなく、ワーク
用RAMを使用しないでプログラムを作ることができ、
ROMだけでCPU2がプログラムを実行できる。RO
MだけでCPU2が実行できるということは、ターゲッ
トシステムlと本開発装置の間のインターフェースはタ
ーゲットシステムから本開発装置f ROMとしてアク
セスするインターフェースだけで良いことになる。
なお、第2図は第1図をより詳細に機能の一例を表わし
た図であり、100は制御手段の中の機能を示すブロッ
ク図でCRTターミナル6から人力されるモニタコマン
ドを判断手段101で判断し、102から108の各モ
ニタコマンド処理手段で処理する。
各モニタコマンド処理手段102〜108において、ユ
ーザーR,AM又はターゲラ)CPU内のメモリーのり
−ド1 ライトをする場合、メモリーリード手段109
、及びメモリーライト手段110により1 メモリーの
リード、ライトを行なう。メモリーリード手段109及
びメモリーライト手段110U、  リードまたはライ
トするメモリーのアドレスがユーザーRAM内か、ユー
ザーRA M以外かを判断しメモリーのアドレスがユー
ザーRAM内であればユーザーRAM=iリードまたは
ライトし、メモリーのアドレスがユーザーRA M以外
であれば送信レジスタ31、及び受信レジスタ34ヲ介
してターゲットモニタROM21内のターゲットモニタ
プログラムを実行中のターゲットCPU2とリード、ラ
イトコマンド及びリードデータ(第9図の51.52.
53 )を送受してリードまたはライトを行なう。21
はターゲットモニタROM内のターゲットモニタプログ
ラムを実行中のターゲラ)CPU2の機能ブロック図を
表わし、送信レジスタ31から送られてきたコマンド(
第9図の51.52.54なお、第9図については追っ
て詳細に説明する)をコマンド解析手段111により解
析し、メモリーリード手段112.メモリーライト手段
113.及び被試験プログラム開始手段114によりタ
ーゲットシステム内のメモIJ−のリード、ライト及び
被試験プログラムの実行開始を行なう。メモリーリード
手段112においてはリードしたデータを受信レジスタ
あにライトする。
被試験プログラムが停止した場合は被試験プログラム停
止手段115により、ターゲラ)CPU2から受信レジ
スタ34ヲ介してブレークコマンド(第9図の55)を
送ることにより、開発装置側制御手段100のCPUに
被試、験プログラムの停止を知らせる。
〔実施例〕
本装置は第3図に示すような構成で使用される。
lはエミーレーションの対象となるターゲットシステム
、2はターゲットシステム内のCPU、3はターゲット
システムのROMのソケット(第3図の例ではCPUの
上にR,OM’i搭載するようになっているが、R,O
MがCPU0外に実装されていても良い)、60は被試
験プログラムが記憶されているターゲットシステム1の
ROMソケット3から外したRCHvi、50はターゲ
ットシステムlから外したROM60を開発装置にセッ
トするためのROMノケッ自は本発明の開発装置、5は
ターゲットシステムのROMソケットに差し込むコネク
タ(プラグ)、6はキーボードとCRT表示部を持つC
RTターミナル、7はCRTターミナル6と開発装置4
間の双方向データ転送を行なうケ第4図は本発明の一実
施例を説明するためのブロック図である。この中で8は
本開発装置全体を制御するCPU、9は該CPU8のア
ドレスバス。
10はCPU8のデータバス、11は0PU8のモニタ
プログラムを収容するR、OM、12は同モニタプログ
ラムのワークエリア用RAMでこの中にはCPUZ中の
レジスタ状態の記憶エリア等を含む。
13はCRTターミナル等とデータ送受を行なうシリア
ル入出力;インターフェースでこれらにより。
制御手段100を構成する。5はROMチップインコネ
コネクタターゲットシステムのROMソケット3にそう
人される。15はターゲットシステムからのアドレスバ
ス、16ニターゲツトシステム1から21及びセレクタ
ηへのアドレスバス、17ハターゲツトシステム1への
データノ・ス20はバッファ27゜送信レジスタ31及
びバッファ42からバッファ18へのデータバスである
21はターゲットシステム1のCPU2をモニタするた
めのモニタプログラム(前記モニタROMllのモニタ
プログラムとは異る)を記憶するROM(以下このプロ
グラムをターゲット・モニタ・プログラム、ROM自体
をターゲット・モニタ・ROMと称す)でこのターゲッ
トモニタプログラムのフローチャートの一例を第10図
に示す。22はターゲットシステム1のROMに対応す
る空間(エリア)を置き替えるためのRAM(以下ユー
ザRAMと称す)である。
なお、第7図はターゲラ)CPU2にこのユーザーR,
A M 22内の被試験プログラムを実行開始またに実
行停止させる場合に関係する部分のターゲット・モニタ
・ROM21とユーザーRA M 22の内容を示した
図である。同図において、左列に示される4ケタの符号
が各メモリのアドレスを示し。
右列の枠内がそのアドレスの内容である。また。
第5図はターゲットシステム1から見たターゲット・モ
ニタ・R,OM21及びユーザRAM22のメモリーマ
ツプである。ここでターゲットROMエリアはターゲッ
トシステムから抜いたROMのエリアであり、ターゲッ
トシステム1側から見ればこのエリアにユーザーRAM
エリアとターゲットモニタROMエリアが2重に配置さ
れたこととなる。
この2重に配置されるエリアはターゲットシステムに対
して、ユーザーRA Mエリアか、ターゲット・モニタ
・・ROM:r−Lリアのどちらか一方を接続する。前
に説明したようにユーザーRAMエリアはターゲットR
OMエリアをRAMに置き替えるためのエリアであり、
ターゲットシステムを動作させるための被試験プログラ
ムを記憶する。このプログラムが本装置t使って試験(
デバッグ)される。このエリアは上記プログラムでター
ゲットシステムを動作させるときだけターゲットシステ
ムに接続される。それ以外はターゲットモニタR,0M
21がターゲットシステムに接続されている。ターゲッ
トモニタR,OMエリアは第9図に示したコマンドをタ
ーゲットシステムのCPU2に実行させるためのターゲ
ットモニタニブログラムを記憶するターゲットモニタR
OMと第9図に示したコマンド1cPU2が送受するた
めのレジスタを含んでいる。
第4図にもどり、23ばCPU8のアドレスバス9、と
ターゲットシステム1のアドレスバス19ヲ切9替える
ためのセレクタ、24ハユーザーRA Mg2のアドレ
スバス、25はユーザーRA M 22のデータバス、
26はCPU8がユーザーRA M 22金リードまた
はライトするための双方向パスバッファ。
27はターゲットシステムがユーザー几AM22’iリ
ードするためのバッファ、28はターゲット・モニタ・
、ROM 21のアドレス空間ヲ16分割し、その1つ
をえらぶことかできるようにするためのディップスイッ
チである。29はターゲット・モニタ・ROM 21の
上位4ビツトのアドレスバス、 30はCPU8がディ
ップスイッチ28の状態及び後記の送信レジスタ31と
同じく後記の受信レジスタ34の状態をリードするため
のバッファである。送信レジスタ31は0PU8からタ
ーゲットCPU2にデータを送信するためのレジスタ(
送信レジスタ)、32はターゲラ)C!PU2からのデ
ータをCPU8で受信するためのターゲット・モニタ・
ROM21のエリア内の任意の256バイトエリアを選
択決定するためのレジスタ、33ハレジスタ32の出力
とターゲット側アドレスバス19の上位アドレスとの比
較回路であり、一致したとき受言レジスタ34にラッチ
信号を出力する。具はターゲットCPU2からCPU8
に送信されたデータをCPU8が受信するためのレジス
タ(受信レジスタ)で、アドレスバス19の下位8ビツ
ト’tラツチする。
35はターゲットシステム1がアクセスするメモリをタ
ーゲット・モニタ・ROM21からユーザーRA M 
22へ切り替え、またはその逆に切り替えるタイミング
(タイミングはアドレスであり、どのアドレスを実行す
るかにより切り替える。)を記憶するレジスタ、36は
レジスタ35に記憶しているアドレスとアドレスバス1
9に現われるアドレスとの比較を行なう比較回路で1両
アドレスが一致したとき、一致信号を後記37として出
力する。このとき、前述の如く、ターゲット・モニタ・
ROM21とユーザーRA M 22が切替わる。37
はターゲラ)CPU2がアクセスするメモリ全ユーザー
R,AM22にするかターゲット・モニタ・ROM21
にするかを指示する切り替え要求信号を出力する腺であ
る。38は例えばフリップフロップ回路等の二安定回路
で、上記メモリ切換え要求信号37によって状態を反転
記憶するとともにその選択状態を出力する。この出力Q
により、セレクタ23の切替(CPU8,0PU2)、
RAM22又はR,OM 21を選択する。39はター
ゲットCPU2が受信レジスタ34と送信レジスタ31
の状態ヲリードするためのアドレスと送信レジスタのデ
ータをリードするためのアドレスを記憶するレジスタで
ある。
なお、第8図は前述のレジスタ35.39.32の自答
全図示したもので、前述のようにレジスタ35はターゲ
ットシステムに与えるエリアをターゲットモニタ几0M
21からユーザーRAM22にまたその逆に切り替える
ための2°から213までの14ピツトで表わされるア
ドレス値を記憶する。(214と215ビツトは記憶し
なくても良い。)図示の例ではターゲットシステム1側
からFFEB番地が出力されたときにROM21 、 
 RA M22の切り替えが行なわれることを示してい
る。レジスタ39は送信レジスタ31トバツフア42(
バッファ42は受信レジスタ34と、送信レジスタ31
のフル又はエンプティの状態を記憶している)をCPU
2がリードするための21から213−!での13ピツ
トのアドレス値を記憶する。レジスタ32は受信レジス
タ34にCPU2がライトするための上位側28から2
13ビツトまでの6ピツトのアドレス値全記憶する。4
0は前記レジスタ39の出力とアドレスバス19の下位
1ビットヲ除くアドレスを比較する比較回路、41は比
較回路40から一致信号を出力しているとき、アドレス
バス19に現われるアドレスの最下位ビラトラデコード
する。42は受信レジスタ討と送信レジスタ31のバッ
ファで、これらレジスタのフル又はエンプティ状態をタ
ーゲラ)CPU2がリードするためのバッファである。
43はターゲラ)CPU2がユーザーRAM22に従っ
て実行しているとき、受信レジスタ34.送信レジスタ
31及びバッファ42をアクセスできないようにするた
めのゲートである。
以下この動作について説明する。本発明の一実施例であ
る開発装置4の電源に入れたとき、フリップフロップ回
路38はターゲット・モニタ・ROM 21f:選択す
る。ターゲラ)CPU2はターゲット・モニタ・ROM
21 fリードして走る。(第10図参照)このときユ
ーザーRA M 22はターゲットCPU2からアクセ
スすることはできず、  CPU5側にセレクタ23に
よって接続されている。同時にR,OMソケット50に
セットされた被試験プログラムが記憶されたR、 Oh
i 60の内容がユーザーRAM22に書き込まれる。
また、ターゲットモニタROM21には前もって。
ターゲットシステムのCPU2の機種に応じたターゲッ
トモニタプログラムが記憶されている。
本発明の最も特徴的な動作すなわち、CPU8とCPU
2の間のデータ送受信は次のように行なわれる。CPU
2はターゲットモニタgoM211実行スタート時点で
は第10図に示す如<、CPU8側からのコマンド待ち
状態となっており、このときデータの送受信を行なう。
まず、0PU8からCPU2に1バイトのデータを送る
ときはCRTターミナル6からの指示に基づき0PU8
が送信レジスタ31に1バイトのデータをライトする。
送信レジスタ31にデータがライトされると送検レジス
タ31はレジスタフル状態になる。また、レジスタ39
には送信レジスタ31をリードするためのアドレスがラ
イトされている。
一方、CPU2(このとき、CPU2はターゲット・モ
ニタ・プログラムラ実行している)は、このときターゲ
ット・モニタ・プログラムにしたがい送信レジスタの情
報を入力するべく送信レジスタ31の状態に示すバッフ
ァ42をリードする。
更に詳しく説明すれば0PU2がバッファ42及び送信
レジスタ31をリードするということは、ターゲット・
モニタ・プログラムで働いているC!PU22よりアド
レスバス19にバッファ42または送信レジスタ31ヲ
リードするためのアドレスが出力される。
このアドレスの下位1ピッl−に除くアドレスと梼−レ
ジスタ39の出力(レジス タ39の内容は第8図参照)とが比較回路4oによって
比較され、一致しているときアドレスバス19の最下位
ビットがデコーダ41によってテコードされバッファ4
2または送信レジスタ31の内容がデータバス20に出
力され、このデータバス2oをCPU2がリードすると
いうことである。
CPU2Viバ、ノア42全リードして送信レジスタ3
1 カフ ル状態である場合は、送信レジスタ31’i
+、1−ドする。CPU2が送信レジスタ31ヲリード
すると送信レジスタ31の状態はエンプティー状態トな
る。次に、0PU8はバッファ3oヲ介して送信レジス
タ31の状態を知ることができ、送信レジスタ31がフ
ル状態のときに次のデータを送信レジスタ31にライト
する場合はエンプティ状態になるまで待ってからライト
する。
CPU2からCPU5に1バイトのデータを送るトキは
0PU2が受信レジスタ34に1バイトのデータをライ
トすることにより行なわれる。詳細に説明すればCPU
2が受信レジスタMにデータをライトするということは
0PU2がターゲット・モニタ・プログラムの指示に従
いレジスタ32(レジスタ32の内容は第8図参照)に
よって決められる;ターゲット・モニタ・ROM21の
エリア内の256バイトエリアのうちの1バイト’6リ
ードすることによって行なう。CPU2が受信レジスタ
34にライトするデータの内容はCPU2が上記ターゲ
ット・モニタ・ROM21エリア内の256バイトエリ
アの中のどこ全リードするかによって決まる。
すなわち、256バイトエリア内の最小アドレスをリー
ドすれば16進数で00という値を、その次のアドレス
t IJ−ドすれば16進数で01という値を・・・・
・・256バイトエリア内の最大アドレスをリードすれ
ば16進数でFFという値を受信レジスタ34にライで
あるが受信レジスタは下位8ビツトであるのでこのよう
になる。これを、1屓に説明すると、レジスタ32には
ターゲット・モニタ・R,OM21のエリアの任意のア
ドレスがライトされている。0PU2Uターゲツト・モ
ニタ・ROM 21エリア内の256バイトエリアをリ
ードする。このリードアドレスがアドレスバス19に出
力されアドレスバス19の上位側アドレスとあらかじめ
0PU8により設定されているレジスタ32の出力(ア
ドレス)とが比較回路33によって比較される。これが
一致すると、比較回路33からゲー) 43 k 、1
1白し一致信号が出力される。この一致信号によって、
アドレスバス19の下位アドレス8ビツトが受信レジス
タ34にラッチされる。(EPU8は受信レジスタ34
の内容を読み取り、  CPU2からCPU8へのデー
タ送信は終る。
このようにして、0PU2がリード動作することで受信
レジスタにデータをライトするということが可能となる
。なお、CPU2はターゲットROMエリアに対してR
OMに対するインターフェース信号しか用意していない
のが普通であるからユーザーRA M 22のエリアに
対してライトすることはできない。CPU2が受信レジ
スタ34にデータをライトすると受信レジスタ34がレ
ジスタフル状態になる。0PU8はバッファ30を介し
て受信レジスタ34のレジスタフルまたはエンプティー
状態を知ることができる。受信レジスタあがフルのとき
CPU8が受信レジスタ34をリードすると、受信レジ
スタ34はエンプティ状態になる。CPU2はバッファ
42全介して受信レジスタ34のフルまたはエンプティ
ー状態を知ることができ、受信レジスタ34がフル状態
のときに次のデータを受信レジスタにライトする場合は
エンプティー状態になるまで待ってからライトする。
次に本発明の主要な動作すなわち、リードコマンド、ラ
イトコマンドについて、説明する。
初めに、操作者はCRTターミナル6を操作し。
必要とするモニタコマンドを入力する。
C!PU8はモニタROM11’eアクセスしシリアル
入出力装置13ヲ介してCRTターミナル6からのター
ゲットシステムに対するモニタコマンドを受取る。CP
U8はこれによりモニタ処理を実行する。
例えば上記コマンドがメモリライトであった場合は次の
ようになる。まずCPU8はライトするアドレスがどこ
のメモリエリアであるかを判断する。
例えばライトするメモリのアドレスがターゲツトシステ
ムのROMエリアであったときは、CPU8はそのアド
レスに相当するユーザー几AM22のエリアにデータを
書き込む。CPU8はライトするアドレスがそれ以外す
なわち、ターゲットシステム1内の他のRAMであった
ときは、送信レジスタ31を介してターゲット・モニタ
・ROM21i実行中のターゲット0PU2にライトコ
マンド51を送出する。0PU8とCPU2と間のデー
タ送受信は先に述べた通りである。
このライトコマンドの形式を含むコマンド形式を第9図
に示す。
ここで、第9図は0PU8とデータ、)CPU2とのデ
ータ送受形式を示す図であって、51はメモリーライト
、52はメモリーリード、53はリードデータ、54は
スター)、55Uブレークのそれぞれコマンドである。
メモリーライト51.メモリーリード52及びスタート
54のコマンドはCPU8からCPU2に送信レジスタ
31ヲ介して送られ1 リードデータ及びブレーク55
のコマンドはCPU2からCPU8へ受信レジスタ34
ヲ介して送られる。本コマンドの送受は0PU2がター
ゲットモニタROMで動作しているとき1行なわれる。
なおターゲ、トモニタROM1′l:本コマンドを処理
するためのプログラムを記憶している。また、このコマ
ンドはモニタコマンドとは異なる。ライトコマンド51
を受信したターゲットCPU2は指定されたアドレス(
このアドレスは前述のように、ユーザーRAM22すな
わち、プログラムROM以外のアドレスである。)に操
作者がCRTターミナル6で指定したデータを書き込む
。モニタコマンドがメモリリードであった場合は次のよ
うになる。まず。
リードするターゲットシステム1内のメモリのアドレス
がターゲツトシステムのROMエリアすなわち、ユーザ
ーFLAM22内であった場合CPU8id7ドレスバ
ス9.セレクタ23を経由し、そのアドレスに相当する
ユーザーRA M 22から当該データをバッファ26
ヲ経由してリードする。リードするアドレスがそれ以外
のアドレスであったときCPU8はデータバス10.送
信レジスタ31.バス20゜バッファ18を介してター
ゲットCPU2にリードコマンド52(第9図参照)を
送出する。リードコマンド52ヲ受信したデータ、)C
PU2はそのアドレスの内容全リードし、1バイト(8
ビツト)のリードデータ53(第9図)全バッファ16
.受信レジスタ34等を介してCPU8に送出する。C
PU8は受信レジスタ34ヲリードしメモリの内容を知
る。このメモリの内容は必要に応じて、CRTターミナ
ル6上に表示することができる。従って。
(、RTターミナル6から入力したコマンドにメモリデ
ィスプレイ等のコマンドがあったときはこのリードデー
タ53(第4図)のリードデータdd(8ビット)がC
RTターミナルに表示される。
なお、デーゲ、 トCPU2の内部レジスタの表示及び
書き替えの操作がCFLTターミナル6から行なわれた
とき、CPU8はモニタワークRAM12の中に設けた
ターゲットCPU2のレジスタ状態傘記憶エリアの内容
を表示又は書き替えを行なう。しかし、このときには実
際のターゲットCPU2のレジスタは変更されない。
つぎに、ターゲットCPU2に任意のアドレスから被試
験プログラム全実行させるような操作がOR,Tイーミ
ナル6から行われたときは次のようになる。なお、以下
の説明は一例として、第6図に示すような、OCR,A
、B、IX、PC及びSPレジスタを有するCPUを一
例とする。以下の説明に関連する第6図、第7図、第1
1図について説明する。
第6図はCPU内レジスタの一例を図示したものであり
、コンディション・コード・レジスタをOCR,アキュ
ムレータレジスタヲA、セコンドアキュムレータレジス
タiBとして、それぞれ8ヒットインア、クスレジスタ
id I X、  プログラムカウンタはPC,スタッ
クポインタはSPで表わし、それぞれ16ビツトのレジ
スタである。
第11図は当該CPUにおけるCPU内レジスタのスタ
ック退避図であり、ひとつの枠内Hlバイトのメモリー
を示し、その左にアドレスを示す。
このCPUは未定義オペレーションコードン329時O
PU内mvジx夕PC,IX、B、A、  及びCC几
レジスタをSPレジスタが示すアドレスからマイナス内
方のアドレスに7バイト退避し、SPレジスタを7減算
する。また、  R,TI(リターンインターラブド)
命令の実行動作はSPレジスタが示すアドレス+1から
+7の7バイトをCPU内vシxタOCR,A、 B、
 IX、 PCVC取す込ミSP レジスタを7加算す
るものとする。
第7図は前述のようにターゲット0PU2にユーザー几
AM内の被試験プログラムを実行開始または実行停止さ
せる場合に関係するターゲットモニタROM21とユー
ザーR,AM22の内容を示した図である。ひとつの枠
は1バイトのメモリー全示しこの枠の中は1バイトのメ
モリーの内容を示す。
マタ枠の左にはメモリーのアドレスを示す。71はRT
I命令、76はJMP(ジャンプ)命令のオペレーショ
ンコード、 74.75はJMPオペレーションコード
76に付随する2バイトのジャンプ先アドレスでこのア
ドレスはターゲットモニタgoht2i内の被試験プロ
グラムの停止処理を行なう処理ルーチンの先頭アドレス
となる。72.73は、未定義オペレーションコードフ
ェッチ時の2バイトのトラップベクタ(飛び先アドレス
)几T1命令71とJMP命令76はターゲットシステ
ムに接続するエリアをターゲットモニタROM 21か
らユーザーRAM22に、また、その逆に切り替えるた
めのアト順にターゲットシステム1のメモリ(?−−ザ
ーRA M 22ではない)に先に説明したライトコマ
ンドを使用する手順で書き込む。(第11図参照)この
ときのPCレジスタは前述のようにCIRTターミナル
6から入力された任意に指定された被試験プログラムの
実行開始アドレスである。次にCPU8は送信レジスタ
31ヲ介してターゲラ)CPU2にスタートコマンド5
4(第9図)?送出する。スタートコマンド54を受信
したターゲットCPU2はスタートコマンドで指定され
る値をCPU2のSPレジスタにセットした後、CPU
2はレジスタ35にセットされている(直のアドレスす
なわち。
FFEBにジャンプする。このとき、ジャンプ先のアド
レスFFEBは第7図のようにターゲット・モニタ・R
OM21内を示しており、そこに第7図のように几TI
命令71が書き込まれている。ターゲラ)CPU2がR
TI命令71ヲフエッチすると。
レジスタ35からのアドレスとCPU2がらのアドレス
が一致するため、比較回路36からターゲット・モニタ
・ROM21.ユーザーRA M 22の切り替え要求
信号37が出力される。この切り替え要求信号37によ
りフリップフロップ38の出方が反転し。
この反転出力はセレクタ23全CPU8側がらCPU2
側へ切り替え、バッファ26を禁止、バッファ2フ全有
効とし、更にターゲットモニタROM21(7)出力を
停止する。そして、ターゲットCPU2がアクセスする
メモリはユーザーRA M 22に切り替わる。次にタ
ーゲットCPU2がRTI命令71(第7図)を実行す
ると、CPU2同において。
SPレジスタの示すエリアからOCR,A、  B。
IX、PCレジスタのデータを0PU2に取り込み、そ
のあとPCレジスタが示すアドレスにジャンプする。前
述のようにPCレジスタは、任意に指示されたプログラ
ムの実行アドレスである。したがって以上の手順により
任意の値をターゲットCPU2のレジスタにセットし、
任意のプログラムアドレスから実行を開始する。
次にタープ、 トCPU2の実行を途中で停止(ブレー
ク)させる場合の手順について説明する。
ターゲットCPU2のプログラム実行全途中でブー−)
に0PU2 RA M 22のオペレーションコードトラップベクタ
72、73 (第7図)にはレジスタ35にセットされ
ているアドレスすなわち、FFEBを上位、下位8ピツ
トづつ2つに分は書き込んでおく。また、このアドレス
の内容76(第7図)にはJ U M P命令のオペレ
ーションコードを書き込んでおく。未定義命令、トラッ
プペクタ及びJUMPオペレーションコードの書き込み
方法は先に説明したメモリライト手順によって行なう。
次にターゲ、トCPツチすると、  CPU2の内部レ
ジスタをSPレジスタで示されるCPU2のRA M内
のスタックに退避したあと、ユーザーRAM22のトラ
ップペクタ72.73の指すアドレスにジャンプする。
ジャンプ先のアドレスFFEBO内gkリードするとレ
ジスタ35のアドレスFFEBと一致し、比較回路36
よりターゲット・モニタ・Ft、0M21.  ユーザ
ーKAM22切り替え信号が出力され、フリップフロッ
プ38が反転し、ターゲラ)CPU2のアクセスするメ
モリはユーザーRAM22からターゲット・モニタ・R
OM21に切り替わる。CPU2がリードした内容U 
J U M Pのオペレーションコードであるから、タ
ーゲラ)CPU2は次に2バイトのジャンプアドレスを
リードする。このジャンプアドレスはターゲットモニタ
R,0M21の中のレジスタ35にセットされているア
ドレス+1と+2の中にJU M P先74.75(第
7図)が書き込んである。このジャンプ先はターゲット
・モニタ・几0M21内のブレーク処理の先頭アドレス
である。ブレーク処理はそのときのタープ、)CPU2
のSPレジスタの内容を読み取り、受信レジスタ34ヲ
介してCPU8にブレークコマンド55ヲ送出する。
ブレークコマンド55は先に説明したように第9図に示
すような形式となっている。
ブレークコマンドを受信したCPU8はブレークコマン
ド55内のアドレス値から+6までの7バイトの内容を
先に示したメモIJ IJ−ド手順に従ってリードし、
ワーク几AM12内に設けたCPUレジスタ状態記憶エ
リアに記憶し、SPレジスタにはブレークマント内アド
レスに+7加算した値を記憶する。上記の手順により0
PU8はターゲット0PU2がプログラムを途中で停止
したときのるCPUが変わっても同一・・−ドウエアと
若干のソフトウェアの変更で数多くのCPUに対応可能
でかつCPUの内部レジスタのモニタ及び任意アドレス
からの実行及び任意アドレスでの停止が可能となる。ま
た従来のRO?’vlに置き替えるだけの方式では不可
能であったターゲラトンステムの全メモリー空間のリー
ド/ライトが可能である等。
非常に優れた効果を有する。
【図面の簡単な説明】
第1図は本発明を示すブロック図、第2図は本発明の機
能を示すブロック図、第3図は本発明装置の使用状態の
斜視図、第4図は本発明の一実施例を示すブロック図、
第5図は本発明を説明するためのメモリマツプを示す図
、第6図は本発明の一実施例におけるCPUの内部レジ
スタを示す図。 第7図は本発明の一実施例におけるメモリの内容を示す
図、第8図は本発明の一実施例におけるレジスタの内容
を示す図、第9図は本発明の一実施例におけるコマンド
説明図、第10図は本発明の一実施例におけるターゲッ
ト・モニタ・プログラムの一例を示すフローチャート、
第11図は本発明の一実施例におけるCPU内部レジス
タのスタック退避を示す図。 1:ターゲットシステム、2:ターゲットシステムのC
PU、3:ターゲットシステムのROM。 4:開発装置、5:コネクタ、6:CRTターミナル、
100:制御手段、21:ターゲット・モニタ・ROM
、22:ユーザーRAM、31:送信レジスタ。 34:受信レジスタ、 32.35. 39:レジスタ
、26゜33、40 :比較回路。 第1図 し−+      ++++−+−−J第3図 3′ 第5図 第6図     第11図 第7図 第8図 LV276ヨ逆ト” 第9図

Claims (1)

    【特許請求の範囲】
  1. マイクロプロセッサを有するターゲットシステムを動作
    させるための被試験プログラムを記憶するエリアと、前
    記ターゲットシステムのマイクロプロセッサの制御及び
    ターゲットシステムとのデータの送受信を行うレジスタ
    用のエリアと前記ターゲットシステムからのデータ送出
    をターゲットマイクロプセッサがメモリーをアクセスす
    る動作とアクセスするメモリーアドレスの違いにより行
    うようターゲットマイクロプロセッサを制御するターゲ
    ットモニタプログラム及びそのエリアより成るターゲッ
    トモニタエリアと、前記ターゲットモニタエリアと前記
    被試験プログラムを記憶したエリアをコマンドの種類に
    応じて選択的にターゲットシステムのマイクロプロセッ
    サに接続する手段と、前記ターゲットシステムとのデー
    タのインプットアウトプットを行うための送信レジスタ
    と受信レジスタとを有することを特徴とするマイクロコ
    ンピュータ応用機器の開発装置。
JP61171639A 1986-07-23 1986-07-23 マイクロコンピユ−タ応用機器の開発装置 Pending JPS6329852A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61171639A JPS6329852A (ja) 1986-07-23 1986-07-23 マイクロコンピユ−タ応用機器の開発装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61171639A JPS6329852A (ja) 1986-07-23 1986-07-23 マイクロコンピユ−タ応用機器の開発装置

Publications (1)

Publication Number Publication Date
JPS6329852A true JPS6329852A (ja) 1988-02-08

Family

ID=15926931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61171639A Pending JPS6329852A (ja) 1986-07-23 1986-07-23 マイクロコンピユ−タ応用機器の開発装置

Country Status (1)

Country Link
JP (1) JPS6329852A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01298445A (ja) * 1988-05-27 1989-12-01 Nec Corp Romエミューレーションによるソフトウェア開発支援装置
JPH02144733A (ja) * 1988-11-28 1990-06-04 Yokogawa Electric Corp インサーキットエミュレータ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01298445A (ja) * 1988-05-27 1989-12-01 Nec Corp Romエミューレーションによるソフトウェア開発支援装置
JPH02144733A (ja) * 1988-11-28 1990-06-04 Yokogawa Electric Corp インサーキットエミュレータ

Similar Documents

Publication Publication Date Title
US5038348A (en) Apparatus for debugging a data flow program
US5265005A (en) Processor for a programmable controller
JP2772604B2 (ja) データ処理システム
EP0267613B1 (en) Micro processor capable of being connected with coprocessor
US5212631A (en) Programmable controller processor module having multiple program instruction execution sections
US5125097A (en) Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path
JPS6329852A (ja) マイクロコンピユ−タ応用機器の開発装置
JPS62164299A (ja) マイクロコンピユ−タ装置
JP3328867B2 (ja) マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
JPS62103738A (ja) プログラマブルコントロ−ラ
EP0280890B1 (en) System and method for detecting the execution of an instruction in a central processing unit
JPH0259829A (ja) マイクロコンピュータ
JPS63180139A (ja) プログラム評価用マイクロコンピユ−タ
JPH0520773B2 (ja)
JPS59167764A (ja) メモリアクセス方式
JP2000122892A (ja) エミュレータ装置
JPH0312747A (ja) マイクロプロセッサ診断方式
JPH0587850B2 (ja)
JPS629939B2 (ja)
JPS59167766A (ja) メモリアクセス方式
JPH049344B2 (ja)
JPH0659934A (ja) プログラム評価用マイコン
JPS6129949A (ja) マイクロプロセツサ保守方式
JPS6111856A (ja) デイジタル制御装置の演算方法