We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am finding conflicting information regarding the use of Flash memory. Some information indicates that all Flash memory is for code only, while other information implys that Flash can be used for code and data both. I get the impression that data storage in Flash is something that can be done on some parts and not others, but can't find any information on manufacturers websites that clarifies the issue. Is there any good information out there that will tell me what is what? I am looking at 8051 based parts - Atmel & Philips mostly. Thanks, Scott Kelley
One more important point for flash as data memory. The same block of flash memory CANNOT be written/read/erased while the code stored in the same block is executing. For this reason, most flash memory based 8051 can use the flash as code memory only. One exception is the SST89x5x4 from Silicon Storage Technology. There are two flash memory blocks in the microcontroller. You can use one as code memory and the other for data. So when your code is being executed in one block, it can write data to the other block.
The same block of flash memory CANNOT be written/read/erased while the code stored in the same block is executing. For this reason, most flash memory based 8051 can use the flash as code memory only. HUH? I know of no '51 with internal flash where the flash is one page only. Erik
Atmels 89c51RB2 + 89c51RC2 will have Thomas
Atmels 89c51RB2 + 89c51RC2 will have ! Thomas
What I am saying is that The same block of flash memory CANNOT be written/read/erased while the code stored in the same block is executing at the same time. I agree, what you said was: For this reason, most flash memory based 8051 can use the flash as code memory only. I strongly disagree, I know of none (except the supersmall) that can not use some of the flash as "data" memory (in " becuse of movc reads). Erik