JP2009252194A - Data processor, hardware access method, and hardware access program - Google Patents

Data processor, hardware access method, and hardware access program Download PDF

Info

Publication number
JP2009252194A
JP2009252194A JP2008103095A JP2008103095A JP2009252194A JP 2009252194 A JP2009252194 A JP 2009252194A JP 2008103095 A JP2008103095 A JP 2008103095A JP 2008103095 A JP2008103095 A JP 2008103095A JP 2009252194 A JP2009252194 A JP 2009252194A
Authority
JP
Japan
Prior art keywords
hardware
hal
abstraction layer
processing
control request
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
JP2008103095A
Other languages
Japanese (ja)
Inventor
Hideji Arai
秀治 荒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2008103095A priority Critical patent/JP2009252194A/en
Publication of JP2009252194A publication Critical patent/JP2009252194A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To control each hardware from an application that operates in a user mode without depending upon a combination of hardware and an operating system (OS). <P>SOLUTION: The data processor includes: a hardware abstract layer which executes OS having a kernel mode and a user mode and has a plurality of hardware processing parts, an interface operating in the kernel mode and corresponding to each of the plurality of hardware processing parts, and a common interface to a device driver corresponding to each of the plurality of hardware processing parts; and a hardware abstract layer control part for controlling the hardware abstract layer. The hardware abstract layer control part receives a control request for one of the plurality of hardware processing parts from a program that operates in a user mode, and performs control about a hardware processing part specified by a control request by using the common interface in the hardware abstract layer. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、データ処理装置、ハードウェアアクセス方法、及びハードウェアアクセスプログラムに関し、特にハードウェアとOS(Operating System)の組み合わせに依存せず、ユーザモードで動作するアプリケーションから各ハードウェアを制御するデータ処理装置、ハードウェアアクセス方法、及びハードウェアアクセスプログラムに関する。   The present invention relates to a data processing device, a hardware access method, and a hardware access program, and in particular, data for controlling each hardware from an application operating in a user mode without depending on a combination of hardware and an OS (Operating System). The present invention relates to a processing device, a hardware access method, and a hardware access program.

近年、組み込みシステムの分野において、機器の複合機能化が進行している。それに伴い、機器、及び周辺機器(以降、デバイスと呼ぶ)と、OSとの組み合わせが多様化している。   In recent years, in the field of embedded systems, the integration of devices has progressed. Accordingly, combinations of devices and peripheral devices (hereinafter referred to as devices) and OSs are diversified.

また、デバイスとOSとを仲介し、OSがデバイスを制御することを橋渡しするソフトウェアとしてデバイスドライバがある。組み込みシステムにおいては、デバイスドライバは、OS等と同じく、予めROM(Read Only Memory)に焼き付ける必要がある。また、組み込みシステムに新しいデバイスを導入するためには、当該デバイスに対応するアプリケーション及びデバイスドライバを開発する必要がある。その際、デバイスを制御するためのパラメータ値を調整し、都度、アプリケーションとデバイスドライバとの整合性を取って修正する必要がある。   Further, there is a device driver as software that mediates between the device and the OS and bridges that the OS controls the device. In an embedded system, it is necessary to burn a device driver in a ROM (Read Only Memory) in advance, like an OS or the like. In addition, in order to introduce a new device into an embedded system, it is necessary to develop an application and a device driver corresponding to the device. At that time, it is necessary to adjust the parameter value for controlling the device and to correct the consistency between the application and the device driver each time.

しかし、通常のアプリケーションを修正し、再インストールすることは容易であるが、OSとの結びつきが強いデバイスドライバを、再インストールする手順は煩雑である。また、通常のアプリケーションは、CPU(Central Processing Unit)の動作に制限があるユーザモードで動作するため、CPUの動作に制限がないカーネルモードで動作するデバイスドライバを、直接操作することができない。そのため、アプリケーションとデバイスドライバとの整合性を取って修正することが困難である。そこで、デバイスドライバを、ユーザモードにおいてアプリケーションとのインタフェースを行うDLL(Dynamic Link Library)の内部に埋め込む、という技術が特許文献1に開示されている。
特開2001−222412号公報
However, it is easy to modify and reinstall a normal application, but the procedure for reinstalling a device driver that has a strong connection with the OS is complicated. In addition, since a normal application operates in a user mode in which the operation of a CPU (Central Processing Unit) is limited, it is not possible to directly operate a device driver that operates in a kernel mode in which the operation of the CPU is not limited. Therefore, it is difficult to correct the application and device driver for consistency. Therefore, Patent Document 1 discloses a technique of embedding a device driver in a DLL (Dynamic Link Library) that interfaces with an application in a user mode.
JP 2001-2222412 A

しかしながら、特許文献1では、ハードウェア(デバイス)ごとにDLLを作成しなければならない。そのため、開発、テストの効率が悪い、という問題点がある。それは、デバイスドライバがハードウェアに依存した処理をそれぞれ備えているため、ハードウェアの仕様変更に影響を受け、都度、デバイスドライバを修正する必要があるためである。さらに、組み込みシステムにおけるデバイスドライバの修正は、ROMの焼き直し作業が発生するため、テストの作業効率が下がる。   However, in Patent Document 1, it is necessary to create a DLL for each hardware (device). Therefore, there is a problem that the efficiency of development and testing is low. This is because the device driver has processing depending on the hardware, so that it is affected by the change in the hardware specifications and the device driver needs to be corrected each time. Furthermore, the device driver correction in the embedded system requires a re-writing operation of the ROM, so that the test work efficiency is lowered.

本発明にかかるデータ処理装置は、カーネルモードとユーザモードとを有するオペレーティングシステムを実行するものであり、複数のハードウェア処理部と、前記カーネルモードで動作し、前記複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースと、を有するハードウェア抽象化層と、前記ハードウェア抽象化層を制御するハードウェア抽象化層制御部とを備える。前記ハードウェア抽象化層制御部は、前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付け、前記ハードウェア抽象化層において、前記共通のインタフェースを用いて、前記制御要求により特定されるハードウェア処理部に関する制御を行う。   A data processing apparatus according to the present invention executes an operating system having a kernel mode and a user mode, and operates in a plurality of hardware processing units, the kernel mode, and each of the plurality of hardware processing units. A hardware abstraction layer having a common interface to a device driver corresponding to each of the plurality of hardware processing units, and a hardware abstraction layer control for controlling the hardware abstraction layer A part. The hardware abstraction layer control unit accepts a control request for any of the plurality of hardware processing units from a program operating in the user mode, and uses the common interface in the hardware abstraction layer. Then, control related to the hardware processing unit specified by the control request is performed.

これにより、ハードウェアとOSの組み合わせに依存せず、ハードウェア抽象化層制御部により、ユーザモードで動作するアプリケーションから各ハードウェアを制御する仕組みを提供することができる。そのため、組み込みシステムの開発、デバッグ、評価の作業効率を向上させることができる。   Accordingly, it is possible to provide a mechanism for controlling each hardware from an application operating in the user mode by the hardware abstraction layer control unit without depending on the combination of hardware and OS. Therefore, it is possible to improve the work efficiency of development, debugging and evaluation of embedded systems.

本発明にかかるハードウェアアクセス方法は、カーネルモードとユーザモードとを有するオペレーティングシステムと、前記カーネルモードで動作し、複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースを有するハードウェア抽象化層とを備えるコンピュータに前記複数のハードウェア処理部へのアクセス処理を実行させるものである。前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付ける制御要求受付ステップと、前記ハードウェア抽象化層に対して、前記共通インタフェースを介して、前記制御要求により特定されるハードウェア処理部に関する制御を実行させるハードウェア抽象化層呼び出しステップとを備える。   A hardware access method according to the present invention includes an operating system having a kernel mode and a user mode, an interface that operates in the kernel mode and corresponds to each of a plurality of hardware processing units, and the plurality of hardware processing units And a hardware abstraction layer having a common interface with the corresponding device driver, the access processing to the plurality of hardware processing units is executed. A control request receiving step for receiving a control request for any of the plurality of hardware processing units from a program operating in the user mode, and the control request to the hardware abstraction layer via the common interface And a hardware abstraction layer calling step for executing control related to the hardware processing unit specified by.

これにより、制御要求を一括して受け付けて、カーネルモードで動作するハードウェア抽象化層を呼び出す方法を提供することができる。   As a result, it is possible to provide a method of collectively receiving control requests and calling a hardware abstraction layer operating in the kernel mode.

本発明にかかるハードウェアアクセスプログラムは、カーネルモードとユーザモードとを有するオペレーティングシステムと、前記カーネルモードで動作し、複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースを有するハードウェア抽象化層とを備えるコンピュータに前記複数のハードウェア処理部へのアクセス処理を実行させるものである。前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付ける制御要求受付手段と、前記ハードウェア抽象化層に対して、前記共通インタフェースを介して、前記制御要求により特定されるハードウェア処理部に関する制御を実行させるハードウェア抽象化層呼び出し手段とを備える。   A hardware access program according to the present invention includes an operating system having a kernel mode and a user mode, an interface that operates in the kernel mode and corresponds to each of a plurality of hardware processing units, and the plurality of hardware processing units And a hardware abstraction layer having a common interface with the corresponding device driver, the access processing to the plurality of hardware processing units is executed. Control request accepting means for accepting a control request for any of the plurality of hardware processing units from a program operating in the user mode, and the control request via the common interface to the hardware abstraction layer Hardware abstraction layer calling means for executing control related to the hardware processing unit specified by.

