驱动开发感悟
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。
以上是关于驱动开发感悟的主要内容,如果未能解决你的问题,请参考以下文章