JPH0561718A - Software evaluating system - Google Patents

Software evaluating system

Info

Publication number
JPH0561718A
JPH0561718A JP3223248A JP22324891A JPH0561718A JP H0561718 A JPH0561718 A JP H0561718A JP 3223248 A JP3223248 A JP 3223248A JP 22324891 A JP22324891 A JP 22324891A JP H0561718 A JPH0561718 A JP H0561718A
Authority
JP
Japan
Prior art keywords
evaluation
program
asynchronous
signal
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3223248A
Other languages
Japanese (ja)
Inventor
規彰 ▲高▼倉
Noriaki Takakura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3223248A priority Critical patent/JPH0561718A/en
Publication of JPH0561718A publication Critical patent/JPH0561718A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To automatize software evaluation without using any special device by generating an interruption signal and deciding the timing of the generation in the control of an evaluation program. CONSTITUTION:This system is equipped with a means to generate the interruption signal and a means to change the execution sequence of the program and in the case of coming to a position to insert the interrupting signal on the half-way of executing the evaluation program, the interruption signal is generated by moving control to the means for generating the interruption signal. Thus, the evaluating method can be automatized, artificial error can be prevented, the reproducibility of evaluation is guaranteed, and the reliability of evaluation can be improved. Further, since functions required for the evaluation system are limited to a function for loading the program and a function for executing the loaded program only, the evaluation system can be constructed at extremely low cost.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ソフトウェアの検査・
評価手法に関し、特に、非同期評価に関する。
The present invention relates to software inspection /
The present invention relates to an evaluation method, and particularly to an asynchronous evaluation.

【0002】[0002]

【従来の技術】従来のソフトウェアの検査・評価をリア
ルタイム・オペレーティングシステムの検査・評価の例
を用いて説明する。
2. Description of the Related Art Conventional software inspection / evaluation will be described with reference to an example of real-time operating system inspection / evaluation.

【0003】リアルタイム・オペレーティングシステム
(以降RTOSと略す)の検査項目は、基本評価と非同
期評価の2つに大別される。さらに非同期評価は、タス
ク処理中に非同期信号が入ってくる場合とカーネル処理
中に非同期信号が入ってくる場合とに分けることができ
る。
Inspection items of a real-time operating system (hereinafter abbreviated as RTOS) are roughly classified into two types: basic evaluation and asynchronous evaluation. Further, the asynchronous evaluation can be divided into a case where an asynchronous signal comes in during task processing and a case where an asynchronous signal comes in during kernel processing.

【0004】この従来例で用いる評価項目は、初期タス
クによって初期タスクよりも低いプライオリティでタス
クを生成し、生成されたタスクを割り込みハンドラで起
動し、初期タスクによって生成・起動したタスクのタス
ク管理テーブルをチェックする非同期評価項目である。
The evaluation items used in this conventional example are a task management table of a task generated by an initial task with a priority lower than that of the initial task, activated by an interrupt handler, and generated / activated by the initial task. Is an asynchronous evaluation item for checking.

【0005】図9は、従来の非同期評価の作業工程を示
した図である。
FIG. 9 is a diagram showing a work process of a conventional asynchronous evaluation.

【0006】図10は、従来用いていた評価環境の構成
図である。尚、割り込みコントローラ(図10の100
4)には、μPD71059を想定しており、割り込み
事象発生装置(図10の1007)には、任意の信号を
出力出来得るパルスジェネレータを想定している。
FIG. 10 is a block diagram of an evaluation environment used conventionally. An interrupt controller (100 in FIG. 10)
4) is based on the μPD71059, and the interrupt event generator (1007 in FIG. 10) is based on a pulse generator capable of outputting an arbitrary signal.

【0007】まず、非同期評価を開始する前に評価作業
者は、割り込み事象発生装置と割り込みコントローラと
を接続する。この従来例では、パルスジェネレータ(図
10の1007)の出力端子を割り込みコントローラ
(図10の1004)のIR1の端子に接続する。
First, before starting the asynchronous evaluation, the evaluation operator connects the interrupt event generator and the interrupt controller. In this conventional example, the output terminal of the pulse generator (1007 in FIG. 10) is connected to the IR1 terminal of the interrupt controller (1004 in FIG. 10).

【0008】次に、インサーキット・エミュレータ等を
評価作業者が操作して、非同期信号を入力するアドレス
を調べる(図9の(1))。この従来例では、タスク生
成用システムコールを発行した後に非同期信号を入力す
るので、タスク生成用システムコールからタスクの処理
に戻ってきた所のアドレスとなる。
Next, the evaluation operator operates the in-circuit emulator or the like to check the address to which the asynchronous signal is input ((1) in FIG. 9). In this conventional example, since the asynchronous signal is input after issuing the task generation system call, the address is the address where the task generation system call returns to the task processing.

【0009】そして、評価作業者は、インサーキット・
エミュレータ等の機能の1つであるブレーク・ポイント
を、このアドレスに対して設定する(図9の(2))。
The evaluation worker is the in-circuit
A break point, which is one of the functions of the emulator or the like, is set for this address ((2) in FIG. 9).

