Page 1 of 1

VS1010 USB Flash Support

Posted: Thu 2018-09-06 15:44
by Panu
Dear Forum Members,

Here is an experimental driver that supports reading (playing music) from USB flash memories connected to VS1010c.

The driver is in two parts. The main part, USBHRD.DLX is the USB Host Read Only Driver. That occupies only 356 words of instruction memory and provides only the functions to do block reads from the USB flash. It calls another program, USBPROBE.DLX, which is slightly larger, to probe the USB bus, enumerate the connected USB flash and build a device driver as disk U: in VSOS.

The driver is completely rewritten from scratch, and at time of writing this, only a couple of different USB flash sticks are tested. More will follow. Many flashes require some kind of hand-holding, so there's going to be updates that add support for more USB flash sticks, but for now, please test and report your findings.

The driver is invoked by command USBHRD which must only be given once, and a flash stick MUST be connected to the USB host port (developer boards need DP/DN adapter from VLSI). The USB flash memory will become drive U: and can be used normally with VSOS (only not written to).


For the previous thread about USB host support, please see viewtopic.php?f=15&t=2280&p=12118#p12118

Re: VS1010 USB Flash Support

Posted: Thu 2019-08-22 12:09
by Aleksi

Here is an updated version of this driver (for VS1010D) which should be much more stable and work with most of the sticks. Still, there might be some sticks that are not working yet and we would like to hear about your findings.

Something to notice. This version is made to work with player called 'Treeplayer' and that means drive U created will not be shown in devices if driver is not running. If you want to keep drive U in memory (visible in devices) and driver running, you have to edit fini function in usbhrd.c. Instructions to that are commented in fini funtion. You can find more information about Treeplayer from this thread: viewtopic.php?f=15&t=2430

Binaries as well as solution files for furter developement are provided below.

I hope this is helpful for you. Feedback and questions are welcome!

Kind regards,

VLSI Solution's trainee

Re: VS1010 USB Flash Support

Posted: Thu 2020-11-26 13:32
by regh
How experimental is the USB flash support now? I appreciate that you won't be able to test all USB sticks out there but how confident are you with customers using this driver if they use supported devices?
I've tried it with a few USB sticks I've got lying around and it seems to work well.

Re: VS1010 USB Flash Support

Posted: Fri 2020-11-27 9:00
by Panu

Well, at least it's much better than some other embedded products that I've seen. When that driver was written, we bought 1 piece of every USB memory stick we could find at local computer stores, so I have a bag of about 30 or so sticks that we've tested it with.

The most problems are not in the USB flash memory support itself, rather in the logic where player applications switch from playing from USB memory to playing from SD card to connecting to PC USB for uploading music to SD card, e.g. detecting the card or PC. And when there are problems in the USB flash, they're usually because of power stability problems.