Linux内核空间设备驱动程序的开发讲解.PDFVIP

  • 5
  • 0
  • 约 4页
  • 2018-11-19 发布于河北
  • 举报

Linux内核空间设备驱动程序的开发讲解.PDF

Linux内核空间设备驱动程序的开发讲解

电子发烧友 电子技术论坛 Linux 内核空间设备驱动程序的开发 Developing Linux kernel space device driver 郑伟 王钦若 吴乃优 Zheng,Wei Wang,Qinruo Wu,Naiyou 摘 要 本文详细介绍了Linux平台下内核空间设备驱动程序 统调用来打开、关闭、读取和写入设备,系统中每一设备都用 的开发。在比较 proc 和 dev 两种文件系统的基础上,分别以 一种特殊的设备相关文件来表示。 PCI 设备和 USB 设备的驱动程序开发为实例来介绍利用两种文 Linux下开发内核设备驱动程序有两种方式,一种是在配 件系统开发字符设备驱动程序的方法。 置和编译内核时将驱动程序编译进内核;另一种方式是编译成 关 键 词 Linux; 设备驱动; 内核空间; PCI; USB 可动态加载的模块。将所有的东西都编译进内核无疑会使内核 变得庞大而导致实时性与稳定性的降低,而根据需要动态地加 Abstract: This thesis introduces how to develop kernel 载模块则保持了操作系统内核的紧凑性,所以大多数时候我们 level device driver on Linux platform in detail. On the 推荐使用模块机制。 basis of comparing proc file system with dev file system, 1.3 proc 和 dev 文件系统比较 we choose PCI device and USB device as instances to Linux的proc文件系统是进程文件系统和内核文件系统组 introduce the method of writing device driver for char 成的复合体,是将内核数据对象化为文件形式进行存取的一种 devices by using these two file systems. 内存文件系统,提供了一种监控内核的用户接口。proc 文件系 Key words: Linux ; device driver ; kernel space ; PCI ; USB 统是一个虚拟文件系统,它通过文件系统接口实现,用于输出 系统运行状态,以文件系统的形式为操作系统本身和应用进程 Linux 操作系统运行在两种模式下,一种是用户模式,另 之间的通信提供了一个界面,使应用程序能够安全、方便地获 一种是内核模式。在编写驱动程序时,必须决定哪些功能将用 得系统当前的运行状况和内核的内部数据信息,并且可以修改 模块来实现,哪些功能的实现要留在用户空间。一般原则是只 某些系统的配置信息。 要是能够在用户空间编程实现的,就不要放到内核里面去实 Linux 将设备看成特殊的文件,设备文件不使用文件系统 现。虽然有时写一个用户空间设备驱动程序是对内核扩充的明 中的任何数据空间,它仅仅作为设备驱动的访问入口点,用户 智选择,但是用户空间驱动程序毕竟做不了太多的事情。当在 利用该入口点就可以象操作普通文件一样来操作设备。dev 目 用户空间无法实现设备驱动,或者强调驱动程序的实时性与稳 录是用来存放设备文件的,每个设备都会有对应的设备文件存 定性时,就必须编写内核级的设备驱动程序。 在,对设备文件的动作就是对设备的存取。 下面以 PCI 设备为例介绍 proc 文件系统驱动程序开发方 1 概述

文档评论(0)

1亿VIP精品文档

相关文档