【0010】ここまでが、非同期評価用プログラムを実
行する前に、評価作業者が行わなければならない作業で
ある。
Up to this point, the evaluation operator must perform the work before executing the asynchronous evaluation program.

【0011】そして、インサーキット・エミュレータを
操作して、非同期評価用プログラムを実行する(図9の
(3))。
Then, the in-circuit emulator is operated to execute the asynchronous evaluation program ((3) in FIG. 9).

【0012】非同期評価プログラムを実行すると、まず
初期タスクが生成・起動される。
When the asynchronous evaluation program is executed, first an initial task is created and activated.

【0013】初期タスクは、まず、割り込みコントロー
ラのIR1より入ってくる、割り込み信号に対応する割
り込みハンドラを定義し、IR1の割り込みマスクをあ
ける(図9の(4))。
The initial task first defines an interrupt handler corresponding to an interrupt signal coming from IR1 of the interrupt controller, and opens the interrupt mask of IR1 ((4) in FIG. 9).

【0014】それから、初期タスクよりひくいタスクプ
ライオリティで、タスク生成用のシステムコールを発行
する(図9の(5))。タスク生成が終了した所で、先
に設定したブレーク・ポイントに到達する。
Then, a system call for task generation is issued with a task priority lower than that of the initial task ((5) in FIG. 9). At the point where task creation is completed, the breakpoint set earlier is reached.

【0015】ブレーク・ポイントに到達すると、プログ
ラムは実行を中断されインサーキット・エミュレータの
コマンドモードに戻ってくる(図9の(6))。
When the break point is reached, the program is suspended from execution and returns to the command mode of the in-circuit emulator ((6) in FIG. 9).

【0016】プログラムが中断したアドレスは、非同期
信号を入力するアドレスである。そこで、評価作業者は
パルスジェネレータを操作して、非同期信号を発生させ
る(図9の(7))。パルスジェネレータによって発生
された非同期信号は、評価プログラムを実行する前に接
続しておいた、割り込みコントローラのIR1端子に入
る。
The address at which the program is interrupted is the address at which the asynchronous signal is input. Therefore, the evaluation operator operates the pulse generator to generate an asynchronous signal ((7) in FIG. 9). The asynchronous signal generated by the pulse generator enters the IR1 terminal of the interrupt controller that was connected before running the evaluation program.

【0017】評価作業者は、インサーキット・エミュレ
ータで非同期信号が入ってきたことを確認して、インサ
ーキット・エミュレータを操作して、中断していた非同
期評価用プログラムの実行を再開する(図9の
(8))。
The evaluator confirms that an asynchronous signal is input from the in-circuit emulator, operates the in-circuit emulator, and restarts the suspended asynchronous evaluation program (FIG. 9). (8)).

【0018】非同期評価プログラムを再開すると、先に
入力した非同期信号が割り込みコントローラからCPU
に伝わる。すると、RTOSは、初期タスクで定義され
た割り込みコントローラのIR1の端子に対応する割り
込みハンドラを起動・実行する(図9の(9))。
When the asynchronous evaluation program is restarted, the previously input asynchronous signal is transferred from the interrupt controller to the CPU.
Be transmitted to. Then, the RTOS activates and executes the interrupt handler corresponding to the terminal of IR1 of the interrupt controller defined in the initial task ((9) in FIG. 9).

【0019】割り込みハンドラでは、初期タスクで生成
したタスクを起動させるシステムコールを発行する(図
9の(10))。割り込みハンドラでは、この他にRT
OSの情報テーブルをチェックする。そして、終了す
る。割り込みハンドラが、終了すると、処理は初期タス
クに戻ってくる(図9の(11))。
The interrupt handler issues a system call that activates the task created in the initial task ((10) in FIG. 9). In the interrupt handler, RT
Check the OS information table. Then, the process ends. When the interrupt handler ends, the process returns to the initial task ((11) in FIG. 9).

【0020】初期タスクに戻ってくると、生成・起動し
たタスクのタスク管理テーブルの情報を期待値どうりで
あるからあらかじめプログラム内に埋め込んでおいた期
待値と比較・検査を行う(図9の(12))。
When returning to the initial task, the information in the task management table of the created / started task is based on the expected value, so that comparison and inspection are performed with the expected value embedded in the program in advance (see FIG. 9). (12)).

【0021】次に、生成・起動したタスクを強制終了す
る(図9の(13))。これで、この非同期項目におけ
るチェックはすべて終了したので初期タスク自身も終了
する(図9の(14))。
Next, the generated / started task is forcibly terminated ((13) in FIG. 9). Now that all the checks for this asynchronous item have been completed, the initial task itself is also completed ((14) in FIG. 9).

【0022】これで、1つの非同期評価項目についての
評価作業が完了した。
This completes the evaluation work for one asynchronous evaluation item.

【0023】[0023]

