[北京Xunwei] i.MX6ULLターミネーターLinux静電容量式タッチスクリーン実験動作テスト

1ドライバーをコンパイルします

Makefileファイルを作成します。内容は基本的に前の実験と同じです。obj-mの値をft5426.oに変更する必要があります。具体的な内容は、次のとおりです。

KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga
CURRENT_PATH := $(shell pwd)
obj-m := ft5426.o

build: kernel_modules

kernel_modules: 
        $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
        $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

まず、ターミナルに2つのコマンドを入力します(2つの環境変数を設定します)。

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-

次に、「make」コマンドを実行して、本番ft5426.koドライバーモジュールファイルをコンパイル、コンパイル、および完了します。

2テストを実行します

デバイスツリーファイルをコンパイルし、新しいデバイスツリーファイルを使用して開発ボードを起動し、生成されたft5426.koドライバーモジュールファイルを開発ボードルートファイルシステムのlib / modules / 4.1.15ディレクトリにコピーしてコンパイルします(チェック開発ボードのルートファイルシステム「/lib/modules/4.1.15」ディレクトリはありません。ディレクトリがない場合は、自分で作成する必要があります。開発ボードは、CDデータで提供されているbusyboxファイルシステムを使用します。およびCDデータ「i.MX6ULターミネータCDデータ\ 08_開発ボードシステムイメージ\ 03_ファイルシステムイメージ\ 01_Busyboxファイルシステム」ディレクトリ)。次のコマンドを使用して、モジュールをロードします。

depmod
modprobe ft5426

ドライバモジュールが正常にロードされると、図2.1に示すようなメッセージが表示されます。
ここに画像の説明を挿入

図2.1

ドライバが正常にロードされると、/ dev / input / eventnデバイスファイルが生成されます。たとえば、このタッチスクリーンを図2.2に示します。
ここに画像の説明を挿入

図2.2

event4デバイスファイルは、タッチスクリーンに対応するファイルです。もちろん、ファイル名は異なる場合があります。
コマンドを使用してevent4ファイルを表示します。
hexdump /dev/input/event4
指を使用して画面に触れて持ち上げると、図2.3に示すように情報が出力されます。
ここに画像の説明を挿入

図2.3

タッチスクリーンドライバが正常に動作していることを示しています。

3ドライバーをカーネルに追加します

以前、タッチスクリーンドライバーをモジュールファイルにコンパイルしましたが、システムを起動するたびに、ドライバーモジュールを手動でロードする必要があり、非常に不便です。デバイスドライバーが正常にデバッグされると、通常はドライバーをカーネルに直接コンパイルするため、カーネルの起動後にドライバーが自動的に読み込まれます。このセクションでは、ft5426.cドライバーファイルをLinuxカーネルに追加する方法を見てみましょう。
1.ドライバーファイルを適切なディレクトリ
に配置します正常にテストされたドライバーファイルは、最初にLinuxカーネルの適切なディレクトリに配置する必要があります。この時点で、同様のデバイスのドライバーファイルが保存されているディレクトリを参照できます。ドライバーにあるタッチスクリーンドライバーファイルとして/ input / touchscreenディレクトリはすべてタッチ関連のドライバーファイルであるため、ft5426.cドライバーファイルをこのディレクトリに配置します。
2.対応するMakefileを変更し
、ft5426.cドライバーファイルをdrivers / input / touchscreenディレクトリに配置した後、このディレクトリのMakefileファイルを変更し、次のコンテンツを追加する必要があります。追加は次の
obj-y += ft5426.o
ように完了します。
ここに画像の説明を挿入

図3.1

変更が完了したら、Linuxカーネルを再コンパイルし、新しいzImageイメージを使用して開発ボードを起動します。ドライバーが正常に追加されると、図3.2に示すように出力されます。
ここに画像の説明を挿入

図3.2

次のコマンドを使用して、対応するイベント時間を表示できます。
cat /proc/bus/input/devices
結果は次のとおりです。
ここに画像の説明を挿入

図3.3

ft5426が/ dev / input / event1デバイスファイルに対応していることがわかります。次に、次のコマンドを使用して、ドライバーが正しく機能しているかどうかを確認します。
hexdump /dev/input/event1
結果を図3.4に示します。
ここに画像の説明を挿入

図3.4

ft5426ドライバーが正常に動作していることを示しています。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/BeiJingXunWei/article/details/112800078