最近本人在学习Linux驱动,本系列教程是本人在一边学习,一边总结的系列教程,希望能够给很多刚学驱动小伙伴一些总结。
1.Linux设备分类
驱动针对的对象是存储器和外设,不是针对CPU,可以分为以下三大类:
1.字符设备
字符设备是指那些必须以穿行顺序依次进行访问的设备,如触摸屏,磁带驱动器,鼠标等
2.块设备网络设备
块设备是指客户已任意顺序进行访问,以块为单位的操作,如磁盘,EMMC
3.网络设备
网络设备面向数据包的接收和发送而设计,它不倾向于对应的系统的节点。
2.Linux设备驱动与整个软硬件系统的关系
如下图所示,除了网络设备外,字符设备与块设备都被映射到Linux文件系统和目的,通过文件系统的系统调用接口open(), write(), read(), close()等即可访问字符设备和块设备。
Linux的块设备访问方法有两种:
1.第一种是通过命令行对应的对应的块设备。
2.在块设备上简历FAT,EXT4等文件系统,以路径形式进行访问。