【発明が解決しようとする課題】上述した、従来行って
いたRTOSの非同期評価手法では、1つの評価プログ
ラムの開始から終了までの間、評価作業者がインサーキ
ット・エミュレータ等を用いて、ブレーク・ポイントの
設定、非同期信号を発生させる為のパルスジェネレータ
の操作、及び先に設定したブレーク・ポイントで中断し
ている評価用プログラムの再開の作業を行わなければな
らない。
In the above-described conventional asynchronous evaluation method of RTOS, the evaluation operator uses an in-circuit emulator or the like to break the program from the start to the end of one evaluation program. You must set the points, operate the pulse generator to generate the asynchronous signal, and restart the evaluation program that was interrupted at the previously set break point.

【0024】よって、評価作業のために作業者が1人つ
きっきりとなってしまい、他の作業ができなくなる。ま
た、インサーキット・エミュレータを操作して、ブレー
ク・ポイントの設定を行ったり、プログラムの再開を行
ったりすることにより、全ての非同期評価用プログラム
を実行するのに膨大な時間がかかってしまう。
Therefore, one worker is left alone for the evaluation work, and other work cannot be performed. Also, by operating the in-circuit emulator to set break points and restart the program, it takes a huge amount of time to execute all the asynchronous evaluation programs.

【0025】更に、作業者がインサーキット・エミュレ
ータ等を操作しなければならないので、ブレーク・ポイ
ントを設定するアドレスをまちがえる等の人為的ミスが
発生するおそれがある。
Further, since the operator has to operate the in-circuit emulator or the like, there is a possibility that a human error such as an error in setting a break point is made.

【0026】[0026]

【課題を解決するための手段】本発明は、ソフトウェア
の非同期評価において評価ボード上に制御可能な割り込
み信号を発生させる手段と、評価用プログラム内にプロ
グラム自身の実行シーケンスを変更する手段と、前記割
り込み信号発生手段を制御する手段を有し、前記実行シ
ーケンスを変更する手段を割り込み信号を入れるべき位
置にあらかじめ配置しておくか、または、更に、オリジ
ナルの命令と実行シーケンスを変更する手段を入れ換え
る手段と、オリジナルの命令を保存しておく手段を有
し、前記プログラムの実行シーケンスを変更する手段を
オリジナルの命令と入れ換えることにより配置し、プロ
グラムの実行位置が前記割り込み信号を入れるべき位置
に達したとき前記制御手段に実行シーケンスを移し、割
り込み信号を発生させる手段を用いて、非同期信号を発
生させることを特徴とする。
SUMMARY OF THE INVENTION The present invention comprises means for generating a controllable interrupt signal on an evaluation board in asynchronous evaluation of software, means for changing the execution sequence of the program itself in the evaluation program, and A means for controlling the interrupt signal generating means is provided, and the means for changing the execution sequence is arranged in advance at the position where the interrupt signal should be inserted, or further, the original instruction and the means for changing the execution sequence are exchanged. Means and a means for storing the original instruction, the means for changing the execution sequence of the program is arranged by replacing the original instruction, and the execution position of the program reaches the position where the interrupt signal should be inserted. When this happens, the execution sequence is transferred to the control means and an interrupt signal is generated. That using means, characterized in that generating an asynchronous signal.

【0027】[0027]

【実施例1】次に、本発明についてリアルタイム・オペ
レーティングシステムの評価を例に図面を用いて説明す
る。
[Embodiment 1] Next, the present invention will be described with reference to the drawings by taking an evaluation of a real-time operating system as an example.

【0028】図1は、実施例1で用いる非同期評価用プ
ログラムのフローチャート、図5は、実施例1で用いる
非同期信号を発生させるための非同期信号発生ルーチン
のフローチャートである。図8は、非同期評価を行う評
価環境の構成図である。
FIG. 1 is a flowchart of an asynchronous evaluation program used in the first embodiment, and FIG. 5 is a flowchart of an asynchronous signal generation routine for generating an asynchronous signal used in the first embodiment. FIG. 8 is a block diagram of an evaluation environment for performing asynchronous evaluation.

【0029】この実施例では、非同期信号発生装置とし
てパラレルI/O、μPD71055(図8の803)
を用いる。また、割り込みコントローラには、μPD7
1059(図8の804)を用いる。そして、あらかじ
めパラレルI/Oのデータビットの0番の端子を割り込
みコントローラのIR1の端子に接続しておく。
In this embodiment, a parallel I / O, μPD71055 (803 in FIG. 8) is used as an asynchronous signal generator.
To use. In addition, the μPD7 is used as the interrupt controller.
1059 (804 in FIG. 8) is used. Then, the 0th terminal of the parallel I / O data bit is connected to the IR1 terminal of the interrupt controller in advance.

【0030】評価作業者は、インサーキット・エミュレ
ータ等を用いて非同期評価プログラムを実行する。
The evaluation worker executes the asynchronous evaluation program by using an in-circuit emulator or the like.

【0031】非同期評価用プログラムを実行すると、ま
ず初期タスクの中で割り込みコントローラのIR1の端
子の非同期信号に対応する割り込みハンドラを定義する
(図1の(1))。
When the asynchronous evaluation program is executed, first, in the initial task, an interrupt handler corresponding to the asynchronous signal of the terminal IR1 of the interrupt controller is defined ((1) in FIG. 1).

