JP2003316603A - Program verification system - Google Patents

Program verification system

Info

Publication number
JP2003316603A
JP2003316603A JP2002123082A JP2002123082A JP2003316603A JP 2003316603 A JP2003316603 A JP 2003316603A JP 2002123082 A JP2002123082 A JP 2002123082A JP 2002123082 A JP2002123082 A JP 2002123082A JP 2003316603 A JP2003316603 A JP 2003316603A
Authority
JP
Japan
Prior art keywords
virtual
program
data
ram
verification
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
JP2002123082A
Other languages
Japanese (ja)
Other versions
JP4171240B2 (en
Inventor
Katsumi Tsurumoto
克己 鶴本
Tsukasa Nagaki
司 永木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002123082A priority Critical patent/JP4171240B2/en
Publication of JP2003316603A publication Critical patent/JP2003316603A/en
Application granted granted Critical
Publication of JP4171240B2 publication Critical patent/JP4171240B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a verification system capable of verifying a program without waiting for the completion of a real machine device even in the case that program development precedes the hardware development of a real machine. <P>SOLUTION: Between an ICE debugger 506 corresponding to the specifications of the real machine device 150 and a virtual device 100 for simulating the specifications of the real machine device corresponding to a new program 414, a bridge 504 for performing a conversion processing or the like so as to adapt commands or the like from the virtual device 100 to the ICE debugger 506 is provided. Also, a synchronization RAM 404 is provided so as to absorb the difference of the operation speeds of the real machine device 150 and the virtual device 100 and the synchronization of the data transfer of the synchronization RAM 404 and a user RAM 402 is controlled by a synchronization program 412. <P>COPYRIGHT: (C)2004,JPO

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ICEを用いてマ
イコンプログラムの動作検証を行うプログラム検証シス
テムであって、特に、プログラム実行に必要な周辺デバ
イスとして実機デバイスと仮想デバイスとを用いるプロ
グラム検証システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program verification system for verifying the operation of a microcomputer program by using ICE, and in particular, a program verification system using an actual device and a virtual device as peripheral devices necessary for executing the program. Regarding

【0002】[0002]

【従来の技術】図15に、従来の実機デバッグセットの
一例を示す。図15に示すように、シングルチップマイ
コン制御用アプリケーションプログラムの評価は、ター
ゲットとなるシングルチップマイコンの代わりに、シン
グルチップマイコンの全機能をエミュレートできるイン
サーキットエミュレータ(以下ICEと称する)400
をデバッグボード18に組み込んだものを、ハードウエ
アで構成された実機デバッグセット(周辺デバイス12
0)に接続して行われていた。
2. Description of the Related Art FIG. 15 shows an example of a conventional real machine debug set. As shown in FIG. 15, an evaluation of an application program for controlling a single-chip microcomputer is performed by using an in-circuit emulator (hereinafter referred to as ICE) 400 that can emulate all functions of the single-chip microcomputer instead of the target single-chip microcomputer.
The debug board 18 is installed in the real machine debug set (peripheral device 12
It was done by connecting to 0).

【0003】しかし、このようなデバッグセットを用い
る場合、プログラムのテストを行うためには、システム
を動作させるハードウエアが先行完成していることが必
須条件であるため、ソフトウエア開発の工程がハードウ
エア開発の進捗状況に大きく左右されるという問題があ
った。
However, when such a debug set is used, in order to test the program, it is essential that the hardware for operating the system is completed in advance, so that the software development process is hard. There was a problem that it was greatly influenced by the progress of the wear development.

【0004】この問題を解決するために、ターゲットと
なるシングルチップマイコンのシミュレーションおよび
周辺デバイスのシミュレーションを行うことで、実機を
使わずに、プログラムを評価する方法が提案されてい
る。
In order to solve this problem, there has been proposed a method of evaluating a program by simulating a target single-chip microcomputer and peripheral devices, without using an actual machine.

【0005】このようなシミュレーション方法の一例
が、例えば特開平9−114700号公報に開示されて
いる。特開平9−114700号公報に開示されたシス
テムは、テスト/デバッグの対象となる組込みソフトウ
エアと、マイクロプロセッサユニット(MPU)および
メモリを模擬するMPUシミュレータと、入出力を模擬
する入出力装置模擬部と、MPUと1つ以上の入出力装
置を接続する信号線を模擬する入出力装置実行制御機構
と、シミュレータの起動順序を記述した起動定義ファイ
ルと、I/OモニタとI/Oモデルのプロセスを起動/
終了する手段と、ユーザが全てのI/Oモデルのリソー
ス情報を参照・変更できる手段と、I/OモデルとI/
Oモニタの接続関係を表示する手段を持つ入出力模擬部
操作環境とで構成されている。それぞれの構成要素は、
複数のプロセスで構成され、仮想配線にて接続されてい
る。このシミュレーション方法では、図16に示す通
り、実機周辺デバイス120を全て仮想デバイス100
にて実現する。
An example of such a simulation method is disclosed in, for example, Japanese Patent Laid-Open No. 9-114700. The system disclosed in Japanese Patent Laid-Open No. 9-114700 discloses a built-in software to be tested / debugged, an MPU simulator simulating a microprocessor unit (MPU) and a memory, and an input / output device simulation simulating input / output. Section, an input / output device execution control mechanism that simulates a signal line that connects the MPU and one or more input / output devices, a startup definition file that describes the startup sequence of the simulator, an I / O monitor, and an I / O model. Start process /
Means for ending, means for allowing the user to refer to and change resource information of all I / O models, I / O models and I / O models
It is composed of an input / output simulator operating environment having means for displaying the connection relationship of the O monitor. Each component is
It is composed of multiple processes and connected by virtual wiring. In this simulation method, as shown in FIG. 16, all of the actual peripheral devices 120 are virtual devices 100.
Will be realized in.

【0006】また、実機デバッグ方法とシミュレータデ
バッグ方法の両方の良いところを合わせた実機・シミュ
レータ混載システムの一例が、特開平8−6810号公
報に開示されている。特開平8−6810号公報に開示
されたシステムは、図17に示す通り、ICE64を利
用した実機デバッグセットと、仮想デバイス(シミュレ
ーション部50)との混載システムである。このシステ
ムでは、シミュレーション部50とICE64との入出
力データの受渡しは、専用の実機インターフェースボー
ド60を用いて実現されている。
An example of an actual machine / simulator mixed loading system that combines the advantages of both the actual machine debug method and the simulator debug method is disclosed in Japanese Patent Laid-Open No. 8-6810. As shown in FIG. 17, the system disclosed in Japanese Unexamined Patent Publication No. 8-6810 is a mixed system of an actual device debug set using ICE64 and a virtual device (simulation unit 50). In this system, transfer of input / output data between the simulation unit 50 and the ICE 64 is realized by using a dedicated real machine interface board 60.

【0007】[0007]

【発明が解決しようとする課題】しかし、従来の実機・
シミュレータ混載システムでは、図17に示したよう
に、仮想デバイスとICEとの入出力データの受渡しを
実現するために、専用のインターフェースボード60を
必要とする。このため、周辺デバイスの仕様変更等が発
生した場合は、それに合わせてインターフェースボード
を設計変更するために費用と時間が必要となり、プログ
ラムのデバッグおよび検証を効率良く行えないという問
題があった。
[Problems to be Solved by the Invention]
In the simulator-embedded system, as shown in FIG. 17, a dedicated interface board 60 is required in order to transfer the input / output data between the virtual device and the ICE. For this reason, when the specifications of the peripheral device are changed, the interface board design is changed accordingly, which requires cost and time, which makes it difficult to efficiently debug and verify the program.

【0008】本発明は、上記の問題を解決するために、
実機デバイスおよび仮想デバイスを周辺デバイスとして
用いる場合に、効率良くプログラムの検証を行うことが
可能なプログラム検証システムを提供することを目的と
する。
In order to solve the above problems, the present invention provides
It is an object of the present invention to provide a program verification system capable of efficiently verifying a program when using a real device and a virtual device as peripheral devices.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明にかかるプログラム検証システムは、マイ
コンの周辺デバイスとして実機デバイスおよび仮想デバ
イスを用いて、前記マイコン用プログラムの動作を検証
するプログラム検証システムであって、前記マイコン上
の前記プログラムの動作をエミュレーションするエミュ
レータと、前記実機デバイスに対応した検証動作を行う
よう前記エミュレータを制御する検証制御部と、前記検
証制御部と前記仮想デバイスとの間に設けられ、前記仮
想デバイスからの制御信号およびデータを前記検証制御
部に適合させるブリッジ部と、前記実機デバイスと前記
プログラムとの間の入出力データを格納する実機用RA
Mと、前記実機用RAMと前記仮想デバイスとの間に設
けられた同期化RAMと、前記実機デバイスに対する前
記プログラムの入出力動作に同期させて、前記同期化R
AMと前記実機用RAMとの間のデータ転送を制御す
る、仮想・実機同期処理部とを備えたことを特徴とす
る。
In order to achieve the above object, the program verification system according to the present invention verifies the operation of the microcomputer program by using an actual device and a virtual device as peripheral devices of the microcomputer. A program verification system, wherein an emulator that emulates an operation of the program on the microcomputer, a verification control unit that controls the emulator to perform a verification operation corresponding to the actual device, the verification control unit, and the virtual device And a bridge unit for providing control signals and data from the virtual device to the verification control unit, and a real machine RA for storing input / output data between the real machine device and the program.
M, a synchronization RAM provided between the real machine RAM and the virtual device, and the synchronization R by synchronizing with the input / output operation of the program with respect to the real machine device.
A virtual / actual machine synchronization processing unit for controlling data transfer between the AM and the actual machine RAM is provided.

【0010】この構成は、実機のハードウェア開発より
もプログラム開発の方が先行した場合でも、実機デバイ
スの完成を待たずにプログラム検証を可能とするため
に、既存の実機デバイスの仕様に対応した検証制御部
と、新規プログラムに対応する実機デバイスの仕様をソ
フトウェアによりシミュレーションする仮想デバイスと
の間に、この仮想デバイスからの制御信号やデータを検
証制御部に適合させるべく例えばコマンドやデータの変
換等を行うブリッジ部を設けたものである。これによ
り、実機デバイスの完成を待たずに、新規プログラムの
検証を行うことが可能となる。また、実機デバイスと仮
想デバイスとの動作速度の違いを吸収するために、プロ
グラムが使用する実機用RAMとは別に、同期化を行う
ための同期化RAMを設ける。さらに、同期化RAMと
実機用RAMとのデータ転送を同期制御するために仮想
・実機同期処理部を設ける。
This configuration corresponds to the specifications of the existing actual device in order to enable the program verification without waiting for the completion of the actual device even if the program development precedes the actual hardware development. Between the verification control unit and the virtual device that simulates the specifications of the actual device corresponding to the new program by software, in order to adapt the control signals and data from this virtual device to the verification control unit, for example, conversion of commands and data, etc. It is provided with a bridge section for performing. This makes it possible to verify the new program without waiting for the completion of the actual device. Further, in order to absorb the difference in operating speed between the real device and the virtual device, a synchronization RAM for performing synchronization is provided in addition to the RAM for the real device used by the program. Further, a virtual / actual machine synchronization processing unit is provided to synchronously control data transfer between the synchronization RAM and the actual machine RAM.

【0011】これにより、例えば、主機能が共通である
がユーザインターフェース周り(操作と表示に関する部
分)の仕様にバリエーションを有する、いわゆる展開機
種の開発を行うような場合に、新たにデバッグ用の実機
セットをハードウェアで作らずとも、既存の実機セット
を利用しつつ仮想デバイスでシミュレーションすること
が可能となる。また、従来のように、仮想デバイスとI
CEとの間で入出力データを受け渡しするための、専用
のインターフェースボードを作成する必要もない。以上
のように、本発明によれば、実機デバッグセットの完成
を待たずして、効率良くプログラムの開発を行うことが
可能なプログラム検証システムを提供できる。
Thus, for example, in the case of developing a so-called developed model having a common main function but having variations in specifications around the user interface (portion related to operation and display), a new real machine for debugging is added. Even if the set is not made with hardware, it is possible to simulate with a virtual device while using the existing real machine set. In addition, the virtual device and the I
There is no need to create a dedicated interface board for exchanging input / output data with the CE. As described above, according to the present invention, it is possible to provide a program verification system capable of efficiently developing a program without waiting for the completion of the actual machine debug set.

【0012】前記プログラム検証システムにおいて、前
記仮想デバイスと前記ブリッジ部とを仮想配線により接
続した構成とすることが好ましい。また、前記仮想デバ
イスを各機能毎に分けて複数備えた構成とすれば、他の
自動検証システムにも各デバイスの再利用が容易に行え
るという利点がある。
In the program verification system, it is preferable that the virtual device and the bridge section are connected by virtual wiring. Further, if a plurality of virtual devices are provided for each function, there is an advantage that other devices can be easily reused in other automatic verification systems.

【0013】前記プログラム検証システムにおいて、前
記実機デバイスにてモニタ出力される実機モニタ出力画
像を撮影する撮影装置と、前記実機モニタ出力画像と前
記仮想デバイスにてモニタ出力される仮想モニタ出力画
像とを検証結果ファイルへ記録する検証結果書込部とを
さらに備えた構成とすることが好ましい。
In the program verification system, a photographing device for photographing an actual device monitor output image output from the actual device device, an actual device monitor output image, and a virtual monitor output image output to the virtual device monitor. It is preferable that the configuration further includes a verification result writing unit that records the verification result file.

【0014】この構成によれば、例えば、新規プログラ
ムを搭載すべき実機デバイスの試作機が完成した場合等
に、プログラム検証のために当該実機デバイスの仕様に
対応させて準備した仮想デバイスを利用して、完成した
実機デバイスの動作検証を行うことができる。すなわ
ち、同じ仕様の実機デバイスおよび仮想デバイスを動作
させ、それらのモニタ出力画像を検証結果ファイルへ書
き込む。これにより、開発担当者が、検証結果ファイル
に書き込まれたモニタ出力画像を比較することにより、
実機デバイスが目的の仕様を満たしているか否かを判定
できる。また、異常があった場合、実機デバイスおよび
プログラムのどちらに問題があるのかを把握することが
容易になる。
According to this configuration, for example, when a prototype of an actual device to which a new program is to be mounted is completed, a virtual device prepared corresponding to the specifications of the actual device is used for program verification. Thus, the operation verification of the completed actual device can be performed. That is, the actual device and the virtual device having the same specifications are operated, and their monitor output images are written in the verification result file. This allows the developer to compare the monitor output images written in the verification result file,
It is possible to determine whether or not the actual device meets the target specifications. Further, when there is an abnormality, it becomes easy to understand which of the actual device and the program has the problem.

【0015】さらに、この好ましい構成において、前記
周辺デバイスにおける所定の変化を検出するイベント検
出部と、前記イベント検出部の検出結果に従ったタイミ
ングで、前記実機モニタ出力画像と前記仮想モニタ出力
画像とを取り込む画像取得部とをさらに備えれば、例え
ば実機デバイスおよび仮想デバイスにおける入出力タイ
ミングに合わせてモニタ出力画像を取り込むことがで
き、さらに効率良く検証を行うことが可能となる。
Further, in this preferable configuration, the event detecting section for detecting a predetermined change in the peripheral device, and the real machine monitor output image and the virtual monitor output image at a timing according to the detection result of the event detecting section. If an image acquisition unit that captures the image is further provided, the monitor output image can be captured in accordance with the input / output timings of the actual device and the virtual device, and the verification can be performed more efficiently.

【0016】さらに、前記撮影装置を複数台備えた構成
とすれば、より多くの情報を検証結果ファイルへ記録す
ることが可能となり、例えば実機デバイスを複数種類有
する機器等の検証の際に、検証精度を向上させることが
できる。
Further, if a plurality of the photographing devices are provided, more information can be recorded in the verification result file. For example, when verifying a device having a plurality of types of actual devices, verification is performed. The accuracy can be improved.

【0017】また、前記イベント検出部の検出結果に従
い、前記実機モニタ出力画像または仮想モニタ出力画像
を含む検証処理状況を検証処理状況を外部端末へ送信す
る検証状況配信部をさらに備えた構成とすることが好ま
しい。これにより、検証作業担当者が遠隔地に居る場合
でも、リアルタイムで正確な情報が掴める。さらに、携
帯情報端末等の外部端末から、制御信号およびその宛先
を含むメッセージを受信し、受信したメッセージから前
記制御信号を抽出し、当該制御信号の宛先へ配信するリ
モート制御部をさらに備えた構成とすればなお好まし
い。これにより、プログラム自動検証作業中に何らかの
問題が発生した場合に、プログラム検証システムをリモ
ート制御することが可能となり、効率良いデバッグおよ
び検証が可能になる。
Further, according to the detection result of the event detection unit, a verification status distribution unit for transmitting the verification processing status including the real machine monitor output image or the virtual monitor output image to the external terminal is further provided. It is preferable. As a result, even when the person in charge of verification work is in a remote place, accurate information can be obtained in real time. Furthermore, a configuration further comprising a remote control unit that receives a message including a control signal and its destination from an external terminal such as a portable information terminal, extracts the control signal from the received message, and delivers the control signal to the destination of the control signal. Is more preferable. As a result, if any problem occurs during the program automatic verification work, the program verification system can be remotely controlled, and efficient debugging and verification can be performed.

【0018】また、前記した各構成にかかるプログラム
検証システムにおいて、プログラムを自動的に検証する
ための操作手順を記録したシナリオファイルからデータ
を読み込み、前記ブリッジ部へ転送するシナリオ制御部
をさらに備えたことが好ましい。
Further, the program verification system according to each of the above-mentioned configurations further includes a scenario control unit for reading data from a scenario file recording an operation procedure for automatically verifying a program and transferring the data to the bridge unit. It is preferable.

【0019】この構成によれば、予め検証すべき操作手
順が記録されたシナリオファイルからデータを読み込む
ことにより、仮想デバイスまたは実機デバイスから検証
用の操作を行う必要がなくなり、本プログラム検証シス
テムに自動的に検証作業を実行させることが可能とな
る。これにより、プログラム検証効率をさらに向上させ
ることができる。
According to this configuration, by reading the data from the scenario file in which the operation procedure to be verified is recorded in advance, it is not necessary to perform the verification operation from the virtual device or the actual device, and the program verification system automatically It is possible to perform the verification work physically. Thereby, the program verification efficiency can be further improved.

【0020】また、前記シナリオファイルから読み込ん
だデータの前記ブリッジ部への転送を、前記エミュレー
タの動作状況に合わせて制御するタイミング制御部をさ
らに備えた構成とすれば、なお好ましい。この構成によ
れば、例えば何らかの要因によりエミュレータが異常動
作した場合等にも、タイミング制御部が、例えばシナリ
オファイルを再度読み込んでブリッジ部へ転送する等の
制御を行う。これにより、自動検証作業の信頼性が向上
する。
It is more preferable to further include a timing control unit for controlling the transfer of the data read from the scenario file to the bridge unit according to the operating condition of the emulator. According to this configuration, for example, even when the emulator malfunctions due to some cause, the timing control unit performs control such as rereading the scenario file and transferring it to the bridge unit. This improves the reliability of the automatic verification work.

【0021】[0021]

【発明の実施の形態】最初に、以下の各実施形態で共通
する構成および用語について、図1を参照しながら説明
する。
BEST MODE FOR CARRYING OUT THE INVENTION First, configurations and terms common to the following embodiments will be described with reference to FIG.

【0022】プログラム414は、マイコン上で動作す
るプログラムとして開発されたものであり、本発明にか
かるプログラム検証システムにおいてデバッグ対象とな
るプログラムである。
The program 414 is developed as a program that operates on a microcomputer, and is a program to be debugged in the program verification system according to the present invention.

【0023】実機プログラム410とは、デバッグ対象
のプログラム414と、同期化プログラム412とを含
む。同期化プログラム412は、実機のマイコンには搭
載されず、プログラム検証システムにおいてのみ用いら
れ、後に詳述するが、仮想デバイス100からユーザR
AM402へのデータ書き込みを、実機デバイス150
からのデータ書き込みと同期させる処理を行う。
The real machine program 410 includes a program 414 to be debugged and a synchronization program 412. The synchronization program 412 is not installed in the actual microcomputer and is used only in the program verification system.
Writing data to the AM 402 is performed by the actual device 150.
Performs processing to synchronize with data writing from.

【0024】周辺デバイス120とは、プログラム41
4の動作検証に必要な入出力デバイスであり、実機デバ
イス150と仮想デバイス100とを含む。実機デバイ
ス150とは、プログラム414が搭載される実機の入
出力デバイス(ハードウェアそのもの)である。これに
対して、仮想デバイス100は、プログラム414が搭
載される実機のハードウェアをソフトウェアでシミュレ
ーションするものである。
The peripheral device 120 is the program 41.
4 is an input / output device required for the operation verification of No. 4, and includes an actual device 150 and a virtual device 100. The actual device 150 is an input / output device (hardware itself) of an actual device in which the program 414 is installed. On the other hand, the virtual device 100 simulates the hardware of an actual machine in which the program 414 is installed by software.

【0025】ICE400は、プログラム414を実行
検証するために、プログラム414が搭載される実機の
組み込みマイコンをエミュレートするインサーキットエ
ミュレータ(in circuit emulator)であり、マイコン
エミュレータ406、ユーザRAM402、および同期
化RAM404を含む。ユーザRAM402は、実機デ
バイス150とプログラム414との間の入出力データ
を格納するRAMであり、同期化RAM404は、後に
詳述するが、仮想デバイス120からユーザRAM40
2へ書き込むべきデータを一時的に格納するRAMであ
る。
The ICE 400 is an in-circuit emulator that emulates an actual built-in microcomputer in which the program 414 is mounted in order to verify the execution of the program 414. The ICE 400 includes a microcomputer emulator 406, a user RAM 402, and a synchronization. It includes a RAM 404. The user RAM 402 is a RAM that stores input / output data between the actual device 150 and the program 414, and the synchronization RAM 404 is described in detail later, but from the virtual device 120 to the user RAM 40.
2 is a RAM for temporarily storing the data to be written to the memory 2.

【0026】ICE400の動作は、デバッガ500に
より制御される。デバッガ500は、ブリッジ504お
よびICEデバッガ506(検証制御部)を含む。IC
Eデバッガ506は、実機デバイス150の仕様に対応
した検証動作をICE400に実行させるように設計さ
れている。これに対して、ブリッジ504は、実機デバ
イス150の代わりに仮想デバイス100を入出力デバ
イスとして用いた検証動作を可能とするために、仮想デ
バイス100とICE506との間で制御コマンドの変
換等を行うものであり、ソフトウェアで実現される。
The operation of the ICE 400 is controlled by the debugger 500. The debugger 500 includes a bridge 504 and an ICE debugger 506 (verification control unit). IC
The E debugger 506 is designed to cause the ICE 400 to execute a verification operation corresponding to the specifications of the actual device 150. On the other hand, the bridge 504 performs conversion of control commands between the virtual device 100 and the ICE 506 in order to enable the verification operation using the virtual device 100 as an input / output device instead of the actual device 150. It is realized by software.

【0027】すなわち、本実施形態にかかるプログラム
検証システムは、実機のハードウェア開発よりもプログ
ラム開発の方が先行した場合でも、実機デバイスの完成
を待たずにプログラム検証を可能とするために、既存の
実機デバイス150およびICEデバッガ506を用い
ながら、新規プログラム(プログラム414)に対応す
る実機デバイスの仕様をソフトウェアによりシミュレー
ションする仮想デバイス100と、この仮想デバイス1
00をICEデバッガ506に適合させるブリッジ50
4とを設けたものである。
That is, the program verification system according to the present embodiment enables program verification without waiting for the completion of the actual device even if the program development precedes the actual hardware development. The virtual device 100 that simulates the specifications of the real device corresponding to the new program (program 414) by software while using the real device 150 and the ICE debugger 506, and the virtual device 1
50 adapting 00 to ICE debugger 506
4 are provided.

【0028】仮想配線206とは、仮想デバイス120
とデバッガ500、並びに後の実施形態で説明する自動
検証制御部等を、仮想的に接続する配線である。仮想デ
バイス100およびデバッガ500等を複数のパーソナ
ルコンピュータで実現した場合は、この仮想配線206
として、ネットワーク、USB、RS232C、IEE
E1394を使用できる。また、仮想デバイス100お
よびデバッガ500等を、一台のパーソナルコンピュー
タ内で単独実行可能な複数のアプリケーションまたはプ
ロセスとして実現した場合は、仮想配線206は、アプ
リケーションまたはプロセス間にて通信可能なDDE、
COM等のデータ通信機能を利用して実現できる。な
お、仮想配線206の具体的な実施形態は、本発明の発
明者らによってなされた発明にかかる先の出願(特願2
001−219887号)に、詳しく開示されている。
The virtual wiring 206 is the virtual device 120.
And a debugger 500, and wiring for virtually connecting the automatic verification control unit and the like described in the later embodiment. When the virtual device 100, the debugger 500, etc. are realized by a plurality of personal computers, the virtual wiring 206
As network, USB, RS232C, IEEE
E1394 can be used. Further, when the virtual device 100, the debugger 500, and the like are realized as a plurality of applications or processes that can be independently executed in one personal computer, the virtual wiring 206 is a DDE that enables communication between applications or processes.
It can be realized by using a data communication function such as COM. It should be noted that a specific embodiment of the virtual wiring 206 is described in the previous application (Japanese Patent Application No.
No. 001-219887).

【0029】仮想配線206による通信方法は、非同期
通信または同期通信のどちらでもよい。非同期通信と
は、データを通信相手に一方的に送信するだけで、返信
がない通信方法である。同期通信とは、データを通信相
手に送信した後、通信相手から返信データが返ってくる
まで待っている通信方法である。
The communication method using the virtual wiring 206 may be either asynchronous communication or synchronous communication. Asynchronous communication is a communication method in which data is sent unilaterally to a communication partner and there is no reply. Synchronous communication is a communication method that waits until reply data is returned from the communication partner after transmitting data to the communication partner.

【0030】HTAとは、HTML Applicat
ionsの略で、Webページで実行可能なさまざまな
機能(HTML、CSS、スクリプト言語(Java
(登録商標、以下略)Script、VBA等)、Be
havior)をサポートする。
HTA stands for HTML Applicat
Abbreviation of "ions", various functions (HTML, CSS, script language (Java
(Registered trademark, abbreviated below) Script, VBA, etc.), Be
Havior) is supported.

【0031】ActiveXとは、Internet対
応のOLEドキュメントオブジェクトであるActiv
eXドキュメントや、Internetアクセス機能を
持ったクライアントアプリケーションを開発するための
APIである。
ActiveX is an Internet-compatible OLE document object ActiveX.
It is an API for developing an eX document and a client application having an Internet access function.

【0032】OLEとは、Object Linkin
g and Embeddingの略で、アプリケーシ
ョンが別のアプリケーションの機能を呼出して自分自身
の機能のように利用したりできる。後述の実施形態で
は、HTAからMicrosoft社のExcelアプ
リケーションを利用する例を説明する。
OLE is an Object Linkin
Abbreviation for g and Embedding, an application can call the function of another application and use it as its own function. In the embodiment described below, an example of using the Excel application of Microsoft Corporation from the HTA will be described.

【0033】(第1実施形態)以下、本発明の一実施形
態について、図を用いて説明する。
(First Embodiment) An embodiment of the present invention will be described below with reference to the drawings.

【0034】本実施形態にかかるプログラム検証システ
ムは、仮想デバイス100とICE400との間の入出
力データの転送および同期化を全てソフトウエアで実現
し、周辺デバイス120およびICE400等をそれぞ
れ仮想配線206上に接続することで、プログラム41
4の検証目的に合わせて柔軟な対応を可能にしたシステ
ム構成である。すなわち、図17に示したような、IC
E64とシミュレーション部50との間に、ハードウエ
アで実現した専用のI/F60を有する従来のシステム
とは異なる構成である。
The program verification system according to the present embodiment realizes all transfer and synchronization of input / output data between the virtual device 100 and the ICE 400 by software, and the peripheral device 120, the ICE 400, etc. are respectively placed on the virtual wiring 206. By connecting to the program 41
It is a system configuration that enables flexible correspondence in accordance with the verification purpose of item 4. That is, the IC as shown in FIG.
The configuration is different from the conventional system having a dedicated I / F 60 realized by hardware between the E64 and the simulation unit 50.

【0035】<システム構成>本実施形態にかかるプロ
グラム検証システムでは、図1等に示す通り、プログラ
ム414の動作に必要な周辺デバイス120は、仮想デ
バイス100および実機デバイス150により構成され
る。また、仮想デバイス100およびデバッガ500
は、共に、仮想配線206に接続されている。
<System Configuration> In the program verification system according to the present embodiment, as shown in FIG. 1 and the like, the peripheral device 120 required for the operation of the program 414 is composed of the virtual device 100 and the actual device 150. In addition, the virtual device 100 and the debugger 500
Are both connected to the virtual wiring 206.

【0036】<初期化処理>本プログラム検証システム
は、起動すると、初期化処理を行う。初期化処理におい
て、仮想デバイス100およびデバッガ500は、仮想
配線206に接続するための接続処理を行う。また、デ
バッガ500のブリッジ504は、予め、仮想デバイス
100の仮想入力102および仮想出力104からのメ
ッセージ受信を行うために、受信割込み許可しておく。
また、ICE400は、予め、プログラム414を実行
状態にしておく。
<Initialization Processing> When the program verification system is started, initialization processing is performed. In the initialization process, the virtual device 100 and the debugger 500 perform a connection process for connecting to the virtual wiring 206. In addition, the bridge 504 of the debugger 500 permits reception interrupts in advance in order to receive messages from the virtual input 102 and virtual output 104 of the virtual device 100.
Further, the ICE 400 puts the program 414 into the execution state in advance.

【0037】<仮想入力からICEへのデータ転送>仮
想入力102からICE400へのデータ転送は、以下
の(a1)〜(a3)のとおりに実行される。
<Data Transfer from Virtual Input to ICE> Data transfer from the virtual input 102 to the ICE 400 is executed as in (a1) to (a3) below.

【0038】(a1)仮想入力から仮想配線へのデータ
送出;仮想入力102にて発生した入力イベントは、デ
バッガ500へのRAM書込みメッセージ転送を指定
し、入力イベントデータを書込む同期化RAM404の
RAMアドレスとRAMデータとを、バススロット10
6経由で、仮想配線206へ同期通信にて送出する。
(A1) Data transmission from virtual input to virtual wiring: An input event generated at the virtual input 102 designates a RAM write message transfer to the debugger 500 and writes the input event data to the RAM of the synchronization RAM 404. The address and the RAM data are transferred to the bus slot 10
It is sent to the virtual wiring 206 via the synchronous communication via 6.

【0039】(a2)ブリッジの書込み処理;仮想入力
102から、仮想配線206およびバススロット502
経由でブリッジ504に送られて来たメッセージは、図
2に示す通り、ブリッジ504内で受信割込み処理を行
う同期受信部550で受け取られる。その後、コマンド
変換部552が、仮想入力102からのメッセージをI
CEデバッガ506が処理できるフォーマットに適合さ
せるために、図3に示すようなメッセージ一覧表に従
い、受け取ったメッセージが、1バイトメモリライト、
1バイトメモリリード、ICEリセット、ICE実行等
のどのメッセージであるかを分析する。コマンド発行部
554は、その分析結果を、ICEデバッガ506内の
VirtualLink560に渡す。
(A2) Bridge write processing: from virtual input 102 to virtual wiring 206 and bus slot 502
The message sent to the bridge 504 by way of it is received by the synchronous receiving unit 550 that performs a reception interrupt process in the bridge 504, as shown in FIG. After that, the command conversion unit 552 sends the message from the virtual input 102 to the I
In order to conform to the format that the CE debugger 506 can process, according to the message list as shown in FIG. 3, the received message is a 1-byte memory write,
Analyze which message is 1-byte memory read, ICE reset, ICE execution, etc. The command issuing unit 554 passes the analysis result to the Virtual Link 560 in the ICE debugger 506.

【0040】VirtualLink560は、実機デ
バイス150の仕様に対応した検証動作を行うように設
計されている既存デバッガ562を制御して、プログラ
ム実行中のICE400内の同期化RAM404に、仮
想入力102から渡された指定RAMアドレスのRAM
データを、オンザフライにて書込む。その後、同期受信
部550が、前記メッセージへの返信としての書込み完
了通知を、メッセージの送信元である仮想入力102へ
返信する。なお、「オンザフライ」とは、プログラム4
14が実行中でも、ICE400内のユーザRAM40
2と同期化RAM404のRAMデータ、およびマイコ
ンエミュレータ406内のレジスタの読書きを可能とす
る、ICE400の機能である。
The VirtualLink 560 controls the existing debugger 562 designed to perform the verification operation corresponding to the specifications of the actual device 150, and is passed from the virtual input 102 to the synchronization RAM 404 in the ICE 400 during program execution. RAM with specified RAM address
Write data on the fly. After that, the synchronization receiving unit 550 sends back a writing completion notice as a reply to the message to the virtual input 102 that is the sender of the message. "On the fly" means program 4
User RAM 40 in ICE 400 even when 14 is running
2 is a function of the ICE 400 that enables reading and writing of RAM data in the synchronization RAM 404 and the register in the microcomputer emulator 406.

【0041】(a3)同期化RAMからユーザRAMへ
の転送処理;同期化プログラム412は、マイコンエミ
ュレータ406に、同期化RAM404に書込まれたデ
ータの変化を、プログラム414に必要なタイミングで
チェックさせている。
(A3) Transfer processing from synchronization RAM to user RAM; the synchronization program 412 causes the microcomputer emulator 406 to check the program 414 for changes in the data written in the synchronization RAM 404. ing.

【0042】同期化プログラム412は、例えばキー入
力の場合は、プログラム414のキー入力処理の直後に
呼ばれ、キー入力データにより同期化RAM404に生
じる変化をマイコンエミュレータ406経由でチェック
し、変化が有れば、キー入力データを、ユーザRAM4
02内に設けられたキー入力データ確定エリアに転送す
る。なお、仮想入力102のキーデータと実機入出力1
56からのキー入力データとが同時に入力された場合
は、仮想キーデータが優先される。この処理の順番は、
用途に合わせて、実機デバイス150からのキー入力デ
ータを優先する変更も可能である。
For example, in the case of key input, the synchronization program 412 is called immediately after the key input processing of the program 414, and the change generated in the synchronization RAM 404 by the key input data is checked via the microcomputer emulator 406, and there is a change. If so, the key input data is transferred to the user RAM 4
The data is transferred to the key input data confirmation area provided in 02. The key data of the virtual input 102 and the input / output 1 of the actual machine
When the key input data from 56 is simultaneously input, the virtual key data has priority. The order of this process is
It is also possible to change the key input data from the actual device 150 by giving priority to the application.

【0043】同期化プログラム412内のキー入力処理
は、具体的には、図4に示す通り、プログラム414か
ら同期化プログラム412を呼出すことにより開始され
る(ステップS400)。まず、マイコンエミュレータ
406経由にて仮想デバイス100から転送され同期化
RAM404に格納されているキー入力データを読込み
(ステップS402)、キー入力データの変化をチェッ
クする(ステップS404)。
The key input process in the synchronization program 412 is specifically started by calling the synchronization program 412 from the program 414 as shown in FIG. 4 (step S400). First, the key input data transferred from the virtual device 100 via the microcomputer emulator 406 and stored in the synchronization RAM 404 is read (step S402), and a change in the key input data is checked (step S404).

【0044】もし変化が有れば、キー入力データを、ユ
ーザRAM402内に設けられた実機キー入力データ確
定エリアに上書きする(ステップS406)。実機キー
入力データ確定エリアとは、ユーザRAM402におい
て、実機入出力156からキー入力されて確定されたデ
ータが記録されるべき領域である。このように、実機キ
ー入力データ確定エリアに仮想デバイス100からのキ
ー入力を上書きすることにより、仮想キー入力が、実機
キー入力より優先されて処理される。
If there is a change, the key input data is overwritten in the actual machine key input data confirmation area provided in the user RAM 402 (step S406). The actual machine key input data confirmation area is an area in the user RAM 402 in which the data confirmed by the key input from the actual machine input / output 156 should be recorded. In this way, by overwriting the key input from the virtual device 100 in the real machine key input data confirmation area, the virtual key input is processed with priority over the real machine key input.

【0045】また、同期化RAM404内の仮想デバイ
スから転送されたキーデータをクリアし(ステップS4
08)、周期的に呼ばれるキー処理にて連続データ処理
されない様に対応している。もし連続キーを有効にする
場合は、このステップS408を削除して、仮想入力1
02からキー押下時にONキーデータを送信し、キーが
離された時に、OFFキーデータを送信する様にすれば
良い。
The key data transferred from the virtual device in the synchronization RAM 404 is cleared (step S4).
08), so that continuous data processing is not performed by the periodically called key processing. If the continuous key is to be validated, step S408 is deleted and virtual input 1
The ON key data may be transmitted when the key is pressed from 02, and the OFF key data may be transmitted when the key is released.

