cancel
Showing results for 
Search instead for 
Did you mean: 

No interrupts occur during EEPROM write

tommycooper
Associate II
Posted on November 03, 2015 at 17:25

Using a logic analyzer, I am seeing that interrupts are not occurring during a write to EEPROM.Here is a basic snippet of how I write a single byte of data to an address:

DATA_EEPROM_Unlock();
DATA_EEPROM_ProgramByte(address, data);
DATA_EEPROM_Lock();

Is this expected/known behavior for STM32L152, or is there something I am forgetting to configure to allow interrupts to occur during EEPROM writes? #stm32-interrupt-isr-eeprom-write
4 REPLIES 4
Posted on November 03, 2015 at 17:44

FLASH, or FLASH pretending to be EEPROM, will stall execution if you try to read during an active erase/write process. The length of the delay (stuffed wait-states) should be expressed in the Data Manual.

To avoid this, place code and vector table in RAM.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
tingting
Associate II
Posted on February 12, 2016 at 16:25

Does it mean that the interrupts are ignored during the eeprom writing operation?

Posted on February 12, 2016 at 17:22

It means NOTHING is happening if you touch FLASH during a pending WRITE or ERASE operation.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
de Vaal.Ruud
Associate III
Posted on February 21, 2018 at 10:06

As the CPU stalls no interrupts will be processed. It does not mean that nothing happens. By this I mean interrupt flags could be set by pheripherals, so these become than pending interrupts Am I correct here ?