An eeprom is an electronic component that has been used in many devices for years. Specifically, it is a type of so-called “erasable programmable read-only” memory that can be erased or programmed by electrical pulses from simple signals, such as power consumption on a computer motherboard.
When no longer in use – this helps users manipulate connections and disconnections through all the aspects necessary for each operation to work properly, even if there are thousands of them! Special features also allow us to delete whatever we want without having to exit Dataites (the form) after deleting our desired information; instead, they simply disappear immediately, as these objects do not retain anything after deletion.
Writing and reading EEPROM and FLASH memories
Writing (overwriting) in EEPROM is possible with single bytes – in FLASH memory, erasing and writing must be done collectively. This operation requires special access procedures and, above all, buffers to store more data, thus using the device’s RAM. The EEPROM chip does not require these operations, making it ideal for situations where single-byte writes are valued. Unfortunately, the consequence of these capabilities is slower communication (write and read) than FLASH memory. The number of reads of an EEPROM is infinite, but keep in mind that the number of changes (writes and reads) is limited. Depending on the model and manufacturer, it ranges from 10,000 to 1 million cycles, and once exceeded, the memory stops working.
Writing values to a memory sector
The write operation to EEPROM is somewhat more complicated. Depending on the processor, it always takes place together with an erase operation of the cell contents, while on newer AVR microcontrollers it can be done separately. Separating the erase operation from the write operation has several advantages: the write time is doubled if it is not accompanied by an erase operation, which is also used to increase the number of possible writes to the EEPROM. As we recall, writing alone does not reduce the cell lifetime. Of course, an erase operation is necessary when an EEPROM bit with a value of 0 must be reprogrammed to 1.
To write our program data to the EEPROM, we must first clear its EEPE bit. This ensures that no subsequent operation is performed until it is successfully completed; if it is not cleared, then there would be two write operations at the same time, which could lead to confusion. When you are trying to figure out why something did not work as expected, or if there is an error in your own code, because now the two sets of memory locations may contain different information depending on where each attempt succeeded.
See more at tme.eu