* Compiler: C32
* Version: v7.1.1
* Standard Demos work Steps I have taken:
*Made sure configCHECK_FOR_STACK_OVERFLOW = 2 and I have provided the vApplicationStackOverflowHook function, nothing ends up in there
* Checked the uxTaskGetStackHighWaterMark for all of the tasks, they seem to have plenty of stack space left
* Checked the interrupt priorities, as far as I understand, they look OK to me. Here is what they are set at:
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 0x03
#define configKERNEL_INTERRUPT_PRIORITY 0x01
This application uses interrupts for CAN communication, here is their priority settings:
INTSetVectorPriority(INT_CAN_1_VECTOR, INT_PRIORITY_LEVEL_4);
INTSetVectorSubPriority(INT_CAN_1_VECTOR, INT_SUB_PRIORITY_LEVEL_0);
INTEnable(INT_CAN1, INT_ENABLED);
When it hangs, the call stack can be traced back out to this line:
CANMessage_STR * message_PTR;
portBASE_TYPE status;
status = xQueueReceive(xQueueHandleCANSend, (const void *) &message_PTR, (2/portTICK_RATE_MS));