43.7. USB MSC U Disk
43.7.1. Overview
This example project shows access to a U disk (Attention: The Cluster Size of the USB disk can’t exceed 32KB, it is recommended that the format parameter is FAT32/32KB).
A usb host from MCU reads out all of folders and files in the root path of a U disk, and the test result of writing a test file will be output.
43.7.2. Board Setting
Connect a USB port on PC to the PWR DEBUG port on the development board with a USB Type-C cable
Connect a U disk to one of USB port on the development board with a USB Type-C to USB-A cable
43.7.3. Software Setting
In the CMakeLists.txt file, if sdk_compile_definitions(-DFATFS_ONLY_NONCACHEABLE_BUF=1) is commented, FATFS supports data transfer by using cacheable buffer. If sdk_compile_definitions(-DFATFS_ONLY_NONCACHEABLE_BUF=1) is uncommented, FATFS only supports data transfer by using noncacheable buffer.
When sdk_compile_definitions(-DFATFS_ONLY_NONCACHEABLE_BUF=1) is commented, it is recommended to align cache line size for the buffer address, otherwise it will affect transmission performance.
43.7.4. Project Configuration
File CMakeLists.txt:
When BOARD_TUH_RHPORT is defined as 0, it means to use USB0.
When BOARD_TUH_RHPORT is defined as 1, it means to use USB1.
The property of USB host can be configured by “tusb_config.h” or “CMakeListx.txt”
43.7.5. Running the example
When the project runs correctly
View the U disk information and the result of writing a test file