移植触屏驱动,利用buildroot编译tslib,
2016-08-08 10:56
453 查看
基于2440开发板
添加头文件ts.h,最新版的内核这个头文件更改了位置,自查下.
添加触摸设备
增加将s3c_device_ts添加到设备组中选项
主要是修改lxa2440_parse_features函数中的case ‘t’
修改lxa2440_features_str,将s3c_device_ts添加到设备组中
或者在启动参数中加入lxa2440=4t,新版内核就是通过lxa2440_features_str字符组来支持从启动参数处更改,
此处添加后,在lxa2440_init中会调用lxa2440_parse_features(&features, lxa2440_features_str);,最终将其添加到设备数组中去
初始触摸设备
在lxa2440_init中添加触摸设备的初始化信息.
cat一下,手点下屏幕看看是否有输出信息,有就说明移植成功了.
或者qt–>Mouse drivers —>tslib
编译成功后下载到开发板或nfs mount过去执行ts_calibration校正看看是否可以.
这个就是这么傻瓜式操作了.
1. 内核修改
1.1首先更改平台设备文件
arch/arm/mach-s3c24xx/mach-lxa2440.c(由mach-mini2440.c修改而来)添加头文件ts.h,最新版的内核这个头文件更改了位置,自查下.
#include <plat/ts.h>
添加触摸设备
/* Touchscreen device support added by anzyelay */ static struct s3c2410_ts_mach_info lxa2440_ts_info = { .delay = 10000, //延时 .presc = 49, //预分频 .oversampling_shift = 2,//采样次数 2的2次方 };
增加将s3c_device_ts添加到设备组中选项
主要是修改lxa2440_parse_features函数中的case ‘t’
case 't': if(features->done & FEATURE_TOUCH) printk(KERN_INFO "LXA2440: '%c' ignored, " "touchscreen not compiled in\n", f); else { features->optional[features->count++] = &s3c_device_ts; } features->done |= FEATURE_TOUCH; break;
修改lxa2440_features_str,将s3c_device_ts添加到设备组中
static char lxa2440_features_str[12] __initdata = "4t";
或者在启动参数中加入lxa2440=4t,新版内核就是通过lxa2440_features_str字符组来支持从启动参数处更改,
此处添加后,在lxa2440_init中会调用lxa2440_parse_features(&features, lxa2440_features_str);,最终将其添加到设备数组中去
初始触摸设备
在lxa2440_init中添加触摸设备的初始化信息.
s3c24xx_udc_set_platdata(&lxa2440_udc_cfg); s3c24xx_mci_set_platdata(&lxa2440_mmc_cfg); s3c_nand_set_platdata(&lxa2440_nand_info); s3c_i2c0_set_platdata(NULL); s3c24xx_ts_set_platdata(&lxa2440_ts_info);//初始化触摸设备
1.2 修改编译配置,增加触摸驱动
Device Drivers ---> Input device support ---> [*] Touchscreens ---> <*> Samsung S3C2410/generic touchscreen input driver
1.3 编译下载
下载成功后可以看到ls /dev/input/event0cat一下,手点下屏幕看看是否有输出信息,有就说明移植成功了.
2 使用buildroot编译tslib
执行make menuconfigTarget packages ---> Graphic libraries and applications (graphic/text) ---> [*] Qt5 ---> [*] Enable Tslib support
或者qt–>Mouse drivers —>tslib
编译成功后下载到开发板或nfs mount过去执行ts_calibration校正看看是否可以.
这个就是这么傻瓜式操作了.
相关文章推荐
- 利用ddk自带的工具build.exe编译windows驱动
- 利用Buildroot编译apache
- 利用ddk自带的工具build.exe编译windows驱动
- 利用ddk自带的工具build.exe编译windows驱动
- Buildroot编译错误解决方法
- buildroot建立交叉编译环境
- 编译buildroot后要做的事
- linux2.6.32.2 LCD触屏驱动移植
- 基于S3C2440的Linux-3.6.6移植——tslib编译与安装
- 利用Qemu + Buildroot 进行内核源码级调试
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植
- 转载: buildroot编译环境
- arm9+Linux fl2440 下的WiFi驱动rt3070的编译移植以及station模式
- 在移植rt3070驱动的时候编译遇到的问题
- 驱动编译环境--x86 Checked Build Environment
- 驱动移植:编译外部模块
- Ubuntu下buildroot交叉编译环境安装
- 利用buildroot构建rootfs
- 移植qt之交叉编译tslib-1.4
- Buildroot编译需要用到的软件包