Page 1 of 1

Boot sequence

Posted: Tue 2019-03-12 16:47
by Arek

VS1010 during the start checks once what memory is connected to it.
As next it reports what found:
SPIF:c214, 2048K
SD:120 MiB

If for some reason there is a reading/writting/transfer error and the answer from the SPI is wrong, it reports
something like "No SPI 0000 ffff".
If there are any mp3 files on the second memory VS1010 start to play it.

It does not matter if "boot from SPI" is requested.

Is it possible to force the VS1010 to check of these memories more times, especially in "boot from SPI" mode?

Many thanks and best regards

Re: Boot sequence

Posted: Tue 2019-03-12 17:59
by Panu

Hmm, not as such, no. You can basically only control the voltage/speed and boot on/off.

I have never, ever, ever seen the SPI boot to fail on the VS1010. So I wonder why it happens in your system.Do you have pull-up in all the SPI0 pins? One possible thing that comes to mind if MISO0 is floating, then it may boot to 1.8 volts or 3.3 volts randomly and that might cause errors. Perhaps.

Do you have any other stuff connected to the SPI0?


Re: Boot sequence

Posted: Tue 2019-03-12 19:19
by Arek
Hi Panu,

you are right. In normal conditions of course.
My question resulted from the observation of my player during the so-called "surge test", simulated voltage breaks and so on.
Not typical working conditions for mp3 players :D.

Many thanks

Re: Boot sequence

Posted: Tue 2019-03-12 21:15
by Panu
oh, ok then. makes sense.

Hmm, you can plan for contingencies.. there are several boot mechanisms for the VS1010... you can add a VSPLAYER.DLX file to the SD card root, for example. Only the ROM player tries to run this file. And the ROM player only plays from the root of the SD card so you can place your music in a subdirectory.

Hardware fixes would also be possible.. You could put a NPN base to GPIO0.0/PWM and use the collector to pull down XRESET when the VS1010 powers up the SD card - your SPI boot record would hook SetPower to use a different pin for the SD card power so GPIO0.0 would remain low always after a succesful SPI boot. And you could of course add a professional watchdog/supervisor IC to xreset the VS1010 in abnormal conditions.