JP2016085696A - Execution method and apparatus of driver - Google Patents

Execution method and apparatus of driver Download PDF

Info

Publication number
JP2016085696A
JP2016085696A JP2014219804A JP2014219804A JP2016085696A JP 2016085696 A JP2016085696 A JP 2016085696A JP 2014219804 A JP2014219804 A JP 2014219804A JP 2014219804 A JP2014219804 A JP 2014219804A JP 2016085696 A JP2016085696 A JP 2016085696A
Authority
JP
Japan
Prior art keywords
driver
hardware
additional hardware
application
unique information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014219804A
Other languages
Japanese (ja)
Other versions
JP5943984B2 (en
Inventor
野田 正樹
Masaki Noda
正樹 野田
克紀 酒井
Katsunori Sakai
克紀 酒井
一郎 川戸
Ichiro Kawato
一郎 川戸
渉 川村
Wataru Kawamura
渉 川村
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.)
Contec Co Ltd
Original Assignee
Contec Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Contec Co Ltd filed Critical Contec Co Ltd
Priority to JP2014219804A priority Critical patent/JP5943984B2/en
Publication of JP2016085696A publication Critical patent/JP2016085696A/en
Application granted granted Critical
Publication of JP5943984B2 publication Critical patent/JP5943984B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To use even an apparatus in which a built-in OS is installed in the state in which new hardware is connected to the apparatus.SOLUTION: A temporary driver 10 is previously stored in a driver 8 of an OS7, and the unique information of used additional hardware and an additional driver 13 are held by an application 14. Thus, the use of the additional hardware having the unique information held by the temporary driver 10 is authorized, the application 14 can be executed while the additional hardware is operated using the additional driver 13 held by the application 14, and even an apparatus in which a built-in OS is installed can be used in the state in which new hardware is connected to the apparatus.SELECTED DRAWING: Figure 1

Description

組み込みOSがインストールされた機器およびその機器に接続されるハードウェアに対応するドライバの実行方法に関する。   The present invention relates to an execution method of a driver corresponding to a device in which an embedded OS is installed and hardware connected to the device.

コンピュータ制御された産業用機器等の機器においては、CPUや周辺機器を動作させるためのOSやドライバがインストールされる。パーソナルコンピュータ(以下PCと称す)や汎用の産業用機器等では、OSやドライバをハードディスク等の書き換え可能な記憶装置に記憶させておき、必要に応じて再インストールやアップデートをすることができる構成の機器もある。これに対して、使用目的に応じて機能が特化された産業用機器等においては、装置構成を最適化して低コスト化,ダウンサイジング化することが要求される。そのため、このような機器においては、あらかじめ、OSやドライバをROM等の書き換え不能な記憶装置に記憶させておくものもある。このような組み込みOSがインストールされた機器では、機器に接続される周辺機器はあらかじめ特定されており、接続される周辺機器に対応するドライバは、OSのカーネル領域に格納されることが一般的である。そして、このような機器は、特定の周辺機器が接続された状態で、周辺機器に対応する、あらかじめインストールされたドライバを読み込んで、機器および周辺機器を動作させている。   In a computer-controlled device such as an industrial device, an OS and a driver for operating a CPU and peripheral devices are installed. In personal computers (hereinafter referred to as PCs) and general-purpose industrial equipment, the OS and drivers are stored in a rewritable storage device such as a hard disk, and can be reinstalled or updated as necessary. There is also equipment. On the other hand, in industrial equipment and the like whose functions are specialized according to the purpose of use, it is required to optimize the device configuration to reduce costs and downsizing. For this reason, some of such devices store an OS and a driver in a non-rewritable storage device such as a ROM in advance. In a device in which such an embedded OS is installed, peripheral devices connected to the device are specified in advance, and a driver corresponding to the connected peripheral device is generally stored in a kernel area of the OS. is there. Such a device reads a pre-installed driver corresponding to the peripheral device and operates the device and the peripheral device in a state where the specific peripheral device is connected.

特開2006−59493号公報JP 2006-59493 A 特開2010−20609号公報JP 2010-20609 A

しかしながら、このような組み込みOSがインストールされた機器は、機器の製造工程においてOSおよびドライバがROM等にインストールされ、OSおよびドライバがインストールされた状態で出荷される。そのため、出荷後、機器を使用している段階では、OSやドライバの再インストールやアップデートはできない。   However, a device in which such an embedded OS is installed is shipped with the OS and driver installed in the ROM or the like in the manufacturing process of the device, and the OS and driver installed. For this reason, it is not possible to reinstall or update the OS or driver when using the device after shipment.

ここで、あらかじめ特定された周辺機器以外の周辺機器を接続したい場合や、周辺機器自体がバージョンアップした場合、これらの周辺機器に対応するドライバがインストールされておらず、また、ドライバを再インストールしたりアップデートしたりすることができないため、特定された周辺機器以外の周辺機器等の新たなハードウェアを使用することができないという問題点があった。   Here, if you want to connect a peripheral device other than the peripheral devices specified in advance, or if the peripheral device itself has been upgraded, the drivers corresponding to these peripheral devices are not installed, and you must reinstall the driver. In other words, new hardware such as peripheral devices other than the specified peripheral device cannot be used.

本発明は、上記問題点を解決するために、組み込みOSがインストールされた機器においても、新たなハードウェアを接続して使用することを目的とする。   In order to solve the above problems, an object of the present invention is to connect and use new hardware even in a device in which an embedded OS is installed.

上記目的を達成するために、本発明のドライバの実行方法は、組み込みOSおよび特定のハードウェアに対応する特定ドライバが書き換え不能な状態で格納される機器に前記特定のハードウェアと異なる追加のハードウェアを接続してアプリケーションを実行するに際し、前記アプリケーションは前記追加のハードウェアに対応する追加ドライバを保持し、前記機器はアクセスを許可する追加のハードウェアの固有情報を記憶しており、前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とを比較する比較工程と、前記比較工程で前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とが一致する場合には前記追加ドライバを用いて前記追加のハードウェアを動作させる動作工程とを有することを特徴とする。   In order to achieve the above object, the driver execution method of the present invention includes an additional hardware different from the specific hardware in a device in which the embedded OS and the specific driver corresponding to the specific hardware are stored in a non-rewritable state. When the application is executed by connecting the hardware, the application holds an additional driver corresponding to the additional hardware, and the device stores specific information of the additional hardware that permits access, and the device A comparison step of comparing the unique information stored in the device and the unique information of the additional hardware, and the unique information stored in the device in the comparison step matches the unique information of the additional hardware. And an operation step of operating the additional hardware using an additional driver.

また、組み込みOSおよび特定のハードウェアに対応する特定ドライバが書き換え不能な状態で格納される機器に前記特定のハードウェアと異なる追加のハードウェアを接続してアプリケーションを実行するに際し、前記アプリケーションは前記追加のハードウェアに対応する追加ドライバを保持し、前記機器はアクセスを許可する追加のハードウェアの固有情報を記憶しており、前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とを比較する比較工程と、前記比較工程で前記アプリケーションが記憶する固有情報と前記追加のハードウェアの固有情報とが一致する場合にはアクセス許可リストに一致した固有情報を記憶させる固有情報記憶工程と、前記アプリケーションがアクセスする追加のハードウェアの固有情報が前記アクセス許可リストに記憶されている場合および前記比較工程で前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とが一致する場合には前記追加ドライバを用いて前記追加のハードウェアを動作させる動作工程とを有することを特徴とする。   In addition, when executing an application by connecting additional hardware different from the specific hardware to a device in which a specific driver corresponding to the embedded OS and the specific hardware is stored in a non-rewritable state, the application An additional driver corresponding to the additional hardware is held, and the device stores the specific information of the additional hardware that is allowed to be accessed, and the specific information stored by the device and the specific information of the additional hardware A unique information storage step for storing unique information that matches the access permission list if the unique information stored by the application in the comparison step matches the unique information of the additional hardware. Additional hardware specific information accessed by the application If the unique information stored in the access permission list and the unique information stored in the device in the comparison step match the unique information of the additional hardware, the additional hardware is operated using the additional driver. And an operation step to be performed.

さらに、本発明の機器は、ハードウェアが外付けされてアプリケーションを実行する機器であって、演算装置と、組み込みOSおよびドライバがインストールされる書き換え不能な記憶装置と、追加のハードウェアの固有情報および前記アプリケーションを記憶する書き換え可能な記憶装置とを有し、前記ドライバはあらかじめ定められた特定のハードウェアに対応する特定ドライバと前記特定のハードウェア以外の前記追加のハードウェアの使用を許可する仮ドライバとからなり、前記演算装置は、前記機器に外付けされるハードウェアが前記特定のハードウェアの場合は前記特定ドライバで前記特定のハードウェアを動作させ、前記追加のハードウェアの場合は前記仮ドライバを介して前記固有情報の一致を確認して前記アプリケーションに保持されているドライバを用いて前記追加のハードウェアを動作させることを特徴とする。   Further, the device of the present invention is a device that executes an application with external hardware, and includes a computing device, a non-rewritable storage device in which an embedded OS and a driver are installed, and additional hardware specific information And a rewritable storage device that stores the application, and the driver permits use of a specific driver corresponding to predetermined specific hardware and the additional hardware other than the specific hardware The arithmetic device is configured to operate the specific hardware with the specific driver when the hardware externally attached to the device is the specific hardware, and when the additional hardware is the additional hardware The application information is confirmed by checking the unique information via the temporary driver. Characterized in that for operating the additional hardware using driver held in the.

