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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
54.4 运行测试! |' i  n& M2 E/ Y
54.4.1  编译驱动程序0 L3 f! L' L: L; K3 |
创建 Makefile 文件,内容和前面实验基本一样,需要将 obj-m 的值修改为 ft5426.o,具体内容如下:  ]  ?2 O9 B! R, E9 Q/ O
KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga5 ^  j& U4 V( k, d* |3 v; w4 l
CURRENT_PATH := $(shell pwd)
) q/ R0 }6 G& t9 B9 Q# Bobj-m := ft5426.o. u8 U; p/ |( D4 Q, `" N- C
build: kernel_modules
3 M9 S5 ]0 [/ B' j: d3 w0 b& m: Lkernel_modules:+ M- T' B; z" U
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules: D: m0 n$ L+ w! \
clean:) Q+ e' w; T& V8 _& N
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean
% C/ r' F9 `0 @4 X首先我们在终端输入两个命令(设置两个环境变量):
/ g2 g4 a3 K9 N. g2 p' u4 k0 pexport ARCH=ARM8 S4 S6 a5 o/ h6 u0 _
export CROSS_COMPILE=arm-linux-gnueabihf-+ d% ]% Y' A3 f+ D; E4 J, A
然后执行“make”命令进行编译,编译完成生产 ft5426.ko 驱动模块文件。
) k* |; j. f/ K54.4.2  运行测试' ?# y0 Q0 W' q5 G' Q# h2 |
编译设备树文件,使用新的设备树文件启动开发板,然后拷贝编译生产的 ft5426.ko 驱动模块文件到开发板根文件系统 lib/modules/4.1.15 目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的 busybox 文件系统,光盘资料的“i.MX6UL 终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox 文件系统”目录下)。使
% T0 C5 e% F: n- r6 ~用下列命令加载模块:5 u' d- J8 R' V) x9 P
depmod
, q4 g: J  P, O# `# J$ t3 |modprobe ft5426& W3 l* ^( _1 r9 Q. Z
当驱动模块加载成功后,有如图 54.4.2.1 信息:
8 v  O- r# _6 m: }# J
8 }# V) w0 ?5 [* e- q驱动加载成功后就会生成/dev/input/eventn 设备文件,比如本触摸屏如图 54.4.2.2 所示:
( k( `) o8 v, o8 B0 F
' r* r5 p: H# F4 J" Kevent4 设备文件就是触摸屏对应的文件。当然也有可能文件名称不同。- e$ }7 ?! X4 W! Y
使用命令查看 event4 文件:
0 I8 x6 ~- }6 T, m" b. Nhexdump /dev/input/event4
: o/ c! C8 B. C% [使用一根手指触摸屏幕在抬起,会有信息输出,如图 54.4.2.3 所示:
) i) \) F% E3 {1 F
8 c0 T5 E3 d' _+ ]* z% @5 ~: r54.4.3  将驱动添加到内核中( f; [% w7 L# m# i$ V2 r: d5 X$ a
前面我们把触摸屏驱动编译成了模块文件,每次系统启动后都需要手动加载驱动模块,这样很不方便。当我们的设备驱动调试成功后,一般会把驱动直接编译到内核中,这样内核启动后就会自动加载驱动。在本节就来看一下如何将 ft5426.c 驱动文件添加到 Linux 内核中去。3 h+ P7 K1 R+ f- l+ d+ \
1、 、 将驱动文件放到合适目录下
8 o5 R; ]/ W; T$ }测试成功的驱动文件首先要放到 Linux 内核的合适的目录下,这时我们可以参考类似设备的驱动文件存放目录,比如触摸屏驱动文件,我们可以找到在 drivers/input/touchscreen 目录下都是关于触摸的驱动文件,因此我们把 ft5426.c 驱动文件也放到这个目录下。" u, p! v3 c) ]; z5 u' e$ i
2、 、的 修改对应的 Makefile6 w& y% H# i1 n% M/ ~
把 ft5426.c 驱动文件放到 drivers/input/touchscreen 目录下后,需要修改此目录下的 Makefile 文件,添加如下内容:
; i% y* A1 v7 q; e" Nobj-y += ft5426.o
) j6 }7 w1 q4 n0 Q添加完成所示:( P& }, T$ _4 k/ H8 _! ^. h
3 F! y8 C) x' Z
修改完成后,重新编译 Linux 内核,然后使用新的 zImage 镜像启动开发板,驱动添加成功启动有如图54.4.3.2 信息打印:$ B( V0 ~/ G& G# n

1 s$ a6 T( o5 L) x* ?. o+ S可以使用下面的命令查看对应的 event 时间:
, i! }( u0 ]" S1 s3 ]5 t6 P: Ocat /proc/bus/input/devices
# L/ [% n" |7 C0 b6 M1 g; b, ^/ a结果如下:2 r! ]. E: S. [0 |) }0 i6 x0 L

, v, e% M9 |, U3 i8 C5 g. U9 L可以看到 ft5426 对应/dev/input/event1 设备文件,然后使用下面的命令查看驱动是否工作正常:
1 `' e0 F& @; K7 xhexdump /dev/input/event1
8 O* e" i9 O  g3 B结果如图 54.4.3.4 所示:5 ~! w) ~" `  u3 T& B- s/ c

3 ?( _0 q# |$ |$ Q+ t+ K/ N说明 ft5426 驱动工作正常。: ^; m5 A& f( |; ?! o5 F+ }# w! ?
+ u- d2 c* @  h, N0 P4 m
0 q# |7 N) y6 q5 a

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 19:18 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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