Continue 78K0R development.

This commit is contained in:
Richard Barry 2009-02-04 13:07:16 +00:00
parent 46425b4099
commit 299557fed2
11 changed files with 182 additions and 1433 deletions

View file

@ -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

View file

@ -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. This file is part of the FreeRTOS.org distribution.
@ -47,12 +47,35 @@
licensing and training services. licensing and training services.
*/ */
#ifndef INTEGER_TASKS_H #include "FreeRTOS.h"
#define INTEGER_TASKS_H #include "task.h"
#include "semphr.h"
void vStartIntegerMathTasks( unsigned portBASE_TYPE uxPriority ); static xSemaphoreHandle xButtonSemaphore;
portBASE_TYPE xAreIntegerMathsTaskStillRunning( void );
#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 );
}
/*-----------------------------------------------------------*/

View file

@ -104,6 +104,7 @@
#define configUSE_16_BIT_TICKS 1 #define configUSE_16_BIT_TICKS 1
#define configIDLE_SHOULD_YIELD 1 #define configIDLE_SHOULD_YIELD 1
#define configCHECK_FOR_STACK_OVERFLOW 0 #define configCHECK_FOR_STACK_OVERFLOW 0
#define configUSE_MUTEXES 1
/* Co-routine definitions. */ /* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0 #define configUSE_CO_ROUTINES 0
@ -111,11 +112,11 @@
/* Set the following definitions to 1 to include the API function, or zero /* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */ to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 0 #define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_uxTaskPriorityGet 0 #define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskDelete 1 #define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskCleanUpResources 0 #define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 0 #define INCLUDE_vTaskSuspend 1
#define INCLUDE_vTaskDelayUntil 1 #define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1 #define INCLUDE_vTaskDelay 1

View file

@ -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
* <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;
}

View file

@ -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 );
}
/*-----------------------------------------------------------*/

View file

@ -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

View file