以上のように、あらかじめ、アプリケーションが使用をすることを可能とする追加のハードウェアの固有情報を保持しておき、同時に、アプリケーションに追加のハードウェアの動作に用いる追加ドライバを保持させ、アプリケーションの動作の際に、固有情報を用いて追加のハードウェアであることを確認し、追加ドライバを用いて追加のハードウェアを動作させながらアプリケーションを実行することができ、組み込みOSがインストールされた機器においても、新たなハードウェアを接続して使用することができる。   As described above, the specific information of the additional hardware that can be used by the application is held in advance, and at the same time, the additional driver used for the operation of the additional hardware is stored in the application. In operation, it is possible to confirm that the hardware is additional hardware using specific information, and to execute an application while operating the additional hardware using an additional driver. You can also connect and use new hardware.

実施の形態1における組み込みOSがインストールされた機器の構成を示す概略図Schematic diagram showing the configuration of a device in which the embedded OS is installed in the first embodiment 実施の形態1におけるドライバの実行方法の概略フローを示す図The figure which shows the schematic flow of the execution method of the driver in Embodiment 1. 実施の形態2における暗号化キーを用いた処理を行う構成を示す概略図Schematic showing a configuration for performing processing using an encryption key in the second embodiment センサ解析装置の構成例(初期設計時)Example of sensor analyzer configuration (during initial design) センサ解析装置の構成例(センサ変更時)Example of sensor analyzer configuration (when changing sensor) 検査装置の構成例(初期設計時)Configuration example of inspection device (during initial design) 検査装置の構成例(センサ変更時)Configuration example of inspection device (when changing sensor) 空冷用ファンの制御装置の構成例(初期設計時)Configuration example of air cooling fan controller (at initial design) 空冷用ファンの制御装置の構成例(ファン変更時)Configuration example of air cooling fan controller (when changing fan) 本発明のドライバリストの機能を例示する図The figure which illustrates the function of the driver list of the present invention 本発明の仮ドライバの機能を例示する図The figure which illustrates the function of the temporary driver of the present invention 実施の形態3における組み込みOSがインストールされた機器の構成を示す概略図Schematic diagram showing a configuration of a device in which an embedded OS is installed in the third embodiment 実施の形態3におけるドライバの実行方法の概略フローを示す図The figure which shows the schematic flow of the execution method of the driver in Embodiment 3.

産業用機器やPC等の様々な機器は、一般的にコンピュータにより制御されて各種の動作を行う。コンピュータはCPU等の演算装置やメモリ等の記憶装置,入出力装置等から構成される。また、コンピュータ制御された産業用機器等の機器においては、CPUや周辺機器を動作させるためのOSやドライバがインストールされる。これらの機器には、あらかじめ、OSやドライバをROM等の書き換え不能な記憶装置に記憶させておくものもある。このような組み込みOSがインストールされた機器では、OSによりコンピュータを動作させ、ドライバにより外部接続される周辺機器を動作させて、アプリケーションを実行する。   Various devices such as industrial devices and PCs are generally controlled by a computer and perform various operations. The computer includes an arithmetic device such as a CPU, a storage device such as a memory, an input / output device, and the like. In addition, in a computer-controlled device such as an industrial device, an OS and a driver for operating a CPU and peripheral devices are installed. Some of these devices store an OS and a driver in a non-rewritable storage device such as a ROM in advance. In a device in which such an embedded OS is installed, a computer is operated by the OS and a peripheral device connected externally by a driver is operated to execute an application.

ここでの説明において、記憶装置には、揮発性の主記憶装置や不揮発性の補助記憶装置が含まれる。
また、主記憶装置は例えば、メインメモリやキャッシュメモリ等であり、補助記憶装置はハードディスク、USBメモリ、その他メモリーカード等である。
In the description herein, the storage device includes a volatile main storage device and a nonvolatile auxiliary storage device.
The main storage device is, for example, a main memory or a cache memory, and the auxiliary storage device is a hard disk, a USB memory, other memory cards, or the like.

ここで、書き換え不能な記憶装置とは、一度しか書き込めないROM等のWrite Once Read Many(ライトワンスリードメニー)や、機器の製造者でなければ内容を変更できないデバイス、つまり特定の手順を行わないと書き換えできないデバイスであるPROM、EPROM (Erasable Programmable Read Only Memory)およびEEPROM(Electrically Erasable PROM)等が挙げられる。   Here, a non-rewritable storage device means a write once read many such as ROM that can be written only once, or a device that can only be changed by the device manufacturer, that is, does not perform a specific procedure. PROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable PROM), and the like, which are devices that cannot be rewritten.

書き換え可能な記憶装置とは、機器を使用するにあたり通常変更可能なものであり、機器の製造者以外でも内容を変更することができるデバイスで、例えばメインメモリ、ハードディスク、USBメモリ、その他メモリーカード等が挙げられる。   A rewritable storage device is a device that can normally be changed when the device is used, and can be changed by a device other than the device manufacturer, such as a main memory, a hard disk, a USB memory, and other memory cards. Is mentioned.

なお書き換え可能な記憶装置であっても、製造者のみが知りえる方法であり、使用者が知りえない方法でソフトウェア的にプロテクトをかけているデバイスやそのエリアについては、書き換え不能な記憶装置と解釈できる。   Note that even a rewritable storage device is a method that only the manufacturer can know, and for devices and areas that are protected by software in a way that the user cannot know, the rewritable storage device Can be interpreted.

周辺機器は、あらかじめROM等の書き換え不能な記憶装置に記憶されるドライバを用いて動作する。この周辺機器を特定のハードウェアと称し、このドライバを特定ドライバと称す。アプリケーションは、この特定ドライバを用いて特定のハードウェアにアクセスしながら動作することができる。   The peripheral device operates using a driver stored in a non-rewritable storage device such as a ROM in advance. This peripheral device is referred to as specific hardware, and this driver is referred to as a specific driver. An application can operate while accessing specific hardware using the specific driver.

本発明では、このような特定のハードウェア以外のハードウェアについても動作を可能とする。そのために、まず、アプリケーションがアクセスすることを許可するハードウェアの動作に用いるドライバを、アプリケーションがあらかじめ保持する。特定のハードウェア以外のハードウェアの内、アプリケーションがアクセスすることを許可するハードウェアを追加のハードウェアと称し、アプリケーションが保持する追加のハードウェアのドライバを追加ドライバと称す。そして、機器は、追加のハードウェアの固有情報をあらかじめ保持し、接続されたハードウェアの固有情報と保持された固有情報とを比較し、一致する場合は、接続されたハードウェアが追加のハードウェアであると判断して、アプリケーションが保持する追加ドライバを用いて追加のハードウェアを動作させる。   In the present invention, operation is also possible for hardware other than such specific hardware. For this purpose, the application first holds a driver used for hardware operations that the application is permitted to access. Among hardware other than specific hardware, hardware that is permitted to be accessed by an application is referred to as additional hardware, and a driver of the additional hardware held by the application is referred to as additional driver. Then, the device holds the unique information of the additional hardware in advance, compares the unique information of the connected hardware with the held unique information, and if they match, the connected hardware And the additional hardware is operated using an additional driver held by the application.

ここで、あらかじめ保持される追加のハードウェアの固有情報は、アプリケーションに保持されても良いし、別途設けるドライバリストに記録しても良い。ドライバリストは、アプリケーションが内蔵しても良いし、RAM等の機器内の記憶装置に格納しても良い。また、ドライバリストには、1つの追加のハードウェアの固有情報を記録しても良いし、アクセスが許可される複数の追加のハードウェアの固有情報をリストアップしても良い。   Here, the specific information of the additional hardware stored in advance may be stored in the application or may be recorded in a separately provided driver list. The driver list may be built in an application or may be stored in a storage device in a device such as a RAM. In addition, unique information of one additional hardware may be recorded in the driver list, or unique information of a plurality of additional hardware permitted to be accessed may be listed.