【0046】<ユーザRAMから仮想出力へのデータ転
送>一方、仮想入力102からの入力データ等によっ
て、プログラム414がユーザRAM402内の出力R
AMデータを変更した場合、この出力RAMデータをユ
ーザRAM402から仮想出力104へ転送する手順
は、以下の(b1)〜(b4)のとおりである。
<Data Transfer from User RAM to Virtual Output> On the other hand, the program 414 outputs the output R in the user RAM 402 according to the input data from the virtual input 102.
When the AM data is changed, the procedure for transferring this output RAM data from the user RAM 402 to the virtual output 104 is as follows (b1) to (b4).

【0047】(b1)プログラムのユーザRAM変更;
プログラム414により、ユーザRAM402内の仮想
出力104に関係するRAMデータが変更された直後
に、ユーザRAM402から同期化RAM404内の特
定RAMに変化を伝えるための処理を行う。具体的に
は、図5に示す通り、プログラム414から仮想同期化
プログラムを呼び出すことにより、処理を開始する(ス
テップS420)。プログラム414からユーザRAM
402への出力処理(ステップS422)を行った直後
に、ユーザRAM402における出力RAMデータの変
化を検出し(ステップS424)、変化があれば、出力
RAMデータをユーザRAM402から同期化RAM4
04内に転送する(ステップS426)。
(B1) Program user RAM change;
Immediately after the RAM data related to the virtual output 104 in the user RAM 402 is changed by the program 414, processing for transmitting the change from the user RAM 402 to the specific RAM in the synchronization RAM 404 is performed. Specifically, as shown in FIG. 5, the process is started by calling the virtual synchronization program from the program 414 (step S420). User RAM from program 414
Immediately after the output process to the 402 (step S422), a change in the output RAM data in the user RAM 402 is detected (step S424). If there is a change, the output RAM data is transferred from the user RAM 402 to the synchronization RAM 4
The data is transferred in 04 (step S426).

