JPH0934698A - Software generating method and software developing and supporting method - Google Patents

Software generating method and software developing and supporting method

Info

Publication number
JPH0934698A
JPH0934698A JP18383195A JP18383195A JPH0934698A JP H0934698 A JPH0934698 A JP H0934698A JP 18383195 A JP18383195 A JP 18383195A JP 18383195 A JP18383195 A JP 18383195A JP H0934698 A JPH0934698 A JP H0934698A
Authority
JP
Japan
Prior art keywords
hardware
information
software
function
generating
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
JP18383195A
Other languages
Japanese (ja)
Inventor
Yoshima Ikeuchi
義真 池内
Takefumi Shindo
武文 進藤
Tetsuya Watanabe
哲也 渡辺
Jun Shimabukuro
潤 島袋
Yasuko Fukuzawa
寧子 福澤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP18383195A priority Critical patent/JPH0934698A/en
Publication of JPH0934698A publication Critical patent/JPH0934698A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To eliminate the necessity for a software developer to understanding specifications information on hardware in a specialized field different from that of the software developer and to reduce the influence of change in hardware specifications on the software developer. SOLUTION: A macro definition 108, a structured body definition 109 and a function definition 110 which are device driver programs 107 are generated (101) from macro definition information 122, external specifications information 104, hardware operating description information 105 and external specifications- operating description correspondence information 106 which are hardware component specifications information 103. As a result, the software defective due to the erroneous transmission of the hardware specifications to a software developer is eliminated. By reducing the work of the software developer according to the change of the hardware specifications, a software development period is shortened.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、マイクロコンピュータ
システムによってハードウェアを制御するためのソフト
ウェアの開発支援を行うソフトウェア開発支援方法に係
わり、特にハードウェアを直接制御するソフトウェアで
あるデバイスドライバを生成する方法に関するものであ
る。また、本発明はハードウェアの仕様情報に変更があ
った場合にソフトウェアに対する変更波及先を抽出する
方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software development supporting method for supporting software development for controlling hardware by a microcomputer system, and more particularly to generating a device driver which is software for directly controlling hardware. It is about the method. The present invention also relates to a method for extracting a change transmission destination for software when there is a change in hardware specification information.

【0002】[0002]

【従来の技術】プログラム開発の効率を向上させるた
め、計算機を用いたプログラムの自動生成等の技術がい
ろいろ提案されている。
2. Description of the Related Art Various techniques such as automatic generation of programs using a computer have been proposed in order to improve the efficiency of program development.

【0003】特開平4−352029号の「ソースプロ
グラム自動生成装置」には、ソフトウェアの仕様として
記述された状態遷移図からソースプログラムを生成する
方法が示されている。
A method for generating a source program from a state transition diagram described as software specifications is shown in "Source Program Automatic Generation Device" of Japanese Patent Laid-Open No. 4-352029.

【0004】また、情報処理学会紙 VOL.33 NO.11 通
巻333号に記載のように、近年、ハードウェア設計を
支援するための言語としてハードウェア記述言語を使用
する動きが活発になっている。また、ハードウェア記述
言語のためのビジュアルプログラミングツールでは、ハ
ードウェア構成要素の接続関係の指定、及びハードウェ
ア構成要素内の動作記述を状態遷移図等で行うことによ
りプログラミングを行うことが可能である。
Also, as described in Information Processing Society of Japan, VOL.33 NO.11, Volume 333, in recent years, a movement to use a hardware description language as a language for supporting hardware design has become active. . Further, in a visual programming tool for a hardware description language, it is possible to perform programming by designating a connection relation of hardware constituent elements and performing behavioral description in the hardware constituent elements by a state transition diagram or the like. .

【0005】日立製作所のSEWB3/FLOWでは、
データフロー図中のプロセスを表す図形と共に、別のデ
ータフロー図との間の関係を表す図形と情報を作成し、
データフロー図を対話端末上に表示させているときに、
プロセスを表す図形を入力装置で指示することで、プロ
セスと関係のあるデータフロー図を、対話端末上に表示
する方法が用いられている。
In Hitachi SEWB3 / FLOW,
Create a graphic that represents the process in the dataflow diagram, along with a graphic that represents the relationship to another dataflow diagram, and
While displaying the data flow diagram on the interactive terminal,
A method of displaying a data flow diagram related to a process on an interactive terminal by instructing a graphic representing the process with an input device is used.

【0006】また、情報処理学会第48回(平成6年前
期)全国大会公演論文集(5)、pp181−182
「図式的プロセス記述によるアプリケーション自動/対
話実行支援システムの設計」には、作業指針を示すプロ
セスを図形的に記述し、この記述にしたがってプロセス
を実行する方法が示されている。この方法によるアプリ
ケーション実行支援システムの特徴は、作業指針を表す
プロセスの情報を、要素とダイアグラムに分けて管理す
ることである。要素とは、実行ファイルの性質に基づい
て整理したキーワードのことである。
Also, the IPSJ 48th (first half of 1994) national convention performances (5), pp181-182
"Design of application automatic / interactive execution support system by schematic process description" describes a method of graphically describing a process indicating a work guideline and executing the process according to this description. The feature of the application execution support system by this method is that the information of the process showing the work guideline is managed by dividing it into elements and diagrams. Elements are keywords organized according to the properties of the executable file.

【0007】上記実行支援システムは、ダイアグラムの
ノードと要素との間のつながりを表す情報と、要素と実
行ファイルとの間のつながりを表す情報を用意し、アプ
リケーションを実行するときに、ダイアグラムに沿って
プロセス実行順序を決定し、上記情報を利用して実行す
るプロセスとのつながりのある実行ファイルを実行す
る。もし複数の実行ファイルとつながりのあるプロセス
を実行する場合、実行すべき実行ファイルを対話的に作
業者に選択させる支援システムである。
The above-mentioned execution support system prepares information representing the connection between the nodes and the elements of the diagram and information representing the connection between the elements and the execution file, and when the application is executed, it follows the diagram. The process execution order is determined by using the above information, and the execution file having the connection with the process to be executed is executed by using the above information. This is a support system that allows a worker to interactively select an executable file to be executed when executing a process connected to a plurality of executable files.

【0008】[0008]

【発明が解決しようとする課題】マイクロコンピュータ
システムによってハードウェアを制御するためのソフト
ウェアを開発する際、ハードウェアの構成およびインタ
フェースの仕様に基づき、ハードウェアを直接制御する
ソフトウェアの処理内容が決定される。そのためソフト
ウェア開発者がハードウェアの構成及びインターフェー
ス等のハードウェア仕様を理解する必要がある。また、
ハードウェアの開発者がハードウェア構成またはハード
ウェアインタフェースの変更を行なった場合、これら変
更に基づいて、ソフトウェア開発者はソフトウェアソー
スコードを変更することになる。
When developing software for controlling hardware by a microcomputer system, the processing contents of software for directly controlling hardware are determined based on the hardware configuration and interface specifications. It Therefore, it is necessary for the software developer to understand the hardware configuration and hardware specifications such as interfaces. Also,
If the hardware developer makes changes to the hardware configuration or the hardware interface, the software developer will change the software source code based on these changes.

【0009】上記のSEWB3/FLOWは、類似の専
門分野に属する複数の作業者が作成したソフトウェア構
成図を取り扱う方法であるが、専門分野が異なる複数の
作業者が作成した構成図間の関連を取り扱うことは出来
ない。すなわち、上記の方法では、ソフトウエア構成図
とハ−ドウエア構成図との関連を取り扱うことができな
かった。そのため、ハードウェアと密接な関係にあるソ
フトウェアを開発する場合、ハードウェアの構成が変更
された時、ソフトウェア開発者はハードウェア開発者と
直接コミュニケートしないと、ソフトウェアの変更箇所
を特定することが困難であるという問題点があった。
The SEWB3 / FLOW described above is a method of handling a software configuration diagram created by a plurality of workers belonging to similar specialized fields. However, the relation between the configuration diagrams created by a plurality of workers having different specialized fields is related. It cannot be handled. That is, the above method cannot handle the relationship between the software configuration diagram and the hardware configuration diagram. Therefore, when developing software that is closely related to the hardware, it is difficult for the software developer to identify the changed part of the software unless the hardware developer directly communicates with the hardware developer when the hardware configuration is changed. There was a problem that was.

【0010】また、「図式プロセス記述によるアプリケ
ーション自動/対話実行支援システムの設計」に示され
た方法においても、上記と同様の問題点があった。
Further, the method described in "Design of application automatic / interactive execution support system by schematic process description" has the same problem as above.

【0011】本発明の目的は、専門分野の異なるハード
ウェアの仕様情報をソフトウェア開発者が理解しなくて
も、ソフトウェア開発を行えるようにすることである。
また、本発明の他の目的は、専門分野の異なるハードウ
ェアの仕様変更に対して、ソフトウェア開発者が受ける
影響を軽減することである。さらに、本発明の他の目的
は、専門分野が異なる複数の作業者が作成した構成図の
間の変更波及箇所の抽出を支援することである。
An object of the present invention is to enable software development even if the software developer does not understand the specification information of hardware of different fields of expertise.
Another object of the present invention is to reduce the influence of a software developer on a change in specifications of hardware in different fields of expertise. Further, another object of the present invention is to support extraction of a change influence point between configuration diagrams created by a plurality of workers having different specialized fields.

【0012】[0012]

【課題を解決するための手段】本発明の目的を達成する
ために、本発明では以下のような方法が行なわれる。ハ
ードウェアの要求仕様情報としての外部仕様情報、ハー
ドウェアの設計情報である動作記述情報、外部仕様情報
と動作記述情報の間の対応情報、および仕様情報中の数
値データの意味を示すマクロ定義情報をそれぞれ所定の
形式に従って記述することにより、ハードウェアを制御
するソフトウェア部品を生成する。
In order to achieve the object of the present invention, the following method is performed in the present invention. External specification information as required specification information for hardware, behavior description information that is hardware design information, correspondence information between external specification information and behavior description information, and macro definition information that indicates the meaning of numerical data in the specification information. Are described in accordance with a predetermined format, a software component for controlling hardware is generated.

【0013】また、生成したソフトウェアおよびそれに
関する情報をソフトウェア部品として保持し、対応する
ハードウェアの情報をハードウェア部品として保持し、
さらに、ソフトウエア部品とハ−ドウエア部品との対応
関係を示すリンク情報を保持し、これらの部品情報を使
用してハードウェア構成図の作成/変更を行うことで、
ハードウェア構成の変更に対して変更影響のあるソフト
ウェア部品を特定できるようにする
Further, the generated software and information about it are held as software parts, and corresponding hardware information is held as hardware parts,
Further, by holding the link information indicating the correspondence between the software component and the hardware component and creating / changing the hardware configuration diagram using these component information,
Enables identification of software components that are affected by changes in hardware configuration

【0014】[0014]

【作用】本発明によれば、ハードウェア開発者が所定の
形式でハードウェア仕様情報を記述するだけで、ハード
ウェアを制御するソフトウェア部品が生成される。ま
た、本発明によれば、ハードウェア開発者がハードウェ
ア部品を用いてハードウェア構成図の作成/変更を行う
と、リンク情報によって、ハ−ドウエア構成の変更によ
る影響を受けるソフトウェア構成図内のソフトウェア構
成要素を判定できる。
According to the present invention, a software component for controlling hardware is generated only by the hardware developer describing the hardware specification information in a predetermined format. Further, according to the present invention, when the hardware developer creates / changes the hardware configuration diagram by using the hardware components, the link information indicates that the information in the software configuration diagram affected by the change in the hardware configuration is Can determine software components.

