JPH11238004A - System simulator - Google Patents

System simulator

Info

Publication number
JPH11238004A
JPH11238004A JP10055970A JP5597098A JPH11238004A JP H11238004 A JPH11238004 A JP H11238004A JP 10055970 A JP10055970 A JP 10055970A JP 5597098 A JP5597098 A JP 5597098A JP H11238004 A JPH11238004 A JP H11238004A
Authority
JP
Japan
Prior art keywords
simulator
cpu
target
framework
instruction
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
JP10055970A
Other languages
Japanese (ja)
Inventor
Mitsuo Ando
光男 安藤
Kunihiro Akiyoshi
邦洋 秋吉
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP10055970A priority Critical patent/JPH11238004A/en
Publication of JPH11238004A publication Critical patent/JPH11238004A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a system simulator constructing a simulation environment on a frame work. SOLUTION: A system simulator 1 is provided with a CPU simulator 3 simulating target CPU, an input/output I/O simulator 4 simulating a target input/ output device and a frame work 5 connecting the CPU simulator 3 and the input/output I/O simulator 4 with object communication are provided. A simulation environment which can execute a target program 2 by a host CPU system can be constructed on the frame work 5 directing the object by transferring respective instruction codes with object communication. The environment of the development of firmware and the development of the CPU system can be improved, firmware and the CPU system can easily and speedily be developed. Then, speedy development can be executed in the CPU system of the different input/output device with the free combination of the objects.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、システムシミュレ
ータに関し、詳細には、フレームワーク上でシミュレー
ション環境を構築するシステムシミュレータに関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a system simulator, and more particularly, to a system simulator for constructing a simulation environment on a framework.

【0002】[0002]

【従来の技術】CPU(Central Processing Unit )や
DSP(Digital Signal Processor)等のプロセッサを
含むCPUシステム及びこのCPUシステム用のプログ
ラムの開発においては、実際のCPUシステム(以下、
ターゲットCPUシステムという。)の完成前に、当該
ターゲットCPUシステム用に開発されたプログラム
(以下、ターゲットプログラムという。)を、ターゲッ
トCPUシステムとは別のCPUシステム(以下、ホス
トCPUシステムという。)で、ターゲットCPUシス
テムと模擬的に動作させるシミュレータを用いて、デバ
ッグしたり、性能評価を行うことが行われている。
2. Description of the Related Art In developing a CPU system including a processor such as a CPU (Central Processing Unit) and a DSP (Digital Signal Processor) and a program for the CPU system, an actual CPU system (hereinafter, referred to as a CPU system) will be described.
It is called a target CPU system. Before completion of the target CPU system, a program developed for the target CPU system (hereinafter, referred to as a target program) is transferred to a target CPU system by a different CPU system (hereinafter, referred to as a host CPU system) from the target CPU system. 2. Description of the Related Art Debugging and performance evaluation are performed using a simulator that operates simulated.

【0003】このようなシミュレータとしては、従来、
例えば、ファイルに保存する状態情報を少なくしてもタ
ーゲットプログラムを同一の地点から再実行可能とした
CPUシミュレータ(特開平8−185341号公報参
照)、ターゲットプログラムのマシン語レベルの命令コ
ードの解釈、ホストCPUの命令コードへの変換を前段
階でまとめて行って、シミュレーション実行時にターゲ
ットプログラムのマシン語レベルの命令の解釈を不要と
して、シミュレーションの高速化を図ったCPUシミュ
レーション方法及びCPUシミュレータ(特開平6−2
02903号公報参照)、ワークステーション上で複数
のシミュレータを独立に動作させて、CPU単体の処理
のシミュレーションとCPU間の通信処理のシミュレー
ションを同時に行うマルチプロセッサシミュレーション
装置(特開平7−281925号公報参照)及び複数個
のCPUの動作を並行してシミュレートするとともに各
CPU相互の関係動作についてもシミュレートするシミ
ュレーションシステム(特開平5−35534号公報参
照)等が提案されている。
[0003] As such a simulator, conventionally,
For example, a CPU simulator capable of re-executing a target program from the same point even if the state information stored in the file is reduced (see Japanese Patent Application Laid-Open No. HEI 8-185341), interpreting machine language-level instruction codes of the target program, A CPU simulation method and a CPU simulator that speed up the simulation by converting the instruction code of the host CPU into instruction codes at a previous stage so as to eliminate the need to interpret a machine language level instruction of the target program at the time of executing the simulation (Japanese Patent Laid-Open Publication No. 6-2
Japanese Patent Application Laid-Open No. 7-281925), a plurality of simulators are independently operated on a workstation to simultaneously simulate processing of a single CPU and simulation of communication processing between CPUs. ) And a simulation system that simulates the operation of a plurality of CPUs in parallel and also simulates the operation of each CPU (see Japanese Patent Application Laid-Open No. 5-35534).

【0004】すなわち、上記各シミュレータは、ターゲ
ットマシンのシミュレータのようにターゲットCPUと
入出力装置をシミュレーションするものはあっても、タ
ーゲットマシン語翻訳処理やターゲットプログラムを、
別に管理しており、また、CPUシミュレータのよう
に、ターゲットCPUシミュレータ、ターゲットマシン
語翻訳処理及びターゲットプログラムを別々に管理して
いる。
That is, each of the above simulators simulates a target CPU and an input / output device like a simulator of a target machine, but performs a target machine language translation process and a target program.
They are managed separately, and like a CPU simulator, a target CPU simulator, a target machine language translation process, and a target program are separately managed.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、このよ
うな従来のシミュレータにあっては、ターゲットCPU
システム、ターゲットマシン語翻訳処理及びターゲット
プログラムを別々に管理しているため、CPUやDSP
及び入出力装置を含めたCPUシステムの開発に時間が
かかるとともに、汎用性がなく、また、ターゲットCP
U専用のシミュレータを開発する必要があり、迅速な開
発を行う上で、改良の必要があった。
However, such a conventional simulator does not have a target CPU.
Since the system, target machine language translation processing, and target program are managed separately, CPU and DSP
It takes time to develop the CPU system including the I / O device and the input / output device.
It was necessary to develop a U-dedicated simulator, and there was a need for improvement in rapid development.

【0006】そこで、請求項1記載の発明は、ターゲッ
トプログラムをホストCPUシステムで実行可能なシミ
ュレーション環境を、各命令コードをオブジェクト通信
で授受することで、オブジェクト指向のフレームワーク
上に構築することにより、ファームウエアの開発やCP
Uシステムの開発の環境を向上させて、簡単、かつ、迅
速なファームウエアやCPUシステムの開発を可能とす
るとともに、オブジェクトの自由な組み合わせにより異
なる入出力装置のCPUシステムにおいても迅速な開発
を行うことのできるシステムシミュレータを提供するこ
とを目的としている。
Therefore, the first aspect of the present invention is to construct a simulation environment in which a target program can be executed by a host CPU system on an object-oriented framework by exchanging each instruction code by object communication. , Firmware development and CP
Improving the development environment of the U system, enabling simple and quick development of firmware and CPU systems, and rapid development of CPU systems of different input / output devices by freely combining objects. The purpose of the present invention is to provide a system simulator capable of performing such operations.

