Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

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 ?
 
Electrix said:
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.
 
instruite said:
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?
 
eblc1388 said:
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:
instruite wrote:
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.

I never said Flash cannot be programmed with one byte at a time :D
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.

Latest threads

New Articles From Microcontroller Tips

Back
Top