]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOSConfig.h
SAMA5D3 Xplained demo blinky running.
[freertos] / FreeRTOS / Demo / CORTEX_A5_SAMA5D3x_Xplained_IAR / FreeRTOSConfig.h
index 55c34e7f5ff71284c855221176ed66f4f7204a16..c7a79294acc2dd5007273e1be3fc1ff53b97413c 100644 (file)
  * See http://www.freertos.org/a00110.html.\r
  *----------------------------------------------------------*/\r
 \r
-/*\r
- * The FreeRTOS Cortex-A port implements a full interrupt nesting model.\r
- *\r
- * Interrupts that are assigned a priority at or below\r
- * configMAX_API_CALL_INTERRUPT_PRIORITY (which counter-intuitively in the ARM\r
- * generic interrupt controller [GIC] means a priority that has a numerical\r
- * value above configMAX_API_CALL_INTERRUPT_PRIORITY) can call FreeRTOS safe API\r
- * functions and will nest.\r
- *\r
- * Interrupts that are assigned a priority above\r
- * configMAX_API_CALL_INTERRUPT_PRIORITY (which in the GIC means a numerical\r
- * value below configMAX_API_CALL_INTERRUPT_PRIORITY) cannot call any FreeRTOS\r
- * API functions, will nest, and will not be masked by FreeRTOS critical\r
- * sections (although it is necessary for interrupts to be globally disabled\r
- * extremely briefly as the interrupt mask is updated in the GIC).\r
- *\r
- * FreeRTOS functions that can be called from an interrupt are those that end in\r
- * "FromISR".  FreeRTOS maintains a separate interrupt safe API to enable\r
- * interrupt entry to be shorter, faster, simpler and smaller.\r
- */\r
-#define configMAX_API_CALL_INTERRUPT_PRIORITY  25\r
-\r
-\r
 #define configCPU_CLOCK_HZ                                             100000000UL\r
 #define configUSE_PORT_OPTIMISED_TASK_SELECTION        1\r
 #define configUSE_TICKLESS_IDLE                                        0\r
@@ -158,8 +135,8 @@ used. */
        void vInitialiseRunTimeStats( void );\r
 \r
        #define configGENERATE_RUN_TIME_STATS   0\r
-//     #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vInitialiseRunTimeStats()\r
-//     #define portGET_RUN_TIME_COUNTER_VALUE() ulGetRunTimeCounterValue()\r
+//_RB_ #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vInitialiseRunTimeStats()\r
+//_RB_ #define portGET_RUN_TIME_COUNTER_VALUE() ulGetRunTimeCounterValue()\r
 \r
        /* The size of the global output buffer that is available for use when there\r
        are multiple command interpreters running at once (for example, one on a UART\r
@@ -185,18 +162,10 @@ used. */
         */\r
        void vConfigureTickInterrupt( void );\r
        #define configSETUP_TICK_INTERRUPT() vConfigureTickInterrupt()\r
+       \r
+       #define configPIT_PIVR  ( *( ( volatile uint32_t * ) 0xFFFFFE38UL ) )\r
+       #define configCLEAR_TICK_INTERRUPT() ( void ) configPIT_PIVR /* Read PIT_PIVR to clear interrupt. */\r
 #endif /* __IASMARM__ */\r
 \r
-/* The following constants describe the hardware, and are correct for the\r
-Atmel SAMA5 MPU. */\r
-#define configINTERRUPT_CONTROLLER_BASE_ADDRESS        0xE8201000\r
-#define configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET 0x1000\r
-#define configUNIQUE_INTERRUPT_PRIORITIES              32\r
-\r
-/* Map the FreeRTOS IRQ and SVC/SWI handlers to the names used in the C startup\r
-code (which is where the vector table is defined). */\r
-#define FreeRTOS_IRQ_Handler IRQ_Handler\r
-#define FreeRTOS_SWI_Handler SWI_Handler\r
-\r
 #endif /* FREERTOS_CONFIG_H */\r
 \r