【0007】請求項2記載の発明は、システムシミュレ
ータを、ターゲットCPUを模擬するCPUシミュレー
タと、ターゲット入出力装置を模擬するI/Oシミュレ
ータと、CPUシミュレータ及びI/Oシミュレータを
オブジェクト通信で連結するフレームワーク処理手段
と、を備えたものとすることにより、入出力装置を備え
たCPUシステムにおいても迅速な開発を行うことので
きるシステムシミュレータを提供することを目的として
いる。
According to a second aspect of the present invention, a system simulator connects a CPU simulator that simulates a target CPU, an I / O simulator that simulates a target input / output device, and a CPU simulator and an I / O simulator by object communication. It is an object of the present invention to provide a system simulator capable of rapidly developing even a CPU system having an input / output device by including a framework processing means.

【0008】請求項3記載の発明は、システムシミュレ
ータを、複数のターゲットCPUシステムを模擬する複
数のシステムシミュレータと、複数のシステムシミュレ
ータを起動するとともに、複数のシステムシミュレータ
相互間の関係を定義するフレームワーク処理手段と、を
備えたものとすることにより、複数のシステムシミュレ
ータを連係して動作させて適切にシミュレートし、複数
のCPUシステムで構成されるターゲットCPUシステ
ムを簡単、かつ、迅速に開発することのできるシステム
シミュレータを提供することを目的としている。
According to a third aspect of the present invention, a system simulator includes a plurality of system simulators for simulating a plurality of target CPU systems, a plurality of system simulators, and a frame for defining a relationship between the plurality of system simulators. And a work processing means, whereby a plurality of system simulators are operated in cooperation to appropriately simulate, and a target CPU system composed of a plurality of CPU systems is simply and quickly developed. It is an object of the present invention to provide a system simulator capable of performing such operations.

【0009】請求項4記載の発明は、ターゲットCPU
システムのマシン語レベルの各命令コードがフレームワ
ークの言語内に組み込まれたターゲットプログラムの当
該マシン語レベルの各命令コードをソースコードシミュ
レータで翻訳して、シミュレートすることにより、例え
ば、ターゲットCPUシステムのアセンブラコードをフ
レームワークの言語(例えば、C++言語)内に組み込ん
でターゲットプログラムを作成し、フレームワークの言
語として、例えば、C++言語を使用する場合には、C++
言語に付属しているデバッガ等で専用のシミュレータを
開発する手間を省いて、シミュレータの開発を簡単かつ
迅速に行うことのできるシステムシミュレータを提供す
ることを目的としている。
According to a fourth aspect of the present invention, a target CPU
Each instruction code at the machine language level of the target program in which each instruction code at the machine language level of the system is incorporated in the language of the framework is translated by a source code simulator and simulated. When a target program is created by incorporating the assembler code of the above into the language of the framework (for example, C ++ language), if the language of the framework is, for example, C ++ language, C ++
It is an object of the present invention to provide a system simulator that can easily and quickly develop a simulator without having to develop a dedicated simulator using a debugger or the like attached to the language.

【0010】[0010]

【課題を解決するための手段】請求項1記載の発明のシ
ステムシミュレータは、シミュレーション対象となるタ
ーゲットCPUシステム用のターゲットプログラムのマ
シン語レベルの各命令コードをホストCPUシステム上
でシミュレートして、前記ターゲットCPUシステムの
動作を前記ホストCPUシステム上でシミュレートする
システムシミュレータであって、前記ターゲットプログ
ラムを前記ホストCPUシステムで実行可能なシミュレ
ーション環境を、前記各命令コードをオブジェクト通信
で授受することで、オブジェクト指向のフレームワーク
上で構築することにより、上記目的を達成している。
According to a first aspect of the present invention, a system simulator simulates, on a host CPU system, each instruction code at a machine language level of a target program for a target CPU system to be simulated. A system simulator for simulating the operation of the target CPU system on the host CPU system, by transmitting and receiving the instruction codes by object communication in a simulation environment in which the target program can be executed by the host CPU system. The above object is achieved by building on an object-oriented framework.

【0011】上記構成によれば、ターゲットプログラム
をホストCPUシステムで実行可能なシミュレーション
環境を、各命令コードをオブジェクト通信で授受するこ
とで、オブジェクト指向のフレームワーク上に構築して
いるので、ファームウエアの開発やCPUシステムの開
発の環境を向上させることができ、簡単、かつ、迅速な
ファームウエアやCPUシステムの開発を可能とするこ
とができるとともに、オブジェクトの自由な組み合わせ
により異なる入出力装置のCPUシステムにおいても迅
速な開発を行うことができる。
According to the above configuration, the simulation environment in which the target program can be executed by the host CPU system is constructed on the object-oriented framework by transmitting and receiving each instruction code by object communication. It is possible to improve the environment for development of CPUs and CPU systems, to enable simple and quick development of firmware and CPU systems, and to use different input / output device CPUs by freely combining objects. Rapid development can also be performed on the system.

【0012】この場合、例えば、請求項2に記載するよ
うに、前記システムシミュレータは、前記ターゲットC
PUを模擬するCPUシミュレータと、ターゲット入出
力装置を模擬するI/Oシミュレータと、前記CPUシ
ミュレータ及びI/Oシミュレータを前記オブジェクト
通信で連結するフレームワーク処理手段と、を備えてい
てもよい。
In this case, for example, as described in claim 2, the system simulator includes the target C
The system may include a CPU simulator for simulating a PU, an I / O simulator for simulating a target input / output device, and framework processing means for connecting the CPU simulator and the I / O simulator by the object communication.

【0013】上記構成によれば、システムシミュレータ
を、ターゲットCPUを模擬するCPUシミュレータ
と、ターゲット入出力装置を模擬するI/Oシミュレー
タと、CPUシミュレータ及びI/Oシミュレータをオ
ブジェクト通信で連結するフレームワーク処理手段と、
を備えたものとしているので、入出力装置を備えたCP
Uシステムにおいても迅速な開発を行うことができる。
According to the above configuration, the system simulator is a CPU simulator that simulates a target CPU, an I / O simulator that simulates a target input / output device, and a framework that connects the CPU simulator and the I / O simulator by object communication. Processing means;
, A CP with an input / output device
Rapid development can also be performed on U systems.

【0014】また、例えば、請求項3に記載するよう
に、前記システムシミュレータは、複数の前記ターゲッ
トCPUシステムを模擬する複数のシステムシミュレー
タと、前記複数のシステムシミュレータを起動するとと
もに、前記複数のシステムシミュレータ相互間の関係を
定義するフレームワーク処理手段と、を備えたものであ
ってもよい。
Further, for example, as set forth in claim 3, the system simulator includes a plurality of system simulators simulating a plurality of the target CPU systems, the plurality of system simulators being activated, and the plurality of system simulators. Framework processing means for defining a relationship between simulators.