また、固有情報の確認は、アプリケーションが追加のハードウェアにアクセスする毎に行っても良いが、1度固有情報を確認した後は、アプリケーションが同じ追加のハードウェアにアクセスする限り、固有情報の一致の確認をすることなく追加のハードウェアを動作させても良い。例えば、1度固有情報の一致を確認した後、一致した固有情報をアクセス許可リストに記載する。アプリケーションが追加のハードウェアにアクセスする際は、まず、アクセス許可リストに記録されている固有情報がアプリケーションがアクセスしようとする追加のハードウェアの固有情報と一致するかを確認し、一致していればアプリケーションが保持する追加ドライバで追加のハードウェアを動作させる。一致していなければ、つまり、アクセス許可リストに、アプリケーションがアクセスしようとする追加のハードウェアの固有情報が記憶されていなければ、最初のアクセスであるので、アプリケーションが保持する固有情報と追加のハードウェアの固有情報を比較し、一致する場合のみアプリケーションが保持する追加ドライバで追加のハードウェアを動作させる。ここで、アクセス許可リストはRAM等の機器に内蔵される記憶装置に格納される。   In addition, the confirmation of the unique information may be performed every time the application accesses the additional hardware, but after confirming the unique information once, as long as the application accesses the same additional hardware, the unique information Additional hardware may be operated without confirming the match. For example, once the unique information matches, the matched unique information is written in the access permission list. When an application accesses additional hardware, first check whether the unique information recorded in the access permission list matches the unique information of the additional hardware that the application is trying to access. For example, additional hardware is run with additional drivers held by the application. If they do not match, that is, if the unique information of the additional hardware that the application is trying to access is not stored in the access permission list, it is the first access, so the unique information held by the application and the additional hardware The hardware-specific information is compared, and the additional hardware is operated by the additional driver held by the application only when they match. Here, the access permission list is stored in a storage device built in a device such as a RAM.

また、接続された追加のハードウェアの固有情報を記載する、接続リストがさらに保持されても良い。追加のハードウェアが接続された状態で機器に電源が投入された際や、電源が投入されている機器に追加のハードウェアを接続してプラグ&プレイされた時等の、機器が最初に追加のハードウェアを認識した時に、追加のハードウェアの固有情報を、演算装置が接続リストに書き込む。そして、固有情報を比較する際に、アプリケーションが保持する固有情報と、接続リストに記載された固有情報とを比較する。接続リストはRAM等の機器に内蔵される記憶装置に格納される。   Further, a connection list describing unique information of the connected additional hardware may be further maintained. When a device is powered on with additional hardware connected, or when plugged in and played with additional hardware connected to the powered-on device, the device is added first When the hardware is recognized, the arithmetic device writes the specific information of the additional hardware in the connection list. Then, when comparing the unique information, the unique information held by the application is compared with the unique information described in the connection list. The connection list is stored in a storage device built in a device such as a RAM.

以下、図面を用いて本発明のドライバの実行方法および機器の構成例として、実施の形態について説明する。
(実施の形態1)
まず、図1,図2を用いて、実施の形態1における組み込みOSがインストールされた機器について説明する。
DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments will be described as an example of a driver execution method and device configuration according to the present invention with reference to the drawings.
(Embodiment 1)
First, a device in which the embedded OS according to the first embodiment is installed will be described with reference to FIGS.

図1は実施の形態1における組み込みOSがインストールされた機器の構成を示す概略図、図2は実施の形態1におけるドライバの実行方法の概略フローを示す図である。
図1に示すように、実施の形態1における組み込みOSがインストールされた産業用機器等の機器1は、CPU2等の演算装置と、ROM3等の書き換え不能な記憶装置と、RAM4等の書き換え可能な記憶装置と、周辺機器等の外付けのハードウェア5を接続するためのインターフェース6と、機器1の機能に応じた様々な装置(図示せず)等から構成される。以下の説明では、演算装置の例としてCPU2,書き換え不能な記憶装置としてROM3,書き換え可能な記憶装置としてRAM4を備える機器1を例に説明する。
FIG. 1 is a schematic diagram illustrating a configuration of a device in which the embedded OS is installed in the first embodiment, and FIG. 2 is a diagram illustrating a schematic flow of a driver execution method in the first embodiment.
As shown in FIG. 1, a device 1 such as an industrial device in which the embedded OS according to the first embodiment is installed includes an arithmetic device such as a CPU 2, a non-rewritable storage device such as a ROM 3, and a rewritable RAM 4 and the like. An interface 6 for connecting a storage device and external hardware 5 such as a peripheral device, and various devices (not shown) corresponding to the function of the device 1 are configured. In the following description, a device 1 including a CPU 2, a ROM 3 as a non-rewritable storage device, and a RAM 4 as a rewritable storage device will be described as an example of an arithmetic device.

ROM3には、OS7およびドライバ8が格納される。CPU2はOS7を読み出して機器1が行うべき動作を実行させる。OS7およびドライバ8は、機器1の製造段階でROM3に格納され、機器1の出荷の際には、すでに格納され、ユーザー等は格納後に追加や修正を行うことはできない。また、ドライバ8は、OS7のカーネル領域等に格納されていても良いし、OS7の格納領域以外のROM3の記憶領域に格納されていても良い。   The ROM 3 stores an OS 7 and a driver 8. The CPU 2 reads the OS 7 and causes the device 1 to execute an operation to be performed. The OS 7 and the driver 8 are stored in the ROM 3 at the manufacturing stage of the device 1 and are already stored when the device 1 is shipped, and the user or the like cannot add or modify after the storage. The driver 8 may be stored in a kernel area or the like of the OS 7 or may be stored in a storage area of the ROM 3 other than the storage area of the OS 7.

ドライバ8は、1つ以上の特定ドライバ9と1つの仮ドライバ10とから構成される。特定ドライバ9は、機器1に接続されるハードウェア5を動作させるために実行されるドライバに相当する処理手順であり、あらかじめ接続されることが想定されるハードウェア5毎に特定ドライバ9として格納される。ハードウェア5としてあらかじめ接続されることが想定される特定のハードウェアが接続されると、その特定のハードウェアに対応する特定ドライバ9が実行され、その特定のハードウェアを駆動することができる。   The driver 8 includes one or more specific drivers 9 and one temporary driver 10. The specific driver 9 is a processing procedure corresponding to a driver executed to operate the hardware 5 connected to the device 1, and is stored as the specific driver 9 for each hardware 5 assumed to be connected in advance. Is done. When specific hardware that is assumed to be connected in advance as hardware 5 is connected, a specific driver 9 corresponding to the specific hardware is executed, and the specific hardware can be driven.

仮ドライバ10は、上述の特定のハードウェア以外のハードウェア(以下、追加のハードウェアと称す)が機器1に接続された時に読み込まれるものである。例えば、機器1に電源が供給され動作可能状態であるときにUSBデバイスのようなプラグインプレイ対応のデバイスが接続された場合や、機器1にデバイスが接続されている状態で電源が供給された場合に、仮ドライバ10は読み込まれる。仮ドライバ10が読み込まれると、CUP2は、接続された追加のハードウェアからベンダIDやデバイスID等のハードウェアに固有な固有情報を読み出す。さらに、読み出した固有情報と、後述のドライバリスト11に記述された固有情報を比較する。   The temporary driver 10 is read when hardware other than the specific hardware described above (hereinafter referred to as additional hardware) is connected to the device 1. For example, when a power supply is supplied to the device 1 and a device capable of plug-in play such as a USB device is connected, or when a device is connected to the device 1, the power is supplied. In this case, the temporary driver 10 is read. When the temporary driver 10 is read, the CUP 2 reads unique information unique to the hardware such as a vendor ID and a device ID from the connected additional hardware. Further, the read unique information is compared with the unique information described in the driver list 11 described later.

RAM4には、アプリケーションとドライバリスト11が格納される。アプリケーションとしては、ハードウェア5のドライバを備えないアプリケーション12と、そのアプリケーションが使用する追加のハードウェアに対応する追加ドライバ13を備えるアプリケーション14とを格納することができる。   The RAM 4 stores an application and a driver list 11. As applications, an application 12 that does not include a driver for the hardware 5 and an application 14 that includes an additional driver 13 corresponding to additional hardware used by the application can be stored.

ドライバリスト11には、機器1に接続されることが予定される追加のハードウェアのベンダIDやデバイスID等のハードウェアに固有な固有情報が記載される。アプリケーション12,アプリケーション14およびドライバリスト11は、機器1の出荷の段階で格納されていても良いし、必要に応じて、出荷後に格納しても良く、修正,消去することも可能である。特に、接続されるハードウェアがバージョンアップした時や、新たに開発されたハードウェアを使用したい場合に、アプリケーション14およびドライバリスト11を追加,修正することができる。ドライバリスト11は、アプリケーション14に内蔵されていても、外部に格納されても良い。その場合、アプリケーション14が格納されるRAM4やその他の機器1に内蔵される書き換え可能な記憶装置に格納される。さらに、ドライバリスト11の形態でなく、アプリケーション14が、アクセスを許可する追加のハードウェアの固有情報を保持しても良い。   In the driver list 11, unique information unique to hardware such as a vendor ID and a device ID of additional hardware scheduled to be connected to the device 1 is described. The application 12, the application 14, and the driver list 11 may be stored at the time of shipment of the device 1, or may be stored after shipment as necessary, and can be corrected and deleted. In particular, the application 14 and the driver list 11 can be added and modified when the connected hardware is upgraded, or when newly developed hardware is used. The driver list 11 may be built in the application 14 or stored externally. In this case, the application 14 is stored in the rewritable storage device built in the RAM 4 or other device 1. Furthermore, instead of the form of the driver list 11, the application 14 may hold additional hardware specific information that permits access.

