美文网首页
迅为IMX6ULL开发板Linux下电容触摸屏实验-运行测试

迅为IMX6ULL开发板Linux下电容触摸屏实验-运行测试

作者: TL_6cdd | 来源:发表于2020-12-04 11:22 被阅读0次

54.4 运行测试

54.4.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

首先我们在终端输入两个命令(设置两个环境变量):

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabihf-

然后执行“make”命令进行编译,编译完成生产 ft5426.ko 驱动模块文件。

54.4.2  运行测试

编译设备树文件,使用新的设备树文件启动开发板,然后拷贝编译生产的 ft5426.ko 驱动模块文件到开发板根文件系统 lib/modules/4.1.15 目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的 busybox 文件系统,光盘资料的“i.MX6UL 终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox 文件系统”目录下)。使

用下列命令加载模块:

depmod

modprobe ft5426

当驱动模块加载成功后,有如图 54.4.2.1 信息:

驱动加载成功后就会生成/dev/input/eventn 设备文件,比如本触摸屏如图 54.4.2.2 所示:

event4 设备文件就是触摸屏对应的文件。当然也有可能文件名称不同。

使用命令查看 event4 文件:

hexdump /dev/input/event4

使用一根手指触摸屏幕在抬起,会有信息输出,如图 54.4.2.3 所示:

54.4.3  将驱动添加到内核中

前面我们把触摸屏驱动编译成了模块文件,每次系统启动后都需要手动加载驱动模块,这样很不方便。当我们的设备驱动调试成功后,一般会把驱动直接编译到内核中,这样内核启动后就会自动加载驱动。在本节就来看一下如何将 ft5426.c 驱动文件添加到 Linux 内核中去。

1、 、 将驱动文件放到合适目录下

测试成功的驱动文件首先要放到 Linux 内核的合适的目录下,这时我们可以参考类似设备的驱动文件存放目录,比如触摸屏驱动文件,我们可以找到在 drivers/input/touchscreen 目录下都是关于触摸的驱动文件,因此我们把 ft5426.c 驱动文件也放到这个目录下。

2、 、的 修改对应的 Makefile

把 ft5426.c 驱动文件放到 drivers/input/touchscreen 目录下后,需要修改此目录下的 Makefile 文件,添加如下内容:

obj-y += ft5426.o

添加完成所示:

修改完成后,重新编译 Linux 内核,然后使用新的 zImage 镜像启动开发板,驱动添加成功启动有如图54.4.3.2 信息打印:

可以使用下面的命令查看对应的 event 时间:

cat /proc/bus/input/devices

结果如下:

可以看到 ft5426 对应/dev/input/event1 设备文件,然后使用下面的命令查看驱动是否工作正常:

hexdump /dev/input/event1

结果如图 54.4.3.4 所示:

说明 ft5426 驱动工作正常。

相关文章

网友评论

      本文标题:迅为IMX6ULL开发板Linux下电容触摸屏实验-运行测试

      本文链接:https://www.haomeiwen.com/subject/qiwbwktx.html