Flashing a new or bricked VS1005G board

Discussion about writing software for VS1005 and the VSOS Operating System. Also posts about VS1005-related hardware design and device drivers should be posted here.
User avatar
Panu
VLSI Staff
Posts: 2523
Joined: Tue 2010-06-22 13:43

Re: Flashing a new or bricked VS1005G board

Post by Panu » Tue 2018-03-13 12:29

That's great! What was the trick?

Did you do something differently first? What made it work?

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

technic
Senior User
Posts: 47
Joined: Mon 2017-11-20 10:23

Re: Flashing a new or bricked VS1005G board

Post by technic » Tue 2018-03-13 13:20

There is my answer:
viewtopic.php?f=13&t=2134&p=11841#p11839

Thank you for help!

treverwagenhals
Senior User
Posts: 20
Joined: Thu 2018-03-01 15:45

Re: Flashing a new or bricked VS1005G board

Post by treverwagenhals » Sat 2018-04-14 17:04

Good day all,

I'm trying to add an external SPI flash to my breakout board to verify the functionality before fabrication.

This is the SPI flash I am testing:

https://websites.godaddy.com/blob/d0f18 ... 164754.pdf

There are 6 pins on it that I see I need to connect: SI, SO, SCLK, CS, VCC and VSS. The flash requires 2.7-3.6 volts, so I tried using IOVDD to drive it (I hope this is okay). I then tried hooking up:

SI - MOSI0
SO - MISO0
CS - XCS0
SCLK - SCLK0

and

SI - MOSI1
SO - MISO1
CS - XCS1
SCLK - SCLK1

for both tests, I got the same error that seems to show that it is not detecting the SPI flash:

Code: Select all

Starting VS1005g external SPI Flash prommer v2016-08-19...
  Default SPI speed 0.5 Mbit/s
  Serial Flash RDID: manufacturer  0, type  0, density  0
    Warning: Can't find RDID
  Serial Flash REMS:    0
    Warning: Can't find REMS

Opened map file "eeprom_e.map"
  Set SPI speed to 10.0 Mbit/s
  Programming file "eeprom_e.img" (0x009a4d bytes) to addr 0x000000 (0)
    Erasing: ..........
    VERIFY ERROR block 0 (addr 0 - 255)!
    ABORTING!
FATAL ERROR, ABORTING!
Finished in 0.46 seconds. Press Close/Cancel on VSIDE
For promming purposes, I just downloaded the 3.55 ext software available, launched vside, opened the solution, built it, connected my breakout board after running it, then went to prommer and tried to flash it. I did not make any changes to the code (I assumed that it was default hooked up to one of the two SPI busses and no modifications would be needed)

So, is the SPI flash I bought compatible with the chipset?
Is using IOVDD for the voltage source okay?
Is there some kind of code modification that I need to do (I saw in some other threads that GPIO1-15 was used as CS, but I don't know if that same situation should apply here)

Thanks!

Hannu
Senior User
Posts: 32
Joined: Mon 2016-05-30 11:54

Re: Flashing a new or bricked VS1005G board

Post by Hannu » Mon 2018-04-16 8:14

Hello!

Your chip looks good with a quick look.

You may want to pull up #CS #hold and #WP with something like 10-100k resistor.

#CS for ext flash boot
#hold for generally getting the data through
#WP No write protection please.

The rest of your connections are correct and IOVDD is good power source for the flash.
Just for a reminder the GPIO0_7 has 100k pull-up resistor on break-out board. If external circuitry pulls it down during boot, you get 1.8V logic levels.

If the #WP and #hold pull-up doesn't help, my next guess is bad connection. You should see the RDID and REMS at least.

Do you have some other devices on the SPI bus?

And please read example schematics and firmware operation chapters from datasheet. They give short check list for getting design your design right.

treverwagenhals
Senior User
Posts: 20
Joined: Thu 2018-03-01 15:45

Re: Flashing a new or bricked VS1005G board

Post by treverwagenhals » Sun 2018-04-22 20:41

Thanks for the assistance Hannu!

With your instructions I'm now able to get the prommer to flash from what I can see:

Code: Select all

Starting VS1005g external SPI Flash prommer v2016-08-19...
  Default SPI speed 0.5 Mbit/s
  Serial Flash RDID: manufacturer  e, type 40, density 15
  Serial Flash REMS:  e14

Opened map file "eeprom_e.map"
  Set SPI speed to 10.0 Mbit/s
  Programming file "eeprom_e.img" (0x009679 bytes) to addr 0x000000 (0)
    Erasing: ..........
    Program: ..........
  Ok
ok.
Resetting...
Now, I want to try to get the flash to show up as a drive on my PC to configure it. I pull up D0/GPIO0_0/S1 like I would for internal flash. When I do this though, the internal flash still shows up.

In VSIDE, when I click run after flashing with the prommer, I get the following output:

Code: Select all

Hello.
VSOS 3.50 build Apr 21 2018 13:57:06
VLSI Solution Oy 2012-2017 - www.vlsi.fi

Starting the kernel..
Starting Devices... 
External SPI Flash

Installed system devices:
S: SPI Flash 0e14.
USB publishing disk: SPI Flash 0e14.
Size 1.9 MB.
SCSI START
This shows me that it is recognizing that external flash, even though it is not pulling it up for me.

The other detail I noticed is that when I use Termite to try to use the device, there is no bootup information given like it was before promming the external flash. There doesn't seem to be any communication over the UART within termite, even though I can see some information within VSIDE. When I try the same thing with D0 not pulled high, I get the following in VSIDE:

Code: Select all


Hello.
VSOS 3.50 build Apr 21 2018 13:57:06
VLSI Solution Oy 2012-2017 - www.vlsi.fi

Starting the kernel..
Starting Devices... 
External SPI Flash

Installed system devices:
S: SPI Flash 0e14.
þ
This looks like an incomplete prompt identical to the one with D0 pulled high, but because it looks like its not completing, I'm assuming something may be happening before the shell is loaded to let me use it. But that is just my guess.

So, is pulling up the external SPI flash different than pulling up the internal flash?
Why is my Termite console not working anymore and how may I get both functions working?

Thanks.

Post Reply