linux 交叉编译tslib

1、获取tslib源码

下载:点击下载

2、修改tslib源码所属用户

修改解压得到的 tslib-1.21 目录所属用户为当前用户,这一步一定要做!否则在稍后的编译中会遇到各种问题。我当前 ubuntu 的登录用户名为"gui",那么修改命令如下:

sudo chown gui:gui tslib-1.21 -R

3、ubuntu 工具安装

编译 tslib 的时候需要先在 ubuntu 中安装一些文件,防止编译 tslib 过程中出错,命令如下所示:

复制代码
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool

4**、编译****tslib**

复制代码
cd tslib-1.21/
./autogen.sh
./configure --host=arm-linux-gnueabihf --prefix=$PWD/build
make -j4
make install

完成以后 tslib 目录下的内容如图所示:

bin 目录下是可执行文件,包括 tslib 的测试工具。etc 目录下是 tslib 的配置文件,lib 目录下是相关的库文件。将图中的所有文件拷贝到开发板的根文件系统中。

5**、配置****tslib**

打开/etc/ts.conf 文件,找到下面这一行:

module_raw input

如果上面这句前面有"#"的话就删除掉"#"。

打开/etc/profile 文件,在里面加入如下内容:

复制代码
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0

第 1 行,TSLIB_TSDEVICE 表示触摸设备文件,这里设置为 /dev/input/event1,这个要根据具体情况设置,如果你的触摸设备文件为 event2 那么就应该设置为 /dev/input/event2,以此类推。

第 2 行,TSLIB_CALIBFILE 表示校准文件,如果进行屏幕校准的话校准结果就保存在这个文件中,这里设置校准文件为 /etc/pointercal,此文件可以不存在,校准的时候会自动生成。

第 3 行,TSLIB_CONFFILE 表示触摸配置文件,文件为 /etc/ts.conf,此文件在移植 tslib 的时候会生成。

第 4 行,TSLIB_PLUGINDIR 表示 tslib 插件目录位置,目录为 /lib/ts。

第 5 行,TSLIB_CONSOLEDEVICE 表示控制台设置,这里不设置,因此为 none。

第 6 行,TSLIB_FBDEVICE 表示 FB 设备,也就是屏幕,根据实际情况配置,我的屏幕文件为 /dev/fb0,因此这里设置为 /dev/fb0。

全部配置好以后重启开发板,然后就可以进行测试了。

6、tslib 测试

电容屏可以不用校准,如果是电阻屏就要先进行校准!校准的话输入如下命令:

复制代码
ts_calibrate

校准完成以后如果不满意,或者不小心对电容屏做了校准,那么直接删除掉/etc/pointercal文件即可。

最后我们使用 ts_test_mt 这个软件来测试触摸屏工作是否正常,以及多点触摸是否有效,执行如下所示命令:

复制代码
ts_test_mt

此命令会打开一个触摸测试界面,如图所示:

在图上有三个按钮 "Drag"、"Draw" 和 "Quit",这三个按钮的功能如下:

Drag:拖拽按钮,默认就是此功能,大家可以看到屏幕中间有一个十字光标,我们可以通过触摸屏幕来拖拽此光标。一个触摸点一个十字光标,对于 5 点电容触摸屏,如果 5 个手指都放到屏幕上,那么就有 5 个光标,一个手指一个。

Draw:绘制按钮,按下此按钮我们就可以在屏幕上进行简单的绘制,可以通过此功能检测多点触摸工作是否正常。

Quit:退出按钮,退出 ts_test_mt 测试软件。

点击 "Draw" 按钮,使用绘制功能,5 个手指一起划过屏幕,如果多点电容屏工作正常的话就会在屏幕上留下 5 条线,如图所示:

觉得有帮助的话,打赏一下呗。。

相关推荐
丰锋ff5 小时前
用户管理命令
linux·运维·服务器
刚入门的大一新生5 小时前
Linux-线程概念
linux·jvm
H.莓飛5 小时前
【数据结构】排序总结与规模实测
linux·服务器·开发语言·数据结构·visual studio·1024程序员节
Zenova EdgeOS6 小时前
Linux 日志实战:用 journalctl 精准检索与治理工业边缘日志
linux·运维·chrome
Dxy12393102166 小时前
Linux 压缩解压相关命令介绍
linux·运维·服务器
eleven_4u6 小时前
QPS如何计算,如何部署架构
java·linux·运维·jvm·中间件
东城居士7 小时前
理解Linux RTC驱动
linux·嵌入式系统
蘑菇小白7 小时前
Linux多线程开发
linux·开发语言·线程
Ruiery7 小时前
Linux 6.6内核内存管理深度解析(十):KSM 同页合并 — 内容去重,把 N 份相同内存合并成 1 份
linux·运维·服务器
Huangjin007_8 小时前
【Linux 系统篇(三十三)】通信(三):System V 共享内存详解
linux·运维·服务器