summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichardBarry <RichardBarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2009-02-03 19:46:32 +0000
committerRichardBarry <RichardBarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2009-02-03 19:46:32 +0000
commitff283674aee4c77f0f0faabaa670d85a5d7436c6 (patch)
tree00098595988a5aa7214972d4806e3187e261e284
parent3e80be449f3f73627ac388cdfe0e3a5f7a9498a9 (diff)
downloadfreertos-ff283674aee4c77f0f0faabaa670d85a5d7436c6.tar.gz
freertos-ff283674aee4c77f0f0faabaa670d85a5d7436c6.tar.bz2
freertos-ff283674aee4c77f0f0faabaa670d85a5d7436c6.tar.xz
First pass demo for 78K0R.
git-svn-id: https://freertos.svn.sourceforge.net/svnroot/freertos/trunk@669 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
-rw-r--r--Demo/NEC_78K0R_IAR/FreeRTOSConfig.h131
-rw-r--r--Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c353
-rw-r--r--Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h58
-rw-r--r--Demo/NEC_78K0R_IAR/LEDtoggle/LED.c234
-rw-r--r--Demo/NEC_78K0R_IAR/LEDtoggle/LED.h61
-rw-r--r--Demo/NEC_78K0R_IAR/RegTest.s26150
-rw-r--r--Demo/NEC_78K0R_IAR/main.c294
-rw-r--r--Demo/NEC_78K0R_IAR/rtosdemo.dep830
-rw-r--r--Demo/NEC_78K0R_IAR/rtosdemo.ewd479
-rw-r--r--Demo/NEC_78K0R_IAR/rtosdemo.ewp1851
-rw-r--r--Demo/NEC_78K0R_IAR/rtosdemo.eww10
-rw-r--r--Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat33
-rw-r--r--Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt80
-rw-r--r--Demo/NEC_78K0R_IAR/settings/rtosdemo.dni85
-rw-r--r--Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt66
15 files changed, 4715 insertions, 0 deletions
diff --git a/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
new file mode 100644
index 00000000..ef764302
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
@@ -0,0 +1,131 @@
+/*
+ FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+#ifndef FREERTOS_CONFIG_H
+#define FREERTOS_CONFIG_H
+
+/* only include in C files */
+#ifdef __IAR_SYSTEMS_ICC__
+
+ #pragma language=extended
+ #pragma system_include
+
+ #include <io78f1166_a0.h>
+ #include <io78f1166_a0_ext.h>
+ #include <intrinsics.h>
+
+#endif /* __IAR_SYSTEMS_ICC__ */
+
+/*
+ * 78K0R/Kx3 Clock Source Configuration
+ * 1 = use internal High Speed Clock Source (typically 8Mhz on the 78K0R/Kx3)
+ * 0 = use external Clock Source
+ */
+#define configCLOCK_SOURCE 0
+
+/*
+ * 78K0R/Kx3 Memory Model
+ * 1 = use far memory mode
+ * 0 = use near memory mode
+ *
+ * This setting must match the setting in the IAR project options.
+ */
+#define configMEMORY_MODE 1
+
+/*
+ * Application specific definitions.
+ *
+ * These definitions should be adjusted for your particular hardware and
+ * application requirements.
+ *
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
+ */
+
+#define configUSE_PREEMPTION 1
+
+/* only use following section for C files */
+#ifdef __IAR_SYSTEMS_ICC__
+
+ #define configUSE_IDLE_HOOK 0
+ #define configUSE_TICK_HOOK 0
+ #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
+ #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
+ #define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 75 )
+ #define configTOTAL_HEAP_SIZE ( (size_t ) ( 6000 ) )
+ #define configMAX_TASK_NAME_LEN ( 10 )
+ #define configUSE_TRACE_FACILITY 0
+ #define configUSE_16_BIT_TICKS 1
+ #define configIDLE_SHOULD_YIELD 1
+ #define configCHECK_FOR_STACK_OVERFLOW 0
+
+ /* Co-routine definitions. */
+ #define configUSE_CO_ROUTINES 0
+ #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
+
+ /* Set the following definitions to 1 to include the API function, or zero
+ to exclude the API function. */
+ #define INCLUDE_vTaskPrioritySet 0
+ #define INCLUDE_uxTaskPriorityGet 0
+ #define INCLUDE_vTaskDelete 1
+ #define INCLUDE_vTaskCleanUpResources 0
+ #define INCLUDE_vTaskSuspend 0
+ #define INCLUDE_vTaskDelayUntil 1
+ #define INCLUDE_vTaskDelay 1
+
+ #ifdef configCLOCK_SOURCE == 0
+ #define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 20000000 ) /* using the external clock source */
+ #else
+ #define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 8000000 ) /* using the internal high speed clock */
+ #endif /* configCLOCK_SOURCE */
+
+#endif /* __IAR_SYSTEMS_ICC__ */
+
+#endif /* FREERTOS_CONFIG_H */
+
diff --git a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c
new file mode 100644
index 00000000..68ffabd6
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c
@@ -0,0 +1,353 @@
+/*
+ FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+/*
+Changes from V1.2.3
+
+ + The created tasks now include calls to tskYIELD(), allowing them to be used
+ with the cooperative scheduler.
+*/
+
+/**
+ * From the functionality point of view this module has the same behavior like
+ * the integer.c standard demo task but the used stack size is optimized so that
+ * not so much memory space is used which is not needed.
+ *
+ * This does the same as flop. c, but uses variables of type long instead of
+ * type double.
+ *
+ * As with flop. c, the tasks created in this file are a good test of the
+ * scheduler context switch mechanism. The processor has to access 32bit
+ * variables in two or four chunks (depending on the processor). The low
+ * priority of these tasks means there is a high probability that a context
+ * switch will occur mid calculation. See the flop. c documentation for
+ * more information.
+ *
+ * \page IntegerC integer.c
+ * \ingroup DemoFiles
+ * <HR>
+ */
+
+/*
+Changes from V1.2.1
+
+ + The constants used in the calculations are larger to ensure the
+ optimiser does not truncate them to 16 bits.
+*/
+
+#include <stdlib.h>
+
+/* Scheduler include files. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "print.h"
+
+/* Demo program include files. */
+#include "integer.h"
+
+#define intgSTACK_SIZE ( ( unsigned portSHORT ) 96 )
+#define intgNUMBER_OF_TASKS ( 8 )
+
+/* Four tasks, each of which performs a different calculation on four byte
+variables. Each of the four is created twice. */
+static void vCompeteingIntMathTask1( void *pvParameters );
+static void vCompeteingIntMathTask2( void *pvParameters );
+static void vCompeteingIntMathTask3( void *pvParameters );
+static void vCompeteingIntMathTask4( void *pvParameters );
+
+/* These variables are used to check that all the tasks are still running. If a
+task gets a calculation wrong it will stop incrementing its check variable. */
+static volatile unsigned portSHORT usTaskCheck[ intgNUMBER_OF_TASKS ] = { ( unsigned portSHORT ) 0 };
+/*-----------------------------------------------------------*/
+
+void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority )
+{
+ xTaskCreate( vCompeteingIntMathTask1, "IntMath1", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 0 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask2, "IntMath2", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 1 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask3, "IntMath3", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 2 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask4, "IntMath4", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 3 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask1, "IntMath5", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 4 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask2, "IntMath6", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 5 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask3, "IntMath7", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 6 ] ), uxPriority, NULL );
+ xTaskCreate( vCompeteingIntMathTask4, "IntMath8", intgSTACK_SIZE, ( void * ) &( usTaskCheck[ 7 ] ), uxPriority, NULL );
+}
+/*-----------------------------------------------------------*/
+
+static void vCompeteingIntMathTask1( void *pvParameters )
+{
+portLONG l1, l2, l3, l4;
+portSHORT sError = pdFALSE;
+volatile unsigned portSHORT *pusTaskCheckVariable;
+const portLONG lAnswer = ( ( portLONG ) 74565L + ( portLONG ) 1234567L ) * ( portLONG ) -918L;
+const portCHAR * const pcTaskStartMsg = "Integer math task 1 started.\r\n";
+const portCHAR * const pcTaskFailMsg = "Integer math task 1 failed.\r\n";
+
+ /* Queue a message for printing to say the task has started. */
+ vPrintDisplayMessage( &pcTaskStartMsg );
+
+ /* The variable this task increments to show it is still running is passed in
+ as the parameter. */
+ pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
+
+ /* Keep performing a calculation and checking the result against a constant. */
+ for(;;)
+ {
+ l1 = ( portLONG ) 74565L;
+ l2 = ( portLONG ) 1234567L;
+ l3 = ( portLONG ) -918L;
+
+ l4 = ( l1 + l2 ) * l3;
+
+ taskYIELD();
+
+ /* If the calculation does not match the expected constant, stop the
+ increment of the check variable. */
+ if( l4 != lAnswer )
+ {
+ vPrintDisplayMessage( &pcTaskFailMsg );
+ sError = pdTRUE;
+ }
+
+ if( sError == pdFALSE )
+ {
+ /* If the calculation has always been correct, increment the check
+ variable so we know this task is still running okay. */
+ ( *pusTaskCheckVariable )++;
+ }
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void vCompeteingIntMathTask2( void *pvParameters )
+{
+portLONG l1, l2, l3, l4;
+portSHORT sError = pdFALSE;
+volatile unsigned portSHORT *pusTaskCheckVariable;
+const portLONG lAnswer = ( ( portLONG ) -389000L / ( portLONG ) 329999L ) * ( portLONG ) -89L;
+const portCHAR * const pcTaskStartMsg = "Integer math task 2 started.\r\n";
+const portCHAR * const pcTaskFailMsg = "Integer math task 2 failed.\r\n";
+
+ /* Queue a message for printing to say the task has started. */
+ vPrintDisplayMessage( &pcTaskStartMsg );
+
+ /* The variable this task increments to show it is still running is passed in
+ as the parameter. */
+ pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
+
+ /* Keep performing a calculation and checking the result against a constant. */
+ for( ;; )
+ {
+ l1 = -389000L;
+ l2 = 329999L;
+ l3 = -89L;
+
+ l4 = ( l1 / l2 ) * l3;
+
+ taskYIELD();
+
+ /* If the calculation does not match the expected constant, stop the
+ increment of the check variable. */
+ if( l4 != lAnswer )
+ {
+ vPrintDisplayMessage( &pcTaskFailMsg );
+ sError = pdTRUE;
+ }
+
+ if( sError == pdFALSE )
+ {
+ /* If the calculation has always been correct, increment the check
+ variable so we know this task is still running okay. */
+ ( *pusTaskCheckVariable )++;
+ }
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void vCompeteingIntMathTask3( void *pvParameters )
+{
+portLONG *plArray, lTotal1, lTotal2;
+portSHORT sError = pdFALSE;
+volatile unsigned portSHORT *pusTaskCheckVariable;
+const unsigned portSHORT usArraySize = ( unsigned portSHORT ) 125;
+unsigned portSHORT usPosition;
+const portCHAR * const pcTaskStartMsg = "Integer math task 3 started.\r\n";
+const portCHAR * const pcTaskFailMsg = "Integer math task 3 failed.\r\n";
+
+ /* Queue a message for printing to say the task has started. */
+ vPrintDisplayMessage( &pcTaskStartMsg );
+
+ /* The variable this task increments to show it is still running is passed in
+ as the parameter. */
+ pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
+
+ /* Create the array we are going to use for our check calculation. */
+ plArray = ( portLONG * ) pvPortMalloc( ( size_t ) 125 * sizeof( portLONG ) );
+
+ /* Keep filling the array, keeping a running total of the values placed in the
+ array. Then run through the array adding up all the values. If the two totals
+ do not match, stop the check variable from incrementing. */
+ for( ;; )
+ {
+ lTotal1 = ( portLONG ) 0;
+ lTotal2 = ( portLONG ) 0;
+
+ for( usPosition = 0; usPosition < usArraySize; usPosition++ )
+ {
+ plArray[ usPosition ] = ( portLONG ) usPosition + ( portLONG ) 5;
+ lTotal1 += ( portLONG ) usPosition + ( portLONG ) 5;
+ }
+
+ taskYIELD();
+
+ for( usPosition = 0; usPosition < usArraySize; usPosition++ )
+ {
+ lTotal2 += plArray[ usPosition ];
+ }
+
+ if( lTotal1 != lTotal2 )
+ {
+ vPrintDisplayMessage( &pcTaskFailMsg );
+ sError = pdTRUE;
+ }
+
+ taskYIELD();
+
+ if( sError == pdFALSE )
+ {
+ /* If the calculation has always been correct, increment the check
+ variable so we know this task is still running okay. */
+ ( *pusTaskCheckVariable )++;
+ }
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void vCompeteingIntMathTask4( void *pvParameters )
+{
+portLONG *plArray, lTotal1, lTotal2;
+portSHORT sError = pdFALSE;
+volatile unsigned portSHORT *pusTaskCheckVariable;
+const unsigned portSHORT usArraySize = 125;
+unsigned portSHORT usPosition;
+const portCHAR * const pcTaskStartMsg = "Integer math task 4 started.\r\n";
+const portCHAR * const pcTaskFailMsg = "Integer math task 4 failed.\r\n";
+
+ /* Queue a message for printing to say the task has started. */
+ vPrintDisplayMessage( &pcTaskStartMsg );
+
+ /* The variable this task increments to show it is still running is passed in
+ as the parameter. */
+ pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
+
+ /* Create the array we are going to use for our check calculation. */
+ plArray = ( portLONG * ) pvPortMalloc( ( size_t ) 125 * sizeof( portLONG ) );
+
+ /* Keep filling the array, keeping a running total of the values placed in the
+ array. Then run through the array adding up all the values. If the two totals
+ do not match, stop the check variable from incrementing. */
+ for( ;; )
+ {
+ lTotal1 = ( portLONG ) 0;
+ lTotal2 = ( portLONG ) 0;
+
+ for( usPosition = 0; usPosition < usArraySize; usPosition++ )
+ {
+ plArray[ usPosition ] = ( portLONG ) usPosition * ( portLONG ) 12;
+ lTotal1 += ( portLONG ) usPosition * ( portLONG ) 12;
+ }
+
+ taskYIELD();
+
+ for( usPosition = 0; usPosition < usArraySize; usPosition++ )
+ {
+ lTotal2 += plArray[ usPosition ];
+ }
+
+
+ if( lTotal1 != lTotal2 )
+ {
+ vPrintDisplayMessage( &pcTaskFailMsg );
+ sError = pdTRUE;
+ }
+
+ taskYIELD();
+
+ if( sError == pdFALSE )
+ {
+ /* If the calculation has always been correct, increment the check
+ variable so we know this task is still running okay. */
+ ( *pusTaskCheckVariable )++;
+ }
+ }
+}
+/*-----------------------------------------------------------*/
+
+/* This is called to check that all the created tasks are still running. */
+portBASE_TYPE xAreIntegerMathsTaskStillRunning( void )
+{
+/* Keep a history of the check variables so we know if they have been incremented
+since the last call. */
+static unsigned portSHORT usLastTaskCheck[ intgNUMBER_OF_TASKS ] = { ( unsigned portSHORT ) 0 };
+portBASE_TYPE xReturn = pdTRUE, xTask;
+
+ /* Check the maths tasks are still running by ensuring their check variables
+ are still incrementing. */
+ for( xTask = 0; xTask < intgNUMBER_OF_TASKS; xTask++ )
+ {
+ if( usTaskCheck[ xTask ] == usLastTaskCheck[ xTask ] )
+ {
+ /* The check has not incremented so an error exists. */
+ xReturn = pdFALSE;
+ }
+
+ usLastTaskCheck[ xTask ] = usTaskCheck[ xTask ];
+ }
+
+ return xReturn;
+}
diff --git a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h
new file mode 100644
index 00000000..2bd33182
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h
@@ -0,0 +1,58 @@
+/*
+ FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+#ifndef INTEGER_TASKS_H
+#define INTEGER_TASKS_H
+
+void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority );
+portBASE_TYPE xAreIntegerMathsTaskStillRunning( void );
+
+#endif
+
+
diff --git a/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c b/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c
new file mode 100644
index 00000000..f25640f7
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c
@@ -0,0 +1,234 @@
+/*
+ FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+/**
+ * This is a simple LED toggle test for the 78K0R/Kx3 Target Board (QB-78K0RKG3-TB).
+ *
+ * Creates two task that control one LED each.
+ *
+ * The first task toggles a LED with a frequency of 1Hz by using the vTaskDelay
+ * function. So the task is yielded for 1 seconed after each LED switch.
+ *
+ * The second LED can be toggled by a switch within the second task.
+ * When the switch is pushed it is detected by an interrupt. When the interrupt
+ * occurs a flag is set in the ISR and sent to the second task by using a queue.
+ * Therefore the xQueueSendFromISR() function is called from within the ISR to
+ * write the flag value to the queue. The task uses the xQueueReceive() function
+ * to read the flag value from the queue.
+ * If the flag value changed from the last task activation the LED is toggled.
+ *
+ * Also a check function is implemented to check if the task still run properly
+ */
+
+/* Scheduler include files. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Demo program include files. */
+#include "LED.h"
+#include "queue.h"
+#include "print.h"
+
+#define LEDToggleSTACK_SIZE (( unsigned portSHORT ) configMINIMAL_STACK_SIZE)
+#define LED_NUMBER_OF_TASKS 2
+
+/* LED toggle wait time and check definitions */
+#define LED1_Wait_Time 1000
+#define LED2_Wait_Time 100
+
+/* Task function prototypes */
+static void vLEDToggleTask1( void *pvParameters);
+static void vLEDToggleTask2( void *pvParameters);
+
+/* Port Initialization for LED's and Switch */
+static void prvLEDInit(void);
+
+/* Switch press counter */
+static unsigned portSHORT usClick = 0;
+
+/* Queue used for LED02 toggle*/
+static xQueueHandle xLEDQueue;
+
+/*xQUEUE *xLEDQueue;*/
+
+static volatile unsigned portSHORT usTask1Check = 0, usTask2Check = 0, usLEDQueue = 0;
+
+void vStartLEDToggleTasks( unsigned portBASE_TYPE uxPriority )
+{
+
+const unsigned portBASE_TYPE uxQueueSize = 4;
+
+ prvLEDInit();
+
+ /* Create the queue used by the Switch ISR and the second task. */
+ xLEDQueue = xQueueCreate( uxQueueSize, ( unsigned portBASE_TYPE ) sizeof( unsigned portSHORT ) );
+ /* create 2 LED toggle Tasks */
+ xTaskCreate(vLEDToggleTask1, "LEDTog1", LEDToggleSTACK_SIZE, ( void * ) &(usTask1Check), uxPriority, NULL );
+ xTaskCreate(vLEDToggleTask2, "LEDTog2", LEDToggleSTACK_SIZE, ( void * ) &xLEDQueue, uxPriority, NULL );
+}
+/*-----------------------------------------------------------*/
+
+static void vLEDToggleTask1( void *pvParameters)
+{
+static portCHAR pcLED1old;
+portSHORT sError = pdFALSE;
+volatile unsigned portSHORT *pusTaskCheckVariable;
+const portCHAR * const pcTaskFailMsg = "ERROR: LED toggle failed.\r\n";
+
+ pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
+ for(;;)
+ {
+ pcLED1old = LED01;
+
+ vTaskDelay( LED1_Wait_Time );
+ /* toggle the LED01 */
+ LED01 = ~LED01;
+
+ if(pcLED1old == LED01)
+ {
+ /* an error has occured */
+ vPrintDisplayMessage( &pcTaskFailMsg );
+ sError = pdTRUE;
+ }
+
+ if(sError != pdTRUE)
+ {
+ /* If a LED toggle has been made, increment the check
+ variable so we know this task is still running okay. */
+ ( *pusTaskCheckVariable )++;
+ }
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void vLEDToggleTask2( void *pvParameters)
+{
+unsigned portSHORT usData, usDataOld = 0;
+xQueueHandle *pxQueue;
+
+ pxQueue = ( xQueueHandle * ) pvParameters;
+ for(;;)
+ {
+ if( xQueueReceive( *pxQueue, &usData, ( portTickType ) 0 ) == pdPASS )
+ {
+ if (usData != usDataOld)
+ {
+ LED02 = ~LED02;
+ }
+ usDataOld = usData;
+ }
+ vTaskDelay( LED2_Wait_Time );
+ /* increment check variable whenever the task gets active */
+ usTask2Check++;
+ }
+}
+
+portBASE_TYPE xAreLEDToggleTaskStillRunning( void )
+{
+/*
+ * Keep a history of the check variables so we know if they have been incremented
+ * since the last call.
+ */
+static unsigned portSHORT usLastTask1Check = 0;
+static unsigned portSHORT usLastTask2Check = 0;
+portBASE_TYPE xReturn = pdTRUE;
+
+ /* Check the LED toggle tasks are still running by ensuring their check variables
+ * are still incrementing.
+ */
+ if(( usTask1Check == usLastTask1Check )||(usLastTask2Check == usTask2Check))
+ {
+ /* The check has not incremented so an error exists. */
+ xReturn = pdFALSE;
+ }
+
+ usLastTask1Check = usTask1Check;
+ usLastTask2Check = usTask2Check;
+
+ return xReturn;
+}
+/*-----------------------------------------------------------*/
+
+static void prvLEDInit(void)
+{
+/* LED Port Initialization */
+ /* set Port Register */
+ P7 = 0x80;
+ /* set Port Mode Register */
+ PM7 = 0x3F;
+
+/* Switch Pin Initialization */
+ /* enable pull-up resistor */
+ PU12_bit.no0 = 1;
+ /* INTP0 disable */
+ PMK0 = 1;
+ /* INTP0 IF clear */
+ PIF0 = 0;
+ EGN0_bit.no0 = 1;
+ /* INTP0 priority low */
+ PPR10 = 0;
+ PPR00 = 1;
+ /* enable ext. INTP0 interrupt */
+ PMK0 = 0;
+}
+/*-----------------------------------------------------------*/
+
+/* Switch ISR */
+
+#pragma vector=INTP0_vect
+__interrupt void P0_isr (void)
+{
+ /* Increment Switch pressed counter */
+ usClick++;
+ /* Use usClick to signalize a detected Interrupt for the vLEDToggleTask2
+ * to toggle the LED02.
+ */
+ xQueueSendFromISR( xLEDQueue, &usClick, pdFALSE );
+}
+/*-----------------------------------------------------------*/ \ 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
index 00000000..9d2884af
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/LEDtoggle/LED.h
@@ -0,0 +1,61 @@
+/*
+ FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+#ifndef LEDTOGGLE_TASKS_H
+#define LEDTOGGLE_TASKS_H
+
+void vStartLEDToggleTasks( unsigned portBASE_TYPE uxPriority );
+portBASE_TYPE xAreLEDToggleTaskStillRunning( void );
+/* LED Pin Configuration */
+static void prvLEDinit( void );
+
+#define LED01 P7_bit.no6
+#define LED02 P7_bit.no7
+
+#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
index 00000000..9b51b407
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/RegTest.s26
@@ -0,0 +1,150 @@
+; FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.
+;
+; This file is part of the FreeRTOS.org distribution.
+;
+; FreeRTOS.org is free software; you can redistribute it and/or modify
+; it under the terms of the GNU General Public License as published by
+; the Free Software Foundation; either version 2 of the License, or
+; (at your option) any later version.
+;
+; FreeRTOS.org is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with FreeRTOS.org; if not, write to the Free Software
+; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+;
+; A special exception to the GPL can be applied should you wish to distribute
+; a combined work that includes FreeRTOS.org, without being obliged to provide
+; the source code for any proprietary components. See the licensing section
+; of http://www.FreeRTOS.org for full details of how and when the exception
+; can be applied.
+;
+; ***************************************************************************
+; See http://www.FreeRTOS.org for documentation, latest information, license
+; and contact details. Please ensure to read the configuration and relevant
+; port sections of the online documentation.
+; ***************************************************************************
+;
+;------------------------------------------------------------------------------
+
+;------------------------------------------------------------------------------
+
+#if __CORE__ != __78K0R__
+ #error "This file is only for 78K0R Devices"
+#endif
+
+; Functions implemented in this file
+;------------------------------------------------------------------------------
+
+ PUBLIC vRegTest1
+ PUBLIC vRegTest2
+
+; Functions used by this file
+;------------------------------------------------------------------------------
+ EXTERN vRegTestError
+
+;------------------------------------------------------------------------------
+; Fill all the registers with known values, then check that the registers
+; contain the expected value. An incorrect value being indicative of an
+; error in the context switch mechanism.
+;
+; Input: NONE
+;
+; Call: CALL vRegTest1
+;
+; Output: NONE
+;
+;------------------------------------------------------------------------------
+ RSEG CODE:CODE
+vRegTest1:
+
+ MOVW AX, #0x1122
+ MOVW BC, #0x3344
+ MOVW DE, #0x5566
+ MOVW HL, #0x7788
+ MOV CS, #0x01
+ MOV ES, #0x02
+
+loop1:
+ BRK
+ CMPW AX, #0x1122
+ BZ +5
+ BR vRegTestError
+ MOVW AX, BC
+ CMPW AX, #0x3344
+ BZ +5
+ BR vRegTestError
+ MOVW AX, DE
+ CMPW AX, #0x5566
+ BZ +5
+ BR vRegTestError
+ MOVW AX, HL
+ CMPW AX, #0x7788
+ BZ +5
+ BR vRegTestError
+ MOV A, CS
+ CMP A, #0x01
+ BZ +5
+ BR vRegTestError
+ MOV A, ES
+ CMP A, #0x02
+ BZ +5
+ BR vRegTestError
+ MOVW AX, #0x1122
+ BR loop1
+
+
+;------------------------------------------------------------------------------
+; Fill all the registers with known values, then check that the registers
+; contain the expected value. An incorrect value being indicative of an
+; error in the context switch mechanism.
+;
+; Input: NONE
+;
+; Call: CALL vRegTest1
+;
+; Output: NONE
+;
+;------------------------------------------------------------------------------
+ RSEG CODE:CODE
+vRegTest2:
+
+ MOVW AX, #0x99aa
+ MOVW BC, #0xbbcc
+ MOVW DE, #0xddee
+ MOVW HL, #0xff12
+ MOV CS, #0x03
+ MOV ES, #0x04
+
+loop2:
+ CMPW AX, #0x99aa
+ BZ +5
+ BR vRegTestError
+ MOVW AX, BC
+ CMPW AX, #0xbbcc
+ BZ +5
+ BR vRegTestError
+ MOVW AX, DE
+ CMPW AX, #0xddee
+ BZ +5
+ BR vRegTestError
+ MOVW AX, HL
+ CMPW AX, #0xff12
+ BZ +5
+ BR vRegTestError
+ MOV A, CS
+ CMP A, #0x03
+ BZ +5
+ BR vRegTestError
+ MOV A, ES
+ CMP A, #0x04
+ BZ +5
+ BR vRegTestError
+ MOVW AX, #0x99aa
+ BR loop2
+
+
+ END
diff --git a/Demo/NEC_78K0R_IAR/main.c b/Demo/NEC_78K0R_IAR/main.c
new file mode 100644
index 00000000..c94ab40c
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/main.c
@@ -0,0 +1,294 @@
+/*
+ FreeRTOS.org V5.1.1 - Copyright (C) 2003-2009 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+/* Standard includes. */
+#include <stdlib.h>
+#include <string.h>
+
+/* Scheduler include files. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Demo file headers. */
+#include "int78K0R.h"
+#include "PollQ.h"
+#include "LED.h"
+#include "print.h"
+#include "semtest.h"
+
+/*
+ * Priority definitions for most of the tasks in the demo application. Some
+ * tasks just use the idle priority.
+ */
+#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
+#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainSEMTEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainLED_TOGGLE_PRIORITY ( tskIDLE_PRIORITY + 1 )
+
+/* The period between executions of the check task. */
+#define mainNO_ERROR_TOGGLE_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )
+#define mainERROR_TOGGLE_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS )
+
+/*
+ * 78K0R/Kx3 Option Byte Definition
+ * watchdog disabled, LVI enabled, OCD interface enabled
+ */
+__root __far const unsigned portCHAR OptionByte[OPT_BYTES_SIZE] @ 0x00C0 =
+{
+ WATCHDOG_DISABLED, LVI_ENABLED, RESERVED_FF, OCD_ENABLED
+};
+
+/* Security Byte Definition */
+__root __far const unsigned portCHAR SecuIDCode[SECU_ID_SIZE] @ 0x00C4 =
+{
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+/* The task function for the "Check" task. */
+static void vErrorChecks( void *pvParameters );
+
+
+/* 78K0R/Kx3 low level init Initialization of the System Clock */
+int __low_level_init(void);
+
+extern void vRegTest1( void *pvParameters );
+extern void vRegTest2( void *pvParameters );
+
+static short sRegTestStatus = pdPASS;
+
+portSHORT main( void )
+{
+ /* Create the standard demo tasks. */
+ vStartIntegerMathTasks( tskIDLE_PRIORITY );
+ vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
+ vStartSemaphoreTasks(mainSEMTEST_PRIORITY);
+
+ /* Create the tasks defined within this file. */
+ xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, (void*)0x12345678, mainCHECK_TASK_PRIORITY, NULL );
+
+ xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );
+ xTaskCreate( vRegTest2, "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );
+
+ vPrintInitialise();
+
+ /* In this port, to use preemptive scheduler define configUSE_PREEMPTION
+ * as 1 in FreeRTOSconfig.h. To use the cooperative scheduler define
+ * configUSE_PREEMPTION as 0.
+ */
+ vTaskStartScheduler();
+
+ return 0;
+}
+/*-----------------------------------------------------------*/
+
+static void vErrorChecks( void *pvParameters )
+{
+portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;
+
+ /* The pointer will only actually be either 3 or 2 bytes, depending on the
+ memory model. */
+ if( pvParameters != ( void * ) 0x12345678 )
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
+
+ xLastWakeTime = xTaskGetTickCount();
+
+ /* Cycle for ever, delaying then checking all the other tasks are still
+ operating without error. */
+ for( ;; )
+ {
+ vTaskDelayUntil( &xLastWakeTime, xToggleRate );
+
+ if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
+
+ if( xArePollingQueuesStillRunning() != pdTRUE)
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
+
+ if( xAreSemaphoreTasksStillRunning() != pdTRUE)
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
+
+ if( sRegTestStatus != pdPASS )
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
+
+ /* Toggle the LED. */
+ LED01 = !LED01;
+ }
+}
+/*-----------------------------------------------------------*/
+
+int __low_level_init(void)
+{
+unsigned portCHAR resetflag = RESF;
+
+ portDISABLE_INTERRUPTS();
+
+ /*
+ * Clock Configuration:
+ * In this port, to use the internal high speed clock source of the microcontroller
+ * define the configCLOCK_SOURCE as 1 in FreeRTOSConfig.h. To use an external
+ * clock define configCLOCK_SOURCE as 0.
+ */
+ #if configCLOCK_SOURCE == 1
+ {
+ /*
+ * Set XT1 and XT2 in Input Port Mode
+ * Set X1 and X2 in Input Port Mode
+ * High speed oszillation frequency 2MHz <= fMX <= 10MHz
+ */
+ CMC = 0x00;
+
+ /* X1 external oszillation stopped */
+ MSTOP = 1;
+
+ /* enable internal high speed oszillation */
+ HIOSTOP = 0;
+ MCM0 = 0;
+
+ /* stop internal subsystem clock */
+ XTSTOP = 1;
+
+ /* Set clock speed */
+ CSS = 0;
+ CKC &= (unsigned portCHAR)~0x07;
+ CKC |= 0x00;
+ }
+ #else
+ {
+ /*
+ * XT1 and XT2 pin in input port mode
+ * X1 and X2 pin in crystal resonator mode
+ * High speed oszillation frequency 10MHz < fMX <= 20MHz
+ */
+ CMC = 0x41;
+
+ /* Set oscillation stabilization time */
+ OSTS = 0x07;
+
+ /* Set speed mode: fMX > 10MHz for Flash memory high speed operation */
+ OSMC = 0x01;
+
+ /*
+ * Start up X1 oscillator operation
+ * Internal high-speed oscillator operating
+ */
+ MSTOP = 0;
+
+ /* Check oscillation stabilization time status */
+ while(OSTC < 0x07)
+ {
+ /* wait until X1 clock stabilization time */
+ portNOP();
+ }
+
+ /* Switch CPU clock to X1 oscillator */
+ MCM0 = 1;
+ while(MCS != 1)
+ {
+ /* wait until CPU and peripherals operate with fX1 clock */
+ portNOP();
+ }
+
+ /* Stop the internal high-speed oscillator operation */
+ HIOSTOP = 1;
+
+ /* Stop the XT1 oscillator operation */
+ XTSTOP = 1;
+
+ /*
+ * operating frequency f = fx
+ * Change clock generator setting, if necessary
+ */
+ CKC &= 0xF8;
+
+ /* From here onwards the X1 oscillator is supplied to the CPU */
+ }
+ #endif
+
+ /* LED Port Initialization - set Port Register */
+ P7 = 0x80;
+
+ /* Set Port Mode Register */
+ PM7 = 0x3F;
+
+ /* Switch Pin Initialization - enable pull-up resistor */
+ PU12_bit.no0 = 1;
+
+ /* INTP0 disable */
+ PMK0 = 1;
+
+ /* INTP0 IF clear */
+ PIF0 = 0;
+ EGN0_bit.no0 = 1;
+
+ /* INTP0 priority low */
+ PPR10 = 0;
+ PPR00 = 1;
+
+ /* enable ext. INTP0 interrupt */
+ PMK0 = 0;
+
+ return pdTRUE;
+}
+/*-----------------------------------------------------------*/
+
+void vRegTestError( void )
+{
+ sRegTestStatus = pdFAIL;
+ for( ;; );
+}
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.dep b/Demo/NEC_78K0R_IAR/rtosdemo.dep
new file mode 100644
index 00000000..aa74619d
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/rtosdemo.dep
@@ -0,0 +1,830 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <fileChecksum>3820058658</fileChecksum>
+ <configuration>
+ <name>Debug</name>
+ <outputs>
+ <file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\port.pbi</file>
+ <file>$PROJ_DIR$\Debug\Obj\integer.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\print.r26</file>
+ <file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>
+ <file>$PROJ_DIR$\Debug\List\PollQ.lst</file>
+ <file>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</file>
+ <file>$PROJ_DIR$\..\..\Source\include\portable.h</file>
+ <file>$PROJ_DIR$\..\Common\Full\semtest.c</file>
+ <file>$PROJ_DIR$\..\Common\Full\PollQ.c</file>
+ <file>$PROJ_DIR$\Debug\Obj\main.pbi</file>
+ <file>$PROJ_DIR$\Debug\List\semtest.lst</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stddef.h</file>
+ <file>$PROJ_DIR$\Debug\Obj\queue.pbi</file>
+ <file>$PROJ_DIR$\Debug\Obj\list.pbi</file>
+ <file>$TOOLKIT_DIR$\inc\clib\string.h</file>
+ <file>$PROJ_DIR$\Debug\Obj\tasks.pbi</file>
+ <file>$PROJ_DIR$\Debug\Obj\queue.r26</file>
+ <file>$PROJ_DIR$\..\..\Source\include\croutine.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\StackMacros.h</file>
+ <file>$PROJ_DIR$\Int78K0R\int78K0R.c</file>
+ <file>$PROJ_DIR$\Debug\List\heap_1.lst</file>
+ <file>$TOOLKIT_DIR$\inc\clib\sysmac.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stdio.h</file>
+ <file>$PROJ_DIR$\Debug\Obj\heap_1.pbi</file>
+ <file>$PROJ_DIR$\Debug\Obj\tasks.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\RegTest.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\int78K0R.r26</file>
+ <file>$PROJ_DIR$\Debug\List\main.lst</file>
+ <file>$TOOLKIT_DIR$\config\lnk78f1166_a0.xcl</file>
+ <file>$PROJ_DIR$\Debug\List\int78K0R.lst</file>
+ <file>$TOOLKIT_DIR$\inc\intrinsics.h</file>
+ <file>$PROJ_DIR$\Debug\List\integer.lst</file>
+ <file>$PROJ_DIR$\..\Common\include\PollQ.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>
+ <file>$PROJ_DIR$\Debug\List\rtosdemo.map</file>
+ <file>$PROJ_DIR$\..\..\Source\include\task.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</file>
+ <file>$PROJ_DIR$\Debug\Obj\portmacro.r26</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.h</file>
+ <file>$PROJ_DIR$\Debug\Obj\integer.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\include\list.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>
+ <file>$PROJ_DIR$\..\Common\include\print.h</file>
+ <file>$PROJ_DIR$\Debug\List\list.lst</file>
+ <file>$PROJ_DIR$\Debug\Obj\LED.r26</file>
+ <file>$PROJ_DIR$\FreeRTOSConfig.h</file>
+ <file>$PROJ_DIR$\Debug\List\tasks.lst</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</file>
+ <file>$PROJ_DIR$\Int78K0R\int78K0R.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>
+ <file>$PROJ_DIR$\LEDtoggle\LED.h</file>
+ <file>$PROJ_DIR$\Debug\List\print.lst</file>
+ <file>$PROJ_DIR$\Debug\Obj\port.r26</file>
+ <file>$PROJ_DIR$\Debug\List\LED.lst</file>
+ <file>$PROJ_DIR$\Debug\Obj\main.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\print.pbi</file>
+ <file>$PROJ_DIR$\..\Common\include\integer.h</file>
+ <file>$PROJ_DIR$\Debug\Obj\semtest.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\portasm.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\list.r26</file>
+ <file>$PROJ_DIR$\Debug\Obj\PollQ.r26</file>
+ <file>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>
+ <file>$PROJ_DIR$\Debug\Obj\PollQ.pbi</file>
+ <file>$PROJ_DIR$\Debug\Obj\semtest.pbi</file>
+ <file>$PROJ_DIR$\Debug\List\port.lst</file>
+ <file>$PROJ_DIR$\LEDtoggle\LED.c</file>
+ <file>$PROJ_DIR$\..\Common\include\semtest.h</file>
+ <file>$PROJ_DIR$\Debug\List\portasm.lst</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.s26</file>
+ <file>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</file>
+ <file>$PROJ_DIR$\Debug\Obj\int78K0R.pbi</file>
+ <file>$PROJ_DIR$\Debug\List\RegTest.lst</file>
+ <file>$PROJ_DIR$\Debug\Obj\LED.pbi</file>
+ <file>$PROJ_DIR$\Debug\List\queue.lst</file>
+ <file>$PROJ_DIR$\Debug\Obj\heap_1.r26</file>
+ <file>$PROJ_DIR$\..\Common\Full\print.c</file>
+ <file>$PROJ_DIR$\RegTest.s26</file>
+ <file>$PROJ_DIR$\..\..\Source\list.c</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</file>
+ <file>$PROJ_DIR$\main.c</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</file>
+ <file>$PROJ_DIR$\..\..\Source\queue.c</file>
+ <file>$PROJ_DIR$\..\..\Source\tasks.c</file>
+ <file>$PROJ_DIR$\..\Common\Minimal\integer.c</file>
+ <file>$PROJ_DIR$\..\..\Source\include\queue.h</file>
+ </outputs>
+ <file>
+ <name>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 36</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 30 63 27 77 2 62 57 55 61 3 18 60 26 0</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\semtest.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 12 60</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 66</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 35 88 69 45</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 35 88 69 45</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\PollQ.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 6 63</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 65</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 88 45 34</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 88 45 34</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\Int78K0R\int78K0R.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 31 28</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 73</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 45 59</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 45 59</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</name>
+ <outputs>
+ <tool>
+ <name>BICOMP</name>
+ <file> 1</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</name>
+ <outputs>
+ <tool>
+ <name>A78000</name>
+ <file> 40</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>[ROOT_NODE]</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 7 36</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\LEDtoggle\LED.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 56 47</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 75</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 44 13 23 52 48 4 64 32 8 41 37 43 53 88 45</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 44 13 23 52 48 4 64 32 8 41 37 43 53 88 45</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.s26</name>
+ <outputs>
+ <tool>
+ <name>A78000</name>
+ <file> 40</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</name>
+ <inputs>
+ <tool>
+ <name>BILINK</name>
+ <file> 65 25 42 15 11 1 58 14 66 17</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\print.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 54 3</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 58</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 88 45</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 88 45</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\RegTest.s26</name>
+ <outputs>
+ <tool>
+ <name>A78000</name>
+ <file> 27 74</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\list.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 46 62</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 15</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 43</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 43</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 22 77</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 25</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 67 55</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 1</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\main.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 29 57</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 11</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 51 34 53 45 69</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 51 34 53 45 69</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</name>
+ <outputs>
+ <tool>
+ <name>A78000</name>
+ <file> 61 70</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>A78000</name>
+ <file> 48</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\queue.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 76 18</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 19</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 16 44 13 52 48 4 64 32 8 41 37 43 19</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\tasks.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 49 26</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 17</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 24 38 23 5 16 44 13 52 48 4 64 32 8 41 37 43 20</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 24 38 23 5 16 44 13 52 48 4 64 32 8 41 37 43 20</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 33 2</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 42</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 59</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5 23 44 13 52 48 4 64 32 8 41 37 43 59</file>
+ </tool>
+ </inputs>
+ </file>
+ </configuration>
+ <configuration>
+ <name>Release</name>
+ <outputs>
+ <file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>
+ <file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.h</file>
+ <file>$PROJ_DIR$\Release\Obj\port.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\int78K0R.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\queue.r26</file>
+ <file>$PROJ_DIR$\Release\Exe\rtosdemo.a26</file>
+ <file>$PROJ_DIR$\Release\Obj\PollQ.r26</file>
+ <file>$PROJ_DIR$\..\..\Source\include\portable.h</file>
+ <file>$PROJ_DIR$\..\Common\Full\semtest.c</file>
+ <file>$PROJ_DIR$\..\Common\Full\PollQ.c</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stddef.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\string.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\croutine.h</file>
+ <file>$PROJ_DIR$\Int78K0R\int78K0R.c</file>
+ <file>$TOOLKIT_DIR$\inc\clib\sysmac.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stdio.h</file>
+ <file>$TOOLKIT_DIR$\config\lnk78f1166_a0.xcl</file>
+ <file>$TOOLKIT_DIR$\inc\intrinsics.h</file>
+ <file>$PROJ_DIR$\..\Common\include\PollQ.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\task.h</file>
+ <file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</file>
+ <file>$PROJ_DIR$\..\..\Source\include\list.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>
+ <file>$PROJ_DIR$\..\Common\include\print.h</file>
+ <file>$PROJ_DIR$\FreeRTOSConfig.h</file>
+ <file>$PROJ_DIR$\Release\Obj\tasks.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\LED.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</file>
+ <file>$PROJ_DIR$\Int78K0R\int78K0R.h</file>
+ <file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>
+ <file>$PROJ_DIR$\Release\Obj\semtest.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\main.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\list.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\int78K0R.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\tasks.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\portmacro.r26</file>
+ <file>$PROJ_DIR$\LEDtoggle\LED.h</file>
+ <file>$PROJ_DIR$\Release\Obj\queue.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\LED.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\port.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\heap_1.pbi</file>
+ <file>$PROJ_DIR$\..\Common\include\integer.h</file>
+ <file>$PROJ_DIR$\Release\Obj\print.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\list.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\print.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\rtosdemo.pbd</file>
+ <file>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>
+ <file>$PROJ_DIR$\LEDtoggle\LED.c</file>
+ <file>$PROJ_DIR$\..\Common\include\semtest.h</file>
+ <file>$PROJ_DIR$\..\Common\Full\print.c</file>
+ <file>$PROJ_DIR$\..\..\Source\list.c</file>
+ <file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</file>
+ <file>$PROJ_DIR$\main.c</file>
+ <file>$PROJ_DIR$\Release\Obj\PollQ.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\heap_1.r26</file>
+ <file>$PROJ_DIR$\Release\Obj\main.pbi</file>
+ <file>$PROJ_DIR$\Release\Obj\semtest.r26</file>
+ <file>$PROJ_DIR$\..\..\Source\queue.c</file>
+ <file>$PROJ_DIR$\..\..\Source\tasks.c</file>
+ <file>$PROJ_DIR$\..\..\Source\include\queue.h</file>
+ </outputs>
+ <file>
+ <name>$PROJ_DIR$\Release\Exe\rtosdemo.a26</name>
+ <inputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 18 42 8 58 37 47 35 4 39 46 6 60 38 0</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\semtest.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 60</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 34</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 21 63 52 27</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 21 63 52 27</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\PollQ.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 8</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 57</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 63 27 20</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 63 27 20</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\Int78K0R\int78K0R.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 37</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 27 45</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25 27 45</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 4</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 43</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</name>
+ <outputs>
+ <tool>
+ <name>A78000</name>
+ <file> 39</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>A78000</name>
+ <file> 28</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>[ROOT_NODE]</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 7</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\Release\Obj\rtosdemo.pbd</name>
+ <inputs>
+ <tool>
+ <name>BILINK</name>
+ <file> 30 57 44 5 36 59 43 48 41 34 29</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\LEDtoggle\LED.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 42</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 30</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 26 12 16 33 28 1 50 19 9 3 22 25 40 63 27</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 26 12 16 33 28 1 50 19 9 3 22 25 40 63 27</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\print.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 46</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 48</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 63 27</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 63 27</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\list.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 47</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 36</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 25</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 25</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 58</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 44</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 26 12 33 28 1 50 19 9 3 22 25</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\main.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 35</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 59</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 32 20 40 27 52</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 32 20 40 27 52</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\queue.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 6</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 41</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 14</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 2 16 13 26 12 33 28 1 50 19 9 3 22 25 14</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\tasks.c</name>
+ <outputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 38</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 29</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICC78000</name>
+ <file> 17 23 16 2 13 26 12 33 28 1 50 19 9 3 22 25</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 17 23 16 2 13 26 12 33 28 1 50 19 9 3 22 25</file>
+ </tool>
+ </inputs>
+ </file>
+ <forcedrebuild>
+ <name>[MULTI_TOOL]</name>
+ <tool>XLINK</tool>
+ </forcedrebuild>
+ </configuration>
+</project>
+
+
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.ewd b/Demo/NEC_78K0R_IAR/rtosdemo.ewd
new file mode 100644
index 00000000..a1daedfb
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/rtosdemo.ewd
@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Debug</name>
+ <toolchain>
+ <name>78000</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CMandatory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>DebuggerProcessorVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DebuggerCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CRunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CRunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CMacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMacFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DynDriver</name>
+ <state>MIC78K</state>
+ </option>
+ <option>
+ <name>DDFOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DDFFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\DDF\io78f1166_a0.ddf</state>
+ </option>
+ <option>
+ <name>DebuggerNearConstLocation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DDDFileSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CSpyExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CSpyExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>EMU78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IEC78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSupExchAdapter</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>MIC78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>SIM78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CSimMandatory</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TKS78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuComPort</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\codecoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Profiling\profiling.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Stack\stack.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>78000</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CMandatory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>DebuggerProcessorVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DebuggerCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CRunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CRunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CMacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMacFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DynDriver</name>
+ <state>MIC78K</state>
+ </option>
+ <option>
+ <name>DDFOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DDFFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\DDF\io78f1166_a0.ddf</state>
+ </option>
+ <option>
+ <name>DebuggerNearConstLocation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DDDFileSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CSpyExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CSpyExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>EMU78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IEC78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSupExchAdapter</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>MIC78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>SIM78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CSimMandatory</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TKS78K</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CEmuMandatory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUSuppressLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EMUVerifyLoad</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>EmuDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuComPort</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\codecoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Profiling\profiling.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Stack\stack.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+</project>
+
+
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.ewp b/Demo/NEC_78K0R_IAR/rtosdemo.ewp
new file mode 100644
index 00000000..9c5c19bd
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/rtosdemo.ewp
@@ -0,0 +1,1851 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Debug</name>
+ <toolchain>
+ <name>78000</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>7</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>GeneralCodeModel</name>
+ <version>1</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state>Debug\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Debug\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Debug\List</state>
+ </option>
+ <option>
+ <name>GeneralStack</name>
+ <state>0x80</state>
+ </option>
+ <option>
+ <name>CodeBankReg</name>
+ <state>0xFFF3</state>
+ </option>
+ <option>
+ <name>CodeBankBanks</name>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CodeBankStart</name>
+ <state>0x8000</state>
+ </option>
+ <option>
+ <name>CodeBankSize</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the legacy C runtime library.</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\LIB\CLIB\cl78kff3.r26</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>GHeapSize</name>
+ <state>512</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoDivuwMulu</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGeneralDataModel</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralNearConstLocation</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GeneralNearConstStart</name>
+ <state>0xF1000</state>
+ </option>
+ <option>
+ <name>GeneralNearConstSize</name>
+ <state>47.75</state>
+ </option>
+ <option>
+ <name>GFarHeapSize</name>
+ <state>4096</state>
+ </option>
+ <option>
+ <name>GeneralDeviceSelect</name>
+ <state>78F1166_A0 78K0R - uPD78F1166_A0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICC78000</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>15</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CompilerProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerCalltFuncRt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerDataAlignData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerWrksegEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerWrksegSize</name>
+ <state>20</state>
+ </option>
+ <option>
+ <name>CompilerDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMigrationPreprocExtentions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerAllowList</name>
+ <version>1</version>
+ <state>00000</state>
+ </option>
+ <option>
+ <name>CompilerObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state>__IAR_78KOR_Kx3__</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state>Pa082</state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r26</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\Source\include</state>
+ <state>$PROJ_DIR$\..\Common\include</state>
+ <state>$PROJ_DIR$\LEDtoggle</state>
+ <state>$PROJ_DIR$\Int78K0R</state>
+ <state>$PROJ_DIR$</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\CLIB\</state>
+ </option>
+ <option>
+ <name>CompilerDataModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerNearConstLocation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCOverrideModuleTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleTypeSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>A78000</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>9</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>structAsm</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>__FAR_MODEL__</state>
+ <state>__FAR_DATA_MODEL__</state>
+ </option>
+ <option>
+ <name>Debug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Multibyte</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r26</state>
+ </option>
+ <option>
+ <name>ANoIfdefMatching</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AAllowMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AAllowDirectives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Diagnostic</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>APreProc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreProcComment</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreProcLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxErrChk</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxNumErr</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>OAIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\Source\include</state>
+ <state>$PROJ_DIR$\..\Common\include</state>
+ <state>$PROJ_DIR$\LEDtoggle</state>
+ <state>$PROJ_DIR$</state>
+ </option>
+ <option>
+ <name>OAStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OAStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>AEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>15</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>XExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>rtosdemo.d26</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>$TOOLKIT_DIR$\LIB\</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\lnk78f1166_a0.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XlinkStackSize</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XlinkCodeModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XcRTLibraryFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLibraryHeap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>rtosdemo.lnk</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>72</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XLibraryNearConstLocation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLibraryFarHeap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>78000</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>7</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>GeneralCodeModel</name>
+ <version>1</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state>Release\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Release\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Release\List</state>
+ </option>
+ <option>
+ <name>GeneralStack</name>
+ <state>0x80</state>
+ </option>
+ <option>
+ <name>CodeBankReg</name>
+ <state>0xFFF3</state>
+ </option>
+ <option>
+ <name>CodeBankBanks</name>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CodeBankStart</name>
+ <state>0x8000</state>
+ </option>
+ <option>
+ <name>CodeBankSize</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the legacy C runtime library.</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\LIB\CLIB\cl78kff3.r26</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>GHeapSize</name>
+ <state>512</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoDivuwMulu</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGeneralDataModel</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralNearConstLocation</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GeneralNearConstStart</name>
+ <state>0xF1000</state>
+ </option>
+ <option>
+ <name>GeneralNearConstSize</name>
+ <state>47.75</state>
+ </option>
+ <option>
+ <name>GFarHeapSize</name>
+ <state>4096</state>
+ </option>
+ <option>
+ <name>GeneralDeviceSelect</name>
+ <state>78F1166_A0 78K0R - uPD78F1166_A0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICC78000</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>15</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CompilerProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerCalltFuncRt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerDataAlignData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerWrksegEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerWrksegSize</name>
+ <state>20</state>
+ </option>
+ <option>
+ <name>CompilerDebugInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMigrationPreprocExtentions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerAllowList</name>
+ <version>1</version>
+ <state>11111</state>
+ </option>
+ <option>
+ <name>CompilerObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state>__IAR_78KOR_Kx3__</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state>Pa082</state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r26</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\Source\include</state>
+ <state>$PROJ_DIR$\..\Common\include</state>
+ <state>$PROJ_DIR$\LEDtoggle</state>
+ <state>$PROJ_DIR$\Int78K0R</state>
+ <state>$PROJ_DIR$</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\CLIB\</state>
+ </option>
+ <option>
+ <name>CompilerDataModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerNearConstLocation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCOverrideModuleTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleTypeSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>A78000</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>9</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>structAsm</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>__FAR_MODEL__</state>
+ <state>__FAR_DATA_MODEL__</state>
+ </option>
+ <option>
+ <name>Debug</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Multibyte</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r26</state>
+ </option>
+ <option>
+ <name>ANoIfdefMatching</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AAllowMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AAllowDirectives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Diagnostic</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>APreProc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreProcComment</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreProcLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxErrChk</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxNumErr</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>OAIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\Source\include</state>
+ <state>$PROJ_DIR$\..\Common\include</state>
+ <state>$PROJ_DIR$\LEDtoggle</state>
+ <state>$PROJ_DIR$</state>
+ </option>
+ <option>
+ <name>OAStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OAStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>AEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>15</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>rtosdemo.a26</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>$TOOLKIT_DIR$\LIB\</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\lnk78f1166_a0.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XlinkStackSize</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XlinkCodeModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XcRTLibraryFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLibraryHeap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>rtosdemo.a26</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XLibraryNearConstLocation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLibraryFarHeap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <group>
+ <name>Demo Source</name>
+ <file>
+ <name>$PROJ_DIR$\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\PollQ.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\print.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\RegTest.s26</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Full\semtest.c</name>
+ </file>
+ </group>
+ <group>
+ <name>Kernel Source</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\list.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\queue.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\tasks.c</name>
+ </file>
+ </group>
+ <file>
+ <name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
+ </file>
+</project>
+
+
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.eww b/Demo/NEC_78K0R_IAR/rtosdemo.eww
new file mode 100644
index 00000000..2294aacb
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/rtosdemo.eww
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<workspace>
+ <project>
+ <path>$WS_DIR$\rtosdemo.ewp</path>
+ </project>
+ <batchBuild/>
+</workspace>
+
+
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat b/Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat
new file mode 100644
index 00000000..9865cab3
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/settings/rtosdemo.cspy.bat
@@ -0,0 +1,33 @@
+@REM This bat file has been generated by the IAR Embeddded Workbench
+@REM C-SPY interactive debugger,as an aid to preparing a command
+@REM line for running the cspybat command line utility with the
+@REM appropriate settings.
+@REM
+@REM After making some adjustments to this file, you can launch cspybat
+@REM by typing the name of this file followed by the name of the debug
+@REM file (usually an ubrof file). Note that this file is generated
+@REM every time a new debug session is initialized, so you may want to
+@REM move or rename the file before making changes.
+@REM
+@REM Note: some command line arguments cannot be properly generated
+@REM by this process. Specifically, the plugin which is responsible
+@REM for the Terminal I/O window (and other C runtime functionality)
+@REM comes in a special version for cspybat, and the name of that
+@REM plugin dll is not known when generating this file. It resides in
+@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
+@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
+@REM tool chain. Replace the '<libsupport_plugin>' parameter
+@REM below with the appropriate file name. Other plugins loaded by
+@REM C-SPY are usually not needed by, or will not work in, cspybat
+@REM but they are listed at the end of this file for reference.
+
+
+"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"
+
+
+@REM Loaded plugins:
+@REM 78kLibSupport.dll
+@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\CodeCoverage\CodeCoverage.dll
+@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\Profiling\Profiling.dll
+@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\stack\stack.dll
+@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\SymList\SymList.dll
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt b/Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt
new file mode 100644
index 00000000..850a154c
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/settings/rtosdemo.dbgdt
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<Project>
+ <Desktop>
+ <Static>
+ <Debug-Log/>
+ <Build>
+ <ColumnWidth0>20</ColumnWidth0>
+ <ColumnWidth1>1216</ColumnWidth1>
+ <ColumnWidth2>324</ColumnWidth2>
+ <ColumnWidth3>81</ColumnWidth3>
+ </Build>
+ <Workspace>
+ <ColumnWidths>
+
+
+
+
+ <Column0>181</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
+ </Workspace>
+ <Disassembly>
+ <PreferedWindows>
+
+
+
+
+ <Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows>
+
+
+ <MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly>
+ <Register/><Watch><Format><struct_types/><watch_formats/></Format><Column0>100</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Watch></Static>
+ <Windows>
+
+
+ <Wnd2>
+ <Tabs>
+ <Tab>
+ <Identity>TabID-15892-1978</Identity>
+ <TabName>Debug Log</TabName>
+ <Factory>Debug-Log</Factory>
+ <Session/>
+ </Tab>
+ <Tab>
+ <Identity>TabID-15370-1988</Identity>
+ <TabName>Build</TabName>
+ <Factory>Build</Factory>
+ <Session/>
+ </Tab>
+ <Tab><Identity>TabID-15381-14004</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab></Tabs>
+
+ <SelectedTab>0</SelectedTab></Wnd2><Wnd6>
+ <Tabs>
+ <Tab>
+ <Identity>TabID-26641-1982</Identity>
+ <TabName>Workspace</TabName>
+ <Factory>Workspace</Factory>
+ <Session>
+
+ <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode></NodeDict></Session>
+ </Tab>
+ </Tabs>
+
+ <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>
+ <Editor>
+
+
+
+
+ <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>
+ <Positions>
+
+
+
+
+
+ <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>
+ </Desktop>
+</Project>
+
+
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.dni b/Demo/NEC_78K0R_IAR/settings/rtosdemo.dni
new file mode 100644
index 00000000..0e6ccd1a
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/settings/rtosdemo.dni
@@ -0,0 +1,85 @@
+[CodeCoverage]
+Enabled=_ 0
+[MINICUBE2]
+Map0=0,0,262143,262144
+Map1=1,1036032,1048319,12288
+MapEntries=2
+HWsettings=4,0,1,2,4,0,2,0
+HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0
+HWsettingsRsuid=FFFFFFFFFFFFFFFFFFFF
+EventEntries=0
+SeqName0=
+SeqData0=0,0
+SeqEnable10=0,0,0,0,0,0,0,0,0,0
+SeqEnable20=0,0,0,0,0,0,0,0,0,0
+SeqEnable30=0,0,0,0,0,0,0,0,0,0
+SeqEnable40=0,0,0,0,0,0,0,0,0,0
+SeqDisable0=0,0,0,0,0,0,0,0,0,0
+SeqData20=0,0,0,0,0,0
+SeqName1=
+SeqData1=0,0
+SeqEnable11=0,0,0,0,0,0,0,0,0,0
+SeqEnable21=0,0,0,0,0,0,0,0,0,0
+SeqEnable31=0,0,0,0,0,0,0,0,0,0
+SeqEnable41=0,0,0,0,0,0,0,0,0,0
+SeqDisable1=0,0,0,0,0,0,0,0,0,0
+SeqData21=0,0,0,0,0,0
+SeqName2=
+SeqData2=0,0
+SeqEnable12=0,0,0,0,0,0,0,0,0,0
+SeqEnable22=0,0,0,0,0,0,0,0,0,0
+SeqEnable32=0,0,0,0,0,0,0,0,0,0
+SeqEnable42=0,0,0,0,0,0,0,0,0,0
+SeqDisable2=0,0,0,0,0,0,0,0,0,0
+SeqData22=0,0,0,0,0,0
+SeqName3=
+SeqData3=0,0
+SeqEnable13=0,0,0,0,0,0,0,0,0,0
+SeqEnable23=0,0,0,0,0,0,0,0,0,0
+SeqEnable33=0,0,0,0,0,0,0,0,0,0
+SeqEnable43=0,0,0,0,0,0,0,0,0,0
+SeqDisable3=0,0,0,0,0,0,0,0,0,0
+SeqData23=0,0,0,0,0,0
+SeqName4=
+SeqData4=0,0
+SeqEnable14=0,0,0,0,0,0,0,0,0,0
+SeqEnable24=0,0,0,0,0,0,0,0,0,0
+SeqEnable34=0,0,0,0,0,0,0,0,0,0
+SeqEnable44=0,0,0,0,0,0,0,0,0,0
+SeqDisable4=0,0,0,0,0,0,0,0,0,0
+SeqData24=0,0,0,0,0,0
+TraceSettings=64,0,0,0,0,0,8192
+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
+CoverSettings=1048192,1048207,0
+Version=1,78k0rtrace.txt
+LastDevFile=DF1166A0.78K
+EmulType=320
+EventLimits=0, 1, 1, 2
+LastSetupFailed=0
+[DisAssemblyWindow]
+NumStates=_ 1
+State 1=_ 1
+[Profiling]
+Enabled=0
+[StackPlugin]
+Enabled=1
+OverflowWarningsEnabled=1
+WarningThreshold=90
+SpWarningsEnabled=1
+WarnHow=0
+UseTrigger=1
+TriggerName=main
+LimitSize=0
+ByteLimit=50
+[Breakpoints]
+Count=0
+[Log file]
+LoggingEnabled=_ 0
+LogFile=_ ""
+Category=_ 0
+[TermIOLog]
+LoggingEnabled=_ 0
+LogFile=_ ""
+[TraceHelper]
+Enabled=0
+ShowSource=1
diff --git a/Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt b/Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt
new file mode 100644
index 00000000..5755f375
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/settings/rtosdemo.wsdt
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<Workspace>
+ <ConfigDictionary>
+
+ <CurrentConfigs><Project>rtosdemo/Debug</Project></CurrentConfigs></ConfigDictionary>
+ <Desktop>
+ <Static>
+ <Workspace>
+ <ColumnWidths>
+
+
+
+
+ <Column0>277</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
+ </Workspace>
+ <Build>
+
+
+
+
+ <ColumnWidth0>20</ColumnWidth0><ColumnWidth1>916</ColumnWidth1><ColumnWidth2>244</ColumnWidth2><ColumnWidth3>61</ColumnWidth3></Build>
+ <Debug-Log/><TerminalIO/></Static>
+ <Windows>
+
+
+ <Wnd0>
+ <Tabs>
+ <Tab>
+ <Identity>TabID-28554-14697</Identity>
+ <TabName>Workspace</TabName>
+ <Factory>Workspace</Factory>
+ <Session>
+
+ <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source/port.c</ExpandedNode></NodeDict></Session>
+ </Tab>
+ </Tabs>
+
+ <SelectedTab>0</SelectedTab></Wnd0><Wnd1>
+ <Tabs>
+ <Tab>
+ <Identity>TabID-24371-14776</Identity>
+ <TabName>Build</TabName>
+ <Factory>Build</Factory>
+ <Session/>
+ </Tab>
+ <Tab><Identity>TabID-2405-1208</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs>
+
+ <SelectedTab>0</SelectedTab></Wnd1></Windows>
+ <Editor>
+
+
+
+
+ <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>
+ <Positions>
+
+
+
+
+
+ <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>
+ </Desktop>
+</Workspace>
+
+