manu38 wrote on Friday, February 08, 2019:
Using FreeRtos on board atmel D51, I don’t manage to set IRQ priority such that I can call few “xxxFromISR()” function from interrupt handler.
I keep being stuck on the assert
configASSERT(ucCurrentPriority >= ucMaxSysCallPriority);
(ucCurrentPriority is 0, ucMaxSysCallPriority is 128)
I know that this is kind of classical problem, however despite various reading both on FreeRTOS and ATMEL side discussing trouble around this, I don’t manage to fix this.
My FreeRTOS config looks correct (can share some part if required).
I’m setting the priority of my IRQ (41) to configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY (128) and from what I can check with the debugger, it works. (uisng CMSIS NVIC_SetPriority() function)
My interrupt handler is called when interrupt is triggered; however, when calling some FreeRTOS FromISR routine from there, the interrupt priority seen is not the one set (still 0).
NVIC prio table is still correct;
That’s why I’m missing something: the IRQ prio set seems not to be the one expected by FreeRTOS.
Can anyone advise on what I’m missing ?
Thanks