JP2009252194A - Data processor, hardware access method, and hardware access program - Google Patents
Data processor, hardware access method, and hardware access program Download PDFInfo
- 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
Links
Images
Abstract
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に開示されている。
しかしながら、特許文献1では、ハードウェア(デバイス)ごとにDLLを作成しなければならない。そのため、開発、テストの効率が悪い、という問題点がある。それは、デバイスドライバがハードウェアに依存した処理をそれぞれ備えているため、ハードウェアの仕様変更に影響を受け、都度、デバイスドライバを修正する必要があるためである。さらに、組み込みシステムにおけるデバイスドライバの修正は、ROMの焼き直し作業が発生するため、テストの作業効率が下がる。
However, in
本発明にかかるデータ処理装置は、カーネルモードとユーザモードとを有するオペレーティングシステムを実行するものであり、複数のハードウェア処理部と、前記カーネルモードで動作し、前記複数のハードウェア処理部のそれぞれと対応するインタフェースと、前記複数のハードウェア処理部のそれぞれと対応するデバイスドライバに対する共通のインタフェースと、を有するハードウェア抽象化層と、前記ハードウェア抽象化層を制御するハードウェア抽象化層制御部とを備える。前記ハードウェア抽象化層制御部は、前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付け、前記ハードウェア抽象化層において、前記共通のインタフェースを用いて、前記制御要求により特定されるハードウェア処理部に関する制御を行う。 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.
本発明の実施の形態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
ハードウェア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
CPU11は、メモリ14と、ROM(OS)15と、ROM(HAL)16とに格納されたソフトウェアを実行する制御装置である。具体的には、CPU11は、デバイス12へアクセスし、端子13を介してハードウェア2を操作する。
The
デバイス12は、CPU11からの命令を受け付け、端子13を介してハードウェア2を操作するコントローラである。デバイス12は、ハードウェア2ごとに存在する。また、端子13は、ハードウェア2と接続され、デバイス12とハードウェア2との通信を行うための端子である。例えば、ハードウェア2がディスプレイ装置である場合、端子13は、D3端子であればよい。
The
メモリ14は、揮発性の記憶装置であるRAM(Random Access Memory)であり、例えば、DRAM(Dynamic Random Access Memory)等であればよい。メモリ14は、ROM(OS)15、ROM(HAL)16、又は、外部からインストールされる評価プログラムを格納する。
The
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
端末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
デバッガ装置4は、組み込みシステムを開発する際に使うデバッガである。デバッガ装置4は、検査端子18からのCPU11、及びメモリ14の状態、並びに、レジスタの値を受信し、デバッグ情報として端末3へ送信する。
The
このように、評価ボード1は、CPU11により、メモリ14に読み込まれたOS、HAL、HALドライバ、及び評価プログラムを実行することにより、設定パラメータに基づいて、デバイス12に処理を行わせてハードウェア2を操作し、その際のCPU11、メモリ14等の状態をデバッガ装置4により取得することで、当該設定パラメータの評価を行うことができる。
As described above, the
次に、本発明の実施の形態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
HAL5は、デバイス121乃至123のいずれかに対する制御要求を、上述したHALドライバや、デバイス121乃至123のいずれかに対応するデバイスドライバから受け付け、該当するデバイス121乃至123のいずれかにアクセスを行うことで、デバイス121乃至123のいずれかに対応するハードウェア(例えば、図1のハードウェア2)の操作を行うものである。HAL5は、Anchor Pointer500と、共通管理領域53と、HAL Device固有部541乃至543とを備える。
The
Anchor Pointer500は、HALの初期化時に、CPU11によりROM(HAL)16からメモリ14上に読み込まれる際の開始アドレスの値である。そのため、以降の処理は、Anchor Pointer500を起点にしてメモリ14内を参照することができる。
HAL5は、各種デバイスへのインデクス情報を格納する共通管理領域53と、デバイスごとの固有の定義情報を格納するHAL Device固有部541乃至543とを備える。
The
共通管理領域53は、HAL Device固有部541へのインデクス情報であるデバイスエントリ531と、HAL Device固有部542へのインデクス情報であるデバイスエントリ532と、HAL Device固有部543へのインデクス情報であるデバイスエントリ533とを備える。
The
HAL Device固有部541乃至543は、それぞれデバイス121乃至123に対応する。以下では、例として、HAL Device固有部541について説明し、HAL Device固有部542、及びHAL Device固有部543については、HAL Device固有部541と同様であるため、説明を省略する。
The HAL Device
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
ここで、デバイスエントリ531は、デバイスブロック55へのポインタであるDB Pointer534と、関数テーブル56へのポインタであるFT Pointer535が格納されるHAL Device固有部541へのインデクス情報である。同様に、デバイスエントリ532、及びデバイスエントリ533は、それぞれHAL Device固有部542、及びHAL Device固有部543へのインデクス情報であるため、図示、及び説明は省略する。
Here, the
また、共通管理領域53、デバイスブロック55、関数テーブル56、及び図3に例示するRequest Dataは、初期化時に、メモリ14に領域を確保される。また、HAL関数57には、全てのデバイスに共通する関数と、デバイス固有の関数とが存在する。尚、メモリ14の領域に余裕がある場合、HAL関数57についても、初期化時に、メモリ14に領域を確保されるようにしても構わない。それにより、実行速度がより速くなる。
Further, the
また、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
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
HAL操作情報81は、各種デバイスに共通する固定長のパラメータデータの領域である。HAL操作情報81は、処理対象のデバイスを識別するデバイスID811と、実行対象のHAL関数57を識別するHAL関数No812と、実行されるHAL関数の戻り値であるReturn Code813等とを備える。また、パラメータ情報82は、各種デバイスに固有のパラメータデータの領域である。例えば、ディスプレイに関するデバイスの場合、パラメータ情報82は、表示開始位置のX座標、及びY座標、画面の縦サイズ、横サイズ等であればよい。
The
以上のことにより、HALへアクセスするあらゆるプログラムからHAL5の提供する全ての関数にアクセスすることが可能となる。
As described above, all functions provided by the
図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
図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
ここでは、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
図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ドライバ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
HAL5は、HAL管理部(RAM)51によりデバイス実行関数を受け付け、Request Data8、及びデバイス実行関数に基づき、HAL関数(ROM)52を用いてデバイスへのアクセスを行う。
The
すなわち、HAL評価プログラム7、及びHALドライバ6には、各OSが提供するデバイスドライバに対するアプリケーションプログラミングインタフェース(API)を隠ぺいした処理が実装されている。
That is, the
HAL評価プログラム7は、ユーザモードで動作するプログラムであるため、本来は、デバイスドライバのように、デバイス実行関数を直接呼び出すかのような処理をプログラミングすることはできない。そこで、本発明の実施の形態1では、ユーザモード、及びカーネルモードで動作するHALドライバ6を導入し、HALドライバ6がOS I/F呼び出し処理部61とHAL関数呼び出し処理部62を実装することにより、ユーザモードで動作する評価プログラムの制御要求から、カーネルモードで動作するHAL5のデバイス実行関数を呼び出すことができるようにした。これにより、HAL評価プログラム7において、デバイス実行関数を直接呼び出すかのようなHAL関数呼び出し71のプログラミングを実装することができる。
Since the
これにより、HAL評価プログラム7からきめ細かなパラメータ設定を行って、デバイスを操作し、ハードウェアへアクセスすることが可能となる。
This makes it possible to perform detailed parameter settings from the
従来、デバイスの操作を行うための処理は、デバイスドライバのプログラム内に、設定パラメータと、デバイス実行関数を呼び出す処理を記載する必要があった。デバイスドライバは、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
また、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
続いて、図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評価プログラム7は、Request Data8の設定を行う(S101)。具体的には、HAL評価プログラム7のHAL関数呼び出し71において、処理対象のデバイスについてのデバイスID、及び各種パラメータ値をRequest Data8に格納する。図10ではpREQがRequest Data8に相当する構造体である。
First, the
次に、HAL評価プログラム7は、HAL関数の設定を行う(S102)。具体的には、HAL関数呼び出し71において、処理対象のデバイスに対して処理したいHAL関数NoをRequest Data8に格納する。図10ではpREQのfunctionを設定しているコード群、例えば、コード711がこれに相当する。
Next, the
その後、HAL評価プログラム7は、HAL関数の呼び出しを行う(S103)。具体的には、HAL関数呼び出し71において、デバイス実行関数を呼び出す。図10では、_DevHelpをコールしているコード712がこれに相当する。
Thereafter, the
そして、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評価プログラム7は、ReturnCodeがSuccessであるか否かを判定する(S105)。具体的には、OS I/F呼び出し72を経由してHAL関数呼び出し71によりHALドライバ6からの実行結果を含むRequest Data8を受信し、Request Data8に含まれるReturnCodeの内容を判定する。
Thereafter, the
ReturnCodeがSuccessである場合、HAL評価プログラム7は、事後処理を行う(S106)。また、ReturnCodeがSuccess以外である場合、HAL評価プログラム7は、エラー処理を行う(S107)。これにより、HAL評価プログラム7によるHAL評価処理を終了する。
If ReturnCode is Success, the
次に、図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
次に、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
その後、HALドライバ6は、HAL5からの実行結果と、ReturnCodeとを受信する(S113)。具体的には、HAL関数呼び出し処理部62により、Request Data8への参照を受け取る。
Thereafter, the HAL driver 6 receives the execution result from the
そして、HALドライバ6は、受け取ったRequest Data8をHAL評価プログラム7へ返信して、処理を終了する。
Then, the HAL driver 6 returns the received
続いて、図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
次に、HAL5は、デバイスID、及びHAL関数Noに基づき、HAL関数を特定する(S122)。具体的には、HAL管理部(RAM)51により、Request Data8に格納されたデバイスID、及びHAL関数Noから共通管理領域53を参照し、対象となるHAL関数を特定する。
Next, the
そして、HAL5は、特定されたHAL関数を実行する(S123)。続いて、HAL5は、実行結果、及び、戻り値であるReturnCodeをRequest Data8へ格納(S124)し、HALドライバ6へ戻す。尚、このとき、デバイスの処理が完了しない場合、その旨をReturnCodeとしてRequest Data8へ格納し、HAL5は処理を終了する。例えば、割り込み待ちのような場合、HAL5、及びHALドライバ6は、ReturnCodeに格納された「割り込み待ち」をそのまま返し、HAL評価プログラム7は、受け取ったReturnCodeを確認し、再度、処理要求を行うようにすればよい。
The
このように、本発明の実施の形態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
そのため、ハードウェアと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
本発明の実施の形態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
本発明の実施の形態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
本発明の実施の形態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
尚、本発明の実施の形態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
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。 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.
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
12
16 ROM (HAL)
17 terminal 18 inspection terminal 2 hardware 3
500 Anchor Pointer
53
535 FT Pointer
541 HAL
81
812 HAL function No.
813 Return Code
82
52 HAL function (ROM)
711, 712, 620
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.
前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付ける制御要求受付ステップと、
前記ハードウェア抽象化層に対して、前記共通インタフェースを介して、前記制御要求により特定されるハードウェア処理部に関する制御を実行させるハードウェア抽象化層呼び出しステップとを備える、ハードウェアアクセス方法。 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乃至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.
前記ユーザモードで動作するプログラムから、前記複数のハードウェア処理部のいずれかに対する制御要求を受け付ける制御要求受付手段と、
前記ハードウェア抽象化層に対して、前記共通インタフェースを介して、前記制御要求により特定されるハードウェア処理部に関する制御を実行させるハードウェア抽象化層呼び出し手段とを備える、ハードウェアアクセスプログラム。 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.
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)
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 |
-
2008
- 2008-04-11 JP JP2008103095A patent/JP2009252194A/en active Pending
Cited By (13)
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 |