これにより、ユーザモードで動作するプログラムからの制御要求をカーネルモードで動作するハードウェア抽象化層を呼び出すプログラムを提供することができる。   Accordingly, it is possible to provide a program that calls a hardware abstraction layer that operates in the kernel mode in response to a control request from a program that operates in the user mode.

本発明により、ハードウェアとOSの組み合わせに依存せず、ユーザモードで動作するアプリケーションから各ハードウェアを制御するデータ処理装置、ハードウェアアクセス方法、及びハードウェアアクセスプログラムを提供することができる。   According to the present invention, it is possible to provide a data processing device, a hardware access method, and a hardware access program for controlling each hardware from an application operating in a user mode without depending on the combination of hardware and OS.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
発明の実施の形態1.
Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.
Embodiment 1 of the Invention

本発明の実施の形態1では、組み込みシステムにおけるハードウェア、及びデバイスの設定パラメータを評価する作業を対象とする。   In the first embodiment of the present invention, the task of evaluating hardware and device setting parameters in an embedded system is targeted.

図1は、本発明の実施の形態1にかかるハードウェア設定パラメータ評価システム100による評価作業の機器構成図の例を示すブロック図である。ハードウェア設定パラメータ評価システム100は、ハードウェア2の設定パラメータが定義された評価プログラムを評価ボード1上で実行し、評価ボード1に接続されたハードウェア2を操作することにより当該設定パラメータの評価を行うものである。ハードウェア設定パラメータ評価システム100は、評価ボード1と、ハードウェア2と、端末3と、デバッガ装置4とを備える。   FIG. 1 is a block diagram showing an example of a device configuration diagram of an evaluation work performed by the hardware setting parameter evaluation system 100 according to the first exemplary embodiment of the present invention. The hardware setting parameter evaluation system 100 executes an evaluation program in which the setting parameters of the hardware 2 are defined on the evaluation board 1 and operates the hardware 2 connected to the evaluation board 1 to evaluate the setting parameters. Is to do. The hardware setting parameter evaluation system 100 includes an evaluation board 1, hardware 2, a terminal 3, and a debugger device 4.

ハードウェア2は、組み込みシステムに用いられる各種ハードウェア装置であり、例えば、ディスプレイ、USB(Universal Serial Bus)ハードディスク装置等である。   The hardware 2 is various hardware devices used in the embedded system, such as a display and a USB (Universal Serial Bus) hard disk device.

評価ボード1は、組み込みシステムを構成する各種ハードウェア部品が配置された基盤であり、具体的には、ハードウェア2と、端末3と、デバッガ装置4とに接続され、ハードウェア2を操作するためのOS等のソフトウェアがインストールされている。評価ボード1は、CPU11と、デバイス12と、端子13と、メモリ14と、ROM(OS)15と、ROM(HAL)16と、端子17と、検査端子18とを備える。   The evaluation board 1 is a base on which various hardware components constituting an embedded system are arranged. Specifically, the evaluation board 1 is connected to the hardware 2, the terminal 3, and the debugger device 4 to operate the hardware 2. Software such as an OS is installed. The evaluation board 1 includes a CPU 11, a device 12, a terminal 13, a memory 14, a ROM (OS) 15, a ROM (HAL) 16, a terminal 17, and an inspection terminal 18.

CPU11は、メモリ14と、ROM(OS)15と、ROM(HAL)16とに格納されたソフトウェアを実行する制御装置である。具体的には、CPU11は、デバイス12へアクセスし、端子13を介してハードウェア2を操作する。   The CPU 11 is a control device that executes software stored in the memory 14, the ROM (OS) 15, and the ROM (HAL) 16. Specifically, the CPU 11 accesses the device 12 and operates the hardware 2 via the terminal 13.

デバイス12は、CPU11からの命令を受け付け、端子13を介してハードウェア2を操作するコントローラである。デバイス12は、ハードウェア2ごとに存在する。また、端子13は、ハードウェア2と接続され、デバイス12とハードウェア2との通信を行うための端子である。例えば、ハードウェア2がディスプレイ装置である場合、端子13は、D3端子であればよい。   The device 12 is a controller that accepts a command from the CPU 11 and operates the hardware 2 via the terminal 13. A device 12 exists for each hardware 2. The terminal 13 is connected to the hardware 2 and is a terminal for performing communication between the device 12 and the hardware 2. For example, when the hardware 2 is a display device, the terminal 13 may be a D3 terminal.

メモリ14は、揮発性の記憶装置であるRAM(Random Access Memory)であり、例えば、DRAM(Dynamic Random Access Memory)等であればよい。メモリ14は、ROM(OS)15、ROM(HAL)16、又は、外部からインストールされる評価プログラムを格納する。   The memory 14 is a RAM (Random Access Memory) that is a volatile storage device, and may be a DRAM (Dynamic Random Access Memory), for example. The memory 14 stores a ROM (OS) 15, a ROM (HAL) 16, or an evaluation program installed from the outside.

ROM(OS)15は、読み出し専用の記憶装置であり、カーネルモードとユーザモードとを有し、複数の組み込みシステムに用いられる汎用的なオペレーティングシステム(OS)が格納されている。ROM(OS)15には、当該OSが予め焼き付けられている。汎用的なOSとは、例えば、Windows(登録商標) CE、又は、Linux(登録商標)等である。   The ROM (OS) 15 is a read-only storage device, has a kernel mode and a user mode, and stores a general-purpose operating system (OS) used for a plurality of embedded systems. The ROM (OS) 15 is pre-baked with the OS. The general-purpose OS is, for example, Windows (registered trademark) CE or Linux (registered trademark).

ROM(HAL)16は、読み出し専用の記憶装置であり、ハードウェア2を含む各種ハードウェアの操作を隠ぺいしたソフトウェアモジュールであるHAL(Hardware Abstraction Layer)、及び、アプリケーションからHALへのアクセスを共通化して受け付けるHALドライバが格納されている。ROM(HAL)16には、当該HAL、及び、HALドライバが予め記憶されている。尚、HALについては、図2で後述する。また、HAL、及びHALドライバについては、図4で後述する。   The ROM (HAL) 16 is a read-only storage device that shares access to the HAL (Hardware Abstraction Layer), which is a software module that conceals the operation of various hardware including the hardware 2, and from the application. HAL drivers to be received are stored. The ROM (HAL) 16 stores the HAL and the HAL driver in advance. The HAL will be described later with reference to FIG. The HAL and the HAL driver will be described later with reference to FIG.

また、端子17は、端末3と接続され、例えば、RS−232Cの通信規格に用いられるシリアル端子である。検査端子18は、デバッガ装置4と接続され、CPU11、及びメモリ14の状態、並びに、レジスタの値を検出し、デバッガ装置4へ出力する端子である。検査端子18は、例えば、JTAG(Joint Test Action Group)規格に用いられる端子である。   The terminal 17 is connected to the terminal 3 and is a serial terminal used for the RS-232C communication standard, for example. The inspection terminal 18 is a terminal that is connected to the debugger device 4, detects the states of the CPU 11 and the memory 14, and register values, and outputs them to the debugger device 4. The inspection terminal 18 is, for example, a terminal used for JTAG (Joint Test Action Group) standards.

端末3は、評価ボード1と、デバッガ装置4とに接続された汎用的なコンピュータシステムである。端末3は、図示しない構成として、CPU、RAM、ROM、及び不揮発性記憶装置を備える。端末3は、CPUがRAM、ROM,又は不揮発性記憶装置に格納されたOS、端末エミュレータプログラム等を読み込み、実行する。これにより、端末3は、評価ボード1に接続し、評価プログラムの実行を行う。また、端末3は、デバッガ装置4からのデバッグ情報を受信し、表示する。これにより、端末3を操作するユーザが評価プログラムの実行結果を確認することができる。   The terminal 3 is a general-purpose computer system connected to the evaluation board 1 and the debugger device 4. The terminal 3 includes a CPU, a RAM, a ROM, and a nonvolatile storage device as configurations not shown. In the terminal 3, the CPU reads and executes an OS, a terminal emulator program, and the like stored in the RAM, ROM, or nonvolatile storage device. As a result, the terminal 3 connects to the evaluation board 1 and executes the evaluation program. Further, the terminal 3 receives and displays debug information from the debugger device 4. Thereby, the user who operates the terminal 3 can confirm the execution result of the evaluation program.

デバッガ装置4は、組み込みシステムを開発する際に使うデバッガである。デバッガ装置4は、検査端子18からのCPU11、及びメモリ14の状態、並びに、レジスタの値を受信し、デバッグ情報として端末3へ送信する。   The debugger device 4 is a debugger used when developing an embedded system. The debugger device 4 receives the state of the CPU 11 and the memory 14 from the inspection terminal 18 and the value of the register, and transmits them to the terminal 3 as debug information.

このように、評価ボード1は、CPU11により、メモリ14に読み込まれたOS、HAL、HALドライバ、及び評価プログラムを実行することにより、設定パラメータに基づいて、デバイス12に処理を行わせてハードウェア2を操作し、その際のCPU11、メモリ14等の状態をデバッガ装置4により取得することで、当該設定パラメータの評価を行うことができる。   As described above, the evaluation board 1 executes the OS, the HAL, the HAL driver, and the evaluation program read into the memory 14 by the CPU 11, and causes the device 12 to perform processing based on the setting parameters. 2 is operated, and the state of the CPU 11, memory 14, etc. at that time is acquired by the debugger device 4, so that the setting parameter can be evaluated.

