USB设备驱动架构.docVIP

  • 2
  • 0
  • 约4.47千字
  • 约 4页
  • 2017-06-08 发布于重庆
  • 举报
USB设备驱动架构

Linux下驱动整体架构 这个图我们从下面往上面看,linux驱动最底层是主机硬件,运行在主机硬件其上是驱动模块了, 驱动模块直接对进行读写操作。驱动模块在内核是可以通过静态或者动态加载,来在内核中注册的。例如用 insmod XXX.o 模块,那么用limod就可以看到已经在内核中加载进来,设备文件是用 mknod+新设备名+c/b+主设备号+次设备号来关联起来的。上层的应用程序仅仅对设备文件进行读写等操作。 2.linux USB驱动层次 上图可以说是前面第一部分的驱动模块的一个特写。 从主机侧来看,在linux驱动中,USB驱动最底层的是USB主控制器硬件。在其上运行的是USB主机控制驱动。主机控制驱动之上为USB核心层,在往上层为USB设备驱动层了(与插入主机上的U盘、鼠标、AL576等对应的设备驱动)。 Linux内核的USB核心负责USB驱动管理和协议处理的重要工作,其功能包括:通过定义一些数据结构、宏、和功能函数,向上为设备驱动提供编程接口,向下为USB主机控制器驱动提供编程接口:通过全部变量维护整个系统的USB设备信息;完成设备热插拔控制、总线数据传输控制等。 3.USB骨架驱动usb-skeleton分析 module_init usb_skel_init ;/*模块入口*/ module_exit usb_skel_exit ; /*模块出口*/ sta

文档评论(0)

1亿VIP精品文档

相关文档