このように、実施の形態1における組み込みOSがインストールされた機器1では、あらかじめ、ドライバリスト11は、機器1に接続されることが予定される追加のハードウェアのベンダIDやデバイスID等のハードウェアに固有な固有情報が記載され、使用する追加のハードウェアの追加ドライバ13をアプリケーション14が保持している。そして、この追加のハードウェアを動作させてアプリケーション14が実行される際には、インターフェース6を介して機器1に接続された追加のハードウェアの固有情報が、ドライバリスト11に記載された固有情報に含まれているかどうかを、CPU2が仮ドライバ10を介して確認し、含まれている場合には、アプリケーション14が保持するドライバを用いてCPU2が追加のハードウェアを駆動してアプリケーション14を実行する。これにより、ドライバ8の書き換えや追加をすることができない組み込みOSがインストールされた機器であっても、新たに使用する追加のハードウェアの固有情報をドライバリスト11に記載し、アプリケーション14に追加ドライバ13を保持することにより、あらかじめ対応するドライバが格納されていない追加のハードウェアであっても、機器1に接続して動作させることができる。   As described above, in the device 1 in which the embedded OS according to the first embodiment is installed, the driver list 11 is preliminarily stored in the hardware such as the vendor ID and device ID of additional hardware that is planned to be connected to the device 1. Specific information unique to the hardware is described, and the application 14 holds an additional driver 13 for additional hardware to be used. When the application 14 is executed by operating the additional hardware, the unique information of the additional hardware connected to the device 1 via the interface 6 is the unique information described in the driver list 11. CPU 2 checks whether it is included in the temporary driver 10, and if included, the CPU 2 drives the additional hardware using the driver held by the application 14 and executes the application 14. To do. As a result, even if the device has an embedded OS that cannot be rewritten or added to the driver 8, the unique information of the additional hardware to be newly used is written in the driver list 11, and the additional driver is added to the application 14. By holding 13, even additional hardware that does not store a corresponding driver in advance can be connected to the device 1 and operated.

次に、図10,図11を用いて、ドライバリスト11および仮ドライバ10の機能を説明する。
図10は本発明のドライバリストの機能を例示する図、図11は本発明の仮ドライバの機能を例示する図である。
Next, functions of the driver list 11 and the temporary driver 10 will be described with reference to FIGS.
FIG. 10 is a diagram illustrating the function of the driver list of the present invention. FIG. 11 is a diagram illustrating the function of the temporary driver of the present invention.

図10に例示するように、ドライバリスト11には、アクセスを許可する追加のハードウェアの名称に対応する例えばベンダIDやデバイスID等の固有情報がリストアップされる。   As illustrated in FIG. 10, in the driver list 11, unique information such as a vendor ID and a device ID corresponding to the name of additional hardware that is permitted to access is listed.

追加ドライバ13は、追加のハードウェアにアクセスするために、図11に示すような仮ドライバ10のFunctionを組み合わして作成されたプログラムである。アプリケーション14は、追加ドライバ13を用いることで、追加のハードウェアを使用可能状態としたり、追加のハードウェアにアクセスすることができる。追加のハードウェアにアクセスできるのは、追加ドライバ13が、追加のハードウェアのアドレスへの書込み、または読出しを、仮ドライバ10を介して実行できるためである。   The additional driver 13 is a program created by combining the functions of the temporary driver 10 as shown in FIG. 11 in order to access additional hardware. By using the additional driver 13, the application 14 can make the additional hardware usable and can access the additional hardware. The additional hardware can be accessed because the additional driver 13 can write to or read from the address of the additional hardware via the temporary driver 10.

次に、図1,図2を用いて、実施の形態1における組み込みOSがインストールされた機器におけるドライバの実行方法について詳細に説明する。
上述のように、実施の形態1における組み込みOSがインストールされた機器1では、ROM3に、特定ドライバ9と仮ドライバ10とを有するドライバ8、およびOS7が格納されている。また、RAM4には、追加ドライバ13を保持するアプリケーション14とドライバリスト11が記録されている。ドライバリスト11には、ROM3に格納された特定ドライバ9に対応する特定のハードウェア以外のハードウェアの内、使用を予定する追加のハードウェアの固有情報があらかじめ記載されている。なお、アプリケーション14は複数種類格納されていても良く、他にアプリケーション12を格納していても良い。また、ドライバリスト11にも、複数の追加のハードウェアの固有情報を記述していても良い。また、ドライバリスト11は、アプリケーション14に内蔵されていても、外部に格納されても良い。その場合、アプリケーション14が格納されるRAM4やその他の機器1に内蔵される書き換え可能な記憶装置に格納される。さらに、ドライバリスト11の形態でなく、アプリケーション14が、アクセスを許可する追加のハードウェアの固有情報を保持しても良い。
Next, a method for executing a driver in a device in which the embedded OS according to the first embodiment is installed will be described in detail with reference to FIGS.
As described above, in the device 1 in which the embedded OS according to the first embodiment is installed, the driver 3 having the specific driver 9 and the temporary driver 10 and the OS 7 are stored in the ROM 3. The RAM 4 stores an application 14 that holds the additional driver 13 and a driver list 11. In the driver list 11, unique information of additional hardware scheduled to be used among hardware other than specific hardware corresponding to the specific driver 9 stored in the ROM 3 is described in advance. A plurality of types of applications 14 may be stored, and other applications 12 may be stored. Further, the driver list 11 may also describe specific information of a plurality of additional hardware. The driver list 11 may be built in the application 14 or stored externally. In this case, the application 14 is stored in the rewritable storage device built in the RAM 4 or other device 1. Furthermore, instead of the form of the driver list 11, the application 14 may hold additional hardware specific information that permits access.

このような機器1において、機器1のインターフェース6にハードウェアが接続され、機器1がハードウェアの接続を検出すると(ステップ1)、CPU2は、ドライバ8を読み出して、接続されたハードウェアに対応する特定ドライバ9が含まれるかどうかを確認する(ステップ2)。接続されたハードウェアに対応する特定ドライバ9が含まれる場合、接続されたハードウェアを特定のハードウェアと判断し、CPU2は、従来と同様に、対応するドライバ9を実行して接続された特定のハードウェアを駆動する(ステップ3)。また、接続されたハードウェアに対応する特定ドライバ9が含まれない場合、仮ドライバ10は、ドライバリスト11を読み出すと共に接続されたハードウェアの固有情報を読み出す(ステップ4)。そして、仮ドライバ10は、接続されたハードウェアの固有情報がドライバリスト11に記載されているかどうかを比較する(ステップ5)。比較した結果、固有情報が一致しない場合は、機器1が接続されたハードウェアに対応するドライバを備えていないので、接続されたハードウェアは駆動されない(ステップ6)。比較した結果、固有情報が一致する場合は、接続されたハードウェアは追加のハードウェアであると判断し、CPU2は接続された追加のハードウェアの駆動を許可し、仮ドライバ10はアプリケーション14から追加ドライバ13を読み出す(ステップ7)。CPU2は、読み出した追加ドライバ13を用いて接続された追加のハードウェアを駆動して、アプリケーション14を実行する(ステップ8)。   In such a device 1, when hardware is connected to the interface 6 of the device 1 and the device 1 detects hardware connection (step 1), the CPU 2 reads the driver 8 and corresponds to the connected hardware. It is confirmed whether or not the specific driver 9 to be included is included (step 2). When the specific driver 9 corresponding to the connected hardware is included, the connected hardware is determined as the specific hardware, and the CPU 2 executes the corresponding driver 9 as in the conventional case, and is connected. Is driven (step 3). If the specific driver 9 corresponding to the connected hardware is not included, the temporary driver 10 reads the driver list 11 and reads the unique information of the connected hardware (step 4). Then, the temporary driver 10 compares whether the unique information of the connected hardware is described in the driver list 11 (step 5). If the unique information does not match as a result of comparison, the connected hardware is not driven because the driver corresponding to the hardware to which the device 1 is connected is not provided (step 6). As a result of the comparison, if the unique information matches, it is determined that the connected hardware is additional hardware, the CPU 2 permits driving of the connected additional hardware, and the temporary driver 10 is received from the application 14. The additional driver 13 is read (step 7). The CPU 2 drives the additional hardware connected using the read additional driver 13 and executes the application 14 (step 8).