次に、本発明の実施の形態1にかかるHALについて説明する。図2は、本発明の実施の形態1にかかるHALのモジュール構成を示すブロック図である。図2に示すHALのモジュール構成は、HAL5と、デバイス121乃至123とからなる。デバイス121乃至123は、図1のデバイス12と同等のものであり、それぞれ異なるハードウェアに対応するデバイスである。   Next, the HAL according to the first embodiment of the present invention will be described. FIG. 2 is a block diagram showing a module configuration of the HAL according to the first embodiment of the present invention. The HAL module configuration shown in FIG. 2 includes a HAL 5 and devices 121 to 123. The devices 121 to 123 are equivalent to the device 12 of FIG. 1 and are devices corresponding to different hardware.

HAL5は、デバイス121乃至123のいずれかに対する制御要求を、上述したHALドライバや、デバイス121乃至123のいずれかに対応するデバイスドライバから受け付け、該当するデバイス121乃至123のいずれかにアクセスを行うことで、デバイス121乃至123のいずれかに対応するハードウェア(例えば、図1のハードウェア2)の操作を行うものである。HAL5は、Anchor Pointer500と、共通管理領域53と、HAL Device固有部541乃至543とを備える。   The HAL 5 receives a control request for any of the devices 121 to 123 from the above-described HAL driver or a device driver corresponding to any of the devices 121 to 123, and accesses any of the corresponding devices 121 to 123. Thus, the hardware corresponding to any of the devices 121 to 123 (for example, the hardware 2 in FIG. 1) is operated. The HAL 5 includes an Anchor Pointer 500, a common management area 53, and HAL Device specific units 541 to 543.

Anchor Pointer500は、HALの初期化時に、CPU11によりROM(HAL)16からメモリ14上に読み込まれる際の開始アドレスの値である。そのため、以降の処理は、Anchor Pointer500を起点にしてメモリ14内を参照することができる。   Anchor Pointer 500 is the value of the start address when the CPU 11 reads from the ROM (HAL) 16 onto the memory 14 when the HAL is initialized. Therefore, the subsequent processing can refer to the memory 14 starting from the Anchor Pointer 500.

HAL5は、各種デバイスへのインデクス情報を格納する共通管理領域53と、デバイスごとの固有の定義情報を格納するHAL Device固有部541乃至543とを備える。   The HAL 5 includes a common management area 53 for storing index information for various devices, and HAL Device specific units 541 to 543 for storing unique definition information for each device.

共通管理領域53は、HAL Device固有部541へのインデクス情報であるデバイスエントリ531と、HAL Device固有部542へのインデクス情報であるデバイスエントリ532と、HAL Device固有部543へのインデクス情報であるデバイスエントリ533とを備える。   The common management area 53 includes a device entry 531 that is index information to the HAL Device specific unit 541, a device entry 532 that is index information to the HAL Device specific unit 542, and a device that is index information to the HAL Device specific unit 543. And an entry 533.

HAL Device固有部541乃至543は、それぞれデバイス121乃至123に対応する。以下では、例として、HAL Device固有部541について説明し、HAL Device固有部542、及びHAL Device固有部543については、HAL Device固有部541と同様であるため、説明を省略する。   The HAL Device specific parts 541 to 543 correspond to the devices 121 to 123, respectively. Hereinafter, as an example, the HAL Device specific unit 541 will be described, and the HAL Device specific unit 542 and the HAL Device specific unit 543 are the same as the HAL Device specific unit 541, and thus description thereof will be omitted.

HAL Device固有部541は、デバイスブロック(DB)55と、関数テーブル(FT)56と、HAL関数57とを備える。デバイスブロック55は、HAL内部で利用するHAL操作情報を格納する構造体である。HAL操作情報とは、例えば、デバイスの識別情報であるデバイスID、当該デバイスのRevision、図3の後述するRequest Dataの長さ、デバイスの状態情報、ポートアドレス等である。関数テーブル56は、HAL5から各種デバイスへアクセスするため処理が定義されたHAL関数のポインタテーブルである構造体である。また、HAL関数57は、上述したようにHAL5からデバイス121へアクセスし操作するための処理が定義された各種関数(機能)である。   The HAL Device specific unit 541 includes a device block (DB) 55, a function table (FT) 56, and a HAL function 57. The device block 55 is a structure that stores HAL operation information used inside the HAL. The HAL operation information includes, for example, a device ID that is device identification information, a revision of the device, a length of Request Data (to be described later in FIG. 3), device status information, a port address, and the like. The function table 56 is a structure that is a pointer table of a HAL function in which processing for accessing various devices from the HAL 5 is defined. The HAL function 57 is various functions (functions) in which processing for accessing and operating the device 121 from the HAL 5 is defined as described above.

ここで、デバイスエントリ531は、デバイスブロック55へのポインタであるDB Pointer534と、関数テーブル56へのポインタであるFT Pointer535が格納されるHAL Device固有部541へのインデクス情報である。同様に、デバイスエントリ532、及びデバイスエントリ533は、それぞれHAL Device固有部542、及びHAL Device固有部543へのインデクス情報であるため、図示、及び説明は省略する。   Here, the device entry 531 is index information to the HAL Device specific unit 541 in which the DB Pointer 534 that is a pointer to the device block 55 and the FT Pointer 535 that is a pointer to the function table 56 are stored. Similarly, the device entry 532 and the device entry 533 are index information to the HAL Device specific unit 542 and the HAL Device specific unit 543, respectively, and thus illustration and description thereof are omitted.

また、共通管理領域53、デバイスブロック55、関数テーブル56、及び図3に例示するRequest Dataは、初期化時に、メモリ14に領域を確保される。また、HAL関数57には、全てのデバイスに共通する関数と、デバイス固有の関数とが存在する。尚、メモリ14の領域に余裕がある場合、HAL関数57についても、初期化時に、メモリ14に領域を確保されるようにしても構わない。それにより、実行速度がより速くなる。   Further, the common management area 53, the device block 55, the function table 56, and the Request Data illustrated in FIG. 3 are secured in the memory 14 at the time of initialization. The HAL function 57 includes a function common to all devices and a function unique to the device. If there is a margin in the area of the memory 14, the HAL function 57 may be secured in the memory 14 at the time of initialization. Thereby, the execution speed becomes faster.

また、HAL5は、図2に示した他に、HALへアクセスするプログラムに対して、デバイス検索関数とデバイス実行関数とを備える。デバイス検索関数は、Request Dataで指定されたデバイスIDにより、各HAL Device固有部内のデバイスブロック55を検索して、デバイスとそのデバイスが有する関数テーブルを特定する。デバイス実行関数は、Request Dataで指定されたHAL関数No(ナンバー)を、特定された関数テーブル56に基づいて、HAL関数に変換する。HAL5は、変換されたHAL関数により、デバイスへのアクセスを行うことになる。HAL関数Noとは、HAL関数それぞれに付与されている番号である。これらにより、Request Dataに基づいた制御対象のデバイスの特定と、HAL関数の実行が可能となる。図9は、HAL関数とHAL関数Noの一例である。   The HAL 5 includes a device search function and a device execution function for programs that access the HAL in addition to those shown in FIG. The device search function searches the device block 55 in each HAL Device specific part with the device ID specified by the Request Data, and specifies the device and the function table that the device has. The device execution function converts the HAL function No (number) specified by the Request Data into a HAL function based on the specified function table 56. The HAL 5 accesses the device by the converted HAL function. The HAL function No is a number assigned to each HAL function. As a result, it is possible to specify the device to be controlled based on the Request Data and execute the HAL function. FIG. 9 is an example of the HAL function and the HAL function No.

Request Dataは、HALへアクセスするあらゆるプログラム、及びHALで共通して利用するデータ構造を定義した構造体である。図3は、本発明の実施の形態1にかかるRequest Data8の構成例を示す図である。Request Data8は、HAL操作情報81と、パラメータ情報82とを備える。   The Request Data is a structure that defines all programs that access the HAL and data structures that are commonly used by the HAL. FIG. 3 is a diagram illustrating a configuration example of the Request Data 8 according to the first embodiment of the present invention. The Request Data 8 includes HAL operation information 81 and parameter information 82.

HAL操作情報81は、各種デバイスに共通する固定長のパラメータデータの領域である。HAL操作情報81は、処理対象のデバイスを識別するデバイスID811と、実行対象のHAL関数57を識別するHAL関数No812と、実行されるHAL関数の戻り値であるReturn Code813等とを備える。また、パラメータ情報82は、各種デバイスに固有のパラメータデータの領域である。例えば、ディスプレイに関するデバイスの場合、パラメータ情報82は、表示開始位置のX座標、及びY座標、画面の縦サイズ、横サイズ等であればよい。   The HAL operation information 81 is a fixed-length parameter data area common to various devices. The HAL operation information 81 includes a device ID 811 for identifying a device to be processed, a HAL function No 812 for identifying the HAL function 57 to be executed, a return code 813 that is a return value of the HAL function to be executed, and the like. The parameter information 82 is an area of parameter data unique to various devices. For example, in the case of a device related to a display, the parameter information 82 may be an X coordinate and a Y coordinate of the display start position, a vertical size of the screen, a horizontal size, or the like.

