Re: Missing cache flush.

Johan Adolfsson
2001-06-05T09:41:27Z

Possibly saying something extremly stupid here,
how about simply "fakewriting" 0xFF to the flash
after an erase to update any caches?

> 2. Flash. A few writes of magic data to magic addresses and a whole erase
> block suddenly contains 0xFF. The CPU doesn't notice that either.

do_erase_stuff();
/* While verifying, update cache */
for (address = adr; address < (adr + size); address++) {
if ((verify = map->read8(map, address)) != 0xFF) {
error = 1;
break;
}
/* "Fake" write 0xFF's to the erased sector so that
caches are updated
* after we verified that uncached data is ok
*/
*(unsigned char*)CACHED(address) = 0xFF;
}

/Johan