JP2002229781A - Program, electronic control device, and manufacturing method for program - Google Patents

Program, electronic control device, and manufacturing method for program

Info

Publication number
JP2002229781A
JP2002229781A JP2001022008A JP2001022008A JP2002229781A JP 2002229781 A JP2002229781 A JP 2002229781A JP 2001022008 A JP2001022008 A JP 2001022008A JP 2001022008 A JP2001022008 A JP 2001022008A JP 2002229781 A JP2002229781 A JP 2002229781A
Authority
JP
Japan
Prior art keywords
program
component
software component
constant value
function
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
JP2001022008A
Other languages
Japanese (ja)
Inventor
Jiro Sato
二郎 佐藤
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2001022008A priority Critical patent/JP2002229781A/en
Publication of JP2002229781A publication Critical patent/JP2002229781A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a program easy to reutilize and its manufacturing method. SOLUTION: A plurality of software components of a program for realizing functions according to a requirement specification and a component platform of a program for realizing the calling functions of processes by the software components are provided. Each software component includes a program for realizing a function to read a constant value from a prescribed memory region and deliver the constant value to the process by the component platform. The component platform includes a program for realizing a function based on the constant value received from the process by each software component. A portion functioning as the prescribed memory region when each software component is executed is provided at a specific portion of the intermediate program of each software component, a value different for each software component is written at this portion as the constant value, then the intermediate program is linked to generate an execution program. The intermediate program can be reutilized without re-compiling a source program.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】プログラム及び電子制御装置
等に関する。
The present invention relates to a program, an electronic control unit, and the like.

【0002】[0002]

【従来の技術及び発明が解決しようとする課題】従来よ
り、電子制御装置を機能させるためのプログラムは、例
えば複数の機能を実現するために、その機能単位毎に仕
様を決定し設計を行うのが一般的である。そして、設計
に従って各機能を実現するためのソースプログラムを作
成し、複数のソースプログラムをコンパイル・アセンブ
ル等して複数の中間プログラムを得て、これらの中間プ
ログラムをリンクし、実行プログラムを得る。そして、
この実行プログラムを電子制御装置のメモリに書き込
み、電子制御装置がそのメモリ内に書き込まれている実
行プログラムを読み出して実行することで、最終的に、
設計通りの複数の機能を実現するようにする。
2. Description of the Related Art Conventionally, a program for causing an electronic control unit to function has, for example, been designed to determine a specification for each function unit and to design a plurality of functions in order to realize a plurality of functions. Is common. Then, a source program for realizing each function is created according to the design, a plurality of intermediate programs are obtained by compiling and assembling the plurality of source programs, and these intermediate programs are linked to obtain an execution program. And
The execution program is written in the memory of the electronic control unit, and the electronic control unit reads and executes the execution program written in the memory, so that, finally,
Implement multiple functions as designed.

【0003】ところでこのような電子制御装置における
プログラムは、例えば、要求仕様に応じた機能を実現す
るプログラムであるソフト部品と、このソフト部品及び
電子制御装置のシステム全体を管理するプログラムであ
る部品プラットフォームとから構成することができる。
そして、例えば部品プラットフォームから複数のソフト
部品を呼び出して実行するように構成することで、複数
の機能を1の電子制御装置で実現することができる。
A program in such an electronic control device is, for example, a software component that realizes a function according to a required specification, and a component platform that is a program for managing the software component and the entire system of the electronic control device. And can be composed of
Then, for example, by configuring a plurality of software components to be called from a component platform and executed, a plurality of functions can be realized by one electronic control device.

【0004】さて、このようなソフト部品においては、
定数をソースプログラム内で所定の定数名として定義
し、ソフト部品のソースプログラム内でこの定義された
定数名を用いて処理内容を記述する場合がある。こうし
たソースプログラムをコンパイルする場合、例えばプリ
プロセッサ等のプログラムによる処理によって定数名は
定義された定数に置き換えてからコンパイルされる。そ
のため、中間プログラムや実行プログラムには、定数名
を使用して記述した部分に相当するプログラムの部分に
定数が埋め込まれることとなる。
Now, in such a software component,
In some cases, a constant is defined as a predetermined constant name in a source program, and processing contents are described in the source program of the software component using the defined constant name. When compiling such a source program, for example, the constant name is replaced with a defined constant by processing by a program such as a preprocessor and then compiled. Therefore, in the intermediate program and the execution program, the constant is embedded in the part of the program corresponding to the part described using the constant name.

【0005】そのためこれらの中間プログラム等に含ま
れる定数の値を直接変更することは困難であり、変更す
る場合にはソースプログラムの定数の値を変更して、変
更したソフト部品のソースプログラムを全て再コンパイ
ルする必要がある。例えば、定数としてそれぞれのソフ
ト部品の優先順位を定義している場合には、ソフト部品
の組み合わせによってソフト部品の優先順位が変わるこ
とがある。このようにそれぞれのソフト部品における定
数名に対応する定数の値が変わる場合には、それぞれの
ソフト部品のソースプログラムを修正して再コンパイル
しなければならない。
For this reason, it is difficult to directly change the values of constants included in these intermediate programs and the like. When changing the values, the values of the constants of the source program are changed, and all the source programs of the changed software components are changed. You need to recompile. For example, if the priority of each software component is defined as a constant, the priority of the software component may change depending on the combination of the software components. When the value of the constant corresponding to the constant name in each software component changes, the source program of each software component must be corrected and recompiled.

【0006】したがって、ソフト部品を再利用すること
が困難であるといった問題がある。また、いちいちコン
パイルし直す必要があるため、開発効率が悪くなるとい
った問題があった。そこで本発明は上述した問題点を解
決し、ソフト部品の再利用を容易にし、開発効率を高め
ることのできるプログラム及び電子制御装置、プログラ
ムの製造方法を提供する。
Therefore, there is a problem that it is difficult to reuse software components. Further, since it is necessary to recompile each time, there is a problem that development efficiency is deteriorated. Accordingly, the present invention provides a program, an electronic control device, and a program manufacturing method capable of solving the above-mentioned problems, facilitating reuse of software components, and improving development efficiency.

【0007】[0007]

【課題を解決するための手段及び発明の効果】上述した
問題点を解決するためになされた請求項1に記載のプロ
グラムによれば、コンピュータがソフト部品を実行した
際に、コンピュータの有する所定の記憶領域に記憶され
た定数値を読み込みその定数値を部品プラットフォーム
による処理へ渡す。そしてコンピュータの部品プラット
フォームによる処理では、受け取った定数値に基づいて
所定の機能を実現する。したがってソフト部品の実行前
にそのソフト部品に必要な定数値を所定の記憶領域に書
き込むことにより、その定数値を利用した処理を部品プ
ラットフォームによる処理で行うことができる。
According to the program according to the first aspect of the present invention, which has been made to solve the above-mentioned problems, when a computer executes a software component, a predetermined program included in the computer is provided. The constant value stored in the storage area is read and the constant value is passed to the processing by the component platform. In the processing by the component platform of the computer, a predetermined function is realized based on the received constant value. Therefore, by writing a constant value required for the software component to a predetermined storage area before executing the software component, a process using the constant value can be performed by the component platform.

【0008】すなわち、従来はソースプログラムをコン
パイル・アセンブルした段階で、ソフト部品内の定数を
利用した機能を実現するためのプログラム内にその定数
値が展開されてしまうため、この定数値を変更するのが
困難であった。特に、複数の箇所で定数を利用する場合
には、定数値がそれぞれ処理内に例えば即値として含ま
れてしまうので、これらの定数の位置を特定して書き換
えることは困難である。しかし、請求項1に記載のプロ
グラムによれば、所定の記憶領域を参照して定数値を得
るのであるから、定数値の書き換えはこの所定の記憶領
域の値を書き換えるだけで実現できる。したがってソフ
ト部品の再利用が容易になり、開発効率を高めることが
できる。
That is, conventionally, at the stage of compiling and assembling a source program, the constant value is developed in a program for realizing a function using a constant in a software component. It was difficult. In particular, when constants are used in a plurality of locations, the constant values are included in the processing, for example, as immediate values, and it is difficult to specify and rewrite the positions of these constants. However, according to the program of the first aspect, since the constant value is obtained by referring to the predetermined storage area, rewriting of the constant value can be realized only by rewriting the value of the predetermined storage area. Therefore, the reuse of the software component is facilitated, and the development efficiency can be improved.

