Hello everyone,
I’m investigating whether ARM Errata ID 838869 (“Store immediate overlapping exception return operation might vector to incorrect interrupt”) affects Cortex-M7 cores, in addition to the documented Cortex-M4/M4F variants.
/*! @name ISR exit barrier
* @{
*
* ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping
* exception return operation might vector to incorrect interrupt.
* For Cortex-M7, if core speed much faster than peripheral register write speed,
* the peripheral interrupt flags may be still set after exiting ISR, this results to
* the same error similar with errata 83869.
*/
#if (defined __CORTEX_M) && ((__CORTEX_M == 4U) || (__CORTEX_M == 7U))
#define SDK_ISR_EXIT_BARRIER __DSB()
#else
#define SDK_ISR_EXIT_BARRIER
#endif
implying NXP applies a DSB barrier at ISR exit on both M4 and M7 cores
Questions:
Thanks in advance for any insights!
best regards
Max
Hi @mastupristi ,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
To better answer your question, I consulted an SDK expert on this field.
The reply is that the SDK Cortex-M7 has no relation to Errata 838869.
The SDK_ISR_EXIT_BARRIER (__DSB())
on M7 is primarily intended to prevent peripheral write latencies/race conditions.
Wish you a nice day!
Best Regards
MayLiu
Hi @mayliu1
can you ask the SDK experts if they can provide an example of FW that highlights problems without the barrier?
best regards
Max
Hi @mastupristi ,
Thanks for your updated information.
I am sorry that we do not provide examples of this type of FW.
Wish you a nice day!
Best Regards
MayLiu