Diagram for STM32F4 flash stall interrupt latency
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-19 5:17 AM
Hi,
some time ago i saw a good picture/diagram which showed the latency of IRQ execution on an stm32 with one flash bank and in comparison with 2 flash banks.
On the controllers with one flash bank the execution is stalled, and with 2 flash banks it is just the 12 cycles latency.
but i can't find this picture anymore. it was somewhere in the ST documentation. Does anybody know where i might have seen this? i looked at the datasheets & ref manual of the stm32f4x7. maybe i looked in th ewrong place or i oversaw it.
thanks for help
- Labels:
-
STM32F4 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-19 5:53 AM
Not real sure, but the latency shouldn't depend on how many flash banks it has.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-19 6:00 AM
it depends...if a sector is erased, the execution is stalled. this behaves differently if you have 1 or 2 memory banks (erase and code on different banks)
and there was a nice diagram which showed exactly this bahaviour
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-19 6:30 AM
I don't recall seeing one, so if I had to guess I'd say it would be in a seminar presentation or application note type document, perhaps an old programming manual document.
@Amel NASRI​
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-19 6:34 AM
It basically stuffs wait states at the processor depending on how long the given write/erase is taking, I don't think the time is absolute as this is self timed, requires a charge-pump to generate high voltages, and aging of the array. The erase time for the larger blocks is very high.
If you have critical / real-time code, you should get your core functionality running out of RAM so you don't get contention on the FLASH causing the second access stalling on completion of the first.
Up vote any posts that you find helpful, it shows what's working..
