镇江回收三菱FX3U-64MT/ES厂家
USB驱动作为一个系统,集成了众多的驱动模块,注册过程复杂。从USB系统的角度来说,USB主机驱动主要包含:主机控制器驱动驱动的加载执行流程:USB初始化过程USBCore的初始化USB驱动从USB子系统的初始化开始,USB子系统的初始化在文件driver/usb/core/usb.c是一个宏,可以理解为module_init()。由于此部分代码重要,开发者把它看作一个子系统,而不仅仅是一个模块。USBCore这个模块代表的不是某一个设备,而是USB设备赖以生存的模块。在Linux中,像这样一个类别的设备驱动被归结为一个子系统。告诉我们,才是真正的初始化函数,而将是整个USB子系统结束时的清理函数。
镇江回收三菱FX3U-64MT/ES厂家
主机不停地向hub发送Get_Port_Status请求,以查询设备是否复位成功。Hub返回的报告信息中有专门的一位用来标志设备的复位状态。当hub撤销了复位信号,设备就处于默认/空闲状态(Defaultstate),准备接收主机发来的请求。设备和主机之间的通信通过控制传输,默认地址0,端点号0进行。此时,设备能从总线上得到的大电流是100mA。(的USB设备在总线复位后其地址都为0,这样主机就可以跟那些刚刚插入的设备通过地址0通信。)
镇江回收三菱FX3U-64MT/ES厂家
默认管道(DefaultPipe)在设备一端来看就是端点0。主机此时发送的请求是默认地址0,端点0,虽然未分配地址的设备都是通过地址0来获取主机发来的请求,但由于枚举过程不是多个设备并行处理,而是一次枚举一个设备的方式进行,所以不会发生多个设备同时响应主机发来的请求。设备描述符的第8字节代表设备端点0的大包大小。虽然说设备所返回的设备描述符(DeviceDescriptor)长度只有18字节,但系统也不在乎,此时,描述符的长度信息对它来说是重要的,其他的瞄一眼就过了。当完成次的控制传输后,也就是完成控制传输的状态阶段,系统会要求hub对设备进行再一次的复位操作(USB规范里面可没这要求)。再次复位的目的是使设备进入一个确定的状态。
将驱动与应用放在同一个层级,这显然是的不合理,因为不符合高内聚、低耦合。内聚:要求模块的内部,紧密结合,实现的功能专一低耦合:要求模块之间耦合度低(模块与模块之间联系少,使之模块与模块之间独立性好),当修改模块的时候,不会因耦合度高,而动一发而牵全身,在低耦合的情况下,低耦合的模块,只需要修改本模块的代码就可以。当在应用层里面直接进行驱动硬件的时候,那么这种情况是更为糟糕的,因为没有通过单独设计驱动模块,也就是说,这些驱动的代码没有被重用(每一个需要驱动硬件的时候,就需要重新编写代码)
将竭诚为贵公司提供最快速、优质、热情、周到的上门服务。公司提供物流代收货款,支付宝交易等多种安全放心的交易方式,而且价格上也相当的优势。我们热情欢迎客户的每一个来电咨询,谢谢!