esp-idf/examples/peripherals/usb/host/msc
Darian Leung 7f09fe1b23 usb: USB Host stack uses USB PHY driver
This commit updates the USB Host stack to use the USB PHY driver. The
USB PHY and the OTG Controller should now both be setup/deleted using
usb_new_phy() and usb_del_phy() respectively.

- The hcd_install() now expects the USB PHY and OTG Contorller to be
    already setup before it is called
- usb_host_install() now has an option to skip calling usb_del_phy() if
    the user wants to setup their own USB PHY (e.g., in the case of using
    and external PHY).
- CDC-ACM and MSC examples/test updated to use internal PHY

Closes https://github.com/espressif/esp-idf/issues/8061
2022-02-18 15:51:05 +08:00
..
components/msc usb: USB Host stack uses USB PHY driver 2022-02-18 15:51:05 +08:00
main usb: USB Host stack uses USB PHY driver 2022-02-18 15:51:05 +08:00
CMakeLists.txt USB: added MSC Host Driver with VFS support 2021-12-23 18:30:24 +01:00
README.md USB: added MSC Host Driver with VFS support 2021-12-23 18:30:24 +01:00

Supported Targets ESP32-S2 ESP32-S3

USB Mass Storage Class example

Overview

This example demonstrates usage of Mass Storage Class to get access to storage on USB memory stick. Example caries out read and write file operations, as USB storage is mounted to Virtual filesystem.

Hardware Required

  • Development board with USB capable ESP SoC (ESP32-S2/ESP32-S3)
  • A USB cable for Power supply and programming
  • A USB memory stick

Common Pin Assignments

If your board doesn't have a USB A connector connected to the dedicated GPIOs, you may have to DIY a cable and connect D+ and D- to the pins listed below.

ESP BOARD    USB CONNECTOR (type A)
                   --
                  | || VCC
[GPIO19]  ------> | || D-
[GPIO20]  ------> | || D+
                  | || GND
                   --

Build and Flash

Build the project and flash it to the board, then run monitor tool to view serial output:

idf.py -p PORT flash monitor

(To exit the serial monitor, type Ctrl-].)

See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.

Example Output

...
I (274) cpu_start: Starting scheduler on PRO CPU.
I (339) APP: Waiting for USB stick to be connected
Device info:
         PID: 0x5678 
         VID: 0xFFFF 
         iProduct: Disk 2.0 
         iManufacturer: USB 
         iSerialNumber: 92072836B2589224378 
I (719) APP: Writing file
I (749) APP: Reading file
I (749) APP: Read from file: 'Hello World!'
I (759) APP: Done