【0015】[0015]

【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明に係わるソフトウェア開発支援
システムの構成を示すブロック図である。ハードウェア
部品仕様情報103内のマクロ定義情報122と外部仕
様情報104とハードウェア動作記述情報105と外部
仕様−動作記述対応情報106はユーザインタフェース
102から入力される情報である。デバイスドライバプ
ログラム107はハードウェア部品仕様情報103をも
とにデバイスドライバ生成処理101から生成されるソ
フトウェアで、マクロ定義108と構造体定義109と
関数定義110からなる。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a software development support system according to the present invention. The macro definition information 122, the external specification information 104, the hardware operation description information 105, and the external specification-operation description correspondence information 106 in the hardware component specification information 103 are information input from the user interface 102. The device driver program 107 is software generated by the device driver generation processing 101 based on the hardware component specification information 103, and includes a macro definition 108, a structure definition 109, and a function definition 110.

【0016】デバイスドライバ生成処理101はマクロ
定義情報122からマクロ定義108を作成するマクロ
定義生成処理111と、外部仕様情報104から構造体
定義109を生成する構造体定義生成処理114と、外
部仕様情報104とハードウェア動作記述情報105と
外部仕様−動作記述対応情報106から関数定義110
を生成する関数定義生成処理115とからなる。関数定
義生成処理115はさらに関数リターン型生成処理12
1、関数名生成処理116、関数引数生成処理117、
イベント実行処理生成処理119、及び関数フッタ生成
処理120からなる。
The device driver generation processing 101 is a macro definition generation processing 111 for generating a macro definition 108 from the macro definition information 122, a structure definition generation processing 114 for generating a structure definition 109 from the external specification information 104, and external specification information. 104, hardware behavior description information 105, and external specification-behavior description correspondence information 106 to function definition 110
And a function definition generation process 115 for generating The function definition generation processing 115 further includes the function return type generation processing 12
1, function name generation processing 116, function argument generation processing 117,
It includes an event execution process generation process 119 and a function footer generation process 120.

【0017】図2は本発明を適用したシステムを動作さ
せる汎用計算機の構成を示すブロック図である。図2に
おいて、外部記憶装置205には、本発明システムのプ
ログラムが格納される。メモリ201には、システムを
実行する場合に、外部記憶装置205よりシステムのプ
ログラムが読み込まれる。CPU203は、メモリ20
1に読み込んだシステムのプログラムを実行する。入力
装置204から利用者の指示が入力され、表示装置20
2には、利用者への確認事項等が表示される。
FIG. 2 is a block diagram showing the configuration of a general-purpose computer that operates the system to which the present invention is applied. In FIG. 2, a program of the system of the present invention is stored in the external storage device 205. When executing the system, the memory 201 is loaded with the system program from the external storage device 205. The CPU 203 has a memory 20.
Execute the system program read in 1. The user's instruction is input from the input device 204, and the display device 20
In item 2, confirmation items for the user are displayed.

【0018】マクロ定義情報122には、後述のよう
に、レジスタアドレス定義情報301、レジスタビット
構成情報401、及びデ−タ値情報501が含まれる。
The macro definition information 122 includes register address definition information 301, register bit configuration information 401, and data value information 501, as described later.

【0019】図3はマクロ定義情報122の1つである
レジスタアドレス定義情報301のデータ構造の例であ
る。レジスタアドレス定義情報301は、レジスタ名3
02、及びレジスタのアドレス303からなる。具体的
には、レジスタ名「StsReg」(304)に対応す
るレジスタのアドレスとして「0x10」(305)が
格納されている。
FIG. 3 shows an example of the data structure of the register address definition information 301 which is one of the macro definition information 122. Register address definition information 301 is register name 3
02 and register address 303. Specifically, "0x10" (305) is stored as the address of the register corresponding to the register name "StsReg" (304).

【0020】図4はマクロ定義情報122の1つである
レジスタビット構成情報401のデータ構造の例であ
る。レジスタビット構成情報401は、レジスタを構成
する各ビット群の意味を示す情報で、レジスタ名40
9、各ビット群が示す意味の名前402、ビット位置4
03、及び各ビット群の状態を示す値407と名前40
8を有する状態404からなる。具体的には、レジスタ
「StsReg」(410)のビット「0」(406)
は名前「D0B」(405)で値が「0」(407)の
時は「NotBusy」(408)を表す。
FIG. 4 shows an example of the data structure of the register bit configuration information 401 which is one of the macro definition information 122. The register bit configuration information 401 is information indicating the meaning of each bit group that configures the register, and the register name 40
9, name of meaning 402 indicated by each bit group, bit position 4
03, and a value 407 indicating the state of each bit group and a name 40
Consists of states 404 having eight. Specifically, bit “0” (406) of the register “StsReg” (410)
Represents the name “D0B” (405) and the value “0” (407) represents “NotBusy” (408).

【0021】図5はマクロ定義情報122の1つである
データ値情報501のデータ構造の例である。データ値
情報501はレジスタに設定するデータの名前と値との
対応を示す情報で、データ名502、及び値503から
なる。具体的には、データ名「ReadDataCm
d」(504)の値は「0xC4」(505)である。
FIG. 5 shows an example of the data structure of the data value information 501 which is one of the macro definition information 122. The data value information 501 is information indicating the correspondence between the name and value of the data set in the register, and includes a data name 502 and a value 503. Specifically, the data name “ReadDataCm
The value of “d” (504) is “0xC4” (505).

【0022】図6は外部仕様情報106のデータ構造の
例である。外部仕様情報106は、ハード部品を示す名
前602、外部機能の名称603、各機能に対する外部
仕様上でのパラメータである機能パラメ−タ604、及
び結果デ−タ608からなる。機能パラメ−タ604
は、名前を示す識別子605と意味内容を表す文606
とパラメータ情報の大きさを表すビット数607で構成
される。また、結果デ−タ608は各機能に対して返さ
れる実行結果を示すデータであり、名前を示す識別子6
09と意味内容を表す文610と結果データ情報の大き
さを表すビット数611で構成される。具体的には、ハ
ード部品「FDC」(612)は機能「READ DA
TA」(613)を持ち、この機能のパラメータとして
「HD」、「US」、「C」がある。例えばパラメータ
「C」(614)の意味は「実行開始セクタID情報」
(615)であり、大きさは「8ビット」(616)で
ある。また、機能「READ DATA」を動作させた
結果のデータとして「IC」、「SE」、「EC」が返
される。例えば結果データ「EC」(617)の意味は
「Equipmnt Check」(618)であり、
大きさは「1ビット」(619)である。
FIG. 6 shows an example of the data structure of the external specification information 106. The external specification information 106 includes a name 602 indicating a hardware component, an external function name 603, a function parameter 604 which is a parameter on the external specification for each function, and a result data 608. Function parameter 604
Is an identifier 605 indicating a name and a sentence 606 indicating meaning content.
And the number of bits 607 indicating the size of the parameter information. The result data 608 is data indicating the execution result returned for each function, and the identifier 6 indicating the name.
09, a sentence 610 indicating the meaning, and a bit number 611 indicating the size of the result data information. Specifically, the hardware component “FDC” (612) has the function “READ DA
TA ”(613), and parameters of this function are“ HD ”,“ US ”, and“ C ”. For example, the meaning of the parameter “C” (614) is “execution start sector ID information”.
(615) and the size is “8 bits” (616). In addition, “IC”, “SE”, and “EC” are returned as data as a result of operating the function “READ DATA”. For example, the meaning of the result data “EC” (617) is “Equipmnt Check” (618),
The size is "1 bit" (619).

【0023】図7はハードウェア動作記述情報105の
1形態である状態遷移表701のデータ構造の例であ
る。表701の横軸702はハードウェアの各状態を表
し、縦軸704はハードウェアに対して起こりうるソフ
トウェアからのアクセス(イベント)を表している。横
軸、縦軸とも番号により各状態、各イベントを識別して
いる。表の内部707は横軸702の状態において縦軸
704で示されたイベントが起きた場合の状態遷移先の
状態番号を表している。具体的には、この表で表された
ハードウェア部品の状態が「状態(1)」(703)の
とき「イベント(a)」(705)が起きたならば、ハ
ードウェア部品の状態は「状態(2)」へ遷移する(7
06)。
FIG. 7 shows an example of the data structure of the state transition table 701 which is one form of the hardware operation description information 105. The horizontal axis 702 of the table 701 represents each state of the hardware, and the vertical axis 704 represents access (event) from the software to the hardware that may occur. Each state and each event are identified by numbers on both the horizontal and vertical axes. The inside 707 of the table represents the state number of the state transition destination when the event indicated by the vertical axis 704 occurs in the state of the horizontal axis 702. Specifically, if the "event (a)" (705) occurs when the state of the hardware component shown in this table is "state (1)" (703), the state of the hardware component is " State (2) ”(7
06).

【0024】図8は図7で示した状態遷移表701にお
ける各状態の内容801を示すデータ構造の例である。
状態遷移表701において横軸に示される各状態の内容
は番号803と名前804と条件805で表される。状
態番号803は表701中の全状態に割り振られる通し
番号である。状態の名前804は状態を表す名前であ
る。状態条件805はその状態に対するレジスタの値で
ある。例えば、状態番号(1)の状態806の名前は
「コマンド受付」(807)で「StsReg(ステー
タスレジスタ)のCBビットの値がNotBusyを示
す値であり、かつD0Bビット、D1Bビット、D2B
ビット、D3Bビットに対しても同様である」(80
8)ことが状態の条件となる。
FIG. 8 is an example of a data structure showing the contents 801 of each state in the state transition table 701 shown in FIG.
The content of each state shown on the horizontal axis in the state transition table 701 is represented by a number 803, a name 804, and a condition 805. The state number 803 is a serial number assigned to all states in the table 701. The state name 804 is a name representing the state. State condition 805 is the value of the register for that state. For example, the name of the state 806 of the state number (1) is “command reception” (807), “the value of the CB bit of StsReg (status register) is a value indicating NotBusy, and the D0B bit, D1B bit, D2B
The same applies to bits and D3B bits "(80
8) is the condition of the state.

【0025】図9は、図7で示した状態遷移表701に
おける各イベントの内容901を示すデータ構造の例で
ある。表701において縦軸に示されるイベントは番号
902とリード/ライト種別903とレジスタ名904
と設定/取得データ906で表される。イベント番号9
02は表中の全イベントに割り振られる通し番号であ
る。リード/ライト種別903はイベントがリードアク
セスかライトアクセスかを識別するものである。例え
ば、イベント番号(a)のイベント907では「ライト
アクセス」(908)であることを示している。レジス
タ名904はアクセスを行うレジスタを示す識別子であ
る。例えば、イベント番号(a)のイベント907では
「DataReg(データレジスタ)」(909)にア
クセスすることを示している。設定/取得データ906
は示されたアドレスに対しライトアクセスの場合は設定
するデータ、リードアクセスの場合は取得するデータを
表している。例えば、イベント番号(a)のイベント9
07では「機能Read Dataのコマンドデータ」
(910)を設定することを表している。
FIG. 9 is an example of a data structure showing the content 901 of each event in the state transition table 701 shown in FIG. Events shown on the vertical axis in the table 701 are number 902, read / write type 903, and register name 904.
And setting / acquiring data 906. Event number 9
02 is a serial number assigned to all events in the table. The read / write type 903 identifies whether the event is a read access or a write access. For example, the event 907 of the event number (a) indicates “write access” (908). The register name 904 is an identifier indicating a register to be accessed. For example, the event 907 with the event number (a) indicates that “DataReg (data register)” (909) is accessed. Setting / acquisition data 906
Represents the data to be set for the indicated address in the case of write access, and the data to be acquired in the case of read access. For example, event 9 of event number (a)
In 07, "command data of function Read Data"
This indicates that (910) is set.

