AnsweredAssumed Answered

MK64 + FreeRTOS + FlexCAN interrupt

Question asked by wf wf on Feb 2, 2017
Latest reply on Feb 4, 2017 by xiangjun.rong

Hello,

I'm trying to make the FlexCan (KSDK 1.3.0) driver work under FreeRTOS (8.2.2) on a Kinetis K64 cpu. In order to configure the CAN, I'm succesfully following the example in C:\Freescale\KSDK_1.3.0\examples\twrk64f120m\driver_examples\flexcan\flexcan_network  in a baremetal configuration.

The problem arises using instead FreeRTOS since I'm not getting any interrupt on any incoming CAN message. I'm not putting external API inside the "CAN0_ORed_Message_buffer_IRQHandler" interrupt, but just using the standart IRQ handler provided (See FreeRTOS - Open Source RTOS Kernel for small embedded systems , point 5.)

The configuration of the CAN peripheral using  is done before the main thread and the scheduler starts, just after the PE_Low_Level.

According to the FreeRTOS FAQ page I set up the

"#define configASSERT( ( x ) ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }"
for debug purposes

 

Any Idea on it? how can I double check if the interrupt priority is correct?

Is there any tutorial or link on integrating the CAN on FreeRTOS?

 

Other interesting discussion FreeRTOS and K64 Interrupt Priority 

thank you

Walter

Outcomes