@ -58,9 +58,10 @@
/* Demo file headers. */ /* Demo file headers. */
#include "int78K0R.h" #include "int78K0R.h"
#include "PollQ.h" #include "PollQ.h"
#include "LED.h"
#include "print.h"
#include "semtest.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 * Priority definitions for most of the tasks in the demo application. Some
@ -69,12 +70,16 @@
#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 ) #define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
#define mainSEMTEST_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. */ /* The period between executions of the check task. */
#define mainNO_ERROR_TOGGLE_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS ) #define mainNO_ERROR_TOGGLE_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )
#define mainERROR_TOGGLE_PERIOD ( ( portTickType ) 500 / 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 * 78K0R/Kx3 Option Byte Definition
* watchdog disabled, LVI enabled, OCD interface enabled * watchdog disabled, LVI enabled, OCD interface enabled
@ -99,15 +104,20 @@ int __low_level_init(void);
extern void vRegTest1( void *pvParameters ); extern void vRegTest1( void *pvParameters );
extern void vRegTest2( void *pvParameters ); extern void vRegTest2( void *pvParameters );
extern void vButtonTask( void *pvParameters );
static short sRegTestStatus = pdPASS; static short sRegTestStatus = pdPASS;
portSHORT main( void ) portSHORT main( void )
{ {
/* Create the standard demo tasks. */ /* Create the standard demo tasks. */
vStartIntegerMathTasks( tskIDLE_PRIORITY );
vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY ); vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
vStartSemaphoreTasks(mainSEMTEST_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. */ /* Create the tasks defined within this file. */
xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, (void*)0x12345678, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, (void*)0x12345678, mainCHECK_TASK_PRIORITY, NULL );
@ -115,13 +125,10 @@ portSHORT main( void )
xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL ); xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );
xTaskCreate( vRegTest2, "Reg2", 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(); vTaskStartScheduler();
return 0; for( ;; );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -144,7 +151,7 @@ portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;
{ {
vTaskDelayUntil( &xLastWakeTime, xToggleRate ); vTaskDelayUntil( &xLastWakeTime, xToggleRate );
if( xAreIntegerMathsTaskStillRunning() != pdTRUE ) if( xAreGenericQueueTasksStillRunning() != pdTRUE )
{ {
xToggleRate = mainERROR_TOGGLE_PERIOD; xToggleRate = mainERROR_TOGGLE_PERIOD;
} }
@ -159,13 +166,23 @@ portTickType xToggleRate = mainNO_ERROR_TOGGLE_PERIOD, xLastWakeTime;
xToggleRate = mainERROR_TOGGLE_PERIOD; xToggleRate = mainERROR_TOGGLE_PERIOD;
} }
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{
xToggleRate = mainERROR_TOGGLE_PERIOD;
}
if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
{
xToggleRate = mainERROR_TOGGLE_PERIOD;
}
if( sRegTestStatus != pdPASS ) if( sRegTestStatus != pdPASS )
{ {
xToggleRate = mainERROR_TOGGLE_PERIOD; xToggleRate = mainERROR_TOGGLE_PERIOD;
} }
/* Toggle the LED. */ /* 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 ) void vRegTestError( void )
{ {
sRegTestStatus = pdFAIL; sRegTestStatus = pdFAIL;

View file

@ -1,719 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<fileChecksum>3729116561</fileChecksum>
<configuration>
<name>Debug</name>
<outputs>
<file>$PROJ_DIR$\Debug\List\integer.lst</file>
<file>$TOOLKIT_DIR$\inc\intrinsics.h</file>
<file>$PROJ_DIR$\..\Common\include\print.h</file>
<file>$PROJ_DIR$\Debug\List\list.lst</file>
<file>$PROJ_DIR$\Debug\List\tasks.lst</file>
<file>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</file>
<file>$PROJ_DIR$\..\..\Source\include\portable.h</file>
<file>$PROJ_DIR$\Debug\Obj\PollQ.pbi</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>$PROJ_DIR$\Debug\Obj\semtest.r26</file>
<file>$PROJ_DIR$\Debug\Obj\port.r26</file>
<file>$PROJ_DIR$\Debug\List\rtosdemo.map</file>
<file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>
<file>$PROJ_DIR$\..\..\Source\include\task.h</file>
<file>$PROJ_DIR$\..\..\Source\include\StackMacros.h</file>
<file>$PROJ_DIR$\Debug\Obj\main.pbi</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$\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\port.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\integer.r26</file>
<file>$PROJ_DIR$\Debug\List\main.lst</file>
<file>$TOOLKIT_DIR$\config\lnk78f1166_a0.xcl</file>
<file>$PROJ_DIR$\Int78K0R\int78K0R.h</file>
<file>$PROJ_DIR$\LEDtoggle\LED.h</file>
<file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>
<file>$PROJ_DIR$\FreeRTOSConfig.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\List\RegTest.lst</file>
<file>$PROJ_DIR$\Debug\List\queue.lst</file>
<file>$PROJ_DIR$\Debug\Obj\heap_1.r26</file>
<file>$PROJ_DIR$\main.c</file>
<file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>
<file>$PROJ_DIR$\..\Common\include\PollQ.h</file>
<file>$PROJ_DIR$\Debug\List\port.lst</file>
<file>$PROJ_DIR$\..\Common\include\semtest.h</file>
<file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>
<file>$PROJ_DIR$\Debug\Obj\integer.pbi</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portmacro.h</file>
<file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>
<file>$PROJ_DIR$\..\..\Source\include\list.h</file>
<file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>
<file>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</file>
<file>$PROJ_DIR$\..\..\Source\include\queue.h</file>
<file>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>
<file>$PROJ_DIR$\Debug\List\portasm.lst</file>
<file>$PROJ_DIR$\Debug\Obj\semtest.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\main.r26</file>
<file>$PROJ_DIR$\..\Common\include\integer.h</file>
<file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>
<file>$PROJ_DIR$\..\Common\Full\PollQ.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$\..\..\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$\Debug\List\PollQ.lst</file>
<file>$PROJ_DIR$\Debug\List\semtest.lst</file>
<file>$PROJ_DIR$\..\Common\Minimal\semtest.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\PollQ.c</file>
</outputs>
<file>
<name>[ROOT_NODE]</name>
<outputs>
<tool>
<name>XLINK</name>
<file> 5 13</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Debug\Exe\rtosdemo.d26</name>
<outputs>
<tool>
<name>XLINK</name>
<file> 13</file>
</tool>
</outputs>
<inputs>
<tool>
<name>XLINK</name>
<file> 31 10 38 41 29 9 58 12 8 23 11 37 60</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\main.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 30 58</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 17</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 32 44 33 2 46</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 32 44 33 2 46</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Debug\Obj\rtosdemo.pbd</name>
<inputs>
<tool>
<name>BILINK</name>
<file> 7 36 48 20 17 28 19 57 22</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\RegTest.s26</name>
<outputs>
<tool>
<name>A78000</name>
<file> 38 39</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\list.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 3 9</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 20</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 25 41</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 36</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\port.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 45 12</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 28</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R\portasm.s26</name>
<outputs>
<tool>
<name>A78000</name>
<file> 8 56</file>
</tool>
</outputs>
<inputs>
<tool>
<name>A78000</name>
<file> 35</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\queue.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 40 23</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 19</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 24</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 21 50 18 34 35 47 55 1 6 49 15 51 24</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 4 37</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 22</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 27 14 26 52 21 50 18 34 35 47 55 1 6 49 15 51 16</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 27 14 26 52 21 50 18 34 35 47 55 1 6 49 15 51 16</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 0 29</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 48</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51 59</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51 59</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 71 11</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 57</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51 43 54 46</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51 43 54 46</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 70 10</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 7</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51 54 44</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 26 50 18 34 35 47 55 1 6 49 15 51 54 44</file>
</tool>
</inputs>
</file>
</configuration>
<configuration>
<name>Release</name>
<outputs>
<file>$TOOLKIT_DIR$\inc\intrinsics.h</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$\Release\Obj\queue.pbi</file>
<file>$PROJ_DIR$\Release\Exe\rtosdemo.a26</file>
<file>$PROJ_DIR$\Release\Obj\PollQ.r26</file>
<file>$PROJ_DIR$\Release\Obj\LED.pbi</file>
<file>$PROJ_DIR$\..\Common\include\print.h</file>
<file>$PROJ_DIR$\..\..\Source\include\portable.h</file>
<file>$PROJ_DIR$\..\Common\Full\semtest.c</file>
<file>$TOOLKIT_DIR$\inc\clib\stdarg.h</file>
<file>$PROJ_DIR$\..\..\Source\include\task.h</file>
<file>$TOOLKIT_DIR$\inc\clib\stddef.h</file>
<file>$TOOLKIT_DIR$\inc\clib\string.h</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>$PROJ_DIR$\Release\Obj\PollQ.pbi</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>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</file>
<file>$PROJ_DIR$\Int78K0R\int78K0R.h</file>
<file>$PROJ_DIR$\LEDtoggle\LED.h</file>
<file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>
<file>$PROJ_DIR$\FreeRTOSConfig.h</file>
<file>$PROJ_DIR$\main.c</file>
<file>$PROJ_DIR$\Release\Obj\port.r26</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.h</file>
<file>$PROJ_DIR$\Release\Obj\tasks.pbi</file>
<file>$PROJ_DIR$\Release\Obj\print.r26</file>
<file>$PROJ_DIR$\Release\Obj\port.pbi</file>
<file>$PROJ_DIR$\Release\Obj\heap_1.pbi</file>
<file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>
<file>$PROJ_DIR$\..\Common\include\PollQ.h</file>
<file>$PROJ_DIR$\LEDtoggle\LED.c</file>
<file>$PROJ_DIR$\..\Common\include\semtest.h</file>
<file>$PROJ_DIR$\Release\Obj\LED.r26</file>
<file>$PROJ_DIR$\Release\Obj\main.r26</file>
<file>$PROJ_DIR$\Release\Obj\semtest.pbi</file>
<file>$PROJ_DIR$\Release\Obj\list.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$\Release\Obj\int78K0R.pbi</file>
<file>$PROJ_DIR$\Release\Obj\queue.r26</file>
<file>$TOOLKIT_DIR$\inc\io78f1166_a0.h</file>
<file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>
<file>$PROJ_DIR$\..\..\Source\include\list.h</file>
<file>$TOOLKIT_DIR$\inc\clib\stdlib.h</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</file>
<file>$PROJ_DIR$\..\..\Source\include\queue.h</file>
<file>$TOOLKIT_DIR$\inc\io78f1166_a0_ext.h</file>
<file>$PROJ_DIR$\..\Common\include\integer.h</file>
<file>$TOOLKIT_DIR$\lib\clib\cl78kff3.r26</file>
<file>$PROJ_DIR$\..\Common\Full\PollQ.c</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$\..\..\Source\queue.c</file>
<file>$PROJ_DIR$\..\..\Source\tasks.c</file>
</outputs>
<file>
<name>[ROOT_NODE]</name>
<outputs>
<tool>
<name>XLINK</name>
<file> 5</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Release\Exe\rtosdemo.a26</name>
<inputs>
<tool>
<name>XLINK</name>
<file> 23 40 6 44 1 15 41 30 3 33 48 46 2 57</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Full\semtest.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 46</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 42</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51 36 54 39 8</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51 36 54 39 8</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Release\Obj\rtosdemo.pbd</name>
<inputs>
<tool>
<name>BILINK</name>
<file> 7 18 35 47 43 45 34 16 4 42 32</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Int78K0R\int78K0R.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 1</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 47</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51 8 56</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51 8 56</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\portmacro.s26</name>
<outputs>
<tool>
<name>A78000</name>
<file> 3</file>
</tool>
</outputs>
<inputs>
<tool>
<name>A78000</name>
<file> 28</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\main.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 41</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 45</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 25 37 26 8 39</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 25 37 26 8 39</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\LEDtoggle\LED.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 40</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 7</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 50 13 21 27 28 49 55 0 9 31 12 51 26 54 8</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 50 13 21 27 28 49 55 0 9 31 12 51 26 54 8</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R_Kx3\port.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 30</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 34</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Full\PollQ.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 6</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 18</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51 54 8 37</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51 54 8 37</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Full\print.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 33</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 16</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 54 8</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 54 8</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\list.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 15</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 43</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 44</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 35</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 50 13 27 28 49 55 0 9 31 12 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\queue.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 48</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 4</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 19</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 52 21 14 50 13 27 28 49 55 0 9 31 12 51 19</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>
<outputs>
<tool>
<name>ICC78000</name>
<file> 2</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 32</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICC78000</name>
<file> 22 11 21 52 14 50 13 27 28 49 55 0 9 31 12 51</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 22 11 21 52 14 50 13 27 28 49 55 0 9 31 12 51</file>
</tool>
</inputs>
</file>
<forcedrebuild>
<name>[MULTI_TOOL]</name>
<tool>XLINK</tool>
</forcedrebuild>
</configuration>
</project>

View file

@ -314,7 +314,6 @@
<name>CCIncludePath2</name> <name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\..\Source\include</state> <state>$PROJ_DIR$\..\..\Source\include</state>
<state>$PROJ_DIR$\..\Common\include</state> <state>$PROJ_DIR$\..\Common\include</state>
<state>$PROJ_DIR$\LEDtoggle</state>
<state>$PROJ_DIR$\Int78K0R</state> <state>$PROJ_DIR$\Int78K0R</state>
<state>$PROJ_DIR$</state> <state>$PROJ_DIR$</state>
</option> </option>
@ -527,9 +526,7 @@
</option> </option>
<option> <option>
<name>OAIncludePath2</name> <name>OAIncludePath2</name>
<state>$PROJ_DIR$\..\..\Source\include</state> <state>$PROJ_DIR$\..\..\Source\portable\IAR\78K0R</state>
<state>$PROJ_DIR$\..\Common\include</state>
<state>$PROJ_DIR$\LEDtoggle</state>
<state>$PROJ_DIR$</state> <state>$PROJ_DIR$</state>
</option> </option>
<option> <option>
@ -1806,12 +1803,33 @@
</configuration> </configuration>
<group> <group>
<name>Demo Source</name> <name>Demo Source</name>
<group>
<name>StandardDemos</name>
<file> <file>
<name>$PROJ_DIR$\main.c</name> <name>$PROJ_DIR$\..\Common\Minimal\blocktim.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\dynamic.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\GenQTest.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name> <name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>
</file>
</group>
<file>
<name>$PROJ_DIR$\ButtonISR.s26</name>
</file>
<file>
<name>$PROJ_DIR$\ButtonTask.c</name>
</file>
<file>
<name>$PROJ_DIR$\main.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\RegTest.s26</name> <name>$PROJ_DIR$\RegTest.s26</name>
</file> </file>
@ -1837,12 +1855,6 @@
<name>$PROJ_DIR$\..\..\Source\tasks.c</name> <name>$PROJ_DIR$\..\..\Source\tasks.c</name>
</file> </file>
</group> </group>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>
</file>
</project> </project>

View file

@ -3,20 +3,20 @@
<Project> <Project>
<Desktop> <Desktop>
<Static> <Static>
<Debug-Log/> <Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window><Window><Factory>Breakpoints</Factory></Window><Window><Factory>Watch</Factory></Window></Windows></PreferedWindows></Debug-Log>
<Build> <Build>
<ColumnWidth0>20</ColumnWidth0> <ColumnWidth0>20</ColumnWidth0>
<ColumnWidth1>1216</ColumnWidth1> <ColumnWidth1>1216</ColumnWidth1>
<ColumnWidth2>324</ColumnWidth2> <ColumnWidth2>324</ColumnWidth2>
<ColumnWidth3>81</ColumnWidth3> <ColumnWidth3>81</ColumnWidth3>
</Build> <PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window><Window><Factory>Breakpoints</Factory></Window><Window><Factory>Watch</Factory></Window></Windows></PreferedWindows></Build>
<Workspace> <Workspace>
<ColumnWidths> <ColumnWidths>
<Column0>138</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> <Column0>181</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace> </Workspace>
<Disassembly> <Disassembly>
<PreferedWindows> <PreferedWindows>
@ -28,27 +28,11 @@
<MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly> <MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly>
<Register/><Watch><Format><struct_types/><watch_formats/></Format><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Watch><Memory><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory></Static> <Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register><Watch><Format><struct_types/><watch_formats/></Format><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window><Window><Factory>Build</Factory></Window><Window><Factory>Breakpoints</Factory></Window></Windows></PreferedWindows><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Watch><Memory><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Breakpoints><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window><Window><Factory>Build</Factory></Window><Window><Factory>Watch</Factory></Window></Windows></PreferedWindows></Breakpoints></Static>
<Windows> <Windows>
<Wnd0> <Wnd1>
<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><Tab><Identity>TabID-30955-22315</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>usCriticalNesting</Expression></Expression><Expression><Expression>pxCurrentTCB</Expression></Expression><Expression><Expression>pxTopOfStack</Expression></Expression></Expressions><TabId>1</TabId><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab></Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd4>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-26641-1982</Identity> <Identity>TabID-26641-1982</Identity>
@ -60,20 +44,20 @@
</Tab> </Tab>
</Tabs> </Tabs>
<SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-29701-24386</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5><Wnd6><Tabs><Tab><Identity>TabID-10381-31310</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>1</States><State0>PSW</State0></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd6><Wnd7><Tabs><Tab><Identity>TabID-32148-30071</Identity><TabName>Memory</TabName><Factory>Memory</Factory><Session><ZoneNumber>5</ZoneNumber><SelectionAnchor>103624864d</SelectionAnchor><SelectionEnd>103624864d</SelectionEnd><UnitsPerGroup>1</UnitsPerGroup><EndianMode>0</EndianMode><DataCovEnabled>0</DataCovEnabled><DataCovShown>0</DataCovShown><HScroll>064d</HScroll><VScroll>6475864d</VScroll></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd7></Windows> <SelectedTab>0</SelectedTab></Wnd1><Wnd4><Tabs><Tab><Identity>TabID-7145-8325</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-6162-8753</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>pvReturn</Expression></Expression><Expression><Expression>xNextFreeByte</Expression></Expression></Expressions><TabId>0</TabId><Column0>203</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab><Tab><Identity>TabID-24881-24777</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-935-8851</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
<Editor> <Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\port.c</Filename><XPos>0</XPos><YPos>104</YPos><SelStart>4766</SelStart><SelEnd>4766</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>4695</SelStart><SelEnd>4695</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\RegTest.s26</Filename><XPos>0</XPos><YPos>57</YPos><SelStart>2622</SelStart><SelEnd>2622</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\tasks.c</Filename><XPos>0</XPos><YPos>1207</YPos><SelStart>38811</SelStart><SelEnd>38811</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>153</YPos><SelStart>6500</SelStart><SelEnd>6500</SelEnd></Tab><ActiveTab>4</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\list.c</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>6044</SelStart><SelEnd>6044</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>91</YPos><SelStart>4068</SelStart><SelEnd>4068</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\SwitchISR.s26.c</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>1732</SelStart><SelEnd>1749</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>2187</SelStart><SelEnd>2187</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portmacro.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>4776</SelStart><SelEnd>4776</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\ISR_Support.h</Filename><XPos>0</XPos><YPos>24</YPos><SelStart>1618</SelStart><SelEnd>1618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonTask.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>2364</SelStart><SelEnd>2364</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonISR.s26</Filename><XPos>0</XPos><YPos>23</YPos><SelStart>1785</SelStart><SelEnd>1785</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\blocktim.c</Filename><XPos>0</XPos><YPos>430</YPos><SelStart>15217</SelStart><SelEnd>15251</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-00aa9b40><key>iaridepm.enu1</key></Toolbar-00aa9b40><Toolbar-029980a0><key>debuggergui.enu1</key></Toolbar-029980a0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>496</Bottom><Right>212</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>152857</sizeVertCX><sizeVertCY>507128</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd6><Rect><Top>-2</Top><Left>-2</Left><Bottom>496</Bottom><Right>281</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>202143</sizeVertCX><sizeVertCY>507128</sizeVertCY></Rect></Wnd6></Sizes></Row0><Row1><Sizes><Wnd5><Rect><Top>-2</Top><Left>279</Left><Bottom>496</Bottom><Right>738</Right><x>279</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>327857</sizeVertCX><sizeVertCY>507128</sizeVertCY></Rect></Wnd5></Sizes></Row1></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>244</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>246</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>250509</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd0></Sizes></Row0><Row1><Sizes><Wnd7><Rect><Top>242</Top><Left>-2</Left><Bottom>442</Bottom><Right>1402</Right><x>-2</x><y>242</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd7></Sizes></Row1></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-00aa9c38><key>iaridepm.enu1</key></Toolbar-00aa9c38><Toolbar-03afbbc8><key>debuggergui.enu1</key></Toolbar-03afbbc8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>255</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>152976</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>633</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>377976</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd4></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Project> </Project>

View file

@ -12,7 +12,7 @@
<Column0>218</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> <Column0>277</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace> </Workspace>
<Build> <Build>
@ -32,7 +32,7 @@
<Factory>Workspace</Factory> <Factory>Workspace</Factory>
<Session> <Session>
<NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode></NodeDict></Session> <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Demo Source/StandardDemos</ExpandedNode><ExpandedNode>rtosdemo/Kernel Source</ExpandedNode></NodeDict></Session>
</Tab> </Tab>
</Tabs> </Tabs>
@ -52,14 +52,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\port.c</Filename><XPos>0</XPos><YPos>104</YPos><SelStart>4766</SelStart><SelEnd>4766</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>4695</SelStart><SelEnd>4695</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\RegTest.s26</Filename><XPos>0</XPos><YPos>57</YPos><SelStart>2622</SelStart><SelEnd>2622</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\tasks.c</Filename><XPos>0</XPos><YPos>1207</YPos><SelStart>38811</SelStart><SelEnd>38811</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>153</YPos><SelStart>6053</SelStart><SelEnd>6053</SelEnd></Tab><ActiveTab>4</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\list.c</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>6044</SelStart><SelEnd>6044</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\main.c</Filename><XPos>0</XPos><YPos>91</YPos><SelStart>4068</SelStart><SelEnd>4068</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\SwitchISR.s26.c</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>1732</SelStart><SelEnd>1749</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portasm.s26</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>2187</SelStart><SelEnd>2187</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\portmacro.h</Filename><XPos>0</XPos><YPos>39</YPos><SelStart>4776</SelStart><SelEnd>4776</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\78K0R\ISR_Support.h</Filename><XPos>0</XPos><YPos>24</YPos><SelStart>1618</SelStart><SelEnd>1618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonTask.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>2364</SelStart><SelEnd>2364</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\NEC_78K0R_IAR\ButtonISR.s26</Filename><XPos>0</XPos><YPos>23</YPos><SelStart>1785</SelStart><SelEnd>1785</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\Common\Minimal\blocktim.c</Filename><XPos>0</XPos><YPos>430</YPos><SelStart>15217</SelStart><SelEnd>15251</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-00aa9b40><key>iaridepm.enu1</key></Toolbar-00aa9b40></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>735</Bottom><Right>292</Right><x>-2</x><y>-2</y><xscreen>182</xscreen><yscreen>205</yscreen><sizeHorzCX>130000</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>210000</sizeVertCX><sizeVertCY>750509</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>203</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>205</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>130000</sizeVertCX><sizeVertCY>208758</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-00aa9c38><key>iaridepm.enu1</key></Toolbar-00aa9c38></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>735</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>218</xscreen><yscreen>205</yscreen><sizeHorzCX>129762</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>750509</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>203</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>205</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>129762</sizeVertCX><sizeVertCY>208758</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Workspace> </Workspace>