基于μClinux的触摸屏软硬件关键技术分析 (3)

2008-11-26 11:35:08   作者:杜威 慕春棣   来源:电子设计应用   

关键字:Clinux 触摸屏控制器 中断处理程序 驱动程序 ioctl 设备号 控制函数 状态值 控制字 init

软件设计

  μClinux下驱动程序的特点

  μClinux继承了Linux的设备管理方法,将所有的设备看做具体的文件,通过文件系统层对设备进行访问。所以在Clinux的框架结构中,和设备相关的处理可以分为两个层次——文件系统层和设备驱动层。设备驱动层屏蔽具体设备的细节,文件系统层则向用户提供一组统一的规范的用户接口。这种设备管理方法可以很好地做到“与设备无关性”,使Clinux可以根据硬件外设的发展进行方便的扩展,比如要实现一个设备驱动程序,只要根据具体的硬件特性向文件系统提供一组访问接口即可。

  μClinux中的设备可以分为3类:字符设备、块设备和网络设备。其中字符设备没有缓冲区,数据的处理是以字节为单位按顺序进行的,它不支持随机读写,触摸屏即属于字符设备的一种。

  驱动程序在内核中装载的方式有两种:一种是直接编译进内核,在系统初始化的时候就对设备进行注册;一种是模块化加载的方法,将驱动程序编译成目标文件(*.o),需要添加设备时,使用insmod命令向系统注册,停止使用时,用rmmod命令卸载。对于触摸屏这种基本的输入工具,建议采取直接编译进内核的方式,这样系统一启动就可以使用了。

  向内核注册一个字符设备的函数为:externintregister_chrdev(unsignedintmajor,constchar*name, structfile_operations*fops);内核用主设备号和次设备号惟一地标识一个设备。参数major对应所请求的主设备号,name对应设备的名字,fops是一个指向file_operations结构的指针,它是Clinux下编写驱动程序用到的一个关键的数据结构,它提供了应用空间与驱动程序的调用接口。这个数据结构的每一项都指向驱动程序完成的一个功能。

  在2.4版本内核中对该结构采取标记结构初始化语法(TaggedStructureInitializationSyntax),与2.0内核比较,这种语法可移植性更好,程序的可读性和代码的紧凑性都比较好。以触摸屏为例:

  staticstruct file_operations ts_fops={

  owner:THIS_MODULE,

[1] [2] [3] [4] [5] [6]
相关阅读
基于Linux的C02激光雕刻系统步进电机驱动程序 2010-10-18
基于Linux/Qtopia的车载温度网络采集 2008-09-05
集成了触摸屏功能的平板显示系统的设计 2008-08-22
HMS30C7202与触摸屏接口电路的设计 2008-08-22
基于μClinux的触摸屏设计与关键技术分析 2008-08-22
激光治疗仪中的触摸屏接口的软硬件设计 2008-08-22
基于ADS7846签名认证的数据采集和预处理 2008-08-22
基于SA1110的掌上电脑显示器的设计与实现 2008-08-22
从单点到多点 触摸屏技术引爆手机“大革命” 2008-08-08
基于EraSoC-1000C的电脑绣花机解决方案 2008-07-31
编辑:孙树宾
本文引用地址: http://www.eeworld.com.cn/gykz/2008/1126/article_1417.html
[发表评论]
[加入收藏]
[告诉好友]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]

小广播

最热点击

专栏

向农,EEWORLD副总编。被英特尔董事长贝瑞特称为“中国可与之对话的两名记者之一”

【详细】

总编随笔
汤宏琳,人皆称为“汤汤”,电子工程世界高级编辑。随着EEWORLD一起成长。

【详细】

汤汤手记
今年,是中国集成电路产业丰收的一年,相比较往年都有大幅提升。

【详细】

凯哥博客

论坛精华

精选博文