This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

difference between flash & EEPROM



Hello, 

This is probably a silly question, but what is the difference between flash, ROM and EEPROM?

I understand the compiler puts the program code is stored in ROM, along with Tivaware.

What is stored in FLASH and EEPROM?

Under what circumstances should we use flash instead of EEPROM, or vice versa?

Thank you.

  • Hello DIW,

    Flash and EEPROM are NVM memories that can be re programmed while ROM is a true Read Only Memory.

    The compiler/linker, outs the program code in Flash and not ROM.

    EEPROM should be used when there is a value to be retained or some statistics are to be maintained like time stamp, so that flash can contain pure code.

    Regards
    Amit
  • www.barrgroup.com/.../Memory-Types-RAM-ROM-Flash

    A good, if old, summary. Misses a few things. Notably FRAM, which I was using when the article was written IIRC, and MRAM which is a newer development. Both would qualify as NvRAM is his classification scheme.

    Based on performance I'd speculate that the EE on these micros was based on Flash technology. The byte erasable characteristic is the important distinguisher between Flash and EE though.

    Robert
  • As we allow "good & old" perhaps a more memorable (& personalized) way to note memory usage follows:

    • dog in deep and/or rapidly moving/dangerous water embeds that in ROM (@ time of chip mfgr.) - so it cannot be erased/overlooked
    • dog in reasonable stream may log that in Flash
    • dog encountering transient puddle may employ EE

    Dawns that this thread may apply to water-fowl as well as (moist) canines...   (especially Labradors)

  • Hello Robert

    Yes, the EEPROM uses the Flash bank model. This is mentioned in the data sheet as well.

    Regards
    Amit
  • I am a little confused, so Flash for code, and ROM for retain the things other than code?
  • Hello Shan

    ROM and EEPROM are different. So if you are referring to EEPROM, then yes, it can be used to retain things other than code.

    Regards
    Amit
  • Thanks for point that out, I understand ROM and EEPROM is different.
  • Read through the link I posted, it'll give a more complete overview.

    Both ROM and Flash can contain code (and constants), the difference on the TIVA platform is who can program and how often. The manufacturer programs the ROM, the user cannot program or erase the ROM. The user can program and erase the Flash.

    Robert

    This is not complete but I think adding all the variations and possibilities will only confuse things for you at the moment.
  • I read the introduction of the launchpad, it stressed out that the board contain bla~bla~bla EEPROM and FLASH, why we need the EEPROM and FLASH together? RAM for the calculation memory, EPROM for the code, why we need flash? the original C51 SOC there is no flash on it. right ?
  • Read the link I posted (really it'll be more productive than getting your answers one drop at a time). Especially since most of them do not have definitive answers.

    EEProm is generally meant to be used as non-volatile RAM (although the TIVA implementation has some significant caveats), Flash is generally meant for code
    There is no EPROM, it's place is taken by flash.

    There is a lot of variation in meaning for these words I could write a long screed. But really read Jack Barrs column I linked to. It's dated but still largely relevant.

    Original C51 SOC is an oxymoron. The original C51 had no flash, and IIRC no RAM (just a few registers), no EPROM, no EEPROM although some variants did have ROM and later variants had EPROM or OTP. SOCs came much later. Don't confuse ARM Cortex chips with old 8 bit micros, they are completely different in almost every aspect.

    Robert
  • Thanks, I will read the link

    Shan