Skip to content

Commit bc3571f

Browse files
authored
Merge pull request #43 from ayedm1/update_usbx_overview
Update overview-usbx.md
2 parents f238cbb + eef25b1 commit bc3571f

File tree

1 file changed

+62
-25
lines changed

1 file changed

+62
-25
lines changed

rtos-docs/usbx/overview-usbx.md

+62-25
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,110 @@ 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: *ux_device_class_cdc_ecm_**
130151
* DFU
131152
- 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
137153
- Automatic scaling
154+
- Support of standalone mode
138155
- 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_**
140157
* HID
141158
- Minimal 0.9 KB FLASH, 2 KB RAM
142159
- Automatic scaling
160+
- Support of standalone mode
143161
- System-level trace via TraceX
144162
- Intuitive USBX device APIs in this form: *ux_device_class_hid_**
145-
PIMA (PTP/MTP)
163+
* PIMA (PTP/MTP)
146164
- Minimal 5.2 KB FLASH, 8 KB RAM
147165
- Automatic scaling
148166
- System-level trace via TraceX
149167
- Intuitive USBX device APIs in this form: *ux_device_class_pima_**
150168
* STORAGE
151169
- Minimal 2.3 KB FLASH, 4 KB RAM
152170
- Automatic scaling
171+
- Support of standalone mode
153172
- System-level trace via TraceX
154173
- Intuitive USBX device APIs in this form: *ux_device_class_storage_**
155174
* RNDIS
156175
- Minimal 2.3 KB FLASH, 4 KB to 8 KB RAM
157176
- Automatic scaling
158177
- Integrated with NetX Duo
159178
- 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_**
161198
* USBX Device STACK
162199
- Minimal 2.3 KB FLASH, 4 KB RAM
163200
- Automatic scaling
164201
- 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_**
203+
* PROPRIETARY Device CONTROLLERS
167204

168205
## Next steps
169206

0 commit comments

Comments
 (0)