以上のことにより、HALへアクセスするあらゆるプログラムからHAL5の提供する全ての関数にアクセスすることが可能となる。   As described above, all functions provided by the HAL 5 can be accessed from any program that accesses the HAL.

図4は、本発明の実施の形態1にかかるHAL評価プログラム、HALドライバ、HAL、及びデバイスの関係を示すブロック図である。尚、図4に示す、デバイスドライバ621乃至623は、図2に示したデバイス121乃至123にそれぞれ対応するデバイスドライバプログラムである。但し、デバイスドライバ621乃至623は、ハードウェア設定パラメータ評価システム100においては、必ずしも必要としない。   FIG. 4 is a block diagram showing the relationship between the HAL evaluation program, the HAL driver, the HAL, and the device according to the first embodiment of the present invention. Note that the device drivers 621 to 623 shown in FIG. 4 are device driver programs respectively corresponding to the devices 121 to 123 shown in FIG. However, the device drivers 621 to 623 are not necessarily required in the hardware setting parameter evaluation system 100.

図4では、まず、ユーザモードで動作するHAL評価プログラム7は、ユーザモード、及びカーネルモードで動作するHALドライバ6に対して、デバイス121乃至123のいずれかのデバイスへの設定パラメータをRequest Data8に格納し、当該デバイスを対象とする制御要求を送信する。次に、HALドライバ6は、HAL評価プログラム7からの様々な制御要求を一括して受信し、当該制御要求をHAL5へ送信する。その後、HAL5は、HALドライバ6からの制御要求、及びRequest Data8に基づき、デバイス121乃至123のいずれかのHAL関数を特定し、該当するデバイスへ特定されたHAL関数を実行する。そして、HAL5は、デバイスからの実行結果を受信し、Request Data8に格納し、戻り値をHALドライバ6へ返す。また、HALドライバ6は、HAL5からの戻り値に基づき、HAL評価プログラム7へ処理を戻す。   In FIG. 4, first, the HAL evaluation program 7 operating in the user mode sets the setting parameter for any one of the devices 121 to 123 in the Request Data 8 for the HAL driver 6 operating in the user mode and the kernel mode. Store and send a control request for that device. Next, the HAL driver 6 collectively receives various control requests from the HAL evaluation program 7 and transmits the control requests to the HAL 5. Thereafter, the HAL 5 specifies the HAL function of any of the devices 121 to 123 based on the control request from the HAL driver 6 and the Request Data 8, and executes the HAL function specified for the corresponding device. The HAL 5 receives the execution result from the device, stores it in the Request Data 8, and returns a return value to the HAL driver 6. The HAL driver 6 returns the process to the HAL evaluation program 7 based on the return value from the HAL 5.

ここでは、HAL5は、共通インタフェース50と、上述した図2の関数テーブル56に相当する関数テーブル511乃至513と、上述した図2のHAL関数57に相当するHAL関数521乃至523とを備えるものとする。共通インタフェース50は、HALドライバ6、及び、デバイスドライバ621乃至623からの制御要求を共通的に受け付けるインタフェースである。また、共通インタフェース50は、Request Data8に含まれるデバイスID811とHAL関数No812とから、共通管理領域53を検索し、該当するデバイスエントリに含まれるFT Pointer535から、例えば、関数テーブル511へアクセスし、関数テーブル511からHAL関数521を特定し、特定されたHAL関数521から、デバイス121へアクセスを行う。   Here, the HAL 5 includes the common interface 50, function tables 511 to 513 corresponding to the function table 56 of FIG. 2 described above, and HAL functions 521 to 523 corresponding to the HAL function 57 of FIG. 2 described above. To do. The common interface 50 is an interface that commonly receives control requests from the HAL driver 6 and the device drivers 621 to 623. Further, the common interface 50 searches the common management area 53 from the device ID 811 and the HAL function No. 812 included in the Request Data 8, accesses the function table 511 from the FT Pointer 535 included in the corresponding device entry, for example, The HAL function 521 is specified from the table 511, and the device 121 is accessed from the specified HAL function 521.

図5は、本発明の実施の形態1にかかるHAL評価プログラム、HALドライバ、及びHALの呼び出し関係の概念を示す図である。HAL評価プログラム7には、HAL関数呼び出し71と、OS I/F呼び出し72とがプログラミングされている。HAL関数呼び出し71は、HAL関数を呼び出すためのデバイスID、HAL関数No、及びパラメータの設定をRequest Data8を用いて行った上で、HALドライバに対して制御要求を行う形式で構成される。また、OS I/F呼び出し72は、HAL関数呼び出し71で設定されたRequest Data8と制御要求を、後述するHALドライバが有するOS I/F呼び出し処理部61を呼び出すように変換するものである。OS I/F呼び出し72は、各OSが提供するアプリケーションプログラミングインタフェース(API)を利用して実現する。   FIG. 5 is a diagram showing the concept of the HAL evaluation program, the HAL driver, and the HAL calling relationship according to the first embodiment of the present invention. The HAL evaluation program 7 is programmed with a HAL function call 71 and an OS I / F call 72. The HAL function call 71 is configured to make a control request to the HAL driver after setting the device ID, HAL function No, and parameters for calling the HAL function using the Request Data8. The OS I / F call 72 converts Request Data 8 and a control request set by the HAL function call 71 so as to call an OS I / F call processing unit 61 included in a HAL driver described later. The OS I / F call 72 is realized using an application programming interface (API) provided by each OS.

HALドライバ6は、OS I/F呼び出し処理部61と、HAL関数呼び出し処理部62とで構成される。OS I/F呼び出し処理部61は、APIを介して、HAL評価プログラム7からRequest Data8と制御要求を受け取る処理を行うものであり、HAL関数呼び出し処理部62は、受け取ったRequest Data8と制御要求に基づいて、HAL5のデバイス実行関数を呼び出し、HAL5にHAL関数の実行を行わせるものである。   The HAL driver 6 includes an OS I / F call processing unit 61 and a HAL function call processing unit 62. The OS I / F call processing unit 61 performs processing for receiving the request data 8 and the control request from the HAL evaluation program 7 via the API. The HAL function call processing unit 62 receives the request data 8 and the control request. Based on this, a device execution function of HAL5 is called to cause HAL5 to execute the HAL function.

HAL5は、HAL管理部(RAM)51によりデバイス実行関数を受け付け、Request Data8、及びデバイス実行関数に基づき、HAL関数(ROM)52を用いてデバイスへのアクセスを行う。   The HAL 5 receives a device execution function from the HAL management unit (RAM) 51 and accesses the device using the HAL function (ROM) 52 based on the request data 8 and the device execution function.

すなわち、HAL評価プログラム7、及びHALドライバ6には、各OSが提供するデバイスドライバに対するアプリケーションプログラミングインタフェース(API)を隠ぺいした処理が実装されている。   That is, the HAL evaluation program 7 and the HAL driver 6 are implemented with a process that hides an application programming interface (API) for a device driver provided by each OS.

HAL評価プログラム7は、ユーザモードで動作するプログラムであるため、本来は、デバイスドライバのように、デバイス実行関数を直接呼び出すかのような処理をプログラミングすることはできない。そこで、本発明の実施の形態1では、ユーザモード、及びカーネルモードで動作するHALドライバ6を導入し、HALドライバ6がOS I/F呼び出し処理部61とHAL関数呼び出し処理部62を実装することにより、ユーザモードで動作する評価プログラムの制御要求から、カーネルモードで動作するHAL5のデバイス実行関数を呼び出すことができるようにした。これにより、HAL評価プログラム7において、デバイス実行関数を直接呼び出すかのようなHAL関数呼び出し71のプログラミングを実装することができる。   Since the HAL evaluation program 7 is a program that operates in the user mode, it is not possible to program a process that directly calls a device execution function like a device driver. Therefore, in the first embodiment of the present invention, the HAL driver 6 that operates in the user mode and the kernel mode is introduced, and the HAL driver 6 implements the OS I / F call processing unit 61 and the HAL function call processing unit 62. Thus, the device execution function of HAL5 operating in the kernel mode can be called from the control request of the evaluation program operating in the user mode. Thereby, in the HAL evaluation program 7, it is possible to implement programming of the HAL function call 71 as if the device execution function was directly called.

これにより、HAL評価プログラム7からきめ細かなパラメータ設定を行って、デバイスを操作し、ハードウェアへアクセスすることが可能となる。   This makes it possible to perform detailed parameter settings from the HAL evaluation program 7 to operate the device and access the hardware.

従来、デバイスの操作を行うための処理は、デバイスドライバのプログラム内に、設定パラメータと、デバイス実行関数を呼び出す処理を記載する必要があった。デバイスドライバは、HAL5と同じく、ROM(HAL)16に予め記憶させておく必要があるため、修正を行うためには、再度、ROM(HAL)16を作成し直す必要があった。   Conventionally, as a process for operating a device, it is necessary to describe a setting parameter and a process for calling a device execution function in a device driver program. Like the HAL5, the device driver needs to be stored in the ROM (HAL) 16 in advance, so that the ROM (HAL) 16 needs to be created again in order to make corrections.

