文章分类 -  触摸屏驱动开发

Linux下LCD自动关闭解决方法
摘要:主机环境:Gentoo Linux 11.2内核版本:Linux Kernel 3.2.1原创作品,转载请表明http://blog.csdn.net/yming0221/article/details/7339296正常情况下Linux会在一段时间后默认关闭屏幕,默认为10分钟。这里你可能会认为是Gnome或KDE等桌面环境设置的屏幕保护程序或电源管理功能,即使不安装桌面环境屏幕照样会自动关闭。下面就来分析下原因。看到网上的资料说这是由vt驱动来设置的。下面进入内核源码目录下的drivers文件夹,后执行[cpp] view plaincopyprint?grepblankinterval. 阅读全文

posted @ 2012-12-03 18:05 莫回头 阅读(1644) 评论(0) 推荐(0)

LCD驱动移植
摘要:在Linux2.6.22.2下移植十分简单,只要在/arch/arm/mach-s3c2410/mach- smdk2410.c里添加初始化s3c2410的LCD控制器时所需要的参数就好了。而且SHARP LQ080V3DG01的在同文件夹下的mach-qt2410.c里已经移植过来了,这样更是减小了移植的难度,只要将mach-qt2410.c里的代码拷贝到mach-smdk2410.c里,在稍做修改就好了(我遇到过得最简单的移植)。现在我介绍一下移植过程:一、嵌入式培训修改/arch/arm/mach-s3c2410/mach-smdk2410.c文件1、添加头文件#include < 阅读全文

posted @ 2012-12-03 17:53 莫回头 阅读(233) 评论(0) 推荐(0)

linux-2.6.32内核LCD驱动移植
摘要:linux-2.6.32内核LCD驱动移植 (2012-04-07 22:05)标签: linux LCD驱动移植 分类: linux移植参考资料:http://blog.chinaunix.net/uid-9688646-id-1998441.htmlhttp://blog.163.com/changchunxi@126/blog/static/111800823201212533243484/主机:Windows7旗舰版,VMware7.1.2,Fedora9集成开发环境:SourceInsight3.5编译环境:arm-linux-gcc4.4.3开发板:华中科技大学惠世科技S3C244 阅读全文

posted @ 2012-12-03 17:44 莫回头 阅读(838) 评论(0) 推荐(1)

2009-08-23 14:54 s3c2410 lcd 移植到 linux-2.6.30 <640x480 SHARP LQ080V3DG01>
摘要:s3c2410 lcd 移植到 linux-2.6.30 <640x480 SHARP LQ080V3DG01>内核源码中相关文件$LINUX_SOURCE_ROOT/arch/arm/mach-s3c2410/mach-smdk2410.c //添加并配置lcd设备$LINUX_SOURCE_ROOT/arch/arm/mach-s3c2410/mach-qt2410.c //参考其中lcd设备及LQ080V3DG01相关添加方法以及参数$LINUX_SOURCE_ROOT/arch/arm/mach-s3c2410/mach/include/fb.h //相关结构体声明$LIN 阅读全文

posted @ 2012-12-03 17:21 莫回头 阅读(191) 评论(0) 推荐(0)

linux2.6.24下lcd驱动移植的小结
摘要:一、lcd驱动移植网上参考资料http://blog.chinaunix.net/u1/49924/showart_495463.htmllinux-2.6.20的lcd驱动分析module_init()函数在include/linux/init.h中定义。内核与buffer驱动发生关系的第一次地点是在s3c2410fb_init函数,该函数就只有一条语句: return platform_driver_register (&s3c2410fb_driver);在driver/video/s3c2410fb.c中,s3c2410fb_driver的定义如下: static struct 阅读全文

posted @ 2012-12-03 17:17 莫回头 阅读(211) 评论(0) 推荐(0)

Linux LCD驱动(三)--图形显示
摘要:3. BMP和JPEG图形显示程序3.1 在LCD上显示BMP或JPEG图片的主流程图首先,在程序开始前。要在nfs/dev目录下创建LCD的设备结点,设备名fb0,设备类型为字符设备,主设备号为29,次设备号为0。命令如下:mknod fb0 c 29 0在LCD上显示图象的主流程图如图3.1所示。程序一开始要调用open函数打开设备,然后调用ioctl获取设备相关信息,接下来就是读取图形文件数据,把图象的RGB值映射到显存中,这部分是图象显示的核心。对于JPEG格式的图片,要先经过JPEG解码才能得到RGB数据,本项目中直接才用现成的JPEG库进行解码。对于bmp格式的图片,则可以直接从文 阅读全文

posted @ 2012-11-28 16:58 莫回头 阅读(991) 评论(0) 推荐(0)

linux LCD驱动(二)--FrameBuffer .
摘要:2. Linux 驱动2.1 FrameBufferLinux是工作在保护模式下,所以用户态进程是无法像DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Lin仿显卡的功能,将显ux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由Framebuff 阅读全文

posted @ 2012-11-28 16:31 莫回头 阅读(210) 评论(0) 推荐(0)

linux LCD驱动(一)--硬件分析 .
摘要:一 实验内容简要描述1.实验目的学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包括bmp和jpeg两种格式的图片2.实验内容(1)分析S3c2410实验箱LCD以及LCD控制器的硬件原理,据此找出相应的硬件设置参数,参考xcale实验箱关于lcd的设置,完成s3c2410实验箱LCD的设置(2)在LCD上显示一张BMP图片或JPEG图片3.实验条件(软硬件环境)PC机、S3C2410开发板、PXA255开发板二 实验原理1. S3C2410内置LCD控制器分析1.1 S3C2410 LCD控制器一块LCD屏显示图像,不但需要LCD驱动器,还需要有相应的LCD控制器 阅读全文

