English
Language : 

VS1000 Datasheet, PDF (16/23 Pages) List of Unclassifed Manufacturers – Ogg Vorbis Player IC with USB and NAND FLASH Interface
VLSI
Solution y
VS1000b
VS1000
7. FIRMWARE OPERATION
7.2 NAND FLASH Probe
If NAND FLASH chip select (NFCE) is high, a NAND FLASH is assumed to be present and the first sector is
read. The access methods (nandTypes 0..5) are tried in order to find the “VLSI” identification. If the first bytes are
“VLSI”, a valid boot sector is assumed. This sector gives the necessary information about the NAND FLASH so
that it can be accessed in the right way.
Byte
0,1,2,3
4,5
6
7
8,9
10,11
12,13,14,15
16...511
Value
0x56 0x4c 0x53 0x49
0x00 0x03
0x08
0x13
0x00 0x46
0x00 0x01
0x42 0x6f 0x4f 0x74
Description
’V’ ’L’ ’S’ ’I’ – Identification
nandType (0x0003 = large-page with 3-byte block address)
blockSizeBits (28 ∗ 512 = 128 KiB per block)
flashSizeBits (219 ∗ 512 = 256 MiB flash)
nandWaitNs – NAND FLASH access time in ns
number of extra blocks for boot (example: 0x0001)
’B’ ’o’ ’O’ ’t’ – Optional boot ident
code
NandType
0
1
2
3
4
5
Description
512+16 B small-page flash with 2-byte block address (<= 32 MB)
2048+64 B large-page flash with 2-byte block address (<= 128 MB)
512+16 B small-page flash with 3-byte block address (> 32 MB <= 8 GB)
2048+64 B large-page flash with 3-byte block address (> 128 MB <= 32 GB)
512+16 B small-page flash with 4-byte block address (> 8 GB)
2048+64 B large-page flash with 4-byte block address (> 32 GB)
If bytes 12-15 contain “BoOt”, the value in bytes 10 and 11 determines how many sectors are read from NAND-
flash. Value 1 means two 512-byte sectors are read, value 0 means only the first block is needed. After the data
is read into memory, the boot records in this data are processed, transferring code and data sections into the right
places in memory and possibly executed. If an unknown boot record is encountered, the booting is stopped and
control returns to the firmware code.
Word
0
1
2
3..
Description
type 0x8000=I-mem 0x8001=X-mem 0x8002=Y-mem 0x8003=execute
data length in words -1 – 0 = 1 word, 1 = 2 words, etc.
address – record address
data
Note: In VS1000a you can not have Y-memory records.
Note: In VS1000b you need one filler word after each Y-memory record.
If NFCE is low during boot, or an uninitialized NAND FLASH is connected, the NAND FLASH type is set
to 0xffff, and a RAM disk is initialized when USB is attached. In this mode you can drop a boot file named
VS1000 B.RUN into the disk and it will be run when the USB is disconnected. This way you can easily program
a player that has an uninitialized NAND FLASH or SPI EEPROM.
7.3 UART Boot/Monitor
When byte 0xef is sent to RX at 115200 bps, the firmware enters monitor mode and communicates with vs3emu.
Memory contents can be displayed, executables can be loaded and run, or the firmware code can be restarted or
continued.
The UART is also a convenient way to program the NAND FLASH boot sector(s) or the SPI EEPROM.
Version 1.0, 2007-09-11
16