首页 > 代码库 > 04 Linux驱动流程

04 Linux驱动流程

一、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

04 Linux驱动流程