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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

627件の閲覧回数
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 件の賞賛
返信
1 返信

588件の閲覧回数
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 件の賞賛
返信