【0015】上記構成によれば、システムシミュレータ
を、複数のターゲットCPUシステムを模擬する複数の
システムシミュレータと、複数のシステムシミュレータ
を起動するとともに、複数のシステムシミュレータ相互
間の関係を定義するフレームワーク処理手段と、を備え
たものとしているので、複数のシステムシミュレータを
連係して動作させて適切にシミュレートすることがで
き、複数のCPUシステムで構成されるターゲットCP
Uシステムを簡単、かつ、迅速に開発することができ
る。
According to the above configuration, the system simulator includes a plurality of system simulators for simulating a plurality of target CPU systems, a framework processing for activating the plurality of system simulators and defining a relationship between the plurality of system simulators. Means, a plurality of system simulators can be operated in cooperation with each other to appropriately simulate, and a target CP composed of a plurality of CPU systems can be provided.
U systems can be developed simply and quickly.

【0016】さらに、例えば、請求項4に記載するよう
に、前記ターゲットプログラムは、前記ターゲットCP
Uシステムのマシン語レベルの各命令コードが前記フレ
ームワークの言語内に組み込まれ、前記システムシミュ
レータは、前記ターゲットプログラムの前記マシン語レ
ベルの各命令コードを翻訳するソースコードシミュレー
タを備え、当該ソースコードシミュレータの翻訳した前
記各命令コードを解釈して、シミュレートするものであ
ってもよい。
Further, for example, as set forth in claim 4, the target program includes the target CP.
Each instruction code at the machine language level of the U system is incorporated in the language of the framework, and the system simulator includes a source code simulator that translates each instruction code at the machine language level of the target program. The instruction code translated by the simulator may be interpreted and simulated.

【0017】上記構成によれば、ターゲットCPUシス
テムのマシン語レベルの各命令コードがフレームワーク
の言語内に組み込まれたターゲットプログラムの当該マ
シン語レベルの各命令コードをソースコードシミュレー
タで翻訳して、シミュレートするので、例えば、ターゲ
ットCPUシステムのアセンブラコードをフレームワー
クの言語(例えば、C++言語)内に組み込んでターゲッ
トプログラムを作成することができ、フレームワークの
言語として、例えば、C++言語を使用する場合には、C
++言語に付属しているデバッガ等で専用のシミュレータ
を開発する手間を省いて、シミュレータの開発を簡単か
つ迅速に行うことができる。
According to the above arrangement, each instruction code at the machine language level of the target program in which each instruction code at the machine language level of the target CPU system is incorporated in the language of the framework is translated by the source code simulator. Since the simulation is performed, for example, a target program can be created by incorporating assembler code of a target CPU system into a language of a framework (for example, C ++ language). As a language of the framework, for example, C ++ If you use a language, C
The simulator can be easily and quickly developed without the need to develop a dedicated simulator using a debugger or the like attached to the ++ language.

【0018】[0018]

【発明の実施の形態】以下、本発明の好適な実施の形態
を添付図面に基づいて詳細に説明する。なお、以下に述
べる実施の形態は、本発明の好適な実施の形態であるか
ら、技術的に好ましい種々の限定が付されているが、本
発明の範囲は、以下の説明において特に本発明を限定す
る旨の記載がない限り、これらの態様に限られるもので
はない。
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings. It should be noted that the embodiments described below are preferred embodiments of the present invention, and therefore, various technically preferable limitations are added. However, the scope of the present invention is not limited to the following description. The embodiments are not limited to these embodiments unless otherwise specified.

【0019】図1〜図4は、本発明のシステムシミュレ
ータの第1の実施の形態を示す図であり、図1は、本発
明のシステムシミュレータの第1の実施の形態を適用し
たシステムシミュレータ1の概念図である。
FIGS. 1 to 4 show a first embodiment of the system simulator of the present invention. FIG. 1 shows a system simulator 1 to which the first embodiment of the system simulator of the present invention is applied. FIG.

【0020】図1において、システムシミュレータ1
は、シミュレーション環境をオブジェクト指向のフレー
ムワーク上に構築している。
In FIG. 1, a system simulator 1
Builds a simulation environment on an object-oriented framework.

【0021】すなわち、システムシミュレータ1は、タ
ーゲットプログラム2、CPUシミュレータ3、入出力
I/Oシミュレータ4及びフレームワーク5等を備えて
おり、シミュレーション対象となるターゲットCPU
(Central Processing Unit )あるいはターゲットDS
P(Digital Signal Processor)(以下、総称して、タ
ーゲットCPUという。)やシミュレーション対象とな
る入出力装置(以下、ターゲット入出力I/Oとい
う。)及びターゲット入出力I/Oに接続されるシミュ
レーション対象となる周辺機器(以下、ターゲット周辺
機器)等で構成されるCPUシステム(以下、ターゲッ
トCPUシステムという。)用に作成されたターゲット
プログラム2(以下、単にターゲットプログラムとい
う。)の動作を、ターゲットCPUシステムとは異なる
CPUやDSP、入出力装置及び周辺機器等のCPUシ
ステム(以下、ホストCPUシステムという。)上でシ
ミュレートするものである。
That is, the system simulator 1 includes a target program 2, a CPU simulator 3, an input / output I / O simulator 4, a framework 5, and the like.
(Central Processing Unit) or target DS
P (Digital Signal Processor) (hereinafter collectively referred to as a target CPU), an input / output device to be simulated (hereinafter referred to as a target input / output I / O), and a simulation connected to the target input / output I / O The operation of a target program 2 (hereinafter, simply referred to as a target program) created for a CPU system (hereinafter, referred to as a target CPU system) including a target peripheral device (hereinafter, a target peripheral device) is referred to as a target. The simulation is performed on a CPU system (hereinafter, referred to as a host CPU system) such as a CPU, a DSP, an input / output device, and peripheral devices different from the CPU system.

【0022】オブジェクト指向のシステム開発において
は、一般に、ターゲットCPUを模擬するコアシミュレ
ータ(CPUシミュレータ)及びターゲットI/Oを模
擬するI/Oシミュレータ、ターゲットI/Oに接続さ
れるターゲット周辺機器を模擬するEXTシミュレータ
及びターゲットアセンブラソースコードを、クラスと呼
ばれる単位に分割する。このクラスとは、データとそれ
に対する操作をまとめたモジュールであり、データは、
属性と呼ばれ、操作は、メソッドと呼ばれている。
In object-oriented system development, a core simulator (CPU simulator) for simulating a target CPU, an I / O simulator for simulating target I / O, and target peripheral devices connected to the target I / O are generally simulated. The EXT simulator and the target assembler source code are divided into units called classes. This class is a module that summarizes data and operations on it.
Operations are called methods, and attributes are called methods.