【0048】(b2)仮想出力から仮想配線へのデータ
送出;次に、仮想出力104から、同期化RAM404
内の出力RAMデータの変化イベントを読込むために、
仮想出力104からデバッガ500へのメッセージ転送
の指定とイベントを読込むためのRAMアドレスとを一
緒に、バススロット108経由で、仮想配線206に同
期通信により送出する。
(B2) Data transmission from the virtual output to the virtual wiring; Next, from the virtual output 104, the synchronization RAM 404
To read the change event of the output RAM data in the
The message transfer designation from the virtual output 104 to the debugger 500 and the RAM address for reading the event are sent out to the virtual wiring 206 through the bus slot 108 by synchronous communication together.

【0049】(b3)ブリッジデバイスの読込み処理;
仮想出力104からバススロット502経由でブリッジ
504に送られて来たメッセージは、図2に示す通り、
受信割込み処理を行う同期受信部550で受け取られ
る。その後、コマンド変換部552が、図3に示すよう
なメッセージ一覧表に従い、受け取ったメッセージが、
1バイトメモリライト、1バイトメモリリード、ICE
リセット、ICE実行等のどのメッセージであるかを分
析する。コマンド発行部554は、その分析結果を、I
CEデバッガ506内のVirtualLink560
に渡す。VirtualLink560は、既存デバッ
ガ562を制御して、プログラム実行中にICE400
内の同期化RAM404内の出力RAMデータをオンザ
フライにて読み込む。その後、読み込んだ出力RAMデ
ータを、同期受信部550が、前記メッセージの送信元
である仮想出力104へ返信する。これにより、出力R
AMデータの仮想出力104への転送が、完了する。
(B3) Bridge device read processing;
The message sent from the virtual output 104 to the bridge 504 via the bus slot 502 is as shown in FIG.
It is received by the synchronous reception unit 550 which performs reception interrupt processing. After that, the command conversion unit 552 follows the message list as shown in FIG.
1-byte memory write, 1-byte memory read, ICE
Analyze which message is reset, ICE execution, etc. The command issuing unit 554 displays the analysis result as I
VirtualLink 560 in CE debugger 506
Pass to. The VirtualLink 560 controls the existing debugger 562 to execute the ICE400 during program execution.
The output RAM data in the synchronization RAM 404 therein is read on the fly. After that, the synchronous receiving unit 550 returns the read output RAM data to the virtual output 104 that is the transmission source of the message. As a result, the output R
The transfer of AM data to virtual output 104 is complete.

【0050】(b4)仮想出力の表示処理;仮想出力1
04は、出力RAMデータを元に、パソコンモニタに仮
想LCD表示等を行う。
(B4) Virtual output display processing: virtual output 1
04 displays a virtual LCD on the personal computer monitor based on the output RAM data.

【0051】また、上述したように同期化RAM404
の変化のイベントを使う代わりに、仮想入力102から
一定周期にて、デバッガ500にユーザRAM402の
データを読込むことにより、仮想出力104で仮想LC
D表示等を行うようにしてもよい。
Further, as described above, the synchronization RAM 404
Instead of using the change event of the virtual input 102, by reading the data of the user RAM 402 into the debugger 500 at a constant cycle from the virtual input 102, the virtual LC is displayed at the virtual output 104.
You may make it display D etc.

【0052】<効果>以上のように、本実施形態によれ
ば、周辺デバイス120として実機デバイス150と仮
想デバイス100とを用い、ICE400内に同期化R
AM404を設け、仮想デバイス100とICE400
との同期化処理を全てソフトウエア(ブリッジ504お
よび同期化プログラム412)で行うことが可能とな
る。これにより、実機デバッグセットの完成を待たずし
て、効率良くプログラムの開発が可能となる。
<Effect> As described above, according to this embodiment, the real device 150 and the virtual device 100 are used as the peripheral devices 120, and the synchronization R is set in the ICE 400.
The AM 404 is provided, and the virtual device 100 and the ICE 400 are provided.
It is possible to perform all the synchronization processing with the software (the bridge 504 and the synchronization program 412). This allows efficient program development without waiting for the completion of the actual debug set.

【0053】なお、本実施形態において、機能の異なる
複数の仮想デバイス100を、仮想配線206に接続し
た構成としてもよい。この構成によれば、他の自動検証
システムにも各デバイスの再利用が容易に行えるという
利点がある。
In this embodiment, a plurality of virtual devices 100 having different functions may be connected to the virtual wiring 206. According to this configuration, there is an advantage that other devices can be easily reused in other automatic verification systems.

