The Application note says not to do it unless we first erase the whole page and then I would assume rewrite all 511 locations and change just the one that I want however, the application note test software first reads the location for a 0xFF and if it sees the 0xFF, it writes data to that location.
My Question is, how do I know the difference between a 0xFF that was written because of a page erase and a 0xFF that was written because I wrote 0xFF to that location? Can't I just write 0XFF to the location before I write my new value? What is the significance of erasing the whole page versus just putting a 0xFF into a specific address before writing my new value?
Thanks for your help!!
Do not program any byte in the FLASH more than once after a successful
erase operation. Reprogramming bits to a byte that is already programmed
is not allowed without first erasing the page in which the byte resides or
mass erasing the entire FLASH memory. Programming without first erasing
may disturb data stored in the FLASH."