【0009】また、請求項2に記載のプログラムによれ
ば、コンピュータはソフト部品による処理では、所定の
記憶領域に記憶された部品識別情報を読み込みその部品
識別情報を部品プラットフォームへ渡す。そして部品プ
ラットフォームによる処理では、その受け取った部品識
別情報に基づいて所定の機能を実現する。したがって、
部品プラットフォームによる処理では、どのソフト部品
から呼ばれたかを識別することができる。そしてソフト
部品による処理によって渡される部品識別情報は、ソフ
ト部品による処理によって所定の記憶領域から読み出さ
れたものであるので、この所定の記憶領域にソフト部品
毎に異なるID等を書き込んでおくことでソフト部品を
識別することができる。例えばこの所定の記憶領域を各
ソフト部品の最初の1バイトに固定すれば、各部品の最
初の1バイトに異なる値を書き込むようにすればよい。
According to a second aspect of the present invention, in a process using a software component, a computer reads component identification information stored in a predetermined storage area and passes the component identification information to a component platform. In the processing by the component platform, a predetermined function is realized based on the received component identification information. Therefore,
In the processing by the component platform, it is possible to identify which software component is called from. Since the component identification information passed by the processing by the software component is read from a predetermined storage area by the processing by the software component, a different ID or the like for each software component should be written in the predetermined storage area. Can be used to identify software components. For example, if the predetermined storage area is fixed to the first byte of each software component, a different value may be written to the first byte of each component.

【0010】このように定数値を書き込む作業は、人間
が例えば上述した最初の1バイトに値を書き込む指示を
コンピュータに与えて書き込むこともできるが、請求項
12に示すようなプログラムに基づくコンピュータの処
理によっても行うこともできる。このようにすれば、定
数値をそれぞれのソフト部品に対して容易に書き込むこ
とができる。したがって開発効率もさらに高めることが
できる。また、例えば、定数値として部品識別情報を書
き込む場合には、請求項12に記載のプログラムはさら
にソフト部品毎に異なる値を書き込む機能を実現させる
ためのプログラムを含むようにするとよい。このように
すれば、ソフト部品毎に定数値が異なる値となっている
かを確認する必要もなくなるので、誤って同じ値を書き
込んでしまい部品識別情報として機能しないといったミ
スを防ぐこともできる。
In the operation of writing a constant value in this way, a human can give the instruction to write the value in the first byte, for example, to the computer, and write the value. It can also be performed by processing. In this way, a constant value can be easily written into each software component. Therefore, the development efficiency can be further improved. Further, for example, when the component identification information is written as a constant value, the program according to claim 12 may further include a program for realizing a function of writing a different value for each software component. By doing so, it is not necessary to check whether the constant value is different for each software component, so that it is possible to prevent mistakes such as writing the same value by mistake and not functioning as component identification information.

【0011】こうした部品識別情報などの定数値の記憶
領域は、複数設けることもできる。例えば、図5(b)
に示すように、定数aに対しては、先頭1バイトの記憶
領域に記憶された定数値(A1,B1,C1)を用い、
定数bに対しては、次の1バイトの記憶領域に記憶され
た定数値(A2,B2,C2)を用い、定数cに対して
は、さらに次の1バイトの記憶領域に記憶された定数値
(A3,B3,C3)を用いるようにすることもでき
る。
A plurality of storage areas for such constant values as the component identification information can be provided. For example, FIG.
As shown in the above, for the constant a, the constant value (A1, B1, C1) stored in the first one byte storage area is used,
The constant value (A2, B2, C2) stored in the next one-byte storage area is used for the constant b, and the constant value stored in the next one-byte storage area for the constant c. Numerical values (A3, B3, C3) may be used.

【0012】しかしこのようにすると各ソフト部品毎に
多くの領域を使ってしまうこととなり(上述の例では各
ソフト部品毎に3バイト使うことになる)、ソフト部品
のサイズが大きくなるという問題がある。またそれぞれ
のソフト部品に対して複数の定数値を書き込む必要があ
る。また、請求項12に示すように、例えば自動的にこ
の記憶領域に定数値を書き込む処理を行うプログラムを
作成する場合、記憶領域の構成に応じてこの記憶領域に
定数値を書き込むプログラムを変更しなければならな
い。そこで請求項3に示すようにして、部品プラットフ
ォーム側で部品識別情報に対応付けた定数値に基づいて
処理を実行させるとよい。すなわち、例えば図6に示す
ように部品プラットフォーム側で、部品識別情報(A,
B,C)に対応付けた定数値(A1〜A3、B1〜B
3、C1〜C3)を用いて処理を行う。このようにする
ことで、図5(b)のような各ソフト部品の複数の定数
値を書き換える必要がなくなり、各ソフト部品の部品識
別情報と、部品プラットフォームにおける部品識別情報
と定数値との対応関係を書き換えるだけでよくなる。ま
た、この記憶領域の構成に応じてこの記憶領域に定数値
を書き込むプログラムを変更する必要もなくなる。
However, in this case, a large area is used for each software component (three bytes are used for each software component in the above example), and the size of the software component becomes large. is there. Also, it is necessary to write a plurality of constant values for each software component. For example, when a program for automatically writing a constant value to this storage area is created, the program for writing a constant value to this storage area is changed according to the configuration of the storage area. There must be. Therefore, as described in claim 3, it is preferable that the component platform executes the process based on a constant value associated with the component identification information. That is, for example, as shown in FIG. 6, the component identification information (A,
B, C) (A1 to A3, B1 to B)
3, processing is performed using C1 to C3). By doing so, it is not necessary to rewrite a plurality of constant values of each software component as shown in FIG. 5B, and the correspondence between the component identification information of each software component and the component identification information and the constant value on the component platform. All you have to do is rewrite the relationship. Further, it is not necessary to change a program for writing a constant value to the storage area according to the configuration of the storage area.

【0013】さて、所定の記憶領域は例えば「1000
番地」のようにメモリ空間内の任意のアドレスとしても
よいし、ソフト部品内の部分が実行時に所定の記憶領域
として機能するようにし、実行時にこの部分に対して割
り当てられたアドレスを所定の記憶領域として参照する
ようにしてもよい。例えばソフト部品Aの最初の1バイ
トをこの部分として確保し、このソフト部品Aが実行時
に1200番地から割り当てられるとすると、この12
00番地が所定の記憶領域となる。このように所定の記
憶領域は、ソフト部品の特定の部分に対応するメモリ空
間内のアドレスとすることもできる。この場合、例えば
中間オブジェクトの段階で、この特定の部分に定数値を
書き込むことで、実行時にはこの定数値を利用させるこ
とができる。
The predetermined storage area is, for example, "1000".
The address may be an arbitrary address in the memory space such as "address", or a part in the software component may function as a predetermined storage area at the time of execution, and an address assigned to this part at the time of execution may be stored in a predetermined storage area. It may be referred to as an area. For example, assuming that the first byte of the software component A is secured as this part, and this software component A is allocated from address 1200 at the time of execution,
Address 00 is a predetermined storage area. As described above, the predetermined storage area can be an address in a memory space corresponding to a specific part of the software component. In this case, for example, by writing a constant value to this specific portion at the stage of the intermediate object, the constant value can be used at the time of execution.

【0014】このようなソフト部品は、請求項4に示す
ようにすることもできる。このようにすれば、例えば中
間プログラムのソフト部品の誤使用や不正使用を防止す
ることができる。ところで、請求項1に記載のプログラ
ムは例えば請求項5に示すようにして生成することがで
きる。また、請求項2に記載のプログラムは例えば請求
項6に示すようにして生成することができる。また、請
求項6に記載のプログラムにおいて、部品プラットフォ
ームには、前記部品識別情報に対応付けた定数値に基づ
いた機能を実現させるためのプログラムを含むことによ
って、請求項3に記載のプログラムを生成することがで
きる。また、請求項4に記載のプログラムは例えば請求
項7に示すようにして生成することができる。
[0014] Such a software component can be configured as described in claim 4. In this way, it is possible to prevent, for example, erroneous use or unauthorized use of the software components of the intermediate program. Incidentally, the program described in claim 1 can be generated, for example, as described in claim 5. The program described in claim 2 can be generated, for example, as described in claim 6. The program according to claim 6, wherein the component platform includes a program for realizing a function based on a constant value associated with the component identification information, thereby generating the program according to claim 3. can do. The program described in claim 4 can be generated, for example, as described in claim 7.