【0026】図10は外部仕様−動作記述対応情報10
6の1つである機能−遷移対応表1001のデータ構造
の例である。機能名1002は図6に示した外部仕様情
報104上で示されたものと同一である。遷移経路10
03は各機能1002を実行する場合の状態遷移表70
1上での遷移経路を示すもので、例えば1004の場
合、機能「READ DATA」を実行するには状態
(1)においてイベント(a)を発行し、状態(2)に
遷移してからイベント(b)を発行、状態(3)に遷移
してイベント(c)、状態(4)に遷移してイベント
(d)を発行すればよいことを示している(100
5)。以下では、状態とイベントのまとまりを遷移経路
中のノードと呼ぶ。例えば1005で「(1)(a)」
はノードである。
FIG. 10 shows the external specification-behavior description correspondence information 10
6 is an example of a data structure of a function-transition correspondence table 1001 which is one of the six. The function name 1002 is the same as that shown on the external specification information 104 shown in FIG. Transition route 10
03 is a state transition table 70 for executing each function 1002
In the case of 1004, for example, in order to execute the function "READ DATA", the event (a) is issued in the state (1), and the event (a) is transited to the state (2). It is indicated that it is sufficient to issue b), transition to state (3) and issue event (c), and transition to state (4) and issue event (d) (100
5). Below, a set of states and events is called a node in the transition path. For example, in 1005, "(1) (a)"
Is a node.

【0027】図11は外部仕様−動作記述対応情報10
6の1つであるパラメータ−レジスタビット対応表11
01のデータ構造の例である。この表1101は図6に
示した外部仕様104で示された各機能のパラメータ6
04および結果データ608の実ハードへのセッティン
グ単位およびセッティング単位でマッピングする際のビ
ット構成を示している。機能名1102は外部仕様10
4上で示されたものと同一である。パラメータ/結果デ
ータ種別1103は外部仕様104上で示されたパラメ
ータおよび結果データを実ハードへのセッティング単位
で名称付けしたもので、例えば、機能READ DAT
A(1106)においてパラメータは2つに分けて設定
するのでパラメータに番号を付加しパラメータ1(11
07)、パラメータ2とする。また、機能READ D
ATAの結果データは1まとめに読むので結果データ1
とする。パラメータ名/結果データ名1104は外部仕
様104上で示されたパラメータ及び結果データの名前
605、609と同一のものである。レジスタ上の位置
1105は、外部仕様104上の機能パラメータ604
及び結果データ608が実ハードへのセッティング単位
としてどのビットが割り当てられるかを示したものであ
る。具体的には、機能READ DATA(1106)
のパラメータ「HD」(1108)は「パラメータ1」
(1107)における「ビット0x02」(1109)
からの「1ビット」(外部仕様情報104のビット数6
07)として実ハードに設定される。
FIG. 11 shows external specification-behavior description correspondence information 10.
Parameter-register bit correspondence table 11 which is one of 6
It is an example of the data structure of 01. This table 1101 is the parameter 6 of each function shown in the external specification 104 shown in FIG.
4 shows the setting unit of 04 and the result data 608 to the actual hardware and the bit configuration at the time of mapping by the setting unit. Function name 1102 is external specification 10
4 is identical to that shown above. The parameter / result data type 1103 names the parameters and result data shown on the external specification 104 in units of setting on the actual hardware. For example, the function READ DAT
In A (1106), the parameter is divided into two and set, so a number is added to the parameter and parameter 1 (11
07) and parameter 2. Also, the function READ D
The result data of ATA is 1 because it is read in one batch.
And The parameter name / result data name 1104 is the same as the parameter and result data names 605 and 609 shown on the external specification 104. The position 1105 on the register is the function parameter 604 on the external specification 104.
And the result data 608 shows which bit is assigned as a setting unit for actual hardware. Specifically, the function READ DATA (1106)
Parameter "HD" (1108) is "Parameter 1"
“Bit 0x02” in (1107) (1109)
"1 bit" from (the number of bits of the external specification information 104 is 6
07) is set in actual hardware.

【0028】次に、図12、図13、図14、図15、
及び図16を用いて、第1の実施例を詳細に説明する。
第1の実施例は、ユーザインタフェースより入力された
ハードウェア部品仕様情報103であるマクロ定義情報
122と外部仕様情報104とハードウェア動作記述情
報105と外部仕様−動作記述対応情報106とを用い
て、ハードウェアを直接制御するソフトウェアであるデ
バイスドライバプログラム107を生成する例である。
Next, FIG. 12, FIG. 13, FIG. 14, FIG.
The first embodiment will be described in detail with reference to FIGS.
The first embodiment uses the macro definition information 122, which is the hardware part specification information 103 input from the user interface, the external specification information 104, the hardware operation description information 105, and the external specification-operation description correspondence information 106. This is an example of generating a device driver program 107 that is software that directly controls hardware.

【0029】図17、図18、図19は、生成されるデ
バイスドライバプログラムの具体例である。図17の行
(1)から行(25)まではマクロ定義108、行(2
6)から行(32)までは構造体定義109である。ま
た、図18、図19は関数定義110である。
17, 18, and 19 are specific examples of the device driver program generated. From line (1) to line (25) in FIG. 17, macro definition 108 and line (2
From 6) to line (32) is the structure definition 109. 18 and 19 show the function definition 110.

【0030】図12はデバイスドライバプログラム10
7中のマクロ定義108を作成する処理(111)の手
順を表すフローチャートである。まず、レジスタアドレ
ス情報301からレジスタ名302とアドレス303の
対を取得する(ステップ1201)。具体的には、図3
に示すレジスタアドレス情報301からレジスタ名「S
tsReg」(304)とアドレス「0x10」(30
5)を取得する。次に、レジスタ名302からマクロ名
を作成し、アドレス303をマクロ値としてファイルに
「#define [マクロ名] [マクロ値]」の形式で
マクロ定義文を出力する(1202)。具体的には、レ
ジスタ名「StsReg」(304)からマクロ名「S
tsRegAdr」を作成し、図17に示すようにファ
イルに「#define StsRegAdr 0x1
0」(1701)を出力する。
FIG. 12 shows the device driver program 10.
7 is a flowchart showing a procedure of a process (111) for creating a macro definition 108 in FIG. First, a pair of a register name 302 and an address 303 is acquired from the register address information 301 (step 1201). Specifically, FIG.
From the register address information 301 shown in
tsReg ”(304) and address“ 0x10 ”(30
5) is obtained. Next, a macro name is created from the register name 302, and the macro definition statement is output to the file with the address 303 as a macro value in the format of "#define [macro name] [macro value]" (1202). Specifically, from the register name “StsReg” (304) to the macro name “S
"tsRegAdr" is created, and "#define StsRegAdr 0x1" is created in the file as shown in FIG.
0 ”(1701) is output.

【0031】次に、レジスタビット構成情報401から
ビット群に示された意味名402とビット位置403の
対および状態値407と状態名408の対を取得する
(ステップ1203)。具体的には、図4に示すレジス
タビット構成情報401から意味名前「D0B」(40
5)とビット位置「0x01」(406)の対および状
態値「0x00」(407)と状態名「NotBus
y」(408)の対を取得する。
Next, the pair of the meaning name 402 and the bit position 403 and the pair of the state value 407 and the state name 408 shown in the bit group are acquired from the register bit configuration information 401 (step 1203). Specifically, from the register bit configuration information 401 shown in FIG. 4, the meaning name “D0B” (40
5) and the bit position “0x01” (406) and the state value “0x00” (407) and the state name “NotBus”.
y ”(408) pairs are obtained.

【0032】次に、意味名402をマクロ名とし、ビッ
ト位置403をマクロ値としてファイルに「#defi
ne [マクロ名] [マクロ値]」の形式で出力する(ス
テップ1204)。また、状態名408をマクロ名と
し、状態値407をマクロ値としてファイルに「#de
fine [マクロ名] [マクロ値]」の形式でマクロ定
義文を出力する(ステップ1205)。具体的には、マ
クロ名「D0B」(405)とマクロ値「0x01」
(406)の対およびマクロ名「D0B_NotBus
y」(408)とマクロ値「0x00」(407)の対
から、図17に示すように、ファイルに「#defin
e D0B 0x01」(1702)、「#defin
e D0B_NotBusy 0x00」(1703)
を出力する。
Next, the semantic name 402 is used as a macro name and the bit position 403 is used as a macro value in the file "#defi".
ne [macro name] [macro value] ”(step 1204). Also, the state name 408 is used as a macro name, and the state value 407 is used as a macro value in the file "#de
The macro definition statement is output in the format of "fine [macro name] [macro value]" (step 1205). Specifically, the macro name “D0B” (405) and the macro value “0x01”
(406) pair and macro name “D0B_NotBus
From the pair of "y" (408) and the macro value "0x00" (407), "#defin" is added to the file as shown in FIG.
e D0B 0x01 ”(1702),“ #defin
e D0B_NotBusy 0x00 ”(1703)
Is output.

【0033】次に、データ値情報501からデータ名5
02とデータ値503の対を取得する(ステップ120
6)。具体的には、図5に示すデータ値情報501から
データ名「ReadDataCmd」504とデータ値
「0xC4」505を取得する。次に、データ名502
をマクロ名とし、データ値503をマクロ値としてファ
イルに「#define [マクロ名] [マクロ値]」の
形式でマクロ定義文を出力する(ステップ1207)。
具体的には、マクロ名「ReadDataCmd」(5
04)とマクロ値「0xC4」(505)から、図17
に示すように、ファイルに「#define Read
DataCmd 0xC4」(1704)を出力する。
Next, from the data value information 501 to the data name 5
02 and the data value 503 are acquired (step 120).
6). Specifically, the data name “ReadDataCmd” 504 and the data value “0xC4” 505 are acquired from the data value information 501 shown in FIG. Next, data name 502
Is used as a macro name and the data value 503 is used as a macro value, and a macro definition statement is output to the file in the format of "#define [macro name] [macro value]" (step 1207).
Specifically, the macro name “ReadDataCmd” (5
04) and the macro value "0xC4" (505).
As shown in, the file has "#define Read
DataCmd 0xC4 "(1704) is output.

