I need some help with this, maybe someone already had the same problem and can give me a push in the right direction.
We need to erase and write flash while executing interrups routines.
The application has a particular function that communicates with the exterior at 1.5kHz. The erase times of the flash make it imposible to wait for the flash to finish so the code has to be in RAM and keep running. The periodic function is called by the timer interrupt and it has its own internal timeouts so interrupts are a must.
We moved the code to RAM to allow execution during flash erase, and it works fine, but interrupts stopped being serviced.
We use a MSP430F5659. Looking at the datasheet (slau308 section 7.7.3) we found that "Interrupts are automatically disabled during any flash operation."
Is there a way to keep interrupts running while Flash is being erased/written?
Moving the interrupt vector to RAM should do it, but is it possible/safe to enable interrupts during flash operations?
I did look around and couldn't find anything on this topic, only a hint that it shoould be posible in this thread https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/18998 but it's not even clear if it will work.
Any help is appreciated