【0032】そして、タスク生成用システムコールを用
いて、タスクを生成する(図1の(2))。
Then, the task is generated using the task generation system call ((2) in FIG. 1).

【0033】次に、コール命令により非同期信号発生ル
ーチンを呼び出す(図1の(3))。この時、パラレル
I/Oから出力させる信号のパターンを指定する。この
実施例の場合、パラレルI/Oのデータビット0より信
号を出力するような信号のパターンを指定する。尚、こ
の信号のパターンはこの評価項目固有の値として、非同
期評価用プログラムの作成時にプログラム内に記述して
おく。
Next, the asynchronous signal generation routine is called by the call instruction ((3) in FIG. 1). At this time, the pattern of the signal output from the parallel I / O is designated. In the case of this embodiment, a signal pattern that outputs a signal from data bit 0 of parallel I / O is designated. The pattern of this signal is described in the program as a value unique to this evaluation item when the asynchronous evaluation program is created.

【0034】呼び出された非同期信号発生ルーチンで
は、まず割り込み禁止状態にする(図5の(1))。こ
れは、この非同期信号発生ルーチン内で割り込み信号が
入ってくるのを防ぐためである。次に、非同期信号発生
ルーチンを呼び出す際に指定した信号のパターンをパラ
レルI/Oより出力する(図5の(2))。
In the called asynchronous signal generation routine, first, the interrupt disabled state is set ((1) in FIG. 5). This is to prevent an interrupt signal from entering in this asynchronous signal generation routine. Next, the pattern of the signal designated when calling the asynchronous signal generation routine is output from the parallel I / O ((2) in FIG. 5).

【0035】出力された信号は、あらかじめつないでお
いた、割り込みコントローラのIR1の端子へ入る。す
なわち、パラレルI/Oの出力信号が割り込みコントロ
ーラの入力信号、つまり割り込み信号となる。
The output signal is input to the IR1 terminal of the interrupt controller which is connected in advance. That is, the output signal of the parallel I / O becomes the input signal of the interrupt controller, that is, the interrupt signal.

【0036】割り込みコントローラのIR1に割り込み
信号が入り、非同期信号発生ルーチンよりRET命令に
よって非同期評価用プログラムへ戻ると、先に非同期信
号発生ルーチンで禁止した割り込み禁止状態を解除する
(図1の(4))。
When an interrupt signal is input to IR1 of the interrupt controller and the asynchronous signal generation routine returns to the asynchronous evaluation program by the RET instruction, the interrupt disabled state previously disabled by the asynchronous signal generation routine is released ((4 in FIG. 1). )).

【0037】すると、割り込みを許可したことにより先
に定義した割り込みハンドラが起動する(図1の
(5))。
Then, the interrupt handler defined previously is activated by enabling the interrupt ((5) in FIG. 1).

【0038】割り込みハンドラでは、先に初期タスクに
よって生成されたタスクをタスク生成用システムコール
を用いて起動する(図1の(6))。そして、必要なチ
ェックを行い初期タスクに戻る(図1の(7))。
In the interrupt handler, the task previously generated by the initial task is activated using the task generation system call ((6) in FIG. 1). Then, necessary checks are performed and the process returns to the initial task ((7) in FIG. 1).

【0039】初期タスクでは、各種テーブル類の値と期
待値の比較・検査を行い、最後に生成・起動したタスク
を強制終了して初期タスク自身も終了する(図1の
(8),(9))。
In the initial task, the values of various tables and the expected values are compared / inspected, and the task that is generated / started last is forcibly terminated and the initial task itself is also terminated ((8) and (9 in FIG. 1). )).

【0040】これで、1つの非同期評価項目についての
評価作業が完了した。
This completes the evaluation work for one asynchronous evaluation item.

【0041】[0041]

【実施例2】前述の実施例同様に、リアルタイム・オペ
レーティングシステムの評価を例に図を用いて説明す
る。
[Embodiment 2] Similar to the embodiment described above, the evaluation of a real-time operating system will be described as an example with reference to the drawings.

【0042】図2はこの実施例2で用いる非同期評価用
プログラムのフローチャートである。
FIG. 2 is a flowchart of the asynchronous evaluation program used in the second embodiment.

【0043】図3は、brk命令を埋め込むためのブレ
ーク命令埋め込み関数のフローチャート、図4は、オリ
ジナルコードとbrk命令を入れ換えるためのコード入
れ替え関数のフローチャート、図6は、この実施例で用
いる非同期信号発生ルーチンBのフローチャートで、図
7の(A)はタスク生成用システムコールのオリジナル
コードの一部で、同図(B)は、タスク生成用システム
コールの図7の(A)と同じ場所にbrk命令を埋め込
んだ所で、同図(C)は非同期信号発生ルーチンにおい
てbrk命令をもとのオリジナルコードに戻したところ
のリストである。
FIG. 3 is a flowchart of a break instruction embedding function for embedding a brk instruction, FIG. 4 is a flowchart of a code exchanging function for exchanging an original code and a brk instruction, and FIG. 6 is an asynchronous signal used in this embodiment. In the flow chart of the generation routine B, FIG. 7A is a part of the original code of the task generation system call, and FIG. 7B is the same location as FIG. 7A of the task generation system call. FIG. 6C is a list of the brk instruction restored to the original code in the asynchronous signal generation routine after the brk instruction is embedded.

