2024-05-29 05:37 AM
I am trying to test flash integrity function.
In order to cause an error I am changing the flash using STM32CubeProgrammer.
After changing the data in the flash the firmware can no longer write to the same page until a page erase. I only try to change bits that are set change from 1 to 0)
Why is this happening?
2024-05-29 05:41 AM
What part?
ST Allows for a write-once per flash line, per erase cycle. It doesn't allow for repeated knock-down of ONE bits until ZERO, and this relates to the use of ECC/HAMMING used to protect the integrity of the memory.
2024-05-29 05:59 AM
I divided each page (4k bytes) into 16 sub-pages, where if an error is detected in a sub-page the next sub-page is used, so the address I am trying to access is 256 bytes from the address I change with the programmer