2019-11-22 03:18 AM
Hi,
I'm wondering if a FSMC access interruptable? in another word, do I have to disable interrupt before accessing to the external memory with FSMC, then recover the interrupt status after? Or just use it as it is a internal memory, access it freely?
A FSMC access might take many mcu tick, if the program is interrupted when accessing to the external device, will the timing be corrupted?
any comments are appreciated!
Thanks!
Solved! Go to Solution.
2019-11-22 03:30 AM
There was a very old errata item for stm32f427 (amongst others) that said that if you have a CPU interrupt during FMC read, the data might be corrupted.
(The workaround for Revision A was either to disable interrupts or use DMA to access FMC).
This only present on Revision A so it was one of the first items to be fixed by updated hardware with no workaround needed.
And ever since then I have had no problems treating memory-mapped external static RAM just like any other RAM. I think ST have it all under control.
Hope this helps,
Danish
2019-11-22 03:30 AM
There was a very old errata item for stm32f427 (amongst others) that said that if you have a CPU interrupt during FMC read, the data might be corrupted.
(The workaround for Revision A was either to disable interrupts or use DMA to access FMC).
This only present on Revision A so it was one of the first items to be fixed by updated hardware with no workaround needed.
And ever since then I have had no problems treating memory-mapped external static RAM just like any other RAM. I think ST have it all under control.
Hope this helps,
Danish
2019-11-22 03:46 AM
What if the current FSMC access is interrupted and followed by another FSMC access?