JPH08221296A - Built-in software debug support device - Google Patents

Built-in software debug support device

Info

Publication number
JPH08221296A
JPH08221296A JP7026530A JP2653095A JPH08221296A JP H08221296 A JPH08221296 A JP H08221296A JP 7026530 A JP7026530 A JP 7026530A JP 2653095 A JP2653095 A JP 2653095A JP H08221296 A JPH08221296 A JP H08221296A
Authority
JP
Japan
Prior art keywords
embedded software
general
operating system
debug
target
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.)
Granted
Application number
JP7026530A
Other languages
Japanese (ja)
Other versions
JP2728002B2 (en
Inventor
Takeshi Miyamoto
武 宮本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP7026530A priority Critical patent/JP2728002B2/en
Publication of JPH08221296A publication Critical patent/JPH08221296A/en
Application granted granted Critical
Publication of JP2728002B2 publication Critical patent/JP2728002B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: To provide a built-in software debug support device which realizes multiprocessor simulating environment on plural general purpose computers so that the much greater improvement of debugging efficiency can be realized. CONSTITUTION: Pseudo target parts 110a, 110b, 410a, 410b are components ire which the environment of a target machine is generated artificially in virtual space OSs 103, 403 manage and operate on memories CPUs 101, 401 have. The pseudo target parts 110a and 110b are constituted of pseudo on-line OS parts 105a and 105b, shared library parts 106a and 106b, monitoring parts 107a and 107b, and the holding parts of built-in softwares 108a and 108b. The general purpose computers 10, 40 are provided with high-speed communication hardware devices 102, 402, which are connected with each other by a high-speed communication line 30.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は組み込みソフトウェアデ
バッグ支援装置に係り、特にマルチプロセッサ上に組み
込んで用いられるデバッグ対象の組み込みソフトウェア
のデバッグ(試験)を、複数の汎用コンピュータ上で可
能とする組み込みソフトウェアデバッグ支援装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an embedded software debug support device, and more particularly to embedded software which enables debugging (testing) of embedded software to be debugged by being embedded on a multiprocessor on a plurality of general-purpose computers. The present invention relates to a debug support device.

【0002】[0002]

【従来の技術】従来より、コンピュータ上で当該コンピ
ュータとは異なるアーキテクチャを持つコンピュータ用
のプログラムをソフトウェアによりシミュレートしつ
つ、プログラムのデバッグを行うソフトウェアデバッグ
支援装置が知られている(特開平2−308342号公
報:発明の名称「シミュレート・デバッガの構築方
法」)。
2. Description of the Related Art Conventionally, there is known a software debug support device for debugging a program on a computer while simulating the program for the computer having a different architecture from the computer by software (JP-A-2- No. 308342 gazette: title of invention "method of constructing simulated debugger").

【0003】図2はこの従来のソフトウェアデバッグ支
援装置の一例の構成図で、ユーザより受け付けたコマン
ドに応じた処理をするコマンド処理部1、シミュレーシ
ョン対象のコンピュータが持つレジスタ、メモリ等のハ
ードウェア資源を擬似的に実現するリソース部2、リソ
ース部2の表示を行うリソース表示部3、シミュレーシ
ョンの対象となるプログラムをリソース部2に実現した
メモリに読み込み、その内容を参照しながらプログラム
を解釈実行するインタプリタ部4とを有する構成であ
る。
FIG. 2 is a block diagram of an example of this conventional software debug support apparatus. The command processing unit 1 performs a process according to a command received from a user, hardware resources such as a register and a memory of a computer to be simulated. A resource section 2 that realizes the above in a pseudo manner, a resource display section 3 that displays the resource section 2, a program to be simulated is loaded into a memory realized in the resource section 2, and the program is interpreted and executed with reference to the contents. This is a configuration including an interpreter unit 4.

【0004】この従来装置では、シミュレーション対象
のコンピュータが変更しても同一のコマンドにより共通
に使用できるコマンド処理部1と、それ以外の部分(リ
ソース部2、リソース表示部3、インタプリタ部4)と
に分けることにより、シミュレーションの対象となるコ
ンピュータが変更した場合に、新たに開発が要求される
部分を減らし、開発期間の短縮化を図ることを目的とし
ている。
In this conventional apparatus, a command processing unit 1 that can be commonly used by the same command even if the computer to be simulated is changed, and the other units (resource unit 2, resource display unit 3, interpreter unit 4). The purpose is to reduce the development period and shorten the development period when the computer to be simulated is changed.

【0005】[0005]

【発明が解決しようとする課題】ところで、最近の通信
システムでは、処理性能を確保するため、機能単位に複
数のプロセッサを用意して負荷分散を図ることが常識と
なっており、プロセッサ間の通信部分のテストは重要で
ある。また、デバッグ作業の効率を図るため、実ターゲ
ットマシンによる試験の代わりに1台の汎用コンピュー
タ上にマルチプロセッサシミュレーション環境を構築
し、その上でプロセッサ間通信試験を行うことが多い。
By the way, in recent communication systems, it is common knowledge that a plurality of processors are prepared for each functional unit to balance the load in order to secure processing performance. Partial testing is important. In addition, in order to improve the efficiency of debugging work, a multiprocessor simulation environment is often constructed on one general-purpose computer instead of the test by an actual target machine, and the interprocessor communication test is performed on it.

【0006】しかるに、上記の従来装置は、1台の汎用
コンピュータ上に1シミュレーションシステムを構築し
ており、異なる汎用コンピュータ上のシミュレーション
システム間のデータ送受信については不可能である。ま
た、マルチプロセッサシミュレーション環境を一台の汎
用コンピュータ上に実現する方法は、シミュレーション
するプロセッサの数が増加すると汎用コンピュータに対
する負荷が増大するため、著しい処理能力低下を招き、
マルチプロセッサ上の組み込みソフトウェアの試験能率
化を妨げるという欠点がある。
However, the above-mentioned conventional apparatus constructs one simulation system on one general-purpose computer, and cannot transmit / receive data between simulation systems on different general-purpose computers. In addition, the method of realizing a multiprocessor simulation environment on one general-purpose computer causes a significant decrease in processing capacity because the load on the general-purpose computer increases as the number of processors to be simulated increases.
There is a drawback that it hinders efficient testing of embedded software on a multiprocessor.

【0007】本発明は上記の点に鑑みなされたもので、
複数の汎用コンピュータ上にマルチプロセッサシミュレ
ート環境を実現し、より一層のデバッグ効率の向上を実
現し得る組み込みソフトウェアデバッグ支援装置を提供
することを目的とする。
[0007] The present invention has been made in view of the above points,
It is an object of the present invention to provide a built-in software debug support device that can realize a multiprocessor simulation environment on a plurality of general-purpose computers and can further improve debugging efficiency.

【0008】[0008]

【課題を解決するための手段】本発明は上記の目的を達
成するため、複数の汎用コンピュータを高速通信回線で
接続し、それら複数の汎用コンピュータのそれぞれを、
実ターゲットマシン上のオペレーティングシステムが提
供するシステムコールを擬似し、実ターゲットマシン上
で走行するデバッグ対象組み込みソフトウェアを汎用コ
ンピュータ上で走行させるための環境を提供するオペレ
ーティングシステムシミュレーション手段と、試験者が
デバッグを行うために入力するコマンドを受け付け、そ
れをデバッグ指示データに変換して出力してデバッグ対
象組み込みソフトウェアに対するメモリリード/ライ
ト、レジスタリード/ライト及び走行制御を行い、その
結果をデバッグ情報として出力するデバッグ手段とを有
する構成としたものである。
In order to achieve the above object, the present invention connects a plurality of general-purpose computers with a high-speed communication line, and connects each of the plurality of general-purpose computers with
An operating system simulation means that simulates the system call provided by the operating system on the actual target machine and provides an environment for running the debug target embedded software that runs on the actual target machine on a general-purpose computer, and the tester debugs it. Command that is input to execute, converts it to debug instruction data, outputs it, performs memory read / write, register read / write, and running control for debug target embedded software, and outputs the result as debug information It has a configuration including a debug means.

【0009】また、本発明では、複数の汎用コンピュー
タのそれぞれを、プログラム内の任意の仮想アドレスに
マッピングし、マッピングしたデータをすべてのプロセ
スからアクセス可能とし、あるプロセスから他のプロセ
スへのメモリ/レジスタ内容の読み書きと走行/停止を
含む実行制御を指示できるプロセス制御機能と、同一汎
用コンピュータ内のプロセス間のデータ送受信を実現す
るプロセス間通信機能と、異なる汎用コンピュータ内の
プロセス間のデータ送受信を可能にするコンピュータ間
通信機能とを有するオペレーティングシステムと、オペ
レーティングシステムにより動作する中央処理装置と、
コンピュータ間通信を実現するハードウェア装置と、タ
ーゲットマシンに組み込んで用いられるデバッグ対象の
組み込みソフトウェアを保持し、中央処理装置が有する
メモリ上においてオペレーティングシステムが管理運用
している仮想空間にターゲットマシンの環境を擬似的に
作り出し、組み込みソフトウェアの実行動作結果である
デバッグ情報を出力する擬似ターゲット部と、試験者か
らのデバッグ指示を所望の擬似ターゲット部へ入力する
と共に、擬似ターゲット部からのデバッグ情報を編集し
て外部へ出力するユーザインタフェース部とを有する構
成としたものである。
Further, according to the present invention, each of a plurality of general-purpose computers is mapped to an arbitrary virtual address in a program, and the mapped data can be accessed by all processes, and a memory / memory from one process to another process can be accessed. A process control function that can instruct execution control including reading / writing of register contents and running / stopping, an inter-process communication function that realizes data transmission / reception between processes within the same general-purpose computer, and data transmission / reception between processes within different general-purpose computers An operating system having an inter-computer communication function that enables it, a central processing unit that operates by the operating system,
An environment of the target machine in a virtual space that holds a hardware device that realizes communication between computers and embedded software to be debugged that is used by being embedded in the target machine and that is managed and operated by the operating system on the memory of the central processing unit. A pseudo target part that outputs the debug information that is the execution operation result of the embedded software and the debug instruction from the tester to the desired pseudo target part, and edit the debug information from the pseudo target part. And a user interface unit for outputting to the outside.

【0010】[0010]

【作用】本発明では、オペレーティングシステムシミュ
レーション手段とデバッグ手段とにより構成される複数
のシミュレーション環境を、試験者の指示により複数の
汎用コンピュータに分離された際にも、汎用コンピュー
タ間を接続している通信回線を利用して高速なマルチプ
ロセッサシミュレーションができる。
In the present invention, the general-purpose computers are connected even when the plurality of simulation environments composed of the operating system simulation means and the debug means are separated into the plurality of general-purpose computers according to the instruction of the tester. High-speed multiprocessor simulations can be performed using communication lines.

【0011】また、本発明では、高速通信回線で接続さ
れた複数の汎用コンピュータのオペレーティングシステ
ム上で擬似ターゲット部を複数動作させたときに、ター
ゲットマシンにおける動作と同様に、擬似ターゲット部
同士の間で通信を行い、データの送受信ができるため、
ネットワーク環境における複数のターゲットマシンに組
み込むソフトウェアであっても、ターゲットマシンを用
いることなく複数の汎用コンピュータを用いてマルチプ
ロセッサシミュレート環境を実現できる。
Further, according to the present invention, when a plurality of pseudo target units are operated on the operating systems of a plurality of general-purpose computers connected by the high-speed communication line, the pseudo target units are operated between the pseudo target units in the same manner as the operation in the target machine. Because you can communicate with and send and receive data,
Even with software installed in a plurality of target machines in a network environment, a multiprocessor simulation environment can be realized using a plurality of general-purpose computers without using the target machines.

【0012】[0012]

【実施例】次に、本発明の実施例について説明する。図
1は本発明の一実施例の構成図を示す。本実施例は汎用
コンピュータを2台使用するデバッグ支援装置を示して
いる。図1において、汎用コンピュータ10及び40は
表示手段であるそれぞれ専用のディスプレイ20及び5
0を有している。また、汎用コンピュータ10、40は
それぞれ中央処理装置(CPU)101、401を有
し、オペレーティングシステム(OS)103、403
により動作する構成であり、また、高速な汎用コンピュ
ータ間通信を実現するための高速通信ハードウェア装置
102、402を具備しており、それが互いに高速通信
回線30で接続されている。
Next, an embodiment of the present invention will be described. FIG. 1 shows a block diagram of an embodiment of the present invention. This embodiment shows a debug support device using two general-purpose computers. In FIG. 1, general-purpose computers 10 and 40 are dedicated displays 20 and 5 serving as display means, respectively.
Has 0. The general-purpose computers 10 and 40 have central processing units (CPU) 101 and 401, respectively, and operating systems (OS) 103 and 403.
The high-speed communication hardware devices 102 and 402 for realizing high-speed general-purpose computer-to-computer communication are provided, which are connected to each other by the high-speed communication line 30.

【0013】汎用コンピュータ10と40はそれぞれ同
一構成であり、OS103,403と、擬似ターゲット
マップデータ104,404と、ユーザインタフェース
部109,409と、擬似ターゲット部110a,11
0b、410a,410bとから構成されている。擬似
ターゲット部110a,110b、410a,410b
はそれぞれCPU101,401が有するメモリ上にお
いて、OS103,403が管理運用している仮想空間
にターゲットマシンの環境を擬似的に作り出した構成部
分である。
The general-purpose computers 10 and 40 have the same configuration, and have OSs 103 and 403, pseudo target map data 104 and 404, user interface units 109 and 409, and pseudo target units 110a and 11a.
0b, 410a, 410b. Pseudo target parts 110a, 110b, 410a, 410b
Is a component part that artificially creates the environment of the target machine in the virtual space managed and operated by the OSs 103 and 403 on the memories of the CPUs 101 and 401, respectively.

【0014】擬似ターゲット部110a及び110bは
擬似オンラインOS部105a及び105bと、共有ラ
イブラリ部106a及び106bと、モニタ部107a
及び107bと、組み込みソフトウェア108a及び1
08bの保持部とからなる。同様に、擬似ターゲット部
410a及び410bは擬似オンラインOS部405a
及び405bと、共有ライブラリ部406a及び406
bと、モニタ部407a及び407bと、組み込みソフ
トウェア408a及び408bの保持部とからなる。
The pseudo target units 110a and 110b are pseudo online OS units 105a and 105b, shared library units 106a and 106b, and a monitor unit 107a.
And 107b and embedded software 108a and 1
And a holding portion of 08b. Similarly, the pseudo target units 410a and 410b are the pseudo online OS unit 405a.
And 405b, and shared library units 406a and 406
b, monitor units 407a and 407b, and a holding unit for embedded software 408a and 408b.

【0015】汎用コンピュータ10及び40は同一構成
であるので、以下、説明の便宜上代表して汎用コンピュ
ータ10の各構成要素について説明する。OS103
は、プログラム内のデータを任意の仮想アドレスにマッ
ピングし、マッピングしたデータをすべてのプロセスか
らアクセス可能にさせ、あるプロセスから他のプロセス
へのメモリ/レジスタ内容の読み書きや、プログラムの
実行/停止を含む実行制御を指示できるプロセス制御機
能を提供する。そして、同一汎用コンピュータ内のプロ
セス間のデータ送受信を実現するプロセス間通信機能及
び異なる汎用コンピュータ内のプロセス間のデータ送受
信を可能にするコンピュータ間通信機能を提供する。
Since the general-purpose computers 10 and 40 have the same configuration, each component of the general-purpose computer 10 will be described below as a representative for convenience of explanation. OS103
Maps data in a program to an arbitrary virtual address, makes the mapped data accessible to all processes, reads / writes memory / register contents from one process to another process, and executes / stops the program. Provide a process control function that can instruct execution control including. Then, an inter-process communication function for realizing data transmission / reception between processes in the same general-purpose computer and an inter-computer communication function for enabling data transmission / reception between processes in different general-purpose computers are provided.

【0016】擬似ラインOS部105a及び105b
は、組み込みソフトウェア108a及び108bが要求
するオンラインシステムコールを処理する構成部で、O
S103が持つプロセス間通信機能又はコンピュータ間
通信機能を利用して、同一汎用コンピュータ10の異な
る擬似ターゲット部内か又は異なる汎用コンピュータ4
0の擬似ターゲット部内の組み込みソフトウェア間のデ
ータ通信を可能にするプロセッサ間通信機能部105a
1及び105b1を具備している。この擬似ラインOS
部105a及び105bは、前記オペレーティングシス
テムシミュレーション手段を構成している。
Pseudo line OS sections 105a and 105b
Is a component that processes online system calls required by the embedded software 108a and 108b.
By using the inter-process communication function or the inter-computer communication function of S103, in different pseudo target units of the same general-purpose computer 10 or different general-purpose computers 4
Inter-processor communication function unit 105a that enables data communication between embedded software in the pseudo target unit of 0
1 and 105b1. This pseudo line OS
The units 105a and 105b constitute the operating system simulation means.

【0017】擬似ターゲットマップデータ104は、試
験者が擬似ターゲット部110a,110bと汎用コン
ピュータ10の対応関係を示したデータで、プロセッサ
間通信機能105a1,105b1が組み込みソフトウ
ェア108a,108bからのプロセッサ間通信要求に
応えてOS103が持つプロセス間通信機能を起動する
か、コンピュータ間通信機能を起動するのかを決定する
ときに参照される。
The pseudo target map data 104 is data in which the tester shows the correspondence between the pseudo target units 110a and 110b and the general-purpose computer 10, and the inter-processor communication functions 105a1 and 105b1 perform inter-processor communication from the embedded software 108a and 108b. Referenced when deciding whether to activate the inter-process communication function of the OS 103 or the inter-computer communication function in response to a request.

【0018】共有ライブラリ部106a,106bは、
組み込みソフトウェア108a,108bが実際にター
ゲットマシン上に搭載された際に、組み込みソフトウェ
ア108a,108bからアクセスさせるデータ及び関
数群の集合体であり、擬似ターゲット部110a,11
0bに組み込まれている。組み込みソフトウェア108
a,108bはマルチプロセッサシステムを構築するプ
ロセッサ(ターゲットマシン)に組み込まれるデバッグ
対象のソフトウェアで、デバッグのために擬似ターゲッ
ト部110a,110b内の保持部に保持される。
The shared library units 106a and 106b are
When the embedded software 108a, 108b is actually mounted on the target machine, the embedded software 108a, 108b is a set of data and function groups to be accessed by the embedded software 108a, 108b.
It is installed in 0b. Embedded software 108
Reference numerals a and 108b denote software to be debugged, which is installed in a processor (target machine) that constructs a multiprocessor system, and is held by holding units in the pseudo target units 110a and 110b for debugging.

【0019】モニタ部107a,107bは、擬似ター
ゲット部110a,110bのそれぞれの動作の監視を
行う構成部分で、複数の組み込みソフトウェア108
a,108bによる実行プロセスを識別するプロセス識
別子を管理し、OS103が有しているプロセス制御機
能を使用することにより、組み込みソフトウェア108
a,108bそれぞれをOS103上のプロセスとして
実行させ、プロセスに対するメモリ/レジスタ内容の書
き込みや、組み込みソフトウェア108a,108bそ
れぞれの実行/停止などの制御を行い、その結果得られ
る実行動作結果のデバッグ情報を出力する。
The monitor units 107a and 107b are constituent parts for monitoring the respective operations of the pseudo target units 110a and 110b, and a plurality of embedded software 108.
The embedded software 108 is managed by managing the process identifier for identifying the execution process by the a and 108b and using the process control function of the OS 103.
Each of a and 108b is executed as a process on the OS 103, the memory / register contents are written to the process, the execution / stop of each embedded software 108a and 108b is controlled, and the debug information of the execution operation result obtained as a result is obtained. Output.

【0020】ユーザインタフェース部109は、試験者
からのデバッグ指示をデバッグ指示データに変換して汎
用コンピュータ10内に入力し、試験者が指示する擬似
ターゲット部110a,110bのモニタ部107a,
107bに送信したり、各擬似ターゲット部110a,
110bのモニタ部107a,107bからの応答を受
信してそれを編集してディスプレイ20にデバッグ情報
として表示する。このユーザインタフェース部109
は、前記モニタ部107a,107bと共に、前記モニ
タ手段を構成している。
The user interface unit 109 converts the debug instruction from the tester into debug instruction data and inputs it into the general-purpose computer 10, and the monitor unit 107a of the pseudo target units 110a and 110b instructed by the tester.
107b, and each pseudo target unit 110a,
The response from the monitor units 107a and 107b of 110b is received, and the edited response is displayed on the display 20 as debug information. This user interface unit 109
Together with the monitor units 107a and 107b constitute the monitor means.

【0021】なお、試験対象の組み込みソフトウェア1
08a,108bは、OS103上で走行するために、
それぞれスタートアップルーチンが組み込まれている。
組み込みソフトウェア108a,108bの中には、初
期起動ソフトウェアが存在し、試験者の指示により最初
にこの初期起動ソフトウェアが起動され、初期起動ソフ
トウェアからその他の組み込みソフトウェアが順次起動
される。このように、組み込みソフトウェア108a,
108bが起動されることにより、それぞれのスタート
アップルーチンが駆動され、擬似オンラインOS部10
5a,105b及び共有ライブラリ部106a,106
bが所定の仮想アドレスにマッピングされ、組み込みソ
フトウェア108a,108bから参照可能となる。
The embedded software 1 to be tested
08a and 108b run on the OS 103,
Each has a built-in startup routine.
The embedded software 108a and 108b includes initial startup software, and the initial startup software is first activated by the instruction of the tester, and the other embedded software is sequentially activated from the initial startup software. In this way, the embedded software 108a,
When 108b is started, each startup routine is driven, and the pseudo online OS unit 10
5a, 105b and shared library sections 106a, 106
b is mapped to a predetermined virtual address and can be referred to by the embedded software 108a and 108b.

【0022】次に、本実施例の動作について説明する。
本実施例は、2台の汎用コンピュータ10及び40上で
4つの試験対象ターゲットマシンをシミュレーションす
る場合の例である。まず、試験者は、4つの試験対象タ
ーゲットマシン、すなわち擬似ターゲット部110a,
110bと440a,410bとをどちらの汎用コンピ
ュータ上で起動するかを決定する。本実施例では、汎用
コンピュータ10で擬似ターゲット部110a及び11
0bを起動し、汎用コンピュータ40で擬似ターゲット
部410a及び410bを起動することとする。
Next, the operation of this embodiment will be described.
This embodiment is an example of simulating four test target machines on two general-purpose computers 10 and 40. First, the tester selects four test target machines, that is, the pseudo target unit 110a,
It is determined which general-purpose computer 110b and 440a, 410b are to be activated on. In this embodiment, the general-purpose computer 10 uses the pseudo target units 110a and 11a.
0b, and the general-purpose computer 40 starts the pseudo target units 410a and 410b.

【0023】次に、試験者は汎用コンピュータ10と擬
似ターゲット部110a及び110bの対応関係と、汎
用コンピュータ40と擬似ターゲット部410a及び4
10bの対応関係を記述した擬似ターゲットマップデー
タ104,404を作成し、汎用コンピュータ10,4
0上にそれぞれ格納する。
Next, the tester determines the correspondence between the general-purpose computer 10 and the pseudo target units 110a and 110b, and the general-purpose computer 40 and the pseudo target units 410a and 410b.
The pseudo target map data 104, 404 in which the correspondence relationship of 10b is described is created, and the general-purpose computer 10, 4 is created.
0 respectively.

【0024】試験者は、ユーザインタフェース部109
と409を通して、各モニタ部107a及び107bと
407a及び407bに対して起動指示を送ることによ
り、各モニタ部107a及び107bと407a及び4
07bがOS103と403が有するプロセス制御機能
を使って、それぞれの擬似ターゲット部110a及び1
10bと410a及び410b内の組み込みソフトウェ
ア108a及び108bと408a及び408bの一部
である初期起動ソフトウェアをそれぞれ起動させること
ができる。
The tester uses the user interface unit 109.
And 409 to send an activation instruction to the monitor units 107a and 107b and 407a and 407b, respectively.
07b uses the process control functions of the OSs 103 and 403 to use the pseudo target units 110a and 1
Initial boot software that is part of the embedded software 108a and 108b and 408a and 408b in 10b and 410a and 410b, respectively, may be started.

【0025】その際、各モニタ部107a及び107b
と407a及び407bは、対応する擬似ターゲット部
110a及び110bと410a及び410b上で動作
する擬似オンラインOS部105a及び105bと40
5a及び405bが管理する試験対象の組み込みソフト
ウェア108a及び108bと408a及び408bの
プロセス情報を参照するために、所定の仮想アドレスに
それぞれの擬似オンラインOS部105a及び105b
と405a及び405bをマッピングする。
At this time, the monitor units 107a and 107b
And 407a and 407b are pseudo online OS units 105a, 105b and 40 operating on the corresponding pseudo target units 110a and 110b, 410a and 410b.
In order to refer to the process information of the embedded software 108a and 108b and 408a and 408b to be tested which are managed by 5a and 405b, the pseudo online OS units 105a and 105b are assigned to predetermined virtual addresses.
And 405a and 405b are mapped.

【0026】各モニタ部107a及び107bと407
a及び407bから起動される初期起動ソフトウェアが
実行を始めると、順次その他の組み込みソフトウェアが
起動され、それらに組み込まれているスタートアップル
ーチンが実行され、擬似オンラインOS部105a及び
105bと405a及び405bに加えて共有ライブラ
リ部106a及び106bと406a及び406bが所
定の仮想アドレスにマッピングされ、各組み込みソフト
ウェア108a及び108bと408a及び408bか
ら擬似オンラインOS部105a及び105bと405
a及び405bが提供するオンラインシステムコール及
び共有ライブラリ部106a及び106bと406a及
び406bが提供する関数が発行できるようになる。
Each monitor unit 107a, 107b and 407
When the initial startup software started from a and 407b starts executing, other built-in software is sequentially started and the start-up routine included in them is executed, and in addition to the pseudo online OS units 105a and 105b and 405a and 405b. The shared library units 106a and 106b and 406a and 406b are mapped to predetermined virtual addresses, and the built-in software 108a and 108b and 408a and 408b generate pseudo online OS units 105a, 105b and 405.
The online system call provided by a and 405b and the functions provided by the shared library units 106a and 106b and 406a and 406b can be issued.

【0027】ここで、例えば、実行中の組み込みソフト
ウェア108aから擬似オンラインOS部105aが具
備するプロセッサ間通信機能部105a1をコールし
て、擬似ターゲット部110b内の組み込みソフトウェ
ア108bに対してデータ転送要求があった場合は、プ
ロセッサ間通信機能部105a1は、擬似ターゲットマ
ップデータ104を参照して同一汎用コンピュータ10
内のデータ通信と判断し、OS103が持つプロセス間
通信機能を駆動してプロセッサ間通信をシミュレートす
る。
Here, for example, the embedded software 108a being executed calls the interprocessor communication function unit 105a1 provided in the pseudo online OS unit 105a, and a data transfer request is issued to the embedded software 108b in the pseudo target unit 110b. If there is, the inter-processor communication function unit 105a1 refers to the pseudo target map data 104, and the same general-purpose computer 10
Then, the inter-processor communication function of the OS 103 is driven to simulate inter-processor communication.

【0028】また、実行中の組み込みソフトウェア10
8aから擬似オンラインOS部105aが具備するプロ
セッサ間通信機能部105a1をコールして、異なる汎
用コンピュータ40の擬似ターゲット部410a内の組
み込みソフトウェア408aに対してデータ転送要求が
あった場合は、プロセッサ間通信機能部105a1は、
擬似ターゲットマップデータ104を参照して異なる汎
用コンピュータ間のデータ通信と判断し、OS103が
持つコンピュータ間通信機能を駆動し、高速通信ハード
ウェア装置102を制御し、高速通信回線30を介して
汎用コンピュータ40上の擬似ターゲット部410a内
の組み込みソフトウェア408aにデータを転送し、プ
ロセッサ間通信をシミュレートする。
In addition, the embedded software 10 being executed
8a calls the interprocessor communication function unit 105a1 included in the pseudo online OS unit 105a, and if there is a data transfer request to the embedded software 408a in the pseudo target unit 410a of the different general-purpose computer 40, the interprocessor communication is performed. The functional unit 105a1 is
The pseudo target map data 104 is referred to, it is determined that the data communication is between different general-purpose computers, the inter-computer communication function of the OS 103 is driven, the high-speed communication hardware device 102 is controlled, and the general-purpose computer is connected via the high-speed communication line 30. Data is transferred to the built-in software 408a in the pseudo target unit 410a on 40 to simulate interprocessor communication.

【0029】このように、本実施例によれば、高速通信
回線30を利用することにより複数の汎用コンピュータ
10及び40上に複数のターゲットマシンと同じ試験環
境を実現することができるため、汎用コンピュータに対
する負荷分散が図れ、よって処理能力の低下を防ぐこと
ができる。
As described above, according to this embodiment, the same test environment as a plurality of target machines can be realized on the plurality of general-purpose computers 10 and 40 by using the high-speed communication line 30, so that the general-purpose computer can be realized. It is possible to balance the load on the server, and thus prevent a decrease in processing capacity.

【0030】なお、本発明は上記の実施例に限定される
ものではなく、汎用コンピュータ内の擬似ターゲット部
は一つ又は3以上であってもよく、また汎用コンピュー
タは3以上であってもよい。
The present invention is not limited to the above-described embodiment, and the number of pseudo target units in the general-purpose computer may be one or three or more, and the number of general-purpose computers may be three or more. .

【0031】[0031]

【発明の効果】以上説明したように、本発明によれば、
汎用コンピュータ間を接続している通信回線を利用して
ターゲットマシンを用いることなく、複数の汎用コンピ
ュータを用いてマルチプロセッサシミュレート環境を実
現できるため、汎用コンピュータに対する負荷分散を図
ることができ、よって従来のマルチプロセッサシステム
の組み込みソフトウェアの試験工程で問題となっていた
シミュレーションするプロセッサの数の増加に伴う汎用
コンピュータの処理能力の低下の問題を解決することが
でき、より一層のデバッグ効率の向上が図れる。
As described above, according to the present invention,
Since a multiprocessor simulation environment can be realized using a plurality of general-purpose computers without using a target machine by using a communication line connecting general-purpose computers, load distribution to the general-purpose computers can be achieved. It is possible to solve the problem of the decrease in the processing capacity of a general-purpose computer due to the increase in the number of processors to be simulated, which has been a problem in the embedded software test process of the conventional multiprocessor system, and to improve the debugging efficiency further. Can be achieved.

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

【図1】本発明の一実施例の構成図である。FIG. 1 is a configuration diagram of an embodiment of the present invention.

【図2】従来の一例の構成図である。FIG. 2 is a configuration diagram of a conventional example.

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

10、40 汎用コンピュータ 20、50 ディスプレイ 30 高速通信回線 101、401 中央処理装置(CPU) 102、402 高速通信ハードウェア装置 103、403 オペレーティングシステム(OS) 104、404 擬似ターゲットマップデータ 105a、105b、405a、405b 擬似オンラ
インOS部 105a1、105b1、405a1、405b1 プ
ロセッサ間通信機能部 106a、106b、406a、406b 共有ライブ
ラリ部 107a、107b、407a、407b モニタ部 108a、108b、408a、408b 組み込みソ
フトウェア 109、409 ユーザインタフェース部
10, 40 General-purpose computer 20, 50 Display 30 High-speed communication line 101, 401 Central processing unit (CPU) 102, 402 High-speed communication hardware device 103, 403 Operating system (OS) 104, 404 Pseudo target map data 105a, 105b, 405a , 405b Pseudo online OS section 105a1, 105b1, 405a1, 405b1 Inter-processor communication function section 106a, 106b, 406a, 406b Shared library section 107a, 107b, 407a, 407b Monitor section 108a, 108b, 408a, 408b Embedded software 109, 409 User Interface part

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数の汎用コンピュータが高速通信回線
で接続された組み込みソフトウェアデバッグ支援装置で
あって、 前記複数の汎用コンピュータのそれぞれは、 実ターゲットマシン上のオペレーティングシステムが提
供するシステムコールを擬似し、実ターゲットマシン上
で走行するデバッグ対象組み込みソフトウェアを該汎用
コンピュータ上で走行させるための環境を提供するオペ
レーティングシステムシミュレーション手段と、 試験者がデバッグを行うために入力するコマンドを受け
付け、それをデバッグ指示データに変換して出力して前
記デバッグ対象組み込みソフトウェアに対するメモリリ
ード/ライト、レジスタリード/ライト及び走行制御を
行い、その結果をデバッグ情報として出力するデバッグ
手段とを有することを特徴とする組み込みソフトウェア
デバッグ支援装置。
1. An embedded software debug support apparatus in which a plurality of general-purpose computers are connected by a high-speed communication line, wherein each of the plurality of general-purpose computers simulates a system call provided by an operating system on an actual target machine. , Operating system simulation means that provides an environment for running the debug target embedded software running on the actual target machine on the general-purpose computer, and accepts the command input by the tester to perform debugging and gives a debug instruction. And a debug means for converting the data and outputting the data to perform memory read / write, register read / write, and running control for the embedded software to be debugged, and output the result as debug information. Embedded software debugging support device.
【請求項2】 複数の汎用コンピュータが高速通信回線
で接続された組み込みソフトウェアデバッグ支援装置で
あって、 前記複数の汎用コンピュータのそれぞれは、 プログラム内の任意の仮想アドレスにマッピングし、マ
ッピングしたデータをすべてのプロセスからアクセス可
能とし、あるプロセスから他のプロセスへのメモリ/レ
ジスタ内容の読み書きと走行/停止を含む実行制御を指
示できるプロセス制御機能と、同一汎用コンピュータ内
のプロセス間のデータ送受信を実現するプロセス間通信
機能と、異なる汎用コンピュータ内のプロセス間のデー
タ送受信を可能にするコンピュータ間通信機能とを有す
るオペレーティングシステムと、 該オペレーティングシステムにより動作する中央処理装
置と、 コンピュータ間通信を実現するハードウェア装置と、 ターゲットマシンに組み込んで用いられるデバッグ対象
の組み込みソフトウェアを保持し、前記中央処理装置が
有するメモリ上において前記オペレーティングシステム
が管理運用している仮想空間にターゲットマシンの環境
を擬似的に作り出し、該組み込みソフトウェアの実行動
作結果であるデバッグ情報を出力する擬似ターゲット部
と、 試験者からのデバッグ指示を所望の前記擬似ターゲット
部へ入力すると共に、該擬似ターゲット部からのデバッ
グ情報を編集して外部へ出力するユーザインタフェース
部とを有することを特徴とする組み込みソフトウェアデ
バッグ支援装置。
2. An embedded software debug support apparatus in which a plurality of general-purpose computers are connected by a high-speed communication line, wherein each of the plurality of general-purpose computers maps an arbitrary virtual address in a program, and maps the mapped data. A process control function that can be accessed from all processes and can instruct execution control including reading / writing of memory / register contents and running / stopping from one process to another process, and data transmission / reception between processes in the same general-purpose computer An operating system having an inter-process communication function for controlling the communication and an inter-computer communication function for enabling data transmission / reception between processes in different general-purpose computers, a central processing unit operating by the operating system, and an inter-computer communication function. Hardware device and embedded software to be debugged that is used by being embedded in the target machine, and artificially creates the environment of the target machine in the virtual space managed and operated by the operating system on the memory of the central processing unit. , Input the debug target from which the debug information that is the execution operation result of the embedded software and the debug instruction from the tester to the desired pseudo target, and edit the debug information from the pseudo target. An embedded software debug support device having a user interface unit for outputting to the outside.
【請求項3】 前記擬似ターゲット部は、 前記組み込みソフトウェアを保持する保持部と、 前記オペレーティングシステム上で動作し、該組み込み
ソフトウェアが前記ターゲットマシン上で走行する際に
発行する前記ターゲットマシンにおける通信機能を有す
るオペレーティングシステムが提供するシステムコール
に対する処理を擬似的に行い、前記汎用コンピュータの
オペレーティングシステムが持つプロセス間通信機能及
びコンピュータ間通信機能を起動する擬似オンラインオ
ペレーティングシステム部と、 前記組み込みソフトウェアが前記ターゲットマシン上に
搭載された際に、該組み込みソフトウェアからアクセス
させるデータ及び関数群の集合体である共有ライブラリ
部と、 保持された前記組み込みソフトウェアによる実行プロセ
スを識別するプロセス識別子を管理し、監視指示のあっ
た組み込みソフトウェアに対応して、前記汎用コンピュ
ータのオペレーティングシステムのプロセッサ制御機能
を起動して、該組み込みソフトウェアを該オペレーティ
ングシステム上のプロセスとして実行させ、前記擬似オ
ンラインオペレーティングシステム部と前記共有ライブ
ラリ部に全プロセスがアクセスすることを可能とし、前
記プロセスに対するメモリ/レジスタ内容の読み書き及
び走行/停止を含む実行制御を行い、その結果得られる
デバッグ情報を出力するモニタ部とを具備することを特
徴とする組み込みソフトウェアデバッグ支援装置。
3. The pseudo target unit includes a holding unit that holds the embedded software, and a communication function in the target machine that operates on the operating system and is issued when the embedded software runs on the target machine. A pseudo-online operating system unit for simulating a system call provided by an operating system, and activating an interprocess communication function and an intercomputer communication function of the operating system of the general-purpose computer; and the embedded software as the target. A shared library section, which is a set of data and a function group to be accessed from the embedded software when mounted on a machine, and an execution program executed by the retained embedded software. Managing a process identifier for identifying a computer, activating the processor control function of the operating system of the general-purpose computer in response to the embedded software instructed to monitor, and executing the embedded software as a process on the operating system. , Enables all processes to access the pseudo online operating system unit and the shared library unit, performs execution control including reading / writing of memory / register contents and running / stopping for the process, and obtains debug information obtained as a result. An embedded software debug support device comprising: a monitor unit for outputting.
JP7026530A 1995-02-15 1995-02-15 Embedded software debug support device Expired - Lifetime JP2728002B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7026530A JP2728002B2 (en) 1995-02-15 1995-02-15 Embedded software debug support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7026530A JP2728002B2 (en) 1995-02-15 1995-02-15 Embedded software debug support device

Publications (2)

Publication Number Publication Date
JPH08221296A true JPH08221296A (en) 1996-08-30
JP2728002B2 JP2728002B2 (en) 1998-03-18

Family

ID=12196046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7026530A Expired - Lifetime JP2728002B2 (en) 1995-02-15 1995-02-15 Embedded software debug support device

Country Status (1)

Country Link
JP (1) JP2728002B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095915B2 (en) 2005-04-13 2012-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Data value coherence in computer systems
WO2022195892A1 (en) * 2021-03-19 2022-09-22 三菱電機株式会社 Tracing control device, emulator, tracing control method, and tracing control program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04219835A (en) * 1990-12-20 1992-08-10 Fujitsu Ltd Program verification system of composite system
JPH0535534A (en) * 1991-07-31 1993-02-12 Mitsubishi Electric Corp Simulation system
JPH05241886A (en) * 1992-02-28 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> Operating system build-up type debug support system
JPH0659939A (en) * 1992-08-10 1994-03-04 Fujitsu Ltd Method for simulating parallel computer
JPH07248941A (en) * 1994-03-08 1995-09-26 Nec Corp Debug support device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04219835A (en) * 1990-12-20 1992-08-10 Fujitsu Ltd Program verification system of composite system
JPH0535534A (en) * 1991-07-31 1993-02-12 Mitsubishi Electric Corp Simulation system
JPH05241886A (en) * 1992-02-28 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> Operating system build-up type debug support system
JPH0659939A (en) * 1992-08-10 1994-03-04 Fujitsu Ltd Method for simulating parallel computer
JPH07248941A (en) * 1994-03-08 1995-09-26 Nec Corp Debug support device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095915B2 (en) 2005-04-13 2012-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Data value coherence in computer systems
WO2022195892A1 (en) * 2021-03-19 2022-09-22 三菱電機株式会社 Tracing control device, emulator, tracing control method, and tracing control program
JPWO2022195892A1 (en) * 2021-03-19 2022-09-22

Also Published As

Publication number Publication date
JP2728002B2 (en) 1998-03-18

Similar Documents

Publication Publication Date Title
US8352240B2 (en) Decoupling dynamic program analysis from execution across heterogeneous systems
US8930912B2 (en) Method and system for performing software verification
US9170904B1 (en) I/O fault injection using simulated computing environments
JPH04256034A (en) Computer system
US7111200B2 (en) Apparatus and method for debugging a logical partition
US20130212566A1 (en) Coordinating and controlling debuggers in a simulation environment
US20100280817A1 (en) Direct pointer access and xip redirector for emulation of memory-mapped devices
CN112764981B (en) Cooperative testing system and method
US8898444B1 (en) Techniques for providing a first computer system access to storage devices indirectly through a second computer system
JPH07248941A (en) Debug support device
EP3435229B1 (en) System integration using virtualization
JP2728002B2 (en) Embedded software debug support device
JP2019179284A (en) Simulation system and simulation program
JP3085730B2 (en) Parallel simulation method for complex CPU system
JP2000330970A (en) Device and method for simulation
JP2001318805A (en) Test method for built-in system and test system
JP2513401B2 (en) Method for manufacturing embedded software debug support device
JP3177131B2 (en) Electronic circuit analyzer
JPH07219980A (en) Test execution system
Ashton et al. SunOS Minix: a tool for use in Operating System Laboratories
KR100303188B1 (en) Method and apparatus for measuring code coverage of embedded software on a traget hardware platform
JPH03198132A (en) Simulation device
Zheng et al. WARP: Enabling fast CPU scheduler development and evaluation
JPH01159743A (en) Firm soft simulator
JPH11296408A (en) Software logic simulator for incorporation unit