APP下载

基于Linux内核输入子系统的驱动研究

2012-03-17刘少平

电子设计工程 2012年17期
关键词:设备

刘少平

(陕西烽火电子股份有限公司 陕西 宝鸡 721006)

嵌入式技术在工业和日常生活中变得越来越普及,Linux作为是目前最流行的操作系统之一,在桌面系统、服务器领域都有大量用户,在嵌入式领域也备受青睐。尽管Linux内核完全由C语言和汇编语言写成,但是却频繁的用到了面向对象的设计思想。具体到驱动方面,就是为同类的设备设计一个框架,而框架的核心层则实现了该设备通用的一些功能。

Linux系统提供了输入子系统,按键、键盘、触摸屏、鼠标等设备都可以利用它的接口函数来实现设备驱动。基于输入子系统的优越性,这种设备程序接口得到了很好的应用,但目前为止介绍输入子系统的相关资料却较缺乏。文中基于Linux内核输入子系统对设备驱动流程进行了研究,并以触摸屏为例,详细分析了驱动实现过程,通过程序移植,触摸屏校准之后可以正常使用。入设备的抽象,是内核中字符设备驱动接口的封装。输入子系统由设备驱动层、核心层和事件处理层构成,如图1所示。

图1 输入子系统Fig.1 Input subsystem

1 Linux下的设备驱动基础

Linux系统主要将设备分成3种类型:字符设备、块设备和网络接口。分别对应字符模块 (charmodule)、块模块(block module)和网络模块(network module)[1]。 比如:常用的按键、键盘、触摸屏、鼠标等都是典型的字符设备。对于面向对象的程序设计,为了极大提高代码的可重用能力,引入了输入子系统。

Linux输入子系统[2-3]是对物理形态各异的功能相似的输

设备驱动层(Input Device Drivers)提供对硬件各寄存器的读写访问和将底层硬件对用户输入访问的响应转换为标准的输入事件,通过核心层提交给事件处理层 (Input Event Drivers);……

登录APP查看全文

猜你喜欢

设备
谐响应分析在设备减振中的应用
调试新设备
基于VB6.0+Access2010开发的设备管理信息系统
基于MPU6050简单控制设备
广播发射设备中平衡输入与不平衡输入的转换
食之无味,弃之可惜 那些槽点满满的可穿戴智能设备
500kV输变电设备运行维护探讨
HTC斥资千万美元入股虚拟现实设备商WEVR
Automechanika Shanghai 2014 之“看” 汽保设备篇
如何在设备采购中节省成本