【0044】図8は、非同期評価を行う評価環境の構成
図である。
FIG. 8 is a block diagram of an evaluation environment for performing asynchronous evaluation.

【0045】前述の実施例と同様に、非同期信号発生装
置としてパラレルI/O(図8の803)を用いるもの
とする。パラレルI/OにはμPD71055を、割り
込みコントローラにはμPD71059を想定してい
る。そして、実施例1と同様にパラレルI/Oのデータ
ビットの0番の端子を割り込みコントローラの(図8の
804)IR1の端子に接続しておく。
Similar to the above embodiment, it is assumed that a parallel I / O (803 in FIG. 8) is used as an asynchronous signal generator. The μPD71055 is assumed for the parallel I / O, and the μPD71059 is assumed for the interrupt controller. Then, as in the first embodiment, the 0th terminal of the data bit of the parallel I / O is connected to the IR1 terminal (804 in FIG. 8) of the interrupt controller.

【0046】非同期評価プログラムをインサーキット・
エミュレータを用いて実行する。
In-circuit Asynchronous Evaluation Program
Run using an emulator.

【0047】実施例2で用いた非同期評価プログラムで
は、まず割り込みコントローラのIR1端子の非同期信
号に対応する割り込みハンドラを定義する(図2の
(1))。
In the asynchronous evaluation program used in the second embodiment, first, the interrupt handler corresponding to the asynchronous signal of the IR1 terminal of the interrupt controller is defined ((1) in FIG. 2).

【0048】次に、評価用のテンポラリ領域に、現在の
タスク及びカーネル等に関するテーブルの中の情報をコ
ピーしておく(図2の(2))。
Next, the information in the table relating to the current task, kernel, etc. is copied to the temporary area for evaluation ((2) in FIG. 2).

【0049】そして、ブレーク命令埋め込み関数を呼び
出す(図2の(3))。この時、引数としてブレーク命
令を埋め込むアドレスとパラレルI/Oより出力する信
号のパターンを引数として渡す。この実施例の場合、非
同期信号を入力したいアドレスにブレーク命令を埋め込
まなければならない。よって、ブレーク命令埋め込み関
数には、brk命令を埋め込みたいアドレスを引数とし
て渡す。この際評価対象であるRTOSの非同期信号を
入れるべきアドレスにRTOS全体を通してユニークな
ラベルを埋め込んでおく。この実施例の場合であればタ
スク生成用システムコールの中に埋め込んでおく。そし
て、このユニークなラベルの情報を参照することにより
容易にそのアドレス値を得ることができる。尚、この実
施例2の場合も前述の実施例1と同様にブレーク命令埋
め込み関数に渡す信号のパターン、及び非同期信号を入
力するアドレスはその非同期評価項目に固有なもので、
非同期評価用プログラムを作成時にプログラム内に記述
しておく。
Then, the break instruction embedding function is called ((3) in FIG. 2). At this time, the address in which the break instruction is embedded and the pattern of the signal output from the parallel I / O are passed as arguments. In the case of this embodiment, the break instruction must be embedded at the address where the asynchronous signal is desired to be input. Therefore, the address where the brk instruction is to be embedded is passed as an argument to the break instruction embedding function. At this time, a unique label is embedded throughout the RTOS at the address where the asynchronous signal of the RTOS to be evaluated is to be inserted. In the case of this embodiment, it is embedded in the task generation system call. Then, the address value can be easily obtained by referring to the information of this unique label. Also in the case of the second embodiment, the pattern of the signal to be passed to the break instruction embedding function and the address to which the asynchronous signal is input are unique to the asynchronous evaluation item, as in the first embodiment.
Describe the asynchronous evaluation program in the program at the time of creation.

【0050】呼び出されたブレーク命令埋め込み関数で
は、渡されたアドレスにbrk命令を埋め込む。
In the called break instruction embedding function, the brk instruction is embedded at the passed address.

【0051】brk命令を埋め込む際に、オリジナルの
コードと入れ換える為に、オリジナルのコードを保存し
ておかねばならない。そこで、ブレーク命令埋め込みル
ーチンでは、コード入れ換え関数を呼び出す(図3の
(2))。
When embedding the brk instruction, the original code must be saved in order to replace it with the original code. Therefore, in the break instruction embedding routine, the code replacement function is called ((2) in FIG. 3).

【0052】この時のタスク生成用システムコール内の
brk命令埋め込み位置のコードは図7の(A)のよう
になっている。
The code at the brk instruction embedded position in the task generation system call at this time is as shown in FIG.

