register test tasks. */\r
unsigned portLONG ulRegTestError = pdFALSE;\r
\r
-/* Variables used to ensure the register check tasks are still executing. */\r
-static volatile unsigned portLONG ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;\r
-\r
/*---------------------------------------------------------------------------*/\r
\r
/* Start all the demo application tasks, then start the scheduler. */\r
static portSHORT prvCheckOtherTasksAreStillRunning( void )\r
{\r
portBASE_TYPE lReturn = pdPASS;\r
-static unsigned portLONG ulLastRegTest1Counter = 0UL, ulLastRegTest2Counter = 0UL;\r
\r
/* The demo tasks maintain a count that increments every cycle of the task\r
provided that the task has never encountered an error. This function \r
lReturn = pdFAIL;\r
}\r
\r
- /* Are the register test tasks still running? */\r
- if( ulLastRegTest1Counter == ulRegTest1Counter )\r
- {\r
- lReturn = pdFAIL;\r
- }\r
- \r
- if( ulLastRegTest2Counter == ulRegTest2Counter )\r
- {\r
- lReturn = pdFAIL;\r
- }\r
-\r
- /* Record the current values of the register check cycle counters so we\r
- can ensure they are still running the next time this function is called. */\r
- ulLastRegTest1Counter = ulRegTest1Counter;\r
- ulLastRegTest2Counter = ulRegTest2Counter;\r
-\r
return lReturn;\r
}\r
/*-----------------------------------------------------------*/\r
/* Fills the registers with known values (different to the values\r
used in vSecondRegisterTestTask()), then checks that the registers still\r
all contain the expected value. This is done to test the context save\r
- and restore mechanism as this task is swapped onto and off of the CPU.\r
-\r
- The critical nesting depth is also saved as part of the context so also\r
- check this maintains an expected value. */\r
- ulCriticalNesting = 0x12345678;\r
+ and restore mechanism as this task is swapped onto and off of the CPU. */\r
\r
for( ;; )\r
{\r
\r
\r
#pragma endasm\r
-\r
- ulRegTest1Counter++;\r
-\r
- if( ulCriticalNesting != 0x12345678 )\r
- {\r
- ulRegTestError = pdTRUE;\r
- }\r
}\r
}\r
/*-----------------------------------------------------------*/\r
/* Fills the registers with known values (different to the values\r
used in vFirstRegisterTestTask()), then checks that the registers still\r
all contain the expected value. This is done to test the context save\r
- and restore mechanism as this task is swapped onto and off of the CPU.\r
-\r
- The critical nesting depth is also saved as part of the context so also\r
- check this maintains an expected value. */\r
- ulCriticalNesting = 0x87654321;\r
+ and restore mechanism as this task is swapped onto and off of the CPU. */\r
\r
for( ;; )\r
{\r
\r
\r
#pragma endasm\r
-\r
- ulRegTest2Counter++;\r
-\r
- if( ulCriticalNesting != 0x87654321 )\r
- {\r
- ulRegTestError = pdTRUE;\r
- }\r
}\r
}\r
/*-----------------------------------------------------------*/\r