Understanding Flash Operations


I'm developing on an STM32F207 (datasheet). I am attempting to modify a couple of the internal Flash sectors (the 128kB sectors 10 & 11 to be specific). I'm trying to figure out how to do this in a way that will not block the CPU. Let's say I'm trying to write an entire 128 KB sector.

The F207's Flash is a single bank; my understanding is that means the CPU is blocked during Flash write operations and the Flash cannot be read until the write operation is complete.

The most common solution I've seen expressed is to place and execute the Flash operations in RAM; but won't this cause the same issue? The flash is still being written to. Won't this also prevent it from being read by the CPU?

Also, would it be possible to divert these operations to the DMA unit? If not, why?

Thank you

Parents Reply Children
More questions in this forum