驱动与uboot、内核、文件系统的关系

驱动与uboot、内核、文件系统的关系
一、驱动是“嵌在”内核中;应用程序是“嵌在”系统文件中。

二、Linux设备驱动的作用
1、对上:Linux设备驱动要给上层系统文件的应用程序提供函数调用的接口;
2、对中:Linux设备驱动要注册到Linux内核中(或挂载到总线);
3、对下:Linux设备驱动要操作硬件(GPIO、PWM、网卡、硬盘等)

三、学习驱动其实就是学习接口函数。

四、驱动分类
1、块设备驱动
EMMC驱动、NORFLASH驱动、NANDFLASH驱动、硬盘驱动、TF卡驱动、U盘驱动等。
2、网络设备驱动
有线网卡驱动、无线网卡驱动等
3、字符设备驱动(包括杂项设备驱动)
GPIO驱动 、键盘驱动、鼠标驱动、IIC驱动、PWM驱动等,字符设备很广泛,除了网络设备和块设备以外都是字符设备。
学习驱动一般就是指学习字符设备的驱动,网络设备驱动和块设备驱动学习很少。