従来の、書き換え不能な記憶装置にOSおよびドライバが固定されている、組み込みOSがインストールされた機器では、ドライバの追加,修正ができないので、あらかじめ使用することを想定してドライバを格納した特定のハードウェア以外のハードウェアを、機器に接続して駆動することができなかった。これに対して、上述の実施の形態1における組み込みOSがインストールされた機器およびこの機器におけるドライバの実行方法では、特定のハードウェア以外の追加のハードウェアの追加ドライバ13はアプリケーション14に保持され、追加のハードウェアの固有情報はドライバリスト11に記述される。そのため、接続された追加のハードウェアの固有情報がドライバリスト11に記述されている場合には、追加のハードウェアは駆動を許可され、アプリケーション14が保持する追加ドライバ11を用いて追加のハードウェアは駆動される。その結果、追加ドライバ13を保持するアプリケーション14およびドライバリスト11を書き換え可能な記憶装置に格納することにより、ドライバが格納された特定のハードウェア以外の追加のハードウェアであっても、機器1に接続して使用することができる。このように、実施の形態1に係る機器1およびドライバの実行方法は、OS7およびドライバ8の組み込み時に接続を予定していなかった追加のハードウェアを接続して使用できるようになり、出荷時のドライバの有無に関わらず、接続するハードウェアの選択を自由に行うことができるようになる。また、特定ドライバ9を格納していた特定のハードウェアであっても、対応するドライバが更新される時がある。この場合でも、実施の形態1に係る機器1およびドライバの実行方法は、更新されたドライバをアプリケーション14に追加ドライバ13として格納することにより、ドライバの更新された特定のハードウェアを継続して使用することができる。   In a conventional device in which an OS and a driver are fixed to a non-rewritable storage device and an embedded OS is installed, a driver cannot be added or modified. Hardware other than hardware could not be connected to the device and driven. On the other hand, in the device in which the embedded OS is installed in the first embodiment and the driver execution method in this device, the additional driver 13 of additional hardware other than specific hardware is held in the application 14. Specific information of the additional hardware is described in the driver list 11. Therefore, when the specific information of the connected additional hardware is described in the driver list 11, the additional hardware is permitted to drive, and the additional hardware is stored using the additional driver 11 held by the application 14. Is driven. As a result, by storing the application 14 holding the additional driver 13 and the driver list 11 in a rewritable storage device, even if additional hardware other than the specific hardware in which the driver is stored is stored in the device 1. Can be connected and used. As described above, the device 1 and driver execution method according to the first embodiment can be used by connecting additional hardware that was not planned to be connected when the OS 7 and the driver 8 were incorporated. It becomes possible to freely select the hardware to be connected regardless of the presence or absence of a driver. In addition, even in the case of specific hardware storing the specific driver 9, the corresponding driver may be updated. Even in this case, the device 1 and the driver execution method according to the first embodiment store the updated driver as the additional driver 13 in the application 14 to continuously use the updated specific hardware of the driver. can do.

なお、機器1がアプリケーション14を実行する際に接続が許可された追加のハードウェアにアクセスするメモリの領域やI/O等のリソースをあらかじめ特定しておき、仮ドライバ10によって、追加のハードウェアにアクセスできるリソースを制限するようにすることもできる。これにより、アクセスできるリソース以外のリソースに対して追加のハードウェアにアクセスすることを防止でき、アプリケーション14の不正な動作や、追加のハードウェアの不具合等により、不適切な動作やデータの書き換えが行われ、リソース等に障害が生じることを防止することができる。
例えば、アプリケーションが、汎用ドライバにSystem ROM消去命令を実行する不正なI/Oアクセスを要求した場合で、I/Oアクセスの制限が行われていない場合、OSが格納されたSystem ROMが消去され、その後、機器1は動作しない状況に陥る。
In addition, when the device 1 executes the application 14, resources such as a memory area and I / O for accessing additional hardware permitted to be connected are specified in advance, and the temporary hardware 10 is used to add the additional hardware. You can also limit the resources that can be accessed. As a result, it is possible to prevent access to additional hardware for resources other than accessible resources, and inappropriate operation or rewriting of data due to an illegal operation of the application 14 or a defect in the additional hardware. It is possible to prevent occurrence of a failure in resources and the like.
For example, if an application requests an unauthorized I / O access to execute a system ROM erase command from a general-purpose driver and the I / O access is not restricted, the system ROM storing the OS is erased. Thereafter, the device 1 falls into a state where it does not operate.

これに対して、致命的な不具合を発生させる可能性のあるリソースへのI/Oアクセスの制限を行っている場合、不正な処理はドライバ内で阻止され、機器やハードウェアの保護が可能となる。
(実施の形態2)
次に、図1〜図3を用いて、実施の形態2における組み込みOSがインストールされた機器およびこの機器におけるドライバの実行方法について説明する。
On the other hand, if I / O access to a resource that may cause a fatal failure is restricted, unauthorized processing is blocked in the driver, enabling protection of equipment and hardware. Become.
(Embodiment 2)
Next, a device in which the embedded OS according to the second embodiment is installed and a driver execution method in this device will be described with reference to FIGS.

図3は実施の形態2における暗号化キーを用いた処理を行う構成を示す概略図である。
図1〜図3に示すように、実施の形態2における組み込みOSがインストールされた機器19は、実施の形態1における組み込みOSがインストールされた機器1において、アプリケーション18としてアプリケーション14に暗号化キー15をさらに加えて、追加のハードウェア16にも暗号化キー15と同一の暗号化キー17をさらに保持させる。ここで、図3において、アプリケーション18,仮ドライバ10,追加のハードウェア16以外の構成は、図1における機器1の構成と同様で有り、図示を省略している。このような構成の機器19において、図2のステップ5における固有情報の比較の際に、アプリケーション18が保持する暗号化キー15と追加のハードウェア16が保持する暗号化キー17とを比較する。そして、暗号化キー15,17が一致した場合のみ、追加のハードウェア16を使用する許可を出すようにする。つまり、固有情報が一致したとしても、暗号化キー15,17が一致しない場合は、追加のハードウェア16を使用する許可を出さない。これにより、追加のハードウェア16が保持する暗号化キー17と同一の暗号化キー15を保持するアプリケーション18のみを実行させることができ、意図しないアプリケーションからの追加のハードウェア16の使用を回避することができる。
FIG. 3 is a schematic diagram showing a configuration for performing processing using the encryption key in the second embodiment.
As shown in FIGS. 1 to 3, the device 19 in which the embedded OS in the second embodiment is installed is an encryption key 15 in the application 14 as the application 18 in the device 1 in which the embedded OS in the first embodiment is installed. In addition, the additional hardware 16 further holds the same encryption key 17 as the encryption key 15. In FIG. 3, the configuration other than the application 18, the temporary driver 10, and the additional hardware 16 is the same as the configuration of the device 1 in FIG. In the device 19 having such a configuration, the encryption key 15 held by the application 18 is compared with the encryption key 17 held by the additional hardware 16 when the unique information is compared in step 5 of FIG. Then, only when the encryption keys 15 and 17 match, permission to use the additional hardware 16 is issued. That is, even if the unique information matches, if the encryption keys 15 and 17 do not match, permission to use the additional hardware 16 is not issued. As a result, only the application 18 holding the same encryption key 15 as the encryption key 17 held by the additional hardware 16 can be executed, and the use of the additional hardware 16 from an unintended application is avoided. be able to.

以下、図1〜図9を用いて、実施の形態1の機器1および実施の形態2の機器19の具体的な構成を例示する。
機器1や機器19は、例えば、工場のラインにおいて、センサの解析装置や各種検査装置、空冷用ファンの制御装置等に用いられる。また、機器1,19に接続されるハードウェアとしては、デジタルI/OやAD/DAコンバータ、シリアル通信デバイス,センサ,アクチュエータ等が用いられる。
Hereinafter, specific configurations of the device 1 according to the first embodiment and the device 19 according to the second embodiment will be illustrated with reference to FIGS.
The device 1 and the device 19 are used, for example, as sensor analysis devices, various inspection devices, air cooling fan control devices, and the like in factory lines. As hardware connected to the devices 1 and 19, digital I / O, AD / DA converter, serial communication device, sensor, actuator, and the like are used.

工場のセンサの解析装置は、機器1,19にハードウェアとしてセンサが接続された構成であり、センサによって工場のラインで生産される製品の数量や品質データ等を取得し、機器1,19でデータ解析、その他の処理を行う。   The factory sensor analyzer has a configuration in which sensors are connected as hardware to the devices 1 and 19, and the devices 1 and 19 acquire the quantity and quality data of products produced on the factory line by the sensors. Perform data analysis and other processing.

図4はセンサ解析装置の初期設計時の構成例で、仮ドライバ10はセンサ解析装置に組み込まれているが、使用されていない状態である。図4の構成例に対して、例えば新製品の生産のために、工場のラインに変更を加え、センサが変更された構成例を図5に示す。
この構成例では、アプリケーション14の追加、及び、図4における温度センサ24を赤外線センサ25へ変更することで、従来では生産できなかった新製品の生産への対応が行えるようになる。
FIG. 4 shows a configuration example at the time of initial design of the sensor analysis device. The temporary driver 10 is incorporated in the sensor analysis device but is not used. FIG. 5 shows a configuration example in which the sensor is changed by changing the factory line for the production example of FIG. 4 to produce a new product, for example.
In this configuration example, by adding the application 14 and changing the temperature sensor 24 in FIG. 4 to the infrared sensor 25, it becomes possible to cope with the production of new products that could not be produced conventionally.

工場の検査装置は、機器1,19にハードウェアとして検査用ツールが接続された構成であり、検査用ツールで取得したデータを読み込み、機器1,19でデータ解析して検査の判定を行う。   The inspection apparatus in the factory has a configuration in which an inspection tool is connected as hardware to the devices 1 and 19, reads data acquired by the inspection tool, analyzes data by the devices 1 and 19, and determines an inspection.

