/*\r
- FreeRTOS V6.0.5 - Copyright (C) 2010 Real Time Engineers Ltd.\r
+ FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.\r
\r
***************************************************************************\r
* *\r
* + Looking for basic training, *\r
* + Wanting to improve your FreeRTOS skills and productivity *\r
* *\r
- * then take a look at the FreeRTOS eBook *\r
+ * then take a look at the FreeRTOS books - available as PDF or paperback *\r
* *\r
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *\r
* http://www.FreeRTOS.org/Documentation *\r
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 7 )\r
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
\r
-/* The interrupt priority used by the kernel itself for the tick interrupt and\r
-the pended interrupt. This would normally be the lowest priority. */\r
-#define configKERNEL_INTERRUPT_PRIORITY 1\r
\r
-/* The maximum interrupt priority from which FreeRTOS API calls can be made.\r
-Interrupts that use a priority above this will not be effected by anything the\r
-kernel is doing. */\r
-#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4\r
+/*\r
+The interrupt priority used by the kernel itself for the tick interrupt and\r
+the pended interrupt is set by configKERNEL_INTERRUPT_PRIORITY. This would\r
+normally be the lowest priority (1 in this case). The maximum interrupt\r
+priority from which FreeRTOS API calls can be made is set by\r
+configMAX_SYSCALL_INTERRUPT_PRIORITY. Interrupts that use a priority above this\r
+will not be effected by anything the kernel is doing. Interrupts at or below\r
+this priority can use FreeRTOS API functions - but *only* those that end in\r
+"FromISR". Both these constants are defined in 'PriorityDefinitions.h' so they\r
+can also be included in assembly source files.\r
+*/\r
+#include "PriorityDefinitions.h"\r
+\r
\r
/* The peripheral used to generate the tick interrupt is configured as part of\r
the application code. This constant should be set to the vector number of the\r
#define INCLUDE_uxTaskGetStackHighWaterMark 1\r
#define INCLUDE_xTaskGetSchedulerState 1\r
\r
+#define configASSERT( x ) if( ( x ) == pdFALSE ) { taskDISABLE_INTERRUPTS(); for( ;; ); }\r
+\r
extern volatile unsigned long ulHighFrequencyTickCount;\r
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() portNOP() /* Run time stats use the same timer as the high frequency timer test. */\r
#define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount\r
\r
\r
/* Override some of the priorities set in the common demo tasks. This is\r
-required to ensure flase positive timing errors are not reported. */\r
-#define bktPRIMARY_PRIORITY ( configMAX_PRIORITIES - 2 )\r
-#define bktSECONDARY_PRIORITY ( configMAX_PRIORITIES - 3 )\r
+required to ensure false positive timing errors are not reported. */\r
+#define bktPRIMARY_PRIORITY ( configMAX_PRIORITIES - 3 )\r
+#define bktSECONDARY_PRIORITY ( configMAX_PRIORITIES - 4 )\r
+#define intqHIGHER_PRIORITY ( configMAX_PRIORITIES - 3 )\r
\r
\r
/*-----------------------------------------------------------\r