AnsweredAssumed Answered

Interrupt priority change disabling the interrupt.

Question asked by Bharadwaaj Ramakrishnan on Apr 3, 2019

When I try to yield a semaphore from UART interrupt it was asserting in the following line

 

configASSERT( ucCurrentPriority >= ucMaxSysCallPriority );

 

on doing some search I found this is issue in the UART interrupt which should have lower priority than the system interrupt of the RTOS. So when i tried to change the interrupt priority in the following way. 

 

/* Install LPUART irq handler */
INT_SYS_InstallHandler(s_lpuartRxTxIrqId[instance], g_lpuartIsr[instance], (isr_t*) 0);

INT_SYS_SetPriority(s_lpuartRxTxIrqId[instance], 17); //<----- change of priority

 

/* Enable LPUART interrupt. */
INT_SYS_EnableIRQ(s_lpuartRxTxIrqId[instance]);

 

this code is in lp_uartdriver.c post this I am not getting any uart Rx or Tx interrupts. 

Outcomes