posted @ 2012-11-28 16:16 莫回头 阅读(169) 评论(0) 推荐(0)

linux多点触控协议
摘要:简介 为了使用功能强大的多点触控设备,一种方案是上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 任何一个手指的触控数据都是打包成 ABS event 包按顺序发送,只有 ABS_MT event包能作为多点触控数据被识别,调用 input_mt_sync()函数可以产生一个 SYN_MT_REPORT event ,这个函数接收并处理当前手指的信息并准备接收其它手指的触控信息。最后调用 input_sync()函数上报 EV_SYN/SYN_REPORT event 完成一个包的开始处理并准备处理下一个包。 ... 阅读全文

posted @ 2012-11-28 15:11 莫回头 阅读(493) 评论(0) 推荐(0)

Linux USB触摸屏驱动注解 .
摘要:Linux USB触摸屏驱动注解Linux USB触摸屏驱动注解 参考2.6.31版本中的driver/usb/input/usbtouchscreen.c。驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。 一、 驱动加载部分 static int __init usbtouch _init(void) { return usb_register(&usbtouch_driver);//注册触摸屏驱动 } 其中usbtouch _driver的定义为: static struct usb_driver usbtouch _driver =... 阅读全文

posted @ 2012-11-28 15:07 莫回头 阅读(2915) 评论(0) 推荐(0)

Linux驱动之触摸屏(4)-多点触控
摘要:4.1 概述 此驱动支持it7260触摸屏控制器,最多支持三点触摸,已在CPU: s5pc110、linux-2.6.32.9、android-2.2上测试通过。原本以为三天就能搞定,最后还是用了一个礼拜才弄完。水平有限,可能存在一些bug,请及时反馈给我(cjok.liao@gmail.com)。 触摸屏驱动主要分为两个部分: I2C驱动部分:主要负责将设备挂接到I2C总线上,实现数据传输; 输入子系统部分:负责把获取到的数据上报到用户空间。 中断下半部采用延迟的工作队列,完成数据的解析和上报工作。 其他都要参考控制器的数据手册来完成,比如像数据包的解析,数据... 阅读全文

posted @ 2012-11-28 13:48 莫回头 阅读(3383) 评论(0) 推荐(0)

多点触控协议(MTP) .
摘要:作者翻译水平有限,欢迎指正,感谢好友lapset和leo的帮助!Multi-touch (MT) Protocol------------------------- Copyright (C)2009-2010 Henrik Rydberg<rydberg@euromail.se>Introduction------------In order to utilize the full power of thenew multi-touch and multi-user devices, a way to report detailed data frommultiple conta 阅读全文

posted @ 2012-11-28 13:44 莫回头 阅读(1183) 评论(0) 推荐(0)

Linux驱动之触摸屏(3) .
摘要:3. 多点触摸3.1overview 多点触摸没啥好特别的,就是把多个单点捆绑起来,组合成一组坐标值。然后上层应用对其手势进行解析,就有了我们平常看到的两个手指对图片进行缩放等功能。从Linux-2.6.30才对多点触摸支持。3.2 单点触摸和多点触摸l 单点触摸和多点触摸都是基于输入子系统来做,所以对于在软件上的实现区别不是很大。l 参数设置单点触摸:Input_dev->evbit[0]= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);Input_dev->keybit[BIT_WORD(BTN_TOUCH)]= BIT_MASK(BTN_TOUCH) 阅读全文

posted @ 2012-11-28 13:12 莫回头 阅读(596) 评论(0) 推荐(0)

Linux驱动之触摸屏(2) .
摘要:2. 触摸屏驱动分析2.1overview 触摸屏驱动并没有阻性和容性之分,只有单点触摸和多点触摸之分。典型的触摸屏驱动都会基于输入子系统来做。这里先来分析一下s3c2410_ts.c(旧内核里是s3c_ts.c,相对来说变动很大,有兴趣可以去看看)这个驱动文件。此文件名字虽然是s3c2410,但是同样也支持s3c2440和s3c6410。2.2 驱动分析(s3c2410_ts.c)l 初始化模块staticstruct platform_driver s3c_ts_driver = { .driver = { .name ="samsung-ts", .owner = T 阅读全文

posted @ 2012-11-28 13:02 莫回头 阅读(640) 评论(0) 推荐(0)

Linux驱动之触摸屏(1) .
摘要:1. 硬件原理1.1overview 我们常用的触摸屏类型有两种:阻性触摸屏和容性触摸屏。它们在硬件上相差比较大,在驱动实现上相对来说差别比较小。容性触摸屏支持多点触摸屏,用户体验上比较好。下面将简单介绍一下触摸屏用到的硬件原理。1.2ADC转换 AD转换的作用是将时间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号。1.3 阻性触摸屏l 简单来说,阻性触摸屏是一种传感器,它将矩形区域中触摸点(X, Y)的物理位置转换为代表X坐标和Y坐标的电压。l 触摸屏包含上下叠合的两个透明层阻性材料,中间由一种弹性材料隔开。当触摸屏表面受到压力时,顶层和底层之间会产生触碰。所用的电阻式触摸屏都 阅读全文

posted @ 2012-11-28 12:59 莫回头 阅读(1425) 评论(0) 推荐(0)