【0015】そして、請求項1〜7のいずれかに記載の
プログラムは、請求項8に示すような電子制御装置を実
現するために用いることができる。また請求項1に記載
のプログラムは、例えば請求項9に示すような製造方法
で製造することができる。また請求項2に記載のプログ
ラムは、例えば請求項10に示すような製造方法で製造
することができる。なお同様に、請求項10に記載のプ
ログラムの製造方法において、部品プラットフォームに
は、前記部品識別情報に対応付けた定数値に基づいた機
能を実現させるためのプログラムを含めることによっ
て、請求項3に記載のプログラムを製造することができ
る。また請求項4に記載のプログラムは、例えば請求項
11に示すような製造方法で製造することができる。
The program according to any one of claims 1 to 7 can be used to realize an electronic control device as described in claim 8. The program described in claim 1 can be manufactured by, for example, a manufacturing method as described in claim 9. The program described in claim 2 can be manufactured by, for example, a manufacturing method as described in claim 10. Similarly, in the method of manufacturing a program according to claim 10, the component platform includes a program for realizing a function based on a constant value associated with the component identification information. The described program can be manufactured. The program described in claim 4 can be manufactured by, for example, a manufacturing method as described in claim 11.

【0016】[0016]

【発明の実施の形態】以下、本発明が適用された実施例
について図面を用いて説明する。なお、本発明の実施の
形態は、下記の実施例に何ら限定されることなく、本発
明の技術的範囲に属する限り種々の形態を採りうること
は言うまでもない。
Embodiments of the present invention will be described below with reference to the drawings. It is needless to say that the embodiments of the present invention are not limited to the following examples, and can take various forms as long as they belong to the technical scope of the present invention.

【0017】図1は、プログラムの開発システムである
パソコン10と、パソコン10によって生成されたプロ
グラムを組み込んで実行する組込システム20とを示す
図である。パソコン10は、一般的なパーソナルコンピ
ュータであり、CPU、ROM、RAM、I/O等を備
え、I/Oにはハードディスク、ディスプレイ、キーボ
ード、マウス、各種入出力装置等が接続されている。そ
して、I/Oには、組込システム20に対して、組込シ
ステム20が実行するプログラムを転送するための入出
力装置が接続されている。またパソコン10には一般的
なパーソナルコンピュータと同様にOSや各種のアプリ
ケーションソフトがインストールされており、さらに、
Cコンパイラ、アセンブラ、リンカ、組込システム20
へのプログラム転送用ソフト等の開発用プログラムが実
行可能な状態で記憶されている。
FIG. 1 is a diagram showing a personal computer 10 which is a program development system, and an embedded system 20 which incorporates and executes a program generated by the personal computer 10. The personal computer 10 is a general personal computer and includes a CPU, a ROM, a RAM, an I / O, and the like. A hard disk, a display, a keyboard, a mouse, various input / output devices, and the like are connected to the I / O. An input / output device for transferring a program executed by the embedded system 20 to the embedded system 20 is connected to the I / O. The OS and various application software are installed in the personal computer 10 in the same manner as a general personal computer.
C compiler, assembler, linker, embedded system 20
A development program such as software for transferring a program to a storage device is stored in an executable state.

【0018】組込システム20は、CPU、ROM、R
AM、I/O等を備えるマイコンを備えたコンピュータ
システムであり、ROMまたはRAMに書き込まれたプ
ログラムをCPUが読み込んで実行することで、I/O
に接続された装置を制御する。そしてこのCPUは、ス
リープ命令実行することによって動作クロックを変更し
消費電力を低減するスリープ状態に入る機能と、ウェイ
クアップ割込み信号が入力された場合にスリープ状態か
ら通常状態へ復帰する機能とからなるスリープ機能を備
えている。また組込システム20は、パソコン10から
プログラムを受信して組込システム20内のROMまた
はRAMに書き込むための装置及びこの装置の制御を行
うためのプログラムを備えている。
The embedded system 20 includes a CPU, ROM, R
This is a computer system including a microcomputer having an AM, an I / O, and the like. The CPU reads and executes a program written in a ROM or a RAM to execute the I / O.
To control devices connected to The CPU has a function to enter a sleep state in which the operation clock is changed by executing a sleep instruction to reduce power consumption, and a function to return from the sleep state to a normal state when a wake-up interrupt signal is input. It has a sleep function. The embedded system 20 includes an apparatus for receiving a program from the personal computer 10 and writing the program in the ROM or the RAM in the embedded system 20, and a program for controlling the apparatus.

【0019】組込システム20は、プログラムの書き込
み後、パソコン10との接続を外し、例えば図2に示す
ように自動車のボデー系システム100の中で各種の制
御を行うそれぞれのECU(電子制御装置)として機能
させるようにすることができる。
After the program is written, the embedded system 20 disconnects the connection to the personal computer 10 and, for example, as shown in FIG. ).

【0020】ボデー系システム100は、それぞれI/
Oを介して車内LAN50に接続され、ボデーECUと
して機能する組込システム20aと、D席ドアECUと
して機能する組込システム20bとP席ドアECUとし
て機能する組込システム20cと、インパネECUとし
て機能する組込システム20d等から構成される。これ
らの組込システム20のI/Oには入力装置30や出力
装置40がそれぞれ接続されている。
Each of the body systems 100 has an I / O
An embedded system 20a connected to the in-vehicle LAN 50 via O and functioning as a body ECU, an embedded system 20b functioning as a D-seat door ECU, an embedded system 20c functioning as a P-seat door ECU, and functioning as an instrument panel ECU And a built-in system 20d. An input device 30 and an output device 40 are connected to the I / O of these embedded systems 20, respectively.

【0021】組込システム20b,20cは、入力装置
30の状態を読み取ってパケットを生成し車内LAN5
0を介してボデーECUとしての組込システム20aへ
送信する。また、組込システム20b、20c、20d
は、車内LAN50を介して入力される組込システム2
0aからのパケットの制御情報に基づいて出力装置40
を制御する。
The embedded systems 20b and 20c read the state of the input device 30 to generate a packet and generate a packet.
0 to the embedded system 20a as the body ECU. Also, the embedded systems 20b, 20c, 20d
Is the embedded system 2 input via the in-vehicle LAN 50
0a based on the control information of the packet from the output device 40a.
Control.

【0022】D席ドアECUとしての組込システム20
bはドライバ側のドアに設置されたECUであり、入力
装置30としてD席コントロールスイッチ30aなどが
接続されており、出力装置40としてD席ドアロックモ
ータ40aやD席パワーウインドウモータなどが接続さ
れている。P席ドアECUとしての組込システム20c
は補助席側のドアに設置されたECUであり、入力装置
30としてP席コントロールスイッチ30b等が接続さ
れ、出力装置40としてP席ドアロックモータ40bや
P席パワーウインドウモータなどが接続されている。ま
た、インパネECUとしての組込システム20dは、イ
ンパネに設置されたECUであり、例えば、出力装置4
0としてブザー40cやランプ40d等が接続されてい
る。なお、上述したD席コントロールスイッチ30a及
びP席コントロールスイッチ30bには、ドアの施錠ま
たは解錠の指示を入力するためのドアロックスイッチや
パワーウィンドウの開閉の指示を入力するためのパワー
ウインドウスイッチ等が含まれる。
Embedded system 20 as D seat door ECU
b denotes an ECU installed on the driver's door, to which a D-seat control switch 30a or the like is connected as the input device 30, and a D-seat door lock motor 40a or a D-seat power window motor is connected as the output device 40. ing. Embedded system 20c as P seat door ECU
Is an ECU installed on the door on the side of the auxiliary seat, which is connected to the P-seat control switch 30b and the like as the input device 30, and connected to the P-seat door lock motor 40b and the P-seat power window motor as the output device 40. . The built-in system 20d as the instrument panel ECU is an ECU installed on the instrument panel.
As 0, a buzzer 40c, a lamp 40d, and the like are connected. The D-seat control switch 30a and the P-seat control switch 30b include a door lock switch for inputting an instruction for locking or unlocking a door, a power window switch for inputting an instruction for opening and closing a power window, and the like. Is included.