しかし、カーネルモードによるデバイス実行関数を呼び出す処理を実装したHALドライバ6の導入により、HAL5、及びHALドライバ6をROM(HAL)16に記憶させ、設定パラメータの記載は、ユーザモードで動作するHAL評価プログラム7に外出しすることが可能となる。そのため、HAL評価プログラム7に記載されたパラメータ設定を変更する場合は、例えば、端末3上で、HAL評価プログラム7を修正し、コンパイルし、端子17を介してメモリ14へロードすることにより、パラメータ設定の変更を確認することが可能となる。よって、ハードウェアの設定パラメータの評価作業の効率が向上する。または、評価ボード1がUSB端子を備え、HAL評価プログラム7が外付けのハードウェアであるUSBメモリ装置に格納されている場合、当該USBメモリ装置をUSB端子に接続することにより、評価ボード1は、HAL評価プログラム7を実行することができる。この場合、端末3から端子17を介してHAL評価プログラム7をロードする必要がなくなり、ハードウェアの設定パラメータの評価作業の効率がさらに向上する。   However, with the introduction of the HAL driver 6 that implements a process for calling a device execution function in the kernel mode, the HAL 5 and the HAL driver 6 are stored in the ROM (HAL) 16, and the setting parameters are described in the HAL evaluation that operates in the user mode. It is possible to go out to the program 7. Therefore, when the parameter setting described in the HAL evaluation program 7 is changed, for example, the HAL evaluation program 7 is corrected on the terminal 3, compiled, and loaded into the memory 14 via the terminal 17. It becomes possible to confirm the change of the setting. Therefore, the efficiency of hardware setting parameter evaluation work is improved. Alternatively, when the evaluation board 1 includes a USB terminal and the HAL evaluation program 7 is stored in a USB memory device that is external hardware, the evaluation board 1 can be connected to the USB terminal by connecting the USB memory device to the USB terminal. The HAL evaluation program 7 can be executed. In this case, it is not necessary to load the HAL evaluation program 7 from the terminal 3 via the terminal 17, and the efficiency of the hardware setting parameter evaluation work is further improved.

また、OSに依存するような部分は、OS I/F呼び出し72で吸収することができるため、HAL関数呼び出し71は、OSに依存しないように構成することが可能となる。HAL関数呼び出し71と同様の記載を、別のOSや、他のカーネルモードで実行されるプログラムに流用することで、様々なデバイスへの操作を行うためのプログラムの作成、及びテストが容易となる。また、予め、HAL評価プログラム7により動作確認が行われた処理が、他のプログラムへ実装されることになるので、ソフトウェアの品質が向上する。   In addition, since the portion depending on the OS can be absorbed by the OS I / F call 72, the HAL function call 71 can be configured not to depend on the OS. By diverting the description similar to the HAL function call 71 to another OS or a program executed in another kernel mode, it becomes easy to create and test a program for performing operations on various devices. . In addition, since the processing whose operation has been confirmed by the HAL evaluation program 7 in advance is mounted in another program, the quality of software is improved.

続いて、図6乃至図8を用いて、本発明の実施の形態1にかかるHAL評価プログラム7、HALドライバ6、及びHAL5の処理の流れを説明する。図6は、HAL評価プログラム7のHAL評価処理の流れを示すフローチャート図である。また、HAL評価プログラム7とHALドライバ6のプログラミング例を図10で示す。なお、図10は説明のための例に過ぎず、必ずしも正確なものではないことを予め断っておく。   Subsequently, the flow of processing of the HAL evaluation program 7, the HAL driver 6, and the HAL 5 according to the first embodiment of the present invention will be described with reference to FIGS. FIG. 6 is a flowchart showing the flow of the HAL evaluation process of the HAL evaluation program 7. A programming example of the HAL evaluation program 7 and the HAL driver 6 is shown in FIG. Note that FIG. 10 is merely an example for explanation and is not necessarily accurate.

まず、HAL評価プログラム7は、Request Data8の設定を行う(S101)。具体的には、HAL評価プログラム7のHAL関数呼び出し71において、処理対象のデバイスについてのデバイスID、及び各種パラメータ値をRequest Data8に格納する。図10ではpREQがRequest Data8に相当する構造体である。   First, the HAL evaluation program 7 sets Request Data 8 (S101). Specifically, in the HAL function call 71 of the HAL evaluation program 7, the device ID and various parameter values for the device to be processed are stored in the Request Data 8. In FIG. 10, pREQ is a structure corresponding to Request Data8.

次に、HAL評価プログラム7は、HAL関数の設定を行う(S102)。具体的には、HAL関数呼び出し71において、処理対象のデバイスに対して処理したいHAL関数NoをRequest Data8に格納する。図10ではpREQのfunctionを設定しているコード群、例えば、コード711がこれに相当する。   Next, the HAL evaluation program 7 sets a HAL function (S102). Specifically, in the HAL function call 71, the HAL function No to be processed for the device to be processed is stored in the Request Data 8. In FIG. 10, a code group in which a function of pREQ is set, for example, a code 711 corresponds to this.

その後、HAL評価プログラム7は、HAL関数の呼び出しを行う(S103)。具体的には、HAL関数呼び出し71において、デバイス実行関数を呼び出す。図10では、_DevHelpをコールしているコード712がこれに相当する。   Thereafter, the HAL evaluation program 7 calls the HAL function (S103). Specifically, in the HAL function call 71, a device execution function is called. In FIG. 10, the code 712 calling _DevHelp corresponds to this.

そして、HAL評価プログラム7は、HALドライバ6を呼び出す(S104)。具体的には、HAL関数呼び出し71の呼び出しを受けて、OS I/F呼び出し72により、OSのAPIに変換して、OS I/Fを呼び出し、OSにより、HALドライバ6が呼び出される。このとき、Request Data8への参照もHALドライバ6へ渡される。   Then, the HAL evaluation program 7 calls the HAL driver 6 (S104). Specifically, in response to the call of the HAL function call 71, the OS I / F call 72 converts it to the OS API, calls the OS I / F, and the OS calls the HAL driver 6. At this time, a reference to the Request Data 8 is also passed to the HAL driver 6.

その後、HAL評価プログラム7は、ReturnCodeがSuccessであるか否かを判定する(S105)。具体的には、OS I/F呼び出し72を経由してHAL関数呼び出し71によりHALドライバ6からの実行結果を含むRequest Data8を受信し、Request Data8に含まれるReturnCodeの内容を判定する。   Thereafter, the HAL evaluation program 7 determines whether or not the ReturnCode is Success (S105). Specifically, the Request Data 8 including the execution result from the HAL driver 6 is received by the HAL function call 71 via the OS I / F call 72, and the content of the Return Code included in the Request Data 8 is determined.

ReturnCodeがSuccessである場合、HAL評価プログラム7は、事後処理を行う(S106)。また、ReturnCodeがSuccess以外である場合、HAL評価プログラム7は、エラー処理を行う(S107)。これにより、HAL評価プログラム7によるHAL評価処理を終了する。   If ReturnCode is Success, the HAL evaluation program 7 performs post-processing (S106). If ReturnCode is other than Success, the HAL evaluation program 7 performs error processing (S107). Thereby, the HAL evaluation process by the HAL evaluation program 7 is completed.

次に、図7のフローチャート図を用いて、HALドライバ6の処理の流れを説明する。まず、HALドライバ6は、Request Data8を取得する(S111)。具体的には、HALドライバ6のOS I/F呼び出し処理部61により、上述したAPIからの呼び出しを受け、Request Data8への参照を受け取る。   Next, the processing flow of the HAL driver 6 will be described with reference to the flowchart of FIG. First, the HAL driver 6 acquires Request Data 8 (S111). Specifically, the OS I / F call processing unit 61 of the HAL driver 6 receives a call from the above-described API and receives a reference to the Request Data 8.

次に、HALドライバ6は、HAL関数を呼び出す(S112)。具体的には、OS I/F呼び出し処理部61により受け取ったRequest Data8に基づいて、デバイス実行関数を呼び出すことによりHAL5のHAL関数を呼び出す。図10において、DevHelpをコールしているコード620がこれに相当する。   Next, the HAL driver 6 calls the HAL function (S112). Specifically, the HAL function of HAL5 is called by calling the device execution function based on the Request Data 8 received by the OS I / F call processing unit 61. In FIG. 10, the code 620 calling DevHelp corresponds to this.

その後、HALドライバ6は、HAL5からの実行結果と、ReturnCodeとを受信する(S113)。具体的には、HAL関数呼び出し処理部62により、Request Data8への参照を受け取る。   Thereafter, the HAL driver 6 receives the execution result from the HAL 5 and the Return Code (S113). Specifically, the HAL function call processing unit 62 receives a reference to the Request Data 8.

そして、HALドライバ6は、受け取ったRequest Data8をHAL評価プログラム7へ返信して、処理を終了する。   Then, the HAL driver 6 returns the received Request Data 8 to the HAL evaluation program 7 and ends the process.

続いて、図8のフローチャート図を用いて、HAL5の処理の流れを説明する。まず、HAL5は、Request Data8を取得する(S121)。具体的には、HAL管理部(RAM)51により、Request Data8への参照を受け取る。   Next, the processing flow of HAL5 will be described using the flowchart of FIG. First, the HAL 5 acquires Request Data 8 (S121). Specifically, the HAL management unit (RAM) 51 receives a reference to the Request Data 8.

次に、HAL5は、デバイスID、及びHAL関数Noに基づき、HAL関数を特定する(S122)。具体的には、HAL管理部(RAM)51により、Request Data8に格納されたデバイスID、及びHAL関数Noから共通管理領域53を参照し、対象となるHAL関数を特定する。   Next, the HAL 5 specifies the HAL function based on the device ID and the HAL function No (S122). Specifically, the HAL management unit (RAM) 51 refers to the common management area 53 from the device ID stored in the Request Data 8 and the HAL function No, and identifies the target HAL function.