【0053】コード入れ換え関数では、まず割り込み禁
止状態にして(図4の(1))、引数として渡されたア
ドレスより、埋め込むbrk命令のバイト数の分だけ、
他のメモリに退避させる(図4の(3))。ここで、割
り込みを禁止するのはオリジナルの命令とbrk命令と
を入れ換える際に、非同期信号がこのコード入れ換えの
途中に入ってきて、誤動作するのを防ぐためである。
In the code exchange function, first, the interrupt disabled state is set ((1) in FIG. 4), and the number of bytes of the brk instruction to be embedded is calculated from the address passed as an argument.
It is saved in another memory ((3) in FIG. 4). Here, the interrupt is prohibited in order to prevent an erroneous operation when an original signal and a brk instruction are replaced with each other because an asynchronous signal comes in during the code replacement.

【0054】そして、brk命令を埋め込む(図4の
(3))。更に、そのbrk命令実行後に処理される処
理ルーチンとして非同期信号発生ルーチンを登録してお
く(図4の(4))。最後に、割り込み許可状態にして
(図4の(5))、ブレーク命令埋め込み関数を呼び出
したタスクへ戻る。
Then, the brk instruction is embedded ((3) in FIG. 4). Further, an asynchronous signal generation routine is registered as a processing routine to be processed after the execution of the brk instruction ((4) in FIG. 4). Finally, the interrupt enabled state is set ((5) in FIG. 4) and the process returns to the task that called the break instruction embedding function.

【0055】ブレーク命令埋め込み関数から、タスクに
戻ってきたときのタスク生成システムコール内のbrk
命令埋め込み位置のコードは、図7の(B)のようにな
っている。
Brk in the task generation system call when returning to the task from the break instruction embedding function
The code at the instruction embedding position is as shown in FIG.

【0056】初期タスクに戻ってきて処理を続ける。そ
してタスク生成用システムコールを発行する(図2の
(5))。タスク生成用システムコールでは、通常どう
り処理を行うがbrk命令を埋め込んだアドレスでbr
k命令を実行する(図2の(6))。そして、brk命
令実行後の処理ルーチンとして登録しておいた非同期信
号発生ルーチンを実行する(図2の(7))。
Return to the initial task and continue processing. Then, a system call for task generation is issued ((5) in FIG. 2). In the task generation system call, processing is normally performed, but br is the address in which the brk instruction is embedded.
The k instruction is executed ((6) in FIG. 2). Then, the asynchronous signal generation routine registered as the processing routine after the execution of the brk instruction is executed ((7) in FIG. 2).

【0057】非同期信号発生ルーチンでは、まず割り込
み禁止状態にする(図6の(1))。ここで、割り込み
禁止にしているのは、評価対象であるRTOSの処理中
に非同期信号が入ってくることを意としているのだが、
その評価用のルーチン内で非同期信号が入ってくると、
その評価の本来の目的を達成できなくなるためである。
In the asynchronous signal generation routine, the interrupt disabled state is first set ((1) in FIG. 6). Here, interrupts are intended to mean that an asynchronous signal comes in during the processing of the RTOS that is the evaluation target.
When an asynchronous signal comes in in the evaluation routine,
This is because the original purpose of the evaluation cannot be achieved.

【0058】非同期信号発生ルーチンで割り込みを禁止
した後、埋め込んだbrk命令をもとのオリジナルの命
令コードに戻す(図6の(2))。
After the interrupt is disabled in the asynchronous signal generation routine, the embedded brk instruction is returned to the original instruction code ((2) in FIG. 6).

【0059】この時、タスク生成用システムコールのb
rk命令を埋め込んだアドレスのコードは図7の(C)
のようになっている。そして非同期信号を発生させる。
At this time, the task generation system call b
The code of the address in which the rk instruction is embedded is shown in FIG.
It looks like. Then, an asynchronous signal is generated.

【0060】非同期信号の発生処理では、パラレルI/
Oからブレーク命令埋め込み関数を呼び出す際に設定し
た信号のパターンを出力する(図6の(3))。
In the asynchronous signal generation processing, the parallel I /
The signal pattern set when the break instruction embedding function is called from O is output ((3) in FIG. 6).

【0061】brk命令を埋め込んだ場合、非同期信号
を発生させて戻る時にbrk命令と入れ換えた命令から
実行を再開しなければならない。
When the brk instruction is embedded, it is necessary to restart the execution from the instruction replaced with the brk instruction when generating the asynchronous signal and returning.

【0062】よって、brk命令と入れ換えられた命令
よりプログラムを再開する。先の非同期信号発生ルーチ
ンでパラレルI/Oから出力した信号が割り込みコント
ローラの入力信号となり、登録されていた割り込みハン
ドラが起動する(図2の(7))。
Therefore, the program is restarted from the instruction replaced with the brk instruction. The signal output from the parallel I / O in the previous asynchronous signal generation routine becomes the input signal of the interrupt controller, and the registered interrupt handler is activated ((7) in FIG. 2).