【0054】(第2実施形態)ハードウェア開発よりも
プログラム開発が先行している場合、実機デバッグセッ
トが完成すれば、実機デバッグセットが正常に動作して
いるかを、開発中のプログラムを用いて動作検証するこ
とが必要になる。しかし、従来は、動作検証の際に実機
デバッグセットが正常に動作しない場合、プログラムあ
るいは実機デバッグセットのどちらが悪いのかを判断す
ることが難しく、解析に時間がかかるという問題もあっ
た。
(Second Embodiment) In the case where the program development precedes the hardware development, if the actual machine debug set is completed, whether the actual machine debug set is operating normally is checked by using the program under development. It is necessary to verify the operation. However, conventionally, when the actual device debug set does not operate normally at the time of operation verification, it is difficult to determine which of the program and the actual device debug set is bad, and there is a problem that analysis takes time.

【0055】そこで、本発明の第2実施形態にかかるプ
ログラム検証システムは、図6等に示す通り、プログラ
ム414のプログラム動作に必要な実機デバイス150
の実入力152および実出力154を、ICE400か
らデバッガ500を経由して仮想配線206に接続した
構成である。また、本プログラム検証システムは、実入
力152および実出力154と同等な機能を仮想的に実
現した仮想入力102および仮想出力104を、仮想配
線206に接続した構成である。
Therefore, in the program verification system according to the second embodiment of the present invention, as shown in FIG. 6 and the like, the actual device 150 necessary for the program operation of the program 414.
The actual input 152 and the actual output 154 are connected to the virtual wiring 206 from the ICE 400 via the debugger 500. In addition, the program verification system has a configuration in which the virtual input 102 and the virtual output 104, which virtually realize the same functions as the actual input 152 and the actual output 154, are connected to the virtual wiring 206.

【0056】また、本プログラム検証システムでは、実
出力154の表示をPCカメラ204にて撮影し、この
PCカメラ204で撮影された映像を表示するカメラモ
ニタ202を、パソコンのモニタ上に設ける。また、実
出力154と同等機能である仮想出力104の画像も、
パソコンのモニタに表示する。
Further, in the program verification system, the camera monitor 202 for displaying the actual output 154 on the PC camera 204 and displaying the image captured by the PC camera 204 is provided on the monitor of the personal computer. Also, the image of the virtual output 104, which has the same function as the actual output 154,
Display on the PC monitor.

【0057】カメラモニタ202および仮想出力104
の表示画像を記録するために、記録制御部302が、仮
想入力102のキーコードをICE400に向けて転送
した後、ICE400内の表示用イメージデータに合わ
せて表示する実出力154および仮想出力104の表示
画像をクリップボード200にコピーし、検証結果ファ
イル350に記録する。合わせて、その時の表示ダンプ
データも、検証結果ファイル350に記録する構成とな
っている。
Camera monitor 202 and virtual output 104
In order to record the display image of, the recording control unit 302 transfers the key code of the virtual input 102 to the ICE 400, and then displays the actual output 154 and the virtual output 104 in accordance with the display image data in the ICE 400. The displayed image is copied to the clipboard 200 and recorded in the verification result file 350. In addition, the display dump data at that time is also recorded in the verification result file 350.

【0058】検証結果ファイル350は、実出力154
と仮想出力104の実行結果をデバッグ作業者が目視で
比較できるようにするためのアプリケーションファイル
であり、例えば、Microsoft社のExcel
(登録商標、以下略)等を利用して実現することができ
る。検証結果ファイル350の読み書きを制御する記録
制御部302の制御プログラムは、HTAを利用して記
述されている。また、検証結果ファイル350をExc
elで作成する場合、その読書きを記録制御部302か
ら行うために、OLE機能を利用する。また、記録制御
部302と仮想配線206との間のデータ通信は、Ac
tiveXを利用して実現できる。
The verification result file 350 is the actual output 154.
Is an application file that allows a debugging operator to visually compare the execution results of the virtual output 104 and the virtual output 104. For example, Microsoft Excel
(Registered trademark, abbreviated below) and the like. The control program of the recording control unit 302 that controls reading and writing of the verification result file 350 is written using HTA. In addition, the verification result file 350 is
When creating with el, the OLE function is used in order to read and write from the recording control unit 302. Data communication between the recording control unit 302 and the virtual wiring 206 is Ac
It can be realized by using liveX.

【0059】<初期化処理>本実施形態にかかるプログ
ラム検証システムも、起動されると、まず初期化処理を
行う。仮想デバイス100、デバッガ500、および記
録制御部302は、仮想配線206に接続するための接
続処理を行う。ブリッジ504は、仮想入力102およ
び仮想出力104からのメッセージ受信を行うために、
予め、受信割込みを許可しておく。ICE400は、予
め、プログラム414を実行状態にしておく。イベント
検出部308は、仮想入力102およびブリッジ504
からのメッセージ受信を許可しておく。画像データ取得
部310は、仮想出力104からのメッセージ受信を許
可しておく。
<Initialization Processing> When the program verification system according to the present embodiment is also activated, first, initialization processing is performed. The virtual device 100, the debugger 500, and the recording control unit 302 perform connection processing for connecting to the virtual wiring 206. Bridge 504 receives messages from virtual input 102 and virtual output 104 by:
Receive interrupts are enabled in advance. The ICE 400 puts the program 414 into the execution state in advance. The event detection unit 308 includes a virtual input 102 and a bridge 504.
Allow receiving messages from. The image data acquisition unit 310 permits the message reception from the virtual output 104.

【0060】<実機デバッグセットの動作確認>本プロ
グラム検証システムでは、例えば実出力154の動作確
認を行うために、実出力154が完成するまでシミュレ
ータによるプログラム評価に利用していた仮想出力デバ
イス100と、完成した実出力154との動作比較を、
以下のとおりに行うことができる。
<Operation Confirmation of Actual Machine Debug Set> In this program verification system, for example, in order to confirm the operation of the actual output 154, the virtual output device 100 used for the program evaluation by the simulator until the actual output 154 is completed. , Operation comparison with the completed actual output 154,
It can be done as follows.

【0061】<仮想入力からICEへのデータ転送>仮
想入力102からICE400にデータを転送する際の
手順は、第1の実施形態で説明した(a1)〜(a3)
とほぼ同じである。ただし、(a1)の手順において、
仮想入力102が、デバッガ500だけでなく、イベン
ト検出308へもRAM書き込みメッセージ転送を指定
する点のみが、第1の実施形態とは異なる。
<Data Transfer from Virtual Input to ICE> The procedure for transferring data from the virtual input 102 to the ICE 400 is (a1) to (a3) described in the first embodiment.
Is almost the same as. However, in the procedure of (a1),
It differs from the first embodiment only in that the virtual input 102 specifies the RAM write message transfer not only to the debugger 500 but also to the event detection 308.

【0062】<ユーザRAMから仮想出力へのデータ転
送>仮想入力102からの入力データ等によって、プロ
グラム414がユーザRAM402内の出力RAMデー
タを変更した場合、この出力RAMデータを仮想出力1
04へ転送する手順は、第1の実施形態で説明した(b
1)〜(b4)とほぼ同じである。ただし、(b4)の
手順において、仮想出力104が、出力RAMデータを
パソコンモニタに仮想LCD表示等するだけでなく、出
力RAMデータに変化があれば、イベント検出部308
に対し、仮想配線206経由で画面変化のイベント及び
表示ダンプデータを転送する点が、第1の実施形態と異
なる。
<Data Transfer from User RAM to Virtual Output> When the program 414 changes the output RAM data in the user RAM 402 according to the input data from the virtual input 102 or the like, this output RAM data is changed to virtual output 1
The procedure for transferring to 04 is described in the first embodiment (b
It is almost the same as 1) to (b4). However, in the procedure of (b4), if the virtual output 104 not only displays the output RAM data on the personal computer monitor on the virtual LCD, but also if the output RAM data changes, the event detection unit 308.
On the other hand, the point that the screen change event and the display dump data are transferred via the virtual wiring 206 is different from the first embodiment.

【0063】<仮想入力から画像コピーイベント検出>
仮想入力102からキーイベントの発行を検出するため
に、イベント検出部308に、仮想入力102から仮想
配線206経由にて、キーデータが送られてくる。イベ
ント検出部308は、そのキーデータを、画像データ取
得部310に渡す。また、同期化RAM404またはユ
ーザRAM402から仮想出力104に取得した画像デ
ータの変化が有れば、仮想出力104から画像データ取
得部310に対して、画像変化のメッセージおよび仮想
出力104の表示ダンプデータを転送する。
<Image copy event detection from virtual input>
In order to detect the issuance of the key event from the virtual input 102, the key data is sent from the virtual input 102 to the event detection unit 308 via the virtual wiring 206. The event detection unit 308 passes the key data to the image data acquisition unit 310. Further, if there is a change in the image data acquired from the synchronization RAM 404 or the user RAM 402 to the virtual output 104, the virtual output 104 sends the image change message and the display dump data of the virtual output 104 to the image data acquisition unit 310. Forward.

【0064】<表示画像の記録>画像データ取得部31
0は、前記キーデータを、検証結果書込部304経由
で、検証結果ファイル350に書込む。検証結果書込部
304は、検証結果ファイル350の形式に適した方法
で、データの読み書きを行う。
<Recording Displayed Image> Image Data Acquisition Unit 31
0 writes the key data in the verification result file 350 via the verification result writing unit 304. The verification result writing unit 304 reads and writes data by a method suitable for the format of the verification result file 350.

【0065】また、画像データ取得部310は、仮想出
力104から表示変化のメッセージを受けると、キャプ
チャー制御部306に指示を出し、実出力154の画像
データであるカメラモニタ202の画像を、クリップボ
ード200にキャプチャーする。また、仮想出力104
の表示画像も、同様に、クリップボード200にキャプ
チャーする。クリップボード200にキャプチャーされ
た画像は、検証結果書込部304により、検証結果ファ
イル350に書込む。
When the image data acquisition unit 310 receives a display change message from the virtual output 104, it issues an instruction to the capture control unit 306 to display the image on the camera monitor 202, which is the image data of the actual output 154, on the clipboard 200. To capture. Also, the virtual output 104
Similarly, the display image of is also captured on the clipboard 200. The image captured on the clipboard 200 is written in the verification result file 350 by the verification result writing unit 304.

【0066】検証結果ファイル350の具体例を、図7
に示す。図7に示すように、検証結果ファイル350に
は、画面モードと操作キーとの組み合わせ毎に、仮想画
面および実機画面のそれぞれの画像イメージと、それら
の表示の際に仮想出力104から送られてきた表示ダン
プデータとが、記録される。
A concrete example of the verification result file 350 is shown in FIG.
Shown in. As shown in FIG. 7, the verification result file 350 is sent from the virtual output 104 when displaying each of the image images of the virtual screen and the actual screen for each combination of the screen mode and the operation key. Display dump data is recorded.

【0067】図7に示す検証結果ファイル350から
は、画面モードを“MDPWRON”として、“KPO
WER”という名称で定義されているキー操作(電源を
ONにする操作)をした場合、仮想画面および実機画面
の両方に何も表示されなかったことが分かる。また、
“KCH UP”という名称で定義されているキー操作
により、画面右上方に“CH03”という文字が表示さ
れ、さらに“KVOL UP”という名称で定義されて
いるキー操作により、画面左下に“Vol 24”とい
う文字が表示されたことが分かる。以上のキー操作の場
合は、いずれも、仮想画面と実機画面との表示が一致し
ている。しかし、“KMENU”という名称で定義され
たキー操作に対しては、仮想画面において最上行に“M
ENU”と表示されているのに、実機画面では“MEU
0”と表示されており、仮想画面と実機画面の表示状態
が一致していない。これにより、“KMENU”のキー
操作に関して、実機デバイス150にバグがあることが
分かる。
From the verification result file 350 shown in FIG. 7, the screen mode is set to "MDPWRON" and "KPO" is set.
It can be seen that when the key operation defined by the name "WER" (operation to turn on the power) is performed, nothing is displayed on both the virtual screen and the actual screen.
By the key operation defined by the name "KCH UP", the character "CH03" is displayed at the upper right of the screen, and by the key operation defined by the name "KVOL UP", "Vol 24" is displayed at the lower left of the screen. It can be seen that the character "" is displayed. In any of the above key operations, the virtual screen and the actual screen are the same. However, for the key operation defined by the name "KMENU", "M" is displayed at the top line on the virtual screen.
Although "ENU" is displayed, "MEU" is displayed on the actual machine screen.
It is displayed as "0", and the display states of the virtual screen and the real machine screen do not match. This shows that there is a bug in the real machine device 150 regarding the key operation of "KMENU".

【0068】なお、図7では模式的に示したが、実際に
は、検証結果ファイル350の「仮想画面」の欄には、
クリップボード200にキャプチャーされた仮想出力1
04の画像イメージそのものが貼り付けられる。また、
「実機画面」の欄には、PCカメラ204で撮影されカ
メラモニタ202からクリップボード200にキャプチ
ャーされた実出力154の画像イメージそのものが貼り
付けられる。従って、これらの画像イメージを見比べる
ことにより、デバッグ作業者が、仮想画面と実機画面と
の相違を容易に認識することが可能となる。
Although it is schematically shown in FIG. 7, actually, in the column of “virtual screen” of the verification result file 350,
Virtual output 1 captured on clipboard 200
The image image itself of 04 is pasted. Also,
The image of the actual output 154 captured by the PC camera 204 and captured from the camera monitor 202 to the clipboard 200 is pasted in the “actual screen” field. Therefore, by comparing these image images, the debug operator can easily recognize the difference between the virtual screen and the actual screen.

【0069】<複数台のPCカメラを制御>また、図8
に示すように、実出力154の状態を撮影するPCカメ
ラ204に加えて、実機入出力156の状態を撮影する
PCカメラ205をさらに設けて、実機デバイス150
を撮影する構成としてもよい。なお、実機入出力156
の状態とは、例えば、実機デバイス150へのキー入力
が実機モニタにエコー表示される様子や、処理結果がモ
ニタへ表示される様子等をいう。PCカメラ204およ
びPCカメラ205には、カメラモニタ202およびカ
メラモニタ203をそれぞれ接続する。また、カメラモ
ニタ202およびカメラモニタ203からクリップボー
ド200へキャプチャーすべきモニタ画像を選択するキ
ャプチャー選択部324を記録制御部302にさらに設
ける。これにより、より多くのモニタ画像を記録するこ
とが可能になる。
<Control of a plurality of PC cameras> FIG.
As shown in FIG. 3, in addition to the PC camera 204 for photographing the state of the actual output 154, a PC camera 205 for photographing the state of the actual device input / output 156 is further provided, and the actual device 150
May be configured to be photographed. Note that the actual machine input / output 156
The state of means, for example, a state in which a key input to the actual device 150 is echo-displayed on the actual device monitor, a processing result is displayed on the monitor, and the like. A camera monitor 202 and a camera monitor 203 are connected to the PC camera 204 and the PC camera 205, respectively. Further, the recording control unit 302 is further provided with a capture selection unit 324 that selects a monitor image to be captured from the camera monitor 202 and the camera monitor 203 to the clipboard 200. This makes it possible to record more monitor images.

