Transferred from: http://blog.csdn.net/zkami/article/details/2496770Usb_hcd_omap_probe (const struct hc_driver *driver) (DEV/OHCI/OHCI-OMAP.C)Called by Platform_driver_register () during module initialization to initialize and Ohci_hcd_omap_driverMatch the USB host controller.-GT;USB_CREATE_HCD (driver); Create a data
USB bus leads to two important linked lists! A usb bus leads to two important linked lists: A linked list of USB devices and a linked list of USB drivers. The device linked list contains USB devices in various systems and all interfaces of these devices. The
Author:Liu Hongtao, a lecturer at Huaqing vision embedded College.
A Linux USB driver consists of two parts. Some are USB device controller (UDC) drivers and others are hardware-independent function drivers (such as mouse, USB flash drive,
and USB core, and then does the appropriate processing.Driver Catalog drivers/usb/*Usb/serial USB Serial device driver (e.g. USB 3G card, Bluetooth, etc.)Usb/storage
.
Endpoint descriptor: the endpoint address, direction, and type. It supports the maximum package size. If it is an end point of the interrupt type, it also includes the round inquiry frequency rate. In Linux kernel, USB end points are described using the usb_host_endpoint structure. The USB end point description is defined as the usb_endpoint_descriptor structure.
String descriptor: other descriptors p
shows the functional relationship between the modules of the USB master driver stack in the VxWorks operating system.
The underlying hardware of the stack is the USB host con-troroller. the USB master controller controls the USB
USB device: Mainly completes the processing of the USB protocol and data exchange.
PC program: consists of USB communication program and user service program. The user service program communicates with the system USB di through the USB communication program.
The debugging o
1. Foreword
2. Source Code Architecture
3. Enumeration process
1. Foreword
Gadget, small ornaments. USB Gadget, refers to the development of electronic devices to USB from the device mode through the USB connection to the host. For example, when a mobile phone is plugged into a PC with a USB cable, the handset is a
Introduction
The embedded linux system environment is widely used in the embedded field because of its ease of transplantation and cutting, small kernel, high efficiency, integrity, open source code, and excellent performance. Linux USB device source code mainly includes the massive storage devices of USB device, serial devices, network devices, and other device drivers and drivers of various
. As far as I understand it now, the USB drive is divided into two pieces, a USB bus driver, this thing, the Linux kernel has been done, we can ignore, but we must at least understand his function. The image must say, the USB bus drive is equivalent to paving a road, so that all the information can be reached through t
;_ U8 bulk_in_endpointaddr;_ U8 bulk_out_endpointaddr;Struct kref;};Here we need to explain some detailed USB protocol specifications. USB can automatically monitor the device and call the corresponding driver to process the device, so its specification is actually quite complicated. Fortunately, we don't have to worry about most of the details, because Linux has
of the USB driver framework in wince6.0, contains three roles.
3. the USB directory structure in wince6.0 has good support for USB. Let's take a look at what Microsoft has done. From the preceding directory structure, we can see that the USB
Generally, Intel has two EHCI and one xhci on the motherboard that supports USB 3.0 host controllers. This type of motherboard generally has 14 ports, and port 0-3 is shared by EHCI and xhci, that is, port 0-3 has four switches, and the control registers of these four switches are located in the xhci PCI (PCI-E) configuration space, the four switches on the PC are configured in the BIOS. Because many boards are not enabled by default, after you buy a
Invalid URB function.
Usbd_status_invalid_parameter
0x80000300
Invalid parameter.
Usbd_status_error_busy
0x80000400
The client driver caused an error by attempting to close a endpoint, interface, or configuration handle with outstanding Transfers.
Usbd_status_request_failed
0x80000500
The hub driver cannot complete a URB request.
U
.
Urb_async_unlinkIf it is set to bits, the call to usb_unlink_urb of the urb will be returned almost immediately, and the urb will be unbound later. otherwise, this function waits until urb is completely dechained and ends before returning. use this bit with caution because it may be difficult to debug synchronization issues.
Urb_no_fsbrOnly the uhci USB host controller
S3C2440 provides a USB slave interface. We can use it to simulate 2440 as a USB flash drive and access 2440 directly from the computer as a drive letter.
I. Kernel configurationUSB support
USB Peripheral Controller (S3C2410 USB device c
host (polling transport). There can be only one host for each USB bus. Each packet's transport has a status phase with the same (except for synchronous transfers), in which the data receiver can return an ACK (answer receive), NAK (retry), STALL (error condition) or nothing (chaotic data phase, the device is not available or has been disconnected).
• What is the work of the host controller
master controller driver (HCD) module. Based on the functions provided by the HCD module, the usbd module implements high-level usbd interface functions. USB device drivers use the usbd interface function to communicate with their peripheral devices.
During data transmission, the operation process is generally performed in the following order:
1. the
Recently, I made a functional driver for a USB device, analyzed its speed bottleneck, and found out the main reasons that affect the speed of the device. Because of the versatility of the USB device, the Code subject directly uses the sample code provided by DDK: bluckusb.1. USB dr
~1, first of all your mobile hard drive to support USB3.0. The words. Just look at the parameters of the hard drive below and you'll know.2, a support USB3.0 data cable. Now the new mobile hard drive standard will be included with one, the distinction method can be referred to in the 3rd Step (2).3, your computer needs to have the USB3.0 interface. How to differentiate the USB3.0 interface? There are actually 2 ways:(1) The simplest and most intuitive way is through the color of the
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.