【0023】ボデーECUとしての組込システム20a
は、組込システム20b、20c、20dから車内LA
N50に送信されるパケットを所定時間毎に受信して、
I/Oを介して取り込み、取り込んだパケットの内容に
応じたアプリケーションプログラムを実行して出力装置
40の制御が必要な場合には制御対象の組込システム2
0b,20c,20d等への制御情報を含むパケットを
生成して送信する制御処理を行う。
Embedded system 20a as body ECU
From the embedded systems 20b, 20c, 20d
Receiving the packet transmitted to N50 every predetermined time,
When it is necessary to control the output device 40 by executing an application program corresponding to the content of the captured packet via the I / O, the embedded system 2 to be controlled is controlled.
Control processing for generating and transmitting packets including control information to 0b, 20c, 20d, and the like is performed.

【0024】このような組込システム20において実行
されるプログラム(実行プログラム)は、図3に示すよ
うに構成されている。すなわち、実行プログラムは部品
プラットフォームとソフト部品からなり、部品プラット
フォームは、ソフト部品を呼び出す処理や例えば上述し
たスリープ機能のようなシステム全体の管理を行う処理
を実行するためのプログラムである。一方、ソフト部品
は所定の要求仕様に基づいた機能を実現するためのプロ
グラムであり、例えば、I/Oに接続された装置に対し
する出力または入力などの要求仕様に基づく機能をCP
Uに実現させるためのプログラムである。ソフト部品に
よる処理が終了すると部品プラットフォームによる処理
に戻り、前述のシステム全体を管理する処理や別のまた
は同一のソフト部品の呼び出し処理等を行うように構成
する。
A program (execution program) executed in such an embedded system 20 is configured as shown in FIG. That is, the execution program includes a component platform and a software component, and the component platform is a program for executing a process of calling the software component and a process of managing the entire system such as the sleep function described above. On the other hand, the software component is a program for realizing a function based on a predetermined required specification. For example, a function based on a required specification such as an output or an input to a device connected to the I / O is a CP.
This is a program to be realized by U. When the processing by the software component is completed, the process returns to the processing by the component platform, and the above-described process of managing the entire system, the process of calling another or the same software component, and the like are performed.

【0025】ここで例えば次のような要求仕様が定義さ
れているとする。すなわち、ソフト部品Aの要求仕様
として、車内LAN50からのパケットの入力があった
場合にはスリープ禁止指示を部品プラットフォームに渡
すという処理が定義されている。ソフト部品Bの要求
仕様として、パワーウィンドウのスイッチの押下が検出
されている場合には、スリープ禁止指示を部品プラット
フォームに渡すという処理が定義されている。部品プ
ラットフォームの要求仕様として、ソフト部品A及びソ
フト部品Bを呼び出し、その結果、いずれのソフト部品
からもスリープ禁止指示が渡されない場合にのみCPU
をスリープ状態にし、いずれか1のソフト部品の処理に
よってスリープ禁止指示が渡された場合にはCPUのス
リープ状態を解除するという処理が定義されている。
Here, it is assumed that the following required specifications are defined, for example. That is, as a required specification of the software component A, a process of passing a sleep prohibition instruction to the component platform when a packet is input from the in-vehicle LAN 50 is defined. As a required specification of the software component B, a process of passing a sleep prohibition instruction to the component platform when the depression of the power window switch is detected is defined. The software component A and the software component B are called as required specifications of the component platform, and as a result, the CPU is set only when the sleep prohibition instruction is not passed from any of the software components.
Is set to a sleep state, and when a sleep prohibition instruction is passed by processing of any one of the software components, the CPU is released from the sleep state.

【0026】このような要求仕様に基づいてパソコン1
0で作成された本実施例のプログラムは、図3、図4に
示すように構成されている。すなわち、図4(a)に示
すようにソフト部品Aでは、定数値(部品ID)を書き
換え領域から読み出し、車内LAN50からのパケット
がありスリープ不可状態ならその定数値を引数として部
品プラットフォームのslpng関数を呼び、車内LAN5
0からのパケットがなくスリープ可能状態であれば、部
品プラットフォームのslpok関数を呼ぶ処理をCPUに
実行させるためのプログラムを含むようにする。なお書
き換え領域は例えばソフト部品Aの先頭の1バイトを利
用する。
The personal computer 1 based on such required specifications
The program according to the present embodiment created in step S.0 is configured as shown in FIGS. That is, as shown in FIG. 4A, in the software component A, a constant value (component ID) is read from the rewriting area, and if there is a packet from the in-vehicle LAN 50 and sleep is not possible, the slpng function of the component platform is used with the constant value as an argument. Call, LAN5 in the car
If there is no packet from 0 and the sleep enabled state, a program for causing the CPU to execute a process for calling the slpok function of the component platform is included. The rewriting area uses, for example, the first byte of the software component A.

【0027】同様に、図4(b)に示すようにソフト部
品Bでは、定数値(部品ID)を書き換え領域から読み
出し、パワーウィンドウのスイッチの押下が検出されて
おりスリープ不可状態ならその定数値を引数として部品
プラットフォームのslpng関数を呼び、パワーウィンド
ウのスイッチの押下が検出されておらずスリープ可能状
態であれば、部品プラットフォームのslpok関数を呼ぶ
処理をCPUに実行させるためのプログラムを含むよう
にする。なお書き換え領域は例えばソフト部品Bの先頭
の1バイトを利用する。
Similarly, as shown in FIG. 4B, in the software component B, a constant value (component ID) is read from the rewriting area, and if the depression of the power window switch is detected and the sleep state is disabled, the constant value is set. Call the slpng function of the component platform with the argument as an argument, and if the switch of the power window is not detected and the sleep state is enabled, include a program for causing the CPU to execute the process of calling the slpok function of the component platform I do. The rewriting area uses, for example, the first byte of the software component B.

【0028】そして、図4(c)に示すように部品プラ
ットフォームでは、メイン処理でソフト部品Aとソフト
部品Bを呼び、slp関数を呼ぶ処理をCPUに実行させ
るためのプログラムを含むようにする。ソフト部品の呼
び出し処理は、部品IDに対応付けられた関数ポインタ
を用いて行う。また、部品プラットフォームは、slpng
関数とslpok関数とslp関数とを含む。slpng関数は受け
取った定数値(部品ID)に対応するスリープNGフラ
グをセットする(値を1にする)処理を実行させるため
の関数である。slpok関数は受け取った定数値に対応す
るスリープNGフラグをリセットする(値を0にする)
処理を実行させるための関数である。なお、このような
部品プラットフォームによる処理では、図3に示すよう
に定数値(部品ID)とその定数値用の1ビット幅のス
リープNGフラグを対応付けて記憶している。そして、
slp関数では、すべてのスリープNGフラグを統合し
て、フラグslpflagを生成するslpflag生成処理を実行さ
せるためのプログラムを含む。slpflagは、スリープ禁
止状態か否かを所定のビット幅(例えば8ビット幅)の
フラグslpflagで示しており、各ソフト部品に対して1
の所定のビットを割り当てたものであり、従来のスリー
プ処理において用いられていたフラグである。例えば、
定数値(部品ID)をその所定のビットとして扱う。そ
して、slpflagの全ビットが0(リセットされている状
態)である場合にはCPUをスリープ状態とし、slpfla
gのいずれかのビットが1(セットされている状態)で
ある場合にはCPUを通常状態とする処理を実行させる
ためのプログラムを含むようにする。
Then, as shown in FIG. 4C, the component platform calls a software component A and a software component B in the main process, and includes a program for causing the CPU to execute a process for calling the slp function. The calling process of the software component is performed using a function pointer associated with the component ID. The parts platform is slpng
Function, slpok function, and slp function. The slpng function is a function for executing a process of setting (setting the value to 1) a sleep NG flag corresponding to the received constant value (part ID). The slpok function resets the sleep NG flag corresponding to the received constant value (sets the value to 0)
This is a function for executing processing. In the processing by such a component platform, a constant value (component ID) and a 1-bit sleep NG flag for the constant value are stored in association with each other as shown in FIG. And
The slp function includes a program for integrating all sleep NG flags and executing a slpflag generation process for generating a flag slpflag. slpflag indicates whether or not the sleep state is disabled by a flag slpflag having a predetermined bit width (for example, 8 bit width).
, And is a flag used in the conventional sleep processing. For example,
A constant value (part ID) is treated as the predetermined bit. When all the bits of slpflag are 0 (reset state), the CPU is put into a sleep state, and slpflag is set.
If any bit of g is 1 (set state), the program includes a program for executing the processing for bringing the CPU into the normal state.