【0070】<効果>以上のように、本実施形態では、
新規に開発した実出力154の動作確認を行うために、
この実出力154と同等の動作をする仮想出力104
(動作検証済み)をICE400にて動作させて、実出
力154および仮想出力104の実行結果を、デバッグ
作業者が目視で確認できる状態で、検証結果ファイル3
50に書込む。これにより、実出力154と仮想出力1
04の動作比較が容易になり、実出力154のハードウ
エアの動作検証を効率良く行える。また、実機デバイス
150の状態を撮影するためのPCカメラを複数台備え
た構成とすれば、より多くの情報の記録が可能となり、
検証精度を向上できる。
<Effect> As described above, in the present embodiment,
In order to confirm the operation of the newly developed actual output 154,
Virtual output 104 that operates in the same manner as this actual output 154
(Operation verified) is operated by the ICE 400, and the execution result of the actual output 154 and the virtual output 104 can be visually confirmed by the debug operator, and the verification result file 3
Write to 50. As a result, the actual output 154 and the virtual output 1
The operation comparison of 04 is facilitated, and the operation verification of the hardware of the actual output 154 can be efficiently performed. Further, if a plurality of PC cameras for photographing the state of the actual device 150 are provided, more information can be recorded,
The verification accuracy can be improved.

【0071】(第3の実施形態)本発明の第3の実施形
態にかかるプログラム検証システムと、第2の実施形態
にかかるプログラム検証システムとの主な相違点は、本
実施形態にかかるプログラム検証システムは、プログラ
ム自動検証を行うことにある。このため、図9等に示す
とおり、本プログラム検証システムは、第2の実施形態
で説明した検証結果ファイル350および記録制御部3
02の他に、シナリオファイル352と、これに対する
読み書きを制御するシナリオ制御部314とを備えてい
る。なお、記録制御部302およびシナリオ制御部31
4により、プログラム自動検証を実現するための自動検
証制御部300が構成されている。
(Third Embodiment) The main difference between the program verification system according to the third embodiment of the present invention and the program verification system according to the second embodiment is that the program verification according to the present embodiment is performed. The system consists in performing automatic program verification. Therefore, as shown in FIG. 9 and the like, the program verification system includes the verification result file 350 and the recording control unit 3 described in the second embodiment.
02, a scenario file 352, and a scenario control unit 314 that controls reading and writing of the scenario file 352. The recording control unit 302 and the scenario control unit 31
4 configures an automatic verification control unit 300 for realizing automatic program verification.

【0072】シナリオファイル352とは、プログラム
414を自動的に検証するための操作手順(シナリオ)
を記録したファイルであり、検証結果ファイル350と
同様に、例えば、Microsoft社のExcel等
を利用して実現することができる。自動検証制御部30
0の制御プログラムは、HTAを利用して記述されてい
る。また、検証結果ファイル350およびシナリオファ
イル352をExcelで作成する場合、これらの読書
きを自動検証制御部300から行うために、OLE機能
を利用する。また、自動検証制御部300と仮想配線2
06との間のデータ通信は、ActiveXを利用して
実現できる。
The scenario file 352 is an operation procedure (scenario) for automatically verifying the program 414.
Is a file in which is recorded, and can be realized by using, for example, Excel of Microsoft Corp., similarly to the verification result file 350. Automatic verification control unit 30
The control program of 0 is written using HTA. Further, when the verification result file 350 and the scenario file 352 are created in Excel, the OLE function is used in order to read and write these from the automatic verification control unit 300. In addition, the automatic verification control unit 300 and the virtual wiring 2
Data communication with 06 can be realized by using ActiveX.

【0073】以下、本プログラム検証システムの構成お
よび動作について、具体的な説明を行う。
The configuration and operation of this program verification system will be specifically described below.

【0074】本プログラム検証システムは、ICE40
0内の表示用イメージデータの変化に基づいて、仮想出
力104の表示を更新し、仮想出力104の表示画像を
クリップボード200経由にて検証結果ファイル350
に記録し、予め検証結果ファイル350に記録されてい
た検証用の期待値データと自動比較する構成となってい
る。
This program verification system is ICE40
The display of the virtual output 104 is updated based on the change of the display image data in 0, and the display image of the virtual output 104 is transferred via the clipboard 200 to the verification result file 350.
And the expected value data for verification recorded in the verification result file 350 in advance is automatically compared.

【0075】<シナリオからICEへのデータ転送の自
動シーケンス>以下、本プログラム検証システムの自動
検証処理について説明する。自動検証処理は、自動検証
制御部300が、シナリオファイル352からキーデー
タ等を読み出し、ICE400へ自動的に転送して実行
させ、その実行結果を検証結果ファイル350へ書き込
んで評価することにより行う。
<Automatic Sequence of Data Transfer from Scenario to ICE> The automatic verification process of the program verification system will be described below. The automatic verification processing is performed by the automatic verification control unit 300 by reading the key data and the like from the scenario file 352, automatically transferring the data to the ICE 400 and causing the ICE 400 to execute, and writing the execution result in the verification result file 350 for evaluation.

【0076】シナリオファイル352には、動作検証に
必要な操作情報(キーデータ等)が、検証手順に従って
あらかじめ記録されている。シナリオファイル352
は、Excelファイルを利用して、例えば、図11に
示すような状態遷移表として作成される。本プログラム
検証システムでは、シナリオファイルに記述されている
動作シーケンスに従って画面モードを所定の状態にした
後、イベントであるキーの発行を実行して、各キー入力
に対するアクション(有効または無効)の確認を行う。
例えば、図11に示すシナリオファイル352の場合、
図11中に示した実行順番に従い、まず、画面モードを
“MDPWRON”にした状態で、“KPOWER”、
“KCH UP”、“KVOL UP”、“KMEN
U”、“KSET”のキー入力を順次行い、これらの各
キー操作に対する仮想デバイスおよび実機デバイスの動
作を検証する。そして、次に、画面モードを“MDME
NU”とした状態で、上述と同様に“KPOWER”、
“KCH UP”、“KVOLUP”、“KMEN
U”、“KSET”のキー入力を順次行い、仮想デバイ
スおよび実機デバイスの動作を検証する。以降、“MD
TIMER”、“MDSET”、“MDTEST”の各
画面モードについて、同様に検証を行う。
In the scenario file 352, operation information (key data etc.) necessary for operation verification is recorded in advance according to the verification procedure. Scenario file 352
Is created as a state transition table as shown in FIG. 11, for example, using the Excel file. In this program verification system, after the screen mode is set to a predetermined state according to the operation sequence described in the scenario file, the event key is issued and the action (valid or invalid) for each key input is confirmed. To do.
For example, in the case of the scenario file 352 shown in FIG.
According to the execution order shown in FIG. 11, first, in the state where the screen mode is set to “MDPWRON”, “KPOWER”,
"KCH UP", "KVOL UP", "KMEN"
U "and" KSET "key inputs are sequentially performed to verify the operation of the virtual device and the actual device with respect to each of these key operations.
In the state of "NU", as in the above, "KPOWER",
"KCH UP", "KVOLUP", "KMEN"
Key operations of "U" and "KSET" are sequentially performed to verify the operation of the virtual device and the actual device.
The same verification is performed for each screen mode of "TIMER", "MDSET", and "MDTEST".

【0077】ここで、図11に示すシナリオファイル3
52を用いた自動検証処理の詳細について、画面モード
“MDMENU”の状態での各キー入力に対する動作検
証を行う場合を例にとり、さらに具体的に説明する。自
動検証制御部300は、以下の(1)〜(9)の手順に
より、画面モード“MDMENU”の状態でのキー入力
に対する動作検証を行う。
Here, the scenario file 3 shown in FIG.
The details of the automatic verification process using 52 will be described more specifically by taking the case where the operation verification for each key input in the state of the screen mode “MDMENU” is performed as an example. The automatic verification control unit 300 verifies the operation for the key input in the screen mode "MDMENU" by the following procedures (1) to (9).

【0078】(1)同期化RAM400内のリセット完
了モニタ用フラグRAMに“1”をセットする。
(1) "1" is set in the reset completion monitor flag RAM in the synchronization RAM 400.

【0079】(2)ICE400にプログラム414を
初期化させるために、シナリオ読込部316からデータ
送信部320へ、リセットGOコマンド発行を指示す
る。なお、“リセットGO”コマンドとは、ICE40
0に実機プログラム410の実行を停止させ初期化する
“リセット”コマンドと、ICE400に実機プログラ
ム410を最初から実行開始させる“GO”コマンドと
を一連に実行させるものである。データ送信部320
は、同期通信により、ブリッジ504を経由してICE
デバッガ506に対してリセットGOのメッセージを送
る。ICEデバッガ506が、ICE400をリセット
GO実行させることにより、実機プログラム410がリ
セットスタートされる。実機プログラムリセットスター
ト実行の先頭プログラムで、前記のリセット完了モニタ
用フラグRAM値を“0”にする。ICE400がリセ
ットGO完了すれば、ブリッジ504からデータ送信部
320を経由して、シナリオ読込316部にリセットG
O完了通知を行う。
(2) In order to cause the ICE 400 to initialize the program 414, the scenario reading unit 316 instructs the data transmitting unit 320 to issue a reset GO command. The "Reset GO" command means ICE40
The "reset" command to stop the execution of the real machine program 410 and initialize it to 0 and the "GO" command to make the ICE 400 start the execution of the real machine program 410 from the beginning are executed in series. Data transmission unit 320
Synchronizes with the ICE through the bridge 504.
Send a reset GO message to the debugger 506. The real machine program 410 is reset and started by the ICE debugger 506 executing the reset GO of the ICE 400. The reset completion monitor flag RAM value is set to "0" in the start program of the actual program reset start execution. When the ICE 400 completes the reset GO, the scenario read 316 section is reset G from the bridge 504 via the data transmission section 320.
O Complete notification.

【0080】(3)リセット完了モニタ用フラグRAM
値が“0”になったことを確認した後、画面モードを
“MDMENU”にするために、シナリオファイル35
2において当該画面モードの動作シーケンスに記述され
ているキーをシナリオ読込部316により順次読み込
み、発行する。発行されたキーは、データ送信部32
0、バススロット312、仮想配線206、デバッガ5
00を介して、ICE400へ渡される。図11の例で
は、“MDMENU”の動作シーケンスの最初の動作
(図11のシナリオファイルにおける動作1の欄)とし
て“KPOWER”というキーが記述されているので、
このキーが最初に発行される。
(3) Flag RAM for reset completion monitor
After confirming that the value has become “0”, in order to set the screen mode to “MDMENU”, the scenario file 35
In 2, the scenario reading unit 316 sequentially reads and issues the keys described in the operation sequence of the screen mode. The issued key is the data transmission unit 32.
0, bus slot 312, virtual wiring 206, debugger 5
It is passed to the ICE 400 via 00. In the example of FIG. 11, the key “KPOWER” is described as the first operation of the operation sequence of “MDMENU” (column of operation 1 in the scenario file of FIG. 11).
This key is issued first.

【0081】(4)“KPOWER”キーの処理を実機
プログラム410が完了したかを、ユーザRAM402
内の特定RAMにおける値の変化をチェックすることに
より、確認する。特定RAMの変化が確認できると、次
に、動作シーケンスの動作2に記述されている“KME
NU”キーを発行し、上記と同様に、ユーザRAM40
2内の特定RAMの変化をチェックすることにより、
“KMENU”キーの処理が完了したかを確認する。以
上の処理を、シナリオファイル352の動作シーケンス
に記述されている最後のキーまで、繰り返し実行する。
図11に示す“MDMENU”の場合、“KPOWE
R”キーおよび“KMENU”キーの実行により、目的
の画面モードである“MDMENU”になる。
(4) The user RAM 402 determines whether the actual machine program 410 has completed the processing of the "KPOWER" key.
Confirm by checking the change of the value in the specific RAM inside. When the change in the specific RAM can be confirmed, next, “KME” described in the operation 2 of the operation sequence is described.
NU "key is issued, and user RAM 40
By checking the change of the specific RAM in 2,
Check if the "KMENU" key processing is completed. The above processing is repeatedly executed up to the last key described in the operation sequence of the scenario file 352.
In the case of “MDMENU” shown in FIG. 11, “KPOWE
By executing the "R" key and the "KMENU" key, the target screen mode "MDMENU" is set.

【0082】(5)目的の画面モードになったら、ま
ず、ユーザRAM402内の画像データを同期RAM4
04に取り込む。
(5) When the desired screen mode is set, first, the image data in the user RAM 402 is loaded into the synchronous RAM 4
Take in 04.

【0083】(6)次に、シナリオファイル352に記
述されている発行キーを、順次発行し、動作を検証す
る。図11の例では、最初に、“KPOWER”キーを
発行する。“KPOWER”キーの処理が完了したこと
を、ユーザRAM402内の特定RAM値の変化で確認
する。
(6) Next, the issuance keys described in the scenario file 352 are sequentially issued to verify the operation. In the example of FIG. 11, first, the "KPOWER" key is issued. It is confirmed by the change of the specific RAM value in the user RAM 402 that the processing of the "KPOWER" key is completed.

【0084】(7)“KPOWER”キーの処理が完了
したことが確認できたら、この“KPOWER”キーの
処理結果を検証する。仮想出力104は、画面変化の有
無を、イベント検出部308に伝える。イベント検出部
308は、画面変化の有無が、シナリオファイル352
に記述されている有効・無効仕様に合致するかを判断す
る。
(7) When it is confirmed that the processing of the "KPOWER" key is completed, the processing result of this "KPOWER" key is verified. The virtual output 104 notifies the event detection unit 308 of the presence / absence of screen change. The event detection unit 308 determines whether or not there is a screen change based on the scenario file 352.
Judge whether the valid / invalid specifications described in are met.

【0085】例えば、図11に示すシナリオファイルの
場合、○記号は、当該画面モードにおける当該キー発行
が有効であることを表し、×記号は、当該画面モードに
おける当該キー発行が無効であることを表す。なお、
「キー発行が有効である」とは、そのキー発行により画
面上に何らかの変化が生じることをいい、「キー発行が
無効である」とは、そのキー発行によっても画面に変化
が生じないことをいう。
For example, in the scenario file shown in FIG. 11, a circle symbol indicates that the key issuance in the screen mode is valid, and a cross symbol indicates that the key issuance in the screen mode is invalid. Represent In addition,
"Key issuance is valid" means that the key issuance causes some changes on the screen, and "key issuance is invalid" means that the key issuance does not cause any changes on the screen. Say.

