基于之前在linux2.6内核上写的触摸屏程序进行修改:
- 编译
- 解决错误
2.1 头文件不对:去掉或改名
2.2 宏不对:改名使用新宏
2.3 有些函数没有了:改名使用新函数
编译无错误,生成.ko文件。
这里需要注意一项:在交叉编译链路径中,即/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/linux/input.h中,有一个#define EV_VERSION 0x010000,而在内核路径./include/linux/input.h有 #define EV_VERSION 0x010001。这两个EV_VERSION必须保持一致,否则会出现
selecteddevice is not a touchscreen I understand
但是曾经尝试:将内核路径./include/linux/input.h:
#define EV_VERSION 0x010001 ->#define EV_VERSION 0x010000
此时,仍会爆出上述错误。显然这个错误不是来自于tslib,而是来自于之前在内核中编译的ts程序。所以只能修改编译链文件。
#define EV_VERSION 0x010000->#define EV_VERSION 0x010001
Ps:如果还是不行…那就把以上两个EV_VERSION全都变成0再试试。总有一个是可以的。
tslib是什么:Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
一、实验环境
硬件: JZ2440开发板
内核版本: Linux-3.4.2
交叉工具链:arm-linux-gcc-4.3.2
tslib版本: tslib-1.4
二、安装
- 解压文件。
tar xzf tslib-1.4.tar.gz
- 运行tslib自带的脚步文件设置环境

本文介绍了在Linux 3.4.2系统下,针对JZ2440开发板移植和安装tslib的过程。主要内容包括解决编译错误、理解EV_VERSION一致性问题、安装automake工具、配置编译环境并成功安装tslib,以及在开发板上配置和使用触摸屏驱动的详细步骤。
最低0.47元/天 解锁文章
1168

被折叠的 条评论
为什么被折叠?