【0023】クラスの間には、階層関係を定義すること
が可能であり、階層上で上位のクラスをスーパークラ
ス、下位のクラスをサブクラスと呼ぶ。サブクラスのメ
ソッドは、スーパークラスのメソッドを継承する。例え
ば、クラスAのサブクラスとして、クラスBがあり、ク
ラスAで定義したメソッドとして、メソッドa1、a2
があり、クラスBで定義したメソッドに、メソッドb1
があるとすると、クラスBのメソッドとしては、メソッ
ドa1、a2、b1になる。ここで、例えば、クラスB
でクラスAのメソッドと同名のメソッドa2が定義され
ていると、クラスBでは、メソッドa2は、クラスBで
定義されたものが使用される。
Hierarchical relations can be defined between classes. A class higher in the hierarchy is called a superclass, and a lower class is called a subclass. Subclass methods inherit from superclass methods. For example, there is a class B as a subclass of the class A, and methods a1 and a2 are defined as methods defined in the class A.
There is a method b1 in the method defined in class B.
If there is, the methods of class B are methods a1, a2, and b1. Here, for example, class B
Defines a method a2 having the same name as the method of the class A, in the class B, the method a2 defined in the class B is used.

【0024】そして、オブジェクト指向のフレームワー
クは、再利用可能なプログラムを導き出す相互稼働する
クラスの集合である。
An object-oriented framework is a set of interoperable classes that derive a reusable program.

【0025】一般に、CPUやDSPは、プログラムカ
ウンタにセットされているアドレスからプログラムを取
得して、当該取得したプログラムを翻訳した後、当該プ
ログラムの処理を実行しており、この基本動作として、
外部からの要因(例えば、割り込み等)により処理内容
を変えて処理を行っている。
In general, a CPU or a DSP acquires a program from an address set in a program counter, translates the acquired program, and executes the processing of the program.
Processing is performed by changing the processing content according to an external factor (for example, an interrupt or the like).

【0026】システムシミュレータ1は、この一連の動
作をイベントの発生と受信に置き換える環境をフレーム
ワーク5で提供することにより、行っている。
The system simulator 1 performs this series of operations by providing an environment in which the series of operations is replaced with the generation and reception of an event by the framework 5.

【0027】すなわち、システムシミュレータ1では、
ターゲットプログラム2、CPUシミュレータ3及び入
出力I/Oシミュレータ4等のあらゆるオブジェクトを
フレームワーク5に登録し、オブジェクト間通信を行っ
て、ターゲットプログラム2のシミュレーションを行
う。
That is, in the system simulator 1,
All objects such as the target program 2, the CPU simulator 3, and the input / output I / O simulator 4 are registered in the framework 5, and communication between the objects is performed to simulate the target program 2.

【0028】そのために、フレームワーク5は、ターゲ
ットCPUシステムのマシン語レベルの各命令コードを
シミュレートするモジュールを抽象化したCPUシミュ
レータ3のスーパークラス、アセンブラ翻訳のスーパー
クラス、抽象化した入出力シミュレータ3のスーパーク
ラスを提供する。
For this purpose, the framework 5 includes a superclass of the CPU simulator 3 that abstracts a module that simulates each instruction code at a machine language level of the target CPU system, a superclass of assembler translation, and an abstracted input / output simulator. Provides 3 superclasses.

【0029】そして、フレームワーク5のスーパークラ
スは、広範囲なシステムシミュレーションを実現するた
めに、オブジェクト管理とイベント発信及びイベント受
信の機能を有し、システムシミュレータ1では、ハード
ウェアシミュレータ、ソフトウェアシミュレータ及び入
出力シミュレータ等のあらゆるオブジェクトを登録する
機能とオブジェクト間通信を実現できるようになってい
る。
The superclass of the framework 5 has functions of object management and event transmission and event reception in order to realize a wide range of system simulation. A function of registering any object such as an output simulator and communication between objects can be realized.

【0030】そして、ターゲットプログラム2、CPU
シミュレータ3及び入出力I/Oシミュレータ4の各オ
ブジェクトは、メッセージ経路6によりフレームワーク
5に結ばれており、メッセージ経路6は、入出力I/O
シミュレータ4がシリアルポートの機能を有している機
能のオブジェクトの場合、シリアルポート入出力メッセ
ージ及びシリアルポート制御メッセージの送受信等を行
う。
Then, the target program 2, the CPU
Each object of the simulator 3 and the input / output I / O simulator 4 is connected to the framework 5 by a message path 6, and the message path 6 is connected to the input / output I / O
When the simulator 4 is an object having a function of a serial port, the simulator 4 transmits and receives a serial port input / output message and a serial port control message.

【0031】システムシミュレータ1は、このオブジェ
クト間通信を、アプリケーション間にネットワークを構
築することにより実現している。
The system simulator 1 realizes this inter-object communication by constructing a network between applications.

【0032】システムシミュレータ1は、各オブジェク
トのイベントの発信・受信をフレームワーク5に登録す
ることにより、柔軟な構成を実現している。
The system simulator 1 realizes a flexible configuration by registering transmission / reception of events of each object in the framework 5.

【0033】このオブジェクトをフレームワーク5に登
録するときの登録手続は、図2に示すように行う。すな
わち、オブジェクトは、自身の宛先であるハンドル番号
を取得し(ステップS1)、取得した自身のハンドル番
号を使用して、受信可能なメッセージの種類をフレーム
ワーク5に通知する(ステップS2)。次に、オブジェ
クトは、送信可能なメッセージの種類をフレームワーク
5に通知し(ステップS3)、その後、起動可能なメソ
ッドと種類をフレームワーク5に通知する(ステップS
4)。
The registration procedure when registering this object in the framework 5 is performed as shown in FIG. That is, the object acquires the handle number that is its own destination (step S1), and notifies the framework 5 of the types of receivable messages using the acquired handle number (step S2). Next, the object notifies the framework 5 of the type of message that can be transmitted (step S3), and then notifies the framework 5 of the method and type that can be activated (step S3).
4).

【0034】一方、フレームワーク5は、メッセージの
種類に応じた相手と接続する機能を有しており、オブジ
ェクトからのメッセージの種類に応じた相手と接続し
て、オブジェクトの登録を受け付ける。
On the other hand, the framework 5 has a function of connecting to a partner corresponding to the type of message, and connects to a partner corresponding to the type of message from the object to accept registration of an object.

【0035】すなわち、システムシミュレータ1は、ホ
ストCPUに一連の動作をイベントの発生と受信に置き
換える環境をフレームワーク5上に構築して、シミュレ
ーションを実現している。そして、ホストCPUは、上
述のように、その基本動作として、プログラムカウンタ
にセットされているアドレスからプログラムを取得し、
プログラム翻訳後に実行するが、この基本動作の処理内
容を、外部からの要因(割り込み等)により変えて処理
する。
That is, the system simulator 1 realizes a simulation by constructing an environment on the framework 5 in which a series of operations is replaced by generation and reception of an event in the host CPU. Then, as described above, the host CPU acquires the program from the address set in the program counter as its basic operation,
This is executed after program translation, but the processing contents of this basic operation are changed by an external factor (such as an interrupt).

