On 24.02.2010 01:22, Peter Stuge wrote:
Ward Vandewege wrote:
I think a small microcontroller and actual flash chips may be the simplest and cheapest way to do it. The microcontroller is for flashing from ALIX, maybe also GPO pins and serial port.
Speaking with y flashrom hat on, I'd like to point out that you can use the FT2232H Mini Module (~$30) to perform in-system-programming (well, as long as the machine is powered of)
In-system-programming is worth considering, but for boards with sockets it actually just creates extra work. In any case $30 for flash programming in the tester hardware is way unacceptable. I'm
I think Ward mentioned that the cost of a dongle was way higher, so I thought I'd mention something which works right now for SPI and is significantly cheaper than a dongle. Besides that, any testing rig has to be automated unless you're willing to invest boatloads of time per checkin. For that, you either need a dongle or in-system programming.
thinking that $10 is already nearly too high cost, but on the other hand it buys a very nice ARM7 with USB, which could be reused also independently of the tester.
For 6 EUR you can get a FT2232H (chip only), but you have to design a circuit for it. The advantage of the FT2232H is that it speaks SPI natively and reasonable speeds (a few MHz).
I know that someone is selling an ATTiny based design to do in-system SPI programming, and it would be easy to code up flashrom support for it. I haven't been able to contact the vendor, though.
If you plan to design that hardware yourself, let me list the requirements: For SPI, all you need is 4 GPIOs (CLK/MISO/MOSI/CS). For LPC/FWH, all you need is 6 GPIOs (AD[0-3]/CLK/FRAME). For Parallel, you need a boatload of GPIOs or some demultiplexer. More GPIOs (e.g. HOLD/WP for SPI and RST/ID/WP for LPC/FWH) are always useful, but not a hard requirement. They can be used to speed up programming or make it more reliable. Vcc and GND are not listed above because they are not GPIOs.
Flashrom can deal with bitbanging SPI/LPC/FWH/Parallel (not all of them merged yet), or it can drive programmers which understand those protocols and just want higher-level commands (send command xy to flash). The bitbanging variant is obviously slower than a protocol-understanding external programmer.
Why am I listing the requirements above? I just want to avoid that someone creates a nice piece of hardware, and afterwards notices that he/she needs to modify the design because some key requirement was overlooked. If you have a proposed design, send the details to flashrom@flashrom.org so that the flashrom developers can have a look and suggest changes (if needed).
What kind of hardware would one use to hook the spi chip to the mini module?
This is the question. Anything socketed is easy, but soldered down chips make it more difficult. For SO-8 I've only seen the IC-CLIP by Pomona, which doesn't attach with a very sturdy connection to chips. :\
There's always the option of soldering a few wires to the pins of the chip. Not exactly a clean solution, but it should work fine if you plan permanent dedication of the machine to the test rig.
Regards, Carl-Daniel