【0029】そして、このプログラムの実行前には、ソ
フト部品Aの書き換え領域に例えば1を書き込み、ソフ
ト部品Bの書き換え領域に例えば2を書き込む。このよ
うにソフト部品Aとソフト部品Bで定数値(部品ID)
を異なる値とすることで部品プラットフォームによる処
理でいずれのソフト部品から関数が呼ばれたのかを識別
することができる。そしてslpflagのビット1がソフト
部品AのスリープNGフラグに対応し、slpflagのビッ
ト2がソフト部品BのスリープNGフラグに対応するこ
とになる。
Before executing this program, for example, 1 is written in the rewrite area of the software component A, and 2 is written in the rewrite area of the software component B. As described above, the constant value (component ID) is used for the software component A and the software component B.
Is different, it is possible to identify which software component called the function in the processing by the component platform. Bit 1 of slpflag corresponds to the sleep NG flag of software component A, and bit 2 of slpflag corresponds to the sleep NG flag of software component B.

【0030】このように実行前に定数値を書き換え領域
に書き込めばよいので、従来のようにいちいちソースプ
ログラムからコンパイルを行う必要がなくなる。なお、
上述した例における書き換え領域が特許請求の範囲にお
ける所定の記憶領域に相当する。
As described above, since it is sufficient to write the constant value in the rewriting area before execution, it is not necessary to compile from the source program each time as in the related art. In addition,
The rewriting area in the above-described example corresponds to a predetermined storage area in the claims.

【0031】ここで、比較のため上述した要求仕様を従
来の手法で実現した場合の例を説明する。上述のように
従来の部品プラットフォームでは、スリープ禁止状態か
否かを所定のビット幅(例えば8ビット幅)のフラグsl
pflagで示しており、各ソフト部品に対して1の所定の
ビットを割り当てている。
Here, for comparison, an example in which the above-mentioned required specifications are realized by a conventional method will be described. As described above, in the conventional component platform, the flag sl having a predetermined bit width (for example, 8 bit width) is used to determine whether or not the sleep is prohibited.
This is indicated by pflag, and one predetermined bit is assigned to each software component.

【0032】例えば、図8(a)に示すように、従来の
ソフト部品Aのソースプログラムでは「定義 SLP_NG
(1)」のように定数SLP_NGを定義しておき、処理として
「車内LAN50からのパケットがありスリープ不可で
あればslpflagのSLP_NGビット目をセット(1とする)
し、車内LAN50からのパケットがなくスリープ可能
であれば、slpflagのSLP_NGビット目をリセット(0と
する)して、部品プラットフォームのslp関数を呼ぶ」
処理を実行させるように記述する。
For example, as shown in FIG. 8A, in the source program of the conventional software component A, the definition “SLP_NG
A constant SLP_NG is defined as in (1), and as a process, if there is a packet from the in-vehicle LAN 50 and sleep is not possible, the SLP_NG bit of slpflag is set (set to 1).
If there is no packet from the in-vehicle LAN 50 and sleep is possible, the SLP_NG bit of slpflag is reset (set to 0) and the slp function of the component platform is called. "
Describe to execute the process.

【0033】同様に図8(b)に示すように従来のソフ
ト部品Bのソースプログラムでは、「定義 SLP_NG
(2)」のように定数SLP_NGを定義しておき、処理として
「パワーウィンドウのスイッチの押下が検出されており
スリープ不可であればslpflagのSLP_NGビット目をセッ
ト(1とする)し、パワーウィンドウのスイッチの押下
が検出されておりスリープ可能であれば、slpflagのSLP
_NGビット目をリセット(0とする)して、部品プラッ
トフォームのslp関数を呼ぶ」処理を実行させるように
記述する。
Similarly, as shown in FIG. 8B, in the source program of the conventional software component B, the "definition SLP_NG
The constant SLP_NG is defined as shown in (2), and as a process, if the depression of the power window switch is detected and sleep is not possible, the SLP_NG bit of slpflag is set (set to 1), and the power window is set. If the switch press is detected and sleep is possible, the slplag SLP
The _NG bit is reset (set to 0) and the slp function of the component platform is called. "

【0034】そして、図8(c)に示すように従来の部
品プラットフォームのソースプログラムでは、メイン処
理でソフト部品Aとソフト部品Bを呼び、slp関数を呼
ぶ処理を記述する。slp関数としてslpflagの全ビットが
0(リセットされている状態)である場合にはCPUを
スリープ状態とし、slpflagのいずれかのビットが1
(セットされている状態)である場合にはCPUを通常
状態とする処理を記述する。
Then, as shown in FIG. 8C, in the source program of the conventional component platform, a process for calling the software component A and the software component B in the main process and calling the slp function is described. When all bits of slpflag are 0 (reset state) as the slp function, the CPU is put into the sleep state, and any bit of slpflag is set to 1
If the state is (set state), the processing for bringing the CPU into the normal state is described.

【0035】そして、ソフト部品A、ソフト部品B、部
品プラットフォームをコンパイルする。コンパイラは、
プリプロセッサによってソフト部品Aの定数SLP_NGを
(1)に置き換え、ソフト部品Bの定数SLP_NGを(2)に置き
換えてからコンパイルして、それぞれの部品について中
間プログラムが生成する。これらの中間プログラムをリ
ンカでリンクして実行プログラムを生成して、組込シス
テム20へ転送する。
Then, the software component A, the software component B, and the component platform are compiled. The compiler uses
The constant SLP_NG of the software component A by the preprocessor
The program is compiled by replacing (1) with the constant SLP_NG of the software component B by (2) and compiling an intermediate program for each component. These intermediate programs are linked by a linker to generate an execution program, which is transferred to the embedded system 20.

【0036】したがって、ソフト部品Aやソフト部品B
の中間プログラムには、定数SLP_NGの値が、その定数名
を利用している位置に埋め込まれてしまう。したがっ
て、この定数の値を変更しようとすると、ソースプログ
ラムのSLP_NGの定義を変更してコンパイルし直す必要が
ある。そのためソフト部品の再利用が困難になるといっ
た問題があった。
Therefore, the soft parts A and B
In the intermediate program, the value of the constant SLP_NG is embedded in the position using the constant name. Therefore, to change the value of this constant, it is necessary to change the definition of SLP_NG in the source program and recompile. Therefore, there is a problem that it is difficult to reuse the software component.

【0037】つまり、このような従来のプログラムで
は、定数SLP_NGが示すビットがそのソフト部品の書き込
むべきslpflagのビット位置となる。そのため、例えば
図示しないソフト部品Cが「定義 SLP_NG (1)」として
定義されたプログラムである場合、このビット位置は図
8(a)のソフト部品Aのプログラムと一致してしま
う。このような場合、ソフト部品Aによる処理でslpfla
gの1ビット目をセットしてスリープ禁止にしても、ソ
フト部品Cによる処理でslpflagの1ビット目がリセッ
トされてスリープ許可になる場合などが発生してしま
う。したがって、部品の組み合わせに応じてソフト部品
のソースプログラムの定数定義を変更してコンパイルし
直す必要がある。
That is, in such a conventional program, the bit indicated by the constant SLP_NG is the bit position of the slpflag to be written by the software component. Therefore, for example, when the software component C (not shown) is a program defined as “definition SLP_NG (1)”, this bit position matches the program of the software component A in FIG. 8A. In such a case, slpfla
Even if the sleep is prohibited by setting the first bit of g, the processing by the software component C may reset the first bit of slpflag to enable sleep. Therefore, it is necessary to change the constant definition of the source program of the software component according to the combination of components and recompile.