【0086】ここでは、“MDMENU”の列と“KP
OWER”の行との交点にあたる欄には○記号が記述さ
れているので、画面モードが“MDMENU”である場
合に“KPOWER”キーを発行した場合、このキーが
正しく処理されたならば、何らかの画面変化が生じるべ
きである。従って、“KPOWER”キーの発行により
画面変化が生じていれば、イベント検出部308は、
“MDMENU”画面モードにおける“KPOWER”
キーの有効・無効仕様は満たされているものと判断す
る。
Here, the column of "MDMENU" and "KP"
If a "KPOWER" key is issued when the screen mode is "MDMENU", if this key is processed correctly, then some kind of "○" is written in the column corresponding to the intersection with the "OWER" line. Therefore, if the screen change occurs due to the issuance of the “KPOWER” key, the event detection unit 308
"KPOWER" in "MDMENU" screen mode
It is judged that the valid / invalid specification of the key is satisfied.

【0087】イベント検出部308は、有効・無効仕様
が満たされているか否かの判断結果に応じて、シナリオ
ファイル352の有効・無効仕様欄に色付けする。すな
わち、イベント検出部308が、シナリオファイル35
2に記述されている有効・無効仕様が満たされていると
判断すれば、検証結果書込部304を介して、シナリオ
ファイル352の当該有効・無効仕様欄の表示属性を例
えば青色に設定し、満たされていないと判断した場合は
例えば赤色に設定することにより異常動作であることが
分かるようにする。これにより、デバッグ作業者は、シ
ナリオファイル352の有効・無効仕様欄の表示色によ
り、目標仕様が満たされているかを容易に識別すること
が可能となる。また、ここでは、有効・無効仕様の検証
結果をシナリオファイル352に記録することとした
が、検証結果ファイル350に、有効・無効仕様の検証
結果を記録する欄を別途設けるようにしてもよい。
The event detection unit 308 colors the valid / invalid specification column of the scenario file 352 according to the result of the determination as to whether the valid / invalid specifications are satisfied. That is, the event detection unit 308 determines that the scenario file 35
If it is determined that the valid / invalid specification described in 2 is satisfied, the display attribute of the valid / invalid specification column of the scenario file 352 is set to, for example, blue via the verification result writing unit 304. If it is determined that the condition is not satisfied, for example, the color is set to red so that the abnormal operation can be recognized. As a result, the debug operator can easily identify whether the target specification is satisfied by the display color of the valid / invalid specification column of the scenario file 352. Further, here, the verification result of the valid / invalid specification is recorded in the scenario file 352, but the verification result file 350 may be provided with a column for recording the verification result of the valid / invalid specification.

【0088】(8)また、検証結果書込部304は、画
像データ取得部310によりユーザRAM402から取
得した画面データ(実行画像データ)を、検証結果ファ
イル350へ書き込む。さらに、検証結果書込部304
は、前記実行画像データと、検証処理の実行に先立って
予め作成されている基準画像データとを比較し、比較結
果を検証結果ファイル350へ書き込む。基準画像デー
タとは、キーが正しく処理された結果として表示される
べき画像データのダンプデータであり、図12に示すよ
うに検証結果ファイル350へ書き込まれている。例え
ば図12に示した例にかかる検証結果ファイル350で
は、基準画像データと実行画像データとの比較結果が一
致すれば○記号、一致しなければ×記号が、「判定」の
欄に書き込まれている。これにより、デバッグ作業者
は、検証結果ファイル350の判定欄を見るだけで、キ
ー発行により所定の画面データが表示されたか否かを容
易に検証できる。
(8) Further, the verification result writing unit 304 writes the screen data (executed image data) acquired from the user RAM 402 by the image data acquisition unit 310 into the verification result file 350. Furthermore, the verification result writing unit 304
Compares the execution image data with reference image data created in advance before executing the verification process, and writes the comparison result to the verification result file 350. The reference image data is dump data of image data that should be displayed as a result of correct processing of the key, and is written in the verification result file 350 as shown in FIG. For example, in the verification result file 350 according to the example shown in FIG. 12, if the comparison result of the reference image data and the execution image data is coincident, a ◯ symbol is written, and if they are not coincident, an x symbol is written in the “judgment” column. There is. As a result, the debug operator can easily verify whether or not the predetermined screen data is displayed by issuing the key, simply by looking at the determination column of the verification result file 350.

【0089】(9)また、検証結果ファイル350に
は、基準画像データに基づく画面イメージ(基準画面)
が予め貼り付けられている。検証結果書込部304は、
図12に示すように、この基準画面の隣の列に、仮想出
力104に出力された画面(実行画面)を、クリップボ
ード200を介して貼り付ける。これにより、デバッグ
作業者は、検証結果ファイル350を見るだけで、基準
画面と実行画面との違いを容易に識別することが可能と
なる。
(9) Further, the verification result file 350 has a screen image (reference screen) based on the reference image data.
Is attached in advance. The verification result writing unit 304
As shown in FIG. 12, the screen (execution screen) output to the virtual output 104 is pasted to the column next to the reference screen via the clipboard 200. As a result, the debug operator can easily identify the difference between the reference screen and the execution screen just by looking at the verification result file 350.

【0090】“KPOWER”キーについて上記の
(9)までの処理が終了したら、(5)へ戻り、(6)
においてシナリオファイルに記述されている次の発行キ
ー“KCH UP”を発行し、以降の処理を行う。同様
にして、シナリオファイルに記述されている全ての発行
キーについて、(5)〜(9)の処理を繰り返すことに
より、図12に示すような検証結果ファイルが完成す
る。
When the processes up to (9) for the "KPOWER" key are completed, the process returns to (5) and (6).
In step 1, the next issue key "KCH UP" described in the scenario file is issued, and the subsequent processing is performed. Similarly, the verification result file as shown in FIG. 12 is completed by repeating the processes of (5) to (9) for all the issued keys described in the scenario file.

【0091】また、本実施形態では、自動検証処理中の
何らかの要因により、ICE400が異常動作になった
場合に、自動検証処理が続行できなくなることを防ぐた
め、既存デバッガ562がICE400の挙動を監視す
る。そして、ICE400の動作に変化が発生した場合
は、図13に示すようなメッセージを、ICEデバッガ
506が、ブリッジ504内のICE状態モニタ558
(図2参照)に伝える。さらに、このメッセージは、I
CE状態送信部556から、仮想配線206を介して、
シナリオ制御部314内のタイミング制御部318に伝
えられる。これにより、タイミング制御部318は、I
CE400の動作変化に合わせて、シナリオ読込部31
6にシナリオファイル352のデータを再発行させる等
の処理を行う。
In the present embodiment, the existing debugger 562 monitors the behavior of the ICE 400 in order to prevent the automatic verification process from being unable to continue if the ICE 400 becomes abnormal due to some cause during the automatic verification process. To do. When a change occurs in the operation of the ICE 400, the ICE debugger 506 sends a message as shown in FIG. 13 to the ICE status monitor 558 in the bridge 504.
(See Figure 2). In addition, this message
From the CE status transmission unit 556, via the virtual wiring 206,
It is transmitted to the timing control unit 318 in the scenario control unit 314. As a result, the timing control unit 318 causes the I
The scenario reading unit 31 is adapted to the operation change of the CE 400.
6 to reissue the data of the scenario file 352.

【0092】以上のとおり、本実施形態によれば、プロ
グラム自動検証を実現することができる。
As described above, according to this embodiment, automatic program verification can be realized.

【0093】<リモート制御>また、図10に示すよう
に、記録制御部302内に自動検証処理の実行状況を配
信する実行状況配信部322を設けると共に、外部装置
との間で電子メールの送受信を行う電子メール送受信部
602をさらに設けた構成としてもよい。この構成によ
り、実行状況配信部322から電子メール送受信部60
2を経由して、自動検証処理の実行状況を携帯情報端末
604等に電子メールにて配信すれば、し、自動検証処
理の実行状況を遠隔地からリアルタイムでモニタするこ
とが可能となる。
<Remote Control> As shown in FIG. 10, an execution status distribution unit 322 for distributing the execution status of the automatic verification process is provided in the recording control unit 302, and electronic mail is sent and received to and from an external device. The electronic mail transmitting / receiving unit 602 for performing the above may be further provided. With this configuration, the execution status distribution unit 322 to the e-mail transmission / reception unit 60
If the execution status of the automatic verification process is delivered to the portable information terminal 604 and the like via E-mail via 2, the execution status of the automatic verification process can be monitored in real time from a remote location.

【0094】そして、自動検証処理の実行中に、プログ
ラム414の不具合等が見つかった場合は、携帯情報端
末604等から、図3に示すようなデバッガ制御コマン
ドを、電子メールのメッセージとして本プログラム検証
システムに送信することで、リモートにて本プログラム
検証システムを制御することができる。また、リモート
制御結果は、実行状況配信部322から電子メール送受
信部602を経由して、携帯情報端末604等に電子メ
ールにより配信する。
When a defect of the program 414 is found during execution of the automatic verification processing, the program verification is performed from the portable information terminal 604 or the like by using the debugger control command as shown in FIG. 3 as an e-mail message. This program verification system can be controlled remotely by sending it to the system. Further, the remote control result is distributed from the execution status distribution unit 322 to the portable information terminal 604 or the like by electronic mail via the electronic mail transmission / reception unit 602.

【0095】これにより、プログラム検証システムをリ
モート制御可能となる。
As a result, the program verification system can be remotely controlled.

【0096】なお、自動検証処理において、シナリオフ
ァイル352として前記の状態遷移表を用いる代わり
に、シナリオファイル352の記述方法や自動検証制御
部300の制御方法を適宜変更することで、任意の自動
検証処理を実現可能である。
In the automatic verification processing, instead of using the above-mentioned state transition table as the scenario file 352, the description method of the scenario file 352 and the control method of the automatic verification control unit 300 can be changed as appropriate to perform arbitrary automatic verification. Processing can be realized.

【0097】<具体的動作>以下、プログラム自動検証
を行う本プログラム検証システムの動作について、さら
に具体的に説明する。
<Specific Operation> The operation of the program verification system for automatically verifying a program will be described in more detail below.

【0098】<初期化処理>本実施形態のプログラム検
証システム(図10に示す構成)も、起動すると、ま
ず、初期化処理を行う。仮想デバイス100、デバッガ
500、自動検証制御部300、および電子メール送受
信部602は、仮想配線206に接続するための接続処
理を行う。また、ブリッジ504は、予め、データ送信
部320および仮想出力104からのメッセージ受信を
行うために、受信割込み許可しておく。また、実行状況
配信部322は、仮想出力104からのメッセージ受信
を許可しておく。また、電子メール送受信部602内の
実行状況モニタ606は、実行状況配信部322からの
受信を許可しておく。
<Initialization Processing> When the program verification system (configuration shown in FIG. 10) of this embodiment is also activated, first, initialization processing is performed. The virtual device 100, the debugger 500, the automatic verification control unit 300, and the electronic mail transmission / reception unit 602 perform connection processing for connecting to the virtual wiring 206. Further, the bridge 504 permits reception interrupt in advance in order to receive a message from the data transmission unit 320 and the virtual output 104. Further, the execution status distribution unit 322 permits the message reception from the virtual output 104. Further, the execution status monitor 606 in the electronic mail transmitting / receiving unit 602 permits reception from the execution status distribution unit 322.

【0099】<シナリオ読込から仮想配線へリセットG
Oコマンドデータを流す>シナリオ読込部316から、
ICE400の実行を初期化するために、リセットGO
コマンドの送信をデータ送信部320に指示する。デー
タ送信部320は、図3に示すようなリセットGOコマ
ンドのフォーマットに従って作成したメッセージを、ブ
リッジ504に宛てて、バススロット106から仮想配
線206に同期通信にて送出する。
<Reset from reading scenario to virtual wiring G
Stream O command data> From the scenario reading unit 316,
In order to initialize the execution of ICE400, reset GO
The data transmission unit 320 is instructed to transmit the command. The data transmitting unit 320 sends a message created according to the format of the reset GO command as shown in FIG. 3 to the bridge 504 by synchronous communication from the bus slot 106 to the virtual wiring 206.

【0100】<ブリッジデバイスの書込み処理>データ
送信部320からバススロット502経由でブリッジ5
04に送られて来たメッセージは、図2に示す通り、受
信割込み処理を行う同期受信部550に受け取られる。
コマンド変換部552は、図3に示すようなテーブルを
参照し、受け取ったメッセージが、1バイトメモリライ
ト、1バイトメモリリード、ICEリセット、ICE実
行等のどのメッセージであるかを分析し、その結果をコ
マンド発行部554からICEデバッガ506内のVi
rtualLink560に渡す。
<Bridge Device Writing Process> The bridge 5 is transmitted from the data transmitting unit 320 via the bus slot 502.
As shown in FIG. 2, the message sent to 04 is received by the synchronous receiving unit 550 that performs a reception interrupt process.
The command conversion unit 552 refers to the table as shown in FIG. 3, analyzes which message the received message is, such as 1-byte memory write, 1-byte memory read, ICE reset, or ICE execution, and the result is analyzed. From the command issuing unit 554 to the Vi in the ICE debugger 506.
It is passed to the realLink560.

【0101】VirtualLink560は、既存デ
バッガ562を制御して、ICE400にリセットコマ
ンドを発行した後、実行開始コマンドを発行して、実行
完了通知を同期受信部550の返信データとして、メッ
セージの送信元であるデータ送信部320に返信する。
データ送信部320は、シナリオ読込部316にリセッ
トGOコマンド実行完了を伝え、シナリオファイル35
2の内容に従った実行を行う。
The VirtualLink 560 controls the existing debugger 562, issues a reset command to the ICE 400, then issues an execution start command, and sends an execution completion notification as reply data of the synchronous receiving unit 550, which is the sender of the message. It returns to the data transmission unit 320.
The data transmission unit 320 notifies the scenario reading unit 316 of the completion of the reset GO command execution, and the scenario file 35
Execute according to the contents of 2.

【0102】<シナリオファイルから仮想配線へのデー
タを流す>シナリオ読込部316は、シナリオファイル
352からキーコードを読込んで、データ送信部320
に指示して、図3に示すようなメッセージ一覧表内の1
バイトメモリライトコマンド発行フォーマットに従って
作成したメッセージを、ブリッジ504に宛てて、バス
スロット106から仮想配線206へ同期通信にて送出
する。
<Flow of data from scenario file to virtual wiring> The scenario reading unit 316 reads the key code from the scenario file 352, and the data transmitting unit 320
1 in the message list as shown in FIG.
A message created according to the byte memory write command issuance format is sent to the bridge 504 from the bus slot 106 to the virtual wiring 206 by synchronous communication.

