Replies: 2 comments
-
|
You have a couple easy knobs to try. Not sure it's physically possible to get close to 12/8=1.5MB/s with a normal bulk transfer as opposed to ISOC, but you probably can bump it up. First, make sure you are using 4K sectors. The 512b FTL is more compatible, but there's a lot of indirection needed to make it work. Modern OSes should be able to handle 4K sectors with FAT. Next, you will want to increase the TinyUSB preallocated MSD buffer size. arduino-pico/include/tusb_config.h Line 82 in c5a1255 tools/libpico/makelibpico.sh or the CI action libpico builder in your own private fork of the repo.
You may also be able to use Beyond that, we really don't have much code in the repo proper in the USB MSD read/write path. Everything is through TinyUSB MSD callbacks, see https://github.com/earlephilhower/arduino-pico/blob/master/libraries/FatFSUSB/src/FatFSUSB.cpp |
Beta Was this translation helpful? Give feedback.
-
|
Thanks Earle for your prompt feedback! I tried to increase the I had more success when I switched to the TinyUSB stack and used the Adafruit TinyUSB "msc_sdfat" example. Transfer rates are now around 600 kbyte/sec See also: Test program: https://github.com/qqqlab/qqqlab-RP2040-Toolbox/tree/main/examples/TinyUSB_msc_sdfat |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I tried this FatFSUSB example to read/write the FAT partition of the Pico flash memory via USB.
It works fine, but I only get around 60 kbyte/sec read/write speeds.
AFAIK Pico uses the USB 1.1 12mbps interface, so theoretically 1500 kbyte/sec should be possible.
Is there a way to improve the speed?
FatFSUSB example:
https://github.com/earlephilhower/arduino-pico/blob/master/libraries/FatFSUSB/examples/Listfiles-USB/Listfiles-USB.ino
Example for a SDCARD connected to a Pico:
https://github.com/qqqlab/qqqlab-RP2040-Toolbox/tree/main/examples/SDCARD-as-USB-memory-stick
Beta Was this translation helpful? Give feedback.
All reactions