
linux底层驱动开发之input子系统篇
梦断星魂
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
复位按键模块设备驱动开发
1、将按键以input设备类型注册进内核,下边是input子系统的框架结构 设备节点:是已经注册进内核的设备编程接口,通过它可以实现对输入设备进行硬件操作;时间处理层:为不同类型的硬件提供用户访问及处理接口核心层:实现输入子系统的核心功能,屏蔽了用户到设备驱动的交互细节,为事件处理层和设备驱动层提供了相互通信的统一界面,设备驱动层:实现同具体硬件的交互。2、input子原创 2014-11-17 11:11:56 · 1054 阅读 · 0 评论 -
linux传感器二之G-Sensor 8452驱动及相关
8452是一款G-Sensor芯片,采用I2C跟主芯片通讯,采用中断方式跟操作系统协作。通过内部检测XYZ三个方向的加速度,实现各种应用。(1)原理框图如下: 现在来实现在WINCE中的I2C驱动,读写的时序波形图分别如下:读:写:基础写函数实现如下:static P_XLLP_OST_T ost_reg = 0;static XLLP_I转载 2014-12-02 16:42:19 · 2496 阅读 · 0 评论 -
linux传感器一之加速度传感器驱动代码
1 Gsensor 驱动概述 本文以Bma250驱动为例子,详细介绍Gsensor设计的一个模板。 gsensor驱动在系统中的层次如下图所示: 图中包含三个部分:hardware, driver, input: 1, Hardware:其实我们可以认为Gsensor也是一个I2C设备。整个Gsensor芯片分为两部分,一个是sensor传感器,另一个是control转载 2014-12-01 13:46:38 · 4705 阅读 · 0 评论 -
input子系统八之触摸屏驱动实例2(源码分析)
linux input输入子系统分析《三》:S3C2440的触摸屏驱动实例分类: linux输入(input)子系统 linux--底层驱动 2013-03-13 16:28 105人阅读 评论(0)收藏 举报目录(?)[+]1.1 本节阅读前提本节的说明建立在前两节的基础之上,需要先阅读如下两篇章:linux in转载 2014-10-17 11:34:16 · 913 阅读 · 0 评论 -
input子系统六之简单button驱动实例
1. 新建一个输入设备驱动程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1.0 一个最简单的例子~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~本文由DroidPhone转载 2014-10-16 16:35:58 · 745 阅读 · 0 评论 -
input子系统五之事件类型编码介绍
Event types:===========types对应于一个相同逻辑输入结构的一组Codes。每个type都有一组可用的codes用于产生输入事件。每个type可用的codes的详细信息请参考Codes一节的内容。* EV_SYN: - 用于事件间的分割标志。事件可能按时间或空间进行分割,就像在多点触摸协议中的例子。 * EV_KEY: -转载 2014-10-16 14:47:12 · 3281 阅读 · 0 评论 -
input子系统九之系统流程全面分析
1 input输入子系统整体流程本节分析input子系统在内核中的实现,包括输入子系统(Input Core),事件处理层(Event Handler)和设备驱动层。由于上节代码讲解了设备驱动层的写法,因此在开头部分会从设备驱动层做为线索,分析输入子系统和事件处理层是如何配合的,最后从用户角度出发,从“/dev/input/*”接口如何使用输入子系统提供的服务。既然需要详转载 2014-10-17 15:00:40 · 660 阅读 · 0 评论 -
input子系统七之触摸屏驱动开发实例1(ADC驱动实例)
1 mini2440的ADC驱动实例这节与输入子系统无关,出现在这里是因为后面的章节会讲到触摸屏输入子系统驱动,由于触摸屏也使用ADC,因此本节是为了说明ADC通过驱动代码是如何控制的。本节重点:如何通过原理图查找ADC硬件使用的资源如何通过芯片手册查找ADC硬件的操作方法ADC设备驱动程序的初始化流程ADC设备驱动程序的中断处理流程本节难转载 2014-10-16 16:46:50 · 858 阅读 · 0 评论 -
input子系统三之重要函数的分析
一. 各种注册函数 因为分析一所讲的每种数据结构都代表一类对象,所以每种数据结构都会对应一个注册函数,他们都定义在子系统核心的input.c文件中。主要有三个注册函数 input_register_device 向内核注册一个input设备 input_register_handle 向内核注册一个handle结构 input_regi转载 2014-10-15 14:56:36 · 559 阅读 · 0 评论 -
input子系统一之系统框架介绍
主要讲述本人在学习Linux内核input子系统的全部过程,如有分析不当,多谢指正。以下交流方式,文章欢迎转载,保留联系信息,以便交流。邮箱:eabi010@gmail.com主页:www.ielife.cn(爱嵌论坛——嵌入式技术学习交流)博客:blog.youkuaiyun.com/ielife1 开发环境主 机:ubuntu10.04开发板:m转载 2014-10-15 11:04:39 · 700 阅读 · 0 评论 -
input子系统二之相关数据结构介绍
Input子系统处理输入事务,任何输入设备的驱动程序都可以通过Input输入子系统提供的接口注册到内核,利用子系统提供的功能来与用户空间交互。输入设备一般包括键盘,鼠标,触摸屏等,在内核中都是以输入设备出现的。下面分析input输入子系统的结构,以及功能实现。一. Input子系统结构与功能实现 1. Input子系统是分层结构的,总共分为三层: 硬件驱动层,子系统核心层,事件处理层。转载 2014-10-15 11:48:17 · 579 阅读 · 0 评论 -
input子系统四之事件处理过程分析
一. 输入子系统核心分析。 1.输入子系统核心对应与/drivers/input/input.c文件,这个也是作为一个模块注册到内核的。所以首先分析模块初始化函数。[cpp] view plaincopystatic int __init input_init(void) { int err; i转载 2014-10-16 09:31:20 · 624 阅读 · 0 评论 -
linux传感器三之轴陀螺仪(MPU3050)驱动解析
MPU3050是invensense公司的三轴陀螺仪芯片,三轴陀螺仪最大的作用就是“测量角速度,以判别物体的运动状态,所以也称为运动传感器.下图是MPU3050的系统框图,芯片有1个中断引脚,可以通过i2c来控制,获取x Gyro,y Gyro,z Gyro设备驱动中用mpu3050_sensor结构体来描述MPU3050设备对象(对象中包含i2c客户端及输入设备来处理获取的x,y转载 2014-12-02 16:46:10 · 6654 阅读 · 2 评论