diff --git a/Demo/NEC_78K0R_IAR/ButtonISR.s26 b/Demo/NEC_78K0R_IAR/ButtonISR.s26
new file mode 100644
index 000000000..9ddf25772
--- /dev/null
+++ b/Demo/NEC_78K0R_IAR/ButtonISR.s26
@@ -0,0 +1,55 @@
+; 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.
+; ***************************************************************************
+;
+;------------------------------------------------------------------------------
+
+#include "ISR_Support.h"
+
+ PUBLIC vButtonISRWrapper
+ EXTERN vButtonISRHandler
+
+ RSEG CODE:CODE
+
+vButtonISRWrapper:
+ portSAVE_CONTEXT
+ call vButtonISRHandler
+ portRESTORE_CONTEXT
+ RETI
+
+
+
+ ; Set ISR location to the Interrupt vector table.
+ COMMON INTVEC:CODE:ROOT(1)
+ ORG 8
+`??vButtonISRWrapper??INTVEC 8`:
+ DW vButtonISRWrapper
+
+
+ END
diff --git a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h b/Demo/NEC_78K0R_IAR/ButtonTask.c
similarity index 71%
rename from Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h
rename to Demo/NEC_78K0R_IAR/ButtonTask.c
index 2bd33182e..a15202cd8 100644
--- a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.h
+++ b/Demo/NEC_78K0R_IAR/ButtonTask.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V5.0.2 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.1.1 - Copyright (C) 2003-2009 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -19,7 +19,7 @@
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
+ 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.
@@ -37,22 +37,45 @@
Please ensure to read the configuration and relevant port sections of the
online documentation.
- http://www.FreeRTOS.org - Documentation, latest information, license and
+ http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
- http://www.SafeRTOS.com - A version that is certified for use in safety
+ http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
- http://www.OpenRTOS.com - Commercial support, development, porting,
+ http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
-#ifndef INTEGER_TASKS_H
-#define INTEGER_TASKS_H
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
-void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority );
-portBASE_TYPE xAreIntegerMathsTaskStillRunning( void );
+static xSemaphoreHandle xButtonSemaphore;
-#endif
+#define LED01 P7_bit.no7
+void vButtonTask( void *pvParameters )
+{
+ vSemaphoreCreateBinary( xButtonSemaphore );
+ for( ;; )
+ {
+ xSemaphoreTake( xButtonSemaphore, portMAX_DELAY );
+ LED01 = !LED01;
+
+ vTaskDelay( 200 / portTICK_RATE_MS );
+ xSemaphoreTake( xButtonSemaphore, 0 );
+ }
+}
+/*-----------------------------------------------------------*/
+
+void vButtonISRHandler( void )
+{
+short sHigherPriorityTaskWoken = pdFALSE;
+
+ xSemaphoreGiveFromISR( xButtonSemaphore, &sHigherPriorityTaskWoken );
+
+ portYIELD_FROM_ISR( sHigherPriorityTaskWoken );
+}
+/*-----------------------------------------------------------*/
diff --git a/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
index ef7643021..7c4f72f78 100644
--- a/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
+++ b/Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
@@ -62,14 +62,14 @@
#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
@@ -104,6 +104,7 @@
#define configUSE_16_BIT_TICKS 1
#define configIDLE_SHOULD_YIELD 1
#define configCHECK_FOR_STACK_OVERFLOW 0
+ #define configUSE_MUTEXES 1
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0
@@ -111,11 +112,11 @@
/* 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_vTaskPrioritySet 1
+ #define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskCleanUpResources 0
- #define INCLUDE_vTaskSuspend 0
+ #define INCLUDE_vTaskSuspend 1
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1
diff --git a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c b/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c
deleted file mode 100644
index 68ffabd6c..000000000
--- a/Demo/NEC_78K0R_IAR/Int78K0R/int78K0R.c
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- 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
- *
- */
-
-/*
-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
-
-/* 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/LEDtoggle/LED.c b/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c
deleted file mode 100644
index f25640f7a..000000000
--- a/Demo/NEC_78K0R_IAR/LEDtoggle/LED.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- 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
deleted file mode 100644
index 9d2884af8..000000000
--- a/Demo/NEC_78K0R_IAR/LEDtoggle/LED.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- 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/main.c b/Demo/NEC_78K0R_IAR/main.c
index 6824ee658..4c3342e87 100644
--- a/Demo/NEC_78K0R_IAR/main.c
+++ b/Demo/NEC_78K0R_IAR/main.c
@@ -58,9 +58,10 @@
/* Demo file headers. */
#include "int78K0R.h"
#include "PollQ.h"
-#include "LED.h"
-#include "print.h"
#include "semtest.h"
+#include "GenQTest.h"
+#include "dynamic.h"
+#include "blocktim.h"
/*
* Priority definitions for most of the tasks in the demo application. Some
@@ -69,12 +70,16 @@
#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 )
+#define mainBUTTON_PRIORITY ( configMAX_PRIORITIES - 1 )
+#define mainGEN_QUEUE_PRIORITY ( tskIDLE_PRIORITY )
/* 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 )
+#define LED00 P7_bit.no6
+#define LED01 P7_bit.no7
+
/*
* 78K0R/Kx3 Option Byte Definition
* watchdog disabled, LVI enabled, OCD interface enabled
@@ -99,29 +104,31 @@ int __low_level_init(void);
extern void vRegTest1( void *pvParameters );
extern void vRegTest2( void *pvParameters );
+extern void vButtonTask( void *pvParameters );
static short sRegTestStatus = pdPASS;
portSHORT main( void )
{
/* Create the standard demo tasks. */
- vStartIntegerMathTasks( tskIDLE_PRIORITY );
vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
vStartSemaphoreTasks(mainSEMTEST_PRIORITY);
+ vStartGenericQueueTasks( mainGEN_QUEUE_PRIORITY );
+ vStartDynamicPriorityTasks();
+ vCreateBlockTimeTasks();
+ xTaskCreate( vButtonTask, "Button", configMINIMAL_STACK_SIZE, NULL, mainBUTTON_PRIORITY, NULL );
+
/* 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 );
- /* 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;
+ for( ;; );
}
/*-----------------------------------------------------------*/
@@ -144,7 +151,7 @@ portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;
{
vTaskDelayUntil( &xLastWakeTime, xToggleRate );
- if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
+ if( xAreGenericQueueTasksStillRunning() != pdTRUE )
{
xToggleRate = mainERROR_TOGGLE_PERIOD;
}
@@ -158,6 +165,16 @@ portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;
{
xToggleRate = mainERROR_TOGGLE_PERIOD;
}
+
+ if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
+
+ if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
+ {
+ xToggleRate = mainERROR_TOGGLE_PERIOD;
+ }
if( sRegTestStatus != pdPASS )
{
@@ -165,7 +182,7 @@ portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;
}
/* Toggle the LED. */
- LED01 = !LED01;
+ LED00 = !LED00;
}
}
/*-----------------------------------------------------------*/
@@ -285,6 +302,30 @@ unsigned portCHAR resetflag = RESF;
}
/*-----------------------------------------------------------*/
+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;
+}
+/*-----------------------------------------------------------*/
+
void vRegTestError( void )
{
sRegTestStatus = pdFAIL;
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.dep b/Demo/NEC_78K0R_IAR/rtosdemo.dep
deleted file mode 100644
index 135fb7577..000000000
--- a/Demo/NEC_78K0R_IAR/rtosdemo.dep
+++ /dev/null
@@ -1,719 +0,0 @@
-
-
-
- 2
- 3729116561
-
- Debug
-
- $PROJ_DIR$\Debug\List\integer.lst
- $TOOLKIT_DIR$\inc\intrinsics.h
- $PROJ_DIR$\..\Common\include\print.h
- $PROJ_DIR$\Debug\List\list.lst
- $PROJ_DIR$\Debug\List\tasks.lst
- $PROJ_DIR$\Debug\Exe\rtosdemo.d26
- $PROJ_DIR$\..\..\Source\include\portable.h
- $PROJ_DIR$\Debug\Obj\PollQ.pbi
- $PROJ_DIR$\Debug\Obj\portasm.r26
- $PROJ_DIR$\Debug\Obj\list.r26
- $PROJ_DIR$\Debug\Obj\PollQ.r26
- $PROJ_DIR$\Debug\Obj\semtest.r26
- $PROJ_DIR$\Debug\Obj\port.r26
- $PROJ_DIR$\Debug\List\rtosdemo.map
- $TOOLKIT_DIR$\inc\clib\stdarg.h
- $PROJ_DIR$\..\..\Source\include\task.h
- $PROJ_DIR$\..\..\Source\include\StackMacros.h
- $PROJ_DIR$\Debug\Obj\main.pbi
- $TOOLKIT_DIR$\inc\clib\stddef.h
- $PROJ_DIR$\Debug\Obj\queue.pbi
- $PROJ_DIR$\Debug\Obj\list.pbi
- $TOOLKIT_DIR$\inc\clib\string.h
- $PROJ_DIR$\Debug\Obj\tasks.pbi
- $PROJ_DIR$\Debug\Obj\queue.r26
- $PROJ_DIR$\..\..\Source\include\croutine.h
- $PROJ_DIR$\Debug\List\heap_1.lst
- $TOOLKIT_DIR$\inc\clib\sysmac.h
- $TOOLKIT_DIR$\inc\clib\stdio.h
- $PROJ_DIR$\Debug\Obj\port.pbi
- $PROJ_DIR$\Debug\Obj\integer.r26
- $PROJ_DIR$\Debug\List\main.lst
- $TOOLKIT_DIR$\config\lnk78f1166_a0.xcl
- $PROJ_DIR$\Int78K0R\int78K0R.h
- $PROJ_DIR$\LEDtoggle\LED.h
- $PROJ_DIR$\..\..\Source\include\projdefs.h
- $PROJ_DIR$\FreeRTOSConfig.h
- $PROJ_DIR$\Debug\Obj\heap_1.pbi
- $PROJ_DIR$\Debug\Obj\tasks.r26
- $PROJ_DIR$\Debug\Obj\RegTest.r26
- $PROJ_DIR$\Debug\List\RegTest.lst
- $PROJ_DIR$\Debug\List\queue.lst
- $PROJ_DIR$\Debug\Obj\heap_1.r26
- $PROJ_DIR$\main.c
- $PROJ_DIR$\..\..\Source\include\semphr.h
- $PROJ_DIR$\..\Common\include\PollQ.h
- $PROJ_DIR$\Debug\List\port.lst
- $PROJ_DIR$\..\Common\include\semtest.h
- $TOOLKIT_DIR$\inc\io78f1166_a0.h
- $PROJ_DIR$\Debug\Obj\integer.pbi
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.h
- $PROJ_DIR$\..\..\Source\include\FreeRTOS.h
- $PROJ_DIR$\..\..\Source\include\list.h
- $TOOLKIT_DIR$\inc\clib\stdlib.h
- $PROJ_DIR$\Debug\Obj\rtosdemo.pbd
- $PROJ_DIR$\..\..\Source\include\queue.h
- $TOOLKIT_DIR$\inc\io78f1166_a0_ext.h
- $PROJ_DIR$\Debug\List\portasm.lst
- $PROJ_DIR$\Debug\Obj\semtest.pbi
- $PROJ_DIR$\Debug\Obj\main.r26
- $PROJ_DIR$\..\Common\include\integer.h
- $TOOLKIT_DIR$\lib\clib\cl78kff3.r26
- $PROJ_DIR$\..\Common\Full\PollQ.c
- $PROJ_DIR$\RegTest.s26
- $PROJ_DIR$\..\..\Source\list.c
- $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26
- $PROJ_DIR$\..\..\Source\queue.c
- $PROJ_DIR$\..\..\Source\tasks.c
- $PROJ_DIR$\..\Common\Minimal\integer.c
- $PROJ_DIR$\Debug\List\PollQ.lst
- $PROJ_DIR$\Debug\List\semtest.lst
- $PROJ_DIR$\..\Common\Minimal\semtest.c
- $PROJ_DIR$\..\Common\Minimal\PollQ.c
-
-
- [ROOT_NODE]
-
-
- XLINK
- 5 13
-
-
-
-
- $PROJ_DIR$\Debug\Exe\rtosdemo.d26
-
-
- XLINK
- 13
-
-
-
-
- XLINK
- 31 10 38 41 29 9 58 12 8 23 11 37 60
-
-
-
-
- $PROJ_DIR$\main.c
-
-
- ICC78000
- 30 58
-
-
- BICOMP
- 17
-
-
-
-
- ICC78000
- 52 26 21 50 18 34 35 47 55 1 6 49 15 51 32 44 33 2 46
-
-
- BICOMP
- 52 26 21 50 18 34 35 47 55 1 6 49 15 51 32 44 33 2 46
-
-
-
-
- $PROJ_DIR$\Debug\Obj\rtosdemo.pbd
-
-
- BILINK
- 7 36 48 20 17 28 19 57 22
-
-
-
-
- $PROJ_DIR$\RegTest.s26
-
-
- A78000
- 38 39
-
-
-
-
- $PROJ_DIR$\..\..\Source\list.c
-
-
- ICC78000
- 3 9
-
-
- BICOMP
- 20
-
-
-
-
- ICC78000
- 52 26 50 18 34 35 47 55 1 6 49 51
-
-
- BICOMP
- 52 26 50 18 34 35 47 55 1 6 49 51
-
-
-
-
- $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c
-
-
- ICC78000
- 25 41
-
-
- BICOMP
- 36
-
-
-
-
- ICC78000
- 52 26 50 18 34 35 47 55 1 6 49 15 51
-
-
- BICOMP
- 52 26 50 18 34 35 47 55 1 6 49 15 51
-
-
-
-
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c
-
-
- ICC78000
- 45 12
-
-
- BICOMP
- 28
-
-
-
-
- ICC78000
- 52 26 50 18 34 35 47 55 1 6 49 15 51
-
-
- BICOMP
- 52 26 50 18 34 35 47 55 1 6 49 15 51
-
-
-
-
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26
-
-
- A78000
- 8 56
-
-
-
-
- A78000
- 35
-
-
-
-
- $PROJ_DIR$\..\..\Source\queue.c
-
-
- ICC78000
- 40 23
-
-
- BICOMP
- 19
-
-
-
-
- ICC78000
- 52 26 21 50 18 34 35 47 55 1 6 49 15 51 24
-
-
- BICOMP
- 52 26 21 50 18 34 35 47 55 1 6 49 15 51 24
-
-
-
-
- $PROJ_DIR$\..\..\Source\tasks.c
-
-
- ICC78000
- 4 37
-
-
- BICOMP
- 22
-
-
-
-
- ICC78000
- 27 14 26 52 21 50 18 34 35 47 55 1 6 49 15 51 16
-
-
- BICOMP
- 27 14 26 52 21 50 18 34 35 47 55 1 6 49 15 51 16
-
-
-
-
- $PROJ_DIR$\..\Common\Minimal\integer.c
-
-
- ICC78000
- 0 29
-
-
- BICOMP
- 48
-
-
-
-
- ICC78000
- 52 26 50 18 34 35 47 55 1 6 49 15 51 59
-
-
- BICOMP
- 52 26 50 18 34 35 47 55 1 6 49 15 51 59
-
-
-
-
- $PROJ_DIR$\..\Common\Minimal\semtest.c
-
-
- ICC78000
- 71 11
-
-
- BICOMP
- 57
-
-
-
-
- ICC78000
- 52 26 50 18 34 35 47 55 1 6 49 15 51 43 54 46
-
-
- BICOMP
- 52 26 50 18 34 35 47 55 1 6 49 15 51 43 54 46
-
-
-
-
- $PROJ_DIR$\..\Common\Minimal\PollQ.c
-
-
- ICC78000
- 70 10
-
-
- BICOMP
- 7
-
-
-
-
- ICC78000
- 52 26 50 18 34 35 47 55 1 6 49 15 51 54 44
-
-
- BICOMP
- 52 26 50 18 34 35 47 55 1 6 49 15 51 54 44
-
-
-
-
-
- Release
-
- $TOOLKIT_DIR$\inc\intrinsics.h
- $PROJ_DIR$\Release\Obj\int78K0R.r26
- $PROJ_DIR$\Release\Obj\tasks.r26
- $PROJ_DIR$\Release\Obj\portmacro.r26
- $PROJ_DIR$\Release\Obj\queue.pbi
- $PROJ_DIR$\Release\Exe\rtosdemo.a26
- $PROJ_DIR$\Release\Obj\PollQ.r26
- $PROJ_DIR$\Release\Obj\LED.pbi
- $PROJ_DIR$\..\Common\include\print.h
- $PROJ_DIR$\..\..\Source\include\portable.h
- $PROJ_DIR$\..\Common\Full\semtest.c
- $TOOLKIT_DIR$\inc\clib\stdarg.h
- $PROJ_DIR$\..\..\Source\include\task.h
- $TOOLKIT_DIR$\inc\clib\stddef.h
- $TOOLKIT_DIR$\inc\clib\string.h
- $PROJ_DIR$\Release\Obj\list.r26
- $PROJ_DIR$\Release\Obj\print.pbi
- $PROJ_DIR$\Release\Obj\rtosdemo.pbd
- $PROJ_DIR$\Release\Obj\PollQ.pbi
- $PROJ_DIR$\..\..\Source\include\croutine.h
- $PROJ_DIR$\Int78K0R\int78K0R.c
- $TOOLKIT_DIR$\inc\clib\sysmac.h
- $TOOLKIT_DIR$\inc\clib\stdio.h
- $TOOLKIT_DIR$\config\lnk78f1166_a0.xcl
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26
- $PROJ_DIR$\Int78K0R\int78K0R.h
- $PROJ_DIR$\LEDtoggle\LED.h
- $PROJ_DIR$\..\..\Source\include\projdefs.h
- $PROJ_DIR$\FreeRTOSConfig.h
- $PROJ_DIR$\main.c
- $PROJ_DIR$\Release\Obj\port.r26
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.h
- $PROJ_DIR$\Release\Obj\tasks.pbi
- $PROJ_DIR$\Release\Obj\print.r26
- $PROJ_DIR$\Release\Obj\port.pbi
- $PROJ_DIR$\Release\Obj\heap_1.pbi
- $PROJ_DIR$\..\..\Source\include\semphr.h
- $PROJ_DIR$\..\Common\include\PollQ.h
- $PROJ_DIR$\LEDtoggle\LED.c
- $PROJ_DIR$\..\Common\include\semtest.h
- $PROJ_DIR$\Release\Obj\LED.r26
- $PROJ_DIR$\Release\Obj\main.r26
- $PROJ_DIR$\Release\Obj\semtest.pbi
- $PROJ_DIR$\Release\Obj\list.pbi
- $PROJ_DIR$\Release\Obj\heap_1.r26
- $PROJ_DIR$\Release\Obj\main.pbi
- $PROJ_DIR$\Release\Obj\semtest.r26
- $PROJ_DIR$\Release\Obj\int78K0R.pbi
- $PROJ_DIR$\Release\Obj\queue.r26
- $TOOLKIT_DIR$\inc\io78f1166_a0.h
- $PROJ_DIR$\..\..\Source\include\FreeRTOS.h
- $PROJ_DIR$\..\..\Source\include\list.h
- $TOOLKIT_DIR$\inc\clib\stdlib.h
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c
- $PROJ_DIR$\..\..\Source\include\queue.h
- $TOOLKIT_DIR$\inc\io78f1166_a0_ext.h
- $PROJ_DIR$\..\Common\include\integer.h
- $TOOLKIT_DIR$\lib\clib\cl78kff3.r26
- $PROJ_DIR$\..\Common\Full\PollQ.c
- $PROJ_DIR$\..\Common\Full\print.c
- $PROJ_DIR$\..\..\Source\list.c
- $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c
- $PROJ_DIR$\..\..\Source\queue.c
- $PROJ_DIR$\..\..\Source\tasks.c
-
-
- [ROOT_NODE]
-
-
- XLINK
- 5
-
-
-
-
- $PROJ_DIR$\Release\Exe\rtosdemo.a26
-
-
- XLINK
- 23 40 6 44 1 15 41 30 3 33 48 46 2 57
-
-
-
-
- $PROJ_DIR$\..\Common\Full\semtest.c
-
-
- ICC78000
- 46
-
-
- BICOMP
- 42
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 12 51 36 54 39 8
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 12 51 36 54 39 8
-
-
-
-
- $PROJ_DIR$\Release\Obj\rtosdemo.pbd
-
-
- BILINK
- 7 18 35 47 43 45 34 16 4 42 32
-
-
-
-
- $PROJ_DIR$\Int78K0R\int78K0R.c
-
-
- ICC78000
- 1
-
-
- BICOMP
- 47
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 12 51 8 56
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 12 51 8 56
-
-
-
-
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26
-
-
- A78000
- 3
-
-
-
-
- A78000
- 28
-
-
-
-
- $PROJ_DIR$\main.c
-
-
- ICC78000
- 41
-
-
- BICOMP
- 45
-
-
-
-
- ICC78000
- 52 21 14 50 13 27 28 49 55 0 9 31 12 51 25 37 26 8 39
-
-
- BICOMP
- 52 21 14 50 13 27 28 49 55 0 9 31 12 51 25 37 26 8 39
-
-
-
-
- $PROJ_DIR$\LEDtoggle\LED.c
-
-
- ICC78000
- 40
-
-
- BICOMP
- 7
-
-
-
-
- ICC78000
- 50 13 21 27 28 49 55 0 9 31 12 51 26 54 8
-
-
- BICOMP
- 50 13 21 27 28 49 55 0 9 31 12 51 26 54 8
-
-
-
-
- $PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c
-
-
- ICC78000
- 30
-
-
- BICOMP
- 34
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 12 51
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 12 51
-
-
-
-
- $PROJ_DIR$\..\Common\Full\PollQ.c
-
-
- ICC78000
- 6
-
-
- BICOMP
- 18
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 12 51 54 8 37
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 12 51 54 8 37
-
-
-
-
- $PROJ_DIR$\..\Common\Full\print.c
-
-
- ICC78000
- 33
-
-
- BICOMP
- 16
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 54 8
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 54 8
-
-
-
-
- $PROJ_DIR$\..\..\Source\list.c
-
-
- ICC78000
- 15
-
-
- BICOMP
- 43
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 51
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 51
-
-
-
-
- $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c
-
-
- ICC78000
- 44
-
-
- BICOMP
- 35
-
-
-
-
- ICC78000
- 52 21 50 13 27 28 49 55 0 9 31 12 51
-
-
- BICOMP
- 52 21 50 13 27 28 49 55 0 9 31 12 51
-
-
-
-
- $PROJ_DIR$\..\..\Source\queue.c
-
-
- ICC78000
- 48
-
-
- BICOMP
- 4
-
-
-
-
- ICC78000
- 52 21 14 50 13 27 28 49 55 0 9 31 12 51 19
-
-
- BICOMP
- 52 21 14 50 13 27 28 49 55 0 9 31 12 51 19
-
-
-
-
- $PROJ_DIR$\..\..\Source\tasks.c
-
-
- ICC78000
- 2
-
-
- BICOMP
- 32
-
-
-
-
- ICC78000
- 22 11 21 52 14 50 13 27 28 49 55 0 9 31 12 51
-
-
- BICOMP
- 22 11 21 52 14 50 13 27 28 49 55 0 9 31 12 51
-
-
-
-
- [MULTI_TOOL]
- XLINK
-
-
-
-
-
diff --git a/Demo/NEC_78K0R_IAR/rtosdemo.ewp b/Demo/NEC_78K0R_IAR/rtosdemo.ewp
index c655692d7..09d372ec5 100644
--- a/Demo/NEC_78K0R_IAR/rtosdemo.ewp
+++ b/Demo/NEC_78K0R_IAR/rtosdemo.ewp
@@ -314,7 +314,6 @@
CCIncludePath2$PROJ_DIR$\..\..\Source\include$PROJ_DIR$\..\Common\include
- $PROJ_DIR$\LEDtoggle$PROJ_DIR$\Int78K0R$PROJ_DIR$
@@ -527,9 +526,7 @@