Skip to main content
Seven Zeng
Associate
Nov 22, 2019 11:18 AM UTC
Solved

Is a single FSMC access interruptable ?

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!

This topic has been closed for replies.
Danish1
Danish1Best answer
Lead III
Nov 22, 2019 11:30 AM UTC

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

2 replies

Danish1
Danish1Best answer
Lead III
Nov 22, 2019 11:30 AM UTC

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

Seven Zeng
Associate
Nov 22, 2019 11:46 AM UTC

What if the current FSMC access is interrupted and followed by another FSMC access?