図6は検査装置の初期設計時の構成例で、ここでの検査対象26はコンピュータを想定しており、各種デバイス(LAN,USB,Audio,COM)を搭載している。検査装置は、これらの各種デバイスに対して検査を行う。図6の構成例に対して、GPIBデバイスを搭載したコンピュータである新検査対象27を追加する場合の構成例を図7に示す。   FIG. 6 shows a configuration example at the time of initial design of the inspection apparatus. Here, the inspection object 26 is assumed to be a computer, and various devices (LAN, USB, Audio, COM) are mounted. The inspection apparatus inspects these various devices. FIG. 7 shows a configuration example when a new inspection object 27, which is a computer equipped with a GPIB device, is added to the configuration example of FIG.

この構成例では、アプリケーション14の追加、及び、検査用ツール33を新検査用ツール28へ変更することで、従来では検査できなかった新製品の検査ができるようになる。なお、新検査ツール28への変更は、検査対象27に対してGPIBデバイスを追加で搭載することで可能となる。   In this configuration example, by adding the application 14 and changing the inspection tool 33 to the new inspection tool 28, it is possible to inspect a new product that could not be inspected conventionally. Note that the new inspection tool 28 can be changed by additionally mounting a GPIB device on the inspection object 27.

空冷用ファンの制御装置は、機器1,19にハードウェアとして温度センサとファンが接続された構成であり、冷却対象に温度センサを設置し、測定した温度を解析して、冷却対象を冷却するファンの風量の増減,稼動/停止を制御する。   The control device for the air cooling fan has a configuration in which a temperature sensor and a fan are connected to the devices 1 and 19 as hardware. The temperature sensor is installed on the cooling target, the measured temperature is analyzed, and the cooling target is cooled. Controls the increase / decrease and operation / stop of the fan air volume.

図8は空冷用ファンの制御装置の初期設計時の構成例で、仮ドライバ10はセンサ解析装置に組み込まれているが、使用されていない状態である。図8の構成例に対して、より性能の良い冷却対象に変更し、温度センサ29、ファン30を温度センサ31、ファン32変更した構成例を図9に示す。   FIG. 8 shows an example of a configuration at the time of initial design of the control device for the air cooling fan. The temporary driver 10 is incorporated in the sensor analysis device but is not used. FIG. 9 shows a configuration example in which the temperature sensor 29 and the fan 30 are changed to the temperature sensor 31 and the fan 32 in the configuration example of FIG.

この構成例では、アプリケーション14の追加、温度センサ29とファン30を新温度センサ31、新ファン32へ変更することで、工場内の冷却対象の性能向上に伴い消費電力が増加し、発熱量が増加する場合に、ファンの排熱能力を向上させ、冷却対象を正常に動作させることができる。   In this configuration example, by adding the application 14 and changing the temperature sensor 29 and the fan 30 to the new temperature sensor 31 and the new fan 32, the power consumption increases with the performance improvement of the cooling target in the factory, and the heat generation amount is reduced. When it increases, the exhaust heat capacity of the fan can be improved and the object to be cooled can be operated normally.

このような機器1,19において、接続するハードウェアを変更する事情が生じた場合で、機器1,19にそのハードウェアに対応するドライバが格納されていない場合でも、アプリケーション14,18に追加ドライバ13を保持させ、接続する追加のハードウェア16の固有情報をドライバリスト11に記載することにより、適切な追加のハードウェア16が接続されたことを確認して追加のハードウェア16の使用を許可し、アプリケーション14,18が保持する追加ドライバ13により追加のハードウェア16を駆動させることができるため、組み込みOSがインストールされた機器においても、新たに接続される追加のハードウェア16を接続して使用することができる。
(実施の形態3)
次に、図2,図12〜図13を用いて、実施の形態3における組み込みOSがインストールされた機器およびこの機器におけるドライバの実行方法について説明する。
Even if such devices 1 and 19 have a situation where the hardware to be connected is changed and the devices 1 and 19 do not store a driver corresponding to the hardware, additional drivers are added to the applications 14 and 18. 13, and the unique information of the additional hardware 16 to be connected is described in the driver list 11, thereby confirming that the appropriate additional hardware 16 is connected and permitting the use of the additional hardware 16. In addition, since the additional hardware 16 can be driven by the additional driver 13 held by the applications 14 and 18, the newly installed additional hardware 16 is also connected to the device in which the embedded OS is installed. Can be used.
(Embodiment 3)
Next, a device in which the embedded OS according to the third embodiment is installed and a driver execution method in this device will be described with reference to FIGS.

図12は実施の形態3における組み込みOSがインストールされた機器の構成を示す概略図、図13は実施の形態3におけるドライバの実行方法の概略フローを示す図である。
実施の形態3における組み込みOSがインストールされた機器およびこの機器におけるドライバの実行方法は、実施の形態1,2において、アプリケーションが追加のハードウェアにアクセスする度に固有情報の比較を行っていたのに対し、あらかじめ記録されたアクセス許可されたハードウェアの固有情報と、接続されたハードウェアの固有情報との比較を1度だけ行うことを特徴とする。そのため、実施の形態1,2のドライバの実行方法および機器に対し、アクセス許可リストをさらに備える点が異なる。アクセス許可リストは、あらかじめ記録されたアクセス許可されたハードウェアの固有情報と、接続されたハードウェアの固有情報との比較を行った結果、一致した場合にその固有情報を記録する。
FIG. 12 is a schematic diagram showing a configuration of a device in which the embedded OS is installed in the third embodiment, and FIG. 13 is a diagram showing a schematic flow of a driver execution method in the third embodiment.
In the device in which the embedded OS is installed in the third embodiment and the driver execution method in this device, the unique information is compared each time the application accesses additional hardware in the first and second embodiments. On the other hand, the unique information of the permitted hardware recorded in advance and the unique information of the connected hardware are compared only once. Therefore, the driver execution methods and devices of the first and second embodiments are different in that an access permission list is further provided. The access permission list records the unique information in the case where they match as a result of the comparison between the unique information of the permitted hardware recorded in advance and the unique information of the connected hardware.

以下、実施の形態1,2と異なる部分を中心に説明し、その他の説明は省略する。
図12における本実施の形態の機器20は、図1に示す実施の形態1,2の機器1に対して、アクセス許可リスト21をさらに設ける点がことなる。なお、図12においては、ドライバリストを設けず、アプリケーション22が追加を許可する追加のハードウェアの固有情報23を保持する構成を示し、以下この構成について説明する。
Hereinafter, the description will focus on the parts different from the first and second embodiments, and the other description will be omitted.
12 differs from the device 1 of the first and second embodiments shown in FIG. 1 in that an access permission list 21 is further provided. In FIG. 12, a configuration is shown in which a driver list is not provided and the specific information 23 of additional hardware that is permitted to be added by the application 22 is held. This configuration will be described below.

アクセス許可リスト21は、RAM24等の書き換え可能な記憶装置に格納される。アクセス許可リスト21には、機器20に接続された追加のハードウェアから取得した固有情報と、アプリケーション22に保持された固有情報23とを比較し、一致した場合にその固有情報が書き込まれる。つまり、最初にアプリケーションが追加のハードウェアにアクセスしようとした時に、機器20に接続されているハードウェアが、アクセス許可された追加のハードウェアか否かを確認するために、機器20に接続された追加のハードウェアから取得した固有情報と、アプリケーション22に保持された固有情報23とを比較したときに、一致した固有情報がアクセス許可リスト21に書き込まれる。   The access permission list 21 is stored in a rewritable storage device such as the RAM 24. In the access permission list 21, the unique information acquired from the additional hardware connected to the device 20 is compared with the unique information 23 held in the application 22, and the unique information is written when they match. That is, when the application first tries to access the additional hardware, the hardware connected to the device 20 is connected to the device 20 in order to check whether the additional hardware is permitted to access. When the unique information acquired from the additional hardware is compared with the unique information 23 held in the application 22, the matched unique information is written in the access permission list 21.

CPU2は、アプリケーション22が追加のハードウェアにアクセスされた場合、アクセス許可リスト21を読み込み、アクセス許可リスト21にアプリケーション22に保持された固有情報23が書き込まれているかどうかを確認し、書き込まれている場合は、追加のハードウェアの動作を許可する。書き込まれていない場合は、機器20に接続された追加のハードウェアから取得した固有情報と、アプリケーション22に保持された固有情報23とを比較し、一致した場合にのみ、追加のハードウェアの動作を許可する。   When the application 22 is accessed by additional hardware, the CPU 2 reads the access permission list 21 and checks whether the unique information 23 held in the application 22 is written in the access permission list 21. If so, allow additional hardware operation. If not written, the unique information acquired from the additional hardware connected to the device 20 is compared with the unique information 23 held in the application 22, and the operation of the additional hardware is performed only when they match. Allow.

これ以外の構成は、実施の形態1,2と同様であり、説明を省略する。
次に、実施の形態3における図12に示す機器を用いたドライバの実行方法について、図2,図12,図13を用いて説明する。
Other configurations are the same as those of the first and second embodiments, and the description thereof is omitted.
Next, a driver execution method using the device shown in FIG. 12 in the third embodiment will be described with reference to FIGS.

