Re: I've programmed flash earlier on MCF51QE128 core...
The 51QE128 states in the reference manual 4.5.3.1:
If the flash memory is read during execution of an algorithm (FCCF = 0), the read operation returns invalid data and the FACCERR flag is not set.
The 52233 has no such clause, and in fact says in 17.4.2.3.3:
After a command has been successfully launched, the CFM signals the core platform to hold off read accesses to any active flash physical block until all active and buffered commands have completed (CCIF=1). A flash write operation from the internal flash bus holds off the Core platform until it is completed.
I believe this is one of many differences in the flash controller between CF V1 and CF V2 -- CF V2 is much easier to work with.
You can see in that same file I also support the 51QE128 and in that case, have to copy the flash_command() routine to RAM to run it.
With all that said, I'm not sure how CF V2 behaves for *DMA* accesses to flash (as opposed to "core" accesses) during that window, so you still might need to quiesce parts of the system before performing the writes anyway...
-- Rich