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
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
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
;_ 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
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
.
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
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
1. Linux USB Architecture
USB communication is initiated by the host. The USB device driver allocates and initializes an urb and sends it to the USB core. The USB core is changed and sent to the
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
In the first half of this year, I transplanted a Linux driver to a common vimicro camera on the market to an Embedded Development Board. The development environment is:
OS: linux2.6.9
Compile: Cross 3.3.2
CPU: Intel PXA270
Camera type: vimicro zc301p + hv7131r
The driver source code used is based on the free software spca5xx. Some minor changes were made based on the source code. Record it.
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
The Linux USB Gadget device driver can be used to implement some interesting functions. For example, 1. A storage device in an embedded product or a partition of a storage device, it can be used as a USB flash disk by PC. It can easily complete file interaction. This function is widely used in mobile phones, digital cameras, and other products. 2. After an embedd
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
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.