【0034】図13はデバイスドライバプログラム10
7中の構造体定義109を作成する処理(114)の手
順を表すフローチャートである。まず、外部仕様情報1
04の各機能に対する結果データを取得する(ステップ
1301)。具体的には、図6に示す外部仕様情報10
4から結果データ608を取得する。次に機能名603
から構造体タグ名を生成し、構造体ヘッダ部を生成する
(ステップ1302)。具体的には、機能名「READ
DATA」(613)からタグ名「RsltRead
Data」を生成し、図17に示すように、構造体ヘッ
ダ部「struct RsltReadData {」
(1705)を生成する。
FIG. 13 shows the device driver program 10.
7 is a flowchart showing a procedure of a process (114) for creating a structure definition 109 in FIG. First, external specification information 1
Result data for each function No. 04 is acquired (step 1301). Specifically, the external specification information 10 shown in FIG.
The result data 608 is acquired from No. 4. Next, the function name 603
A structure tag name is generated from the structure, and a structure header part is generated (step 1302). Specifically, the function name "READ
DATA ”(613) to the tag name“ RsltRead
Data ", and as shown in FIG. 17, a structure header portion" struct RsltReadData {"
(1705) is generated.

【0035】次に、構造体のメンバを生成する(ステッ
プ1303)。メンバは結果データ608の各データか
ら生成する。結果データの名前609をメンバの識別子
とし使用レジスタの大きさにより型を設定する。例え
ば、8ビットレジスタ使用であれば「char」、16
ビットレジスタ使用であれば「short」、32ビッ
トレジスタ使用であれば「long」とする。外部仕様
情報104で結果データ608のビット数611がレジ
スタ長より大きい場合は配列を使用する。本実施例にお
いては8ビットレジスタ使用であるのでパラメータの型
を「char」とする。外部仕様情報104で結果デー
タIC、SE、EC(609)のビット数611は全て
8ビット以内であるので配列型は使用しない。具体的に
は、図17に示すように、メンバとして「char I
C; char SE; charEC;」(170
6)が生成される。構造体のメンバを全て生成したら、
構造体フッタを生成し、構造体定義を終了する(ステッ
プ1304)。具体的には、図17に示すよう
に、「};」(1707)を生成する。上記の処理を各
機能に対して行う。
Next, the members of the structure are generated (step 1303). The member is generated from each data of the result data 608. The name 609 of the result data is used as the member identifier, and the type is set according to the size of the register used. For example, if an 8-bit register is used, "char", 16
If the bit register is used, it is set to “short”, and if the 32-bit register is used, it is set to “long”. When the number of bits 611 of the result data 608 is larger than the register length in the external specification information 104, the array is used. Since the 8-bit register is used in this embodiment, the parameter type is "char". Since the number of bits 611 of the result data IC, SE, and EC (609) in the external specification information 104 is all within 8 bits, the array type is not used. Specifically, as shown in FIG. 17, as a member, "char I
C; char SE; charEC; "(170
6) is generated. After generating all the members of the structure,
A structure footer is generated and the structure definition is completed (step 1304). Specifically, as shown in FIG. 17, “};” (1707) is generated. The above processing is performed for each function.

【0036】図14、図15、及び図16はデバイスド
ライバプログラム107中の関数定義110を作成する
関数定義生成処理115の手順を表すフローチャートで
ある。外部機能がある限り、以下の処理を繰り返す(ス
テップ1401)。まず、外部仕様情報104から機能
名称を1つ取得する(ステップ1402)。例えば、機
能名称READ DATA(613)を取得する。次
に、取得した機能名1002に対する遷移経路1003
を機能−遷移対応表1001から取得する(ステップ1
403)。例えば、機能名称READ DATA(10
04)に対する遷移経路として「(1)(a)−(2)
(b)−(3)(c)−(4)(d)」(1005)を
取得する。
FIG. 14, FIG. 15 and FIG. 16 are flowcharts showing the procedure of the function definition generation processing 115 for creating the function definition 110 in the device driver program 107. As long as there is an external function, the following processing is repeated (step 1401). First, one function name is acquired from the external specification information 104 (step 1402). For example, the function name READ DATA (613) is acquired. Next, the transition path 1003 for the acquired function name 1002
From the function-transition correspondence table 1001 (step 1
403). For example, the function name READ DATA (10
As a transition route for 04), "(1) (a)-(2)
(B)-(3) (c)-(4) (d) "(1005) is acquired.

【0037】次に、生成する関数のリターン型を生成す
る処理を行う(121)。まず、取得した遷移経路中の
状態番号を取得し、これらの状態に対して状態条件が割
込みのものがあるかを、ハードウェア動作記述より確認
する(ステップ1405)。遷移経路中の状態条件に割
込みがあった場合は、生成関数のリターン型を「voi
d」とする(ステップ1407)。遷移経路中の状態条
件に割込みがなかった場合は、当該機能名よりタグ名を
生成し構造体型とする(ステップ1406)。例えば、
機能名「READ DATA」に対しては、「stru
ct RsltReadData {」とする。例にお
いては、「(1)、(2)、(3)、(4)」が遷移経
路中の状態番号で、この中では状態(4)の状態条件8
09が割込みであるので、リターン型は「void」
(1801)とする。
Next, processing for generating the return type of the function to be generated is performed (121). First, the status numbers in the acquired transition path are acquired, and it is confirmed from the hardware operation description whether or not there is an interrupt status condition for these statuses (step 1405). When there is an interrupt in the state condition in the transition path, the return type of the generation function is set to "voi
d ”(step 1407). If there is no interruption in the state condition in the transition path, a tag name is generated from the function name and set as a structure type (step 1406). For example,
For the function name "READ DATA", "sru
ct RsltReadData {”. In the example, “(1), (2), (3), and (4)” are the state numbers in the transition path, in which the state condition 8 of the state (4) is 8
Since 09 is an interrupt, the return type is "void"
(1801).

【0038】次に、生成するドライバ関数の名前を生成
する(116)。関数名は機能名より機械的に決定す
る。また、遷移経路中の状態条件に割込みがある場合は
1つの機能に対するドライバ関数が複数の関数よりなる
ので生成する順に番号を付加する等により名称が重なら
ないようにする(ステップ1408)。例えば、例にお
いては機能READ DATAに対する最初の生成関数
であるので関数名を「readData1」(180
2)とする。
Next, the name of the driver function to be generated is generated (116). The function name is mechanically determined from the function name. If there is an interrupt in the state condition in the transition path, the driver function for one function is composed of a plurality of functions, so that numbers are added in the order in which they are generated so that names do not overlap (step 1408). For example, in the example, since it is the first generation function for the function READ DATA, the function name is “readData1” (180
2).

【0039】次に、関数の引数を生成する(117)。
遷移経路中の状態条件に割込みがある場合は(ステップ
1409)、割込みがあるノードより前の遷移経路のイ
ベント設定データ(906)を状態遷移表901より取
得する(ステップ1411)。取得したデータを図11
に示したパラメータ−レジスタビット対応表1101で
検索し、機能名1102、パラメータ/結果データ種別
1103の一致する欄のパラメータ名/結果データ名1
104に記述された識別子を生成関数の引数とする(ス
テップ1412)。引数の型は使用レジスタのビット長
により、8ビットレジスタ使用であれば「char」、
16ビットレジスタ使用であれば「short」、32
ビットレジスタ使用であれば「long」とする。外部
仕様情報104でパラメータ604のビット数607が
レジスタ長より大きい場合は配列を使用する(ステップ
1413)。
Next, function arguments are generated (117).
If there is an interrupt in the state condition in the transition path (step 1409), the event setting data (906) of the transition path before the interrupted node is acquired from the state transition table 901 (step 1411). Figure 11 shows the acquired data.
Parameter name / result data name 1 in the matching column of function name 1102, parameter / result data type 1103
The identifier described in 104 is used as an argument of the generation function (step 1412). The type of argument depends on the bit length of the register used, and if an 8-bit register is used, "char",
"Short" if using 16-bit register, 32
If a bit register is used, it is set to "long". If the number of bits 607 of the parameter 604 is larger than the register length in the external specification information 104, an array is used (step 1413).

【0040】本実施例においては、まず、割込みがある
ノードより前の遷移経路は「(1)(a)−(2)
(b)−(3)(c)」であり、この遷移経路中のイベ
ントに対する設定データ906は「READ DATA
のコマンド」(910)と「READ DATAのパラ
メータ1」(911)と「READ DATAのパラメ
ータ2」(912)である。これを基にパラメータ−レ
ジスタビット対応表1101を検索し、機能名1102
が「READ DATA」でありパラメータ/結果デー
タ種別1103が「パラメータ1」または「パラメータ
2」である欄のパラメータ名/結果データ名1104に
記述された識別子HD(1108)、US(111
0)、C(1111)を生成関数のパラメータとする。
本実施例においては、8ビットレジスタ使用であるので
パラメータの型を「char」とする。外部仕様情報で
パラメータHD、US、Cのビット数は全て8ビット以
内であるので配列型は使用しない。したがって、関数引
数として「(char HD、 char US、 c
har C)」(1803)を生成する。
In this embodiment, first, the transition path before the node having the interrupt is "(1) (a)-(2)".
(B)-(3) (c) ”, and the setting data 906 for the event in this transition path is“ READ DATA.
Command ”(910),“ READ DATA parameter 1 ”(911), and“ READ DATA parameter 2 ”(912). The parameter-register bit correspondence table 1101 is searched based on this, and the function name 1102
Is “READ DATA” and the parameter / result data type 1103 is “Parameter 1” or “Parameter 2”, the identifier HD (1108), US (111) described in the parameter name / result data name 1104
0) and C (1111) are used as parameters of the generation function.
In this embodiment, since the 8-bit register is used, the parameter type is "char". Since the number of bits of parameters HD, US, and C are all within 8 bits in the external specification information, the array type is not used. Therefore, as a function argument, "(char HD, char US, c
Har C) ”(1803).

【0041】次に、図15に示すように、遷移経路中の
それぞれのノードに対するイベント動作に対応するプロ
グラムを生成する(119)。まず、遷移経路の先頭か
ら順にノードを1つ取得する(ステップ1501)。取
得したノードの状態番号の状態を状態遷移表701から
検索し、状態条件を取得し、状態条件が割込みであっ
て、かつ、関数ヘッダ生成後の最初のノードでなければ
(ステップ1502)、関数定義を終了する(ステップ
1503)。本実施例においては、まず、ノード
「(1)(a)」を取得する。このノードの状態番号は
(1)であるので状態遷移表701の状態(1)の状態
条件808を取得する。この場合の状態条件は、「St
sReg(CB)=NotBusy、StsReg(D
0B)=NotBusy、StsReg(D1B)=N
otBusy、StsReg(D2B)=NotBus
y、StsReg(D3B)=NotBusy」であ
る。
Next, as shown in FIG. 15, a program corresponding to the event action for each node in the transition path is generated (119). First, one node is acquired in order from the beginning of the transition route (step 1501). If the state of the acquired state number of the node is searched from the state transition table 701, the state condition is acquired, and the state condition is an interrupt and it is not the first node after function header generation (step 1502), the function The definition is finished (step 1503). In this embodiment, first, the node “(1) (a)” is acquired. Since the state number of this node is (1), the state condition 808 of the state (1) of the state transition table 701 is acquired. The state condition in this case is "St
sReg (CB) = NotBusy, StsReg (D
0B) = NotBusy, StsReg (D1B) = N
otBusy, StsReg (D2B) = NotBus
y, StsReg (D3B) = NotBusy ”.

