Skip to main content
Explorer
March 16, 2020
Question

How to solve portASSERT_IF_INTERRUPT_PRIORITY_INVALID() assertion failure?

  • March 16, 2020
  • 1 reply
  • 1143 views

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?

    This topic has been closed for replies.

    1 reply

    Graduate II
    March 16, 2020

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

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