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
Copy file name to clipboardExpand all lines: rtos-docs/usbx/overview-usbx.md
+62-25
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: USBX is a high-performance USB host, device, and on-the-go (OTG) em
4
4
---
5
5
# Overview of USBX
6
6
7
-
USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack. USBX is fully integrated with ThreadX and available for all ThreadX–supported processors. Like ThreadX, USBX is designed to have a small footprint and high performance, making it ideal for deeply embedded applications that require an interface with USB devices.
7
+
USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack. USBX is fully integrated with ThreadX and available for all ThreadX–supported processors. Like ThreadX, USBX is designed to have a small footprint and high performance, making it ideal for deeply embedded applications that require an interface with USB devices. USBX can also run in standalone mode without an RTOS for some class.
8
8
9
9
## Host, Device, OTG & Extensive Class Support
10
10
@@ -31,11 +31,11 @@ USBX supports popular USB device controllers from Analog Devices, Atmel, Microch
31
31
32
32
### Extensive Host Class support
33
33
34
-
USBX Host provides support for most popular classes, including ASIX, AUDIO, CDC/ACM, CDC/ECM, GSER, HID (keyboard, mouse, and remote control), HUB, PIMA (PTP/MTP), PRINTER, PROLIFIC, and STORAGE.
34
+
USBX Host provides support for most popular classes, including ASIX, AUDIO (1.0/2.0), CDC/ACM, CDC/ECM, GSER, HID (keyboard, mouse, and remote control), HUB, PIMA (PTP/MTP), PRINTER, PROLIFIC, STORAGE and VIDEO.
35
35
36
36
### Extensive USB Device Class support
37
37
38
-
USBX Device provides support for most popular classes, including CDC/ACM, CDC/ECM, DFU, HID, PIMA (PTP/MTP) (w/MTP), RNDIS, and STORAGE. Support for custom classes is also available.
38
+
USBX Device provides support for most popular classes, including AUDIO (1.0/2.0), CDC/ACM, CDC/ECM, DFU, HID, PIMA (PTP/MTP) (w/MTP), RNDIS, STORAGE, PRINTER, CCID and VIDEO. Support for custom classes is also available.
39
39
40
40
### Pictbridge support
41
41
@@ -58,30 +58,35 @@ USBX Host and Device support custom classes. An example custom class is provided
58
58
59
59
### USBX Host API
60
60
61
-
The USBX Host API is an intuitive and consistent API, following a noun-verb naming convention. All APIs have leading ux_host_* to easily identify as USBX. Any blocking APIs have optional thread timeout.
61
+
The USBX Host API is an intuitive and consistent API, following a noun-verb naming convention. All APIs have leading ux_host_* to easily identify as USBX. Any blocking APIs have optional thread timeout. Please see [USBX Host User Guide](usbx-host-stack-about.md) for more details.
62
62
63
63
* ASIX
64
64
- Minimal 0.3 KB FLASH, 4 KB RAM
65
-
- Automatic scalingSystem-level trace via TraceX
65
+
- Automatic scaling
66
+
- System-level trace via TraceX
66
67
- Intuitive USBX host APIs in this form: *ux_host_class_asix_**
67
-
* AUDIO
68
+
* AUDIO (1.0/2.0)
68
69
- Minimal 1.2 KB FLASH, 4 KB RAM
69
70
- Automatic scaling
71
+
- System-level trace via TraceX
70
72
- Intuitive USBX host APIs in this form: *ux_host_class_audio_**
71
73
* CDC/ACM
72
74
- Minimal 1.4 KB FLASH, 4 KB RAM
73
75
- Automatic scaling
76
+
- Support of standalone mode
74
77
- System-level trace via TraceX
75
78
- Intuitive USBX host APIs in this form: *ux_host_class_cdc_acm_**
76
79
* HID
77
80
- Minimal 0.3 KB FLASH, 4 KB RAM
78
81
- Keyboard, mouse, and remote support
79
82
- Automatic scaling
83
+
- Support of standalone mode
80
84
- System-level trace via TraceX
81
85
- Intuitive USBX host APIs in this form: *ux_host_class_hid_**
82
86
* HUB
83
87
- Minimal 1.7 KB FLASH, 2 KB RAM
84
88
- Automatic scaling
89
+
- Support of standalone mode
85
90
- System-level trace via TraceX
86
91
- Intuitive USBX host APIs in this form: *ux_host_class_hub_**
87
92
* PIMA (PTP/MTP)
@@ -92,78 +97,110 @@ The USBX Host API is an intuitive and consistent API, following a noun-verb nami
92
97
* PRINTER
93
98
- Minimal 0.8 KB FLASH, 8 KB RAM
94
99
- Automatic scaling
95
-
- System-level trace via TraceX
96
-
- Intuitive USBX host APIs in this form: *ux_host_class_printer_**
100
+
- Support of standalone mode
101
+
- System-level trace via TraceX
102
+
- Intuitive USBX host APIs in this form: *ux_host_class_printer_**
97
103
* PROLIFIC
98
104
- Minimal 1.5 KB FLASH, 4 KB RAM
99
105
- Automatic scaling
100
106
- System-level trace via TraceX
101
107
- Intuitive USBX host APIs in this form: *ux_host_class_prolific_**
102
108
* STORAGE
103
109
- Minimal 5.6 KB FLASH, 4 KB RAM
104
-
- Automatic scaling<br> Integrated with FileX
110
+
- Automatic scaling
111
+
- Support of standalone mode
112
+
- Integrated with FileX
105
113
- System-level trace via TraceX
106
114
- Intuitive USBX host APIs in this form: *ux_host_class_storage_**
115
+
* VIDEO
116
+
- Minimal 0.8 KB FLASH, 8 KB RAM
117
+
- Automatic scaling
118
+
- System-level trace via TraceX
119
+
- Intuitive USBX host APIs in this form: *ux_host_class_video_**
107
120
* USB Host STACK
108
121
- Supports many host controllers
109
122
- Minimal 18 KB FLASH, 25 KB RAM
110
123
- Automatic scaling
111
124
- Support for multiple host controllers on same platform
112
-
-USB low, full, and high-speed support
113
-
-System-level trace via TraceX
114
-
-Intuitive USBX host APIs in this form: *ux_host_stack_**
125
+
- USB low, full, and high-speed support
126
+
- System-level trace via TraceX
127
+
- Intuitive USBX host APIs in this form: *ux_host_stack_**
115
128
* OHCI, EHCI, PROPRIETARY Host CONTROLLERS
116
129
117
130
### USBX Device API
118
131
119
-
The USBX Device API is an intuitive and consistent API following a noun-verb naming convention. All APIs have leading ux_device_* to easily identify as USBX. Blocking APIs have optional thread timeout. Please see [USBX Host User Guide](usbx-host-stack-about.md) for more details.
132
+
The USBX Device API is an intuitive and consistent API following a noun-verb naming convention. All APIs have leading ux_device_* to easily identify as USBX. Blocking APIs have optional thread timeout. Please see [USBX Device User Guide](usbx-device-stack-about.md) for more details.
120
133
134
+
* AUDIO (1.0/2.0)
135
+
- Minimal xx KB FLASH, x KB RAM
136
+
- Automatic scaling
137
+
- Support of standalone mode
138
+
- System-level trace via TraceX
139
+
- Intuitive USBX host APIs in this form: *ux_device_class_audio_**
121
140
* CDC/ACM
122
141
- Minimal 0.8 KB FLASH, 2 KB RAM
123
142
- Automatic scaling
143
+
- Support of standalone mode
124
144
- System-level trace via TraceX
125
-
- Intuitive USBX device APIs in this form: *ux_device_class_cdc_acm_**.
145
+
- Intuitive USBX device APIs in this form: *ux_device_class_cdc_acm_**
126
146
* CDC/ECM
127
147
- Minimal 1.5 KB FLASH, 4 KB to 8 KB RAM
128
148
- Automatic scaling
129
-
- System-level trace via TraceX<br> Intuitive USBX device APIs in this form: *ux_device_class_cdc_ecm_**.
149
+
- System-level trace via TraceX
150
+
- Intuitive USBX device APIs in this form: *ux_device_class_cdc_ecm_**
130
151
* DFU
131
152
- Minimal 1.1 KB FLASH, 2 KB RAM
132
-
- Automatic scaling
133
-
- System-level trace via TraceX
134
-
- Intuitive USBX device APIs in this form: *ux_device_class_dfu_**
135
-
* GSER
136
-
- Minimal 0.6 KB FLASH, 4 KB RAM
137
153
- Automatic scaling
154
+
- Support of standalone mode
138
155
- System-level trace via TraceX
139
-
- Intuitive USBX device APIs in this form: *ux_device_class_gser_**
156
+
- Intuitive USBX device APIs in this form: *ux_device_class_dfu_**
140
157
* HID
141
158
- Minimal 0.9 KB FLASH, 2 KB RAM
142
159
- Automatic scaling
160
+
- Support of standalone mode
143
161
- System-level trace via TraceX
144
162
- Intuitive USBX device APIs in this form: *ux_device_class_hid_**
145
-
PIMA (PTP/MTP)
163
+
*PIMA (PTP/MTP)
146
164
- Minimal 5.2 KB FLASH, 8 KB RAM
147
165
- Automatic scaling
148
166
- System-level trace via TraceX
149
167
- Intuitive USBX device APIs in this form: *ux_device_class_pima_**
150
168
* STORAGE
151
169
- Minimal 2.3 KB FLASH, 4 KB RAM
152
170
- Automatic scaling
171
+
- Support of standalone mode
153
172
- System-level trace via TraceX
154
173
- Intuitive USBX device APIs in this form: *ux_device_class_storage_**
155
174
* RNDIS
156
175
- Minimal 2.3 KB FLASH, 4 KB to 8 KB RAM
157
176
- Automatic scaling
158
177
- Integrated with NetX Duo
159
178
- System-level trace via TraceX
160
-
- Intuitive USBX device APIs in this form: *ux_device_class_rndls_**
179
+
- Intuitive USBX device APIs in this form: *ux_device_class_rndis_**
180
+
* PRINTER
181
+
- Minimal xx KB FLASH, x KB RAM
182
+
- Automatic scaling
183
+
- Support of standalone mode
184
+
- System-level trace via TraceX
185
+
- Intuitive USBX host APIs in this form: *ux_device_class_printer_**
186
+
* VIDEO
187
+
- Minimal xx KB FLASH, x KB RAM
188
+
- Automatic scaling
189
+
- Support of standalone mode
190
+
- System-level trace via TraceX
191
+
- Intuitive USBX host APIs in this form: *ux_device_class_video_**
192
+
* CCID
193
+
- Minimal xx KB FLASH, x KB RAM
194
+
- Automatic scaling
195
+
- Support of standalone mode
196
+
- System-level trace via TraceX
197
+
- Intuitive USBX host APIs in this form: *ux_device_class_ccid_**
161
198
* USBX Device STACK
162
199
- Minimal 2.3 KB FLASH, 4 KB RAM
163
200
- Automatic scaling
164
201
- System-level trace via TraceX
165
-
- Intuitive USBX device APIs in this form: *ux_device_class_storage_**
166
-
* PROPRIETARY Host CONTROLLERS
202
+
- Intuitive USBX device APIs in this form: *ux_device_stack_**
0 commit comments