On Mon, Dec 22, 2008 at 10:42 PM, Peter Stuge <[email protected]> wrote: > FENG Yu Ning wrote: >> I would like a programmer to be: >> >> * able to program SPI flash chips, >> * not slow (program 512k bytes in 3 mins), > > Can you specify your speed requirement? What would be acceptable? > It's easier to calculate backwards then.
I do not have an accurate speed specification in my mind. I read in the list recently that some programmer can take 7 mins to program a chip. I just don't want to wait that long. >> * with a driver whose source code is available (or not difficult >> to write one), >> * simple, and >> * cheap. >> >> There is one that almost does the job, >> >> http://www.malinov.com/Home/sergeys-projects/spi-flash-programmer >> >> but >> [0] would it be very slow? > > Yes. It bitbangs SPI on the parallell port, which doesn't have very > fast output drivers and is connected to the CPU through a slow bus. > > I thought a little bit more about the numbers I provided for doing > this and depending on which opcodes are supported by the flash chip, > bitbanging SPI could actually be faster than LPC, so 256kbyte would > take maybe 3-4 minutes instead of the 5 minutes needed by LPC. Hmm.. So programming a 512k byte chip still need quite some patience. > The chip is surface mount with somewhat fine pitch (pins close > together) but you can find ready-made modules with the chip that will > make it very easy to build a programmer. FTDI make some modules, and > there are also third-party modules. Modules using FT232 seem to be > more common, but I'm not sure if they have the bitbanging capability. Yes. Using modules will save me some effort. >> [2] Is the programmer going to meet my requirement? > > It is an interesting question. USB has significantly more overhead > per bit to be banged, but the bus is also much faster. It may > actually be much faster. Let me try. If I succeed with this idea, I will post its performance to the list. > To get the highest performance the SPI protocol has to be implemented > in hardware. Yes, I kept thinking about different ways of chip programming, and got this conclusion also. > I would recommend using a microcontroller with a fast > SPI master peripheral. I think 16MHz SPI clock is safe for all flash > chips, or is it 33MHz, but some chips can even run up to 75MHz. > > To drive the flash chip at those high speed will require the design > to be more complicated, especially if you first need to download data > from a PC somehow. Then you need 128 Mbits of RAM too, and a RAM > controller.. I also came to something similar. I knew I needed storage for buffering, easy to operate, and fast. However, going further is not so easy. That's why I looked for an IC. Thanks for your information. It helps. yu ning -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

