--- /dev/null
+; FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.\r
+;\r
+; This file is part of the FreeRTOS.org distribution.\r
+;\r
+; FreeRTOS.org is free software; you can redistribute it and/or modify\r
+; it under the terms of the GNU General Public License as published by\r
+; the Free Software Foundation; either version 2 of the License, or\r
+; (at your option) any later version.\r
+;\r
+; FreeRTOS.org is distributed in the hope that it will be useful,\r
+; but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+; GNU General Public License for more details.\r
+;\r
+; You should have received a copy of the GNU General Public License\r
+; along with FreeRTOS.org; if not, write to the Free Software\r
+; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+;\r
+; A special exception to the GPL can be applied should you wish to distribute\r
+; a combined work that includes FreeRTOS.org, without being obliged to provide\r
+; the source code for any proprietary components. See the licensing section\r
+; of http://www.FreeRTOS.org for full details of how and when the exception\r
+; can be applied.\r
+;\r
+; ***************************************************************************\r
+; See http://www.FreeRTOS.org for documentation, latest information, license\r
+; and contact details. Please ensure to read the configuration and relevant\r
+; port sections of the online documentation.\r
+; ***************************************************************************\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+#include "ISR_Support.h"\r
+\r
+ PUBLIC vButtonISRWrapper\r
+ EXTERN vButtonISRHandler\r
+\r
+ RSEG CODE:CODE\r
+ \r
+vButtonISRWrapper: \r
+ portSAVE_CONTEXT\r
+ call vButtonISRHandler\r
+ portRESTORE_CONTEXT\r
+ RETI\r
+\r
+\r
+\r
+ ; Set ISR location to the Interrupt vector table.\r
+ COMMON INTVEC:CODE:ROOT(1)\r
+ ORG 8\r
+`??vButtonISRWrapper??INTVEC 8`:\r
+ DW vButtonISRWrapper\r
+\r
+\r
+ END\r
--- /dev/null
+/*\r
+ FreeRTOS.org V5.1.1 - Copyright (C) 2003-2009 Richard Barry.\r
+\r
+ This file is part of the FreeRTOS.org distribution.\r
+\r
+ FreeRTOS.org is free software; you can redistribute it and/or modify\r
+ it under the terms of the GNU General Public License as published by\r
+ the Free Software Foundation; either version 2 of the License, or\r
+ (at your option) any later version.\r
+\r
+ FreeRTOS.org is distributed in the hope that it will be useful,\r
+ but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+ GNU General Public License for more details.\r
+\r
+ You should have received a copy of the GNU General Public License\r
+ along with FreeRTOS.org; if not, write to the Free Software\r
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+\r
+ A special exception to the GPL can be applied should you wish to distribute\r
+ a combined work that includes FreeRTOS.org, without being obliged to provide\r
+ the source code for any proprietary components. See the licensing section\r
+ of http://www.FreeRTOS.org for full details of how and when the exception\r
+ can be applied.\r
+\r
+ ***************************************************************************\r
+ ***************************************************************************\r
+ * *\r
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *\r
+ * and even write all or part of your application on your behalf. *\r
+ * See http://www.OpenRTOS.com for details of the services we provide to *\r
+ * expedite your project. *\r
+ * *\r
+ ***************************************************************************\r
+ ***************************************************************************\r
+\r
+ Please ensure to read the configuration and relevant port sections of the\r
+ online documentation.\r
+\r
+ http://www.FreeRTOS.org - Documentation, latest information, license and\r
+ contact details.\r
+\r
+ http://www.SafeRTOS.com - A version that is certified for use in safety\r
+ critical systems.\r
+\r
+ http://www.OpenRTOS.com - Commercial support, development, porting,\r
+ licensing and training services.\r
+*/\r
+\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "semphr.h"\r
+\r
+static xSemaphoreHandle xButtonSemaphore;\r
+\r
+#define LED01 P7_bit.no7\r
+\r
+void vButtonTask( void *pvParameters )\r
+{\r
+ vSemaphoreCreateBinary( xButtonSemaphore );\r
+\r
+ for( ;; )\r
+ {\r
+ xSemaphoreTake( xButtonSemaphore, portMAX_DELAY );\r
+ LED01 = !LED01;\r
+ \r
+ vTaskDelay( 200 / portTICK_RATE_MS );\r
+ xSemaphoreTake( xButtonSemaphore, 0 );\r
+ }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vButtonISRHandler( void )\r
+{\r
+short sHigherPriorityTaskWoken = pdFALSE;\r
+\r
+ xSemaphoreGiveFromISR( xButtonSemaphore, &sHigherPriorityTaskWoken );\r
+ \r
+ portYIELD_FROM_ISR( sHigherPriorityTaskWoken );\r
+}\r
+/*-----------------------------------------------------------*/\r
\r
#endif /* __IAR_SYSTEMS_ICC__ */\r
\r
-/* \r
+/*\r
* 78K0R/Kx3 Clock Source Configuration\r
* 1 = use internal High Speed Clock Source (typically 8Mhz on the 78K0R/Kx3)\r
* 0 = use external Clock Source\r
*/\r
#define configCLOCK_SOURCE 0\r
\r
-/* \r
+/*\r
* 78K0R/Kx3 Memory Model\r
* 1 = use far memory mode\r
* 0 = use near memory mode\r
#define configUSE_16_BIT_TICKS 1\r
#define configIDLE_SHOULD_YIELD 1\r
#define configCHECK_FOR_STACK_OVERFLOW 0\r
+ #define configUSE_MUTEXES 1\r
\r
/* Co-routine definitions. */\r
#define configUSE_CO_ROUTINES 0\r
\r
/* Set the following definitions to 1 to include the API function, or zero\r
to exclude the API function. */\r
- #define INCLUDE_vTaskPrioritySet 0\r
- #define INCLUDE_uxTaskPriorityGet 0\r
+ #define INCLUDE_vTaskPrioritySet 1\r
+ #define INCLUDE_uxTaskPriorityGet 1\r
#define INCLUDE_vTaskDelete 1\r
#define INCLUDE_vTaskCleanUpResources 0\r
- #define INCLUDE_vTaskSuspend 0\r
+ #define INCLUDE_vTaskSuspend 1\r
#define INCLUDE_vTaskDelayUntil 1\r
#define INCLUDE_vTaskDelay 1\r
\r
+++ /dev/null
-/*\r
- FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
- This file is part of the FreeRTOS.org distribution.\r
-\r
- FreeRTOS.org is free software; you can redistribute it and/or modify\r
- it under the terms of the GNU General Public License as published by\r
- the Free Software Foundation; either version 2 of the License, or\r
- (at your option) any later version.\r
-\r
- FreeRTOS.org is distributed in the hope that it will be useful,\r
- but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- GNU General Public License for more details.\r
-\r
- You should have received a copy of the GNU General Public License\r
- along with FreeRTOS.org; if not, write to the Free Software\r
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-\r
- A special exception to the GPL can be applied should you wish to distribute\r
- a combined work that includes FreeRTOS.org, without being obliged to provide\r
- the source code for any proprietary components. See the licensing section \r
- of http://www.FreeRTOS.org for full details of how and when the exception\r
- can be applied.\r
-\r
- ***************************************************************************\r
- ***************************************************************************\r
- * *\r
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *\r
- * and even write all or part of your application on your behalf. *\r
- * See http://www.OpenRTOS.com for details of the services we provide to *\r
- * expedite your project. *\r
- * *\r
- ***************************************************************************\r
- ***************************************************************************\r
-\r
- Please ensure to read the configuration and relevant port sections of the\r
- online documentation.\r
-\r
- http://www.FreeRTOS.org - Documentation, latest information, license and \r
- contact details.\r
-\r
- http://www.SafeRTOS.com - A version that is certified for use in safety \r
- critical systems.\r
-\r
- http://www.OpenRTOS.com - Commercial support, development, porting, \r
- licensing and training services.\r
-*/\r
-\r
-/*\r
-Changes from V1.2.3\r
- \r
- + The created tasks now include calls to tskYIELD(), allowing them to be used\r
- with the cooperative scheduler.\r
-*/\r
-\r
-/**\r
- * From the functionality point of view this module has the same behavior like\r
- * the integer.c standard demo task but the used stack size is optimized so that\r
- * not so much memory space is used which is not needed.\r
- * \r
- * This does the same as flop. c, but uses variables of type long instead of \r
- * type double. \r
- *\r
- * As with flop. c, the tasks created in this file are a good test of the \r
- * scheduler context switch mechanism. The processor has to access 32bit \r
- * variables in two or four chunks (depending on the processor). The low \r
- * priority of these tasks means there is a high probability that a context \r
- * switch will occur mid calculation. See the flop. c documentation for \r
- * more information.\r
- *\r
- * \page IntegerC integer.c\r
- * \ingroup DemoFiles\r
- * <HR>\r
- */\r
-\r
-/*\r
-Changes from V1.2.1\r
-\r
- + The constants used in the calculations are larger to ensure the\r
- optimiser does not truncate them to 16 bits.\r
-*/\r
-\r
-#include <stdlib.h>\r
-\r
-/* Scheduler include files. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-#include "print.h"\r
-\r
-/* Demo program include files. */\r
-#include "integer.h"\r
-\r
-#define intgSTACK_SIZE ( ( unsigned portSHORT ) 96 )\r
-#define intgNUMBER_OF_TASKS ( 8 )\r
-\r
-/* Four tasks, each of which performs a different calculation on four byte \r
-variables. Each of the four is created twice. */\r
-static void vCompeteingIntMathTask1( void *pvParameters );\r
-static void vCompeteingIntMathTask2( void *pvParameters );\r
-static void vCompeteingIntMathTask3( void *pvParameters );\r
-static void vCompeteingIntMathTask4( void *pvParameters );\r
-\r
-/* These variables are used to check that all the tasks are still running. If a \r
-task gets a calculation wrong it will stop incrementing its check variable. */\r
-static volatile unsigned portSHORT usTaskCheck[ intgNUMBER_OF_TASKS ] = { ( unsigned portSHORT ) 0 };\r
-/*-----------------------------------------------------------*/\r
-\r
-void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority )\r
-{\r
- xTaskCreate( vCompeteingIntMathTask1, "IntMath1", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 0 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask2, "IntMath2", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 1 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask3, "IntMath3", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 2 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask4, "IntMath4", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 3 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask1, "IntMath5", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 4 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask2, "IntMath6", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 5 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask3, "IntMath7", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 6 ] ), uxPriority, NULL );\r
- xTaskCreate( vCompeteingIntMathTask4, "IntMath8", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 7 ] ), uxPriority, NULL );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vCompeteingIntMathTask1( void *pvParameters )\r
-{\r
-portLONG l1, l2, l3, l4;\r
-portSHORT sError = pdFALSE;\r
-volatile unsigned portSHORT *pusTaskCheckVariable;\r
-const portLONG lAnswer = ( ( portLONG ) 74565L + ( portLONG ) 1234567L ) * ( portLONG ) -918L;\r
-const portCHAR * const pcTaskStartMsg = "Integer math task 1 started.\r\n";\r
-const portCHAR * const pcTaskFailMsg = "Integer math task 1 failed.\r\n";\r
-\r
- /* Queue a message for printing to say the task has started. */\r
- vPrintDisplayMessage( &pcTaskStartMsg );\r
-\r
- /* The variable this task increments to show it is still running is passed in\r
- as the parameter. */\r
- pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;\r
-\r
- /* Keep performing a calculation and checking the result against a constant. */\r
- for(;;)\r
- {\r
- l1 = ( portLONG ) 74565L;\r
- l2 = ( portLONG ) 1234567L;\r
- l3 = ( portLONG ) -918L;\r
-\r
- l4 = ( l1 + l2 ) * l3;\r
-\r
- taskYIELD();\r
-\r
- /* If the calculation does not match the expected constant, stop the\r
- increment of the check variable. */\r
- if( l4 != lAnswer )\r
- {\r
- vPrintDisplayMessage( &pcTaskFailMsg );\r
- sError = pdTRUE;\r
- }\r
-\r
- if( sError == pdFALSE )\r
- {\r
- /* If the calculation has always been correct, increment the check\r
- variable so we know this task is still running okay. */\r
- ( *pusTaskCheckVariable )++;\r
- }\r
- }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vCompeteingIntMathTask2( void *pvParameters )\r
-{\r
-portLONG l1, l2, l3, l4;\r
-portSHORT sError = pdFALSE;\r
-volatile unsigned portSHORT *pusTaskCheckVariable;\r
-const portLONG lAnswer = ( ( portLONG ) -389000L / ( portLONG ) 329999L ) * ( portLONG ) -89L;\r
-const portCHAR * const pcTaskStartMsg = "Integer math task 2 started.\r\n";\r
-const portCHAR * const pcTaskFailMsg = "Integer math task 2 failed.\r\n";\r
-\r
- /* Queue a message for printing to say the task has started. */\r
- vPrintDisplayMessage( &pcTaskStartMsg );\r
-\r
- /* The variable this task increments to show it is still running is passed in\r
- as the parameter. */\r
- pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;\r
-\r
- /* Keep performing a calculation and checking the result against a constant. */\r
- for( ;; )\r
- {\r
- l1 = -389000L;\r
- l2 = 329999L;\r
- l3 = -89L;\r
-\r
- l4 = ( l1 / l2 ) * l3;\r
-\r
- taskYIELD();\r
-\r
- /* If the calculation does not match the expected constant, stop the\r
- increment of the check variable. */\r
- if( l4 != lAnswer )\r
- {\r
- vPrintDisplayMessage( &pcTaskFailMsg );\r
- sError = pdTRUE;\r
- }\r
-\r
- if( sError == pdFALSE )\r
- {\r
- /* If the calculation has always been correct, increment the check\r
- variable so we know this task is still running okay. */\r
- ( *pusTaskCheckVariable )++;\r
- }\r
- }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vCompeteingIntMathTask3( void *pvParameters )\r
-{\r
-portLONG *plArray, lTotal1, lTotal2;\r
-portSHORT sError = pdFALSE;\r
-volatile unsigned portSHORT *pusTaskCheckVariable;\r
-const unsigned portSHORT usArraySize = ( unsigned portSHORT ) 125;\r
-unsigned portSHORT usPosition;\r
-const portCHAR * const pcTaskStartMsg = "Integer math task 3 started.\r\n";\r
-const portCHAR * const pcTaskFailMsg = "Integer math task 3 failed.\r\n";\r
-\r
- /* Queue a message for printing to say the task has started. */\r
- vPrintDisplayMessage( &pcTaskStartMsg );\r
-\r
- /* The variable this task increments to show it is still running is passed in\r
- as the parameter. */\r
- pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;\r
-\r
- /* Create the array we are going to use for our check calculation. */\r
- plArray = ( portLONG * ) pvPortMalloc( ( size_t ) 125 * sizeof( portLONG ) );\r
-\r
- /* Keep filling the array, keeping a running total of the values placed in the\r
- array. Then run through the array adding up all the values. If the two totals\r
- do not match, stop the check variable from incrementing. */\r
- for( ;; )\r
- {\r
- lTotal1 = ( portLONG ) 0;\r
- lTotal2 = ( portLONG ) 0;\r
-\r
- for( usPosition = 0; usPosition < usArraySize; usPosition++ )\r
- {\r
- plArray[ usPosition ] = ( portLONG ) usPosition + ( portLONG ) 5;\r
- lTotal1 += ( portLONG ) usPosition + ( portLONG ) 5;\r
- }\r
-\r
- taskYIELD();\r
-\r
- for( usPosition = 0; usPosition < usArraySize; usPosition++ )\r
- {\r
- lTotal2 += plArray[ usPosition ];\r
- }\r
-\r
- if( lTotal1 != lTotal2 )\r
- {\r
- vPrintDisplayMessage( &pcTaskFailMsg );\r
- sError = pdTRUE;\r
- }\r
-\r
- taskYIELD();\r
-\r
- if( sError == pdFALSE )\r
- {\r
- /* If the calculation has always been correct, increment the check\r
- variable so we know this task is still running okay. */\r
- ( *pusTaskCheckVariable )++;\r
- }\r
- }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vCompeteingIntMathTask4( void *pvParameters )\r
-{\r
-portLONG *plArray, lTotal1, lTotal2;\r
-portSHORT sError = pdFALSE;\r
-volatile unsigned portSHORT *pusTaskCheckVariable;\r
-const unsigned portSHORT usArraySize = 125;\r
-unsigned portSHORT usPosition;\r
-const portCHAR * const pcTaskStartMsg = "Integer math task 4 started.\r\n";\r
-const portCHAR * const pcTaskFailMsg = "Integer math task 4 failed.\r\n";\r
-\r
- /* Queue a message for printing to say the task has started. */\r
- vPrintDisplayMessage( &pcTaskStartMsg );\r
-\r
- /* The variable this task increments to show it is still running is passed in\r
- as the parameter. */\r
- pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;\r
-\r
- /* Create the array we are going to use for our check calculation. */\r
- plArray = ( portLONG * ) pvPortMalloc( ( size_t ) 125 * sizeof( portLONG ) );\r
-\r
- /* Keep filling the array, keeping a running total of the values placed in the \r
- array. Then run through the array adding up all the values. If the two totals \r
- do not match, stop the check variable from incrementing. */\r
- for( ;; )\r
- {\r
- lTotal1 = ( portLONG ) 0;\r
- lTotal2 = ( portLONG ) 0;\r
-\r
- for( usPosition = 0; usPosition < usArraySize; usPosition++ )\r
- {\r
- plArray[ usPosition ] = ( portLONG ) usPosition * ( portLONG ) 12;\r
- lTotal1 += ( portLONG ) usPosition * ( portLONG ) 12; \r
- }\r
-\r
- taskYIELD();\r
- \r
- for( usPosition = 0; usPosition < usArraySize; usPosition++ )\r
- {\r
- lTotal2 += plArray[ usPosition ];\r
- }\r
-\r
-\r
- if( lTotal1 != lTotal2 )\r
- {\r
- vPrintDisplayMessage( &pcTaskFailMsg );\r
- sError = pdTRUE;\r
- }\r
-\r
- taskYIELD();\r
-\r
- if( sError == pdFALSE )\r
- {\r
- /* If the calculation has always been correct, increment the check \r
- variable so we know this task is still running okay. */\r
- ( *pusTaskCheckVariable )++;\r
- }\r
- }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* This is called to check that all the created tasks are still running. */\r
-portBASE_TYPE xAreIntegerMathsTaskStillRunning( void )\r
-{\r
-/* Keep a history of the check variables so we know if they have been incremented \r
-since the last call. */\r
-static unsigned portSHORT usLastTaskCheck[ intgNUMBER_OF_TASKS ] = { ( unsigned portSHORT ) 0 };\r
-portBASE_TYPE xReturn = pdTRUE, xTask;\r
-\r
- /* Check the maths tasks are still running by ensuring their check variables \r
- are still incrementing. */\r
- for( xTask = 0; xTask < intgNUMBER_OF_TASKS; xTask++ )\r
- {\r
- if( usTaskCheck[ xTask ] == usLastTaskCheck[ xTask ] )\r
- {\r
- /* The check has not incremented so an error exists. */\r
- xReturn = pdFALSE;\r
- }\r
-\r
- usLastTaskCheck[ xTask ] = usTaskCheck[ xTask ];\r
- }\r
-\r
- return xReturn;\r
-}\r
+++ /dev/null
-/*\r
- FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
- This file is part of the FreeRTOS.org distribution.\r
-\r
- FreeRTOS.org is free software; you can redistribute it and/or modify\r
- it under the terms of the GNU General Public License as published by\r
- the Free Software Foundation; either version 2 of the License, or\r
- (at your option) any later version.\r
-\r
- FreeRTOS.org is distributed in the hope that it will be useful,\r
- but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- GNU General Public License for more details.\r
-\r
- You should have received a copy of the GNU General Public License\r
- along with FreeRTOS.org; if not, write to the Free Software\r
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-\r
- A special exception to the GPL can be applied should you wish to distribute\r
- a combined work that includes FreeRTOS.org, without being obliged to provide\r
- the source code for any proprietary components. See the licensing section \r
- of http://www.FreeRTOS.org for full details of how and when the exception\r
- can be applied.\r
-\r
- ***************************************************************************\r
- ***************************************************************************\r
- * *\r
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *\r
- * and even write all or part of your application on your behalf. *\r
- * See http://www.OpenRTOS.com for details of the services we provide to *\r
- * expedite your project. *\r
- * *\r
- ***************************************************************************\r
- ***************************************************************************\r
-\r
- Please ensure to read the configuration and relevant port sections of the\r
- online documentation.\r
-\r
- http://www.FreeRTOS.org - Documentation, latest information, license and \r
- contact details.\r
-\r
- http://www.SafeRTOS.com - A version that is certified for use in safety \r
- critical systems.\r
-\r
- http://www.OpenRTOS.com - Commercial support, development, porting, \r
- licensing and training services.\r
-*/\r
-\r
-#ifndef INTEGER_TASKS_H\r
-#define INTEGER_TASKS_H\r
-\r
-void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority );\r
-portBASE_TYPE xAreIntegerMathsTaskStillRunning( void );\r
-\r
-#endif\r
-\r
-\r
+++ /dev/null
-/*\r
- FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
- This file is part of the FreeRTOS.org distribution.\r
-\r
- FreeRTOS.org is free software; you can redistribute it and/or modify\r
- it under the terms of the GNU General Public License as published by\r
- the Free Software Foundation; either version 2 of the License, or\r
- (at your option) any later version.\r
-\r
- FreeRTOS.org is distributed in the hope that it will be useful,\r
- but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- GNU General Public License for more details.\r
-\r
- You should have received a copy of the GNU General Public License\r
- along with FreeRTOS.org; if not, write to the Free Software\r
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-\r
- A special exception to the GPL can be applied should you wish to distribute\r
- a combined work that includes FreeRTOS.org, without being obliged to provide\r
- the source code for any proprietary components. See the licensing section \r
- of http://www.FreeRTOS.org for full details of how and when the exception\r
- can be applied.\r
-\r
- ***************************************************************************\r
- ***************************************************************************\r
- * *\r
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *\r
- * and even write all or part of your application on your behalf. *\r
- * See http://www.OpenRTOS.com for details of the services we provide to *\r
- * expedite your project. *\r
- * *\r
- ***************************************************************************\r
- ***************************************************************************\r
-\r
- Please ensure to read the configuration and relevant port sections of the\r
- online documentation.\r
-\r
- http://www.FreeRTOS.org - Documentation, latest information, license and \r
- contact details.\r
-\r
- http://www.SafeRTOS.com - A version that is certified for use in safety \r
- critical systems.\r
-\r
- http://www.OpenRTOS.com - Commercial support, development, porting, \r
- licensing and training services.\r
-*/\r
-\r
-/**\r
- * This is a simple LED toggle test for the 78K0R/Kx3 Target Board (QB-78K0RKG3-TB).\r
- *\r
- * Creates two task that control one LED each. \r
- *\r
- * The first task toggles a LED with a frequency of 1Hz by using the vTaskDelay \r
- * function. So the task is yielded for 1 seconed after each LED switch.\r
- *\r
- * The second LED can be toggled by a switch within the second task.\r
- * When the switch is pushed it is detected by an interrupt. When the interrupt\r
- * occurs a flag is set in the ISR and sent to the second task by using a queue. \r
- * Therefore the xQueueSendFromISR() function is called from within the ISR to\r
- * write the flag value to the queue. The task uses the xQueueReceive() function\r
- * to read the flag value from the queue.\r
- * If the flag value changed from the last task activation the LED is toggled.\r
- * \r
- * Also a check function is implemented to check if the task still run properly\r
- */\r
-\r
-/* Scheduler include files. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Demo program include files. */\r
-#include "LED.h"\r
-#include "queue.h"\r
-#include "print.h"\r
-\r
-#define LEDToggleSTACK_SIZE (( unsigned portSHORT ) configMINIMAL_STACK_SIZE)\r
-#define LED_NUMBER_OF_TASKS 2 \r
-\r
-/* LED toggle wait time and check definitions */\r
-#define LED1_Wait_Time 1000\r
-#define LED2_Wait_Time 100\r
-\r
-/* Task function prototypes */\r
-static void vLEDToggleTask1( void *pvParameters);\r
-static void vLEDToggleTask2( void *pvParameters);\r
-\r
-/* Port Initialization for LED's and Switch */\r
-static void prvLEDInit(void);\r
-\r
-/* Switch press counter */\r
-static unsigned portSHORT usClick = 0;\r
-\r
-/* Queue used for LED02 toggle*/ \r
-static xQueueHandle xLEDQueue;\r
-\r
-/*xQUEUE *xLEDQueue;*/ \r
-\r
-static volatile unsigned portSHORT usTask1Check = 0, usTask2Check = 0, usLEDQueue = 0;\r
-\r
-void vStartLEDToggleTasks( unsigned portBASE_TYPE uxPriority )\r
-{\r
-\r
-const unsigned portBASE_TYPE uxQueueSize = 4;\r
-\r
- prvLEDInit();\r
-\r
- /* Create the queue used by the Switch ISR and the second task. */\r
- xLEDQueue = xQueueCreate( uxQueueSize, ( unsigned portBASE_TYPE ) sizeof( unsigned portSHORT ) );\r
- /* create 2 LED toggle Tasks */\r
- xTaskCreate(vLEDToggleTask1, "LEDTog1", LEDToggleSTACK_SIZE, ( void * ) &(usTask1Check), uxPriority, NULL );\r
- xTaskCreate(vLEDToggleTask2, "LEDTog2", LEDToggleSTACK_SIZE, ( void * ) &xLEDQueue, uxPriority, NULL ); \r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vLEDToggleTask1( void *pvParameters)\r
-{\r
-static portCHAR pcLED1old;\r
-portSHORT sError = pdFALSE;\r
-volatile unsigned portSHORT *pusTaskCheckVariable;\r
-const portCHAR * const pcTaskFailMsg = "ERROR: LED toggle failed.\r\n";\r
- \r
- pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters; \r
- for(;;)\r
- {\r
- pcLED1old = LED01;\r
- \r
- vTaskDelay( LED1_Wait_Time );\r
- /* toggle the LED01 */\r
- LED01 = ~LED01;\r
-\r
- if(pcLED1old == LED01)\r
- {\r
- /* an error has occured */\r
- vPrintDisplayMessage( &pcTaskFailMsg );\r
- sError = pdTRUE;\r
- }\r
- \r
- if(sError != pdTRUE)\r
- {\r
- /* If a LED toggle has been made, increment the check\r
- variable so we know this task is still running okay. */\r
- ( *pusTaskCheckVariable )++;\r
- }\r
- } \r
-} \r
-/*-----------------------------------------------------------*/\r
-\r
-static void vLEDToggleTask2( void *pvParameters)\r
-{\r
-unsigned portSHORT usData, usDataOld = 0;\r
-xQueueHandle *pxQueue;\r
- \r
- pxQueue = ( xQueueHandle * ) pvParameters;\r
- for(;;)\r
- {\r
- if( xQueueReceive( *pxQueue, &usData, ( portTickType ) 0 ) == pdPASS )\r
- {\r
- if (usData != usDataOld)\r
- {\r
- LED02 = ~LED02;\r
- }\r
- usDataOld = usData;\r
- }\r
- vTaskDelay( LED2_Wait_Time );\r
- /* increment check variable whenever the task gets active */\r
- usTask2Check++;\r
- } \r
-}\r
-\r
-portBASE_TYPE xAreLEDToggleTaskStillRunning( void )\r
-{\r
-/* \r
- * Keep a history of the check variables so we know if they have been incremented \r
- * since the last call.\r
- */\r
-static unsigned portSHORT usLastTask1Check = 0;\r
-static unsigned portSHORT usLastTask2Check = 0;\r
-portBASE_TYPE xReturn = pdTRUE;\r
-\r
- /* Check the LED toggle tasks are still running by ensuring their check variables \r
- * are still incrementing. \r
- */\r
- if(( usTask1Check == usLastTask1Check )||(usLastTask2Check == usTask2Check))\r
- {\r
- /* The check has not incremented so an error exists. */\r
- xReturn = pdFALSE;\r
- }\r
-\r
- usLastTask1Check = usTask1Check;\r
- usLastTask2Check = usTask2Check;\r
-\r
- return xReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvLEDInit(void)\r
-{\r
-/* LED Port Initialization */\r
- /* set Port Register */\r
- P7 = 0x80;\r
- /* set Port Mode Register */\r
- PM7 = 0x3F; \r
-\r
-/* Switch Pin Initialization */ \r
- /* enable pull-up resistor */ \r
- PU12_bit.no0 = 1; \r
- /* INTP0 disable */\r
- PMK0 = 1; \r
- /* INTP0 IF clear */\r
- PIF0 = 0; \r
- EGN0_bit.no0 = 1;\r
- /* INTP0 priority low */\r
- PPR10 = 0;\r
- PPR00 = 1;\r
- /* enable ext. INTP0 interrupt */\r
- PMK0 = 0; \r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Switch ISR */\r
-\r
-#pragma vector=INTP0_vect\r
-__interrupt void P0_isr (void)\r
-{\r
- /* Increment Switch pressed counter */\r
- usClick++;\r
- /* Use usClick to signalize a detected Interrupt for the vLEDToggleTask2\r
- * to toggle the LED02.\r
- */\r
- xQueueSendFromISR( xLEDQueue, &usClick, pdFALSE );\r
-}\r
-/*-----------------------------------------------------------*/
\ No newline at end of file
+++ /dev/null
-/*\r
- FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
- This file is part of the FreeRTOS.org distribution.\r
-\r
- FreeRTOS.org is free software; you can redistribute it and/or modify\r
- it under the terms of the GNU General Public License as published by\r
- the Free Software Foundation; either version 2 of the License, or\r
- (at your option) any later version.\r
-\r
- FreeRTOS.org is distributed in the hope that it will be useful,\r
- but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- GNU General Public License for more details.\r
-\r
- You should have received a copy of the GNU General Public License\r
- along with FreeRTOS.org; if not, write to the Free Software\r
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-\r
- A special exception to the GPL can be applied should you wish to distribute\r
- a combined work that includes FreeRTOS.org, without being obliged to provide\r
- the source code for any proprietary components. See the licensing section \r
- of http://www.FreeRTOS.org for full details of how and when the exception\r
- can be applied.\r
-\r
- ***************************************************************************\r
- ***************************************************************************\r
- * *\r
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *\r
- * and even write all or part of your application on your behalf. *\r
- * See http://www.OpenRTOS.com for details of the services we provide to *\r
- * expedite your project. *\r
- * *\r
- ***************************************************************************\r
- ***************************************************************************\r
-\r
- Please ensure to read the configuration and relevant port sections of the\r
- online documentation.\r
-\r
- http://www.FreeRTOS.org - Documentation, latest information, license and \r
- contact details.\r
-\r
- http://www.SafeRTOS.com - A version that is certified for use in safety \r
- critical systems.\r
-\r
- http://www.OpenRTOS.com - Commercial support, development, porting, \r
- licensing and training services.\r
-*/\r
-\r
-#ifndef LEDTOGGLE_TASKS_H\r
-#define LEDTOGGLE_TASKS_H\r
-\r
-void vStartLEDToggleTasks( unsigned portBASE_TYPE uxPriority );\r
-portBASE_TYPE xAreLEDToggleTaskStillRunning( void );\r
-/* LED Pin Configuration */\r
-static void prvLEDinit( void );\r
-\r
-#define LED01 P7_bit.no6\r
-#define LED02 P7_bit.no7\r
-\r
-#endif
\ No newline at end of file
/* Demo file headers. */\r
#include "int78K0R.h"\r
#include "PollQ.h"\r
-#include "LED.h"\r
-#include "print.h"\r
#include "semtest.h"\r
+#include "GenQTest.h"\r
+#include "dynamic.h"\r
+#include "blocktim.h"\r
\r
/*\r
* Priority definitions for most of the tasks in the demo application. Some\r
#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )\r
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )\r
#define mainSEMTEST_PRIORITY ( tskIDLE_PRIORITY + 1 )\r
-#define mainLED_TOGGLE_PRIORITY ( tskIDLE_PRIORITY + 1 )\r
+#define mainBUTTON_PRIORITY ( configMAX_PRIORITIES - 1 )\r
+#define mainGEN_QUEUE_PRIORITY ( tskIDLE_PRIORITY )\r
\r
/* The period between executions of the check task. */\r
#define mainNO_ERROR_TOGGLE_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )\r
#define mainERROR_TOGGLE_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS )\r
\r
+#define LED00 P7_bit.no6\r
+#define LED01 P7_bit.no7\r
+\r
/*\r
* 78K0R/Kx3 Option Byte Definition\r
* watchdog disabled, LVI enabled, OCD interface enabled\r
\r
extern void vRegTest1( void *pvParameters );\r
extern void vRegTest2( void *pvParameters );\r
+extern void vButtonTask( void *pvParameters );\r
\r
static short sRegTestStatus = pdPASS;\r
\r
portSHORT main( void )\r
{\r
/* Create the standard demo tasks. */\r
- vStartIntegerMathTasks( tskIDLE_PRIORITY );\r
vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
vStartSemaphoreTasks(mainSEMTEST_PRIORITY);\r
+ vStartGenericQueueTasks( mainGEN_QUEUE_PRIORITY );\r
+ vStartDynamicPriorityTasks();\r
+ vCreateBlockTimeTasks();\r
\r
+ xTaskCreate( vButtonTask, "Button", configMINIMAL_STACK_SIZE, NULL, mainBUTTON_PRIORITY, NULL );\r
+ \r
/* Create the tasks defined within this file. */\r
xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, (void*)0x12345678, mainCHECK_TASK_PRIORITY, NULL );\r
\r
xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
xTaskCreate( vRegTest2, "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL ); \r
\r
- /* In this port, to use preemptive scheduler define configUSE_PREEMPTION\r
- * as 1 in FreeRTOSconfig.h. To use the cooperative scheduler define\r
- * configUSE_PREEMPTION as 0.\r
- */\r
+\r
vTaskStartScheduler();\r
\r
- return 0;\r
+ for( ;; );\r
}\r
/*-----------------------------------------------------------*/\r
\r
{\r
vTaskDelayUntil( &xLastWakeTime, xToggleRate );\r
\r
- if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
+ if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
{\r
xToggleRate = mainERROR_TOGGLE_PERIOD;\r
}\r
{\r
xToggleRate = mainERROR_TOGGLE_PERIOD;\r
}\r
+ \r
+ if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
+ {\r
+ xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+ }\r
+\r
+ if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
+ {\r
+ xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+ }\r
\r
if( sRegTestStatus != pdPASS )\r
{\r
}\r
\r
/* Toggle the LED. */\r
- LED01 = !LED01;\r
+ LED00 = !LED00;\r
}\r
}\r
/*-----------------------------------------------------------*/\r
}\r
/*-----------------------------------------------------------*/\r
\r
+static void prvLEDInit(void)\r
+{\r
+/* LED Port Initialization */\r
+ /* set Port Register */\r
+ P7 = 0x80;\r
+ /* set Port Mode Register */\r
+ PM7 = 0x3F;\r
+\r
+/* Switch Pin Initialization */\r
+ /* enable pull-up resistor */\r
+ PU12_bit.no0 = 1;\r
+ /* INTP0 disable */\r
+ PMK0 = 1; \r
+ /* INTP0 IF clear */\r
+ PIF0 = 0; \r
+ EGN0_bit.no0 = 1;\r
+ /* INTP0 priority low */\r
+ PPR10 = 0;\r
+ PPR00 = 1;\r
+ /* enable ext. INTP0 interrupt */\r
+ PMK0 = 0;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
void vRegTestError( void )\r
{\r
sRegTestStatus = pdFAIL;\r
+++ /dev/null
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<project>\r
- <fileVersion>2</fileVersion>\r
- <fileChecksum>3729116561</fileChecksum>\r
- <configuration>\r
- <name>Debug</name>\r
- <outputs>\r
- <file>$PROJ_DIR$\Debug\List\integer.lst</file>\r
- <file>$TOOLKIT_DIR$\inc\intrinsics.h</file>\r
- <file>$PROJ_DIR$\..\Common\include\print.h</file>\r
- <file>$PROJ_DIR$\Debug\List\list.lst</file>\r
- <file>$PROJ_DIR$\Debug\List\tasks.lst</file>\r
- <file>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\portable.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\PollQ.pbi</file>\r
- <file>$PROJ_DIR$\Debug\Obj\portasm.r26</file>\r
- <file>$PROJ_DIR$\Debug\Obj\list.r26</file>\r
- <file>$PROJ_DIR$\Debug\Obj\PollQ.r26</file>\r
- <file>$PROJ_DIR$\Debug\Obj\semtest.r26</file>\r
- <file>$PROJ_DIR$\Debug\Obj\port.r26</file>\r
- <file>$PROJ_DIR$\Debug\List\rtosdemo.map</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\task.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\StackMacros.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\main.pbi</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stddef.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\queue.pbi</file>\r
- <file>$PROJ_DIR$\Debug\Obj\list.pbi</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\string.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\tasks.pbi</file>\r
- <file>$PROJ_DIR$\Debug\Obj\queue.r26</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\croutine.h</file>\r
- <file>$PROJ_DIR$\Debug\List\heap_1.lst</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\sysmac.h</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stdio.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\port.pbi</file>\r
- <file>$PROJ_DIR$\Debug\Obj\integer.r26</file>\r
- <file>$PROJ_DIR$\Debug\List\main.lst</file>\r
- <file>$TOOLKIT_DIR$\config\lnk78f1166_a0.xcl</file>\r
- <file>$PROJ_DIR$\Int78K0R\int78K0R.h</file>\r
- <file>$PROJ_DIR$\LEDtoggle\LED.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>\r
- <file>$PROJ_DIR$\FreeRTOSConfig.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\heap_1.pbi</file>\r
- <file>$PROJ_DIR$\Debug\Obj\tasks.r26</file>\r
- <file>$PROJ_DIR$\Debug\Obj\RegTest.r26</file>\r
- <file>$PROJ_DIR$\Debug\List\RegTest.lst</file>\r
- <file>$PROJ_DIR$\Debug\List\queue.lst</file>\r
- <file>$PROJ_DIR$\Debug\Obj\heap_1.r26</file>\r
- <file>$PROJ_DIR$\main.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>\r
- <file>$PROJ_DIR$\..\Common\include\PollQ.h</file>\r
- <file>$PROJ_DIR$\Debug\List\port.lst</file>\r
- <file>$PROJ_DIR$\..\Common\include\semtest.h</file>\r
- <file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\integer.pbi</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\list.h</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>\r
- <file>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\queue.h</file>\r
- <file>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>\r
- <file>$PROJ_DIR$\Debug\List\portasm.lst</file>\r
- <file>$PROJ_DIR$\Debug\Obj\semtest.pbi</file>\r
- <file>$PROJ_DIR$\Debug\Obj\main.r26</file>\r
- <file>$PROJ_DIR$\..\Common\include\integer.h</file>\r
- <file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>\r
- <file>$PROJ_DIR$\..\Common\Full\PollQ.c</file>\r
- <file>$PROJ_DIR$\RegTest.s26</file>\r
- <file>$PROJ_DIR$\..\..\Source\list.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</file>\r
- <file>$PROJ_DIR$\..\..\Source\queue.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\tasks.c</file>\r
- <file>$PROJ_DIR$\..\Common\Minimal\integer.c</file>\r
- <file>$PROJ_DIR$\Debug\List\PollQ.lst</file>\r
- <file>$PROJ_DIR$\Debug\List\semtest.lst</file>\r
- <file>$PROJ_DIR$\..\Common\Minimal\semtest.c</file>\r
- <file>$PROJ_DIR$\..\Common\Minimal\PollQ.c</file>\r
- </outputs>\r
- <file>\r
- <name>[ROOT_NODE]</name>\r
- <outputs>\r
- <tool>\r
- <name>XLINK</name>\r
- <file> 5 13</file>\r
- </tool>\r
- </outputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</name>\r
- <outputs>\r
- <tool>\r
- <name>XLINK</name>\r
- <file> 13</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>XLINK</name>\r
- <file> 31 10 38 41 29 9 58 12 8 23 11 37 60</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\main.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 30 58</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 17</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 32 44 33 2 46</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 32 44 33 2 46</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</name>\r
- <inputs>\r
- <tool>\r
- <name>BILINK</name>\r
- <file> 7 36 48 20 17 28 19 57 22</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\RegTest.s26</name>\r
- <outputs>\r
- <tool>\r
- <name>A78000</name>\r
- <file> 38 39</file>\r
- </tool>\r
- </outputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\list.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 3 9</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 20</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 25 41</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 36</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 45 12</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 28</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</name>\r
- <outputs>\r
- <tool>\r
- <name>A78000</name>\r
- <file> 8 56</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>A78000</name>\r
- <file> 35</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\queue.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 40 23</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 19</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 24</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 24</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\tasks.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 4 37</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 22</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 27 14 26 52 21 50 18 34 35 47 55 1 6 49 15 51 16</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 27 14 26 52 21 50 18 34 35 47 55 1 6 49 15 51 16</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 0 29</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 48</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51 59</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51 59</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 71 11</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 57</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51 43 54 46</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51 43 54 46</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 70 10</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 7</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51 54 44</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 26 50 18 34 35 47 55 1 6 49 15 51 54 44</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- </configuration>\r
- <configuration>\r
- <name>Release</name>\r
- <outputs>\r
- <file>$TOOLKIT_DIR$\inc\intrinsics.h</file>\r
- <file>$PROJ_DIR$\Release\Obj\int78K0R.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\tasks.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\portmacro.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\queue.pbi</file>\r
- <file>$PROJ_DIR$\Release\Exe\rtosdemo.a26</file>\r
- <file>$PROJ_DIR$\Release\Obj\PollQ.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\LED.pbi</file>\r
- <file>$PROJ_DIR$\..\Common\include\print.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\portable.h</file>\r
- <file>$PROJ_DIR$\..\Common\Full\semtest.c</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\task.h</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stddef.h</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\string.h</file>\r
- <file>$PROJ_DIR$\Release\Obj\list.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\print.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\rtosdemo.pbd</file>\r
- <file>$PROJ_DIR$\Release\Obj\PollQ.pbi</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\croutine.h</file>\r
- <file>$PROJ_DIR$\Int78K0R\int78K0R.c</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\sysmac.h</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stdio.h</file>\r
- <file>$TOOLKIT_DIR$\config\lnk78f1166_a0.xcl</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</file>\r
- <file>$PROJ_DIR$\Int78K0R\int78K0R.h</file>\r
- <file>$PROJ_DIR$\LEDtoggle\LED.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>\r
- <file>$PROJ_DIR$\FreeRTOSConfig.h</file>\r
- <file>$PROJ_DIR$\main.c</file>\r
- <file>$PROJ_DIR$\Release\Obj\port.r26</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.h</file>\r
- <file>$PROJ_DIR$\Release\Obj\tasks.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\print.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\port.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\heap_1.pbi</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>\r
- <file>$PROJ_DIR$\..\Common\include\PollQ.h</file>\r
- <file>$PROJ_DIR$\LEDtoggle\LED.c</file>\r
- <file>$PROJ_DIR$\..\Common\include\semtest.h</file>\r
- <file>$PROJ_DIR$\Release\Obj\LED.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\main.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\semtest.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\list.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\heap_1.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\main.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\semtest.r26</file>\r
- <file>$PROJ_DIR$\Release\Obj\int78K0R.pbi</file>\r
- <file>$PROJ_DIR$\Release\Obj\queue.r26</file>\r
- <file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\list.h</file>\r
- <file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\include\queue.h</file>\r
- <file>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>\r
- <file>$PROJ_DIR$\..\Common\include\integer.h</file>\r
- <file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>\r
- <file>$PROJ_DIR$\..\Common\Full\PollQ.c</file>\r
- <file>$PROJ_DIR$\..\Common\Full\print.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\list.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\queue.c</file>\r
- <file>$PROJ_DIR$\..\..\Source\tasks.c</file>\r
- </outputs>\r
- <file>\r
- <name>[ROOT_NODE]</name>\r
- <outputs>\r
- <tool>\r
- <name>XLINK</name>\r
- <file> 5</file>\r
- </tool>\r
- </outputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\Release\Exe\rtosdemo.a26</name>\r
- <inputs>\r
- <tool>\r
- <name>XLINK</name>\r
- <file> 23 40 6 44 1 15 41 30 3 33 48 46 2 57</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Full\semtest.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 46</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 42</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51 36 54 39 8</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51 36 54 39 8</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\Release\Obj\rtosdemo.pbd</name>\r
- <inputs>\r
- <tool>\r
- <name>BILINK</name>\r
- <file> 7 18 35 47 43 45 34 16 4 42 32</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\Int78K0R\int78K0R.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 1</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 47</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51 8 56</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51 8 56</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</name>\r
- <outputs>\r
- <tool>\r
- <name>A78000</name>\r
- <file> 3</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>A78000</name>\r
- <file> 28</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\main.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 41</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 45</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 25 37 26 8 39</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 25 37 26 8 39</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\LEDtoggle\LED.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 40</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 7</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 50 13 21 27 28 49 55 0 9 31 12 51 26 54 8</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 50 13 21 27 28 49 55 0 9 31 12 51 26 54 8</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 30</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 34</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Full\PollQ.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 6</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 18</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51 54 8 37</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51 54 8 37</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Full\print.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 33</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 16</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 54 8</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 54 8</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\list.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 15</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 43</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 44</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 35</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\queue.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 48</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 4</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 19</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 19</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\..\Source\tasks.c</name>\r
- <outputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 2</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 32</file>\r
- </tool>\r
- </outputs>\r
- <inputs>\r
- <tool>\r
- <name>ICC78000</name>\r
- <file> 22 11 21 52 14 50 13 27 28 49 55 0 9 31 12 51</file>\r
- </tool>\r
- <tool>\r
- <name>BICOMP</name>\r
- <file> 22 11 21 52 14 50 13 27 28 49 55 0 9 31 12 51</file>\r
- </tool>\r
- </inputs>\r
- </file>\r
- <forcedrebuild>\r
- <name>[MULTI_TOOL]</name>\r
- <tool>XLINK</tool>\r
- </forcedrebuild>\r
- </configuration>\r
-</project>\r
-\r
-\r
<name>CCIncludePath2</name>\r
<state>$PROJ_DIR$\..\..\Source\include</state>\r
<state>$PROJ_DIR$\..\Common\include</state>\r
- <state>$PROJ_DIR$\LEDtoggle</state>\r
<state>$PROJ_DIR$\Int78K0R</state>\r
<state>$PROJ_DIR$</state>\r
</option>\r
</option>\r
<option>\r
<name>OAIncludePath2</name>\r
- <state>$PROJ_DIR$\..\..\Source\include</state>\r
- <state>$PROJ_DIR$\..\Common\include</state>\r
- <state>$PROJ_DIR$\LEDtoggle</state>\r
+ <state>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R</state>\r
<state>$PROJ_DIR$</state>\r
</option>\r
<option>\r
</configuration>\r
<group>\r
<name>Demo Source</name>\r
+ <group>\r
+ <name>StandardDemos</name>\r
+ <file>\r
+ <name>$PROJ_DIR$\..\Common\Minimal\blocktim.c</name>\r
+ </file>\r
+ <file>\r
+ <name>$PROJ_DIR$\..\Common\Minimal\dynamic.c</name>\r
+ </file>\r
+ <file>\r
+ <name>$PROJ_DIR$\..\Common\Minimal\GenQTest.c</name>\r
+ </file>\r
+ <file>\r
+ <name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>\r
+ </file>\r
+ <file>\r
+ <name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>\r
+ </file>\r
+ </group>\r
<file>\r
- <name>$PROJ_DIR$\main.c</name>\r
+ <name>$PROJ_DIR$\ButtonISR.s26</name>\r
+ </file>\r
+ <file>\r
+ <name>$PROJ_DIR$\ButtonTask.c</name>\r
</file>\r
<file>\r
- <name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>\r
+ <name>$PROJ_DIR$\main.c</name>\r
</file>\r
<file>\r
<name>$PROJ_DIR$\RegTest.s26</name>\r
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>\r
</file>\r
</group>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>\r
- </file>\r
- <file>\r
- <name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>\r
- </file>\r
</project>\r
\r
\r
<Project>\r
<Desktop>\r
<Static>\r
- <Debug-Log/>\r
+ <Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window><Window><Factory>Breakpoints</Factory></Window><Window><Factory>Watch</Factory></Window></Windows></PreferedWindows></Debug-Log>\r
<Build>\r
<ColumnWidth0>20</ColumnWidth0>\r
<ColumnWidth1>1216</ColumnWidth1>\r
<ColumnWidth2>324</ColumnWidth2>\r
<ColumnWidth3>81</ColumnWidth3>\r
- </Build>\r
+ <PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window><Window><Factory>Breakpoints</Factory></Window><Window><Factory>Watch</Factory></Window></Windows></PreferedWindows></Build>\r
<Workspace>\r
<ColumnWidths>\r
\r
\r
\r
\r
- <Column0>138</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+ <Column0>181</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
</Workspace>\r
<Disassembly>\r
<PreferedWindows>\r
\r
\r
<MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly>\r
- <Register/><Watch><Format><struct_types/><watch_formats/></Format><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Watch><Memory><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory></Static>\r
+ <Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register><Watch><Format><struct_types/><watch_formats/></Format><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window><Window><Factory>Build</Factory></Window><Window><Factory>Breakpoints</Factory></Window></Windows></PreferedWindows><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Watch><Memory><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Breakpoints><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window><Window><Factory>Build</Factory></Window><Window><Factory>Watch</Factory></Window></Windows></PreferedWindows></Breakpoints></Static>\r
<Windows>\r
\r
\r
- <Wnd0>\r
- <Tabs>\r
- <Tab>\r
- <Identity>TabID-15892-1978</Identity>\r
- <TabName>Debug Log</TabName>\r
- <Factory>Debug-Log</Factory>\r
- <Session/>\r
- </Tab>\r
- <Tab>\r
- <Identity>TabID-15370-1988</Identity>\r
- <TabName>Build</TabName>\r
- <Factory>Build</Factory>\r
- <Session/>\r
- </Tab>\r
- <Tab><Identity>TabID-15381-14004</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab><Tab><Identity>TabID-30955-22315</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>usCriticalNesting</Expression></Expression><Expression><Expression>pxCurrentTCB</Expression></Expression><Expression><Expression>pxTopOfStack</Expression></Expression></Expressions><TabId>1</TabId><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab></Tabs>\r
- \r
- <SelectedTab>0</SelectedTab></Wnd0><Wnd4>\r
+ <Wnd1>\r
<Tabs>\r
<Tab>\r
<Identity>TabID-26641-1982</Identity>\r
</Tab>\r
</Tabs>\r
\r
- <SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-29701-24386</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5><Wnd6><Tabs><Tab><Identity>TabID-10381-31310</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>1</States><State0>PSW</State0></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd6><Wnd7><Tabs><Tab><Identity>TabID-32148-30071</Identity><TabName>Memory</TabName><Factory>Memory</Factory><Session><ZoneNumber>5</ZoneNumber><SelectionAnchor>103624864d</SelectionAnchor><SelectionEnd>103624864d</SelectionEnd><UnitsPerGroup>1</UnitsPerGroup><EndianMode>0</EndianMode><DataCovEnabled>0</DataCovEnabled><DataCovShown>0</DataCovShown><HScroll>064d</HScroll><VScroll>6475864d</VScroll></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd7></Windows>\r
+ <SelectedTab>0</SelectedTab></Wnd1><Wnd4><Tabs><Tab><Identity>TabID-7145-8325</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-6162-8753</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>pvReturn</Expression></Expression><Expression><Expression>xNextFreeByte</Expression></Expression></Expressions><TabId>0</TabId><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab><Tab><Identity>TabID-24881-24777</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-935-8851</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>\r
<Editor>\r
\r
\r
\r
\r
- <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\port.c</Filename><XPos>0</XPos><YPos>104</YPos><SelStart>4766</SelStart><SelEnd>4766</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>4695</SelStart><SelEnd>4695</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\RegTest.s26</Filename><XPos>0</XPos><YPos>57</YPos><SelStart>2622</SelStart><SelEnd>2622</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\tasks.c</Filename><XPos>0</XPos><YPos>1207</YPos><SelStart>38811</SelStart><SelEnd>38811</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>153</YPos><SelStart>6500</SelStart><SelEnd>6500</SelEnd></Tab><ActiveTab>4</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\list.c</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>6044</SelStart><SelEnd>6044</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
+ <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>91</YPos><SelStart>4068</SelStart><SelEnd>4068</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\SwitchISR.s26.c</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>1732</SelStart><SelEnd>1749</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>2187</SelStart><SelEnd>2187</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portmacro.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>4776</SelStart><SelEnd>4776</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\ISR_Support.h</Filename><XPos>0</XPos><YPos>24</YPos><SelStart>1618</SelStart><SelEnd>1618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonTask.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>2364</SelStart><SelEnd>2364</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonISR.s26</Filename><XPos>0</XPos><YPos>23</YPos><SelStart>1785</SelStart><SelEnd>1785</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\blocktim.c</Filename><XPos>0</XPos><YPos>430</YPos><SelStart>15217</SelStart><SelEnd>15251</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
<Positions>\r
\r
\r
\r
\r
\r
- <Top><Row0><Sizes><Toolbar-00aa9b40><key>iaridepm.enu1</key></Toolbar-00aa9b40><Toolbar-029980a0><key>debuggergui.enu1</key></Toolbar-029980a0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>496</Bottom><Right>212</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>152857</sizeVertCX><sizeVertCY>507128</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd6><Rect><Top>-2</Top><Left>-2</Left><Bottom>496</Bottom><Right>281</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>202143</sizeVertCX><sizeVertCY>507128</sizeVertCY></Rect></Wnd6></Sizes></Row0><Row1><Sizes><Wnd5><Rect><Top>-2</Top><Left>279</Left><Bottom>496</Bottom><Right>738</Right><x>279</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>327857</sizeVertCX><sizeVertCY>507128</sizeVertCY></Rect></Wnd5></Sizes></Row1></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>244</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>246</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>250509</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd0></Sizes></Row0><Row1><Sizes><Wnd7><Rect><Top>242</Top><Left>-2</Left><Bottom>442</Bottom><Right>1402</Right><x>-2</x><y>242</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd7></Sizes></Row1></Bottom><Float><Sizes/></Float></Positions>\r
+ <Top><Row0><Sizes><Toolbar-00aa9c38><key>iaridepm.enu1</key></Toolbar-00aa9c38><Toolbar-03afbbc8><key>debuggergui.enu1</key></Toolbar-03afbbc8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>255</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>152976</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>633</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>377976</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd4></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
</Desktop>\r
</Project>\r
\r
\r
\r
\r
- <Column0>218</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+ <Column0>277</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
</Workspace>\r
<Build>\r
\r
<Factory>Workspace</Factory>\r
<Session>\r
\r
- <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode></NodeDict></Session>\r
+ <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Demo Source/StandardDemos</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode></NodeDict></Session>\r
</Tab>\r
</Tabs>\r
\r
\r
\r
\r
- <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\port.c</Filename><XPos>0</XPos><YPos>104</YPos><SelStart>4766</SelStart><SelEnd>4766</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>4695</SelStart><SelEnd>4695</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\RegTest.s26</Filename><XPos>0</XPos><YPos>57</YPos><SelStart>2622</SelStart><SelEnd>2622</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\tasks.c</Filename><XPos>0</XPos><YPos>1207</YPos><SelStart>38811</SelStart><SelEnd>38811</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>153</YPos><SelStart>6053</SelStart><SelEnd>6053</SelEnd></Tab><ActiveTab>4</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\list.c</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>6044</SelStart><SelEnd>6044</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
+ <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>91</YPos><SelStart>4068</SelStart><SelEnd>4068</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\SwitchISR.s26.c</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>1732</SelStart><SelEnd>1749</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>2187</SelStart><SelEnd>2187</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portmacro.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>4776</SelStart><SelEnd>4776</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\ISR_Support.h</Filename><XPos>0</XPos><YPos>24</YPos><SelStart>1618</SelStart><SelEnd>1618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonTask.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>2364</SelStart><SelEnd>2364</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonISR.s26</Filename><XPos>0</XPos><YPos>23</YPos><SelStart>1785</SelStart><SelEnd>1785</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\blocktim.c</Filename><XPos>0</XPos><YPos>430</YPos><SelStart>15217</SelStart><SelEnd>15251</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
<Positions>\r
\r
\r
\r
\r
\r
- <Top><Row0><Sizes><Toolbar-00aa9b40><key>iaridepm.enu1</key></Toolbar-00aa9b40></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>735</Bottom><Right>292</Right><x>-2</x><y>-2</y><xscreen>182</xscreen><yscreen>205</yscreen><sizeHorzCX>130000</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>210000</sizeVertCX><sizeVertCY>750509</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>203</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>205</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>130000</sizeVertCX><sizeVertCY>208758</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
+ <Top><Row0><Sizes><Toolbar-00aa9c38><key>iaridepm.enu1</key></Toolbar-00aa9c38></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>735</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>218</xscreen><yscreen>205</yscreen><sizeHorzCX>129762</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>750509</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>203</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>205</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>129762</sizeVertCX><sizeVertCY>208758</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
</Desktop>\r
</Workspace>\r
\r