当前位置:嗨网首页>书籍在线阅读

18-总结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

19.7 总结

本章主要讲解了Linux系统中MTD系统的层次和接口,NOR和NAND Flash驱动的设计方法及如何在其上建立Flash文件系统。

由于引入了MTD系统以及MTD下层的通用NOR和NAND驱动,Linux中NOR和NAND Flash芯片级驱动的设计难度被大大降低。尤其对于NOR而言,drivers/mtd/maps/physmap.c驱动支持了绝大不多情况下的NOR驱动,使得移植NOR驱动的工作仅仅只需要在BSP中添加相关的platform信息。

在串口驱动部分,本章讲解了tty_driver到uart_driver的角色转换,在Flash驱动中,本章讲解了mtd_info向map_info/nand_chip的转移,可以说,Linux驱动的这种分层设计思想是贯穿各种Linux驱动框架始终的。

在Linux系统中,提供了主机侧和设备侧视角的USB驱动框架,本章主要讲解从主机侧角度看到的USB主机控制器驱动和设备驱动,以及从设备侧角度看到的设备控制器和gadget驱动。

20.1节给出了Linux系统中USB驱动的整体视图,讲解了Linux中主机侧和设备侧角度的USB驱动层次。

从主机侧的角度而言,需要编写的USB驱动程序包括主机控制器驱动和设备驱动两类,USB主机控制器驱动程序控制插入其中的USB设备,而USB设备驱动程序控制该设备如何作为从设备与主机通信。本章20.2节分析了USB主机控制器驱动的结构并给出LDD6410 USB 1.1主机实例,20.3节讲解了USB设备驱动的结构及其设备请求块处理过程并给出了USB键盘驱动作为实例。

从设备侧的角度而言,包含编写USB设备控制器(UDC)驱动和gadget驱动两类,20.4对UDC和gadget驱动进行了讲解,并给出了LDD6410 UDC 和file storage gadget作为实例。

20.5节简单地介绍了一下USB OTG驱动。

20.1节与20.2~20.5节是整体与部分的关系。