【0036】システムシミュレータ1は、イベントの発
生をフレームワーク5のイベント管理クラスがイベント
・オブジェクトとして管理しており、このイベント発行
部品は、明示的にイベント受信部品宛を記述することも
可能であり、また、イベント受信部品宛を管理するイベ
ント管理クラスで定義することも可能である。システム
シミュレータ1は、このようなイベント管理手法を採用
しているため、汎用的なクラスとして定義することがで
き、ハードウェアシミュレートを実現する場合や評価す
る場合に、イベントをフックするような機能を実現する
ことができる。
In the system simulator 1, the event management class of the framework 5 manages the occurrence of an event as an event object, and the event issuing component can also explicitly describe the event receiving component. It is also possible to define an event management class for managing an event receiving component. Since the system simulator 1 adopts such an event management method, it can be defined as a general-purpose class, and has a function of hooking an event when implementing or evaluating hardware simulation. Can be realized.

【0037】そして、システムシミュレータ1は、上述
のように、フレームワーク5が、ターゲットCPUシス
テムのマシン語レベルの各命令コードをシミュレートす
るモジュールを抽象化したCPUシミュレータ3のスー
パークラス及びアセンブラ翻訳のスーパークラスを提供
するので、ターゲットプログラム2は、ターゲットCP
Uシステムのマシン語レベルの各命令コードがフレーム
ワークの言語内に組み込まれた状態で記述することがで
きる。例えば、ターゲットプログラム2をC++言語で記
述し、ターゲットCPUシステムのマシン語レベルの各
命令コードがアセンブラ言語である場合、図3に示すよ
うに、C++言語で記述されたターゲットプログラム2の
dsp()の因数に、文字列として、ターゲットCPU
システムのマシン語レベルの各命令コードをアセンブラ
言語で記述することにより作成されている。
As described above, the system simulator 1 uses the framework 5 for superclass and assembler translation of the CPU simulator 3 in which the framework 5 abstracts a module for simulating each instruction code at the machine language level of the target CPU system. Since the super class is provided, the target program 2
Each instruction code at the machine language level of the U system can be described in a state of being incorporated in the language of the framework. For example, if the target program 2 is described in C ++ language and each instruction code at the machine language level of the target CPU system is in assembler language, as shown in FIG. 3, the target program 2 described in C ++ language is used. Of the target CPU as a character string in the factor of dsp ()
It is created by describing each instruction code at the machine language level of the system in assembler language.

【0038】フレームワーク5は、このターゲットプロ
グラム2のアセンブラコード文字列の翻訳処理を行って
マシン語に展開した後、CPUシミュレータ3に転送
し、CPUシミュレータ3が当該命令をシミュレートす
る。
The framework 5 translates the assembler code character string of the target program 2 into a machine language and then transfers it to the CPU simulator 3, which then simulates the instruction.

【0039】ただ、マシン語レベルのジャンプ命令やサ
ブルーチンコール命令は、厳密には、C++言語で使用さ
れているgoto文や関数とは制約面で異なるが、マシ
ン語におけるジャンプ命令は、プログラム・カウンタ
(以下、必要に応じて、PCという。)にセットする命
令であり、CALL命令は、その前に次に処理するアド
レスをスタックに待避する操作を行うだけである。した
がって、C++言語の文法の範囲内でアセンブラ命令記述
を全て実現することは不可能であるが、アセンブラコー
ド開発時においても、可読性を上げるために、例外的な
PC操作を行うようなことは、実施しないので、実際上
は、問題が生じることはない。その結果、文法の制約、
例えば、サブルーチン外へのジャンプを除けば、以下の
手法を使用することにより、フレームワークの言語であ
るC++言語内にターゲットCPUシステムのマシン語レ
ベルであるアセンブラ言語の各命令コードを組み込むこ
とができる。
Although the jump instruction and the subroutine call instruction at the machine language level are strictly different from the goto statement and the function used in the C ++ language, the jump instruction in the machine language is a program instruction. A command to be set in a counter (hereinafter, referred to as a PC as necessary), and a CALL instruction merely performs an operation of saving a next address to be processed on the stack before the CALL instruction. Therefore, it is not possible to realize all assembler instruction descriptions within the grammar of the C ++ language. However, even when developing assembler code, an exceptional PC operation is required to improve readability. Is not implemented, so that there is no practical problem. As a result, grammar constraints,
For example, except for jumping out of a subroutine, use the following method to incorporate each instruction code of the assembler language, which is the machine language level of the target CPU system, into the C ++ language, which is the framework language. Can be.

【0040】すなわち、アセンブラでは、アセンブラコ
ードを記述する場合に、疑似命令を使用して記述するの
が一般的であるが、疑似命令には、数値をラベル文字列
として置き換える機能があり、PCジャンプ命令及びサ
ブルーチンコール命令においては、直接ジャンプ先のア
ドレスを数値で記述せずに、アドレスに対応したラベル
名で記述する。
That is, in assembler, when describing assembler code, it is general to describe using a pseudo instruction. The pseudo instruction has a function of replacing a numerical value as a label character string, and a PC jump. In the instruction and the subroutine call instruction, the address of the jump destination is not described by a numerical value but by a label name corresponding to the address.

【0041】例えば、上述のC++マクロにおいて、ジャ
ンプ先をラベルで記述する場合には、ジャンプ先のラベ
ルを事前に登録することにより、C++言語上のgoto
文、あるいは、関数に置き換えることができる。
For example, in the above-mentioned C ++ macro, when a jump destination is described by a label, the label of the jump destination is registered in advance, so that the goto in the C ++ language is registered.
It can be replaced by a statement or a function.

【0042】また、アセンブラ特有の間接ジャンプ命令
においては、ジャンプ先をラベルに置き換えることによ
り、事前に置き換えることができ、適切に処理すること
ができる。
In the indirect jump instruction peculiar to the assembler, the jump destination can be replaced in advance by replacing the jump destination with a label, and can be appropriately processed.

【0043】そして、システムシミュレータ1は、上述
のように、C++言語で記述されたターゲットプログラム
2のdsp()の因数に、文字列として、アセンブラ言
語で記述されたターゲットCPUシステムのマシン語レ
ベルの各命令コードを、フレームワーク5が翻訳処理し
てマシン語に展開した後、CPUシミュレータ3に転送
し、CPUシミュレータ3が当該命令をシミュレートす
る。
Then, as described above, the system simulator 1 converts the factor of dsp () of the target program 2 described in the C ++ language into a machine language of the target CPU system described in the assembler language as a character string. After the framework 5 translates each instruction code of the level and develops it into a machine language, the instruction code is transferred to the CPU simulator 3, and the CPU simulator 3 simulates the instruction.

【0044】例えば、図3に示した例では、図4に示す
ように、フレームワーク5は、dsp()マクロの因数
文字列のアセンブラコードをマシン語に翻訳し(ステッ
プP1)、CPUシミュレータ3に当該翻訳した命令内
容のシミュレートを指示する(ステップP2)。CPU
シミュレータ3は、指示内容がコール命令(call命
令)であるか、すなわち、サブルーチンコール命令であ
るかチェックし(ステップP3)、コール命令である
と、関数呼び出し、すなわち、メソッドの実行を行っ
て、処理を終了する(ステップP4)。
For example, in the example shown in FIG. 3, as shown in FIG. 4, the framework 5 translates the assembler code of the factor character string of the dsp () macro into a machine language (step P1), and the CPU simulator 3 To simulate the translated instruction contents (step P2). CPU
The simulator 3 checks whether the instruction is a call instruction (call instruction), that is, a subroutine call instruction (step P3). If the instruction is a call instruction, the simulator 3 calls a function, that is, executes a method. The process ends (Step P4).

