JPH11194960A - Software testing equipment - Google Patents
Software testing equipmentInfo
- Publication number
- JPH11194960A JPH11194960A JP9366805A JP36680597A JPH11194960A JP H11194960 A JPH11194960 A JP H11194960A JP 9366805 A JP9366805 A JP 9366805A JP 36680597 A JP36680597 A JP 36680597A JP H11194960 A JPH11194960 A JP H11194960A
- Authority
- JP
- Japan
- Prior art keywords
- hardware
- target
- information
- hardware device
- device control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【課題】ハードウェアが未完成でもソフトウェアの試験
ができ、ハードウェアの一部分でも完成したときはそれ
を用いて試験を継続できるようにする。
【解決手段】ターゲットソフトウェア(PRG)101の動作環
境であるターゲット開発環境100とそのPRGを試験するた
めの作業環境であるホスト環境200とを備え、ターゲッ
ト開発環境は試験対象であるPRGと該PRGの制御対象であ
るハードウェア(HW)300を構成する各HWデバイス群を制
御する制御手段105とデバイス制御入出力振分情報に基
づきPRGとの間で授受する情報を制御手段105側にするか
ターゲット側通信手段106側にするかを切替制御する振
分手段103とデバイス制御入出力振分情報を変更するた
めの変更手段107を持ち、ホスト開発環境は前記ターゲ
ット側通信手段と情報授受するホスト側通信手段201とH
Wの動作を仮想的に実現する物理レベル仮想HW実現手段2
02とHWに対する人為的操作が可能な環境を仮想的に実現
する論理レベル仮想HW実現手段207を備える。
(57) [Summary] [PROBLEMS] To enable software testing even when hardware is not completed, and to continue testing when hardware is partially completed. A target development environment includes a target development environment as an operation environment of a target software and a host environment as a work environment for testing the PRG. The target development environment includes a PRG to be tested and the PRG. The control means 105 for controlling each HW device group that constitutes the hardware (HW) 300 to be controlled by the control means 105 and whether information to be exchanged with the PRG based on the device control input / output distribution information is on the control means 105 side The target development unit has a distribution unit 103 for switching control of whether to be on the side of the target communication unit 106 and a change unit 107 for changing device control input / output distribution information. Side communication means 201 and H
Physical level virtual HW realization means 2 that virtually realizes the operation of W
02 and a logical level virtual HW realizing means 207 for virtually realizing an environment in which human operations on the HW are possible.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、製品に組み込まれ
るプログラムを実践的、効果的に検証およびデバッグす
ることができるようにしたソフトウェア試験装置にかか
わり、特に製品開発段階において、ハードウェア開発と
同時並行して進められる開発途中のプログラムのデバッ
グと動作検証を効率よく行えるようにしたソフトウェア
試験装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software test apparatus capable of practically and effectively verifying and debugging a program incorporated in a product. The present invention relates to a software test apparatus capable of efficiently debugging and verifying the operation of a program under development that is proceeding in parallel.
【0002】[0002]
【従来の技術】エアコン、電子式炊飯器、冷蔵庫と云っ
た家電品、あるいは携帯電話機類や情報機器など、多く
の電気電子製品各種システムにおいてはその制御はマイ
クロプロセッサ(CPU)を制御の中枢としたソフトウ
ェア制御が主流であり、製品に内蔵されるハードウェア
としてのマイコン制御回路と、その制御ソフトウェアと
してのプログラムとは不離一体の関係となっている。2. Description of the Related Art In many electric and electronic products such as air conditioners, electronic rice cookers and refrigerators, and various electric and electronic products such as portable telephones and information devices, the control of a microprocessor (CPU) is central to control. Software control is the mainstream, and the microcomputer control circuit as hardware built into the product and the program as control software are inseparably integrated.
【0003】従って、製品を開発する場合、その製品の
制御のためのハードウェアの開発と並行してそのハード
ウェアを制御するためのソフトウェアの開発が同時並行
して進められることになるが、近年では、競争激化のた
めに、製品の開発は短時間で行う必要がある。Therefore, when a product is developed, software for controlling the hardware is developed concurrently with development of hardware for controlling the product. Then, in order to intensify competition, product development needs to be done in a short time.
【0004】そのため、新製品を開発する場合には、ハ
ードウェアとソフトウェアを同時並行して押し進めなけ
ればならなくなり、完成したハードウェアを制御するソ
フトウェアの動作検証とデバッグは、いきおい、製品開
発期間の最終段階になる。[0004] Therefore, when a new product is developed, it is necessary to push hardware and software at the same time, and the operation verification and debugging of the software for controlling the completed hardware are very difficult during the product development period. The final stage.
【0005】ソフトウェアの開発には動作確認のための
試験とデバッグが不可欠であるが、従来、ハードウェア
に組み込むソフトウェアの試験は、組み込むハードウェ
アの完成を待って、そのハードウェアを実際に用いて行
われていた。このため、ハードウェアが未完成の場合、
ソフトウェアの試験を行うことは困難であった。[0005] Testing and debugging for operation confirmation are indispensable for software development. Conventionally, testing of software to be incorporated into hardware is performed by using the hardware after the completion of the hardware to be incorporated. It was done. Therefore, if the hardware is incomplete,
Testing the software was difficult.
【0006】この結果、ソフトウェアの試験とハードウ
ェアの開発を同時並行的に行うことができず、製品の開
発期間が長くなって、製品開発の実状に合わないという
問題があった。As a result, the software test and the hardware development cannot be performed simultaneously, resulting in a problem that the development period of the product becomes long and does not meet the actual situation of the product development.
【0007】また、短期間で一度に多くのハードウェア
を接続しての試験は、非常に複雑な作業であり、このた
め、ソフトウェアの誤りを見逃す可能性も少なくなく、
作業の効率化も困難であった。さらに、開発されたハー
ドウェア装置自体に誤りがあった場合には、最悪の場
合、誤りのあるソフトウェアを誤りのあるハードウェア
を用いて試験することになり、それらの誤りの発見や原
因究明は非常に困難な作業となる可能性もあった。[0007] In addition, a test in which many pieces of hardware are connected at a time in a short period of time is a very complicated operation, and therefore, there is a possibility that software errors are overlooked.
It was also difficult to improve work efficiency. Furthermore, if there is an error in the developed hardware device itself, in the worst case, the erroneous software will be tested using the erroneous hardware. It could be a very difficult task.
【0008】このような問題点を解決するための方法と
して一般に行われているものに、CPUシミュレータの
利用がある。このCPUシミュレータは、ホスト計算機
上でターゲットCPUの動作をシミュレートするもので
あり、これにより、ハードウェアを一切利用することな
く、ソフトウェアを実行することを可能とする。[0008] As a general method for solving such a problem, there is a use of a CPU simulator. This CPU simulator simulates the operation of a target CPU on a host computer, thereby enabling execution of software without using any hardware.
【0009】しかし、CPUシミュレータを用いて実行
できるソフトウェアの動作には制限がある。However, there is a limit on the operation of software that can be executed using the CPU simulator.
【0010】例えば、センサなどのハードウェア装置か
らの入力を待って、その値を利用するような動作の場
合、CPUシミュレータだけでは上記の入力を待つ動作
を実現することは難しい。For example, in the case of an operation that waits for an input from a hardware device such as a sensor and uses the value, it is difficult to realize the operation of waiting for the above input using only a CPU simulator.
【0011】これは、CPUシミュレータだけでは上記
のような場合、実際にハードウェア装置と接続すること
は出来ない上、CPUの周辺回路とも接続することが出
来ず、その結果、割り込み処理などの動作も実際には行
えないためである。[0011] In the above case, the CPU simulator alone cannot actually connect to a hardware device, and cannot connect to a peripheral circuit of the CPU. This cannot be done in practice.
【0012】[0012]
【発明が解決しようとする課題】近年、マイコン制御の
製品は増大の一途を辿り、民生品においては更に競争の
激化から製品開発サイクルが短くなっている。そのた
め、新製品を開発する場合には、ハードウェアとソフト
ウェアを同時並行して押し進めなければならなくなり、
完成したハードウェアを制御するソフトウェアの動作検
証とデバッグは、製品開発期間の最終段階になる。In recent years, products controlled by microcomputers have been steadily increasing, and the product development cycle of consumer products has been shortened due to intensifying competition. Therefore, when developing a new product, hardware and software must be pushed in parallel,
Verification and debugging of the software that controls the completed hardware is the final stage of product development.
【0013】ソフトウェアの開発には動作確認のための
試験とデバッグが不可欠であるが、従来のハードウェア
に組み込むソフトウェアの試験は、組み込むハードウェ
アの完成を待って、そのハードウェアを実際に用いて行
う方式と、CPUシミュレータを用いる方式とがある。[0013] Testing and debugging for operation confirmation are indispensable for software development, but testing of software to be incorporated in conventional hardware involves waiting for completion of the hardware to be incorporated and then actually using the hardware. There are a method of performing the method and a method of using a CPU simulator.
【0014】前者の場合、実際のハードウェアを使用す
るため、ハードウェアが未完成の場合、ソフトウェアの
試験を行うことはできない。そのため、ソフトウェアの
試験とハードウェアの開発を同時並行的に行うことがで
きないから、製品の開発期間が長くなって、製品開発の
実状に合わないという問題があった。In the former case, since actual hardware is used, software testing cannot be performed if the hardware is incomplete. As a result, software testing and hardware development cannot be performed simultaneously in parallel, resulting in a problem that the product development period is lengthened and does not match the actual situation of product development.
【0015】また、製品開発期間後期において、ハード
ウェアが揃った段階でソフトウェア試験を行うことにな
るので、作業が大変であり、十分な試験ができない可能
性がある。すなわち、一度に多くのハードウェアを接続
しての試験は、非常に複雑な作業であり、このため、ソ
フトウェアの誤りを見逃す可能性も少なくなく、作業の
効率化も困難である。In the latter half of the product development period, a software test is performed when the hardware is ready, so the operation is difficult and there is a possibility that a sufficient test cannot be performed. That is, a test in which many pieces of hardware are connected at one time is a very complicated operation, and therefore, there is little possibility that software errors are missed, and it is difficult to improve the efficiency of the operation.
【0016】さらに、開発されたハードウェア装置自体
に誤りがあった場合には、最悪の場合、誤りのあるソフ
トウェアを誤りのあるハードウェアを用いて試験するこ
とになり、それらの誤りの発見や原因究明は非常に困難
な作業となる可能性も残されており、大きなネックとな
る。Furthermore, if there is an error in the developed hardware device itself, in the worst case, the erroneous software will be tested using the erroneous hardware, and the detection of those errors and the Investigation into the cause may still be a very difficult task, which is a major bottleneck.
【0017】一方、CPUシミュレータを利用する方式
では、ホスト計算機上でターゲットCPUの動作をシミ
ュレートすることにより、ハードウェアを一切利用する
ことなく、ソフトウェアを実行することを可能とする
が、しかし、CPUシミュレータを用いて実行できるソ
フトウェアの動作には制限がある。On the other hand, in the method using a CPU simulator, software can be executed without using any hardware by simulating the operation of a target CPU on a host computer. There is a limit on the operation of software that can be executed using the CPU simulator.
【0018】例えば、センサなどのハードウェア装置か
らの入力を待って、その値を利用するような動作の場
合、CPUシミュレータだけでは上記の入力を待つ動作
を実現することは難しい。For example, in the case of an operation that waits for an input from a hardware device such as a sensor and uses the value, it is difficult to realize the operation of waiting for the above input using only a CPU simulator.
【0019】これは、CPUシミュレータだけでは上記
のような場合、実際にハードウェア装置と接続すること
は出来ない上、CPUの周辺回路とも接続することが出
来ず、その結果、割り込み処理などの動作も実際には行
えないためである。This is because, in the case described above, the CPU simulator alone cannot actually connect to a hardware device, and cannot connect to a peripheral circuit of the CPU. This cannot be done in practice.
【0020】CPUシミュレータを利用してのソフトウ
ェア実行に伴う、上記のような問題点を解決するための
技術として、本出願人による「プログラムシミュレーシ
ョン装置」(特願平5−227401号、特願平6−3
6124号、特願平6−217128号)がある。この
技術は、上記のような場合にCPUと接続される周辺回
路、さらにはハードウェア装置をホスト計算機上にソフ
トウェアとして作成し、周辺回路ならびにハードウェア
装置の動作をシミュレートすることにより、ハードウェ
ア装置との入出力を持つソフトウェアの実行を可能にし
ている。さらには、ターゲット上に実装され、利用され
るオペレーティングシステム機能をも、ホスト計算機上
に実現し、上記の割り込み処理などの動作もターゲット
上と全く同じに実行できるようにするものである。As a technique for solving the above-mentioned problems associated with software execution using a CPU simulator, a "program simulation apparatus" (Japanese Patent Application No. 5-227401, Japanese Patent Application No. 6-3
No. 6124, Japanese Patent Application No. 6-217128). In this technique, a peripheral circuit connected to a CPU and a hardware device are created as software on a host computer in the above-described case, and the operation of the peripheral circuit and the hardware device is simulated. It enables the execution of software that has input and output with the device. Furthermore, the operating system functions that are implemented and used on the target are also realized on the host computer, and the operations such as the above-described interrupt processing can be executed in exactly the same manner as on the target.
【0021】しかし、「プログラムシミュレーション装
置」では、すべてのソフトウェアはホスト計算機上のC
PUシミュレータ上で逐一シミュレート実行されるかた
ちになっていた。さらに、周辺回路やハードウェア装置
もホスト計算機上でシミュレートされるかたちになって
いた。However, in the “program simulation device”, all software is stored in the C on the host computer.
The simulation was executed one by one on the PU simulator. Furthermore, peripheral circuits and hardware devices have also been simulated on the host computer.
【0022】このため、ソフトウェアの実行速度はター
ゲット計算機上と比較して極端に遅くなってしまい(例
えば、数十倍から数百倍もかかる)、そのため、試験を
目的としたソフトウェアの実行にとって重要な、「繰り
返し実行」や「長時間の実行」、および「実行時間の確
認」などといった作業には多大な労力と時間を要する場
合も多かった。For this reason, the execution speed of the software is extremely slow as compared with that of the target computer (for example, it takes tens to hundreds of times), and is therefore important for the execution of the software for testing. In many cases, tasks such as "repeated execution", "long-time execution", and "confirmation of execution time" require a great deal of labor and time.
【0023】さらに、ハードウェアの動作との相対的な
速度についても、容易には予測できず、実際のターゲッ
トマシン上でのソフトウェアの実行とかけ離れた動作を
試験することとなってしまう可能性も少なくなかった。Furthermore, the relative speed with respect to the operation of the hardware cannot be easily predicted, and there is a possibility that the operation which is far from the execution of the software on the actual target machine may be tested. Not a few.
【0024】マイコン制御の製品開発におけるソフトウ
ェア開発にあたり、実際のハードウェアを用いた試験
は、重要である。しかし、ソフトウェアの開発はその動
作の信頼性確認が重要であり、また、バグのない完全な
プログラムを得るにはデバッグに要するの時間を相当見
込んでおかねばならず、ハードウェアが揃わない段階で
動作検証しつつ、実際のハードウェアが完成し次第、そ
の完成したハードウェアを用いてソフトウェアを動作検
証していく必要がある。ハードウェアが多岐に亙る場
合、完成したハードウェアのうち、完成したものを逐
次、組み込んでソフトウェアを総合的に検証することが
できる、かつ、デバッグを進めることができるような開
発環境の出現が嘱望されていた。In software development in microcomputer-controlled product development, tests using actual hardware are important. However, when developing software, it is important to check the reliability of its operation, and in order to obtain a complete program without bugs, the time required for debugging must be considerably taken into consideration. While verifying the operation, as soon as the actual hardware is completed, it is necessary to verify the operation of the software using the completed hardware. In the case of a wide variety of hardware, the emergence of a development environment in which completed hardware can be sequentially incorporated into the completed hardware to enable comprehensive verification of software and debugging can be expected. It had been.
【0025】特に、ハードウェアとの入出力を含む範囲
のソフトウェアを、十分に速い実行速度で、実装方式を
限定することなく、ソースコードを実行して動作の確認
とデバッグを進めることができる技術の開発が重要であ
る。In particular, technology capable of executing source code to confirm and debug operation of software in a range including input / output with hardware at a sufficiently high execution speed without limiting the mounting method. Development is important.
【0026】そこでこの発明の目的とするところは、タ
ーゲットハードウェアが未完成でもターゲットハードウ
ェアが実存すると同様の環境下でターゲットソフトウェ
アの試験を可能にし、また、一部であっても完成したタ
ーゲットハードウェアが入手できるようになったときに
は、この完成したターゲットハードウェアを用いてター
ゲットソフトウェアの試験を実施できるようにしたソフ
トウェア試験装置を提供することにある。Therefore, an object of the present invention is to enable a test of target software under the same environment as when target hardware actually exists, even if the target hardware is incomplete. It is an object of the present invention to provide a software test apparatus which can execute a test of target software using the completed target hardware when the hardware becomes available.
【0027】[0027]
【課題を解決するための手段】上記目的を達成するた
め、本発明は次のように構成する。すなわち、目的のハ
ードウェアであるターゲットハードウェアの制御に用い
るターゲットのソフトウェアを試験するソフトウェア試
験装置において、ターゲットのソフトウェアの動作環境
であるターゲット開発環境と、そのソフトウェアを試験
するための作業環境であるホスト環境とを備え、ターゲ
ット開発環境は、試験対象であるターゲットプログラム
と、ソフトウェアの制御対象であるハードウェアを構成
する各ハードウェアデバイス群を制御するハードウェア
デバイス制御手段と、ハードウェアデバイス制御入出力
振り分け情報に基づきターゲットプログラムとの間で授
受する情報をハードウェアデバイス制御プログラム側に
するかターゲット側通信手段側にするかを切り替え制御
するハードウェアデバイス制御入出力振り分け手段と、
ハードウェアデバイス制御入出力振り分け情報を変更す
るためのハードウェアデバイス制御入出力振り分け情報
変更手段を持ち、また、ホスト開発環境は、前記ターゲ
ット側通信手段と情報の授受をするためのホスト側通信
手段と、ターゲットハードウェアの動作を仮想的に実現
する物理レベル仮想ハードウェア実現手段と、ターゲッ
トハードウェアに対する人為的操作を可能にする環境を
仮想的に実現する論理レベル仮想ハードウェア実現手段
を備えることを特徴とする。In order to achieve the above object, the present invention is configured as follows. That is, in a software test apparatus that tests target software used for controlling target hardware that is target hardware, a target development environment that is an operating environment of the target software and a work environment for testing the software. A target environment to be tested, hardware device control means for controlling each hardware device group constituting hardware to be controlled by software, and a hardware device control input device. A hardware device control input / output distribution unit that controls whether information to be exchanged with the target program based on the output distribution information is switched to the hardware device control program side or the target side communication unit side;
Hardware device control input / output distribution information changing means for changing hardware device control input / output distribution information; and a host development environment for transmitting / receiving information to / from the target side communication means. And physical level virtual hardware realizing means for virtually realizing the operation of the target hardware, and logical level virtual hardware realizing means for virtually realizing an environment enabling artificial operation on the target hardware It is characterized by.
【0028】本システムは、実行されるソフトウェアの
動作環境であるターゲット開発環境と、そのソフトウェ
アを試験するための、作業環境であるホスト環境とより
構成される、クロス開発環境を提供する。The present system provides a cross development environment composed of a target development environment which is an operation environment of software to be executed, and a host environment which is a work environment for testing the software.
【0029】試験対象であるソフトウェアは、ハードウ
ェアデバイス制御プログラムとターゲットプログラムと
に別れており、前者はハードウェアデバイスに完全に依
存しており、後者はハードウェアデバイスへの依存度は
低い。The software to be tested is divided into a hardware device control program and a target program. The former is completely dependent on the hardware device, and the latter is less dependent on the hardware device.
【0030】試験のためには各ハードウェアデバイスの
状態を操作することが必要である。そこで、本システム
では、ハードウェアデバイス制御入出力振り分け手段に
より、実際のハードウェアのハードウェアデバイスを操
作するか、制御入出力をホスト環境とやり取りする形
で、ホスト上でハードウェアデバイスを仮想的に操作す
るか、を選択的に実現することができるようにしてい
る。For testing, it is necessary to manipulate the state of each hardware device. Therefore, in this system, the hardware device control input / output allocating means operates the hardware device of the actual hardware or exchanges the control input / output with the host environment, and virtualizes the hardware device on the host. Or can be selectively implemented.
【0031】ターゲット側通信手段はホスト側通信手段
との間で情報のやりとりを行う事により、上記のホスト
上でのハードウェアデバイスの仮想的な操作を可能にす
る。The target-side communication means exchanges information with the host-side communication means, thereby enabling a virtual operation of a hardware device on the host.
【0032】上記選択を行った試験中でも、ターゲット
プログラムはハードウェアデバイス制御レジスタを介し
てハードウェアデバイスと情報をやりとりするため、ど
のような選択に基づいて試験されているかを、全く考慮
する必要はない。Since the target program exchanges information with the hardware device via the hardware device control register even during the test in which the above selection is performed, it is not necessary to consider at all what selection is being performed based on the selection. Absent.
【0033】ハードウェアデバイス制御入出力振り分け
手段に、ハードウェアデバイス制御入出力振り分け情報
を参照させることにより、上記選択を製品に応じ、ま
た、製品の開発状況に応じて、柔軟に変更する事ができ
る。By making the hardware device control input / output distribution means refer to the hardware device control input / output distribution information, the above selection can be flexibly changed according to the product and the development status of the product. it can.
【0034】ハードウェアデバイス制御入出力振り分け
情報は、ソフトウェア実行中にハードウェアデバイス制
御入出力振り分け情報変更手段が動的に書き換え可能で
ありこれにより、ソフトウェア実行中でも指示に応じて
実際のハードウェアデバイスの操作と、ホスト上での仮
想的なハードウェアデバイスの操作とを動的に選択する
事ができる。The hardware device control input / output distribution information can be dynamically rewritten by the hardware device control input / output distribution information changing means during execution of the software. And the operation of a virtual hardware device on the host can be dynamically selected.
【0035】ホスト環境において、物理レベル仮想ハー
ドウェアは、物理的な信号レベルでの各ハードウェアデ
バイスの状態の操作と参照を可能にする。In the host environment, physical level virtual hardware allows manipulation and reference of the state of each hardware device at the physical signal level.
【0036】物理レベル仮想ハードウェアは、物理的な
信号レベルで各ハードウェアデバイスの状態を保持す
る。The physical level virtual hardware holds the state of each hardware device at a physical signal level.
【0037】物理レベル仮想ハードウェアは、ホスト側
通信手段を通じて、ターゲットプログラムからハードウ
ェアデバイスに対し新たな要求が発行された事を通知さ
れた場合、その要求にしたがって、物理レベル仮想ハー
ドウェア内の対応するハードウェアデバイスの状態を更
新する。物理レベル仮想ハードウェアは、ユーザ操作に
よりハードウェアデバイスの状態が更新された場合に、
ハードウェアデバイスの状態変化情報を、ホスト側通信
手段から、ハードウェアデバイス制御入出力振り分け手
段を経由してターゲットプログラムへと通知する。こう
することで、ターゲットプログラムを、実際には接続さ
れていないハードウェアデバイスがあつても、そのこと
を全く考慮することなく実行することができる。When the target level program notifies the hardware device that a new request has been issued to the hardware device through the host-side communication means, the physical level virtual hardware responds to the request by rewriting the physical level virtual hardware. Update the status of the corresponding hardware device. Physical level virtual hardware is used when the status of a hardware device is updated by a user operation.
The status change information of the hardware device is notified from the host communication means to the target program via the hardware device control input / output distribution means. In this way, even if there is a hardware device that is not actually connected, the target program can be executed without any consideration.
【0038】本システムにおいては、ホスト環境におい
て、論理レベルハードウェアは、論理的な意味レベルで
の各ハードウェアデバイスの状態の操作と参照を可能に
する。すなわち、論理レベル仮想ハードウェアは、論理
的な意味レベルで各ハードウェアデバイスの状態を保持
する。また、ホスト環境に、信号レベルの情報を意味レ
ベルの情報へと抽象度変換して、そのハードウェア状態
を物理レベル仮想ハードウェアから論理レベル仮想ハー
ドウェアに読み上げるハードウェア情報抽象度変換手段
を設け、論理レベル仮想ハードウェアから意味レベルの
情報をハードウェア情報抽象度変換手段に送って信号レ
ベルの情報へと抽象度変換することにより、そのハード
ウェア状態が物理レベル仮想ハードウェアへと写像させ
ることにより、実際に接続されていないハードウェアデ
バイスに対しても、論理レベルでハードウェアデバイス
を仮想的に操作しながら、ソフトウェアを実行する事が
可能にする。In the present system, in the host environment, the logical level hardware enables the operation and reference of the state of each hardware device at a logical semantic level. That is, the logical-level virtual hardware holds the state of each hardware device at a logical meaning level. Further, the host environment is provided with hardware information abstraction degree conversion means for converting the information of the signal level into the information of the semantic level and reading out the hardware state from the physical level virtual hardware to the logical level virtual hardware. By transmitting the information of the semantic level from the logical level virtual hardware to the hardware information abstraction level converting means and converting the level of the abstraction into the information of the signal level so that the hardware state is mapped to the physical level virtual hardware. Accordingly, it is possible to execute software while virtually operating a hardware device at a logical level even for a hardware device that is not actually connected.
【0039】ハードウェア情報抽象度変換手段は、変換
に際して、変換の方法を記述した変換情報と、意味レベ
ルの情報と信号レベルの情報の対応を記述した物理‐論
理対応情報を利用し、論理レベル仮想ハードウェアは、
物理‐論理対応情報を利用して、論理レベルの情報を管
理する。At the time of conversion, the hardware information abstraction degree conversion means uses conversion information describing a conversion method and physical-logical correspondence information describing correspondence between information at a meaning level and information at a signal level, Virtual hardware is
The logical-level information is managed using the physical-logical correspondence information.
【0040】変換情報、物理‐論理対応情報はそれぞれ
製品に依存した情報であり、製品毎に入れ替える必要が
あるが、本システムによれば、ホスト側では、上記の2
つの情報を除いて、完全に製品に非依存に実現すること
ができる。The conversion information and the physical-logical correspondence information are information dependent on each product, and need to be replaced for each product.
Except for one piece of information, it can be realized completely product-independent.
【0041】ターゲット側は基本的には利用されるチッ
プなどに依存するが、本発明の提案する構成を利用し、
ターゲットーホスト間通信手段で利用するプロトコルを
標準化することにより、ホスト側環境は汎用のものとし
て実現できる。Although the target side basically depends on the chip used, etc., using the configuration proposed by the present invention,
By standardizing the protocol used in the target-host communication means, the host-side environment can be realized as a general-purpose one.
【0042】本発明では、試験を目的としたソフトウェ
ア実行において、十分な実行速度を実現するために、タ
ーゲットであるマイコンとホスト計算機を直接、ターゲ
ット‐ホスト間通信手段を用いて接続する方式をとって
いる。According to the present invention, in order to realize a sufficient execution speed in software execution for the purpose of a test, a system in which a target microcomputer and a host computer are directly connected using a target-host communication means is employed. ing.
【0043】これにより、ソフトウェアは実際のターゲ
ットCPU上で動作するため、CPUシミュレータを用
いた場合のように、実行速度が極端に遅くなることはな
い。また、本発明では、ハードウェア装置との入出力を
含む範囲までのソフトウェアの実行を可能にするため、
実行対象であるソフトウェアの構成をハードウェアデバ
イス制御レジスタを介してハードウェアを制御する形式
に統一する。これは、本発明の対象となっている製品に
組み込まれるソフトウェアの実装方法としては、特に制
約とはなっていない。Thus, since the software operates on the actual target CPU, the execution speed does not become extremely slow unlike the case of using a CPU simulator. Further, in the present invention, in order to enable execution of software up to a range including input / output with a hardware device,
The configuration of software to be executed is unified into a format for controlling hardware via a hardware device control register. This is not particularly limited as a method of implementing software to be incorporated in the product targeted by the present invention.
【0044】本発明では、この制御レジスタにアクセス
するかたちで、ハードウェアデバイス制御入出力振り分
け部が存在する。この振り分け部は、ハードウェアデバ
イス制御入出力振り分け情報を参照することにより、そ
の試験の時々の状況に応じて、柔軟にハードウェア装置
の接続構成を変えて、ソフトウェアを実行することを可
能にする。接続されないハードウェア装置については、
ホスト計算機上でそのハードウェアの動作をシミュレー
トし、入出力を前記の通信手段を介することにより実現
する。In the present invention, a hardware device control input / output distribution unit exists by accessing the control register. By referring to the hardware device control input / output allocation information, the allocation unit can flexibly change the connection configuration of the hardware device and execute software according to the situation at the time of the test. . For hardware devices that are not connected,
The operation of the hardware is simulated on the host computer, and the input and output are realized through the communication means.
【0045】ホスト計算機上でのハードウェア装置のシ
ミュレーションにおいては、ターゲットと直接、やり取
りできる物理レベル仮想ハードウェアと、より人間に理
解し易い製品知識を導入して記述される論理レベル仮想
ハードウェアとを実現する。これらにより、その試験の
時々に応じて、必要な抽象度のレベルを選んで試験を行
うことを可能にし、人間への負担を小さく、かつ信頼性
の高い試験を行うことを可能にしている。In the simulation of a hardware device on a host computer, physical level virtual hardware that can directly interact with a target and logical level virtual hardware that is described by introducing product knowledge that is more understandable to humans are described. To achieve. As a result, it is possible to select a necessary level of abstraction and perform a test depending on the time of the test, and to perform a highly reliable test with a small burden on humans.
【0046】物理レベル仮想ハードウェアの持つ抽象度
の情報から、論理レベル仮想ハードウェアを実現するた
めに必要となる、情報の抽象度の変換を実現するための
手段として、本発明は、ハードウェア情報抽象度変換部
を含んでいる。The present invention provides a hardware as a means for realizing the conversion of the information abstraction level required for realizing the logical level virtual hardware from the information on the abstraction level possessed by the physical level virtual hardware. It includes an information abstraction conversion unit.
【0047】これは、変換情報、物理‐論理対応情報を
利用することにより、情報の意味のギャップを埋め、異
なるレベルでのハードウェアのシミュレーション、さら
に、それらを用いた異なるレベルの試験を可能にする。By using the conversion information and the physical-logical correspondence information, the gap in the meaning of the information can be filled, hardware simulations at different levels can be performed, and tests at different levels using them can be performed. I do.
【0048】[0048]
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照して説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0049】本発明は、マイコン制御ハードウェアを内
蔵する製品に組み込まれるプログラムのデバッグを支援
するシステムであり、開発中のハードウェアを動かすた
めのソフトウェアを試験するソフトウェア実行装置およ
びソフトウェア実行方法の改良を図るものである。特
に、ソフトウェアを実行するために接続しなければなら
ないハードウェアの一部(あるいは全部)を、ソフトウ
ェアによって実際の動作タイミングに対応するようにシ
ミュレートすることにより、ハードウェアの開発状況に
依存しないで、正確な試験を行うことができるようにす
る。The present invention is a system for supporting debugging of a program incorporated in a product having microcomputer control hardware, and is an improvement of a software execution device and a software execution method for testing software for operating hardware under development. It is intended. In particular, by simulating a part (or all) of the hardware that must be connected to execute the software so as to correspond to the actual operation timing by the software, the hardware is not dependent on the development status of the hardware. To be able to perform accurate tests.
【0050】従来からのソフトウェア動作検証方法とし
て、マイコンプログラムとハードウェアを、製品の形に
組み上げて行なう方法(実機試験)と、エミュレータを
用いる方法とがあるが、実機試験による方法ではハード
ウェアの完成を待たないとプログラムのデバッグを行な
うことができない。また、ハードウェアの数的な制約か
ら複数(多数)のプログラム開発者がデバッグを行なう
ことができない。Conventional software operation verification methods include a method of assembling a microcomputer program and hardware into a product form (actual device test) and a method of using an emulator. The program cannot be debugged until it is completed. Further, a plurality (many) of program developers cannot perform debugging due to the limitation of hardware.
【0051】また、エミュレータを用いてマイコンプロ
グラムの動作検証を行う方法の場合、ハードウェアの入
出力を含めたデバッグを行なうためには、ユーザがいち
いち情報を入力するか、ハードウェアとつなげる必要が
ある。In the case of a method of verifying the operation of a microcomputer program using an emulator, a user needs to input information or connect to hardware in order to perform debugging including input / output of hardware. is there.
【0052】これに対し、本発明システムでは、ハード
ウェアの一部あるいは全てをPC(パソコン)上に仮想
的に用意し、この仮想ハードウェアとターゲットプログ
ラム(開発しているソフトウェア)間で必要なデータを
やり取りすることができるようにすると共に、完成した
ハードウェアも接続できて、この完成したハードウェア
については直接、ターゲットプログラムとの間でデータ
の授受を行って、動作検証を進めることができるように
することにより、ハードウェアの完成を待たずに、ある
いは完成してくるハードウェアを随時追加しながら、プ
ログラムの動作確認とデバッグとを行うことができるシ
ステムを実現する。On the other hand, in the system of the present invention, part or all of the hardware is virtually prepared on a PC (personal computer), and necessary hardware is required between the virtual hardware and a target program (software being developed). In addition to being able to exchange data, completed hardware can also be connected, and with this completed hardware, data can be directly exchanged with the target program to verify operation. By doing so, it is possible to realize a system capable of checking and debugging the operation of a program without waiting for completion of hardware or while adding completed hardware as needed.
【0053】以下、本発明の詳細を説明する。Hereinafter, the present invention will be described in detail.
【0054】システム構成を図1に示す。本システムの
構成要素は図1に示す如く、ターゲット側システム10
0とホストマシン側システム200とに分けられ、そし
て、ターゲットハードウェアである完成した実ハードウ
ェア300があればホストマシン側システム200に替
えてこの実ハードウェア300をターゲット側システム
100に接続して試験できる。この場合、接続した実ハ
ードウェア300の機能を代行していたホストマシン側
システム200の仮想ハードウェアは不要となるばかり
か、競合すると誤動作のもとになるので、ハードウェア
デバイス制御入出力振り分け情報104を変更して、当
該接続された実ハードウェア300の機能についてはこ
の実ハードウェア300を使用するようにハードウェア
デバイス制御入出力振り分け部103に、制御入出力の
振り分けをさせるようにする。FIG. 1 shows the system configuration. The components of this system are as shown in FIG.
0 and the host machine-side system 200, and if there is completed real hardware 300 as target hardware, the real hardware 300 is connected to the target-side system 100 instead of the host machine-side system 200. Can test. In this case, the virtual hardware of the host machine-side system 200 which has performed the function of the connected real hardware 300 is not only unnecessary, but if it conflicts, a malfunction may occur. 104 is changed so that the hardware device control input / output allocation unit 103 allocates the control input / output to the function of the connected real hardware 300 so as to use the real hardware 300.
【0055】すなわち、実ハードウェア300は開発途
中の段階では利用できないから、完成までの間は検証対
象のターゲットプログラム101を持つターゲット側シ
ステム100に、ホストマシン側システム200を接続
して代用させるようにする。ホストマシン側システム2
00には対象のハードウェアのシミュレーションを行う
仮想ハードウェアを実現機能を持たせてあり、ターゲッ
ト側システム100とホストマシン側システム200と
を接続してハードウェアの代用させ、ターゲットプログ
ラムの試験をし、実ハードウェア300が出来上がった
段階でホストマシン側システム200の当該仮想ハード
ウェアに替えてこの実ハードウェア300をターゲット
側システム100に接続して試験する。That is, since the real hardware 300 cannot be used during the development stage, the host machine side system 200 is connected to the target side system 100 having the target program 101 to be verified until the completion, until the completion. To Host machine side system 2
00 has a function of realizing virtual hardware for simulating the target hardware, connects the target system 100 and the host machine system 200, substitutes the hardware, and tests the target program. When the real hardware 300 is completed, the real hardware 300 is connected to the target system 100 in place of the virtual hardware of the host machine system 200 and tested.
【0056】実ハードウェア300は全部が出来上がっ
ていなくとも良く、一部分であってもそれが出来上がっ
た段階でホストマシン側システム200の当該仮想ハー
ドウェアに替えてこの一部分の実ハードウェア300を
ターゲット側システム100に接続し、他は仮想ハード
ウェアに代行させる形で試験することができる。Not all of the real hardware 300 need be completed, and even if it is a part, the part of the real hardware 300 is replaced with the virtual hardware of the system 200 on the host machine side when the part is completed. Others can be connected to the system 100 and tested on behalf of virtual hardware.
【0057】ホストマシン側200には、ホスト側通信
部201、論理レベル仮想ハードウェア207、ハード
ウェア情報抽象度変換部203、物理‐論理対応情報2
06、変換情報205、物理レベル仮想ハードウェア2
02、および、実行制御部204が含まれる。In the host machine 200, the host-side communication unit 201, the logical level virtual hardware 207, the hardware information abstraction degree conversion unit 203, and the physical-logical correspondence information 2
06, conversion information 205, physical level virtual hardware 2
02, and an execution control unit 204.
【0058】ターゲット側100は、ターゲットプログ
ラム101、ハードウェアデバイス制御レジスタ10
2、ハードウェアデバイス制御入出力振り分け部10
3、ハードウェアデバイス制御入出力振り分け情報10
4、ハードウェアデバイス制御プログラム105、ハー
ドウェアデバイス制御入出力振り分け情報変更部10
7、ターゲット側通信部106、および、ハードウェア
本体を備える。The target side 100 includes a target program 101, a hardware device control register 10
2. Hardware device control input / output distribution unit 10
3. Hardware device control input / output distribution information 10
4. Hardware device control program 105, hardware device control input / output distribution information change unit 10
7, a target communication unit 106 and a hardware main body.
【0059】ターゲット側100とホスト側200とは
ターゲット‐ホスト間通信手段208によって接続され
ている。The target side 100 and the host side 200 are connected by target-host communication means 208.
【0060】ターゲットハードウェア300とターゲッ
トソフトウェア101を組み合わせれば、ハードウェア
を操作し、それに対する反応を見ることによってソフト
ウェア101が正しく仕様通りに動作しているか確認す
ることが出来る。When the target hardware 300 and the target software 101 are combined, it is possible to confirm that the software 101 is operating correctly as specified by operating the hardware and observing the reaction to the hardware.
【0061】これに対し、ハードウェアの一部しかでき
ていない、あるいはハードウェア全てがまだ未完成で、
使用できないといったような状況下においても、あたか
も実ターゲットハードウェアを接続しているかの如きハ
ードウェア操作と、反応を見ることができて上記同等の
デバッグ作業が行えるようにするため、ホストマシン側
200に仮想ハードウェアを用意する。On the other hand, only a part of the hardware is completed, or all the hardware is not yet completed.
In such a situation that the host machine cannot be used, the host machine side 200 can operate the hardware as if the real target hardware is connected and can see the reaction and perform the same debugging work as described above. Prepare virtual hardware.
【0062】そして、この仮想ハードウェアをあたかも
実ハードウェアと同じような感覚で操作しつつ、ターゲ
ットプログラム101のデバッグを行なうようにする。Then, the target program 101 is debugged while operating the virtual hardware as if it were real hardware.
【0063】図1におけるハードウェアデバイス制御レ
ジスタ102はハードウェア/仮想ハードウェアからの
イベントと、ターゲットプログラム101からのアクシ
ョンをバッファリングするためのものであり、ハードウ
ェアデバイス制御入出力振り分け部103は、実ハード
ウェア/仮想ハードウェアから送られてくるイベントの
どちらをターゲットプログラム101に伝えるか、ま
た、ターゲットプログラム101から出力されるアクシ
ョンを実ハードウェアと仮想ハードウェアのどちらに送
るかを判定し、振り分ける制御を行うものであり、ハー
ドウェアデバイス制御入出力振り分け情報104はこの
ハードウェアデバイス制御入出力振り分け部103が振
り分けに使用する情報であって、ハードウェアデバイス
制御入出力振り分け情報変更部107により変更可能で
ある。The hardware device control register 102 in FIG. 1 is used to buffer events from hardware / virtual hardware and actions from the target program 101. It determines which of the events sent from the real hardware / virtual hardware is to be transmitted to the target program 101 and whether the action output from the target program 101 is to be transmitted to the real hardware or the virtual hardware. The hardware device control input / output allocation information 104 is information used by the hardware device control input / output allocation unit 103 for allocation, and is used for hardware device control input / output allocation. It can be changed by the broadcast changing unit 107.
【0064】また、ハードウェアデバイス制御プログラ
ム105は、ターゲットプログラム101と実ハードウ
ェア300とのやり取りを橋渡しするものであって、ハ
ードウェア300において検出されたイベントをターゲ
ットプログラム101に伝え、アクションに応じてハー
ドウェア300の動作を制御するものである。また、タ
ーゲット側通信部106は、ホストマシンに対するアク
ションの送信/イベントの受信を担当する部分であり、
また、ハードウェアデバイス制御入出力振り分け情報1
04の変更/閲覧要求を送受信するものである。The hardware device control program 105 is for bridging the exchange between the target program 101 and the real hardware 300. The hardware device control program 105 transmits an event detected in the hardware 300 to the target program 101 and responds to the action. This controls the operation of the hardware 300. Further, the target-side communication unit 106 is in charge of transmitting an action to the host machine / receiving an event.
Also, hardware device control input / output distribution information 1
04 is transmitted / received.
【0065】ハードウェアデバイス制御入出力振り分け
情報変更部107は、ホスト側からの要求に応じて、ハ
ードウェアデバイス制御入出力振り分け情報104を変
更したり、振り分け情報をホスト側に返す処理を行うも
のであり、また、変更要求を受けると該当する振り分け
情報の部分に反映させる機能を持つ。The hardware device control input / output distribution information change unit 107 changes the hardware device control input / output distribution information 104 or returns the distribution information to the host in response to a request from the host. Also, when a change request is received, it has a function of reflecting the change request in the corresponding distribution information.
【0066】ホスト側通信部201は、ターゲット10
0とのデータの送受信を担当するものであって、仮想ハ
ードウェアから送られてくるイベントと、実行制御部2
04から送られてくる振り分け情報変更/閲覧要求を、
定められたプロトコルに従って送信データへと加工して
送り出し、また、受信したデータを展開してアクショ
ン、または、閲覧要求の結果を取り出すといったことを
行っている。The host communication unit 201 is connected to the target 10
0 is responsible for sending and receiving data to and from the virtual hardware,
The sorting information change / viewing request sent from 04
Processing is performed on transmission data in accordance with a predetermined protocol, and the processed data is transmitted. In addition, the received data is expanded to extract an action or a result of a browsing request.
【0067】物理レベル仮想ハードウェア202は、タ
ーゲット100内で扱っているデータのレベルでハード
ウェアの状態/動作を表現した、ホストマシン200上
の仮想ハードウェアであって、ユーザは、論理レベル仮
想ハードウェア207を操作/観察するだけでなく、こ
の物理レベルでの仮想ハードウェア202を操作/観察
し、ターゲットプログラム101をデバッグすることが
できる。ターゲットプログラム101と直接、やり取り
できる仮想ハードウェアが物理レベル仮想ハードウェア
202である。The physical-level virtual hardware 202 is virtual hardware on the host machine 200 that expresses the state / operation of the hardware at the level of the data handled in the target 100. In addition to operating / observing the hardware 207, the target program 101 can be debugged by operating / observing the virtual hardware 202 at this physical level. The virtual hardware that can directly exchange with the target program 101 is the physical level virtual hardware 202.
【0068】ハードウェア情報抽象度変換部203は、
イベント/アクションを物理レベルから論理レベルヘ、
逆に、論理レベルから物理レベルへと変換するものであ
る。The hardware information abstraction degree conversion unit 203
Events / actions from physical level to logical level,
Conversely, it converts from a logical level to a physical level.
【0069】実行制御部204は、ハードウェアデバイ
ス制御入出力振り分け情報を操作して、実ハードウェア
と仮想ハードウェアの切り替えを行なうために、ホスト
マシン200側に用意されているユーザインタフェース
であり、変換情報205は、イベント/アクションの論
理レベル‐物理レベルの変換に必要な情報で、製品毎に
用意されるものであり、物理‐論理対応情報206は、
論理レベルのイベントを物理レベルに変換したり、ある
いは、物理レベルのアクションを論理レベルに変換する
ために、各イベント/アクションと、変換ルーチン名、
引数を対応させたものからなる情報である。The execution control unit 204 is a user interface prepared on the host machine 200 side for operating the hardware device control input / output distribution information to switch between real hardware and virtual hardware. The conversion information 205 is information necessary for conversion between a logical level and a physical level of an event / action, and is prepared for each product.
To convert a logical level event to a physical level, or a physical level action to a logical level, each event / action and a conversion routine name,
This is information that consists of the corresponding arguments.
【0070】論理レベル仮想ハードウェア207は、ユ
ーザが理解容易な表現で、ハードウェアの状態/動作を
ホストマシン上にシミュレーションするものであって、
この仮想ハードウェアを操作するとイベントが発生し、
アクションが返ってくると仮想ハードウェアの状態が変
化するようになっている。The logical-level virtual hardware 207 simulates the state / operation of the hardware on the host machine in an expression that can be easily understood by the user.
When you interact with this virtual hardware, events occur,
When the action returns, the state of the virtual hardware changes.
【0071】ターゲット‐ホスト間通信手段208は、
ターゲット100とホストマシン200との間の通信を
可能にするものであって、例えば、シリアル回線、パラ
レル回線などの回線と、この回線に対してデータを送信
する上でのプロトコルを定め、このプロトコルに従って
通信を行うものである。The target-host communication means 208
The communication between the target 100 and the host machine 200 is enabled. For example, a line such as a serial line or a parallel line and a protocol for transmitting data to the line are determined. The communication is performed according to the following.
【0072】本システムは、ターゲットハードウェアの
制御に用いるソフトウェアを試験するためのソフトウェ
ア実行装置であり、以下の如き特徴を持つ。This system is a software execution device for testing software used for controlling target hardware, and has the following features.
【0073】すなわち、実行されるソフトウェアの動作
環境であるターゲット開発環境と、そのソフトウェアを
試験するための、作業環境であるホスト環境とより構成
されるクロス開発環境を提供する。That is, the present invention provides a cross development environment including a target development environment, which is an operation environment of software to be executed, and a host environment, which is a work environment for testing the software.
【0074】ターゲット開発環境は、ソフトウェアが制
御する対象であるハードウェア300と、そのハードウ
ェアを構成する各ハードウェアデバイス群を制御するハ
ードウェアデバイス制御プログラム105と、ハードウ
ェアデバイス制御入出力振り分け部103と、ハードウ
ェアデバイス制御入出力振り分け情報104と、ハード
ウェアデバイス制御入出力振り分け情報変更部107
と、ハードウェアデバイス制御レジスタ102と、ター
ゲットプログラム101と、ターゲット側通信部106
からなる。The target development environment includes a hardware 300 to be controlled by software, a hardware device control program 105 for controlling each hardware device group constituting the hardware, and a hardware device control input / output distribution unit. 103, hardware device control input / output distribution information 104, and hardware device control input / output distribution information change unit 107
, A hardware device control register 102, a target program 101, a target-side communication unit 106
Consists of
【0075】ホスト開発環境は、物理レベル仮想ハード
ウェア202と、実行制御部204と、ハードウェア情
報抽象度変換部203と、物理‐論理対応情報206
と、製品別変換情報205と、論理レベル仮想ハードウ
ェア207と、ホスト側通信部201からなる。The host development environment includes a physical level virtual hardware 202, an execution control unit 204, a hardware information abstraction degree conversion unit 203, and physical-logical correspondence information 206.
, Product-specific conversion information 205, logical-level virtual hardware 207, and host-side communication unit 201.
【0076】試験対象であるソフトウェアは、ハードウ
ェアデバイス制御プログラム105とターゲットプログ
ラム101とに別れており、前者はハードウェアデバイ
スに完全に依存しており、後者はハードウェアデバイス
への依存度は低い。・ハードウェアデバイス制御レジス
タ102は、上記の2つのプログラムの間を取り持つた
めの、共有エリアである。ハードウェアデバイス制御レ
ジスタ102を標準的なもので共通化すれば、ターゲッ
トプログラムはハードウェアデバイスに非依存にでき
る。The software to be tested is divided into a hardware device control program 105 and a target program 101, the former being completely dependent on the hardware device, and the latter being less dependent on the hardware device. . The hardware device control register 102 is a shared area for managing between the above two programs. If the hardware device control register 102 is standardized and shared, the target program can be independent of the hardware device.
【0077】実ハードウェアと仮想ハードウェアの振り
分けは次の通りである。The distribution of real hardware and virtual hardware is as follows.
【0078】ソフトウェア試験のためには各ハードウェ
アデバイスの状態を操作することが必要である。For software testing, it is necessary to manipulate the state of each hardware device.
【0079】ハードウェアデバイス制御入出力振り分け
部103により、実際のハードウェアのハードウェアデ
バイスを操作するか、制御入出力をホスト環境とやり取
りする形で、ホスト上でハードウェアデバイスを仮想的
に操作するか、を選択的に実現することができる。The hardware device control input / output allocating unit 103 operates the hardware device of the actual hardware or virtually controls the hardware device on the host by exchanging the control input / output with the host environment. Or can be selectively realized.
【0080】ターゲット側通信部106はホスト側通信
部201との間で情報のやりとりをすることにより、上
記のホスト上でのハードウェアデバイスの仮想的な操作
を可能にする。The target communication unit 106 exchanges information with the host communication unit 201, thereby enabling a virtual operation of a hardware device on the host.
【0081】上記選択を行った試験中でも、ターゲット
プログラム101はハードウェアデバイス制御レジスタ
102を介してハードウェアデバイスと情報をやりとり
するため、どのような選択に基づいて試験されているか
を、全く考慮する必要はない。Even during the test in which the above selection is made, the target program 101 exchanges information with the hardware device via the hardware device control register 102, so that the selection based on the selection of the test is totally considered. No need.
【0082】ハードウェアデバイス制御入出力振り分け
部103に、ハードウェアデバイス制御入出力振り分け
情報104を参照させることにより、上記選択を製品に
応じ、また、製品の開発状況に応じて、柔軟に変更する
ことができる。By making the hardware device control input / output allocation section 103 refer to the hardware device control input / output allocation information 104, the selection can be flexibly changed according to the product and the development status of the product. be able to.
【0083】ホスト側の実行制御部204からの情報に
従って、ハードウェアデバイス制御入出力振り分け情報
104を、ソフトウェア実行中にハードウェアデバイス
制御入出力振り分け情報変更部107が動的に書き換え
ることにより、ソフトウェア実行中でもホスト側からの
指示に応じて実際のハードウェアデバイスの操作と、ホ
スト上での仮想的なハードウェアデバイスの操作とを動
的に選択することができる。The hardware device control input / output distribution information change unit 107 dynamically rewrites the hardware device control input / output distribution information 104 according to information from the execution control unit 204 on the host side during execution of the software. Even during execution, the operation of the actual hardware device and the operation of the virtual hardware device on the host can be dynamically selected in accordance with an instruction from the host.
【0084】物理レベルの仮想ハードウェアの実現は次
の如きである。The realization of virtual hardware at the physical level is as follows.
【0085】ホスト環境において、物理レベル仮想ハー
ドウェア202は、物理的な信号レベルでの各ハードウ
ェアデバイスの状態の操作と参照を可能にする。In the host environment, the physical level virtual hardware 202 enables the manipulation and reference of the state of each hardware device at the physical signal level.
【0086】物理レベル仮想ハードウェア202は、物
理的な信号レベルで各ハードウェアデバイスの状態を保
持する。The physical level virtual hardware 202 holds the state of each hardware device at a physical signal level.
【0087】物理レベル仮想ハードウェア202は、ホ
スト側通信部201を通じて、ターゲットプログラム1
01からハードウェアデバイスに対し、新たな要求が発
行されたことを通知された場合、その要求に従って、物
理レベル仮想ハードウェア202内の対応するハードウ
ェアデバイスの状態を更新する。The physical level virtual hardware 202 communicates with the target program 1 through the host side communication unit 201.
When the hardware device 01 is notified that a new request has been issued, the status of the corresponding hardware device in the physical level virtual hardware 202 is updated in accordance with the request.
【0088】物理レベル仮想ハードウェア202は、ユ
ーザ操作によりハードウェアデバイスの状態が更新され
た場合に、ハードウェアデバイスの状態変化情報を、ホ
スト側通信部201から、ハードウェアデバイス制御入
出力振り分け部103、ハードウェアデバイス制御レジ
スタ102を経由してターゲットプログラム101へと
通知する。こうすることで、ターゲットプログラム10
1を、実際には接続されていないハードウェアデバイス
があつても、そのことを全く考慮することなく実行する
ことができる。When the status of a hardware device is updated by a user operation, the physical-level virtual hardware 202 transmits the status change information of the hardware device from the host side communication unit 201 to the hardware device control input / output distribution unit. 103, Notify the target program 101 via the hardware device control register 102. By doing so, the target program 10
1 can be performed without considering any hardware devices that are not actually connected.
【0089】ホスト環境において、論理レベル仮想ハー
ドウェア207は、論理的な意味レベルでの各ハードウ
ェアデバイスの状態の操作と参照を可能にする。論理レ
ベル仮想ハードウェア207は、論理的な意味レベルで
各ハードウェアデバイスの状態を保持する。In the host environment, the logical level virtual hardware 207 enables the operation and reference of the state of each hardware device at a logical semantic level. The logical-level virtual hardware 207 holds the state of each hardware device at a logical meaning level.
【0090】論理レベル仮想ハードウェア207から意
味レベルの情報がハードウェア情報抽象度変換部203
に送られ、信号レベルの情報へと抽象度変換することに
より、そのハードウェア状態が物理レベル仮想ハードウ
ェア202へと写像される。これにより、実際に接続さ
れていないハードウェアデバイスに対しても、論理レベ
ルでハードウェアデバイスを仮想的に操作しながら、ソ
フトウェアを実行することが可能となる。The information of the semantic level from the logical level virtual hardware 207 is transferred to the hardware information abstraction conversion unit 203.
The hardware state is mapped to the physical level virtual hardware 202 by performing the abstraction conversion into signal level information. This makes it possible to execute software while virtually operating the hardware device at a logical level even for a hardware device that is not actually connected.
【0091】ハードウェア情報抽象度変換部203によ
り、信号レベルの情報を意味レベルの情報へと抽象度変
換することにより、そのハードウェア状態を物理レベル
仮想ハードウェア202から論理レベル仮想ハードウェ
ア207に読み上げることができる。これにより、実際
に接続されていないハードウェアデバイスに対しても、
論理レベルでハードウェアデバイスの状態をモニタしな
がら、ソフトウェアを実行することが可能となる。The hardware information abstraction degree conversion unit 203 converts the signal level information to the meaning level information to convert the hardware state from the physical level virtual hardware 202 to the logical level virtual hardware 207. Can read aloud. As a result, even for hardware devices that are not actually connected,
The software can be executed while monitoring the state of the hardware device at a logical level.
【0092】ハードウェア情報抽象度変換部203は、
変換に際して、変換の方法を記述した変換情報と、意味
レベルの情報と信号レベルの情報の対応を記述した物理
‐論理対応情報206を利用する。The hardware information abstraction degree conversion unit 203
At the time of conversion, conversion information describing a conversion method and physical-logical correspondence information 206 describing correspondence between information at a meaning level and information at a signal level are used.
【0093】論理レベル仮想ハードウェア207は、物
理‐論理対応情報206を利用して、論理レベルの情報
を管理する。 <デバッグの流れ>次に、どのようにデバッグを行う
か、おおまかな流れを説明する。The logical-level virtual hardware 207 uses the physical-logical correspondence information 206 to manage logical-level information. <Debug Flow> Next, a general flow of how to perform debugging will be described.
【0094】ユーザは、ハードウェア300、または、
論理レベル仮想ハードウェア207/物理レベル仮想ハ
ードウェア202を操作することができる。この操作が
イベントとしてターゲットプログラム101に送られ、
ターゲットプログラム101はイベントに応じたアクシ
ョンを、また(仮想)ハードウェアに返す。The user can select the hardware 300 or
The logical level virtual hardware 207 / physical level virtual hardware 202 can be operated. This operation is sent to the target program 101 as an event,
The target program 101 returns an action corresponding to the event to the (virtual) hardware.
【0095】開発者(ユーザ)は、(仮想)ハードウェ
アの振る舞いをみてターゲットプログラム101が間違
った動作をしていないか否か確認する。The developer (user) checks the behavior of the (virtual) hardware and checks whether the target program 101 operates incorrectly.
【0096】システム全体の流れを追って説明するため
に、主にユーザが論理レベル仮想ハードウェア207を
操作した場合について説明する(図2参照)。In order to describe the flow of the entire system, a case where a user operates the logical level virtual hardware 207 will be mainly described (see FIG. 2).
【0097】ここでイベントとは、ハードウェア30
0、あるいは、仮想ハードウェア202,207におい
て起きる状態の変化に伴い、ターゲットプログラム10
1へと伝えられる情報である。Here, the event means the hardware 30
0, or in response to a change in state occurring in the virtual hardware 202, 207, the target program 10
This is information that is transmitted to 1.
【0098】例えば、製品を冷蔵庫と仮定すると、(仮
想)ハードウェアの一つである温度センサは温度の変化
をイベントとしてプログラムに伝える。For example, assuming that the product is a refrigerator, a temperature sensor, which is one of (virtual) hardware, transmits a temperature change to a program as an event.
【0099】また、アクションとは、ターゲットプログ
ラム101が(仮想)ハードウェアを制御するために、
(仮想)ハードウェアに伝える情報である。上記と同じ
く冷蔵庫の場合を例にとれば、先の温度上昇のイベント
に応じて、ターゲットプログラム101はコンプレッサ
に動作を開始する命令をアクションとして伝える。The action means that the target program 101 controls the (virtual) hardware.
This is information to be transmitted to (virtual) hardware. Taking the case of a refrigerator as an example as described above, the target program 101 transmits a command to start operation to the compressor as an action in response to the event of the temperature rise.
【0100】仮想ハードウェアにおける論理/物理レベ
ルの違いを説明する。The difference between the logical and physical levels in virtual hardware will be described.
【0101】ここでは、「ユーザが直感的に理解できる
ハードウェアの情報(振る舞い)」を“論理レベル”、
「ターゲットCPUが理解できるハードウェア情報」を
“物理レベル”と呼ぶ。Here, “hardware information (behavior) that the user can understand intuitively” is “logical level”,
“Hardware information that can be understood by the target CPU” is called “physical level”.
【0102】例えば、「冷蔵庫の扉の開閉」を、 [1]. グラフィックで表現する。For example, "opening and closing of a refrigerator door" is described in [1]. Express with a graphic.
【0103】[2]. アドレスの5bit目のビット
データ“0”,“1”で表す。 なる2通りの表し方があったとすると、これらのうち、
[1]は論理レベル仮想ハードウェア207であり、
[2]は物理レベル仮想ハードウェア202である。実
ハードウェア300は開発された制御対象の実際のハー
ドウェアであるから、この実ハードウェア300を用い
ることができる場合は、実際に当該ハードウェア300
自体を操作する。[2]. It is represented by bit data “0” and “1” at the fifth bit of the address. If there are two ways of expressing, of these,
[1] is a logical level virtual hardware 207,
[2] is physical level virtual hardware 202. Since the actual hardware 300 is the actual hardware to be controlled, if the actual hardware 300 can be used, the actual hardware 300 is actually used.
Manipulate itself.
【0104】論理レベル仮想ハードウェア207/物理
レベル仮想ハードウェア202の場合は、それぞれ用意
されるユーザインタフェース(GUI等)を操作するこ
とにより、イベントが発生する。ユーザインタフェース
にはハードウェアの外観をグラフィックで示すものや、
グラフ、ボタン、テキスト入出力など様々なものが利用
できる。In the case of the logical level virtual hardware 207 / physical level virtual hardware 202, an event is generated by operating a user interface (GUI or the like) prepared respectively. The user interface has a graphic representation of the hardware appearance,
Various things such as graphs, buttons, text input and output are available.
【0105】論理レベル仮想ハードウェア207をユー
ザが操作すると、仮想ハードウェア(GUI)に、操作
対応の変化を表示し、対応したイベントをハードウェア
情報抽象度変換部203に送る。例えば、仮想冷蔵庫の
“扉”を開けた場合は、「扉、開く」に相当する情報を
ハードウェア情報抽象度変換部203へと送る。(図2
のP1) ハードウェア情報抽象度変換部203では、製品毎に用
意される物理‐論理対応情報と変換情報をもとに、送ら
れてきたイベントを“論理レベル(ユーザが理解できる
レベル)”から“物理レベル(ターゲットCPUが理解
できるレベル)”へと変換する。When the user operates the logical-level virtual hardware 207, a change in the operation correspondence is displayed on the virtual hardware (GUI), and the corresponding event is sent to the hardware information abstraction degree conversion unit 203. For example, when the “door” of the virtual refrigerator is opened, information corresponding to “door, open” is sent to the hardware information abstraction degree conversion unit 203. (Figure 2
P1) The hardware information abstraction degree conversion unit 203 converts the sent event from a “logical level (a level that can be understood by the user)” based on physical-logical correspondence information and conversion information prepared for each product. It is converted to a “physical level (a level that can be understood by the target CPU)”.
【0106】例えば、イベントの「扉、開く」は、「ア
ドレス“101A”の3ビット目をセットする」という
ような情報に置き換えられる。この物理レベルのイベン
ト情報が物理レベル仮想ハードウェア200に送られる
(図2のP2)。For example, the event “door, open” is replaced with information such as “set the third bit of address“ 101A ””. This physical level event information is sent to the physical level virtual hardware 200 (P2 in FIG. 2).
【0107】論理レベル仮想ハードウェアとの整合性を
保つために、送られてきたイベントに基づいて、物理レ
ベル仮想ハードウェアの状態を変更する。イベントは引
き続いてホスト側通信部201に送られる(図2のP
3)。In order to maintain consistency with the logical-level virtual hardware, the state of the physical-level virtual hardware is changed based on the sent event. The event is subsequently sent to the host communication unit 201 (P in FIG. 2).
3).
【0108】ホスト側通信部201では、受け取ったイ
ベントをターゲット‐ホスト間通信手段208で規定さ
れたプロトコルに従った通信データに加工し、ターゲッ
ト側へと送り出す(図2のP4)。The host-side communication section 201 processes the received event into communication data according to the protocol specified by the target-host communication means 208, and sends out the data to the target side (P4 in FIG. 2).
【0109】ホストより送られてきたイベントを、ター
ゲット側ではターゲット側通信部106において受信す
る。ターゲット側通信部106では、送られてきたデー
タを規定のプロトコルに従って展開し、「アドレス“1
01A”の3ビット目をセットする」に相当するイベン
ト情報を取り出す。取り出したイベントは一時受信バッ
ファに格納し、ハードウェアデバイス制御入出力振り分
け部103へ入力要求を出す(図2のP5)。The event sent from the host is received by the target communication section 106 on the target side. The target-side communication unit 106 expands the transmitted data according to a prescribed protocol, and sets “address“ 1 ”.
Event information corresponding to "set the third bit of 01A" is extracted. The extracted event is stored in a temporary reception buffer, and an input request is issued to the hardware device control input / output distribution unit 103 (P5 in FIG. 2).
【0110】一方、実ハードウェア300を操作した場
合に発生するイベントは、ハードウェアデバイス制御プ
ログラム105に送られる。実冷蔵庫の扉を閉めた場
合、電気的な信号が周辺回路に送られ、「アドレス“1
01A”の3ビット目をリセットする」に相当するイベ
ント情報となり、それがデバイス制御プログラム105
ヘ送られるわけである(図2のP6)。On the other hand, an event that occurs when the real hardware 300 is operated is sent to the hardware device control program 105. When the door of the actual refrigerator is closed, an electric signal is sent to the peripheral circuit, and “address“ 1 ”
01A "is the event information corresponding to" reset the third bit of ".
(P6 in FIG. 2).
【0111】ハードウェアデバイス制御プログラム10
5は、ハードウェア300から送られてきたイベントを
ハードウェアデバイス制御入出力振り分け部103に送
る(図2のP7)。Hardware device control program 10
5 sends the event sent from the hardware 300 to the hardware device control input / output distribution unit 103 (P7 in FIG. 2).
【0112】ハードウェアデバイス制御入出力振り分け
部103は、実ハードウェア、仮想ハードウェア両者が
接続されている場合、ホスト側の仮想ハードウェアから
送られてきたイベント(図2のP5)と、実際のハード
ウェア300より送られてきたイベントのどちらをター
ゲットプログラム101に伝えるかハードウェアデバイ
ス制御入出力振り分け情報104をもとに判定する。When both the real hardware and the virtual hardware are connected, the hardware device control input / output distribution unit 103 determines whether the event sent from the host-side virtual hardware (P5 in FIG. 2) Which of the events sent from the hardware 300 is transmitted to the target program 101 is determined based on the hardware device control input / output distribution information 104.
【0113】振り分け情報は各ハードウェア毎にあり、
例えば、「扉」に関するイベントは仮想ハードウェアの
方を用いると決められているものとすると、「アドレス
“101A”の3ビット目をセットする」という、仮想
ハードウェアから送られてきたイベントを、ハードウェ
アデバイス制御レジスタ102に反映させる(図2のP
8)。The distribution information is provided for each hardware.
For example, assuming that the event relating to the “door” is determined to use the virtual hardware, the event “set the third bit of the address“ 101A ”” sent from the virtual hardware is Reflected in the hardware device control register 102 (P in FIG. 2)
8).
【0114】ターゲットプログラム101は、ハードウ
ェアデバイス制御レジスタ102の内容を参照し、その
内容から送られてきたイベントを検知する(図2のP
9)。The target program 101 refers to the contents of the hardware device control register 102, and detects an event sent from the contents (P in FIG. 2).
9).
【0115】イベントに対応した任意の処理の結果、ア
クションを(仮想)ハードウェアに対し起こす場合があ
る。このアクションはハードウェアデバイス制御レジス
タ102に反映される(図2のP10)。As a result of an arbitrary process corresponding to an event, an action may be performed on (virtual) hardware. This action is reflected in the hardware device control register 102 (P10 in FIG. 2).
【0116】例えば、「扉、開く」に対して、ターゲッ
トプログラム101が庫内灯を点灯させるアクションを
とったとすると、そのアクションに対応したハードウェ
ア制御レジスタ102のビットを変更する(アドレス
“102B”の5ビット目をセットする等)。For example, assuming that the target program 101 takes an action to turn on the interior lamp in response to "door open", the bit of the hardware control register 102 corresponding to the action is changed (address "102B"). The fifth bit of is set, etc.).
【0117】ターゲットプログラム101より伝えられ
たアクションは、ハードウェアデバイス制御レジスタ1
02を通じてハードウェア制御入出力振り分け部103
に伝達される(図2のP11)。The action transmitted from the target program 101 is the hardware device control register 1
02, the hardware control input / output distribution unit 103
(P11 in FIG. 2).
【0118】そして、ハードウェアデバイス制御入出力
振り分け部103において、そのアクションを、実ハー
ドウェア300に伝えるか(図2のP13)、仮想ハー
ドウェア202,207に伝えるかを判定する(図2の
P12)。The hardware device control input / output distribution unit 103 determines whether the action is transmitted to the real hardware 300 (P13 in FIG. 2) or to the virtual hardware 202, 207 (FIG. 2). P12).
【0119】その結果、アクションを実ハードウェア3
00に伝えると判断した場合は、ハードウェアデバイス
制御プログラム105を通じて該当ハードウェア300
を制御する信号が伝えられる(図2P14)。As a result, the action is executed by the real hardware 3
00, the corresponding hardware 300 through the hardware device control program 105.
Is transmitted (P14 in FIG. 2).
【0120】こうして、例えば、庫内灯を点灯させるわ
けである。Thus, for example, the interior lamp is turned on.
【0121】アクションが仮想ハードウェア202,2
07の方に伝えると判断した場合は、ハードウェアデバ
イス制御レジスタ102において変更された、位置と値
(アドレスとその値)をターゲット側通信部106に送
る。庫内灯の例では、「アドレス“102B”の5ビッ
ト目はセットされている(“1”である)」に相当する
情報をターゲット側通信部106に送ることになる(図
2のP12)。If the action is virtual hardware 202,2
When it is determined that the information is to be transmitted to 07, the position and value (address and its value) changed in the hardware device control register 102 are sent to the target-side communication unit 106. In the case of the interior lamp, information corresponding to “the fifth bit of the address“ 102B ”is set (“ 1 ”)” is sent to the target-side communication unit 106 (P12 in FIG. 2). .
【0122】ターゲット側通信部106は、ハードウェ
アデバイス制御入出力振り分け部103より送られてき
たアクションを、プロトコルに定められた形式のデータ
に直し、ターゲット‐ホスト間通信手段208を通じて
ホスト側通信部201に送り出す(図2のP15)。The target communication unit 106 converts the action sent from the hardware device control input / output distribution unit 103 into data in a format defined by the protocol, and communicates through the target-host communication unit 208 to the host communication unit. It is sent to 201 (P15 in FIG. 2).
【0123】ホスト側通信部201では、ターゲット‐
ホスト間通信部208より送られてきたデータを展開
し、必要なアクションを取り出す(アドレスと値)。取
り出したアクションは物理レベル仮想ハードウェアに送
られる。上記例の続きで言えば、「アドレス“102
B”の5ビット目は“1”」という情報が物理レベル仮
想ハードウェアに送られる(図2のP16)。In the host side communication unit 201, the target
The data transmitted from the inter-host communication unit 208 is expanded to extract necessary actions (address and value). The retrieved action is sent to physical level virtual hardware. Continuing with the above example, "address" 102
Information that the fifth bit of "B" is "1" is sent to the physical level virtual hardware (P16 in FIG. 2).
【0124】物理レベル仮想ハードウェア202では、
ホスト側通信部201より送られてきたアクションをも
とに、物理レベル仮想ハードウェア202の状態を変更
する。この物理レベル仮想ハードウェア202をユーザ
が観察することにより、ターゲットプログラム101が
庫内灯を点灯させるアクションを送出したことを知るこ
とが出来る。In the physical level virtual hardware 202,
The state of the physical level virtual hardware 202 is changed based on the action sent from the host communication unit 201. By observing the physical level virtual hardware 202 by the user, it is possible to know that the target program 101 has sent an action of turning on the interior lamp.
【0125】さらに、ハードウェア情報抽象度変換部2
03では、物理レベル仮想ハードウェア202をチェッ
クし、イベント/アクションを検出するルーチンを回し
ている(図2のP17)。Further, the hardware information abstraction degree conversion unit 2
At 03, a routine for checking the physical level virtual hardware 202 and detecting an event / action is executed (P17 in FIG. 2).
【0126】これにより、新たに変更があった個所を見
つけ出し、物理レベルの仮想ハードウェア状態(アドレ
ス“102B”の5ビット目は“1”)から論理レベル
の仮想ハードウェア状態(庫内灯が点灯した)へとアク
ション情報を変換している。このアクションは論理レベ
ル仮想ハードウェア207ヘ伝えられる(図2のP1
8)。As a result, a newly changed portion is found out, and the virtual hardware state at the physical level (the fifth bit of the address “102B” is “1”) is changed to the virtual hardware state at the logical level (the internal lamp is turned off). (Lit) to convert the action information. This action is transmitted to the logical level virtual hardware 207 (P1 in FIG. 2).
8).
【0127】論理レベル仮想ハードウェア207では、
伝えられてきたアクションをもとに、仮想ハードウェア
の状態を変更する。ユーザはこの仮想ハードウェアを観
察することによって、庫内灯が点灯したかどうか知るこ
とができる。In the logical level virtual hardware 207,
Change the state of virtual hardware based on the reported action. By observing the virtual hardware, the user can know whether or not the interior lamp is turned on.
【0128】このように、実ハードウェア300が無い
場合には、仮想のハードウェア200を操作して、ター
ゲットプログラム101に対し、テストデータ(イベン
ト)を発生させることが出来る。さらに、そのテストデ
ータに対する反応(アクション)を(仮想)ハードウェ
ア300で見ることによって、ターゲットプログラム1
01が正しく動作しているか確かめる。As described above, when there is no actual hardware 300, the virtual hardware 200 can be operated to generate test data (event) for the target program 101. Further, by viewing the reaction (action) to the test data on the (virtual) hardware 300, the target program 1
Check that 01 is working properly.
【0129】また、ハードウェアデバイス制御入出力振
り分け情報変更部107があることにより、実ハードウ
ェア300と仮想ハードウェア200の両方を繋いだ状
態でもデバッグすることが可能である。ユーザがハード
ウェアデバイス制御入出力振り分け情報104を変更す
ることにより、実ハードウエアと仮想ハードウェアのう
ちのどちらのハードウェアを使用するか選択することが
可能である。上記振り分けは、ハードウェアデバイス制
御入出力振り分け情報104をもとに行われる。Further, since the hardware device control input / output distribution information change unit 107 is provided, debugging can be performed even when both the real hardware 300 and the virtual hardware 200 are connected. By changing the hardware device control input / output distribution information 104, the user can select which of the real hardware and the virtual hardware to use. The above-described distribution is performed based on the hardware device control input / output distribution information 104.
【0130】この振り分け情報をホスト側より操作する
のが実行制御部、ターゲット側にあり実際に振り分け情
報の変更を行なうのがハードウェアデバイス制御入出力
振り分け情報変更部107である。The execution control unit operates the distribution information on the host side, and the hardware device control input / output distribution information change unit 107 actually changes the distribution information on the target side.
【0131】実行制御部204ではハードウェアデバイ
ス制御入出力振り分け情報104の“閲覧”と“変更”
が行なえる。例えば、「扉」と「温度センサ」は仮想ハ
ードウェア202,207を用い、「コンプレッサ」と
「ファン」は実ハードウェア300を用いる、などと指
定した場合、この“変更要求”がホスト側通信部201
‐ターゲット側通信部106を通り、ハードウェアデバ
イス制御入出力振り分け情報変更部107へ伝えられ、
当該ハードウェアデバイス制御入出力振り分け情報変更
部107がハードウェアデバイス制御入出力振り分け情
報104を変更する(図2のP23(a)→P25(a)→P
24(a)→P22(a)→P21(a))。In the execution control unit 204, “view” and “change” of the hardware device control input / output distribution information 104 are performed.
Can be done. For example, if it is specified that “door” and “temperature sensor” use virtual hardware 202 and 207, and “compressor” and “fan” use real hardware 300, etc. Part 201
-Transmitted to the hardware device control input / output distribution information change unit 107 through the target side communication unit 106,
The hardware device control input / output distribution information change unit 107 changes the hardware device control input / output distribution information 104 (P23 (a) → P25 (a) → P in FIG. 2).
24 (a) → P22 (a) → P21 (a)).
【0132】“閲覧の要求”が伝達された場合は、ハー
ドウェアデバイス制御入出力振り分け情報変更部107
が振り分け情報104を、ターゲット側通信部106‐
ホスト側通信部201を経て、実行制御部204へ返す
ことになる(図2のP21(b)→P22(b)→P24(b)
→P25(b)→P23(b))。When the “viewing request” is transmitted, the hardware device control input / output distribution information change unit 107
Transmits the distribution information 104 to the target-side communication unit 106-
It returns to the execution control unit 204 via the host-side communication unit 201 (P21 (b) → P22 (b) → P24 (b) in FIG. 2).
→ P25 (b) → P23 (b)).
【0133】仮想ハードウェアは、論理レベル(20
7)と物理レベル(202)が用意してある。論理レベ
ルの仮想ハードウェア207では、実機を操作するのと
同じような感覚でデバッグを行なうことができる。The virtual hardware has a logical level (20
7) and a physical level (202) are prepared. With the virtual hardware 207 at the logical level, debugging can be performed with the same feeling as operating a real machine.
【0134】一方、物理レベルの仮想ハードウェア20
2では、RAMマップを見ながら、操作をすることも可
能である。 <各構成要素の説明>ここで、各構成要素について、ま
とめておく。On the other hand, the physical level virtual hardware 20
In 2, it is possible to operate while looking at the RAM map. <Description of each component> Here, each component is summarized.
【0135】[ターゲットプログラム101]ターゲッ
トプログラム101は、本発明がデバッグの対象として
いるソフトウェアである。ターゲットプログラム101
は、ハードウェア300、あるいは、ホストマシン上の
仮想ハードウェアで起きたイベントを、ハードウェア制
御レジスタを通して受け、そのイベントをトリガとして
処理を開始し、ハードウェア/仮想ハードウェアを制御
するためのアクションをハードウェア制御レジスタ10
2へと返す、といったイベントドリブンのプログラムで
あることが多い。[Target Program 101] The target program 101 is software to be debugged by the present invention. Target program 101
Receives an event that has occurred in the hardware 300 or virtual hardware on the host machine through a hardware control register, starts the process triggered by the event, and performs an action for controlling the hardware / virtual hardware. To the hardware control register 10
It is often an event-driven program such as returning to 2.
【0136】図3にターゲットプログラム101の処理
の流れを示す。FIG. 3 shows a processing flow of the target program 101.
【0137】まず、ステップS31において、任意の処
理を行なう。イベントに対する処理等はこの段階で行
う。そして、ステップS32の処理に移り、ここではハ
ードウェアデバイス制御レジスタ102を参照して、イ
ベントが発生したか否かを調べる。また、アクションを
書き込む。そして、ステップS31の処理に戻る。First, in step S31, an arbitrary process is performed. The processing for the event is performed at this stage. Then, the process proceeds to step S32, where it is checked whether or not an event has occurred by referring to the hardware device control register 102. Also write the action. Then, the process returns to step S31.
【0138】上記ステップS31〜S32の処理を繰り
返す。 [ハードウェアデバイス制御レジスタ102]ハードウ
ェアデバイス制御レジスタ102はハードウェア/仮想
ハードウェアからのイベントと、ターゲットプログラム
101からのアクションをバッファリングしている領域
で、メモリ上に置かれる。The processes of steps S31 to S32 are repeated. [Hardware Device Control Register 102] The hardware device control register 102 is an area that buffers events from hardware / virtual hardware and actions from the target program 101, and is placed on the memory.
【0139】つぎに述べるハードウェアデバイス制御振
り分け部103がこの領域にイベントを伝える。また、
この領域を通じて伝えられるイベントを参照してターゲ
ットプログラム101は動作する。The hardware device control distribution unit 103 described below transmits an event to this area. Also,
The target program 101 operates with reference to an event transmitted through this area.
【0140】逆に、ターゲットプログラム101はこの
領域にアクションを伝達し、ハードウェアデバイス制御
振り分け部103がそのアクションを(仮想)ハードウ
ェアに伝える。Conversely, the target program 101 transmits an action to this area, and the hardware device control distribution unit 103 transmits the action to (virtual) hardware.
【0141】本レジスタは図4のように表すことが出来
る。例えば、ディジタル的なイベント/アクションを伝
達する場合は、アドレス“0100”の3[bit]目がド
ア開閉のイベントを伝える領域、アドレス“0101”
の2[bit]目がコンプレッサON/OFFのアクション
を伝える領域、というように用いる。This register can be represented as shown in FIG. For example, when transmitting a digital event / action, the third [bit] of the address “0100” is an area for transmitting a door opening / closing event, the address “0101”.
The second [bit] is used to convey a compressor ON / OFF action.
【0142】アナログ的なイベント/アクションの場合
は、アドレス“0102”で表す“0”〜“255”の
範囲の値を用いる。尚、図4では、8[bit]で表現して
いるが、必ずしもそうである必要はない。例えば、4[b
it],16[bit],その他のbit構成でも可能である。[ハ
ードウェアデバイス制御入出力振り分け部103/ハー
ドウェアデバイス制御入出力振り分け情報104]ハー
ドウェアデバイス制御入出力振り分け部103は、実ハ
ードウェア/仮想ハードウェアから送られてくるイベン
トのどちらをターゲットプログラム101に伝えるか、
また、ターゲットプログラム101から出力されるアク
ションを実ハードウェアと仮想ハードウェアのどちらに
送るかを判定する。In the case of an analog event / action, a value in the range of “0” to “255” represented by the address “0102” is used. Note that, in FIG. 4, it is represented by 8 [bits], but this is not necessarily required. For example, 4 [b
It], 16 [bit], and other bit configurations are also possible. [Hardware device control input / output allocation unit 103 / hardware device control input / output allocation information 104] The hardware device control input / output allocation unit 103 determines which of the events sent from the real hardware / virtual hardware is the target program. Tell 101
Further, it is determined whether the action output from the target program 101 is sent to real hardware or virtual hardware.
【0143】例えば、実機の温度センサとPC上にある
仮想環境の温度センサのどちらの情報をターゲットプロ
グラム101に伝えるかを判定する。どちらのイベント
を伝えるか、どちらにアクションを送るかの情報は、ハ
ードウェアデバイス制御入出力振り分け情報104に格
納されている。また、ホストマシン側からの仮想割り込
みを受信したら、振り分け部から割り込みハンドラにジ
ャンプさせることにより、実際のハードウェア割り込み
に対応することができる。For example, it is determined which information of the temperature sensor of the real machine or the temperature sensor of the virtual environment on the PC is to be transmitted to the target program 101. Information on which event is transmitted and to which action is sent is stored in the hardware device control input / output distribution information 104. Also, when a virtual interrupt from the host machine is received, an actual hardware interrupt can be handled by jumping from the distribution unit to the interrupt handler.
【0144】ハードウェアデバイス制御入出力振り分け
情報104は、図4のように表すことができる。上記ハ
ードウェアデバイス制御レジスタ102と同様に、“0
100”の3[bit]目をドアについての領域であると定
め、“0”,“1”で実/仮想どちらのハードウェアの
イベントを用いるか、どちらのハードウェアにアクショ
ンを伝えるかを表現する。The hardware device control input / output distribution information 104 can be represented as shown in FIG. Similarly to the above hardware device control register 102, “0”
The third [bit] of “100” is defined as an area for the door, and “0” and “1” indicate which of the real / virtual hardware events to use and which hardware to transmit the action to. I do.
【0145】例えば、ビット情報が“0”であれば実ハ
ードウェア300からのイベントを、また、ビット情報
が“1”であれば仮想ハードウェアからのイベントをレ
ジスタに書き込む、という具合である。For example, if the bit information is “0”, an event from the real hardware 300 is written to the register, and if the bit information is “1”, an event from the virtual hardware is written to the register.
【0146】尚、図4では、8[bit]で表現している
が、必ずしもそうである必要はない。例えば、4[bit],
16[bit],その他のbit構成でも可能である。In FIG. 4, the data is represented by 8 bits, but it is not always necessary. For example, 4 [bit],
16 [bit] and other bit configurations are also possible.
【0147】また、制御レジスタ102とハードウェア
デバイス制御入出力振り分け情報104は対応してお
り、同様の形式で表現することができる。但し、同一物
ではない。The control register 102 and the hardware device control input / output distribution information 104 correspond to each other, and can be expressed in a similar format. However, they are not the same thing.
【0148】制御レジスタ102と、振り分け情報10
4について補足しておく。例えば、制御レジスタ102
が以下のようになっていたとする。 ハードウェアの状態がON/OFFのデジタルで表されるよう
な場合は、それぞれのbitが意味を持つ。 “0100”の0[bit]目…ドアの開閉を表す。“0”
は閉まっている状態であることを示す。 “0100”の1[bit]目…LEDの点灯/消灯を表す。
“0”は消灯中であることを示す。 “0100”の2[bit]目…ファンの運転/停止を表
す。“1”は運転中であることを示す。 “0100”の3[bit]目…コンプレッサの運転/停止
を表す。“1”は運転中であることを示す。などであ
る。これに対し、以下のような振り分け情報104が用
意される。 “A100”の0[bit]目…実ドア/仮想ドアのどちら
を使用しているかを表す。The control register 102 and the distribution information 10
4 is supplemented. For example, the control register 102
Is as follows: When the hardware status is represented by ON / OFF digitally, each bit has a meaning. 0 [bit] of “0100”: Indicates opening / closing of a door. “0”
Indicates a closed state. First [bit] of “0100”: Indicates whether the LED is on or off.
“0” indicates that the light is off. The second [bit] of “0100” represents the operation / stop of the fan. “1” indicates that the vehicle is running. Third [bit] of “0100”: Indicates the operation / stop of the compressor. “1” indicates that the vehicle is running. And so on. On the other hand, the following sort information 104 is prepared. 0th [bit] of “A100”: Indicates whether a real door or a virtual door is used.
【0149】“1”は仮想の方を使用していることを示
す。 “A100”の1[bit]目…実LED/仮想LEDのどちらを
使用しているかを表す。“1” indicates that the virtual one is used. 1st [bit] of “A100”: Indicates whether the real LED or the virtual LED is used.
【0150】“0”は本物の方を使用していることを示
す。"0" indicates that the genuine product is used.
【0151】:以下同様 温度センサからの入力などのアナログ値は、アドレスひ
とつが意味を持つ。Analogous values such as the input from the temperature sensor have meaning at one address.
【0152】 “0101”…冷蔵室の温度(A/D変換された後の値)を
表す。今は16進数で“5”を示しているので、仮にセン
サが−10〜20度を検出するとすれば、ちょうど0度
あたりを示していることになる。 “0102”…部屋の温度(外気温)を表す. ...以下同様。アナログ値に対しても、デジタルのとき
と同様の振り分け情報104が用意される。 “A101”の0[bit]目…実冷蔵室/仮想冷蔵室どち
らの温度を使用しているかを表す。“0”は本物の方を
使用していることを示す。 “A101”の1[bit]目…実際の部屋/仮想の部屋ど
ちらの温度を使用しているかを表す。“1”は仮想の方
を使用していることを示す。以上が、制御レジスタ10
2と、振り分け情報104についての補足である。尚、
ハードウェアデバイス制御入出力振り分け情報104は
ホストマシン側システム200より変更することができ
る(ターゲット側通信部106を通じて行われる)。[0152] “0101” represents the temperature of the refrigerator compartment (value after A / D conversion). Now, since the hexadecimal number indicates "5", if the sensor detects -10 to 20 degrees, it indicates just around 0 degrees. “0102”: Indicates the room temperature (outside air temperature). ... and so on. For analog values, the same sort information 104 as for digital is prepared. 0th [bit] of “A101”: Indicates which temperature is used in the actual refrigerator compartment or the virtual refrigerator compartment. “0” indicates that the real one is used. 1st [bit] of “A101”: Indicates which temperature is used in a real room or a virtual room. “1” indicates that the virtual one is used. The above is the control register 10
2 and supplementary information about the sorting information 104. still,
The hardware device control input / output distribution information 104 can be changed by the host machine side system 200 (performed through the target side communication unit 106).
【0153】ハードウェアデバイス制御入出力振り分け
部103の処理は、入力側(図5)と出力側(図6)に
分けられる。いずれも、ハードウェアデバイス制御入出
力振り分け情報104をもとに振り分けの処理を行な
う。The processing of the hardware device control input / output distribution unit 103 is divided into an input side (FIG. 5) and an output side (FIG. 6). In each case, the distribution process is performed based on the hardware device control input / output distribution information 104.
【0154】図5は、(仮想)ハードウェアからの情報
をターゲットプログラム101へと伝える向きの処理を
表わした入力フローである。FIG. 5 is an input flow showing a process for transmitting information from (virtual) hardware to the target program 101.
【0155】まずステップS501およびステップS5
02において、ターゲット側通信部106とハードウェ
アデバイス制御プログラム105からの要求を待つ。First, steps S501 and S5
In step 02, a request from the target-side communication unit 106 and the hardware device control program 105 is waited.
【0156】そして、入力要求があった場合、ステップ
S503の処理に移り、要求が無い場合はステップS5
01に戻る。If there is an input request, the process proceeds to step S503. If there is no input request, the process proceeds to step S5.
Return to 01.
【0157】ステップS503においては、ターゲット
側通信部106よりの要求か否かをチェックし、その結
果、ターゲット側通信部106からの要求であればステ
ップS504の処理に移る。また、ターゲット側通信部
106からの要求でなければ、すなわち、ハードウェア
デバイス制御プログラム105からの要求であればステ
ップS505の処理に移る。In step S503, it is checked whether or not the request is from the target communication unit 106. As a result, if the request is from the target communication unit 106, the process proceeds to step S504. If it is not a request from the target-side communication unit 106, that is, if it is a request from the hardware device control program 105, the process proceeds to step S505.
【0158】ステップS504では、ターゲット側通信
部106の受信バッファよりイベントを読込む。そし
て、ステップS505の処理ヘ移る。In step S504, an event is read from the reception buffer of the target communication section 106. Then, the process proceeds to step S505.
【0159】一方、ステップS505では、制御プログ
ラム105よりイベントを読込む。そして、ステップS
506の処理に移る。ステップS506では、読み込ん
だイベントをハードウェアデバイス制御レジスタ102
に展開して良いか、振り分け情報104をもとに判定す
る。On the other hand, in step S505, an event is read from the control program 105. And step S
It moves to the process of 506. In step S506, the read event is stored in the hardware device control register 102.
Is determined based on the distribution information 104.
【0160】その結果、展開してよい場合にはステップ
S507の処理に移り、また、だめな場合にはステップ
S508の処理に移る。As a result, if the image can be expanded, the process proceeds to step S507, and if not, the process proceeds to step S508.
【0161】ステップS507においては、イベントを
レジスタに展開し、ステップS501の処理に戻る。In step S507, the event is developed in the register, and the process returns to step S501.
【0162】また、ステップS508においては、イベ
ントは捨てる。そして、ステップS501の処理に戻
る。In step S508, the event is discarded. Then, the process returns to step S501.
【0163】このように、上記ステップS501〜ステ
ップS508の繰り返しとなる。As described above, steps S501 to S508 are repeated.
【0164】図6は、ターゲットプログラム101より
送られてくるアクションを(仮想)ハードウェアに伝え
る際の処理を表したフローチャートである。FIG. 6 is a flowchart showing a process for transmitting an action sent from the target program 101 to (virtual) hardware.
【0165】まず、ステップS601,S602を実行
することによって、出力要求をチェックする。出力要求
は、ターゲットプログラム101やハードウェアデバイ
ス制御プログラム105が出す。First, an output request is checked by executing steps S601 and S602. The output request is issued by the target program 101 or the hardware device control program 105.
【0166】ステップS602でのチェックの結果、出
力要求が有った場合はステップS603,S604の処
理に移り、出力要求が無い場合はステップS601の処
理に戻る。As a result of the check in step S602, if there is an output request, the process proceeds to steps S603 and S604, and if there is no output request, the process returns to step S601.
【0167】ステップS603においては、ハードウェ
アデバイス振り分け情報を参照し、この情報もとにアク
ションを実/仮想ハードウェアのどちらに送出するか判
定する。すなわち、ターゲット側の通信部106に出力
するか否かを判定する。In step S603, referring to the hardware device distribution information, it is determined whether the action is to be sent to real or virtual hardware based on this information. That is, it is determined whether or not to output to the communication unit 106 on the target side.
【0168】そして、ステップS604において仮想ハ
ードウェアに出力すると判定した場合ステップS605
の処理に移り、実ハードウェアに出力する場合にはステ
ップS605の処理に移る。If it is determined in step S604 that the output is to be made to the virtual hardware, step S605
The process proceeds to the process of step S605 when outputting to the actual hardware.
【0169】ステップS605においては、送信バッフ
ァにアクションを書き込む。そして、ステップS601
の処理に戻る。In step S605, an action is written to the transmission buffer. Then, step S601
Return to the processing of.
【0170】一方、ステップS606においては、ハー
ドウェアデバイス制御プログラム105ヘアクションを
伝える。そして、ステップS601の処理に戻る。On the other hand, in step S606, an action is transmitted to the hardware device control program 105. Then, the process returns to step S601.
【0171】以上、ステップS601〜S606の処理
の繰り返しとなる。[ハードウェアデバイス制御入出力
振り分け情報変更部107]ハードウェアデバイス制御
入出力振り分け情報変更部107は、ホスト側からの要
求に応じて、ハードウェアデバイス制御入出力振り分け
情報104を変更したり、振り分け情報をホスト側に返
す処理を行う。変更要求の場合は、変更を示すIDの他
に、「アドレス+値」の型のデータが送られてくる。As described above, the processing of steps S601 to S606 is repeated. [Hardware device control input / output allocation information change unit 107] The hardware device control input / output allocation information change unit 107 changes or allocates the hardware device control input / output allocation information 104 in response to a request from the host. Performs processing to return information to the host side. In the case of a change request, data of the type “address + value” is sent in addition to the ID indicating the change.
【0172】これを該当する振り分け情報の部分に反映
させる。This is reflected in the corresponding distribution information.
【0173】“閲覧要求”の場合は、閲覧を示すIDと
ともに場所(アドレス等)が送られてくる。該当するア
ドレスの振り分け情報に閲覧要求に応じた返答データで
あることを示すIDを付け、ターゲット側通信部106
の送信バッファに書き込む。In the case of “viewing request”, a place (address, etc.) is sent together with an ID indicating viewing. An ID indicating response data corresponding to the browsing request is added to the distribution information of the corresponding address, and the target communication unit 106
Write to the transmission buffer of.
【0174】図24に、ハードウェアデバイス制御入出
力振り分け情報変更部107の処理の流れを示す。FIG. 24 shows the flow of processing of the hardware device control input / output distribution information change unit 107.
【0175】まず、ステップS2401において、ター
ゲット通信部106からの変更/閲覧要求を待つ。そし
て、要求が来たならばステップS2402の処理に移
り、その要求が“変更要求”であるか否かを判定する。
その結果、“変更要求”であった場合はステップS24
03の処理に移り、また、“変更要求”でなく“閲覧要
求”であった場合にはステップS2404の処理に移
る。First, in step S2401, a change / browsing request from the target communication unit 106 is waited. If the request has been received, the process proceeds to step S2402, and it is determined whether the request is a “change request”.
As a result, if it is “change request”, step S24
03, and if it is not a “change request” but a “viewing request”, the process moves to step S2404.
【0176】ステップS2403の処理においては、送
られてきたデータに基づき、振り分け情報を変更する。
そして、ステップS2401の処理に戻る。In the process of step S2403, the sorting information is changed based on the transmitted data.
Then, the process returns to step S2401.
【0177】一方、ステップS2404の処理において
は、データに指定されている振り分け情報を取ってく
る。そして、ステップS2405の処理に移る。On the other hand, in the process of step S2404, distribution information specified in the data is obtained. Then, the process proceeds to step S2405.
【0178】ステップS2405の処理においては、振
り分け情報をターゲット側通信部106の送信バッファ
へと書き込む。そして、ステップS2401の処理に戻
る。 [ハードウェアデバイス制御プログラム105]本プロ
グラムは、ターゲットプログラム101とハードウェア
300とのやり取りを橋渡しするものである。ハードウ
ェア300において検出されたイベントをターゲットプ
ログラム101に伝え、アクションに応じてハードウェ
ア300の動作を制御する。このハードウェアデバイス
制御プログラムと同等の機能は、ホストマシン上の物理
レベル仮想ハードウェアに用意される。In the processing in step S2405, the distribution information is written into the transmission buffer of the target communication section 106. Then, the process returns to step S2401. [Hardware Device Control Program 105] This program bridges the exchange between the target program 101 and the hardware 300. The event detected in the hardware 300 is transmitted to the target program 101, and the operation of the hardware 300 is controlled according to the action. Functions equivalent to the hardware device control program are provided in physical level virtual hardware on the host machine.
【0179】図7はハードウェアデバイス制御プログラ
ムの処理フローを示したものである。FIG. 7 shows a processing flow of the hardware device control program.
【0180】このプログラムはまずはじめにステップS
701において、ハードウェアからのイベント検出、あ
るいは、ハードウェアへのアクションの送出を行なう。
そして、ステップS702の処理に進み、アクション情
報を入手するために、振り分け部へ出力要求を出す。あ
るいは、イベント情報を渡すため、入力要求を出す。そ
して、ステップS701に戻り、上記の処理を繰り返
す。 [ターゲット側通信部106]ターゲット側通信部10
6は、ホストマシンに対するアクションの送信/イベン
トの受信を担当する部分である。加えて、ハードウェア
デバイス制御入出力振り分け情報104の変更/閲覧要
求を送受信する。送信データ(アクションや振り分け情
報)に開始コードやチェックサムコードをつけて送り出
す、受信データをバッファから取り出してエラーが無い
か確認し、必要なイベントや要求を取り出す、といった
処理をする。This program firstly starts with step S
At 701, an event is detected from hardware or an action is sent to hardware.
Then, the process proceeds to step S702, and an output request is issued to the distribution unit in order to obtain action information. Alternatively, an input request is issued to pass event information. Then, the process returns to step S701, and the above processing is repeated. [Target-side communication unit 106] Target-side communication unit 10
Reference numeral 6 denotes a part in charge of transmitting an action to the host machine / receiving an event. In addition, a request to change / view the hardware device control input / output distribution information 104 is transmitted and received. Processing such as sending transmission data (action and sorting information) with a start code or checksum code, extracting received data from a buffer to check for errors, and extracting necessary events and requests is performed.
【0181】<ターゲット側通信部106の送信フロー
>図8はターゲット側通信部106の送信側(アクショ
ンあるいは振り分け情報を送信する際)の処理について
示したものである。<Transmission Flow of Target-Side Communication Unit 106> FIG. 8 shows a process on the transmission side (when transmitting action or sorting information) of the target-side communication unit 106.
【0182】ここでの処理はまずステップS801にお
いて、送信バッファヘアクションまたは振り分け情報が
書き込まれているか否かをチェックし、そのチェックの
結果、書き込まれている場合にはステップS802の処
理に進み、書き込まれていない場合、ステップS801
に戻って上述の処理を繰り返す。In this process, first, in step S801, it is checked whether or not action or distribution information has been written to the transmission buffer. If the check shows that action or distribution information has been written, the flow advances to step S802. If not, step S801
And the above processing is repeated.
【0183】ステップS802では、ターゲット‐ホス
ト間通信手段208により規定されたプロトコルに従っ
て、イベント情報や振り分け情報を送信データへと加工
する処理をし、それが済んだならばステップS803に
進み、ターゲット‐ホスト間通信手段208を通じて、
データを送信する。そして、ステップS801に戻って
上述の処理を繰り返す。In step S802, the event information and the sorting information are processed into transmission data in accordance with the protocol specified by the target-host communication unit 208. When the processing is completed, the process proceeds to step S803, where the processing proceeds to step S803. Through the inter-host communication means 208,
Send data. Then, the process returns to step S801 to repeat the above processing.
【0184】<ターゲット側通信部106の受信フロー
>図9は受信側(イベント or 変更/閲覧要求を受信
する際)の処理について記述したものである。<Reception Flow of Target-Side Communication Unit 106> FIG. 9 describes the processing on the receiving side (when receiving an event or a change / browsing request).
【0185】ここでの処理はまずステップS901にお
いて、ターゲット‐ホスト間通信手段208よりデータ
が受信されたかチェックする。その結果、受信されてい
たならばステップS902の処理へ移り、受信していな
い場合はステップS901の処理ヘ戻る。In this process, first, in step S901, it is checked whether data has been received from the target-host communication unit 208. As a result, if it has been received, the process moves to step S902, and if it has not been received, the process returns to step S901.
【0186】ステップS902では、規定されているプ
ロトコルにしたがって、受信データを展開する。そし
て、ステップS903の処理へ移る。ステップS903
では、送られてきたデータがイベントかどうかを判定す
る。その結果、イベントであった場合はステップS90
4に移り、変更/閲覧要求であった場合はステップS9
05ヘ移る。In step S902, the received data is expanded according to a prescribed protocol. Then, the process proceeds to step S903. Step S903
Then, it is determined whether the transmitted data is an event. If the result is an event, step S90
4. If the request is a change / viewing request, step S9
Move to 05.
【0187】ステップS904ではデータを受信バッフ
ァに格納し、ハードウェアデバイス制御入出力振り分け
部103へ入力要求を発行する。そして、ステップS9
01に戻り、上述の処理を繰り返す。In step S904, the data is stored in the reception buffer, and an input request is issued to the hardware device control input / output distribution unit 103. Then, step S9
01, and the above processing is repeated.
【0188】また、ステップS905では、要求をハー
ドウェアデバイス制御入出力振り分け情報変更部107
へ伝える。そして、ステップS901に戻り、上述の処
理を繰り返す。 [ターゲット‐ホスト間通信手段208]ターゲット‐
ホスト間通信手段208は、ターゲット100とホスト
マシン200との間の通信を可能にするものであって、
例として、シリアル回線、パラレル回線などが挙げられ
る。これに、データを送信する上でのプロトコルを定
め、このプロトコルに従って通信を行う。本システムを
構築する上で、必要な情報をやり取りできる通信手段で
あればいかなるものでも良い。 [物理‐論理対応情報206]物理‐論理対応情報20
6は、論理レベルのイベントを物理レベルに変換する、
あるいは、物理レベルのアクションを論理レベルに変換
するために、各イベント/アクションと、変換ルーチン
名、引数を対応させたものからなる。In step S905, the request is sent to the hardware device control input / output distribution information change unit 107.
Tell Then, the process returns to step S901, and the above processing is repeated. [Target-Host Communication Means 208] Target-
The inter-host communication means 208 enables communication between the target 100 and the host machine 200,
Examples include a serial line and a parallel line. Then, a protocol for transmitting data is determined, and communication is performed according to this protocol. Any communication means capable of exchanging necessary information for constructing the present system may be used. [Physical-logical correspondence information 206] Physical-logical correspondence information 20
6 converts logical level events to physical level,
Alternatively, in order to convert a physical level action to a logical level, each event / action is associated with a conversion routine name and an argument.
【0189】図10は、物理‐論理対応情報206の一
例である。図10において、“[”と“]”で括られる
記述1001はイベント/アクションを示しており、そ
れに続く文字列は変換処理ルーチン1002と引数10
03である。なお、図10と同等の情報が得られれば、
記述法を限定する必要はない。FIG. 10 shows an example of the physical-logical correspondence information 206. In FIG. 10, a description 1001 enclosed by "[" and "]" indicates an event / action, and a character string following the description is a conversion processing routine 1002 and an argument 10
03. If information equivalent to FIG. 10 is obtained,
There is no need to limit the notation.
【0190】[論理レベル仮想ハードウェア207]論
理レベル仮想ハードウェア207は、ユーザが理解容易
な表現で、ハードウェアの状態/動作をホストマシン上
にシミュレーションする。この仮想ハードウェアを操作
するとイベントが発生し、アクションが返ってくると仮
想ハードウェアの状態が変化する。このようにして、ユ
ーザは、仮想ハードウェアを操作することでターゲット
プログラム101に対し、簡単にテストデータを発生さ
せることができ、仮想ハードウェアを観察することでタ
ーゲットプログラム101が的確にハードウェア300
を制御しているか確認することが出来る。[Logic Level Virtual Hardware 207] The logic level virtual hardware 207 simulates the state / operation of the hardware on the host machine in an expression that is easy for the user to understand. When the virtual hardware is operated, an event occurs, and when the action returns, the state of the virtual hardware changes. In this way, the user can easily generate test data for the target program 101 by operating the virtual hardware, and by observing the virtual hardware, the target program 101 can appropriately generate the hardware 300.
Can be confirmed whether or not is controlled.
【0191】図11は論理レベル仮想ハードウェア20
7の処理の流れを示している。ここでは途中で送信側
(イベントをターゲットに送信する方向)と、受信側
(ターゲットよりアクションを受ける側)に処理が分か
れる。FIG. 11 shows the logical level virtual hardware 20.
7 shows the flow of processing. Here, processing is divided into a transmitting side (a direction for transmitting an event to a target) and a receiving side (a side receiving an action from the target) on the way.
【0192】処理の流れを説明すると、まずステップS
1101において、論理レベル仮想ハードウェアとGU
Iを準備する。The flow of the processing will be described.
At 1101, the logical level virtual hardware and GU
Prepare I.
【0193】そして、送信側ではユーザインタフェース
からのイベントを待つ(ステップS1102)。Then, the transmitting side waits for an event from the user interface (step S1102).
【0194】一方、受信側ではハードウェア情報抽象度
変換部203からのアクションを待つ(ステップS11
06)。On the other hand, the receiving side waits for an action from the hardware information abstraction degree converter 203 (step S11).
06).
【0195】イベントが発生したならば、送信側では、
入力に対応したイベントを発生させる(ステップS11
03)。そして、ステップS1104の処理に移る。If an event occurs, the transmitting side
An event corresponding to the input is generated (step S11)
03). Then, the process proceeds to step S1104.
【0196】ステップS1106において、ハードウェ
ア情報抽象度変換部203からのアクションを待ってい
た受信側では、アクションに対応して仮想ハードウェア
およびGUIを変更する(ステップS1107)。そし
て、ステップS1106の処理に戻る。In step S1106, the receiving side, which has been waiting for an action from the hardware information abstraction degree conversion unit 203, changes the virtual hardware and the GUI according to the action (step S1107). Then, the process returns to step S1106.
【0197】ステップS1104において、送信側では
ハードウェア抽象度変換部203ヘ、イベントを通知す
る。そして、ステップS1105の処理に移る。送信側
はステップS1105の処理において、イベントに応じ
仮想ハードウェアおよびGUIを変更する。そして、ス
テップS1102の処理に戻る。In step S1104, the transmitting side notifies the hardware abstraction degree conversion section 203 of the event. Then, the process proceeds to step S1105. In the process of step S1105, the transmitting side changes the virtual hardware and the GUI according to the event. Then, the process returns to step S1102.
【0198】以上、送信側はステップS1102〜ステ
ップS1105の処理を繰り返し、受信側はステップS
1106〜ステップS1107の処理を繰り返すことに
なる。As described above, the transmitting side repeats the processing of steps S1102 to S1105, and the receiving side executes step S1102.
The processing from step 1106 to step S1107 is repeated.
【0199】冷蔵庫の場合の仮想ハードウェアのGUI
(グラフィカル・ユーザ・インタフェース)の例とし
て、図21に示すGUI(1)と図22に示すGUI
(2)が挙げられる。GUI of Virtual Hardware for Refrigerator
As examples of the (graphical user interface), a GUI (1) shown in FIG. 21 and a GUI shown in FIG.
(2).
【0200】GUI(1)は、なるべく実ハードウェア
に近い形でGUIを準備した場合である。図22に示す
ように、GUI(1)は画面の左半分に冷蔵庫外観の絵
が表示され、右半分には領域を上下方向に3分割して上
段に各種センサ温度、中段にLEDやスイッチ、下段に
モータ関連の絵が表示されるようにしてある。The GUI (1) is a case where the GUI is prepared in a form as close to real hardware as possible. As shown in FIG. 22, in the GUI (1), a picture of the exterior of the refrigerator is displayed in the left half of the screen, the area is divided into three parts in the vertical direction in the right half, and various sensor temperatures are provided in the upper part, and LEDs and switches are provided in the middle part. The picture related to the motor is displayed in the lower part.
【0201】冷蔵庫の絵は、画面内で扉の開閉が操作が
出来、キーボード若しくはマウスなどにより扉を指定し
て開閉指示操作をすることにより、その指示された扉が
開閉され、冷蔵庫が“扉開”のときに庫内灯が点灯する
仕組みであれば開いた庫内の庫内灯が、画面上で点灯し
ている様子を表示するといった、実際の冷蔵庫の動作に
即した画面を提示する。In the picture of the refrigerator, the door can be opened and closed on the screen, and the designated door is opened and closed by specifying the door with a keyboard or a mouse, and the designated door is opened and closed. If the interior light is turned on when it is "open," a screen that matches the actual operation of the refrigerator, such as displaying the state that the interior light is open on the screen, is displayed. .
【0202】各種センサ温度は、実機の冷蔵庫に合わせ
て、扉開閉状態や外気温を反映させたシミュレーション
により庫内の温度を求め、その現在の温度と温度変化の
推移をグラフ表示するようにしてあり、LEDやスイッ
チは冷蔵庫に取り付けた“冷蔵”、“冷凍”、“チル
ド”、“弱”、“中”、“強”などの操作スイッチとそ
のオンオフ状態を示すLEDランプの点滅状態をグラフ
ィカルに表示してあり、モータ関連では、冷蔵庫の心臓
部であるコンプレッサや、庫内ファンの駆動状態に合わ
せて回転しているコンプレッサや、庫内ファンがアニメ
ーション表示され、あるいは停止しているコンプレッサ
や、庫内ファンが表示される。The temperature of the various sensors is determined by simulating the open / closed state of the door and the outside air temperature in accordance with the actual refrigerator, and the current temperature and changes in temperature are displayed in a graph. There are LED and switches graphically showing the operation switches such as "refrigerated", "freezing", "chilled", "weak", "medium", "strong" etc. attached to the refrigerator and the blinking state of the LED lamp indicating the on / off state For motors, compressors that are the heart of refrigerators, compressors that rotate according to the drive status of the internal fan, compressors with an internal fan that is animated or stopped, , The internal fan is displayed.
【0203】このように、GUI(1)では、画面上で
扉を開け、LEDが点灯したり、コンプレッサなどが回
転/停止するのを見ることが出来る。As described above, in the GUI (1), it is possible to open the door on the screen, and see that the LED is turned on and that the compressor and the like are rotating / stopping.
【0204】図22に示すGUI(2)は、機能的には
同等であるが、グラフィックを簡略化した例である。こ
の場合、扉の開閉や温度はボタンやスライダー等になっ
ている。The GUI (2) shown in FIG. 22 is functionally equivalent, but is an example in which graphics are simplified. In this case, the opening and closing and the temperature of the door are buttons, sliders and the like.
【0205】すなわち、図22の例の場合、操作パネル
とモニタとがあり、操作パネルには“冷凍室扉”、“冷
蔵室扉”、“野菜室扉”等の開閉操作を開閉ボタンの状
態で示しており、“冷凍室温度センサ”、“チルド室温
度センサ”、“冷蔵室温度センサ”はスライダーにて温
度設定され、表示される仕組みである。That is, in the case of the example of FIG. 22, there are an operation panel and a monitor, and the operation panel is used to open and close the “freezer compartment door”, “refrigerator compartment door”, “vegetable compartment door”, etc. The temperature of the “freezer compartment temperature sensor”, “chilled compartment temperature sensor”, and “refrigeration compartment temperature sensor” is set by a slider and displayed.
【0206】また、モニタには“庫内灯”、“Fファ
ン”、“Rファン”、“Cファン”、“コンプレッ
サ”、“一気RED”、“ヒータ”などがあり、これら
の状態は文字表示されるようにしてある。The monitors include "inside light", "F fan", "R fan", "C fan", "compressor", "at once RED", "heater", and the like. It is displayed.
【0207】すなわち、操作パネルの画面上で開/閉な
どの指示を与えるとそのモニタ結果がモニタ画面側に、
“点灯”、“運転”、“停止”、といった具合に文字表
示されるもので、ビット毎の表示と操作、グラフによる
入力と表示等が行なえる。 [ハードウェア情報抽象度変換部203]ハードウェア
情報抽象度変換部203は、ホストマシン上にあり、イ
ベント/アクションを物理レベルから論理レベルヘ、逆
に、論理レベルから物理レベルへと変換する。物理‐論
理対応情報から、イベント/アクションに対応した変換
ルーチンを呼び出し、変換を行なっている。なお、変換
ルーチンは変換情報に含まれている。ハードウェア情報
抽象度変換部203は送信側と受信側の2つに処理が分
けられる。That is, when an instruction such as opening / closing is given on the screen of the operation panel, the monitoring result is displayed on the monitor screen side.
Characters such as "light on", "run", and "stop" are displayed in characters, and display and operation for each bit, input and display by graph, and the like can be performed. [Hardware information abstraction level conversion unit 203] The hardware information abstraction level conversion unit 203 is located on the host machine, and converts events / actions from a physical level to a logical level, and conversely, from a logical level to a physical level. A conversion routine corresponding to an event / action is called from the physical-logical correspondence information to perform conversion. The conversion routine is included in the conversion information. The processing of the hardware information abstraction degree conversion unit 203 is divided into two processes: a transmission side and a reception side.
【0208】<ハードウェア情報抽象度変換部203の
送信側の処理フロー>図12はハードウェア情報抽象度
変換部203の送信側の処理フローである。<Processing Flow on the Transmission Side of Hardware Information Abstraction Level Conversion Unit 203> FIG. 12 is a processing flow on the transmission side of the hardware information abstraction level conversion unit 203.
【0209】送信側ではまずステップS1201におい
て、論理レベル仮想ハードウェア207からイベントが
来るのを待つ。イベントが来たならばステップS120
2の処理へ移る。The transmitting side first waits for an event from the logical level virtual hardware 207 in step S1201. If an event has come, step S120
Move to the processing of 2.
【0210】ステップS1202では、物理‐論理対応
情報206のイベント−変換ルーチン対応記述部より、
イベントに対応したルーチンと引数を選択する。そし
て、ステップS1203の処理へ移る。In step S1202, the event-conversion routine correspondence description section of the physical-logical correspondence information 206
Select the routine and arguments corresponding to the event. Then, the process proceeds to step S1203.
【0211】ステップS1203では、変換情報にある
変換処理ルーチンを呼び出す。その結果、サブルーチン
であるステップSub121の変換処理ルーチンが実施
され、この変換処理ルーチンでは、論理レベルのイベン
トを物理レベルに変換して元のメインルーチン側に返
す。メインルーチン側ではこの返された値を受けてステ
ップS1204の処理を実行し、返ってきた物理レベル
のイベントを物理レベル仮想ハードウェアに伝達する。
そして、ステップS1201に戻り、上述の処理を繰り
返す。In step S1203, a conversion processing routine in the conversion information is called. As a result, a conversion processing routine of step Sub121, which is a subroutine, is executed. In this conversion processing routine, a logical level event is converted into a physical level and returned to the original main routine. The main routine receives the returned value, executes the process of step S1204, and transmits the returned physical-level event to the physical-level virtual hardware.
Then, the process returns to step S1201, and the above processing is repeated.
【0212】ハードウェア情報抽象度変換部203にお
ける送信側処理は、このようなものとなる。The transmission side processing in the hardware information abstraction degree conversion unit 203 is as described above.
【0213】<ハードウェア情報抽象度変換部203の
受信側の処理フロー>図13はハードウェア情報抽象度
変換部203の受信側の処理フローである。<Processing Flow on the Receiving Side of Hardware Information Abstraction Degree Conversion Unit 203> FIG. 13 is a processing flow on the receiving side of the hardware information abstraction degree conversion unit 203.
【0214】受信側では、まずステップS1301の処
理を実施し、ここでの処理において、物理‐論理対応情
報206より論理レベルのイベント/アクションを全て
列挙する。そして、ステップS1302の処理に移る。
ステップS1302においては列挙したイベント/アク
ションに対応した変換情報の変換処理ルーチン(サブル
ーチンSub131)を順に呼び出す。そして、この変
換処理ルーチンにおいて、物理レベル仮想ハードウェア
におけるイベント/アクションが発生していないか判定
する。そして、判定結果をメインルーチンに返す。メイ
ンルーチンではステップS1303において、イベント
/アクションが発生しているか否かを調べる。その結
果、イベント/アクションが発生していたならばステッ
プS1304の処理に進み、発生していない場合はステ
ップS1302の処理へ戻る。On the receiving side, first, the process of step S1301 is performed, and in this process, all events / actions at the logical level are listed from the physical-logical correspondence information 206. Then, the process proceeds to step S1302.
In step S1302, conversion information conversion processing routines (subroutine Sub131) corresponding to the listed events / actions are sequentially called. Then, in this conversion processing routine, it is determined whether an event / action has occurred in the physical level virtual hardware. Then, the determination result is returned to the main routine. In the main routine, in step S1303, it is checked whether an event / action has occurred. As a result, if an event / action has occurred, the process advances to step S1304; otherwise, the process returns to step S1302.
【0215】ステップS1305においては、発生して
いたイベントアクションを論理レベル仮想ハードウェア
に伝える。そして、ステップS1302の処理に戻る。In step S1305, the generated event action is transmitted to the logical-level virtual hardware. Then, the process returns to step S1302.
【0216】受信側の処理は、ステップS1301にお
いて列挙したイベント/アクションについて、順にステ
ップS1302〜S1304の処理を繰り返し行うこと
となる。 [変換情報205]図14に示すように、変換情報20
5は、イベント/アクションの論理レベル‐物理レベル
の変換に必要な情報で、製品毎に用意される。変換情報
205は、レジスタ情報(ターゲット対応)205a、
レジスタ情報(ホスト対応)205b、変換処理ルーチ
ン群205cの3つの情報を含む。In the process on the receiving side, the processes of steps S1302 to S1304 are repeated in order for the events / actions listed in step S1301. [Conversion information 205] As shown in FIG.
Reference numeral 5 denotes information necessary for conversion between a logical level and a physical level of an event / action, which is prepared for each product. The conversion information 205 includes register information (corresponding to a target) 205a,
Register information (corresponding to host) 205b and conversion processing routine group 205c are included.
【0217】レジスタ情報205a,205bはメモリ
の特定アドレスを割り付けて、利用するようにし、その
アドレスの各ビットの状態を特定情報として用いる。レ
ジスタ情報205a,205bは例えば、図4のように
表現することが出来る。As the register information 205a and 205b, a specific address of the memory is allocated and used, and the state of each bit of the address is used as the specific information. The register information 205a, 205b can be represented, for example, as shown in FIG.
【0218】すなわち、ハードウェアデバイス制御レジ
スタ102と同様で、例えば、「アドレス“0100”
の3[bit]目がドアの開閉を表す」、というように表さ
れる。That is, as in the case of the hardware device control register 102, for example, “address“ 0100 ”
The third [bit] indicates the opening and closing of the door. "
【0219】変換処理ルーチン群には、送信側用と受信
側用の計2種類のルーチンがそれぞれ存在する。そし
て、変換処理ルーチンは、物理‐論理対応情報に登場す
る各ルーチン名すべてのルーチンについて用意されてい
る。The conversion processing routine group includes two types of routines, one for the transmitting side and one for the receiving side. Then, the conversion processing routine is prepared for all the routine names that appear in the physical-logical correspondence information.
【0220】2種ある変換処理ルーチンの1つはルーチ
ン名と引数から物理レベルのイベントを形成し、そのイ
ベントをハードウェア情報抽象度変換部203に返す送
信側のルーチンである。One of the two types of conversion processing routines is a transmission-side routine that forms a physical-level event from the routine name and the argument and returns the event to the hardware information abstraction degree conversion unit 203.
【0221】<送信側変換処理ルーチン>図15は送信
側の変換処理ルーチンの処理フローを表している。<Transmission-side Conversion Processing Routine> FIG. 15 shows a processing flow of the transmission-side conversion processing routine.
【0222】図15を説明すると、送信側変換処理は、
まず、ステップS1501において、ハードウェア情報
抽象度変換部(送信側)203より呼ばれたときに渡さ
れた引数より、アドレスとその値のかたちのイベント
(物理レベル表現のイベント)を生成し、ステップS1
502の処理に移る。Referring to FIG. 15, the transmitting side conversion process
First, in step S1501, an event in the form of an address and its value (an event expressed in a physical level) is generated from the argument passed when called by the hardware information abstraction conversion unit (transmission side) 203. S1
It moves to the process of 502.
【0223】ステップS1502においては、イベント
が発生したことにより、レジスタ情報(ターゲット対
応)を変更し、ステップS1503の処理に移る。ステ
ップS1503においては、物理レベルのイベント情報
をハードウェア情報抽象度変換部203に返す。In step S1502, the register information (corresponding to the target) is changed in response to the occurrence of the event, and the flow advances to step S1503. In step S1503, physical level event information is returned to the hardware information abstraction degree conversion unit 203.
【0224】以上が、ルーチン名と引数から物理レベル
のイベントを形成し、そのイベントをハードウェア情報
抽象度変換部203に返す送信側のルーチンである。The above is the routine on the transmitting side that forms an event at the physical level from the routine name and the argument, and returns the event to the hardware information abstraction conversion unit 203.
【0225】<受信側変換処理ルーチン>2種ある変換
処理ルーチンのもう一つのルーチンは、該当するイベン
ト/アクションが発生しているか否かをチェックする受
信側ルーチンである。このルーチンでは、ハードウェア
情報抽象度変換部203より呼ばれたときに渡される引
数をもとに、該当する部品にイベント/アクションが発
生しているか否かを判定し、その判定結果をハードウェ
ア抽象度変換部203に知らせると云ったことを行う。<Receiving-Side Conversion Processing Routine> The other of the two types of conversion processing routines is a receiving-side routine for checking whether a corresponding event / action has occurred. In this routine, based on an argument passed when called by the hardware information abstraction degree conversion unit 203, it is determined whether or not an event / action has occurred in the corresponding component, and the determination result is determined by the hardware. What is notified to the abstraction degree conversion unit 203 is performed.
【0226】図16は受信側の変換処理ルーチンの処理
フローを表す。FIG. 16 shows a processing flow of a conversion processing routine on the receiving side.
【0227】ここでは、まずステップS1601におい
て、ハードウェア情報抽象度変換部(受信側)203よ
り呼ばれたときに渡された引数より、仮想ハードウェア
状態データのどの部品に対するイベント/アクションを
判定するのか特定し、ステップS1602の処理に移
る。Here, first, in step S1601, the event / action for which component of the virtual hardware status data is determined from the argument passed when called by the hardware information abstraction degree conversion unit (reception side) 203. Then, the process proceeds to step S1602.
【0228】ステップS1602においては、特定され
た部分について、ターゲットに対応したレジスタ情報
と、ホストに対応したレジスタ情報を比較する。そし
て、ステップS1603の判断処理に移る。ステップS
1603においては、ターゲット/ホストのレジスタ情
報が異なっているか、否かを判断する。その判断の結
果、ターゲット/ホストのレジスタ情報が異なっていれ
ばステップS1604の処理に移り、異なっていなけれ
ば(つまり、同じであれば)ステップS1606の処理
に移る。In step S1602, the register information corresponding to the target and the register information corresponding to the host are compared for the specified portion. Then, the process proceeds to the determination processing in step S1603. Step S
In 1603, it is determined whether or not the register information of the target / host is different. As a result of the determination, if the register information of the target / host is different, the process proceeds to step S1604, and if not (ie, the same), the process proceeds to step S1606.
【0229】ステップS1606においては、イベント
/アクションが発生していないことをハードウェア情報
抽象度変換部203に知らせる。そして、処理を終了す
る。In step S1606, the fact that no event / action has occurred is notified to the hardware information abstraction degree conversion unit 203. Then, the process ends.
【0230】一方、ステップS1604においては、ホ
スト対応レジスタ情報をターゲット側に合わせ変更す
る。すなわち、論理レベル仮想ハードウェア207の状
態を物理レベル仮想ハードウェア202の状態に合わせ
て変更する。そして、ステップS1605の処理に移
る。ステップS1605においては、イベント/アクシ
ョンが起きていることをハードウェア情報抽象度変換部
203に知らせる。つまり、該当するイベント/アクシ
ョンが起きていることをハードウェア情報抽象度変換部
203に知らせる。On the other hand, in step S1604, the host corresponding register information is changed according to the target. That is, the state of the logical-level virtual hardware 207 is changed according to the state of the physical-level virtual hardware 202. Then, the process proceeds to step S1605. In step S1605, the fact that an event / action has occurred is notified to the hardware information abstraction degree conversion unit 203. That is, the hardware information abstraction degree conversion unit 203 is notified that the corresponding event / action has occurred.
【0231】このような処理を行う。 [物理レベル仮想ハードウェア202]物理レベル仮想
ハードウェア202とは、ターゲット100内で扱って
いるデータのレベルでハードウェアの状態/動作を表現
した、ホストマシン200上の仮想ハードウェアであ
る。ユーザは、論理レベル仮想ハードウェア207を操
作/観察するだけでなく、この物理レベルでの仮想ハー
ドウェア202を操作/観察し、ターゲットプログラム
101をデバッグすることができる。The above processing is performed. [Physical Level Virtual Hardware 202] The physical level virtual hardware 202 is virtual hardware on the host machine 200 that expresses the state / operation of the hardware at the level of data handled in the target 100. The user can not only operate / observe the logical level virtual hardware 207, but also operate / observe the virtual hardware 202 at this physical level and debug the target program 101.
【0232】ターゲットプログラム101と直接、やり
取りできる仮想ハードウェアが物理レベル仮想ハードウ
ェア202であるが、この物理レベル仮想ハードウェア
202のユーザインタフェースの例として、図23の如
きものがある。The virtual hardware that can directly exchange with the target program 101 is the physical level virtual hardware 202. An example of the user interface of the physical level virtual hardware 202 is shown in FIG.
【0233】図23の例の場合、操作パネルとモニタと
があり、符号231を付して示す“0100”,“01
01”,“0102”,“0103”…はアドレスであ
り、符号232を付して示す“01100100”,
“11110101”,“01010001”,“00
001000”,“01100010”…はそのアドレ
ス内のビットデータ、符号233を付して示す“6
4”、“F5”、“51”、“08”…は、そのアドレ
ス内のビットデータを16進表記したもので、レジスタ
の内容を示しており、符号234及び符号235を付し
て示すグラフは動作状態をモニタしたものである。In the case of the example shown in FIG. 23, there are an operation panel and a monitor.
01, “0102”, “0103”... Are addresses, and “01100100”,
“11110101”, “0101001”, “00”
"001000", "01100010",... Are bit data in the address, and "6
"4", "F5", "51", "08"... Represent bit data in the address in hexadecimal notation, and indicate the contents of the register. Is an operation state monitored.
【0234】物理レベル仮想ハードウェア202には、
送信側と受信側の処理が存在する。 <送信側処理フロー>図17は送信側の処理フローであ
る。The physical level virtual hardware 202 includes:
There are processes on the sending side and the receiving side. <Transmission-Side Processing Flow> FIG. 17 is a transmission-side processing flow.
【0235】まず、ステップS1701において、ハー
ドウェア情報抽象度変換部203、あるいは、物理レベ
ル仮想ハードウェア202のユーザインタフェースから
のイベントを待つ。そして、イベントが来たならばステ
ップS1702の処理に移り、変換情報にあるレジスタ
情報(ターゲット対応)をイベントに応じて変更する。
そして、ステップS1703の処理に移る。First, in step S1701, an event from the hardware information abstraction degree converter 203 or the user interface of the physical level virtual hardware 202 is awaited. Then, if an event has arrived, the process proceeds to step S1702, and the register information (corresponding to the target) in the conversion information is changed according to the event.
Then, the process proceeds to step S1703.
【0236】ステップS1703ではイベントをホスト
側通信部201へ渡す。そして、ステップS1704の
処理に移る。ステップS1704では、送られてきたイ
ベントに応じてユーザインタフェースを変更する。そし
て、ステップS1701の処理ヘ戻る。In step S1703, the event is passed to the host communication unit 201. Then, the process proceeds to step S1704. In step S1704, the user interface is changed according to the event sent. Then, the process returns to step S1701.
【0237】送信側は以上、ステップS1701〜ステ
ップS1704の処理を繰り返し行なう。The transmitting side repeats the processing of steps S1701 to S1704.
【0238】<受信側処理フロー>図18は受信側の処
理フローである。<Receiving Side Processing Flow> FIG. 18 is a receiving side processing flow.
【0239】まず、ステップS1801において、ホス
ト側通信部201からのアクションを待つ。ホスト側通
信部201からのアクションが来たならばステップS1
802の処理に移り、変換情報205にあるレジスタ情
報(ターゲット対応)をイベントに応じて変更する。そ
して、ステップS1803の処理に移る。First, in step S1801, an action from the host side communication unit 201 is waited. Step S1 when an action is received from the host side communication unit 201
In step 802, the register information (corresponding to the target) in the conversion information 205 is changed according to the event. Then, the process proceeds to step S1803.
【0240】ステップS1803では、送られてきたア
クションに応じてユーザインタフェースを変更する。そ
して、ステップS1801の処理に戻る。In step S1803, the user interface is changed according to the action sent. Then, the process returns to step S1801.
【0241】受信側は以上、ステップS1801〜ステ
ップS1803の処理を繰り返す。 [ホスト側通信部201]ホスト側通信部201は、タ
ーゲットとのデータの送受信を担当する。仮想ハードウ
ェアから送られてくるイベントと、実行制御部204か
ら送られてくる振り分け情報変更/閲覧要求を、定めら
れたプロトコルに従って送信データへと加工して送り出
す。また、受信したデータを展開してアクション、また
は、閲覧要求の結果を取り出している。The receiving side repeats the processing of steps S1801 to S1803. [Host-Side Communication Unit 201] The host-side communication unit 201 is responsible for transmitting and receiving data to and from the target. The event sent from the virtual hardware and the sorting information change / viewing request sent from the execution control unit 204 are processed into transmission data according to a predetermined protocol and sent out. Further, the received data is expanded to extract the result of the action or the browsing request.
【0242】<送信側の処理フロー>図19は送信側の
処理フローを示している。<Processing Flow on Transmission Side> FIG. 19 shows a processing flow on the transmission side.
【0243】まず、ステップS1901において、物理
レベル仮想ハードウェア202からのイベント、あるい
は、実行制御部204からの振り分け情報変更データを
待つ。イベントやデータが来たならば、ステップS19
02の処理に移り、ターゲットーホスト間通信手段20
8で規定されたプロトコルに従ってデータを加工する。
そして、ステップS1903に移る。First, in step S1901, an event from the physical level virtual hardware 202 or distribution information change data from the execution control unit 204 is waited for. If an event or data comes, step S19
02, the target-host communication means 20
The data is processed according to the protocol specified in 8.
Then, control goes to a step S1903.
【0244】ステップS1903においては、加工した
データをターゲットーホスト間通信手段208へと送り
出す。そして、ステップS1901の処理に戻る。At step S1903, the processed data is sent to the target-host communication means 208. Then, the process returns to step S1901.
【0245】<受信側処理フロー>図20は受信側の処
理フローである。<Receiving Side Processing Flow> FIG. 20 is a receiving side processing flow.
【0246】まず、ステップS2001において、ター
ゲットーホスト間通信手段208より、アクションある
いは振り分け情報が送られてくるのを待つ。データが到
着したならば、ステップS2002の処理に移り、ここ
でエラーチェックを行ない、データを展開する。そし
て、ステップS2003の処理に移る。First, in step S2001, the process waits for action or distribution information to be sent from the target-host communication unit 208. When the data arrives, the process proceeds to step S2002, where an error check is performed and the data is expanded. Then, the process proceeds to the process in step S2003.
【0247】ステップS2003においては、データが
振り分け情報の場合はステップS2005の処理に移
り、アクションの場合はステップS2004の処理に移
る。In step S2003, if the data is distribution information, the flow proceeds to step S2005, and if the data is an action, the flow proceeds to step S2004.
【0248】ステップS2005においては、実行制御
部2004に振り分け情報を伝達する。そして、ステッ
プS2001の処理に戻る。In step S2005, distribution information is transmitted to execution control unit 2004. Then, the process returns to step S2001.
【0249】一方、ステップS2004の処理において
は、物理レベル仮想ハードウェア202にアクションを
伝達する。そして、ステップS2001の処理に戻る。 [実行制御部204]実行制御部204は、ハードウェ
アデバイス制御入出力振り分け情報を操作して、実ハー
ドウェアと仮想ハードウェアの切り替えを行なうため
に、ホストマシン200側に用意されているユーザイン
タフェースである。この実ハードウェアと仮想ハードウ
ェアの切り替えはソフトウェア実行中に行なうことが可
能である。On the other hand, in the process of step S2004, an action is transmitted to the physical level virtual hardware 202. Then, the process returns to step S2001. [Execution control unit 204] The execution control unit 204 operates a hardware device control input / output distribution information to switch between real hardware and virtual hardware. It is. The switching between the real hardware and the virtual hardware can be performed during execution of the software.
【0250】実行制御部204からは、振り分け情報を
変更する要求と閲覧する要求を出すことが出来る。これ
らの要求は、イベント/アクションと区別をつけるた
め、特定のIDをデータ付加しホスト側通信部201へ
送り出すことになる。The execution control unit 204 can issue a request to change distribution information and a request to browse. In order to distinguish these requests from events / actions, a specific ID is added to data and sent to the host side communication unit 201.
【0251】図25は実行制御部204のユーザインタ
フェース例である。閲覧をクリックすることにより、各
構成要素について実/仮想ハードウェアどちらを使用し
ているか、現在の状態が表示される(円内部の黒丸が切
り替わる)。FIG. 25 shows an example of a user interface of the execution control unit 204. By clicking “Browse”, the current state is displayed as to which of the real / virtual hardware is used for each component (the black circle inside the circle switches).
【0252】また、各構成要素について、円内をクリッ
クすることにより、実/仮想の切り替えが行なえるよう
になっている。[0252] For each component, by clicking inside the circle, real / virtual switching can be performed.
【0253】図25はあくまでも一例であり、同等の機
能を満足するGUIであれば何でも良い。FIG. 25 is merely an example, and any GUI that satisfies the same function may be used.
【0254】以上詳述したように、本発明システムにお
いては試験対象であるソフトウェアが、実ハードウェア
と、ホストマシン上の仮想ハードウェアのどちらとも接
続でき、ハードウェアが未完成の場合は、ハードウェア
に替えて仮想ハードウェアを用いて機能を代用させ、試
験対象のソフトウェアを実行させることができるように
し、ハードウェアが一部でも完成すればそれを接続して
試験対象のソフトウェアを試験できるようにしたから、
これにより、ハードウェアが無い、あるいは、ハードウ
ェアが開発途中であっても、ハードウェアと組み合わせ
たソフトウェア試験を行なうことができ、最終的に製品
品質および開発効率を向上させることが可能となる。As described in detail above, in the system of the present invention, the software to be tested can be connected to both real hardware and virtual hardware on the host machine. Virtual hardware can be used instead of hardware so that the software under test can be executed, and if the hardware is partially completed, it can be connected to test the software under test. Because
As a result, even if there is no hardware or the hardware is being developed, a software test in combination with the hardware can be performed, and finally, product quality and development efficiency can be improved.
【0255】なお、本発明は上述した実施例に限定する
ことなくその要旨を変更しない範囲内で適宜、変形して
実施可能である。The present invention is not limited to the above-described embodiments, but can be implemented with appropriate modifications without departing from the scope of the invention.
【0256】[0256]
【発明の効果】以上、詳述したように、本発明によれ
ば、ハードウェアが無い、あるいは、ハードウェアが開
発途中であっても、ハードウェアと組み合わせたソフト
ウェア試験を行なうことができ、最終的に製品品質およ
び開発効率を向上させることが可能となるソフトウェア
試験装置を提供できる。As described in detail above, according to the present invention, even if there is no hardware or the hardware is under development, a software test combined with the hardware can be performed. It is possible to provide a software test apparatus capable of improving product quality and development efficiency.
【図1】本発明を説明するための図であって、本発明の
一具体例の全体構成を示すブロック図。FIG. 1 is a diagram for explaining the present invention, and is a block diagram showing an entire configuration of a specific example of the present invention.
【図2】本発明を説明するための図であって、本発明シ
ステムの作用を説明するための図。FIG. 2 is a diagram for explaining the present invention, and is a diagram for explaining the operation of the system of the present invention.
【図3】本発明を説明するための図であって、本発明シ
ステムにおけるターゲットプログラムの処理内容を説明
するためのフローチャート。FIG. 3 is a diagram for explaining the present invention, and is a flowchart for explaining processing contents of a target program in the system of the present invention;
【図4】本発明を説明するための図であって、本発明シ
ステムで用いるレジスタ情報及びハードウェアデバイス
制御入出力振り分け情報の例を説明するための図。FIG. 4 is a diagram for explaining the present invention, and is a diagram for explaining an example of register information and hardware device control input / output distribution information used in the system of the present invention.
【図5】本発明を説明するための図であって、本発明シ
ステムにおけるハードウェアデバイス制御入出力振り分
け部の入力処理例を説明するためのフローチャート。FIG. 5 is a diagram for explaining the present invention, and is a flowchart for explaining an input processing example of a hardware device control input / output distribution unit in the system of the present invention;
【図6】本発明を説明するための図であって、本発明シ
ステムにおけるハードウェアデバイス制御入出力振り分
け部の出力処理例を説明するためのフローチャート。FIG. 6 is a diagram for explaining the present invention, and is a flowchart for explaining an output processing example of a hardware device control input / output distribution unit in the system of the present invention;
【図7】本発明を説明するための図であって、本発明シ
ステムにおけるハードウェアデバイス制御プログラムの
処理例を説明するためのフローチャート。FIG. 7 is a diagram for explaining the present invention, and is a flowchart for explaining a processing example of a hardware device control program in the system of the present invention;
【図8】本発明を説明するための図であって、本発明シ
ステムにおけるターゲット側通信部の送信動作を説明す
る送信フロー。FIG. 8 is a diagram for explaining the present invention, and is a transmission flow illustrating a transmission operation of a target-side communication unit in the system of the present invention.
【図9】本発明を説明するための図であって、本発明シ
ステムにおけるターゲット側通信部の受信動作を説明す
る受信フロー。FIG. 9 is a diagram for explaining the present invention, and is a reception flow illustrating a receiving operation of a target-side communication unit in the system of the present invention.
【図10】本発明を説明するための図であって、本発明
システムに用いる物理‐論理対応情報の一例を示す図。FIG. 10 is a diagram for explaining the present invention, showing an example of physical-logical correspondence information used in the system of the present invention.
【図11】本発明を説明するための図であって、本発明
システムにおける論理レベル仮想ハードウェア207の
処理の流れを説明する図。FIG. 11 is a diagram for explaining the present invention, which is a diagram for explaining a processing flow of the logical level virtual hardware 207 in the system of the present invention.
【図12】本発明を説明するための図であって、本発明
システムにおけるハードウェア情報抽象度変換部の送信
側処理例を説明するための図。FIG. 12 is a diagram for explaining the present invention, and is a diagram for explaining a transmitting-side processing example of the hardware information abstraction degree conversion unit in the system of the present invention;
【図13】本発明を説明するための図であって、本発明
システムにおけるハードウェア情報抽象度変換部の受信
側処理例を説明するための図。FIG. 13 is a diagram for explaining the present invention, and for explaining a receiving-side processing example of the hardware information abstraction degree conversion unit in the system of the present invention;
【図14】本発明を説明するための図であって、本発明
システムにおける変換情報205を説明するための図。FIG. 14 is a diagram for explaining the present invention, and is a diagram for explaining conversion information 205 in the system of the present invention.
【図15】本発明を説明するための図であって、本発明
システムにおける変換処理ルーチン(送信側)の処理の
流れを説明するための図。FIG. 15 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a conversion processing routine (transmission side) in the system of the present invention.
【図16】本発明を説明するための図であって、本発明
システムにおける変換処理ルーチン(受信側)の処理の
流れを説明するための図。FIG. 16 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a conversion processing routine (reception side) in the system of the present invention.
【図17】本発明を説明するための図であって、本発明
システムにおける物理レベル仮想ハードウェア(送信
側)の処理の流れを説明するための図。FIG. 17 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of physical level virtual hardware (transmission side) in the system of the present invention.
【図18】本発明を説明するための図であって、本発明
システムにおける物理レベル仮想ハードウェア(受信
側)の処理の流れを説明するための図。FIG. 18 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of physical level virtual hardware (receiving side) in the system of the present invention.
【図19】本発明を説明するための図であって、本発明
システムにおけるホスト側通信部(送信側)の処理の流
れを説明するための図。FIG. 19 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a host-side communication unit (transmitting side) in the system of the present invention.
【図20】本発明を説明するための図であって、本発明
システムにおけるホスト側通信部(受信側)の処理の流
れを説明するための図。FIG. 20 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a host-side communication unit (receiving side) in the system of the present invention.
【図21】本発明を説明するための図であって、本発明
システムにおける論理レベル仮想ハードウェアGUIの
一例を説明するための図。FIG. 21 is a diagram for explaining the present invention, and is a diagram for explaining an example of a logical level virtual hardware GUI in the system of the present invention.
【図22】本発明を説明するための図であって、本発明
システムにおける論理レベル仮想ハードウェアGUIの
一例を説明するための図。FIG. 22 is a diagram for explaining the present invention, and is a diagram for explaining an example of a logical level virtual hardware GUI in the system of the present invention.
【図23】本発明を説明するための図であって、本発明
システムにおける物理レベル仮想ハードウェアGUIの
一例を説明するための図。FIG. 23 is a diagram for explaining the present invention, and is a diagram for explaining an example of a physical-level virtual hardware GUI in the system of the present invention.
100…ターゲット側システム 101…ターゲットプログラム 102…ハードウェアデバイス制御レジスタ 103…ハードウェアデバイス制御入出力振り分け部 104…ハードウェアデバイス制御入出力振り分け情報 105…ハードウェアデバイス制御プログラム 106…ターゲット側通信部 107…ハードウェアデバイス制御入出力振り分け情報
変更部 200…ホストマシン側システム 201…ホスト側通信部 202…物理レベル仮想ハードウェア 203…ハードウェア情報抽象度変換部 204…実行制御部 205…変換情報 206…物理‐論理対応情報 207…論理レベル仮想ハードウェア 300…実ハードウェア(ターゲットハードウェア)。DESCRIPTION OF SYMBOLS 100 ... Target side system 101 ... Target program 102 ... Hardware device control register 103 ... Hardware device control input / output distribution unit 104 ... Hardware device control input / output distribution information 105 ... Hardware device control program 106 ... Target side communication unit 107 ... Hardware device control input / output distribution information change unit 200 ... Host machine side system 201 ... Host side communication unit 202 ... Physical level virtual hardware 203 ... Hardware information abstraction degree conversion unit 204 ... Execution control unit 205 ... Conversion information 206 ... Physical-logical correspondence information 207: logical level virtual hardware 300: real hardware (target hardware).
─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───
【手続補正書】[Procedure amendment]
【提出日】平成10年2月16日[Submission date] February 16, 1998
【手続補正1】[Procedure amendment 1]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】図面の簡単な説明[Correction target item name] Brief description of drawings
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【図面の簡単な説明】[Brief description of the drawings]
【図1】本発明を説明するための図であって、本発明の
一具体例の全体構成を示すブロック図。FIG. 1 is a diagram for explaining the present invention, and is a block diagram showing an entire configuration of a specific example of the present invention.
【図2】本発明を説明するための図であって、本発明シ
ステムの作用を説明するための図。FIG. 2 is a diagram for explaining the present invention, and is a diagram for explaining the operation of the system of the present invention.
【図3】本発明を説明するための図であって、本発明シ
ステムにおけるターゲットプログラムの処理内容を説明
するためのフローチャート。FIG. 3 is a diagram for explaining the present invention, and is a flowchart for explaining processing contents of a target program in the system of the present invention;
【図4】本発明を説明するための図であって、本発明シ
ステムで用いるレジスタ情報及びハードウェアデバイス
制御入出力振り分け情報の例を説明するための図。FIG. 4 is a diagram for explaining the present invention, and is a diagram for explaining an example of register information and hardware device control input / output distribution information used in the system of the present invention.
【図5】本発明を説明するための図であって、本発明シ
ステムにおけるハードウェアデバイス制御入出力振り分
け部の入力処理例を説明するためのフローチャート。FIG. 5 is a diagram for explaining the present invention, and is a flowchart for explaining an input processing example of a hardware device control input / output distribution unit in the system of the present invention;
【図6】本発明を説明するための図であって、本発明シ
ステムにおけるハードウェアデバイス制御入出力振り分
け部の出力処理例を説明するためのフローチャート。FIG. 6 is a diagram for explaining the present invention, and is a flowchart for explaining an output processing example of a hardware device control input / output distribution unit in the system of the present invention;
【図7】本発明を説明するための図であって、本発明シ
ステムにおけるハードウェアデバイス制御プログラムの
処理例を説明するためのフローチャート。FIG. 7 is a diagram for explaining the present invention, and is a flowchart for explaining a processing example of a hardware device control program in the system of the present invention;
【図8】本発明を説明するための図であって、本発明シ
ステムにおけるターゲット側通信部の送信動作を説明す
る送信フロー。FIG. 8 is a diagram for explaining the present invention, and is a transmission flow illustrating a transmission operation of a target-side communication unit in the system of the present invention.
【図9】本発明を説明するための図であって、本発明シ
ステムにおけるターゲット側通信部の受信動作を説明す
る受信フロー。FIG. 9 is a diagram for explaining the present invention, and is a reception flow illustrating a receiving operation of a target-side communication unit in the system of the present invention.
【図10】本発明を説明するための図であって、本発明
システムに用いる物理‐論理対応情報の一例を示す図。FIG. 10 is a diagram for explaining the present invention, showing an example of physical-logical correspondence information used in the system of the present invention.
【図11】本発明を説明するための図であって、本発明
システムにおける論理レベル仮想ハードウェア207の
処理の流れを説明する図。FIG. 11 is a diagram for explaining the present invention, which is a diagram for explaining a processing flow of the logical level virtual hardware 207 in the system of the present invention.
【図12】本発明を説明するための図であって、本発明
システムにおけるハードウェア情報抽象度変換部の送信
側処理例を説明するための図。FIG. 12 is a diagram for explaining the present invention, and is a diagram for explaining a transmitting-side processing example of the hardware information abstraction degree conversion unit in the system of the present invention;
【図13】本発明を説明するための図であって、本発明
システムにおけるハードウェア情報抽象度変換部の受信
側処理例を説明するための図。FIG. 13 is a diagram for explaining the present invention, and for explaining a receiving-side processing example of the hardware information abstraction degree conversion unit in the system of the present invention;
【図14】本発明を説明するための図であって、本発明
システムにおける変換情報205を説明するための図。FIG. 14 is a diagram for explaining the present invention, and is a diagram for explaining conversion information 205 in the system of the present invention.
【図15】本発明を説明するための図であって、本発明
システムにおける変換処理ルーチン(送信側)の処理の
流れを説明するための図。FIG. 15 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a conversion processing routine (transmission side) in the system of the present invention.
【図16】本発明を説明するための図であって、本発明
システムにおける変換処理ルーチン(受信側)の処理の
流れを説明するための図。FIG. 16 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a conversion processing routine (reception side) in the system of the present invention.
【図17】本発明を説明するための図であって、本発明
システムにおける物理レベル仮想ハードウェア(送信
側)の処理の流れを説明するための図。FIG. 17 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of physical level virtual hardware (transmission side) in the system of the present invention.
【図18】本発明を説明するための図であって、本発明
システムにおける物理レベル仮想ハードウェア(受信
側)の処理の流れを説明するための図。FIG. 18 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of physical level virtual hardware (receiving side) in the system of the present invention.
【図19】本発明を説明するための図であって、本発明
システムにおけるホスト側通信部(送信側)の処理の流
れを説明するための図。FIG. 19 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a host-side communication unit (transmitting side) in the system of the present invention.
【図20】本発明を説明するための図であって、本発明
システムにおけるホスト側通信部(受信側)の処理の流
れを説明するための図。FIG. 20 is a diagram for explaining the present invention, and is a diagram for explaining a processing flow of a host-side communication unit (receiving side) in the system of the present invention.
【図21】本発明を説明するための図であって、本発明
システムにおける論理レベル仮想ハードウェアGUIの
一例を説明するための図。FIG. 21 is a diagram for explaining the present invention, and is a diagram for explaining an example of a logical level virtual hardware GUI in the system of the present invention.
【図22】本発明を説明するための図であって、本発明
システムにおける論理レベル仮想ハードウェアGUIの
一例を説明するための図。FIG. 22 is a diagram for explaining the present invention, and is a diagram for explaining an example of a logical level virtual hardware GUI in the system of the present invention.
【図23】本発明を説明するための図であって、本発明
システムにおける物理レベル仮想ハードウェアGUIの
一例を説明するための図。FIG. 23 is a diagram for explaining the present invention, and is a diagram for explaining an example of a physical-level virtual hardware GUI in the system of the present invention.
【図24】本発明を説明するための図であって、本発明
システムにおけるハードウェアデバイス制御入出力振り
分け情報変更部の処理の流れの例を説明するための図。FIG. 24 is a diagram for explaining the present invention, and is a diagram for explaining an example of a processing flow of a hardware device control input / output distribution information change unit in the system of the present invention.
【図25】本発明を説明するための図であって、本発明
システムにおける実行制御部でのユーザインタフェース
例を説明するための図。FIG. 25 is a diagram for explaining the present invention, and is a diagram for explaining an example of a user interface in an execution control unit in the system of the present invention.
【符号の説明】 100…ターゲット側システム 101…ターゲットプログラム 102…ハードウェアデバイス制御レジスタ 103…ハードウェアデバイス制御入出力振り分け部 104…ハードウェアデバイス制御入出力振り分け情報 105…ハードウェアデバイス制御プログラム 106…ターゲット側通信部 107…ハードウェアデバイス制御入出力振り分け情報
変更部 200…ホストマシン側システム 201…ホスト側通信部 202…物理レベル仮想ハードウェア 203…ハードウェア情報抽象度変換部 204…実行制御部 205…変換情報 206…物理‐論理対応情報 207…論理レベル仮想ハードウェア 300…実ハードウェア(ターゲットハードウェア)。[Description of Signs] 100 target system 101 target program 102 hardware device control register 103 hardware device control input / output distribution unit 104 hardware device control input / output distribution information 105 hardware device control program 106 Target-side communication unit 107: Hardware device control input / output distribution information change unit 200: Host machine-side system 201: Host-side communication unit 202: Physical level virtual hardware 203: Hardware information abstraction degree conversion unit 204: Execution control unit 205 ... conversion information 206 ... physical-logical correspondence information 207 ... logical level virtual hardware 300 ... real hardware (target hardware).
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岸本 卓也 東京都港区新橋3丁目3番9号 東芝エ ー・ブイ・イー株式会社内 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Takuya Kishimoto 3-3-9, Shimbashi, Minato-ku, Tokyo Inside Toshiba AV EE Co., Ltd.
Claims (2)
ドウェアの制御に用いるターゲットのソフトウェアを試
験するソフトウェア試験装置において、 ターゲットのソフトウェアの動作環境であるターゲット
開発環境と、そのソフトウェアを試験するための作業環
境であるホスト環境とを備え、 ターゲット開発環境は、試験対象であるターゲットプロ
グラムと、ソフトウェアの制御対象であるハードウェア
を構成する各ハードウェアデバイス群を制御するハード
ウェアデバイス制御手段と、ハードウェアデバイス制御
入出力振り分け情報に基づきターゲットプログラムとの
間で授受する情報をハードウェアデバイス制御プログラ
ム側にするかターゲット側通信手段側にするかを切り替
え制御するハードウェアデバイス制御入出力振り分け手
段と、ハードウェアデバイス制御入出力振り分け情報を
変更するためのハードウェアデバイス制御入出力振り分
け情報変更手段を持ち、 また、ホスト開発環境は、前記ターゲット側通信手段と
情報の授受をするためのホスト側通信手段と、ターゲッ
トハードウェアの動作を仮想的に実現する物理レベル仮
想ハードウェア実現手段と、ターゲットハードウェアに
対する人為的操作を可能にする環境を仮想的に実現する
論理レベル仮想ハードウェア実現手段を備えることを特
徴とするソフトウェア試験装置。A software test apparatus for testing target software used for controlling target hardware as target hardware, comprising: a target development environment which is an operating environment of the target software; and an operation for testing the software. A target development environment, a target device to be tested, hardware device control means for controlling each hardware device group constituting hardware to be controlled by software, and a hardware A hardware device control input / output distributor that controls whether information to be exchanged with the target program based on the device control input / output distribution information is switched to the hardware device control program side or the target side communication means side. And hardware device control input / output distribution information changing means for changing the hardware device control input / output distribution information, and the host development environment includes a host side for exchanging information with the target side communication means. Communication means, physical-level virtual hardware realizing means for virtually realizing the operation of the target hardware, and logical-level virtual hardware realizing means for virtually realizing an environment enabling artificial operation on the target hardware A software test apparatus, comprising:
いて、 ホスト環境において、物理レベル仮想ハードウェア実現
手段は、物理的な信号レベルでの各ハードウェアデバイ
スの状態の操作と参照が可能であり、物理的な信号レベ
ルで各ハードウェアデバイスの状態を保持すると共に、
ホスト側通信手段を通じて、ターゲットプログラムから
ハードウェアデバイスに対し新たな要求が発行された事
を通知された場合、その要求にしたがって、物理レベル
仮想ハードウェア内の対応するハードウェアデバイスの
状態を更新する機能と、ユーザ操作によりハードウェア
デバイスの状態が更新された場合に、ハードウェアデバ
イスの状態変化情報を、ホスト側通信手段から、ハード
ウェアデバイス制御入出力振り分け手段を経由してター
ゲットプログラムへと通知する機能とを備え、ターゲッ
トプログラムを、ターゲットハードウェアなしに実行可
能にすることを特徴とするソフトウェア試験装置。2. The software test apparatus according to claim 1, wherein in a host environment, the physical level virtual hardware realizing means can operate and refer to the state of each hardware device at a physical signal level, While maintaining the state of each hardware device at the physical signal level,
When a new request is issued from the target program to the hardware device through the host-side communication means, the state of the corresponding hardware device in the physical-level virtual hardware is updated according to the request. When the function and the status of the hardware device are updated by user operation, the status change information of the hardware device is notified from the host communication means to the target program via the hardware device control input / output distribution means. A software test apparatus having a function to execute a target program without target hardware.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9366805A JPH11194960A (en) | 1997-12-26 | 1997-12-26 | Software testing equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9366805A JPH11194960A (en) | 1997-12-26 | 1997-12-26 | Software testing equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11194960A true JPH11194960A (en) | 1999-07-21 |
Family
ID=18487727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9366805A Pending JPH11194960A (en) | 1997-12-26 | 1997-12-26 | Software testing equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11194960A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133579A (en) * | 2005-11-09 | 2007-05-31 | Hitachi High-Technologies Corp | Industrial device virtual simulation system and device controller |
JP2008083980A (en) * | 2006-09-27 | 2008-04-10 | Fujitsu Ltd | Peripheral device, peripheral device recognition method, and peripheral device recognition program |
CN100399341C (en) * | 2006-03-31 | 2008-07-02 | 电子科技大学 | A Vector Mode Software-Hardware Co-simulation/Verification Method |
JP2010170188A (en) * | 2009-01-20 | 2010-08-05 | Fujitsu Ltd | Verification support program, information processor, and verification support method |
JP2010170564A (en) * | 2002-02-21 | 2010-08-05 | Qualcomm Inc | Method and apparatus for emulating mobile device |
WO2011156116A3 (en) * | 2010-06-10 | 2012-02-02 | Microsoft Corporation | Multimedia hardware emulation for application testing |
JP2013210882A (en) * | 2012-03-30 | 2013-10-10 | Nec Soft Ltd | Emulation device, emulation method, program, and development support system of built-in apparatus |
JP2017182506A (en) * | 2016-03-30 | 2017-10-05 | 積水化成品工業株式会社 | Container performance evaluation apparatus and program |
JP2020021285A (en) * | 2018-07-31 | 2020-02-06 | 株式会社リコー | Apparatus and method for processing information, and program |
-
1997
- 1997-12-26 JP JP9366805A patent/JPH11194960A/en active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010170564A (en) * | 2002-02-21 | 2010-08-05 | Qualcomm Inc | Method and apparatus for emulating mobile device |
JP2007133579A (en) * | 2005-11-09 | 2007-05-31 | Hitachi High-Technologies Corp | Industrial device virtual simulation system and device controller |
CN100399341C (en) * | 2006-03-31 | 2008-07-02 | 电子科技大学 | A Vector Mode Software-Hardware Co-simulation/Verification Method |
JP2008083980A (en) * | 2006-09-27 | 2008-04-10 | Fujitsu Ltd | Peripheral device, peripheral device recognition method, and peripheral device recognition program |
JP2010170188A (en) * | 2009-01-20 | 2010-08-05 | Fujitsu Ltd | Verification support program, information processor, and verification support method |
WO2011156116A3 (en) * | 2010-06-10 | 2012-02-02 | Microsoft Corporation | Multimedia hardware emulation for application testing |
US8533531B2 (en) | 2010-06-10 | 2013-09-10 | Microsoft Corporation | Multimedia hardware emulation for application testing |
JP2013210882A (en) * | 2012-03-30 | 2013-10-10 | Nec Soft Ltd | Emulation device, emulation method, program, and development support system of built-in apparatus |
JP2017182506A (en) * | 2016-03-30 | 2017-10-05 | 積水化成品工業株式会社 | Container performance evaluation apparatus and program |
JP2020021285A (en) * | 2018-07-31 | 2020-02-06 | 株式会社リコー | Apparatus and method for processing information, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6173438B1 (en) | Embedded graphical programming system | |
US7913170B2 (en) | System and method for performing type checking for hardware device nodes in a graphical program | |
US7743335B2 (en) | System and method for accessing registers of a hardware device in a graphical program | |
US7266809B2 (en) | Software debugger and software development support system for microcomputer operable to execute conditional execution instruction | |
US6064812A (en) | System and method for developing automation clients using a graphical data flow program | |
US6064816A (en) | System and method for performing class propagation and type checking in a graphical automation client | |
US8015542B1 (en) | System and method for creating a graphical program which invokes methods and properties of objects | |
US6715132B1 (en) | Datasheet browsing and creation with data-driven datasheet tabs within a microcontroller design tool | |
JPH09326796A (en) | Method for generating test packet to simulate computer network communication and its device | |
WO1996002039A1 (en) | Hardware design verification system and method | |
US5590314A (en) | Apparatus for sending message via cable between programs and performing automatic operation in response to sent message | |
US6785884B1 (en) | Symbolic debug interface for register transfer simulator debugger | |
JPH11194960A (en) | Software testing equipment | |
US7337407B1 (en) | Automatic application programming interface (API) generation for functional blocks | |
US5613119A (en) | Data processor initialization program and method therefor | |
AU631128B2 (en) | Software agent used to provide instruction to a user for a plurality of computer applications | |
JP2003316603A (en) | Program verification system | |
Geilen et al. | Real-time concepts for a formal specification language for software/hardware systems | |
JP2007058813A (en) | Verification apparatus and verification method | |
JP4562439B2 (en) | Program verification system and computer program for controlling program verification system | |
AU4026293A (en) | Interface system for coupling two computer environments | |
CN111445989B (en) | Simulation learning method of refiner-analyzer simulator | |
CN119415413B (en) | Internet of Things firmware debugging method, system and device based on simulation | |
JPH08272644A (en) | Method for debugging program executed in distributed processing device | |
JPH07264264A (en) | Communication protocol analyzer and analyzing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040203 |