全志F1C100s主线linux入坑记录 (4)GT911触摸移植

article/2025/8/23 2:08:38

GT911触摸移植

百度网站


文章目录

  • GT911触摸移植
  • 一、添加gt911库文件
  • 二、添加设备树文件
    • 修改文件路径 :arch/arm/boot/dts/suniv-f1c100s.dtsi
    • 修改文件路径 :arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
    • 编译烧录
  • 三、添加ts-lib触摸测试软件
  • 参考


一、添加gt911库文件

在 drivers/input/touchscreen 路径下添加gt911.c文件

在这里插入图片描述

修改Makefile 添加gt911.c的文件编译 drivers/input/touchscreen/Makefile 添加obj-y += gt911.o

在这里插入图片描述

二、添加设备树文件

修改文件路径 :arch/arm/boot/dts/suniv-f1c100s.dtsi

添加I2C属性定义 到soc节点下

i2c0: i2c@1C27000 {compatible = "allwinner,sun6i-a31-i2c";reg = <0x01C27000 0x400>;interrupts = <7>;clocks = <&ccu CLK_BUS_I2C0>;resets = <&ccu RST_BUS_I2C0>;pinctrl-names = "default";pinctrl-0 = <&i2c0_pins>;status = "disabled";#address-cells = <1>;#size-cells = <0>;
};

在这里插入图片描述

添加I2C引脚定义 到pio节点下

i2c0_pins: i2c0 {pins = "PD0", "PD12";function = "i2c0";
};

在这里插入图片描述

修改LCD的引脚定义,因为有两个脚被I2C占用了

lcd_rgb666_pins: lcd-rgb666-pins {pins = "PD1", "PD2", "PD3", "PD4","PD5", "PD6", "PD7", "PD8", "PD9","PD10", "PD11", "PD13", "PD14","PD15", "PD16", "PD17", "PD18", "PD19","PD20", "PD21";function = "lcd";
};

在这里插入图片描述

修改文件路径 :arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts

添加头文件

#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>

添加gt911设备树配置

&i2c0 {pinctrl-0 = <&i2c0_pins>;pinctrl-names = "default";status = "okay";/*  触摸 */gt911:gt911@5d {compatible = "goodix,gt911","goodix,gt9xx";reg = <0x5d>;pinctrl-names = "default";interrupt-parent = <&pio>;interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>; irq-gpio = <&pio 4 12 GPIO_ACTIVE_HIGH>; rst-gpio = <&pio 0 0 GPIO_ACTIVE_HIGH>; status = "okay";};
};

编译烧录

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j12

编译文件放到SD卡的boot分区之后开机,可看到驱动已经挂上。

在这里插入图片描述

ls /dev/input/

在这里插入图片描述

cat proc/interrupts

在这里插入图片描述

三、添加ts-lib触摸测试软件

触摸驱动移植成功后需要判断是否可用,可以用ts-lib 这个软件直观的测试触摸驱动

buildroot配置安装ts-lib软件

make menuconfig

打开ts-lib功能 位置:Target packages > Libraries > Hardware handling > tslib

在这里插入图片描述
编译软件

make -j12

在这里插入图片描述
编译完成 烧录根目录文件系统后启动开发板,在 /usr/bin 路径下会发现多了很多可执行文件

在这里插入图片描述
接下来要设置tslib的配置文件

打开 /etc/ts.conf 文件 查看是否有 module_raw input 如果被注解解开注解 如果没有自己添加一句

在这里插入图片描述
打开/etc/profile 文件,在里面加入如下内容:

export TSLIB_TSDEVICE=/dev/input/event0		#触摸驱动文件路径
export TSLIB_CALIBFILE=/etc/pointercal		
export TSLIB_CONFFILE=/etc/ts.conf			#触摸配置文件路径
export TSLIB_PLUGINDIR=/usr/lib/ts			#触摸库文件路径   input.so 文件的所在路径
export TSLIB_CONSOLEDEVICE=none	
export TSLIB_FBDEVICE=/dev/fb0 				#软件显示在那个fb上

具体配置方法可参考tslib移植小问题这篇博客

