s3c2440触摸屏驱动修改

为了使能我们的触摸屏,我们必须对原有的触摸屏驱动做一些小的修改,添加相应的支持。

在这里插入图片描述
先添加我们的结构体,对一些参数进行设置
在这里插入图片描述
添加我们的ts的结构体,
在这里插入图片描述
我们可以看到s3c24xx_ts_set_platdata()就是将添加的触摸屏的信息传给s3c_device_ts.dev.platform的,

在这里插入图片描述
我们还要注册adc和ts的设备结构体到paltform设备总线上去,这里上面的写法是错误的,&s3c_device_ts应该在&s3c_device_adc的下面,不然编译的时候不会抛错,但是移植运行内核的时候会抛错误:Unable to handle kernel NULL pointer dereference at virtual address 00000021
我估计是应为ts设备依赖着adc设备,所以得先添加了adc才不会抛错。

进入menuconfig添加选项
Device Drivers —>
Input device support —>
选上<*> Event interface
<*> Event debugging

进入
[*] Touchscreens —>
<*> Samsung S3C2410/generic touchscreen input driver //选择上这个

然后编译移植,cat /dev/input/event0,此文件下会记录触摸屏的信息,然后用手按压触摸屏,会有很多乱码显示出来,这是因为缺少tslib库来校准我们的坐标信息,Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

下载tslib1.4版本源码,并解压在这里插入图片描述
源码最好不要从windows下直接拿,从git或者直接网站下载,不然可能会编译错误,
git源码网站:https://github.com/zhuerwang/Tslib.git

进入tslib运行 ./autogen.sh生成configure,再运行
./configure --host=arm-linux --prefix=/home/xiaobaicai/lib/tslib CC=/opt/xtools/arm920t/bin/arm-linux-gcc生成Makefile文件,
最后make && makeinstall,过程中可能需要一些工具,automake、autoconf、libtool,缺少哪个就apt-get install就行了
在安装好的路径下,也就是\home\xiaobaicai\lib\tslib,会产生五个文件,不要share,其余的四个文件打包移植到开发板上\lib\tslib下

然后就是配置环境变量
在这里插入图片描述

在 lib\tslib\etc\ts.conf中添加
在这里插入图片描述
然后在lib/tslib/bin/运行./ts_calibrate
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值