【0042】ノ−ドが経路の先頭で、かつノ−ドに対す
る状態条件は割込みかを判定し(ステップ1504)、
状態条件が割込みでない場合は、状態条件確定待ち処理
の生成として、まず、ル−プ文開始部「while
(!(」(1805)を生成する(ステップ150
5)。次に取得した状態条件を機械的に変換して状態条
件チェック文を生成する(ステップ1508)。例え
ば、状態条件「StsReg(CB)=NotBus
y」(808)に対しては「((StsReg & C
B_NotBusy) = CB_NotBus
y))」(1806)を生成する。状態条件が複数ある
場合は状態チェック文と状態チェック文の間に「&&」
(1807)を入れる。全ての状態条件に対する状態チ
ェック文を生成したら(ステップ1506)、最後にル
−プ文終了部「)) {}」(1808)を生成する
(ステップ1507)。
It is determined whether the node is at the head of the route and the status condition for the node is an interrupt (step 1504).
If the state condition is not an interrupt, first, as the generation of the state condition confirmation waiting process, the loop statement start portion “while” is generated.
(! (”(1805) is generated (step 150
5). Next, the acquired state condition is mechanically converted to generate a state condition check sentence (step 1508). For example, the state condition “StsReg (CB) = NotBus”
"((StsReg & C
B_NotBusy) = CB_NotBus
y)) ”(1806). If there are multiple status conditions, "&&" is placed between the status check statements.
Insert (1807). When the state check sentences for all the state conditions are generated (step 1506), finally the loop sentence end portion ")) {}" (1808) is generated (step 1507).

【0043】次に、図16に示すように、イベント実行
処理に対応するプログラムの生成として、当該ノードに
対するイベント番号を取得し、状態遷移表のイベントを
取得する。本実施例においては、ノード「(1)
(a)」のイベント番号は(a)であるので、状態遷移
表701のイベント(a)907を取得する(ステップ
1609)。次にそのイベントのR/W種別903がラ
イトのときには(ステップ1601)パラメータ合成文
とイベント実行文を生成する。
Next, as shown in FIG. 16, as the generation of the program corresponding to the event execution processing, the event number for the node is acquired and the event in the state transition table is acquired. In this embodiment, the node “(1)
Since the event number of “(a)” is (a), the event (a) 907 of the state transition table 701 is acquired (step 1609). Next, when the R / W type 903 of the event is write (step 1601), a parameter composition sentence and an event execution sentence are generated.

【0044】パラメータ合成文は、生成関数の引数を実
ハードの設定レジスタの構成に合わせて合成する処理に
対応するプログラムである。まず、状態遷移表のイベン
トに対するデータ906に着目し、そのデータに示され
た機能名とパラメータ−レジスタビット対応表1101
の機能名1102が一致するものを検索する。機能名が
一致するものがなければ何も生成しない。機能名が一致
するものがあれば、状態遷移表のイベントデータ906
に示されたコマンド/パラメータ種別を取得しパラメー
タ−レジスタビット対応表1101で取得した欄を検索
する。つまり、機能名1102、及びパラメータ/結果
データ種別1103の一致する欄を検索する(ステップ
1603)。一致する欄がなければ何も生成しない。一
致する欄があれば、その欄のパラメータ/結果データ名
とレジスタ上の位置からパラメータ合成文を生成する
(ステップ1604)。例えば、イベント(b)913
において機能名がREAD DATA(914)、パラ
メータ/結果データ種別がパラメータ1(915)の場
合、パラメータ−レジスタビット対応表において機能名
とパラメ−タ/結果デ−タ種別が一致するので、取得す
るパラメータ/結果データ名、レジスタ上の位置はHD
(1108)、0x02(1109)、およびUS(1
110)、0x00(1112)である。これらに対し
機械的に「prm=prm|(HD<<0x02);」
(1809)と「prm=prm|(US<<0x0
0);」(1810)という文を生成する。パラメータ
−レジスタビット対応表に、ライトすべきデ−タがある
限り、上記の処理が繰り返される(ステップ160
3)。
The parameter synthesizing statement is a program corresponding to the process of synthesizing the argument of the generating function according to the configuration of the setting register of the actual hardware. First, paying attention to the data 906 corresponding to the event in the state transition table, the function name and parameter-register bit correspondence table 1101 shown in the data
The function name 1102 of is searched for. If there is no matching function name, nothing is generated. If there is a matching function name, the event data 906 of the state transition table
The command / parameter type shown in is acquired and the column acquired in the parameter-register bit correspondence table 1101 is searched. That is, the matching columns of the function name 1102 and the parameter / result data type 1103 are searched (step 1603). If there is no matching column, nothing is generated. If there is a matching column, a parameter composite sentence is generated from the parameter / result data name of that column and the position on the register (step 1604). For example, event (b) 913
If the function name is READ DATA (914) and the parameter / result data type is parameter 1 (915), the function name matches the parameter / result data type in the parameter-register bit correspondence table, and is acquired. Parameter / result data name, position on register is HD
(1108), 0x02 (1109), and US (1
110) and 0x00 (1112). For these, mechanically “prm = prm | (HD <<0x02);”
(1809) and “prm = prm | (US << 0x0
0); ”(1810) is generated. The above process is repeated as long as there is data to be written in the parameter-register bit correspondence table (step 160).
3).

【0045】次に、イベント実行文の生成の際は、出力
関数として予め用意された「OUTPUT()」を使用
して合成したパラメータ「prm」と状態遷移表のイベ
ント欄のアドレス項目に記述されたDataRegによ
り「OUTPUT(prm、DataReg);」(1
811)を生成する(ステップ1605)。
Next, when the event execution statement is generated, the parameter "prm" synthesized by using "OUTPUT ()" prepared in advance as an output function and the address item in the event column of the state transition table are described. DataReg, "OUTPUT (prm, DataReg);" (1
811) is generated (step 1605).

【0046】次に、イベントのR/W種別903がリー
ドのとき(ステップ1601)、イベント実行処理とし
てイベント実行文とパラメータ分割文を生成する。ま
ず、イベント実行文として入出力関数として予め用意さ
れた「INPUT()」を使用して一時変数であるpr
mと状態遷移表のイベントのレジスタ名904に記述さ
れたレジスタ名により「prm=INPUT([レジス
タ名]);」の形式で生成する(ステップ1602)。
具体的には、イベント(d)916の場合、R/W種別
903がリードであるので、レジスタ名904の「Da
taReg」により「prm=INPUT(DataR
eg);」(1901)を生成する。
Next, when the R / W type 903 of the event is read (step 1601), an event execution statement and a parameter division statement are generated as event execution processing. First, pr is a temporary variable using "INPUT ()" prepared in advance as an input / output function as the event execution statement.
m and the register name described in the register name 904 of the event of the state transition table are generated in the format of "prm = INPUT ([register name]);" (step 1602).
Specifically, in the event (d) 916, since the R / W type 903 is read, the register name 904 "Da
"prm = INPUT (DataR
(eg); ”(1901) is generated.

【0047】次に、パラメータ分割文を生成する。パラ
メータ分割文は一時変数「prm」に取得したレジスタ
値を分割し内容に合わせてリターン値に代入する文であ
る。まず、状態遷移表のイベントデータ906に着目
し、そのデータに示された機能名とパラメータ−レジス
タビット対応表1101の機能名1102が一致するも
のを検索し、状態遷移表のイベントデータ906で示さ
れたコマンド/パラメータ種別を、パラメータ−レジス
タビット対応表1101の機能名が一致した欄で更に検
索する。つまり、機能名1102、パラメータ/結果デ
ータ種別1103の一致する欄を検索する。一致した欄
のパラメータ/結果データ名とレジスタ上の位置からパ
ラメータ分割文を生成する(ステップ1608)。
Next, a parameter division statement is generated. The parameter division statement is a statement for dividing the acquired register value into the temporary variable “prm” and assigning it to the return value according to the content. First, paying attention to the event data 906 of the state transition table, a search is made for a match between the function name shown in the data and the function name 1102 of the parameter-register bit correspondence table 1101. The obtained command / parameter type is further searched in the column in which the function name of the parameter-register bit correspondence table 1101 matches. That is, the matching columns of the function name 1102 and the parameter / result data type 1103 are searched. A parameter division statement is generated from the parameter / result data name in the matched column and the position on the register (step 1608).

【0048】具体的には、イベント(d)916におい
て機能名READ DATA(917)、パラメータ/
結果データ種別が結果データ1(918)の場合、パラ
メータ−レジスタビット対応表1101において取得す
るパラメータ/結果データ名、レジスタ上の位置はIC
(1113)、0x02(1116)、SE(111
4)、0x01(1117)、EC(1115)、0x
00(1118)である。また、これらに対し、外部仕
様からそれぞれの結果データのビット数を取得しマスク
データを作成する。例えばビット数が1なら0x01、
ビット数が2なら0x03のようにビット数分のビット
をマスクするデータを作成する。これらのデータと予め
作成したリターン値型の変数「rtn」により、それぞ
れの結果データに対し機械的に「rtn.IC=(pr
m>>0x02)&0x03;」(1902)と「rt
n.SE=(prm>>0x01)&0x01;」(1
903)と「rtn.EC=(prm>>0x00)&
0x01;」(1904)というパラメ−タ分割文を生
成する。
Specifically, in event (d) 916, function name READ DATA (917), parameter /
When the result data type is result data 1 (918), the parameter / result data name acquired in the parameter-register bit correspondence table 1101 and the position on the register are ICs.
(1113), 0x02 (1116), SE (111
4), 0x01 (1117), EC (1115), 0x
00 (1118). Further, for these, the number of bits of each result data is acquired from the external specifications and mask data is created. For example, if the number of bits is 1, 0x01,
If the number of bits is 2, data for masking bits corresponding to the number of bits is created like 0x03. By using these data and the return value type variable “rtn” created in advance, mechanically “rtn.IC = (pr
m >> 0x02) &0x03;"(1902)and" rt
n. SE = (prm >> 0x01) &0x01;"(1
903) and “rtn.EC = (prm >> 0x00) &
A parameter division sentence "0x01;" (1904) is generated.

【0049】パラメータ−レジスタビット対応表にリ−
ドすべきデ−タがある限り、上記の処理を繰り返す(ス
テップ1607)。
Parameter-register bit correspondence table
As long as there is data to be read, the above processing is repeated (step 1607).

【0050】状態条件生成処理およびイベント生成処理
を終了したら、状態経路上の着目ノードを1つ進め同様
の処理を行う(ステップ1501)。着目ノードの状態
条件が割込みであった場合には(ステップ1502)、
「}」(1812)を生成し関数定義を一旦終了する
(ステップ1503)。そして、現在着目しているノー
ドを最初のノードとして残りの遷移経路に対してリター
ン型生成(121)からの処理を同様に行う。着目ノー
ドがなくなった場合には(ステップ1501)、「re
turn rtn;」(1905)と「}」(190
6)を生成し関数定義を終了する(ステップ151
0)。外部仕様上の全ての機能に対しこれらの動作を行
い機能がなくなったら終了する(ステップ1401)。
When the state condition generation process and the event generation process are completed, the node of interest on the state path is advanced by one and the same process is performed (step 1501). If the state condition of the node of interest is an interrupt (step 1502),
"}" (1812) is generated and the function definition is once ended (step 1503). Then, with the node currently focused on as the first node, the processes from the return type generation (121) are similarly performed on the remaining transition paths. If there is no target node (step 1501), "re
"turn rtn;" (1905) and "}" (190
6) is generated and the function definition is completed (step 151).
0). These operations are performed for all the functions according to the external specifications, and when there are no functions, the process ends (step 1401).

