Skip to content

Commit 669e892

Browse files
committed
Update overview-usbx.md
1 parent f238cbb commit 669e892

File tree

1 file changed

+63
-25
lines changed

1 file changed

+63
-25
lines changed

rtos-docs/usbx/overview-usbx.md

Lines changed: 63 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: USBX is a high-performance USB host, device, and on-the-go (OTG) em
44
---
55
# Overview of USBX
66

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.
88

99
## Host, Device, OTG & Extensive Class Support
1010

@@ -31,11 +31,11 @@ USBX supports popular USB device controllers from Analog Devices, Atmel, Microch
3131

3232
### Extensive Host Class support
3333

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.
3535

3636
### Extensive USB Device Class support
3737

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.
3939

4040
### Pictbridge support
4141

@@ -58,30 +58,35 @@ USBX Host and Device support custom classes. An example custom class is provided
5858

5959
### USBX Host API
6060

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.
6262

6363
* ASIX
6464
- Minimal 0.3 KB FLASH, 4 KB RAM
65-
- Automatic scalingSystem-level trace via TraceX
65+
- Automatic scaling
66+
- System-level trace via TraceX
6667
- Intuitive USBX host APIs in this form: *ux_host_class_asix_**
67-
* AUDIO
68+
* AUDIO (1.0/2.0)
6869
- Minimal 1.2 KB FLASH, 4 KB RAM
6970
- Automatic scaling
71+
- System-level trace via TraceX
7072
- Intuitive USBX host APIs in this form: *ux_host_class_audio_**
7173
* CDC/ACM
7274
- Minimal 1.4 KB FLASH, 4 KB RAM
7375
- Automatic scaling
76+
- Support of standalone mode
7477
- System-level trace via TraceX
7578
- Intuitive USBX host APIs in this form: *ux_host_class_cdc_acm_**
7679
* HID
7780
- Minimal 0.3 KB FLASH, 4 KB RAM
7881
- Keyboard, mouse, and remote support
7982
- Automatic scaling
83+
- Support of standalone mode
8084
- System-level trace via TraceX
8185
- Intuitive USBX host APIs in this form: *ux_host_class_hid_**
8286
* HUB
8387
- Minimal 1.7 KB FLASH, 2 KB RAM
8488
- Automatic scaling
89+
- Support of standalone mode
8590
- System-level trace via TraceX
8691
- Intuitive USBX host APIs in this form: *ux_host_class_hub_**
8792
* PIMA (PTP/MTP)
@@ -92,78 +97,111 @@ The USBX Host API is an intuitive and consistent API, following a noun-verb nami
9297
* PRINTER
9398
- Minimal 0.8 KB FLASH, 8 KB RAM
9499
- 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_**
97103
* PROLIFIC
98104
- Minimal 1.5 KB FLASH, 4 KB RAM
99105
- Automatic scaling
100106
- System-level trace via TraceX
101107
- Intuitive USBX host APIs in this form: *ux_host_class_prolific_**
102108
* STORAGE
103109
- 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
105113
- System-level trace via TraceX
106114
- 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_**
107120
* USB Host STACK
108121
- Supports many host controllers
109122
- Minimal 18 KB FLASH, 25 KB RAM
110123
- Automatic scaling
111124
- 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_**
115128
* OHCI, EHCI, PROPRIETARY Host CONTROLLERS
116129

117130
### USBX Device API
118131

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.
120133

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_**
121140
* CDC/ACM
122141
- Minimal 0.8 KB FLASH, 2 KB RAM
123142
- Automatic scaling
143+
- Support of standalone mode
124144
- 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_**
126146
* CDC/ECM
127147
- Minimal 1.5 KB FLASH, 4 KB to 8 KB RAM
128148
- 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:
151+
*ux_device_class_cdc_ecm_**
130152
* DFU
131153
- 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
137154
- Automatic scaling
155+
- Support of standalone mode
138156
- System-level trace via TraceX
139-
- Intuitive USBX device APIs in this form: *ux_device_class_gser_**
157+
- Intuitive USBX device APIs in this form: *ux_device_class_dfu_**
140158
* HID
141159
- Minimal 0.9 KB FLASH, 2 KB RAM
142160
- Automatic scaling
161+
- Support of standalone mode
143162
- System-level trace via TraceX
144163
- Intuitive USBX device APIs in this form: *ux_device_class_hid_**
145-
PIMA (PTP/MTP)
164+
* PIMA (PTP/MTP)
146165
- Minimal 5.2 KB FLASH, 8 KB RAM
147166
- Automatic scaling
148167
- System-level trace via TraceX
149168
- Intuitive USBX device APIs in this form: *ux_device_class_pima_**
150169
* STORAGE
151170
- Minimal 2.3 KB FLASH, 4 KB RAM
152171
- Automatic scaling
172+
- Support of standalone mode
153173
- System-level trace via TraceX
154174
- Intuitive USBX device APIs in this form: *ux_device_class_storage_**
155175
* RNDIS
156176
- Minimal 2.3 KB FLASH, 4 KB to 8 KB RAM
157177
- Automatic scaling
158178
- Integrated with NetX Duo
159179
- System-level trace via TraceX
160-
- Intuitive USBX device APIs in this form: *ux_device_class_rndls_**
180+
- Intuitive USBX device APIs in this form: *ux_device_class_rndis_**
181+
* PRINTER
182+
- Minimal xx KB FLASH, x KB RAM
183+
- Automatic scaling
184+
- Support of standalone mode
185+
- System-level trace via TraceX
186+
- Intuitive USBX host APIs in this form: *ux_device_class_printer_**
187+
* VIDEO
188+
- Minimal xx KB FLASH, x KB RAM
189+
- Automatic scaling
190+
- Support of standalone mode
191+
- System-level trace via TraceX
192+
- Intuitive USBX host APIs in this form: *ux_device_class_video_**
193+
* CCID
194+
- Minimal xx KB FLASH, x KB RAM
195+
- Automatic scaling
196+
- Support of standalone mode
197+
- System-level trace via TraceX
198+
- Intuitive USBX host APIs in this form: *ux_device_class_ccid_**
161199
* USBX Device STACK
162200
- Minimal 2.3 KB FLASH, 4 KB RAM
163201
- Automatic scaling
164202
- System-level trace via TraceX
165-
- Intuitive USBX device APIs in this form: *ux_device_class_storage_**
166-
* PROPRIETARY Host CONTROLLERS
203+
- Intuitive USBX device APIs in this form: *ux_device_stack_**
204+
* PROPRIETARY Device CONTROLLERS
167205

168206
## Next steps
169207

0 commit comments

Comments
 (0)