【0063】割り込みハンドラでは、割り込みコントロ
ーラに入ってきた非同期信号に対する処理を行う(図2
の(8))。
The interrupt handler processes the asynchronous signal that has entered the interrupt controller (see FIG. 2).
(8)).

【0064】非同期信号に対する処理を行った後に、割
り込みの発生したタスク生成用システムコールへもどる
(図2の(9))。
After the processing for the asynchronous signal is performed, the process returns to the task generation system call in which the interrupt occurred ((9) in FIG. 2).

【0065】タスク生成用システムコールの残りの処理
を行って、タスクの生成を行う(図2の(10))。
The remaining processing of the task generation system call is performed to generate the task ((10) in FIG. 2).

【0066】初期タスクは生成したタスクの管理テーブ
ルのチェックを行った後に終了する(図2の(1
1))。
The initial task ends after checking the management table of the generated task ((1 in FIG. 2
1)).

【0067】[0067]

【発明の効果】以上説明したように、ソフトウェアプロ
グラムの実行過程において、あらかじめ、パラレルI/
O等の任意のビットパターンを出力できる装置の、出力
端子と割り込みコントローラの信号入力端子を接続して
おき、非同期評価用プログラムの実行中に、プログラム
中で指定されたビットパターンをパラレルI/O等より
出力して出力した信号を非同期信号として割り込みコン
トローラに入力する事によって、従来、人間の操作に頼
っていたプログラムの停止、非同期信号の発生、及びプ
ログラムの再開の操作を削除、自動化することにより作
業の単純化・時間的な短縮が可能となった。
As described above, in the process of executing a software program, parallel I / O
An output terminal of a device capable of outputting an arbitrary bit pattern such as O is connected to a signal input terminal of an interrupt controller, and a bit pattern specified in the program is executed by a parallel I / O during execution of the asynchronous evaluation program. By inputting the output signal from the etc. to the interrupt controller as an asynchronous signal, deleting and automating the operation of stopping the program, generating an asynchronous signal, and resuming the program, which conventionally depended on human operation. This has made it possible to simplify the work and reduce the time.

【0068】また、インサーキット・エミュレータの操
作(ブレークポイントの設定、非同期評価用プログラム
の実行の再開)、パルスジェネレータの操作(非同期信
号の発生)がなくなることにより、操作中の人為的ミス
の削除にもなる。
Further, since the operation of the in-circuit emulator (setting of breakpoints, resumption of execution of the asynchronous evaluation program) and the operation of the pulse generator (generation of asynchronous signal) are eliminated, human error during operation is deleted. It also becomes.

【0069】更に、実施例2のように評価対象であるソ
フトウェアの処理中に非同期信号が入ってくる場合は、
brk命令とオリジナルコードを入れ替え、非同期信号
を発生させることにより、オリジナルのコードを変更す
ることなく評価・検査する事が可能である。
Furthermore, when an asynchronous signal is input during the processing of the software to be evaluated as in the second embodiment,
By exchanging the brk instruction and the original code and generating an asynchronous signal, it is possible to evaluate and inspect without changing the original code.

【0070】また、非同期信号を発生させる手段とし
て、パラレルI/O等を用いることによりパターンジェ
ネレータや、メモリ上にプログラムを展開させる機能と
そのプログラムを実行する機能があれば、インサーキッ
ト・エミュレータ等の特別な機器を必要とせずに、安価
に評価環境が複数、構築できるという効果もある。
As a means for generating an asynchronous signal, a parallel I / O or the like may be used to provide a pattern generator, a function to develop a program on a memory, and a function to execute the program, and an in-circuit emulator or the like. There is also the effect that multiple evaluation environments can be constructed at low cost without the need for special equipment.

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

【図1】実施例1で用いた非同期評価プログラムフロー
チャート。
FIG. 1 is a flowchart of an asynchronous evaluation program used in Example 1.

【図2】実施例2で用いた非同期評価プログラムフロー
チャート。
FIG. 2 is a flowchart of an asynchronous evaluation program used in the second embodiment.

【図3】実施例2で用いたブレーク命令埋め込み関数フ
ローチャート。
FIG. 3 is a flowchart of a break instruction embedding function used in the second embodiment.

【図4】実施例2で用いたコード入れ換え関数フローチ
ャート。
FIG. 4 is a code replacement function flowchart used in the second embodiment.

【図5】実施例1で用いた非同期信号発生ルーチンAフ
ローチャート。
FIG. 5 is a flowchart of an asynchronous signal generation routine A used in the first embodiment.

【図6】実施例2で用いた非同期信号発生ルーチンBフ
ローチャート。
FIG. 6 is a flowchart of an asynchronous signal generation routine B used in the second embodiment.

【図7】実施例2で用いたタスク生成用システムコール
のリストで、(A)は、brk命令を埋め込む前のリス
ト、(B)は、brk命令を埋め込んだ時のリスト、
(C)は、コードをもとに戻したときのリスト。
FIG. 7 is a list of system calls for task generation used in the second embodiment, (A) is a list before embedding a brk instruction, (B) is a list when a brk instruction is embedded,
(C) is a list when the code is returned to the original.

