I am using stm32 which offers EEPROM emulation on its flash.

Given that an external EEPROM cost money, wouldn't using flash makes sense all the time? Currently, my use case is to store config settings and EEPROM emulation is good enough. What are some situations which justify using an external EEPROM?

  • \$\begingroup\$ If what you want to store doesn't fit in the EEPROM? If you need to program it separately from outside? \$\endgroup\$ – pjc50 May 23 '16 at 8:57
  • 1
    \$\begingroup\$ On page 5 of the application note there is a detailed answer of your question with a comparison table! the section is called Main differences between external and emulated EEPROM!! \$\endgroup\$ – fhlb May 23 '16 at 11:50
  • \$\begingroup\$ It might be useful to have a socketed, field-replacable EEPROM. \$\endgroup\$ – Andrew Morton May 23 '16 at 12:17
  • \$\begingroup\$ Sometimes, knowing the differences may not be sufficient to know under what conditions to use which method. \$\endgroup\$ – user768421 May 23 '16 at 12:50

In most cases, the big difference is endurance (the number of write cycles before the cells wear out). EEPROM cells are made to withstand ~ 10k .. 10M cycles, FLASH cells are rated more like 100 .. 10k cycles. (Numbers from memory, no recent research)

Also, FLASH often requires larger blocks to be erased than EEPROM.

Note that we are talking about FLASH and EEPROM on a micro-controller chip, not about separate chips.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.