Flash & EEPROM

Status
Not open for further replies.

Electrix

Member
What are the main differences between Flash and EEPROM ?

I was wondering that if in a microcontroller, both Flash Program Memory and EEPROM can retain data after power off, then what's the difference between them ? Also both are Alterable Memories..ie: The content in any individual address can be changed, no need to erase completely for changing just one value. So what is the difference ?
 

They are slightly different technologies, that's all, many items claimed to be FLASH are in fact actually EEPROM - but 'FLASH' is a more exciting buzzword for the advertisers, so most are now advertised as FLASH.

As far as I'm aware?, Atmel started this trend (although they did convert to 'proper' FLASH after a while), and MicroChip eventually followed suit. Even later on, MicroChip started making 'proper' FLASH versions as well, the 876A and 877A being two of the first - the 628A doesn't appear to be FLASH though.
 
FLASH - A special type of EEPROM that can be erased and reprogrammed in blocks instead of one byte at a time.
The principal difference is that EEPROM requires data to be written or erased one byte at a time whereas flash memory allows data to be written or erased in blocks. This makes flash memory faster.
 

That is true, as I looked up a few websites..However, FLASH does allow you to change one individual memory location by itself and not having to reprogram the entire chip (similar to EEPROM). My programmer software (Oshon) allows me to read the chip and make a change in any of the location individually.
 
Another (significant) difference is that Flash program memory mostly cannot be altered during program/code execution, whereas the EEPROM in general can always store/erase data during execution.
 
Electrix said:
Another (significant) difference is that Flash program memory mostly cannot be altered during program/code execution, whereas the EEPROM in general can always store/erase data during execution.

Ever heard of bootloader?
 

Yup, just heard of it..never tried it out ! Correct me here if necessary, once you have downloaded the code into your program memory with a bootloader, you cannot modify it during execution..
 
Electrix said:
Yup, just heard of it..never tried it out ! Correct me here if necessary, once you have downloaded the code into your program memory with a bootloader, you cannot modify it during execution..

Yes you could, but you shouldn't! - fairly obviously writing over the code that is doing the writing is going to cause a problem or two :lol:

A bootloader is just a program that runs as normal in the PIC, so when you are writing to the PIC using a bootloader you ARE modifying it during execution.
 
Electrix wrote:

I never said Flash cannot be programmed with one byte at a time
When I say it is special type of EEPROM, I guess it means EEPROM with some extra features which is Block programming
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…