ARM Linux 驱动开发简介

    本篇我们将会详细讲解 Linux 中的三大类驱动:字符设备驱动、块设备驱动和网络
设备驱动。其中字符设备驱动是占用篇幅最大的一类驱动,因为字符设备最多,从最简单的点
灯到 I2C、 SPI、音频等都属于字符设备驱动的类型。块设备和网络设备驱动要比字符设备驱动
复杂,就是因为其复杂所以半导体厂商一般都给我们编写好了,大多数情况下都是直接可以使
用的。所谓的块设备驱动就是存储器设备的驱动,比如 EMMC、 NAND、 SD 卡和 U 盘等存储
设备,因为这些存储设备的特点是以存储块为基础,因此叫做块设备。网络设备驱动就更好理
解了,就是网络驱动,不管是有线的还是无线的,都属于网络设备驱动的范畴。一个设备可以
属于多种设备驱动类型,比如 USB WIFI,其使用 USB 接口,所以属于字符设备,但是其又能
上网,所以也属于网络设备驱动。本篇我们就围绕着三大设备驱动类型展开,尽可能详细的讲
解每种设备驱动的开发方式。
    本书使用的 Linux 内核版本为 4.1.15,其支持设备树(Device tree),所以本篇所有例程均采
用设备树。设备树将是本篇的重点!从设备树的基本原理到设备树驱动的开发方式,从最简单
的点灯到复杂的网络驱动开发,本篇均有详细的讲解,是学习设备树的不二之选。

参考文献

【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.3.pdf

猜你喜欢

转载自blog.csdn.net/liurunjiang/article/details/107401651
今日推荐