Is it possible to keep interrupts active during flash program/erase?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2013-08-23 6: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?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2013-08-23 7: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?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2013-08-23 2: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.
Up vote any posts that you find helpful, it shows what's working..
