Hi,
This question is a generic questions on flash write in microcontrollers.
Can anyone answer the following questions please:
1) in case of write to a specific address in the flash, does the SW/FW needs to first check if the data that is being written is same as the current content in that address?
1a) if the new content is such that there is only change from 1 to 0 then it can overwrite
1b) if the new content is such that there is change from 0 to 1 then other steps follow
2) before it can erase the block, does it need to copy the entire block in a temporary location first so that existing content is not lost?
3) once erase is completed then it copies the entire block back to the flash with the modified data. Is this correct?
4) does the SW/FW maintain a map of address to page/block/sector so that it knows what address maps to what page/block/sector?
Thanks in advance
This question is a generic questions on flash write in microcontrollers.
Can anyone answer the following questions please:
1) in case of write to a specific address in the flash, does the SW/FW needs to first check if the data that is being written is same as the current content in that address?
1a) if the new content is such that there is only change from 1 to 0 then it can overwrite
1b) if the new content is such that there is change from 0 to 1 then other steps follow
2) before it can erase the block, does it need to copy the entire block in a temporary location first so that existing content is not lost?
3) once erase is completed then it copies the entire block back to the flash with the modified data. Is this correct?
4) does the SW/FW maintain a map of address to page/block/sector so that it knows what address maps to what page/block/sector?
Thanks in advance