cancel
Showing results for 
Search instead for 
Did you mean: 

I'm having some problem with Virtual EEPROM API with STM32F MCU

Lee.Jongheon
Associate II
Posted on February 01, 2013 at 11:30

When the virtual eeprom api function is erasing a page, it interrupts systick interrupt.

I toggled a led on every 100us to check systick interrupt in alive, but when the api function start to erase a page(for example 0x08030000), there are no interrupt untill it finishes(it was take around 30ms)

It is normal or there are someting else that interrupts the systick interrupt?

#stm32f #eeprom
3 REPLIES 3
rchris
Associate II
Posted on February 01, 2013 at 12:25

This seems to be normal, check the Programming Manual of the STM32F2:

''During a write/erase operation to the Flash memory, any attempt to read the Flash memory will caused the bus to stall. Read operations are processed correctly once the program operation has completed. This means that code or data fetches cannot be performed while a write/erase operation is ongoing.''

No code fetching, no program execution.

Also read AN3390, 3.5 ''Real-time consideration'' for improving this behaviour.

Posted on February 01, 2013 at 13:17

If you run/read from FLASH while writing or erasing it the processor will stall. Running from RAM will resolve this conflict and resultant stalling.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Lee.Jongheon
Associate II
Posted on February 04, 2013 at 00:23

thanks alot, i should have checked the programming manual carfully.