驱动分类

字符设备驱动

块设备驱动

网络设备驱动

驱动的开发基本上是遵循Linux提供的框架实现的,使用框架开发的主要目的是为了向上为应用层提供统一的用户接口,这样就可以实现将硬件透明的展示在开发人员的面前,实现不同设备同样接口,屏蔽实现,高内聚、低耦合。Linux内核的实现是面向对象思想的,所以我们可以将它看做这个框架就是一个父类,我们实现的代码不过是继承这个“框架父类”并实现从父类继承而来的方法,父类当中的属性主要有cdev,方法是file_operations,但由于Linux内核是用C语言开发的,所以实现方法上与面向对象语言不太一样,但是只要熟悉了这种开发的流程,本质是不难的,下面以字符设备驱动为例介绍一些开发的流程。

原文地址:https://www.cnblogs.com/wangluojisuan/p/3366709.html