USB: added MSC Host Driver with VFS support

Closes https://github.com/espressif/esp-idf/issues/6401
This commit is contained in:
Martin Valik
2021-07-19 16:58:08 +02:00
parent a65eff3b88
commit 73dce765d5
27 changed files with 2703 additions and 6 deletions

View File

@@ -2822,6 +2822,7 @@ examples/peripherals/uart/uart_echo_rs485/main/rs485_example.c
examples/peripherals/uart/uart_events/main/uart_events_example_main.c
examples/peripherals/uart/uart_repl/main/uart_repl_example_main.c
examples/peripherals/uart/uart_select/main/uart_select_example_main.c
examples/peripherals/usb/host/msc/components/msc/test/msc_device.c
examples/peripherals/usb/tusb_console/main/tusb_console_main.c
examples/peripherals/usb/tusb_sample_descriptor/main/tusb_sample_descriptor_main.c
examples/peripherals/usb/tusb_serial_device/main/tusb_serial_device_main.c

View File

@@ -2,9 +2,10 @@
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/peripherals/usb/host/cdc/common)
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/peripherals/usb/host/cdc/common
$ENV{IDF_PATH}/examples/peripherals/usb/host/msc/components/)
# Set the components to include the tests for.
set(TEST_COMPONENTS "cdc_acm_host" CACHE STRING "List of components to test")
set(TEST_COMPONENTS "cdc_acm_host" "msc" CACHE STRING "List of components to test")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(usb_test_app)

View File

@@ -1,14 +1,26 @@
| Supported Targets | ESP32-S2 | ESP32-S3 |
| ----------------- | -------- | -------- |
# USB Host CDC-ACM driver test project
# USB Host Class driver test project
Main purpose of this application is to test the USB Host Class drivers.
## CDC-ACM driver
Main purpose of this application is to test the USB Host CDC-ACM driver.
It tests basic functionality of the driver like open/close/read/write operations,
advanced features like CDC control request, multi-threaded or multi-device access,
as well as reaction to sudden disconnection and other error states.
## Hardware Required
### Hardware Required
This test expects that TinyUSB dual CDC device with VID = 0x303A and PID = 0x4002
is connected to the USB host.
## MSC driver
Basic functionality such as MSC device install/uninstall, file operatons,
raw access to MSC device and sudden disconnect is tested.
### Hardware Required
This test requires two ESP32-S2/S3 boards with a interconnected USB perpherals,
one acting as host running MSC host driver and another MSC device driver (tinyusb).

View File

@@ -11,6 +11,6 @@
void app_main(void)
{
UNITY_BEGIN();
unity_run_all_tests();
unity_run_menu();
UNITY_END();
}

View File

@@ -0,0 +1,4 @@
CONFIG_TINYUSB=y
CONFIG_TINYUSB_MSC_ENABLED=y
CONFIG_ESP_INT_WDT=n
CONFIG_ESP_TASK_WDT=n