touchpanel驱动介绍

touchpanel驱动介绍

ID:11043688

大小:200.50 KB

页数:21页

时间:2018-07-09

touchpanel驱动介绍_第1页
touchpanel驱动介绍_第2页
touchpanel驱动介绍_第3页
touchpanel驱动介绍_第4页
touchpanel驱动介绍_第5页
资源描述:

《touchpanel驱动介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录1.驱动的位置及加载2.input子系统介绍3.Framework中对input系统数据的提取4TouchPanel驱动的实现过程1.驱动的位置及加载TP的驱动在linux平台上都是放在目录kerneldriversinputtouchscreen不同的硬件平台一般已经都集成了许多不同ic的驱动添加新的TP驱动可以通过配置该目录下的Kconfig,及Makefile,两个文件来讲驱动添加到kernel中来.以我们现在Demo板中的TP为例.在Kconfg中添加configTOUCHSCREEN_ELANbool"ELAN

2、Touchscreeninterfacesupport"dependsonI2C&&I2C_PXAdefaultyhelpSayYheretoenablesupportfortheELANtouchscreencontroller.对应的Makefile中obj-$(CONFIG_TOUCHSCREEN_ELAN)+=elan_touch.o这样elan_touch.o就会被编译连接进入vmlinux为了debug方便我们可以将驱动编译为KO文件,然后通过adbpush传入系统然后,Insmod来加载驱动,这样可以通过rmmod,i

3、nsmod反复加载删除驱动,提高调试效率.编译生成模块的makefile如下CROSS_COMPILE:=/home/feixun/android_marvell/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-ARCH_TYPE:=armobj-m:=tp.otp-objs:=sitronix_ts.oKERNELDIR:=/home/feixun/android_marvell/kernel/kernelCC:=$(CROSS_COMPILE)gccLD:=$(C

4、ROSS_COMPILE)ldPWD:=$(shellpwd)modules:$(MAKE)ARCH=$(ARCH_TYPE)-C$(KERNELDIR)M=$(PWD)modulesmodules_install:$(MAKE)ARCH=$(ARCH_TYPE)-C$(KERNELDIR)M=$(PWD)modules_installclean:rm-f$(PWD)/*.o$(PWD)/*.ko$(PWD)/*.symvers$(PWD)/*.mod.c$(PWD)/*.orderKERNELDIR:=/home/feixun/a

5、ndroid_marvell/kernel/kernel这个对应的是我们dkb代码对应的kernel,这个如果不一样编译出来的模块ismod会出错,编译模块之前还需要对kernel进行编译,makemodules,将内核模块编译完成./home/feixun/android_marvell/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-这个是我们的toolchain路径2.input子系统介绍我们结合elan_touch.c这个驱动讲解一下input子系统的工作el

6、an_ts_input_dev=input_allocate_device();if(elan_ts_input_dev==NULL){printk(KERN_ERR"%s:failedtoallocateinputdev",__FUNCTION__);return-ENOMEM;}elan_ts_input_dev->name="elan-ts";elan_ts_input_dev->phys="elan-ts/input0";elan_ts_input_dev->open=elan_touch_open;elan_ts_in

7、put_dev->close=elan_touch_close;__set_bit(EV_ABS,elan_ts_input_dev->evbit);__set_bit(ABS_X,elan_ts_input_dev->absbit);__set_bit(ABS_Y,elan_ts_input_dev->absbit);__set_bit(ABS_MT_POSITION_X,elan_ts_input_dev->absbit);__set_bit(ABS_MT_POSITION_Y,elan_ts_input_dev->absbit

8、);__set_bit(ABS_PRESSURE,elan_ts_input_dev->absbit);__set_bit(EV_SYN,elan_ts_input_dev->evbit);__set_bit(EV_KEY,elan_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。