cancel
Showing results for 
Search instead for 
Did you mean: 

stm429 uart1 interrupt priority in FreeRTOS?

ray
Associate II
Posted on December 08, 2014 at 15:39

I use 429 UART1 with FreeRTOS. UART1 make an interrupt and 429 enter into ISR.

But it hang in the FreeRTOS code line:

configASSERT( ucCurrentPriority >= ucMaxSysCallPriority );

which is in function vPortValidateInterruptPriority( void );

ucCurrentPriority = 0x00, and ucMaxSysCallPriority = 0x50. 

ucCurrentPriority  is current UART1 interrupt priority and get from NVIC 0xE000E3F0.

What is the priority of uart1? How can I get it? Thank you.
1 REPLY 1
Barry.Richard
Associate III
Posted on December 09, 2014 at 10:34

The default priority for all interrupts is 0 - which is the highest possible priority (despite being the lowest possible number, reverse logic).  I suspect therefore you just have not set the priority at all.  The ST drivers provides a function to set the interrupt priority, and examples of how it is used.

See the following page for interrupt priority requirements when using FreeRTOS -

http://www.freertos.org/RTOS-Cortex-M3-M4.html

Cortex-M has the most complex interrupt priority requirements of any of the 34 or so architectures that we support with FreeRTOS.