/*\r
- FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+ FreeRTOS V9.0.0rc2 - 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
#include "EventGroupsDemo.h"\r
#include "TaskNotify.h"\r
#include "IntSemTest.h"\r
+#include "StaticAllocation.h"\r
+#include "AbortDelay.h"\r
+\r
\r
/* Priorities for the demo application tasks. */\r
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1UL )\r
/* The priority used by the UART command console task. */\r
#define mainUART_COMMAND_CONSOLE_TASK_PRIORITY ( configMAX_PRIORITIES - 2 )\r
\r
-/* The LED used by the check timer. */\r
+/* The LED used by the check task. */\r
#define mainCHECK_LED ( 0 )\r
\r
/* A block time of zero simply means "don't block". */\r
#define mainDONT_BLOCK ( 0UL )\r
\r
-/* The period after which the check timer will expire, in ms, provided no errors\r
-have been reported by any of the standard demo tasks. ms are converted to the\r
-equivalent in ticks using the portTICK_PERIOD_MS constant. */\r
-#define mainNO_ERROR_CHECK_TASK_PERIOD ( 3000UL / portTICK_PERIOD_MS )\r
+/* The period of the check task, in ms, provided no errors have been reported by\r
+any of the standard demo tasks. ms are converted to the equivalent in ticks\r
+using the pdMS_TO_TICKS() macro constant. */\r
+#define mainNO_ERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 3000UL )\r
\r
-/* The period at which the check timer will expire, in ms, if an error has been\r
-reported in one of the standard demo tasks. ms are converted to the equivalent\r
-in ticks using the portTICK_PERIOD_MS constant. */\r
-#define mainERROR_CHECK_TASK_PERIOD ( 200UL / portTICK_PERIOD_MS )\r
+/* The period of the check task, in ms, if an error has been reported in one of\r
+the standard demo tasks. ms are converted to the equivalent in ticks using the\r
+pdMS_TO_TICKS() macro. */\r
+#define mainERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 200UL )\r
\r
/* Parameters that are passed into the register check tasks solely for the\r
purpose of ensuring parameters are passed into tasks correctly. */\r
vStartEventGroupTasks();\r
vStartTaskNotifyTask();\r
vStartInterruptSemaphoreTasks();\r
-\r
+ vStartStaticallyAllocatedTasks();\r
+ vCreateAbortDelayTasks();\r
\r
/* Start the tasks that implements the command console on the UART, as\r
described above. */\r
ulErrorFound |= 1UL << 14UL;\r
}\r
\r
+ if( xAreStaticAllocationTasksStillRunning() != pdPASS )\r
+ {\r
+ ulErrorFound |= 1UL << 15UL;\r
+ }\r
+\r
+ if( xAreAbortDelayTestTasksStillRunning() != pdPASS )\r
+ {\r
+ ulErrorFound |= 1UL << 16UL;\r
+ }\r
+\r
/* Check that the register test 1 task is still running. */\r
if( ulLastRegTest1Value == ulRegTest1LoopCounter )\r
{\r
- ulErrorFound |= 1UL << 15UL;\r
+ ulErrorFound |= 1UL << 17UL;\r
}\r
ulLastRegTest1Value = ulRegTest1LoopCounter;\r
\r
/* Check that the register test 2 task is still running. */\r
if( ulLastRegTest2Value == ulRegTest2LoopCounter )\r
{\r
- ulErrorFound |= 1UL << 16UL;\r
+ ulErrorFound |= 1UL << 18UL;\r
}\r
ulLastRegTest2Value = ulRegTest2LoopCounter;\r
\r
}\r
\r
/* The following line will only execute if the task parameter is found to\r
- be incorrect. The check timer will detect that the regtest loop counter is\r
+ be incorrect. The check task will detect that the regtest loop counter is\r
not being incremented and flag an error. */\r
vTaskDelete( NULL );\r
}\r
}\r
\r
/* The following line will only execute if the task parameter is found to\r
- be incorrect. The check timer will detect that the regtest loop counter is\r
+ be incorrect. The check task will detect that the regtest loop counter is\r
not being incremented and flag an error. */\r
vTaskDelete( NULL );\r
}\r