【0038】一方、図4に示して説明した本実施例のソ
フト部品によれば、ソフト部品では定数の定義を行わず
定数値を書き換え領域から読み出して渡すという処理を
行う。したがって、中間プログラムの段階において、例
えばソフト部品Aの書き換え領域(例えば上述の先頭1
バイト)に1を書き込み、ソフト部品Bの書き換え領域
(例えば上述の先頭1バイト)に2を書き込んで、それ
ぞれの中間プログラムをリンクして実行プログラムを得
ることができる。これらの書き換え領域は、特許請求の
範囲における「中間プログラムの特定の部分」に相当す
る。
On the other hand, according to the software component of the present embodiment described with reference to FIG. 4, the software component does not define a constant but performs processing of reading and passing a constant value from the rewrite area. Therefore, at the stage of the intermediate program, for example, the rewriting area of the software component A (for example, the first
1 is written in the byte, and 2 is written in the rewrite area (for example, the first byte described above) of the software component B, and the respective intermediate programs are linked to obtain an execution program. These rewrite areas correspond to "a specific part of the intermediate program" in the claims.

【0039】よって、定数SLP_NGの値を変える必要があ
ったとしても中間プログラムの状態で変更することがで
きる。したがって中間プログラムの状態でソフト部品の
再利用が可能となる。また、ソフト部品のソースプログ
ラムを変更する必要もなく、ソースプログラムの状態で
のソフト部品の再利用も容易になる。そして、中間プロ
グラムの状態で定数SLP_NGの値を変えることができるの
でソースプログラムを再コンパイルする必要もなくな
り、単に書き換え領域に定数値を書き込んだ後、リンク
するだけでよい。そのため開発効率も高くなる。また、
ソフト部品と部品プラットフォームの間でslpflagを受
け渡したり、グローバルな変数とする必要がなくなり、
ソフト部品と部品プラットフォームの依存度を低減させ
ることができる。
Therefore, even if the value of the constant SLP_NG needs to be changed, it can be changed in the state of the intermediate program. Therefore, it is possible to reuse the software components in the state of the intermediate program. Further, there is no need to change the source program of the software component, and it is easy to reuse the software component in the state of the source program. Then, since the value of the constant SLP_NG can be changed in the state of the intermediate program, there is no need to recompile the source program. It is sufficient to simply write the constant value in the rewrite area and then link. Therefore, the development efficiency is also increased. Also,
There is no need to pass slpflag between software components and component platforms or to make them global variables.
The dependency between software components and component platforms can be reduced.

【0040】なお図5(a)に示すように、こうした書
き換え領域のような書き換え可能領域には、ツールを使
って自動的に異なる値を書き込むようにするとよい。こ
のツールは、パソコン10において定数値書込処理を実
行させるためのプログラムとして構成される。この定数
値書込処理は、slpflagの仕様を入力する処理と、その
仕様から各ソフト部品の中間プログラムの書き換え領域
に定数値を書き込む処理とからなる。
As shown in FIG. 5A, a different value may be automatically written in a rewritable area such as the rewritable area by using a tool. This tool is configured as a program for causing the personal computer 10 to execute a constant value writing process. This constant value writing process includes a process of inputting the specifications of slpflag and a process of writing a constant value from the specifications into the rewriting area of the intermediate program of each software component.

【0041】slpflagの仕様を入力する処理は、slpflag
の各ビットがいずれの中間プログラムに対応するかを入
力する処理である。例えば1ビット目がソフト部品Aの
中間プログラムのファイル名「partsA.o」に対応し、2
ビット目がソフト部品Bの中間プログラムのファイル名
「partsB.o」に対応するというように入力する処理であ
る。この入力は例えばGUI等から入力できるようにし
てもよいし、これらの対応関係を記述したファイルから
入力するようにしてもよい。
The process for inputting the specifications of slpflag is as follows.
Is a process for inputting which intermediate program corresponds to each bit. For example, the first bit corresponds to the file name “partsA.o” of the intermediate program of software component A, and
In this process, the bit corresponds to the file name “partsB.o” of the intermediate program of the software component B. This input may be input from, for example, a GUI or the like, or may be input from a file describing the correspondence between them.

【0042】そして、定数値を書き込む処理では、この
入力された対応関係に基づいて各中間プログラムのファ
イルの書き換え可能領域(書き換え領域)に、入力され
たビット番号に対応する定数値を書き込む。なお、部品
プラットフォーム側で単にソフト部品を識別できればよ
い場合には、このツールは単にリンクするソフト部品の
中間プログラムのファイル名を入力し、それぞれのソフ
ト部品に異なる定数値を割り振るようにしたものでもよ
い。
In the process of writing a constant value, a constant value corresponding to the input bit number is written in a rewritable area (rewrite area) of each intermediate program file based on the input correspondence. If the component platform only needs to be able to identify the software component, this tool simply inputs the file name of the intermediate program of the software component to be linked and assigns a different constant value to each software component. Good.

【0043】このようにすることで、各ソフト部品に対
する定数値の書き込みを容易に行うことができ、開発効
率をさらに高めることができる。そして、こうしたSLP_
NGのような定数を複数使用する場合には、図5(b)の
ように各定数用に複数の書き換え領域を用意して、図4
に示して説明した構成と同様にして各ソフト部品及び部
品プラットフォームのプログラムを構成すればよい。ま
たこの場合、上述した構成と同様にして図5(b)に示
すように各定数用の書き換え領域にツールによって書き
込む構成とすればよい。
By doing so, it is possible to easily write a constant value to each software component, and it is possible to further increase the development efficiency. And these SLP_
When a plurality of constants such as NG are used, a plurality of rewrite areas are prepared for each constant as shown in FIG.
The program of each software component and the component platform may be configured in the same manner as the configuration shown and described above. Further, in this case, a configuration may be employed in which writing is performed by a tool in the rewriting area for each constant as shown in FIG.

【0044】なお、このように複数の定数をソフト部品
から部品プラットフォームに渡す必要がある場合には次
のようにしてもよい。すなわち図6に示すように、ソフ
ト部品側には定数値として書き換え領域に部品IDのみ
を記憶しておき、部品プラットフォーム側に部品IDと
複数の定数の対応関係を例えばマップとして記憶してお
く。そして部品プラットフォーム側の処理において、こ
の対応関係を利用してその処理に必要な定数を取り出す
ようにする。このようにすることで、各ソフト部品は、
部品IDのみを記憶する領域を設けるだけでよくなる。
したがって、この書き込み領域の構成に応じてツールを
変更する必要がなくなる。すなわち、図5(b)の構成
では、定数の仕様(使用するビット幅等)が変わるたび
にツールもその定数の仕様に合わせて変更する必要があ
るが、図6のようにすれば、部品IDを書き込むだけで
よいのでツールを変更する必要がなくなる。
If it is necessary to pass a plurality of constants from the software component to the component platform, the following may be performed. That is, as shown in FIG. 6, only the component ID is stored in the rewrite area as a constant value on the software component side, and the correspondence between the component ID and a plurality of constants is stored on the component platform side, for example, as a map. Then, in the processing on the component platform side, a constant required for the processing is extracted using this correspondence relationship. By doing so, each software component is
It is only necessary to provide an area for storing only the part ID.
Therefore, it is not necessary to change the tool according to the configuration of the writing area. In other words, in the configuration shown in FIG. 5B, each time the specification of the constant (such as the bit width to be used) changes, the tool also needs to be changed in accordance with the specification of the constant. Since it is only necessary to write the ID, there is no need to change the tool.

【0045】さらに、こうした書き換え領域は次のよう
に利用することもできる。すなわち、図7に示すよう
に、こうした部品ID領域を部品の識別に必要な幅より
大きくとり、その領域(暗号化領域)に暗号コードをツ
ールによって生成して埋め込む。そしてソフト部品の初
期化関数の中にこの暗号コードを部品プラットフォーム
による処理に渡す処理を含める。一方部品プラットフォ
ーム側には、ソフト部品の初期化関数を呼んだ際に渡さ
れる暗号コードが正しいか否かを判定し、正しい場合の
みそのソフト部品を呼び出す(利用する)処理を実行さ
せるためのプログラムを含むようにする。このようにす
れば、ソフト部品の不正な利用を防ぐことができる。
Further, such a rewrite area can be used as follows. That is, as shown in FIG. 7, such a component ID area is set to be larger than the width required for component identification, and an encryption code is generated and embedded in the area (encrypted area) by a tool. Then, the process of passing this encryption code to the process by the component platform is included in the initialization function of the software component. On the other hand, on the component platform side, a program for determining whether or not the encryption code passed when calling the initialization function of the software component is correct, and executing the process of calling (using) the software component only when it is correct To be included. In this way, unauthorized use of the software component can be prevented.

【0046】なお、本実施例においては、スリープ機能
を実現する場合の例を説明したが、例えば、部品プラッ
トフォームに、渡された部品IDに対応するカウンタを
利用して所定時間処理を一時停止するwait関数を設け、
各ソフト部品がこのwait関数を呼ぶ場合に部品IDを書
き換え領域から読み出して呼ぶようにするなど、その他
あらゆる機能を実現するために上述したプログラムを適
用することができる。
In this embodiment, an example in which the sleep function is realized has been described. For example, the processing is temporarily suspended for a predetermined time by using a counter corresponding to the passed component ID to the component platform. Provide a wait function,
When each software component calls this wait function, the above-described program can be applied to realize any other functions, such as reading the component ID from the rewrite area and calling it.

【0047】また、本システムでは組込システムにおけ
るプログラムとして説明したが、種々のコンピュータシ
ステムに所望の動作をさせるためのプログラムに適用す
ることができる。
Although the present system has been described as a program in an embedded system, the present invention can be applied to a program for causing various computer systems to perform desired operations.

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

【図1】組込システムによって実行されるプログラムの
開発システムの説明図である。
FIG. 1 is an explanatory diagram of a program development system executed by an embedded system.

【図2】組込システムの例を含むボデー系システムの説
明図である。
FIG. 2 is an explanatory diagram of a body system including an example of an embedded system.

【図3】実施例のプログラムの構成の説明図である。FIG. 3 is an explanatory diagram of a configuration of a program according to an embodiment.

【図4】所定の機能としてのスリープ機能を実現するた
めの実施例のプログラムの構成を説明する図である。
FIG. 4 is a diagram illustrating a configuration of a program according to an embodiment for realizing a sleep function as a predetermined function.

【図5】書き換え領域へのツールによる書き換えの例と
複数の定数値を渡す場合の例を示す説明図である。
FIG. 5 is an explanatory diagram showing an example of rewriting by a tool to a rewriting area and an example of passing a plurality of constant values.

【図6】複数の定数値を渡す場合のプログラムの別例を
示す説明図である。
FIG. 6 is an explanatory diagram showing another example of a program for passing a plurality of constant values.

【図7】ソフト部品の不正使用を防止するためのプログ
ラムの構成を説明する図である。
FIG. 7 is a diagram illustrating a configuration of a program for preventing unauthorized use of software components.

【図8】スリープ機能を実現するための従来のプログラ
ムの構成を説明する図である。
FIG. 8 is a diagram illustrating the configuration of a conventional program for implementing a sleep function.

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

10…パソコン、 20,20a,20b,20c,20d…組込システム 30…入力装置 30a…D席コントロールスイッチ 30b…P席コントロールスイッチ 40…出力装置 40a…D席ドアロックモータ 40b…P席ドアロックモータ 40c…ブザー 40d…ランプ 50…車内LAN 100…ボデー系システム DESCRIPTION OF SYMBOLS 10 ... Personal computer, 20, 20a, 20b, 20c, 20d ... Embedded system 30 ... Input device 30a ... D seat control switch 30b ... P seat control switch 40 ... Output device 40a ... D seat door lock motor 40b ... P seat door lock Motor 40c Buzzer 40d Lamp 50 Car LAN 100 Body system

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】コンピュータに所定の機能を実現させるた
めのプログラムであって、 前記プログラムは、要求仕様に応じた機能を実現させる
ためのプログラムであるソフト部品と、 前記ソフト部品による処理を呼び出す機能を実現させる
ためのプログラムである部品プラットフォームとを備
え、 前記ソフト部品は、所定の記憶領域から定数値を読み出
し、前記部品プラットフォームによる処理に前記定数値
を渡たす処理を前記コンピュータに実現させるためのプ
ログラムを含み、 前記部品プラットフォームは、前記ソフト部品による処
理から受け取った前記定数値に基づいた機能を実現させ
るためのプログラムを含むことを特徴とするプログラ
ム。
1. A program for realizing a predetermined function on a computer, wherein the program is a software component for realizing a function according to a required specification, and a function for calling processing by the software component. And a component platform that is a program for realizing the program. The software component reads a constant value from a predetermined storage area, and causes the computer to realize a process of passing the constant value to a process by the component platform. Wherein the component platform includes a program for realizing a function based on the constant value received from processing by the software component.
【請求項2】請求項1に記載のプログラムにおいて、 前記定数値は前記ソフト部品を特定するための部品識別
情報であることを特徴とするプログラム。
2. The program according to claim 1, wherein the constant value is component identification information for specifying the software component.
【請求項3】請求項2に記載のプログラムにおいて、 前記部品プラットフォームは、前記部品識別情報に対応
付けた定数値に基づいた機能を実現させるためのプログ
ラムを含むことを特徴とするプログラム。
3. The program according to claim 2, wherein the component platform includes a program for realizing a function based on a constant value associated with the component identification information.
【請求項4】請求項1〜3のいずれかに記載のプログラ
ムにおいて、 前記ソフト部品は、コンピュータによる実行時に前記所
定の記憶領域として機能する部分を有しており、前記定
数値として当該部分に暗号コードを用い、 前記部品プラットフォームは、前記定数値として受け取
った前記暗号コードが有効か否かを判定し、無効の場合
には、その後当該ソフト部品による処理を呼び出さない
ようにする機能を実現させるためのプログラムを含むこ
とを特徴とするプログラム。
4. The program according to claim 1, wherein the software component has a portion functioning as the predetermined storage area when the software component is executed by a computer, and the software component has the portion as the constant value. Using a cryptographic code, the component platform determines whether or not the cryptographic code received as the constant value is valid, and when invalid, realizes a function of not calling a process by the software component thereafter. A program characterized by including a program for:
【請求項5】要求仕様に応じた機能をコンピュータに実
現させるためのプログラムであるソフト部品と、前記ソ
フト部品による処理を呼び出す機能をコンピュータに実
現させるためのプログラムである部品プラットフォーム
とのソースプログラムから中間プログラムを生成し、生
成されたソフト部品の中間プログラムに加工を施した
後、中間プログラムをリンクして実行プログラムとして
生成されたプログラムであって、 前記ソフト部品は、所定の記憶領域から定数値を読み出
し、前記部品プラットフォームによる処理に前記定数値
を渡たす機能を実現させるためのプログラムを含み、 前記部品プラットフォームは、前記ソフト部品による処
理から受け取った前記定数値に基づいた機能を実現させ
るためのプログラムを含み、 前記生成されたソフト部品の中間プログラムの特定の部
分に、前記実行プログラムの実行時に前記所定の記憶領
域として機能する部分を有しており、 前記加工は、前記生成されたソフト部品の中間プログラ
ムの前記特定の部分に前記定数値を書き込むことである
ことを特徴とするプログラム。
5. A source program comprising: a software component which is a program for causing a computer to implement a function corresponding to a required specification; and a component platform which is a program for causing a computer to implement a function for invoking processing by the software component. A program generated as an execution program by generating an intermediate program, processing the generated intermediate program of the software component, and linking the intermediate program, wherein the software component has a constant value from a predetermined storage area. And a program for realizing a function of passing the constant value to a process by the component platform, wherein the component platform realizes a function based on the constant value received from the process by the software component. Including the generated program The specific part of the intermediate program of the software component has a part that functions as the predetermined storage area when the execution program is executed, and the processing includes the specific part of the generated intermediate program of the software component. Writing the constant value into the program.
【請求項6】要求仕様に応じた機能をコンピュータに実
現させるためのプログラムである複数のソフト部品と、
前記各ソフト部品による処理を呼び出す機能をコンピュ
ータに実現させるためのプログラムである部品プラット
フォームとのソースプログラムから中間プログラムを生
成し、生成された各ソフト部品の中間プログラムに加工
を施した後、中間プログラムをリンクして実行プログラ
ムとして生成されたプログラムであって、 前記各ソフト部品は、所定の記憶領域から定数値を読み
出し、前記部品プラットフォームによる処理に前記定数
値を渡たす機能を実現させるためのプログラムを含み、 前記部品プラットフォームは、前記各ソフト部品による
処理から受け取った前記定数値に基づいた機能を実現さ
せるためのプログラムを含み、 前記生成された各ソフト部品の中間プログラムの特定の
部分に、前記実行プログラムの実行時に前記所定の記憶
領域として機能する部分を有しており、 前記加工は、前記生成された各ソフト部品の中間プログ
ラムの前記特定の部分に、前記定数値として前記ソフト
部品毎に異なる値を書き込むことであることを特徴とす
るプログラム。
6. A plurality of software components, which are programs for causing a computer to implement functions according to required specifications,
An intermediate program is generated from a source program with a component platform, which is a program for causing a computer to implement a function of invoking processing by each software component, and after processing the generated intermediate program of each software component, the intermediate program is executed. The software component is a program generated as an execution program, wherein each of the software components reads a constant value from a predetermined storage area and implements a function of passing the constant value to processing by the component platform. The program includes a program for realizing a function based on the constant value received from the processing by each of the software components, and a specific part of the generated intermediate program of each of the software components. When executing the execution program, the predetermined A part that functions as an area, wherein the processing is to write a different value for each of the software components as the constant value to the specific portion of the generated intermediate program of each software component. Features program.
【請求項7】請求項5または6に記載のプログラムにお
いて、 前記加工の際に、前記定数値として暗号コードを用い、 前記部品プラットフォームは、前記暗号コードが有効か
否かを判定し、無効の場合には、その後当該ソフト部品
による処理を呼び出さないようにする機能を実現させる
ためのプログラムを含むことを特徴とするプログラム。
7. The program according to claim 5, wherein, during the processing, an encryption code is used as the constant value, and the component platform determines whether or not the encryption code is valid. In such a case, the program includes a program for realizing a function of preventing a process by the software component from being called thereafter.
【請求項8】請求項1〜7のいずれか記載のプログラム
に基づいて当該請求項における機能を実現するコンピュ
ータを備えた電子制御装置。
8. An electronic control device comprising a computer for realizing the functions according to claim 1 based on the program according to claim 1.
【請求項9】要求仕様に応じた機能をコンピュータに実
現させるためのプログラムであるソフト部品と、前記ソ
フト部品による処理を呼び出す機能をコンピュータに実
現させるためのプログラムである部品プラットフォーム
とのソースプログラムから中間プログラムを生成し、生
成されたソフト部品の中間プログラムに加工を施した
後、中間プログラムをリンクして実行プログラムを生成
するプログラムの製造方法であって、 前記ソフト部品は、所定の記憶領域から定数値を読み出
し、前記部品プラットフォームによる処理に前記定数値
を渡たす機能を実現させるためのプログラムを含むよう
にし、 前記部品プラットフォームは、前記ソフト部品による処
理から受け取った前記定数値に基づいた機能を実現させ
るためのプログラムを含むようにし、 前記生成されたソフト部品の中間プログラムの特定の部
分に、前記実行プログラムの実行時に前記所定の記憶領
域として機能する部分を有し、 前記加工は、前記生成されたソフト部品の中間プログラ
ムの前記特定の部分に前記定数値を書き込んで行うこと
を特徴とするプログラムの製造方法。
9. A source program consisting of a software component which is a program for causing a computer to implement a function corresponding to a required specification and a component platform which is a program for causing a computer to implement a function for calling processing by the software component. A method of manufacturing a program for generating an intermediate program, processing the generated intermediate program of the software component, and then linking the intermediate program to generate an execution program, wherein the software component is stored in a predetermined storage area. A program for reading a constant value and realizing a function of passing the constant value to the processing by the component platform is included. The component platform has a function based on the constant value received from the processing by the software component. Includes programs to realize In a specific part of the generated intermediate program of the software component, there is a portion that functions as the predetermined storage area when the execution program is executed, and the processing is performed on the generated intermediate program of the software component. A method of manufacturing a program, wherein the constant value is written in the specific portion.
【請求項10】要求仕様に応じた機能をコンピュータに
実現させるためのプログラムである複数のソフト部品
と、前記各ソフト部品による処理を呼び出す機能をコン
ピュータに実現させるためのプログラムである部品プラ
ットフォームとのソースプログラムから中間プログラム
を生成し、生成された各ソフト部品の中間プログラムに
加工を施した後、中間プログラムをリンクして実行プロ
グラムを生成するプログラムの製造方法であって、 前記各ソフト部品は、所定の記憶領域から定数値を読み
出し、前記部品プラットフォームによる処理に前記定数
値を渡たす機能を実現させるためのプログラムを含むよ
うにし前記部品プラットフォームは、前記各ソフト部品
による処理から受け取った前記定数値に基づいた機能を
実現させるためのプログラムを含むようにし、 前記生成された各ソフト部品の中間プログラムの特定の
部分に、前記実行プログラムの実行時に前記所定の記憶
領域として機能する部分を有し、 前記加工は、前記生成された各ソフト部品の中間プログ
ラムの前記特定の部分に、前記定数値として前記ソフト
部品毎に異なる値を書き込んで行うことを特徴とするプ
ログラムの製造方法。
10. A plurality of software components, which are programs for causing a computer to implement a function corresponding to a required specification, and a component platform, which is a program for causing a computer to implement a function for calling processing by each of the software components. A method for producing an intermediate program from a source program, processing the generated intermediate program of each software component, and then linking the intermediate program to generate an execution program. A constant value is read from a predetermined storage area, and a program for realizing a function of passing the constant value to the processing by the component platform is included, and the component platform receives the constant value received from the processing by each of the software components. A program to realize functions based on numerical values A specific part of the generated intermediate program of each software component has a part that functions as the predetermined storage area when the execution program is executed. A method of manufacturing a program, wherein a different value for each software component is written as the constant value in the specific part of the intermediate program of the software component.
【請求項11】請求項9または10に記載のプログラム
において、 前記加工の際に、前記定数値として暗号コードを用い、 前記部品プラットフォームは、前記暗号コードが有効か
否かを判定し、無効の場合には、その後当該ソフト部品
による処理を呼び出さないようにする機能を実現させる
ためのプログラムを含めることを特徴とするプログラム
の製造方法。
11. The program according to claim 9, wherein said processing uses an encryption code as said constant value, said component platform determines whether said encryption code is valid, and In this case, a method for manufacturing a program includes a program for realizing a function of preventing a process by the software component from being called thereafter.
【請求項12】請求項1〜4のいずれかに記載のプログ
ラムにおける所定の記憶領域に定数値を書き込む機能ま
たは請求項5〜7のいずれかに記載のプログラムにおけ
る特定の部分に定数値を書き込む機能の少なくともいず
れか一方をコンピュータに実現させるためのプログラ
ム。
12. A function for writing a constant value to a predetermined storage area in the program according to any one of claims 1 to 4, or writing a constant value to a specific portion in the program according to any one of claims 5 to 7. A program that causes a computer to implement at least one of the functions.
JP2001022008A 2001-01-30 2001-01-30 Program, electronic control device, and manufacturing method for program Pending JP2002229781A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001022008A JP2002229781A (en) 2001-01-30 2001-01-30 Program, electronic control device, and manufacturing method for program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001022008A JP2002229781A (en) 2001-01-30 2001-01-30 Program, electronic control device, and manufacturing method for program

Publications (1)

Publication Number Publication Date
JP2002229781A true JP2002229781A (en) 2002-08-16

Family

ID=18887478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001022008A Pending JP2002229781A (en) 2001-01-30 2001-01-30 Program, electronic control device, and manufacturing method for program

Country Status (1)

Country Link
JP (1) JP2002229781A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181437A (en) * 2008-01-31 2009-08-13 Casio Comput Co Ltd Data processor and program
JP2013137838A (en) * 2013-04-11 2013-07-11 Casio Comput Co Ltd Data processing apparatus and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181437A (en) * 2008-01-31 2009-08-13 Casio Comput Co Ltd Data processor and program
JP2013137838A (en) * 2013-04-11 2013-07-11 Casio Comput Co Ltd Data processing apparatus and program

Similar Documents

Publication Publication Date Title
US5978579A (en) Architecture for customizable component system
US6093215A (en) Method and apparatus for building templates in a component system
US6195794B1 (en) Method and apparatus for distributing templates in a component system
US6182279B1 (en) Method and apparatus for storing templates in a component system
US6363486B1 (en) Method of controlling usage of software components
US7822914B2 (en) Data protection for non-volatile semiconductor memory using block protection flags
US8583906B2 (en) BIOS field mapping
US7043723B2 (en) Run-time addition of interfaces
JPH10228420A (en) Processing system security
US20070101115A1 (en) Information processing device, bios processing method and program
US5848232A (en) Method of making secure collaboration between objects of an object-oriented program
KR20030044916A (en) Modular computer system and related method
US6725345B2 (en) Object-oriented program with a memory accessing function
US20240095344A1 (en) Computer implemented method
US5742801A (en) Microprocessor to which additional instructions are added and instructions addition method thereof
JP2002229781A (en) Program, electronic control device, and manufacturing method for program
US6058396A (en) Product interface method and system which allow class evolution
CN116225739A (en) Computing device and deployment and extension method of security service thereof
Daum et al. Implementation correctness of a real-time operating system
US20020091867A1 (en) Sharing classes between programs
GB2579072A (en) Computer implemented method
Friedrich et al. Efficient object-oriented software with design patterns
Johnsen et al. A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
JP2607319B2 (en) Programmable controller
JPH08123679A (en) Rom device and compiler

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100622