驱动开发感悟

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了驱动开发感悟相关的知识,希望对你有一定的参考价值。

设备(device),驱动(device_driver)以及总线(bus_type)是Linux设备驱动模型的三要素。

总线将设备和驱动进行绑定。在系统注册一个设备的时候,会寻找与之匹配的驱动,同样,在系统注册一个驱动的时候,会寻找与之匹配的设备,而匹配工作由总线完成。在设备和驱动匹配成功后,会调用驱动的probe函数来探测设备的寄存器资源,中断,DMA,时钟,同时初始化类(class)及其操作函数集,最后注册该类。

类指的是具有共同属性和功能的设备集。

比较常见的类设备有:v4l2,rtc,tty,input,alsa,misc等等。

下边是驱动开发的主要内容:

1 搭建整个驱动框架,即实现probe函数,remove函数以及device_driver 结构体的dev_pm_ops成员函数。

2 实现驱动控制接口和数据交互接口。上述接口与具体的类设备密切相关,比如tty驱动需要实现tty_operations,网卡驱动需要实现net_device_ops,rtc驱动需要实现rtc_class_ops。

以上是关于驱动开发感悟的主要内容,如果未能解决你的问题,请参考以下文章

两年系统程序猿的感悟

SPI驱动调试感悟

Linux usb gadget框架概述

《领域驱动设计》重读感悟

vue使用感悟(待整理完善)

windows驱动开发问题