まず、図2に示す実施の形態1,2のドライバの実行方法と同様に、特定ドライバが接続されている場合には、ドライバ9を実行して接続された特定のハードウェアを駆動する(図2のステップ1〜3)。   First, similarly to the driver execution method of the first and second embodiments shown in FIG. 2, when a specific driver is connected, the driver 9 is executed to drive the connected specific hardware (FIG. 2 steps 1-3).

次に、実施の形態1,2のドライバの実行方法と同様に接続された追加のハードウェアが、アプリケーションがアクセスすることを許可するものかどうかを確認する。実施の形態1,2のドライバの実行方法では、アプリケーションが追加のハードウェアにアクセスする毎に、あらかじめ記憶した固有情報と追加のアプリケーションの固有情報とを比較したが(図2のステップ4以降)、本実施の形態では、アクセス許可リスト21を用いる。   Next, it is confirmed whether or not the additional hardware connected in the same way as the driver execution method of the first and second embodiments permits the application to access. In the driver execution methods of the first and second embodiments, each time the application accesses additional hardware, the pre-stored unique information is compared with the unique information of the additional application (step 4 and subsequent steps in FIG. 2). In this embodiment, the access permission list 21 is used.

以下、図2のステップ5以降に代わる工程について、図13を用いて説明する。
まず、アプリケーション22は、追加のハードウェアにアクセスする場合、あらかじめ記憶したアクセスしようとする追加のハードウェアの固有情報がアクセス許可リスト21に書き込まれているかどうかを確認する(ステップ11)。固有情報が、許可リスト21に書き込まれている固有情報と一致する場合は、図2のステップ7,8と同様に追加のハードウェアを動作させる(ステップ12)。アクセス許可リスト21に対応する固有情報が書き込まれていない場合、あらかじめ記憶した固有情報と、接続された追加のハードウェアの固有情報とを比較する(ステップ13)。一致しない場合は、追加のハードウェアを動作させない(ステップ13)。一致する場合は、その固有情報をアクセス許可リスト21に書き込むと共に(ステップ15)、ステップ12と同様に追加のハードウェアを動作させる(ステップ16)。
In the following, a process replacing step 5 and subsequent steps in FIG. 2 will be described with reference to FIG.
First, when accessing the additional hardware, the application 22 checks whether or not the specific information of the additional hardware to be accessed that has been stored in advance is written in the access permission list 21 (step 11). If the unique information matches the unique information written in the permission list 21, additional hardware is operated in the same manner as steps 7 and 8 in FIG. 2 (step 12). If the unique information corresponding to the access permission list 21 is not written, the unique information stored in advance is compared with the unique information of the connected additional hardware (step 13). If they do not match, the additional hardware is not operated (step 13). If they match, the unique information is written in the access permission list 21 (step 15), and additional hardware is operated in the same manner as in step 12 (step 16).

このように本実施の形態のドライバの実行方法では、まず、アプリケーション22が最初に追加のハードウェアにアクセスする時は、あらかじめアクセスを許可された追加のハードウェアの固有情報と、接続された追加のハードウェアの固有情報を比較する。そして、一致する場合は、追加のハードウェアを駆動してアプリケーション22を動作させると共に、アクセス許可リスト21に一致した固有情報を書き込む。その後、アプリケーションが追加のハードウェアにアクセスする時は、接続された追加のハードウェアの固有情報を確認することなく、アプリケーション22がアクセスしようとする追加のハードウェアの固有情報と、アクセス許可リスト21に記録された固有情報とを比較し、アプリケーション22が継続して同じ追加のハードウェアにアクセスしていることを確認し、追加のハードウェアを駆動してアプリケーション22を動作させる。これにより、アプリケーション22が追加のハードウェアにアクセスする度に、追加のハードウェアから固有情報を取得する必要がなくなり、処理が簡便になり、処理速度も向上する。   As described above, in the driver execution method according to the present embodiment, first, when the application 22 accesses the additional hardware for the first time, the specific information of the additional hardware permitted to be accessed in advance and the connected additional information. Compare hardware specific information. If they match, the additional hardware is driven to operate the application 22 and the unique information matching the access permission list 21 is written. Thereafter, when the application accesses the additional hardware, the specific information of the additional hardware that the application 22 tries to access and the access permission list 21 without checking the specific information of the connected additional hardware. Are compared with the unique information recorded in the above, confirming that the application 22 is continuously accessing the same additional hardware, and driving the additional hardware to operate the application 22. This eliminates the need to acquire specific information from the additional hardware every time the application 22 accesses the additional hardware, simplifies the processing, and improves the processing speed.

なお、上記説明では、ドライバリストを用いない場合を例に説明したが、実施の形態1,2のように、あらかじめアプリケーションがアクセスすることを許可する追加のハードウェアの固有情報が記録されたドライバリストを用いることもできる。   In the above description, the case where the driver list is not used has been described as an example. However, as in the first and second embodiments, a driver in which specific information of additional hardware that is permitted to be accessed by an application is recorded in advance. A list can also be used.

さらに、上記各実施の形態において、接続された追加のハードウェアの固有情報を記憶する、接続リストを設けても良い。固有情報の比較の際に、接続リストに記憶された固有情報を用いることにより、比較の度に追加のハードウェアから固有情報を取得する必要がなくなり、処理が簡便になり、処理速度も向上する。なお、接続された追加のハードウェアの固有情報の取得は、追加のハードウェアが接続された状態で機器に電源が投入された際や、電源が投入されている機器に追加のハードウェアを接続してプラグ&プレイされた時等の、機器が最初に追加のハードウェアを認識した時に行うことができる。この取得した固有情報が接続リストに記憶される。   Further, in each of the above-described embodiments, a connection list may be provided that stores unique information of the connected additional hardware. By using the unique information stored in the connection list when comparing the unique information, it is not necessary to acquire the unique information from additional hardware each time the comparison is made, the processing becomes simple, and the processing speed is improved. . In addition, acquisition of the specific information of the connected additional hardware is performed when the device is turned on with the additional hardware connected, or the additional hardware is connected to the device that is turned on. This can be done when the device first recognizes additional hardware, such as when plugged and played. The acquired unique information is stored in the connection list.

1 機器
2 CPU
3 ROM
4 RAM
5 ハードウェア
6 インターフェース
7 OS
8 ドライバ
9 特定ドライバ
10 仮ドライバ
11 ドライバリスト
12 アプリケーション
13 追加ドライバ
14 アプリケーション
15 暗号化キー
16 追加のハードウェア
17 暗号化キー
18 アプリケーション
19 機器
20 機器
21 アクセス許可リスト
22 アプリケーション
23 固有情報
24 温度センサ
25 赤外線センサ
26 検査対象
27 検査対象
28 新検査用ツール
29 温度センサ
30 ファン
31 温度センサ
32 ファン
33 検査用ツール
1 Device 2 CPU
3 ROM
4 RAM
5 Hardware 6 Interface 7 OS
8 Driver 9 Specific driver 10 Temporary driver 11 Driver list 12 Application 13 Additional driver 14 Application 15 Encryption key 16 Additional hardware 17 Encryption key 18 Application 19 Device 20 Device 21 Access permission list 22 Application 23 Specific information 24 Temperature sensor 25 Infrared sensor 26 Inspection object 27 Inspection object 28 New inspection tool 29 Temperature sensor 30 Fan 31 Temperature sensor 32 Fan 33 Inspection tool

Claims (12)

