个人小结:
1. 物理接口:用来传输数据的 ----> 比如USB总线接口,sdio总线接口,I2C总线接口的等等
2. 物理接口的读写函数都是在总线驱动中(主机控制器)中实现的,其读写函数的功能仅仅是传输数据所用
3. 外设驱动程序的读写函数一般有两个功能:
a:封装或者解析数据
b:调用控制器的读写函数完成数据的传输
4. 外设驱动程序的读写函数的调用方式一般也是两个:
a:由外设驱动程序主动调用,比如I2C的外设
b:由主机控制器的驱动回调,比如USB的外设、mmc的外设
5. linux设备的分类,从设备的功能(表现形式)可分为下面三类
字符设备、块设备、网络设备
6. linux设备的分类,从数据交互的物理接口可分为许多类
USB物理接口-------USB架构
内存物理接口-------platform架构
SDIO物理接口-----mmc架构
I2C物理接口------I2C架构等等
7. 外设驱动就是驱动架构与功能设备的组合
USB物理接口 + 字符设备功能 比如 USB摄像头
USB物理接口 + 块设备功能 比如 U盘
USB物理接口 + 网络设备功能 比如 USB-WIFI
8. 外设驱动的读写函数
a. 借用总线的读写函数实现数据从接口的传输
b. 根据设备的功能对数据进行封装与解析
c. 将处理过的数据传递给用户层(上层)