【0045】ステップP3で、コール命令でないときに
は、CPUシミュレータ3は、指示内容がジャンプ命令
(jump命令)かどうかチェックし(ステップP
5)、ジャンプ命令のときには、PC(プログラム・カ
ウンタ)の値から事前に登録したラベル文字列が存在す
るか検索を行って、対応するジャンプ命令を実行して、
処理を終了する(ステップP6)。ステップP5で、ジ
ャンプ命令でないときには、CPUシミュレータ3は、
そのまま処理を終了する。
If it is determined in step P3 that the instruction is not a call instruction, the CPU simulator 3 checks whether the instruction is a jump instruction (jump instruction) (step P3).
5) In the case of a jump instruction, a search is made from a PC (program counter) value for the presence of a label character string registered in advance, and the corresponding jump instruction is executed.
The process ends (Step P6). If it is not a jump instruction in step P5, the CPU simulator 3
The process ends as it is.

【0046】このように、システムシミュレータ1は、
ターゲットプログラム2をホストCPUシステムで実行
可能なシミュレーション環境を、各命令コードをオブジ
ェクト通信で授受することで、オブジェクト指向のフレ
ームワーク5上に構築している。したがって、ファーム
ウエアの開発やCPUシステムの開発の環境を向上させ
ることができ、簡単、かつ、迅速なファームウエアやC
PUシステムの開発を可能とすることができるととも
に、オブジェクトの自由な組み合わせにより異なる入出
力装置のCPUシステムにおいても迅速な開発を行うこ
とができる。
As described above, the system simulator 1
A simulation environment in which the target program 2 can be executed by the host CPU system is constructed on the object-oriented framework 5 by exchanging each instruction code by object communication. Therefore, the environment for the development of firmware and the development of the CPU system can be improved.
A PU system can be developed, and rapid development can be performed in CPU systems of different input / output devices by freely combining objects.

【0047】また、システムシミュレータ1を、ターゲ
ットCPUを模擬するCPUシミュレータ3と、ターゲ
ット入出力装置を模擬する入出力I/Oシミュレータ4
と、CPUシミュレータ3及び入出力I/Oシミュレー
タ4をオブジェクト通信で連結するフレームワーク5
と、を備えたものとしているので、入出力装置を備えた
CPUシステムにおいても迅速な開発を行うことができ
る。
The system simulator 1 is composed of a CPU simulator 3 simulating a target CPU and an input / output I / O simulator 4 simulating a target input / output device.
5 that connects the CPU simulator 3 and the input / output I / O simulator 4 with object communication
Therefore, rapid development can be performed even in a CPU system having an input / output device.

