LINUX下USB1.1设备学习小记(4)_uhci(7)
uhci_hub_control在/drivers/usb/host/uhci-hcd.c中staticintuhci_hub_control(structusb_hcd*hcd,u16typeReq,u16wValue,u16wIndex,char*buf,u16wLength){structuh
LINUX下USB1.1设备学习小记(4)_uhci(5)
usb_get_configuration的用途为取得并设置所有的描述符usb_get_configuration在/drivers/usb/core/config.c中intusb_get_configuration(structusb_device*dev){structdevice*ddev=
LINUX下USB1.1设备学习小记(4)_uhci(4)
启动主机控制器和根集线器之后,现在来注册根集线器register_root_hub负责根集线器的注册register_root_hub在/drivers/usb/core/hcd.c中staticintregister_root_hub(structusb_hcd*hcd){structdevice
LINUX下USB1.1设备学习小记(4)_uhci(3)
在pci中访问uhci寄存器需要使用io端口,0x0为uhci的控制命令寄存器,所有的详细寄存器在uhci的手册中均有描述,我这里就不详细介绍了,想要的在下面的附录中有提供check_and_reset_hc检测uhci是否需要复位,并完成复位后的初始化工作check_and_reset_hc在/d
LINUX下USB1.1设备学习小记(4)_uhci(2)
好~现在万事俱备,只欠uhci硬件的注册了现在谈一下uhci硬件的组成,uhci的硬件分为两个大的部分,主机控制器和根集线器,当提交uhci硬件的注册到pci总线后,经过一轮匹配,终于找到了uhci,进入到uhci_pci_driver->probe这个函数下usb_hcd_pci_probe
LINUX下USB1.1设备学习小记(4)_uhci(1)
现在开始LINUX下USB主机和设备的驱动架构分析先讲解的内容,先不在PDIUSBD12上写入HID等模块,等讲解完UHCI和PDIUSBD12的详细通讯过程之后,再在D12上写HID的模块内容,进行蓝框内容的讲解首先是usb主机控制器UHCI在LINUX下的架构,关于sysfs的内容在”个人对ko
LINUX下USB1.1设备学习小记(3)_host与device
各位还记得”任何传输都是由host发起的”这句话么~在usb设备插入pc中到拔出usb设备,都是由host进行询问的一个usb鼠标的工作流程可以表达如下:usb鼠标插入pc中:主机询问设备:给我你的设备信息(控制传输)主机根据usb鼠标的设备信息进行驱动配置,配置结束后主机询问设备:给我你的数据信息
LINUX下USB1.1设备学习小记(2)_协议
USB协议:先看USB接口可以看出,在USB使用了4根线,分别为电源线,地线,信号线和差分信号线差分信号线用于检测信号线的传输是否正确下面我们只关注信号线然后是USB的串口传输在串口传输中,由于所有的信号共用一根数据线,所以不仅有先来后到的问题,而且在一个设备和另一个设备进行通信的时候,如果别的设备
LINUX下USB1.1设备学习小记(1)
现在暂定的学习目标为一个USB鼠标的设备到主机的传输过程软件上的贯穿(会涉及到部分硬件但是本人的电电路知识有限涉及的量不会多)学习的框架如下:1.USB1.1协议A.控制传输B.中断传输2.USB主机A.LINUX下的UHCI3.USB设备A.飞利浦的PDIUSBD124.HID协议A.鼠标部分5.
[原创] 写一个块设备驱动(15)
第15章(最终章)+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@h
[原创] 写一个块设备驱动(14)
第14章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmai
[原创] 写一个块设备驱动(13)
第13章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmai
[原创] 写一个块设备驱动(12)
第12章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmai
[原创] 写一个块设备驱动(11)
第11章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmai
[原创] 写一个块设备驱动(10)
第10章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmai
[原创] 写一个块设备驱动(9)
第9章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmail
[原创] 写一个块设备驱动(8)
第8章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmail
[原创] 写一个块设备驱动(7)
第7章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmail
[原创] 写一个块设备驱动(6)
第6章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:[email]zhaoleidd@
[原创] 写一个块设备驱动(5)
第5章+---------------------------------------------------+|写一个块设备驱动|+---------------------------------------------------+|作者:赵磊||email:zhaoleidd@hotmail