void vPortIncrementTick( void ) { unsigned portBASE_TYPE uxSavedStatus; uxSavedStatus = uxPortSetInterruptMaskFromISR(); vTaskIncrementTick(); vPortClearInterruptMaskFromISR( uxSavedStatus ); /* If we are using the preemptive scheduler then we might want to select a different task to execute. */ #if configUSE_PREEMPTION == 1 _CP0_BIS_CAUSE( portCORE_SW_0 ); #endif /* configUSE_PREEMPTION */ /* Clear timer 1 interrupt. */ IFS0CLR = _IFS0_T1IF_MASK; }
void vPortIncrementTick( void ) { unsigned portBASE_TYPE uxSavedStatus; uxSavedStatus = uxPortSetInterruptMaskFromISR(); { if( xTaskIncrementTick() != pdFALSE ) { /* Pend a context switch. */ _CP0_BIS_CAUSE( portCORE_SW_0 ); } } vPortClearInterruptMaskFromISR( uxSavedStatus ); /* Clear timer 1 interrupt. */ IFS0CLR = _IFS0_T1IF_MASK; }
void vPortIncrementTick( void ) { unsigned portBASE_TYPE uxSavedStatus; uxSavedStatus = uxPortSetInterruptMaskFromISR(); vTaskIncrementTick(); vPortClearInterruptMaskFromISR( uxSavedStatus ); /* If we are using the preemptive scheduler then we might want to select a different task to execute. */ #if configUSE_PREEMPTION == 1 SetCoreSW0(); #endif /* configUSE_PREEMPTION */ /* Clear timer 0 interrupt. */ mT1ClearIntFlag(); }
void vPortIncrementTick( void ) { UBaseType_t uxSavedStatus; uxSavedStatus = uxPortSetInterruptMaskFromISR(); { if( xTaskIncrementTick() != pdFALSE ) { /* Pend a context switch. */ _CP0_BIS_CAUSE( portCORE_SW_0 ); } } vPortClearInterruptMaskFromISR( uxSavedStatus ); /* Look for the ISR stack getting near or past its limit. */ portCHECK_ISR_STACK(); /* Clear timer interrupt. */ configCLEAR_TICK_TIMER_INTERRUPT(); }