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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
54.4 运行测试
. m# H8 ?4 _  k3 R- l. V/ ^54.4.1  编译驱动程序
! r5 O2 z& H* T4 v' R0 L创建 Makefile 文件,内容和前面实验基本一样,需要将 obj-m 的值修改为 ft5426.o,具体内容如下:5 a/ `, x8 K. ~1 ?9 d
KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga
0 T  y& f5 ?- L0 mCURRENT_PATH := $(shell pwd)
7 w- M+ Z# V! ~# V3 Y0 i1 cobj-m := ft5426.o
. |4 z( U- P0 \& dbuild: kernel_modules
: y& n' z5 B* c  J* Skernel_modules:" _9 J6 x/ _- D$ S9 [
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
! L* o* i% m. @clean:
. v1 ~* F2 B) G; |, F, d$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean
3 v" D5 Y" R5 U8 N! d0 y& z首先我们在终端输入两个命令(设置两个环境变量):. ]3 F4 `- F: L5 X* f
export ARCH=ARM2 W; C: E) R8 I: ^
export CROSS_COMPILE=arm-linux-gnueabihf-
7 e3 m* @' b- w) w, J7 j0 H1 `然后执行“make”命令进行编译,编译完成生产 ft5426.ko 驱动模块文件。
: O- b5 V" Y  w. G- b54.4.2  运行测试
- X  k7 C) @. s) W- \编译设备树文件,使用新的设备树文件启动开发板,然后拷贝编译生产的 ft5426.ko 驱动模块文件到开发板根文件系统 lib/modules/4.1.15 目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的 busybox 文件系统,光盘资料的“i.MX6UL 终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox 文件系统”目录下)。使3 u4 N) `6 h4 l' I! }" z5 U
用下列命令加载模块:' W: q) v  c- ^5 t' y9 R6 v! Z
depmod0 C+ z5 I: K4 n1 l' ?9 _& F: N
modprobe ft5426& [0 A4 w9 N: N4 D
当驱动模块加载成功后,有如图 54.4.2.1 信息:" w  R5 Q' k6 E: K( j( c4 N
5 ^- J: S8 n5 m2 c! S- f! a7 ^7 U
驱动加载成功后就会生成/dev/input/eventn 设备文件,比如本触摸屏如图 54.4.2.2 所示:# H, y, u4 e" S0 ?
& q& v3 c! V5 w' I  \2 S3 R5 v
event4 设备文件就是触摸屏对应的文件。当然也有可能文件名称不同。
8 [6 u" _! O1 r/ ~; {7 C使用命令查看 event4 文件:  B9 Y! c5 k6 p2 G
hexdump /dev/input/event45 `# |% `. a) X: p
使用一根手指触摸屏幕在抬起,会有信息输出,如图 54.4.2.3 所示:2 Q' H7 P" K) |! g' I7 E& _$ ?( s

# }5 o: S0 A. h  |# k7 R) U54.4.3  将驱动添加到内核中
8 ~: _4 \4 W% Q9 S9 c前面我们把触摸屏驱动编译成了模块文件,每次系统启动后都需要手动加载驱动模块,这样很不方便。当我们的设备驱动调试成功后,一般会把驱动直接编译到内核中,这样内核启动后就会自动加载驱动。在本节就来看一下如何将 ft5426.c 驱动文件添加到 Linux 内核中去。
/ g  i# j5 q6 V1 G6 H' ^1 m1、 、 将驱动文件放到合适目录下
2 ]  l3 C# }+ M2 M4 f* k5 p测试成功的驱动文件首先要放到 Linux 内核的合适的目录下,这时我们可以参考类似设备的驱动文件存放目录,比如触摸屏驱动文件,我们可以找到在 drivers/input/touchscreen 目录下都是关于触摸的驱动文件,因此我们把 ft5426.c 驱动文件也放到这个目录下。3 o0 P3 [+ f, u/ E; I( z  Y
2、 、的 修改对应的 Makefile
! o/ ~, r! g  l! g  R* a把 ft5426.c 驱动文件放到 drivers/input/touchscreen 目录下后,需要修改此目录下的 Makefile 文件,添加如下内容:5 U5 ~; k9 R7 Y
obj-y += ft5426.o8 r  [0 T% ]/ g7 O- s( y. F
添加完成所示:7 T: W. Q/ o: ~9 Z
6 u& m- c6 i" M( ?1 B" D8 v" p
修改完成后,重新编译 Linux 内核,然后使用新的 zImage 镜像启动开发板,驱动添加成功启动有如图54.4.3.2 信息打印:
. p) O. r/ m3 |2 _7 M
- L4 M5 S( A4 _# ~' D* `* k可以使用下面的命令查看对应的 event 时间:
' T% A* x0 ?& p* y3 v) Dcat /proc/bus/input/devices5 \* ~, ~' C- r# I" N) S
结果如下:
. d0 t$ Y7 G9 Z' R2 `$ U, L1 A# l& G% D0 K$ X* C4 e( f3 v
可以看到 ft5426 对应/dev/input/event1 设备文件,然后使用下面的命令查看驱动是否工作正常:
5 _% u- e- Y5 }1 x/ y# N+ p9 g- Hhexdump /dev/input/event1
2 ]7 t" w+ Y" t6 w8 m! x" g9 y结果如图 54.4.3.4 所示:1 D" f3 j3 Q% H

7 d1 O& g. p% Z8 F4 r/ L说明 ft5426 驱动工作正常。
1 i1 V  E! k; Y2 D& \8 ^4 ?* ^1 P: @! h

. \# y' a6 m. k2 B  [

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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