そして、HAL5は、特定されたHAL関数を実行する(S123)。続いて、HAL5は、実行結果、及び、戻り値であるReturnCodeをRequest Data8へ格納(S124)し、HALドライバ6へ戻す。尚、このとき、デバイスの処理が完了しない場合、その旨をReturnCodeとしてRequest Data8へ格納し、HAL5は処理を終了する。例えば、割り込み待ちのような場合、HAL5、及びHALドライバ6は、ReturnCodeに格納された「割り込み待ち」をそのまま返し、HAL評価プログラム7は、受け取ったReturnCodeを確認し、再度、処理要求を行うようにすればよい。   The HAL 5 executes the specified HAL function (S123). Subsequently, the HAL 5 stores the execution result and the return code Return Code in the Request Data 8 (S124), and returns it to the HAL driver 6. At this time, if the processing of the device is not completed, the fact is stored in the Request Data 8 as a Return Code, and the HAL 5 ends the processing. For example, in the case of waiting for an interrupt, the HAL 5 and the HAL driver 6 return “waiting for interrupt” stored in the Return Code as they are, and the HAL evaluation program 7 confirms the received Return Code and makes a processing request again. You can do it.

このように、本発明の実施の形態1では、複数のハードウェアに対応するそれぞれのデバイスに対して、HAL5というハードウェア抽象化層と、HALドライバ6というハードウェア抽象化層を制御する手段を設けた。また、HALドライバ6においてOSのAPIを変換する処理を実装することにより、OSに依存する処理をHAL評価プログラム7から隠ぺいし、本来、ユーザモードで動作するHAL評価プログラム7からは、呼び出すことのできないHAL5を呼び出すための処理を、HAL評価プログラム7に実装することができるようになり、当該ハードウェアの操作を行うためのパラメータを設定することができる。   As described above, in the first embodiment of the present invention, means for controlling a hardware abstraction layer called HAL5 and a hardware abstraction layer called HAL driver 6 for each device corresponding to a plurality of hardware is provided. Provided. In addition, by implementing a process for converting the API of the OS in the HAL driver 6, the OS-dependent process is hidden from the HAL evaluation program 7, and can be called from the HAL evaluation program 7 that originally operates in the user mode. A process for calling the HAL5 that cannot be performed can be implemented in the HAL evaluation program 7, and parameters for operating the hardware can be set.

そのため、ハードウェアとOSの組み合わせに依存せず、ユーザモードで動作するアプリケーションから各ハードウェアを制御するデータ処理装置、ハードウェアアクセス方法、及びハードウェアアクセスプログラムを提供することができる。
その他の発明の実施の形態.
Therefore, it is possible to provide a data processing device, a hardware access method, and a hardware access program that control each hardware from an application that operates in a user mode without depending on the combination of hardware and OS.
Other Embodiments of the Invention

尚、本発明の実施の形態1にかかるHALドライバ6は、図4に示すデバイスドライバ621乃至623が実行中であっても、動作可能である。それは、HAL5において、デバイスドライバ621乃至623、及びHALドライバ6は、それぞれのRequest Data8が異なる領域に確保されることにより、独立したドライバとして扱われるためである。そのため、実際に動作中の組み込みシステムに対しても、HAL評価プログラム7によりハードウェアの評価を行うことが可能となり、動的な設定パラメータの評価、又はデバッグが可能となる。また、通常動作時に、意図的にHAL評価プログラム7によりエラー情報を送り、異常系の検証を行うことも可能である。一例として、ディスプレイに画像表示を行いながら、画像表示位置の微調整を行うといったことが可能となる。微調整に関するパラメータが、ディスプレイ・ドライバに設定されていたとしても、ディスプレイドライバを動作させながら、HAL評価プログラム7からパラメータを変更して微調整が可能となる。図10のpREQに対してディスプレイ用パラメータを設定しているコード群713がこの例である。   Note that the HAL driver 6 according to the first embodiment of the present invention can operate even when the device drivers 621 to 623 shown in FIG. 4 are being executed. This is because, in HAL5, the device drivers 621 to 623 and the HAL driver 6 are treated as independent drivers by securing the respective Request Data 8 in different areas. Therefore, it is possible to perform hardware evaluation by the HAL evaluation program 7 even for an embedded system that is actually in operation, and dynamic setting parameter evaluation or debugging can be performed. Further, during normal operation, error information can be intentionally sent by the HAL evaluation program 7 to verify the abnormal system. As an example, it is possible to finely adjust the image display position while displaying an image on the display. Even if parameters relating to fine adjustment are set in the display driver, fine adjustment is possible by changing the parameters from the HAL evaluation program 7 while operating the display driver. A code group 713 in which display parameters are set for the pREQ in FIG. 10 is an example of this.

本発明の実施の形態1にかかるHALドライバ6により、HAL5に対応するデバイスにおける全てのHAL関数を一元的にHAL評価プログラム7から呼び出すことが可能であり、デバイスごと、ハードウェアごとにデバイスドライバを変更する必要がなくなる。   With the HAL driver 6 according to the first embodiment of the present invention, it is possible to call all the HAL functions in the device corresponding to the HAL 5 from the HAL evaluation program 7 in a unified manner, and the device driver for each device and each hardware. No need to change.

本発明の実施の形態1により、パラメータの評価作業において、個々のハードウェアに対応するデバイスドライバ、又はブートローダ等に、パラメータ評価用のデバッグ出力処理等を挿入する必要がなくなる。また、当該デバッグ出力処理等を除去することに伴う、デグレードの危険性がなくなる。   According to the first embodiment of the present invention, it is not necessary to insert a debug output process for parameter evaluation into a device driver or a boot loader corresponding to each hardware in the parameter evaluation work. Further, there is no risk of degradation associated with the removal of the debug output processing or the like.

また、本発明の実施の形態1により、デバイスドライバ621乃至623に相当する処理を、複数のHAL評価プログラム7に相当するプログラムにより実現可能となる。   Further, according to the first embodiment of the present invention, processing corresponding to the device drivers 621 to 623 can be realized by a program corresponding to a plurality of HAL evaluation programs 7.

本発明の実施の形態1にかかるHALドライバ6では、全てのHAL関数の呼び出しを一つの関数で行うため、汎用性が高く、軽動作である。それは、HAL評価プログラム7からHAL5への受け渡し時に、余計な計算処理が発生しないためである。また、Request Data8のHAL操作情報81を固定長とすることにより、HALドライバ6、及びHAL5において、HAL操作情報81部分のみを確認するだけで良くなり、処理が簡略化されるためである。   In the HAL driver 6 according to the first embodiment of the present invention, since all the HAL functions are called by one function, the versatility is high and the operation is light. This is because extra calculation processing does not occur at the time of transfer from the HAL evaluation program 7 to the HAL 5. In addition, by setting the HAL operation information 81 of the Request Data 8 to a fixed length, the HAL driver 6 and the HAL 5 only need to check the HAL operation information 81 portion, and the processing is simplified.

尚、本発明の実施の形態1では、ハードウェアの設定パラメータの評価作業を対象としたが、これに限定されない。例えば、本発明の実施の形態1のHAL5、及びHALドライバ6を搭載した携帯型情報端末において、外部からHAL評価プログラム7相当のプログラムをインストールし、実行することで、当該携帯型情報端末が使用するハードウェアの動作を制御することができ、設定パラメータの調整や、各種検証作業等を行うことができる。   In the first embodiment of the present invention, the hardware setting parameter evaluation work is targeted. However, the present invention is not limited to this. For example, in the portable information terminal equipped with the HAL 5 and the HAL driver 6 of Embodiment 1 of the present invention, the portable information terminal can be used by installing and executing a program corresponding to the HAL evaluation program 7 from the outside. Hardware operation can be controlled, adjustment of setting parameters, various verification operations, and the like can be performed.

さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above.

本発明の実施の形態1にかかるハードウェア設定パラメータ評価システムによる評価作業の機器構成図の例を示すブロック図である。It is a block diagram which shows the example of the apparatus block diagram of the evaluation operation | work by the hardware setting parameter evaluation system concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHALのモジュール構成を示すブロック図である。It is a block diagram which shows the module structure of HAL concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるRequest Dataの構成例を示す図である。It is a figure which shows the structural example of Request Data concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHAL評価プログラム、HALドライバ、HAL、及びデバイスの関係を示すブロック図である。It is a block diagram which shows the relationship between the HAL evaluation program, HAL driver, HAL, and device concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHAL評価プログラム、HALドライバ、及びHALの呼び出し関係の概念を示す図である。It is a figure which shows the concept of the calling relationship of the HAL evaluation program, HAL driver, and HAL concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHAL評価プログラムのHAL評価処理の流れを示すフローチャート図である。It is a flowchart figure which shows the flow of the HAL evaluation process of the HAL evaluation program concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHALドライバの処理の流れを示すフローチャート図である。It is a flowchart figure which shows the flow of a process of the HAL driver concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHALの処理の流れを示すフローチャート図である。It is a flowchart figure which shows the flow of a process of HAL concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるHAL関数とHAL関数Noの例を示す図である。It is a figure which shows the example of the HAL function and HAL function No concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる評価プログラムとHALドライバの例を示す図である。It is a figure which shows the example of the evaluation program and HAL driver concerning Embodiment 1 of this invention.

