欢迎来到天天文库
浏览记录
ID:14276134
大小:42.50 KB
页数:9页
时间:2018-07-27
《浅谈嵌入式linux系统设备驱动的开发与设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浅谈嵌入式Linux系统设备驱动的开发与设计【摘要】主要阐述了嵌入式linux设备驱动程序的概念,归纳嵌入式linux设备驱动程序的共性,探讨嵌入式linux设备驱动程序具体开发流程以及驱动程序的关键代码,总结嵌入式linux设备驱动程序开发的主导思想。【关键词】嵌入式系统;linux;设备驱动程序;内核【abstract】thepaperpresentstheconceptofembeddedlinuxdevicedriverprogram,summarizedintheembeddedlinuxdevicedriverofgenerality,
2、embeddedlinuxdevicedriverspecificdevelopmentprocessaswellasthedriverofthekeycode,sumuptheembeddedlinuxdevicedriverdevelopmentofthedominantideology.【keywords】embeddedsystem;linux;devicedriver;kernel0引言嵌入式系统被广泛运用到消费、汽车、电子、微控制、无线通信、数码产品、网络设备、安全系统等领域。越来越多的公司、研究单位、大专院校、以及个人开始进行嵌入式系
3、统的研究,嵌入式系统设计将是未来相当长一段时间内研究的热点。1浅谈嵌入式Linux系统设备驱动的开发与设计【摘要】主要阐述了嵌入式linux设备驱动程序的概念,归纳嵌入式linux设备驱动程序的共性,探讨嵌入式linux设备驱动程序具体开发流程以及驱动程序的关键代码,总结嵌入式linux设备驱动程序开发的主导思想。【关键词】嵌入式系统;linux;设备驱动程序;内核【abstract】thepaperpresentstheconceptofembeddedlinuxdevicedriverprogram,summarizedintheembedde
4、dlinuxdevicedriverofgenerality,embeddedlinuxdevicedriverspecificdevelopmentprocessaswellasthedriverofthekeycode,sumuptheembeddedlinuxdevicedriverdevelopmentofthedominantideology.【keywords】embeddedsystem;linux;devicedriver;kernel0引言嵌入式系统被广泛运用到消费、汽车、电子、微控制、无线通信、数码产品、网络设备、安全系统等领域
5、。越来越多的公司、研究单位、大专院校、以及个人开始进行嵌入式系统的研究,嵌入式系统设计将是未来相当长一段时间内研究的热点。1linux设备驱动程序概述嵌入式linux以其可应用于多种硬件平台、内核高效稳定、源码开放、软件丰富、网络通信和文件管理机制完善等优良特性,成为嵌入式系统领域中的一个研究热点。嵌入式linux系统中,内核提供保护机制,用户空间的进程一般不能直接访问硬件。进行嵌入式系统的开发,很大的工作量是为各种设备编写驱动程序,除非系统不使用操作系统。linux设备驱动程序在linux内核源代码中占有很大比例,从2.0、2.2到2.4版本的内
6、核,源代码的长度日益增加,其实主要是设备驱动程序在增加。设备驱动程序在linux内核中占有极其重要的位置,它是内核用于完成对物理设备的控制操作的功能模块。除了cpu、内存以及其他很少的几个部分之外,所有的设备控制操作都必须由与被控设备相关的代码,也就是驱动程序来完成。内核必须包括与系统中的每个外部设备对应的驱动程序。否则设备就无法在linux下正常工作。这就是驱动程序开发成为linux内核开发的主要工作的原因。从内核源码的代码分布可以看出,设备驱动源码至少占据了一半的内核源码量,更能说明设备驱动程序对操作系统的意义和价值。2嵌入式linux设备驱动
7、程序开发2.1设备驱动程序工作原理在linux操作系统下有3类主要的设备文件类型:块设备、字符设备和网络设备。这种分类方法可以将控制不同输入/输出设备的驱动程序与其它操作系统软件分离开来。字符设备与块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件i/o一般紧接着发生。块设备则不然,它利用一块系统内存作缓冲区,若用户进程对设备的请求能满足用户的要求,就返回请求的数据;否则,就调用请求函数来进行实际的i/o操作。网络设备可以通过bsd套接口访问数据。所有嵌入式linux设备驱动程序都有一些共性,是编写所有类型的驱动程序都通用的,操作系统提供
8、给驱动程序的支持也大致相同。这些特性包括:(1)读/写几乎所有设备都有输入和输出。每个驱动程序都要负责本设备的读/写操作,
此文档下载收益归作者所有