【0051】上記の例によれば、ソフトウェア開発者
は、ハードウェア仕様の詳細を知らなくても、あたかも
1関数を呼び出すようにしてハードウェアを動作させる
ことができる。また、この例で生成されたソフトウェア
はハードウェアのテスト用起動プログラムとして使用で
きる。
According to the above example, the software developer can operate the hardware as if calling one function without knowing the details of the hardware specifications. Further, the software generated in this example can be used as a boot program for testing hardware.

【0052】第2の実施例は、第1の実施例のデバイス
ドライバ生成処理101で生成したデバイスドライバプ
ログラム107をハードウェア部品と関連付けた形でソ
フトウェア部品として保管し、既に登録されたハードウ
ェア部品を使用する際には対応するソフトウェア部品を
容易に利用できる実施例である。また、ハードウェアの
接続関係を示したハードウェア構成図とソフトウェアの
呼び出し関連を示したソフトウェア構成図との間にリン
クを張り、ハードウェア構成が変更された際にソフトウ
ェア構成図上での影響箇所を表示する実施例である。第
2の実施例を詳細に説明する。
In the second embodiment, the device driver program 107 generated in the device driver generation processing 101 of the first embodiment is stored as a software component in a form associated with the hardware component, and the already registered hardware component is stored. This is an embodiment in which the corresponding software component can be easily used when using the. In addition, a link is placed between the hardware configuration diagram showing the hardware connection relationship and the software configuration diagram showing the software calling relationship, and when the hardware configuration is changed, the affected parts on the software configuration diagram Is an example of displaying. The second embodiment will be described in detail.

【0053】図20は、第2の実施例におけるソフトウ
ェア開発支援システムの構成を示すブロック図である。
ハードウェア部品仕様情報103とデバイスドライバプ
ログラム107およびデバイスドライバ生成処理101
は第1の実施例で示したものである。第2の実施例で
は、デバイスドライバ生成処理101で生成されたデバ
イスドライバプログラムを示す識別子と、対応するハー
ドウェア部品を示す識別子とを部品情報2010として
保持し、以下に示す処理2001、2007、及び20
03が追加される。
FIG. 20 is a block diagram showing the configuration of the software development support system in the second embodiment.
Hardware component specification information 103, device driver program 107, and device driver generation processing 101
Is the one shown in the first embodiment. In the second embodiment, the identifier indicating the device driver program generated by the device driver generation processing 101 and the identifier indicating the corresponding hardware component are held as the component information 2010, and the processes 2001, 2007, and 20
03 is added.

【0054】すなわち、ユーザインタフェース102か
らの入力に基づいてハードウェア構成図情報2009の
作成/変更/表示を行い、部品情報2010に基づいて
変更情報2002、及びソフトウエア部品とハ−ドウエ
ア部品との関連を示すリンク情報2006を作成するハ
ードウェア構成図情報作成/変更/表示処理2001
と、デバイスドライバ107を含むソフトウェアソース
コード2011を解析することにより関数/プロシージ
ャの呼び出し関連を抽出し、ソフト仕様情報2005の
一つとして、呼び出し関連を示すソフトウェア構成図情
報2004を作成するソフトウェア構成図作成処理20
07と、ハードウェア構成図の変更情報2002とハー
ドウェア部品とソフトウェア部品の関連を示すリンク情
報2006とソフトウェア構成図情報2004をもとに
ハードウェア構成図の変更に伴うソフトウェア構成図へ
の変更波及箇所を表示する変更波及箇所表示処理200
3が追加される。
That is, the hardware configuration diagram information 2009 is created / changed / displayed based on the input from the user interface 102, the change information 2002 based on the component information 2010, and the software component and the hardware component Hardware configuration diagram information creation / change / display processing 2001 for creating link information 2006 indicating a relationship 2001
And a software source code 2011 including the device driver 107 to extract a function / procedure call relationship, and create software configuration diagram information 2004 indicating the call relationship as one of the software specification information 2005. Creation process 20
07, the change information 2002 of the hardware configuration diagram, the link information 2006 indicating the relationship between the hardware component and the software component, and the software configuration diagram information 2004 based on the change of the hardware configuration diagram to the software configuration diagram. Change influence point display processing 200 for displaying points
3 is added.

【0055】図21はハードウェア部品情報2010の
データ構造の例である。部品情報2010は、ハードウ
ェア部品を特定する識別子2101、及びハ−ドウエア
部品に対応する関連ソフトウェア部品であるデバイスド
ライバプログラムを特定する識別子2102からなる。
これらの情報はハードウェア部品仕様情報103からソ
フトウェア部品であるデバイスドライバ107を生成す
る際(101)に、記憶される。
FIG. 21 shows an example of the data structure of the hardware component information 2010. The component information 2010 includes an identifier 2101 that identifies a hardware component and an identifier 2102 that identifies a device driver program that is a related software component corresponding to a hardware component.
These pieces of information are stored when the device driver 107, which is a software component, is generated from the hardware component specification information 103 (101).

【0056】図22はハードウェア構成図に対する変更
情報2002のデータ構造の例である。変更情報200
2は、変更対象のハードウェア部品を特定する識別子2
201、及びその部品になされた変更の種別2202か
らなる。変更種別2202には「削除/挿入/移動」が
ある。ただし、ここで示した「移動」とは接続関係の変
更のことである。例えば、図22ではハードウェア部品
「FDC」(2203)がハードウェア構成図上から削
除(2204)されたことを示している。
FIG. 22 shows an example of the data structure of change information 2002 for the hardware block diagram. Change information 200
2 is an identifier 2 that identifies the hardware component to be changed
201 and the type 2202 of changes made to the parts. The change type 2202 includes “delete / insert / move”. However, the "movement" shown here is a change in the connection relationship. For example, FIG. 22 shows that the hardware component “FDC” (2203) has been deleted (2204) from the hardware configuration diagram.

【0057】図23はハードウェア構成図中で使用され
ているハードウェア部品2301と対応する関連ソフト
ウェア部品2302を示したリンク情報2006であ
る。これらの情報は部品情報2010より取得する。
FIG. 23 is link information 2006 showing the related software component 2302 corresponding to the hardware component 2301 used in the hardware configuration diagram. These pieces of information are acquired from the parts information 2010.

【0058】図24はハードウェア構成図情報2009
のデータ構造の例である。ハ−ドウエア構成図情報20
09は、ハードウェア構成要素であるハードウェア部品
を特定する識別子2401に対応して、ハードウェア構
成図を表示するのに必要な表示データである表示位置2
402、名称2403、及び接続データ2405が格納
されている。
FIG. 24 shows the hardware configuration diagram information 2009
It is an example of the data structure of. Hardware configuration diagram information 20
Reference numeral 09 denotes a display position 2 which is display data necessary for displaying a hardware configuration diagram, corresponding to an identifier 2401 which identifies a hardware component which is a hardware component.
402, a name 2403, and connection data 2405 are stored.

【0059】図25はソフトウェア構成図情報2004
のデータ構造の例である。ソフトウエア構成図情報20
04は、ソフトウェア構成要素である関数/プロシージ
ャを特定する識別子2501に対応して、ソフトウェア
構成図を表示するのに必要な表示データである表示位置
2502、呼び出し元2503、及び呼び出し先250
4が格納されている。呼び出し元、呼び出し先はそれぞ
れ1つまたは複数の記述が可能である 図26はハードウェア構成図作成/変更/表示処理20
01の処理手順を表すフローチャートである。図27は
ソフトウェア構成図情報作成処理2007の処理手順を
表すフローチャートである。図28はソフトウェア構成
図/変更波及箇所表示処理2003の処理手順を表すフ
ローチャートである。図29は、ハードウェア構成図表
示欄2904にハードウェア構成図を表示した画面例で
あり、図30はソフトウェア構成図を表示した画面例で
あり、3003はハードウェア構成変更情報を表示する
変更波及箇所表示欄が設けられている。
FIG. 25 shows software block diagram information 2004.
It is an example of the data structure of. Software configuration diagram information 20
Reference numeral 04 denotes a display position 2502 which is display data necessary for displaying a software configuration diagram, a caller 2503, and a callee 250 corresponding to an identifier 2501 which identifies a function / procedure which is a software component.
4 is stored. One or a plurality of descriptions can be made for each of the call source and call destination. FIG. 26 shows the hardware configuration diagram creation / change / display processing 20.
It is a flowchart showing the processing procedure of 01. FIG. 27 is a flowchart showing the processing procedure of the software block diagram information creation processing 2007. FIG. 28 is a flowchart showing the processing procedure of the software block diagram / change spread point display processing 2003. 29 is an example of a screen displaying a hardware configuration diagram in the hardware configuration diagram display field 2904, FIG. 30 is an example of a screen displaying a software configuration diagram, and 3003 is a change spread for displaying hardware configuration change information. A location display column is provided.

【0060】まず、図26を用いて、ハードウェア構成
図作成/変更/表示処理2001を説明する。図26に
おいて、まずハードウェア構成図作成/変更終了の指示
を入力装置から受け取ったかを調べる(ステップ260
1)。具体的には、図29において終了を表すQuit
ボタン2901が押されたならば、作成/変更を終了し
たことになる。もし作成/変更終了の指示があれば(ス
テップ2601)、情報処理装置はハードウェア構成図
作成/変更処理2001を終了し、変更波及箇所表示処
理2003の実行に移る。
First, referring to FIG. 26, the hardware configuration diagram creation / change / display processing 2001 will be described. In FIG. 26, first, it is checked whether or not an instruction to create / change the hardware block diagram has been received from the input device (step 260).
1). Specifically, Quit indicating the end in FIG.
If the button 2901 is pressed, it means that the creation / modification is completed. If there is an instruction to end the creation / modification (step 2601), the information processing apparatus ends the hardware configuration diagram creation / modification processing 2001, and proceeds to execution of the modification spread portion display processing 2003.

【0061】作成/変更終了の指示がなかった場合(ス
テップ2601)、入力装置を介して指定されたハード
ウェア部品を特定する識別子を受け取る(ステップ26
02)。具体的には、図29の例にあるハードウェア構
成図入力画面で、ハードウェア部品表示欄2903の中
のDMA制御を行う部品を表す「DMAC」というアイ
コン2902、又はハードウェア構成図表示欄2904
の中の同様の部品を表す「DMAC」というアイコン2
905を入力装置を介して指示したとき、このアイコン
に対応するハードウェア部品ID「DMAC」(210
1)が獲得される。
When there is no instruction to end the creation / modification (step 2601), an identifier for specifying the designated hardware component is received via the input device (step 26).
02). Specifically, on the hardware configuration diagram input screen in the example of FIG. 29, an icon 2902 “DMAC” representing a component for performing DMA control in the hardware component display column 2903 or a hardware configuration diagram display column 2904.
"DMAC" icon 2 representing similar parts in
When 905 is instructed via the input device, the hardware component ID “DMAC” (210
1) is acquired.

【0062】次に、入力装置から入力されたハードウェ
ア構成図の作成/変更の指示(ステップ2603)に伴
い、作成/変更データを入力装置から受け取る(ステッ
プ2604)。
Next, in response to the instruction to create / change the hardware configuration diagram input from the input device (step 2603), the creation / change data is received from the input device (step 2604).

