700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 正点原子Linux阿尔法开发板4.3 寸多点电容触摸屏测试问题和gt9xx系列linux驱动移植

正点原子Linux阿尔法开发板4.3 寸多点电容触摸屏测试问题和gt9xx系列linux驱动移植

时间:2021-08-30 13:02:17

相关推荐

正点原子Linux阿尔法开发板4.3 寸多点电容触摸屏测试问题和gt9xx系列linux驱动移植

正点原子Linux阿尔法开发板4.3 寸多点电容触摸屏测试问题和gt9xx系列linux驱动移植

正点原子官方CSDN4.3 寸多点电容触摸屏测试问题正点原子gt9xx系列linux驱动移植1.首先我们要获取驱动文件2.将t9xx.c和gt9xx.h放至正点原子教程源码drivers/input/touchscreen/路径下3.在内核菜单中去配置gt9xx的驱动,把它编译进内核。要显示menuconfig菜单,首先得安装一些库4.修改设备树再添加中断管脚的pinmux设置在如下位置添加以下内容5.测试触摸是否可用,使用如下指令查看触摸中断次数,及查看驱动是否正常加载。 i2c键盘驱动移植

正点原子官方CSDN

/weixin_55796564/article/details/120470202

4.3 寸多点电容触摸屏测试问题

正点原子给的技术文档如上图,我按照文档上的步骤配置设备树更改驱动发现触摸没有反应,我以为是我的问题,后来发现我的显示屏驱动IC不是GT9147

那么接下来就是更改下就可以了,

/fengshuaicool/article/details/117621976

正点原子gt9xx系列linux驱动移植

/qq_26943851/article/details/104417858

正点原子的RGB电容触摸屏触摸芯片系列:

4.3 寸屏 480x272分辨率 使用的触摸芯片是gt9xx系列

4.3寸屏 800x480分辨率 使用的触摸芯片是gt9xx系列

7寸屏 800x480分辨率 使用的是edt-ft5x06系列

7寸屏1024x600分辨率 使用的是edt-ft5x06系列

10.1寸屏 1280x800分辨率使用的是gt9xx系列

正点原子ALPHA开发板,因为驱动开发指南里使用的触摸屏是edt-ft5x06的触摸IC。教程只介绍了移植edt-ft5x06的移植。并未介绍gt9xx系列的移植。希望作者补上。下面就介绍怎么将驱动gt9xx驱动移植到正点原子教程源码中。

1.首先我们要获取驱动文件

可以在正点原子出厂源码(正点原子提供了2套源码,一个是出厂源码,另一个是教程源码),也就是正点原子已经移植好的出厂源码中找驱动文件,路径为drivers/input/touchscreen/gt9xx.c和drivers/input/touchscreen/gt9xx.h。这两个文件。驱动已经上传到github。链接为/dzm/gt9xx_driver。可以从github去下载gt9xx.c和gt9xx.h这两个文件。

2.将t9xx.c和gt9xx.h放至正点原子教程源码drivers/input/touchscreen/路径下

然后我们去编辑Kconfig文件。把驱动加到内核菜单中。

vi drivers/input/touchscreen/Kconfig

在第350行添加以下内容

config TOUCHSCREEN_GT9XXtristate "GT9XX I2C touchscreen"depends on I2ChelpSay Y here if you have the GT9XX touchscreen connected to yoursystem.If unsure, say N.To compile this driver as a module, choose M here: themodule will be called gt9xx.

如下图,添加完成后保存退出。

在Makefile里添加编译gt9xx驱动

vi drivers/input/touchscreen/Makefile

obj-$(CONFIG_TOUCHSCREEN_GT9XX) += gt9xx.o

3.在内核菜单中去配置gt9xx的驱动,把它编译进内核。要显示menuconfig菜单,首先得安装一些库

sudo apt-get install libncurses5-dev

然后执行mx6ull_alientek_emmc.sh脚本,此时就会显示一个菜单配置界面如下图,找到如下路径,将gt9xx选上。“*”代表编译进内核,m代表编译成模块。选上后保存退出。然后mx6ull_alientek_emmc.sh脚本会继续编译内核。直到编译成功。得出的zImage,替换到开发板系统的zImage。(记住这里先替换内核!因为每次执行mx6ull_alientek_emmc.sh需要重新打开菜单勾选GT9xx I2C touchscreen。)

4.修改设备树

在arch/arm/boot/dts/imx6ull-alientek-emmc.dts设备树i2c2节点下添加gt9xx的节点。

goodix_ts@5d {compatible = "goodix,gt9xx";reg = <0x5d>;status = "okay";interrupt-parent = <&gpio1>;interrupts = <9 0>;pinctrl-0 = <&ts_int_pin&ts_reset_pin>;goodix,rst-gpio = <&gpio5 9 GPIO_ACTIVE_LOW>;goodix,irq-gpio = <&gpio1 9 GPIO_ACTIVE_LOW>;};

如下图位置添加gt9xx的节点。

此时注意,需要看看gpio1 9这个管脚有没有在其他地方利用了!果不其然,在下面这个地方复用了。我们将它注释,如下图。

再添加复位管脚的pimux设置在如下位置添加以下内容。

ts_int_pin: ts_int_pin_mux {fsl,pins = <MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x79>;};

如下图位置。

再添加中断管脚的pinmux设置在如下位置添加以下内容

ts_reset_pin: ts_reset_pin_mux {fsl,pins = <MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO090x79>;};

配置完成pimux后,再检查一次,是否有管脚复用!果不其然在设备树下搜索到MX6UL_PAD_GPIO1_IO09__GPIO1_IO09这个管脚被复用了。所以我们要注释如下图位置的内容。

至此,设备树修改完成!重新编译设备树即可。替换到开发板的设备树。

5.测试触摸是否可用,使用如下指令查看触摸中断次数,及查看驱动是否正常加载。

cat /proc/interrupts

如下,109是触摸屏的中断次数,用手触摸屏,中断次数在不断变化,说明驱动生效。

可以使用hexdump来查看是否有上报坐标信息。坐标是16进制,我们读不懂,可以借助tslib工具测试触摸屏是否打印对的坐标!

请参考正点原子【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.x.pdf第64.5 章节tslib工具的使用进行测试。

hexdump /dev/input/event1

i2c键盘驱动移植

/sddsighhz/article/details/42554131

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。