找回密码
 注册
关于网站域名变更的通知
查看: 303|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-4 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
54.4 运行测试
1 l5 m& `# N$ q3 a6 b54.4.1  编译驱动程序
$ n% H* T, G6 X0 K2 k, f创建 Makefile 文件,内容和前面实验基本一样,需要将 obj-m 的值修改为 ft5426.o,具体内容如下:+ t# w9 D4 V& b$ a$ }. M3 x
KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga
3 q, E6 z# n, c" s) A0 YCURRENT_PATH := $(shell pwd)
( B, i' {% l/ s* Tobj-m := ft5426.o: x6 a* J. J) l; s% y
build: kernel_modules; T" L* K* R9 l: \, K8 _  W
kernel_modules:
1 z6 A( ]8 z- c  p+ g9 c$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
% Y; y# w3 G$ g# c# z4 D8 b) Uclean:
1 @  z: [  H4 k8 W( S* j% s$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean5 h# {8 e1 p* y. A0 b# N$ j* o
首先我们在终端输入两个命令(设置两个环境变量):
4 ^% d6 W0 _! \* T8 Bexport ARCH=ARM4 g+ A* N2 W0 ]6 h: a
export CROSS_COMPILE=arm-linux-gnueabihf-
+ C, N7 `6 F8 [( y$ c然后执行“make”命令进行编译,编译完成生产 ft5426.ko 驱动模块文件。
! }$ A1 `: p- W& W5 ~54.4.2  运行测试
# z4 c$ ]2 d7 q$ x  e编译设备树文件,使用新的设备树文件启动开发板,然后拷贝编译生产的 ft5426.ko 驱动模块文件到开发板根文件系统 lib/modules/4.1.15 目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的 busybox 文件系统,光盘资料的“i.MX6UL 终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox 文件系统”目录下)。使
3 o- t( ~8 S! \用下列命令加载模块:+ r% b0 M7 Q( w. _6 a  V( W. P- m
depmod3 R9 y  k! z) W) J9 ^
modprobe ft5426
" i* C% y. z+ _4 L5 w+ `2 r, O: `当驱动模块加载成功后,有如图 54.4.2.1 信息:; h# U. b+ c' `" J% _

- a0 u4 j: c- f* z驱动加载成功后就会生成/dev/input/eventn 设备文件,比如本触摸屏如图 54.4.2.2 所示:
1 M( m+ o2 V# e# Q" y% [
5 Z4 {' K5 i. Y: n$ Vevent4 设备文件就是触摸屏对应的文件。当然也有可能文件名称不同。
1 v: K, s! _9 G+ M使用命令查看 event4 文件:) N' E8 g( V" Y8 D( O
hexdump /dev/input/event49 {6 h3 ~! @3 W" U- ^6 w' }  c9 f
使用一根手指触摸屏幕在抬起,会有信息输出,如图 54.4.2.3 所示:
  ^/ H* d1 |4 q: S
) U4 ]4 t( M0 |) ~: x& S; p54.4.3  将驱动添加到内核中
9 t" k; T; k8 O前面我们把触摸屏驱动编译成了模块文件,每次系统启动后都需要手动加载驱动模块,这样很不方便。当我们的设备驱动调试成功后,一般会把驱动直接编译到内核中,这样内核启动后就会自动加载驱动。在本节就来看一下如何将 ft5426.c 驱动文件添加到 Linux 内核中去。
4 I; C; ^5 |; m3 P1、 、 将驱动文件放到合适目录下
+ y, K2 ^+ E; C( ~- L+ v- R: C测试成功的驱动文件首先要放到 Linux 内核的合适的目录下,这时我们可以参考类似设备的驱动文件存放目录,比如触摸屏驱动文件,我们可以找到在 drivers/input/touchscreen 目录下都是关于触摸的驱动文件,因此我们把 ft5426.c 驱动文件也放到这个目录下。
6 t' D' d+ O, _9 h# u6 w" X! e2、 、的 修改对应的 Makefile) W+ s( ?! v5 A2 j" X
把 ft5426.c 驱动文件放到 drivers/input/touchscreen 目录下后,需要修改此目录下的 Makefile 文件,添加如下内容:
7 r, x2 o6 W7 cobj-y += ft5426.o
2 ^8 z% ?6 j, |# N9 l添加完成所示:
0 t( E3 L/ T/ I0 V. D" y# n% d% I1 w" e% }/ L+ G6 @* E  ~6 V
修改完成后,重新编译 Linux 内核,然后使用新的 zImage 镜像启动开发板,驱动添加成功启动有如图54.4.3.2 信息打印:1 K) H# ]- F, _, Y. B3 m  K, o# X
: n% h8 z9 H7 k2 ~7 O: ^& G
可以使用下面的命令查看对应的 event 时间:; k0 W& s. V6 L# a3 u" c
cat /proc/bus/input/devices, f' S* t7 X7 Z7 J7 P5 i4 c: d
结果如下:, d  t4 y9 W! E. A7 X

, ^; C9 F7 s) H. G1 t, ~可以看到 ft5426 对应/dev/input/event1 设备文件,然后使用下面的命令查看驱动是否工作正常:
; c/ G7 G% L) l# x8 whexdump /dev/input/event13 `8 |) E/ S. E# g( X4 D8 O
结果如图 54.4.3.4 所示:2 f2 K7 O) T5 }9 W# w) B
8 y; o# n! ^; ?3 C' G% K
说明 ft5426 驱动工作正常。: M7 ^0 v% _" q( T

- L! a( \* s$ P4 `. L
; i* i2 k  p% Z9 S8 ~

该用户从未签到

2#
发表于 2020-12-7 13:21 | 只看该作者
                                       
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 21:02 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表