Tuesday, November 13, 2012

flashrom.org and At29C256

I've managed to burn AT29C256 (widely used, and used in Searle's computer) on Realtec/RTL 8139 nic with flashrom.org's software with the following patch (under cut). AT29C256 is unknown chip for it, that's strange. I'll tell a bit later about it, how - just make a reminder to myself (and possibly others). The only note - I have 3 nics, and was able to write only the first 256 bytes on the first nic. The second one worked ok.

UPDATED at 121125


Тут мне надо было прошить AT29C256 (которая вааще везде нужна в таких делах - а так же используется в схеме у схеме от Searle, )- и делал я это на Realtek/RTL 8139 тулзой от flashrom.org .
Оно такого чипа не знает, пришлось налабать патчик. У меня Realtecов три штуки, в первой прошилось почему-то только 256 байт, а вот вторая завелась. Об этом всем - позже, а пока - патч.
Обновлено 121125

flashchips.h , after
#define ATMEL_AT29C512 0x5D
add
#define ATMEL_AT29C256 0xDC

flashchips.c

{
.vendor = "Atmel",
.name = "AT29C256",
.bustype = BUS_PARALLEL,
.manufacture_id = ATMEL_ID,
.model_id = ATMEL_AT29C256,
.total_size = 32,
.page_size = 64, /*It should*/
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
.probe_timing = 10000, /* 10mS, Enter=Exec */
.block_erasers =
{
{
.eraseblocks = { {32 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
}
},
.write = write_jedec,
.read = read_memmapped,
.voltage = {4500, 5500},
},


UPDATE:
The strange thing is that it burns *some* images, but does not burn others with the following:
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:EWVERIFY FAILED at 0x00000000! Expected=0xf3, Read=0x00, failed byte count from 0x00000000-0x0000003f: 0x13
retrying.
VERIFY FAILED at 0x00000000! Expected=0xf3, Read=0x00, failed byte count from 0x00000000-0x0000003f: 0x13
retrying.
Currently I do not understand whats going on

No comments:

Post a Comment