| ??? 11/08/07 08:10 Read: times |
#146760 - overwriting flash... Responding to: ???'s previous message |
... might be tricky.
In theory, you might be able to reprogram any bit which is one onto zero. For example if a byte is programmed to 0xF0, you might be able to reprogram it for example to 0xC0, but for example not into 0x05. Nevertheless, I would NOT recommend you to attempt it, unless the manufacturer specifically allows such rewrite - which is AFAIK NOT the case of P89V51RD2. The reason is in the construction of the FLASH memory and the underlying physics. Imagine, that during programming a FLASH (programming = changing a bit from 1 into 0) a whole set of cells (bits) is subjected to the high programming voltage (produced by an internal charge pump) at the same time, and some of the cells might get partially programmed even if they are not intended to be programmed (i.e. they change from "1.00" e.g. into "0.85"; the readout circuitry is in fact a comparator which still evaluates this as "1"). Subsequent programming in the same set of bits might then change the "0.85" into say "0.65" and an another one into "0.45"; and in this moment the bit, which was intended to remain "1" (and not programmed into 0 in any of the previous steps) suddenly reads as 0, or, even worse, has an unstable reading. So, the only "proper" method of programming is, if you want to reprogram a byte which is not 0xFF, you must erase the whole sector containing this byte first. JW |
| Topic | Author | Date |
| about the erase of p89v51rd2 | 01/01/70 00:00 | |
| read it and see | 01/01/70 00:00 | |
| yes | 01/01/70 00:00 | |
| reply | 01/01/70 00:00 | |
| overwriting flash... | 01/01/70 00:00 | |
thanks for reply | 01/01/70 00:00 |