【0063】次に、受け取った作成/変更データに基づ
き、ハードウェア構成図情報2009を修正し、変更の
内容を変更情報2002に保存する(ステップ260
5)。具体的には、ハードウェア構成図(図29)にお
いてハードウェア構成要素「DMAC」が削除される等
の変更がなされると、情報処理装置はハードウェア構成
図情報を修正し、変更情報を作成、保存する。
Next, the hardware configuration diagram information 2009 is corrected based on the received creation / change data, and the contents of the change are stored in the change information 2002 (step 260).
5). Specifically, when a change is made in the hardware configuration diagram (FIG. 29) such that the hardware component “DMAC” is deleted, the information processing device corrects the hardware configuration information and creates change information. ,save.

【0064】次に、ハードウェア部品を特定する識別子
と、部品間リンク情報を用いて対応するソフトウェア部
品を全て検索する(ステップ2606)。そして、再び
変更終了指示の有無を確認する(ステップ2601)。
Next, all the corresponding software components are searched using the identifier for identifying the hardware component and the inter-component link information (step 2606). Then, the presence / absence of the change end instruction is confirmed again (step 2601).

【0065】次に、図27を用いてソフトウェア構成図
情報作成処理2007を説明する。図27において、ま
ずソフトウェアのソースコードを読み込み、関数/プロ
シージャ等の呼び出し関係を解析する(ステップ270
1)。解析した呼び出し関係に基づいて表示位置等の表
示情報を作成し、ソフトウェア構成図情報2004に保
存する(ステップ2702)。具体的には、図25に示
すような関数名/プロシージャ名を示すソフトウェア構
成要素ID(2501)とそれに対する呼び出し元ソフ
トウェア構成要素ID(2503)、及び呼び出し先ソ
フトウェア構成要素ID(2504)をソースコードよ
り抽出し、さらに全体の呼び出し関係に基づいた個々の
ソフトウェア構成要素の表示位置情報2502を作成
し、ソフトウェア構成図情報2004に格納する。
Next, the software block diagram information creating process 2007 will be described with reference to FIG. In FIG. 27, first, the source code of the software is read, and the calling relationships of functions / procedures and the like are analyzed (step 270).
1). Display information such as a display position is created based on the analyzed calling relationship and stored in the software configuration diagram information 2004 (step 2702). Specifically, the source is a software component ID (2501) indicating a function name / procedure name as shown in FIG. 25, a caller software component ID (2503), and a callee software component ID (2504) corresponding thereto. The display position information 2502 of each software component is extracted from the code, and based on the overall calling relationship, the display position information 2502 is created and stored in the software configuration diagram information 2004.

【0066】次に、図28を用いてソフトウェア構成図
/変更波及箇所表示処理2003を説明する。図28に
おいて、まず変更情報2002にデータがあれば(ステ
ップ2801)、変更情報2002よりデータを1つ取
りだし、ハードウェア構成要素を特定する識別子220
1を獲得する。そして、この識別子2201とリンク情
報2006を用いて、ハードウェア構成要素に対応する
ソフトウェア構成要素を特定する識別子を全て検索する
(ステップ2802)。具体的には、変更情報2002
(図22)よりハードウェア構成要素ID「FDC」
(2203)を獲得し、リンク情報2006(図23)
から、「FDC」(2303)に対応するソフトウェア
構成要素IDとして「readData」(2303)
「readDeletedData」等を検索する。
Next, the software configuration diagram / change spread point display processing 2003 will be described with reference to FIG. In FIG. 28, first, if there is data in the change information 2002 (step 2801), one piece of data is taken out from the change information 2002, and an identifier 220 for identifying a hardware constituent element.
Get 1 Then, using this identifier 2201 and the link information 2006, all the identifiers that identify the software component corresponding to the hardware component are searched (step 2802). Specifically, change information 2002
From FIG. 22, the hardware component ID “FDC”
(2203) is acquired and the link information 2006 (FIG. 23)
From "readData" (2303) as the software component ID corresponding to "FDC" (2303)
Search for "readDeletedData" or the like.

【0067】次に、ソフトウェア構成図情報2004よ
り、検索したソフトウェア構成要素を特定する識別子
(2501)を用いて、ソフトウェア構成要素の表示デ
ータ(2502、2503、2504)を獲得する(ス
テップ2804)。具体的には、ソフトウェア構成要素
ID「readData」(2506)を用いて、ソフ
トウェア構成図情報2004(図25)から表示情報を
獲得する。
Next, the display data (2502, 2503, 2504) of the software component is acquired from the software configuration diagram information 2004 using the identifier (2501) for identifying the retrieved software component (step 2804). Specifically, the display information is acquired from the software configuration diagram information 2004 (FIG. 25) using the software configuration element ID “readData” (2506).

【0068】そして、再び変更情報内のデータの有無を
調べ、変更情報2002内にデータが残っていない場合
(ステップ2801)、変更情報2002とソフトウェ
ア構成図情報2004を用いて、ソフトウェア構成図と
変更波及箇所を対話端末上に表示する(ステップ280
3)。具体的には、図30に示すように、ソフトウェア
構成要素「readData」(3001)と「rea
dId」(3002)が、太線で協調表示されており、
これらが変更波及先であることを示している。また、変
更案内として変更情報2002(図22)に示された内
容を表示するダイアログボックス(3003)が表示さ
れている。
Then, the presence / absence of data in the change information is checked again. When no data remains in the change information 2002 (step 2801), the change information 2002 and the software configuration diagram information 2004 are used to change the software configuration diagram and the change. The spillover point is displayed on the dialogue terminal (step 280).
3). Specifically, as shown in FIG. 30, software components "readData" (3001) and "rea" are stored.
"dId" (3002) is collaboratively displayed with a thick line,
It indicates that these are changes. Further, a dialog box (3003) displaying the contents shown in the change information 2002 (FIG. 22) is displayed as change guidance.

【0069】第2の実施例によれば、ハードウェア開発
者が、ハードウェア部品の削除/挿入/移動等によって
ハードウェア構成図を変更した場合、ソフトウェア開発
者は、変更の影響を受けるソフトウェア構成要素を容易
に特定できると共にハードウェア構成の変更内容を容易
に知ることができるので、それに伴うソフトウェア修正
作業の負担を軽減することができる。
According to the second embodiment, when the hardware developer changes the hardware configuration diagram by deleting / inserting / moving a hardware component, the software developer determines the software configuration affected by the change. Since the element can be easily specified and the change contents of the hardware configuration can be easily known, it is possible to reduce the load of the software correction work accompanying it.

【0070】[0070]

【発明の効果】ハードウェア開発者が記述したハードウ
ェア仕様情報を用いて、ハードウェアと密接に関連する
ソフトウェアの部分を生成することにより、ソフトウェ
ア開発者は専門分野の異なるハードウェアの仕様情報を
理解する必要がなくなる。また、ハードウェアインタフ
ェースの変更に伴ってソフトウェアが自動的に変更され
るので、ハードウェアインタフェースの変更がソフトウ
ェア開発者に影響を与えることがなくなる。
[Effect of the Invention] By using the hardware specification information described by the hardware developer to generate the part of the software that is closely related to the hardware, the software developer can obtain the specification information of the hardware in different specialized fields. No need to understand. Further, since the software is automatically changed with the change of the hardware interface, the change of the hardware interface does not affect the software developer.

【0071】また、ソフトウェア開発者は、ハードウェ
ア構成の変更があった場合に、ハードウェア開発者との
間で変更の影響を受けるソフトウェア構成要素を明らか
にするための作業を行なわなくても、変更影響を受ける
ソフトウェア構成要素を知ることができる。その結果、
ソフトウェアの開発期間が短縮される。
Further, when the hardware configuration is changed, the software developer does not have to work with the hardware developer to clarify the software component affected by the change. Know the software components affected by the change. as a result,
Software development time is shortened.

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

【図1】本発明の第1の実施例におけるシステムの構成
を示す図である。
FIG. 1 is a diagram showing a configuration of a system according to a first embodiment of the present invention.

【図2】本発明システムを動作させる計算機の構成であ
る。
FIG. 2 is a configuration of a computer for operating the system of the present invention.

【図3】レジスタアドレス定義情報の例を示す図であ
る。
FIG. 3 is a diagram showing an example of register address definition information.

【図4】レジスタビット構成情報の例を示す図である。FIG. 4 is a diagram showing an example of register bit configuration information.

【図5】データ値情報の例を示す図である。FIG. 5 is a diagram showing an example of data value information.

【図6】外部仕様情報の例を示す図である。FIG. 6 is a diagram showing an example of external specification information.

【図7】ハードウェア動作記述情報を表す状態遷移表の
例を示す図である。
FIG. 7 is a diagram showing an example of a state transition table showing hardware operation description information.

【図8】状態遷移表における状態内容の例を示す図であ
る。
FIG. 8 is a diagram showing an example of state contents in a state transition table.

【図9】状態遷移表におけるイベント内容の例を示す図
である。
FIG. 9 is a diagram showing an example of event contents in a state transition table.

【図10】機能−遷移対応表の例を示す図である。FIG. 10 is a diagram showing an example of a function-transition correspondence table.

【図11】パラメータ−レジスタビット対応表の例を示
す図である。
FIG. 11 is a diagram showing an example of a parameter-register bit correspondence table.

【図12】マクロ定義表作成処理の流れを示す図であ
る。
FIG. 12 is a diagram showing a flow of macro definition table creation processing.

【図13】構造体定義作成処理の流れを示す図である。FIG. 13 is a diagram showing a flow of a structure definition creating process.

【図14】関数定義作成処理の流れを示す図その1であ
る。
FIG. 14 is a first diagram illustrating a flow of a function definition creating process.

【図15】関数定義作成処理の流れを示す図その2であ
る。
FIG. 15 is a second diagram showing the flow of a function definition creating process.

【図16】関数定義作成処理の流れを示す図その3であ
る。
FIG. 16 is a third diagram illustrating the flow of the function definition creating process.

【図17】生成したソフトウェアを示す図その1であ
る。
FIG. 17 is a first diagram showing the generated software.

【図18】生成したソフトウェアを示す図その2であ
る。
FIG. 18 is a second diagram showing the generated software.

【図19】生成したソフトウェアを示す図その3であ
る。
FIG. 19 is a third diagram showing the generated software.

【図20】本発明の第2の実施例におけるシステムの構
成を示す図である。
FIG. 20 is a diagram showing a configuration of a system in a second exemplary embodiment of the present invention.

【図21】ハードウェア部品情報の例を示す図である。FIG. 21 is a diagram showing an example of hardware component information.

【図22】ハードウェア構成図の変更情報の例を示す図
である。
FIG. 22 is a diagram showing an example of change information of a hardware configuration diagram.

【図23】ハードウェア構成図のリンク情報の例を示す
図である。
FIG. 23 is a diagram illustrating an example of link information of a hardware configuration diagram.

【図24】ハードウェア構成図情報の例を示す図であ
る。
FIG. 24 is a diagram illustrating an example of hardware configuration diagram information.

【図25】ソフトウェア構成図情報の例を示す図であ
る。
FIG. 25 is a diagram showing an example of software configuration diagram information.