保存后重启开发板,输入ts_test启动测试软件,可以直观的测试触摸情况了。

在这里插入图片描述

参考

https://blog.csdn.net/Ternence_zq/article/details/109778136
链接


http://chatgpt.dhexx.cn/article/b9hl6ENC.shtml

相关文章

A40i使用笔记:调用系统自带驱动GT911触摸屏

一、前言 在一般情况下使用电容触摸屏时&#xff0c;都是使用USB直接驱动&#xff0c;但是在前文中我就提及过遇到的问题&#xff0c;就是USB触摸屏和我是用平台不是特别兼容的问题&#xff0c;问题现象在复述一遍&#xff0c;大概就是使用linux核心板USB接口连接ILTTEK的触摸芯…

GT911电容触摸屏使用

注&#xff1a;转载于https://blog.csdn.net/qlexcel/article/details/99696108 一、介绍与硬件连接 GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片&#xff0c;他们支持的触控点数不同&#xff08;GT928支持10个点、GT911支持5个点&#xff09;、驱动和感应通道也可能…

openharmony hdf框架gt911触摸驱动移植

openharmony提供了hdf的驱动框架&#xff0c;今天以gt911触摸驱动的例子记录一下。首先hdf要加载进Linux的driver中&#xff0c;在Linux源码/driver/hdf目录有如下文件。 framwork和khdf两个软链接文件一定要链接成功。 在hdf的设备树中加入gt911的文件信息 /home/xu/openhar…

Linux运行911,韦东山-Linux下编写GT911触摸驱动 - 百问网嵌入式问答社区

