P { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px }
早期驱动程序,每个应用单独开发驱动程序,不能复用
驱动程序要设计成共用接口,复用性
驱动程序工程师与应用程序工程师共同定义接口函数
如果接口函数需要修改参数,会导致应用程序同样修改
驱动分类
字符设备、网络接口、块设备
字符设备:按字节来访问,通常实现open, close, read, write系统调用
UNIX系统中,块设备不能按字节处理数据,一次只能传输512(1024,4096)字节的整块数据。
Linux系统中允许块设备传送任意数目的字节 。因此块与字符设备的区别在于驱动与内核的接口不同。
字符设备不能随机访问,块设备可以。
网络接口:RJ45网卡、回环接口(lo, loopback),负责发送和接收数据报文
驱动程序的安装
1、模块方式(开发过程)
无需公布源代码
2、直接编译进内核(发布阶段)
需要公布源代码,License考虑
把驱动编译进内核
需要修改两个文件Kconfig, Makefile
Kconfig: