cancel
Showing results for 
Search instead for 
Did you mean: 

How to solve portASSERT_IF_INTERRUPT_PRIORITY_INVALID() assertion failure?

KLeun.1
Associate

Platform: Nucleo L432KC

Sw: FreeRTOS generated by STM32CubeIDE

 

Description:

The maximum level of `configMAX_SYSCALL_INTERRUPT_PRIORITY` is 1 with declaration in FreeRTOSConfig.h as below. 

#define configMAX_SYSCALL_INTERRUPT_PRIORITY 	( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )

However, the minimum Preemption Priority level of any interrupt source e.g. and edge interrupt is 15. That means it is above the max. level of `configMAX_SYSCALL_INTERRUPT_PRIORITY`. 

 

How to set correct priority levels if I want to call an ISR-safe function from edge interrupt?

1 REPLY 1
Piranha
Chief II

https://lmgtfy.com/?q=configMAX_SYSCALL_INTERRUPT_PRIORITY

For STM32 the value of 16 is a complete nonsense...