符号の説明Explanation of symbols

100 ハードウェア設定パラメータ評価システム
1 評価ボード
11 CPU
12 デバイス
13 端子
14 メモリ
15 ROM(OS)
16 ROM(HAL)
17 端子
18 検査端子
2 ハードウェア
3 端末
4 デバッガ装置
5 HAL
500 Anchor Pointer
53 共通管理領域
531 デバイスエントリ
532 デバイスエントリ
533 デバイスエントリ
534 DB Pointer
535 FT Pointer
541 HAL Device固有部
542 HAL Device固有部
543 HAL Device固有部
55 デバイスブロック
56 関数テーブル
57 HAL関数
121 デバイス
122 デバイス
123 デバイス
8 Request Data
81 HAL操作情報
811 デバイスID
812 HAL関数No
813 Return Code
82 パラメータ情報
50 共通インタフェース
511 関数テーブル
512 関数テーブル
513 関数テーブル
521 HAL関数
522 HAL関数
523 HAL関数
6 HALドライバ
621 デバイスドライバ
622 デバイスドライバ
623 デバイスドライバ
7 HAL評価プログラム
71 HAL関数呼び出し
72 OS I/F呼び出し
61 OS I/F呼び出し処理部
62 HAL関数呼び出し処理部
51 HAL管理部(RAM)
52 HAL関数(ROM)
711、712、620 コード
713 コード群
100 Hardware Setting Parameter Evaluation System 1 Evaluation Board 11 CPU
12 device 13 terminal 14 memory 15 ROM (OS)
16 ROM (HAL)
17 terminal 18 inspection terminal 2 hardware 3 terminal 4 debugger device 5 HAL
500 Anchor Pointer
53 Common Management Area 531 Device Entry 532 Device Entry 533 Device Entry 534 DB Pointer
535 FT Pointer
541 HAL Device Specific Portion 542 HAL Device Specific Portion 543 HAL Device Specific Portion 55 Device Block 56 Function Table 57 HAL Function 121 Device 122 Device 123 Device 8 Request Data
81 HAL operation information 811 Device ID
812 HAL function No.
813 Return Code
82 Parameter Information 50 Common Interface 511 Function Table 512 Function Table 513 Function Table 521 HAL Function 522 HAL Function 523 HAL Function 6 HAL Driver 621 Device Driver 622 Device Driver 623 Device Driver 7 HAL Evaluation Program 71 HAL Function Call 72 OS I / F Call 61 OS I / F call processing unit 62 HAL function call processing unit 51 HAL management unit (RAM)
52 HAL function (ROM)
711, 712, 620 code 713 code group

Claims (18)

カーネルモードとユーザモードとを有するオペレーティングシステムを実行するデータ処理装置であって、
複数のハードウェア処理部と、
前記カーネルモードで動作し、前記複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースと、を有するハードウェア抽象化層と、
前記ハードウェア抽象化層を制御するハードウェア抽象化層制御部とを備え、
前記ハードウェア抽象化層制御部は、
前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付け、前記ハードウェア抽象化層において、前記共通のインタフェースを用いて、前記制御要求により特定されるハードウェア処理部に関する制御を行う、データ処理装置。
A data processing apparatus that executes an operating system having a kernel mode and a user mode,
A plurality of hardware processing units;
A hardware abstraction layer that operates in the kernel mode and includes an interface corresponding to each of the plurality of hardware processing units, and a common interface for a device driver corresponding to each of the plurality of hardware processing units; ,
A hardware abstraction layer control unit for controlling the hardware abstraction layer,
The hardware abstraction layer control unit
Hardware that receives a control request for any of the plurality of hardware processing units from a program that operates in the user mode, and that is identified by the control request using the common interface in the hardware abstraction layer A data processing apparatus that performs control related to a processing unit.
前記ハードウェア抽象化層制御部は、
前記制御要求を前記オペレーティングシステムのインタフェースを介して受け付け、当該制御要求に基づき、前記ハードウェア抽象化層を呼び出す、請求項1に記載のデータ処理装置。
The hardware abstraction layer control unit
The data processing apparatus according to claim 1, wherein the control request is received via an interface of the operating system, and the hardware abstraction layer is called based on the control request.
前記ハードウェア抽象化層制御部は、
前記ハードウェア処理部を識別するデバイス識別情報と、前記ハードウェア処理部に関する処理を行うハードウェア処理関数を識別する関数識別情報と、前記ハードウェア処理関数に用いるパラメータ値とが格納されたリクエストデータを前記制御要求に含めて前記ハードウェア抽象化層を呼び出す、請求項2に記載のデータ処理装置。
The hardware abstraction layer control unit
Request data storing device identification information for identifying the hardware processing unit, function identification information for identifying a hardware processing function for performing processing related to the hardware processing unit, and parameter values used for the hardware processing function The data processing apparatus according to claim 2, wherein the hardware abstraction layer is called by including the control request in the control request.
前記ユーザモードで動作するプログラムは、
前記デバイス識別情報と、前記関数識別情報と、前記パラメータ値とを前記リクエストデータに格納し、当該リクエストデータを前記制御要求に含め、当該制御要求を前記オペレーティングシステムのインタフェースへ変換する、請求項3に記載のデータ処理装置。
The program that operates in the user mode is:
4. The device identification information, the function identification information, and the parameter value are stored in the request data, the request data is included in the control request, and the control request is converted into an interface of the operating system. The data processing apparatus described in 1.
前記ユーザモードで動作するプログラムは、前記複数のハードウェア処理部に対応する複数のデバイスドライバであり、
前記ハードウェア抽象化層制御部は、前記複数のデバイスドライバから前記ハードウェア処理部への制御要求を受け付ける、請求項1乃至4のいずれか1項に記載のデータ処理装置。
The program that operates in the user mode is a plurality of device drivers corresponding to the plurality of hardware processing units,
The data processing apparatus according to claim 1, wherein the hardware abstraction layer control unit receives a control request from the plurality of device drivers to the hardware processing unit.
前記ハードウェア抽象化層は、前記ハードウェア処理部を制御するための処理関数を備え、
前記デバイスドライバ及び前記ユーザモードで動作するプログラムは、前記処理関数を呼び出すための処理関数呼び出し部を備える請求項1に記載のデータ処理装置。
The hardware abstraction layer includes a processing function for controlling the hardware processing unit,
The data processing apparatus according to claim 1, wherein the device driver and the program operating in the user mode include a processing function call unit for calling the processing function.
前記ハードウェア抽象化層制御部は、前記ユーザモードで動作するプログラムの処理関数呼び出しを、前記カーネルモードで動作する処理関数呼び出しに変換することで、前記処理関数を呼び出す請求項6に記載のデータ処理装置。   The data according to claim 6, wherein the hardware abstraction layer control unit calls the processing function by converting a processing function call of a program operating in the user mode into a processing function call operating in the kernel mode. Processing equipment. カーネルモードとユーザモードとを有するオペレーティングシステムと、前記カーネルモードで動作し、複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースを有するハードウェア抽象化層とを備えるコンピュータに前記複数のハードウェア処理部へのアクセス処理を実行させるハードウェアアクセス方法であって、
前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付ける制御要求受付ステップと、
前記ハードウェア抽象化層に対して、前記共通インタフェースを介して、前記制御要求により特定されるハードウェア処理部に関する制御を実行させるハードウェア抽象化層呼び出しステップとを備える、ハードウェアアクセス方法。
An operating system having a kernel mode and a user mode, an interface operating in the kernel mode, corresponding to each of the plurality of hardware processing units, and a device driver corresponding to each of the plurality of hardware processing units A hardware access method for causing a computer including a hardware abstraction layer having an interface to execute access processing to the plurality of hardware processing units,
A control request receiving step for receiving a control request for any of the plurality of hardware processing units from a program operating in the user mode;
A hardware access method comprising: a hardware abstraction layer calling step for causing the hardware abstraction layer to execute control related to a hardware processing unit specified by the control request via the common interface.
前記制御要求受付ステップは、前記制御要求を前記オペレーティングシステムのインタフェースを介して受け付けることを特徴とする、請求項8に記載のハードウェアアクセス方法。   9. The hardware access method according to claim 8, wherein the control request receiving step receives the control request via an interface of the operating system. 前記ハードウェア抽象化層呼び出しステップは、前記ハードウェア処理部を識別するデバイス識別情報と、前記ハードウェア処理部に関する処理を行うハードウェア処理関数を識別する関数識別情報と、前記ハードウェア処理関数に用いるパラメータ値とが格納されたリクエストデータを前記制御要求に含めて前記ハードウェア抽象化層を呼び出す、請求項8又は9に記載のハードウェアアクセス方法。   The hardware abstraction layer calling step includes device identification information for identifying the hardware processing unit, function identification information for identifying a hardware processing function for performing processing related to the hardware processing unit, and the hardware processing function. The hardware access method according to claim 8 or 9, wherein request data storing a parameter value to be used is included in the control request and the hardware abstraction layer is called. 前記制御要求受付ステップは、前記複数のハードウェア処理部に対応する複数のデバイスドライバから前記ハードウェア処理部への制御要求を更に受け付ける、請求項8乃至10のいずれか1項に記載のハードウェアアクセス方法。   The hardware according to claim 8, wherein the control request receiving step further receives a control request from a plurality of device drivers corresponding to the plurality of hardware processing units to the hardware processing unit. how to access. 前記デバイスドライバを動作させるステップと、
前記デバイスドライバの動作中に、前記ユーザモードで動作するプログラムから、前記ハードウェア抽象化層を介して、前記ハードウェア処理部の情報を取得するハードウェア情報取得ステップとをさらに備える請求項8乃至11のいずれか1項に記載のハードウェアアクセス方法。
Operating the device driver;
The hardware information acquisition step of acquiring information on the hardware processing unit from the program operating in the user mode through the hardware abstraction layer during the operation of the device driver. 12. The hardware access method according to any one of 11 above.
前記デバイスドライバ及び前記ユーザモードで動作するプログラムから、前記ハードウェア処理部を制御するために前記ハードウェア抽象化層が備える処理関数を呼び出すための処理関数呼び出しステップを備える請求項8に記載のハードウェアアクセス方法。   The hardware according to claim 8, further comprising: a processing function calling step for calling a processing function included in the hardware abstraction layer to control the hardware processing unit from the device driver and the program operating in the user mode. Wear access method. 前記ハードウェア抽象化層呼び出しステップは、前記ユーザモードで動作するプログラムの処理関数呼び出しを、前記カーネルモードで動作する処理関数呼び出しに変換することで、前記処理関数を呼び出す請求項13に記載のハードウェアアクセス方法。   14. The hardware abstraction layer according to claim 13, wherein the hardware abstraction layer calling step calls the processing function by converting a processing function call of a program operating in the user mode into a processing function call operating in the kernel mode. Wear access method. カーネルモードとユーザモードとを有するオペレーティングシステムと、前記カーネルモードで動作し、複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースを有するハードウェア抽象化層とを備えるコンピュータに前記複数のハードウェア処理部へのアクセス処理を実行させるハードウェアアクセスプログラムであって、
前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付ける制御要求受付手段と、
前記ハードウェア抽象化層に対して、前記共通インタフェースを介して、前記制御要求により特定されるハードウェア処理部に関する制御を実行させるハードウェア抽象化層呼び出し手段とを備える、ハードウェアアクセスプログラム。
An operating system having a kernel mode and a user mode, an interface operating in the kernel mode, corresponding to each of the plurality of hardware processing units, and a device driver corresponding to each of the plurality of hardware processing units A hardware access program for causing a computer including a hardware abstraction layer having an interface to execute access processing to the plurality of hardware processing units,
Control request receiving means for receiving a control request for any of the plurality of hardware processing units from a program operating in the user mode;
A hardware access program comprising: a hardware abstraction layer calling unit that causes the hardware abstraction layer to execute control related to a hardware processing unit specified by the control request via the common interface.
前記制御要求受付手段は、前記制御要求を前記オペレーティングシステムのインタフェースを介して受け付けることを特徴とする、請求項15に記載のハードウェアアクセスプログラム。 16. The hardware access program according to claim 15, wherein the control request accepting unit accepts the control request via an interface of the operating system. 前記ハードウェア抽象化層呼び出し手段は、前記ハードウェア処理部を識別するデバイス識別情報と、前記ハードウェア処理部に関する処理を行うハードウェア処理関数を識別する関数識別情報と、前記ハードウェア処理関数に用いるパラメータ値とが格納されたリクエストデータを前記制御要求に含めて前記ハードウェア抽象化層を呼び出す、請求項15又は16に記載のハードウェアアクセスプログラム。   The hardware abstraction layer calling unit includes device identification information for identifying the hardware processing unit, function identification information for identifying a hardware processing function for performing processing related to the hardware processing unit, and the hardware processing function. The hardware access program according to claim 15 or 16, wherein request data storing a parameter value to be used is included in the control request and the hardware abstraction layer is called. 前記制御要求受付手段は、前記複数のハードウェア処理部に対応する複数のデバイスドライバから前記ハードウェア処理部への制御要求を更に受け付ける、請求項15乃至17のいずれか1項に記載のハードウェアアクセスプログラム。   The hardware according to claim 15, wherein the control request receiving unit further receives a control request from a plurality of device drivers corresponding to the plurality of hardware processing units to the hardware processing unit. Access program.
JP2008103095A 2008-04-11 2008-04-11 Data processor, hardware access method, and hardware access program Pending JP2009252194A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008103095A JP2009252194A (en) 2008-04-11 2008-04-11 Data processor, hardware access method, and hardware access program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008103095A JP2009252194A (en) 2008-04-11 2008-04-11 Data processor, hardware access method, and hardware access program

