/*\r
- FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+ FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.\r
All rights reserved\r
\r
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
#define XSCUTIMER_CLOCK_HZ ( XPAR_CPU_CORTEXA9_0_CPU_CLK_FREQ_HZ / 2UL )\r
\r
static XScuTimer xTimer;\r
+XScuGic xInterruptController; /* Interrupt controller instance */\r
\r
/*\r
* The application must provide a function that configures a peripheral to\r
*/\r
void vConfigureTickInterrupt( void )\r
{\r
-static XScuGic xInterruptController; /* Interrupt controller instance */\r
BaseType_t xStatus;\r
extern void FreeRTOS_Tick_Handler( void );\r
XScuTimer_Config *pxTimerConfig;\r
}\r
/*-----------------------------------------------------------*/\r
\r
-void vApplicationIRQHandler( uint32_t ulICCIAR )\r
+/* This is the callback function which is called by the FreeRTOS Cortex-A port\r
+layer in response to an interrupt. If the function is called\r
+vApplicationFPUSafeIRQHandler() then it is called after the floating point\r
+registers have been saved. If the function is called vApplicationIRQHandler()\r
+then it will be called without first having saved the FPU registers. See\r
+http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html for\r
+more information */\r
+void vApplicationFPUSafeIRQHandler( uint32_t ulICCIAR )\r
{\r
extern const XScuGic_Config XScuGic_ConfigTable[];\r
static const XScuGic_VectorTableEntry *pxVectorTable = XScuGic_ConfigTable[ XPAR_SCUGIC_SINGLE_DEVICE_ID ].HandlerTable;\r
const XScuGic_VectorTableEntry *pxVectorEntry;\r
\r
/* Re-enable interrupts. */\r
- __asm ( "cpsie i" );\r
+ __asm ( "cpsie i" );\r
\r
/* The ID of the interrupt is obtained by bitwise anding the ICCIAR value\r
with 0x3FF. */\r