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?
I would recommend you post this to the STM32 forum, as this is very device specific.community.st.com/.../stm32-mcus
Why have you posted this in the Android forum?
Note that none of this has anything to do with ARM; it is all specific, proprietary ST stuff - so you should really be asking ST
Anvi said:place and execute the Flash operations in RAM; but won't this cause the same issue?
No - because it means the CPU is not trying to fetch its instructions from Flash.
My mistake; thanks for the help
View all questions in Android forum