【図26】ハードウェア構成図作成/変更/表示処理の
流れを示す図である。
FIG. 26 is a diagram showing a flow of hardware configuration diagram creation / change / display processing.

【図27】ソフトウェア構成図情報作成処理の流れを示
す図である。
FIG. 27 is a diagram showing a flow of software configuration diagram information creation processing.

【図28】ソフトウェア構成図/変更波及箇所表示処理
の流れを示す図である。
FIG. 28 is a diagram showing a flow of software configuration diagram / change spread point display processing.

【図29】ハードウェア構成図入力/変更画面の例を示
す図である。
FIG. 29 is a diagram showing an example of a hardware configuration diagram input / change screen.

【図30】ソフトウェア構成図/変更波及を表示した画
面の例を示す図である。
FIG. 30 is a diagram showing an example of a screen displaying a software configuration diagram / change spread.

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

101…デバイスドライバ生成処理、103…ハード部
品仕様情報、122…マクロ定義情報、104…外部仕
様情報、105…ハードウェア動作記述情報、106…
外部仕様−動作記述対応情報情報、107…デバイスド
ライバ、108…マクロ定義、109…構造体定義、1
10…関数定義
101 ... Device driver generation processing, 103 ... Hardware component specification information, 122 ... Macro definition information, 104 ... External specification information, 105 ... Hardware operation description information, 106 ...
External specification-behavior description correspondence information, 107 ... Device driver, 108 ... Macro definition, 109 ... Structure definition, 1
10 ... Function definition

───────────────────────────────────────────────────── フロントページの続き (72)発明者 島袋 潤 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 福澤 寧子 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Jun Shimabukuro 1099, Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Inside the Hitachi, Ltd. Systems Development Laboratory Hitachi Systems Development Laboratory

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】ハードウェア仕様情報から、マイクロコン
ピュータシステムによってハードウェアを制御するため
のソフトウェアを生成することを特徴とするソフトウェ
ア生成方法。
1. A software generating method for generating software for controlling hardware by a microcomputer system from hardware specification information.
【請求項2】前記ソフトウェア生成方法において、ハー
ドウェアの仕様情報から前記ハードウェアを制御するた
めのソフトウェアを生成する処理は、 ハードウェアの仕様情報中の数値データに対する意味を
示すマクロ定義情報からマクロ定義を生成するステップ
と、 ハードウェアの要求仕様である外部仕様情報から構造体
定義を生成するステップと、 前記マクロ定義情報、前記外部仕様情報、ハードウェア
の動作仕様を記述したハードウェア動作記述情報、及び
前記外部仕様情報と前記ハードウェア動作記述情報の間
の対応関係を記述した外部仕様−動作記述対応情報から
関数定義を生成するステップとを有することを特徴とす
る請求項1記載のソフトウェア生成方法。
2. In the software generation method, the process of generating software for controlling the hardware from the hardware specification information is performed from macro definition information indicating the meaning of numerical data in the hardware specification information. A step of generating a definition, a step of generating a structure definition from external specification information that is a hardware required specification, and a hardware operation description information that describes the macro definition information, the external specification information, and the operation specification of the hardware And a step of generating a function definition from external specification-behavior description correspondence information describing a correspondence relationship between the external specification information and the hardware behavioral description information. Method.
【請求項3】前記ソフトウェア生成方法において、前記
関数定義を生成する処理において、 前記外部仕様情報、前記ハードウェア動作記述情報、及
び前記外部仕様−動作記述対応情報から関数のリターン
型を生成するステップと、 前記外部仕様情報から関数名を生成するステップと、 前記外部仕様情報、前記ハードウェア動作記述情報、及
び前記外部仕様−動作記述対応情報から関数の引数を生
成するステップと、 前記マクロ定義情報、前記外部仕様情報、前記ハードウ
ェア動作記述情報、及び前記外部仕様−動作記述対応情
報からハードウェアアクセス処理に対応する実行文を生
成するステップと、 前記ハードウェア動作記述情報と前記外部仕様−動作記
述対応情報から関数終結文を生成するステップとを有す
ることを特徴とする請求項2記載のソフトウェア生成方
法。
3. The software generation method, in the process of generating the function definition, generating a return type of a function from the external specification information, the hardware behavioral description information, and the external specification-behavioral description correspondence information. A step of generating a function name from the external specification information; a step of generating a function argument from the external specification information, the hardware behavioral description information, and the external specification-behavioral description correspondence information; Generating an execution statement corresponding to a hardware access process from the external specification information, the hardware operation description information, and the external specification-operation description correspondence information, the hardware operation description information, and the external specification-operation Generating a function conclusion sentence from the description correspondence information. Software generating method of 2, wherein.
【請求項4】請求項1記載のソフトウェア生成方法であ
って、ハードウェアの試験に用いるためのハードウェア
起動用ソフトウェアを生成することを特徴とするソフト
ウェア生成方法。
4. The software generation method according to claim 1, wherein the software for activating hardware for use in a hardware test is generated.
【請求項5】マイクロコンピュータシステムによってハ
ードウェアを制御するためのソフトウェアの開発支援を
行うソフトウェア開発支援方法において、 ハードウェア部品を表すハードウェア構成要素を組み合
わせたハードウェア構成図を記憶するステップと、 ソフトウェア部品を表すソフトウェア構成要素を組み合
わせたソフトウェア構成図を記憶するステップと、 前記ハードウェア構成図内のハードウェア構成要素を特
定する第1の識別子と、前記ソフトウェア構成図内のソ
フトウェア構成要素を特定する第2の識別子との対応を
表すリンク情報を記憶するステップと、 入力装置を介して指示された前記ハードウェア構成図内
のハードウェア構成要素に対応する前記第1の識別子を
得るステップと、 前記ステップで得られた前記第1の識別子と、前記リン
ク情報とから、前記第2の識別子を検索するステップを
有することを特徴とするソフトウェア開発支援方法。
5. A software development support method for supporting software development for controlling hardware by a microcomputer system, storing a hardware configuration diagram in which hardware components representing hardware parts are combined, Storing a software configuration diagram in which software components that represent software parts are combined, a first identifier that identifies a hardware component in the hardware configuration diagram, and a software component in the software configuration diagram Storing link information indicating correspondence with the second identifier, and obtaining the first identifier corresponding to a hardware component in the hardware configuration diagram indicated via an input device, The first obtained in the step Identifier and, from said link information, software development support method characterized by comprising the step of searching said second identifier.
【請求項6】前記ソフトウェア開発支援方法において、 前記第1の識別子と前記第2の識別子との対応を表す前
記リンク情報を、前記ハードウェア仕様情報から前記ハ
ードウェアを制御するためのソフトウェアを生成する段
階で生成することを特徴とする請求項5記載のソフトウ
ェア開発支援方法。
6. The software development support method, wherein the link information indicating the correspondence between the first identifier and the second identifier is generated from the hardware specification information to generate software for controlling the hardware. The software development support method according to claim 5, wherein the method is generated in the step of performing.
JP18383195A 1995-07-20 1995-07-20 Software generating method and software developing and supporting method Pending JPH0934698A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18383195A JPH0934698A (en) 1995-07-20 1995-07-20 Software generating method and software developing and supporting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18383195A JPH0934698A (en) 1995-07-20 1995-07-20 Software generating method and software developing and supporting method

Publications (1)

Publication Number Publication Date
JPH0934698A true JPH0934698A (en) 1997-02-07

Family

ID=16142614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18383195A Pending JPH0934698A (en) 1995-07-20 1995-07-20 Software generating method and software developing and supporting method

Country Status (1)

Country Link
JP (1) JPH0934698A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000043167A1 (en) * 1999-01-20 2000-07-27 Sony Corporation Robot device and motion control method
EP1215551A1 (en) * 2000-12-12 2002-06-19 Sony France S.A. An autonomous system with heterogeneous bodies
JP2006146842A (en) * 2004-11-25 2006-06-08 Hitachi Ltd System and method for supporting software development for storage device
JP2009152790A (en) * 2007-12-19 2009-07-09 Fujitsu Microelectronics Ltd Dynamic reconfiguration supporting program, dynamic reconfiguration supporting method, dynamic reconfiguration circuit, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system
WO2015145540A1 (en) * 2014-03-24 2015-10-01 株式会社日立製作所 Apparatus for generating development information, and method for generating same
KR20200122985A (en) * 2019-04-18 2020-10-28 캠브리콘 테크놀로지스 코퍼레이션 리미티드 Data processing method and related products
CN114637538A (en) * 2020-12-15 2022-06-17 技嘉科技股份有限公司 Baseboard management control system, electronic device and baseboard management control method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000043167A1 (en) * 1999-01-20 2000-07-27 Sony Corporation Robot device and motion control method
US6442450B1 (en) 1999-01-20 2002-08-27 Sony Corporation Robot device and motion control method
EP1215551A1 (en) * 2000-12-12 2002-06-19 Sony France S.A. An autonomous system with heterogeneous bodies
JP2006146842A (en) * 2004-11-25 2006-06-08 Hitachi Ltd System and method for supporting software development for storage device
JP2009152790A (en) * 2007-12-19 2009-07-09 Fujitsu Microelectronics Ltd Dynamic reconfiguration supporting program, dynamic reconfiguration supporting method, dynamic reconfiguration circuit, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system
WO2015145540A1 (en) * 2014-03-24 2015-10-01 株式会社日立製作所 Apparatus for generating development information, and method for generating same
JP6087474B2 (en) * 2014-03-24 2017-03-01 株式会社日立製作所 Development information generator
KR20200122985A (en) * 2019-04-18 2020-10-28 캠브리콘 테크놀로지스 코퍼레이션 리미티드 Data processing method and related products
CN114637538A (en) * 2020-12-15 2022-06-17 技嘉科技股份有限公司 Baseboard management control system, electronic device and baseboard management control method
CN114637538B (en) * 2020-12-15 2024-03-22 技钢科技股份有限公司 Substrate management control system, electronic device and substrate management control method

Similar Documents

Publication Publication Date Title
US5423023A (en) Method and apparatus for providing a user configurable system which integrates and manages a plurality of different task and software tools
JP5102828B2 (en) Method and system for generating an application data editor
JP2765969B2 (en) Schematic data-driven program development support system
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
JPH02272645A (en) Method for supporting program debugging
EP0785510A1 (en) Program debugging system for debugging a program having a graphical user interface
JPS63181033A (en) Automatic program generating system
JPH09259153A (en) Device and method for generating batch execution control program
JP2005018114A (en) Program maintenance support device, program maintenance support method, and program
JPH0934698A (en) Software generating method and software developing and supporting method
JPH07219810A (en) Module testing method and device therefor
JP2009048259A (en) Program conversion method and program for conversion
US6763516B2 (en) Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program
JPH0528088A (en) Method for automatically generating hardware constitution information
KR20010011272A (en) Object-oriented robot programming system and method
JP2833539B2 (en) Interactive operation support device
JP3253224B2 (en) I / O command test equipment
JP3119939B2 (en) A system that executes application programs
JPH0934750A (en) System for generating source program for test
JP3722854B2 (en) Data editing device
JPH0792771B2 (en) Program execution status display system
JP3126497B2 (en) Software parts editing device
JPH06324853A (en) Source program editor setting object oriented programming language as target
JP2003085013A (en) Pdm system and programming method for system connection
JPH07168711A (en) Program managing method