【0048】さらに、システムシミュレータ1は、ター
ゲットCPUシステムのマシン語レベルの各命令コード
がフレームワーク5の言語内に組み込まれたターゲット
プログラム2の当該マシン語レベルの各命令コードをソ
ースコードシミュレータで翻訳して、シミュレートして
いる。したがって、例えば、ターゲットCPUシステム
のアセンブラコードをフレームワークの言語(例えば、
C++言語)内に組み込んでターゲットプログラムを作成
することができ、フレームワークの言語として、例え
ば、C++言語を使用する場合には、C++言語に付属して
いるデバッガ等で専用のシミュレータを開発する手間を
省いて、シミュレータの開発を簡単かつ迅速に行うこと
ができる。
Further, the system simulator 1 translates each machine language level instruction code of the target program 2 in which the machine language level instruction code of the target CPU system is incorporated in the language of the framework 5 by a source code simulator. And then simulate. Thus, for example, the assembler code of the target CPU system can be translated into the framework language (eg,
The target program can be created by embedding it in the C ++ language. When using the C ++ language as the framework language, for example, use the debugger attached to the C ++ language. Simulator development can be performed easily and quickly without the need to develop a simulator.

【0049】図5は、発明のシステムシミュレータの第
2の実施の形態を示す図であり、本実施の形態は、2つ
のCPUシステムに適用したシステムシミュレータであ
る。
FIG. 5 is a diagram showing a second embodiment of the system simulator of the present invention. This embodiment is a system simulator applied to two CPU systems.

【0050】図5は、本発明のシステムシミュレータの
第2の実施の形態を適用したシステムシミュレータ10
の概念図であり、システムシミュレータ10は、システ
ムシミュレータ20とシステムシミュレータ30がメッ
セージ経路40で結ばれて、ネットワークが構築された
状態となっている。
FIG. 5 shows a system simulator 10 to which the second embodiment of the system simulator of the present invention is applied.
In the system simulator 10, the system simulator 20 and the system simulator 30 are connected by a message path 40, and a network is constructed.

【0051】システムシミュレータ20は、αターゲッ
トプログラム21、αCPUシミュレータ22、α入出
力I/Oシミュレータ23及びαフレームワーク24等
を備えており、αターゲットプログラム21、αCPU
シミュレータ22及びα入出力I/Oシミュレータ23
の各オブジェクトは、メッセージ経路25によりαフレ
ームワーク24に結ばれている。
The system simulator 20 includes an α target program 21, an αCPU simulator 22, an α input / output I / O simulator 23, an α framework 24, and the like.
Simulator 22 and α input / output I / O simulator 23
Are connected to the α framework 24 by a message path 25.

【0052】システムシミュレータ30は、βターゲッ
トプログラム31、βCPUシミュレータ32、β入出
力I/Oシミュレータ33及びβフレームワーク34等
を備え、βターゲットプログラム31、βCPUシミュ
レータ32及びβ入出力I/Oシミュレータ33の各オ
ブジェクトは、メッセージ経路35によりβフレームワ
ーク34に結ばれている。
The system simulator 30 includes a β target program 31, a β CPU simulator 32, a β input / output I / O simulator 33, a β framework 34, etc., and a β target program 31, a β CPU simulator 32, and a β input / output I / O simulator. Each of the objects 33 is connected to the β framework 34 by a message path 35.

【0053】そして、このαフレームワーク24とβフ
レームワーク34がメッセージ経路40で結ばれて、シ
ミュレータ20とシミュレータ30がネットワークを構
築した状態となっている。
Then, the α framework 24 and the β framework 34 are connected by a message path 40, and the simulator 20 and the simulator 30 are in a state of constructing a network.

【0054】各システムシミュレータ20とシステムシ
ミュレータ30は、上記第1の実施の形態のシステムシ
ミュレータ1と同様の機能を有しているとともに、シス
テムシミュレータ20のフレームワーク17とシステム
シミュレータ30のフレームワーク18がメッセージ経
路40を介してオブジェクト通信を行う。
Each of the system simulator 20 and the system simulator 30 has the same function as the system simulator 1 of the first embodiment, and the framework 17 of the system simulator 20 and the framework 18 of the system simulator 30 Performs object communication via the message path 40.

【0055】したがって、システムシミュレータ20と
システムシミュレータ30という2つのシステムシミュ
レータ20、30を連係して動作させて適切にシミュレ
ートすることができ、複数のCPUシステムで構成され
るターゲットCPUシステムを簡単、かつ、迅速に開発
することができる。
Therefore, the two system simulators 20 and 30 of the system simulator 20 and the system simulator 30 can be operated in cooperation with each other to appropriately simulate the system, and the target CPU system including a plurality of CPU systems can be simplified. And it can be developed quickly.

【0056】なお、上記第2の実施の形態においては、
2つのシステムシミュレータ20、30でシステムシミ
ュレータ10を構築した場合について説明したが、2つ
のシステムシミュレータに限るものではなく、2つ以上
の複数のシステムシミュレータを連係して動作させるシ
ステムシミュレータを構築してもよい。
Note that in the second embodiment,
The case where the system simulator 10 is constructed by the two system simulators 20 and 30 has been described. However, the invention is not limited to the two system simulators, and a system simulator that operates two or more system simulators in cooperation with each other is constructed. Is also good.

【0057】以上、本発明者によってなされた発明を好
適な実施の形態に基づき具体的に説明したが、本発明は
上記のものに限定されるものではなく、その要旨を逸脱
しない範囲で種々変更可能であることはいうまでもな
い。
Although the invention made by the inventor has been specifically described based on the preferred embodiments, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the invention. It goes without saying that it is possible.

【0058】[0058]

【発明の効果】請求項1記載の発明のシステムシミュレ
ータによれば、ターゲットプログラムをホストCPUシ
ステムで実行可能なシミュレーション環境を、各命令コ
ードをオブジェクト通信で授受することで、オブジェク
ト指向のフレームワーク上に構築しているので、ファー
ムウエアの開発やCPUシステムの開発の環境を向上さ
せることができ、簡単、かつ、迅速なファームウエアや
CPUシステムの開発を可能とすることができるととも
に、オブジェクトの自由な組み合わせにより異なる入出
力装置のCPUシステムにおいても迅速な開発を行うこ
とができる。
According to the system simulator of the first aspect of the present invention, a simulation environment in which a target program can be executed by a host CPU system is transmitted and received through an object communication by an instruction communication, so that a target program can be executed on an object-oriented framework. It can improve the environment for firmware development and CPU system development, enabling simple and quick development of firmware and CPU system, and free objects. Rapid development can be performed even for CPU systems of different input / output devices depending on the combination.

【0059】請求項2記載の発明のシステムシミュレー
タによれば、システムシミュレータを、ターゲットCP
Uを模擬するCPUシミュレータと、ターゲット入出力
装置を模擬するI/Oシミュレータと、CPUシミュレ
ータ及びI/Oシミュレータをオブジェクト通信で連結
するフレームワーク処理手段と、を備えたものとしてい
るので、入出力装置を備えたCPUシステムにおいても
迅速な開発を行うことができる。
According to the system simulator of the second aspect, the system simulator is connected to the target CP.
U, a CPU simulator, an I / O simulator that simulates a target input / output device, and a framework processing unit that connects the CPU simulator and the I / O simulator by object communication. Rapid development can be performed even in a CPU system provided with the device.

【0060】請求項3記載の発明のシステムシミュレー
タによれば、システムシミュレータを、複数のターゲッ
トCPUシステムを模擬する複数のシステムシミュレー
タと、複数のシステムシミュレータを起動するととも
に、複数のシステムシミュレータ相互間の関係を定義す
るフレームワーク処理手段と、を備えたものとしている
ので、複数のシステムシミュレータを連係して動作させ
て適切にシミュレートすることができ、複数のCPUシ
ステムで構成されるターゲットCPUシステムを簡単、
かつ、迅速に開発することができる。
According to the third aspect of the present invention, the system simulator includes a plurality of system simulators for simulating a plurality of target CPU systems, a plurality of system simulators, and a plurality of system simulators. And a framework processing means for defining a relationship, so that a plurality of system simulators can be operated in cooperation with each other to appropriately simulate, and a target CPU system composed of a plurality of CPU systems can be provided. Simple,
And it can be developed quickly.

【0061】請求項4記載の発明のシステムシミュレー
タによれば、ターゲットCPUシステムのマシン語レベ
ルの各命令コードがフレームワークの言語内に組み込ま
れたターゲットプログラムの当該マシン語レベルの各命
令コードをソースコードシミュレータで翻訳して、シミ
ュレートするので、例えば、ターゲットCPUシステム
のアセンブラコードをフレームワークの言語(例えば、
C++言語)内に組み込んでターゲットプログラムを作成
することができ、フレームワークの言語として、例え
ば、C++言語を使用する場合には、C++言語に付属して
いるデバッガ等で専用のシミュレータを開発する手間を
省いて、シミュレータの開発を簡単かつ迅速に行うこと
ができる。
According to the system simulator of the present invention, each instruction code at the machine language level of the target CPU system is sourced from each instruction code at the machine language level of the target program in which the instruction code is incorporated in the language of the framework. Since it is translated and simulated by a code simulator, for example, the assembler code of the target CPU system is translated into a framework language (for example,
The target program can be created by embedding it in the C ++ language. When using the C ++ language as the framework language, for example, use the debugger attached to the C ++ language. Simulator development can be performed easily and quickly without the need to develop a simulator.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のシステムシミュレータの第1の実施の
形態を適用したシステムシミュレータの概念図。
FIG. 1 is a conceptual diagram of a system simulator to which a first embodiment of a system simulator according to the present invention is applied.

【図2】図1のフレームワークにオブジェクトを登録す
る手順を示すフローチャート。
FIG. 2 is a flowchart showing a procedure for registering an object in the framework of FIG. 1;

【図3】図1のターゲットプログラムのアッセンブラソ
ースコードの記述例の一例を示す図。
FIG. 3 is a view showing an example of a description example of assembler source code of the target program of FIG. 1;

【図4】図3のターゲットプログラムの図1のシステム
シミュレータでの処理手順を示すフローチャート。
FIG. 4 is a flowchart showing the processing procedure of the target program of FIG. 3 in the system simulator of FIG. 1;

【図5】本発明のシステムシミュレータの第2の実施の
形態を適用したシステムシミュレータの概念図。
FIG. 5 is a conceptual diagram of a system simulator to which a second embodiment of the system simulator of the present invention is applied.

【符号の説明】[Explanation of symbols]

1 システムシミュレータ 2 ターゲットプログラム 3 CPUシミュレータ 4 入出力I/Oシミュレータ 5 フレームワーク 6 メッセージ経路 10、20、30 システムシミュレータ 21 αターゲットプログラム 22 αCPUシミュレータ 23 α入出力I/Oシミュレータ 24 αフレームワーク 25 メッセージ経路 31 βターゲットプログラム 32 βCPUシミュレータ 33 β入出力I/Oシミュレータ 34 βフレームワーク 35 メッセージ経路 40 メッセージ経路 1 System Simulator 2 Target Program 3 CPU Simulator 4 Input / Output I / O Simulator 5 Framework 6 Message Path 10, 20, 30 System Simulator 21 α Target Program 22 αCPU Simulator 23 α Input / Output I / O Simulator 24 α Framework 25 Messages Path 31 β target program 32 β CPU simulator 33 β input / output I / O simulator 34 β framework 35 message path 40 message path

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】シミュレーション対象となるターゲットC
PUシステム用のターゲットプログラムのマシン語レベ
ルの各命令コードをホストCPUシステム上でシミュレ
ートして、前記ターゲットCPUシステムの動作を前記
ホストCPUシステム上でシミュレートするシステムシ
ミュレータであって、前記ターゲットプログラムを前記
ホストCPUシステムで実行可能なシミュレーション環
境を、前記各命令コードをオブジェクト通信で授受する
ことで、オブジェクト指向のフレームワーク上で構築し
たことを特徴とするシステムシミュレータ。
1. A target C to be simulated
A system simulator for simulating, on a host CPU system, instruction codes at a machine language level of a target program for a PU system on a host CPU system to simulate the operation of the target CPU system on the host CPU system. A system simulator constructed on an object-oriented framework by transmitting and receiving each of the instruction codes by object communication, by executing a simulation environment that can be executed by the host CPU system.
【請求項2】前記システムシミュレータは、前記ターゲ
ットCPUを模擬するCPUシミュレータと、ターゲッ
ト入出力装置を模擬するI/Oシミュレータと、前記C
PUシミュレータ及びI/Oシミュレータを前記オブジ
ェクト通信で連結するフレームワーク処理手段と、を備
えていることを特徴とする請求項1記載のシステムシミ
ュレータ。
2. The system simulator according to claim 1, further comprising: a CPU simulator simulating the target CPU; an I / O simulator simulating a target input / output device;
2. The system simulator according to claim 1, further comprising framework processing means for connecting a PU simulator and an I / O simulator by the object communication.
【請求項3】前記システムシミュレータは、複数の前記
ターゲットCPUシステムを模擬する複数のシステムシ
ミュレータと、前記複数のシステムシミュレータを起動
するとともに、前記複数のシステムシミュレータ相互間
の関係を定義するフレームワーク処理手段と、を備えた
ことを特徴とする請求項1または請求項2記載のシステ
ムシミュレータ。
3. The system simulator includes: a plurality of system simulators for simulating a plurality of target CPU systems; a framework process for activating the plurality of system simulators and defining a relationship between the plurality of system simulators; The system simulator according to claim 1 or 2, further comprising: means.
【請求項4】前記ターゲットプログラムは、前記ターゲ
ットCPUシステムのマシン語レベルの各命令コードが
前記フレームワークの言語内に組み込まれ、前記システ
ムシミュレータは、前記ターゲットプログラムの前記マ
シン語レベルの各命令コードを翻訳するソースコードシ
ミュレータを備え、当該ソースコードシミュレータの翻
訳した前記各命令コードを解釈して、シミュレートする
ことを特徴とする請求項1から請求項3のいずれかに記
載のシステムシミュレータ。
4. The target program, wherein each instruction code at a machine language level of the target CPU system is incorporated in a language of the framework, and the system simulator comprises: an instruction code at each machine language level of the target program. 4. The system simulator according to claim 1, further comprising a source code simulator that translates the instruction code, interpreting and simulating the instruction codes translated by the source code simulator.
JP10055970A 1998-02-20 1998-02-20 System simulator Pending JPH11238004A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10055970A JPH11238004A (en) 1998-02-20 1998-02-20 System simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10055970A JPH11238004A (en) 1998-02-20 1998-02-20 System simulator

Publications (1)

Publication Number Publication Date
JPH11238004A true JPH11238004A (en) 1999-08-31

Family

ID=13013942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10055970A Pending JPH11238004A (en) 1998-02-20 1998-02-20 System simulator

Country Status (1)

Country Link
JP (1) JPH11238004A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048020A (en) * 2005-08-10 2007-02-22 Sony Computer Entertainment Inc Emulation method, emulator, computer embedded device, and program for emulator
JP2008021142A (en) * 2006-07-13 2008-01-31 Sony Corp Information processor, and method thereof
JP2008123315A (en) * 2006-11-14 2008-05-29 Sony Corp Information processor, its method, and program
JP2008287308A (en) * 2007-05-15 2008-11-27 Toshiba Corp Bridge program, bridge method and simulator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048020A (en) * 2005-08-10 2007-02-22 Sony Computer Entertainment Inc Emulation method, emulator, computer embedded device, and program for emulator
JP2008021142A (en) * 2006-07-13 2008-01-31 Sony Corp Information processor, and method thereof
JP2008123315A (en) * 2006-11-14 2008-05-29 Sony Corp Information processor, its method, and program
JP2008287308A (en) * 2007-05-15 2008-11-27 Toshiba Corp Bridge program, bridge method and simulator

Similar Documents

Publication Publication Date Title
US20030135850A1 (en) System of reusable software parts and methods of use
JP2514152B2 (en) How to build an information processing system
US8516508B1 (en) Automated application programming interface (API) generation
US8645938B2 (en) System and method for replacing code
US20020174082A1 (en) Reusable parts for assembled software systems
US20030106042A1 (en) System and method for animating state diagram through debug connection
US7296187B1 (en) Hardware debug device having script-based host interface
JPH11238004A (en) System simulator
Sadolewski et al. Compiler and virtual machine of a multiplatform control environment
Zakharov et al. Pattern-based environment modeling for static verification of Linux kernel modules
US11429358B2 (en) Representing asynchronous state machine in intermediate code
EP2115574B1 (en) Employing a buffer to facilitate instruction execution
JP2003150405A (en) Debug method for equipment incorporating program
McGuire et al. The Austin Protocol Compiler
US8135943B1 (en) Method, apparatus, and computer-readable medium for generating a dispatching function
Darvas et al. Verification of UML statechart models of embedded systems
Yugen et al. A functionality expansion of the lightweight runtime environment mROS for the user defined message types
Boulifa et al. Model generation for distributed Java programs
CN117376229B (en) FTP file system software cross debugging method and system based on embedded equipment
Lantreibecq et al. Formal analysis of a hardware dynamic task dispatcher with CADP
Bernauer et al. A comprehensive compiler-assisted thread abstraction for resource-constrained systems
Sinkkonen Asymmetric multiprocessing of Linux and hard real-time systems
WO2024086965A1 (en) Testing device driver by combining the device driver, firmware emulation layer, embedded simulator, and model of hardware subsystem within single native host application
Stetter et al. IBM eServer z990 improvements in firmware simulation
CN113986461A (en) Intrusive semi-localization simulation method for system call on target processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060120

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060202

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060331