02 2016 档案

摘要:一. 输入子系统核心分析。 1.输入子系统核心对应与/drivers/input/input.c文件,这个也是作为一个模块注册到内核的。所以首先分析模块初始化函数。 1 static int __init input_init(void) 2 { 3 int err; 4 5 input_init_ 阅读全文
posted @ 2016-02-28 18:55 jetli 阅读(271) 评论(0) 推荐(0)
摘要:设备层:直接操作硬件,所有事件上报核心层或者通过核心层得到需要硬件执行什么操作 input子系统按键驱动实例: 1 /* 参考drivers\input\keyboard\gpio_keys.c */ 2 3 #include <linux/module.h> 4 #include <linux/v 阅读全文
posted @ 2016-02-27 13:55 jetli 阅读(262) 评论(0) 推荐(0)
摘要:一、字符设备、字符设备驱动与用户空间访问该设备的程序三者之间的关系。 如图,在Linux内核中使用cdev结构体来描述字符设备,通过其成员dev_t来定义设备号(分为主、次设备号)以确定字符设备的唯一性。通过其成员file_operations来定义字符设备驱动提供给VFS的接口函数,如常见的ope 阅读全文
posted @ 2016-02-26 22:28 jetli 阅读(442) 评论(0) 推荐(0)
摘要:1.input_dev结构体 是硬件驱动层,代表一个input设备 1 struct input_dev { 2 const char *name; 3 const char *phys; 4 const char *uniq; 5 struct input_id id; //与input_hand 阅读全文
posted @ 2016-02-24 17:25 jetli 阅读(578) 评论(0) 推荐(0)
摘要:输入设备总类繁杂,包括按键,键盘,触摸屏,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个Input子系统.Input子系统分为三层,从下至上分别是输入设备驱动层,输入核心层以及输入事件驱动层. 核心层: 高效,无bug,可重用 事件处理层: 阅读全文
posted @ 2016-02-24 17:00 jetli 阅读(284) 评论(0) 推荐(0)