2018-01-10 01:12 AM
hi!
It is a question. stm32f429 hal lib, provided in internal flash
I know it can only be erased by sector.
0x08010000 I want to delete only the data recorded in the address.
If you want to erase by address, copy the existing data to RAM
I know I have to write new Writing data after erasing it.
I would like to know more details and samples.
If there is another way, I would like advice.
Please answer me. Have a nice day !!2018-01-10 06:01 AM
Ok, so if you understand the steps can you not just implement the steps? Modify the examples you have rather than expect one that exactly fits your project tasks.
Use memcpy() to move the 64K block at 0x08010000 into a RAM buffer you have created, perhaps using malloc(), or CCM 0x10000000
Modify the RAM image with the changes. Consider if the changes only impact unprogrammed words.
Blank check and erase the 64K block at 0x08010000
Go through the 32-bit words in RAM, and write the non 0xFFFFFFFF ones into the FLASH
Make sure you don't use the area of FLASH for code, consider using 16KB FLASH sectors in the low or upper banks.