Am Sonntag, den 30.05.2010, 16:14 +0200 schrieb Uwe Hermann: [log trimmed a bit]
Flash image seems to be a legacy BIOS. Disabling checks. Writing flash chip... Programming page: VERIFY FAILED at 0x00001d5a! Expected=0xaf, Read=0xff, failed byte count from 0x00001d00-0x00001d7f: 0x26 retrying. VERIFY FAILED at 0x0000279f! Expected=0x0c, Read=0xff, failed byte count from 0x00002780-0x000027ff: 0x61 retrying. VERIFY FAILED at 0x00021714! Expected=0xa2, Read=0xff, failed byte count from 0x00021700-0x0002177f: 0x6c retrying.
[...]
This looks not so good. I'm not sure about the exact reason why those verifies fail, maybe someone else can comment?
Classic problem: Interrupts. This chip is to be programmed on a page level. A page is 128 bytes. You need to send the page "without considerable delay" to prevent the chip starting the write cycle before all 128 bytes are sent. The typical timeout between two bytes is around 200µs, which is easily exceeded if the scheduler for examples switches to a GUI terminal application to show the progress of flashrom.
If you check the counts, you see that mostly all bytes in the 128-byte page after the printed address fail - because they are all 0xFF, i.e. unprogrammed.
Regards, Michael Karcher