Linux 驱动开发 基础

Linux 中的三大类驱动:字符设备、块设备 和 网络设备的驱动。

1、字符设备驱动 是占用篇幅最大的一类驱动,因为字符设备最多,从最简单的点灯到 I2C、SPI、音频 等都属于 字符设备驱动的类型。

2、块设备网络设备 驱动 要比字符设备驱动复杂,就是因为其复杂,所以半导体厂商一般都给我们编写好了,大多数情况下都是直接可以使用的。

所谓的 块设备驱动就是存储器设备的驱动,比如 EMMC、NAND、SD 卡和 U 盘等存储设备,因为这些存储设备的特点是以存储块为基础,因此叫做 块设备。

3、网络设备 驱动,就是网络驱动,不管是有线的还是无线的,都属于网络设备驱动的范畴。

一个设备可以属于多种设备驱动类型,比如 USB WIFI,其使用 USB 接口,所以属于 字符设备,但是其又能上网,所以也属于 网络设备驱动。

Linux 内核 4.1.15,是支持 设备树(Device tree)的。从最简单的点灯到复杂的网络驱动开发,都可以通过 设备树 来开发。

猜你喜欢

转载自blog.csdn.net/Hongwei_1990/article/details/107505294