一、字符设备驱动
3种驱动中最简单的,采用ioremap映射,当作普通的程序来写就行,
可以不用理解框架,只要大致了解函数调用过程就行;
当然也可以使用platform框架,i2c的i2c框架等等,就比以上更加深入了
二、块设备驱动
块设备驱动的由来是要优化对块设备的访问速度,
就像电梯调度算法,(在进行操作之前要对操作进行规划);
例如1楼,2楼,4楼的人同时按了电梯,2楼,4楼的
人要下楼,1楼的人要上楼,这时电梯先去接4楼的人;
块设备驱动就是加入了调度来满足对与块设备的访问,提高访问效率
三、网络设备驱动
这是最难写的,但是又是最容易的;因为你就算是专业的驱动工程师也很少有机会自己亲自写;
这种驱动一般都是由厂家提供一个模版,自己使用的时候在这个模版的基础上进行修改就行了。
目前理解网络设备驱动难写的原因
1、寄存器比较多
2、处理起来比较麻烦
3、对于网络设备驱动的框架实现机制不理解