湖南回收西门子1500系列模块上门回收电话
那么请求处理函数和请求对列又是怎么联系到一起的呢?blk_init_queue该函数用来申请一个消息对列。参数request_fn_proc*rfn为函数指针,该函数用来处理消息对列中的消息;参数spinlock_t*lock为一个自旋锁,该锁为队列创建过程的一部分。当调用rfn函数时,该锁是由内核控制的。与该函数对应的函数为:voidmmc_cleanup_queue(structmmc_queue*mq)。销毁队列。
湖南回收西门子1500系列模块上门回收电话
回收基恩士,回收康耐视,回收西门子,回收三菱PLC模块,回收仪器仪表。我们以更好、更快的为客户服务为经营宗旨,努力把自身打造成为业界的航母。收购范围:大量收购工厂、公司、个人等因各种原因所积压的。
可知,设备端驱动包含两部分:底层设备控制器驱动上层大容量存储类驱动设备控制器驱动USB设备控制器驱动主要实现GadgetAPI定义的函数和中断服务函数,可按功能划分为:API函数实现模块和中断处理模块。中断处理模块主要处理设备控制器产生的各种中断,包括端点中断、复位、挂起等中断。上图为设备端控制器基本架构,主要完成了Gadget驱动和控制器驱动绑定、注册。HCD:主机控制器驱动UDC:设备端控制器驱动OTG设备支持HNP和SRP协议。OTG设备通过USBOTG电缆连接到一起,其中接Mini-A接口的设备为A设备,默认为主机端,Mini-B接口的设备默认为B设备。当A、B设备完成数据交互之后,A、B设备之间的USBOTG电缆进入挂起状态:向A设备发起HNP请求。待A设备响应之后,A设备发送a_set_b_hnp_en,B设备响应之后即进入主机状态,同时发送请求使用A设备set_device,这样A、B设备完成主从交换。
湖南回收西门子1500系列模块上门回收电话
主机控制器的初始化及驱动执行(以EHCI为例);模块注册分配和初始化HCD结构体。对设备数据空间进行分配,初始化计数器、总线、定时器、hcd结构体各成员值。完成HCD结构体的初始化和注册。申请buffer,注册总线、分配设备端内存空间,向中断向量表中申请中断,注册根集线器,对根集线器状态进行轮询。在USB系统驱动加载的过程中,创建了集线器的线程(khubd),并且一直查询相应的线程事务。HCD驱动中,将集线器作为一个设备添加到主机控制器驱动中,然后进行集线器端口的初始化。在USB主机看来,根集线器本身也是USB主机的设备。USB主机驱动加载完成之后,即开始注册根集线器,并且作为一个设备加载到主机驱动之中。
地址(Address)的USB设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的地址。当USB设备处于挂起状态时,它保持这个地址不变。USB设备只对缺省通道(Pipe)请求发生响应,而不管设备是否已经被分配地址或在使用缺省地址。配置状态(Configured)在USB设备正常工作以前,设备被正确配置。从设备的角度来看,配置包括一个将非零值写入设备配置寄存器的操作。配置一个设备或改变一个可变的设备设置会使得与这个相关接口的终端结点的的状态与配置值被设成缺省值。这包括将正在使用(datetoggle)的结点(endpoint)的(Datetoggle)被设置成DATA0。