The USB stack provides USB device and USB host APIs that are targeted to support the application based on NXP's micro-controller.
This project is under BSD-3-Clause license, license copy please check COPYING_BSD-3.
The middleware USB folder contains six subfolders totally.
This subfolder includes the device controller driver and common device driver for the USB device. The device controller driver includes KHCI, EHCI, IP3511(FS/HS).
Note that the device class driver and the USB framework (chapter 9) to handle the standard enumeration and request defined by USB specification 2.0 are moved to the application layer, which are located in the folder examples/${boards}/usb_examples/. The aim is to implement two types of USB device examples (lite and non-lite). In this case, the lite version device examples have no device class driver and class-specific codes are processed in application directly so that lite version has less footprint.
This subfolder includes the host controller driver, USB host class driver and common host driver for the USB host. The host controller driver includes KHCI, EHCI, IP3516(FS/HS).
This subfolder includes the definitions and structures for the USB stack. The miscellaneous content is also here.
This subfolder includes the files that are specially used by the New Project Wizard(NPW) of MCUXpresso IDE.
This subfolder includes the USB PHY driver. The USB PHY driver is only used for USB high speed port of some Socs that expose the PHY interface.
This subfolder includes the files that are specially used by the device charger detect.
Note that only usb_device_hid_mouse demo and usb_host_hid_mouse demo supported device charger detect.
- AUDIO
- CCID
- CDC
- DFU
- HID
- MSC
- MTP
- PHDC
- PTINTER
- VIDEO
The following USB examples are provided to meet different requirements. USB examples are located in examples/${boards}/usb_examples/ folder. Different board may have different set of USB examples.
- usb_device_audio_generator
- usb_device_audio_speaker
- usb_device_cdc_vcom
- usb_device_cdc_vnic
- usb_device_composite_audio_multi_ch_unified
- usb_device_composite_cdc_audio_unified
- usb_device_composite_cdc_hid_audio_unified
- usb_device_composite_cdc_msc
- usb_device_composite_cdc_msc_disk
- usb_device_composite_cdc_vcom_cdc_vcom
- usb_device_composite_hid_audio
- usb_device_composite_hid_audio_unified
- usb_device_composite_hid_mouse_hid_keyboard
- usb_device_dfu
- usb_device_hid_generic
- usb_device_hid_mouse
- usb_device_msc_disk
- usb_device_msc_ramdisk
- usb_device_mtp
- usb_device_phdc_weighscale
- usb_device_printer_virtual_plain_text
- usb_device_video_virtual_camera
- usb_host_audio_recorder
- usb_host_audio_speaker
- usb_host_cdc
- usb_host_hid_generic
- usb_host_hid_mouse
- usb_host_hid_mouse_dual
- usb_host_hid_mouse_keyboard
- usb_host_msd_command
- usb_host_msd_fatfs
- usb_host_phdc_manager
- usb_host_printer_plain_text
- usb_host_video_camera
- usb_keyboard2mouse
- usb_lpm_device_hid_mouse
- usb_lpm_host_hid_mouse
- usb_otg_hid_mouse
- usb_pin_detect_hid_mouse
- usb_pin_detect_hid_msd
- usb_suspend_resume_device_hid_mouse
- usb_suspend_resume_host_hid_mouse
Some documents are provided to introduce more details of the USB stack or guide users to implement some new requirements.
- MCUXpresso SDK USB Stack User's Guide.pdf
- MCUXpresso SDK USB Stack Device Reference Manual.pdf
- MCUXpresso SDK USB Stack Host Reference Manual.pdf
- Enable More USB Examples on M4 Core for RT1170.pdf
- MCUXpresso SDK USB Stack Composite Device User's Guide.pdf
- MCUXpresso SDK USB Stack Composite Host User's Guide.pdf