【0103】<ブリッジの書込み処理>データ送信32
0から、バススロット502経由でブリッジ504に送
られて来たメッセージは、図2に示す通り、受信割込み
処理を行う同期受信部550に受け取られる。そして、
コマンド変換部552が、図3に示すようなテーブルに
基づき、受け取ったメッセージが、1バイトメモリライ
ト、1バイトメモリリード、ICEリセット、ICE実
行等のどのメッセージであるかを分析する。その分析結
果は、コマンド発行部554からICEデバッガ506
内のVirtualLink560に渡される。
<Bridge Write Processing> Data Transmission 32
The message sent from 0 to the bridge 504 via the bus slot 502 is received by the synchronous receiving unit 550 that performs a reception interrupt process, as shown in FIG. And
The command conversion unit 552 analyzes whether the received message is a 1-byte memory write, 1-byte memory read, ICE reset, or ICE execution message based on the table shown in FIG. The analysis result is output from the command issuing unit 554 to the ICE debugger 506.
It is passed to the Virtual Link 560 in.

【0104】VirtualLink560は、既存デ
バッガ562を制御して、プログラム414を実行中の
ICE400内の同期化RAM404に、仮想入力10
2から渡された指定RAMアドレスのRAMデータをオ
ンザフライにて書込んだ後、書込み完了通知を、同期受
信部550の返信データとして、メッセージの送信元で
あるデータ送信部320へ返信する。返信を受けると、
キーデータを配信したことを、実行状況配信部322か
らイベント検出部308に伝える。
The VirtualLink 560 controls the existing debugger 562 to store the virtual input 10 in the synchronization RAM 404 in the ICE 400 executing the program 414.
After writing on-the-fly the RAM data of the designated RAM address passed from 2, the write completion notice is returned to the data transmitting unit 320 that is the sender of the message as the reply data of the synchronous receiving unit 550. When you receive a reply,
The execution status distribution unit 322 informs the event detection unit 308 that the key data has been distributed.

【0105】<同期化RAMからユーザRAMへの転送
処理>同期化プログラム412は、同期化RAM404
の変化を、プログラム414に必要なタイミングでマイ
コンエミュレータ406にチェックさせている。
<Transfer Processing from Synchronizing RAM to User RAM> The synchronizing program 412 has the synchronizing RAM 404.
The microcomputer emulator 406 is caused to check the change of the above at a timing necessary for the program 414.

【0106】同期化プログラム412は、例えばキー入
力の場合は、プログラム414のキー入力処理の直後に
呼ばれ、同期化RAM404内のキーデータRAMの変
化を、マイコンエミュレータ406経由でチェックし、
もし変化が有れば、キーデータをユーザRAM402の
キーデータ確定エリアに転送する。この際、仮想入力1
02のキーデータと実機デバイス150からのキーデー
タとが同時に入力された場合は、仮想入力102からの
キーデータが優先される。
For example, in the case of key input, the synchronization program 412 is called immediately after the key input processing of the program 414, checks the change of the key data RAM in the synchronization RAM 404 via the microcomputer emulator 406,
If there is a change, the key data is transferred to the key data confirmation area of the user RAM 402. At this time, virtual input 1
When the key data of 02 and the key data from the actual device 150 are simultaneously input, the key data from the virtual input 102 is prioritized.

【0107】同期化プログラム412内のキー入力処理
は、具体的には、第1の実施形態において図4を用いて
説明したとおりである。これにより、仮想キー入力が、
実機キー入力より優先されて処理される。
The key input processing in the synchronization program 412 is specifically as described with reference to FIG. 4 in the first embodiment. This makes virtual key input
It is processed with priority over the actual key input.

【0108】<ユーザRAMから仮想出力へのデータ転
送>シナリオファイル352から読み込んだキーコード
によってプログラム414がユーザRAM402内の出
力RAMデータ(仮想出力104への出力データ)を変
更した場合、この出力RAMデータを仮想出力104へ
転送する方法は、以下の(c1)〜(c4)のとおりで
ある。
<Data Transfer from User RAM to Virtual Output> When the program 414 changes the output RAM data in the user RAM 402 (output data to the virtual output 104) by the key code read from the scenario file 352, this output RAM The method of transferring data to the virtual output 104 is as described in (c1) to (c4) below.

【0109】(c1)プログラムのユーザRAM変更;
プログラム414により、ユーザRAM402内の仮想
出力104に関係するRAMエリアが変更された直後
に、ユーザRAM402から同期化RAM404内の特
定RAMに変化を伝えるための処理を行う。具体的に
は、図5に示す通り、プログラム414から仮想同期化
ルーチンを呼び出すことにより、処理を開始する(ステ
ップS420)。実機デバイス150への出力処理(ス
テップS422)を行った直後に、実機デバイス150
への出力RAMデータの変化を検出し(ステップS42
4)、変化があれば、出力RAMデータをユーザRAM
402から同期化RAM404内に転送する(ステップ
S426)。
(C1) User RAM change of program;
Immediately after the RAM area related to the virtual output 104 in the user RAM 402 is changed by the program 414, processing for transmitting the change from the user RAM 402 to the specific RAM in the synchronization RAM 404 is performed. Specifically, as shown in FIG. 5, the process is started by calling the virtual synchronization routine from the program 414 (step S420). Immediately after performing the output process (step S422) to the actual device 150, the actual device 150
To detect the change in the output RAM data to (step S42
4) If there is a change, output RAM data to user RAM
The data is transferred from 402 to the synchronization RAM 404 (step S426).

【0110】(c2)仮想出力から仮想配線へデータを
流す;次に、仮想出力104から、同期化RAM404
内の出力RAMデータの変化イベントを読込むために、
仮想出力104からデバッガ500へのメッセージ転送
の指定とイベントを読込むためのRAMアドレスとを一
緒に、バススロット108経由で、仮想配線206に同
期通信により送出する。
(C2) Flow data from the virtual output to the virtual wiring; next, from the virtual output 104, the synchronization RAM 404
To read the change event of the output RAM data in the
The message transfer designation from the virtual output 104 to the debugger 500 and the RAM address for reading the event are sent out to the virtual wiring 206 through the bus slot 108 by synchronous communication together.

【0111】(c3)ブリッジデバイスの読込み処理;
仮想出力104からバススロット502経由でブリッジ
504に送られて来たメッセージは、図2に示す通り、
受信割込み処理を行う同期受信部550で受け取られ
る。その後、コマンド変換部552が、図3に示すよう
なメッセージ一覧表に従い、受け取ったメッセージが、
1バイトメモリライト、1バイトメモリリード、ICE
リセット、ICE実行等のどのメッセージであるかを分
析する。コマンド発行部554は、その分析結果を、I
CEデバッガ506内のVirtualLink560
に渡す。VirtualLink560は、既存デバッ
ガ562を制御して、プログラム実行中にICE400
内の同期化RAM404内の出力RAMデータをオンザ
フライにて読み込む。その後、読み込んだ出力RAMデ
ータを、同期受信部550が、前記メッセージの送信元
である仮想出力104へ返信する。これにより、出力R
AMデータの仮想出力104への転送が、完了する。
(C3) Bridge device read processing;
The message sent from the virtual output 104 to the bridge 504 via the bus slot 502 is as shown in FIG.
It is received by the synchronous reception unit 550 which performs reception interrupt processing. After that, the command conversion unit 552 follows the message list as shown in FIG.
1-byte memory write, 1-byte memory read, ICE
Analyze which message is reset, ICE execution, etc. The command issuing unit 554 displays the analysis result as I
VirtualLink 560 in CE debugger 506
Pass to. The VirtualLink 560 controls the existing debugger 562 to execute the ICE400 during program execution.
The output RAM data in the synchronization RAM 404 therein is read on the fly. After that, the synchronous receiving unit 550 returns the read output RAM data to the virtual output 104 that is the transmission source of the message. As a result, the output R
The transfer of AM data to virtual output 104 is complete.

【0112】(c4)仮想出力の表示処理;仮想出力1
04では、出力RAMデータを元にパソコンモニタに仮
想LCD表示等を行う。また、同期化RAM404また
はユーザRAM402から仮想出力104に取得した画
像データの変化があれば、仮想出力104は、画像デー
タ取得部310に対して、実行状況配信部322経由
で、画像変化のメッセージおよび仮想出力104の表示
ダンプデータを転送する。
(C4) Virtual output display processing; virtual output 1
At 04, a virtual LCD is displayed on the personal computer monitor based on the output RAM data. Further, if there is a change in the image data acquired from the synchronization RAM 404 or the user RAM 402 to the virtual output 104, the virtual output 104 sends a message of an image change and a message to the image data acquisition unit 310 via the execution status distribution unit 322. The display dump data of the virtual output 104 is transferred.

【0113】また、前記イベントを使わずに、仮想入力
102から一定周期にて、デバッガ500にユーザRA
M402のデータを読込み、仮想出力104にて仮想L
CD表示等を行う方法でも良い。
Further, without using the above-mentioned event, the user RA is sent to the debugger 500 at a constant cycle from the virtual input 102.
Read the data of M402 and output virtual L at virtual output 104.
A method of displaying a CD or the like may be used.

【0114】<データ転送からイベント検出に転送>実
行状況配信部322にデータ送信部320から前記キー
データが送られてくると、そのキーデータは、イベント
検出部308から画像データ取得部310に渡される。
また、同期化RAM404またはユーザRAM402か
ら仮想出力104に取得した画像データの変化が有れ
ば、仮想出力104から実行状況配信部322を経由し
て、画像データ取得部310に対して画像変化のメッセ
ージおよび、仮想出力の表示ダンプデータを転送する。
画像データ取得部310は、前記キーデータを検証結果
書込部304から検証結果ファイル350に書込む。
<Transfer from data transfer to event detection> When the key data is sent from the data transmission unit 320 to the execution status distribution unit 322, the key data is passed from the event detection unit 308 to the image data acquisition unit 310. Be done.
If there is a change in the image data acquired from the synchronization RAM 404 or the user RAM 402 to the virtual output 104, an image change message is sent from the virtual output 104 to the image data acquisition unit 310 via the execution status distribution unit 322. Also, display dump data of virtual output is transferred.
The image data acquisition unit 310 writes the key data in the verification result file 350 from the verification result writing unit 304.

【0115】また、画像データ取得部310は、仮想出
力104から表示変化のメッセージを受けると、仮想出
力104の表示画像を、クリップボード200にキャプ
チャーする。クリップボード200にキャプチャーされ
た画像は、検証結果書込部304により、検証結果ファ
イル350に対して書込まれる。
When the image data acquisition section 310 receives a display change message from the virtual output 104, it captures the display image of the virtual output 104 on the clipboard 200. The image captured on the clipboard 200 is written in the verification result file 350 by the verification result writing unit 304.

【0116】具体的には、図12に示すように、キーデ
ータは操作キーの欄に書込み、シナリオファイル352
の画面モードは、画面モードの欄に書込む。
Specifically, as shown in FIG. 12, the key data is written in the operation key column, and the scenario file 352 is written.
The screen mode of is written in the screen mode column.

【0117】<基準画像データと実行画像データとの比
較>検証結果ファイル350において、「基準画像デー
タ」と「実行画像データ」とのデータの相違を判定し、
判定結果を「判定」の欄に「○」と「×」として書込
む。なお、検証結果ファイル350をExcelで作成
する場合は、IF関数を用いて「基準画像データ」と
「実行画像データ」の相違の判定を行うことができる。
<Comparison of Reference Image Data and Execution Image Data> In the verification result file 350, the difference between the “reference image data” and the “execution image data” is determined,
Write the judgment result as "○" and "x" in the "judgment" column. When the verification result file 350 is created in Excel, the IF function can be used to determine the difference between the “reference image data” and the “execution image data”.

【0118】<基準画像データの作成>尚、自動検証処
理を行うための基準画像およびその表示ダンプデータの
作成については、前記自動実行する方法で、画像データ
および表示ダンプデータを図12に示す基準画面および
実行画像データに書込むことで作成できる。
<Creation of Reference Image Data> Regarding the creation of the reference image and its display dump data for performing the automatic verification processing, the image data and the display dump data are shown in FIG. It can be created by writing on the screen and execution image data.

【0119】<効果>以上のように、本実施形態によれ
ば、シナリオファイルを利用することにより、プログラ
ム自動検証が行える様になり、評価効率の向上が可能と
なる。また、プログラム自動検証の実行状況を、遠隔地
からも監視できるようになる。
<Effect> As described above, according to the present embodiment, the program file can be automatically verified by using the scenario file, and the evaluation efficiency can be improved. Also, the execution status of the automatic program verification can be monitored from a remote location.

【0120】(第4の実施形態)プログラム414を搭
載すべき実機のハードウェアが完成した後は、図14に
示すように、仮想デバイスを利用せず、実機デバッグセ
ットのみを利用したプログラム検証システムにより、自
動検証を行うことも可能である。
(Fourth Embodiment) After the hardware of the actual machine in which the program 414 is to be installed is completed, as shown in FIG. 14, a program verification system using only the actual machine debug set without using virtual devices. Therefore, it is possible to perform automatic verification.

【0121】[0121]

【発明の効果】以上のように、本発明によれば、ICE
を利用したプログラム検証システムにおいて周辺デバイ
スを実機デバイスと仮想デバイスに分けたプログラム検
証を行うためのハードウエアは必要とせず実現でき、短
期間にプログラム検証システムを構築できる。また、自
動検証に関しては、LCD表示等の出力表示を実機デバ
イスおよび仮想デバイス問わず、表示イメージのまま記
録できるため、プログラム検証時間の短縮が可能とな
る。更に、自動検証をリモート制御できるため、遠隔操
作によりプログラムのデバッグおよび検証が出来るよう
になり作業効率が向上する。
As described above, according to the present invention, the ICE
In the program verification system that uses, the peripheral device can be realized without the hardware for performing the program verification by dividing the peripheral device into the actual device and the virtual device, and the program verification system can be constructed in a short time. With regard to automatic verification, the output display such as an LCD display can be recorded as it is, regardless of whether it is an actual device or a virtual device, so that the program verification time can be shortened. Further, since the automatic verification can be remotely controlled, the program can be debugged and verified by remote control, thus improving work efficiency.

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

【図1】 本発明の第1の実施形態にかかるプログラム
検証システムの構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of a program verification system according to a first embodiment of the present invention.

