linux驱动设备分类

1. linux驱动设备分类

1.1 字符设备 -c

1、没有文件系统
2、应用程序和驱动程序之间进行数据交互时,数据是以字节进行数据交换,并且是按照固定的顺序传输的,数据是实时传输的。
3、字符设备有:LED、IIC、SPI、按键
4、字符设备的file_operations成员函数就由字符设备驱动提供(一般字符设备都会实现相应的fops集),file_operations是字符设备驱动的核心。

1.2 块设备 -b

1、有文件系统
2、应用程序和驱动程序之间进行数据交互时,数据是以块为单位的,块设备的有缓存的,随机存取。
3、块设备有:Nandflash、EMMC、U盘。
4、采用mount方式挂载块设备。

1.3 网络设备

1、使用数据包发送和接收
2、网卡设备:有线网卡、无线网卡
3、网络设备没有文件系统
4、应用程序:socket套接字为IP+端口号