JPS63208132A - In-circuit emulator - Google Patents

In-circuit emulator

Info

Publication number
JPS63208132A
JPS63208132A JP62041686A JP4168687A JPS63208132A JP S63208132 A JPS63208132 A JP S63208132A JP 62041686 A JP62041686 A JP 62041686A JP 4168687 A JP4168687 A JP 4168687A JP S63208132 A JPS63208132 A JP S63208132A
Authority
JP
Japan
Prior art keywords
memory
cpu
control flag
target
step operation
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
JP62041686A
Other languages
Japanese (ja)
Inventor
Kimio Ogino
荻野 公男
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP62041686A priority Critical patent/JPS63208132A/en
Publication of JPS63208132A publication Critical patent/JPS63208132A/en
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PURPOSE:To inhibit an internal interruption in the course of a step operation by masking an interruption control flag in a status register of a saved target CPU, by a system CPU. CONSTITUTION:At the time of executing a step operation, first of all, an interruption control flag in status register information of a target CPU 11 saved already in a bidirectional memory 6 is further saved in a system memory 3 by a system CPU 1. Subsequently, under the control of the target CPU 11, an instruction code to be executed is stored in the bidirectional memory 6 from a target memory 12. Moreover, by the system CPU 1, this instruction code is saved to the system memory 3 from the memory 6. Thereafter, the interruption control flag stored in the bidirectional memory 6 is masked by the system CPU 1, and a step operation to which an interruption is inhibited is executed by a monitor program 7.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、マイクロプロセッサの動作を解析することの
できるインサーキット・エミュレータに関し、詳しくは
、内部割り込みを発生するターゲット・マイクロプロセ
ッサをインサーキット・工ミュレータによりシングルス
テップで動作させる場合における割り込みの制御機能に
関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an in-circuit emulator that can analyze the operation of a microprocessor. This invention relates to an interrupt control function when operating in a single step using a simulator.

[従来の技術] マイクロプロセッサの中央処理装置(CPU)が内部割
り込みを発生する場合、それをハードウェア的手法によ
って外部よりマスクすることはできない。このため、こ
のCPUにインサーキット・エミュレータを接続してシ
ングルステップ動作を行わせる場合、ステップ中に割り
込みが発生すると本来ステップ動作を行わせたくないプ
ログラム(すなわち割り込み処理:例えばタイマー割り
込み等のような短い間隔で入る割り込み等)へステップ
動作が移行してしまう。
[Prior Art] When a central processing unit (CPU) of a microprocessor generates an internal interrupt, it cannot be masked from the outside using hardware techniques. Therefore, when an in-circuit emulator is connected to this CPU to perform single-step operation, if an interrupt occurs during a step, a program that does not originally want to perform step operation (i.e., interrupt processing: for example, a timer interrupt, etc.) (interrupts that occur at short intervals, etc.) cause the step operation to shift to interrupts that occur at short intervals.

このため、この内部割り込みをマスクするために被デバ
ツグプログラムを変更する(一時的に内部割り込みが発
生しないようにプログラムする)等の工夫が必要であっ
た。
Therefore, in order to mask this internal interrupt, it was necessary to take measures such as changing the program to be debugged (programming it so that internal interrupts do not occur temporarily).

本発明は、このような点に鑑みてなされたもので、イン
サーキット・エミュレータにおいて被デバツグプログラ
ムを一切変更することなくステップ動作中に内部割り込
みを禁止できるようにした割り込み制御機能を有するイ
ンサーキット・エミュレータを提供することにある。
The present invention has been made in view of these points, and is an in-circuit emulator having an interrupt control function that enables internal interrupts to be disabled during step operation without changing the debugged program at all.・The purpose is to provide an emulator.

[問題点を解決するための手段] このような目的を達成するために、本発明は、システム
CPUがアクセス可能なシステムメモリと、システムC
PUおよびターゲットCPUがアクセス可能な双方向メ
モリを備え、システムCPUがステップ動作を実行する
とき、以下の手原により動作するようにしたことを特徴
とする。
[Means for Solving the Problems] In order to achieve such an object, the present invention provides a system memory that can be accessed by the system CPU, and a system memory that is accessible by the system CPU.
The present invention is characterized in that it includes a bidirectional memory that can be accessed by the PU and the target CPU, and when the system CPU executes a step operation, it operates according to the following procedure.

■ターゲットCPUのステータスレジスタ情報を予め双
方向メモリに退避しておく。
■Save the status register information of the target CPU in the bidirectional memory in advance.

■システムCPUは、双方向メモリから退避ステータス
レジスタ中の割り込み制御フラグをシステムメモリへ更
に退避する。
(2) The system CPU further saves the interrupt control flag in the save status register from the bidirectional memory to the system memory.

■システムCPUはモニタプログラムに対して実際にス
テップ動作を実行する命令コードを取得させる。
(2) The system CPU causes the monitor program to obtain an instruction code for actually executing a step operation.

■モニタプログラムはターゲットCPUの制御下でター
ゲットメモリより命令コードを得、これを双方向メモリ
へ格納する。
(2) The monitor program obtains an instruction code from the target memory under the control of the target CPU and stores it in the bidirectional memory.

■システムCPUは双方向メモリに格納されている命令
コードを参照しシステムメモリへ退避させる。
(2) The system CPU refers to the instruction code stored in the bidirectional memory and saves it to the system memory.

0次にシステムCPUは双方向メモリに格納されている
ステータスレジスタの割り込み制御フラグをマスクし、
モニタプログラムに対し通常のステップ動作を指示する
0 Next, the system CPU masks the interrupt control flag of the status register stored in the bidirectional memory,
Instructs the monitor program to perform normal step operations.

■割り込み制御フラグがマスクされる以前は解除状態で
かつ割り込み制御フラグに影響を与えない命令を実行し
たときのみ割り込み制御フラグを非マスク状態に変更す
る。
■The interrupt control flag is in the canceled state before it is masked, and the interrupt control flag is changed to the unmasked state only when an instruction that does not affect the interrupt control flag is executed.

