一、Linux 支持的设备类型
(1) 字符设备 : 每次按字节访问
(2) 块设备 : 每次按块访问(需要文件系统)
(3) 网络设备 : 支持网络通信
注意: 字符设备和块设备在/dev/目录有对应的设备文件与他们的驱动程序对应
网络设备在Linux系统中,其驱动程序对应的网络接口(ifconfig命令查看)
二、Linux应用程序与驱动的关系
三、Linux 驱动添加流程
(1) 描述设备 =>用结构体分装{自己的特性 + 通用的部分}
(2) 初始化设备 =>内核提供 (通用部分),初始化接口函数
(3) 注册设备 =>内核提供
我们添加设备的时候,只需要告诉内核,你的设备是什么类型和你的设备操作方法。
四、设备号
主设备号(12bit) + 次设备号(20bit)
主设备号:驱动程序;次设备号:代表同一类的设备中哪一个设备
例如:4个LED灯,只需要一个驱动程序,通过次设备号区分是那一个LED.
mknod /dev/led c 252 0 =>在/dev目录生成一个led的设备文件,这个文件中记录主设备号是252
时间: 2024-10-07 13:53:59