]> git.sur5r.net Git - freertos/commitdiff
First pass demo for 78K0R.
authorRichardBarry <RichardBarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 3 Feb 2009 19:46:32 +0000 (19:46 +0000)
committerRichardBarry <RichardBarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 3 Feb 2009 19:46:32 +0000 (19:46 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@669 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

15 files changed:
Demo/NEC_78K0R_IAR/FreeRTOSConfig.h [new file with mode: 0644]
Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c [new file with mode: 0644]
Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h [new file with mode: 0644]
Demo/NEC_78K0R_IAR/LEDtoggle/LED.c [new file with mode: 0644]
Demo/NEC_78K0R_IAR/LEDtoggle/LED.h [new file with mode: 0644]
Demo/NEC_78K0R_IAR/RegTest.s26 [new file with mode: 0644]
Demo/NEC_78K0R_IAR/main.c [new file with mode: 0644]
Demo/NEC_78K0R_IAR/rtosdemo.dep [new file with mode: 0644]
Demo/NEC_78K0R_IAR/rtosdemo.ewd [new file with mode: 0644]
Demo/NEC_78K0R_IAR/rtosdemo.ewp [new file with mode: 0644]
Demo/NEC_78K0R_IAR/rtosdemo.eww [new file with mode: 0644]
Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat [new file with mode: 0644]
Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt [new file with mode: 0644]
Demo/NEC_78K0R_IAR/settings/rtosdemo.dni [new file with mode: 0644]
Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt [new file with mode: 0644]

diff --git a/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
new file mode 100644 (file)
index 0000000..ef76430
--- /dev/null
@@ -0,0 +1,131 @@
+/*\r
+       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
+    ***************************************************************************\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 FREERTOS_CONFIG_H\r
+#define FREERTOS_CONFIG_H\r
+\r
+/* only include in C files */\r
+#ifdef __IAR_SYSTEMS_ICC__\r
+\r
+       #pragma language=extended\r
+       #pragma system_include\r
+\r
+       #include <io78f1166_a0.h>\r
+       #include <io78f1166_a0_ext.h>\r
+       #include <intrinsics.h>\r
+\r
+#endif  /* __IAR_SYSTEMS_ICC__ */\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
+ * 78K0R/Kx3 Memory Model\r
+ * 1 = use far memory mode\r
+ * 0 = use near memory mode\r
+ *\r
+ * This setting must match the setting in the IAR project options.\r
+ */\r
+#define configMEMORY_MODE               1\r
+\r
+/*\r
+ * Application specific definitions.\r
+ *\r
+ * These definitions should be adjusted for your particular hardware and\r
+ * application requirements.\r
+ *\r
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
+ */\r
+\r
+#define configUSE_PREEMPTION           1\r
+\r
+/* only use following section for C files */\r
+#ifdef __IAR_SYSTEMS_ICC__\r
+\r
+       #define configUSE_IDLE_HOOK                             0\r
+       #define configUSE_TICK_HOOK                             0\r
+       #define configTICK_RATE_HZ                              ( ( portTickType ) 1000 )\r
+       #define configMAX_PRIORITIES                    ( ( unsigned portBASE_TYPE ) 4 )\r
+       #define configMINIMAL_STACK_SIZE                ( ( unsigned portSHORT ) 75 )\r
+       #define configTOTAL_HEAP_SIZE                   ( (size_t ) ( 6000 ) )\r
+       #define configMAX_TASK_NAME_LEN                 ( 10 )\r
+       #define configUSE_TRACE_FACILITY                0\r
+       #define configUSE_16_BIT_TICKS                  1\r
+       #define configIDLE_SHOULD_YIELD                 1\r
+       #define configCHECK_FOR_STACK_OVERFLOW  0\r
+\r
+       /* Co-routine definitions. */\r
+       #define configUSE_CO_ROUTINES                   0\r
+       #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\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_vTaskDelete                             1\r
+       #define INCLUDE_vTaskCleanUpResources   0\r
+       #define INCLUDE_vTaskSuspend                    0\r
+       #define INCLUDE_vTaskDelayUntil                 1\r
+       #define INCLUDE_vTaskDelay                              1\r
+\r
+       #ifdef configCLOCK_SOURCE == 0\r
+               #define configCPU_CLOCK_HZ                      ( ( unsigned portLONG ) 20000000 )  /* using the external clock source */\r
+       #else\r
+               #define configCPU_CLOCK_HZ                      ( ( unsigned portLONG ) 8000000 )   /* using the internal high speed clock */\r
+       #endif /* configCLOCK_SOURCE */\r
+\r
+#endif /* __IAR_SYSTEMS_ICC__ */\r
+\r
+#endif /* FREERTOS_CONFIG_H */\r
+\r
diff --git a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c
new file mode 100644 (file)
index 0000000..68ffabd
--- /dev/null
@@ -0,0 +1,353 @@
+/*\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
diff --git a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h
new file mode 100644 (file)
index 0000000..2bd3318
--- /dev/null
@@ -0,0 +1,58 @@
+/*\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
diff --git a/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c b/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c
new file mode 100644 (file)
index 0000000..f25640f
--- /dev/null
@@ -0,0 +1,234 @@
+/*\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
diff --git a/Demo/NEC_78K0R_IAR/LEDtoggle/LED.h b/Demo/NEC_78K0R_IAR/LEDtoggle/LED.h
new file mode 100644 (file)
index 0000000..9d2884a
--- /dev/null
@@ -0,0 +1,61 @@
+/*\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
diff --git a/Demo/NEC_78K0R_IAR/RegTest.s26 b/Demo/NEC_78K0R_IAR/RegTest.s26
new file mode 100644 (file)
index 0000000..9b51b40
--- /dev/null
@@ -0,0 +1,150 @@
+;      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
+;------------------------------------------------------------------------------\r
+\r
+#if __CORE__ != __78K0R__\r
+       #error "This file is only for 78K0R Devices"\r
+#endif\r
+\r
+; Functions implemented in this file\r
+;------------------------------------------------------------------------------\r
+\r
+       PUBLIC    vRegTest1\r
+       PUBLIC    vRegTest2\r
+\r
+; Functions used by this file\r
+;------------------------------------------------------------------------------\r
+       EXTERN    vRegTestError\r
+\r
+;------------------------------------------------------------------------------\r
+;   Fill all the registers with known values, then check that the registers\r
+;   contain the expected value.  An incorrect value being indicative of an\r
+;   error in the context switch mechanism.\r
+;\r
+;   Input:  NONE\r
+;\r
+;   Call:   CALL    vRegTest1\r
+;\r
+;   Output: NONE\r
+;\r
+;------------------------------------------------------------------------------\r
+    RSEG CODE:CODE\r
+vRegTest1:\r
+\r
+       MOVW    AX, #0x1122\r
+       MOVW    BC, #0x3344\r
+       MOVW    DE, #0x5566\r
+       MOVW    HL, #0x7788\r
+       MOV             CS, #0x01\r
+       MOV             ES, #0x02\r
+\r
+loop1:\r
+       BRK\r
+       CMPW    AX, #0x1122\r
+       BZ              +5\r
+       BR              vRegTestError   \r
+       MOVW    AX, BC\r
+       CMPW    AX, #0x3344\r
+       BZ              +5\r
+       BR              vRegTestError   \r
+       MOVW    AX, DE\r
+       CMPW    AX, #0x5566\r
+       BZ              +5\r
+       BR              vRegTestError   \r
+       MOVW    AX, HL  \r
+       CMPW    AX, #0x7788\r
+       BZ              +5\r
+       BR              vRegTestError\r
+       MOV             A, CS\r
+       CMP             A, #0x01\r
+       BZ              +5\r
+       BR              vRegTestError\r
+       MOV             A, ES\r
+       CMP             A, #0x02\r
+       BZ              +5\r
+       BR              vRegTestError\r
+       MOVW    AX, #0x1122\r
+       BR              loop1\r
+\r
+\r
+;------------------------------------------------------------------------------\r
+;   Fill all the registers with known values, then check that the registers\r
+;   contain the expected value.  An incorrect value being indicative of an\r
+;   error in the context switch mechanism.\r
+;\r
+;   Input:  NONE\r
+;\r
+;   Call:   CALL    vRegTest1\r
+;\r
+;   Output: NONE\r
+;\r
+;------------------------------------------------------------------------------\r
+    RSEG CODE:CODE\r
+vRegTest2:\r
+\r
+       MOVW    AX, #0x99aa\r
+       MOVW    BC, #0xbbcc\r
+       MOVW    DE, #0xddee\r
+       MOVW    HL, #0xff12\r
+       MOV             CS, #0x03\r
+       MOV             ES, #0x04       \r
+\r
+loop2:\r
+       CMPW    AX, #0x99aa\r
+       BZ              +5\r
+       BR              vRegTestError   \r
+       MOVW    AX, BC\r
+       CMPW    AX, #0xbbcc\r
+       BZ              +5\r
+       BR              vRegTestError   \r
+       MOVW    AX, DE\r
+       CMPW    AX, #0xddee\r
+       BZ              +5\r
+       BR              vRegTestError   \r
+       MOVW    AX, HL  \r
+       CMPW    AX, #0xff12\r
+       BZ              +5\r
+       BR              vRegTestError\r
+       MOV             A, CS\r
+       CMP             A, #0x03\r
+       BZ              +5\r
+       BR              vRegTestError\r
+       MOV             A, ES\r
+       CMP             A, #0x04\r
+       BZ              +5\r
+       BR              vRegTestError\r
+       MOVW    AX, #0x99aa\r
+       BR              loop2\r
+\r
+\r
+       END\r
diff --git a/Demo/NEC_78K0R_IAR/main.c b/Demo/NEC_78K0R_IAR/main.c
new file mode 100644 (file)
index 0000000..c94ab40
--- /dev/null
@@ -0,0 +1,294 @@
+/*\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
+/* Standard includes. */\r
+#include <stdlib.h>\r
+#include <string.h>\r
+\r
+/* Scheduler include files. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+\r
+/* Demo file headers. */\r
+#include "int78K0R.h"\r
+#include "PollQ.h"\r
+#include "LED.h"\r
+#include "print.h"\r
+#include "semtest.h"\r
+\r
+/*\r
+ * Priority definitions for most of the tasks in the demo application.  Some\r
+ * tasks just use the idle priority.\r
+ */\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
+\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
+/*\r
+ * 78K0R/Kx3 Option Byte Definition\r
+ * watchdog disabled, LVI enabled, OCD interface enabled\r
+ */\r
+__root __far const unsigned portCHAR OptionByte[OPT_BYTES_SIZE] @ 0x00C0 =\r
+{\r
+       WATCHDOG_DISABLED, LVI_ENABLED, RESERVED_FF, OCD_ENABLED\r
+};\r
+\r
+/* Security Byte Definition */\r
+__root __far const unsigned portCHAR SecuIDCode[SECU_ID_SIZE]   @ 0x00C4 =\r
+{\r
+       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff\r
+};\r
+\r
+/* The task function for the "Check" task. */\r
+static void vErrorChecks( void *pvParameters );\r
+\r
+\r
+/* 78K0R/Kx3 low level init Initialization of the System Clock */\r
+int __low_level_init(void);\r
+\r
+extern void vRegTest1( void *pvParameters );\r
+extern void vRegTest2( 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
+\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
+       vPrintInitialise();\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
+       vTaskStartScheduler();\r
+\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void vErrorChecks( void *pvParameters )\r
+{\r
+portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;\r
+\r
+       /* The pointer will only actually be either 3 or 2 bytes, depending on the\r
+       memory model. */\r
+       if( pvParameters != ( void * ) 0x12345678 )\r
+       {\r
+               xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+       }\r
+\r
+       xLastWakeTime = xTaskGetTickCount();\r
+\r
+       /* Cycle for ever, delaying then checking all the other tasks are still\r
+       operating without error. */\r
+       for( ;; )\r
+       {\r
+               vTaskDelayUntil( &xLastWakeTime, xToggleRate );\r
+\r
+               if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
+               {\r
+                       xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+               }\r
+\r
+               if( xArePollingQueuesStillRunning() != pdTRUE)\r
+               {\r
+                       xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+               }\r
+\r
+               if( xAreSemaphoreTasksStillRunning() != pdTRUE)\r
+               {\r
+                       xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+               }\r
+\r
+               if( sRegTestStatus != pdPASS )\r
+               {\r
+                       xToggleRate = mainERROR_TOGGLE_PERIOD;\r
+               }\r
+\r
+               /* Toggle the LED. */\r
+               LED01 = !LED01;\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+int __low_level_init(void)\r
+{\r
+unsigned portCHAR resetflag = RESF;\r
+\r
+       portDISABLE_INTERRUPTS();\r
+\r
+       /*\r
+        * Clock Configuration:\r
+        * In this port, to use the internal high speed clock source of the microcontroller\r
+        * define the configCLOCK_SOURCE as 1 in FreeRTOSConfig.h.  To use an external\r
+        * clock define configCLOCK_SOURCE as 0.\r
+        */\r
+       #if configCLOCK_SOURCE == 1\r
+       {\r
+               /*\r
+                * Set XT1 and XT2 in Input Port Mode\r
+                * Set X1  and X2  in Input Port Mode\r
+                * High speed oszillation frequency 2MHz <= fMX <= 10MHz\r
+                */\r
+               CMC = 0x00;\r
+\r
+               /* X1 external oszillation stopped */\r
+               MSTOP = 1;\r
+\r
+               /* enable internal high speed oszillation */\r
+               HIOSTOP = 0;\r
+               MCM0 = 0;\r
+\r
+               /* stop internal subsystem clock */\r
+               XTSTOP = 1;\r
+\r
+               /* Set clock speed */\r
+               CSS = 0;\r
+               CKC &= (unsigned portCHAR)~0x07;\r
+               CKC |= 0x00;\r
+       }\r
+       #else\r
+       {\r
+               /*\r
+                * XT1 and XT2 pin in input port mode\r
+                * X1  and X2  pin in crystal resonator mode\r
+                * High speed oszillation frequency 10MHz < fMX <= 20MHz\r
+                */\r
+               CMC   = 0x41;\r
+               \r
+               /* Set oscillation stabilization time */\r
+               OSTS  = 0x07;\r
+               \r
+               /* Set speed mode: fMX > 10MHz for Flash memory high speed operation */\r
+               OSMC  = 0x01;\r
+               \r
+               /*\r
+                * Start up X1 oscillator operation\r
+                * Internal high-speed oscillator operating\r
+                */\r
+               MSTOP = 0;\r
+               \r
+               /* Check oscillation stabilization time status */\r
+               while(OSTC < 0x07)\r
+               {\r
+                       /* wait until X1 clock stabilization time */\r
+                       portNOP();\r
+               }\r
+               \r
+               /* Switch CPU clock to X1 oscillator */\r
+               MCM0 = 1;\r
+               while(MCS != 1)\r
+               {\r
+                       /* wait until CPU and peripherals operate with fX1 clock */\r
+                       portNOP();\r
+               }\r
+\r
+               /* Stop the internal high-speed oscillator operation */\r
+               HIOSTOP = 1;\r
+               \r
+               /* Stop the XT1 oscillator operation */\r
+               XTSTOP  = 1;\r
+               \r
+               /*\r
+                * operating frequency f = fx\r
+                * Change clock generator setting, if necessary\r
+                */\r
+               CKC &= 0xF8;\r
+\r
+               /* From here onwards the X1 oscillator is supplied to the CPU */\r
+       }\r
+       #endif\r
+       \r
+       /* LED Port Initialization - set Port Register */\r
+       P7  = 0x80;\r
+       \r
+       /* Set Port Mode Register */\r
+       PM7 = 0x3F;\r
+       \r
+       /* Switch Pin Initialization - enable pull-up resistor */\r
+       PU12_bit.no0  = 1;\r
+       \r
+       /* INTP0 disable */\r
+       PMK0 = 1;                       \r
+       \r
+       /* INTP0 IF clear */\r
+       PIF0 = 0;                       \r
+       EGN0_bit.no0  = 1;\r
+       \r
+       /* INTP0 priority low */\r
+       PPR10 = 0;\r
+       PPR00 = 1;\r
+       \r
+       /* enable ext. INTP0 interrupt */\r
+       PMK0  = 0;      \r
+\r
+       return pdTRUE;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vRegTestError( void )\r
+{\r
+       sRegTestStatus = pdFAIL;\r
+       for( ;; );\r
+}\r
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.dep b/Demo/NEC_78K0R_IAR/rtosdemo.dep
new file mode 100644 (file)
index 0000000..aa74619
--- /dev/null
@@ -0,0 +1,830 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<project>\r
+  <fileVersion>2</fileVersion>\r
+  <fileChecksum>3820058658</fileChecksum>\r
+  <configuration>\r
+    <name>Debug</name>\r
+    <outputs>\r
+      <file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\port.pbi</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\integer.r26</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\print.r26</file>\r
+      <file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>\r
+      <file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>\r
+      <file>$PROJ_DIR$\Debug\List\PollQ.lst</file>\r
+      <file>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\portable.h</file>\r
+      <file>$PROJ_DIR$\..\Common\Full\semtest.c</file>\r
+      <file>$PROJ_DIR$\..\Common\Full\PollQ.c</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\main.pbi</file>\r
+      <file>$PROJ_DIR$\Debug\List\semtest.lst</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$\..\..\Source\include\StackMacros.h</file>\r
+      <file>$PROJ_DIR$\Int78K0R\int78K0R.c</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\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\Obj\int78K0R.r26</file>\r
+      <file>$PROJ_DIR$\Debug\List\main.lst</file>\r
+      <file>$TOOLKIT_DIR$\config\lnk78f1166_a0.xcl</file>\r
+      <file>$PROJ_DIR$\Debug\List\int78K0R.lst</file>\r
+      <file>$TOOLKIT_DIR$\inc\intrinsics.h</file>\r
+      <file>$PROJ_DIR$\Debug\List\integer.lst</file>\r
+      <file>$PROJ_DIR$\..\Common\include\PollQ.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>\r
+      <file>$PROJ_DIR$\Debug\List\rtosdemo.map</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\task.h</file>\r
+      <file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\portmacro.r26</file>\r
+      <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.h</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\integer.pbi</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\list.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.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\Obj\LED.r26</file>\r
+      <file>$PROJ_DIR$\FreeRTOSConfig.h</file>\r
+      <file>$PROJ_DIR$\Debug\List\tasks.lst</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$\..\..\Source\include\projdefs.h</file>\r
+      <file>$PROJ_DIR$\LEDtoggle\LED.h</file>\r
+      <file>$PROJ_DIR$\Debug\List\print.lst</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\port.r26</file>\r
+      <file>$PROJ_DIR$\Debug\List\LED.lst</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\main.r26</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\print.pbi</file>\r
+      <file>$PROJ_DIR$\..\Common\include\integer.h</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\semtest.r26</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>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\PollQ.pbi</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\semtest.pbi</file>\r
+      <file>$PROJ_DIR$\Debug\List\port.lst</file>\r
+      <file>$PROJ_DIR$\LEDtoggle\LED.c</file>\r
+      <file>$PROJ_DIR$\..\Common\include\semtest.h</file>\r
+      <file>$PROJ_DIR$\Debug\List\portasm.lst</file>\r
+      <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.s26</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\int78K0R.pbi</file>\r
+      <file>$PROJ_DIR$\Debug\List\RegTest.lst</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\LED.pbi</file>\r
+      <file>$PROJ_DIR$\Debug\List\queue.lst</file>\r
+      <file>$PROJ_DIR$\Debug\Obj\heap_1.r26</file>\r
+      <file>$PROJ_DIR$\..\Common\Full\print.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$\main.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$\..\..\Source\include\queue.h</file>\r
+    </outputs>\r
+    <file>\r
+      <name>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</name>\r
+      <outputs>\r
+        <tool>\r
+          <name>XLINK</name>\r
+          <file> 36</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>XLINK</name>\r
+          <file> 30 63 27 77 2 62 57 55 61 3 18 60 26 0</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> 12 60</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 66</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 35 88 69 45</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 35 88 69 45</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 63</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 65</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 88 45 34</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 88 45 34</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> 31 28</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 73</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 45 59</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 45 59</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>BICOMP</name>\r
+          <file> 1</file>\r
+        </tool>\r
+      </outputs>\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> 40</file>\r
+        </tool>\r
+      </outputs>\r
+    </file>\r
+    <file>\r
+      <name>[ROOT_NODE]</name>\r
+      <outputs>\r
+        <tool>\r
+          <name>XLINK</name>\r
+          <file> 7 36</file>\r
+        </tool>\r
+      </outputs>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\LEDtoggle\LED.c</name>\r
+      <outputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 56 47</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 75</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 44 13 23 52 48 4 64 32 8 41 37 43 53 88 45</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 44 13 23 52 48 4 64 32 8 41 37 43 53 88 45</file>\r
+        </tool>\r
+      </inputs>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.s26</name>\r
+      <outputs>\r
+        <tool>\r
+          <name>A78000</name>\r
+          <file> 40</file>\r
+        </tool>\r
+      </outputs>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</name>\r
+      <inputs>\r
+        <tool>\r
+          <name>BILINK</name>\r
+          <file> 65 25 42 15 11 1 58 14 66 17</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> 54 3</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 58</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 88 45</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 88 45</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> 27 74</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> 46 62</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 15</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 43</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 43</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> 22 77</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 25</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</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> 67 55</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 1</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</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> 29 57</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 11</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 51 34 53 45 69</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 51 34 53 45 69</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> 61 70</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>A78000</name>\r
+          <file> 48</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> 76 18</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 14</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 19</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 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> 49 26</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> 24 38 23 5 16 44 13 52 48 4 64 32 8 41 37 43 20</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 24 38 23 5 16 44 13 52 48 4 64 32 8 41 37 43 20</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> 33 2</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> 5 23 44 13 52 48 4 64 32 8 41 37 43 59</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 59</file>\r
+        </tool>\r
+      </inputs>\r
+    </file>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <outputs>\r
+      <file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>\r
+      <file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>\r
+      <file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.h</file>\r
+      <file>$PROJ_DIR$\Release\Obj\port.r26</file>\r
+      <file>$PROJ_DIR$\Release\Obj\int78K0R.pbi</file>\r
+      <file>$PROJ_DIR$\Release\Obj\queue.r26</file>\r
+      <file>$PROJ_DIR$\Release\Exe\rtosdemo.a26</file>\r
+      <file>$PROJ_DIR$\Release\Obj\PollQ.r26</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\portable.h</file>\r
+      <file>$PROJ_DIR$\..\Common\Full\semtest.c</file>\r
+      <file>$PROJ_DIR$\..\Common\Full\PollQ.c</file>\r
+      <file>$TOOLKIT_DIR$\inc\clib\stddef.h</file>\r
+      <file>$TOOLKIT_DIR$\inc\clib\string.h</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>$TOOLKIT_DIR$\inc\intrinsics.h</file>\r
+      <file>$PROJ_DIR$\..\Common\include\PollQ.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\task.h</file>\r
+      <file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\list.h</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>\r
+      <file>$PROJ_DIR$\..\Common\include\print.h</file>\r
+      <file>$PROJ_DIR$\FreeRTOSConfig.h</file>\r
+      <file>$PROJ_DIR$\Release\Obj\tasks.pbi</file>\r
+      <file>$PROJ_DIR$\Release\Obj\LED.pbi</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$\..\..\Source\include\projdefs.h</file>\r
+      <file>$PROJ_DIR$\Release\Obj\semtest.pbi</file>\r
+      <file>$PROJ_DIR$\Release\Obj\main.r26</file>\r
+      <file>$PROJ_DIR$\Release\Obj\list.pbi</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$\LEDtoggle\LED.h</file>\r
+      <file>$PROJ_DIR$\Release\Obj\queue.pbi</file>\r
+      <file>$PROJ_DIR$\Release\Obj\LED.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$\..\Common\include\integer.h</file>\r
+      <file>$PROJ_DIR$\Release\Obj\print.r26</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>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>\r
+      <file>$PROJ_DIR$\LEDtoggle\LED.c</file>\r
+      <file>$PROJ_DIR$\..\Common\include\semtest.h</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$\main.c</file>\r
+      <file>$PROJ_DIR$\Release\Obj\PollQ.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$\..\..\Source\queue.c</file>\r
+      <file>$PROJ_DIR$\..\..\Source\tasks.c</file>\r
+      <file>$PROJ_DIR$\..\..\Source\include\queue.h</file>\r
+    </outputs>\r
+    <file>\r
+      <name>$PROJ_DIR$\Release\Exe\rtosdemo.a26</name>\r
+      <inputs>\r
+        <tool>\r
+          <name>XLINK</name>\r
+          <file> 18 42 8 58 37 47 35 4 39 46 6 60 38 0</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> 60</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> 2 16 26 12 33 28 1 50 19 9 3 22 25 21 63 52 27</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 21 63 52 27</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> 8</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> 2 16 26 12 33 28 1 50 19 9 3 22 25 63 27 20</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 63 27 20</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> 37</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 5</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 27 45</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 27 45</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> 4</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> 2 16 26 12 33 28 1 50 19 9 3 22 25</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</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> 39</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>[ROOT_NODE]</name>\r
+      <outputs>\r
+        <tool>\r
+          <name>XLINK</name>\r
+          <file> 7</file>\r
+        </tool>\r
+      </outputs>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\Release\Obj\rtosdemo.pbd</name>\r
+      <inputs>\r
+        <tool>\r
+          <name>BILINK</name>\r
+          <file> 30 57 44 5 36 59 43 48 41 34 29</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> 42</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 30</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 26 12 16 33 28 1 50 19 9 3 22 25 40 63 27</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 26 12 16 33 28 1 50 19 9 3 22 25 40 63 27</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> 46</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> 2 16 26 12 33 28 1 50 19 9 3 63 27</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 63 27</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> 47</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> 2 16 26 12 33 28 1 50 19 9 3 25</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 25</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> 58</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 44</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</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> 35</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 59</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 32 20 40 27 52</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 32 20 40 27 52</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> 6</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 41</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 14</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 14</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> 38</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 29</file>\r
+        </tool>\r
+      </outputs>\r
+      <inputs>\r
+        <tool>\r
+          <name>ICC78000</name>\r
+          <file> 17 23 16 2 13 26 12 33 28 1 50 19 9 3 22 25</file>\r
+        </tool>\r
+        <tool>\r
+          <name>BICOMP</name>\r
+          <file> 17 23 16 2 13 26 12 33 28 1 50 19 9 3 22 25</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
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.ewd b/Demo/NEC_78K0R_IAR/rtosdemo.ewd
new file mode 100644 (file)
index 0000000..a1daedf
--- /dev/null
@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<project>\r
+  <fileVersion>2</fileVersion>\r
+  <configuration>\r
+    <name>Debug</name>\r
+    <toolchain>\r
+      <name>78000</name>\r
+    </toolchain>\r
+    <debug>1</debug>\r
+    <settings>\r
+      <name>C-SPY</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>2</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CMandatory</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>DebuggerProcessorVariant</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DebuggerCodeModel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRunToEnable</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CRunToName</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
+          <name>CMacOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CMacFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DynDriver</name>\r
+          <state>MIC78K</state>\r
+        </option>\r
+        <option>\r
+          <name>DDFOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DDFFile</name>\r
+          <state>$TOOLKIT_DIR$\CONFIG\DDF\io78f1166_a0.ddf</state>\r
+        </option>\r
+        <option>\r
+          <name>DebuggerNearConstLocation</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DDDFileSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CSpyExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CSpyExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>EMU78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>IEC78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSupExchAdapter</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>MIC78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>SIM78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CSimMandatory</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>TKS78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuComPort</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\codecoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Orti\orti.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Profiling\profiling.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Stack\stack.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+    </debuggerPlugins>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <toolchain>\r
+      <name>78000</name>\r
+    </toolchain>\r
+    <debug>0</debug>\r
+    <settings>\r
+      <name>C-SPY</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>2</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CMandatory</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>DebuggerProcessorVariant</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DebuggerCodeModel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRunToEnable</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CRunToName</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
+          <name>CMacOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CMacFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DynDriver</name>\r
+          <state>MIC78K</state>\r
+        </option>\r
+        <option>\r
+          <name>DDFOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DDFFile</name>\r
+          <state>$TOOLKIT_DIR$\CONFIG\DDF\io78f1166_a0.ddf</state>\r
+        </option>\r
+        <option>\r
+          <name>DebuggerNearConstLocation</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DDDFileSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CSpyExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CSpyExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>EMU78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>IEC78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSupExchAdapter</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>MIC78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>SIM78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CSimMandatory</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>TKS78K</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CEmuMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUSuppressLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyLoad</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuComPort</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\codecoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Orti\orti.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Profiling\profiling.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Stack\stack.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+    </debuggerPlugins>\r
+  </configuration>\r
+</project>\r
+\r
+\r
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.ewp b/Demo/NEC_78K0R_IAR/rtosdemo.ewp
new file mode 100644 (file)
index 0000000..9c5c19b
--- /dev/null
@@ -0,0 +1,1851 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<project>\r
+  <fileVersion>2</fileVersion>\r
+  <configuration>\r
+    <name>Debug</name>\r
+    <toolchain>\r
+      <name>78000</name>\r
+    </toolchain>\r
+    <debug>1</debug>\r
+    <settings>\r
+      <name>General</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>7</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>GeneralCodeModel</name>\r
+          <version>1</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>ExePath</name>\r
+          <state>Debug\Exe</state>\r
+        </option>\r
+        <option>\r
+          <name>ObjPath</name>\r
+          <state>Debug\Obj</state>\r
+        </option>\r
+        <option>\r
+          <name>ListPath</name>\r
+          <state>Debug\List</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralStack</name>\r
+          <state>0x80</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankReg</name>\r
+          <state>0xFFF3</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankBanks</name>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankStart</name>\r
+          <state>0x8000</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankSize</name>\r
+          <state>8</state>\r
+        </option>\r
+        <option>\r
+          <name>GOutputBinary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelect</name>\r
+          <version>0</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>RTDescription</name>\r
+          <state>Use the legacy C runtime library.</state>\r
+        </option>\r
+        <option>\r
+          <name>RTConfigPath</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RTLibraryPath</name>\r
+          <state>$TOOLKIT_DIR$\LIB\CLIB\cl78kff3.r26</state>\r
+        </option>\r
+        <option>\r
+          <name>Input variant</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Input description</name>\r
+          <state>Full formatting.</state>\r
+        </option>\r
+        <option>\r
+          <name>Output variant</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Output description</name>\r
+          <state>Full formatting.</state>\r
+        </option>\r
+        <option>\r
+          <name>GHeapSize</name>\r
+          <state>512</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelectSlave</name>\r
+          <version>0</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralEnableMisra</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVerbose</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NoDivuwMulu</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OGeneralDataModel</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralNearConstLocation</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralNearConstStart</name>\r
+          <state>0xF1000</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralNearConstSize</name>\r
+          <state>47.75</state>\r
+        </option>\r
+        <option>\r
+          <name>GFarHeapSize</name>\r
+          <state>4096</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralDeviceSelect</name>\r
+          <state>78F1166_A0    78K0R - uPD78F1166_A0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVer</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>ICC78000</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>15</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CompilerProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerCodeModel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerObjPrefix</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCExt</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCharIs</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerCalltFuncRt</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataAlignData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerWrksegEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerWrksegSize</name>\r
+          <state>20</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDebugInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRequirePrototypes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMultibyteSupport</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMigrationPreprocExtentions</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerAllowList</name>\r
+          <version>1</version>\r
+          <state>00000</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerObjUseModuleName</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerObjModuleName</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDefines</name>\r
+          <state>__IAR_78KOR_Kx3__</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocComments</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMnemonics</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMessages</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssSource</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCEnableRemarks</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagSuppress</name>\r
+          <state>Pa082</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagRemark</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarning</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagError</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarnAreErr</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCompilerRuntimeInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>$FILE_BNAME$.r26</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLangSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLibConfigHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PreInclude</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\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
+          <name>CCStdIncCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCStdIncludePath</name>\r
+          <state>$TOOLKIT_DIR$\INC\</state>\r
+          <state>$TOOLKIT_DIR$\INC\CLIB\</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataModel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerNearConstLocation</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCOverrideModuleTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleTypeSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptStrategy</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevelSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>A78000</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>9</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AObjPrefix</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ACaseSensitivity</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacroChars</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AList</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AListHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AListing</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Includes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacDefs</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExps</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExec</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OnlyAssed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MultiLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>structAsm</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>TabSpacing</name>\r
+          <state>8</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDefines</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefInternal</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDual</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADefines</name>\r
+          <state>__FAR_MODEL__</state>\r
+          <state>__FAR_DATA_MODEL__</state>\r
+        </option>\r
+        <option>\r
+          <name>Debug</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Multibyte</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>$FILE_BNAME$.r26</state>\r
+        </option>\r
+        <option>\r
+          <name>ANoIfdefMatching</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AAllowMnemonics</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AAllowDirectives</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Diagnostic</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>APreProc</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>APreProcComment</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>APreProcLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxErrChk</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxNumErr</name>\r
+          <state>100</state>\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$</state>\r
+        </option>\r
+        <option>\r
+          <name>OAStdIncCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OAStdIncludePath</name>\r
+          <state>$TOOLKIT_DIR$\INC\</state>\r
+        </option>\r
+        <option>\r
+          <name>AEnableRemarks</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagSuppress</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagRemark</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagWarning</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagError</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagWarnAreErr</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AsmExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AsmExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>CUSTOM</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <extensions></extensions>\r
+        <cmdline></cmdline>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BICOMP</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+    <settings>\r
+      <name>BUILDACTION</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <prebuild></prebuild>\r
+        <postbuild></postbuild>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XLINK</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>15</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>XExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>XOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>rtosdemo.d26</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFormat</name>\r
+          <version>11</version>\r
+          <state>23</state>\r
+        </option>\r
+        <option>\r
+          <name>FormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>SecondaryOutputFile</name>\r
+          <state>(None for the selected format)</state>\r
+        </option>\r
+        <option>\r
+          <name>XDefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AlwaysOutput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OverlapWarnings</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NoGlobalCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XList</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>SegmentMap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ListSymbols</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>XIncludes</name>\r
+          <state>$TOOLKIT_DIR$\LIB\</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleStatus</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFile</name>\r
+          <state>$TOOLKIT_DIR$\CONFIG\lnk78f1166_a0.xcl</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFileSlave</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoFill</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>FillerByte</name>\r
+          <state>0xFF</state>\r
+        </option>\r
+        <option>\r
+          <name>DoCrc</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcSize</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlgo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcPoly</name>\r
+          <state>0x11021</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcCompl</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RangeCheckAlternatives</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressAllWarn</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressDiags</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsWarn</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsErr</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleLocalSym</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcBitOrder</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IncludeSuppressed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleSummary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkStackSize</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkCodeModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabel</name>\r
+          <state>__program_start</state>\r
+        </option>\r
+        <option>\r
+          <name>DebugInformation</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RuntimeControl</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IoEmulation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XcRTLibraryFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OXLibIOConfig</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryHeap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GenerateExtraOutput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFile</name>\r
+          <state>rtosdemo.lnk</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFormat</name>\r
+          <version>11</version>\r
+          <state>72</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraFormatVariant</name>\r
+          <version>8</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>xcOverrideProgramEntryLabel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabelSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ListOutputFormat</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>BufferedTermOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XLinkMisraHandler</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryNearConstLocation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryFarHeap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OverlaySystemMap</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySymbol</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySegment</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryAlign</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlign</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcInitialValue</name>\r
+          <state>0x0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XAR</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>XAROutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XARInputs</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BILINK</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <toolchain>\r
+      <name>78000</name>\r
+    </toolchain>\r
+    <debug>0</debug>\r
+    <settings>\r
+      <name>General</name>\r
+      <archiveVersion>5</archiveVersion>\r
+      <data>\r
+        <version>7</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>GeneralCodeModel</name>\r
+          <version>1</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>ExePath</name>\r
+          <state>Release\Exe</state>\r
+        </option>\r
+        <option>\r
+          <name>ObjPath</name>\r
+          <state>Release\Obj</state>\r
+        </option>\r
+        <option>\r
+          <name>ListPath</name>\r
+          <state>Release\List</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralStack</name>\r
+          <state>0x80</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankReg</name>\r
+          <state>0xFFF3</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankBanks</name>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankStart</name>\r
+          <state>0x8000</state>\r
+        </option>\r
+        <option>\r
+          <name>CodeBankSize</name>\r
+          <state>8</state>\r
+        </option>\r
+        <option>\r
+          <name>GOutputBinary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelect</name>\r
+          <version>0</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>RTDescription</name>\r
+          <state>Use the legacy C runtime library.</state>\r
+        </option>\r
+        <option>\r
+          <name>RTConfigPath</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RTLibraryPath</name>\r
+          <state>$TOOLKIT_DIR$\LIB\CLIB\cl78kff3.r26</state>\r
+        </option>\r
+        <option>\r
+          <name>Input variant</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Input description</name>\r
+          <state>Full formatting.</state>\r
+        </option>\r
+        <option>\r
+          <name>Output variant</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Output description</name>\r
+          <state>Full formatting.</state>\r
+        </option>\r
+        <option>\r
+          <name>GHeapSize</name>\r
+          <state>512</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelectSlave</name>\r
+          <version>0</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralEnableMisra</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVerbose</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NoDivuwMulu</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OGeneralDataModel</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralNearConstLocation</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralNearConstStart</name>\r
+          <state>0xF1000</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralNearConstSize</name>\r
+          <state>47.75</state>\r
+        </option>\r
+        <option>\r
+          <name>GFarHeapSize</name>\r
+          <state>4096</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralDeviceSelect</name>\r
+          <state>78F1166_A0    78K0R - uPD78F1166_A0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVer</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>ICC78000</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>15</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CompilerProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerCodeModel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerObjPrefix</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCExt</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCharIs</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerCalltFuncRt</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataAlignData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerWrksegEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerWrksegSize</name>\r
+          <state>20</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDebugInfo</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRequirePrototypes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMultibyteSupport</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMigrationPreprocExtentions</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerAllowList</name>\r
+          <version>1</version>\r
+          <state>11111</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerObjUseModuleName</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerObjModuleName</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDefines</name>\r
+          <state>__IAR_78KOR_Kx3__</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocComments</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMnemonics</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMessages</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssSource</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCEnableRemarks</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagSuppress</name>\r
+          <state>Pa082</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagRemark</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarning</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagError</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarnAreErr</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCompilerRuntimeInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>$FILE_BNAME$.r26</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLangSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLibConfigHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PreInclude</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\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
+          <name>CCStdIncCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCStdIncludePath</name>\r
+          <state>$TOOLKIT_DIR$\INC\</state>\r
+          <state>$TOOLKIT_DIR$\INC\CLIB\</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataModel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerNearConstLocation</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCOverrideModuleTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleTypeSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevel</name>\r
+          <state>3</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptStrategy</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevelSlave</name>\r
+          <state>3</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>A78000</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>9</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AObjPrefix</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ACaseSensitivity</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacroChars</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AList</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AListHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AListing</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Includes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacDefs</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExps</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExec</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OnlyAssed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MultiLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>structAsm</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>TabSpacing</name>\r
+          <state>8</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDefines</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefInternal</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDual</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADefines</name>\r
+          <state>__FAR_MODEL__</state>\r
+          <state>__FAR_DATA_MODEL__</state>\r
+        </option>\r
+        <option>\r
+          <name>Debug</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Multibyte</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>$FILE_BNAME$.r26</state>\r
+        </option>\r
+        <option>\r
+          <name>ANoIfdefMatching</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AAllowMnemonics</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AAllowDirectives</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Diagnostic</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>APreProc</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>APreProcComment</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>APreProcLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxErrChk</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxNumErr</name>\r
+          <state>100</state>\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$</state>\r
+        </option>\r
+        <option>\r
+          <name>OAStdIncCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OAStdIncludePath</name>\r
+          <state>$TOOLKIT_DIR$\INC\</state>\r
+        </option>\r
+        <option>\r
+          <name>AEnableRemarks</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagSuppress</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagRemark</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagWarning</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagError</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADiagWarnAreErr</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AsmExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AsmExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>CUSTOM</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <extensions></extensions>\r
+        <cmdline></cmdline>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BICOMP</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+    <settings>\r
+      <name>BUILDACTION</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <prebuild></prebuild>\r
+        <postbuild></postbuild>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XLINK</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>15</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>XExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>XOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>rtosdemo.a26</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFormat</name>\r
+          <version>11</version>\r
+          <state>23</state>\r
+        </option>\r
+        <option>\r
+          <name>FormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>SecondaryOutputFile</name>\r
+          <state>(None for the selected format)</state>\r
+        </option>\r
+        <option>\r
+          <name>XDefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AlwaysOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OverlapWarnings</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NoGlobalCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XList</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SegmentMap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ListSymbols</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>XIncludes</name>\r
+          <state>$TOOLKIT_DIR$\LIB\</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleStatus</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFile</name>\r
+          <state>$TOOLKIT_DIR$\CONFIG\lnk78f1166_a0.xcl</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFileSlave</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoFill</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>FillerByte</name>\r
+          <state>0xFF</state>\r
+        </option>\r
+        <option>\r
+          <name>DoCrc</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcSize</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlgo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcPoly</name>\r
+          <state>0x11021</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcCompl</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RangeCheckAlternatives</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressAllWarn</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressDiags</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsWarn</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsErr</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleLocalSym</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcBitOrder</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IncludeSuppressed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleSummary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkStackSize</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkCodeModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabel</name>\r
+          <state>__program_start</state>\r
+        </option>\r
+        <option>\r
+          <name>DebugInformation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RuntimeControl</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IoEmulation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XcRTLibraryFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OXLibIOConfig</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryHeap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GenerateExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFile</name>\r
+          <state>rtosdemo.a26</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFormat</name>\r
+          <version>11</version>\r
+          <state>23</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraFormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>xcOverrideProgramEntryLabel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabelSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ListOutputFormat</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>BufferedTermOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XLinkMisraHandler</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryNearConstLocation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryFarHeap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OverlaySystemMap</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySymbol</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySegment</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryAlign</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlign</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcInitialValue</name>\r
+          <state>0x0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XAR</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>XAROutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XARInputs</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BILINK</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+  </configuration>\r
+  <group>\r
+    <name>Demo Source</name>\r
+    <file>\r
+      <name>$PROJ_DIR$\main.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\Common\Full\PollQ.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\Common\Full\print.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\RegTest.s26</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\Common\Full\semtest.c</name>\r
+    </file>\r
+  </group>\r
+  <group>\r
+    <name>Kernel Source</name>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\list.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\queue.c</name>\r
+    </file>\r
+    <file>\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
+</project>\r
+\r
+\r
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.eww b/Demo/NEC_78K0R_IAR/rtosdemo.eww
new file mode 100644 (file)
index 0000000..2294aac
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<workspace>\r
+  <project>\r
+    <path>$WS_DIR$\rtosdemo.ewp</path>\r
+  </project>\r
+  <batchBuild/>\r
+</workspace>\r
+\r
+\r
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat b/Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat
new file mode 100644 (file)
index 0000000..9865cab
--- /dev/null
@@ -0,0 +1,33 @@
+@REM This bat file has been generated by the IAR Embeddded Workbench\r
+@REM C-SPY interactive debugger,as an aid to preparing a command\r
+@REM line for running the cspybat command line utility with the\r
+@REM appropriate settings.\r
+@REM\r
+@REM After making some adjustments to this file, you can launch cspybat\r
+@REM by typing the name of this file followed by the name of the debug\r
+@REM file (usually an ubrof file). Note that this file is generated\r
+@REM every time a new debug session is initialized, so you may want to\r
+@REM move or rename the file before making changes.\r
+@REM\r
+@REM Note: some command line arguments cannot be properly generated\r
+@REM by this process. Specifically, the plugin which is responsible\r
+@REM for the Terminal I/O window (and other C runtime functionality)\r
+@REM comes in a special version for cspybat, and the name of that\r
+@REM plugin dll is not known when generating this file. It resides in\r
+@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or\r
+@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding\r
+@REM tool chain. Replace the '<libsupport_plugin>' parameter\r
+@REM below with the appropriate file name. Other plugins loaded by\r
+@REM C-SPY are usually not needed by, or will not work in, cspybat\r
+@REM but they are listed at the end of this file for reference.\r
+\r
+\r
+"C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\78k\bin\78k0rproc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\78k\bin\78k0rminitks.dll"  %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 5.0\78k\bin\<libsupport_plugin>" --backend -B "--core" "78k0r" "--near_const_location" "rom1" "--near_const_start" "0xF1000" "--near_const_size" "47.75" "-p" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\78k\CONFIG\DDF\io78f1166_a0.ddf" "-d" "minicube" \r
+\r
+\r
+@REM Loaded plugins:\r
+@REM    78kLibSupport.dll\r
+@REM    C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\CodeCoverage\CodeCoverage.dll\r
+@REM    C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\Profiling\Profiling.dll\r
+@REM    C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\stack\stack.dll\r
+@REM    C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\SymList\SymList.dll\r
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt b/Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt
new file mode 100644 (file)
index 0000000..850a154
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<Project>\r
+  <Desktop>\r
+    <Static>\r
+      <Debug-Log/>\r
+      <Build>\r
+        <ColumnWidth0>20</ColumnWidth0>\r
+        <ColumnWidth1>1216</ColumnWidth1>\r
+        <ColumnWidth2>324</ColumnWidth2>\r
+        <ColumnWidth3>81</ColumnWidth3>\r
+      </Build>\r
+      <Workspace>\r
+        <ColumnWidths>\r
+          \r
+          \r
+          \r
+          \r
+        <Column0>181</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+      </Workspace>\r
+      <Disassembly>\r
+        <PreferedWindows>\r
+          \r
+          \r
+          \r
+          \r
+        <Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows>\r
+        \r
+        \r
+      <MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly>\r
+    <Register/><Watch><Format><struct_types/><watch_formats/></Format><Column0>100</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Watch></Static>\r
+    <Windows>\r
+      \r
+      \r
+    <Wnd2>\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></Tabs>\r
+        \r
+      <SelectedTab>0</SelectedTab></Wnd2><Wnd6>\r
+        <Tabs>\r
+          <Tab>\r
+            <Identity>TabID-26641-1982</Identity>\r
+            <TabName>Workspace</TabName>\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
+          </Tab>\r
+        </Tabs>\r
+        \r
+      <SelectedTab>0</SelectedTab></Wnd6><Wnd7><Tabs><Tab><Identity>TabID-10381-31310</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>0</States></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd7><Wnd8><Tabs><Tab><Identity>TabID-22710-15119</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd8><Wnd9><Tabs><Tab><Identity>TabID-16207-15446</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>usCriticalNesting</Expression></Expression></Expressions><TabId>0</TabId><Column0>100</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd9></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>48</YPos><SelStart>689</SelStart><SelEnd>689</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>85</YPos><SelStart>3884</SelStart><SelEnd>3884</SelEnd></Tab><ActiveTab>1</ActiveTab><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\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>122</YPos><SelStart>6048</SelStart><SelEnd>6048</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portmacro.h</Filename><XPos>0</XPos><YPos>106</YPos><SelStart>4913</SelStart><SelEnd>4913</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-00aa9c38><key>iaridepm.enu1</key></Toolbar-00aa9c38><Toolbar-04375918><key>debuggergui.enu1</key></Toolbar-04375918></Sizes></Row0></Top><Left><Row0><Sizes><Wnd6><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></Wnd6></Sizes></Row0></Left><Right><Row0><Sizes><Wnd7><Rect><Top>-2</Top><Left>-2</Left><Bottom>553</Bottom><Right>536</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>320238</sizeVertCX><sizeVertCY>565173</sizeVertCY></Rect></Wnd7><Wnd9><Rect><Top>0</Top><Left>0</Left><Bottom>0</Bottom><Right>543518313</Right><x>-2</x><y>551</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>320238</sizeVertCX><sizeVertCY>192464</sizeVertCY></Rect></Wnd9></Sizes></Row0><Row1><Sizes><Wnd8><Rect><Top>-2</Top><Left>534</Left><Bottom>740</Bottom><Right>939</Right><x>534</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>241071</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd8></Sizes></Row1></Right><Bottom><Row0><Sizes><Wnd2><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>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
+  </Desktop>\r
+</Project>\r
+\r
+\r
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.dni b/Demo/NEC_78K0R_IAR/settings/rtosdemo.dni
new file mode 100644 (file)
index 0000000..0e6ccd1
--- /dev/null
@@ -0,0 +1,85 @@
+[CodeCoverage]\r
+Enabled=_ 0\r
+[MINICUBE2]\r
+Map0=0,0,262143,262144\r
+Map1=1,1036032,1048319,12288\r
+MapEntries=2\r
+HWsettings=4,0,1,2,4,0,2,0\r
+HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0\r
+HWsettingsRsuid=FFFFFFFFFFFFFFFFFFFF\r
+EventEntries=0\r
+SeqName0=\r
+SeqData0=0,0\r
+SeqEnable10=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable20=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable30=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable40=0,0,0,0,0,0,0,0,0,0\r
+SeqDisable0=0,0,0,0,0,0,0,0,0,0\r
+SeqData20=0,0,0,0,0,0\r
+SeqName1=\r
+SeqData1=0,0\r
+SeqEnable11=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable21=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable31=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable41=0,0,0,0,0,0,0,0,0,0\r
+SeqDisable1=0,0,0,0,0,0,0,0,0,0\r
+SeqData21=0,0,0,0,0,0\r
+SeqName2=\r
+SeqData2=0,0\r
+SeqEnable12=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable22=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable32=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable42=0,0,0,0,0,0,0,0,0,0\r
+SeqDisable2=0,0,0,0,0,0,0,0,0,0\r
+SeqData22=0,0,0,0,0,0\r
+SeqName3=\r
+SeqData3=0,0\r
+SeqEnable13=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable23=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable33=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable43=0,0,0,0,0,0,0,0,0,0\r
+SeqDisable3=0,0,0,0,0,0,0,0,0,0\r
+SeqData23=0,0,0,0,0,0\r
+SeqName4=\r
+SeqData4=0,0\r
+SeqEnable14=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable24=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable34=0,0,0,0,0,0,0,0,0,0\r
+SeqEnable44=0,0,0,0,0,0,0,0,0,0\r
+SeqDisable4=0,0,0,0,0,0,0,0,0,0\r
+SeqData24=0,0,0,0,0,0\r
+TraceSettings=64,0,0,0,0,0,8192\r
+TimerSettings=0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r
+CoverSettings=1048192,1048207,0\r
+Version=1,78k0rtrace.txt\r
+LastDevFile=DF1166A0.78K\r
+EmulType=320\r
+EventLimits=0, 1, 1, 2\r
+LastSetupFailed=0\r
+[DisAssemblyWindow]\r
+NumStates=_ 1\r
+State 1=_ 1\r
+[Profiling]\r
+Enabled=0\r
+[StackPlugin]\r
+Enabled=1\r
+OverflowWarningsEnabled=1\r
+WarningThreshold=90\r
+SpWarningsEnabled=1\r
+WarnHow=0\r
+UseTrigger=1\r
+TriggerName=main\r
+LimitSize=0\r
+ByteLimit=50\r
+[Breakpoints]\r
+Count=0\r
+[Log file]\r
+LoggingEnabled=_ 0\r
+LogFile=_ ""\r
+Category=_ 0\r
+[TermIOLog]\r
+LoggingEnabled=_ 0\r
+LogFile=_ ""\r
+[TraceHelper]\r
+Enabled=0\r
+ShowSource=1\r
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt b/Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt
new file mode 100644 (file)
index 0000000..5755f37
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<Workspace>\r
+  <ConfigDictionary>\r
+    \r
+  <CurrentConfigs><Project>rtosdemo/Debug</Project></CurrentConfigs></ConfigDictionary>\r
+  <Desktop>\r
+    <Static>\r
+      <Workspace>\r
+        <ColumnWidths>\r
+          \r
+          \r
+          \r
+          \r
+        <Column0>277</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+      </Workspace>\r
+      <Build>\r
+        \r
+        \r
+        \r
+        \r
+      <ColumnWidth0>20</ColumnWidth0><ColumnWidth1>916</ColumnWidth1><ColumnWidth2>244</ColumnWidth2><ColumnWidth3>61</ColumnWidth3></Build>\r
+    <Debug-Log/><TerminalIO/></Static>\r
+    <Windows>\r
+      \r
+      \r
+    <Wnd0>\r
+        <Tabs>\r
+          <Tab>\r
+            <Identity>TabID-28554-14697</Identity>\r
+            <TabName>Workspace</TabName>\r
+            <Factory>Workspace</Factory>\r
+            <Session>\r
+              \r
+            <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source/port.c</ExpandedNode></NodeDict></Session>\r
+          </Tab>\r
+        </Tabs>\r
+        \r
+      <SelectedTab>0</SelectedTab></Wnd0><Wnd1>\r
+        <Tabs>\r
+          <Tab>\r
+            <Identity>TabID-24371-14776</Identity>\r
+            <TabName>Build</TabName>\r
+            <Factory>Build</Factory>\r
+            <Session/>\r
+          </Tab>\r
+        <Tab><Identity>TabID-2405-1208</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs>\r
+        \r
+      <SelectedTab>0</SelectedTab></Wnd1></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>48</YPos><SelStart>689</SelStart><SelEnd>689</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>85</YPos><SelStart>3884</SelStart><SelEnd>3884</SelEnd></Tab><ActiveTab>1</ActiveTab><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\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>122</YPos><SelStart>6048</SelStart><SelEnd>6048</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portmacro.h</Filename><XPos>0</XPos><YPos>106</YPos><SelStart>4913</SelStart><SelEnd>4913</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-00aa9c38><key>iaridepm.enu1</key></Toolbar-00aa9c38></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>735</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>219</xscreen><yscreen>205</yscreen><sizeHorzCX>130357</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>750509</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><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>130357</sizeVertCX><sizeVertCY>208758</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
+  </Desktop>\r
+</Workspace>\r
+\r
+\r