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
SPI flash program through JTAG
-
- Junior Member
- Posts: 12
- Joined: Wed Jul 07, 2010 1:52 pm
-
- Junior Member
- Posts: 8979
- Joined: Mon Jul 18, 2005 9:33 pm
-
- Junior Member
- Posts: 12
- Joined: Wed Jul 07, 2010 1:52 pm
-
- Junior Member
- Posts: 8979
- Joined: Mon Jul 18, 2005 9:33 pm
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 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
-
- Junior Member
- Posts: 8979
- Joined: Mon Jul 18, 2005 9:33 pm
-
- Junior Member
- Posts: 8979
- Joined: Mon Jul 18, 2005 9:33 pm
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.
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.
Who is online
Users browsing this forum: No registered users and 6 guests