PKP
VS1000 P
ROGRAMMER
’
S
G
UIDE
VSMPG
9.3
Using the VS1000 Demostration/Developer Board as a nand flash writer
Because it would be troublesome to remove a nand flash chip that is soldered to a PCB
for programming, the VS1000 contains a number of ways to update the flash contents.
The nand flash contents can be updated by
•
programming the nand flash off-pcb using a prommer
•
running a flasher program via the vs3emu emulator interface (requires RS-232)
•
running a flasher program via an SPI EEPROM
•
running a flasher program via the VS1000 USB mass storage backdoor
The last option is most convenient for players that don’t have RS-232 port, such as the
VS1000 Demonstration Board. When the VS1000 is switched to USB Mass Storage
mode by attaching the USB cable when GPIO0[6] is low, it creates a logical drive that is
presented to the USB host as a removable disk.
A special thing happens when the ROM software can’t detect a nand flash chip (by
reading the VLSI boot ID as explained earlier). In that case, the software creates a RAM
disk of a few kilobytes. This can be detected by the disk being empty and having a size of
only about 16 kilobytes. (The RAM disk also has the identifier signature “
VLSIFATDISK
”
but that is normally not shown by Windows.)
This feature can be used for initial programming of the nand flash since at the first boot-
up of a new VS1000 device with an empty nand flash, the VLSI ID is not yet programmed
into the nand flash and thus the RAM disk appears. Later on, when the nand flash is
programmed and its contents need to be updated, the nand flash detection can be
prevented by pulling CS1 low when powering up the VS1000. In the Demonstration
Board this can be done by shorting TP2 and CS1 pads on the Developer Board PCB.
When connected to the PC, the RAM disk appears and the short should be removed.
The user can now copy files to the RAM disk using Windows/Unix etc.
A special file named
VS1000_B.RUN
can now be copied to the RAM disk. When the
USB cable is removed,
without turning off power
, the VS1000B loads and runs a boot
record from that file.
For updating the flash contents,
VS1000_B.RUN
should contain a flasher program, that
reads another file named
NANDFLSH.IMG
from the RAM disk and writes its contents to
the beginning of the nand flash. When the VS1000 boots up the next time, with CS1
pulled high, it uses and boots up from the nand flash with the updated software.
The software tools package for VS1000 contains the above VS1000_B.RUN file. Its
source code is shown on the next page as an example of more complicated (and pow-
erful) VS1000 programming that uses the integrated ROM code library.
Rev. 0.20
2011-10-04
Page