Part Number: TM4C129XKCZAD
I'm using the flash mirror mode for failure recovery. I've written an interrupt-based routine to update the mirror area in the background, and the interrupt-based code is far, far slower than non-interrupt based code.
Non-Irq code (Tivaware routines): ~8s. Interrupt code: ~200s
The flash update route is a state machine attached to the Flash interrupt. It does an erase, bufferered write cycle. While it runs, the CPU utilization is about 2%.
If I remove the WFI from my idle loop, I get good performance. Something is going on with the clocking of the Flash controller during sleep.
I don't see any bits to control that. Are there any?