[作用コ 本発明では、ステップ動作実行直前のステータスレジス
タ中の割り込み制御フラグを退避させ、ステップ動作を
実行する当該命令を先取りし退避する。続いてシステム
CPUにより、退避された割り込み制御フラグをマスク
し、モニタプログラムを起動してステップ動作を実行さ
せる。
[Operations] In the present invention, the interrupt control flag in the status register immediately before the execution of a step operation is saved, and the relevant instruction for executing the step operation is prefetched and saved. Subsequently, the system CPU masks the saved interrupt control flag, starts the monitor program, and executes the step operation.

マスクされた割り込み制御フラグが、マスクされる以前
は解除状態でかつ割り込み制御フラグに影響を与えない
命令を実行したときのみ割り込み制御フラグを非マスク
状態に変更する。
The masked interrupt control flag is in a released state before being masked, and the interrupt control flag is changed to a non-masked state only when an instruction that does not affect the interrupt control flag is executed.

このようにして、ターゲットシステムの被デバツグプロ
グラムを一切変更することなくステップ動作中に内部割
り込みを禁止することができる。
In this way, internal interrupts can be inhibited during step operations without changing the debugged program of the target system at all.

[実施例] 以下図面を参照して本発明を実施例につき詳細に説明す
る。第1図は本発明に係るインサーキット・エミュレー
タの要部構成図である。図において、Aはエミュレータ
本体側、Bはターゲットシステムを示す。
[Example] The present invention will be described in detail below by way of example with reference to the drawings. FIG. 1 is a block diagram of the main parts of an in-circuit emulator according to the present invention. In the figure, A indicates the emulator main body side, and B indicates the target system.

エミュレータ本体側Aにおいて、1はシステムCPU、
2はシステムバス、3はシステムメモリ、4はバスコン
トローラ、5は制御回路、6は双方向メモリ、7はモニ
タプログラムが格納されたメモリ、8はバスマルチプレ
クサである。
On the emulator main body side A, 1 is the system CPU;
2 is a system bus, 3 is a system memory, 4 is a bus controller, 5 is a control circuit, 6 is a bidirectional memory, 7 is a memory in which a monitor program is stored, and 8 is a bus multiplexer.

ターゲットシステムBにおいて、9.10はバス、11
はターゲットCPU、12はターゲットメモリ、13は
ターゲット■/○(Iloは人出力装置)である。
In target system B, 9.10 is the bus, 11
is a target CPU, 12 is a target memory, and 13 is a target ■/○ (Ilo is a human output device).

制御回路5は、システムCPUIまたはターゲットCP
UIIよりバス2または9を経由して与えられる制御情
報に従ってバスコントローラ4およびバスマルチプレク
サ8をそれぞれ$り御する。
The control circuit 5 uses the system CPUI or the target CP
The bus controller 4 and the bus multiplexer 8 are controlled in accordance with control information given from the UII via the bus 2 or 9, respectively.

バスコントローラ4は、メモリの制御権をシステムCP
UIかターゲットCPUI 1のいずれか一方に切り換
え、メモリアクセスを可能にするための制御を行う。
The bus controller 4 transfers control of the memory to the system CP.
Switch to either the UI or target CPU 1 and perform control to enable memory access.

バスマルチプレクサ8はシステムバス2の接続をバス9
かバス1oかに切り換えるためのものである。
Bus multiplexer 8 connects system bus 2 to bus 9.
This is for switching between bus 1o and bus 1o.

このような構成における動作を第2図の動作フローを参
照して次に説明する。なお、システムCPUIまたはタ
ーゲットCPUI 1がメモリをアクセスするときは、
!制御回路5に情報を与えてバスコントローラ4および
バスマルチプレクサ8を適宜制御する必要があるが、そ
のような制御動作は公知でもあり、特にここでは逐一説
明しないことにする。
The operation in such a configuration will be explained next with reference to the operation flow shown in FIG. Note that when the system CPUI or target CPUI 1 accesses memory,
! Although it is necessary to provide information to the control circuit 5 to appropriately control the bus controller 4 and bus multiplexer 8, such control operations are well known and will not be explained in detail here.

ターゲットシステムBのターゲットCPUI 1は、予
めモニタプログラム7の制御によってそのステータスレ
ジスタ情報を双方向メモリ6へ退避している。
The target CPU 1 of the target system B saves its status register information to the bidirectional memory 6 under the control of the monitor program 7 in advance.

システムCPUIは、ステップ動作を実行することを認
識したならば、まずステップ動作中の割り込み禁止かど
うかを判断し、割り込み禁止でない場合はそのままステ
ップ動作を実行し1割り込み禁止の場合は次の動作を行
う。
When the system CPU recognizes that a step operation is to be executed, it first determines whether or not interrupts are disabled during the step operation.If interrupts are not disabled, the step operation is executed as is.If 1 interrupt is disabled, the next operation is executed. conduct.

双方向メモリ6に既に退避しであるステータスレジスタ
中の割り込み制御フラグをシステムメモリ3へ更に退避
する。
The interrupt control flag in the status register, which has already been saved in the bidirectional memory 6, is further saved in the system memory 3.

次にメモリ7のモニタプログラムに対して、実際にステ
ップ動作を実行する命令コードを取得することを指令す
る。これによってモニタプログラムはターゲットCPU
I 1の制御の下でターゲットメモリ12より命令コー
ドを得て、これを双方向メモリ6へ格納する。この後シ
ステムCPUIは、双方向メモリ6よりこの命令コード
を参照しシステムメモリ3へ退避させる。
Next, the monitor program in the memory 7 is instructed to obtain an instruction code for actually executing a step operation. This allows the monitor program to
An instruction code is obtained from the target memory 12 under the control of I1 and stored in the bidirectional memory 6. Thereafter, the system CPUI refers to this instruction code from the bidirectional memory 6 and saves it to the system memory 3.

これらの一連のプロセスが終了した後、システムCPU
Iは双方向メモリ6に格納されているステータスレジス
タの割り込み制御フラグをマスクし、モニタプログラム
に対し通常のステップ実行を指示する。これによって割
り込みが禁止されたステップ実行が行われる。
After these series of processes are finished, the system CPU
I masks the interrupt control flag of the status register stored in the bidirectional memory 6 and instructs the monitor program to perform normal step execution. This performs step execution with interrupts disabled.

次にマスクされた割り込み制御フラグの復帰について述
べる。
Next, the restoration of the masked interrupt control flag will be described.

ステップ動作を実行した命令によって割り込み$II御
フラフラグ自身響を受ける場合があるため、割り込み制
御フラグの復帰についてはそれぞれ次のように行われる
Since the interrupt $II control flag itself may be affected by the instruction that executed the step operation, the interrupt control flag is restored as follows.

■割り込み制御フラグをマスクする以前に既にマスクさ
れている状態。
■A state in which the interrupt control flag is already masked before it is masked.

■割り込み制御フラグのマスクを解除または設定する命
令をステップ実行した場合。
■When an instruction to unmask or set the interrupt control flag is executed step by step.

この2つの場合では、割り込み制御フラグを復帰させる
必要はなく、このままステップ実行の一連の動作を終了
させる。
In these two cases, there is no need to restore the interrupt control flag, and the series of step execution operations ends as is.

■割り込み$11御フラグがマスクされる以前は解除状
W!A(マスクされていない)で、かつ割り込み制御フ
ラグに全く影響を与えない命令を実行した場合。
■Before the interrupt $11 control flag is masked, the release status is W! A (not masked) and an instruction that does not affect the interrupt control flag at all is executed.

この場合のみにおいて、割り込み制御フラグを非マスク
状態に変更する。これによって、マスクの復帰が行われ
たと同等の結果が得られる。
Only in this case will the interrupt control flag be changed to a non-masked state. This provides the same result as if the mask had been restored.

以上のようにして、ステップ実行時の割り込み禁止が実
現される。
In the manner described above, interrupt prohibition during step execution is achieved.

[発明の効果コ 以上詳細に説明したように、内部割り込みを発生するマ
イクロプロセッサに対しインサーキット・エミュレータ
によってステップ動作を行わせる場合、従来の場合は予
め被デバツグプログラムを変更し内部割り込みが発生し
ないようにする手続きが必要であったが1本発明によれ
ば被デバツグプログラムを一切変更することなく内部割
り込みを禁止しながらステップ動作を行わせることがで
きる。
[Effects of the Invention] As explained in detail above, when a microprocessor that generates internal interrupts is caused to perform a step operation using an in-circuit emulator, in the conventional case, the program to be debugged must be changed in advance to generate internal interrupts. However, according to the present invention, step operations can be performed while inhibiting internal interrupts without changing the debugged program at all.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明に係るインサーキット・エミュレータの
一実施例を示す要部構成図、第2図は動作を説明するた
めの動作フローである。 1・・・システムCPU、2・・・システムバス、3・
・・システムメモリ、4・・・バスコントローラ、5・
・・制御回路、6・・・双方向メモリ、7・・・メモリ
、8・・・バスマルチプレクサ、11・・・ターゲット
CPU、12・・・ターゲットメモリ、13・・・ター
ゲットI 10゜第1図
FIG. 1 is a block diagram of main parts showing an embodiment of an in-circuit emulator according to the present invention, and FIG. 2 is an operational flow for explaining the operation. 1... System CPU, 2... System bus, 3...
...System memory, 4...Bus controller, 5.
...Control circuit, 6...Bidirectional memory, 7...Memory, 8...Bus multiplexer, 11...Target CPU, 12...Target memory, 13...Target I 10° 1st figure

Claims (1)

【特許請求の範囲】 インサーキット・エミュレータにおいて、 システムCPUがアクセス可能なシステムメモリと、シ
ステムCPUおよびターゲットCPUがアクセス可能な
双方向メモリを備え、システムCPUがステップ動作を
実行するとき、以下の手順により動作するようにしてス
テップ動作実行時の割り込み禁止を実現するようにした
ことを特徴とするインサーキット・エミュレータ。 (1)ターゲットCPUのステータスレジスタ情報を予
め双方向メモリに退避しておく。 (2)システムCPUは、双方向メモリから退避ステー
タスレジスタ中の割り込み制御フラグをシステムメモリ
へ更に退避する。 (3)システムCPUはモニタプログラムに対して実際
にステップ動作を実行する命令コードを取得させる。 (4)モニタプログラムはターゲットCPUの制御下で
ターゲットメモリより命令コードを得、これを双方向メ
モリへ格納する。 (5)システムCPUは双方向メモリに格納されている
命令コードを参照しシステムメモリへ退避させる。 (6)次にシステムCPUは双方向メモリに格納されて
いるステータスレジスタの割り込み制御フラグをマスク
し、モニタプログラムに対し通常のステップ動作を指示
する。 (7)割り込み制御フラグがマスクされる以前は解除状
態でかつ割り込み制御フラグに影響を与えない命令を実
行したときのみ割り込み制御フラグを非マスク状態に変
更する。
[Claims] An in-circuit emulator is provided with a system memory that can be accessed by a system CPU, and a bidirectional memory that can be accessed by the system CPU and a target CPU, and when the system CPU executes a step operation, the following steps are performed. An in-circuit emulator characterized in that the in-circuit emulator is operated by disabling interrupts when executing a step operation. (1) Save the status register information of the target CPU in the bidirectional memory in advance. (2) The system CPU further saves the interrupt control flag in the save status register from the bidirectional memory to the system memory. (3) The system CPU causes the monitor program to obtain an instruction code for actually executing a step operation. (4) The monitor program obtains an instruction code from the target memory under the control of the target CPU and stores it in the bidirectional memory. (5) The system CPU refers to the instruction code stored in the bidirectional memory and saves it to the system memory. (6) Next, the system CPU masks the interrupt control flag of the status register stored in the bidirectional memory and instructs the monitor program to perform normal step operation. (7) Before the interrupt control flag is masked, it is in the canceled state, and the interrupt control flag is changed to the unmasked state only when an instruction that does not affect the interrupt control flag is executed.
JP62041686A 1987-02-25 1987-02-25 In-circuit emulator Pending JPS63208132A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62041686A JPS63208132A (en) 1987-02-25 1987-02-25 In-circuit emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62041686A JPS63208132A (en) 1987-02-25 1987-02-25 In-circuit emulator

Publications (1)

Publication Number Publication Date
JPS63208132A true JPS63208132A (en) 1988-08-29

Family

ID=12615307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62041686A Pending JPS63208132A (en) 1987-02-25 1987-02-25 In-circuit emulator

Country Status (1)

Country Link
JP (1) JPS63208132A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043754A (en) * 1983-08-19 1985-03-08 Anritsu Corp Emulator
JPS60124746A (en) * 1983-12-09 1985-07-03 Fujitsu Ltd Data processing unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043754A (en) * 1983-08-19 1985-03-08 Anritsu Corp Emulator
JPS60124746A (en) * 1983-12-09 1985-07-03 Fujitsu Ltd Data processing unit

Similar Documents

Publication Publication Date Title
JP2655615B2 (en) Information processing device
JPS63208132A (en) In-circuit emulator
JP3209144B2 (en) Microprocessor
JP3449812B2 (en) Control electronics
JP3231505B2 (en) MPU emulator device
JP2653411B2 (en) How to set breakpoints
JPS63236142A (en) Software monitoring device
JPS62177639A (en) Debugging device
JPH04288634A (en) One-chip microcomputer
KR100672550B1 (en) Method for processing multiple interrupt
JPS61241843A (en) Information processor
JPS60164850A (en) Stopping system of instruction executing operation in processor
JPS5848154A (en) One-step control system for program
JPH036758A (en) Microprocessor
JPH04112341A (en) Microcomputer lsi
JP2000040015A (en) In-circuit emulator
JPS6143347A (en) Simulation method of vector instruction
JPH0433135A (en) Program system for debugging
JP2000330798A (en) Interrupt controller and method for verifying interrupt control
JPS62162104A (en) Flow chart type programmable controller
JPH07129435A (en) Processor with runaway monitoring function
JPH02287840A (en) Microprocessor
JPH01236334A (en) In-circuit emulator device
JPH01120634A (en) Interruption controller
JPH0293964A (en) Test system for data processor