源码在最下面 问题一:资源获取Gt911数据手册 在韦老师给的资料里,路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121120(海威思.pdf 问题二:需要准备哪些知识 1.能够修改设备树 2.能够编写字符设备驱动 3.能够在linux下编写中断程序 4.能够在…

Linux下编写GT911触摸驱动

问题一&#xff1a;资源获取Gt911数据手册 在韦老师给的资料里&#xff0c;路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121120&#xff08;海威思.pdf 问题二&#xff1a;需要准备哪些知识 1.能够修改设备树 2.能够编写字符设备驱动 3.能…

移植openharmony之调试gt911触摸

最近在调试触摸驱动&#xff0c;分析了一点openharmony的hdf框架下的触摸&#xff0c;将过程记录下&#xff0c;首先肯定是加载input设备管理驱动&#xff1a;input设备管理驱动由HDF驱动加载&#xff0c;完成设备manager的创建并对其初始化。如下图所示&#xff0c;我这里就是…

使用STM32+硬件IIC+DMA驱动GT系列触摸屏(GT911)

使用STM32硬件IICDMA驱动GT系列触摸屏&#xff08;GT911&#xff09; 初始化代码 /** brief GT911 初始化程序* param None* retval None*/ void GT911_init() {Dev_Now.GT911_RST0;GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.Pin GT911_RST_PIN | GT911_INT_PIN;…

v3S驱动gt911触摸

文章目录 一、修改设备树二、编写驱动三、运行测试四、编译进内核1. 拷贝文件2. 修改对应的 Makefile3. 编译运行4.测试1.注释掉坐标信息 五、移植tslib1. buildroot配置tslib2. 配置tslib3. 测试 一、修改设备树 在sun8i-v3s-licheepi-zero-dock.dts中添加pio节点&#xff08…

gt911多点触摸实验

文章目录 一、设备树二、驱动程序三、测试四、编译进内核1. 拷贝文件2. 修改对应的 Makefile3. 编译运行4.测试 一、设备树 记得注释掉共用的引脚&#xff08;有好几处&#xff09; 在pinctrl_tsc节点下添加&#xff1a; pinctrl_tsc: tscgrp {fsl,pins <MX6UL_PAD_GPIO1_…

野火STM32F103驱动GT911触摸芯片

GT911触摸芯片 芯片介绍 GT911 是专为 7”~8”设计的新一代 5 点电容触控方案&#xff0c;拥有 26 个驱动通道和 14 个感 应通道&#xff0c;以满足更高的 touch 精度要求。 GT911 可同时识别 5 个触摸点位的实时准确位置&#xff0c;移动轨迹及触摸面积。并可根据主控需要&…

电容触摸屏控制芯片GT911

1.接口说明 GT9 非单层多点系列&#xff08;以下简称 GT9 系列&#xff09; 与主机接口共有 6 PIN&#xff0c;分别为&#xff1a; VDD、 GND、 SCL、SDA、 INT、 RESET。 主控的 INT 口线需具有上升沿或下降沿中断触发功能&#xff0c;并且当其在输入态时&#xff0c; 主控端必…

电容触摸屏GT911、GT928、GT9147的使用

一、介绍与硬件连接 GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片&#xff0c;他们支持的触控点数不同&#xff08;GT928支持10个点、GT911支持5个点&#xff09;、驱动和感应通道也可能不同。可是他们的寄存器和IIC通讯时序是相同的&#xff0c;也就是说驱动程序是兼…

29-2-电容触摸屏控制芯片GT911

1.接口说明 GT9 非单层多点系列&#xff08;以下简称 GT9 系列&#xff09; 与主机接口共有 6 PIN&#xff0c;分别为&#xff1a; VDD、 GND、 SCL、SDA、 INT、 RESET。 主控的 INT 口线需具有上升沿或下降沿中断触发功能&#xff0c;并且当其在输入态时&#xff0c; 主控端…

hal编程 gt911 触摸芯片驱动 ( 枚举 结构体 熟用)( 安富莱 f429 4.3寸电容屏 )

使用板子类型以及屏幕类型 本文使用的是安富莱的板子stm32f429, 屏幕是TR433C1的4.3寸TFT显示屏, 480*272 RGB接口, 电容触摸 . I2C I2C简介、原理、时序请看这篇文章 使用cubemx工具的stm32用AT24C02实现简单密码(一点点面向对象的思想编程) gt911 gt911简介 gt911是深圳市…

python 倒计时手机app打卡_python 实现倒计时功能(gui界面)

运行效果&#xff1a; 完整源码&#xff1a; ##import library from tkinter import * import time from playsound import playsound ## display window root tk() root.geometry(400x300) root.resizable(0,0) root.config(bg blanched almond) root.title(techvidvan - cou…

桌面美化 Python tkinter倒计时工具

桌面美化 Python tkinter倒计时工具 效果一、壁纸设计二、倒计时小工具实现1.引入库2.倒计时函数3.绘制UI载入数据以及创建窗口创建Label控件控件布局绘制分割线绘制子窗口&#xff0c;用于修改倒计时目标其它设置 完整代码打包并开机自启动打包成EXE开机自启动 效果 使用tkin…

Python 内置模块tkinter —— 秒表计时器

# 秒表计时器""" 思考&#xff1a;1、怎么创建一个最简单的窗口&#xff1f;2、怎么保持窗口一直运行&#xff1f;3、不用方法mainloop&#xff08;&#xff09;怎么实现窗口一直运行&#xff1f;4、请问窗口的宽度*高度默认值为多少个像素点&#xff1f;5、利用…

Python-桌面计时器程序设计

该程序是我个人去年学习之初练习设计&#xff0c;程序功能并没有很完善和简便。设计想法是为了能够有一个可观性高的时间报时器&#xff0c;程序设计耗时2天&#xff0c;程序分成三个部分&#xff1a;主窗体、设置窗口、运行程序。 效果展示图 功能 正/反计时功能 到时提醒/关…

专利的写作

关于专利&#xff0c;由于是研究生阶段&#xff0c;发表专利有和学校合作的机构&#xff0c;支付2000给代理人&#xff0c;只需要将想法写明白&#xff0c;和代理人沟通好&#xff0c;受理那必然是有手就行。关于研究点&#xff0c;我已经推导完毕两个月了&#xff0c;因为要做…

手把手教你如何写专利申请书

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。众所周知&#xff0c;专利是最重要的一种知识产权&#xff0c;专利制度有利于保护技术创新&#xff0c;保护专利权人的利益&#xff0c;促进社会发展&#xff0c;把我国建设成一个科技强国&#xff0c;创新大国。对于企业而…