I'm having an issue with FreeRTOS on S32K.
The issue is very similar to what is describe here: https://community.nxp.com/thread/422337
I am getting random HardFault issue in function uxListRemove.
Sometimes also "The processor has escalated a configurable-priority exception to HardFault. An instruction executed with an invalid EPSR.T or EPSR.IT field. Exception occured at: 0x0"
I'm using IAR compiler and IDE and it doesn't give me the callstack when the HardFault issue occurs.
My Freertos configuration is the same as in S32K SDK example:
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x0F
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 0x05
#define configKERNEL_INTERRUPT_PRIORITY (configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8-configPRIO_BITS))
#define configMAX_SYSCALL_INTERRUPT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8-configPRIO_BITS))
My project uses UART interrupts, CAN interrupts and FreeRTOS xTimer along with 4 tasks and the IDLE task.
CAN bus (500kbps) is receiving 8 frames every 100ms and sending 1 frame every 100ms
UART is sending 13Bytes every 100ms (921kbps)
I'm using a 10ms timer to poll the UART reception. When this timer is disabled, the HardFault issue doesn't occur.
I tried to changed the FreeRTOS default timer configuration but it doesn't give any good result.
Do you have any advice on how to find the root cause of this issue?