设备驱动是硬件和应用软件之间的桥梁。应用程序通过驱动程序才能同硬件设备或系统内核通讯。设备驱动与底层硬件直接打交道,安装硬件设备的具体工作方法为读写设备寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射,最终使通信设备能够收发数据,使存储设备能够记录文件和数据。
Linux内核源码中大约85%是各种驱动程序的代码。内核中驱动程序种类齐全,可以在同类型的基础上进行修改以符合三维电磁采集站控制系统相关的专用驱动程序。Linux设备驱动程序的主要功能有:对设备进行初始化;使设备投入运行和退出服务;从设备接收数据并将它们送回内核;将数据从内核送到设备;检测和处理设备出现的错误。
如图所示,Linux的外设可以分为3类:字符设备(character device)、块设备(block device)和网络接口(network interface)。
https://blog.sciencenet.cn/blog-39626-332580.html
上一篇:
构建Linux根文件系统下一篇:
LINUX下字符设备、块设备和网络接口