組み込みOSおよび特定のハードウェアに対応する特定ドライバが書き換え不能な状態で格納される機器に前記特定のハードウェアと異なる追加のハードウェアを接続してアプリケーションを実行するに際し、
前記アプリケーションは前記追加のハードウェアに対応する追加ドライバを保持し、前記機器はアクセスを許可する追加のハードウェアの固有情報を記憶しており、
前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とを比較する比較工程と、
前記比較工程で前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とが一致する場合には前記追加ドライバを用いて前記追加のハードウェアを動作させる動作工程と
を有することを特徴とするドライバの実行方法。
When executing an application by connecting additional hardware different from the specific hardware to a device in which a specific driver corresponding to the embedded OS and specific hardware is stored in a non-rewritable state,
The application holds an additional driver corresponding to the additional hardware, and the device stores specific information of the additional hardware that permits access,
A comparison step of comparing the unique information stored in the device with the unique information of the additional hardware;
An operation step of operating the additional hardware using the additional driver when the unique information stored in the device in the comparison step matches the unique information of the additional hardware. How to run the driver.
前記比較工程を、前記アプリケーションが前記追加のハードウェアにアクセスする毎に行うことを特徴とする請求項1記載のドライバの実行方法。   2. The method of executing a driver according to claim 1, wherein the comparison step is performed each time the application accesses the additional hardware. 組み込みOSおよび特定のハードウェアに対応する特定ドライバが書き換え不能な状態で格納される機器に前記特定のハードウェアと異なる追加のハードウェアを接続してアプリケーションを実行するに際し、
前記アプリケーションは前記追加のハードウェアに対応する追加ドライバを保持し、前記機器はアクセスを許可する追加のハードウェアの固有情報を記憶しており、
前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とを比較する比較工程と、
前記比較工程で前記アプリケーションが記憶する固有情報と前記追加のハードウェアの固有情報とが一致する場合にはアクセス許可リストに一致した固有情報を記憶させる固有情報記憶工程と、
前記アプリケーションがアクセスする追加のハードウェアの固有情報が前記アクセス許可リストに記憶されている場合および前記比較工程で前記機器が記憶する固有情報と前記追加のハードウェアの固有情報とが一致する場合には前記追加ドライバを用いて前記追加のハードウェアを動作させる動作工程と
を有することを特徴とするドライバの実行方法。
When executing an application by connecting additional hardware different from the specific hardware to a device in which a specific driver corresponding to the embedded OS and specific hardware is stored in a non-rewritable state,
The application holds an additional driver corresponding to the additional hardware, and the device stores specific information of the additional hardware that permits access,
A comparison step of comparing the unique information stored in the device with the unique information of the additional hardware;
A unique information storage step of storing the unique information that matches the access permission list when the unique information stored by the application in the comparison step matches the unique information of the additional hardware;
When the unique information of the additional hardware accessed by the application is stored in the access permission list and when the unique information stored by the device in the comparison step matches the unique information of the additional hardware Comprises a step of operating the additional hardware using the additional driver.
前記機器が記憶する固有情報は、前記アプリケーションに格納されることを特徴とする請求項1〜請求項3のいずれか1項に記載のドライバの実行方法。   The method for executing a driver according to any one of claims 1 to 3, wherein the unique information stored in the device is stored in the application. 前記アプリケーションが記憶する固有情報は、1または複数の前記アプリケーションが記憶する固有情報をドライバリストとして保持されることを特徴とする請求項1〜請求項4のいずれか1項に記載のドライバの実行方法。   5. The driver execution according to claim 1, wherein the unique information stored by the application is stored as a driver list of unique information stored by one or more of the applications. Method. 前記機器に接続された前記追加のハードウェアの固有情報を接続リストに記憶する工程をさらに有し、前記比較工程において、前記追加のハードウェアの固有情報として前記接続リストに記憶された固有情報を用いて比較することを特徴とする請求項1〜請求項5のいずれか1項に記載のドライバの実行方法。   A step of storing in the connection list unique information of the additional hardware connected to the device, and in the comparison step, the unique information stored in the connection list as unique information of the additional hardware The driver execution method according to claim 1, wherein the driver execution method is used for comparison. あらかじめ前記追加のハードウェアがアクセスすることを許可するリソースを設定しておき、前記動作工程において、前記追加のハードウェアを動作させる際に、許可された前記リソース以外のリソースに前記追加のハードウェアがアクセスすることを禁止することを特徴とする請求項1〜請求項6のいずれか1項に記載のドライバの実行方法。   A resource that allows the additional hardware to access is set in advance, and when the additional hardware is operated in the operation step, the additional hardware is added to a resource other than the permitted resource. 7. The method of executing a driver according to claim 1, wherein access to the driver is prohibited. あらかじめ前記アプリケーションおよび前記追加のハードウェアに同一の暗号キーを格納しておき、前記比較工程において前記アプリケーションが保持する暗号キーと前記追加のハードウェアが保持する暗号キーとを比較し、一致する場合のみ、前記動作工程において前記アプリケーションに保持されているドライバを用いて前記追加のハードウェアを動作させることを特徴とする請求項1〜請求項7のいずれか1項に記載のドライバの実行方法。   When the same encryption key is stored in advance in the application and the additional hardware, the encryption key held by the application is compared with the encryption key held by the additional hardware in the comparison step, and they match The driver execution method according to claim 1, wherein the additional hardware is operated using a driver held in the application in the operation step. ハードウェアが外付けされてアプリケーションを実行する機器であって、
演算装置と、
組み込みOSおよびドライバがインストールされる書き換え不能な記憶装置と、
追加のハードウェアの固有情報および前記アプリケーションを記憶する書き換え可能な記憶装置と
を有し、前記ドライバはあらかじめ定められた特定のハードウェアに対応する特定ドライバと前記特定のハードウェア以外の前記追加のハードウェアの使用を許可する仮ドライバとからなり、前記演算装置は、前記機器に外付けされるハードウェアが前記特定のハードウェアの場合は前記特定ドライバで前記特定のハードウェアを動作させ、前記追加のハードウェアの場合は前記仮ドライバを介して前記固有情報の一致を確認して前記アプリケーションに保持されているドライバを用いて前記追加のハードウェアを動作させることを特徴とする機器。
A device that has external hardware and executes applications,
An arithmetic unit;
A non-rewritable storage device in which an embedded OS and drivers are installed;
Rewritable storage device for storing additional hardware specific information and the application, the driver is a specific driver corresponding to a predetermined specific hardware and the additional hardware other than the specific hardware A temporary driver that permits the use of hardware, and when the hardware externally attached to the device is the specific hardware, the arithmetic device operates the specific hardware with the specific driver, In the case of additional hardware, the device confirms the match of the unique information via the temporary driver, and operates the additional hardware using a driver held in the application.
前記アプリケーションが前記追加のハードウェアの固有情報を保持することを特徴とする請求項9記載の機器。   The device according to claim 9, wherein the application holds unique information of the additional hardware. あらかじめ前記追加のハードウェアがアクセスすることを許可するリソースを設定しておき、前記追加のハードウェアを動作させる際に、許可された前記リソース以外のリソースに前記追加のハードウェアがアクセスすることを禁止することを特徴とする請求項9または請求項10に記載の機器。   A resource that allows the additional hardware to access is set in advance, and when the additional hardware is operated, the additional hardware accesses a resource other than the permitted resource. The device according to claim 9 or 10, wherein the device is prohibited. あらかじめ前記アプリケーションおよび前記追加のハードウェアに同一の暗号キーを格納しておき、前記アプリケーションが保持する暗号キーと前記追加のハードウェアが保持する暗号キーとを比較し、一致する場合のみ、前記アプリケーションに保持されているドライバを用いて前記追加のハードウェアを動作させることを特徴とする請求項9〜請求項11のいずれか1項に記載の機器。   The same encryption key is stored in advance in the application and the additional hardware, the encryption key held by the application is compared with the encryption key held by the additional hardware, and only when the two match, the application The device according to claim 9, wherein the additional hardware is operated using a driver held in the device.
JP2014219804A 2014-10-29 2014-10-29 Driver execution method and device Active JP5943984B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014219804A JP5943984B2 (en) 2014-10-29 2014-10-29 Driver execution method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014219804A JP5943984B2 (en) 2014-10-29 2014-10-29 Driver execution method and device

Publications (2)

Publication Number Publication Date
JP2016085696A true JP2016085696A (en) 2016-05-19
JP5943984B2 JP5943984B2 (en) 2016-07-05

Family

ID=55973752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014219804A Active JP5943984B2 (en) 2014-10-29 2014-10-29 Driver execution method and device

Country Status (1)

Country Link
JP (1) JP5943984B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026602A1 (en) * 2004-08-02 2006-02-02 Duplichan Steven S Application with multiple embedded drivers
JP2006202108A (en) * 2005-01-21 2006-08-03 Canon Inc Built-in device
JP2015162214A (en) * 2014-02-28 2015-09-07 富士通株式会社 Terminal device, external peripheral device, server device, device driver program, and external peripheral device control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026602A1 (en) * 2004-08-02 2006-02-02 Duplichan Steven S Application with multiple embedded drivers
JP2006202108A (en) * 2005-01-21 2006-08-03 Canon Inc Built-in device
JP2015162214A (en) * 2014-02-28 2015-09-07 富士通株式会社 Terminal device, external peripheral device, server device, device driver program, and external peripheral device control method

Also Published As

Publication number Publication date
JP5943984B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
CN104850762B (en) Prevent the undesirable method of the movement of computer, computer program and computer
CN102298529B (en) Providing silicon integrated code for a system
US9836417B2 (en) Bridge configuration in computing devices
JP2015222474A (en) Method, computer program and computer for repairing variable set
JP2011210129A (en) Storage device, data processing device, registration method, and computer program
US10810311B2 (en) Internet-of-things module
TWI423064B (en) A method and apparatus for coupling a computer memory and a motherboard
US20130091394A1 (en) Data processing apparatus and validity verification method
WO2015131446A1 (en) Method and device for secure access control based on on-chip bus protocol
TW201721412A (en) Selecting and loading firmware volumes
US8510501B2 (en) Write-protection system and method thereof
CN113826072B (en) Code update in system management mode
US10698696B2 (en) Chipset fuse programming system
CN105893065A (en) Computer system starting method
US20120310379A1 (en) Programmable controller
KR102392474B1 (en) Internet-of-things module
JP6789906B2 (en) Data storage device
TWI624790B (en) Setting a build indicator to enable or disable a feature
JP5943984B2 (en) Driver execution method and device
US8028142B2 (en) Controller of storage device, storage device, and control method of storage device
JP2009093369A (en) Stick server
JP2011110687A (en) Robot control system and robot control method
JP2014099014A (en) Programmable controller
TW201324151A (en) Method and system for protecting configuration file
JP7341376B2 (en) Information processing device, information processing method, and information processing program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160407

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R150 Certificate of patent or registration of utility model

Ref document number: 5943984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250