Am Montag, den 18.01.2010, 10:48 -0800 schrieb Sean Nelson:
.erase = erase_stm50flw0x0x,
.erase = NULL,
.block_erasers =
{
{
.eraseblocks = {
{4 * 1024, 16},
{4 * 1024, 16},
{64 * 1024, 5},
{4 * 1024, 16},
},
.block_erase = erase_sector_stm50flw0x0x,
}, {
.eraseblocks = { {64 * 1024, 8}, },
.block_erase = erase_block_stm50flw0x0x,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_stm50flw0x0x,
}
},
I don't think this is going to work. erase_sector_stm50flw0x0x only works on the 4K sectors and not on the 64k blocks inbetween, if I read the datasheet correctly. As I already wrote in the first review: flashrom is currently unable to represent this architecture (different block sizes that have to be delete by different commands), so you better leave it off. Another possible, but a bit hacky, version would be to check sectorsize in erwase_sector_stm50flw0x0x and call erase_block_stm50flw0x0x if sectorsize is 64*1024.
Regards, Michael Karcher