Should S32K344 SDK add __DSB() in the interrupt handler last position

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Should S32K344 SDK add __DSB() in the interrupt handler last position

204 Views
Fovery
Contributor II

In the RT1061(cortex M7) SDK, there are __DSB() in every interrupt handler last position. The S32K344 is cortex M7, but the S32K344 SDK didn't add __DSB() in the interrupt, why not??

RT106x SDK :

* 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

void CAN0_DriverIRQHandler(void)
{
   assert(NULL != s_flexcanHandle[0]);

   s_flexcanIsr(CAN0, s_flexcanHandle[0]);
   SDK_ISR_EXIT_BARRIER;
}

 

0 Kudos
1 Reply

165 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Due to limited resources, we are currently unable to support customers writing from generic email accounts such as gmail.com or qq.com or similar. Please ensure that you use your company email address when communicating with NXP so that we can prioritize your question accordingly. Thank you for your understanding.

 

Regards,

Daniel

0 Kudos