Dear Community,
I am using s32k144 EVB with s32 design studio version R1.2018. While calling CAN_init and CAN_deinit from ISR routine, the code got stuck into vPortEnterCritical(). Please find the attachment for more details. Looking forward to your reply.
Solved! Go to Solution.
Hi Shruti,
CAN_Init and CAN_Deinit are using FreeRTOS API to create/destroy semaphores. This is the reason why the FreeRTOS flow will block into assert.
If CAN driver initialization and deinitialization are made outside of the ISR, then everything should work ok.
Best regards,
Rares
Hi,
Is your application using SDK?
Thank you,
Rares
Hi Rares,
Yes, RTM SDK v2.0.0, also using FreeRTOS v8.2.1
Thanks,
Shruti.
Hi Shruti,
CAN_Init and CAN_Deinit are using FreeRTOS API to create/destroy semaphores. This is the reason why the FreeRTOS flow will block into assert.
If CAN driver initialization and deinitialization are made outside of the ISR, then everything should work ok.
Best regards,
Rares
Hi Rares,
Currently we did the same as you told. It means there is no other way to call CAN_init and CAN_deinit through ISR. Thanks for your time.
Regards,
Shruti.