Publications (1)

Publication Number Publication Date
JP2009252194A true JP2009252194A (en) 2009-10-29

Family

ID=41312790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008103095A Pending JP2009252194A (en) 2008-04-11 2008-04-11 Data processor, hardware access method, and hardware access program

Country Status (1)

Country Link
JP (1) JP2009252194A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095778A (en) * 2014-11-17 2016-05-26 セイコーエプソン株式会社 Information processor, method of controlling information processor, computer program
JP5997868B2 (en) * 2014-09-19 2016-09-28 株式会社aLab Device proxy apparatus and control method thereof
JP5997867B2 (en) * 2014-09-19 2016-09-28 株式会社aLab Device driver registration apparatus and device driver registration method using the same
CN110413327A (en) * 2019-07-16 2019-11-05 阿里巴巴集团控股有限公司 A kind of hardware driving method and apparatus based on hardware abstraction layer
CN111061524A (en) * 2019-12-09 2020-04-24 Oppo广东移动通信有限公司 Application data processing method and related device
CN113084802A (en) * 2021-03-30 2021-07-09 京东数科海益信息科技有限公司 Robot control method, device, electronic device and storage medium
CN113946370A (en) * 2020-07-16 2022-01-18 Oppo广东移动通信有限公司 Drive system, information processing method, device, and storage medium
CN116578524A (en) * 2023-07-12 2023-08-11 宁德时代新能源科技股份有限公司 Multi-core controller, control method, vehicle control system and readable storage medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5997868B2 (en) * 2014-09-19 2016-09-28 株式会社aLab Device proxy apparatus and control method thereof
JP5997867B2 (en) * 2014-09-19 2016-09-28 株式会社aLab Device driver registration apparatus and device driver registration method using the same
WO2016079950A1 (en) * 2014-11-17 2016-05-26 セイコーエプソン株式会社 Information processing device, method for controlling information processing device, and computer program
JP2016095778A (en) * 2014-11-17 2016-05-26 セイコーエプソン株式会社 Information processor, method of controlling information processor, computer program
CN110413327A (en) * 2019-07-16 2019-11-05 阿里巴巴集团控股有限公司 A kind of hardware driving method and apparatus based on hardware abstraction layer
CN110413327B (en) * 2019-07-16 2022-07-19 创新先进技术有限公司 Hardware driving method and device based on hardware abstraction layer
CN111061524A (en) * 2019-12-09 2020-04-24 Oppo广东移动通信有限公司 Application data processing method and related device
CN113946370B (en) * 2020-07-16 2024-02-06 Oppo广东移动通信有限公司 Driving system, information processing method, information processing apparatus, and storage medium
CN113946370A (en) * 2020-07-16 2022-01-18 Oppo广东移动通信有限公司 Drive system, information processing method, device, and storage medium
CN113084802A (en) * 2021-03-30 2021-07-09 京东数科海益信息科技有限公司 Robot control method, device, electronic device and storage medium
CN113084802B (en) * 2021-03-30 2023-01-31 京东科技信息技术有限公司 Robot control method, device, electronic device and storage medium
CN116578524A (en) * 2023-07-12 2023-08-11 宁德时代新能源科技股份有限公司 Multi-core controller, control method, vehicle control system and readable storage medium
CN116578524B (en) * 2023-07-12 2023-12-15 宁德时代新能源科技股份有限公司 Multi-core controller, control method, vehicle control system and readable storage medium

Similar Documents

Publication Publication Date Title
JP2009252194A (en) Data processor, hardware access method, and hardware access program
JP5491675B2 (en) Information processing apparatus and information processing apparatus control method
US6993642B2 (en) Method and system for creating and employing an operating system having selected functionality
KR101211503B1 (en) Booting system, image forming apparatus having the system and method thereof
US20050268195A1 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
US7711941B2 (en) Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
US20100199290A1 (en) System and method for multifunction device enumeration
US20070101115A1 (en) Information processing device, bios processing method and program
CN102945173A (en) User program on-line upgrading system and method
WO2016062146A1 (en) Serial number information update method, device and terminal
US20070129860A1 (en) Vehicle Service Equipment Interface Drivers
JP5307133B2 (en) Device emulation support apparatus, device emulation support method, device emulation support circuit, and information processing apparatus
JP2010500682A (en) Flash memory access circuit
JP4052265B2 (en) Information processing apparatus, device driver loading method and program
JP2006227681A (en) Debug device, debug method and program
US20070300054A1 (en) Universal BSP tool for porting on embedded systems and an application thereof
EP3321808B1 (en) Verification system and verification method
CN108021385A (en) A kind of programming system and method for onboard SPI Flash
JP2005182812A (en) System and method for storing image file in computer system
CN110825421A (en) Firmware upgrading method and system and readable storage medium
KR102434126B1 (en) Apparatus for processing programmable logic controller program
KR100303307B1 (en) Downloading device and method for debugging operation in real time operating system
CN107229457B (en) Electronic controller, guide loading method and device thereof and automobile
JP2005353020A (en) Simulation system for computer program
TWI760691B (en) Method, test device and system for automatically testing software compatibility