【図2】 デバッガの内部構成を示すブロック図FIG. 2 is a block diagram showing the internal configuration of the debugger.

【図3】 仮想デバイスからブリッジへのメッセージ一
覧の説明図
FIG. 3 is an explanatory diagram of a list of messages from the virtual device to the bridge.

【図4】 キー入力処理のフローチャートFIG. 4 is a flowchart of key input processing.

【図5】 表示出力処理のフローチャートFIG. 5 is a flowchart of display output processing.

【図6】 本発明の第2の実施形態にかかるプログラム
検証システムの構成を示すブロック図
FIG. 6 is a block diagram showing a configuration of a program verification system according to a second embodiment of the present invention.

【図7】 検証結果ファイルの一例を示す説明図FIG. 7 is an explanatory diagram showing an example of a verification result file.

【図8】 第2の実施形態にかかるプログラム検証シス
テムの変形例として、複数のカメラを用いたプログラム
検証システムのブロック図
FIG. 8 is a block diagram of a program verification system using a plurality of cameras as a modification of the program verification system according to the second embodiment.

【図9】 本発明の第3の実施形態にかかるプログラム
検証システムの構成を示すブロック図
FIG. 9 is a block diagram showing the configuration of a program verification system according to a third embodiment of the present invention.

【図10】 第3の実施形態にかかるプログラム検証シ
ステムの変形例のブロック図
FIG. 10 is a block diagram of a modified example of the program verification system according to the third embodiment.

【図11】 シナリオファイルの一例を示す説明図FIG. 11 is an explanatory diagram showing an example of a scenario file.

【図12】 第3の実施形態にかかる検証結果ファイル
の一例を示す説明図
FIG. 12 is an explanatory diagram showing an example of a verification result file according to the third embodiment.

【図13】 ICEから仮想デバイスへ向けてのイベン
ト一覧を示す説明図
FIG. 13 is an explanatory diagram showing a list of events from ICE to a virtual device.

【図14】 本発明の第4の実施形態にかかるプログラ
ム検証システムの構成を示すブロック図
FIG. 14 is a block diagram showing the configuration of a program verification system according to a fourth embodiment of the present invention.

【図15】 従来の実機デバッグセットを用いたプログ
ラム検証システムのブロック図
FIG. 15 is a block diagram of a conventional program verification system using an actual debug set.

【図16】 従来のシステムシミュレータセットを用い
たプログラム検証システムのブロック図
FIG. 16 is a block diagram of a program verification system using a conventional system simulator set.

【図17】 従来の実セット・シミュレータ混載のプロ
グラム検証システムのブロック図
FIG. 17 is a block diagram of a conventional program verification system in which an actual set and simulator are embedded together.

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

100 仮想デバイス 102 仮想入力 104 仮想出力 120 周辺デバイス 150 実機デバイス 152 実入力 154 実出力 156 実機入出力 200 クリップボード 202,203 カメラモニタ 204,205 PCカメラ 206 仮想配線 300 自動検証制御部 302 記録制御部 304 検証結果書込部 308 イベント検出部 310 画像データ取得部 312 バススロット 314 シナリオ制御部 316 シナリオ読込部 318 タイミング制御部 320 データ送信部 322 実行状況配信部 350 検証結果ファイル 352 シナリオファイル 400 ICE 402 ユーザRAM 404 同期化RAM 410 実機プログラム 412 同期化プログラム 500 デバッガ 502 バススロット 504 ブリッジ 506 ICEデバッガ 600 電子メール送受信部 604 携帯情報端末 606 実行状況モニタ 608 リモート制御部 610 メール配信制御部 100 virtual devices 102 virtual input 104 virtual output 120 peripheral devices 150 real devices 152 Actual input 154 actual output 156 Actual machine input / output 200 clipboard 202,203 Camera monitor 204,205 PC camera 206 virtual wiring 300 Automatic verification control unit 302 recording control unit 304 Verification result writing unit 308 Event detector 310 Image data acquisition unit 312 bus slots 314 Scenario control unit 316 Scenario reading unit 318 Timing control unit 320 data transmitter 322 Execution status distribution unit 350 Verification result file 352 Scenario file 400 ICE 402 user RAM 404 synchronization RAM 410 Actual program 412 synchronization program 500 debugger 502 bus slot 504 bridge 506 ICE Debugger 600 E-mail sending and receiving unit 604 Personal digital assistant 606 Execution status monitor 608 remote control unit 610 Mail delivery control unit

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B042 GA13 GA36 HH06 HH07 5B048 AA13 DD08 DD17    ─────────────────────────────────────────────────── ─── Continued front page    F term (reference) 5B042 GA13 GA36 HH06 HH07                 5B048 AA13 DD08 DD17

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 マイコンの周辺デバイスとして実機デバ
イスおよび仮想デバイスを用いて、前記マイコン用プロ
グラムの動作を検証するプログラム検証システムであっ
て、 前記マイコン上の前記プログラムの動作をエミュレーシ
ョンするエミュレータと、 前記実機デバイスに対応した検証動作を行うよう前記エ
ミュレータを制御する検証制御部と、 前記検証制御部と前記仮想デバイスとの間に設けられ、
前記仮想デバイスからの制御信号およびデータを前記検
証制御部に適合させるブリッジ部と、 前記実機デバイスと前記プログラムとの間の入出力デー
タを格納する実機用RAMと、 前記実機用RAMと前記仮想デバイスとの間に設けられ
た同期化RAMと、 前記実機デバイスに対する前記プログラムの入出力動作
に同期させて、前記同期化RAMと前記実機用RAMと
の間のデータ転送を制御する、仮想・実機同期処理部と
を備えたことを特徴とするプログラム検証システム。
1. A program verification system for verifying the operation of the program for the microcomputer by using an actual device and a virtual device as peripheral devices of the microcomputer, and an emulator for emulating the operation of the program on the microcomputer, A verification control unit that controls the emulator to perform a verification operation corresponding to an actual device, and is provided between the verification control unit and the virtual device,
A bridge unit that adapts the control signal and data from the virtual device to the verification control unit, a real machine RAM that stores input / output data between the real machine device and the program, the real machine RAM, and the virtual device A synchronization RAM provided between the synchronization RAM and the real machine device, and controls the data transfer between the synchronization RAM and the real machine RAM in synchronization with the input / output operation of the program with respect to the real machine device. A program verification system comprising a processing unit.
【請求項2】 前記仮想デバイスと前記ブリッジ部とを
仮想配線により接続した、請求項1に記載のプログラム
検証システム。
2. The program verification system according to claim 1, wherein the virtual device and the bridge unit are connected by virtual wiring.
【請求項3】 前記仮想デバイスを複数備えた、請求項
1に記載のプログラム検証システム。
3. The program verification system according to claim 1, comprising a plurality of the virtual devices.
【請求項4】 前記実機デバイスにてモニタ出力される
実機モニタ出力画像を撮影する撮影装置と、 前記実機モニタ出力画像と、前記仮想デバイスにてモニ
タ出力される仮想モニタ出力画像とを、検証結果ファイ
ルへ記録する、検証結果書込部とをさらに備えた、請求
項1に記載のプログラム検証システム。
4. A verification result of a photographing device for photographing an actual device monitor output image output by the actual device device, the actual device monitor output image, and a virtual monitor output image output by the virtual device monitor. The program verification system according to claim 1, further comprising a verification result writing unit that records the file in a file.
【請求項5】 前記周辺デバイスにおける所定の変化を
検出するイベント検出部と、 前記イベント検出部の検出結果に従ったタイミングで、
前記実機モニタ出力画像と前記仮想モニタ出力画像とを
取り込む画像取得部とをさらに備えた、請求項4に記載
のプログラム検証システム。
5. An event detection unit that detects a predetermined change in the peripheral device, and a timing according to a detection result of the event detection unit,
The program verification system according to claim 4, further comprising: an image acquisition unit that captures the real machine monitor output image and the virtual monitor output image.
【請求項6】 前記イベント検出部の検出結果に従い、
前記実機モニタ出力画像または仮想モニタ出力画像を含
む検証処理状況を外部端末へ送信する検証状況配信部を
さらに備えた、請求項5に記載のプログラム検証システ
ム。
6. According to the detection result of the event detection unit,
The program verification system according to claim 5, further comprising a verification status distribution unit that transmits a verification processing status including the real machine monitor output image or the virtual monitor output image to an external terminal.
【請求項7】 外部端末から、制御信号およびその宛先
を含むメッセージを受信し、受信したメッセージから前
記制御信号を抽出し、当該制御信号の宛先へ配信するリ
モート制御部をさらに備えた、請求項6に記載のプログ
ラム検証システム。
7. The remote control unit further comprising a remote control unit that receives a message including a control signal and its destination from an external terminal, extracts the control signal from the received message, and delivers the control signal to the destination of the control signal. 6. The program verification system according to 6.
【請求項8】 前記撮影装置を複数台備えた、請求項4
〜7のいずれか一項に記載のプログラム検証システム。
8. The apparatus according to claim 4, further comprising a plurality of the photographing devices.
The program verification system according to any one of items 1 to 7.
【請求項9】 前記プログラムを自動的に検証するため
の操作手順を記録したシナリオファイルからデータを読
み込み、前記ブリッジ部へ転送するシナリオ制御部をさ
らに備えた、請求項1〜8のいずれか一項に記載のプロ
グラム検証システム。
9. The scenario control unit according to claim 1, further comprising a scenario control unit that reads data from a scenario file recording an operation procedure for automatically verifying the program and transfers the data to the bridge unit. The program verification system described in the item.
【請求項10】 前記シナリオファイルから読み込んだ
データの前記ブリッジ部への転送を、前記エミュレータ
の動作状況に合わせて制御するタイミング制御部をさら
に備えた、請求項9に記載のプログラム検証システム。
10. The program verification system according to claim 9, further comprising a timing control unit that controls transfer of data read from the scenario file to the bridge unit in accordance with an operation status of the emulator.
JP2002123082A 2002-04-24 2002-04-24 Program verification system Expired - Fee Related JP4171240B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002123082A JP4171240B2 (en) 2002-04-24 2002-04-24 Program verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002123082A JP4171240B2 (en) 2002-04-24 2002-04-24 Program verification system

Publications (2)

Publication Number Publication Date
JP2003316603A true JP2003316603A (en) 2003-11-07
JP4171240B2 JP4171240B2 (en) 2008-10-22

Family

ID=29538515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002123082A Expired - Fee Related JP4171240B2 (en) 2002-04-24 2002-04-24 Program verification system

Country Status (1)

Country Link
JP (1) JP4171240B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005166010A (en) * 2003-11-11 2005-06-23 Matsushita Electric Ind Co Ltd Program verification system and computer program for controlling program verification system
WO2007037168A1 (en) * 2005-09-27 2007-04-05 Vodafone K.K. Program development supporting device
JP2007133579A (en) * 2005-11-09 2007-05-31 Hitachi High-Technologies Corp Virtual simulation system and apparatus controller for industrial apparatus
JP2008077317A (en) * 2006-09-20 2008-04-03 I L C:Kk Verification device, verification program and verification method
JP2009205685A (en) * 2008-02-26 2009-09-10 Apple Inc Simulation of multi-point gesture by single pointing device
JP2012168851A (en) * 2011-02-16 2012-09-06 Fujitsu Ltd Emulator
US8676560B2 (en) 2008-06-09 2014-03-18 International Business Machines Corporation Simulation method, system and program for simulating physical unit controlled by electronic control unit
US8768681B2 (en) 2008-05-09 2014-07-01 International Business Machines Corporation Control unit simulation method, system, and program
CN114691486A (en) * 2020-12-30 2022-07-01 腾讯科技(深圳)有限公司 Program debugging method and device and computer equipment

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005166010A (en) * 2003-11-11 2005-06-23 Matsushita Electric Ind Co Ltd Program verification system and computer program for controlling program verification system
JP4562439B2 (en) * 2003-11-11 2010-10-13 パナソニック株式会社 Program verification system and computer program for controlling program verification system
WO2007037168A1 (en) * 2005-09-27 2007-04-05 Vodafone K.K. Program development supporting device
US8255878B2 (en) 2005-09-27 2012-08-28 Vodafone Group Plc Program development support device
JP2007133579A (en) * 2005-11-09 2007-05-31 Hitachi High-Technologies Corp Virtual simulation system and apparatus controller for industrial apparatus
JP2008077317A (en) * 2006-09-20 2008-04-03 I L C:Kk Verification device, verification program and verification method
JP2009205685A (en) * 2008-02-26 2009-09-10 Apple Inc Simulation of multi-point gesture by single pointing device
US8768681B2 (en) 2008-05-09 2014-07-01 International Business Machines Corporation Control unit simulation method, system, and program
US8676560B2 (en) 2008-06-09 2014-03-18 International Business Machines Corporation Simulation method, system and program for simulating physical unit controlled by electronic control unit
JP2012168851A (en) * 2011-02-16 2012-09-06 Fujitsu Ltd Emulator
CN114691486A (en) * 2020-12-30 2022-07-01 腾讯科技(深圳)有限公司 Program debugging method and device and computer equipment

Also Published As

Publication number Publication date
JP4171240B2 (en) 2008-10-22

Similar Documents

Publication Publication Date Title
US5157782A (en) System and method for testing computer hardware and software
US7185321B1 (en) Method and system for debugging through supervisory operating codes and self modifying codes
US5153886A (en) Visual display signal processing system and method
US7337104B2 (en) Device emulation in programmable circuits
IE60444B1 (en) A software verification apparatus
US6279123B1 (en) System for viewing and monitoring embedded processor operation
US6028996A (en) Method and apparatus for virtualizing system operation
JP4171240B2 (en) Program verification system
CN117422026B (en) RISC-V architecture-based processor verification system
JP2008135008A (en) Program module verification method
JP2004252585A (en) Program verification system
CN100403275C (en) Micro processor and method using in firmware program debug
JP4562439B2 (en) Program verification system and computer program for controlling program verification system
JP3652307B2 (en) Print engine simulator, development system, simulation method, computer program product, and computer program
JP2004157787A (en) Program verification system
JPH03125233A (en) Recording device simulator and its simulation engine
JPH11272494A (en) Debug/co-simulation system for wide band switch firmware
JP2002007483A (en) Device and method for scanner simulator
CN117376229B (en) FTP file system software cross debugging method and system based on embedded equipment
JP2004038387A (en) Logical verification system
JP2001318805A (en) Test method for built-in system and test system
JP2908337B2 (en) VHDL simulation execution system for multi-process
JP4344147B2 (en) Computer extended function testing device
JP2887515B2 (en) Recorder simulator
JP3062124B2 (en) Microprocessor development support equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080808

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees