发布时间:2012-07-31 13:47:15
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分.........【阅读全文】
发布时间:2012-07-31 13:37:48
输入设备(如按键,键盘,触摸屏,鼠标,蜂鸣器等)是典型的字符设备,其一般的工作机制是底层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值.........【阅读全文】
发布时间:2012-07-30 15:04:28
现实的linux设备和驱动通常都需要挂接在一种总线上,比较常见的总线有USB、PCI总线等。但是,在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设却不依附与此类总线。基于这样的背景下,2.6内核加入了platform虚拟总线。platform机制将设备本身的资源注册进内核,有内核统一管理,在驱.........【阅读全文】
发布时间:2012-07-30 14:25:41
配对函数(match)、探测函数(probe)第一个是配对函数(match),它是总线结构体bus_type的其中一个成员:57 int (*match)(struct device *dev, struct device_driver *drv); 当总线上添加了新设备或者新驱动函数的时候,内核会调用一次或者多.........【阅读全文】
发布时间:2012-07-30 14:13:27
设备模型跟踪所有系统所知道的设备。进行跟踪的主要原因是让驱动程序协调与设备之间的关系。先看驱动程序的结构体,仅仅贴出一些重要的成员:点击(此处)折叠或打开/*linux/device.h*/ struct device_driver { &n.........【阅读全文】