2013-08-23 06:59 AM
In my application I'm sampling a 50Hz voltage at 300Hz in a timer interrupt.
My application is able to alter a part of the flash memory to save parameters. But during during flash write/erase activity the CPU stalls and my sampling gets interrupted (and my RMS calculations goes wrong).Is it possible to move my sampling interrupt function to RAM or would it still stall during flash write/erase activity?2013-08-23 07:08 AM
I found this ''ongoing Flash memory operation will not block the CPU as long as the CPU does not access the Flash memory.'' in the programming manual.
So I't looks possible. But i think I must move the vector table to RAM also?2013-08-23 02:17 PM
Indeed, you'll need to put everything you need in RAM, including the vector table, const variables and any library functions you may be calling. Anything that touches FLASH during the ERASE/WRITE times will stall the processor, often beyond a peripherals under/over flow condition.