I've got a Atmel 8051 (T89C51RD2) with 64K flash. Can I use part of the program flash for data storage? From the datasheet it seems like I should be able to use the on-chip low-level routines to program up to 128 bytes with the PROGRAM DATA PAGE call and read bytes with the MOVC opcode.
I'm envisioning reading some data from flash into RAM, doing some processing and then writing it back to flash.
Are there fundamental problems with this approach? The datasheet is a bit vague but it doesn't mention any restrictions on a user application reprogramming the flash, other than the process being a bit slow and good for only about 100K times.
By the way, is the 100K per byte, per page or for the whole flash area?
Thanks, Andrew Queisser