You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to activate USBX, the function ***ux_system_initialize*** must be called. This function initializes the memory resources of USBX.
29
27
30
28
In order to activate USBX device facilities, the function ***ux_device_stack_initialize*** must be called. This function will in turn initialize all the resources used by the USBX device stack such as ThreadX threads, mutexes, and semaphores.
31
29
32
30
It is up to the application initialization to activate the USB device controller and one or more USB classes. Contrary to the USB host side, the device side can have only one USB controller driver running at any time. When the classes have been registered to the stack and the device controller(s) initialization function has been called, the bus is active and the stack will reply to bus reset and host enumeration commands.
33
31
34
-
### Application Interface Calls
32
+
##application_interface_calls
35
33
36
34
There are two levels of APIs in USBX.
37
35
@@ -40,30 +38,30 @@ There are two levels of APIs in USBX.
40
38
41
39
Normally, a USBX application should not have to call any of the USB device stack APIs. Most applications will only access the USB Class APIs.
42
40
43
-
### USB Device Classes
41
+
##usb_device_classes
44
42
45
43
The Class APIs are very specific to each USB class. Most of the common APIs for USB classes provided services such as opening/closing a device and reading from or writing to a device.
46
44
47
-
####Storage Class
45
+
### Storage Class
48
46
49
47
The storage class is in charge of answering storage class specific control requests and handling storage class protocol commands. Refer to USB Device Storage Class in Chapter 5 for more information.
50
48
51
-
####CDC Class
49
+
### CDC Class
52
50
53
51
The CDC class is in charge of answering CDC class specific control requests and offering ways to communicate with host through data pipes. Following functionalities are supported now:
54
52
* CDC-ACM: communicate with host as a serial device
55
53
* CDC-ECM: communicate with host as an ethernet device
56
54
Refer to USB Device CDC-ACM Class and USB Device CDC-ECM Class in Chapter 5 for more information.
57
55
58
-
####HID Class
56
+
### HID Class
59
57
60
58
The HID class is in charge of answering the HID class specific control requests and offering ways to communicate host with HID class specific reports. Refer to USB Device HID Class in Chapter 5 for more information.
61
59
62
-
####Custom Class
60
+
### Custom Class
63
61
64
62
For advanced developers, it's possible to create more customized class, to answering customized control requests and handling customized protocol on data pipes. Note such class may also require specific customization on host side, too.
65
63
66
-
## USB Device Stack
64
+
## usb_device_stack
67
65
The device stack APIs are responsible for the registration of USBX device components such as classes and the device framework.
68
66
69
67
### Device Framework
@@ -163,7 +161,7 @@ To support additional languages, simply add the language code double-byte defini
163
161
164
162
*Developing International Software for Windows 95 and Windows NT, Nadine Kano, Eclipse Foundation Press, Redmond WA*
165
163
166
-
## Device controller
164
+
## usb_device_controller
167
165
168
166
The device controller driver (DCD) interoperates USB Device Stack operations to hardware actions. Normally, a USBX application should not have to call device controller APIs, except initialization function. When the device controller initialization function is called, the bus is active and the stack will reply to bus reset and host enumeration commands through device controller driver.
169
167
@@ -174,7 +172,7 @@ Here are some possible hardware which USB Device Stack can operate on:
174
172
* Reneses chip with USB device controller
175
173
* Other chip with USB device controller, etc.
176
174
177
-
## VBUS Manager
175
+
## vbus_manager
178
176
179
177
In most USB device designs, VBUS is not part of the USB Device core but rather connected to an external GPIO, which monitors the line signal.
0 commit comments