Hi,
I have done the following to increase the memory capacity of the VS1000 module from 16MB to 128MB, but have not been able to reproduce the functionality of the UART Controlled Player v0.8 (16MB).
1. I confirmed USB, UART, SD card functions and OGG file playback with the 16MB version first.
2. 16MB memory was removed from the module board and 128MB SpiFlash (W25Q01JVZEIQ Winbond) was installed.
3. wrote spiall.spi (program not changed) via UART from VSIDE Flasher/Prommer to reproduce firmware v0.8.
The message is.
"VS1000 SPI EEPROM Write Utility (uniprom1k24)
Supports EEPROMS with 24bit address (128 kilobytes to 16 megabytes)
Erasing blocks:
0000 0004 0008 000c
Programming eeprom.img. This does not erase old image.
This does not erase old image. 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e Done.
Reseting chip." .
4. USB recognized it as RAM_Disk, but it asked for formatting, so I initialized it with FAT32.
5. The contents of the OGG file written from USB can be confirmed.
6. When I connect only UART and turn on the power, only "v0.8-uart(\n)Winbond(\n)spi(\n)" is displayed and no OGG file name is displayed.
USB and SD cards can be recognized only when power is turned on.
8. Sound playback is not possible.
Is there anything else I should check as part of the procedure?
Regards,
inek
VS1000Module 128MB(1Gb) SpiFlash
Re: VS1000Module 128MB(1Gb) SpiFlash
When you see RAM_DISK, then something has gone wrong and there is no working firmware for the vs1000. It will also be a very small disk.
In version 0.80 the USB mass storage mode only uses 24-bit addressing (and 16-bit disk block address) and supports up to 16MB SPI FLASH. This is because the 64MB SPI FLASH we tested with didn't have 4kB sector erase and thus could not support USB mass storage to begin with. (There's NO4KBLOCKERASE define in system.h for this.)
If you want larger than 16MB, you need to use pcflash.exe to program the content and the firmware. It starts with a chip erase, so you need to program both. You need to prepare a FAT image, see the imggen from https://www.vlsi.fi/en/support/software ... tools.html and the instructions in the vs1000 audio module thread: viewtopic.php?t=461 .
The spiplayer uses the 4READ command if the block is outside of the 3-byte address range, so it will work with larger SPI FLASH.
Also check the size of the spiall.spi file and the size of the eeprom.img file (which is used by the VSIDE programmer). They should be the same.
I'll see if we can get our hands on those SPI FLASHes so the usbmass program can be adapted and tested.
In version 0.80 the USB mass storage mode only uses 24-bit addressing (and 16-bit disk block address) and supports up to 16MB SPI FLASH. This is because the 64MB SPI FLASH we tested with didn't have 4kB sector erase and thus could not support USB mass storage to begin with. (There's NO4KBLOCKERASE define in system.h for this.)
If you want larger than 16MB, you need to use pcflash.exe to program the content and the firmware. It starts with a chip erase, so you need to program both. You need to prepare a FAT image, see the imggen from https://www.vlsi.fi/en/support/software ... tools.html and the instructions in the vs1000 audio module thread: viewtopic.php?t=461 .
The spiplayer uses the 4READ command if the block is outside of the 3-byte address range, so it will work with larger SPI FLASH.
Also check the size of the spiall.spi file and the size of the eeprom.img file (which is used by the VSIDE programmer). They should be the same.
I'll see if we can get our hands on those SPI FLASHes so the usbmass program can be adapted and tested.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Re: VS1000Module 128MB(1Gb) SpiFlash
Hi,
Thank you for your response.
It seems that you have many different Flash writing methods, but I prefer the easy way.
This 1Gflash supports 3 byte address and 4kB sector erase (attached), so I implemented it.
Thanks,
inek
Thank you for your response.
It seems that you have many different Flash writing methods, but I prefer the easy way.
This 1Gflash supports 3 byte address and 4kB sector erase (attached), so I implemented it.
Thanks,
inek
- Attachments
-
- W25Q01JV SPIFlash.pdf
- (84.79 KiB) Downloaded 303 times
Re: VS1000Module 128MB(1Gb) SpiFlash
By "implemented it" do you mean you already fixed usbmass.c ? (Or did you just limit the size as a workaround?)
You need to change the block variables and parameters to u_int32 and add the 4READ and 4WRITE and 4ERASE commands like spiplayer.c does. Checking the block number and only doing the 32-bit address commands when needed keeps the code compatible with 24-bit SPI FLASH.
You need to change the block variables and parameters to u_int32 and add the 4READ and 4WRITE and 4ERASE commands like spiplayer.c does. Checking the block number and only doing the 32-bit address commands when needed keeps the code compatible with 24-bit SPI FLASH.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Re: VS1000Module 128MB(1Gb) SpiFlash
Hi,
Unfortunately, I do not understand how to read/write FLASH, so I have not made any changes to the program.
inek
Unfortunately, I do not understand how to read/write FLASH, so I have not made any changes to the program.
inek
Re: VS1000Module 128MB(1Gb) SpiFlash
Ok, updating the code is in my queue as soon as we get W25Q01JVZEIQ to test with.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Re: VS1000Module 128MB(1Gb) SpiFlash
Hi,Pasi
Thanks
inek
Thanks
inek
Re: VS1000Module 128MB(1Gb) SpiFlash
Hi,
I have today updated the VS1000 Audio Module firmware to support W25Q01JVZEIQ (128MB/1Gb).
The VSIDE solution for VS1000 Audio Module v0.82 can be found in: https://www.vlsi.fi/fileadmin/software/ ... -VSIDE.zip
I noticed that W25Q01JVZEIQ only has a 256-byte program buffer, so I also updated pcflash.exe . It assumed that larger than 16MB SPI FLASH would support 512-byte program buffer, but that doesn't seem to be the case. The W25Q01JVZEIQ is detected and size set in usbmass.c .
I have today updated the VS1000 Audio Module firmware to support W25Q01JVZEIQ (128MB/1Gb).
The VSIDE solution for VS1000 Audio Module v0.82 can be found in: https://www.vlsi.fi/fileadmin/software/ ... -VSIDE.zip
I noticed that W25Q01JVZEIQ only has a 256-byte program buffer, so I also updated pcflash.exe . It assumed that larger than 16MB SPI FLASH would support 512-byte program buffer, but that doesn't seem to be the case. The W25Q01JVZEIQ is detected and size set in usbmass.c .
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook