cancel
Showing results for 
Search instead for 
Did you mean: 

IRQs while erasing a page of flash. STM32

marknorman9
Associate II
Posted on November 19, 2009 at 13:36

IRQs while erasing a page of flash. STM32

14 REPLIES 14
tomas23
Associate II
Posted on May 17, 2011 at 13:30

It cannot access stalled FLASH. You can configure NVIC to access the RAM (+offset) instead of IVT in FLASH.

marknorman9
Associate II
Posted on May 17, 2011 at 13:30

will the interupt control recover when the flash comes back on line?

armmcu
Associate II
Posted on May 17, 2011 at 13:30

I think it can retrieve the vector from the stalled flash only in the case of just one interupt during the stall phase.

unfortunatly this is not possible if you have more than one interrupt in that period since all the privious branches should be buffered in any way.

armmcu
Associate II
Posted on May 17, 2011 at 13:30

With cortex M3 products when an interrupt occur, entring in interrupt mode, saving context and handling priorities all are done in micro code (by hardware).

Hence when the Flash read access is stalled with STM32 this doesn't mean that NVIC is stalled as well. It still operating but with pending interrupts this is because interrupt flags are not yet cleared.

When flach comes back these pending interrupts will be served with respect to their priorities.

marknorman9
Associate II
Posted on May 17, 2011 at 13:30

Thanx

Thats a good answer.

It sounds like I do not need to relocate my IVT and ISRs to the RAM after all.

Sounds like the worst thing that can happen is I get input data overrun and posible data lose on rare occasions. This I think I can live with.