"Is it possible to use LPC1114 internal flash memory to store variable data?"
Is anyone can help me?
thanks
ANUS MUBEREK
regards, ANUS MUBEREK
Sounds a bit like homework.
Ok, so how "variable" is this stuff?
Generally you'd want to avoid writing stuff to flash over-and-over, if this is configuration or calibration data written a couple of times you could likely allocate an area at the end of flash to store and manage it. You could write code to emulate an EEPROM.
If the stuff changes a lot, consider if there is any NVRAM available, or if you can add an EEPROM to the design.
Writing stuff to flash is not a good idea.
I have to do it on a silabs 8051 in a system that has no other way to store items. In the case of this part, you have to go through some gyrations to open the flash for writing. BUT this risks corrupting flash that you are running code in.
As it turned out the product has been experiencing random flash corruption. It took a very very long time to find the reason. like a couple of years.
Essentially on the 8051, if you disable the interrupt mask with EA=0; unless the next instruction is a EA=0 instruction, you can get an interrupt.
In my case, I found quite by accident that my sequence was allowing an interrupt to happen between the EA=0, and after the redirection bit was set, so the interrupt would run with flash open to writing. It happened rarely, but we finally got a device that did it repeatedly for some reason, and got it to happen with an unprotected flash load, and I was able to track it down.
So IF you write to flash, be very very careful of things like this.
... flash has limited 'wear'. in the datasheet you will find a number of erase cycles that flash can 'endure' when you pass that you have no guarantee that the write will be succesful. Also you can not just write to a flash, the page must be erased first