【図8】実施例1,2で用いた評価環境構成。FIG. 8 is an evaluation environment configuration used in Examples 1 and 2.

【図9】従来の非同期評価の作業フロー。FIG. 9 is a conventional workflow of asynchronous evaluation.

【図10】従来の評価環境構成。FIG. 10 shows a conventional evaluation environment configuration.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ソフトウェアの非同期評価において、評
価ボード上に制御可能な割り込み信号を発生させる手段
と、評価用プログラム内にプログラム自身の実行シーケ
ンスを変更する手段と、前記割り込み信号発生手段を制
御する手段を有し、前記実行シーケンスを変更する手段
を割り込み信号を入れるべき位置に配置し、プログラム
の実行位置が前記位置に達したとき、前記制御手段に実
行シーケンスを移し、割り込み信号を発生させる手段を
用いて、非同期信号を発生させることを特徴とするソフ
トウェア評価方式。
1. In asynchronous evaluation of software, means for generating a controllable interrupt signal on the evaluation board, means for changing the execution sequence of the program itself in the evaluation program, and control the interrupt signal generating means. Means for arranging the means for changing the execution sequence at a position where an interrupt signal should be inserted, and when the execution position of the program reaches the position, means for transferring the execution sequence to the control means and generating an interrupt signal A software evaluation method characterized by generating an asynchronous signal using.
【請求項2】 前記のプログラムの実行シーケンスを変
更する手段を、評価用プログラム作成の際に、あらかじ
め配置しておくことを特徴とする請求項1のソフトウェ
ア評価方式。
2. The software evaluation method according to claim 1, wherein the means for changing the execution sequence of the program is arranged in advance when the evaluation program is created.
【請求項3】 オリジナルの命令と実行シーケンスを変
更する手段を入れ換える手段と、オリジナルの命令を保
存しておく手段を有し、前記のプログラムの実行シーケ
ンスを変更する手段を、評価対象であるプログラムの実
行の前に、オリジナルの命令と入れ換えることにより配
置し、実行シーケンスを変更した後にオリジナルの命令
に戻すことを特徴とする請求項1のソフトウェア評価方
式。
3. A program to be evaluated, comprising means for exchanging an original instruction and a means for changing an execution sequence, and means for storing an original instruction, wherein the means for changing the execution sequence of the program is an evaluation target. 2. The software evaluation method according to claim 1, wherein the software evaluation method is arranged by replacing the original instruction with the original instruction before execution of, and returning to the original instruction after changing the execution sequence.
JP3223248A 1991-09-04 1991-09-04 Software evaluating system Pending JPH0561718A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3223248A JPH0561718A (en) 1991-09-04 1991-09-04 Software evaluating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3223248A JPH0561718A (en) 1991-09-04 1991-09-04 Software evaluating system

Publications (1)

Publication Number Publication Date
JPH0561718A true JPH0561718A (en) 1993-03-12

Family

ID=16795125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3223248A Pending JPH0561718A (en) 1991-09-04 1991-09-04 Software evaluating system

Country Status (1)

Country Link
JP (1) JPH0561718A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63104150A (en) * 1986-10-21 1988-05-09 Nec Corp Program debugging system
JPH01112344A (en) * 1987-10-26 1989-05-01 Fujitsu Ltd System for controlling test of input/output control software

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63104150A (en) * 1986-10-21 1988-05-09 Nec Corp Program debugging system
JPH01112344A (en) * 1987-10-26 1989-05-01 Fujitsu Ltd System for controlling test of input/output control software

Similar Documents

Publication Publication Date Title
US7669078B2 (en) Method and apparatus for debugging a program on a limited resource processor
CN110663006B (en) Method for performing failover of programmable logic controller and controlling physical system
US20050268195A1 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
US7761744B2 (en) Debugging method
US7716524B2 (en) Restarting an errored object of a first class
JP2000020349A (en) Device and method for supporting program development and medium recording program for program development support
JP2002014841A (en) Debugger kernel system
JPH0561718A (en) Software evaluating system
US20080133838A1 (en) Data processing device
KR102471314B1 (en) A System and Method of Health Management for On-the-fly Repairing of Order Violation in Airborne Software
JPH0588933A (en) Parallel processing system with debugging function
JPS63177231A (en) Debug system for parallel program
Zhou et al. Save the Bruised Striver: A Reliable Live Patching Framework for Protecting Real-World PLCs
CN117149216A (en) Automatic deployment system, method and device for software system supporting incremental deployment and storage medium
JPS5835648A (en) Program execution controlling system
KR19980047755A (en) How to Redo Parallel CHILL Program Using Event History
JPS6214240A (en) Program inspecting system
JP2002366378A (en) Method and device for debugging program and storage medium
JP2007213396A (en) Debugging system, operation system, debugging method, and program
JPH02232744A (en) Constitution control system for simulator
JPH0314040A (en) Program transportable support device
JP2003044317A (en) Rom monitor
JPH05282175A (en) Program debugger
JPH04184544A (en) Break point control system
JPH0272438A (en) Debugging system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971111