ThirdParty/bsp/freertos10_xilinx/src/Source/portable/GCC/MicroBlazeV9/port.c
void vPortTickISR( void *pvUnused )
{
extern void vApplicationClearTimerInterrupt( void );

	/* Ensure the unused parameter does not generate a compiler warning. */
	( void ) pvUnused;

	/*
	 * The Xilinx implementation of generating run time task stats uses the same timer used for generating
	 * FreeRTOS ticks. In case user decides to generate run time stats the tick handler is called more
	 * frequently (10 times faster). The timer/tick handler uses logic to handle the same. It handles
	 * the FreeRTOS tick once per 10 interrupts.
	 * For handling generation of run time stats, it increments a pre-defined counter every time the
	 * interrupt handler executes.
	 */
#if (configGENERATE_RUN_TIME_STATS == 1)
	ulHighFrequencyTimerTicks++;
	if (!(ulHighFrequencyTimerTicks % 10))
#endif
	{
	/* This port uses an application defined callback function to clear the tick
	interrupt because the kernel will run on lots of different MicroBlaze and
	FPGA configurations - not all of which will have the same timer peripherals
	defined or available.  An example definition of
	vApplicationClearTimerInterrupt() is provided in the official demo
	application that accompanies this port. */
	vApplicationClearTimerInterrupt();

	/* Increment the RTOS tick - this might cause a task to unblock. */
	if( xTaskIncrementTick() != pdFALSE )
	{
		/* Force vTaskSwitchContext() to be called as the interrupt exits. */
		ulTaskSwitchRequested = 1;
	}
	}
}
/*
 * Handler for the timer interrupt.  This is the handler that the application
 * defined callback function vApplicationSetupTimerInterrupt() should install.
 */
Handler for the timer interrupt.  This is the handler that the application
defined callback function vApplicationSetupTimerInterrupt() should install.
Handler for the timer interrupt . This is the handler that the application defined callback function vApplicationSetupTimerInterrupt () should install .
void vPortTickISR( void *pvUnused )
{
extern void vApplicationClearTimerInterrupt( void );
	( void ) pvUnused;
#if (configGENERATE_RUN_TIME_STATS == 1)
	ulHighFrequencyTimerTicks++;
	if (!(ulHighFrequencyTimerTicks % 10))
#endif
	{
	vApplicationClearTimerInterrupt();
	if( xTaskIncrementTick() != pdFALSE )
	{
		ulTaskSwitchRequested = 1;
	}
	}
}
void vPortTickISR ( void * pvUnused ) { extern void vApplicationClearTimerInterrupt ( void ) ; ( void ) pvUnused ; #if ( configGENERATE_RUN_TIME_STATS == 1 ) ulHighFrequencyTimerTicks ++ ; if ( ! ( ulHighFrequencyTimerTicks % 10 ) ) #endif { vApplicationClearTimerInterrupt ( ) ; if ( xTaskIncrementTick ( ) != pdFALSE ) { ulTaskSwitchRequested = 1 ; } } }
Handler for the timer interrupt.
Handler for the timer interrupt .
/* Ensure the unused parameter does not generate a compiler warning. */ /*
	 * The Xilinx implementation of generating run time task stats uses the same timer used for generating
	 * FreeRTOS ticks. In case user decides to generate run time stats the tick handler is called more
	 * frequently (10 times faster). The timer/tick handler uses logic to handle the same. It handles
	 * the FreeRTOS tick once per 10 interrupts.
	 * For handling generation of run time stats, it increments a pre-defined counter every time the
	 * interrupt handler executes.
	 */ /* This port uses an application defined callback function to clear the tick
	interrupt because the kernel will run on lots of different MicroBlaze and
	FPGA configurations - not all of which will have the same timer peripherals
	defined or available.  An example definition of
	vApplicationClearTimerInterrupt() is provided in the official demo
	application that accompanies this port. */ /* Increment the RTOS tick - this might cause a task to unblock. */ /* Force vTaskSwitchContext() to be called as the interrupt exits. */