SPI flash program through JTAG

Here you can put bug report of USB JTAG/BDM or features or device you want to support. Please submit wish list only. Other topics will moved out from this forum
Locked
Paradroid
Junior Member
Posts: 12
Joined: Wed Jul 07, 2010 1:52 pm

SPI flash program through JTAG

Post by Paradroid »

Hi there,

I have developed an embedded platform with a Broadcom CPU BCM53003. The CPU boots from a Winbond SPI flash W25Q64CV. Both chips are fairly new, just starting to ship.

I have the BSDL file for the CPU, and the datasheet of the flash chip is freely available on the web:

http://www.winbond.com.tw/NR/rdonlyres/ ... 5Q64CV.pdf

The vendor ID is 0xEF, chip ID is 0x4017.

During development, it would be great if my team can use JTAG to program the flash, instead of using external programming equipment (should be possible through boundary scan commands). Even if flashing takes a long time, it would still help development cycles.

Also, when the product hits the market, I could point people to usbjtag and give them a possibility to un-brick their hardware, in case something went wrong during flashing.

thanks,
Jens
usbbdm
Junior Member
Posts: 8979
Joined: Mon Jul 18, 2005 9:33 pm

Post by usbbdm »

The current way of doing SPI programming via JTAG is
1. Issue MIPS command via JTAG port and do the programming (slow).
2. Use target CPU/ram resource to program the SPI flash (really fast).

We do not do BDSL to program SPI flash since this will simply too slow and my JTAG NT is built for speed.
Paradroid
Junior Member
Posts: 12
Joined: Wed Jul 07, 2010 1:52 pm

Post by Paradroid »

OK the CPU is a MIPS M74K with 600MHz. The flash is connected on a dedicated SPI interface (CPU has a second SPI interface for peripherals). Will you need special software to run on MIPS, or is this early-startup-stuff the same on all MIPS processors?

Jens
usbbdm
Junior Member
Posts: 8979
Joined: Mon Jul 18, 2005 9:33 pm

Post by usbbdm »

Paradroid wrote:OK the CPU is a MIPS M74K with 600MHz. The flash is connected on a dedicated SPI interface (CPU has a second SPI interface for peripherals). Will you need special software to run on MIPS, or is this early-startup-stuff the same on all MIPS processors?

Jens
USB JTAG NT has good MIP32 support and half of the MIPS64 support. If you can describe how your CPU read/write the flash (register), then I can write code for your device (if it is non-standard) to read/write in supper fast speed. I can even give you the 24MHz JTAG version if your device is faster enough to handle that speed. I will expect the programming speed via JTAG to be close to 200KB/s. (If your CPU can handle that speed). Never try to use BSDL to program since it will be super slow.
Paradroid
Junior Member
Posts: 12
Joined: Wed Jul 07, 2010 1:52 pm

Post by Paradroid »

This sounds great - you have mail! (and a new customer..!)

Jens
usbbdm
Junior Member
Posts: 8979
Joined: Mon Jul 18, 2005 9:33 pm

Post by usbbdm »

I have received the prototype board with new Broadcom chip. The SPI programming should be implemented much better way than last time we did on the router wgr614v9. I might release 0.41 for this feature and leave the Linux on 0.42.
Paradroid
Junior Member
Posts: 12
Joined: Wed Jul 07, 2010 1:52 pm

Post by Paradroid »

got my four USB JTAG NT adapters today, just waiting for the activation codes. I can't wait to see the programming speed :-)

thanks for your support so far.

Jens
usbbdm
Junior Member
Posts: 8979
Joined: Mon Jul 18, 2005 9:33 pm

Post by usbbdm »

SPI on Barodcom chips had get some interesting numbers.

On WGR914, if we us Spanion I get 210KB/s programming speed. (MX cannot use fast speed).

On BCM53003 based router with W25Q64CV I get 320KB/s programming speed. This speed is faster than use NT directly on SPI chip. So we can get faster speed via JTAG than use NT's SPI mode. (If I use 24M JTAG clock, I might get faster speed too). The good thing about this approach is there is no soldering or clip needed. No ISP needed. Simple and fast.

I will soon release 0.40b (or 0.41) with this enhancement and move on to another router(AR430w) which has the SPI chip but use JTAG. This is different family and need some coding too.
Locked

Who is online

Users browsing this forum: No registered users and 6 guests